[dom4j] 01/20: Imported upstream sources.

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Wed Oct 25 10:34:35 UTC 2017


This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to annotated tag debian/1.6.1+dfsg-1
in repository dom4j.

commit de9251c8584b1f5762237ec050daa39f19e53dc2
Author: Marcus Better <marcus at better.se>
Date:   Mon Oct 9 13:08:57 2006 +0000

    Imported upstream sources.
---
 LICENSE.txt                                        |   40 +
 build.xml                                          |  713 ++
 docs/apidocs/allclasses-frame.html                 |  339 +
 docs/apidocs/allclasses-noframe.html               |  339 +
 docs/apidocs/constant-values.html                  |  431 +
 docs/apidocs/deprecated-list.html                  |  224 +
 docs/apidocs/help-doc.html                         |  194 +
 docs/apidocs/index-all.html                        | 9059 ++++++++++++++++++++
 docs/apidocs/index.html                            |   27 +
 docs/apidocs/org/dom4j/Attribute.html              |  557 ++
 docs/apidocs/org/dom4j/Branch.html                 |  971 +++
 docs/apidocs/org/dom4j/CDATA.html                  |  233 +
 docs/apidocs/org/dom4j/CharacterData.html          |  269 +
 docs/apidocs/org/dom4j/Comment.html                |  233 +
 docs/apidocs/org/dom4j/Document.html               |  581 ++
 docs/apidocs/org/dom4j/DocumentException.html      |  400 +
 docs/apidocs/org/dom4j/DocumentFactory.html        | 1145 +++
 docs/apidocs/org/dom4j/DocumentHelper.html         |  844 ++
 docs/apidocs/org/dom4j/DocumentType.html           |  482 ++
 docs/apidocs/org/dom4j/Element.html                | 2256 +++++
 docs/apidocs/org/dom4j/ElementHandler.html         |  255 +
 docs/apidocs/org/dom4j/ElementPath.html            |  347 +
 docs/apidocs/org/dom4j/Entity.html                 |  224 +
 docs/apidocs/org/dom4j/IllegalAddException.html    |  284 +
 docs/apidocs/org/dom4j/InvalidXPathException.html  |  280 +
 docs/apidocs/org/dom4j/Namespace.html              |  783 ++
 docs/apidocs/org/dom4j/Node.html                   | 1602 ++++
 docs/apidocs/org/dom4j/NodeFilter.html             |  241 +
 docs/apidocs/org/dom4j/ProcessingInstruction.html  |  439 +
 docs/apidocs/org/dom4j/QName.html                  |  647 ++
 docs/apidocs/org/dom4j/Text.html                   |  233 +
 docs/apidocs/org/dom4j/Visitor.html                |  470 +
 docs/apidocs/org/dom4j/VisitorSupport.html         |  541 ++
 docs/apidocs/org/dom4j/XPath.html                  |  853 ++
 docs/apidocs/org/dom4j/XPathException.html         |  315 +
 docs/apidocs/org/dom4j/bean/BeanAttribute.html     |  495 ++
 docs/apidocs/org/dom4j/bean/BeanAttributeList.html |  623 ++
 .../org/dom4j/bean/BeanDocumentFactory.html        |  434 +
 docs/apidocs/org/dom4j/bean/BeanElement.html       |  730 ++
 docs/apidocs/org/dom4j/bean/BeanMetaData.html      |  462 +
 .../org/dom4j/bean/class-use/BeanAttribute.html    |  183 +
 .../dom4j/bean/class-use/BeanAttributeList.html    |  197 +
 .../dom4j/bean/class-use/BeanDocumentFactory.html  |  137 +
 .../org/dom4j/bean/class-use/BeanElement.html      |  220 +
 .../org/dom4j/bean/class-use/BeanMetaData.html     |  189 +
 docs/apidocs/org/dom4j/bean/package-frame.html     |   41 +
 docs/apidocs/org/dom4j/bean/package-summary.html   |  195 +
 docs/apidocs/org/dom4j/bean/package-tree.html      |  169 +
 docs/apidocs/org/dom4j/bean/package-use.html       |  192 +
 docs/apidocs/org/dom4j/class-use/Attribute.html    |  890 ++
 docs/apidocs/org/dom4j/class-use/Branch.html       |  657 ++
 docs/apidocs/org/dom4j/class-use/CDATA.html        |  454 +
 .../apidocs/org/dom4j/class-use/CharacterData.html |  538 ++
 docs/apidocs/org/dom4j/class-use/Comment.html      |  486 ++
 docs/apidocs/org/dom4j/class-use/Document.html     | 1545 ++++
 .../org/dom4j/class-use/DocumentException.html     |  803 ++
 .../org/dom4j/class-use/DocumentFactory.html       |  884 ++
 .../org/dom4j/class-use/DocumentHelper.html        |  137 +
 docs/apidocs/org/dom4j/class-use/DocumentType.html |  494 ++
 docs/apidocs/org/dom4j/class-use/Element.html      | 2607 ++++++
 .../org/dom4j/class-use/ElementHandler.html        |  312 +
 docs/apidocs/org/dom4j/class-use/ElementPath.html  |  184 +
 docs/apidocs/org/dom4j/class-use/Entity.html       |  508 ++
 .../org/dom4j/class-use/IllegalAddException.html   |  137 +
 .../org/dom4j/class-use/InvalidXPathException.html |  238 +
 docs/apidocs/org/dom4j/class-use/Namespace.html    | 1170 +++
 docs/apidocs/org/dom4j/class-use/Node.html         | 2134 +++++
 docs/apidocs/org/dom4j/class-use/NodeFilter.html   |  422 +
 .../org/dom4j/class-use/ProcessingInstruction.html |  595 ++
 docs/apidocs/org/dom4j/class-use/QName.html        | 1664 ++++
 docs/apidocs/org/dom4j/class-use/Text.html         |  435 +
 docs/apidocs/org/dom4j/class-use/Visitor.html      |  306 +
 .../org/dom4j/class-use/VisitorSupport.html        |  137 +
 docs/apidocs/org/dom4j/class-use/XPath.html        |  574 ++
 .../org/dom4j/class-use/XPathException.html        |  182 +
 .../org/dom4j/datatype/DatatypeAttribute.html      |  832 ++
 .../dom4j/datatype/DatatypeDocumentFactory.html    |  467 +
 .../org/dom4j/datatype/DatatypeElement.html        |  723 ++
 .../org/dom4j/datatype/DatatypeElementFactory.html |  438 +
 .../org/dom4j/datatype/InvalidSchemaException.html |  248 +
 docs/apidocs/org/dom4j/datatype/SchemaParser.html  |  302 +
 .../datatype/class-use/DatatypeAttribute.html      |  137 +
 .../class-use/DatatypeDocumentFactory.html         |  188 +
 .../dom4j/datatype/class-use/DatatypeElement.html  |  137 +
 .../datatype/class-use/DatatypeElementFactory.html |  175 +
 .../datatype/class-use/InvalidSchemaException.html |  137 +
 .../org/dom4j/datatype/class-use/SchemaParser.html |  137 +
 docs/apidocs/org/dom4j/datatype/package-frame.html |   52 +
 .../org/dom4j/datatype/package-summary.html        |  216 +
 docs/apidocs/org/dom4j/datatype/package-tree.html  |  174 +
 docs/apidocs/org/dom4j/datatype/package-use.html   |  177 +
 docs/apidocs/org/dom4j/dom/DOMAttribute.html       | 1026 +++
 .../apidocs/org/dom4j/dom/DOMAttributeNodeMap.html |  467 +
 docs/apidocs/org/dom4j/dom/DOMCDATA.html           | 1219 +++
 docs/apidocs/org/dom4j/dom/DOMComment.html         | 1171 +++
 docs/apidocs/org/dom4j/dom/DOMDocument.html        | 1441 ++++
 docs/apidocs/org/dom4j/dom/DOMDocumentFactory.html |  713 ++
 docs/apidocs/org/dom4j/dom/DOMDocumentType.html    | 1073 +++
 docs/apidocs/org/dom4j/dom/DOMElement.html         | 1493 ++++
 docs/apidocs/org/dom4j/dom/DOMEntityReference.html |  964 +++
 docs/apidocs/org/dom4j/dom/DOMNamespace.html       |  909 ++
 .../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html |  284 +
 docs/apidocs/org/dom4j/dom/DOMNodeHelper.html      | 1197 +++
 .../org/dom4j/dom/DOMProcessingInstruction.html    | 1022 +++
 docs/apidocs/org/dom4j/dom/DOMText.html            | 1218 +++
 .../org/dom4j/dom/class-use/DOMAttribute.html      |  137 +
 .../dom4j/dom/class-use/DOMAttributeNodeMap.html   |  137 +
 docs/apidocs/org/dom4j/dom/class-use/DOMCDATA.html |  137 +
 .../org/dom4j/dom/class-use/DOMComment.html        |  137 +
 .../org/dom4j/dom/class-use/DOMDocument.html       |  137 +
 .../dom4j/dom/class-use/DOMDocumentFactory.html    |  137 +
 .../org/dom4j/dom/class-use/DOMDocumentType.html   |  203 +
 .../org/dom4j/dom/class-use/DOMElement.html        |  193 +
 .../dom4j/dom/class-use/DOMEntityReference.html    |  137 +
 .../org/dom4j/dom/class-use/DOMNamespace.html      |  137 +
 .../dom/class-use/DOMNodeHelper.EmptyNodeList.html |  137 +
 .../org/dom4j/dom/class-use/DOMNodeHelper.html     |  137 +
 .../dom/class-use/DOMProcessingInstruction.html    |  137 +
 docs/apidocs/org/dom4j/dom/class-use/DOMText.html  |  137 +
 docs/apidocs/org/dom4j/dom/package-frame.html      |   59 +
 docs/apidocs/org/dom4j/dom/package-summary.html    |  255 +
 docs/apidocs/org/dom4j/dom/package-tree.html       |  235 +
 docs/apidocs/org/dom4j/dom/package-use.html        |  176 +
 docs/apidocs/org/dom4j/dtd/AttributeDecl.html      |  502 ++
 docs/apidocs/org/dom4j/dtd/ElementDecl.html        |  367 +
 docs/apidocs/org/dom4j/dtd/ExternalEntityDecl.html |  413 +
 docs/apidocs/org/dom4j/dtd/InternalEntityDecl.html |  368 +
 .../org/dom4j/dtd/class-use/AttributeDecl.html     |  137 +
 .../org/dom4j/dtd/class-use/ElementDecl.html       |  137 +
 .../dom4j/dtd/class-use/ExternalEntityDecl.html    |  137 +
 .../dom4j/dtd/class-use/InternalEntityDecl.html    |  137 +
 docs/apidocs/org/dom4j/dtd/package-frame.html      |   39 +
 docs/apidocs/org/dom4j/dtd/package-summary.html    |  186 +
 docs/apidocs/org/dom4j/dtd/package-tree.html       |  146 +
 docs/apidocs/org/dom4j/dtd/package-use.html        |  137 +
 docs/apidocs/org/dom4j/io/DOMReader.html           |  432 +
 docs/apidocs/org/dom4j/io/DOMWriter.html           |  686 ++
 docs/apidocs/org/dom4j/io/DocumentResult.html      |  359 +
 docs/apidocs/org/dom4j/io/DocumentSource.html      |  439 +
 docs/apidocs/org/dom4j/io/ElementModifier.html     |  237 +
 docs/apidocs/org/dom4j/io/HTMLWriter.html          | 1153 +++
 docs/apidocs/org/dom4j/io/OutputFormat.html        | 1216 +++
 docs/apidocs/org/dom4j/io/SAXContentHandler.html   | 1701 ++++
 docs/apidocs/org/dom4j/io/SAXEventRecorder.html    |  913 ++
 docs/apidocs/org/dom4j/io/SAXModifier.html         |  730 ++
 .../org/dom4j/io/SAXReader.SAXEntityResolver.html  |  297 +
 docs/apidocs/org/dom4j/io/SAXReader.html           | 1586 ++++
 docs/apidocs/org/dom4j/io/SAXValidator.html        |  436 +
 docs/apidocs/org/dom4j/io/SAXWriter.html           | 1562 ++++
 docs/apidocs/org/dom4j/io/STAXEventReader.html     |  849 ++
 docs/apidocs/org/dom4j/io/STAXEventWriter.html     |  987 +++
 docs/apidocs/org/dom4j/io/XMLResult.html           |  438 +
 docs/apidocs/org/dom4j/io/XMLWriter.html           | 2812 ++++++
 docs/apidocs/org/dom4j/io/XPP3Reader.html          |  815 ++
 docs/apidocs/org/dom4j/io/XPPReader.html           |  816 ++
 docs/apidocs/org/dom4j/io/class-use/DOMReader.html |  137 +
 docs/apidocs/org/dom4j/io/class-use/DOMWriter.html |  137 +
 .../org/dom4j/io/class-use/DocumentResult.html     |  137 +
 .../org/dom4j/io/class-use/DocumentSource.html     |  137 +
 .../org/dom4j/io/class-use/ElementModifier.html    |  176 +
 .../apidocs/org/dom4j/io/class-use/HTMLWriter.html |  137 +
 .../org/dom4j/io/class-use/OutputFormat.html       |  346 +
 .../org/dom4j/io/class-use/SAXContentHandler.html  |  188 +
 .../org/dom4j/io/class-use/SAXEventRecorder.html   |  137 +
 .../org/dom4j/io/class-use/SAXModifier.html        |  137 +
 .../io/class-use/SAXReader.SAXEntityResolver.html  |  137 +
 docs/apidocs/org/dom4j/io/class-use/SAXReader.html |  137 +
 .../org/dom4j/io/class-use/SAXValidator.html       |  137 +
 docs/apidocs/org/dom4j/io/class-use/SAXWriter.html |  137 +
 .../org/dom4j/io/class-use/STAXEventReader.html    |  137 +
 .../org/dom4j/io/class-use/STAXEventWriter.html    |  137 +
 docs/apidocs/org/dom4j/io/class-use/XMLResult.html |  137 +
 docs/apidocs/org/dom4j/io/class-use/XMLWriter.html |  238 +
 .../apidocs/org/dom4j/io/class-use/XPP3Reader.html |  137 +
 docs/apidocs/org/dom4j/io/class-use/XPPReader.html |  137 +
 docs/apidocs/org/dom4j/io/package-frame.html       |   80 +
 docs/apidocs/org/dom4j/io/package-summary.html     |  292 +
 docs/apidocs/org/dom4j/io/package-tree.html        |  171 +
 docs/apidocs/org/dom4j/io/package-use.html         |  211 +
 docs/apidocs/org/dom4j/jaxb/JAXBModifier.html      |  806 ++
 docs/apidocs/org/dom4j/jaxb/JAXBObjectHandler.html |  231 +
 .../apidocs/org/dom4j/jaxb/JAXBObjectModifier.html |  233 +
 docs/apidocs/org/dom4j/jaxb/JAXBReader.html        |  721 ++
 docs/apidocs/org/dom4j/jaxb/JAXBWriter.html        |  677 ++
 .../org/dom4j/jaxb/class-use/JAXBModifier.html     |  137 +
 .../dom4j/jaxb/class-use/JAXBObjectHandler.html    |  176 +
 .../dom4j/jaxb/class-use/JAXBObjectModifier.html   |  175 +
 .../org/dom4j/jaxb/class-use/JAXBReader.html       |  137 +
 .../org/dom4j/jaxb/class-use/JAXBWriter.html       |  137 +
 docs/apidocs/org/dom4j/jaxb/package-frame.html     |   50 +
 docs/apidocs/org/dom4j/jaxb/package-summary.html   |  178 +
 docs/apidocs/org/dom4j/jaxb/package-tree.html      |  153 +
 docs/apidocs/org/dom4j/jaxb/package-use.html       |  170 +
 docs/apidocs/org/dom4j/package-frame.html          |  101 +
 docs/apidocs/org/dom4j/package-summary.html        |  348 +
 docs/apidocs/org/dom4j/package-tree.html           |  176 +
 docs/apidocs/org/dom4j/package-use.html            | 1373 +++
 docs/apidocs/org/dom4j/rule/Action.html            |  232 +
 docs/apidocs/org/dom4j/rule/Mode.html              |  451 +
 docs/apidocs/org/dom4j/rule/NullAction.html        |  307 +
 docs/apidocs/org/dom4j/rule/Pattern.html           |  450 +
 docs/apidocs/org/dom4j/rule/Rule.html              |  822 ++
 docs/apidocs/org/dom4j/rule/RuleManager.html       |  488 ++
 docs/apidocs/org/dom4j/rule/RuleSet.html           |  374 +
 docs/apidocs/org/dom4j/rule/Stylesheet.html        |  719 ++
 docs/apidocs/org/dom4j/rule/class-use/Action.html  |  278 +
 docs/apidocs/org/dom4j/rule/class-use/Mode.html    |  211 +
 .../org/dom4j/rule/class-use/NullAction.html       |  176 +
 docs/apidocs/org/dom4j/rule/class-use/Pattern.html |  473 +
 docs/apidocs/org/dom4j/rule/class-use/Rule.html    |  340 +
 .../org/dom4j/rule/class-use/RuleManager.html      |  137 +
 docs/apidocs/org/dom4j/rule/class-use/RuleSet.html |  192 +
 .../org/dom4j/rule/class-use/Stylesheet.html       |  137 +
 docs/apidocs/org/dom4j/rule/package-frame.html     |   56 +
 docs/apidocs/org/dom4j/rule/package-summary.html   |  232 +
 docs/apidocs/org/dom4j/rule/package-tree.html      |  155 +
 docs/apidocs/org/dom4j/rule/package-use.html       |  326 +
 .../org/dom4j/rule/pattern/DefaultPattern.html     |  416 +
 .../org/dom4j/rule/pattern/NodeTypePattern.html    |  539 ++
 .../rule/pattern/class-use/DefaultPattern.html     |  137 +
 .../rule/pattern/class-use/NodeTypePattern.html    |  213 +
 .../org/dom4j/rule/pattern/package-frame.html      |   35 +
 .../org/dom4j/rule/pattern/package-summary.html    |  159 +
 .../org/dom4j/rule/pattern/package-tree.html       |  148 +
 .../org/dom4j/rule/pattern/package-use.html        |  166 +
 docs/apidocs/org/dom4j/swing/BranchTreeNode.html   |  572 ++
 .../apidocs/org/dom4j/swing/DocumentTreeModel.html |  348 +
 docs/apidocs/org/dom4j/swing/LeafTreeNode.html     |  556 ++
 .../org/dom4j/swing/XMLTableColumnDefinition.html  |  694 ++
 .../org/dom4j/swing/XMLTableDefinition.html        |  865 ++
 docs/apidocs/org/dom4j/swing/XMLTableModel.html    |  557 ++
 .../org/dom4j/swing/class-use/BranchTreeNode.html  |  137 +
 .../dom4j/swing/class-use/DocumentTreeModel.html   |  137 +
 .../org/dom4j/swing/class-use/LeafTreeNode.html    |  192 +
 .../swing/class-use/XMLTableColumnDefinition.html  |  206 +
 .../dom4j/swing/class-use/XMLTableDefinition.html  |  221 +
 .../org/dom4j/swing/class-use/XMLTableModel.html   |  137 +
 docs/apidocs/org/dom4j/swing/package-frame.html    |   43 +
 docs/apidocs/org/dom4j/swing/package-summary.html  |  201 +
 docs/apidocs/org/dom4j/swing/package-tree.html     |  157 +
 docs/apidocs/org/dom4j/swing/package-use.html      |  184 +
 docs/apidocs/org/dom4j/tree/AbstractAttribute.html |  898 ++
 docs/apidocs/org/dom4j/tree/AbstractBranch.html    | 1418 +++
 docs/apidocs/org/dom4j/tree/AbstractCDATA.html     |  458 +
 .../org/dom4j/tree/AbstractCharacterData.html      |  396 +
 docs/apidocs/org/dom4j/tree/AbstractComment.html   |  519 ++
 docs/apidocs/org/dom4j/tree/AbstractDocument.html  | 1135 +++
 .../org/dom4j/tree/AbstractDocumentType.html       |  607 ++
 docs/apidocs/org/dom4j/tree/AbstractElement.html   | 3724 ++++++++
 docs/apidocs/org/dom4j/tree/AbstractEntity.html    |  537 ++
 docs/apidocs/org/dom4j/tree/AbstractNode.html      | 1392 +++
 .../dom4j/tree/AbstractProcessingInstruction.html  |  706 ++
 docs/apidocs/org/dom4j/tree/AbstractText.html      |  458 +
 docs/apidocs/org/dom4j/tree/BackedList.html        |  543 ++
 docs/apidocs/org/dom4j/tree/BaseElement.html       |  845 ++
 .../tree/ConcurrentReaderHashMap.BarrierLock.html  |  235 +
 .../dom4j/tree/ConcurrentReaderHashMap.Entry.html  |  460 +
 docs/apidocs/org/dom4j/tree/ContentListFacade.html |  686 ++
 docs/apidocs/org/dom4j/tree/DefaultAttribute.html  |  603 ++
 docs/apidocs/org/dom4j/tree/DefaultCDATA.html      |  543 ++
 docs/apidocs/org/dom4j/tree/DefaultComment.html    |  543 ++
 docs/apidocs/org/dom4j/tree/DefaultDocument.html   | 1049 +++
 .../org/dom4j/tree/DefaultDocumentType.html        |  614 ++
 docs/apidocs/org/dom4j/tree/DefaultElement.html    | 1651 ++++
 docs/apidocs/org/dom4j/tree/DefaultEntity.html     |  573 ++
 docs/apidocs/org/dom4j/tree/DefaultNamespace.html  |  558 ++
 .../dom4j/tree/DefaultProcessingInstruction.html   |  630 ++
 docs/apidocs/org/dom4j/tree/DefaultText.html       |  543 ++
 docs/apidocs/org/dom4j/tree/ElementIterator.html   |  304 +
 .../org/dom4j/tree/ElementNameIterator.html        |  307 +
 .../org/dom4j/tree/ElementQNameIterator.html       |  307 +
 docs/apidocs/org/dom4j/tree/FilterIterator.html    |  409 +
 .../apidocs/org/dom4j/tree/FlyweightAttribute.html |  452 +
 docs/apidocs/org/dom4j/tree/FlyweightCDATA.html    |  410 +
 docs/apidocs/org/dom4j/tree/FlyweightComment.html  |  410 +
 docs/apidocs/org/dom4j/tree/FlyweightEntity.html   |  508 ++
 .../dom4j/tree/FlyweightProcessingInstruction.html |  568 ++
 docs/apidocs/org/dom4j/tree/FlyweightText.html     |  410 +
 docs/apidocs/org/dom4j/tree/NamespaceCache.html    |  398 +
 docs/apidocs/org/dom4j/tree/NamespaceStack.html    |  773 ++
 docs/apidocs/org/dom4j/tree/QNameCache.html        |  577 ++
 docs/apidocs/org/dom4j/tree/SingleIterator.html    |  316 +
 .../dom4j/tree/class-use/AbstractAttribute.html    |  323 +
 .../org/dom4j/tree/class-use/AbstractBranch.html   |  427 +
 .../org/dom4j/tree/class-use/AbstractCDATA.html    |  221 +
 .../tree/class-use/AbstractCharacterData.html      |  314 +
 .../org/dom4j/tree/class-use/AbstractComment.html  |  220 +
 .../org/dom4j/tree/class-use/AbstractDocument.html |  212 +
 .../dom4j/tree/class-use/AbstractDocumentType.html |  212 +
 .../org/dom4j/tree/class-use/AbstractElement.html  |  345 +
 .../org/dom4j/tree/class-use/AbstractEntity.html   |  221 +
 .../org/dom4j/tree/class-use/AbstractNode.html     |  786 ++
 .../class-use/AbstractProcessingInstruction.html   |  222 +
 .../org/dom4j/tree/class-use/AbstractText.html     |  220 +
 .../org/dom4j/tree/class-use/BackedList.html       |  177 +
 .../org/dom4j/tree/class-use/BaseElement.html      |  176 +
 .../ConcurrentReaderHashMap.BarrierLock.html       |  137 +
 .../class-use/ConcurrentReaderHashMap.Entry.html   |  176 +
 .../dom4j/tree/class-use/ContentListFacade.html    |  137 +
 .../org/dom4j/tree/class-use/DefaultAttribute.html |  210 +
 .../org/dom4j/tree/class-use/DefaultCDATA.html     |  177 +
 .../org/dom4j/tree/class-use/DefaultComment.html   |  176 +
 .../org/dom4j/tree/class-use/DefaultDocument.html  |  177 +
 .../dom4j/tree/class-use/DefaultDocumentType.html  |  177 +
 .../org/dom4j/tree/class-use/DefaultElement.html   |  288 +
 .../org/dom4j/tree/class-use/DefaultEntity.html    |  177 +
 .../org/dom4j/tree/class-use/DefaultNamespace.html |  177 +
 .../class-use/DefaultProcessingInstruction.html    |  177 +
 .../org/dom4j/tree/class-use/DefaultText.html      |  176 +
 .../org/dom4j/tree/class-use/ElementIterator.html  |  137 +
 .../dom4j/tree/class-use/ElementNameIterator.html  |  137 +
 .../dom4j/tree/class-use/ElementQNameIterator.html |  137 +
 .../org/dom4j/tree/class-use/FilterIterator.html   |  192 +
 .../dom4j/tree/class-use/FlyweightAttribute.html   |  245 +
 .../org/dom4j/tree/class-use/FlyweightCDATA.html   |  210 +
 .../org/dom4j/tree/class-use/FlyweightComment.html |  209 +
 .../org/dom4j/tree/class-use/FlyweightEntity.html  |  210 +
 .../class-use/FlyweightProcessingInstruction.html  |  211 +
 .../org/dom4j/tree/class-use/FlyweightText.html    |  209 +
 .../org/dom4j/tree/class-use/NamespaceCache.html   |  174 +
 .../org/dom4j/tree/class-use/NamespaceStack.html   |  280 +
 .../org/dom4j/tree/class-use/QNameCache.html       |  190 +
 .../org/dom4j/tree/class-use/SingleIterator.html   |  137 +
 docs/apidocs/org/dom4j/tree/package-frame.html     |  113 +
 docs/apidocs/org/dom4j/tree/package-summary.html   |  423 +
 docs/apidocs/org/dom4j/tree/package-tree.html      |  214 +
 docs/apidocs/org/dom4j/tree/package-use.html       |  880 ++
 docs/apidocs/org/dom4j/util/AttributeHelper.html   |  310 +
 .../org/dom4j/util/IndexedDocumentFactory.html     |  373 +
 docs/apidocs/org/dom4j/util/IndexedElement.html    |  947 ++
 docs/apidocs/org/dom4j/util/NodeComparator.html    |  605 ++
 .../org/dom4j/util/NonLazyDocumentFactory.html     |  352 +
 docs/apidocs/org/dom4j/util/NonLazyElement.html    |  402 +
 .../apidocs/org/dom4j/util/PerThreadSingleton.html |  330 +
 .../org/dom4j/util/ProxyDocumentFactory.html       |  771 ++
 docs/apidocs/org/dom4j/util/SimpleSingleton.html   |  330 +
 docs/apidocs/org/dom4j/util/SingletonStrategy.html |  279 +
 docs/apidocs/org/dom4j/util/UserDataAttribute.html |  416 +
 .../org/dom4j/util/UserDataDocumentFactory.html    |  380 +
 docs/apidocs/org/dom4j/util/UserDataElement.html   |  556 ++
 docs/apidocs/org/dom4j/util/XMLErrorHandler.html   |  598 ++
 .../org/dom4j/util/class-use/AttributeHelper.html  |  137 +
 .../util/class-use/IndexedDocumentFactory.html     |  173 +
 .../org/dom4j/util/class-use/IndexedElement.html   |  137 +
 .../org/dom4j/util/class-use/NodeComparator.html   |  137 +
 .../util/class-use/NonLazyDocumentFactory.html     |  173 +
 .../org/dom4j/util/class-use/NonLazyElement.html   |  137 +
 .../dom4j/util/class-use/PerThreadSingleton.html   |  137 +
 .../dom4j/util/class-use/ProxyDocumentFactory.html |  137 +
 .../org/dom4j/util/class-use/SimpleSingleton.html  |  137 +
 .../dom4j/util/class-use/SingletonStrategy.html    |  188 +
 .../dom4j/util/class-use/UserDataAttribute.html    |  137 +
 .../util/class-use/UserDataDocumentFactory.html    |  173 +
 .../org/dom4j/util/class-use/UserDataElement.html  |  137 +
 .../org/dom4j/util/class-use/XMLErrorHandler.html  |  137 +
 docs/apidocs/org/dom4j/util/package-frame.html     |   68 +
 docs/apidocs/org/dom4j/util/package-summary.html   |  274 +
 docs/apidocs/org/dom4j/util/package-tree.html      |  178 +
 docs/apidocs/org/dom4j/util/package-use.html       |  196 +
 .../org/dom4j/xpath/DefaultNamespaceContext.html   |  293 +
 docs/apidocs/org/dom4j/xpath/DefaultXPath.html     | 1066 +++
 docs/apidocs/org/dom4j/xpath/XPathPattern.html     |  540 ++
 .../xpath/class-use/DefaultNamespaceContext.html   |  174 +
 .../org/dom4j/xpath/class-use/DefaultXPath.html    |  137 +
 .../org/dom4j/xpath/class-use/XPathPattern.html    |  137 +
 docs/apidocs/org/dom4j/xpath/package-frame.html    |   37 +
 docs/apidocs/org/dom4j/xpath/package-summary.html  |  184 +
 docs/apidocs/org/dom4j/xpath/package-tree.html     |  149 +
 docs/apidocs/org/dom4j/xpath/package-use.html      |  168 +
 docs/apidocs/org/dom4j/xpp/ProxyXmlStartTag.html   |  881 ++
 .../org/dom4j/xpp/class-use/ProxyXmlStartTag.html  |  137 +
 docs/apidocs/org/dom4j/xpp/package-frame.html      |   33 +
 docs/apidocs/org/dom4j/xpp/package-summary.html    |  169 +
 docs/apidocs/org/dom4j/xpp/package-tree.html       |  147 +
 docs/apidocs/org/dom4j/xpp/package-use.html        |  137 +
 docs/apidocs/overview-frame.html                   |   69 +
 docs/apidocs/overview-summary.html                 |  271 +
 docs/apidocs/overview-tree.html                    |  328 +
 docs/apidocs/package-list                          |   14 +
 docs/apidocs/packages.html                         |   38 +
 docs/apidocs/resources/inherit.gif                 |  Bin 0 -> 57 bytes
 docs/apidocs/serialized-form.html                  | 2377 +++++
 docs/apidocs/stylesheet.css                        |   45 +
 docs/benchmarks/xpath/PerfDOM4J.java               |  260 +
 docs/benchmarks/xpath/PerfDOM4JAttr.java           |  275 +
 docs/benchmarks/xpath/PerfW3C.java                 |  250 +
 docs/benchmarks/xpath/index.html                   |  834 ++
 docs/benchmarks/xpath/item.xslt                    |   54 +
 docs/benchmarks/xpath/w3c_100.html                 | 2202 +++++
 docs/changelog-report.html                         |  139 +
 docs/changes-report.html                           |  480 ++
 docs/changes.rss                                   |   45 +
 docs/checkstyle-report.html                        |   98 +
 docs/checkstyle.rss                                |   63 +
 docs/clover/all-classes.html                       |  496 ++
 docs/clover/all-pkgs.html                          |   52 +
 docs/clover/img/logo.gif                           |  Bin 0 -> 725 bytes
 docs/clover/img/trans.gif                          |  Bin 0 -> 43 bytes
 docs/clover/index.html                             |   19 +
 docs/clover/org/dom4j/Attribute.html               |  778 ++
 docs/clover/org/dom4j/Branch.html                  | 1490 ++++
 docs/clover/org/dom4j/CDATA.html                   |  310 +
 docs/clover/org/dom4j/CharacterData.html           |  358 +
 docs/clover/org/dom4j/Comment.html                 |  310 +
 docs/clover/org/dom4j/Document.html                |  842 ++
 docs/clover/org/dom4j/DocumentException.html       |  600 ++
 docs/clover/org/dom4j/DocumentFactory.html         | 2020 +++++
 docs/clover/org/dom4j/DocumentHelper.html          | 1834 ++++
 docs/clover/org/dom4j/DocumentType.html            |  550 ++
 docs/clover/org/dom4j/Element.html                 | 3626 ++++++++
 docs/clover/org/dom4j/ElementHandler.html          |  390 +
 docs/clover/org/dom4j/ElementPath.html             |  530 ++
 docs/clover/org/dom4j/Entity.html                  |  310 +
 docs/clover/org/dom4j/IllegalAddException.html     |  379 +
 docs/clover/org/dom4j/InvalidXPathException.html   |  379 +
 docs/clover/org/dom4j/Namespace.html               | 1248 +++
 docs/clover/org/dom4j/Node.html                    | 2482 ++++++
 docs/clover/org/dom4j/NodeFilter.html              |  366 +
 docs/clover/org/dom4j/ProcessingInstruction.html   |  526 ++
 docs/clover/org/dom4j/QName.html                   | 1359 +++
 docs/clover/org/dom4j/Text.html                    |  310 +
 docs/clover/org/dom4j/Visitor.html                 |  750 ++
 docs/clover/org/dom4j/VisitorSupport.html          |  457 +
 docs/clover/org/dom4j/XPath.html                   | 1466 ++++
 docs/clover/org/dom4j/XPathException.html          |  436 +
 docs/clover/org/dom4j/bean/BeanAttribute.html      |  493 ++
 docs/clover/org/dom4j/bean/BeanAttributeList.html  |  889 ++
 .../clover/org/dom4j/bean/BeanDocumentFactory.html |  651 ++
 docs/clover/org/dom4j/bean/BeanElement.html        |  915 ++
 docs/clover/org/dom4j/bean/BeanMetaData.html       |  959 +++
 docs/clover/org/dom4j/bean/pkg-classes.html        |   37 +
 docs/clover/org/dom4j/bean/pkg-summary.html        |  217 +
 .../org/dom4j/datatype/DatatypeAttribute.html      | 1071 +++
 .../dom4j/datatype/DatatypeDocumentFactory.html    | 1037 +++
 .../clover/org/dom4j/datatype/DatatypeElement.html |  971 +++
 .../org/dom4j/datatype/DatatypeElementFactory.html |  805 ++
 .../org/dom4j/datatype/InvalidSchemaException.html |  324 +
 .../org/dom4j/datatype/NamedTypeResolver.html      |  647 ++
 docs/clover/org/dom4j/datatype/SchemaParser.html   | 2705 ++++++
 docs/clover/org/dom4j/datatype/pkg-classes.html    |   43 +
 docs/clover/org/dom4j/datatype/pkg-summary.html    |  258 +
 docs/clover/org/dom4j/dom/DOMAttribute.html        | 1032 +++
 docs/clover/org/dom4j/dom/DOMAttributeNodeMap.html |  635 ++
 docs/clover/org/dom4j/dom/DOMCDATA.html            | 1238 +++
 docs/clover/org/dom4j/dom/DOMComment.html          | 1072 +++
 docs/clover/org/dom4j/dom/DOMDocument.html         | 1575 ++++
 docs/clover/org/dom4j/dom/DOMDocumentFactory.html  | 1014 +++
 docs/clover/org/dom4j/dom/DOMDocumentType.html     | 1023 +++
 docs/clover/org/dom4j/dom/DOMElement.html          | 1970 +++++
 docs/clover/org/dom4j/dom/DOMEntityReference.html  |  972 +++
 docs/clover/org/dom4j/dom/DOMNamespace.html        |  861 ++
 docs/clover/org/dom4j/dom/DOMNodeHelper.html       | 2650 ++++++
 .../org/dom4j/dom/DOMProcessingInstruction.html    | 1032 +++
 docs/clover/org/dom4j/dom/DOMText.html             | 1237 +++
 docs/clover/org/dom4j/dom/pkg-classes.html         |   64 +
 docs/clover/org/dom4j/dom/pkg-summary.html         |  403 +
 docs/clover/org/dom4j/dtd/AttributeDecl.html       |  955 +++
 docs/clover/org/dom4j/dtd/ElementDecl.html         |  547 ++
 docs/clover/org/dom4j/dtd/ExternalEntityDecl.html  |  774 ++
 docs/clover/org/dom4j/dtd/InternalEntityDecl.html  |  825 ++
 docs/clover/org/dom4j/dtd/pkg-classes.html         |   34 +
 docs/clover/org/dom4j/dtd/pkg-summary.html         |  195 +
 docs/clover/org/dom4j/io/DOMReader.html            | 1454 ++++
 docs/clover/org/dom4j/io/DOMWriter.html            | 1840 ++++
 docs/clover/org/dom4j/io/DispatchHandler.html      | 1159 +++
 docs/clover/org/dom4j/io/DocumentInputSource.html  |  703 ++
 docs/clover/org/dom4j/io/DocumentResult.html       |  505 ++
 docs/clover/org/dom4j/io/DocumentSource.html       |  853 ++
 docs/clover/org/dom4j/io/ElementModifier.html      |  394 +
 docs/clover/org/dom4j/io/ElementStack.html         | 1018 +++
 docs/clover/org/dom4j/io/HTMLWriter.html           | 3620 ++++++++
 docs/clover/org/dom4j/io/JAXPHelper.html           |  510 ++
 docs/clover/org/dom4j/io/OutputFormat.html         | 2568 ++++++
 .../org/dom4j/io/PruningDispatchHandler.html       |  346 +
 docs/clover/org/dom4j/io/PruningElementStack.html  |  739 ++
 docs/clover/org/dom4j/io/SAXContentHandler.html    | 4360 ++++++++++
 docs/clover/org/dom4j/io/SAXEventRecorder.html     | 2739 ++++++
 docs/clover/org/dom4j/io/SAXHelper.html            |  912 ++
 docs/clover/org/dom4j/io/SAXModifier.html          | 2010 +++++
 .../org/dom4j/io/SAXModifyContentHandler.html      | 1337 +++
 .../org/dom4j/io/SAXModifyElementHandler.html      |  694 ++
 docs/clover/org/dom4j/io/SAXModifyException.html   |  344 +
 docs/clover/org/dom4j/io/SAXModifyReader.html      |  613 ++
 docs/clover/org/dom4j/io/SAXReader.html            | 4478 ++++++++++
 docs/clover/org/dom4j/io/SAXValidator.html         |  930 ++
 docs/clover/org/dom4j/io/SAXWriter.html            | 4134 +++++++++
 docs/clover/org/dom4j/io/STAXEventReader.html      | 2955 +++++++
 docs/clover/org/dom4j/io/STAXEventWriter.html      | 2974 +++++++
 docs/clover/org/dom4j/io/XMLResult.html            |  565 ++
 docs/clover/org/dom4j/io/XMLWriter.html            | 8570 ++++++++++++++++++
 docs/clover/org/dom4j/io/XPP3Reader.html           | 2373 +++++
 docs/clover/org/dom4j/io/XPPReader.html            | 2113 +++++
 docs/clover/org/dom4j/io/pkg-classes.html          |  124 +
 docs/clover/org/dom4j/io/pkg-summary.html          |  819 ++
 docs/clover/org/dom4j/jaxb/JAXBModifier.html       | 2331 +++++
 docs/clover/org/dom4j/jaxb/JAXBObjectHandler.html  |  362 +
 docs/clover/org/dom4j/jaxb/JAXBObjectModifier.html |  378 +
 docs/clover/org/dom4j/jaxb/JAXBReader.html         | 1917 +++++
 .../org/dom4j/jaxb/JAXBRuntimeException.html       |  344 +
 docs/clover/org/dom4j/jaxb/JAXBSupport.html        |  708 ++
 docs/clover/org/dom4j/jaxb/JAXBWriter.html         | 1431 ++++
 docs/clover/org/dom4j/jaxb/pkg-classes.html        |   46 +
 docs/clover/org/dom4j/jaxb/pkg-summary.html        |  256 +
 docs/clover/org/dom4j/pkg-classes.html             |   49 +
 docs/clover/org/dom4j/pkg-summary.html             |  302 +
 docs/clover/org/dom4j/rule/Action.html             |  326 +
 docs/clover/org/dom4j/rule/Mode.html               | 1414 +++
 docs/clover/org/dom4j/rule/NullAction.html         |  339 +
 docs/clover/org/dom4j/rule/Pattern.html            |  586 ++
 docs/clover/org/dom4j/rule/Rule.html               | 1486 ++++
 docs/clover/org/dom4j/rule/RuleManager.html        | 1088 +++
 docs/clover/org/dom4j/rule/RuleSet.html            |  667 ++
 docs/clover/org/dom4j/rule/Stylesheet.html         | 1499 ++++
 .../org/dom4j/rule/pattern/DefaultPattern.html     |  458 +
 .../org/dom4j/rule/pattern/NodeTypePattern.html    |  537 ++
 .../clover/org/dom4j/rule/pattern/pkg-classes.html |   28 +
 .../clover/org/dom4j/rule/pattern/pkg-summary.html |  148 +
 docs/clover/org/dom4j/rule/pkg-classes.html        |   40 +
 docs/clover/org/dom4j/rule/pkg-summary.html        |  236 +
 docs/clover/org/dom4j/swing/BranchTreeNode.html    |  918 ++
 docs/clover/org/dom4j/swing/DocumentTreeModel.html |  470 +
 docs/clover/org/dom4j/swing/LeafTreeNode.html      |  697 ++
 .../org/dom4j/swing/XMLTableColumnDefinition.html  | 1103 +++
 .../clover/org/dom4j/swing/XMLTableDefinition.html | 1448 ++++
 docs/clover/org/dom4j/swing/XMLTableModel.html     |  943 ++
 docs/clover/org/dom4j/swing/pkg-classes.html       |   40 +
 docs/clover/org/dom4j/swing/pkg-summary.html       |  230 +
 docs/clover/org/dom4j/tree/AbstractAttribute.html  |  918 ++
 docs/clover/org/dom4j/tree/AbstractBranch.html     | 2228 +++++
 docs/clover/org/dom4j/tree/AbstractCDATA.html      |  510 ++
 .../org/dom4j/tree/AbstractCharacterData.html      |  422 +
 docs/clover/org/dom4j/tree/AbstractComment.html    |  520 ++
 docs/clover/org/dom4j/tree/AbstractDocument.html   | 1376 +++
 .../org/dom4j/tree/AbstractDocumentType.html       |  975 +++
 docs/clover/org/dom4j/tree/AbstractElement.html    | 7526 ++++++++++++++++
 docs/clover/org/dom4j/tree/AbstractEntity.html     |  542 ++
 docs/clover/org/dom4j/tree/AbstractNode.html       | 1267 +++
 .../dom4j/tree/AbstractProcessingInstruction.html  | 1102 +++
 docs/clover/org/dom4j/tree/AbstractText.html       |  440 +
 docs/clover/org/dom4j/tree/BackedList.html         |  995 +++
 docs/clover/org/dom4j/tree/BaseElement.html        |  899 ++
 .../org/dom4j/tree/ConcurrentReaderHashMap.html    | 5588 ++++++++++++
 docs/clover/org/dom4j/tree/ContentListFacade.html  |  953 ++
 docs/clover/org/dom4j/tree/DefaultAttribute.html   |  685 ++
 docs/clover/org/dom4j/tree/DefaultCDATA.html       |  524 ++
 docs/clover/org/dom4j/tree/DefaultComment.html     |  524 ++
 docs/clover/org/dom4j/tree/DefaultDocument.html    | 1707 ++++
 .../clover/org/dom4j/tree/DefaultDocumentType.html |  813 ++
 docs/clover/org/dom4j/tree/DefaultElement.html     | 4799 +++++++++++
 docs/clover/org/dom4j/tree/DefaultEntity.html      |  600 ++
 docs/clover/org/dom4j/tree/DefaultNamespace.html   |  703 ++
 .../dom4j/tree/DefaultProcessingInstruction.html   |  694 ++
 docs/clover/org/dom4j/tree/DefaultText.html        |  524 ++
 docs/clover/org/dom4j/tree/ElementIterator.html    |  406 +
 .../clover/org/dom4j/tree/ElementNameIterator.html |  450 +
 .../org/dom4j/tree/ElementQNameIterator.html       |  454 +
 docs/clover/org/dom4j/tree/FilterIterator.html     |  625 ++
 docs/clover/org/dom4j/tree/FlyweightAttribute.html |  572 ++
 docs/clover/org/dom4j/tree/FlyweightCDATA.html     |  439 +
 docs/clover/org/dom4j/tree/FlyweightComment.html   |  439 +
 docs/clover/org/dom4j/tree/FlyweightEntity.html    |  693 ++
 .../dom4j/tree/FlyweightProcessingInstruction.html |  697 ++
 docs/clover/org/dom4j/tree/FlyweightText.html      |  439 +
 docs/clover/org/dom4j/tree/NamespaceCache.html     | 1004 +++
 docs/clover/org/dom4j/tree/NamespaceStack.html     | 2255 +++++
 docs/clover/org/dom4j/tree/QNameCache.html         | 1398 +++
 docs/clover/org/dom4j/tree/SingleIterator.html     |  432 +
 docs/clover/org/dom4j/tree/pkg-classes.html        |  163 +
 docs/clover/org/dom4j/tree/pkg-summary.html        | 1111 +++
 docs/clover/org/dom4j/util/AttributeHelper.html    |  460 +
 .../org/dom4j/util/IndexedDocumentFactory.html     |  440 +
 docs/clover/org/dom4j/util/IndexedElement.html     | 1489 ++++
 docs/clover/org/dom4j/util/NodeComparator.html     | 1593 ++++
 .../org/dom4j/util/NonLazyDocumentFactory.html     |  422 +
 docs/clover/org/dom4j/util/NonLazyElement.html     |  438 +
 docs/clover/org/dom4j/util/PerThreadSingleton.html |  520 ++
 .../org/dom4j/util/ProxyDocumentFactory.html       |  958 +++
 docs/clover/org/dom4j/util/SimpleSingleton.html    |  480 ++
 docs/clover/org/dom4j/util/SingletonStrategy.html  |  390 +
 docs/clover/org/dom4j/util/UserDataAttribute.html  |  421 +
 .../org/dom4j/util/UserDataDocumentFactory.html    |  452 +
 docs/clover/org/dom4j/util/UserDataElement.html    |  626 ++
 docs/clover/org/dom4j/util/XMLErrorHandler.html    |  797 ++
 docs/clover/org/dom4j/util/pkg-classes.html        |   61 +
 docs/clover/org/dom4j/util/pkg-summary.html        |  372 +
 .../org/dom4j/xpath/DefaultNamespaceContext.html   |  517 ++
 docs/clover/org/dom4j/xpath/DefaultXPath.html      | 1879 ++++
 docs/clover/org/dom4j/xpath/XPathPattern.html      |  793 ++
 docs/clover/org/dom4j/xpath/pkg-classes.html       |   31 +
 docs/clover/org/dom4j/xpath/pkg-summary.html       |  173 +
 docs/clover/org/dom4j/xpp/ProxyXmlStartTag.html    | 1489 ++++
 docs/clover/org/dom4j/xpp/pkg-classes.html         |   25 +
 docs/clover/org/dom4j/xpp/pkg-summary.html         |  123 +
 docs/clover/pkgs-summary.html                      |  409 +
 docs/clover/style.css                              |  208 +
 docs/compare.html                                  |   39 +
 docs/cookbook.html                                 | 1577 ++++
 docs/cvs-usage.html                                |   78 +
 docs/dependencies.html                             |   67 +
 docs/developer-activity-report.html                |   27 +
 docs/download.html                                 |   52 +
 docs/downloads.html                                |   26 +
 docs/faq.html                                      |  752 ++
 docs/file-activity-report.html                     |   67 +
 docs/goals.html                                    |   58 +
 docs/guide.html                                    |  226 +
 docs/images/add.gif                                |  Bin 0 -> 207 bytes
 docs/images/collapsed.gif                          |  Bin 0 -> 53 bytes
 docs/images/expanded.gif                           |  Bin 0 -> 52 bytes
 docs/images/external-classic.png                   |  Bin 0 -> 956 bytes
 docs/images/external.png                           |  Bin 0 -> 230 bytes
 docs/images/file.gif                               |  Bin 0 -> 152 bytes
 docs/images/fix.gif                                |  Bin 0 -> 181 bytes
 docs/images/folder-closed.gif                      |  Bin 0 -> 220 bytes
 docs/images/folder-open.gif                        |  Bin 0 -> 229 bytes
 docs/images/help_logo.gif                          |  Bin 0 -> 2113 bytes
 docs/images/icon_alert.gif                         |  Bin 0 -> 1120 bytes
 docs/images/icon_alertsml.gif                      |  Bin 0 -> 154 bytes
 docs/images/icon_arrowfolder1_sml.gif              |  Bin 0 -> 1082 bytes
 docs/images/icon_arrowfolder2_sml.gif              |  Bin 0 -> 1080 bytes
 docs/images/icon_arrowfolderclosed1_sml.gif        |  Bin 0 -> 441 bytes
 docs/images/icon_arrowfolderopen2_sml.gif          |  Bin 0 -> 664 bytes
 docs/images/icon_arrowmembers1_sml.gif             |  Bin 0 -> 1073 bytes
 docs/images/icon_arrowmembers2_sml.gif             |  Bin 0 -> 1072 bytes
 docs/images/icon_arrowusergroups1_sml.gif          |  Bin 0 -> 1072 bytes
 docs/images/icon_arrowusergroups2_sml.gif          |  Bin 0 -> 1076 bytes
 docs/images/icon_arrowwaste1_sml.gif               |  Bin 0 -> 606 bytes
 docs/images/icon_arrowwaste2_sml.gif               |  Bin 0 -> 609 bytes
 docs/images/icon_confirmsml.gif                    |  Bin 0 -> 94 bytes
 docs/images/icon_doc_lrg.gif                       |  Bin 0 -> 1335 bytes
 docs/images/icon_doc_sml.gif                       |  Bin 0 -> 355 bytes
 docs/images/icon_error_lrg.gif                     |  Bin 0 -> 1531 bytes
 docs/images/icon_error_sml.gif                     |  Bin 0 -> 1010 bytes
 docs/images/icon_folder_lrg.gif                    |  Bin 0 -> 1548 bytes
 docs/images/icon_folder_sml.gif                    |  Bin 0 -> 634 bytes
 docs/images/icon_help_lrg.gif                      |  Bin 0 -> 1418 bytes
 docs/images/icon_help_sml.gif                      |  Bin 0 -> 1019 bytes
 docs/images/icon_info_lrg.gif                      |  Bin 0 -> 1383 bytes
 docs/images/icon_info_sml.gif                      |  Bin 0 -> 606 bytes
 docs/images/icon_infosml.gif                       |  Bin 0 -> 77 bytes
 docs/images/icon_members_lrg.gif                   |  Bin 0 -> 1570 bytes
 docs/images/icon_members_sml.gif                   |  Bin 0 -> 1023 bytes
 docs/images/icon_sortdown.gif                      |  Bin 0 -> 117 bytes
 docs/images/icon_sortleft.gif                      |  Bin 0 -> 121 bytes
 docs/images/icon_sortright.gif                     |  Bin 0 -> 122 bytes
 docs/images/icon_sortup.gif                        |  Bin 0 -> 117 bytes
 docs/images/icon_success_lrg.gif                   |  Bin 0 -> 1492 bytes
 docs/images/icon_success_sml.gif                   |  Bin 0 -> 990 bytes
 docs/images/icon_usergroups_lrg.gif                |  Bin 0 -> 1520 bytes
 docs/images/icon_usergroups_sml.gif                |  Bin 0 -> 1026 bytes
 docs/images/icon_warning_lrg.gif                   |  Bin 0 -> 1491 bytes
 docs/images/icon_warning_sml.gif                   |  Bin 0 -> 576 bytes
 docs/images/icon_waste_lrg.gif                     |  Bin 0 -> 780 bytes
 docs/images/icon_waste_sml.gif                     |  Bin 0 -> 562 bytes
 docs/images/logo.gif                               |  Bin 0 -> 1076 bytes
 docs/images/logos/maven-bolt.png                   |  Bin 0 -> 1717 bytes
 docs/images/logos/maven-brewed.png                 |  Bin 0 -> 2312 bytes
 docs/images/logos/maven-build-successfull.png      |  Bin 0 -> 1070 bytes
 docs/images/logos/maven-built.png                  |  Bin 0 -> 903 bytes
 docs/images/logos/maven-bulldozer.png              |  Bin 0 -> 4387 bytes
 docs/images/logos/maven-button-1.png               |  Bin 0 -> 3217 bytes
 docs/images/logos/maven-button-2.png               |  Bin 0 -> 2697 bytes
 docs/images/logos/maven-button-3.png               |  Bin 0 -> 3792 bytes
 docs/images/logos/maven-button-4.png               |  Bin 0 -> 6377 bytes
 docs/images/logos/maven-button-5.png               |  Bin 0 -> 4545 bytes
 docs/images/logos/maven-button-black.png           |  Bin 0 -> 1970 bytes
 docs/images/logos/maven-button-blue.png            |  Bin 0 -> 2063 bytes
 docs/images/logos/maven-button-copper.png          |  Bin 0 -> 2497 bytes
 docs/images/logos/maven-button-green.png           |  Bin 0 -> 1978 bytes
 docs/images/logos/maven-button-pinky.png           |  Bin 0 -> 2585 bytes
 docs/images/logos/maven-button-purple.png          |  Bin 0 -> 2473 bytes
 docs/images/logos/maven-button-teal.png            |  Bin 0 -> 1911 bytes
 docs/images/logos/maven-feather.png                |  Bin 0 -> 2907 bytes
 docs/images/logos/maven-frankenstein.png           |  Bin 0 -> 1038 bytes
 docs/images/logos/maven-mavenfactured.png          |  Bin 0 -> 1664 bytes
 docs/images/logos/maven-petesucks.png              |  Bin 0 -> 337 bytes
 docs/images/logos/maven-propaganda-2.png           |  Bin 0 -> 2875 bytes
 docs/images/logos/maven-propaganda.png             |  Bin 0 -> 2153 bytes
 docs/images/logos/maven-redgreen.png               |  Bin 0 -> 504 bytes
 docs/images/newwindow-classic.png                  |  Bin 0 -> 951 bytes
 docs/images/newwindow.png                          |  Bin 0 -> 220 bytes
 docs/images/none.png                               |  Bin 0 -> 946 bytes
 docs/images/nw_maj.gif                             |  Bin 0 -> 49 bytes
 docs/images/nw_maj_hi.gif                          |  Bin 0 -> 51 bytes
 docs/images/nw_maj_rond.gif                        |  Bin 0 -> 51 bytes
 docs/images/nw_med.gif                             |  Bin 0 -> 48 bytes
 docs/images/nw_med_hi.gif                          |  Bin 0 -> 47 bytes
 docs/images/nw_med_rond.gif                        |  Bin 0 -> 46 bytes
 docs/images/nw_min.gif                             |  Bin 0 -> 51 bytes
 docs/images/nw_min_036.gif                         |  Bin 0 -> 45 bytes
 docs/images/nw_min_hi.gif                          |  Bin 0 -> 46 bytes
 docs/images/pdf.gif                                |  Bin 0 -> 950 bytes
 docs/images/poweredby_036.gif                      |  Bin 0 -> 808 bytes
 docs/images/product_logo.gif                       |  Bin 0 -> 680 bytes
 docs/images/remove.gif                             |  Bin 0 -> 227 bytes
 docs/images/rss.png                                |  Bin 0 -> 249 bytes
 docs/images/se_maj_rond.gif                        |  Bin 0 -> 50 bytes
 docs/images/strich.gif                             |  Bin 0 -> 43 bytes
 docs/images/sw_maj_rond.gif                        |  Bin 0 -> 51 bytes
 docs/images/sw_med_rond.gif                        |  Bin 0 -> 46 bytes
 docs/images/sw_min.gif                             |  Bin 0 -> 45 bytes
 docs/images/update.gif                             |  Bin 0 -> 192 bytes
 docs/index.html                                    |  147 +
 docs/issue-tracking.html                           |   27 +
 docs/javadoc-warnings-report.html                  |  109 +
 docs/javadoc.html                                  |  122 +
 docs/jdepend-report.html                           | 1504 ++++
 docs/junit-report.html                             | 1341 +++
 docs/license.html                                  |   72 +
 docs/mail-lists.html                               |   53 +
 docs/maven-reports.html                            |   30 +
 docs/project-info.html                             |   48 +
 docs/status.html                                   |  780 ++
 docs/style/maven-base.css                          |  149 +
 docs/style/maven-classic.css                       |  874 ++
 docs/style/maven-theme.css                         |   98 +
 docs/style/print.css                               |    7 +
 docs/team-list.html                                |   91 +
 docs/xref-test/allclasses-frame.html               |  391 +
 docs/xref-test/index.html                          |   22 +
 docs/xref-test/org/dom4j/AbstractTestCase.html     |  325 +
 docs/xref-test/org/dom4j/AddAttributeTest.html     |  104 +
 docs/xref-test/org/dom4j/AddNodeTest.html          |  116 +
 docs/xref-test/org/dom4j/AttributeDetachTest.html  |  110 +
 docs/xref-test/org/dom4j/BackedListTest.html       |  153 +
 docs/xref-test/org/dom4j/CloneTest.html            |  191 +
 docs/xref-test/org/dom4j/ContentTest.html          |  269 +
 docs/xref-test/org/dom4j/CopyTest.html             |  130 +
 docs/xref-test/org/dom4j/DetachTest.html           |  114 +
 docs/xref-test/org/dom4j/DocTypeTest.html          |  105 +
 docs/xref-test/org/dom4j/ElementByIDTest.html      |  100 +
 docs/xref-test/org/dom4j/EmbeddedHandlerTest.html  |  182 +
 docs/xref-test/org/dom4j/GetQNamesTest.html        |  113 +
 docs/xref-test/org/dom4j/GetXMLEncodingTest.html   |  113 +
 docs/xref-test/org/dom4j/HTMLWriterTest.html       |  184 +
 docs/xref-test/org/dom4j/IndexedElementTest.html   |  123 +
 docs/xref-test/org/dom4j/IsTextOnlyTest.html       |   85 +
 docs/xref-test/org/dom4j/IteratorTest.html         |  194 +
 docs/xref-test/org/dom4j/LineFeedTest.html         |  123 +
 docs/xref-test/org/dom4j/MakeElementTest.html      |  129 +
 docs/xref-test/org/dom4j/MergeTextTest.html        |  115 +
 docs/xref-test/org/dom4j/NamespaceTest.html        |  188 +
 docs/xref-test/org/dom4j/NamespacesTest.html       |  369 +
 docs/xref-test/org/dom4j/NodeTypeNameTest.html     |  154 +
 docs/xref-test/org/dom4j/NormalizeTest.html        |   98 +
 docs/xref-test/org/dom4j/NullAttributesTest.html   |  133 +
 docs/xref-test/org/dom4j/ParentTest.html           |  129 +
 docs/xref-test/org/dom4j/ParseTextTest.html        |  104 +
 .../org/dom4j/ProcessingInstructionTest.html       |   94 +
 docs/xref-test/org/dom4j/RoundTripTest.html        |  241 +
 .../xref-test/org/dom4j/SAXContentHandlerTest.html |  125 +
 docs/xref-test/org/dom4j/SerializeTest.html        |  167 +
 docs/xref-test/org/dom4j/SetContentTest.html       |  158 +
 docs/xref-test/org/dom4j/SetTextTest.html          |  104 +
 docs/xref-test/org/dom4j/ThreadingTest.html        |  358 +
 docs/xref-test/org/dom4j/UserDataTest.html         |  171 +
 docs/xref-test/org/dom4j/ValidationTest.html       |   86 +
 docs/xref-test/org/dom4j/XMLResultTest.html        |  126 +
 .../xref-test/org/dom4j/XMLSpaceAttributeTest.html |  268 +
 docs/xref-test/org/dom4j/XMLWriterTest.html        |  594 ++
 docs/xref-test/org/dom4j/XPathBugTest.html         |  178 +
 docs/xref-test/org/dom4j/XPathExamplesTest.html    |  244 +
 docs/xref-test/org/dom4j/XPathTest.html            |  191 +
 docs/xref-test/org/dom4j/XSLTTest.html             |  123 +
 docs/xref-test/org/dom4j/bean/BeansTest.html       |   81 +
 docs/xref-test/org/dom4j/bean/package-frame.html   |   27 +
 docs/xref-test/org/dom4j/bean/package-summary.html |  102 +
 .../dom4j/datatype/AbstractDataTypeTestCase.html   |  106 +
 .../org/dom4j/datatype/AutoSchemaTest.html         |  123 +
 .../org/dom4j/datatype/DataTypesTest.html          |  201 +
 .../org/dom4j/datatype/Datatype2Test.html          |  304 +
 .../org/dom4j/datatype/ManualSchemaPrefixTest.html |   88 +
 .../org/dom4j/datatype/ManualSchemaTest.html       |   91 +
 .../org/dom4j/datatype/SchemaParseTest.html        |   92 +
 docs/xref-test/org/dom4j/datatype/SetDataTest.html |  213 +
 .../org/dom4j/datatype/package-frame.html          |   55 +
 .../org/dom4j/datatype/package-summary.html        |  144 +
 docs/xref-test/org/dom4j/dom/DOMTest.html          |  263 +
 docs/xref-test/org/dom4j/dom/package-frame.html    |   27 +
 docs/xref-test/org/dom4j/dom/package-summary.html  |  102 +
 .../xref-test/org/dom4j/dtd/AttributeDeclTest.html |  271 +
 docs/xref-test/org/dom4j/dtd/ElementDeclTest.html  |  114 +
 .../org/dom4j/dtd/ExternalEntityDeclTest.html      |  154 +
 .../org/dom4j/dtd/InternalEntityDeclTest.html      |  171 +
 docs/xref-test/org/dom4j/dtd/package-frame.html    |   39 +
 docs/xref-test/org/dom4j/dtd/package-summary.html  |  120 +
 docs/xref-test/org/dom4j/io/DOMReaderTest.html     |  102 +
 docs/xref-test/org/dom4j/io/DOMWriterTest.html     |  122 +
 docs/xref-test/org/dom4j/io/DTDTest.html           |  585 ++
 .../org/dom4j/io/DispatchHandlerTest.html          |  102 +
 .../xref-test/org/dom4j/io/DocumentSourceTest.html |   97 +
 docs/xref-test/org/dom4j/io/SAXReaderTest.html     |  159 +
 docs/xref-test/org/dom4j/io/StaxTest.html          |  122 +
 .../org/dom4j/io/WriteUnmergedTextTest.html        |  204 +
 docs/xref-test/org/dom4j/io/XPP3ReaderTest.html    |  110 +
 docs/xref-test/org/dom4j/io/package-frame.html     |   59 +
 docs/xref-test/org/dom4j/io/package-summary.html   |  150 +
 docs/xref-test/org/dom4j/package-frame.html        |  199 +
 docs/xref-test/org/dom4j/package-summary.html      |  360 +
 docs/xref-test/org/dom4j/rule/PriorityTest.html    |  103 +
 docs/xref-test/org/dom4j/rule/RuleTest.html        |  164 +
 docs/xref-test/org/dom4j/rule/StylesheetTest.html  |  184 +
 docs/xref-test/org/dom4j/rule/package-frame.html   |   35 +
 docs/xref-test/org/dom4j/rule/package-summary.html |  114 +
 docs/xref-test/org/dom4j/swing/TableModelTest.html |  140 +
 docs/xref-test/org/dom4j/swing/package-frame.html  |   27 +
 .../xref-test/org/dom4j/swing/package-summary.html |  102 +
 docs/xref-test/org/dom4j/tree/CDataTest.html       |   87 +
 .../org/dom4j/tree/DefaultDocumentTest.html        |  167 +
 .../org/dom4j/tree/DefaultElementTest.html         |  173 +
 .../org/dom4j/tree/NamespaceCacheTest.html         |  153 +
 docs/xref-test/org/dom4j/tree/package-frame.html   |   39 +
 docs/xref-test/org/dom4j/tree/package-summary.html |  120 +
 .../org/dom4j/util/PerThreadSingletonTest.html     |  172 +
 .../org/dom4j/util/SimpleSingletonTest.html        |  132 +
 docs/xref-test/org/dom4j/util/package-frame.html   |   31 +
 docs/xref-test/org/dom4j/util/package-summary.html |  108 +
 docs/xref-test/org/dom4j/xpath/AttributeTest.html  |  122 +
 docs/xref-test/org/dom4j/xpath/BadPathTest.html    |  104 +
 docs/xref-test/org/dom4j/xpath/BooleanTest.html    |  115 +
 docs/xref-test/org/dom4j/xpath/FilterTest.html     |  113 +
 docs/xref-test/org/dom4j/xpath/GetPathTest.html    |  217 +
 .../org/dom4j/xpath/MatrixConcatTest.html          |  116 +
 docs/xref-test/org/dom4j/xpath/NamespaceTest.html  |  132 +
 docs/xref-test/org/dom4j/xpath/NumberTest.html     |  119 +
 docs/xref-test/org/dom4j/xpath/ObjectTest.html     |   97 +
 docs/xref-test/org/dom4j/xpath/PrefixTest.html     |  119 +
 .../org/dom4j/xpath/SelectSingleNodeTest.html      |  118 +
 docs/xref-test/org/dom4j/xpath/SortByTest.html     |   97 +
 docs/xref-test/org/dom4j/xpath/SubstringTest.html  |  117 +
 docs/xref-test/org/dom4j/xpath/TextTest.html       |  114 +
 docs/xref-test/org/dom4j/xpath/UriMapTest.html     |  103 +
 docs/xref-test/org/dom4j/xpath/ValueOfTest.html    |  124 +
 docs/xref-test/org/dom4j/xpath/VariableTest.html   |  133 +
 docs/xref-test/org/dom4j/xpath/package-frame.html  |   91 +
 .../xref-test/org/dom4j/xpath/package-summary.html |  198 +
 docs/xref-test/overview-frame.html                 |   67 +
 docs/xref-test/overview-summary.html               |  154 +
 docs/xref-test/stylesheet.css                      |   96 +
 docs/xref/allclasses-frame.html                    |  683 ++
 docs/xref/index.html                               |   22 +
 docs/xref/org/dom4j/Attribute.html                 |  186 +
 docs/xref/org/dom4j/Branch.html                    |  364 +
 docs/xref/org/dom4j/CDATA.html                     |   69 +
 docs/xref/org/dom4j/CharacterData.html             |   81 +
 docs/xref/org/dom4j/Comment.html                   |   69 +
 docs/xref/org/dom4j/Document.html                  |  202 +
 docs/xref/org/dom4j/DocumentException.html         |  133 +
 docs/xref/org/dom4j/DocumentFactory.html           |  469 +
 docs/xref/org/dom4j/DocumentHelper.html            |  425 +
 docs/xref/org/dom4j/DocumentType.html              |  129 +
 docs/xref/org/dom4j/Element.html                   |  898 ++
 docs/xref/org/dom4j/ElementHandler.html            |   89 +
 docs/xref/org/dom4j/ElementPath.html               |  124 +
 docs/xref/org/dom4j/Entity.html                    |   69 +
 docs/xref/org/dom4j/IllegalAddException.html       |   84 +
 docs/xref/org/dom4j/InvalidXPathException.html     |   84 +
 docs/xref/org/dom4j/Namespace.html                 |  285 +
 docs/xref/org/dom4j/Node.html                      |  612 ++
 docs/xref/org/dom4j/NodeFilter.html                |   83 +
 docs/xref/org/dom4j/ProcessingInstruction.html     |  123 +
 docs/xref/org/dom4j/QName.html                     |  308 +
 docs/xref/org/dom4j/Text.html                      |   69 +
 docs/xref/org/dom4j/Visitor.html                   |  179 +
 docs/xref/org/dom4j/VisitorSupport.html            |  103 +
 docs/xref/org/dom4j/XPath.html                     |  358 +
 docs/xref/org/dom4j/XPathException.html            |   97 +
 docs/xref/org/dom4j/bean/BeanAttribute.html        |  110 +
 docs/xref/org/dom4j/bean/BeanAttributeList.html    |  198 +
 docs/xref/org/dom4j/bean/BeanDocumentFactory.html  |  147 +
 docs/xref/org/dom4j/bean/BeanElement.html          |  207 +
 docs/xref/org/dom4j/bean/BeanMetaData.html         |  217 +
 docs/xref/org/dom4j/bean/package-frame.html        |   43 +
 docs/xref/org/dom4j/bean/package-summary.html      |  126 +
 .../xref/org/dom4j/datatype/DatatypeAttribute.html |  242 +
 .../dom4j/datatype/DatatypeDocumentFactory.html    |  236 +
 docs/xref/org/dom4j/datatype/DatatypeElement.html  |  220 +
 .../org/dom4j/datatype/DatatypeElementFactory.html |  185 +
 .../org/dom4j/datatype/InvalidSchemaException.html |   72 +
 .../xref/org/dom4j/datatype/NamedTypeResolver.html |  145 +
 docs/xref/org/dom4j/datatype/SchemaParser.html     |  620 ++
 docs/xref/org/dom4j/datatype/package-frame.html    |   51 +
 docs/xref/org/dom4j/datatype/package-summary.html  |  138 +
 docs/xref/org/dom4j/dom/DOMAttribute.html          |  232 +
 docs/xref/org/dom4j/dom/DOMAttributeNodeMap.html   |  142 +
 docs/xref/org/dom4j/dom/DOMCDATA.html              |  278 +
 docs/xref/org/dom4j/dom/DOMComment.html            |  240 +
 docs/xref/org/dom4j/dom/DOMDocument.html           |  354 +
 docs/xref/org/dom4j/dom/DOMDocumentFactory.html    |  229 +
 docs/xref/org/dom4j/dom/DOMDocumentType.html       |  230 +
 docs/xref/org/dom4j/dom/DOMElement.html            |  442 +
 docs/xref/org/dom4j/dom/DOMEntityReference.html    |  219 +
 docs/xref/org/dom4j/dom/DOMNamespace.html          |  193 +
 docs/xref/org/dom4j/dom/DOMNodeHelper.html         |  596 ++
 .../org/dom4j/dom/DOMProcessingInstruction.html    |  232 +
 docs/xref/org/dom4j/dom/DOMText.html               |  277 +
 docs/xref/org/dom4j/dom/package-frame.html         |   75 +
 docs/xref/org/dom4j/dom/package-summary.html       |  174 +
 docs/xref/org/dom4j/dtd/AttributeDecl.html         |  218 +
 docs/xref/org/dom4j/dtd/ElementDecl.html           |  124 +
 docs/xref/org/dom4j/dtd/ExternalEntityDecl.html    |  175 +
 docs/xref/org/dom4j/dtd/InternalEntityDecl.html    |  185 +
 docs/xref/org/dom4j/dtd/package-frame.html         |   39 +
 docs/xref/org/dom4j/dtd/package-summary.html       |  120 +
 docs/xref/org/dom4j/io/DOMReader.html              |  326 +
 docs/xref/org/dom4j/io/DOMWriter.html              |  415 +
 docs/xref/org/dom4j/io/DispatchHandler.html        |  268 +
 docs/xref/org/dom4j/io/DocumentInputSource.html    |  161 +
 docs/xref/org/dom4j/io/DocumentResult.html         |  113 +
 docs/xref/org/dom4j/io/DocumentSource.html         |  197 +
 docs/xref/org/dom4j/io/ElementModifier.html        |   90 +
 docs/xref/org/dom4j/io/ElementStack.html           |  231 +
 docs/xref/org/dom4j/io/HTMLWriter.html             |  854 ++
 docs/xref/org/dom4j/io/JAXPHelper.html             |  115 +
 docs/xref/org/dom4j/io/OutputFormat.html           |  604 ++
 docs/xref/org/dom4j/io/PruningDispatchHandler.html |   77 +
 docs/xref/org/dom4j/io/PruningElementStack.html    |  167 +
 docs/xref/org/dom4j/io/SAXContentHandler.html      | 1019 +++
 docs/xref/org/dom4j/io/SAXEventRecorder.html       |  616 ++
 docs/xref/org/dom4j/io/SAXHelper.html              |  208 +
 docs/xref/org/dom4j/io/SAXModifier.html            |  472 +
 .../xref/org/dom4j/io/SAXModifyContentHandler.html |  300 +
 .../xref/org/dom4j/io/SAXModifyElementHandler.html |  157 +
 docs/xref/org/dom4j/io/SAXModifyException.html     |   77 +
 docs/xref/org/dom4j/io/SAXModifyReader.html        |  138 +
 docs/xref/org/dom4j/io/SAXReader.html              | 1055 +++
 docs/xref/org/dom4j/io/SAXValidator.html           |  216 +
 docs/xref/org/dom4j/io/SAXWriter.html              |  958 +++
 docs/xref/org/dom4j/io/STAXEventReader.html        |  692 ++
 docs/xref/org/dom4j/io/STAXEventWriter.html        |  698 ++
 docs/xref/org/dom4j/io/XMLResult.html              |  126 +
 docs/xref/org/dom4j/io/XMLWriter.html              | 1947 +++++
 docs/xref/org/dom4j/io/XPP3Reader.html             |  554 ++
 docs/xref/org/dom4j/io/XPPReader.html              |  497 ++
 docs/xref/org/dom4j/io/package-frame.html          |  143 +
 docs/xref/org/dom4j/io/package-summary.html        |  276 +
 docs/xref/org/dom4j/jaxb/JAXBModifier.html         |  549 ++
 docs/xref/org/dom4j/jaxb/JAXBObjectHandler.html    |   82 +
 docs/xref/org/dom4j/jaxb/JAXBObjectModifier.html   |   86 +
 docs/xref/org/dom4j/jaxb/JAXBReader.html           |  449 +
 docs/xref/org/dom4j/jaxb/JAXBRuntimeException.html |   77 +
 docs/xref/org/dom4j/jaxb/JAXBSupport.html          |  162 +
 docs/xref/org/dom4j/jaxb/JAXBWriter.html           |  339 +
 docs/xref/org/dom4j/jaxb/package-frame.html        |   51 +
 docs/xref/org/dom4j/jaxb/package-summary.html      |  138 +
 docs/xref/org/dom4j/package-frame.html             |  127 +
 docs/xref/org/dom4j/package-summary.html           |  252 +
 docs/xref/org/dom4j/rule/Action.html               |   73 +
 docs/xref/org/dom4j/rule/Mode.html                 |  319 +
 docs/xref/org/dom4j/rule/NullAction.html           |   76 +
 docs/xref/org/dom4j/rule/Pattern.html              |  138 +
 docs/xref/org/dom4j/rule/Rule.html                 |  344 +
 docs/xref/org/dom4j/rule/RuleManager.html          |  248 +
 docs/xref/org/dom4j/rule/RuleSet.html              |  151 +
 docs/xref/org/dom4j/rule/Stylesheet.html           |  347 +
 docs/xref/org/dom4j/rule/package-frame.html        |   55 +
 docs/xref/org/dom4j/rule/package-summary.html      |  144 +
 .../org/dom4j/rule/pattern/DefaultPattern.html     |  103 +
 .../org/dom4j/rule/pattern/NodeTypePattern.html    |  122 +
 .../xref/org/dom4j/rule/pattern/package-frame.html |   31 +
 .../org/dom4j/rule/pattern/package-summary.html    |  108 +
 docs/xref/org/dom4j/swing/BranchTreeNode.html      |  209 +
 docs/xref/org/dom4j/swing/DocumentTreeModel.html   |  107 +
 docs/xref/org/dom4j/swing/LeafTreeNode.html        |  158 +
 .../org/dom4j/swing/XMLTableColumnDefinition.html  |  251 +
 docs/xref/org/dom4j/swing/XMLTableDefinition.html  |  330 +
 docs/xref/org/dom4j/swing/XMLTableModel.html       |  216 +
 docs/xref/org/dom4j/swing/package-frame.html       |   47 +
 docs/xref/org/dom4j/swing/package-summary.html     |  132 +
 docs/xref/org/dom4j/tree/AbstractAttribute.html    |  204 +
 docs/xref/org/dom4j/tree/AbstractBranch.html       |  506 ++
 docs/xref/org/dom4j/tree/AbstractCDATA.html        |  114 +
 .../xref/org/dom4j/tree/AbstractCharacterData.html |   94 +
 docs/xref/org/dom4j/tree/AbstractComment.html      |  116 +
 docs/xref/org/dom4j/tree/AbstractDocument.html     |  309 +
 docs/xref/org/dom4j/tree/AbstractDocumentType.html |  216 +
 docs/xref/org/dom4j/tree/AbstractElement.html      | 1697 ++++
 docs/xref/org/dom4j/tree/AbstractEntity.html       |  121 +
 docs/xref/org/dom4j/tree/AbstractNode.html         |  284 +
 .../dom4j/tree/AbstractProcessingInstruction.html  |  248 +
 docs/xref/org/dom4j/tree/AbstractText.html         |   98 +
 docs/xref/org/dom4j/tree/BackedList.html           |  222 +
 docs/xref/org/dom4j/tree/BaseElement.html          |  202 +
 .../org/dom4j/tree/ConcurrentReaderHashMap.html    | 1297 +++
 docs/xref/org/dom4j/tree/ContentListFacade.html    |  213 +
 docs/xref/org/dom4j/tree/DefaultAttribute.html     |  156 +
 docs/xref/org/dom4j/tree/DefaultCDATA.html         |  118 +
 docs/xref/org/dom4j/tree/DefaultComment.html       |  118 +
 docs/xref/org/dom4j/tree/DefaultDocument.html      |  382 +
 docs/xref/org/dom4j/tree/DefaultDocumentType.html  |  187 +
 docs/xref/org/dom4j/tree/DefaultElement.html       | 1068 +++
 docs/xref/org/dom4j/tree/DefaultEntity.html        |  136 +
 docs/xref/org/dom4j/tree/DefaultNamespace.html     |  160 +
 .../dom4j/tree/DefaultProcessingInstruction.html   |  158 +
 docs/xref/org/dom4j/tree/DefaultText.html          |  118 +
 docs/xref/org/dom4j/tree/ElementIterator.html      |   92 +
 docs/xref/org/dom4j/tree/ElementNameIterator.html  |  102 +
 docs/xref/org/dom4j/tree/ElementQNameIterator.html |  103 +
 docs/xref/org/dom4j/tree/FilterIterator.html       |  142 +
 docs/xref/org/dom4j/tree/FlyweightAttribute.html   |  130 +
 docs/xref/org/dom4j/tree/FlyweightCDATA.html       |   99 +
 docs/xref/org/dom4j/tree/FlyweightComment.html     |   99 +
 docs/xref/org/dom4j/tree/FlyweightEntity.html      |  160 +
 .../dom4j/tree/FlyweightProcessingInstruction.html |  159 +
 docs/xref/org/dom4j/tree/FlyweightText.html        |   99 +
 docs/xref/org/dom4j/tree/NamespaceCache.html       |  229 +
 docs/xref/org/dom4j/tree/NamespaceStack.html       |  517 ++
 docs/xref/org/dom4j/tree/QNameCache.html           |  323 +
 docs/xref/org/dom4j/tree/SingleIterator.html       |   96 +
 docs/xref/org/dom4j/tree/package-frame.html        |  183 +
 docs/xref/org/dom4j/tree/package-summary.html      |  336 +
 docs/xref/org/dom4j/util/AttributeHelper.html      |  102 +
 .../org/dom4j/util/IndexedDocumentFactory.html     |  100 +
 docs/xref/org/dom4j/util/IndexedElement.html       |  334 +
 docs/xref/org/dom4j/util/NodeComparator.html       |  357 +
 .../org/dom4j/util/NonLazyDocumentFactory.html     |   96 +
 docs/xref/org/dom4j/util/NonLazyElement.html       |   97 +
 docs/xref/org/dom4j/util/PerThreadSingleton.html   |  116 +
 docs/xref/org/dom4j/util/ProxyDocumentFactory.html |  217 +
 docs/xref/org/dom4j/util/SimpleSingleton.html      |  107 +
 docs/xref/org/dom4j/util/SingletonStrategy.html    |   89 +
 docs/xref/org/dom4j/util/UserDataAttribute.html    |   94 +
 .../org/dom4j/util/UserDataDocumentFactory.html    |  103 +
 docs/xref/org/dom4j/util/UserDataElement.html      |  141 +
 docs/xref/org/dom4j/util/XMLErrorHandler.html      |  181 +
 docs/xref/org/dom4j/util/package-frame.html        |   79 +
 docs/xref/org/dom4j/util/package-summary.html      |  180 +
 .../org/dom4j/xpath/DefaultNamespaceContext.html   |  115 +
 docs/xref/org/dom4j/xpath/DefaultXPath.html        |  426 +
 docs/xref/org/dom4j/xpath/XPathPattern.html        |  178 +
 docs/xref/org/dom4j/xpath/package-frame.html       |   35 +
 docs/xref/org/dom4j/xpath/package-summary.html     |  114 +
 docs/xref/org/dom4j/xpp/ProxyXmlStartTag.html      |  335 +
 docs/xref/org/dom4j/xpp/package-frame.html         |   27 +
 docs/xref/org/dom4j/xpp/package-summary.html       |  102 +
 docs/xref/overview-frame.html                      |   79 +
 docs/xref/overview-summary.html                    |  172 +
 docs/xref/stylesheet.css                           |   96 +
 dom4j-1.6.1.jar                                    |  Bin 0 -> 313898 bytes
 lib/endorsed/xml-apis-2.0.2.jar                    |  Bin 0 -> 109318 bytes
 lib/jaxen-1.1-beta-6.jar                           |  Bin 0 -> 244330 bytes
 lib/jaxme-api-0.3.jar                              |  Bin 0 -> 30482 bytes
 lib/jsr173_1.0_api.jar                             |  Bin 0 -> 26396 bytes
 lib/msv-20030807.jar                               |  Bin 0 -> 682103 bytes
 lib/pull-parser-2.1.10.jar                         |  Bin 0 -> 52636 bytes
 lib/relaxngDatatype-20030807.jar                   |  Bin 0 -> 19097 bytes
 lib/test/JUnitPerf_LICENSE                         |   29 +
 lib/test/jsr173_1.0_ri.jar                         |  Bin 0 -> 151004 bytes
 lib/test/junit-3.8.1.jar                           |  Bin 0 -> 121070 bytes
 lib/test/junitperf-1.8.jar                         |  Bin 0 -> 28401 bytes
 lib/tools/clover.license                           |  164 +
 lib/tools/isorelax-20030108.jar                    |  Bin 0 -> 192602 bytes
 lib/tools/jaxme-0.3.jar                            |  Bin 0 -> 317453 bytes
 lib/tools/jaxme-js-0.3.jar                         |  Bin 0 -> 296521 bytes
 lib/tools/jaxme-xs-0.3.jar                         |  Bin 0 -> 445591 bytes
 lib/tools/jtidy-4aug2000r7-dev.jar                 |  Bin 0 -> 137835 bytes
 lib/tools/xalan-2.5.1.jar                          |  Bin 0 -> 2907319 bytes
 lib/tools/xercesImpl-2.6.2.jar                     |  Bin 0 -> 1010806 bytes
 lib/xpp3-1.1.3.3.jar                               |  Bin 0 -> 93395 bytes
 lib/xsdlib-20030807.jar                            |  Bin 0 -> 246365 bytes
 maven.xml                                          |   54 +
 project.properties                                 |   61 +
 project.xml                                        |  298 +
 src/conf/MANIFEST.MF                               |    1 +
 src/conf/repository.dtd                            |   27 +
 src/conf/repository.xml                            |   41 +
 src/conf/xsa.xml                                   |   25 +
 src/doc/style/javadoc.css                          |   27 +
 src/docbook/cookbook.xml                           | 1936 +++++
 src/java/org/dom4j/Attribute.java                  |  173 +
 src/java/org/dom4j/Branch.java                     |  351 +
 src/java/org/dom4j/CDATA.java                      |   56 +
 src/java/org/dom4j/CharacterData.java              |   68 +
 src/java/org/dom4j/Comment.java                    |   56 +
 src/java/org/dom4j/Document.java                   |  189 +
 src/java/org/dom4j/DocumentException.java          |  120 +
 src/java/org/dom4j/DocumentFactory.java            |  456 +
 src/java/org/dom4j/DocumentHelper.java             |  412 +
 src/java/org/dom4j/DocumentType.java               |  116 +
 src/java/org/dom4j/Element.java                    |  885 ++
 src/java/org/dom4j/ElementHandler.java             |   76 +
 src/java/org/dom4j/ElementPath.java                |  111 +
 src/java/org/dom4j/Entity.java                     |   56 +
 src/java/org/dom4j/IllegalAddException.java        |   71 +
 src/java/org/dom4j/InvalidXPathException.java      |   71 +
 src/java/org/dom4j/Namespace.java                  |  272 +
 src/java/org/dom4j/Node.java                       |  599 ++
 src/java/org/dom4j/NodeFilter.java                 |   70 +
 src/java/org/dom4j/ProcessingInstruction.java      |  110 +
 src/java/org/dom4j/QName.java                      |  295 +
 src/java/org/dom4j/Text.java                       |   56 +
 src/java/org/dom4j/Visitor.java                    |  166 +
 src/java/org/dom4j/VisitorSupport.java             |   90 +
 src/java/org/dom4j/XPath.java                      |  345 +
 src/java/org/dom4j/XPathException.java             |   84 +
 src/java/org/dom4j/bean/BeanAttribute.java         |   97 +
 src/java/org/dom4j/bean/BeanAttributeList.java     |  185 +
 src/java/org/dom4j/bean/BeanDocumentFactory.java   |  134 +
 src/java/org/dom4j/bean/BeanElement.java           |  194 +
 src/java/org/dom4j/bean/BeanMetaData.java          |  204 +
 src/java/org/dom4j/bean/package.html               |   10 +
 src/java/org/dom4j/datatype/DatatypeAttribute.java |  229 +
 .../dom4j/datatype/DatatypeDocumentFactory.java    |  223 +
 src/java/org/dom4j/datatype/DatatypeElement.java   |  207 +
 .../org/dom4j/datatype/DatatypeElementFactory.java |  172 +
 .../org/dom4j/datatype/InvalidSchemaException.java |   59 +
 src/java/org/dom4j/datatype/NamedTypeResolver.java |  132 +
 src/java/org/dom4j/datatype/SchemaParser.java      |  607 ++
 src/java/org/dom4j/datatype/package.html           |   10 +
 src/java/org/dom4j/dom/DOMAttribute.java           |  219 +
 src/java/org/dom4j/dom/DOMAttributeNodeMap.java    |  129 +
 src/java/org/dom4j/dom/DOMCDATA.java               |  265 +
 src/java/org/dom4j/dom/DOMComment.java             |  227 +
 src/java/org/dom4j/dom/DOMDocument.java            |  341 +
 src/java/org/dom4j/dom/DOMDocumentFactory.java     |  216 +
 src/java/org/dom4j/dom/DOMDocumentType.java        |  217 +
 src/java/org/dom4j/dom/DOMElement.java             |  429 +
 src/java/org/dom4j/dom/DOMEntityReference.java     |  206 +
 src/java/org/dom4j/dom/DOMNamespace.java           |  180 +
 src/java/org/dom4j/dom/DOMNodeHelper.java          |  583 ++
 .../org/dom4j/dom/DOMProcessingInstruction.java    |  219 +
 src/java/org/dom4j/dom/DOMText.java                |  264 +
 src/java/org/dom4j/dom/package.html                |   10 +
 src/java/org/dom4j/dtd/AttributeDecl.java          |  205 +
 src/java/org/dom4j/dtd/ElementDecl.java            |  111 +
 src/java/org/dom4j/dtd/ExternalEntityDecl.java     |  162 +
 src/java/org/dom4j/dtd/InternalEntityDecl.java     |  172 +
 src/java/org/dom4j/dtd/package.html                |    9 +
 src/java/org/dom4j/io/DOMReader.java               |  313 +
 src/java/org/dom4j/io/DOMWriter.java               |  402 +
 src/java/org/dom4j/io/DispatchHandler.java         |  255 +
 src/java/org/dom4j/io/DocumentInputSource.java     |  148 +
 src/java/org/dom4j/io/DocumentResult.java          |  100 +
 src/java/org/dom4j/io/DocumentSource.java          |  184 +
 src/java/org/dom4j/io/ElementModifier.java         |   77 +
 src/java/org/dom4j/io/ElementStack.java            |  218 +
 src/java/org/dom4j/io/HTMLWriter.java              |  841 ++
 src/java/org/dom4j/io/JAXPHelper.java              |  102 +
 src/java/org/dom4j/io/OutputFormat.java            |  591 ++
 src/java/org/dom4j/io/PruningDispatchHandler.java  |   64 +
 src/java/org/dom4j/io/PruningElementStack.java     |  154 +
 src/java/org/dom4j/io/SAXContentHandler.java       | 1006 +++
 src/java/org/dom4j/io/SAXEventRecorder.java        |  603 ++
 src/java/org/dom4j/io/SAXHelper.java               |  195 +
 src/java/org/dom4j/io/SAXModifier.java             |  459 +
 src/java/org/dom4j/io/SAXModifyContentHandler.java |  287 +
 src/java/org/dom4j/io/SAXModifyElementHandler.java |  144 +
 src/java/org/dom4j/io/SAXModifyException.java      |   64 +
 src/java/org/dom4j/io/SAXModifyReader.java         |  125 +
 src/java/org/dom4j/io/SAXReader.java               | 1042 +++
 src/java/org/dom4j/io/SAXValidator.java            |  203 +
 src/java/org/dom4j/io/SAXWriter.java               |  945 ++
 src/java/org/dom4j/io/STAXEventReader.java         |  679 ++
 src/java/org/dom4j/io/STAXEventWriter.java         |  685 ++
 src/java/org/dom4j/io/XMLResult.java               |  113 +
 src/java/org/dom4j/io/XMLWriter.java               | 1934 +++++
 src/java/org/dom4j/io/XPP3Reader.java              |  541 ++
 src/java/org/dom4j/io/XPPReader.java               |  484 ++
 src/java/org/dom4j/io/package.html                 |   10 +
 src/java/org/dom4j/jaxb/JAXBModifier.java          |  536 ++
 src/java/org/dom4j/jaxb/JAXBObjectHandler.java     |   69 +
 src/java/org/dom4j/jaxb/JAXBObjectModifier.java    |   73 +
 src/java/org/dom4j/jaxb/JAXBReader.java            |  436 +
 src/java/org/dom4j/jaxb/JAXBRuntimeException.java  |   64 +
 src/java/org/dom4j/jaxb/JAXBSupport.java           |  149 +
 src/java/org/dom4j/jaxb/JAXBWriter.java            |  326 +
 src/java/org/dom4j/package.html                    |   10 +
 src/java/org/dom4j/rule/Action.java                |   60 +
 src/java/org/dom4j/rule/Mode.java                  |  306 +
 src/java/org/dom4j/rule/NullAction.java            |   63 +
 src/java/org/dom4j/rule/Pattern.java               |  125 +
 src/java/org/dom4j/rule/Rule.java                  |  331 +
 src/java/org/dom4j/rule/RuleManager.java           |  235 +
 src/java/org/dom4j/rule/RuleSet.java               |  138 +
 src/java/org/dom4j/rule/Stylesheet.java            |  334 +
 src/java/org/dom4j/rule/package.html               |   14 +
 .../org/dom4j/rule/pattern/DefaultPattern.java     |   90 +
 .../org/dom4j/rule/pattern/NodeTypePattern.java    |  109 +
 src/java/org/dom4j/swing/BranchTreeNode.java       |  196 +
 src/java/org/dom4j/swing/DocumentTreeModel.java    |   94 +
 src/java/org/dom4j/swing/LeafTreeNode.java         |  145 +
 .../org/dom4j/swing/XMLTableColumnDefinition.java  |  238 +
 src/java/org/dom4j/swing/XMLTableDefinition.java   |  317 +
 src/java/org/dom4j/swing/XMLTableModel.java        |  203 +
 src/java/org/dom4j/swing/package.html              |   10 +
 src/java/org/dom4j/tree/AbstractAttribute.java     |  191 +
 src/java/org/dom4j/tree/AbstractBranch.java        |  493 ++
 src/java/org/dom4j/tree/AbstractCDATA.java         |  101 +
 src/java/org/dom4j/tree/AbstractCharacterData.java |   81 +
 src/java/org/dom4j/tree/AbstractComment.java       |  103 +
 src/java/org/dom4j/tree/AbstractDocument.java      |  296 +
 src/java/org/dom4j/tree/AbstractDocumentType.java  |  203 +
 src/java/org/dom4j/tree/AbstractElement.java       | 1684 ++++
 src/java/org/dom4j/tree/AbstractEntity.java        |  108 +
 src/java/org/dom4j/tree/AbstractNode.java          |  271 +
 .../dom4j/tree/AbstractProcessingInstruction.java  |  235 +
 src/java/org/dom4j/tree/AbstractText.java          |   85 +
 src/java/org/dom4j/tree/BackedList.java            |  209 +
 src/java/org/dom4j/tree/BaseElement.java           |  189 +
 .../org/dom4j/tree/ConcurrentReaderHashMap.java    | 1284 +++
 src/java/org/dom4j/tree/ContentListFacade.java     |  200 +
 src/java/org/dom4j/tree/DefaultAttribute.java      |  143 +
 src/java/org/dom4j/tree/DefaultCDATA.java          |  105 +
 src/java/org/dom4j/tree/DefaultComment.java        |  105 +
 src/java/org/dom4j/tree/DefaultDocument.java       |  369 +
 src/java/org/dom4j/tree/DefaultDocumentType.java   |  174 +
 src/java/org/dom4j/tree/DefaultElement.java        | 1055 +++
 src/java/org/dom4j/tree/DefaultEntity.java         |  123 +
 src/java/org/dom4j/tree/DefaultNamespace.java      |  147 +
 .../dom4j/tree/DefaultProcessingInstruction.java   |  145 +
 src/java/org/dom4j/tree/DefaultText.java           |  105 +
 src/java/org/dom4j/tree/ElementIterator.java       |   79 +
 src/java/org/dom4j/tree/ElementNameIterator.java   |   89 +
 src/java/org/dom4j/tree/ElementQNameIterator.java  |   90 +
 src/java/org/dom4j/tree/FilterIterator.java        |  129 +
 src/java/org/dom4j/tree/FlyweightAttribute.java    |  117 +
 src/java/org/dom4j/tree/FlyweightCDATA.java        |   86 +
 src/java/org/dom4j/tree/FlyweightComment.java      |   86 +
 src/java/org/dom4j/tree/FlyweightEntity.java       |  147 +
 .../dom4j/tree/FlyweightProcessingInstruction.java |  146 +
 src/java/org/dom4j/tree/FlyweightText.java         |   86 +
 src/java/org/dom4j/tree/NamespaceCache.java        |  216 +
 src/java/org/dom4j/tree/NamespaceStack.java        |  504 ++
 src/java/org/dom4j/tree/QNameCache.java            |  310 +
 src/java/org/dom4j/tree/SingleIterator.java        |   83 +
 src/java/org/dom4j/tree/package.html               |   12 +
 src/java/org/dom4j/util/AttributeHelper.java       |   89 +
 .../org/dom4j/util/IndexedDocumentFactory.java     |   87 +
 src/java/org/dom4j/util/IndexedElement.java        |  321 +
 src/java/org/dom4j/util/NodeComparator.java        |  344 +
 .../org/dom4j/util/NonLazyDocumentFactory.java     |   83 +
 src/java/org/dom4j/util/NonLazyElement.java        |   84 +
 src/java/org/dom4j/util/PerThreadSingleton.java    |  103 +
 src/java/org/dom4j/util/ProxyDocumentFactory.java  |  204 +
 src/java/org/dom4j/util/SimpleSingleton.java       |   94 +
 src/java/org/dom4j/util/SingletonStrategy.java     |   76 +
 src/java/org/dom4j/util/UserDataAttribute.java     |   81 +
 .../org/dom4j/util/UserDataDocumentFactory.java    |   90 +
 src/java/org/dom4j/util/UserDataElement.java       |  128 +
 src/java/org/dom4j/util/XMLErrorHandler.java       |  168 +
 src/java/org/dom4j/util/package.html               |    9 +
 .../org/dom4j/xpath/DefaultNamespaceContext.java   |  102 +
 src/java/org/dom4j/xpath/DefaultXPath.java         |  413 +
 src/java/org/dom4j/xpath/XPathPattern.java         |  165 +
 src/java/org/dom4j/xpath/overview.html             |    9 +
 src/java/org/dom4j/xpath/package.html              |   13 +
 src/java/org/dom4j/xpp/ProxyXmlStartTag.java       |  322 +
 src/java/org/dom4j/xpp/package.html                |   14 +
 src/samples/org/dom4j/samples/AbstractDemo.java    |  146 +
 src/samples/org/dom4j/samples/CountDemo.java       |  126 +
 src/samples/org/dom4j/samples/CreateXMLDemo.java   |  110 +
 src/samples/org/dom4j/samples/DatatypeDemo.java    |   79 +
 src/samples/org/dom4j/samples/HTMLWriterDemo.java  |   78 +
 src/samples/org/dom4j/samples/JTidyDemo.java       |   95 +
 .../org/dom4j/samples/LargeDocumentDemo.java       |  122 +
 .../org/dom4j/samples/LargeDocumentDemo2.java      |  129 +
 src/samples/org/dom4j/samples/LinkChecker.java     |   84 +
 src/samples/org/dom4j/samples/PullParserDemo.java  |   75 +
 src/samples/org/dom4j/samples/RoundTripDemo.java   |   96 +
 src/samples/org/dom4j/samples/SAXDemo.java         |   74 +
 src/samples/org/dom4j/samples/VisitorDemo.java     |  125 +
 src/samples/org/dom4j/samples/VisitorDemo2.java    |  112 +
 src/samples/org/dom4j/samples/XPathDemo.java       |  104 +
 src/samples/org/dom4j/samples/XPathGrep.java       |  130 +
 src/samples/org/dom4j/samples/XPathTool.java       |  168 +
 src/samples/org/dom4j/samples/XPathValueOf.java    |  106 +
 src/samples/org/dom4j/samples/XSLTDemo.java        |  119 +
 .../dom4j/samples/applets/SimpleAppletDemo.html    |   11 +
 .../dom4j/samples/applets/SimpleAppletDemo.java    |  119 +
 src/samples/org/dom4j/samples/bean/BeanDemo.java   |  120 +
 src/samples/org/dom4j/samples/dom/DOMDemo.java     |   98 +
 .../org/dom4j/samples/dom/NativeDOMDemo.java       |  101 +
 .../org/dom4j/samples/dom/RoundTripDemo.java       |   93 +
 src/samples/org/dom4j/samples/dom/SAXDOMDemo.java  |  112 +
 .../org/dom4j/samples/dom/XSLTNativeDOMDemo.java   |  110 +
 src/samples/org/dom4j/samples/jaxb/JAXBDemo.java   |  264 +
 .../samples/jaxb/PurchaseOrderDateModifier.java    |   73 +
 .../dom4j/samples/jaxb/PurchaseOrderHandler.java   |   71 +
 .../org/dom4j/samples/jaxp/PrettyPrintDemo.java    |  102 +
 .../org/dom4j/samples/jaxp/RoundTripDemo.java      |  137 +
 src/samples/org/dom4j/samples/jaxp/WriterDemo.java |   95 +
 .../org/dom4j/samples/performance/ParseLoop.java   |  105 +
 .../org/dom4j/samples/performance/ParseTest.java   |  108 +
 .../samples/performance/PerformanceSupport.java    |  103 +
 .../dom4j/samples/performance/PullParseTest.java   |  108 +
 .../org/dom4j/samples/performance/Task.java        |   61 +
 .../org/dom4j/samples/performance/Timer.java       |  184 +
 .../org/dom4j/samples/performance/ToTextTest.java  |  100 +
 src/samples/org/dom4j/samples/rule/SongFilter.java |  145 +
 src/samples/org/dom4j/samples/rule/SongFilter.xsl  |   77 +
 src/samples/org/dom4j/samples/rule/Songs.xml       |  101 +
 src/samples/org/dom4j/samples/sax/FilterDemo.java  |   77 +
 .../org/dom4j/samples/sax/TrimXMLFilter.java       |   83 +
 .../org/dom4j/samples/swing/JTableDemo.java        |  106 +
 .../org/dom4j/samples/swing/JTableTool.java        |  111 +
 src/samples/org/dom4j/samples/swing/JTreeDemo.java |   89 +
 .../org/dom4j/samples/validate/JARVDemo.java       |  137 +
 .../org/dom4j/samples/validate/JARVDemo2.java      |  136 +
 .../dom4j/samples/validate/SAXValidatorDemo.java   |  148 +
 .../org/dom4j/samples/validate/XercesDemo.java     |  107 +
 src/test/org/dom4j/AbstractTestCase.java           |  312 +
 src/test/org/dom4j/AddAttributeTest.java           |   91 +
 src/test/org/dom4j/AddNodeTest.java                |  103 +
 src/test/org/dom4j/AttributeDetachTest.java        |   97 +
 src/test/org/dom4j/BackedListTest.java             |  140 +
 src/test/org/dom4j/CloneTest.java                  |  178 +
 src/test/org/dom4j/ContentTest.java                |  256 +
 src/test/org/dom4j/CopyTest.java                   |  117 +
 src/test/org/dom4j/DetachTest.java                 |  101 +
 src/test/org/dom4j/DocTypeTest.java                |   92 +
 src/test/org/dom4j/ElementByIDTest.java            |   87 +
 src/test/org/dom4j/EmbeddedHandlerTest.java        |  169 +
 src/test/org/dom4j/GetQNamesTest.java              |  100 +
 src/test/org/dom4j/GetXMLEncodingTest.java         |  100 +
 src/test/org/dom4j/HTMLWriterTest.java             |  171 +
 src/test/org/dom4j/IndexedElementTest.java         |  110 +
 src/test/org/dom4j/IsTextOnlyTest.java             |   72 +
 src/test/org/dom4j/IteratorTest.java               |  181 +
 src/test/org/dom4j/LineFeedTest.java               |  110 +
 src/test/org/dom4j/MakeElementTest.java            |  116 +
 src/test/org/dom4j/MergeTextTest.java              |  102 +
 src/test/org/dom4j/NamespaceTest.java              |  175 +
 src/test/org/dom4j/NamespacesTest.java             |  356 +
 src/test/org/dom4j/NodeTypeNameTest.java           |  141 +
 src/test/org/dom4j/NormalizeTest.java              |   85 +
 src/test/org/dom4j/NullAttributesTest.java         |  120 +
 src/test/org/dom4j/ParentTest.java                 |  116 +
 src/test/org/dom4j/ParseTextTest.java              |   91 +
 src/test/org/dom4j/ProcessingInstructionTest.java  |   81 +
 src/test/org/dom4j/RoundTripTest.java              |  228 +
 src/test/org/dom4j/SAXContentHandlerTest.java      |  112 +
 src/test/org/dom4j/SerializeTest.java              |  154 +
 src/test/org/dom4j/SetContentTest.java             |  145 +
 src/test/org/dom4j/SetTextTest.java                |   91 +
 src/test/org/dom4j/ThreadingTest.java              |  345 +
 src/test/org/dom4j/UserDataTest.java               |  158 +
 src/test/org/dom4j/ValidationTest.java             |   73 +
 src/test/org/dom4j/XMLResultTest.java              |  113 +
 src/test/org/dom4j/XMLSpaceAttributeTest.java      |  255 +
 src/test/org/dom4j/XMLWriterTest.java              |  581 ++
 src/test/org/dom4j/XPathBugTest.java               |  165 +
 src/test/org/dom4j/XPathExamplesTest.java          |  231 +
 src/test/org/dom4j/XPathTest.java                  |  178 +
 src/test/org/dom4j/XSLTTest.java                   |  110 +
 src/test/org/dom4j/bean/BeansTest.java             |   68 +
 .../dom4j/datatype/AbstractDataTypeTestCase.java   |   93 +
 src/test/org/dom4j/datatype/AutoSchemaTest.java    |  110 +
 src/test/org/dom4j/datatype/DataTypesTest.java     |  188 +
 src/test/org/dom4j/datatype/Datatype2Test.java     |  291 +
 .../org/dom4j/datatype/ManualSchemaPrefixTest.java |   75 +
 src/test/org/dom4j/datatype/ManualSchemaTest.java  |   78 +
 src/test/org/dom4j/datatype/SchemaParseTest.java   |   79 +
 src/test/org/dom4j/datatype/SetDataTest.java       |  200 +
 src/test/org/dom4j/dom/DOMTest.java                |  250 +
 src/test/org/dom4j/dtd/AttributeDeclTest.java      |  258 +
 src/test/org/dom4j/dtd/ElementDeclTest.java        |  101 +
 src/test/org/dom4j/dtd/ExternalEntityDeclTest.java |  141 +
 src/test/org/dom4j/dtd/InternalEntityDeclTest.java |  158 +
 src/test/org/dom4j/io/DOMReaderTest.java           |   89 +
 src/test/org/dom4j/io/DOMWriterTest.java           |  109 +
 src/test/org/dom4j/io/DTDTest.java                 |  572 ++
 src/test/org/dom4j/io/DispatchHandlerTest.java     |   89 +
 src/test/org/dom4j/io/DocumentSourceTest.java      |   84 +
 src/test/org/dom4j/io/SAXReaderTest.java           |  146 +
 src/test/org/dom4j/io/StaxTest.java                |  109 +
 src/test/org/dom4j/io/WriteUnmergedTextTest.java   |  191 +
 src/test/org/dom4j/io/XPP3ReaderTest.java          |   97 +
 src/test/org/dom4j/rule/PriorityTest.java          |   90 +
 src/test/org/dom4j/rule/RuleTest.java              |  151 +
 src/test/org/dom4j/rule/StylesheetTest.java        |  171 +
 src/test/org/dom4j/swing/TableModelTest.java       |  127 +
 src/test/org/dom4j/tree/CDataTest.java             |   74 +
 src/test/org/dom4j/tree/DefaultDocumentTest.java   |  154 +
 src/test/org/dom4j/tree/DefaultElementTest.java    |  160 +
 src/test/org/dom4j/tree/NamespaceCacheTest.java    |  140 +
 .../org/dom4j/util/PerThreadSingletonTest.java     |  159 +
 src/test/org/dom4j/util/SimpleSingletonTest.java   |  119 +
 src/test/org/dom4j/xpath/AttributeTest.java        |  109 +
 src/test/org/dom4j/xpath/BadPathTest.java          |   91 +
 src/test/org/dom4j/xpath/BooleanTest.java          |  102 +
 src/test/org/dom4j/xpath/FilterTest.java           |  100 +
 src/test/org/dom4j/xpath/GetPathTest.java          |  204 +
 src/test/org/dom4j/xpath/MatrixConcatTest.java     |  103 +
 src/test/org/dom4j/xpath/NamespaceTest.java        |  119 +
 src/test/org/dom4j/xpath/NumberTest.java           |  106 +
 src/test/org/dom4j/xpath/ObjectTest.java           |   84 +
 src/test/org/dom4j/xpath/PrefixTest.java           |  106 +
 src/test/org/dom4j/xpath/SelectSingleNodeTest.java |  105 +
 src/test/org/dom4j/xpath/SortByTest.java           |   84 +
 src/test/org/dom4j/xpath/SubstringTest.java        |  104 +
 src/test/org/dom4j/xpath/TextTest.java             |  101 +
 src/test/org/dom4j/xpath/UriMapTest.java           |   90 +
 src/test/org/dom4j/xpath/ValueOfTest.java          |  111 +
 src/test/org/dom4j/xpath/VariableTest.java         |  120 +
 xdocs/benchmarks/xpath/PerfDOM4J.java              |  260 +
 xdocs/benchmarks/xpath/PerfDOM4JAttr.java          |  275 +
 xdocs/benchmarks/xpath/PerfW3C.java                |  250 +
 xdocs/benchmarks/xpath/index.html                  |  834 ++
 xdocs/benchmarks/xpath/item.xslt                   |   54 +
 xdocs/benchmarks/xpath/w3c_100.xml                 | 2203 +++++
 xdocs/changes.xml                                  |  322 +
 xdocs/compare.xml                                  |  153 +
 xdocs/download.xml                                 |   66 +
 xdocs/faq.fml                                      |  632 ++
 xdocs/goals.xml                                    |   82 +
 xdocs/guide.xml                                    |  276 +
 xdocs/images/logo.gif                              |  Bin 0 -> 1076 bytes
 xdocs/index.xml                                    |  171 +
 xdocs/license.xml                                  |   75 +
 xdocs/navigation.xml                               |   35 +
 xdocs/status.xml                                   | 1123 +++
 xml/#.xml                                          |    1 +
 xml/axis.xml                                       |   25 +
 xml/bean/gui.xml                                   |    5 +
 xml/cdata.xml                                      |    5 +
 xml/contents.xml                                   |   70 +
 xml/cookbook.xml                                   |  931 ++
 xml/dtd/external.xml                               |    3 +
 xml/dtd/internal.xml                               |   14 +
 xml/dtd/mixed.xml                                  |   14 +
 xml/dtd/sample.dtd                                 |    9 +
 xml/fibo.xml                                       |   29 +
 xml/inline.xml                                     |   16 +
 xml/jaxb/primer.xml                                |   40 +
 xml/jaxb/primer.xsd                                |   70 +
 xml/moreover/moreovernews.dtd                      |   15 +
 xml/moreover/sample.xml                            |  245 +
 xml/much_ado.xml                                   | 6850 +++++++++++++++
 xml/namespaces.xml                                 |   18 +
 xml/nitf/ashtml.xsl                                |   69 +
 xml/nitf/invalid.xml                               |   51 +
 xml/nitf/nitf.dtd                                  |    1 +
 xml/nitf/sample.xml                                |   67 +
 xml/nitf/valid.xml                                 |   68 +
 xml/periodic_table.xml                             | 3371 ++++++++
 xml/rabo1ae.xml                                    |  258 +
 xml/relaxng/address.dtd                            |    4 +
 xml/relaxng/address.rng                            |   12 +
 xml/relaxng/address.xml                            |   11 +
 xml/relaxng/bad_address.xml                        |   14 +
 xml/russArticle.xml                                |   21 +
 xml/schema/invalid-schema.xml                      |   45 +
 xml/schema/invalid.xml                             |   44 +
 xml/schema/personal-dtd.xml                        |   41 +
 xml/schema/personal-schema.xml                     |   41 +
 xml/schema/personal.dtd                            |   25 +
 xml/schema/personal.xml                            |   40 +
 xml/schema/personal.xsd                            |   79 +
 xml/soap.xml                                       |   15 +
 xml/swing/tableForAtoms.xml                        |   10 +
 xml/swing/tableForWeb.xml                          |    7 +
 xml/test/DavidHooker.xml                           |   18 +
 xml/test/FranzBeilImport1.xml                      |   16 +
 xml/test/FranzBeilImport2.xml                      |   16 +
 xml/test/FranzBeilImport3.xml                      |   16 +
 xml/test/FranzBeilMain.xml                         |    6 +
 xml/test/LuisSchema.xsd                            |  394 +
 xml/test/badcomment.xml                            |    4 +
 xml/test/cdata.xml                                 |    8 +
 xml/test/defaultNamespace.xml                      |    6 +
 xml/test/defaultNamespaceIssue.xsd                 |  745 ++
 xml/test/dosLineFeeds.xml                          |   15 +
 xml/test/elementByID.xml                           |   10 +
 xml/test/encode.xml                                |    6 +
 xml/test/fields.xml                                |   11 +
 xml/test/jimBrain.xml                              |   29 +
 xml/test/journal.xml                               |   21 +
 xml/test/journal.xsl                               |   34 +
 xml/test/junk.xml                                  |    1 +
 xml/test/littledoc.xml                             |   11 +
 xml/test/longCDATA.xml                             |   42 +
 xml/test/mergetext.xml                             |   14 +
 xml/test/namespaces.xml                            |   18 +
 xml/test/nestedNamespaces.xml                      |   11 +
 xml/test/product.xml                               |   20 +
 xml/test/sample.xml                                |   12 +
 xml/test/schema/personal-prefix.xsd                |   70 +
 xml/test/schema/personal-schema.xml                |   53 +
 xml/test/schema/personal.dtd                       |   25 +
 xml/test/schema/personal.xml                       |   51 +
 xml/test/schema/personal.xsd                       |   89 +
 xml/test/schema/personal_dtd.xml                   |   47 +
 xml/test/schema/test.xml                           |   45 +
 xml/test/schema/test.xsd                           |    1 +
 xml/test/soap2.xml                                 |   36 +
 xml/test/soap3.xml                                 |   12 +
 xml/test/test.xml                                  |    9 +
 xml/test/test_schema.xml                           |   18 +
 xml/test/test_text.xml                             |    5 +
 xml/test/toby.xml                                  | 7730 +++++++++++++++++
 xml/test/webwhitespace.xml                         |   54 +
 xml/test/xpath/tests.xml                           |  385 +
 xml/testNamespaces.xml                             |   21 +
 xml/testPI.xml                                     |   12 +
 xml/web.xml                                        |   36 +
 xml/xhtml.xml                                      |   48 +
 xml/xhtml/xhtml-basic.xml                          | 1160 +++
 xml/xhtml/xhtml-lat1.ent                           |  196 +
 xml/xhtml/xhtml-special.ent                        |   79 +
 xml/xhtml/xhtml-symbol.ent                         |  242 +
 xml/xhtml/xhtml1-strict.dtd                        |  988 +++
 xml/xml.xml                                        | 4207 +++++++++
 xml/xmlspec.xml                                    | 4174 +++++++++
 1503 files changed, 561419 insertions(+)

diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..a90650a
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,40 @@
+Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation
+("Software"), with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions of source code must retain copyright
+   statements and notices.  Redistributions must also contain a
+   copy of this document.
+ 
+2. Redistributions in binary form must reproduce the
+   above copyright notice, this list of conditions and the
+   following disclaimer in the documentation and/or other
+   materials provided with the distribution.
+ 
+3. The name "DOM4J" must not be used to endorse or promote
+   products derived from this Software without prior written
+   permission of MetaStuff, Ltd.  For written permission,
+   please contact dom4j-info at metastuff.com.
+ 
+4. Products derived from this Software may not be called "DOM4J"
+   nor may "DOM4J" appear in their names without prior written
+   permission of MetaStuff, Ltd. DOM4J is a registered
+   trademark of MetaStuff, Ltd.
+ 
+5. Due credit should be given to the DOM4J Project - 
+   http://www.dom4j.org
+ 
+THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..0f87f2d
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,713 @@
+<project default="usage" basedir=".">
+
+    <path id="compile.classpath">
+        <fileset dir="./lib/endorsed">
+            <include name="*.jar" />
+        </fileset>
+        <fileset dir="./lib">
+            <include name="*.jar" />
+        </fileset>
+    </path>
+
+    <path id="endorsed.classpath">
+        <fileset dir="./lib/endorsed">
+            <include name="*.jar" />
+        </fileset>
+    </path>
+
+    <path id="test.classpath">
+        <path refid="compile.classpath" />
+        <fileset dir="./lib/test">
+            <include name="**/*.jar" />
+        </fileset>
+        <fileset dir="./lib/tools">
+            <include name="xalan*.jar" />
+            <include name="xerces*.jar" />
+        </fileset>
+    </path>
+
+    <path id="samples.classpath">
+        <fileset dir="./lib/tools">
+            <include name="**/*.jar" />
+        </fileset>
+        <path refid="test.classpath" />
+        <pathelement location="."/>
+    </path>
+
+  <!-- =================================================================== -->
+  <!-- Initialization target                                               -->
+  <!-- =================================================================== -->
+  <target name="init">
+    <tstamp/>
+    <property name="Name" value="dom4j"/>
+    <property name="name" value="dom4j"/>
+    <property name="version" value="1.6.1"/>
+    <property name="year" value="2005"/>
+
+    <echo message="----------- ${Name} ${version} [${year}] ------------"/>
+
+    <property name="debug" value="on"/>
+    <property name="optimize" value="on"/>
+    <property name="deprecation" value="off"/>
+
+    <property name="src.dir" value="./src/java"/>
+    <property name="conf.dir" value="./src/conf"/>
+    <property name="doc.dir" value="./src/doc"/>
+    <property name="samples.dir" value="./src/samples"/>
+    <property name="test.dir" value="./src/test"/>
+    <property name="lib.dir" value="./lib"/>
+    <property name="packages" value="org.*"/>
+    <property name="api.packages" value="org.dom4j,org.dom4j.dtd,org.dom4j.io,org.dom4j.rule,org.dom4j.datatype,org.dom4j.util"/>
+
+    <property name="build.dir" value="./build"/>
+    <property name="build.src" value="./build/src"/>
+    <property name="build.dest" value="./build/classes"/>
+    <property name="build.doc" value="./build/doc"/>
+    <property name="build.apidocs" value="./build/doc/apidocs"/>
+    <property name="build.javadocs" value="./build/doc/javadoc"/>
+    <property name="build.generated.src" value="./build/generated"/>
+
+    <property name="xml.format.options" value="-indentSize 2 -trimText -newlines"/>
+
+    <filter token="year" value="${year}"/>
+    <filter token="version" value="${version}"/>
+    <filter token="date" value="${TODAY}"/>
+    <filter token="log" value="true"/>
+    <filter token="verbose" value="true"/>
+
+    <!-- Gump support -->
+    <property name="jaxen.src" value="../jaxen/jaxen/src/java/main"/>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Help on usage                                                       -->
+  <!-- =================================================================== -->
+  <target name="usage">
+    <echo message=""/>
+    <echo message=""/>
+    <echo message="dom4j build file"/>
+    <echo message="-------------------------------------------------------------"/>
+    <echo message=""/>
+    <echo message=" available targets are:"/>
+    <echo message=""/>
+    <echo message="   all      --> cleans then builds everything (default)"/>
+    <echo message="   package  --> generates the dom4j.jar file"/>
+    <echo message="   compile  --> compiles the source code"/>
+    <echo message="   api      --> generates the API documentation"/>
+    <echo message="   javadoc  --> generates the full JavaDoc documentation"/>
+    <echo message="   clean    --> cleans up the directory"/>
+    <echo message="   test     --> builds and runs the unit tests"/>
+    <echo message="   demo-all --> runs the main standard sample programs"/>
+    <echo message=""/>
+    <echo message="-------------------------------------------------------------"/>
+    <echo message=""/>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Prepares the build directory                                        -->
+  <!-- =================================================================== -->
+  <target name="prepare" depends="init">
+    <mkdir dir="${build.dir}"/>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Prepares the source code                                            -->
+  <!-- =================================================================== -->
+  <target name="prepare-src" depends="prepare">
+    <!-- create directories -->
+    <mkdir dir="${build.src}"/>
+    <mkdir dir="${build.dest}"/>
+
+    <!-- copy src files -->
+    <copy todir="${build.src}">
+      <!--fileset dir="${src.dir}" excludes="org/dom4j/persistence/**"/-->
+      <fileset dir="${src.dir}"/>
+    </copy>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Prepares the example code                                           -->
+  <!-- =================================================================== -->
+  <target name="prepare-samples" depends="prepare">
+    <!-- create directories -->
+    <mkdir dir="${build.src}"/>
+    <mkdir dir="${build.dest}"/>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Compiles the source directory                                       -->
+  <!-- =================================================================== -->
+  <target name="compile" depends="prepare-src">
+    <javac srcdir="${build.src}"
+           destdir="${build.dest}"
+           debug="${debug}"
+           optimize="${optimize}"
+           target="1.3"
+           source="1.3"
+           deprecation="${deprecation}"
+           classpathref="compile.classpath">
+    </javac>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Compiles the test directory                                         -->
+  <!-- =================================================================== -->
+  <target name="compile-test" depends="compile">
+    <javac srcdir="${test.dir}"
+           destdir="${build.dest}"
+           debug="${debug}"
+           optimize="${optimize}"
+           deprecation="${deprecation}"
+           classpathref="test.classpath">
+    </javac>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Compiles the samples directory                                       -->
+  <!-- =================================================================== -->
+  <target name="samples" depends="compile,prepare-samples,prepare-jaxb">
+    <javac srcdir="src/samples"
+           destdir="${build.dest}"
+           debug="${debug}"
+           optimize="${optimize}"
+           classpathref="samples.classpath">
+    </javac>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Creates the class package                                           -->
+  <!-- =================================================================== -->
+  <target name="package" depends="compile">
+    <jar jarfile="${build.dir}/${name}.jar"
+         basedir="${build.dest}"
+         includes="org/dom4j/**"/>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Creates the API documentation                                       -->
+  <!-- =================================================================== -->
+  <target name="javadoc" depends="prepare-src">
+    <mkdir dir="${build.javadocs}"/>
+    <javadoc packagenames="${packages}"
+             sourcepath="${build.src}"
+             destdir="${build.javadocs}"
+             author="true"
+             version="true"
+             use="true"
+             splitindex="true"
+             noindex="false"
+             windowtitle="${Name} Full JavaDoc"
+             doctitle="${Name}"
+             bottom="Copyright © ${year} MetaStuff Ltd. All Rights Reserved. Hosted by <p> <img src='http://sourceforge.net/sflogo.php?group_id=16035' width='88' height='31' border='0' alt='SourceForge Logo' />"
+             stylesheetfile="${doc.dir}/style/javadoc.css">
+    </javadoc>
+  </target>
+
+
+  <!-- JavaDoc generated by a release which links to JDK and JAXP Javadoc -->
+  <target name="release-javadoc" depends="prepare-src">
+    <mkdir dir="${build.javadocs}"/>
+    <javadoc packagenames="${packages}"
+             sourcepath="${build.src}"
+             destdir="${build.javadocs}"
+             author="true"
+             version="true"
+             use="true"
+             splitindex="true"
+             noindex="false"
+             windowtitle="${Name} Full JavaDoc"
+             doctitle="${Name}"
+             bottom="Copyright © ${year} MetaStuff Ltd. All Rights Reserved. Hosted by <p> <img src='http://sourceforge.net/sflogo.php?group_id=16035' width='88' height='31' border='0' alt='SourceForge Logo' />"
+             stylesheetfile="${doc.dir}/style/javadoc.css">
+      <link href="http://java.sun.com/j2se/1.4.2/docs/api"/>
+      <link href="http://java.sun.com/xml/jaxp-docs-1.1/docs/api"/>
+    </javadoc>
+
+    <mkdir dir="${build.apidocs}"/>
+    <javadoc packagenames="${api.packages}"
+             sourcepath="${build.src}"
+             destdir="${build.apidocs}"
+             author="true"
+             version="true"
+             use="true"
+             splitindex="true"
+             noindex="false"
+             windowtitle="${Name} API"
+             doctitle="${Name}"
+             bottom="Copyright © ${year} MetaStuff Ltd. All Rights Reserved. Hosted by <p> <img src='http://sourceforge.net/sflogo.php?group_id=16035' width='88' height='31' border='0' alt='SourceForge Logo' />"
+             stylesheetfile="${doc.dir}/style/javadoc.css">
+      <link href="http://java.sun.com/j2se/1.4.2/docs/api"/>
+      <link href="http://java.sun.com/xml/jaxp-docs-1.1/docs/api"/>
+      <link href="${build.javadocs}"/>
+    </javadoc>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Support for a Gump build                                            -->
+  <!-- =================================================================== -->
+  <target name="gump" depends="prepare-gump, test, package">
+  </target>
+
+  <target name="prepare-gump" depends="init">
+    <!-- create directories -->
+    <mkdir dir="${build.src}"/>
+
+    <!-- copy src files -->
+    <copy todir="${build.src}">
+      <fileset dir="${jaxen.src}" includes="org/jaxen/dom4j/**"/>
+    </copy>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Clean targets                                                       -->
+  <!-- =================================================================== -->
+  <target name="clean" depends="init">
+    <delete dir="${build.dir}"/>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Unit Testing Targets                                                -->
+  <!-- =================================================================== -->
+  <target name="test" depends="compile-test">
+    <mkdir dir="${build.dir}/test-results/xml"/>
+    <junit printsummary="yes" haltonfailure="yes">
+      <formatter type="xml"/>
+
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="test.classpath" />
+      </classpath>
+
+      <batchtest fork="yes" todir="${build.dir}/test-results/xml">
+        <fileset dir="${test.dir}">
+          <include name="**/*Test.java" />
+          <exclude name="**/AllTests.java,**/Abstract*.java,**/TestCase.java" />
+        </fileset>
+      </batchtest>
+    </junit>
+  </target>
+
+  <target name="test-report" depends="test">
+    <mkdir dir="${build.dir}/test-results"/>
+    <junitreport todir="${build.dir}/test-results">
+      <fileset dir="${build.dir}/test-results/xml">
+        <include name="TEST-*.xml"/>
+      </fileset>
+      <report format="frames" todir="${build.dir}/test-results/html"/>
+    </junitreport>
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Helper targets                                                      -->
+  <!-- =================================================================== -->
+  <target name="all" depends="clean,package,javadoc">
+  </target>
+
+  <!-- =================================================================== -->
+  <!-- Run sample programs                                                 -->
+  <!-- =================================================================== -->
+  <target name="demo-sax" depends="samples">
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/web.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/cdata.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/testPI.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/test/test_schema.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+	
+  <target name="prepare-jaxb" depends="prepare-samples">
+    <path id="classpath.jaxb">
+      <pathelement location="./lib/tools/jaxme-0.3.jar"/>
+      <pathelement location="./lib/tools/jaxme-js-0.3.jar"/>
+      <pathelement location="./lib/tools/jaxme-xs-0.3.jar"/>
+      <pathelement location="./lib/jaxme-api-0.3.jar"/>
+    </path>
+
+    <taskdef name="xjc" classname="org.apache.ws.jaxme.generator.XJCTask">
+      <classpath refid="classpath.jaxb" />
+    </taskdef>
+  	
+    <mkdir dir="${build.generated.src}"/>
+  	  		
+    <xjc schema="xml/jaxb/primer.xsd" target="${build.generated.src}" package="org.dom4j.test.primer">
+      <produces dir="${build.generated.src}" />
+    </xjc>
+  	
+    <javac destdir="${build.dest}">
+      <src path="${build.generated.src}"/>
+      <classpath>
+        <path refid="classpath.jaxb"/>
+        <!--path refid="test.classpath"/-->
+      </classpath>
+    </javac>
+  	
+    <copy todir="${build.dest}">
+      <fileset dir="${build.generated.src}">
+        <include name="**/jaxb.properties" />
+        <include name="**/Configuration.xml" />
+      </fileset>
+    </copy>
+  </target>
+	
+  <target name="demo-jaxb" depends="samples">	  	
+    <java classname="org.dom4j.samples.jaxb.JAXBDemo" >
+      <classpath>
+        <path refid="classpath.jaxb" />
+        <path refid="samples.classpath" />
+      	<pathelement location="${build.dest}" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-pull" depends="samples">
+    <java classname="org.dom4j.samples.PullParserDemo" args="${xml.format.options} xml/web.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+    <java classname="org.dom4j.samples.PullParserDemo" args="${xml.format.options} xml/fibo.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-sax2" depends="samples">
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/xhtml/xhtml-basic.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-sax-contents" depends="samples">
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/contents.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-sax-cdata" depends="samples">
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/cdata.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/cdata.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+      <sysproperty key="org.xml.sax.driver" value="org.apache.xerces.parsers.SAXParser"/> 
+    </java>
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/cdata.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+      <sysproperty key="org.xml.sax.driver" value="xml.aelfred2.SAXDriver"/> 
+    </java>
+  </target>
+
+  <target name="demo-sax-pi" depends="samples">
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/testPI.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-sax-ns" depends="samples">
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/namespaces.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/testNamespaces.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-saxall" depends="demo-sax,demo-sax-contents,demo-sax-cdata,demo-sax-pi,demo-sax-ns">
+    <java classname="org.dom4j.samples.SAXDemo" args="${xml.format.options} xml/inline.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-dom" depends="samples">
+    <java classname="org.dom4j.samples.dom.DOMDemo" args="xml/contents.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-saxdom" depends="samples">
+    <java classname="org.dom4j.samples.dom.SAXDOMDemo" args="xml/contents.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-jtidy" depends="samples">
+    <java classname="org.dom4j.samples.JTidyDemo" args="${xml.format.options} readme.html">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-visitor" depends="samples">
+    <java classname="org.dom4j.samples.VisitorDemo" args="xml/cdata.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-count" depends="samples">
+    <java classname="org.dom4j.samples.CountDemo" args="xml/fibo.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-create" depends="samples">
+    <java classname="org.dom4j.samples.CreateXMLDemo">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-html" depends="samples">
+    <java classname="org.dom4j.samples.HTMLWriterDemo" args="xml/xhtml.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="test-performance" depends="samples">
+    <java classname="org.dom4j.samples.PerformanceTest" args="xml/periodic_table.xml org.dom4j.DocumentFactory 10">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+
+    <java classname="org.dom4j.samples.PerformanceTest" args="xml/periodic_table.xml org.dom4j.DocumentFactory 10">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+      <sysproperty key="org.xml.sax.driver" value="org.apache.xerces.parsers.SAXParser"/> 
+    </java>
+
+    <java classname="org.dom4j.samples.PerformanceTest" args="xml/periodic_table.xml org.dom4j.DocumentFactory 10">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+      <sysproperty key="org.xml.sax.driver" value="xml.aelfred2.SAXDriver"/> 
+    </java>
+
+    <java classname="org.dom4j.samples.PerformanceTest" args="xml/much_ado.xml org.dom4j.DocumentFactory 10">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+
+    <java classname="org.dom4j.samples.PerformanceTest" args="xml/much_ado.xml org.dom4j.DocumentFactory 10">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+      <sysproperty key="org.xml.sax.driver" value="org.apache.xerces.parsers.SAXParser"/> 
+    </java>
+
+    <java classname="org.dom4j.samples.PerformanceTest" args="xml/much_ado.xml org.dom4j.DocumentFactory 10">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+      <sysproperty key="org.xml.sax.driver" value="xml.aelfred2.SAXDriver"/> 
+    </java>
+  </target>
+
+  <target name="demo-xpath" depends="samples">
+    <java classname="org.dom4j.samples.XPathDemo" args="xml/web.xml //servlet/servlet-class">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+    <java classname="org.dom4j.samples.XPathDemo" args="xml/much_ado.xml //ACT/TITLE">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-xslt" depends="samples">
+    <java classname="org.dom4j.samples.XSLTDemo" args="xml/nitf/sample.xml xml/nitf/ashtml.xsl">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-domxslt" depends="samples">
+    <java classname="org.dom4j.samples.dom.XSLTNativeDOMDemo" args="xml/nitf/sample.xml xml/nitf/ashtml.xsl">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-bigdoc" depends="samples">
+    <java classname="org.dom4j.samples.LargeDocumentDemo" args="xml/much_ado.xml /PLAY/ACT">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+  
+  <target name="demo-bigdoc2" depends="samples">
+    <java classname="org.dom4j.samples.LargeDocumentDemo2" args="xml/much_ado.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-link" depends="samples">
+    <java classname="org.dom4j.samples.LinkChecker" args="xml/xhtml/xhtml-basic.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-bean" depends="samples">
+    <java classname="org.dom4j.samples.bean.BeanDemo" args="xml/bean/gui.xml">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-validate" depends="samples">
+    <java classname="org.dom4j.samples.validate.XercesDemo" fork="yes">
+      <arg value="xml/schema/invalid.xml"/>
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-saxvalidate" depends="samples">
+    <java classname="org.dom4j.samples.validate.SAXValidatorDemo" fork="yes">
+      <arg value="xml/nitf/invalid.xml"/>
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-schema" depends="samples">
+    <java classname="org.dom4j.samples.VisitorDemo">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+      <sysproperty key="org.dom4j.factory" value="org.dom4j.datatype.DatatypeDocumentFactory"/>
+      <arg line="xml/schema/personal-schema.xml"/>
+    </java>
+  </target>
+
+  <target name="demo-table" depends="samples">
+    <java classname="org.dom4j.samples.swing.JTableDemo" args="xml/web.xml" fork="yes">
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+  <target name="demo-tabletool" depends="samples">
+    <java classname="org.dom4j.samples.swing.JTableTool" fork="yes">
+      <arg line="xml/swing/tableForAtoms.xml"/>
+      <arg line="xml/periodic_table.xml"/>
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+
+  <target name="demo-swing" depends="samples">
+    <java classname="org.dom4j.samples.swing.JTreeDemo" fork="true">
+      <arg line="xml/web.xml"/>
+      <classpath>
+        <pathelement location="${build.dest}" />
+        <path refid="samples.classpath" />
+      </classpath>
+    </java>
+  </target>
+
+
+  <target name="demo-all" depends="demo-sax,demo-visitor,demo-count,demo-xpath,demo-html,demo-schema"/>
+</project>
diff --git a/docs/apidocs/allclasses-frame.html b/docs/apidocs/allclasses-frame.html
new file mode 100644
index 0000000..fa2770d
--- /dev/null
+++ b/docs/apidocs/allclasses-frame.html
@@ -0,0 +1,339 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+All Classes (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree" target="classFrame">AbstractAttribute</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree" target="classFrame">AbstractBranch</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree" target="classFrame">AbstractCDATA</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree" target="classFrame">AbstractCharacterData</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree" target="classFrame">AbstractComment</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree" target="classFrame">AbstractDocument</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree" target="classFrame">AbstractDocumentType</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree" target="classFrame">AbstractElement</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree" target="classFrame">AbstractEntity</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree" target="classFrame">AbstractNode</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree" target="classFrame">AbstractProcessingInstruction</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree" target="classFrame">AbstractText</A>
+<BR>
+<A HREF="org/dom4j/rule/Action.html" title="interface in org.dom4j.rule" target="classFrame"><I>Action</I></A>
+<BR>
+<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j" target="classFrame"><I>Attribute</I></A>
+<BR>
+<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd" target="classFrame">AttributeDecl</A>
+<BR>
+<A HREF="org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util" target="classFrame">AttributeHelper</A>
+<BR>
+<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree" target="classFrame">BackedList</A>
+<BR>
+<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree" target="classFrame">BaseElement</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean" target="classFrame">BeanAttribute</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean" target="classFrame">BeanAttributeList</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean" target="classFrame">BeanDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean" target="classFrame">BeanElement</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean" target="classFrame">BeanMetaData</A>
+<BR>
+<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j" target="classFrame"><I>Branch</I></A>
+<BR>
+<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing" target="classFrame">BranchTreeNode</A>
+<BR>
+<A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j" target="classFrame"><I>CDATA</I></A>
+<BR>
+<A HREF="org/dom4j/CharacterData.html" title="interface in org.dom4j" target="classFrame"><I>CharacterData</I></A>
+<BR>
+<A HREF="org/dom4j/Comment.html" title="interface in org.dom4j" target="classFrame"><I>Comment</I></A>
+<BR>
+<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree" target="classFrame">ConcurrentReaderHashMap.BarrierLock</A>
+<BR>
+<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree" target="classFrame">ConcurrentReaderHashMap.Entry</A>
+<BR>
+<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree" target="classFrame">ContentListFacade</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom" target="classFrame">DOMAttribute</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom" target="classFrame">DOMAttributeNodeMap</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom" target="classFrame">DOMCDATA</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom" target="classFrame">DOMComment</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom" target="classFrame">DOMDocument</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom" target="classFrame">DOMDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom" target="classFrame">DOMDocumentType</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom" target="classFrame">DOMElement</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom" target="classFrame">DOMEntityReference</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom" target="classFrame">DOMNamespace</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom" target="classFrame">DOMNodeHelper</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom" target="classFrame">DOMNodeHelper.EmptyNodeList</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom" target="classFrame">DOMProcessingInstruction</A>
+<BR>
+<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io" target="classFrame">DOMReader</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom" target="classFrame">DOMText</A>
+<BR>
+<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io" target="classFrame">DOMWriter</A>
+<BR>
+<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype" target="classFrame">DatatypeAttribute</A>
+<BR>
+<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype" target="classFrame">DatatypeDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype" target="classFrame">DatatypeElement</A>
+<BR>
+<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype" target="classFrame">DatatypeElementFactory</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree" target="classFrame">DefaultAttribute</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree" target="classFrame">DefaultCDATA</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree" target="classFrame">DefaultComment</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree" target="classFrame">DefaultDocument</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree" target="classFrame">DefaultDocumentType</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree" target="classFrame">DefaultElement</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree" target="classFrame">DefaultEntity</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree" target="classFrame">DefaultNamespace</A>
+<BR>
+<A HREF="org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath" target="classFrame">DefaultNamespaceContext</A>
+<BR>
+<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern" target="classFrame">DefaultPattern</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree" target="classFrame">DefaultProcessingInstruction</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree" target="classFrame">DefaultText</A>
+<BR>
+<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath" target="classFrame">DefaultXPath</A>
+<BR>
+<A HREF="org/dom4j/Document.html" title="interface in org.dom4j" target="classFrame"><I>Document</I></A>
+<BR>
+<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j" target="classFrame">DocumentException</A>
+<BR>
+<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j" target="classFrame">DocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j" target="classFrame">DocumentHelper</A>
+<BR>
+<A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io" target="classFrame">DocumentResult</A>
+<BR>
+<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io" target="classFrame">DocumentSource</A>
+<BR>
+<A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing" target="classFrame">DocumentTreeModel</A>
+<BR>
+<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j" target="classFrame"><I>DocumentType</I></A>
+<BR>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j" target="classFrame"><I>Element</I></A>
+<BR>
+<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd" target="classFrame">ElementDecl</A>
+<BR>
+<A HREF="org/dom4j/ElementHandler.html" title="interface in org.dom4j" target="classFrame"><I>ElementHandler</I></A>
+<BR>
+<A HREF="org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree" target="classFrame">ElementIterator</A>
+<BR>
+<A HREF="org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io" target="classFrame"><I>ElementModifier</I></A>
+<BR>
+<A HREF="org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree" target="classFrame">ElementNameIterator</A>
+<BR>
+<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j" target="classFrame"><I>ElementPath</I></A>
+<BR>
+<A HREF="org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree" target="classFrame">ElementQNameIterator</A>
+<BR>
+<A HREF="org/dom4j/Entity.html" title="interface in org.dom4j" target="classFrame"><I>Entity</I></A>
+<BR>
+<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd" target="classFrame">ExternalEntityDecl</A>
+<BR>
+<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree" target="classFrame">FilterIterator</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree" target="classFrame">FlyweightAttribute</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree" target="classFrame">FlyweightCDATA</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree" target="classFrame">FlyweightComment</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree" target="classFrame">FlyweightEntity</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree" target="classFrame">FlyweightProcessingInstruction</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree" target="classFrame">FlyweightText</A>
+<BR>
+<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io" target="classFrame">HTMLWriter</A>
+<BR>
+<A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j" target="classFrame">IllegalAddException</A>
+<BR>
+<A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util" target="classFrame">IndexedDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util" target="classFrame">IndexedElement</A>
+<BR>
+<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd" target="classFrame">InternalEntityDecl</A>
+<BR>
+<A HREF="org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype" target="classFrame">InvalidSchemaException</A>
+<BR>
+<A HREF="org/dom4j/InvalidXPathException.html" title="class in org.dom4j" target="classFrame">InvalidXPathException</A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb" target="classFrame">JAXBModifier</A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb" target="classFrame"><I>JAXBObjectHandler</I></A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb" target="classFrame"><I>JAXBObjectModifier</I></A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb" target="classFrame">JAXBReader</A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb" target="classFrame">JAXBWriter</A>
+<BR>
+<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing" target="classFrame">LeafTreeNode</A>
+<BR>
+<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule" target="classFrame">Mode</A>
+<BR>
+<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j" target="classFrame">Namespace</A>
+<BR>
+<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree" target="classFrame">NamespaceCache</A>
+<BR>
+<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree" target="classFrame">NamespaceStack</A>
+<BR>
+<A HREF="org/dom4j/Node.html" title="interface in org.dom4j" target="classFrame"><I>Node</I></A>
+<BR>
+<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util" target="classFrame">NodeComparator</A>
+<BR>
+<A HREF="org/dom4j/NodeFilter.html" title="interface in org.dom4j" target="classFrame"><I>NodeFilter</I></A>
+<BR>
+<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern" target="classFrame">NodeTypePattern</A>
+<BR>
+<A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util" target="classFrame">NonLazyDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util" target="classFrame">NonLazyElement</A>
+<BR>
+<A HREF="org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule" target="classFrame">NullAction</A>
+<BR>
+<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io" target="classFrame">OutputFormat</A>
+<BR>
+<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule" target="classFrame"><I>Pattern</I></A>
+<BR>
+<A HREF="org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util" target="classFrame">PerThreadSingleton</A>
+<BR>
+<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j" target="classFrame"><I>ProcessingInstruction</I></A>
+<BR>
+<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util" target="classFrame">ProxyDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp" target="classFrame">ProxyXmlStartTag</A>
+<BR>
+<A HREF="org/dom4j/QName.html" title="class in org.dom4j" target="classFrame">QName</A>
+<BR>
+<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree" target="classFrame">QNameCache</A>
+<BR>
+<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule" target="classFrame">Rule</A>
+<BR>
+<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule" target="classFrame">RuleManager</A>
+<BR>
+<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule" target="classFrame">RuleSet</A>
+<BR>
+<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io" target="classFrame">SAXContentHandler</A>
+<BR>
+<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io" target="classFrame">SAXEventRecorder</A>
+<BR>
+<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io" target="classFrame">SAXModifier</A>
+<BR>
+<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io" target="classFrame">SAXReader</A>
+<BR>
+<A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io" target="classFrame">SAXReader.SAXEntityResolver</A>
+<BR>
+<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io" target="classFrame">SAXValidator</A>
+<BR>
+<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io" target="classFrame">SAXWriter</A>
+<BR>
+<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io" target="classFrame">STAXEventReader</A>
+<BR>
+<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io" target="classFrame">STAXEventWriter</A>
+<BR>
+<A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype" target="classFrame">SchemaParser</A>
+<BR>
+<A HREF="org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util" target="classFrame">SimpleSingleton</A>
+<BR>
+<A HREF="org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree" target="classFrame">SingleIterator</A>
+<BR>
+<A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util" target="classFrame"><I>SingletonStrategy</I></A>
+<BR>
+<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule" target="classFrame">Stylesheet</A>
+<BR>
+<A HREF="org/dom4j/Text.html" title="interface in org.dom4j" target="classFrame"><I>Text</I></A>
+<BR>
+<A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util" target="classFrame">UserDataAttribute</A>
+<BR>
+<A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util" target="classFrame">UserDataDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util" target="classFrame">UserDataElement</A>
+<BR>
+<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j" target="classFrame"><I>Visitor</I></A>
+<BR>
+<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j" target="classFrame">VisitorSupport</A>
+<BR>
+<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util" target="classFrame">XMLErrorHandler</A>
+<BR>
+<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io" target="classFrame">XMLResult</A>
+<BR>
+<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing" target="classFrame">XMLTableColumnDefinition</A>
+<BR>
+<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing" target="classFrame">XMLTableDefinition</A>
+<BR>
+<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing" target="classFrame">XMLTableModel</A>
+<BR>
+<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io" target="classFrame">XMLWriter</A>
+<BR>
+<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io" target="classFrame">XPP3Reader</A>
+<BR>
+<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io" target="classFrame">XPPReader</A>
+<BR>
+<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j" target="classFrame"><I>XPath</I></A>
+<BR>
+<A HREF="org/dom4j/XPathException.html" title="class in org.dom4j" target="classFrame">XPathException</A>
+<BR>
+<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath" target="classFrame">XPathPattern</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/allclasses-noframe.html b/docs/apidocs/allclasses-noframe.html
new file mode 100644
index 0000000..c5864e1
--- /dev/null
+++ b/docs/apidocs/allclasses-noframe.html
@@ -0,0 +1,339 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+All Classes (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<BR>
+<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>
+<BR>
+<A HREF="org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><I>Action</I></A>
+<BR>
+<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><I>Attribute</I></A>
+<BR>
+<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<BR>
+<A HREF="org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util">AttributeHelper</A>
+<BR>
+<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<BR>
+<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<BR>
+<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<BR>
+<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j"><I>Branch</I></A>
+<BR>
+<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<BR>
+<A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j"><I>CDATA</I></A>
+<BR>
+<A HREF="org/dom4j/CharacterData.html" title="interface in org.dom4j"><I>CharacterData</I></A>
+<BR>
+<A HREF="org/dom4j/Comment.html" title="interface in org.dom4j"><I>Comment</I></A>
+<BR>
+<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.BarrierLock</A>
+<BR>
+<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<BR>
+<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom">DOMNodeHelper.EmptyNodeList</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<BR>
+<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<BR>
+<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<BR>
+<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<BR>
+<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<BR>
+<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<BR>
+<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<BR>
+<A HREF="org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A>
+<BR>
+<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<BR>
+<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A>
+<BR>
+<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<BR>
+<A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><I>Document</I></A>
+<BR>
+<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<BR>
+<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<BR>
+<A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io">DocumentResult</A>
+<BR>
+<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>
+<BR>
+<A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing">DocumentTreeModel</A>
+<BR>
+<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j"><I>DocumentType</I></A>
+<BR>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><I>Element</I></A>
+<BR>
+<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A>
+<BR>
+<A HREF="org/dom4j/ElementHandler.html" title="interface in org.dom4j"><I>ElementHandler</I></A>
+<BR>
+<A HREF="org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree">ElementIterator</A>
+<BR>
+<A HREF="org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><I>ElementModifier</I></A>
+<BR>
+<A HREF="org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree">ElementNameIterator</A>
+<BR>
+<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j"><I>ElementPath</I></A>
+<BR>
+<A HREF="org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree">ElementQNameIterator</A>
+<BR>
+<A HREF="org/dom4j/Entity.html" title="interface in org.dom4j"><I>Entity</I></A>
+<BR>
+<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<BR>
+<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<BR>
+<A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A>
+<BR>
+<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<BR>
+<A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j">IllegalAddException</A>
+<BR>
+<A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<BR>
+<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A>
+<BR>
+<A HREF="org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype">InvalidSchemaException</A>
+<BR>
+<A HREF="org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><I>JAXBObjectHandler</I></A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><I>JAXBObjectModifier</I></A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<BR>
+<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<BR>
+<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<BR>
+<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<BR>
+<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<BR>
+<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A>
+<BR>
+<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<BR>
+<A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><I>Node</I></A>
+<BR>
+<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<BR>
+<A HREF="org/dom4j/NodeFilter.html" title="interface in org.dom4j"><I>NodeFilter</I></A>
+<BR>
+<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<BR>
+<A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A>
+<BR>
+<A HREF="org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A>
+<BR>
+<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<BR>
+<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><I>Pattern</I></A>
+<BR>
+<A HREF="org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util">PerThreadSingleton</A>
+<BR>
+<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><I>ProcessingInstruction</I></A>
+<BR>
+<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<BR>
+<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<BR>
+<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<BR>
+<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<BR>
+<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<BR>
+<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A>
+<BR>
+<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<BR>
+<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<BR>
+<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<BR>
+<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<BR>
+<A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io">SAXReader.SAXEntityResolver</A>
+<BR>
+<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<BR>
+<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<BR>
+<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<BR>
+<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<BR>
+<A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype">SchemaParser</A>
+<BR>
+<A HREF="org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util">SimpleSingleton</A>
+<BR>
+<A HREF="org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree">SingleIterator</A>
+<BR>
+<A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util"><I>SingletonStrategy</I></A>
+<BR>
+<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<BR>
+<A HREF="org/dom4j/Text.html" title="interface in org.dom4j"><I>Text</I></A>
+<BR>
+<A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A>
+<BR>
+<A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A>
+<BR>
+<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<BR>
+<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j"><I>Visitor</I></A>
+<BR>
+<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<BR>
+<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<BR>
+<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<BR>
+<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<BR>
+<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<BR>
+<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<BR>
+<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<BR>
+<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<BR>
+<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<BR>
+<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j"><I>XPath</I></A>
+<BR>
+<A HREF="org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A>
+<BR>
+<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/constant-values.html b/docs/apidocs/constant-values.html
new file mode 100644
index 0000000..eea0b01
--- /dev/null
+++ b/docs/apidocs/constant-values.html
@@ -0,0 +1,431 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Constant Field Values (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Constant Field Values (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Constant Field Values</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+<LI><A HREF="#org.dom4j">org.dom4j.*</A>
+</UL>
+
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD ALIGN="left"><FONT SIZE="+2">
+<B>org.dom4j.*</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.ANY_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#ANY_NODE">ANY_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.ATTRIBUTE_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.CDATA_SECTION_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>4</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.COMMENT_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>8</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.DOCUMENT_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>9</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.DOCUMENT_TYPE_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>10</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.ELEMENT_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.ENTITY_REFERENCE_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#ENTITY_REFERENCE_NODE">ENTITY_REFERENCE_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>5</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.MAX_NODE_TYPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#MAX_NODE_TYPE">MAX_NODE_TYPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>14</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.NAMESPACE_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#NAMESPACE_NODE">NAMESPACE_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>13</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.PROCESSING_INSTRUCTION_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#PROCESSING_INSTRUCTION_NODE">PROCESSING_INSTRUCTION_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>7</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.TEXT_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#TEXT_NODE">TEXT_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>3</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.Node.UNKNOWN_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/Node.html#UNKNOWN_NODE">UNKNOWN_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>14</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.io.DocumentSource.DOM4J_FEATURE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/io/DocumentSource.html#DOM4J_FEATURE">DOM4J_FEATURE</A></CODE></TD>
+<TD ALIGN="right"><CODE>"http://org.dom4j.io.DoucmentSource/feature"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.io.OutputFormat.STANDARD_INDENT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/io/OutputFormat.html#STANDARD_INDENT">STANDARD_INDENT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"  "</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.io.SAXEventRecorder.serialVersionUID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final long</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/io/SAXEventRecorder.html#serialVersionUID">serialVersionUID</A></CODE></TD>
+<TD ALIGN="right"><CODE>1l</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.io.SAXWriter.FEATURE_NAMESPACE_PREFIXES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/io/SAXWriter.html#FEATURE_NAMESPACE_PREFIXES">FEATURE_NAMESPACE_PREFIXES</A></CODE></TD>
+<TD ALIGN="right"><CODE>"http://xml.org/sax/features/namespace-prefixes"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.io.SAXWriter.FEATURE_NAMESPACES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/io/SAXWriter.html#FEATURE_NAMESPACES">FEATURE_NAMESPACES</A></CODE></TD>
+<TD ALIGN="right"><CODE>"http://xml.org/sax/features/namespaces"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.rule.Pattern.ANY_NODE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/rule/Pattern.html#ANY_NODE">ANY_NODE</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.rule.Pattern.DEFAULT_PRIORITY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final double</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/rule/Pattern.html#DEFAULT_PRIORITY">DEFAULT_PRIORITY</A></CODE></TD>
+<TD ALIGN="right"><CODE>0.5d</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.rule.Pattern.NONE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/rule/Pattern.html#NONE">NONE</A></CODE></TD>
+<TD ALIGN="right"><CODE>9999</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.rule.Pattern.NUMBER_OF_TYPES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final short</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/rule/Pattern.html#NUMBER_OF_TYPES">NUMBER_OF_TYPES</A></CODE></TD>
+<TD ALIGN="right"><CODE>14</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.swing.XMLTableColumnDefinition.NODE_TYPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#NODE_TYPE">NODE_TYPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>3</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.swing.XMLTableColumnDefinition.NUMBER_TYPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#NUMBER_TYPE">NUMBER_TYPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.swing.XMLTableColumnDefinition.OBJECT_TYPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#OBJECT_TYPE">OBJECT_TYPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.swing.XMLTableColumnDefinition.STRING_TYPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#STRING_TYPE">STRING_TYPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.tree.AbstractBranch.DEFAULT_CONTENT_LIST_SIZE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+<TD ALIGN="right"><CODE>5</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.tree.AbstractElement.USE_STRINGVALUE_SEPARATOR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected static final boolean</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A></CODE></TD>
+<TD ALIGN="right"><CODE>false</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="org.dom4j.tree.AbstractElement.VERBOSE_TOSTRING"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>protected static final boolean</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></CODE></TD>
+<TD ALIGN="right"><CODE>false</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/deprecated-list.html b/docs/apidocs/deprecated-list.html
new file mode 100644
index 0000000..a72e310
--- /dev/null
+++ b/docs/apidocs/deprecated-list.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Deprecated List (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Deprecated List (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Deprecated API</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Deprecated Classes</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree">org.dom4j.tree.ElementIterator</A>
+<BR>
+          <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree">org.dom4j.tree.ElementNameIterator</A>
+<BR>
+          <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree">org.dom4j.tree.ElementQNameIterator</A>
+<BR>
+          <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">org.dom4j.tree.FilterIterator</A>
+<BR>
+          <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I> </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Deprecated Methods</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath)">org.dom4j.rule.Stylesheet.applyTemplates(Object, XPath)</A>
+<BR>
+          <I>Use <A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath)"><CODE>Stylesheet.applyTemplates(Object, XPath)</CODE></A>instead.</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath, java.lang.String)">org.dom4j.rule.Stylesheet.applyTemplates(Object, XPath, String)</A>
+<BR>
+          <I>Use <A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath, java.lang.String)"><CODE>Stylesheet.applyTemplates(Object, XPath, String)</CODE></A>
+             instead.</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/util/IndexedElement.html#asElementIterator(java.lang.Object)">org.dom4j.util.IndexedElement.asElementIterator(Object)</A>
+<BR>
+          <I>WILL BE REMOVED IN dom4j-1.6 !!</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#removeAtttributes()">org.dom4j.xpp.ProxyXmlStartTag.removeAtttributes()</A>
+<BR>
+          <I>Use <A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributes()"><CODE>removeAttributes()</CODE></A> instead.</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/XPath.html#selectObject(java.lang.Object)">org.dom4j.XPath.selectObject(Object)</A>
+<BR>
+          <I>please use evaluate(Object) instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/Element.html#setAttributeValue(org.dom4j.QName, java.lang.String)">org.dom4j.Element.setAttributeValue(QName, String)</A>
+<BR>
+          <I>As of version 0.5. Please use <A HREF="org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)"><CODE>Element.addAttribute(QName,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/tree/AbstractElement.html#setAttributeValue(org.dom4j.QName, java.lang.String)">org.dom4j.tree.AbstractElement.setAttributeValue(QName, String)</A>
+<BR>
+          <I>As of version 0.5. Please use <A HREF="org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><CODE>AbstractElement.addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/Element.html#setAttributeValue(java.lang.String, java.lang.String)">org.dom4j.Element.setAttributeValue(String, String)</A>
+<BR>
+          <I>As of version 0.5. Please use <A HREF="org/dom4j/Element.html#addAttribute(java.lang.String, java.lang.String)"><CODE>Element.addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="org/dom4j/tree/AbstractElement.html#setAttributeValue(java.lang.String, java.lang.String)">org.dom4j.tree.AbstractElement.setAttributeValue(String, String)</A>
+<BR>
+          <I>As of version 0.5. Please use <A HREF="org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><CODE>AbstractElement.addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I> </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/help-doc.html b/docs/apidocs/help-doc.html
new file mode 100644
index 0000000..db09a7a
--- /dev/null
+++ b/docs/apidocs/help-doc.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:27 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+API Help (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="API Help (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+How This API Document Is Organized</H1>
+</CENTER>
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
+Overview</H3>
+<BLOCKQUOTE>
+
+<P>
+The <A HREF="overview-summary.html">Overview</A> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</BLOCKQUOTE>
+<H3>
+Package</H3>
+<BLOCKQUOTE>
+
+<P>
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
+<LI>Interfaces (italic)<LI>Classes<LI>Exceptions<LI>Errors</UL>
+</BLOCKQUOTE>
+<H3>
+Class/Interface</H3>
+<BLOCKQUOTE>
+
+<P>
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
+<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
+<P>
+<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
+<P>
+<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
+<H3>
+Use</H3>
+<BLOCKQUOTE>
+Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</ [...]
+<H3>
+Tree (Class Hierarchy)</H3>
+<BLOCKQUOTE>
+There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
+<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
+</BLOCKQUOTE>
+<H3>
+Deprecated API</H3>
+<BLOCKQUOTE>
+The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
+<H3>
+Index</H3>
+<BLOCKQUOTE>
+The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
+<H3>
+Prev/Next</H3>
+These links take you to the next or previous class, interface, package, or related page.<H3>
+Frames/No Frames</H3>
+These links show and hide the HTML frames.  All pages are available with or without frames.
+<P>
+<H3>
+Serialized Form</H3>
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+<P>
+<FONT SIZE="-1">
+<EM>
+This help file applies to API documentation generated using the standard doclet.</EM>
+</FONT>
+<BR>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/index-all.html b/docs/apidocs/index-all.html
new file mode 100644
index 0000000..ba509eb
--- /dev/null
+++ b/docs/apidocs/index-all.html
@@ -0,0 +1,9059 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Index (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Index (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF=" [...]
+<A NAME="_A_"><!-- --></A><H2>
+<B>A</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#ANY_ATTRIBUTE"><B>ANY_ATTRIBUTE</B></A> - 
+Static variable in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD>A pattern which matches any Attribute node
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#ANY_COMMENT"><B>ANY_COMMENT</B></A> - 
+Static variable in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD>A pattern which matches any Comment node
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#ANY_DOCUMENT"><B>ANY_DOCUMENT</B></A> - 
+Static variable in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD>A pattern which matches any Document node
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#ANY_ELEMENT"><B>ANY_ELEMENT</B></A> - 
+Static variable in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD>A pattern which matches any Element node
+<DT><A HREF="org/dom4j/Node.html#ANY_NODE"><B>ANY_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches Element nodes
+<DT><A HREF="org/dom4j/rule/Pattern.html#ANY_NODE"><B>ANY_NODE</B></A> - 
+Static variable in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>
+<DD>Matches any node
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#ANY_PROCESSING_INSTRUCTION"><B>ANY_PROCESSING_INSTRUCTION</B></A> - 
+Static variable in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD>A pattern which matches any ProcessingInstruction node
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#ANY_TEXT"><B>ANY_TEXT</B></A> - 
+Static variable in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD>A pattern which matches any Text node
+<DT><A HREF="org/dom4j/Node.html#ATTRIBUTE_NODE"><B>ATTRIBUTE_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches elements nodes
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><B>AbstractAttribute</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>.<DD>
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractAttribute.html#AbstractAttribute()"><B>AbstractAttribute()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>AbstractBranch</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>.<DD>
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractBranch.html#AbstractBranch()"><B>AbstractBranch()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><B>AbstractCDATA</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>.<DD>
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractCDATA.html#AbstractCDATA()"><B>AbstractCDATA()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><B>AbstractCharacterData</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A>.<DD>
+ <code>AbstractCharacterData</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractCharacterData.html#AbstractCharacterData()"><B>AbstractCharacterData()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><B>AbstractComment</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>.<DD>
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractComment.html#AbstractComment()"><B>AbstractComment()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><B>AbstractDocument</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>.<DD>
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractDocument.html#AbstractDocument()"><B>AbstractDocument()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><B>AbstractDocumentType</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>.<DD>
+ <code>AbstractDocumentType</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#AbstractDocumentType()"><B>AbstractDocumentType()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>AbstractElement</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>.<DD>
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractElement.html#AbstractElement()"><B>AbstractElement()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><B>AbstractEntity</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>.<DD>
+ <code>AbstractEntity</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractEntity.html#AbstractEntity()"><B>AbstractEntity()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>AbstractNode</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>.<DD>
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractNode.html#AbstractNode()"><B>AbstractNode()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><B>AbstractProcessingInstruction</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>.<DD>
+ <code>AbstractProcessingInstruction</code> is an abstract base class for
+ tree implementors to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#AbstractProcessingInstruction()"><B>AbstractProcessingInstruction()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><B>AbstractText</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>.<DD>
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ <DT><A HREF="org/dom4j/tree/AbstractText.html#AbstractText()"><B>AbstractText()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><B>Action</B></A> - interface org.dom4j.rule.<A HREF="org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A>.<DD>
+ <code>Action</code> represents some default action which should occur when
+ a rule matches a node in the XSLT processing model.
+ <DT><A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><B>Attribute</B></A> - interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>.<DD>
+ <code>Attribute</code> defines an XML attribute. <DT><A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd"><B>AttributeDecl</B></A> - class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>.<DD>
+ <code>AttributeDecl</code> represents an attribute declaration in a DTD.
+ <DT><A HREF="org/dom4j/dtd/AttributeDecl.html#AttributeDecl()"><B>AttributeDecl()</B></A> - 
+Constructor for class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#AttributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>AttributeDecl(String, String, String, String, String)</B></A> - 
+Constructor for class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util"><B>AttributeHelper</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util">AttributeHelper</A>.<DD>
+ <code>AttributeHelper</code> a number of helper methods for working with
+ attribute values.
+ <DT><A HREF="org/dom4j/util/AttributeHelper.html#AttributeHelper()"><B>AttributeHelper()</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util">AttributeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractCDATA.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractComment.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD>
+ <code>accept</code> method is the <code>Visitor Pattern</code>
+ method.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>
+ <code>accept</code> method is the <code>Visitor Pattern</code>
+ method.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractEntity.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractText.html#accept(org.dom4j.Visitor)"><B>accept(Visitor)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#add(org.dom4j.Node)"><B>add(Node)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Adds the given <code>Node</code> or throws <A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j"><CODE>IllegalAddException</CODE></A>
+ if the given node is not of a valid type. 
+<DT><A HREF="org/dom4j/Branch.html#add(org.dom4j.Comment)"><B>add(Comment)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Adds the given <code>Comment</code> to this branch. 
+<DT><A HREF="org/dom4j/Branch.html#add(org.dom4j.Element)"><B>add(Element)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Adds the given <code>Element</code> to this branch. 
+<DT><A HREF="org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)"><B>add(ProcessingInstruction)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Adds the given <code>ProcessingInstruction</code> to this branch. 
+<DT><A HREF="org/dom4j/Element.html#add(org.dom4j.Attribute)"><B>add(Attribute)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds the given <code>Attribute</code> to this element. 
+<DT><A HREF="org/dom4j/Element.html#add(org.dom4j.CDATA)"><B>add(CDATA)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds the given <code>CDATA</code> to this element. 
+<DT><A HREF="org/dom4j/Element.html#add(org.dom4j.Entity)"><B>add(Entity)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds the given <code>Entity</code> to this element. 
+<DT><A HREF="org/dom4j/Element.html#add(org.dom4j.Text)"><B>add(Text)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds the given <code>Text</code> to this element. 
+<DT><A HREF="org/dom4j/Element.html#add(org.dom4j.Namespace)"><B>add(Namespace)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds the given <code>Namespace</code> to this element. 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#add(java.lang.Object)"><B>add(Object)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#add(int, java.lang.Object)"><B>add(int, Object)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Node)"><B>add(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Comment)"><B>add(Comment)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Element)"><B>add(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#add(org.dom4j.ProcessingInstruction)"><B>add(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#add(org.dom4j.Element)"><B>add(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#add(org.dom4j.Attribute)"><B>add(Attribute)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#add(org.dom4j.Node)"><B>add(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)"><B>add(CDATA)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)"><B>add(Comment)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)"><B>add(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#add(org.dom4j.Entity)"><B>add(Entity)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#add(org.dom4j.Namespace)"><B>add(Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#add(org.dom4j.ProcessingInstruction)"><B>add(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#add(org.dom4j.Text)"><B>add(Text)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#add(java.lang.Object)"><B>add(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#add(int, java.lang.Object)"><B>add(int, Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#add(java.lang.Object)"><B>add(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#add(int, java.lang.Object)"><B>add(int, Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#add(org.dom4j.Attribute)"><B>add(Attribute)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleSet.html#addAll(org.dom4j.rule.RuleSet)"><B>addAll(RuleSet)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A>
+<DD>Adds all the rules to this RuleSet from the given other rule set.
+<DT><A HREF="org/dom4j/tree/BackedList.html#addAll(java.util.Collection)"><B>addAll(Collection)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#addAll(int, java.util.Collection)"><B>addAll(int, Collection)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#addAll(java.util.Collection)"><B>addAll(Collection)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#addAll(int, java.util.Collection)"><B>addAll(int, Collection)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#addAttribute(java.lang.String, java.lang.String)"><B>addAttribute(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Adds the attribute value of the given local name. 
+<DT><A HREF="org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)"><B>addAttribute(QName, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Adds the attribute value of the given fully qualified name. 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#addAttribute(java.lang.String, java.lang.String)"><B>addAttribute(String, String)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#addAttribute(org.dom4j.QName, java.lang.String)"><B>addAttribute(QName, String)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><B>addAttribute(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addAttribute(org.dom4j.QName, java.lang.String)"><B>addAttribute(QName, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>addAttribute(String, String, String, String)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD>parameters modeled after SAX2 attribute approach
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)"><B>addAttribute(String, String, String, String, boolean)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#addAttributes(org.dom4j.Element, org.xml.sax.Attributes)"><B>addAttributes(Element, Attributes)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Add all the attributes to the given elements
+<DT><A HREF="org/dom4j/Element.html#addCDATA(java.lang.String)"><B>addCDATA(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds a new <code>CDATA</code> node with the given text to this element.
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addCDATA(java.lang.String)"><B>addCDATA(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#addColumn(java.lang.String, java.lang.String)"><B>addColumn(String, String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#addColumn(java.lang.String, java.lang.String, int)"><B>addColumn(String, String, int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#addColumn(org.dom4j.swing.XMLTableColumnDefinition)"><B>addColumn(XMLTableColumnDefinition)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#addColumnWithXPathName(java.lang.String, java.lang.String, int)"><B>addColumnWithXPathName(String, String, int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/Document.html#addComment(java.lang.String)"><B>addComment(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Adds a new <code>Comment</code> node with the given text to this
+ branch.
+<DT><A HREF="org/dom4j/Element.html#addComment(java.lang.String)"><B>addComment(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds a new <code>Comment</code> node with the given text to this
+ element.
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#addComment(java.lang.String)"><B>addComment(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addComment(java.lang.String)"><B>addComment(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#addDTDDeclaration(java.lang.Object)"><B>addDTDDeclaration(Object)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Adds an internal DTD declaration to the list of declarations
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#addDeclaredNamespaces(org.dom4j.Element)"><B>addDeclaredNamespaces(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Add all namespaces declared before the startElement() SAX event to the
+ current element so that they are available to child elements and
+ attributes
+<DT><A HREF="org/dom4j/rule/RuleManager.html#addDefaultRule(org.dom4j.rule.Mode, org.dom4j.rule.Pattern, org.dom4j.rule.Action)"><B>addDefaultRule(Mode, Pattern, Action)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleManager.html#addDefaultRules(org.dom4j.rule.Mode)"><B>addDefaultRules(Mode)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD>Adds the default stylesheet rules to the given <A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><CODE>Mode</CODE></A>instance
+<DT><A HREF="org/dom4j/Document.html#addDocType(java.lang.String, java.lang.String, java.lang.String)"><B>addDocType(String, String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Adds a DOCTYPE declaration to this document
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#addDocType(java.lang.String, java.lang.String, java.lang.String)"><B>addDocType(String, String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#addElement(java.lang.String)"><B>addElement(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.
+<DT><A HREF="org/dom4j/Branch.html#addElement(org.dom4j.QName)"><B>addElement(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Adds a new <code>Element</code> node with the given <A HREF="org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>to
+ this branch and returns a reference to the new node.
+<DT><A HREF="org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)"><B>addElement(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Adds a new <code>Element</code> node with the given qualified name and
+ namespace URI to this branch and returns a reference to the new node.
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String)"><B>addElement(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)"><B>addElement(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)"><B>addElement(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)"><B>addElement(String, String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#addElement(java.lang.String)"><B>addElement(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#addElement(java.lang.String, java.lang.String)"><B>addElement(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#addElement(org.dom4j.QName)"><B>addElement(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addElement(java.lang.String)"><B>addElement(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#addEntity(java.lang.String, java.lang.String)"><B>addEntity(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds a new <code>Entity</code> node with the given name and text to
+ this element and returns a reference to the new node.
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addEntity(java.lang.String, java.lang.String)"><B>addEntity(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#addException(org.dom4j.Element, org.xml.sax.SAXParseException)"><B>addException(Element, SAXParseException)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD>Adds the given parse exception information to the given element instance
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#addExternalDTDDeclaration(java.lang.Object)"><B>addExternalDTDDeclaration(Object)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Adds an external DTD declaration to the list of declarations
+<DT><A HREF="org/dom4j/ElementPath.html#addHandler(java.lang.String, org.dom4j.ElementHandler)"><B>addHandler(String, ElementHandler)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted. 
+<DT><A HREF="org/dom4j/io/SAXReader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)"><B>addHandler(String, ElementHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)"><B>addHandler(String, ElementHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.
+<DT><A HREF="org/dom4j/io/XPPReader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)"><B>addHandler(String, ElementHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)"><B>addHandler(String, ElementHandler)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.
+<DT><A HREF="org/dom4j/tree/BackedList.html#addLocal(java.lang.Object)"><B>addLocal(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD>Performs a local addition which is not forward through to the Branch or
+ backing list
+<DT><A HREF="org/dom4j/io/SAXModifier.html#addModifier(java.lang.String, org.dom4j.io.ElementModifier)"><B>addModifier(String, ElementModifier)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Adds the <A HREF="org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>to be called when the specified element
+ path is encounted while parsing the source.
+<DT><A HREF="org/dom4j/Element.html#addNamespace(java.lang.String, java.lang.String)"><B>addNamespace(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds a namespace to this element for use by its child content
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addNamespace(java.lang.String, java.lang.String)"><B>addNamespace(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#addNamespace(java.lang.String, java.lang.String)"><B>addNamespace(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Adds a new namespace to the stack
+<DT><A HREF="org/dom4j/io/SAXWriter.html#addNamespaceAttribute(org.xml.sax.helpers.AttributesImpl, org.dom4j.Namespace)"><B>addNamespaceAttribute(AttributesImpl, Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>If isDelcareNamespaceAttributes() is enabled then this method will add
+ the given namespace declaration to the supplied attributes object,
+ creating one if it does not exist.
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addNewNode(org.dom4j.Node)"><B>addNewNode(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>Like addNode() but does not require a parent check
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addNewNode(int, org.dom4j.Node)"><B>addNewNode(int, Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#addNewNode(org.dom4j.Node)"><B>addNewNode(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#addNode(org.dom4j.Node)"><B>addNode(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#addNode(int, org.dom4j.Node)"><B>addNode(int, Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addNode(org.dom4j.Node)"><B>addNode(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addNode(int, org.dom4j.Node)"><B>addNode(int, Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#addNode(org.dom4j.Node)"><B>addNode(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#addNode(int, org.dom4j.Node)"><B>addNode(int, Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#addNode(org.dom4j.Node)"><B>addNode(Node)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#addNumberColumn(java.lang.String, java.lang.String)"><B>addNumberColumn(String, String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#addObjectHandler(java.lang.String, org.dom4j.jaxb.JAXBObjectHandler)"><B>addObjectHandler(String, JAXBObjectHandler)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Registers a <A HREF="org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>that will be supplied with the
+ unmarshalled representation of the xml fragment whenever the specified
+ path is encounted.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#addObjectModifier(java.lang.String, org.dom4j.jaxb.JAXBObjectModifier)"><B>addObjectModifier(String, JAXBObjectModifier)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Adds the <A HREF="org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>to be called when the specified xml
+ path is encounted while parsing the source.
+<DT><A HREF="org/dom4j/Document.html#addProcessingInstruction(java.lang.String, java.lang.String)"><B>addProcessingInstruction(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Adds a processing instruction for the given target
+<DT><A HREF="org/dom4j/Document.html#addProcessingInstruction(java.lang.String, java.util.Map)"><B>addProcessingInstruction(String, Map)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Adds a processing instruction for the given target
+<DT><A HREF="org/dom4j/Element.html#addProcessingInstruction(java.lang.String, java.lang.String)"><B>addProcessingInstruction(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds a processing instruction for the given target
+<DT><A HREF="org/dom4j/Element.html#addProcessingInstruction(java.lang.String, java.util.Map)"><B>addProcessingInstruction(String, Map)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds a processing instruction for the given target
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#addProcessingInstruction(java.lang.String, java.lang.String)"><B>addProcessingInstruction(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#addProcessingInstruction(java.lang.String, java.util.Map)"><B>addProcessingInstruction(String, Map)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addProcessingInstruction(java.lang.String, java.lang.String)"><B>addProcessingInstruction(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addProcessingInstruction(java.lang.String, java.util.Map)"><B>addProcessingInstruction(String, Map)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Mode.html#addRule(org.dom4j.rule.Rule)"><B>addRule(Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleManager.html#addRule(org.dom4j.rule.Rule)"><B>addRule(Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleSet.html#addRule(org.dom4j.rule.Rule)"><B>addRule(Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#addRule(org.dom4j.rule.Rule)"><B>addRule(Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>Add a rule to this stylesheet.
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#addStringColumn(java.lang.String, java.lang.String)"><B>addStringColumn(String, String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#addText(java.lang.String)"><B>addText(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Adds a new <code>Text</code> node with the given text to this element.
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#addText(java.lang.String)"><B>addText(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#addText(java.lang.String)"><B>addText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#addToAttributeIndex(org.dom4j.Attribute)"><B>addToAttributeIndex(Attribute)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#addToAttributeIndex(java.lang.Object, org.dom4j.Attribute)"><B>addToAttributeIndex(Object, Attribute)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#addToElementIndex(org.dom4j.Element)"><B>addToElementIndex(Element)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#addToElementIndex(java.lang.Object, org.dom4j.Element)"><B>addToElementIndex(Object, Element)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Mode.html#addToNameMap(java.util.Map, java.lang.String, org.dom4j.rule.Rule)"><B>addToNameMap(Map, String, Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD>Adds the Rule to a RuleSet for the given name.
+<DT><A HREF="org/dom4j/Element.html#additionalNamespaces()"><B>additionalNamespaces()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns any additional namespaces declarations for this element other
+ than namespace returned via the <A HREF="org/dom4j/Element.html#getNamespace()"><CODE>Element.getNamespace()</CODE></A>method. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#additionalNamespaces()"><B>additionalNamespaces()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#additionalNamespaces(java.lang.String)"><B>additionalNamespaces(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#additionalNamespaces()"><B>additionalNamespaces()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#additionalNamespaces(java.lang.String)"><B>additionalNamespaces(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#appendAttributes(org.dom4j.Element)"><B>appendAttributes(Element)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Appends the attributes of the given element to me. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#appendAttributes(org.dom4j.Element)"><B>appendAttributes(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#appendChild(org.dom4j.Node, org.w3c.dom.Node)"><B>appendChild(Node, Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#appendChild(org.w3c.dom.Node)"><B>appendChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#appendContent(org.dom4j.Branch)"><B>appendContent(Branch)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Appends the content of the given branch to this branch instance. 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)"><B>appendContent(Branch)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, java.util.List)"><B>appendDOMTree(Document, Node, List)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Element)"><B>appendDOMTree(Document, Node, Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.CDATA)"><B>appendDOMTree(Document, Node, CDATA)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Comment)"><B>appendDOMTree(Document, Node, Comment)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, java.lang.String)"><B>appendDOMTree(Document, Node, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Entity)"><B>appendDOMTree(Document, Node, Entity)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.ProcessingInstruction)"><B>appendDOMTree(Document, Node, ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#appendData(java.lang.String)"><B>appendData(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#appendData(java.lang.String)"><B>appendData(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#appendData(org.dom4j.CharacterData, java.lang.String)"><B>appendData(CharacterData, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#appendData(java.lang.String)"><B>appendData(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#appendElementsByTagName(java.util.List, org.dom4j.Branch, java.lang.String)"><B>appendElementsByTagName(List, Branch, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#appendElementsByTagNameNS(java.util.List, org.dom4j.Branch, java.lang.String, java.lang.String)"><B>appendElementsByTagNameNS(List, Branch, String, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/CharacterData.html#appendText(java.lang.String)"><B>appendText(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>
+<DD>Appends the given text to this nodes text value. 
+<DT><A HREF="org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)"><B>appendText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Mode.html#applyTemplates(org.dom4j.Element)"><B>applyTemplates(Element)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Mode.html#applyTemplates(org.dom4j.Document)"><B>applyTemplates(Document)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.dom4j.XPath)"><B>applyTemplates(Object, XPath)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>Processes the result of the xpath expression. 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.dom4j.XPath, java.lang.String)"><B>applyTemplates(Object, XPath, String)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>Processes the result of the xpath expression in the given mode. 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath)"><B>applyTemplates(Object, XPath)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD><B>Deprecated.</B> <I>Use <A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath)"><CODE>Stylesheet.applyTemplates(Object, XPath)</CODE></A>instead.</I>
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath, java.lang.String)"><B>applyTemplates(Object, XPath, String)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD><B>Deprecated.</B> <I>Use <A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath, java.lang.String)"><CODE>Stylesheet.applyTemplates(Object, XPath, String)</CODE></A>
+             instead.</I>
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object)"><B>applyTemplates(Object)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>If input is a <code>Node</code>, this will processes all of the
+ children of that node. 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, java.lang.String)"><B>applyTemplates(Object, String)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>Processes the input object in the given mode. 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#asDOMAttr(org.dom4j.Node)"><B>asDOMAttr(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#asDOMDocument(org.dom4j.Document)"><B>asDOMDocument(Document)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#asDOMDocumentType(org.dom4j.DocumentType)"><B>asDOMDocumentType(DocumentType)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#asDOMElement(org.dom4j.Node)"><B>asDOMElement(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#asDOMNode(org.dom4j.Node)"><B>asDOMNode(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#asDOMText(org.dom4j.CharacterData)"><B>asDOMText(CharacterData)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#asDocumentType(org.w3c.dom.DocumentType)"><B>asDocumentType(DocumentType)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#asElement(java.lang.Object)"><B>asElement(Object)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#asElementIterator(java.lang.Object)"><B>asElementIterator(Object)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD><B>Deprecated.</B> <I>WILL BE REMOVED IN dom4j-1.6 !!</I>
+<DT><A HREF="org/dom4j/util/IndexedElement.html#asElementList(java.lang.Object)"><B>asElementList(Object)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#asNode(java.lang.Object)"><B>asNode(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#asNode(java.lang.Object)"><B>asNode(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#asXML()"><B>asXML()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>asXML</code> returns the textual XML representation of this node.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractCDATA.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractComment.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractEntity.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractText.html#asXML()"><B>asXML()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#asXPathResult(org.dom4j.Element)"><B>asXPathResult(Element)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>asXPathResult</code> returns a version of this node which is
+ capable of being an XPath result. 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#asXPathResult(org.dom4j.Element)"><B>asXPathResult(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)"><B>asXPathResult(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#attribute(int)"><B>attribute(int)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns the attribute at the specified indexGets the
+<DT><A HREF="org/dom4j/Element.html#attribute(java.lang.String)"><B>attribute(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns the attribute with the given name
+<DT><A HREF="org/dom4j/Element.html#attribute(org.dom4j.QName)"><B>attribute(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#attribute(java.lang.String)"><B>attribute(String)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#attribute(org.dom4j.QName)"><B>attribute(QName)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#attribute(int)"><B>attribute(int)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#attribute(java.lang.String)"><B>attribute(String)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#attribute(org.dom4j.QName)"><B>attribute(QName)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#attribute(org.w3c.dom.Attr)"><B>attribute(Attr)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#attribute(java.lang.String, java.lang.String)"><B>attribute(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attribute(int)"><B>attribute(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attribute(java.lang.String)"><B>attribute(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attribute(org.dom4j.QName)"><B>attribute(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attribute(java.lang.String, org.dom4j.Namespace)"><B>attribute(String, Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#attribute(int)"><B>attribute(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#attribute(java.lang.String)"><B>attribute(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#attribute(org.dom4j.QName)"><B>attribute(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#attribute(java.lang.String, org.dom4j.Namespace)"><B>attribute(String, Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#attribute(java.lang.String)"><B>attribute(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#attribute(org.dom4j.QName)"><B>attribute(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#attributeCount()"><B>attributeCount()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#attributeCount()"><B>attributeCount()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attributeCount()"><B>attributeCount()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#attributeCount()"><B>attributeCount()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>attributeDecl(String, String, String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Report an attribute type declaration.
+ 
+ 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>attributeDecl(String, String, String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#attributeIndex()"><B>attributeIndex()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#attributeIterator()"><B>attributeIterator()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attributeIterator()"><B>attributeIterator()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#attributeIterator()"><B>attributeIterator()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attributeList()"><B>attributeList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attributeList(int)"><B>attributeList(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/BaseElement.html#attributeList()"><B>attributeList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#attributeList(int)"><B>attributeList(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#attributeList()"><B>attributeList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#attributeList(int)"><B>attributeList(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#attributeNameForNamespace(org.dom4j.Namespace)"><B>attributeNameForNamespace(Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#attributeValue(java.lang.String)"><B>attributeValue(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ This returns the attribute value for the attribute with the given name
+ and any namespace or null if there is no such attribute or the empty
+ string if the attribute value is empty.
+ 
+<DT><A HREF="org/dom4j/Element.html#attributeValue(java.lang.String, java.lang.String)"><B>attributeValue(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ This returns the attribute value for the attribute with the given name
+ and any namespace or the default value if there is no such attribute
+ value.
+ 
+<DT><A HREF="org/dom4j/Element.html#attributeValue(org.dom4j.QName)"><B>attributeValue(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ This returns the attribute value for the attribute with the given fully
+ qualified name or null if there is no such attribute or the empty string
+ if the attribute value is empty.
+ 
+<DT><A HREF="org/dom4j/Element.html#attributeValue(org.dom4j.QName, java.lang.String)"><B>attributeValue(QName, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ This returns the attribute value for the attribute with the given fully
+ qualified name or the default value if there is no such attribute value.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attributeValue(java.lang.String)"><B>attributeValue(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attributeValue(org.dom4j.QName)"><B>attributeValue(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attributeValue(java.lang.String, java.lang.String)"><B>attributeValue(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attributeValue(org.dom4j.QName, java.lang.String)"><B>attributeValue(QName, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#attributes()"><B>attributes()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the <A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>instances this element contains as a backed
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that the attributes may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#attributes()"><B>attributes()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#attributes"><B>attributes</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD>list of attributes
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#attributes()"><B>attributes()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_B_"><!-- --></A><H2>
+<B>B</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree"><B>BackedList</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>.<DD>
+ <code>BackedList</code> represents a list of content of a <A HREF="org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A>. <DT><A HREF="org/dom4j/tree/BackedList.html#BackedList(org.dom4j.tree.AbstractBranch, java.util.List)"><B>BackedList(AbstractBranch, List)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#BackedList(org.dom4j.tree.AbstractBranch, java.util.List, int)"><B>BackedList(AbstractBranch, List, int)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#BackedList(org.dom4j.tree.AbstractBranch, java.util.List, java.util.List)"><B>BackedList(AbstractBranch, List, List)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><B>BaseElement</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>.<DD>
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ <DT><A HREF="org/dom4j/tree/BaseElement.html#BaseElement(java.lang.String)"><B>BaseElement(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#BaseElement(org.dom4j.QName)"><B>BaseElement(QName)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#BaseElement(java.lang.String, org.dom4j.Namespace)"><B>BaseElement(String, Namespace)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean"><B>BeanAttribute</B></A> - class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>.<DD>
+ <code>BeanAttribute</code> represents a mutable XML attribute which is
+ backed by a property of the JavaBean of its parent element.
+ <DT><A HREF="org/dom4j/bean/BeanAttribute.html#BeanAttribute(org.dom4j.bean.BeanAttributeList, int)"><B>BeanAttribute(BeanAttributeList, int)</B></A> - 
+Constructor for class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean"><B>BeanAttributeList</B></A> - class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>.<DD>
+ <code>BeanAttributeList</code> implements a list of Attributes which are
+ the properties of a JavaBean.
+ <DT><A HREF="org/dom4j/bean/BeanAttributeList.html#BeanAttributeList(org.dom4j.bean.BeanElement, org.dom4j.bean.BeanMetaData)"><B>BeanAttributeList(BeanElement, BeanMetaData)</B></A> - 
+Constructor for class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#BeanAttributeList(org.dom4j.bean.BeanElement)"><B>BeanAttributeList(BeanElement)</B></A> - 
+Constructor for class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean"><B>BeanDocumentFactory</B></A> - class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>.<DD>
+ <code>BeanDocumentFactory</code> is a factory of DOM4J objects which may be
+ BeanElements which are backed by JavaBeans and their properties.
+ <DT><A HREF="org/dom4j/bean/BeanDocumentFactory.html#BeanDocumentFactory()"><B>BeanDocumentFactory()</B></A> - 
+Constructor for class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean"><B>BeanElement</B></A> - class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>.<DD>
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ <DT><A HREF="org/dom4j/bean/BeanElement.html#BeanElement(java.lang.String, java.lang.Object)"><B>BeanElement(String, Object)</B></A> - 
+Constructor for class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#BeanElement(java.lang.String, org.dom4j.Namespace, java.lang.Object)"><B>BeanElement(String, Namespace, Object)</B></A> - 
+Constructor for class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#BeanElement(org.dom4j.QName, java.lang.Object)"><B>BeanElement(QName, Object)</B></A> - 
+Constructor for class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#BeanElement(org.dom4j.QName)"><B>BeanElement(QName)</B></A> - 
+Constructor for class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean"><B>BeanMetaData</B></A> - class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>.<DD>
+ <code>BeanMetaData</code> contains metadata about a bean class.
+ <DT><A HREF="org/dom4j/bean/BeanMetaData.html#BeanMetaData(java.lang.Class)"><B>BeanMetaData(Class)</B></A> - 
+Constructor for class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html" title="interface in org.dom4j"><B>Branch</B></A> - interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>.<DD>
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. <DT><A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing"><B>BranchTreeNode</B></A> - class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>.<DD>
+ <code>BranchTreeNode</code> implements the Swing TreeNode interface to bind
+ dom4j XML Branch nodes (i.e. <DT><A HREF="org/dom4j/swing/BranchTreeNode.html#BranchTreeNode()"><B>BranchTreeNode()</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#BranchTreeNode(org.dom4j.Branch)"><B>BranchTreeNode(Branch)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#BranchTreeNode(javax.swing.tree.TreeNode, org.dom4j.Branch)"><B>BranchTreeNode(TreeNode, Branch)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Element, java.lang.String)"><B>booleanValue(Element, String)</B></A> - 
+Static method in class org.dom4j.util.<A HREF="org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util">AttributeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Element, org.dom4j.QName)"><B>booleanValue(Element, QName)</B></A> - 
+Static method in class org.dom4j.util.<A HREF="org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util">AttributeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Attribute)"><B>booleanValue(Attribute)</B></A> - 
+Static method in class org.dom4j.util.<A HREF="org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util">AttributeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPath.html#booleanValueOf(java.lang.Object)"><B>booleanValueOf(Object)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>Retrieve a boolean-value interpretation of this XPath expression when
+ evaluated against a given context.
+ 
+ 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#booleanValueOf(java.lang.Object)"><B>booleanValueOf(Object)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/SchemaParser.html#build(org.dom4j.Document)"><B>build(Document)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype">SchemaParser</A>
+<DD>Parses the given schema document
+<DT><A HREF="org/dom4j/datatype/SchemaParser.html#build(org.dom4j.Document, org.dom4j.Namespace)"><B>build(Document, Namespace)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype">SchemaParser</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_C_"><!-- --></A><H2>
+<B>C</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/Namespace.html#CACHE"><B>CACHE</B></A> - 
+Static variable in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>Cache of Namespace instances
+<DT><A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j"><B>CDATA</B></A> - interface org.dom4j.<A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>.<DD>
+ <code>CDATA</code> defines an XML CDATA section.
+ <DT><A HREF="org/dom4j/Node.html#CDATA_SECTION_NODE"><B>CDATA_SECTION_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches elements nodes
+<DT><A HREF="org/dom4j/Node.html#COMMENT_NODE"><B>COMMENT_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches Comments nodes
+<DT><A HREF="org/dom4j/CharacterData.html" title="interface in org.dom4j"><B>CharacterData</B></A> - interface org.dom4j.<A HREF="org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>.<DD>
+ <code>CharacterData</code> is a marker interface for character based nodes
+ such as the <code>CDATA</code>,<code>Comment</code> and
+ <code>Text</code> nodes.
+ <DT><A HREF="org/dom4j/Comment.html" title="interface in org.dom4j"><B>Comment</B></A> - interface org.dom4j.<A HREF="org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>.<DD>
+ <code>Comment</code> defines the behavior of an XML comment.
+ <DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree"><B>ConcurrentReaderHashMap.BarrierLock</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.BarrierLock</A>.<DD>A Serializable class for barrier lock *<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html#ConcurrentReaderHashMap.BarrierLock()"><B>ConcurrentReaderHashMap.Bar [...]
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.BarrierLock</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree"><B>ConcurrentReaderHashMap.Entry</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>.<DD>ConcurrentReaderHashMap collision list entry.<DT><A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree"><B>ContentListFacade</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tr [...]
+ <code>ContentListFacade</code> represents a facade of the content of a
+ <A HREF="org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A> which is returned via calls to the <A HREF="org/dom4j/Branch.html#content()"><CODE>Branch.content()</CODE></A>  method to allow users to modify the content of a
+ <A HREF="org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A> directly using the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A> interface. <DT><A HREF="org/dom4j/tree/ContentListFacade.html#ContentListFacade(org.dom4j.tree.AbstractBranch, java.util.List)"><B>ContentListFacade(AbstractBranch, List)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#cache"><B>cache</B></A> - 
+Variable in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceCache.html#cache"><B>cache</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A>
+<DD>Cache of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util"><CODE>Map</CODE></A>instances indexed by URI which contain caches of
+ <A HREF="org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>for each prefix
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#characters(char[], int, int)"><B>characters(char[], int, int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#characters(char[], int, int)"><B>characters(char[], int, int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#characters(char[], int, int)"><B>characters(char[], int, int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#checkAddElementAllowed(org.dom4j.Element)"><B>checkAddElementAllowed(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#checkForNullHandlers()"><B>checkForNullHandlers()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Ensures non-null content handlers?
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#childAdded(org.dom4j.Node)"><B>childAdded(Node)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD>Override to force lazy recreation of data object
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#childAdded(org.dom4j.Node)"><B>childAdded(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>Called when a new child node has been added to me to allow any parent
+ relationships to be created or events to be fired.
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#childAdded(org.dom4j.Node)"><B>childAdded(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#childAdded(org.dom4j.Node)"><B>childAdded(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>Called when a new child node is added to create any parent relationships
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#childRemoved(org.dom4j.Node)"><B>childRemoved(Node)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD>Override to force lazy recreation of data object
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#childRemoved(org.dom4j.Node)"><B>childRemoved(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>Called when a child node has been removed to allow any parent
+ relationships to be deleted or events to be fired.
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#childRemoved(org.dom4j.Node)"><B>childRemoved(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#childRemoved(org.dom4j.Node)"><B>childRemoved(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#children"><B>children</B></A> - 
+Variable in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD>Stores the child tree nodes
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#children()"><B>children()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#children()"><B>children()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#clear()"><B>clear()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleManager.html#clear()"><B>clear()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#clear()"><B>clear()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#clear()"><B>clear()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#clear()"><B>clear()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#clear()"><B>clear()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#clear()"><B>clear()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Clears the stack
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#clearCaches()"><B>clearCaches()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#clearContent()"><B>clearContent()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Clears the content for this branch, removing any <code>Node</code>
+ instances this branch may contain.
+<DT><A HREF="org/dom4j/tree/BaseElement.html#clearContent()"><B>clearContent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#clearContent()"><B>clearContent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#clearContent()"><B>clearContent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMReader.html#clearNamespaceStack()"><B>clearNamespaceStack()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#clone()"><B>clone()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#clone()"><B>clone()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#clone()"><B>clone()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#clone()"><B>clone()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataElement.html#clone()"><B>clone()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#cloneNode(org.dom4j.Node, boolean)"><B>cloneNode(Node, boolean)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#cloneNode(boolean)"><B>cloneNode(boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#close()"><B>close()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Closes the underlying Writer
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#comment(char[], int, int)"><B>comment(char[], int, int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#comment(char[], int, int)"><B>comment(char[], int, int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#comment(char[], int, int)"><B>comment(char[], int, int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(java.lang.Object, java.lang.Object)"><B>compare(Object, Object)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD>Compares its two arguments for order. 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.Node, org.dom4j.Node)"><B>compare(Node, Node)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.Document, org.dom4j.Document)"><B>compare(Document, Document)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.Element, org.dom4j.Element)"><B>compare(Element, Element)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.Attribute, org.dom4j.Attribute)"><B>compare(Attribute, Attribute)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.QName, org.dom4j.QName)"><B>compare(QName, QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.Namespace, org.dom4j.Namespace)"><B>compare(Namespace, Namespace)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.CharacterData, org.dom4j.CharacterData)"><B>compare(CharacterData, CharacterData)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.DocumentType, org.dom4j.DocumentType)"><B>compare(DocumentType, DocumentType)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.Entity, org.dom4j.Entity)"><B>compare(Entity, Entity)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(org.dom4j.ProcessingInstruction, org.dom4j.ProcessingInstruction)"><B>compare(ProcessingInstruction, ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compare(java.lang.String, java.lang.String)"><B>compare(String, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NodeComparator.html#compareContent(org.dom4j.Branch, org.dom4j.Branch)"><B>compareContent(Branch, Branch)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#compareTo(java.lang.Object)"><B>compareTo(Object)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#compareTo(org.dom4j.rule.Rule)"><B>compareTo(Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Compares two rules in XSLT processing model order assuming that the modes
+ are equal.
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#completeCurrentTextNode()"><B>completeCurrentTextNode()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>If the current text buffer contains any text then create a new text node
+ with it and add it to the current element
+<DT><A HREF="org/dom4j/io/SAXReader.html#configureReader(org.xml.sax.XMLReader, org.xml.sax.helpers.DefaultHandler)"><B>configureReader(XMLReader, DefaultHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Configures the XMLReader before use
+<DT><A HREF="org/dom4j/io/SAXValidator.html#configureReader()"><B>configureReader()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<DD>Configures the XMLReader before use
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#contains(java.lang.Object)"><B>contains(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#contains(org.dom4j.Namespace)"><B>contains(Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#containsAll(java.util.Collection)"><B>containsAll(Collection)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#content()"><B>content()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>
+ Returns the content nodes of this branch as a backed <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that
+ the content of this branch may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#content()"><B>content()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#content"><B>content</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD>List of content nodes.
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#contentList()"><B>contentList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/BaseElement.html#contentList()"><B>contentList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#contentList()"><B>contentList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#contentList()"><B>contentList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#contentRemoved()"><B>contentRemoved()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>Called when the given List content has been removed so each node should
+ have its parent and document relationships cleared
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#convertToValue(java.lang.String)"><B>convertToValue(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultNamespaceContext.html#create(java.lang.Object)"><B>create(Object)</B></A> - 
+Static method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>createAttribute(Element, QName, String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)"><B>createAttribute(Element, String, String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>createAttribute(Element, QName, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)"><B>createAttribute(Element, String, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#createAttribute(org.dom4j.bean.BeanElement, int)"><B>createAttribute(BeanElement, int)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>createAttribute(Element, QName, String)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>createAttribute(Element, QName, String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElementFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>createAttribute(Element, QName, String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createAttribute(java.lang.String)"><B>createAttribute(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>createAttribute(Element, QName, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#createAttribute(org.w3c.dom.Attr)"><B>createAttribute(Attr)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#createAttribute(org.dom4j.Element, javax.xml.stream.events.Attribute)"><B>createAttribute(Element, Attribute)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a new DOM4J Attribute from the provided StAX Attribute event.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createAttribute(org.dom4j.Attribute)"><B>createAttribute(Attribute)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>Attribute</CODE>event from a
+ DOM4J <A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>.
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>createAttribute(Element, QName, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)"><B>createAttribute(Element, String, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>createAttribute(Element, QName, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#createAttributeIndex()"><B>createAttributeIndex()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD>A Factory Method to create the index for attributes
+<DT><A HREF="org/dom4j/bean/BeanElement.html#createAttributeList()"><B>createAttributeList()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD>A Factory Method pattern which lazily creates a List implementation used
+ to store content
+<DT><A HREF="org/dom4j/bean/BeanElement.html#createAttributeList(int)"><B>createAttributeList(int)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#createAttributeList(org.dom4j.bean.BeanElement)"><B>createAttributeList(BeanElement)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#createAttributeList()"><B>createAttributeList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>A Factory Method pattern which creates a List implementation used to
+ store attributes
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#createAttributeList(int)"><B>createAttributeList(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>A Factory Method pattern which creates a List implementation used to
+ store attributes
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createAttributeNS(java.lang.String, java.lang.String)"><B>createAttributeNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#createAttributes(org.dom4j.Element, org.xml.sax.Attributes)"><B>createAttributes(Element, Attributes)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanDocumentFactory.html#createBean(org.dom4j.QName)"><B>createBean(QName)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanDocumentFactory.html#createBean(org.dom4j.QName, org.xml.sax.Attributes)"><B>createBean(QName, Attributes)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)"><B>createCDATA(String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createCDATA(java.lang.String)"><B>createCDATA(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#createCDATA(java.lang.String)"><B>createCDATA(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createCDATA(java.lang.String)"><B>createCDATA(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createCDATA(java.lang.String)"><B>createCDATA(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createCDATASection(java.lang.String)"><B>createCDATASection(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#createCharacterData(javax.xml.stream.events.Characters)"><B>createCharacterData(Characters)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a new DOM4J Text or CDATA object from the provided Characters
+ event.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createCharacters(org.dom4j.Text)"><B>createCharacters(Text)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>Characters</CODE>event from a DOM4J <A HREF="org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createCharacters(org.dom4j.CDATA)"><B>createCharacters(CDATA)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>Characters</CODE>event from a DOM4J <A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>.
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#createChildList()"><B>createChildList()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD>Factory method to create List of children TreeNodes
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#createChildTreeNode(org.dom4j.Node)"><B>createChildTreeNode(Node)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD>Factory method to create child tree nodes for a given XML node type
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#createColumnXPath(java.lang.String)"><B>createColumnXPath(String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createComment(java.lang.String)"><B>createComment(String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createComment(java.lang.String)"><B>createComment(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createComment(java.lang.String)"><B>createComment(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createComment(java.lang.String)"><B>createComment(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#createComment(javax.xml.stream.events.Comment)"><B>createComment(Comment)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a new DOM4J Comment from the provided StAX Comment event.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createComment(org.dom4j.Comment)"><B>createComment(Comment)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>Comment</CODE>event from a
+ DOM4J <A HREF="org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>.
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createComment(java.lang.String)"><B>createComment(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#createCompactFormat()"><B>createCompactFormat()</B></A> - 
+Static method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>A static helper method to create the default compact format. 
+<DT><A HREF="org/dom4j/io/SAXReader.html#createContentHandler(org.xml.sax.XMLReader)"><B>createContentHandler(XMLReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Factory Method to allow user derived SAXContentHandler objects to be used
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#createContentList()"><B>createContentList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>A Factory Method pattern which creates a List implementation used to
+ store content
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#createContentList(int)"><B>createContentList(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>A Factory Method pattern which creates a List implementation used to
+ store content
+<DT><A HREF="org/dom4j/Element.html#createCopy()"><B>createCopy()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Creates a deep copy of this element The new element is detached from its
+ parent, and getParent() on the clone will return null.
+ 
+<DT><A HREF="org/dom4j/Element.html#createCopy(java.lang.String)"><B>createCopy(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Creates a deep copy of this element with the given local name The new
+ element is detached from its parent, and getParent() on the clone will
+ return null.
+ 
+<DT><A HREF="org/dom4j/Element.html#createCopy(org.dom4j.QName)"><B>createCopy(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Creates a deep copy of this element with the given fully qualified name.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#createCopy()"><B>createCopy()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>
+ This returns a deep clone of this element. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#createCopy(java.lang.String)"><B>createCopy(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#createCopy(org.dom4j.QName)"><B>createCopy(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createDTD(org.dom4j.DocumentType)"><B>createDTD(DocumentType)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>DTD</CODE>event from a DOM4J <A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>.
+<DT><A HREF="org/dom4j/io/SAXReader.html#createDefaultEntityResolver(java.lang.String)"><B>createDefaultEntityResolver(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleManager.html#createDefaultRule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)"><B>createDefaultRule(Pattern, Action)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)"><B>createDocType(String, String, String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)"><B>createDocType(String, String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)"><B>createDocType(String, String, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createDocument()"><B>createDocument()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createDocument(java.lang.String)"><B>createDocument(String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/DocumentFactory.html#createDocument(org.dom4j.Element)"><B>createDocument(Element)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createDocument()"><B>createDocument()</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createDocument(org.dom4j.Element)"><B>createDocument(Element)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createDocument()"><B>createDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createDocument(java.lang.String, java.lang.String, org.w3c.dom.DocumentType)"><B>createDocument(String, String, DocumentType)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMReader.html#createDocument()"><B>createDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#createDocument()"><B>createDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createDocument()"><B>createDocument()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createDocument(org.dom4j.Element)"><B>createDocument(Element)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createDocumentFragment()"><B>createDocumentFragment()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createDocumentType(java.lang.String, java.lang.String, java.lang.String)"><B>createDocumentType(String, String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#createDomDocument(org.dom4j.Document)"><B>createDomDocument(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#createDomDocument(org.dom4j.Document, org.w3c.dom.DOMImplementation)"><B>createDomDocument(Document, DOMImplementation)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#createDomDocumentViaJAXP()"><B>createDomDocumentViaJAXP()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createElement(java.lang.String)"><B>createElement(String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createElement(java.lang.String, java.lang.String)"><B>createElement(String, String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createElement(java.lang.String)"><B>createElement(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanDocumentFactory.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanDocumentFactory.html#createElement(org.dom4j.QName, org.xml.sax.Attributes)"><B>createElement(QName, Attributes)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElementFactory.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createElement(java.lang.String)"><B>createElement(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createElement(org.dom4j.QName, int)"><B>createElement(QName, int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#createElement(javax.xml.stream.events.StartElement)"><B>createElement(StartElement)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a new DOM4J Element from the provided StartElement event. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#createElement(java.lang.String)"><B>createElement(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedDocumentFactory.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedDocumentFactory.html#createElement(org.dom4j.QName, int)"><B>createElement(QName, int)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NonLazyDocumentFactory.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createElement(java.lang.String)"><B>createElement(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataDocumentFactory.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataElement.html#createElement(java.lang.String)"><B>createElement(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataElement.html#createElement(org.dom4j.QName)"><B>createElement(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#createElementIndex()"><B>createElementIndex()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD>A Factory Method to create the index for elements
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createElementNS(java.lang.String, java.lang.String)"><B>createElementNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#createElementStack()"><B>createElementStack()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#createEmptyList()"><B>createEmptyList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>A Factory Method pattern which creates an empty a BackedList
+ implementation
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createEndDocument(org.dom4j.Document)"><B>createEndDocument(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>EndDocument</CODE>event from a DOM4J <A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createEndElement(org.dom4j.Element)"><B>createEndElement(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>EndElement</CODE>event from a DOM4J <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>.
+<DT><A HREF="org/dom4j/DocumentFactory.html#createEntity(java.lang.String, java.lang.String)"><B>createEntity(String, String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createEntity(java.lang.String, java.lang.String)"><B>createEntity(String, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createEntity(java.lang.String)"><B>createEntity(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createEntity(java.lang.String, java.lang.String)"><B>createEntity(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#createEntity(javax.xml.stream.events.EntityReference)"><B>createEntity(EntityReference)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a new DOM4J Entity from the provided StAX EntityReference
+ event.
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createEntity(java.lang.String, java.lang.String)"><B>createEntity(String, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createEntityReference(java.lang.String)"><B>createEntityReference(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html#createHashCode()"><B>createHashCode()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>Factory method to create the hashcode allowing derived classes to change
+ the behaviour
+<DT><A HREF="org/dom4j/tree/DefaultNamespace.html#createHashCode()"><B>createHashCode()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/util/IndexedElement.html#createIndex()"><B>createIndex()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD>Factory method to return a new map implementation for indices
+<DT><A HREF="org/dom4j/util/IndexedElement.html#createList()"><B>createList()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD>Factory method to return a list implementation for indices
+<DT><A HREF="org/dom4j/tree/QNameCache.html#createMap()"><B>createMap()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>A factory method
+<DT><A HREF="org/dom4j/rule/RuleManager.html#createMode()"><B>createMode()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD>A factory method to return a new <A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><CODE>Mode</CODE></A>instance which should add
+ the necessary default rules
+<DT><A HREF="org/dom4j/DocumentFactory.html#createNamespace(java.lang.String, java.lang.String)"><B>createNamespace(String, String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createNamespace(java.lang.String, java.lang.String)"><B>createNamespace(String, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createNamespace(java.lang.String, java.lang.String)"><B>createNamespace(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#createNamespace(javax.xml.stream.events.Namespace)"><B>createNamespace(Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a new DOM4J Namespace from the provided StAX Namespace event.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createNamespace(org.dom4j.Namespace)"><B>createNamespace(Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>Namespace</CODE>event from a
+ DOM4J <A HREF="org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>.
+<DT><A HREF="org/dom4j/tree/NamespaceCache.html#createNamespace(java.lang.String, java.lang.String)"><B>createNamespace(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A>
+<DD>A factory method to create <A HREF="org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>instance
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#createNamespace(java.lang.String, java.lang.String)"><B>createNamespace(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Factory method to creeate new Namespace instances. 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createNamespace(java.lang.String, java.lang.String)"><B>createNamespace(String, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#createNodeList(java.util.List)"><B>createNodeList(List)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createPattern(java.lang.String)"><B>createPattern(String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>
+ <code>createPattern</code> parses the given XPath expression to create
+ an XSLT style <A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A>instance which can then be used in an XSLT
+ processing model.
+ 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createPattern(java.lang.String)"><B>createPattern(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ <code>createPattern</code> parses the given XPath expression to create
+ an XSLT style <A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A>instance which can then be used in an XSLT
+ processing model.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)"><B>createPattern(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createPattern(java.lang.String)"><B>createPattern(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#createPrettyPrint()"><B>createPrettyPrint()</B></A> - 
+Static method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>A static helper method to create the default pretty printing format. 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)"><B>createProcessingInstruction(String, String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)"><B>createProcessingInstruction(String, Map)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createProcessingInstruction(java.lang.String, java.lang.String)"><B>createProcessingInstruction(String, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createProcessingInstruction(java.lang.String, java.util.Map)"><B>createProcessingInstruction(String, Map)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createProcessingInstruction(java.lang.String, java.lang.String)"><B>createProcessingInstruction(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)"><B>createProcessingInstruction(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)"><B>createProcessingInstruction(String, Map)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#createProcessingInstruction(javax.xml.stream.events.ProcessingInstruction)"><B>createProcessingInstruction(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a new DOM4J ProcessingInstruction from the provided StAX
+ ProcessingInstruction event.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createProcessingInstruction(org.dom4j.ProcessingInstruction)"><B>createProcessingInstruction(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>ProcessingInstruction</CODE>
+ event from a DOM4J <CODE>ProcessingInstruction</CODE>.
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)"><B>createProcessingInstruction(String, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)"><B>createProcessingInstruction(String, Map)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createQName(java.lang.String, org.dom4j.Namespace)"><B>createQName(String, Namespace)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createQName(java.lang.String)"><B>createQName(String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createQName(java.lang.String, java.lang.String, java.lang.String)"><B>createQName(String, String, String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createQName(java.lang.String, java.lang.String)"><B>createQName(String, String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createQName(java.lang.String, org.dom4j.Namespace)"><B>createQName(String, Namespace)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createQName(java.lang.String)"><B>createQName(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#createQName(javax.xml.namespace.QName)"><B>createQName(QName)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a new DOM4J QName from the provided JAXP QName.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createQName(org.dom4j.QName)"><B>createQName(QName)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>QName</CODE>from a DOM4J <A HREF="org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>.
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#createQName(java.lang.String, java.lang.String, org.dom4j.Namespace)"><B>createQName(String, String, Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Factory method to creeate new QName instances. 
+<DT><A HREF="org/dom4j/tree/QNameCache.html#createQName(java.lang.String)"><B>createQName(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>Factory method to create a new QName object which can be overloaded to
+ create derived QName instances
+<DT><A HREF="org/dom4j/tree/QNameCache.html#createQName(java.lang.String, org.dom4j.Namespace)"><B>createQName(String, Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>Factory method to create a new QName object which can be overloaded to
+ create derived QName instances
+<DT><A HREF="org/dom4j/tree/QNameCache.html#createQName(java.lang.String, org.dom4j.Namespace, java.lang.String)"><B>createQName(String, Namespace, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>Factory method to create a new QName object which can be overloaded to
+ create derived QName instances
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, org.dom4j.Namespace)"><B>createQName(String, Namespace)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String)"><B>createQName(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, java.lang.String, java.lang.String)"><B>createQName(String, String, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, java.lang.String)"><B>createQName(String, String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createQNameCache()"><B>createQNameCache()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>Factory method to create the QNameCache. 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#createReader(java.io.InputStream)"><B>createReader(InputStream)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>Factory method to create a Reader from the given InputStream.
+<DT><A HREF="org/dom4j/io/XPPReader.html#createReader(java.io.InputStream)"><B>createReader(InputStream)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>Factory method to create a Reader from the given InputStream.
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#createResultList()"><B>createResultList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>A Factory Method pattern which creates a BackedList implementation used
+ to store results of a filtered content query.
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#createSingleIterator(java.lang.Object)"><B>createSingleIterator(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#createSingleResultList(java.lang.Object)"><B>createSingleResultList(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>A Factory Method pattern which creates a BackedList implementation which
+ contains a single result
+<DT><A HREF="org/dom4j/DocumentFactory.html#createSingleton(java.lang.String)"><B>createSingleton(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>
+ <code>createSingleton</code> creates the singleton instance from the
+ given class name.
+ 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createStartDocument(org.dom4j.Document)"><B>createStartDocument(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>StartDocument</CODE>event from a DOM4J <A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#createStartElement(org.dom4j.Element)"><B>createStartElement(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a STAX <CODE>StartElement</CODE>event from a DOM4J <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>.
+<DT><A HREF="org/dom4j/DocumentFactory.html#createText(java.lang.String)"><B>createText(String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createText(java.lang.String)"><B>createText(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#createText(java.lang.String)"><B>createText(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#createText(java.lang.String)"><B>createText(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createText(java.lang.String)"><B>createText(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#createTextNode(java.lang.String)"><B>createTextNode(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#createWriter(java.io.OutputStream, java.lang.String)"><B>createWriter(OutputStream, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Get an OutputStreamWriter, use preferred encoding.
+<DT><A HREF="org/dom4j/io/SAXReader.html#createXMLReader()"><B>createXMLReader()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Factory Method to allow alternate methods of creating and configuring
+ XMLReader objects
+<DT><A HREF="org/dom4j/io/SAXValidator.html#createXMLReader()"><B>createXMLReader()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<DD>Factory Method to allow alternate methods of creating and configuring
+ XMLReader objects
+<DT><A HREF="org/dom4j/DocumentFactory.html#createXPath(java.lang.String)"><B>createXPath(String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance.
+ 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createXPath(java.lang.String, org.jaxen.VariableContext)"><B>createXPath(String, VariableContext)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance.
+ 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createXPath(java.lang.String)"><B>createXPath(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createXPath(java.lang.String, org.jaxen.VariableContext)"><B>createXPath(String, VariableContext)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ 
+<DT><A HREF="org/dom4j/Node.html#createXPath(java.lang.String)"><B>createXPath(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>createXPath</code> creates an XPath object for the given
+ xpathExpression. 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#createXPath(java.lang.String)"><B>createXPath(String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#createXPath(java.lang.String)"><B>createXPath(String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)"><B>createXPath(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createXPath(java.lang.String)"><B>createXPath(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createXPath(java.lang.String, org.jaxen.VariableContext)"><B>createXPath(String, VariableContext)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createXPathFilter(java.lang.String, org.jaxen.VariableContext)"><B>createXPathFilter(String, VariableContext)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression. 
+<DT><A HREF="org/dom4j/DocumentFactory.html#createXPathFilter(java.lang.String)"><B>createXPathFilter(String)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression. 
+<DT><A HREF="org/dom4j/DocumentHelper.html#createXPathFilter(java.lang.String)"><B>createXPathFilter(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression using the singleton <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>. 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)"><B>createXPathFilter(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createXPathFilter(java.lang.String, org.jaxen.VariableContext)"><B>createXPathFilter(String, VariableContext)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#createXPathFilter(java.lang.String)"><B>createXPathFilter(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html#createXPathResult(org.dom4j.Element)"><B>createXPathResult(Element)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)"><B>createXPathResult(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)"><B>createXPathResult(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightCDATA.html#createXPathResult(org.dom4j.Element)"><B>createXPathResult(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightComment.html#createXPathResult(org.dom4j.Element)"><B>createXPathResult(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightEntity.html#createXPathResult(org.dom4j.Element)"><B>createXPathResult(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#createXPathResult(org.dom4j.Element)"><B>createXPathResult(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightText.html#createXPathResult(org.dom4j.Element)"><B>createXPathResult(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_D_"><!-- --></A><H2>
+<B>D</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE"><B>DEFAULT_CONTENT_LIST_SIZE</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#DEFAULT_FORMAT"><B>DEFAULT_FORMAT</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#DEFAULT_HTML_FORMAT"><B>DEFAULT_HTML_FORMAT</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#DEFAULT_PREFORMATTED_TAGS"><B>DEFAULT_PREFORMATTED_TAGS</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Pattern.html#DEFAULT_PRIORITY"><B>DEFAULT_PRIORITY</B></A> - 
+Static variable in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>
+<DD>According to the <a href="http://www.w3.org/TR/xslt11/#conflict">spec
+ </a> we should return 0.5 if we cannot determine the priority
+<DT><A HREF="org/dom4j/Node.html#DOCUMENT_NODE"><B>DOCUMENT_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches Document nodes
+<DT><A HREF="org/dom4j/Node.html#DOCUMENT_TYPE_NODE"><B>DOCUMENT_TYPE_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches DocumentType nodes
+<DT><A HREF="org/dom4j/io/DocumentSource.html#DOM4J_FEATURE"><B>DOM4J_FEATURE</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>
+<DD>If <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/TransformerFactory.html#getFeature(java.lang.String)" title="class or interface in javax.xml.transform"><CODE>TransformerFactory.getFeature(java.lang.String)</CODE></A>returns
+ <code>true</code> when passed this value as an argument then the
+ Transformer natively supports <i>dom4j </i>.
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom"><B>DOMAttribute</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>.<DD>
+ <code>DOMAttribute</code> implements a doubly linked attribute which
+ supports the W3C DOM API.
+ <DT><A HREF="org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.QName)"><B>DOMAttribute(QName)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.QName, java.lang.String)"><B>DOMAttribute(QName, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>DOMAttribute(Element, QName, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom"><B>DOMAttributeNodeMap</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>.<DD>
+ <code>DOMAttributeNodeMap</code> implements a W3C NameNodeMap for the
+ attributes of an element.
+ <DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#DOMAttributeNodeMap(org.dom4j.dom.DOMElement)"><B>DOMAttributeNodeMap(DOMElement)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom"><B>DOMCDATA</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>.<DD>
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ <DT><A HREF="org/dom4j/dom/DOMCDATA.html#DOMCDATA(java.lang.String)"><B>DOMCDATA(String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#DOMCDATA(org.dom4j.Element, java.lang.String)"><B>DOMCDATA(Element, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom"><B>DOMComment</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>.<DD>
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ <DT><A HREF="org/dom4j/dom/DOMComment.html#DOMComment(java.lang.String)"><B>DOMComment(String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#DOMComment(org.dom4j.Element, java.lang.String)"><B>DOMComment(Element, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom"><B>DOMDocument</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>.<DD>
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ <DT><A HREF="org/dom4j/dom/DOMDocument.html#DOMDocument()"><B>DOMDocument()</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#DOMDocument(java.lang.String)"><B>DOMDocument(String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMElement)"><B>DOMDocument(DOMElement)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMDocumentType)"><B>DOMDocument(DOMDocumentType)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)"><B>DOMDocument(DOMElement, DOMDocumentType)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#DOMDocument(java.lang.String, org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)"><B>DOMDocument(String, DOMElement, DOMDocumentType)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom"><B>DOMDocumentFactory</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>.<DD>
+ <code>DOMDocumentFactory</code> is a factory of DOM4J objects which
+ implement the W3C DOM API.
+ <DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#DOMDocumentFactory()"><B>DOMDocumentFactory()</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom"><B>DOMDocumentType</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>.<DD>
+ <code>DOMDocumentType</code> implements a DocumentType node which supports
+ the W3C DOM API.
+ <DT><A HREF="org/dom4j/dom/DOMDocumentType.html#DOMDocumentType()"><B>DOMDocumentType()</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#DOMDocumentType(java.lang.String, java.lang.String)"><B>DOMDocumentType(String, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#DOMDocumentType(java.lang.String, java.lang.String, java.lang.String)"><B>DOMDocumentType(String, String, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom"><B>DOMElement</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>.<DD>
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ <DT><A HREF="org/dom4j/dom/DOMElement.html#DOMElement(java.lang.String)"><B>DOMElement(String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#DOMElement(org.dom4j.QName)"><B>DOMElement(QName)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#DOMElement(org.dom4j.QName, int)"><B>DOMElement(QName, int)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#DOMElement(java.lang.String, org.dom4j.Namespace)"><B>DOMElement(String, Namespace)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom"><B>DOMEntityReference</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>.<DD>
+ <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ API.
+ <DT><A HREF="org/dom4j/dom/DOMEntityReference.html#DOMEntityReference(java.lang.String)"><B>DOMEntityReference(String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#DOMEntityReference(java.lang.String, java.lang.String)"><B>DOMEntityReference(String, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#DOMEntityReference(org.dom4j.Element, java.lang.String, java.lang.String)"><B>DOMEntityReference(Element, String, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom"><B>DOMNamespace</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>.<DD>
+ <code>DOMNamespace</code> implements a Namespace that is compatable with
+ the DOM API.
+ <DT><A HREF="org/dom4j/dom/DOMNamespace.html#DOMNamespace(java.lang.String, java.lang.String)"><B>DOMNamespace(String, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#DOMNamespace(org.dom4j.Element, java.lang.String, java.lang.String)"><B>DOMNamespace(Element, String, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom"><B>DOMNodeHelper</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>.<DD>
+ <code>DOMNodeHelper</code> contains a collection of utility methods for use
+ across Node implementations.
+ <DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#DOMNodeHelper()"><B>DOMNodeHelper()</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom"><B>DOMNodeHelper.EmptyNodeList</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom">DOMNodeHelper.EmptyNodeList</A>.<DD> <DT><A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html#DOMNodeHelper.EmptyNodeList()"><B>DOMNodeHelper.EmptyNodeList()</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom">DOMNodeHelper.EmptyNodeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom"><B>DOMProcessingInstruction</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>.<DD>
+ <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ node which supports the W3C DOM API.
+ <DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#DOMProcessingInstruction(java.lang.String, java.util.Map)"><B>DOMProcessingInstruction(String, Map)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#DOMProcessingInstruction(java.lang.String, java.lang.String)"><B>DOMProcessingInstruction(String, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#DOMProcessingInstruction(org.dom4j.Element, java.lang.String, java.lang.String)"><B>DOMProcessingInstruction(Element, String, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io"><B>DOMReader</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>.<DD>
+ <code>DOMReader</code> navigates a W3C DOM tree and creates a DOM4J tree
+ from it.
+ <DT><A HREF="org/dom4j/io/DOMReader.html#DOMReader()"><B>DOMReader()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMReader.html#DOMReader(org.dom4j.DocumentFactory)"><B>DOMReader(DocumentFactory)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom"><B>DOMText</B></A> - class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>.<DD>
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ <DT><A HREF="org/dom4j/dom/DOMText.html#DOMText(java.lang.String)"><B>DOMText(String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#DOMText(org.dom4j.Element, java.lang.String)"><B>DOMText(Element, String)</B></A> - 
+Constructor for class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io"><B>DOMWriter</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>.<DD>
+ <code>DOMWriter</code> takes a DOM4J tree and outputs it as a W3C DOM
+ object
+ <DT><A HREF="org/dom4j/io/DOMWriter.html#DOMWriter()"><B>DOMWriter()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#DOMWriter(java.lang.Class)"><B>DOMWriter(Class)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype"><B>DatatypeAttribute</B></A> - class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>.<DD>
+ <code>DatatypeAttribute</code> represents an Attribute which supports the
+ <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ <DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#DatatypeAttribute(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)"><B>DatatypeAttribute(QName, XSDatatype)</B></A> - 
+Constructor for class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#DatatypeAttribute(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype, java.lang.String)"><B>DatatypeAttribute(QName, XSDatatype, String)</B></A> - 
+Constructor for class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype"><B>DatatypeDocumentFactory</B></A> - class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>.<DD>
+ <code>DatatypeDocumentFactory</code> is a factory of XML objects which
+ support the <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types
+ </a> specification.
+ <DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html#DatatypeDocumentFactory()"><B>DatatypeDocumentFactory()</B></A> - 
+Constructor for class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype"><B>DatatypeElement</B></A> - class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>.<DD>
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ <DT><A HREF="org/dom4j/datatype/DatatypeElement.html#DatatypeElement(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)"><B>DatatypeElement(QName, XSDatatype)</B></A> - 
+Constructor for class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#DatatypeElement(org.dom4j.QName, int, com.sun.msv.datatype.xsd.XSDatatype)"><B>DatatypeElement(QName, int, XSDatatype)</B></A> - 
+Constructor for class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype"><B>DatatypeElementFactory</B></A> - class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>.<DD>
+ <code>DatatypeElementFactory</code> is a factory for a specific Element in
+ an XML Schema.
+ <DT><A HREF="org/dom4j/datatype/DatatypeElementFactory.html#DatatypeElementFactory(org.dom4j.QName)"><B>DatatypeElementFactory(QName)</B></A> - 
+Constructor for class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><B>DefaultAttribute</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>.<DD>
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ <DT><A HREF="org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.QName)"><B>DefaultAttribute(QName)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.QName, java.lang.String)"><B>DefaultAttribute(QName, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><B>DefaultAttribute(Element, QName, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(java.lang.String, java.lang.String)"><B>DefaultAttribute(String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD>Creates the <code>Attribute</code> with the specified local name and
+ value.
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(java.lang.String, java.lang.String, org.dom4j.Namespace)"><B>DefaultAttribute(String, String, Namespace)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD>Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.Element, java.lang.String, java.lang.String, org.dom4j.Namespace)"><B>DefaultAttribute(Element, String, String, Namespace)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD>Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.
+<DT><A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><B>DefaultCDATA</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A>.<DD>
+ <code>DefaultCDATA</code> is the default CDATA implementation. <DT><A HREF="org/dom4j/tree/DefaultCDATA.html#DefaultCDATA(java.lang.String)"><B>DefaultCDATA(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/DefaultCDATA.html#DefaultCDATA(org.dom4j.Element, java.lang.String)"><B>DefaultCDATA(Element, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><B>DefaultComment</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A>.<DD>
+ <code>DefaultComment</code> is the default Comment implementation. <DT><A HREF="org/dom4j/tree/DefaultComment.html#DefaultComment(java.lang.String)"><B>DefaultComment(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/DefaultComment.html#DefaultComment(org.dom4j.Element, java.lang.String)"><B>DefaultComment(Element, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><B>DefaultDocument</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>.<DD>
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ <DT><A HREF="org/dom4j/tree/DefaultDocument.html#DefaultDocument()"><B>DefaultDocument()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#DefaultDocument(java.lang.String)"><B>DefaultDocument(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.Element)"><B>DefaultDocument(Element)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.DocumentType)"><B>DefaultDocument(DocumentType)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.Element, org.dom4j.DocumentType)"><B>DefaultDocument(Element, DocumentType)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#DefaultDocument(java.lang.String, org.dom4j.Element, org.dom4j.DocumentType)"><B>DefaultDocument(String, Element, DocumentType)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><B>DefaultDocumentType</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>.<DD>
+ <code>DefaultDocumentType</code> is the DOM4J default implementation of an
+ XML document type.
+ <DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#DefaultDocumentType()"><B>DefaultDocumentType()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#DefaultDocumentType(java.lang.String, java.lang.String)"><B>DefaultDocumentType(String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD>
+ This will create a new <code>DocumentType</code> with a reference to
+ the external DTD
+ 
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#DefaultDocumentType(java.lang.String, java.lang.String, java.lang.String)"><B>DefaultDocumentType(String, String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD>
+ This will create a new <code>DocumentType</code> with a reference to
+ the external DTD
+ 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>DefaultElement</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>.<DD>
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ <DT><A HREF="org/dom4j/tree/DefaultElement.html#DefaultElement(java.lang.String)"><B>DefaultElement(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#DefaultElement(org.dom4j.QName)"><B>DefaultElement(QName)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#DefaultElement(org.dom4j.QName, int)"><B>DefaultElement(QName, int)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#DefaultElement(java.lang.String, org.dom4j.Namespace)"><B>DefaultElement(String, Namespace)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><B>DefaultEntity</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>.<DD>
+ <code>DefaultEntity</code> is the default Entity implementation. <DT><A HREF="org/dom4j/tree/DefaultEntity.html#DefaultEntity(java.lang.String)"><B>DefaultEntity(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<DD>Creates the <code>Entity</code> with the specified name
+<DT><A HREF="org/dom4j/tree/DefaultEntity.html#DefaultEntity(java.lang.String, java.lang.String)"><B>DefaultEntity(String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<DD>Creates the <code>Entity</code> with the specified name and text.
+<DT><A HREF="org/dom4j/tree/DefaultEntity.html#DefaultEntity(org.dom4j.Element, java.lang.String, java.lang.String)"><B>DefaultEntity(Element, String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<DD>Creates the <code>Entity</code> with the specified name and text.
+<DT><A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><B>DefaultNamespace</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>.<DD>
+ <code>DefaultNamespace</code> implements a doubly linked node which
+ supports the parent relationship and is mutable. <DT><A HREF="org/dom4j/tree/DefaultNamespace.html#DefaultNamespace(java.lang.String, java.lang.String)"><B>DefaultNamespace(String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/DefaultNamespace.html#DefaultNamespace(org.dom4j.Element, java.lang.String, java.lang.String)"><B>DefaultNamespace(Element, String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath"><B>DefaultNamespaceContext</B></A> - class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A>.<DD>
+ <code>DefaultNamespaceContext</code> implements a Jaxen NamespaceContext
+ such that a context node is used to determine the current XPath namespace
+ prefixes and namespace URIs available.
+ <DT><A HREF="org/dom4j/xpath/DefaultNamespaceContext.html#DefaultNamespaceContext(org.dom4j.Element)"><B>DefaultNamespaceContext(Element)</B></A> - 
+Constructor for class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern"><B>DefaultPattern</B></A> - class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>.<DD>
+ <code>DefaultPattern</code> a default implementation of Pattern which can
+ take any XPath implementation or NodeFilter for defining the pattern.
+ <DT><A HREF="org/dom4j/rule/pattern/DefaultPattern.html#DefaultPattern(org.dom4j.NodeFilter)"><B>DefaultPattern(NodeFilter)</B></A> - 
+Constructor for class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><B>DefaultProcessingInstruction</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>.<DD>
+ <code>DefaultProcessingInstruction</code> is the default Processing
+ Instruction implementation. <DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#DefaultProcessingInstruction(java.lang.String, java.util.Map)"><B>DefaultProcessingInstruction(String, Map)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD>
+ This will create a new PI with the given target and values
+ 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#DefaultProcessingInstruction(java.lang.String, java.lang.String)"><B>DefaultProcessingInstruction(String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD>
+ This will create a new PI with the given target and values
+ 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#DefaultProcessingInstruction(org.dom4j.Element, java.lang.String, java.lang.String)"><B>DefaultProcessingInstruction(Element, String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD>
+ This will create a new PI with the given target and values
+ 
+<DT><A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><B>DefaultText</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A>.<DD>
+ <code>DefaultText</code> is the default Text implementation. <DT><A HREF="org/dom4j/tree/DefaultText.html#DefaultText(java.lang.String)"><B>DefaultText(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/DefaultText.html#DefaultText(org.dom4j.Element, java.lang.String)"><B>DefaultText(Element, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath"><B>DefaultXPath</B></A> - class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>.<DD>
+ Default implementation of <A HREF="org/dom4j/XPath.html" title="interface in org.dom4j"><CODE>XPath</CODE></A>which uses the <a
+ href="http://jaxen.org">Jaxen </a> project.
+ <DT><A HREF="org/dom4j/xpath/DefaultXPath.html#DefaultXPath(java.lang.String)"><B>DefaultXPath(String)</B></A> - 
+Constructor for class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD>Construct an XPath
+<DT><A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><B>Document</B></A> - interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>.<DD>
+ <code>Document</code> defines an XML Document.
+ <DT><A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j"><B>DocumentException</B></A> - exception org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>.<DD>
+ <code>DocumentException</code> is a nested Exception which may be thrown
+ during the processing of a DOM4J document.
+ <DT><A HREF="org/dom4j/DocumentException.html#DocumentException()"><B>DocumentException()</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentException.html#DocumentException(java.lang.String)"><B>DocumentException(String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentException.html#DocumentException(java.lang.Throwable)"><B>DocumentException(Throwable)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentException.html#DocumentException(java.lang.String, java.lang.Throwable)"><B>DocumentException(String, Throwable)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j"><B>DocumentFactory</B></A> - class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>.<DD>
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. <DT><A HREF="org/dom4j/DocumentFactory.html#DocumentFactory()"><B>DocumentFactory()</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j"><B>DocumentHelper</B></A> - class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>.<DD>
+ <code>DocumentHelper</code> is a collection of helper methods for using
+ DOM4J.
+ <DT><A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io"><B>DocumentResult</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io">DocumentResult</A>.<DD>
+ <code>DocumentResult</code> implements a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXResult</CODE></A>for a
+ <A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+ <DT><A HREF="org/dom4j/io/DocumentResult.html#DocumentResult()"><B>DocumentResult()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io">DocumentResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DocumentResult.html#DocumentResult(org.dom4j.io.SAXContentHandler)"><B>DocumentResult(SAXContentHandler)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io">DocumentResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io"><B>DocumentSource</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>.<DD>
+ <code>DocumentSource</code> implements a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for a
+ .
+ <DT><A HREF="org/dom4j/io/DocumentSource.html#DocumentSource(org.dom4j.Node)"><B>DocumentSource(Node)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>
+<DD>Creates a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for the given <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>.
+<DT><A HREF="org/dom4j/io/DocumentSource.html#DocumentSource(org.dom4j.Document)"><B>DocumentSource(Document)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>
+<DD>Creates a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for the given <A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+<DT><A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing"><B>DocumentTreeModel</B></A> - class org.dom4j.swing.<A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing">DocumentTreeModel</A>.<DD>
+ <code>DocumentTreeModel</code> implements a Swing TreeModel for a dom4j XML
+ Document.
+ <DT><A HREF="org/dom4j/swing/DocumentTreeModel.html#DocumentTreeModel(org.dom4j.Document)"><B>DocumentTreeModel(Document)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing">DocumentTreeModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j"><B>DocumentType</B></A> - interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>.<DD>
+ <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ <DT><A HREF="org/dom4j/Element.html#declaredNamespaces()"><B>declaredNamespaces()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns all the namespaces declared by this element. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#declaredNamespaces()"><B>declaredNamespaces()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#declaredNamespaces()"><B>declaredNamespaces()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#defaultMaximumAllowedCharacter()"><B>defaultMaximumAllowedCharacter()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Returns the maximum allowed character code that should be allowed
+ unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8
+ bit).
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#deleteData(int, int)"><B>deleteData(int, int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#deleteData(int, int)"><B>deleteData(int, int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#deleteData(org.dom4j.CharacterData, int, int)"><B>deleteData(CharacterData, int, int)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#deleteData(int, int)"><B>deleteData(int, int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#detach()"><B>detach()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ Removes this node from its parent if there is one. 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#detach()"><B>detach()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/DocumentTreeModel.html#document"><B>document</B></A> - 
+Variable in class org.dom4j.swing.<A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing">DocumentTreeModel</A>
+<DD>The document for this model
+<DT><A HREF="org/dom4j/io/SAXWriter.html#documentLocator(org.dom4j.Document)"><B>documentLocator(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>The <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Locator.html" title="class or interface in org.xml.sax"><CODE>Locator</CODE></A>is only really useful when parsing a
+ textual document as its main purpose is to identify the line and column
+ number. 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#dtdHandler(org.dom4j.Document)"><B>dtdHandler(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>We do not yet support DTD or XML Schemas so this method does nothing
+ right now.
+</DL>
+<HR>
+<A NAME="_E_"><!-- --></A><H2>
+<B>E</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/Node.html#ELEMENT_NODE"><B>ELEMENT_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches Element nodes
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#EMPTY_ENUMERATION"><B>EMPTY_ENUMERATION</B></A> - 
+Static variable in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR"><B>EMPTY_ITERATOR</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#EMPTY_ITERATOR"><B>EMPTY_ITERATOR</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#EMPTY_LIST"><B>EMPTY_LIST</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#EMPTY_LIST"><B>EMPTY_LIST</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#EMPTY_NODE_LIST"><B>EMPTY_NODE_LIST</B></A> - 
+Static variable in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#ENTITY_REFERENCE_NODE"><B>ENTITY_REFERENCE_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches elements nodes
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#ERROR_QNAME"><B>ERROR_QNAME</B></A> - 
+Static variable in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><B>Element</B></A> - interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>.<DD>
+ <code>Element</code> interface defines an XML element. <DT><A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd"><B>ElementDecl</B></A> - class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A>.<DD>
+ <code>AttributeDecl</code> represents an element declaration in a DTD.
+ <DT><A HREF="org/dom4j/dtd/ElementDecl.html#ElementDecl()"><B>ElementDecl()</B></A> - 
+Constructor for class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/ElementDecl.html#ElementDecl(java.lang.String, java.lang.String)"><B>ElementDecl(String, String)</B></A> - 
+Constructor for class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/ElementHandler.html" title="interface in org.dom4j"><B>ElementHandler</B></A> - interface org.dom4j.<A HREF="org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A>.<DD>
+ <code>ElementHandler</code> interface defines a handler of
+ <code>Element</code> objects. <DT><A HREF="org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree"><B>ElementIterator</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree">ElementIterator</A>.<DD><B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I><DT><A HREF="org/dom4j/tree/ElementIterator.html#ElementIterator(java.util.Iterator)"><B>ElementIterator(Iterator)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree">ElementIterator</A>
+<DD><B>Deprecated.</B>  
+<DT><A HREF="org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><B>ElementModifier</B></A> - interface org.dom4j.io.<A HREF="org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io">ElementModifier</A>.<DD>ElementModifier defines a modifier of <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>objects. <DT><A HREF="org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree"><B>ElementNameIterator</B></A> - cl [...]
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree">ElementNameIterator</A>
+<DD><B>Deprecated.</B>  
+<DT><A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j"><B>ElementPath</B></A> - interface org.dom4j.<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A>.<DD>This interface is used by <A HREF="org/dom4j/ElementHandler.html" title="interface in org.dom4j"><CODE>ElementHandler</CODE></A>instances to retrieve
+ information about the current path hierarchy they are to process. <DT><A HREF="org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree"><B>ElementQNameIterator</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree">ElementQNameIterator</A>.<DD><B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I><DT><A HREF="org/dom4j/tree/ElementQNameIterator.html#ElementQNameIterator(java.util.Iterator, org [...]
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree">ElementQNameIterator</A>
+<DD><B>Deprecated.</B>  
+<DT><A HREF="org/dom4j/Entity.html" title="interface in org.dom4j"><B>Entity</B></A> - interface org.dom4j.<A HREF="org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A>.<DD>
+ <code>Entity</code> defines an XML entity.
+ <DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd"><B>ExternalEntityDecl</B></A> - class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>.<DD>
+ <code>ExternalEntityDecl</code> represents an external entity declaration
+ in a DTD.
+ <DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html#ExternalEntityDecl()"><B>ExternalEntityDecl()</B></A> - 
+Constructor for class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html#ExternalEntityDecl(java.lang.String, java.lang.String, java.lang.String)"><B>ExternalEntityDecl(String, String, String)</B></A> - 
+Constructor for class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#element(java.lang.String)"><B>element(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns the first element for the given local name and any namespace.
+<DT><A HREF="org/dom4j/Element.html#element(org.dom4j.QName)"><B>element(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns the first element for the given fully qualified name.
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#element(java.lang.String)"><B>element(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#element(org.dom4j.QName)"><B>element(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#element(java.lang.String, org.dom4j.Namespace)"><B>element(String, Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#element(java.lang.String)"><B>element(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#element(org.dom4j.QName)"><B>element(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#element(java.lang.String, org.dom4j.Namespace)"><B>element(String, Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#element(java.lang.String)"><B>element(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#element(org.dom4j.QName)"><B>element(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#elementByID(java.lang.String)"><B>elementByID(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Returns the element of the given ID attribute value. 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#elementByID(java.lang.String)"><B>elementByID(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#elementDecl(java.lang.String, java.lang.String)"><B>elementDecl(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Report an element type declaration.
+ 
+ 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#elementDecl(java.lang.String, java.lang.String)"><B>elementDecl(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#elementID(org.dom4j.Element)"><B>elementID(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/util/IndexedElement.html#elementIndex()"><B>elementIndex()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#elementIterator()"><B>elementIterator()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns an iterator over all this elements child elements.
+<DT><A HREF="org/dom4j/Element.html#elementIterator(java.lang.String)"><B>elementIterator(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns an iterator over the elements contained in this element which
+ match the given local name and any namespace.
+<DT><A HREF="org/dom4j/Element.html#elementIterator(org.dom4j.QName)"><B>elementIterator(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns an iterator over the elements contained in this element which
+ match the given fully qualified name.
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elementIterator()"><B>elementIterator()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elementIterator(java.lang.String)"><B>elementIterator(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elementIterator(org.dom4j.QName)"><B>elementIterator(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elementIterator(java.lang.String, org.dom4j.Namespace)"><B>elementIterator(String, Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#elementName"><B>elementName</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD>The root element name of the document typ
+<DT><A HREF="org/dom4j/Element.html#elementText(java.lang.String)"><B>elementText(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#elementText(org.dom4j.QName)"><B>elementText(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elementText(java.lang.String)"><B>elementText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elementText(org.dom4j.QName)"><B>elementText(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#elementTextTrim(java.lang.String)"><B>elementTextTrim(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#elementTextTrim(org.dom4j.QName)"><B>elementTextTrim(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elementTextTrim(java.lang.String)"><B>elementTextTrim(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elementTextTrim(org.dom4j.QName)"><B>elementTextTrim(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#elements()"><B>elements()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the elements contained in this element. 
+<DT><A HREF="org/dom4j/Element.html#elements(java.lang.String)"><B>elements(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the elements contained in this element with the given local name
+ and any namespace. 
+<DT><A HREF="org/dom4j/Element.html#elements(org.dom4j.QName)"><B>elements(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the elements contained in this element with the given fully
+ qualified name. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elements()"><B>elements()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elements(java.lang.String)"><B>elements(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elements(org.dom4j.QName)"><B>elements(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#elements(java.lang.String, org.dom4j.Namespace)"><B>elements(String, Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#elements(java.lang.String)"><B>elements(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#elements(org.dom4j.QName)"><B>elements(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#encoding"><B>encoding</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD>The encoding of this document as stated in the XML declaration
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#endCDATA()"><B>endCDATA()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#endCDATA()"><B>endCDATA()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#endCDATA()"><B>endCDATA()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#endCDATA()"><B>endCDATA()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#endDTD()"><B>endDTD()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#endDTD()"><B>endDTD()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#endDTD()"><B>endDTD()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#endDocument()"><B>endDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#endDocument()"><B>endDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#endDocument()"><B>endDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#endDocument()"><B>endDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#endDocument()"><B>endDocument()</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Stop writing the document to the output. 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#endElement(java.lang.String, java.lang.String, java.lang.String)"><B>endElement(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#endElement(java.lang.String, java.lang.String, java.lang.String)"><B>endElement(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#endElement(org.dom4j.Element)"><B>endElement(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#endElement(java.lang.String, java.lang.String, java.lang.String)"><B>endElement(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#endEntity(java.lang.String)"><B>endEntity(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#endEntity(java.lang.String)"><B>endEntity(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#endEntity(java.lang.String)"><B>endEntity(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#endPrefixMapping(java.lang.String)"><B>endPrefixMapping(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#endPrefixMapping(java.lang.String)"><B>endPrefixMapping(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#endPrefixMapping(org.dom4j.tree.NamespaceStack, int)"><B>endPrefixMapping(NamespaceStack, int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Fires a SAX endPrefixMapping event for all the namespaceStack which have
+ gone out of scope
+<DT><A HREF="org/dom4j/io/XMLWriter.html#endPrefixMapping(java.lang.String)"><B>endPrefixMapping(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#ensureAttributesCapacity(int)"><B>ensureAttributesCapacity(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>Ensures that the list of attributes has the given size
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#ensureAttributesCapacity(int)"><B>ensureAttributesCapacity(int)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#entityResolver(org.dom4j.Document)"><B>entityResolver(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>Checks whether this Namespace equals the given Namespace. 
+<DT><A HREF="org/dom4j/QName.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultNamespace.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<DD>Implements an identity based comparsion using the parent element as well
+ as the prefix and URI
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#error(org.xml.sax.SAXParseException)"><B>error(SAXParseException)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>This method is called when an error is detected during parsing such as a
+ validation error. 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#error(org.xml.sax.SAXParseException)"><B>error(SAXParseException)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#escapeAttributeEntities(java.lang.String)"><B>escapeAttributeEntities(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>This will take the pre-defined entities in XML 1.0 and convert their
+ character representation to the appropriate entity reference, suitable
+ for XML attributes.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#escapeElementEntities(java.lang.String)"><B>escapeElementEntities(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>This will take the pre-defined entities in XML 1.0 and convert their
+ character representation to the appropriate entity reference, suitable
+ for XML attributes.
+<DT><A HREF="org/dom4j/XPath.html#evaluate(java.lang.Object)"><B>evaluate(Object)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>evaluate</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#evaluate(java.lang.Object)"><B>evaluate(Object)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)"><B>externalEntityDecl(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Report a parsed external entity declaration.
+ 
+ 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)"><B>externalEntityDecl(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_F_"><!-- --></A><H2>
+<B>F</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#FATALERROR_QNAME"><B>FATALERROR_QNAME</B></A> - 
+Static variable in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#FEATURE_NAMESPACES"><B>FEATURE_NAMESPACES</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#FEATURE_NAMESPACE_PREFIXES"><B>FEATURE_NAMESPACE_PREFIXES</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree"><B>FilterIterator</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A>.<DD><B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I><DT><A HREF="org/dom4j/tree/FilterIterator.html#FilterIterator(java.util.Iterator)"><B>FilterIterator(Iterator)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A>
+<DD><B>Deprecated.</B>  
+<DT><A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><B>FlyweightAttribute</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A>.<DD>
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ <DT><A HREF="org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(org.dom4j.QName)"><B>FlyweightAttribute(QName)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(org.dom4j.QName, java.lang.String)"><B>FlyweightAttribute(QName, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(java.lang.String, java.lang.String)"><B>FlyweightAttribute(String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A>
+<DD>Creates the <code>Attribute</code> with the specified local name and
+ value.
+<DT><A HREF="org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(java.lang.String, java.lang.String, org.dom4j.Namespace)"><B>FlyweightAttribute(String, String, Namespace)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A>
+<DD>Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.
+<DT><A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><B>FlyweightCDATA</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A>.<DD>
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ <DT><A HREF="org/dom4j/tree/FlyweightCDATA.html#FlyweightCDATA(java.lang.String)"><B>FlyweightCDATA(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><B>FlyweightComment</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A>.<DD>
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ <DT><A HREF="org/dom4j/tree/FlyweightComment.html#FlyweightComment(java.lang.String)"><B>FlyweightComment(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><B>FlyweightEntity</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>.<DD>
+ <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML entity.
+ <DT><A HREF="org/dom4j/tree/FlyweightEntity.html#FlyweightEntity()"><B>FlyweightEntity()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<DD>A default constructor for implementors to use.
+<DT><A HREF="org/dom4j/tree/FlyweightEntity.html#FlyweightEntity(java.lang.String)"><B>FlyweightEntity(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<DD>Creates the <code>Entity</code> with the specified name
+<DT><A HREF="org/dom4j/tree/FlyweightEntity.html#FlyweightEntity(java.lang.String, java.lang.String)"><B>FlyweightEntity(String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<DD>Creates the <code>Entity</code> with the specified name and text.
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><B>FlyweightProcessingInstruction</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>.<DD>
+ <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ implementation of a singly linked, read-only XML Processing Instruction.
+ <DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#FlyweightProcessingInstruction()"><B>FlyweightProcessingInstruction()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD>A default constructor for implementors to use.
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#FlyweightProcessingInstruction(java.lang.String, java.util.Map)"><B>FlyweightProcessingInstruction(String, Map)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD>
+ This will create a new PI with the given target and values
+ 
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#FlyweightProcessingInstruction(java.lang.String, java.lang.String)"><B>FlyweightProcessingInstruction(String, String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD>
+ This will create a new PI with the given target and values
+ 
+<DT><A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><B>FlyweightText</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A>.<DD>
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ <DT><A HREF="org/dom4j/tree/FlyweightText.html#FlyweightText(java.lang.String)"><B>FlyweightText(String)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#fatalError(org.xml.sax.SAXParseException)"><B>fatalError(SAXParseException)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>This method is called when a fatal error occurs during parsing. 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#fatalError(org.xml.sax.SAXParseException)"><B>fatalError(SAXParseException)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#findDefaultNamespace()"><B>findDefaultNamespace()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Attempts to find the current default namespace on the stack right now or
+ returns null if one could not be found
+<DT><A HREF="org/dom4j/tree/FilterIterator.html#findNext()"><B>findNext()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A>
+<DD><B>Deprecated.</B>  
+<DT><A HREF="org/dom4j/rule/Mode.html#fireRule(org.dom4j.Node)"><B>fireRule(Node)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD>Runs the actions associated with the given node
+<DT><A HREF="org/dom4j/io/XMLWriter.html#flush()"><B>flush()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Flushes the underlying Writer
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#foo()"><B>foo()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_G_"><!-- --></A><H2>
+<B>G</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/Namespace.html#get(java.lang.String, java.lang.String)"><B>get(String, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>A helper method to return the Namespace instance for the given prefix and
+ URI
+<DT><A HREF="org/dom4j/Namespace.html#get(java.lang.String)"><B>get(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>A helper method to return the Namespace instance for no prefix and the
+ URI
+<DT><A HREF="org/dom4j/QName.html#get(java.lang.String)"><B>get(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/QName.html#get(java.lang.String, org.dom4j.Namespace)"><B>get(String, Namespace)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/QName.html#get(java.lang.String, java.lang.String, java.lang.String)"><B>get(String, String, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/QName.html#get(java.lang.String, java.lang.String)"><B>get(String, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/QName.html#get(java.lang.String, org.dom4j.Namespace, java.lang.String)"><B>get(String, Namespace, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#get(int)"><B>get(int)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#get(java.lang.Class)"><B>get(Class)</B></A> - 
+Static method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD>Static helper method to find and cache meta data objects for bean types
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#get(int)"><B>get(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceCache.html#get(java.lang.String, java.lang.String)"><B>get(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/NamespaceCache.html#get(java.lang.String)"><B>get(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/QNameCache.html#get(java.lang.String)"><B>get(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/QNameCache.html#get(java.lang.String, org.dom4j.Namespace)"><B>get(String, Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/QNameCache.html#get(java.lang.String, org.dom4j.Namespace, java.lang.String)"><B>get(String, Namespace, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/QNameCache.html#get(java.lang.String, java.lang.String)"><B>get(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#getAction()"><B>getAction()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Getter for property action.
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#getAllowsChildren()"><B>getAllowsChildren()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#getAllowsChildren()"><B>getAllowsChildren()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#getAppearenceCount()"><B>getAppearenceCount()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Getter for property appearenceCount.
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeCount()"><B>getAttributeCount()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeLocalName(int)"><B>getAttributeLocalName(int)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getAttributeNS(java.lang.String, java.lang.String)"><B>getAttributeNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#getAttributeName()"><B>getAttributeName()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Getter for property attributeName.
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeNamespaceUri(int)"><B>getAttributeNamespaceUri(int)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getAttributeNode(java.lang.String)"><B>getAttributeNode(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getAttributeNodeNS(java.lang.String, java.lang.String)"><B>getAttributeNodeNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getAttributePrefix(int)"><B>getAttributePrefix(int)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#getAttributeQName(java.lang.String, java.lang.String, java.lang.String)"><B>getAttributeQName(String, String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#getAttributeQuoteCharacter()"><B>getAttributeQuoteCharacter()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeRawName(int)"><B>getAttributeRawName(int)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeValue(int)"><B>getAttributeValue(int)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeValueFromName(java.lang.String, java.lang.String)"><B>getAttributeValueFromName(String, String)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeValueFromRawName(java.lang.String)"><B>getAttributeValueFromRawName(String)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElementFactory.html#getAttributeXSDatatype(org.dom4j.QName)"><B>getAttributeXSDatatype(QName)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getAttributes(org.dom4j.Node)"><B>getAttributes(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#getBackingList()"><B>getBackingList()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#getBaseUri()"><B>getBaseUri()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#getBaseUri()"><B>getBaseUri()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#getBeanAttributeList()"><B>getBeanAttributeList()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#getChildAt(int)"><B>getChildAt(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#getChildAt(int)"><B>getChildAt(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#getChildCount()"><B>getChildCount()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#getChildCount()"><B>getChildCount()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElementFactory.html#getChildElementXSDatatype(org.dom4j.QName)"><B>getChildElementXSDatatype(QName)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#getChildList()"><B>getChildList()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD>Uses Lazy Initialization pattern to create a List of children
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getChildNodes(org.dom4j.Node)"><B>getChildNodes(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getChildNodes()"><B>getChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getColumn(int)"><B>getColumn(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getColumn(java.lang.String)"><B>getColumn(String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#getColumnClass()"><B>getColumnClass()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getColumnClass(int)"><B>getColumnClass(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#getColumnClass(int)"><B>getColumnClass(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getColumnCount()"><B>getColumnCount()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#getColumnCount()"><B>getColumnCount()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getColumnName(int)"><B>getColumnName(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#getColumnName(int)"><B>getColumnName(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#getColumnNameXPath()"><B>getColumnNameXPath()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getColumnNameXPath(int)"><B>getColumnNameXPath(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getColumnXPath(int)"><B>getColumnXPath(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#getCompareValue(org.dom4j.Node)"><B>getCompareValue(Node)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#getConsumer()"><B>getConsumer()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Returns a reference to the underlying event consumer to which events are
+ written.
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#getContentAsStringValue(java.lang.Object)"><B>getContentAsStringValue(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#getContentAsText(java.lang.Object)"><B>getContentAsText(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXWriter.html#getContentHandler()"><B>getContentHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#getContextSupport()"><B>getContextSupport()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataElement.html#getCopyOfUserData()"><B>getCopyOfUserData()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<DD>If a deep copy of user data is required whenever the clone() or
+ createCopy() methods are called on this element then this method should
+ return a clone of the user data
+<DT><A HREF="org/dom4j/ElementPath.html#getCurrent()"><B>getCurrent()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXWriter.html#getDTDHandler()"><B>getDTDHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/Attribute.html#getData()"><B>getData()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <A HREF="org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>.
+ 
+<DT><A HREF="org/dom4j/Element.html#getData()"><B>getData()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Accesses the data of this element which may implement data typing
+ bindings such as XML Schema or Java Bean bindings or will return the same
+ value as <A HREF="org/dom4j/Element.html#getText()"><CODE>Element.getText()</CODE></A>
+<DT><A HREF="org/dom4j/bean/BeanAttribute.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#getData(int)"><B>getData(int)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#getData(int, java.lang.Object)"><B>getData(int, Object)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getData(org.dom4j.CharacterData)"><B>getData(CharacterData)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataAttribute.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataElement.html#getData()"><B>getData()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#getDefaultNamespace()"><B>getDefaultNamespace()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#getDefinition()"><B>getDefinition()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD>Getter for property definition.
+<DT><A HREF="org/dom4j/io/SAXReader.html#getDispatchHandler()"><B>getDispatchHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#getDispatchHandler()"><B>getDispatchHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPPReader.html#getDispatchHandler()"><B>getDispatchHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/Document.html#getDocType()"><B>getDocType()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#getDocType()"><B>getDocType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getDoctype()"><B>getDoctype()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#getDocument()"><B>getDocument()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ 
+<DT><A HREF="org/dom4j/io/DocumentResult.html#getDocument()"><B>getDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io">DocumentResult</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/DocumentSource.html#getDocument()"><B>getDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#getDocument()"><B>getDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/swing/DocumentTreeModel.html#getDocument()"><B>getDocument()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing">DocumentTreeModel</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#getDocument()"><B>getDocument()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getDocument()"><B>getDocument()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#getDocument()"><B>getDocument()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#getDocument()"><B>getDocument()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getDocumentElement()"><B>getDocumentElement()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/QName.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/bean/BeanElement.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMReader.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXModifier.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Get the <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>used to create the DOM4J
+ document structure
+<DT><A HREF="org/dom4j/io/SAXReader.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/XPPReader.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getDocumentFactory()"><B>getDocumentFactory()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#getDomDocumentClass()"><B>getDomDocumentClass()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/ElementPath.html#getElement(int)"><B>getElement(int)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getElement()"><B>getElement()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getElementById(java.lang.String)"><B>getElementById(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html#getElementFactory(org.dom4j.QName)"><B>getElementFactory(QName)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<DD>Registers the given <code>DatatypeElementFactory</code> for the given
+ <element> schema element
+<DT><A HREF="org/dom4j/DocumentType.html#getElementName()"><B>getElementName()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD>This method is the equivalent to the <A HREF="org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>method. 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#getElementName()"><B>getElementName()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Getter for property elementName.
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#getElementName()"><B>getElementName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#getElementStack()"><B>getElementStack()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getElementsByTagName(java.lang.String)"><B>getElementsByTagName(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getElementsByTagName(java.lang.String)"><B>getElementsByTagName(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getElementsByTagNameNS(java.lang.String, java.lang.String)"><B>getElementsByTagNameNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getElementsByTagNameNS(java.lang.String, java.lang.String)"><B>getElementsByTagNameNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#getEncoding()"><B>getEncoding()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#getEncoding()"><B>getEncoding()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Returns encoding used for InputSource (null means system default
+ encoding)
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getEntities()"><B>getEntities()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/Document.html#getEntityResolver()"><B>getEntityResolver()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#getEntityResolver()"><B>getEntityResolver()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#getEntityResolver()"><B>getEntityResolver()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Returns the current entity resolver used to resolve entities
+<DT><A HREF="org/dom4j/io/SAXWriter.html#getEntityResolver()"><B>getEntityResolver()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#getEntityResolver()"><B>getEntityResolver()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#getErrorHandler()"><B>getErrorHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXValidator.html#getErrorHandler()"><B>getErrorHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXWriter.html#getErrorHandler()"><B>getErrorHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#getErrorQName()"><B>getErrorQName()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#getErrors()"><B>getErrors()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#getEventFactory()"><B>getEventFactory()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Returns a reference to the event factory used to construct STAX events.
+<DT><A HREF="org/dom4j/DocumentType.html#getExternalDeclarations()"><B>getExternalDeclarations()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD>Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#getExternalDeclarations()"><B>getExternalDeclarations()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#getFatalErrorQName()"><B>getFatalErrorQName()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#getFeature(java.lang.String)"><B>getFeature(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Looks up the value of a feature.
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getFirstChild(org.dom4j.Node)"><B>getFirstChild(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getFirstChild()"><B>getFirstChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPath.html#getFunctionContext()"><B>getFunctionContext()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#getFunctionContext()"><B>getFunctionContext()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLResult.html#getHandler()"><B>getHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getImplementation()"><B>getImplementation()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#getImportPrecedence()"><B>getImportPrecedence()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Getter for property importPrecedence.
+<DT><A HREF="org/dom4j/io/OutputFormat.html#getIndent()"><B>getIndent()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#getIndex(java.lang.String)"><B>getIndex(String)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#getIndex(org.dom4j.QName)"><B>getIndex(QName)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#getIndex(javax.swing.tree.TreeNode)"><B>getIndex(TreeNode)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#getIndex(javax.swing.tree.TreeNode)"><B>getIndex(TreeNode)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#getInputSource()"><B>getInputSource()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#getInstance()"><B>getInstance()</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>
+ Access to singleton implementation of DocumentFactory which is used if no
+ DocumentFactory is specified when building using the standard builders.
+ 
+<DT><A HREF="org/dom4j/bean/BeanDocumentFactory.html#getInstance()"><B>getInstance()</B></A> - 
+Static method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>
+<DD>
+ Access to the singleton instance of this factory.
+ 
+<DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html#getInstance()"><B>getInstance()</B></A> - 
+Static method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<DD>
+ Access to the singleton instance of this factory.
+ 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#getInstance()"><B>getInstance()</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD>
+ Access to the singleton instance of this factory.
+ 
+<DT><A HREF="org/dom4j/util/IndexedDocumentFactory.html#getInstance()"><B>getInstance()</B></A> - 
+Static method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A>
+<DD>
+ Access to the singleton instance of this factory.
+ 
+<DT><A HREF="org/dom4j/util/NonLazyDocumentFactory.html#getInstance()"><B>getInstance()</B></A> - 
+Static method in class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A>
+<DD>
+ Access to the singleton instance of this factory.
+ 
+<DT><A HREF="org/dom4j/util/UserDataDocumentFactory.html#getInstance()"><B>getInstance()</B></A> - 
+Static method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A>
+<DD>
+ Access to the singleton instance of this factory.
+ 
+<DT><A HREF="org/dom4j/DocumentType.html#getInternalDeclarations()"><B>getInternalDeclarations()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD>Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#getInternalDeclarations()"><B>getInternalDeclarations()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getInternalSubset()"><B>getInternalSubset()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#getKey()"><B>getKey()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getLastChild(org.dom4j.Node)"><B>getLastChild(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getLastChild()"><B>getLastChild()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#getLength()"><B>getLength()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getLength()"><B>getLength()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getLength()"><B>getLength()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html#getLength()"><B>getLength()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom">DOMNodeHelper.EmptyNodeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getLength(org.dom4j.CharacterData)"><B>getLength(CharacterData)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getLength()"><B>getLength()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#getLexicalHandler()"><B>getLexicalHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/XMLResult.html#getLexicalHandler()"><B>getLexicalHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#getLexicalHandler()"><B>getLexicalHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#getLineSeparator()"><B>getLineSeparator()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getLocalName(org.dom4j.Node)"><B>getLocalName(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Pattern.html#getMatchType()"><B>getMatchType()</B></A> - 
+Method in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/rule/Rule.html#getMatchType()"><B>getMatchType()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/rule/pattern/DefaultPattern.html#getMatchType()"><B>getMatchType()</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#getMatchType()"><B>getMatchType()</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#getMatchType()"><B>getMatchType()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Pattern.html#getMatchesNodeName()"><B>getMatchesNodeName()</B></A> - 
+Method in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>
+<DD>For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ 
+<DT><A HREF="org/dom4j/rule/Rule.html#getMatchesNodeName()"><B>getMatchesNodeName()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ 
+<DT><A HREF="org/dom4j/rule/pattern/DefaultPattern.html#getMatchesNodeName()"><B>getMatchesNodeName()</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#getMatchesNodeName()"><B>getMatchesNodeName()</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#getMatchesNodeName()"><B>getMatchesNodeName()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Mode.html#getMatchingRule(org.dom4j.Node)"><B>getMatchingRule(Node)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD>Performs an XSLT processing model match for the rule which matches the
+ given Node the best.
+<DT><A HREF="org/dom4j/rule/RuleManager.html#getMatchingRule(java.lang.String, org.dom4j.Node)"><B>getMatchingRule(String, Node)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD>Performs an XSLT processing model match for the rule which matches the
+ given Node the best.
+<DT><A HREF="org/dom4j/rule/RuleSet.html#getMatchingRule(org.dom4j.Node)"><B>getMatchingRule(Node)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A>
+<DD>Performs an XSLT processing model match for the rule which matches the
+ given Node the best.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#getMaximumAllowedCharacter()"><B>getMaximumAllowedCharacter()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Returns the maximum allowed character code that should be allowed
+ unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8
+ bit).
+<DT><A HREF="org/dom4j/DocumentException.html#getMessage()"><B>getMessage()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#getMode()"><B>getMode()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Getter for property mode.
+<DT><A HREF="org/dom4j/rule/RuleManager.html#getMode(java.lang.String)"><B>getMode(String)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#getModeName()"><B>getModeName()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dtd/ElementDecl.html#getModel()"><B>getModel()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A>
+<DD>Getter for property model.
+<DT><A HREF="org/dom4j/Node.html#getName()"><B>getName()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>getName</code> returns the name of this node. 
+<DT><A HREF="org/dom4j/QName.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dtd/ElementDecl.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A>
+<DD>Getter for property name.
+<DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<DD>Getter for property name.
+<DT><A HREF="org/dom4j/dtd/InternalEntityDecl.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A>
+<DD>Getter for property name.
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD>Getter for property name.
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightEntity.html#getName()"><B>getName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#getNamedItem(java.lang.String)"><B>getNamedItem(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#getNamedItemNS(java.lang.String, java.lang.String)"><B>getNamedItemNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+<DT><A HREF="org/dom4j/Attribute.html#getNamespace()"><B>getNamespace()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise null is returned returned.
+ 
+<DT><A HREF="org/dom4j/Element.html#getNamespace()"><B>getNamespace()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise <code>Namespace.NO_NAMESPACE</code> is returned.
+ 
+<DT><A HREF="org/dom4j/QName.html#getNamespace()"><B>getNamespace()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/DOMReader.html#getNamespace(java.lang.String, java.lang.String)"><B>getNamespace(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getNamespace()"><B>getNamespace()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getNamespace()"><B>getNamespace()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#getNamespace(int)"><B>getNamespace(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#getNamespaceCache()"><B>getNamespaceCache()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/QNameCache.html#getNamespaceCache(org.dom4j.Namespace)"><B>getNamespaceCache(Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/XPath.html#getNamespaceContext()"><B>getNamespaceContext()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#getNamespaceContext()"><B>getNamespaceContext()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#getNamespaceForPrefix(java.lang.String)"><B>getNamespaceForPrefix(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the <code>Namespace</code> which is mapped to the given prefix
+ or null if it could not be found.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getNamespaceForPrefix(java.lang.String)"><B>getNamespaceForPrefix(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#getNamespaceForPrefix(java.lang.String)"><B>getNamespaceForPrefix(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#getNamespaceForPrefix(java.lang.String)"><B>getNamespaceForPrefix(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/Element.html#getNamespaceForURI(java.lang.String)"><B>getNamespaceForURI(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the <code>Namespace</code> which is mapped to the given URI or
+ null if it could not be found. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getNamespaceForURI(java.lang.String)"><B>getNamespaceForURI(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#getNamespaceForURI(java.lang.String)"><B>getNamespaceForURI(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Attribute.html#getNamespacePrefix()"><B>getNamespacePrefix()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ 
+<DT><A HREF="org/dom4j/Element.html#getNamespacePrefix()"><B>getNamespacePrefix()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ 
+<DT><A HREF="org/dom4j/QName.html#getNamespacePrefix()"><B>getNamespacePrefix()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#getNamespacePrefix(java.lang.String)"><B>getNamespacePrefix(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#getNamespacePrefix(java.lang.String)"><B>getNamespacePrefix(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getNamespacePrefix()"><B>getNamespacePrefix()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getNamespacePrefix()"><B>getNamespacePrefix()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Attribute.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ 
+<DT><A HREF="org/dom4j/Element.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ 
+<DT><A HREF="org/dom4j/QName.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getNamespaceURI(org.dom4j.Node)"><B>getNamespaceURI(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getNamespaceURI()"><B>getNamespaceURI()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getNamespaceUri()"><B>getNamespaceUri()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#getNamespacesForURI(java.lang.String)"><B>getNamespacesForURI(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the all namespaces which are mapped to the given URI or an empty
+ list if no such namespaces could be found.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getNamespacesForURI(java.lang.String)"><B>getNamespacesForURI(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentException.html#getNestedException()"><B>getNestedException()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#getNewLineAfterNTags()"><B>getNewLineAfterNTags()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getNextSibling(org.dom4j.Node)"><B>getNextSibling(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getNextSibling()"><B>getNextSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getNodeName()"><B>getNodeName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Returns the code according to the type of node. 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractCDATA.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractComment.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractEntity.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractText.html#getNodeType()"><B>getNodeType()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#getNodeTypeName()"><B>getNodeTypeName()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getNodeTypeName()"><B>getNodeTypeName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getNodeValue(org.dom4j.Node)"><B>getNodeValue(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getNodeValue()"><B>getNodeValue()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getNotations()"><B>getNotations()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#getOmitElementCloseSet()"><B>getOmitElementCloseSet()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD>A clone of the Set of elements that can have their close-tags omitted. 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#getOutputFormat()"><B>getOutputFormat()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Lets subclasses get at the current format object, so they can call
+ setTrimText, setNewLines, etc. 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#getOutputFormat()"><B>getOutputFormat()</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Returns the OutputFormat that will be used when writing the XML stream.
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getOwnerDocument(org.dom4j.Node)"><B>getOwnerDocument(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getOwnerDocument()"><B>getOwnerDocument()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getOwnerElement()"><B>getOwnerElement()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#getParent()"><B>getParent()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ 
+<DT><A HREF="org/dom4j/bean/BeanAttribute.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultCDATA.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultComment.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultEntity.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultNamespace.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultText.html#getParent()"><B>getParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getParentNode(org.dom4j.Node)"><B>getParentNode(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getParentNode()"><B>getParentNode()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/ElementPath.html#getPath()"><B>getPath()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/Namespace.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#getPath()"><B>getPath()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ Returns the XPath expression which will return a node set containing the
+ given node such as /a/b/@c. 
+<DT><A HREF="org/dom4j/Node.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractComment.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractEntity.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getPath()"><B>getPath()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#getPath(org.dom4j.Element)"><B>getPath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#getPattern()"><B>getPattern()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Getter for property pattern.
+<DT><A HREF="org/dom4j/Namespace.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getPrefix(org.dom4j.Node)"><B>getPrefix(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getPrefix()"><B>getPrefix()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#getPreformattedTags()"><B>getPreformattedTags()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#getPreviousSibling(org.dom4j.Node)"><B>getPreviousSibling(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#getPreviousSibling()"><B>getPreviousSibling()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Pattern.html#getPriority()"><B>getPriority()</B></A> - 
+Method in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>
+<DD>Returns the default resolution policy of the pattern according to the <a
+ href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+ spec </a>.
+<DT><A HREF="org/dom4j/rule/Rule.html#getPriority()"><B>getPriority()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Getter for property priority.
+<DT><A HREF="org/dom4j/rule/pattern/DefaultPattern.html#getPriority()"><B>getPriority()</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#getPriority()"><B>getPriority()</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#getPriority()"><B>getPriority()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#getProperty(java.lang.String)"><B>getProperty(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Gets the given SAX property
+<DT><A HREF="org/dom4j/io/XMLWriter.html#getProperty(java.lang.String)"><B>getProperty(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#getProxy()"><B>getProxy()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentType.html#getPublicID()"><B>getPublicID()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html#getPublicID()"><B>getPublicID()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<DD>Getter for property publicID.
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#getPublicID()"><B>getPublicID()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getPublicId()"><B>getPublicId()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/Attribute.html#getQName()"><B>getQName()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ 
+<DT><A HREF="org/dom4j/Element.html#getQName()"><B>getQName()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the <code>QName</code> of this element which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ 
+<DT><A HREF="org/dom4j/Element.html#getQName(java.lang.String)"><B>getQName(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the <code>QName</code> for the given qualified name, using the
+ namespace URI in scope for the given prefix of the qualified name or the
+ default namespace if the qualified name has no prefix.
+ 
+<DT><A HREF="org/dom4j/bean/BeanAttribute.html#getQName()"><B>getQName()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#getQName(int)"><B>getQName(int)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#getQName(int)"><B>getQName(int)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#getQName()"><B>getQName()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElementFactory.html#getQName()"><B>getQName()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getQName(java.lang.String, java.lang.String)"><B>getQName(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getQName(java.lang.String)"><B>getQName(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#getQName()"><B>getQName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#getQName()"><B>getQName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightAttribute.html#getQName()"><B>getQName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#getQName(java.lang.String, java.lang.String, java.lang.String)"><B>getQName(String, String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#getQNames()"><B>getQNames()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>Returns a list of all the QName instances currently used by this document
+ factory
+<DT><A HREF="org/dom4j/tree/QNameCache.html#getQNames()"><B>getQNames()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>Returns a list of all the QName instances currently used
+<DT><A HREF="org/dom4j/Attribute.html#getQualifiedName()"><B>getQualifiedName()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Returns the fully qualified name of this element.
+ 
+<DT><A HREF="org/dom4j/Element.html#getQualifiedName()"><B>getQualifiedName()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns the fully qualified name of this element. 
+<DT><A HREF="org/dom4j/QName.html#getQualifiedName()"><B>getQualifiedName()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getQualifiedName()"><B>getQualifiedName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getQualifiedName()"><B>getQualifiedName()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#getRawName()"><B>getRawName()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/Document.html#getRootElement()"><B>getRootElement()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Returns the root <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>for this document.
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#getRootElement()"><B>getRootElement()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#getRowCount()"><B>getRowCount()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#getRowValue(int)"><B>getRowValue(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getRowXPath()"><B>getRowXPath()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD>Getter for property rowXPath.
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#getRows()"><B>getRows()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleSet.html#getRuleArray()"><B>getRuleArray()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A>
+<DD>Returns an array of sorted rules.
+<DT><A HREF="org/dom4j/rule/Mode.html#getRuleSet(int)"><B>getRuleSet(int)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#getSource()"><B>getSource()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD>Getter for the XML source, which is usually a Node or List of nodes.
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#getSpecified()"><B>getSpecified()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#getStringValue()"><B>getStringValue()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns the XPath string-value of this node. 
+<DT><A HREF="org/dom4j/Namespace.html#getStringValue()"><B>getStringValue()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#getStringValue()"><B>getStringValue()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Returns the XPath string-value of this node. 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#getStringValue()"><B>getStringValue()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getStringValue()"><B>getStringValue()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractEntity.html#getStringValue()"><B>getStringValue()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getStringValue()"><B>getStringValue()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#getStringValue()"><B>getStringValue()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentType.html#getSystemID()"><B>getSystemID()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html#getSystemID()"><B>getSystemID()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<DD>Getter for property systemID.
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#getSystemID()"><B>getSystemID()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#getSystemId()"><B>getSystemId()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#getTagName()"><B>getTagName()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/ProcessingInstruction.html#getTarget()"><B>getTarget()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>
+<DD>This method is the equivalent to the <A HREF="org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>method. 
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#getTarget()"><B>getTarget()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#getText()"><B>getText()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns the text value of this element without recursing through child
+ elements. 
+<DT><A HREF="org/dom4j/Namespace.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#getText()"><B>getText()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ Returns the text of this node.
+ 
+<DT><A HREF="org/dom4j/ProcessingInstruction.html#getText()"><B>getText()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/XPath.html#getText()"><B>getText()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>getText</code> will return the textual version of the XPath
+ expression.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD>Returns the text format of the declarations if applicable, or the empty
+ String
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightCDATA.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightComment.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightEntity.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightText.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD>Retrieve the textual XPath string used to initialize this Object
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#getText()"><B>getText()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#getTextTrim()"><B>getTextTrim()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#getTextTrim()"><B>getTextTrim()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#getType()"><B>getType()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Getter for property type.
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#getType()"><B>getType()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD>Getter for property type.
+<DT><A HREF="org/dom4j/Namespace.html#getURI()"><B>getURI()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#getURI(java.lang.String)"><B>getURI(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/NamespaceCache.html#getURICache(java.lang.String)"><B>getURICache(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/rule/Pattern.html#getUnionPatterns()"><B>getUnionPatterns()</B></A> - 
+Method in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>
+<DD>If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. 
+<DT><A HREF="org/dom4j/rule/pattern/DefaultPattern.html#getUnionPatterns()"><B>getUnionPatterns()</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#getUnionPatterns()"><B>getUnionPatterns()</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#getUnionPatterns()"><B>getUnionPatterns()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#getUnionRules()"><B>getUnionRules()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>If this rule contains a union pattern then this method should return an
+ array of Rules which describe the union rule, which should contain more
+ than one rule. 
+<DT><A HREF="org/dom4j/Namespace.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#getUniquePath()"><B>getUniquePath()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ Returns the XPath expression which will return a nodeset of one node
+ which is the current node. 
+<DT><A HREF="org/dom4j/Node.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractComment.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractEntity.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#getUniquePath()"><B>getUniquePath()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#getUniquePath(org.dom4j.Element)"><B>getUniquePath(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/Attribute.html#getValue()"><B>getValue()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Returns the value of the attribute. 
+<DT><A HREF="org/dom4j/ProcessingInstruction.html#getValue(java.lang.String)"><B>getValue(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>
+<DD>
+ Returns the value of a specific name in the PI.
+ 
+<DT><A HREF="org/dom4j/bean/BeanAttribute.html#getValue()"><B>getValue()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#getValue()"><B>getValue()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#getValue()"><B>getValue()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Getter for property value.
+<DT><A HREF="org/dom4j/dtd/InternalEntityDecl.html#getValue()"><B>getValue()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A>
+<DD>Getter for property value.
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#getValue(java.lang.Object)"><B>getValue(Object)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#getValue()"><B>getValue()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD>Get the value. 
+<DT><A HREF="org/dom4j/tree/FlyweightAttribute.html#getValue()"><B>getValue()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#getValue(java.lang.String)"><B>getValue(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getValueAt(java.lang.Object, int)"><B>getValueAt(Object, int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#getValueAt(int, int)"><B>getValueAt(int, int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#getValueDefault()"><B>getValueDefault()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Getter for property valueDefault.
+<DT><A HREF="org/dom4j/rule/RuleManager.html#getValueOfAction()"><B>getValueOfAction()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#getValueOfAction()"><B>getValueOfAction()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/ProcessingInstruction.html#getValues()"><B>getValues()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#getValues()"><B>getValues()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPath.html#getVariableContext()"><B>getVariableContext()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#getVariableContext()"><B>getVariableContext()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#getVariableValue(java.lang.String, java.lang.String, java.lang.String)"><B>getVariableValue(String, String, String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#getWarningQName()"><B>getWarningQName()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/Document.html#getXMLEncoding()"><B>getXMLEncoding()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Return the encoding of this document, as part of the XML declaration This
+ is <code>null</code> when unspecified or when it is not known (such as
+ when the Document was created in memory) or when the implementation does
+ not support this operation.
+ 
+ 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#getXMLEncoding()"><B>getXMLEncoding()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#getXMLEncoding()"><B>getXMLEncoding()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#getXMLFilter()"><B>getXMLFilter()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Returns the SAX filter being used to filter SAX events.
+<DT><A HREF="org/dom4j/io/DocumentSource.html#getXMLReader()"><B>getXMLReader()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXReader.html#getXMLReader()"><B>getXMLReader()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXValidator.html#getXMLReader()"><B>getXMLReader()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXModifier.html#getXMLWriter()"><B>getXMLWriter()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Returns the current <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLResult.html#getXMLWriter()"><B>getXMLWriter()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#getXPPFactory()"><B>getXPPFactory()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPPReader.html#getXPPFactory()"><B>getXPPFactory()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#getXPPParser()"><B>getXPPParser()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPPReader.html#getXPPParser()"><B>getXPPParser()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPathException.html#getXPath()"><B>getXPath()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A>
+<DD>Returns the XPath expression that caused the problem
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#getXPath()"><B>getXPath()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD>Getter for property xpath.
+<DT><A HREF="org/dom4j/Namespace.html#getXPathNameStep()"><B>getXPathNameStep()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getXPathNameStep()"><B>getXPathNameStep()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>Returns the XPath expression to match this Elements name which is
+ getQualifiedName() if there is a namespace prefix defined or if no
+ namespace is present then it is getName() or if a namespace is defined
+ with no prefix then the expression is [name()='X'] where X = getName().
+<DT><A HREF="org/dom4j/DocumentFactory.html#getXPathNamespaceURIs()"><B>getXPathNamespaceURIs()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/Element.html#getXPathResult(int)"><B>getXPathResult(int)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Returns a node at the given index suitable for an XPath result set. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#getXPathResult(int)"><B>getXPathResult(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#getXSDatatype()"><B>getXSDatatype()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD>Returns the MSV XSDatatype for this node
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#getXSDatatype()"><B>getXSDatatype()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD>Returns the MSV XSDatatype for this node
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#getXmlBranch()"><B>getXmlBranch()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#getXmlNode()"><B>getXmlNode()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_H_"><!-- --></A><H2>
+<B>H</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io"><B>HTMLWriter</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>.<DD>
+ <code>HTMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ HTML. <DT><A HREF="org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.Writer)"><B>HTMLWriter(Writer)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.Writer, org.dom4j.io.OutputFormat)"><B>HTMLWriter(Writer, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#HTMLWriter()"><B>HTMLWriter()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#HTMLWriter(org.dom4j.io.OutputFormat)"><B>HTMLWriter(OutputFormat)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.OutputStream)"><B>HTMLWriter(OutputStream)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.OutputStream, org.dom4j.io.OutputFormat)"><B>HTMLWriter(OutputStream, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanDocumentFactory.html#handleException(java.lang.Exception)"><B>handleException(Exception)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#handleException(java.lang.Exception)"><B>handleException(Exception)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#handleException(java.io.IOException)"><B>handleException(IOException)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#handleException(java.lang.Exception)"><B>handleException(Exception)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#handleException(java.lang.Exception)"><B>handleException(Exception)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#handleException(java.lang.Exception)"><B>handleException(Exception)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#handleJaxenException(org.jaxen.JaxenException)"><B>handleJaxenException(JaxenException)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#handleJaxenException(org.jaxen.JaxenException)"><B>handleJaxenException(JaxenException)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/jaxb/JAXBObjectHandler.html#handleObject(javax.xml.bind.Element)"><B>handleObject(Element)</B></A> - 
+Method in interface org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb">JAXBObjectHandler</A>
+<DD>Called when the <A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><CODE>JAXBReader</CODE></A>has finished parsing the xml path the
+ handler was registered for. 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#hasAttribute(java.lang.String)"><B>hasAttribute(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#hasAttributeNS(java.lang.String, java.lang.String)"><B>hasAttributeNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#hasAttributes(org.dom4j.Node)"><B>hasAttributes(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#hasAttributes()"><B>hasAttributes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#hasChildNodes(org.dom4j.Node)"><B>hasChildNodes(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#hasChildNodes()"><B>hasChildNodes()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#hasContent()"><B>hasContent()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>hasContent</code> returns true if this node is a Branch (either
+ an Element or a Document) and it contains at least one content node such
+ as a child Element or Text node.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#hasContent()"><B>hasContent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#hasContent()"><B>hasContent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentFactory.html#hasFeature(java.lang.String, java.lang.String)"><B>hasFeature(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#hasMixedContent()"><B>hasMixedContent()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns true if this <code>Element</code> has mixed content. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#hasMixedContent()"><B>hasMixedContent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FilterIterator.html#hasNext()"><B>hasNext()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A>
+<DD><B>Deprecated.</B>  
+<DT><A HREF="org/dom4j/tree/SingleIterator.html#hasNext()"><B>hasNext()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree">SingleIterator</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#hash"><B>hash</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html#hashCode()"><B>hashCode()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/QName.html#hashCode()"><B>hashCode()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/rule/Rule.html#hashCode()"><B>hashCode()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#hashCode()"><B>hashCode()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultNamespace.html#hashCode()"><B>hashCode()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_I_"><!-- --></A><H2>
+<B>I</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j"><B>IllegalAddException</B></A> - exception org.dom4j.<A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j">IllegalAddException</A>.<DD>
+ <code>IllegalAddException</code> is thrown when a node is added incorrectly
+ to an <code><A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A></code>
+ <DT><A HREF="org/dom4j/IllegalAddException.html#IllegalAddException(java.lang.String)"><B>IllegalAddException(String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j">IllegalAddException</A>
+<DD> 
+<DT><A HREF="org/dom4j/IllegalAddException.html#IllegalAddException(org.dom4j.Element, org.dom4j.Node, java.lang.String)"><B>IllegalAddException(Element, Node, String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j">IllegalAddException</A>
+<DD> 
+<DT><A HREF="org/dom4j/IllegalAddException.html#IllegalAddException(org.dom4j.Branch, org.dom4j.Node, java.lang.String)"><B>IllegalAddException(Branch, Node, String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j">IllegalAddException</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util"><B>IndexedDocumentFactory</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A>.<DD>
+ <code>IndexedDocumentFactory</code> is a factory of XML objects which
+ create indexed Element implementations to allow quicker lookup via name of
+ Element and Attributes though at the expense of more memory used to create
+ the name indexes.
+ <DT><A HREF="org/dom4j/util/IndexedDocumentFactory.html#IndexedDocumentFactory()"><B>IndexedDocumentFactory()</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util"><B>IndexedElement</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>.<DD>
+ <code>IndexedElement</code> is an implementation of <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ <DT><A HREF="org/dom4j/util/IndexedElement.html#IndexedElement(java.lang.String)"><B>IndexedElement(String)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#IndexedElement(org.dom4j.QName)"><B>IndexedElement(QName)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#IndexedElement(org.dom4j.QName, int)"><B>IndexedElement(QName, int)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd"><B>InternalEntityDecl</B></A> - class org.dom4j.dtd.<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A>.<DD>
+ <code>InternalEntityDecl</code> represents an internal entity declaration
+ in a DTD.
+ <DT><A HREF="org/dom4j/dtd/InternalEntityDecl.html#InternalEntityDecl()"><B>InternalEntityDecl()</B></A> - 
+Constructor for class org.dom4j.dtd.<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/InternalEntityDecl.html#InternalEntityDecl(java.lang.String, java.lang.String)"><B>InternalEntityDecl(String, String)</B></A> - 
+Constructor for class org.dom4j.dtd.<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype"><B>InvalidSchemaException</B></A> - exception org.dom4j.datatype.<A HREF="org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype">InvalidSchemaException</A>.<DD>
+ <code>InvalidSchemaException</code> is thrown when an invalid XML Schema
+ document is used
+ <DT><A HREF="org/dom4j/datatype/InvalidSchemaException.html#InvalidSchemaException(java.lang.String)"><B>InvalidSchemaException(String)</B></A> - 
+Constructor for class org.dom4j.datatype.<A HREF="org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype">InvalidSchemaException</A>
+<DD> 
+<DT><A HREF="org/dom4j/InvalidXPathException.html" title="class in org.dom4j"><B>InvalidXPathException</B></A> - exception org.dom4j.<A HREF="org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A>.<DD>
+ <code>InvalidXPathException</code> is thrown when an invalid XPath
+ expression is used to traverse an XML document
+ <DT><A HREF="org/dom4j/InvalidXPathException.html#InvalidXPathException(java.lang.String)"><B>InvalidXPathException(String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A>
+<DD> 
+<DT><A HREF="org/dom4j/InvalidXPathException.html#InvalidXPathException(java.lang.String, java.lang.String)"><B>InvalidXPathException(String, String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A>
+<DD> 
+<DT><A HREF="org/dom4j/InvalidXPathException.html#InvalidXPathException(java.lang.String, java.lang.Throwable)"><B>InvalidXPathException(String, Throwable)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#ignorableWhitespace(char[], int, int)"><B>ignorableWhitespace(char[], int, int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#importNode(org.w3c.dom.Node, boolean)"><B>importNode(Node, boolean)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#indent()"><B>indent()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#indexOf(org.dom4j.Node)"><B>indexOf(Node)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#indexOf(org.dom4j.Node)"><B>indexOf(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#indexOf(org.dom4j.Node)"><B>indexOf(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#indexOf(java.lang.Object)"><B>indexOf(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#indexOf(org.dom4j.Node)"><B>indexOf(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentFactory.html#init()"><B>init()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#insertBefore(org.dom4j.Node, org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node, Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><B>insertBefore(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#insertData(int, java.lang.String)"><B>insertData(int, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#insertData(int, java.lang.String)"><B>insertData(int, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#insertData(org.dom4j.CharacterData, int, java.lang.String)"><B>insertData(CharacterData, int, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#insertData(int, java.lang.String)"><B>insertData(int, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#installLexicalHandler()"><B>installLexicalHandler()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#installXMLFilter(org.xml.sax.XMLReader)"><B>installXMLFilter(XMLReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Installs any XMLFilter objects required to allow the SAX event stream to
+ be filtered and preprocessed before it gets to dom4j.
+<DT><A HREF="org/dom4j/util/PerThreadSingleton.html#instance()"><B>instance()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util">PerThreadSingleton</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/SimpleSingleton.html#instance()"><B>instance()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util">SimpleSingleton</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/SingletonStrategy.html#instance()"><B>instance()</B></A> - 
+Method in interface org.dom4j.util.<A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A>
+<DD>return a singleton instance of the class specified in setSingletonClass
+<DT><A HREF="org/dom4j/DocumentFactory.html#intern(org.dom4j.QName)"><B>intern(QName)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/QNameCache.html#intern(org.dom4j.QName)"><B>intern(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#internalEntityDecl(java.lang.String, java.lang.String)"><B>internalEntityDecl(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Report an internal entity declaration.
+ 
+ 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#internalEntityDecl(java.lang.String, java.lang.String)"><B>internalEntityDecl(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#invalidNodeTypeAddException(org.dom4j.Node)"><B>invalidNodeTypeAddException(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD>Called when an invalid node has been added. 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#isAttributeNamespaceDeclaration(int)"><B>isAttributeNamespaceDeclaration(int)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#isDeclareNamespaceAttributes()"><B>isDeclareNamespaceAttributes()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Should namespace declarations be converted to "xmlns" attributes. 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#isElementSpacePreserved(org.dom4j.Element)"><B>isElementSpacePreserved(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Determines if element is a special case of XML elements where it contains
+ an xml:space attribute of "preserve". 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#isEmpty()"><B>isEmpty()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#isEscapeText()"><B>isEscapeText()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/OutputFormat.html#isExpandEmptyElements()"><B>isExpandEmptyElements()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#isExpandEmptyElements()"><B>isExpandEmptyElements()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#isIgnorableEntity(java.lang.String)"><B>isIgnorableEntity(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>a Strategy Method to determine if a given entity name is ignorable
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#isIgnoreComments()"><B>isIgnoreComments()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Returns whether we should ignore comments or not.
+<DT><A HREF="org/dom4j/io/SAXReader.html#isIgnoreComments()"><B>isIgnoreComments()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Returns whether we should ignore comments or not.
+<DT><A HREF="org/dom4j/io/SAXWriter.html#isIgnoreableNamespace(org.dom4j.Namespace, org.dom4j.tree.NamespaceStack)"><B>isIgnoreableNamespace(Namespace, NamespaceStack)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#isIncludeExternalDTDDeclarations()"><B>isIncludeExternalDTDDeclarations()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXReader.html#isIncludeExternalDTDDeclarations()"><B>isIncludeExternalDTDDeclarations()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#isIncludeInternalDTDDeclarations()"><B>isIncludeInternalDTDDeclarations()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXReader.html#isIncludeInternalDTDDeclarations()"><B>isIncludeInternalDTDDeclarations()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#isLeaf()"><B>isLeaf()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#isLeaf()"><B>isLeaf()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#isMergeAdjacentText()"><B>isMergeAdjacentText()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Returns whether adjacent text nodes should be merged together.
+<DT><A HREF="org/dom4j/io/SAXReader.html#isMergeAdjacentText()"><B>isMergeAdjacentText()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Returns whether adjacent text nodes should be merged together.
+<DT><A HREF="org/dom4j/io/DOMWriter.html#isNamespaceDeclaration(org.dom4j.Namespace)"><B>isNamespaceDeclaration(Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#isNamespaceDeclaration(org.dom4j.Namespace)"><B>isNamespaceDeclaration(Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#isNewLineAfterDeclaration()"><B>isNewLineAfterDeclaration()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/OutputFormat.html#isNewlines()"><B>isNewlines()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#isNotation(java.lang.String)"><B>isNotation(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#isNotation(java.lang.String)"><B>isNotation(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#isOmitEncoding()"><B>isOmitEncoding()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#isPadText()"><B>isPadText()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#isPreformattedTag(java.lang.String)"><B>isPreformattedTag(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXModifier.html#isPruneElements()"><B>isPruneElements()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Returns true when xml elements are not kept in memory while parsing. 
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#isPruneElements()"><B>isPruneElements()</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Returns true when the modified <A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>is not kept in
+ memory.
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#isPruneElements()"><B>isPruneElements()</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>When 'true', the DOM4J document will not be kept in memory while parsing.
+<DT><A HREF="org/dom4j/Node.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultCDATA.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultComment.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultEntity.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultNamespace.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultText.html#isReadOnly()"><B>isReadOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A>
+<DD> 
+<DT><A HREF="org/dom4j/Element.html#isRootElement()"><B>isRootElement()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#isRootElement()"><B>isRootElement()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#isStringInternEnabled()"><B>isStringInternEnabled()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets whether String interning is enabled or disabled for element &
+ attribute names and namespace URIs. 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#isStripWhitespaceText()"><B>isStripWhitespaceText()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Sets whether whitespace between element start and end tags should be
+ ignored
+<DT><A HREF="org/dom4j/io/SAXReader.html#isStripWhitespaceText()"><B>isStripWhitespaceText()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets whether whitespace between element start and end tags should be
+ ignored
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#isSupported(org.dom4j.Node, java.lang.String, java.lang.String)"><B>isSupported(Node, String, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#isSupported(java.lang.String, java.lang.String)"><B>isSupported(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#isSuppressDeclaration()"><B>isSuppressDeclaration()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/Element.html#isTextOnly()"><B>isTextOnly()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Returns true if this <code>Element</code> has text only content.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#isTextOnly()"><B>isTextOnly()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#isTrimText()"><B>isTrimText()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#isUnparsedEntity(java.lang.String)"><B>isUnparsedEntity(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#isUnparsedEntity(java.lang.String)"><B>isUnparsedEntity(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#isValidating()"><B>isValidating()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/OutputFormat.html#isXHTML()"><B>isXHTML()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ Whether or not to use the XHTML standard: like HTML but passes an XML
+ parser with real, closed tags. 
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#item(int)"><B>item(int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html#item(int)"><B>item(int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom">DOMNodeHelper.EmptyNodeList</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_J_"><!-- --></A><H2>
+<B>J</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><B>JAXBModifier</B></A> - class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>.<DD>Reads an XML document using SAX and writes its content to the provided
+ <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>. <DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String)"><B>JAXBModifier(String)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Creates a new JAXBModifier for the given JAXB context path. 
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String, java.lang.ClassLoader)"><B>JAXBModifier(String, ClassLoader)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Creates a new JAXBModifier for the given JAXB context path, using the
+ given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang"><CODE>ClassLoader</CODE></A>. 
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String, org.dom4j.io.OutputFormat)"><B>JAXBModifier(String, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Creates a new JAXBModifier for the given JAXB context path. 
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String, java.lang.ClassLoader, org.dom4j.io.OutputFormat)"><B>JAXBModifier(String, ClassLoader, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Creates a new JAXBModifier for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. 
+<DT><A HREF="org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><B>JAXBObjectHandler</B></A> - interface org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb">JAXBObjectHandler</A>.<DD>JAXBObjectHandler implementations can be registered with the JAXB Reader in
+ order to receive unmarshalled XML fragments.<DT><A HREF="org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><B>JAXBObjectModifier</B></A> - interface org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb">JAXBObjectModifier</A>.<DD>JAXBObjectHandler implementations can be registered with the <A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><CODE>JAXBModifier</CODE></A> in order to change unma [...]
+ <DT><A HREF="org/dom4j/jaxb/JAXBReader.html#JAXBReader(java.lang.String)"><B>JAXBReader(String)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Creates a new JAXBReader for the given JAXB context path. 
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#JAXBReader(java.lang.String, java.lang.ClassLoader)"><B>JAXBReader(String, ClassLoader)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Creates a new JAXBReader for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb"><B>JAXBWriter</B></A> - class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>.<DD>Writes <CODE>Element</CODE>objects to an XML stream. <DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String)"><B>JAXBWriter(String)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Creates a new JAXBWriter for the given JAXB context path. 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String, org.dom4j.io.OutputFormat)"><B>JAXBWriter(String, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Creates a new JAXBWriter for the given JAXB context path. 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String, java.lang.ClassLoader)"><B>JAXBWriter(String, ClassLoader)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Creates a new JAXBWriter for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String, java.lang.ClassLoader, org.dom4j.io.OutputFormat)"><B>JAXBWriter(String, ClassLoader, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Creates a new JAXBWriter for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. 
+</DL>
+<HR>
+<A NAME="_K_"><!-- --></A><H2>
+<B>K</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#key"><B>key</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_L_"><!-- --></A><H2>
+<B>L</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/io/SAXWriter.html#LEXICAL_HANDLER_NAMES"><B>LEXICAL_HANDLER_NAMES</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#LEXICAL_HANDLER_NAMES"><B>LEXICAL_HANDLER_NAMES</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing"><B>LeafTreeNode</B></A> - class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>.<DD>
+ <code>LeafTreeNode</code> implements the Swing TreeNode interface to bind a
+ leaf XML nodes to a Swing TreeModel.
+ <DT><A HREF="org/dom4j/swing/LeafTreeNode.html#LeafTreeNode()"><B>LeafTreeNode()</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#LeafTreeNode(org.dom4j.Node)"><B>LeafTreeNode(Node)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#LeafTreeNode(javax.swing.tree.TreeNode, org.dom4j.Node)"><B>LeafTreeNode(TreeNode, Node)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#lastIndexOf(java.lang.Object)"><B>lastIndexOf(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#lastOutputNodeType"><B>lastOutputNodeType</B></A> - 
+Variable in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Stores the last type of node written so algorithms can refer to the
+ previous node type
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#load(org.dom4j.Document)"><B>load(Document)</B></A> - 
+Static method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD>Loads an XML table definition from an XML definition document
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#load(org.dom4j.Element)"><B>load(Element)</B></A> - 
+Static method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD>Loads an XML table definition from an XML definition document
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#loadOmitElementCloseSet(java.util.Set)"><B>loadOmitElementCloseSet(Set)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document)"><B>loadSchema(Document)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<DD>Loads the given XML Schema document into this factory so schema-aware
+ Document, Elements and Attributes will be created by this factory.
+<DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, org.dom4j.Namespace)"><B>loadSchema(Document, Namespace)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, java.lang.String)"><B>loadSchema(Document, String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, java.lang.String, org.dom4j.Namespace)"><B>loadSchema(Document, String, Namespace)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_M_"><!-- --></A><H2>
+<B>M</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/Node.html#MAX_NODE_TYPE"><B>MAX_NODE_TYPE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>The maximum number of node types for sizing purposes
+<DT><A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><B>Mode</B></A> - class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>.<DD>
+ <code>Mode</code> manages a number of RuleSet instances for the mode in a
+ stylesheet. <DT><A HREF="org/dom4j/rule/Mode.html#Mode()"><B>Mode()</B></A> - 
+Constructor for class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentHelper.html#makeElement(org.dom4j.Branch, java.lang.String)"><B>makeElement(Branch, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ makeElement
+ 
+ a helper method which navigates from the given Document or Element node
+ to some Element using the path expression, creating any necessary
+ elements along the way. 
+<DT><A HREF="org/dom4j/Node.html#matches(java.lang.String)"><B>matches(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>matches</code> returns true if evaluating the given XPath
+ expression on this node returns a non-empty node set containing this
+ node.
+ 
+<DT><A HREF="org/dom4j/NodeFilter.html#matches(org.dom4j.Node)"><B>matches(Node)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A>
+<DD>
+ <code>matches</code> returns true if the given node matches the filter
+ condition.
+ 
+<DT><A HREF="org/dom4j/XPath.html#matches(org.dom4j.Node)"><B>matches(Node)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>matches</code> returns true if the given node matches the XPath
+ expression. 
+<DT><A HREF="org/dom4j/rule/Pattern.html#matches(org.dom4j.Node)"><B>matches(Node)</B></A> - 
+Method in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/rule/Rule.html#matches(org.dom4j.Node)"><B>matches(Node)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/rule/pattern/DefaultPattern.html#matches(org.dom4j.Node)"><B>matches(Node)</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#matches(org.dom4j.Node)"><B>matches(Node)</B></A> - 
+Method in class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#matches(java.lang.String)"><B>matches(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ElementIterator.html#matches(java.lang.Object)"><B>matches(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree">ElementIterator</A>
+<DD><B>Deprecated.</B> DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/ElementNameIterator.html#matches(java.lang.Object)"><B>matches(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree">ElementNameIterator</A>
+<DD><B>Deprecated.</B> DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/ElementQNameIterator.html#matches(java.lang.Object)"><B>matches(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree">ElementQNameIterator</A>
+<DD><B>Deprecated.</B> DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/FilterIterator.html#matches(java.lang.Object)"><B>matches(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A>
+<DD><B>Deprecated.</B> Filter method to perform some matching on the given element.
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#matches(org.dom4j.Node)"><B>matches(Node)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#matches(org.dom4j.Node)"><B>matches(Node)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#modify(java.io.File)"><B>modify(File)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>and writes it to the
+ specified <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#modify(org.xml.sax.InputSource)"><B>modify(InputSource)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>and
+ writes it to the specified <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#modify(java.io.InputStream)"><B>modify(InputStream)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#modify(java.io.InputStream, java.lang.String)"><B>modify(InputStream, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#modify(java.io.Reader)"><B>modify(Reader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#modify(java.io.Reader, java.lang.String)"><B>modify(Reader, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#modify(java.net.URL)"><B>modify(URL)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net"><CODE>URL</CODE></A>and writes it to the
+ specified <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#modify(java.lang.String)"><B>modify(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Reads a Document from the given URL or filename and writes it to the
+ specified <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. 
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#modify(java.io.File)"><B>modify(File)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#modify(java.io.File, java.nio.charset.Charset)"><B>modify(File, Charset)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX, using the given
+ <CODE>Charset</CODE>.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#modify(org.xml.sax.InputSource)"><B>modify(InputSource)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>with SAX.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#modify(java.io.InputStream)"><B>modify(InputStream)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#modify(java.io.InputStream, java.lang.String)"><B>modify(InputStream, String)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#modify(java.io.Reader)"><B>modify(Reader)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#modify(java.io.Reader, java.lang.String)"><B>modify(Reader, String)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#modify(java.lang.String)"><B>modify(String)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Parses the the given URL or filename.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#modify(java.net.URL)"><B>modify(URL)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Parses the the given URL.
+<DT><A HREF="org/dom4j/io/ElementModifier.html#modifyElement(org.dom4j.Element)"><B>modifyElement(Element)</B></A> - 
+Method in interface org.dom4j.io.<A HREF="org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io">ElementModifier</A>
+<DD>Called by an event based processor when an elements closing tag is
+ encountered. 
+<DT><A HREF="org/dom4j/jaxb/JAXBObjectModifier.html#modifyObject(javax.xml.bind.Element)"><B>modifyObject(Element)</B></A> - 
+Method in interface org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb">JAXBObjectModifier</A>
+<DD>Called when the <A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><CODE>JAXBModifier</CODE></A>has finished parsing the xml path
+ the handler was registered for. 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#modifyTag(java.lang.String, java.lang.String, java.lang.String)"><B>modifyTag(String, String, String)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_N_"><!-- --></A><H2>
+<B>N</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/Node.html#NAMESPACE_NODE"><B>NAMESPACE_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matchs a Namespace Node - NOTE this differs from DOM
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#NODE_TYPE"><B>NODE_TYPE</B></A> - 
+Static variable in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES"><B>NODE_TYPE_NAMES</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Pattern.html#NONE"><B>NONE</B></A> - 
+Static variable in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>
+<DD>Matches no nodes
+<DT><A HREF="org/dom4j/Namespace.html#NO_NAMESPACE"><B>NO_NAMESPACE</B></A> - 
+Static variable in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>No Namespace present
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#NULL_ARGS"><B>NULL_ARGS</B></A> - 
+Static variable in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD>Empty arguments for reflection calls
+<DT><A HREF="org/dom4j/rule/Pattern.html#NUMBER_OF_TYPES"><B>NUMBER_OF_TYPES</B></A> - 
+Static variable in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>
+<DD>Count of the number of node types
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#NUMBER_TYPE"><B>NUMBER_TYPE</B></A> - 
+Static variable in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html" title="class in org.dom4j"><B>Namespace</B></A> - class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>.<DD>
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ <DT><A HREF="org/dom4j/Namespace.html#Namespace(java.lang.String, java.lang.String)"><B>Namespace(String, String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree"><B>NamespaceCache</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A>.<DD>
+ <code>NamespaceCache</code> caches instances of
+ <code>DefaultNamespace</code> for reuse both across documents and within
+ documents.
+ <DT><A HREF="org/dom4j/tree/NamespaceCache.html#NamespaceCache()"><B>NamespaceCache()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree"><B>NamespaceStack</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>.<DD>NamespaceStack implements a stack of namespaces and optionally maintains a
+ cache of all the fully qualified names (<code>QName</code>) which are in
+ scope. <DT><A HREF="org/dom4j/tree/NamespaceStack.html#NamespaceStack()"><B>NamespaceStack()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#NamespaceStack(org.dom4j.DocumentFactory)"><B>NamespaceStack(DocumentFactory)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><B>Node</B></A> - interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>.<DD>
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ <DT><A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util"><B>NodeComparator</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>.<DD>
+ <code>NodeComparator</code> is a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>of Node instances which
+ is capable of comparing Nodes for equality based on their values.
+ <DT><A HREF="org/dom4j/util/NodeComparator.html#NodeComparator()"><B>NodeComparator()</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A>
+<DD> 
+<DT><A HREF="org/dom4j/NodeFilter.html" title="interface in org.dom4j"><B>NodeFilter</B></A> - interface org.dom4j.<A HREF="org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A>.<DD>
+ <code>NodeFilter</code> defines the behavior for a filter or predicate
+ which acts on a DOM4J Node. <DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern"><B>NodeTypePattern</B></A> - class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>.<DD>
+ <code>NodeTypePattern</code> implements a Pattern which matches any node of
+ the given node type.
+ <DT><A HREF="org/dom4j/rule/pattern/NodeTypePattern.html#NodeTypePattern(short)"><B>NodeTypePattern(short)</B></A> - 
+Constructor for class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util"><B>NonLazyDocumentFactory</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A>.<DD>
+ <code>NonLazyDocumentFactory</code> is a factory of XML objects which avoid
+ using the lazy creation pattern. <DT><A HREF="org/dom4j/util/NonLazyDocumentFactory.html#NonLazyDocumentFactory()"><B>NonLazyDocumentFactory()</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util"><B>NonLazyElement</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A>.<DD>
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ <DT><A HREF="org/dom4j/util/NonLazyElement.html#NonLazyElement(java.lang.String)"><B>NonLazyElement(String)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NonLazyElement.html#NonLazyElement(org.dom4j.QName)"><B>NonLazyElement(QName)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NonLazyElement.html#NonLazyElement(java.lang.String, org.dom4j.Namespace)"><B>NonLazyElement(String, Namespace)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/NonLazyElement.html#NonLazyElement(org.dom4j.QName, int)"><B>NonLazyElement(QName, int)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule"><B>NullAction</B></A> - class org.dom4j.rule.<A HREF="org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A>.<DD>
+ <code>NullAction</code> represents an empty action that does nothing.
+ <DT><A HREF="org/dom4j/rule/NullAction.html#NullAction()"><B>NullAction()</B></A> - 
+Constructor for class org.dom4j.rule.<A HREF="org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightEntity.html#name"><B>name</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<DD>The name of the <code>Entity</code>
+<DT><A HREF="org/dom4j/tree/QNameCache.html#namespaceCache"><B>namespaceCache</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>Cache of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util"><CODE>Map</CODE></A>instances indexed by namespace which contain caches
+ of <A HREF="org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>for each name
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#next"><B>next</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FilterIterator.html#next()"><B>next()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A>
+<DD><B>Deprecated.</B>  
+<DT><A HREF="org/dom4j/tree/SingleIterator.html#next()"><B>next()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree">SingleIterator</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/QNameCache.html#noNamespaceCache"><B>noNamespaceCache</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD>Cache of <A HREF="org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>instances with no namespace
+<DT><A HREF="org/dom4j/tree/NamespaceCache.html#noPrefixCache"><B>noPrefixCache</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A>
+<DD>Cache of <A HREF="org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>instances indexed by URI for default
+ namespaces with no prefixes
+<DT><A HREF="org/dom4j/Branch.html#node(int)"><B>node(int)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Returns the <code>Node</code> at the specified index position.
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#node(int)"><B>node(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#node(int)"><B>node(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#node(int)"><B>node(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#nodeCount()"><B>nodeCount()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Returns the number of <code>Node</code> instances that this branch
+ contains.
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#nodeCount()"><B>nodeCount()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#nodeCount()"><B>nodeCount()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#nodeCount()"><B>nodeCount()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#nodeIterator()"><B>nodeIterator()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Returns an iterator through the content nodes of this branch
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#nodeIterator()"><B>nodeIterator()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#nodeIterator()"><B>nodeIterator()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#nodeIterator()"><B>nodeIterator()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#normalize()"><B>normalize()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Puts all <code>Text</code> nodes in the full depth of the sub-tree
+ underneath this <code>Node</code>, including attribute nodes, into a
+ "normal" form where only structure (e.g., elements, comments, processing
+ instructions, CDATA sections, and entity references) separates
+ <code>Text</code> nodes, i.e., there are neither adjacent
+ <code>Text</code> nodes nor empty <code>Text</code> nodes. 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#normalize(org.dom4j.Node)"><B>normalize(Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#normalize()"><B>normalize()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>Puts all <code>Text</code> nodes in the full depth of the sub-tree
+ underneath this <code>Node</code>, including attribute nodes, into a
+ "normal" form where only structure (e.g., elements, comments, processing
+ instructions, CDATA sections, and entity references) separates
+ <code>Text</code> nodes, i.e., there are neither adjacent
+ <code>Text</code> nodes nor empty <code>Text</code> nodes. 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#notSupported()"><B>notSupported()</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD>Called when a method has not been implemented yet
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#notationDecl(java.lang.String, java.lang.String, java.lang.String)"><B>notationDecl(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Receive notification of a notation declaration event.
+ 
+ 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#notationDecl(java.lang.String, java.lang.String, java.lang.String)"><B>notationDecl(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#numberValueOf(java.lang.String)"><B>numberValueOf(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ in a number, or null if the result is not a number.
+ 
+<DT><A HREF="org/dom4j/XPath.html#numberValueOf(java.lang.Object)"><B>numberValueOf(Object)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ is a number, or null if the result is not a number.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#numberValueOf(java.lang.String)"><B>numberValueOf(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#numberValueOf(java.lang.Object)"><B>numberValueOf(Object)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_O_"><!-- --></A><H2>
+<B>O</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#OBJECT_TYPE"><B>OBJECT_TYPE</B></A> - 
+Static variable in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><B>OutputFormat</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>.<DD>
+ <code>OutputFormat</code> represents the format configuration used by
+ and its base classes to format the XML output
+ <DT><A HREF="org/dom4j/io/OutputFormat.html#OutputFormat()"><B>OutputFormat()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>Creates an <code>OutputFormat</code> with no additional whitespace
+ (indent or new lines) added. 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#OutputFormat(java.lang.String)"><B>OutputFormat(String)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>Creates an <code>OutputFormat</code> with the given indent added but no
+ new lines added. 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#OutputFormat(java.lang.String, boolean)"><B>OutputFormat(String, boolean)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>Creates an <code>OutputFormat</code> with the given indent added with
+ optional newlines between the Elements. 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#OutputFormat(java.lang.String, boolean, java.lang.String)"><B>OutputFormat(String, boolean, String)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>Creates an <code>OutputFormat</code> with the given indent added with
+ optional newlines between the Elements and the given encoding format.
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#omitElementClose(java.lang.String)"><B>omitElementClose(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/ElementHandler.html#onEnd(org.dom4j.ElementPath)"><B>onEnd(ElementPath)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A>
+<DD>Called by an event based processor when an elements closing tag is
+ encountered.
+<DT><A HREF="org/dom4j/ElementHandler.html#onStart(org.dom4j.ElementPath)"><B>onStart(ElementPath)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A>
+<DD>Called by an event based processor when an elements openning tag is
+ encountered.
+<DT><A HREF="org/dom4j/package-summary.html"><B>org.dom4j</B></A> - package org.dom4j<DD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes.<DT><A HREF="org/dom4j/bean/package-summary.html"><B>org.dom4j.bean</B></A> - package org.dom4j.bean<DD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element.<DT><A HREF="org/dom4j/datatype/package-summary.html"><B>org.dom4j.datatype</B></A> - package org.dom4j.datatype<DD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification.<DT><A HREF="org/dom4j/dom/package-summary.html"><B>org.dom4j.dom</B></A> - package org.dom4j.dom<DD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model.<DT><A HREF="org/dom4j/dtd/package-summary.html"><B>org.dom4j.dtd</B></A> - package org.dom4j.dtd<DD>Classes to represent the DTD declarations. <DT><A HREF="org/dom4j/io/package-summary.html"><B>org.dom4j.io</B></A> - package org.dom4j.io<DD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text.<DT><A HREF="org/dom4j/jaxb/package-summary.html"><B>org.dom4j.jaxb</B></A> - package org.dom4j.jaxb<DD> <DT><A HREF="org/dom4j/rule/package-summary.html"><B>org.dom4j.rule</B></A> - package org.dom4j.rule<DD>A <A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+<DT><A HREF="org/dom4j/rule/pattern/package-summary.html"><B>org.dom4j.rule.pattern</B></A> - package org.dom4j.rule.pattern<DD> <DT><A HREF="org/dom4j/swing/package-summary.html"><B>org.dom4j.swing</B></A> - package org.dom4j.swing<DD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels.<DT><A HREF="org/dom4j/tree/package-summary.html"><B>org.dom4j.tree</B></A> - package org.dom4j.tree<DD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+  <DT><A HREF="org/dom4j/util/package-summary.html"><B>org.dom4j.util</B></A> - package org.dom4j.util<DD>A collection of utility classes for the <i>dom4j</i> API.<DT><A HREF="org/dom4j/xpath/package-summary.html"><B>org.dom4j.xpath</B></A> - package org.dom4j.xpath<DD>Provides the core tools needed to use the XPath library
+<DT><A HREF="org/dom4j/xpp/package-summary.html"><B>org.dom4j.xpp</B></A> - package org.dom4j.xpp<DD>Provides implementation classes to cleanly integrate dom4j with the XML Pull Parser
+<a href="http://www.extreme.indiana.edu/soap/xpp/">XPP</a>
+</DL>
+<HR>
+<A NAME="_P_"><!-- --></A><H2>
+<B>P</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/Node.html#PROCESSING_INSTRUCTION_NODE"><B>PROCESSING_INSTRUCTION_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches ProcessingInstruction
+<DT><A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><B>Pattern</B></A> - interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>.<DD>
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ <DT><A HREF="org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util"><B>PerThreadSingleton</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util">PerThreadSingleton</A>.<DD>
+ <code>PerThreadSingleton</code> is an implementation of the
+ SingletonStrategy used to provide common factory access to a single object
+ instance based on an implementation strategy for one object instance per
+ thread. <DT><A HREF="org/dom4j/util/PerThreadSingleton.html#PerThreadSingleton()"><B>PerThreadSingleton()</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util">PerThreadSingleton</A>
+<DD> 
+<DT><A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><B>ProcessingInstruction</B></A> - interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>.<DD>
+ <code>ProcessingInstruction</code> defines an XML processing instruction.
+ <DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util"><B>ProxyDocumentFactory</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>.<DD>
+ <code>ProxyDocumentFactory</code> implements a proxy to a DocumentFactory
+ which is useful for implementation inheritence, allowing the pipelining of
+ various factory implementations. <DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#ProxyDocumentFactory()"><B>ProxyDocumentFactory()</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#ProxyDocumentFactory(org.dom4j.DocumentFactory)"><B>ProxyDocumentFactory(DocumentFactory)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp"><B>ProxyXmlStartTag</B></A> - class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>.<DD><code>ProxyXmlStartTag</code> implements the XPP <code>XmlSmartTag</code>
+ interface while creating a dom4j <code>Element</code> underneath.<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#ProxyXmlStartTag()"><B>ProxyXmlStartTag()</B></A> - 
+Constructor for class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#ProxyXmlStartTag(org.dom4j.Element)"><B>ProxyXmlStartTag(Element)</B></A> - 
+Constructor for class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#parse(java.lang.String)"><B>parse(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>This method is not supported.
+<DT><A HREF="org/dom4j/io/SAXWriter.html#parse(org.xml.sax.InputSource)"><B>parse(InputSource)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Parses an XML document. 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#parse(org.xml.sax.InputSource)"><B>parse(InputSource)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#parse(java.lang.String)"><B>parse(String)</B></A> - 
+Static method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#parseDocument()"><B>parseDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPPReader.html#parseDocument()"><B>parseDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#parseOptions(java.lang.String[], int)"><B>parseOptions(String[], int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>Parses command line arguments of the form <code>-omitEncoding
+ -indentSize 3 -newlines -trimText</code>
+<DT><A HREF="org/dom4j/DocumentHelper.html#parseText(java.lang.String)"><B>parseText(String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ <code>parseText</code> parses the given text as an XML document and
+ returns the newly created Document.
+ 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#parseType(java.lang.String)"><B>parseType(String)</B></A> - 
+Static method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#parseValues(java.lang.String)"><B>parseValues(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD>
+ Parses the raw data of PI as a <code>Map</code>.
+ 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#pop()"><B>pop()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Pops the most recently used <code>Namespace</code> from the stack
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#pop(java.lang.String)"><B>pop(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Pops a namepace from the stack with the given prefix and URI
+<DT><A HREF="org/dom4j/io/XMLWriter.html#preserve"><B>preserve</B></A> - 
+Variable in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Stores the xml:space attribute value of preserve for whitespace flag
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#prettyPrintHTML(java.lang.String)"><B>prettyPrintHTML(String)</B></A> - 
+Static method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD>Convenience method to just get a String result.
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#prettyPrintHTML(java.lang.String, boolean, boolean, boolean, boolean)"><B>prettyPrintHTML(String, boolean, boolean, boolean, boolean)</B></A> - 
+Static method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#prettyPrintXHTML(java.lang.String)"><B>prettyPrintXHTML(String)</B></A> - 
+Static method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD>Convenience method to just get a String result, but <b>As XHTML </b>.
+<DT><A HREF="org/dom4j/DocumentException.html#printStackTrace()"><B>printStackTrace()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentException.html#printStackTrace(java.io.PrintStream)"><B>printStackTrace(PrintStream)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentException.html#printStackTrace(java.io.PrintWriter)"><B>printStackTrace(PrintWriter)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#println()"><B>println()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the new line text to the underlying Writer
+<DT><A HREF="org/dom4j/Branch.html#processingInstruction(java.lang.String)"><B>processingInstruction(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#processingInstruction(java.lang.String, java.lang.String)"><B>processingInstruction(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#processingInstruction(java.lang.String, java.lang.String)"><B>processingInstruction(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#processingInstruction(java.lang.String, java.lang.String)"><B>processingInstruction(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#processingInstruction(java.lang.String)"><B>processingInstruction(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#processingInstruction(java.lang.String)"><B>processingInstruction(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#processingInstruction(java.lang.String)"><B>processingInstruction(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#processingInstructions()"><B>processingInstructions()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>
+ Returns a list of all the processing instructions in this branch. 
+<DT><A HREF="org/dom4j/Branch.html#processingInstructions(java.lang.String)"><B>processingInstructions(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>
+ Returns a list of the processing instructions for the given target. 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#processingInstructions()"><B>processingInstructions()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#processingInstructions(java.lang.String)"><B>processingInstructions(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#processingInstructions()"><B>processingInstructions()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#processingInstructions(java.lang.String)"><B>processingInstructions(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#processingInstructions()"><B>processingInstructions()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#processingInstructions(java.lang.String)"><B>processingInstructions(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FilterIterator.html#proxy"><B>proxy</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A>
+<DD><B>Deprecated.</B>  
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#push(org.dom4j.Namespace)"><B>push(Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Pushes the given namespace onto the stack so that its prefix becomes
+ available.
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#push(java.lang.String, java.lang.String)"><B>push(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Adds a namepace to the stack with the given prefix and URI
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#pushQName(java.lang.String, java.lang.String, org.dom4j.Namespace, java.lang.String)"><B>pushQName(String, String, Namespace, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Adds the QName to the stack of available QNames
+</DL>
+<HR>
+<A NAME="_Q_"><!-- --></A><H2>
+<B>Q</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/QName.html" title="class in org.dom4j"><B>QName</B></A> - class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>.<DD>
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. <DT><A HREF="org/dom4j/QName.html#QName(java.lang.String)"><B>QName(String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/QName.html#QName(java.lang.String, org.dom4j.Namespace)"><B>QName(String, Namespace)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/QName.html#QName(java.lang.String, org.dom4j.Namespace, java.lang.String)"><B>QName(String, Namespace, String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree"><B>QNameCache</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>.<DD>
+ <code>QNameCache</code> caches instances of <code>QName</code> for reuse
+ both across documents and within documents.
+ <DT><A HREF="org/dom4j/tree/QNameCache.html#QNameCache()"><B>QNameCache()</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/QNameCache.html#QNameCache(org.dom4j.DocumentFactory)"><B>QNameCache(DocumentFactory)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_R_"><!-- --></A><H2>
+<B>R</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule"><B>Rule</B></A> - class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>.<DD>
+ <code>Rule</code> matches against DOM4J Node so that some action can be
+ performed such as in the XSLT processing model.
+ <DT><A HREF="org/dom4j/rule/Rule.html#Rule()"><B>Rule()</B></A> - 
+Constructor for class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Pattern)"><B>Rule(Pattern)</B></A> - 
+Constructor for class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)"><B>Rule(Pattern, Action)</B></A> - 
+Constructor for class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Rule, org.dom4j.rule.Pattern)"><B>Rule(Rule, Pattern)</B></A> - 
+Constructor for class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Constructs a new Rule with the same instance data as the given rule but a
+ different pattern.
+<DT><A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule"><B>RuleManager</B></A> - class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>.<DD>
+ <code>RuleManager</code> manages a set of rules such that a rule can be
+ found for a given DOM4J Node using the XSLT processing model.
+ <DT><A HREF="org/dom4j/rule/RuleManager.html#RuleManager()"><B>RuleManager()</B></A> - 
+Constructor for class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule"><B>RuleSet</B></A> - class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A>.<DD>
+ <code>RuleSet</code> manages a set of rules which are sorted in order of
+ relevance according to the XSLT defined conflict resolution policy. <DT><A HREF="org/dom4j/rule/RuleSet.html#RuleSet()"><B>RuleSet()</B></A> - 
+Constructor for class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMReader.html#read(org.w3c.dom.Document)"><B>read(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#read(java.io.File)"><B>read(File)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>
+ Reads a Document from the given <code>File</code>
+ 
+<DT><A HREF="org/dom4j/io/SAXReader.html#read(java.net.URL)"><B>read(URL)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>
+ Reads a Document from the given <code>URL</code> using SAX
+ 
+<DT><A HREF="org/dom4j/io/SAXReader.html#read(java.lang.String)"><B>read(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>
+ Reads a Document from the given URL or filename using SAX.
+ 
+<DT><A HREF="org/dom4j/io/SAXReader.html#read(java.io.InputStream)"><B>read(InputStream)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>
+ Reads a Document from the given stream using SAX
+ 
+<DT><A HREF="org/dom4j/io/SAXReader.html#read(java.io.Reader)"><B>read(Reader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>
+ Reads a Document from the given <code>Reader</code> using SAX
+ 
+<DT><A HREF="org/dom4j/io/SAXReader.html#read(java.io.InputStream, java.lang.String)"><B>read(InputStream, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>
+ Reads a Document from the given stream using SAX
+ 
+<DT><A HREF="org/dom4j/io/SAXReader.html#read(java.io.Reader, java.lang.String)"><B>read(Reader, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>
+ Reads a Document from the given <code>Reader</code> using SAX
+ 
+<DT><A HREF="org/dom4j/io/SAXReader.html#read(org.xml.sax.InputSource)"><B>read(InputSource)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>
+ Reads a Document from the given <code>InputSource</code> using SAX
+ 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#read(java.io.File)"><B>read(File)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>
+ Reads a Document from the given <code>File</code>
+ 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#read(java.net.URL)"><B>read(URL)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>
+ Reads a Document from the given <code>URL</code>
+ 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#read(java.lang.String)"><B>read(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>
+ Reads a Document from the given URL or filename.
+ 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#read(java.io.InputStream)"><B>read(InputStream)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>
+ Reads a Document from the given stream
+ 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#read(java.io.Reader)"><B>read(Reader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>
+ Reads a Document from the given <code>Reader</code>
+ 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#read(char[])"><B>read(char[])</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>
+ Reads a Document from the given array of characters
+ 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#read(java.io.InputStream, java.lang.String)"><B>read(InputStream, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>
+ Reads a Document from the given stream
+ 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#read(java.io.Reader, java.lang.String)"><B>read(Reader, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>
+ Reads a Document from the given <code>Reader</code>
+ 
+<DT><A HREF="org/dom4j/io/XPPReader.html#read(java.io.File)"><B>read(File)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>
+ Reads a Document from the given <code>File</code>
+ 
+<DT><A HREF="org/dom4j/io/XPPReader.html#read(java.net.URL)"><B>read(URL)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>
+ Reads a Document from the given <code>URL</code>
+ 
+<DT><A HREF="org/dom4j/io/XPPReader.html#read(java.lang.String)"><B>read(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>
+ Reads a Document from the given URL or filename.
+ 
+<DT><A HREF="org/dom4j/io/XPPReader.html#read(java.io.InputStream)"><B>read(InputStream)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>
+ Reads a Document from the given stream
+ 
+<DT><A HREF="org/dom4j/io/XPPReader.html#read(java.io.Reader)"><B>read(Reader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>
+ Reads a Document from the given <code>Reader</code>
+ 
+<DT><A HREF="org/dom4j/io/XPPReader.html#read(char[])"><B>read(char[])</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>
+ Reads a Document from the given array of characters
+ 
+<DT><A HREF="org/dom4j/io/XPPReader.html#read(java.io.InputStream, java.lang.String)"><B>read(InputStream, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>
+ Reads a Document from the given stream
+ 
+<DT><A HREF="org/dom4j/io/XPPReader.html#read(java.io.Reader, java.lang.String)"><B>read(Reader, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>
+ Reads a Document from the given <code>Reader</code>
+ 
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#read(java.io.File)"><B>read(File)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#read(java.io.File, java.nio.charset.Charset)"><B>read(File, Charset)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>, using the given <CODE>Charset</CODE>.
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#read(org.xml.sax.InputSource)"><B>read(InputSource)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#read(java.io.InputStream)"><B>read(InputStream)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#read(java.io.InputStream, java.lang.String)"><B>read(InputStream, String)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#read(java.io.Reader)"><B>read(Reader)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#read(java.io.Reader, java.lang.String)"><B>read(Reader, String)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#read(java.lang.String)"><B>read(String)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Parses the the given URL or filename.
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#read(java.net.URL)"><B>read(URL)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Parses the the given URL.
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readAttribute(javax.xml.stream.XMLEventReader)"><B>readAttribute(XMLEventReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a DOM4J Attribute from the provided event stream. 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readCharacters(javax.xml.stream.XMLEventReader)"><B>readCharacters(XMLEventReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a DOM4J Text or CDATA section from the provided event stream.
+ 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readComment(javax.xml.stream.XMLEventReader)"><B>readComment(XMLEventReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a DOM4J Comment from the provided event stream. 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readDocument(java.io.InputStream)"><B>readDocument(InputStream)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a StAX event stream from the provided I/O stream and reads a
+ DOM4J document from it.
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readDocument(java.io.Reader)"><B>readDocument(Reader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a StAX event stream from the provided I/O character stream and
+ reads a DOM4J document from it.
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readDocument(java.io.InputStream, java.lang.String)"><B>readDocument(InputStream, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a StAX event stream from the provided I/O stream and reads a
+ DOM4J document from it.
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readDocument(java.io.Reader, java.lang.String)"><B>readDocument(Reader, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a StAX event stream from the provided I/O character stream and
+ reads a DOM4J document from it.
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readDocument(javax.xml.stream.XMLEventReader)"><B>readDocument(XMLEventReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Reads a DOM4J <A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>from the provided stream. 
+<DT><A HREF="org/dom4j/io/DOMReader.html#readElement(org.w3c.dom.Node, org.dom4j.Branch)"><B>readElement(Node, Branch)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readElement(javax.xml.stream.XMLEventReader)"><B>readElement(XMLEventReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Reads a DOM4J Element from the provided event stream. 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readEntityReference(javax.xml.stream.XMLEventReader)"><B>readEntityReference(XMLEventReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a DOM4J Entity from the provided event stream. 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#readExternal(java.io.ObjectInput)"><B>readExternal(ObjectInput)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readNamespace(javax.xml.stream.XMLEventReader)"><B>readNamespace(XMLEventReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a DOM4J Namespace from the provided event stream. 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readNode(javax.xml.stream.XMLEventReader)"><B>readNode(XMLEventReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Reads a <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>from the event stream. 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#readProcessingInstruction(javax.xml.stream.XMLEventReader)"><B>readProcessingInstruction(XMLEventReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a DOM4J ProcessingInstruction from the provided event stream.
+ 
+<DT><A HREF="org/dom4j/io/DOMReader.html#readTree(org.w3c.dom.Node, org.dom4j.Branch)"><B>readTree(Node, Branch)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/Branch.html#remove(org.dom4j.Node)"><B>remove(Node)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Removes the given <code>Node</code> if the node is an immediate child
+ of this branch. 
+<DT><A HREF="org/dom4j/Branch.html#remove(org.dom4j.Comment)"><B>remove(Comment)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Removes the given <code>Comment</code> if the node is an immediate
+ child of this branch. 
+<DT><A HREF="org/dom4j/Branch.html#remove(org.dom4j.Element)"><B>remove(Element)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. 
+<DT><A HREF="org/dom4j/Branch.html#remove(org.dom4j.ProcessingInstruction)"><B>remove(ProcessingInstruction)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Removes the given <code>ProcessingInstruction</code> if the node is an
+ immediate child of this branch. 
+<DT><A HREF="org/dom4j/Element.html#remove(org.dom4j.Attribute)"><B>remove(Attribute)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Removes the given <code>Attribute</code> from this element.
+<DT><A HREF="org/dom4j/Element.html#remove(org.dom4j.CDATA)"><B>remove(CDATA)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Removes the given <code>CDATA</code> if the node is an immediate child
+ of this element. 
+<DT><A HREF="org/dom4j/Element.html#remove(org.dom4j.Entity)"><B>remove(Entity)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Removes the given <code>Entity</code> if the node is an immediate child
+ of this element. 
+<DT><A HREF="org/dom4j/Element.html#remove(org.dom4j.Namespace)"><B>remove(Namespace)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Removes the given <code>Namespace</code> if the node is an immediate
+ child of this element. 
+<DT><A HREF="org/dom4j/Element.html#remove(org.dom4j.Text)"><B>remove(Text)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Removes the given <code>Text</code> if the node is an immediate child
+ of this element. 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#remove(java.lang.Object)"><B>remove(Object)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#remove(int)"><B>remove(int)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Node)"><B>remove(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Comment)"><B>remove(Comment)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Element)"><B>remove(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.ProcessingInstruction)"><B>remove(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#remove(org.dom4j.Element)"><B>remove(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Attribute)"><B>remove(Attribute)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Node)"><B>remove(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#remove(org.dom4j.CDATA)"><B>remove(CDATA)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Comment)"><B>remove(Comment)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Element)"><B>remove(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Entity)"><B>remove(Entity)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Namespace)"><B>remove(Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#remove(org.dom4j.ProcessingInstruction)"><B>remove(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Text)"><B>remove(Text)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#remove(java.lang.Object)"><B>remove(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#remove(int)"><B>remove(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#remove(java.lang.Object)"><B>remove(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#remove(int)"><B>remove(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#remove(org.dom4j.Attribute)"><B>remove(Attribute)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FilterIterator.html#remove()"><B>remove()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A>
+<DD><B>Deprecated.</B> Always throws UnsupportedOperationException as this class does look-ahead
+ with its internal iterator.
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#remove(int)"><B>remove(int)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>Removes the namespace at the given index of the stack
+<DT><A HREF="org/dom4j/tree/SingleIterator.html#remove()"><B>remove()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree">SingleIterator</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#removeAll(java.util.Collection)"><B>removeAll(Collection)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributeByName(java.lang.String, java.lang.String)"><B>removeAttributeByName(String, String)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributeByRawName(java.lang.String)"><B>removeAttributeByRawName(String)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#removeAttributeNS(java.lang.String, java.lang.String)"><B>removeAttributeNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#removeAttributeNode(org.w3c.dom.Attr)"><B>removeAttributeNode(Attr)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributes()"><B>removeAttributes()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#removeAtttributes()"><B>removeAtttributes()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD><B>Deprecated.</B> <I>Use <A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributes()"><CODE>removeAttributes()</CODE></A> instead.</I>
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#removeChild(org.dom4j.Node, org.w3c.dom.Node)"><B>removeChild(Node, Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#removeChild(org.w3c.dom.Node)"><B>removeChild(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#removeColumn(org.dom4j.swing.XMLTableColumnDefinition)"><B>removeColumn(XMLTableColumnDefinition)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#removeDuplicates(java.util.List, java.util.Map)"><B>removeDuplicates(List, Map)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD>Removes items from the list which have duplicate values
+<DT><A HREF="org/dom4j/util/IndexedElement.html#removeFromAttributeIndex(org.dom4j.Attribute)"><B>removeFromAttributeIndex(Attribute)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#removeFromAttributeIndex(java.lang.Object, org.dom4j.Attribute)"><B>removeFromAttributeIndex(Object, Attribute)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#removeFromElementIndex(org.dom4j.Element)"><B>removeFromElementIndex(Element)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#removeFromElementIndex(java.lang.Object, org.dom4j.Element)"><B>removeFromElementIndex(Object, Element)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Mode.html#removeFromNameMap(java.util.Map, java.lang.String, org.dom4j.rule.Rule)"><B>removeFromNameMap(Map, String, Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD> 
+<DT><A HREF="org/dom4j/ElementPath.html#removeHandler(java.lang.String)"><B>removeHandler(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path. 
+<DT><A HREF="org/dom4j/io/SAXReader.html#removeHandler(java.lang.String)"><B>removeHandler(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#removeHandler(java.lang.String)"><B>removeHandler(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.
+<DT><A HREF="org/dom4j/io/XPPReader.html#removeHandler(java.lang.String)"><B>removeHandler(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#removeHandler(java.lang.String)"><B>removeHandler(String)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.
+<DT><A HREF="org/dom4j/io/SAXModifier.html#removeModifier(java.lang.String)"><B>removeModifier(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Removes the <A HREF="org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>from the event based processor, for
+ the specified element path.
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#removeNamedItem(java.lang.String)"><B>removeNamedItem(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#removeNamedItemNS(java.lang.String, java.lang.String)"><B>removeNamedItemNS(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#removeNode(org.dom4j.Node)"><B>removeNode(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#removeNode(org.dom4j.Node)"><B>removeNode(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#removeNode(org.dom4j.Node)"><B>removeNode(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#removeNode(org.dom4j.Node)"><B>removeNode(Node)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/IndexedElement.html#removeNode(org.dom4j.Node)"><B>removeNode(Node)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#removeObjectHandler(java.lang.String)"><B>removeObjectHandler(String)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Removes the <A HREF="org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>from the event based processor, for
+ the specified element path.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#removeObjectModifier(java.lang.String)"><B>removeObjectModifier(String)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Removes the <A HREF="org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>from the event based processor,
+ for the specified element path.
+<DT><A HREF="org/dom4j/Branch.html#removeProcessingInstruction(java.lang.String)"><B>removeProcessingInstruction(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Removes the processing instruction for the given target if it exists
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#removeProcessingInstruction(java.lang.String)"><B>removeProcessingInstruction(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#removeProcessingInstruction(java.lang.String)"><B>removeProcessingInstruction(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#removeProcessingInstruction(java.lang.String)"><B>removeProcessingInstruction(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Mode.html#removeRule(org.dom4j.rule.Rule)"><B>removeRule(Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleManager.html#removeRule(org.dom4j.rule.Rule)"><B>removeRule(Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleSet.html#removeRule(org.dom4j.rule.Rule)"><B>removeRule(Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#removeRule(org.dom4j.rule.Rule)"><B>removeRule(Rule)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>Removes the specified rule from this stylesheet.
+<DT><A HREF="org/dom4j/ProcessingInstruction.html#removeValue(java.lang.String)"><B>removeValue(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#removeValue(java.lang.String)"><B>removeValue(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#replaceChild(org.dom4j.Node, org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node, Node)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><B>replaceChild(Node, Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#replaceData(int, int, java.lang.String)"><B>replaceData(int, int, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#replaceData(int, int, java.lang.String)"><B>replaceData(int, int, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#replaceData(org.dom4j.CharacterData, int, int, java.lang.String)"><B>replaceData(CharacterData, int, int, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#replaceData(int, int, java.lang.String)"><B>replaceData(int, int, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#replay(org.xml.sax.ContentHandler)"><B>replay(ContentHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/PerThreadSingleton.html#reset()"><B>reset()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util">PerThreadSingleton</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/SimpleSingleton.html#reset()"><B>reset()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util">SimpleSingleton</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/SingletonStrategy.html#reset()"><B>reset()</B></A> - 
+Method in interface org.dom4j.util.<A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A>
+<DD>reset the instance to a new instance for the implemented strategy
+<DT><A HREF="org/dom4j/io/SAXReader.html#resetHandlers()"><B>resetHandlers()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>This method clears out all the existing handlers and default handler
+ setting things back as if no handler existed. 
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#resetHandlers()"><B>resetHandlers()</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Removes all registered <A HREF="org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>and <A HREF="org/dom4j/ElementHandler.html" title="interface in org.dom4j"><CODE>ElementHandler</CODE></A> instances from the event based processor.
+<DT><A HREF="org/dom4j/io/SAXModifier.html#resetModifiers()"><B>resetModifiers()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Removes all registered <A HREF="org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>instances from the event
+ based processor.
+<DT><A HREF="org/dom4j/io/DOMWriter.html#resetNamespaceStack()"><B>resetNamespaceStack()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#resetObjectModifiers()"><B>resetObjectModifiers()</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Removes all registered <A HREF="org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>instances from the
+ event based processor.
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#resetStartTag()"><B>resetStartTag()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#resetTag()"><B>resetTag()</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html#resolveEntity(java.lang.String, java.lang.String)"><B>resolveEntity(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io">SAXReader.SAXEntityResolver</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#resolveEntityRefs()"><B>resolveEntityRefs()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#resolveNamespacePrefix(java.lang.String)"><B>resolveNamespacePrefix(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#resolveNamespacePrefix(java.lang.String)"><B>resolveNamespacePrefix(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#rootElementAdded(org.dom4j.Element)"><B>rootElementAdded(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD>Called to set the root element variable
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#rootElementAdded(org.dom4j.Element)"><B>rootElementAdded(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Action.html#run(org.dom4j.Node)"><B>run(Node)</B></A> - 
+Method in interface org.dom4j.rule.<A HREF="org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/NullAction.html#run(org.dom4j.Node)"><B>run(Node)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#run(java.lang.Object)"><B>run(Object)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>Runs this stylesheet on the given input which should be either a Node or
+ a List of Node objects.
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#run(java.lang.Object, java.lang.String)"><B>run(Object, String)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#run(java.util.List)"><B>run(List)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#run(java.util.List, java.lang.String)"><B>run(List, String)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#run(org.dom4j.Node)"><B>run(Node)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#run(org.dom4j.Node, java.lang.String)"><B>run(Node, String)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_S_"><!-- --></A><H2>
+<B>S</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io"><B>SAXContentHandler</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>.<DD>
+ <code>SAXContentHandler</code> builds a dom4j tree via SAX events.
+ <DT><A HREF="org/dom4j/io/SAXContentHandler.html#SAXContentHandler()"><B>SAXContentHandler()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory)"><B>SAXContentHandler(DocumentFactory)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler)"><B>SAXContentHandler(DocumentFactory, ElementHandler)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler, org.dom4j.io.ElementStack)"><B>SAXContentHandler(DocumentFactory, ElementHandler, ElementStack)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io"><B>SAXEventRecorder</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>.<DD>
+ Records SAX events such that they may be "replayed" at a later time. <DT><A HREF="org/dom4j/io/SAXEventRecorder.html#SAXEventRecorder()"><B>SAXEventRecorder()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><B>SAXModifier</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>.<DD>The SAXModifier reads, modifies and writes XML documents using SAX.
+ 
+ <DT><A HREF="org/dom4j/io/SAXModifier.html#SAXModifier()"><B>SAXModifier()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Creates a new modifier. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#SAXModifier(boolean)"><B>SAXModifier(boolean)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Creates a new modifier. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#SAXModifier(org.xml.sax.XMLReader)"><B>SAXModifier(XMLReader)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Creates a new modifier that will the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax"><CODE>XMLReader</CODE></A> to parse the source.
+<DT><A HREF="org/dom4j/io/SAXModifier.html#SAXModifier(org.xml.sax.XMLReader, boolean)"><B>SAXModifier(XMLReader, boolean)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Creates a new modifier that will the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax"><CODE>XMLReader</CODE></A> to parse the source.
+<DT><A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><B>SAXReader</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>.<DD>
+ <code>SAXReader</code> creates a DOM4J tree from SAX parsing events.
+ <DT><A HREF="org/dom4j/io/SAXReader.html#SAXReader()"><B>SAXReader()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#SAXReader(boolean)"><B>SAXReader(boolean)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#SAXReader(org.dom4j.DocumentFactory)"><B>SAXReader(DocumentFactory)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#SAXReader(org.dom4j.DocumentFactory, boolean)"><B>SAXReader(DocumentFactory, boolean)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#SAXReader(org.xml.sax.XMLReader)"><B>SAXReader(XMLReader)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#SAXReader(org.xml.sax.XMLReader, boolean)"><B>SAXReader(XMLReader, boolean)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#SAXReader(java.lang.String)"><B>SAXReader(String)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#SAXReader(java.lang.String, boolean)"><B>SAXReader(String, boolean)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io"><B>SAXReader.SAXEntityResolver</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io">SAXReader.SAXEntityResolver</A>.<DD> <DT><A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html#SAXReader.SAXEntityResolver(java.lang.String)"><B>SAXReader.SAXEntityResolver(String)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io">SAXReader.SAXEntityResolver</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io"><B>SAXValidator</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>.<DD>
+ <code>SAXValidator</code> validates an XML document by writing the document
+ to a text buffer and parsing it with a validating SAX parser. <DT><A HREF="org/dom4j/io/SAXValidator.html#SAXValidator()"><B>SAXValidator()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXValidator.html#SAXValidator(org.xml.sax.XMLReader)"><B>SAXValidator(XMLReader)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io"><B>SAXWriter</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>.<DD>
+ <code>SAXWriter</code> writes a DOM4J tree to a SAX ContentHandler.
+ <DT><A HREF="org/dom4j/io/SAXWriter.html#SAXWriter()"><B>SAXWriter()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#SAXWriter(org.xml.sax.ContentHandler)"><B>SAXWriter(ContentHandler)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#SAXWriter(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler)"><B>SAXWriter(ContentHandler, LexicalHandler)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#SAXWriter(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.xml.sax.EntityResolver)"><B>SAXWriter(ContentHandler, LexicalHandler, EntityResolver)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/NullAction.html#SINGLETON"><B>SINGLETON</B></A> - 
+Static variable in class org.dom4j.rule.<A HREF="org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A>
+<DD>Singleton instance
+<DT><A HREF="org/dom4j/io/OutputFormat.html#STANDARD_INDENT"><B>STANDARD_INDENT</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>standard value to indent by, if we are indenting
+<DT><A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io"><B>STAXEventReader</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>.<DD>Reads a DOM4J <A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>, as well as other <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s, from a StAX
+ <CODE>XMLEventReader</CODE>.<DT><A HREF="org/dom4j/io/STAXEventReader.html#STAXEventReader()"><B>STAXEventReader()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a default <code>STAXEventReader</code> instance with a
+ default <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#STAXEventReader(org.dom4j.DocumentFactory)"><B>STAXEventReader(DocumentFactory)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Constructs a <code>STAXEventReader</code> instance that uses the
+ specified <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>to construct DOM4J <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io"><B>STAXEventWriter</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>.<DD>Writes DOM4J <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s to a StAX event stream. <DT><A HREF="org/dom4j/io/STAXEventWriter.html#STAXEventWriter()"><B>STAXEventWriter()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#STAXEventWriter(java.io.File)"><B>STAXEventWriter(File)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided file.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#STAXEventWriter(java.io.Writer)"><B>STAXEventWriter(Writer)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided character stream.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#STAXEventWriter(java.io.OutputStream)"><B>STAXEventWriter(OutputStream)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided stream.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#STAXEventWriter(javax.xml.stream.util.XMLEventConsumer)"><B>STAXEventWriter(XMLEventConsumer)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided event stream.
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#STRING_TYPE"><B>STRING_TYPE</B></A> - 
+Static variable in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype"><B>SchemaParser</B></A> - class org.dom4j.datatype.<A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype">SchemaParser</A>.<DD>
+ <code>SchemaParser</code> reads an XML Schema Document.
+ <DT><A HREF="org/dom4j/datatype/SchemaParser.html#SchemaParser()"><B>SchemaParser()</B></A> - 
+Constructor for class org.dom4j.datatype.<A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype">SchemaParser</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/SchemaParser.html#SchemaParser(org.dom4j.datatype.DatatypeDocumentFactory)"><B>SchemaParser(DatatypeDocumentFactory)</B></A> - 
+Constructor for class org.dom4j.datatype.<A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype">SchemaParser</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util"><B>SimpleSingleton</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util">SimpleSingleton</A>.<DD>
+ <code>SimpleSingleton</code> is an implementation of the SingletonStrategy
+ interface used to provide common factory access for the same object instance.
+ <DT><A HREF="org/dom4j/util/SimpleSingleton.html#SimpleSingleton()"><B>SimpleSingleton()</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util">SimpleSingleton</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree"><B>SingleIterator</B></A> - class org.dom4j.tree.<A HREF="org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree">SingleIterator</A>.<DD>
+ <code>SingleIterator</code> is an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util"><CODE>Iterator</CODE></A>over a single object
+ instance.
+ <DT><A HREF="org/dom4j/tree/SingleIterator.html#SingleIterator(java.lang.Object)"><B>SingleIterator(Object)</B></A> - 
+Constructor for class org.dom4j.tree.<A HREF="org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree">SingleIterator</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util"><B>SingletonStrategy</B></A> - interface org.dom4j.util.<A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A>.<DD>
+ <code>SingletonStrategy</code> is an interface used to provide common
+ factory access for the same object based on an implementation strategy for
+ singleton. <DT><A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule"><B>Stylesheet</B></A> - class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>.<DD>
+ <code>Stylesheet</code> implements an XSLT stylesheet such that rules can
+ be added to the stylesheet and the stylesheet can be applied to a source
+ document or node.
+ <DT><A HREF="org/dom4j/rule/Stylesheet.html#Stylesheet()"><B>Stylesheet()</B></A> - 
+Constructor for class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>Creates a new empty stylesheet.
+<DT><A HREF="org/dom4j/DocumentHelper.html#selectNodes(java.lang.String, java.util.List)"><B>selectNodes(String, List)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ <code>selectNodes</code> performs the given XPath expression on the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances appending all the results together
+ into a single list.
+ 
+<DT><A HREF="org/dom4j/DocumentHelper.html#selectNodes(java.lang.String, org.dom4j.Node)"><B>selectNodes(String, Node)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ <code>selectNodes</code> performs the given XPath expression on the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances appending all the results together
+ into a single list.
+ 
+<DT><A HREF="org/dom4j/Node.html#selectNodes(java.lang.String)"><B>selectNodes(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>selectNodes</code> evaluates an XPath expression and returns the
+ result as a <code>List</code> of <code>Node</code> instances or
+ <code>String</code> instances depending on the XPath expression.
+ 
+<DT><A HREF="org/dom4j/Node.html#selectNodes(java.lang.String, java.lang.String)"><B>selectNodes(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ 
+<DT><A HREF="org/dom4j/Node.html#selectNodes(java.lang.String, java.lang.String, boolean)"><B>selectNodes(String, String, boolean)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ 
+<DT><A HREF="org/dom4j/XPath.html#selectNodes(java.lang.Object)"><B>selectNodes(Object)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>selectNodes</code> performs this XPath expression on the given
+ <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s instances appending all
+ the results together into a single list.
+ 
+<DT><A HREF="org/dom4j/XPath.html#selectNodes(java.lang.Object, org.dom4j.XPath)"><B>selectNodes(Object, XPath)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ 
+<DT><A HREF="org/dom4j/XPath.html#selectNodes(java.lang.Object, org.dom4j.XPath, boolean)"><B>selectNodes(Object, XPath, boolean)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#selectNodes(java.lang.String)"><B>selectNodes(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#selectNodes(java.lang.String, java.lang.String)"><B>selectNodes(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#selectNodes(java.lang.String, java.lang.String, boolean)"><B>selectNodes(String, String, boolean)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#selectNodes(java.lang.Object)"><B>selectNodes(Object)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#selectNodes(java.lang.Object, org.dom4j.XPath)"><B>selectNodes(Object, XPath)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#selectNodes(java.lang.Object, org.dom4j.XPath, boolean)"><B>selectNodes(Object, XPath, boolean)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#selectObject(java.lang.String)"><B>selectObject(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>selectObject</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. 
+<DT><A HREF="org/dom4j/XPath.html#selectObject(java.lang.Object)"><B>selectObject(Object)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD><B>Deprecated.</B> <I>please use evaluate(Object) instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#selectObject(java.lang.String)"><B>selectObject(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#selectObject(java.lang.Object)"><B>selectObject(Object)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#selectSingleNode(java.lang.String)"><B>selectSingleNode(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>selectSingleNode</code> evaluates an XPath expression and returns
+ the result as a single <code>Node</code> instance.
+ 
+<DT><A HREF="org/dom4j/XPath.html#selectSingleNode(java.lang.Object)"><B>selectSingleNode(Object)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>selectSingleNode</code> evaluates this XPath expression on the
+ given <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the
+ result as a single <code>Node</code> instance.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#selectSingleNode(java.lang.String)"><B>selectSingleNode(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#selectSingleNode(java.lang.Object)"><B>selectSingleNode(Object)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#serialVersionUID"><B>serialVersionUID</B></A> - 
+Static variable in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#set(int, java.lang.Object)"><B>set(int, Object)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BackedList.html#set(int, java.lang.Object)"><B>set(int, Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#set(int, java.lang.Object)"><B>set(int, Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#setAction(org.dom4j.rule.Action)"><B>setAction(Action)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Setter for property action.
+<DT><A HREF="org/dom4j/rule/Rule.html#setAppearenceCount(int)"><B>setAppearenceCount(int)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Setter for property appearenceCount.
+<DT><A HREF="org/dom4j/dom/DOMElement.html#setAttribute(java.lang.String, java.lang.String)"><B>setAttribute(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#setAttributeList(java.util.List)"><B>setAttributeList(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#setAttributeList(java.util.List)"><B>setAttributeList(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#setAttributeNS(java.lang.String, java.lang.String, java.lang.String)"><B>setAttributeNS(String, String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#setAttributeName(java.lang.String)"><B>setAttributeName(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Setter for property attributeName.
+<DT><A HREF="org/dom4j/dom/DOMElement.html#setAttributeNode(org.w3c.dom.Attr)"><B>setAttributeNode(Attr)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#setAttributeNodeNS(org.w3c.dom.Attr)"><B>setAttributeNodeNS(Attr)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setAttributeQuoteCharacter(char)"><B>setAttributeQuoteCharacter(char)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>Sets the character used to quote attribute values. 
+<DT><A HREF="org/dom4j/Element.html#setAttributeValue(java.lang.String, java.lang.String)"><B>setAttributeValue(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD><B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="org/dom4j/Element.html#addAttribute(java.lang.String, java.lang.String)"><CODE>Element.addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<DT><A HREF="org/dom4j/Element.html#setAttributeValue(org.dom4j.QName, java.lang.String)"><B>setAttributeValue(QName, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD><B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)"><CODE>Element.addAttribute(QName,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#setAttributeValue(java.lang.String, java.lang.String)"><B>setAttributeValue(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD><B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><CODE>AbstractElement.addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#setAttributeValue(org.dom4j.QName, java.lang.String)"><B>setAttributeValue(QName, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD><B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><CODE>AbstractElement.addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<DT><A HREF="org/dom4j/datatype/DatatypeElementFactory.html#setAttributeXSDatatype(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)"><B>setAttributeXSDatatype(QName, XSDatatype)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>
+<DD>Registers the given <code>XSDatatype</code> for the given
+ <attribute> QNames
+<DT><A HREF="org/dom4j/Element.html#setAttributes(java.util.List)"><B>setAttributes(List)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Sets the attributes that this element contains
+<DT><A HREF="org/dom4j/bean/BeanElement.html#setAttributes(java.util.List)"><B>setAttributes(List)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#setAttributes(org.xml.sax.Attributes, org.dom4j.tree.NamespaceStack, boolean)"><B>setAttributes(Attributes, NamespaceStack, boolean)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#setAttributes(org.xml.sax.Attributes, org.dom4j.tree.NamespaceStack, boolean)"><B>setAttributes(Attributes, NamespaceStack, boolean)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD>This method provides a more optimal way of setting all the attributes on
+ an Element particularly for use in <A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><CODE>SAXReader</CODE></A>.
+<DT><A HREF="org/dom4j/tree/BaseElement.html#setAttributes(java.util.List)"><B>setAttributes(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#setAttributes(java.util.List)"><B>setAttributes(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElementFactory.html#setChildElementXSDatatype(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)"><B>setChildElementXSDatatype(QName, XSDatatype)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#setColumnNameXPath(org.dom4j.XPath)"><B>setColumnNameXPath(XPath)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD>Setter for property columnNameXPath.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#setConsumer(javax.xml.stream.util.XMLEventConsumer)"><B>setConsumer(XMLEventConsumer)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Sets the underlying event consumer to which events are written.
+<DT><A HREF="org/dom4j/Branch.html#setContent(java.util.List)"><B>setContent(List)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Sets the contents of this branch as a <code>List</code> of
+ <code>Node</code> instances.
+<DT><A HREF="org/dom4j/tree/BaseElement.html#setContent(java.util.List)"><B>setContent(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#setContent(java.util.List)"><B>setContent(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#setContent(java.util.List)"><B>setContent(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#setContentHandler(org.xml.sax.ContentHandler)"><B>setContentHandler(ContentHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Sets the <code>ContentHandler</code> called when SAX events are raised
+<DT><A HREF="org/dom4j/io/SAXWriter.html#setDTDHandler(org.xml.sax.DTDHandler)"><B>setDTDHandler(DTDHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Sets the <code>DTDHandler</code>.
+<DT><A HREF="org/dom4j/Attribute.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Sets the data value of this attribute if this element supports data
+ binding or calls <A HREF="org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(String)</CODE></A>if it doesn't.
+ 
+<DT><A HREF="org/dom4j/Element.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>Sets the data value of this element if this element supports data binding
+ or calls <A HREF="org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(java.lang.String)</CODE></A>if it doesn't
+<DT><A HREF="org/dom4j/bean/BeanAttribute.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#setData(int, java.lang.Object)"><B>setData(int, Object)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanElement.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanMetaData.html#setData(int, java.lang.Object, java.lang.Object)"><B>setData(int, Object, Object)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#setData(java.lang.String)"><B>setData(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#setData(java.lang.String)"><B>setData(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#setData(org.dom4j.CharacterData, java.lang.String)"><B>setData(CharacterData, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#setData(java.lang.String)"><B>setData(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#setData(java.lang.String)"><B>setData(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><B>setData(Object)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#setDeclareNamespaceAttributes(boolean)"><B>setDeclareNamespaceAttributes(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Sets whether namespace declarations should be exported as "xmlns"
+ attributes or not. 
+<DT><A HREF="org/dom4j/io/SAXReader.html#setDefaultHandler(org.dom4j.ElementHandler)"><B>setDefaultHandler(ElementHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#setDefaultHandler(org.dom4j.ElementHandler)"><B>setDefaultHandler(ElementHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.
+<DT><A HREF="org/dom4j/io/XPPReader.html#setDefaultHandler(org.dom4j.ElementHandler)"><B>setDefaultHandler(ElementHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#setDefinition(org.dom4j.swing.XMLTableDefinition)"><B>setDefinition(XMLTableDefinition)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD>Setter for property definition.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setDispatchHandler(org.dom4j.io.DispatchHandler)"><B>setDispatchHandler(DispatchHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#setDispatchHandler(org.dom4j.io.DispatchHandler)"><B>setDispatchHandler(DispatchHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPPReader.html#setDispatchHandler(org.dom4j.io.DispatchHandler)"><B>setDispatchHandler(DispatchHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/Document.html#setDocType(org.dom4j.DocumentType)"><B>setDocType(DocumentType)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Sets the DocumentType property
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#setDocType(org.dom4j.DocumentType)"><B>setDocType(DocumentType)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#setDocument(org.dom4j.Document)"><B>setDocument(Document)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ 
+<DT><A HREF="org/dom4j/io/DocumentSource.html#setDocument(org.dom4j.Document)"><B>setDocument(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>
+<DD>Sets the document used as the JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>
+<DT><A HREF="org/dom4j/swing/DocumentTreeModel.html#setDocument(org.dom4j.Document)"><B>setDocument(Document)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing">DocumentTreeModel</A>
+<DD>Sets the <code>Document</code> instance that this
+ <code>TreeModel</code> is based on
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#setDocument(org.dom4j.Document)"><B>setDocument(Document)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#setDocument(org.dom4j.Document)"><B>setDocument(Document)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#setDocument(org.dom4j.Document)"><B>setDocument(Document)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/QName.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMReader.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A>
+<DD>
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. 
+<DT><A HREF="org/dom4j/io/SAXModifier.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Sets the <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>used to create the DOM4J
+ document tree.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. 
+<DT><A HREF="org/dom4j/io/STAXEventReader.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A>
+<DD>Sets the DocumentFactory to be used when constructing DOM4J nodes.
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD>
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. 
+<DT><A HREF="org/dom4j/io/XPPReader.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD>
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpp/ProxyXmlStartTag.html#setDocumentFactory(org.dom4j.DocumentFactory)"><B>setDocumentFactory(DocumentFactory)</B></A> - 
+Method in class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#setDocumentLocator(org.xml.sax.Locator)"><B>setDocumentLocator(Locator)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#setDocumentLocator(org.xml.sax.Locator)"><B>setDocumentLocator(Locator)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#setDomDocumentClass(java.lang.Class)"><B>setDomDocumentClass(Class)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD>Sets the DOM <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom"><CODE>Document</CODE></A>implementation class used by
+ the writer when creating DOM documents.
+<DT><A HREF="org/dom4j/io/DOMWriter.html#setDomDocumentClassName(java.lang.String)"><B>setDomDocumentClassName(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD>Sets the DOM <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom"><CODE>Document</CODE></A>implementation class name used
+ by the writer when creating DOM documents.
+<DT><A HREF="org/dom4j/DocumentType.html#setElementName(java.lang.String)"><B>setElementName(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD>This method is the equivalent to the <A HREF="org/dom4j/Node.html#setName(java.lang.String)"><CODE>Node.setName(java.lang.String)</CODE></A>method. 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#setElementName(java.lang.String)"><B>setElementName(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Setter for property elementName.
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#setElementName(java.lang.String)"><B>setElementName(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#setElementStack(org.dom4j.io.ElementStack)"><B>setElementStack(ElementStack)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setEncoding(java.lang.String)"><B>setEncoding(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/io/SAXReader.html#setEncoding(java.lang.String)"><B>setEncoding(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets encoding used for InputSource (null means system default encoding)
+<DT><A HREF="org/dom4j/Document.html#setEntityResolver(org.xml.sax.EntityResolver)"><B>setEntityResolver(EntityResolver)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Sets the EntityResolver used to find resolve URIs such as for DTDs, or
+ XML Schema documents
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#setEntityResolver(org.xml.sax.EntityResolver)"><B>setEntityResolver(EntityResolver)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#setEntityResolver(org.xml.sax.EntityResolver)"><B>setEntityResolver(EntityResolver)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets the entity resolver used to resolve entities.
+<DT><A HREF="org/dom4j/io/SAXWriter.html#setEntityResolver(org.xml.sax.EntityResolver)"><B>setEntityResolver(EntityResolver)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Sets the <code>EntityResolver</code>.
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#setEntityResolver(org.xml.sax.EntityResolver)"><B>setEntityResolver(EntityResolver)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#setErrorHandler(org.xml.sax.ErrorHandler)"><B>setErrorHandler(ErrorHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets the <code>ErrorHandler</code> used by the SAX
+ <code>XMLReader</code>.
+<DT><A HREF="org/dom4j/io/SAXValidator.html#setErrorHandler(org.xml.sax.ErrorHandler)"><B>setErrorHandler(ErrorHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<DD>Sets the <code>ErrorHandler</code> used by the SAX
+ <code>XMLReader</code>.
+<DT><A HREF="org/dom4j/io/SAXWriter.html#setErrorHandler(org.xml.sax.ErrorHandler)"><B>setErrorHandler(ErrorHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Sets the <code>ErrorHandler</code>.
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#setErrorQName(org.dom4j.QName)"><B>setErrorQName(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#setErrors(org.dom4j.Element)"><B>setErrors(Element)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#setEscapeText(boolean)"><B>setEscapeText(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Sets whether text output should be escaped or not. 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#setEventFactory(javax.xml.stream.XMLEventFactory)"><B>setEventFactory(XMLEventFactory)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Sets the event factory used to construct STAX events.
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setExpandEmptyElements(boolean)"><B>setExpandEmptyElements(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ This will set whether empty elements are expanded from
+ <code><tagName></code> to
+ <code><tagName></tagName></code>.
+ 
+<DT><A HREF="org/dom4j/DocumentType.html#setExternalDeclarations(java.util.List)"><B>setExternalDeclarations(List)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD>Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#setExternalDeclarations(java.util.List)"><B>setExternalDeclarations(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#setFatalErrorQName(org.dom4j.QName)"><B>setFatalErrorQName(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#setFeature(java.lang.String, boolean)"><B>setFeature(String, boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets a SAX feature on the underlying SAX parser. 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#setFeature(java.lang.String, boolean)"><B>setFeature(String, boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>This implementation does actually use any features but just stores them
+ for later retrieval
+<DT><A HREF="org/dom4j/XPath.html#setFunctionContext(org.jaxen.FunctionContext)"><B>setFunctionContext(FunctionContext)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>Sets the function context to be used when evaluating XPath expressions
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#setFunctionContext(org.jaxen.FunctionContext)"><B>setFunctionContext(FunctionContext)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DocumentResult.html#setHandler(org.xml.sax.ContentHandler)"><B>setHandler(ContentHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io">DocumentResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#setIgnoreComments(boolean)"><B>setIgnoreComments(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Sets whether we should ignore comments or not.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setIgnoreComments(boolean)"><B>setIgnoreComments(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets whether we should ignore comments or not.
+<DT><A HREF="org/dom4j/rule/Rule.html#setImportPrecedence(int)"><B>setImportPrecedence(int)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Setter for property importPrecedence.
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#setIncludeExternalDTDDeclarations(boolean)"><B>setIncludeExternalDTDDeclarations(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Sets whether DTD external declarations should be expanded into the
+ DocumentType object or not.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setIncludeExternalDTDDeclarations(boolean)"><B>setIncludeExternalDTDDeclarations(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets whether DTD external declarations should be expanded into the
+ DocumentType object or not.
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#setIncludeInternalDTDDeclarations(boolean)"><B>setIncludeInternalDTDDeclarations(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Sets whether internal DTD declarations should be expanded into the
+ DocumentType object or not.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setIncludeInternalDTDDeclarations(boolean)"><B>setIncludeInternalDTDDeclarations(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets whether internal DTD declarations should be expanded into the
+ DocumentType object or not.
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setIndent(java.lang.String)"><B>setIndent(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ This will set the indent <code>String</code> to use; this is usually a
+ <code>String</code> of empty spaces. 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setIndent(boolean)"><B>setIndent(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>Set the indent on or off. 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#setIndentLevel(int)"><B>setIndentLevel(int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Set the initial indentation level. 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setIndentSize(int)"><B>setIndentSize(int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ This will set the indent <code>String</code>'s size; an indentSize of
+ 4 would result in the indention being equivalent to the
+ <code>String</code> "    " (four space characters).
+ 
+<DT><A HREF="org/dom4j/io/DocumentSource.html#setInputSource(org.xml.sax.InputSource)"><B>setInputSource(InputSource)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>
+<DD>This method is not supported as this source is always a 
+ instance.
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#setInputSource(org.xml.sax.InputSource)"><B>setInputSource(InputSource)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/DocumentType.html#setInternalDeclarations(java.util.List)"><B>setInternalDeclarations(List)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD>Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#setInternalDeclarations(java.util.List)"><B>setInternalDeclarations(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DocumentResult.html#setLexicalHandler(org.xml.sax.ext.LexicalHandler)"><B>setLexicalHandler(LexicalHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io">DocumentResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#setLexicalHandler(org.xml.sax.ext.LexicalHandler)"><B>setLexicalHandler(LexicalHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Sets the <code>LexicalHandler</code>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#setLexicalHandler(org.xml.sax.ext.LexicalHandler)"><B>setLexicalHandler(LexicalHandler)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setLineSeparator(java.lang.String)"><B>setLineSeparator(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ This will set the new-line separator. 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#setMaximumAllowedCharacter(int)"><B>setMaximumAllowedCharacter(int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Sets the maximum allowed character code that should be allowed unescaped
+ such as 127 in US-ASCII (7 bit) or 255 in ISO- (8 bit) or -1 to not
+ escape any characters (other than the special XML characters like <
+ > &) If this is not explicitly set then it is defaulted from the
+ encoding.
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#setMergeAdjacentText(boolean)"><B>setMergeAdjacentText(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Sets whether or not adjacent text nodes should be merged together when
+ parsing.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setMergeAdjacentText(boolean)"><B>setMergeAdjacentText(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets whether or not adjacent text nodes should be merged together when
+ parsing.
+<DT><A HREF="org/dom4j/rule/Rule.html#setMode(java.lang.String)"><B>setMode(String)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Setter for property mode.
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#setModeName(java.lang.String)"><B>setModeName(String)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>Sets the name of the mode that the stylesheet uses by default.
+<DT><A HREF="org/dom4j/dtd/ElementDecl.html#setModel(java.lang.String)"><B>setModel(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A>
+<DD>Setter for property model.
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#setNSContext(java.lang.Object)"><B>setNSContext(Object)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ 
+<DT><A HREF="org/dom4j/dtd/ElementDecl.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A>
+<DD>Setter for property name.
+<DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<DD>Setter for property name.
+<DT><A HREF="org/dom4j/dtd/InternalEntityDecl.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A>
+<DD>Setter for property name.
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD>Setter for property name.
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultDocument.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultEntity.html#setName(java.lang.String)"><B>setName(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#setNamedItem(org.w3c.dom.Node)"><B>setNamedItem(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttributeNodeMap.html#setNamedItemNS(org.w3c.dom.Node)"><B>setNamedItemNS(Node)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A>
+<DD> 
+<DT><A HREF="org/dom4j/Attribute.html#setNamespace(org.dom4j.Namespace)"><B>setNamespace(Namespace)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Sets the <code>Namespace</code> of this element or if this element is
+ read only then an <code>UnsupportedOperationException</code> is thrown.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#setNamespace(org.dom4j.Namespace)"><B>setNamespace(Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#setNamespace(org.dom4j.Namespace)"><B>setNamespace(Namespace)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPath.html#setNamespaceContext(org.jaxen.NamespaceContext)"><B>setNamespaceContext(NamespaceContext)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>Sets the namespace context to be used when evaluating XPath expressions
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#setNamespaceContext(org.jaxen.NamespaceContext)"><B>setNamespaceContext(NamespaceContext)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPath.html#setNamespaceURIs(java.util.Map)"><B>setNamespaceURIs(Map)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ Sets the current NamespaceContext from a Map where the keys are the
+ String namespace prefixes and the values are the namespace URIs.
+ 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#setNamespaceURIs(java.util.Map)"><B>setNamespaceURIs(Map)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setNewLineAfterDeclaration(boolean)"><B>setNewLineAfterDeclaration(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ This will set whether a new line is printed after the XML declaration
+ (assuming it is not supressed.)
+ 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setNewLineAfterNTags(int)"><B>setNewLineAfterNTags(int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>Controls output of a line.separator every tagCount tags when isNewlines
+ is false. 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setNewlines(boolean)"><B>setNewlines(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#setNodeValue(org.dom4j.Node, java.lang.String)"><B>setNodeValue(Node, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#setNodeValue(java.lang.String)"><B>setNodeValue(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#setOmitElementCloseSet(java.util.Set)"><B>setOmitElementCloseSet(Set)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD>To use the empty set, pass an empty Set, or null:
+ 
+ 
+ 
+ 
+       setOmitElementCloseSet(new HashSet());
+     or
+       setOmitElementCloseSet(null);
+ 
+  
+ 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setOmitEncoding(boolean)"><B>setOmitEncoding(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ This will set whether the XML declaration (<code><?
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#setOutput(java.io.File)"><B>setOutput(File)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Sets the Output to write the (modified) xml document to.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#setOutput(java.io.OutputStream)"><B>setOutput(OutputStream)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Sets the Output to write the (modified) xml document to.
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#setOutput(java.io.Writer)"><B>setOutput(Writer)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Sets the Output to write the (modified) xml document to.
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#setOutput(java.io.File)"><B>setOutput(File)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Defines to write the resulting output to the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>.
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#setOutput(java.io.OutputStream)"><B>setOutput(OutputStream)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Defines to write the resulting output to the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#setOutput(java.io.Writer)"><B>setOutput(Writer)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Defines to write the resulting output to the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io"><CODE>Writer</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#setOutputStream(java.io.OutputStream)"><B>setOutputStream(OutputStream)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setPadText(boolean)"><B>setPadText(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ Ensure that text immediately preceded by or followed by an element will
+ be "padded" with a single space. 
+<DT><A HREF="org/dom4j/Node.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#setParent(org.dom4j.swing.LeafTreeNode)"><B>setParent(LeafTreeNode)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD>Sets the parent of this node but doesn't change the parents children
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultCDATA.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultComment.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultEntity.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultNamespace.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultText.html#setParent(org.dom4j.Element)"><B>setParent(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#setPattern(org.dom4j.rule.Pattern)"><B>setPattern(Pattern)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Setter for property pattern.
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#setPrefix(org.dom4j.Node, java.lang.String)"><B>setPrefix(Node, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#setPrefix(java.lang.String)"><B>setPrefix(String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#setPreformattedTags(java.util.Set)"><B>setPreformattedTags(Set)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD>
+ Override the default set, which includes PRE, SCRIPT, STYLE, and
+ TEXTAREA, case insensitively.
+ 
+<DT><A HREF="org/dom4j/rule/Rule.html#setPriority(double)"><B>setPriority(double)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD>Setter for property priority.
+<DT><A HREF="org/dom4j/Branch.html#setProcessingInstructions(java.util.List)"><B>setProcessingInstructions(List)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>
+<DD>Sets all the processing instructions for this branch
+<DT><A HREF="org/dom4j/tree/AbstractBranch.html#setProcessingInstructions(java.util.List)"><B>setProcessingInstructions(List)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#setProperty(java.lang.String, java.lang.Object)"><B>setProperty(String, Object)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Allows a SAX property to be set on the underlying SAX parser. 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#setProperty(java.lang.String, java.lang.Object)"><B>setProperty(String, Object)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Sets the given SAX property
+<DT><A HREF="org/dom4j/io/XMLWriter.html#setProperty(java.lang.String, java.lang.Object)"><B>setProperty(String, Object)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/ProxyDocumentFactory.html#setProxy(org.dom4j.DocumentFactory)"><B>setProxy(DocumentFactory)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/jaxb/JAXBModifier.html#setPruneElements(boolean)"><B>setPruneElements(boolean)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A>
+<DD>Define whether the modified <A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>must only be
+ written to the output and pruned from the DOM4J tree.
+<DT><A HREF="org/dom4j/jaxb/JAXBReader.html#setPruneElements(boolean)"><B>setPruneElements(boolean)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A>
+<DD>Set to true when DOM4J elements must immediately be pruned from the tree.
+ 
+<DT><A HREF="org/dom4j/DocumentType.html#setPublicID(java.lang.String)"><B>setPublicID(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html#setPublicID(java.lang.String)"><B>setPublicID(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<DD>Setter for property publicID.
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#setPublicID(java.lang.String)"><B>setPublicID(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD>Sets the public ID of the document type
+<DT><A HREF="org/dom4j/Element.html#setQName(org.dom4j.QName)"><B>setQName(QName)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>
+<DD>
+ Sets the <code>QName</code> of this element which represents the local
+ name, the qualified name and the <code>Namespace</code>.
+ 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#setQName(org.dom4j.QName)"><B>setQName(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#setQName(org.dom4j.QName)"><B>setQName(QName)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#setResolveEntityRefs(boolean)"><B>setResolveEntityRefs(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/Document.html#setRootElement(org.dom4j.Element)"><B>setRootElement(Element)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Sets the root element for this document
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#setRootElement(org.dom4j.Element)"><B>setRootElement(Element)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#setRowExpression(java.lang.String)"><B>setRowExpression(String)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#setRowXPath(org.dom4j.XPath)"><B>setRowXPath(XPath)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD>Setter for property rowXPath.
+<DT><A HREF="org/dom4j/util/PerThreadSingleton.html#setSingletonClassName(java.lang.String)"><B>setSingletonClassName(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util">PerThreadSingleton</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/SimpleSingleton.html#setSingletonClassName(java.lang.String)"><B>setSingletonClassName(String)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util">SimpleSingleton</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/SingletonStrategy.html#setSingletonClassName(java.lang.String)"><B>setSingletonClassName(String)</B></A> - 
+Method in interface org.dom4j.util.<A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A>
+<DD>set a singleton class name that will be used to create the singleton
+ based on the strategy implementation of this interface. 
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#setSource(java.lang.Object)"><B>setSource(Object)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD>Setter for the XML source, which is usually a Node or List of nodes.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setStringInternEnabled(boolean)"><B>setStringInternEnabled(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets whether String interning is enabled or disabled for element &
+ attribute names and namespace URIs
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#setStripWhitespaceText(boolean)"><B>setStripWhitespaceText(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Sets whether whitespace between element start and end tags should be
+ ignored.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setStripWhitespaceText(boolean)"><B>setStripWhitespaceText(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets whether whitespace between element start and end tags should be
+ ignored.
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setSuppressDeclaration(boolean)"><B>setSuppressDeclaration(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ This will set whether the XML declaration (<code><?
+<DT><A HREF="org/dom4j/DocumentType.html#setSystemID(java.lang.String)"><B>setSystemID(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html#setSystemID(java.lang.String)"><B>setSystemID(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<DD>Setter for property systemID.
+<DT><A HREF="org/dom4j/tree/DefaultDocumentType.html#setSystemID(java.lang.String)"><B>setSystemID(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A>
+<DD>Sets the system ID of the document type
+<DT><A HREF="org/dom4j/ProcessingInstruction.html#setTarget(java.lang.String)"><B>setTarget(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>
+<DD>This method is the equivalent to the <A HREF="org/dom4j/Node.html#setName(java.lang.String)"><CODE>Node.setName(java.lang.String)</CODE></A>method. 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#setTarget(java.lang.String)"><B>setTarget(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#setTarget(java.lang.String)"><B>setTarget(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultCDATA.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultComment.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultEntity.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultText.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightEntity.html#setText(java.lang.String)"><B>setText(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<DD>sets the value of the entity if it is not defined yet otherwise an
+ <code>UnsupportedOperationException</code> is thrown as this class is
+ read only.
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setTrimText(boolean)"><B>setTrimText(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ This will set whether the text is output verbatim (false) or with
+ whitespace stripped as per <code><A HREF="org/dom4j/Element.html#getTextTrim()"><CODE>Element.getTextTrim()</CODE></A></code>.
+ 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#setType(java.lang.String)"><B>setType(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Setter for property type.
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#setType(int)"><B>setType(int)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD>Setter for property type.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setValidation(boolean)"><B>setValidation(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets the validation mode.
+<DT><A HREF="org/dom4j/Attribute.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>
+<DD>
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ 
+<DT><A HREF="org/dom4j/ProcessingInstruction.html#setValue(java.lang.String, java.lang.String)"><B>setValue(String, String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/bean/BeanAttribute.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Setter for property value.
+<DT><A HREF="org/dom4j/dtd/InternalEntityDecl.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A>
+<DD>Setter for property value.
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#setValue(java.lang.String, java.lang.String)"><B>setValue(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#setValue(java.lang.Object)"><B>setValue(Object)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD>Set the value of this entry. 
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#setValue(java.lang.String, java.lang.String)"><B>setValue(String, String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#setValueDefault(java.lang.String)"><B>setValueDefault(String)</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD>Setter for property valueDefault.
+<DT><A HREF="org/dom4j/rule/RuleManager.html#setValueOfAction(org.dom4j.rule.Action)"><B>setValueOfAction(Action)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A>
+<DD>Sets the default value-of action which is used in the default rules for
+ the pattern "text()|@"
+<DT><A HREF="org/dom4j/rule/Stylesheet.html#setValueOfAction(org.dom4j.rule.Action)"><B>setValueOfAction(Action)</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A>
+<DD>Sets the default value-of action which is used in the default rules for
+ the pattern "text()|@"
+<DT><A HREF="org/dom4j/ProcessingInstruction.html#setValues(java.util.Map)"><B>setValues(Map)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#setValues(java.util.Map)"><B>setValues(Map)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#setValues(java.util.Map)"><B>setValues(Map)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPath.html#setVariableContext(org.jaxen.VariableContext)"><B>setVariableContext(VariableContext)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>Sets the variable context to be used when evaluating XPath expressions
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#setVariableContext(org.jaxen.VariableContext)"><B>setVariableContext(VariableContext)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#setVariableContext(org.jaxen.VariableContext)"><B>setVariableContext(VariableContext)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#setWarningQName(org.dom4j.QName)"><B>setWarningQName(QName)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#setWriter(java.io.Writer)"><B>setWriter(Writer)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/OutputFormat.html#setXHTML(boolean)"><B>setXHTML(boolean)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A>
+<DD>
+ This will set whether or not to use the XHTML standard: like HTML but
+ passes an XML parser with real, closed tags. 
+<DT><A HREF="org/dom4j/Document.html#setXMLEncoding(java.lang.String)"><B>setXMLEncoding(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>
+<DD>Sets the encoding of this document as it will appear in the XML
+ declaration part of the document.
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#setXMLEncoding(java.lang.String)"><B>setXMLEncoding(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.html#setXMLFilter(org.xml.sax.XMLFilter)"><B>setXMLFilter(XMLFilter)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets the SAX filter to be used when filtering SAX events
+<DT><A HREF="org/dom4j/io/DocumentSource.html#setXMLReader(org.xml.sax.XMLReader)"><B>setXMLReader(XMLReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A>
+<DD>Sets the XMLReader used for the JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>.
+<DT><A HREF="org/dom4j/io/SAXReader.html#setXMLReader(org.xml.sax.XMLReader)"><B>setXMLReader(XMLReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets the <code>XMLReader</code> used to parse SAX events
+<DT><A HREF="org/dom4j/io/SAXValidator.html#setXMLReader(org.xml.sax.XMLReader)"><B>setXMLReader(XMLReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<DD>Sets the <code>XMLReader</code> used to parse SAX events
+<DT><A HREF="org/dom4j/io/SAXWriter.html#setXMLReader(org.xml.sax.XMLReader)"><B>setXMLReader(XMLReader)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Sets the <code>XMLReader</code> used to write SAX events to
+<DT><A HREF="org/dom4j/io/SAXReader.html#setXMLReaderClassName(java.lang.String)"><B>setXMLReaderClassName(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A>
+<DD>Sets the class name of the <code>XMLReader</code> to be used to parse
+ SAX events.
+<DT><A HREF="org/dom4j/io/SAXModifier.html#setXMLWriter(org.dom4j.io.XMLWriter)"><B>setXMLWriter(XMLWriter)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A>
+<DD>Sets the <A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>used to write the modified document.
+<DT><A HREF="org/dom4j/io/XMLResult.html#setXMLWriter(org.dom4j.io.XMLWriter)"><B>setXMLWriter(XMLWriter)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#setXPPFactory(org.xmlpull.v1.XmlPullParserFactory)"><B>setXPPFactory(XmlPullParserFactory)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPPReader.html#setXPPFactory(org.gjt.xpp.XmlPullParserFactory)"><B>setXPPFactory(XmlPullParserFactory)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#setXPath(org.dom4j.XPath)"><B>setXPath(XPath)</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD>Setter for property xpath.
+<DT><A HREF="org/dom4j/DocumentFactory.html#setXPathNamespaceURIs(java.util.Map)"><B>setXPathNamespaceURIs(Map)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A>
+<DD>Sets the namespace URIs to be used by XPath expressions created by this
+ factory or by nodes associated with this factory. 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#shouldEncodeChar(char)"><B>shouldEncodeChar(char)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Should the given character be escaped. 
+<DT><A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html#singleton"><B>singleton</B></A> - 
+Static variable in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>
+<DD>The Singleton instance
+<DT><A HREF="org/dom4j/util/IndexedDocumentFactory.html#singleton"><B>singleton</B></A> - 
+Static variable in class org.dom4j.util.<A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A>
+<DD>The Singleton instance
+<DT><A HREF="org/dom4j/util/NonLazyDocumentFactory.html#singleton"><B>singleton</B></A> - 
+Static variable in class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A>
+<DD>The Singleton instance
+<DT><A HREF="org/dom4j/util/UserDataDocumentFactory.html#singleton"><B>singleton</B></A> - 
+Static variable in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A>
+<DD>The Singleton instance
+<DT><A HREF="org/dom4j/ElementPath.html#size()"><B>size()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/bean/BeanAttributeList.html#size()"><B>size()</B></A> - 
+Method in class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#size()"><B>size()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#size()"><B>size()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD>DOCUMENT ME!
+<DT><A HREF="org/dom4j/DocumentHelper.html#sort(java.util.List, java.lang.String)"><B>sort(List, String)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ <code>sort</code> sorts the given List of Nodes using an XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>.
+ 
+<DT><A HREF="org/dom4j/DocumentHelper.html#sort(java.util.List, java.lang.String, boolean)"><B>sort(List, String, boolean)</B></A> - 
+Static method in class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A>
+<DD>
+ <code>sort</code> sorts the given List of Nodes using an XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>and optionally removing
+ duplicates.
+ 
+<DT><A HREF="org/dom4j/XPath.html#sort(java.util.List)"><B>sort(List)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>.
+ 
+<DT><A HREF="org/dom4j/XPath.html#sort(java.util.List, boolean)"><B>sort(List, boolean)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>and optionally removing
+ duplicates.
+ 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#sort(java.util.List)"><B>sort(List)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD>
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>.
+ 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#sort(java.util.List, boolean)"><B>sort(List, boolean)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD>
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>and optionally removing duplicates.
+ 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#sort(java.util.List, java.util.Map)"><B>sort(List, Map)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD>Sorts the list based on the sortValues for each node
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#splitText(int)"><B>splitText(int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#splitText(int)"><B>splitText(int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#startCDATA()"><B>startCDATA()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#startCDATA()"><B>startCDATA()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#startCDATA()"><B>startCDATA()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#startCDATA()"><B>startCDATA()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#startDTD(java.lang.String, java.lang.String, java.lang.String)"><B>startDTD(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#startDTD(java.lang.String, java.lang.String, java.lang.String)"><B>startDTD(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#startDTD(java.lang.String, java.lang.String, java.lang.String)"><B>startDTD(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#startDocument()"><B>startDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#startDocument()"><B>startDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#startDocument()"><B>startDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#startDocument()"><B>startDocument()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#startDocument()"><B>startDocument()</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Start a document by writing the initial XML declaration to the output.
+ 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)"><B>startElement(String, String, String, Attributes)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)"><B>startElement(String, String, String, Attributes)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#startElement(org.dom4j.Element, org.xml.sax.helpers.AttributesImpl)"><B>startElement(Element, AttributesImpl)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)"><B>startElement(String, String, String, Attributes)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#startEntity(java.lang.String)"><B>startEntity(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#startEntity(java.lang.String)"><B>startEntity(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#startEntity(java.lang.String)"><B>startEntity(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#startPrefixMapping(java.lang.String, java.lang.String)"><B>startPrefixMapping(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#startPrefixMapping(java.lang.String, java.lang.String)"><B>startPrefixMapping(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#startPrefixMapping(org.dom4j.Element, org.dom4j.tree.NamespaceStack)"><B>startPrefixMapping(Element, NamespaceStack)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Fires a SAX startPrefixMapping event for all the namespaceStack which
+ have just come into scope
+<DT><A HREF="org/dom4j/io/XMLWriter.html#startPrefixMapping(java.lang.String, java.lang.String)"><B>startPrefixMapping(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#substringData(int, int)"><B>substringData(int, int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#substringData(int, int)"><B>substringData(int, int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#substringData(org.dom4j.CharacterData, int, int)"><B>substringData(CharacterData, int, int)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#substringData(int, int)"><B>substringData(int, int)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMAttribute.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMCDATA.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMComment.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocument.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMDocumentType.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMElement.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMEntityReference.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNamespace.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMNodeHelper.html#supports(org.dom4j.Node, java.lang.String, java.lang.String)"><B>supports(Node, String, String)</B></A> - 
+Static method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMProcessingInstruction.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/dom/DOMText.html#supports(java.lang.String, java.lang.String)"><B>supports(String, String)</B></A> - 
+Method in class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/BaseElement.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultAttribute.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultCDATA.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultComment.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultElement.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultEntity.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultNamespace.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultProcessingInstruction.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/DefaultText.html#supportsParent()"><B>supportsParent()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_T_"><!-- --></A><H2>
+<B>T</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/Node.html#TEXT_NODE"><B>TEXT_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Matches elements nodes
+<DT><A HREF="org/dom4j/Text.html" title="interface in org.dom4j"><B>Text</B></A> - interface org.dom4j.<A HREF="org/dom4j/Text.html" title="interface in org.dom4j">Text</A>.<DD>
+ <code>Text</code> defines an XML Text node.
+ <DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#target"><B>target</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD>The target of the PI
+<DT><A HREF="org/dom4j/tree/FlyweightCDATA.html#text"><B>text</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A>
+<DD>Text of the <code>CDATA</code> node
+<DT><A HREF="org/dom4j/tree/FlyweightComment.html#text"><B>text</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A>
+<DD>Text of the <code>Comment</code> node
+<DT><A HREF="org/dom4j/tree/FlyweightEntity.html#text"><B>text</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A>
+<DD>The text of the <code>Entity</code>
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#text"><B>text</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD>The values for the PI as a String
+<DT><A HREF="org/dom4j/tree/FlyweightText.html#text"><B>text</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A>
+<DD>Text of the <code>Text</code> node
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#toArray()"><B>toArray()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ContentListFacade.html#toArray(java.lang.Object[])"><B>toArray(Object[])</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD> 
+<DT><A HREF="org/dom4j/QName.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/AttributeDecl.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/ElementDecl.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/ExternalEntityDecl.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/dtd/InternalEntityDecl.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.dtd.<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/Rule.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>
+<DD> 
+<DT><A HREF="org/dom4j/rule/RuleSet.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/BranchTreeNode.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractCDATA.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractComment.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractEntity.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#toString(java.util.Map)"><B>toString(Map)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD>
+ This will convert the Map to a string representation.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractText.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/NamespaceStack.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataElement.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#toString()"><B>toString()</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultNamespaceContext.html#translateNamespacePrefixToUri(java.lang.String)"><B>translateNamespacePrefixToUri(String)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_U_"><!-- --></A><H2>
+<B>U</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/Node.html#UNKNOWN_NODE"><B>UNKNOWN_NODE</B></A> - 
+Static variable in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>Does not match any valid node
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR"><B>USE_STRINGVALUE_SEPARATOR</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util"><B>UserDataAttribute</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A>.<DD>
+ <code>UserDataAttribute</code> support the adornment of a user data object
+ on an Element or Attribute instance such that the methods 
+ <A HREF="org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><CODE>UserDataAttribute.setData(Object)</CODE></A>will get and set the values of a user data object.
+ <DT><A HREF="org/dom4j/util/UserDataAttribute.html#UserDataAttribute(org.dom4j.QName)"><B>UserDataAttribute(QName)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataAttribute.html#UserDataAttribute(org.dom4j.QName, java.lang.String)"><B>UserDataAttribute(QName, String)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util"><B>UserDataDocumentFactory</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A>.<DD>
+ <code>UserDataDocumentFactory</code> is a factory of XML objects which
+ support the adornment of a user data object on an Element or Attribute
+ instance such that the methods <code>getData()</code> and
+ <code>setData()</code> will get and set the values of a user data object.
+ <DT><A HREF="org/dom4j/util/UserDataDocumentFactory.html#UserDataDocumentFactory()"><B>UserDataDocumentFactory()</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util"><B>UserDataElement</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>.<DD>
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>UserDataElement.setData(Object)</CODE></A>will get and set the values of a user data object.
+ <DT><A HREF="org/dom4j/util/UserDataElement.html#UserDataElement(java.lang.String)"><B>UserDataElement(String)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/UserDataElement.html#UserDataElement(org.dom4j.QName)"><B>UserDataElement(QName)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>unparsedEntityDecl(String, String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>Receive notification of an unparsed entity declaration event.
+ 
+ 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>unparsedEntityDecl(String, String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html#uriPrefix"><B>uriPrefix</B></A> - 
+Variable in class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io">SAXReader.SAXEntityResolver</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_V_"><!-- --></A><H2>
+<B>V</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING"><B>VERBOSE_TOSTRING</B></A> - 
+Static variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j"><B>Visitor</B></A> - interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>.<DD>
+ <code>Visitor</code> is used to implement the <code>Visitor</code>
+ pattern in DOM4J. <DT><A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j"><B>VisitorSupport</B></A> - class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>.<DD>
+ <code>VisitorSupport</code> is an abstract base class which is useful for
+ implementation inheritence or when using anonymous inner classes to create
+ simple <code>Visitor</code> implementations.
+ <DT><A HREF="org/dom4j/VisitorSupport.html#VisitorSupport()"><B>VisitorSupport()</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeAttribute.html#validate(java.lang.String)"><B>validate(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/datatype/DatatypeElement.html#validate(java.lang.String)"><B>validate(String)</B></A> - 
+Method in class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXValidator.html#validate(org.dom4j.Document)"><B>validate(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A>
+<DD>Validates the given <code>Document</code> by writing it to a validating
+ SAX Parser.
+<DT><A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#value"><B>value</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightAttribute.html#value"><B>value</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A>
+<DD>The value of the <code>Attribute</code>
+<DT><A HREF="org/dom4j/Node.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>valueOf</code> evaluates an XPath expression and returns the
+ textual representation of the results the XPath string-value of this
+ node. 
+<DT><A HREF="org/dom4j/XPath.html#valueOf(java.lang.Object)"><B>valueOf(Object)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>
+<DD>
+ <code>valueOf</code> evaluates this XPath expression and returns the
+ textual representation of the results using the XPath string() function.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/DefaultXPath.html#valueOf(java.lang.Object)"><B>valueOf(Object)</B></A> - 
+Method in class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html#values"><B>values</B></A> - 
+Variable in class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A>
+<DD>The values for the PI in name/value pairs
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.Document)"><B>visit(Document)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>Document</code>
+ 
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.DocumentType)"><B>visit(DocumentType)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>DocumentType</code>
+ 
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.Element)"><B>visit(Element)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>Element</code>
+ 
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.Attribute)"><B>visit(Attribute)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>Attribute</code>
+ 
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.CDATA)"><B>visit(CDATA)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>CDATA</code>
+ 
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.Comment)"><B>visit(Comment)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>Comment</code>
+ 
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.Entity)"><B>visit(Entity)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>Entity</code>
+ 
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.Namespace)"><B>visit(Namespace)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>Namespace</code>
+ 
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.ProcessingInstruction)"><B>visit(ProcessingInstruction)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>ProcessingInstruction</code>
+ 
+<DT><A HREF="org/dom4j/Visitor.html#visit(org.dom4j.Text)"><B>visit(Text)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>
+<DD>
+ Visits the given <code>Text</code>
+ 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.Document)"><B>visit(Document)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.DocumentType)"><B>visit(DocumentType)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.Element)"><B>visit(Element)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.Attribute)"><B>visit(Attribute)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.CDATA)"><B>visit(CDATA)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.Comment)"><B>visit(Comment)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.Entity)"><B>visit(Entity)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.Namespace)"><B>visit(Namespace)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.ProcessingInstruction)"><B>visit(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+<DT><A HREF="org/dom4j/VisitorSupport.html#visit(org.dom4j.Text)"><B>visit(Text)</B></A> - 
+Method in class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A>
+<DD> 
+</DL>
+<HR>
+<A NAME="_W_"><!-- --></A><H2>
+<B>W</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#WARNING_QNAME"><B>WARNING_QNAME</B></A> - 
+Static variable in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXContentHandler.html#warning(org.xml.sax.SAXParseException)"><B>warning(SAXParseException)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A>
+<DD>This method is called when a warning occurs during the parsing of the
+ document. 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#warning(org.xml.sax.SAXParseException)"><B>warning(SAXParseException)</B></A> - 
+Method in class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/Node.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in interface org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>
+<DD>
+ <code>write</code> writes this node as the default XML notation for
+ this node. 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#write(org.dom4j.Document)"><B>write(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#write(org.dom4j.Document, org.w3c.dom.DOMImplementation)"><B>write(Document, DOMImplementation)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#write(org.dom4j.Node)"><B>write(Node)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>A polymorphic method to write any Node to this SAX stream
+<DT><A HREF="org/dom4j/io/SAXWriter.html#write(org.dom4j.Document)"><B>write(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Generates SAX events for the given Document and all its content
+<DT><A HREF="org/dom4j/io/SAXWriter.html#write(org.dom4j.Element)"><B>write(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Generates SAX events for the given Element and all its content
+<DT><A HREF="org/dom4j/io/SAXWriter.html#write(java.lang.String)"><B>write(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Generates SAX events for the given text
+<DT><A HREF="org/dom4j/io/SAXWriter.html#write(org.dom4j.CDATA)"><B>write(CDATA)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Generates SAX events for the given CDATA
+<DT><A HREF="org/dom4j/io/SAXWriter.html#write(org.dom4j.Comment)"><B>write(Comment)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Generates SAX events for the given Comment
+<DT><A HREF="org/dom4j/io/SAXWriter.html#write(org.dom4j.Entity)"><B>write(Entity)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Generates SAX events for the given Entity
+<DT><A HREF="org/dom4j/io/SAXWriter.html#write(org.dom4j.ProcessingInstruction)"><B>write(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>Generates SAX events for the given ProcessingInstruction
+<DT><A HREF="org/dom4j/io/SAXWriter.html#write(org.dom4j.Element, org.dom4j.tree.NamespaceStack)"><B>write(Element, NamespaceStack)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.Attribute)"><B>write(Attribute)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given <A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.Document)"><B>write(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>
+ This will print the <code>Document</code> to the current Writer.
+ 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.Element)"><B>write(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>
+ Writes the <code><A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A></code>, including its <code><A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A></code>
+ s, and its value, and all its content (child nodes) to the current
+ Writer.
+ 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.CDATA)"><B>write(CDATA)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given <A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.Comment)"><B>write(Comment)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given <A HREF="org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.DocumentType)"><B>write(DocumentType)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given <A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.Entity)"><B>write(Entity)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given <A HREF="org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.Namespace)"><B>write(Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given <A HREF="org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.ProcessingInstruction)"><B>write(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given <A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><CODE>ProcessingInstruction</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(java.lang.String)"><B>write(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>
+ Print out a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A>, Perfoms the necessary entity escaping and
+ whitespace stripping.
+ 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.Text)"><B>write(Text)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given <A HREF="org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(org.dom4j.Node)"><B>write(Node)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#write(java.lang.Object)"><B>write(Object)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the given object which should be a String, a Node or a List of
+ Nodes.
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#write(javax.xml.bind.Element)"><B>write(Element)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Writes the specified <CODE>Element</CODE>to the document.
+ 
+<DT><A HREF="org/dom4j/tree/AbstractAttribute.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractCDATA.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractComment.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocument.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractDocumentType.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractElement.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractEntity.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractNode.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractProcessingInstruction.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A>
+<DD> 
+<DT><A HREF="org/dom4j/tree/AbstractText.html#write(java.io.Writer)"><B>write(Writer)</B></A> - 
+Method in class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeAttribute(org.dom4j.Attribute)"><B>writeAttribute(Attribute)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>to the stream.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeAttribute(org.dom4j.Attribute)"><B>writeAttribute(Attribute)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeAttribute(org.xml.sax.Attributes, int)"><B>writeAttribute(Attributes, int)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeAttributes(org.dom4j.Element)"><B>writeAttributes(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the attributes of the given element
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeAttributes(org.xml.sax.Attributes)"><B>writeAttributes(Attributes)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#writeCDATA(java.lang.String)"><B>writeCDATA(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeCDATA(org.dom4j.CDATA)"><B>writeCDATA(CDATA)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>to the event stream.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeCDATA(java.lang.String)"><B>writeCDATA(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeChildNodes(org.dom4j.Branch)"><B>writeChildNodes(Branch)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes each child node within the provided <A HREF="org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A>instance. 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#writeClose(java.lang.String)"><B>writeClose(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD>Overriden method to not close certain element names to avoid wierd
+ behaviour from browsers for versions up to 5.x
+<DT><A HREF="org/dom4j/io/SAXWriter.html#writeClose(org.dom4j.Element)"><B>writeClose(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>
+ Writes the closing tag of an <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+ 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeClose(org.dom4j.Element)"><B>writeClose(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>
+ Writes the closing tag of an <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+ 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeClose(java.lang.String)"><B>writeClose(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#writeClose(javax.xml.bind.Element)"><B>writeClose(Element)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Writes the closing tag of the specified <CODE>Element</CODE>to
+ the document. 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#writeCloseElement(org.dom4j.Element)"><B>writeCloseElement(Element)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Writes the closing tag of the specified <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the
+ document.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeComment(org.dom4j.Comment)"><B>writeComment(Comment)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>to the stream.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeComment(java.lang.String)"><B>writeComment(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXWriter.html#writeContent(org.dom4j.Branch, org.dom4j.tree.NamespaceStack)"><B>writeContent(Branch, NamespaceStack)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#writeDeclaration()"><B>writeDeclaration()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeDeclaration()"><B>writeDeclaration()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>
+ This will write the declaration to the given Writer. 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeDocType(org.dom4j.DocumentType)"><B>writeDocType(DocumentType)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeDocType(java.lang.String, java.lang.String, java.lang.String)"><B>writeDocType(String, String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeDocument(org.dom4j.Document)"><B>writeDocument(Document)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>node, and all its contents, to the
+ stream.
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeDocumentType(org.dom4j.DocumentType)"><B>writeDocumentType(DocumentType)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>to the stream.
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#writeElement(org.dom4j.Element)"><B>writeElement(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD>This override handles any elements that should not remove whitespace,
+ such as <PRE>, <SCRIPT>, <STYLE>, and <TEXTAREA>.
+ 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeElement(org.dom4j.Element)"><B>writeElement(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>node and its children to the stream.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeElement(org.dom4j.Element)"><B>writeElement(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#writeElement(org.dom4j.Element)"><B>writeElement(Element)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Writes the specified <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the document.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeElementContent(org.dom4j.Element)"><B>writeElementContent(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Outputs the content of the given element. 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#writeEmptyElementClose(java.lang.String)"><B>writeEmptyElementClose(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeEmptyElementClose(java.lang.String)"><B>writeEmptyElementClose(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#writeEntity(org.dom4j.Entity)"><B>writeEntity(Entity)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeEntity(org.dom4j.Entity)"><B>writeEntity(Entity)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>to the stream.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeEntity(org.dom4j.Entity)"><B>writeEntity(Entity)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeEntityRef(java.lang.String)"><B>writeEntityRef(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeEscapeAttributeEntities(java.lang.String)"><B>writeEscapeAttributeEntities(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/SAXEventRecorder.html#writeExternal(java.io.ObjectOutput)"><B>writeExternal(ObjectOutput)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/DOMWriter.html#writeNamespace(org.w3c.dom.Element, org.dom4j.Namespace)"><B>writeNamespace(Element, Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeNamespace(org.dom4j.Namespace)"><B>writeNamespace(Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>to the stream.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeNamespace(org.dom4j.Namespace)"><B>writeNamespace(Namespace)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeNamespace(java.lang.String, java.lang.String)"><B>writeNamespace(String, String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the SAX namepsaces
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeNamespaces()"><B>writeNamespaces()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>Writes the SAX namepsaces
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeNode(org.dom4j.Node)"><B>writeNode(Node)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>to the stream. 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeNode(org.dom4j.Node)"><B>writeNode(Node)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeNodeText(org.dom4j.Node)"><B>writeNodeText(Node)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>This method is used to write out Nodes that contain text and still allow
+ for xml:space to be handled properly.
+<DT><A HREF="org/dom4j/io/SAXWriter.html#writeOpen(org.dom4j.Element)"><B>writeOpen(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A>
+<DD>
+ Writes the opening tag of an <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>, including its <A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>s but without its content.
+ 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeOpen(org.dom4j.Element)"><B>writeOpen(Element)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>
+ Writes the opening tag of an <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>, including its <A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>s but without its content.
+ 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#writeOpen(javax.xml.bind.Element)"><B>writeOpen(Element)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Writes the opening tag of the specified <CODE>Element</CODE>to
+ the document. 
+<DT><A HREF="org/dom4j/jaxb/JAXBWriter.html#writeOpenElement(org.dom4j.Element)"><B>writeOpenElement(Element)</B></A> - 
+Method in class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A>
+<DD>Writes the opening tag of the specified <A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the
+ document.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writePrintln()"><B>writePrintln()</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>
+ This will print a new line only if the newlines flag was set to true
+ 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeProcessingInstruction(org.dom4j.ProcessingInstruction)"><B>writeProcessingInstruction(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <CODE>ProcessingInstruction</CODE>to the stream.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeProcessingInstruction(org.dom4j.ProcessingInstruction)"><B>writeProcessingInstruction(ProcessingInstruction)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/HTMLWriter.html#writeString(java.lang.String)"><B>writeString(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writeString(java.lang.String)"><B>writeString(String)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/STAXEventWriter.html#writeText(org.dom4j.Text)"><B>writeText(Text)</B></A> - 
+Method in class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A>
+<DD>Writes a DOM4J <A HREF="org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>to the stream.
+<DT><A HREF="org/dom4j/io/XMLWriter.html#writer"><B>writer</B></A> - 
+Variable in class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD>The Writer used to output to
+</DL>
+<HR>
+<A NAME="_X_"><!-- --></A><H2>
+<B>X</B></H2>
+<DL>
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util"><B>XMLErrorHandler</B></A> - class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>.<DD><code>XMLErrorHandler</code> is a SAX <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax"><CODE>ErrorHandler</CODE></A>which turns the
+ SAX parsing errors into XML so that the output can be formatted using XSLT or
+ the errors can be included in a SOAP message.<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#XMLErrorHandler()"><B>XMLErrorHandler()</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/util/XMLErrorHandler.html#XMLErrorHandler(org.dom4j.Element)"><B>XMLErrorHandler(Element)</B></A> - 
+Constructor for class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io"><B>XMLResult</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>.<DD>
+ <code>XMLResult</code> implements a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXResult</CODE></A>for an output
+ stream with support for pretty printing and control over how the XML is
+ formatted.
+ <DT><A HREF="org/dom4j/io/XMLResult.html#XMLResult()"><B>XMLResult()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLResult.html#XMLResult(java.io.Writer)"><B>XMLResult(Writer)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLResult.html#XMLResult(java.io.Writer, org.dom4j.io.OutputFormat)"><B>XMLResult(Writer, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLResult.html#XMLResult(java.io.OutputStream)"><B>XMLResult(OutputStream)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLResult.html#XMLResult(java.io.OutputStream, org.dom4j.io.OutputFormat)"><B>XMLResult(OutputStream, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLResult.html#XMLResult(org.dom4j.io.XMLWriter)"><B>XMLResult(XMLWriter)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing"><B>XMLTableColumnDefinition</B></A> - class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>.<DD>
+ <code>XMLTableColumnDefinition</code> a column within a table definition.
+ <DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition()"><B>XMLTableColumnDefinition()</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition(java.lang.String, java.lang.String, int)"><B>XMLTableColumnDefinition(String, String, int)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition(java.lang.String, org.dom4j.XPath, int)"><B>XMLTableColumnDefinition(String, XPath, int)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition(org.dom4j.XPath, org.dom4j.XPath, int)"><B>XMLTableColumnDefinition(XPath, XPath, int)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing"><B>XMLTableDefinition</B></A> - class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>.<DD>
+ <code>XMLTableDefinition</code> represents a table definition based on
+ XPath expression evaluated on an XML document.
+ <DT><A HREF="org/dom4j/swing/XMLTableDefinition.html#XMLTableDefinition()"><B>XMLTableDefinition()</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing"><B>XMLTableModel</B></A> - class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>.<DD>
+ <code>XMLTableDefinition</code> repro.
+ <DT><A HREF="org/dom4j/swing/XMLTableModel.html#XMLTableModel(org.dom4j.Element, java.lang.Object)"><B>XMLTableModel(Element, Object)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD>Creates a TableModel from an XML table definition document and an XML
+ source
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#XMLTableModel(org.dom4j.Document, java.lang.Object)"><B>XMLTableModel(Document, Object)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD>Creates a TableModel from an XML table definition document and an XML
+ source
+<DT><A HREF="org/dom4j/swing/XMLTableModel.html#XMLTableModel(org.dom4j.swing.XMLTableDefinition, java.lang.Object)"><B>XMLTableModel(XMLTableDefinition, Object)</B></A> - 
+Constructor for class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><B>XMLWriter</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>.<DD>
+ <code>XMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ XML. <DT><A HREF="org/dom4j/io/XMLWriter.html#XMLWriter(java.io.Writer)"><B>XMLWriter(Writer)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#XMLWriter(java.io.Writer, org.dom4j.io.OutputFormat)"><B>XMLWriter(Writer, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#XMLWriter()"><B>XMLWriter()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#XMLWriter(java.io.OutputStream)"><B>XMLWriter(OutputStream)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#XMLWriter(java.io.OutputStream, org.dom4j.io.OutputFormat)"><B>XMLWriter(OutputStream, OutputFormat)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XMLWriter.html#XMLWriter(org.dom4j.io.OutputFormat)"><B>XMLWriter(OutputFormat)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A>
+<DD> 
+<DT><A HREF="org/dom4j/Namespace.html#XML_NAMESPACE"><B>XML_NAMESPACE</B></A> - 
+Static variable in class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A>
+<DD>XML Namespace
+<DT><A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io"><B>XPP3Reader</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>.<DD>
+ <code>XPP3Reader</code> is a Reader of DOM4J documents that uses the fast
+ <a href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 3.x </a>.
+ <DT><A HREF="org/dom4j/io/XPP3Reader.html#XPP3Reader()"><B>XPP3Reader()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPP3Reader.html#XPP3Reader(org.dom4j.DocumentFactory)"><B>XPP3Reader(DocumentFactory)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io"><B>XPPReader</B></A> - class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>.<DD>
+ <code>XPPReader</code> is a Reader of DOM4J documents that uses the fast <a
+ href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 2.x </a>. <DT><A HREF="org/dom4j/io/XPPReader.html#XPPReader()"><B>XPPReader()</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/io/XPPReader.html#XPPReader(org.dom4j.DocumentFactory)"><B>XPPReader(DocumentFactory)</B></A> - 
+Constructor for class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPath.html" title="interface in org.dom4j"><B>XPath</B></A> - interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>.<DD>
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ <DT><A HREF="org/dom4j/XPathException.html" title="class in org.dom4j"><B>XPathException</B></A> - exception org.dom4j.<A HREF="org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A>.<DD>
+ <code>XPathException</code> is thrown when an exception occurs while
+ evaluating an XPath expression, usually due to some function throwing an
+ exception.
+ <DT><A HREF="org/dom4j/XPathException.html#XPathException(java.lang.String)"><B>XPathException(String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPathException.html#XPathException(java.lang.String, java.lang.String)"><B>XPathException(String, String)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A>
+<DD> 
+<DT><A HREF="org/dom4j/XPathException.html#XPathException(java.lang.String, java.lang.Exception)"><B>XPathException(String, Exception)</B></A> - 
+Constructor for class org.dom4j.<A HREF="org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath"><B>XPathPattern</B></A> - class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>.<DD>
+ <code>XPathPattern</code> is an implementation of Pattern which uses an
+ XPath xpath.
+ <DT><A HREF="org/dom4j/xpath/XPathPattern.html#XPathPattern(org.jaxen.pattern.Pattern)"><B>XPathPattern(Pattern)</B></A> - 
+Constructor for class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/xpath/XPathPattern.html#XPathPattern(java.lang.String)"><B>XPathPattern(String)</B></A> - 
+Constructor for class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A>
+<DD> 
+<DT><A HREF="org/dom4j/swing/LeafTreeNode.html#xmlNode"><B>xmlNode</B></A> - 
+Variable in class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A>
+<DD>The dom4j Node which contains the
+</DL>
+<HR>
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF=" [...]
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/index.html b/docs/apidocs/index.html
new file mode 100644
index 0000000..4af04f7
--- /dev/null
+++ b/docs/apidocs/index.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon May 16 14:23:20 GMT+01:00 2005-->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+dom4j 1.6.1 API
+</TITLE>
+</HEAD>
+<FRAMESET cols="20%,80%">
+<FRAMESET rows="30%,70%">
+<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages">
+<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</FRAMESET>
+<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions">
+<NOFRAMES>
+<H2>
+Frame Alert</H2>
+
+<P>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<BR>
+Link to<A HREF="overview-summary.html">Non-frame version.</A>
+</NOFRAMES>
+</FRAMESET>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Attribute.html b/docs/apidocs/org/dom4j/Attribute.html
new file mode 100644
index 0000000..29a90af
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Attribute.html
@@ -0,0 +1,557 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Attribute (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Attribute interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Attribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Attribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Attribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface Attribute</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Attribute</B><DT>extends <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DL>
+
+<P>
+<p>
+ <code>Attribute</code> defines an XML attribute. An attribute may have a
+ name, an optional namespace and a value.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <A HREF="../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise null is returned returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#getNamespacePrefix()">getNamespacePrefix</A></B>()</CODE>
+
+<BR>
+          
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+          
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#getQualifiedName()">getQualifiedName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the fully qualified name of this element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+          
+ Returns the value of the attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          
+ Sets the data value of this attribute if this element supports data
+ binding or calls <A HREF="../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(String)</CODE></A>if it doesn't.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#setNamespace(org.dom4j.Namespace)">setNamespace</A></B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          
+ Sets the <code>Namespace</code> of this element or if this element is
+ read only then an <code>UnsupportedOperationException</code> is thrown.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Attribute.html#setValue(java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getQName()"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>QName</code> associated with this attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespace()"><!-- --></A><H3>
+getNamespace</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespace</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise null is returned returned.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>Namespace</code> associated with this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNamespace(org.dom4j.Namespace)"><!-- --></A><H3>
+setNamespace</H3>
+<PRE>
+public void <B>setNamespace</B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><p>
+ Sets the <code>Namespace</code> of this element or if this element is
+ read only then an <code>UnsupportedOperationException</code> is thrown.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the <code>Namespace</code> to associate with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespacePrefix()"><!-- --></A><H3>
+getNamespacePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespacePrefix</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the prefix of the <code>Namespace</code> of this element or an
+         empty <code>String</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the URI for the <code>Namespace</code> of this element or an
+         empty <code>String</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQualifiedName()"><!-- --></A><H3>
+getQualifiedName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQualifiedName</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the fully qualified name of this element.
+ </p>
+ 
+ <p>
+ This will be the same as the value returned from <A HREF="../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>
+ if this element has no namespace attached to this element or an
+ expression of the form
+ 
+ <pre>
+ getNamespacePrefix() + ":" + getName()
+ </pre>
+ 
+ will be returned.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the fully qualified name of the element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getValue</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the value of the attribute. This method returns the same value as
+ the <A HREF="../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>method.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of the attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><p>
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - is the new value of this attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD><p>
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <A HREF="../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the attribute data</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><p>
+ Sets the data value of this attribute if this element supports data
+ binding or calls <A HREF="../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(String)</CODE></A>if it doesn't.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - the attribute data</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Attribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Attribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Branch.html b/docs/apidocs/org/dom4j/Branch.html
new file mode 100644
index 0000000..b01e622
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Branch.html
@@ -0,0 +1,971 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Branch (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Branch interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Branch (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Branch.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Branch.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface Branch</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A>, <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>, <A HREF="../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>, <A HREF="../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Branch</B><DT>extends <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DL>
+
+<P>
+<p>
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. This
+ interface allows both elements and documents to be treated in a polymorphic
+ manner when changing or navigating child nodes (content).
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.32 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#add(org.dom4j.Comment)">add</A></B>(<A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Adds the given <code>Comment</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#add(org.dom4j.Element)">add</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Adds the given <code>Element</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#add(org.dom4j.Node)">add</A></B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Adds the given <code>Node</code> or throws <A HREF="../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><CODE>IllegalAddException</CODE></A>
+ if the given node is not of a valid type. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)">add</A></B>(<A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Adds the given <code>ProcessingInstruction</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>to
+ this branch and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#addElement(java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given qualified name and
+ namespace URI to this branch and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A></B>(<A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch)</CODE>
+
+<BR>
+          Appends the content of the given branch to this branch instance. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#clearContent()">clearContent</A></B>()</CODE>
+
+<BR>
+          Clears the content for this branch, removing any <code>Node</code>
+ instances this branch may contain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#content()">content</A></B>()</CODE>
+
+<BR>
+          
+ Returns the content nodes of this branch as a backed <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that
+ the content of this branch may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementID)</CODE>
+
+<BR>
+          Returns the element of the given ID attribute value. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#indexOf(org.dom4j.Node)">indexOf</A></B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#node(int)">node</A></B>(int index)</CODE>
+
+<BR>
+          Returns the <code>Node</code> at the specified index position.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#nodeCount()">nodeCount</A></B>()</CODE>
+
+<BR>
+          Returns the number of <code>Node</code> instances that this branch
+ contains.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#nodeIterator()">nodeIterator</A></B>()</CODE>
+
+<BR>
+          Returns an iterator through the content nodes of this branch</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+          Puts all <code>Text</code> nodes in the full depth of the sub-tree
+ underneath this <code>Node</code>, including attribute nodes, into a
+ "normal" form where only structure (e.g., elements, comments, processing
+ instructions, CDATA sections, and entity references) separates
+ <code>Text</code> nodes, i.e., there are neither adjacent
+ <code>Text</code> nodes nor empty <code>Text</code> nodes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#processingInstruction(java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#processingInstructions()">processingInstructions</A></B>()</CODE>
+
+<BR>
+          
+ Returns a list of all the processing instructions in this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#processingInstructions(java.lang.String)">processingInstructions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          
+ Returns a list of the processing instructions for the given target. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#remove(org.dom4j.Comment)">remove</A></B>(<A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Removes the given <code>Comment</code> if the node is an immediate
+ child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#remove(org.dom4j.Element)">remove</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#remove(org.dom4j.Node)">remove</A></B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Removes the given <code>Node</code> if the node is an immediate child
+ of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#remove(org.dom4j.ProcessingInstruction)">remove</A></B>(<A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Removes the given <code>ProcessingInstruction</code> if the node is an
+ immediate child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#removeProcessingInstruction(java.lang.String)">removeProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          Removes the processing instruction for the given target if it exists</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#setContent(java.util.List)">setContent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</CODE>
+
+<BR>
+          Sets the contents of this branch as a <code>List</code> of
+ <code>Node</code> instances.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Branch.html#setProcessingInstructions(java.util.List)">setProcessingInstructions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> listOfPIs)</CODE>
+
+<BR>
+          Sets all the processing instructions for this branch</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="node(int)"><!-- --></A><H3>
+node</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>node</B>(int index)
+          throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></PRE>
+<DL>
+<DD>Returns the <code>Node</code> at the specified index position.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index of the node to return.
+<DT><B>Returns:</B><DD>the <code>Node</code> at the specified position.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IndexOutOfBoundsException.html" title="class or interface in java.lang">IndexOutOfBoundsException</A></CODE> - if the index is out of range (index < 0 || index >=
+             <A HREF="../../org/dom4j/Branch.html#nodeCount()"><CODE>nodeCount()</CODE></A>).</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="indexOf(org.dom4j.Node)"><!-- --></A><H3>
+indexOf</H3>
+<PRE>
+public int <B>indexOf</B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - the content child node to find.
+<DT><B>Returns:</B><DD>the index of the given node starting at 0 or -1 if the node is
+         not a child node of this branch</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="nodeCount()"><!-- --></A><H3>
+nodeCount</H3>
+<PRE>
+public int <B>nodeCount</B>()</PRE>
+<DL>
+<DD>Returns the number of <code>Node</code> instances that this branch
+ contains.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of nodes this branch contains</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementByID(java.lang.String)"><!-- --></A><H3>
+elementByID</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>elementByID</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementID)</PRE>
+<DL>
+<DD>Returns the element of the given ID attribute value. If this tree is
+ capable of understanding which attribute value should be used for the ID
+ then it should be used, otherwise this method should return null.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elementID</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="content()"><!-- --></A><H3>
+content</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>content</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the content nodes of this branch as a backed <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that
+ the content of this branch may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. The <code>List</code> is backed by the
+ <code>Branch</code> so that changes to the list are reflected in the
+ branch and vice versa.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the nodes that this branch contains as a <code>List</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="nodeIterator()"><!-- --></A><H3>
+nodeIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>nodeIterator</B>()</PRE>
+<DL>
+<DD>Returns an iterator through the content nodes of this branch
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an iterator through the content nodes of this branch</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContent(java.util.List)"><!-- --></A><H3>
+setContent</H3>
+<PRE>
+public void <B>setContent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</PRE>
+<DL>
+<DD>Sets the contents of this branch as a <code>List</code> of
+ <code>Node</code> instances.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>content</CODE> - is the list of nodes to use as the content for this branch.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendContent(org.dom4j.Branch)"><!-- --></A><H3>
+appendContent</H3>
+<PRE>
+public void <B>appendContent</B>(<A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch)</PRE>
+<DL>
+<DD>Appends the content of the given branch to this branch instance. This
+ method behaves like the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html#addAll(java.util.Collection)" title="class or interface in java.util"><CODE>Collection.addAll(java.util.Collection)</CODE></A> method.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>branch</CODE> - is the branch whose content will be added to me.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clearContent()"><!-- --></A><H3>
+clearContent</H3>
+<PRE>
+public void <B>clearContent</B>()</PRE>
+<DL>
+<DD>Clears the content for this branch, removing any <code>Node</code>
+ instances this branch may contain.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstructions()"><!-- --></A><H3>
+processingInstructions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>processingInstructions</B>()</PRE>
+<DL>
+<DD><p>
+ Returns a list of all the processing instructions in this branch. The
+ list is backed by this branch so that changes to the list will be
+ reflected in the branch but the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a backed list of the processing instructions</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstructions(java.lang.String)"><!-- --></A><H3>
+processingInstructions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>processingInstructions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><p>
+ Returns a list of the processing instructions for the given target. The
+ list is backed by this branch so that changes to the list will be
+ reflected in the branch but the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a backed list of the processing instructions</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstruction(java.lang.String)"><!-- --></A><H3>
+processingInstruction</H3>
+<PRE>
+public <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>processingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the processing instruction for the given target</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setProcessingInstructions(java.util.List)"><!-- --></A><H3>
+setProcessingInstructions</H3>
+<PRE>
+public void <B>setProcessingInstructions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> listOfPIs)</PRE>
+<DL>
+<DD>Sets all the processing instructions for this branch
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listOfPIs</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(java.lang.String)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name for the <code>Element</code> node.
+<DT><B>Returns:</B><DD>the newly added <code>Element</code> node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(org.dom4j.QName)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD>Adds a new <code>Element</code> node with the given <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>to
+ this branch and returns a reference to the new node.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qname</CODE> - is the qualified name for the <code>Element</code> node.
+<DT><B>Returns:</B><DD>the newly added <code>Element</code> node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</PRE>
+<DL>
+<DD>Adds a new <code>Element</code> node with the given qualified name and
+ namespace URI to this branch and returns a reference to the new node.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qualifiedName</CODE> - is the fully qualified name of the Element<DD><CODE>namespaceURI</CODE> - is the URI of the namespace to use
+<DT><B>Returns:</B><DD>the newly added <code>Element</code> node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeProcessingInstruction(java.lang.String)"><!-- --></A><H3>
+removeProcessingInstruction</H3>
+<PRE>
+public boolean <B>removeProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD>Removes the processing instruction for the given target if it exists
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if a processing instruction was removed else false</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Node)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Adds the given <code>Node</code> or throws <A HREF="../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><CODE>IllegalAddException</CODE></A>
+ if the given node is not of a valid type. This is a polymorphic method
+ which will call the typesafe method for the node type such as
+ add(Element) or add(Comment).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the given node to add</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Comment)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</PRE>
+<DL>
+<DD>Adds the given <code>Comment</code> to this branch. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - is the comment to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Element)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD>Adds the given <code>Element</code> to this branch. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - is the element to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</PRE>
+<DL>
+<DD>Adds the given <code>ProcessingInstruction</code> to this branch. If
+ the given node already has a parent defined then an
+ <code>IllegalAddException</code> will be thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pi</CODE> - is the processing instruction to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Node)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Removes the given <code>Node</code> if the node is an immediate child
+ of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead. This
+ is a polymorphic method which will call the typesafe method for the node
+ type such as remove(Element) or remove(Comment).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the given node to be removed
+<DT><B>Returns:</B><DD>true if the node was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Comment)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</PRE>
+<DL>
+<DD>Removes the given <code>Comment</code> if the node is an immediate
+ child of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - is the comment to be removed
+<DT><B>Returns:</B><DD>true if the comment was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Element)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD>Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - is the element to be removed
+<DT><B>Returns:</B><DD>true if the element was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</PRE>
+<DL>
+<DD>Removes the given <code>ProcessingInstruction</code> if the node is an
+ immediate child of this branch. If the given node is not an immediate
+ child of this branch then the <A HREF="../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used
+ instead.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pi</CODE> - is the processing instruction to be removed
+<DT><B>Returns:</B><DD>true if the processing instruction was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD>Puts all <code>Text</code> nodes in the full depth of the sub-tree
+ underneath this <code>Node</code>, including attribute nodes, into a
+ "normal" form where only structure (e.g., elements, comments, processing
+ instructions, CDATA sections, and entity references) separates
+ <code>Text</code> nodes, i.e., there are neither adjacent
+ <code>Text</code> nodes nor empty <code>Text</code> nodes. This can
+ be used to ensure that the DOM view of a document is the same as if it
+ were saved and re-loaded, and is useful when operations (such as XPointer
+ lookups) that depend on a particular document tree structure are to be
+ used.In cases where the document contains <code>CDATASections</code>,
+ the normalize operation alone may not be sufficient, since XPointers do
+ not differentiate between <code>Text</code> nodes and
+ <code>CDATASection</code> nodes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Since:</B></DT>
+  <DD>DOM Level 2</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Branch.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Branch.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/CDATA.html b/docs/apidocs/org/dom4j/CDATA.html
new file mode 100644
index 0000000..49fe2f5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/CDATA.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+CDATA (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.CDATA interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="CDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="CDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface CDATA</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>, <A HREF="../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>CDATA</B><DT>extends <A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></DL>
+
+<P>
+<p>
+ <code>CDATA</code> defines an XML CDATA section.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="CDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/CharacterData.html b/docs/apidocs/org/dom4j/CharacterData.html
new file mode 100644
index 0000000..7445328
--- /dev/null
+++ b/docs/apidocs/org/dom4j/CharacterData.html
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+CharacterData (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.CharacterData interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="CharacterData (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CharacterData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="CharacterData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface CharacterData</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>, <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>, <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>, <A HREF="../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A>, <A HREF="../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>, <A HREF="../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>, <A HREF="../../org/dom4 [...]
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>CharacterData</B><DT>extends <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DL>
+
+<P>
+<p>
+ <code>CharacterData</code> is a marker interface for character based nodes
+ such as the <code>CDATA</code>,<code>Comment</code> and
+ <code>Text</code> nodes.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Appends the given text to this nodes text value. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="appendText(java.lang.String)"><!-- --></A><H3>
+appendText</H3>
+<PRE>
+public void <B>appendText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>Appends the given text to this nodes text value. Calling this method is
+ equivalent of the code <code>node.setText(node.getText() + text)</code>
+ but allows for possible implementation optimisations (such as a text
+ based node storing a StringBuffer internally
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - the text to append</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/CharacterData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="CharacterData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Comment.html b/docs/apidocs/org/dom4j/Comment.html
new file mode 100644
index 0000000..cfd3c4c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Comment.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Comment (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Comment interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Comment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Comment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Comment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface Comment</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>, <A HREF="../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Comment</B><DT>extends <A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></DL>
+
+<P>
+<p>
+ <code>Comment</code> defines the behavior of an XML comment.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Comment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Comment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Document.html b/docs/apidocs/org/dom4j/Document.html
new file mode 100644
index 0000000..08f30fd
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Document.html
@@ -0,0 +1,581 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Document (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Document interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Document (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Document.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Document.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface Document</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Document</B><DT>extends <A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></DL>
+
+<P>
+<p>
+ <code>Document</code> defines an XML Document.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.14 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#addComment(java.lang.String)">addComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</CODE>
+
+<BR>
+          Adds a new <code>Comment</code> node with the given text to this
+ branch.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#addDocType(java.lang.String, java.lang.String, java.lang.String)">addDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Adds a DOCTYPE declaration to this document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#getDocType()">getDocType</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#getEntityResolver()">getEntityResolver</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#getRootElement()">getRootElement</A></B>()</CODE>
+
+<BR>
+          Returns the root <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>for this document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#getXMLEncoding()">getXMLEncoding</A></B>()</CODE>
+
+<BR>
+          Return the encoding of this document, as part of the XML declaration This
+ is <code>null</code> when unspecified or when it is not known (such as
+ when the Document was created in memory) or when the implementation does
+ not support this operation.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#setDocType(org.dom4j.DocumentType)">setDocType</A></B>(<A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+          Sets the DocumentType property</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#setEntityResolver(org.xml.sax.EntityResolver)">setEntityResolver</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</CODE>
+
+<BR>
+          Sets the EntityResolver used to find resolve URIs such as for DTDs, or
+ XML Schema documents</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#setRootElement(org.dom4j.Element)">setRootElement</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+          Sets the root element for this document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Document.html#setXMLEncoding(java.lang.String)">setXMLEncoding</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</CODE>
+
+<BR>
+          Sets the encoding of this document as it will appear in the XML
+ declaration part of the document.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Branch.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../org/dom4j/Branch.html#add(org.dom4j.Element)">add</A>, <A HREF="../../org/dom4j/Branch.html#add(org.dom4j.Node)">add</A>, <A HREF="../../org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)">add</A>, <A HREF="../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../org/dom4j/Branch.html#addElement(java.lang.String)">addElement</A>, <A HREF="../../org/dom4j/B [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getRootElement()"><!-- --></A><H3>
+getRootElement</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getRootElement</B>()</PRE>
+<DL>
+<DD>Returns the root <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>for this document.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the root element for this document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRootElement(org.dom4j.Element)"><!-- --></A><H3>
+setRootElement</H3>
+<PRE>
+public void <B>setRootElement</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</PRE>
+<DL>
+<DD>Sets the root element for this document
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>rootElement</CODE> - the new root element for this document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addComment(java.lang.String)"><!-- --></A><H3>
+addComment</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>addComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</PRE>
+<DL>
+<DD>Adds a new <code>Comment</code> node with the given text to this
+ branch.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - is the text for the <code>Comment</code> node.
+<DT><B>Returns:</B><DD>this <code>Document</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>addProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>Adds a processing instruction for the given target
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the target of the processing instruction<DD><CODE>text</CODE> - is the textual data (key/value pairs) of the processing
+            instruction
+<DT><B>Returns:</B><DD>this <code>Document</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+addProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>addProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD>Adds a processing instruction for the given target
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the target of the processing instruction<DD><CODE>data</CODE> - is a Map of the key / value pairs of the processing
+            instruction
+<DT><B>Returns:</B><DD>this <code>Document</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addDocType(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+addDocType</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>addDocType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</PRE>
+<DL>
+<DD>Adds a DOCTYPE declaration to this document
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the root element<DD><CODE>publicId</CODE> - is the PUBLIC URI<DD><CODE>systemId</CODE> - is the SYSTEM URI
+<DT><B>Returns:</B><DD>this <code>Document</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocType()"><!-- --></A><H3>
+getDocType</H3>
+<PRE>
+public <A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> <B>getDocType</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the DocumentType property</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocType(org.dom4j.DocumentType)"><!-- --></A><H3>
+setDocType</H3>
+<PRE>
+public void <B>setDocType</B>(<A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</PRE>
+<DL>
+<DD>Sets the DocumentType property
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docType</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEntityResolver()"><!-- --></A><H3>
+getEntityResolver</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> <B>getEntityResolver</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the EntityResolver used to find resolve URIs such as for DTDs, or
+         XML Schema documents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEntityResolver(org.xml.sax.EntityResolver)"><!-- --></A><H3>
+setEntityResolver</H3>
+<PRE>
+public void <B>setEntityResolver</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</PRE>
+<DL>
+<DD>Sets the EntityResolver used to find resolve URIs such as for DTDs, or
+ XML Schema documents
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entityResolver</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXMLEncoding()"><!-- --></A><H3>
+getXMLEncoding</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getXMLEncoding</B>()</PRE>
+<DL>
+<DD>Return the encoding of this document, as part of the XML declaration This
+ is <code>null</code> when unspecified or when it is not known (such as
+ when the Document was created in memory) or when the implementation does
+ not support this operation.
+ 
+ <p>
+ The way this encoding is retrieved also depends on the way the XML source
+ is parsed. For instance, if the SAXReader is used and if the underlying
+ XMLReader implementation support the
+ <code>org.xml.sax.ext.Locator2</code> interface, the result returned by
+ this method is specified by the <code>getEncoding()</code> method of
+ that interface.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The encoding of this document, as stated in the XML declaration,
+         or <code>null</code> if unknown.<DT><B>Since:</B></DT>
+  <DD>1.5</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLEncoding(java.lang.String)"><!-- --></A><H3>
+setXMLEncoding</H3>
+<PRE>
+public void <B>setXMLEncoding</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</PRE>
+<DL>
+<DD>Sets the encoding of this document as it will appear in the XML
+ declaration part of the document.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>encoding</CODE> - the encoding of the document<DT><B>Since:</B></DT>
+  <DD>1.6</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Document.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Document.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/DocumentException.html b/docs/apidocs/org/dom4j/DocumentException.html
new file mode 100644
index 0000000..742a3d2
--- /dev/null
+++ b/docs/apidocs/org/dom4j/DocumentException.html
@@ -0,0 +1,400 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DocumentException (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.DocumentException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DocumentException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Class DocumentException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">java.lang.Throwable</A>
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">java.lang.Exception</A>
+          <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.DocumentException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DocumentException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></DL>
+
+<P>
+<p>
+ <code>DocumentException</code> is a nested Exception which may be thrown
+ during the processing of a DOM4J document.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#org.dom4j.DocumentException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentException.html#DocumentException()">DocumentException</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentException.html#DocumentException(java.lang.String)">DocumentException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> message)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentException.html#DocumentException(java.lang.String, java.lang.Throwable)">DocumentException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> message,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A> nestedException)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentException.html#DocumentException(java.lang.Throwable)">DocumentException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A> nestedException)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentException.html#getMessage()">getMessage</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentException.html#getNestedException()">getNestedException</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentException.html#printStackTrace()">printStackTrace</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentException.html#printStackTrace(java.io.PrintStream)">printStackTrace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintStream.html" title="class or interface in java.io">PrintStream</A> out)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentException.html#printStackTrace(java.io.PrintWriter)">printStackTrace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html" title="class or interface in java.io">PrintWriter</A> writer)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DocumentException()"><!-- --></A><H3>
+DocumentException</H3>
+<PRE>
+public <B>DocumentException</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DocumentException(java.lang.String)"><!-- --></A><H3>
+DocumentException</H3>
+<PRE>
+public <B>DocumentException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> message)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DocumentException(java.lang.Throwable)"><!-- --></A><H3>
+DocumentException</H3>
+<PRE>
+public <B>DocumentException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A> nestedException)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DocumentException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+DocumentException</H3>
+<PRE>
+public <B>DocumentException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> message,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A> nestedException)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNestedException()"><!-- --></A><H3>
+getNestedException</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A> <B>getNestedException</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage()"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMessage</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="printStackTrace()"><!-- --></A><H3>
+printStackTrace</H3>
+<PRE>
+public void <B>printStackTrace</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="printStackTrace(java.io.PrintStream)"><!-- --></A><H3>
+printStackTrace</H3>
+<PRE>
+public void <B>printStackTrace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintStream.html" title="class or interface in java.io">PrintStream</A> out)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="printStackTrace(java.io.PrintWriter)"><!-- --></A><H3>
+printStackTrace</H3>
+<PRE>
+public void <B>printStackTrace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/PrintWriter.html" title="class or interface in java.io">PrintWriter</A> writer)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/DocumentFactory.html b/docs/apidocs/org/dom4j/DocumentFactory.html
new file mode 100644
index 0000000..f640372
--- /dev/null
+++ b/docs/apidocs/org/dom4j/DocumentFactory.html
@@ -0,0 +1,1145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.DocumentFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../org/dom4j/DocumentHelper.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Class DocumentFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.DocumentFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A>, <A HREF="../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A>, <A HREF="../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A>, <A HREF="../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DocumentFactory</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
+
+<P>
+<p>
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. The default tree that is built uses a
+ doubly linked tree.
+ </p>
+ 
+ <p>
+ The tree built allows full XPath expressions from anywhere on the tree.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#org.dom4j.DocumentFactory">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#cache">cache</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#DocumentFactory()">DocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createComment(java.lang.String)">createComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createDocument(org.dom4j.Element)">createDocument</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createDocument(java.lang.String)">createDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createElement(java.lang.String, java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createEntity(java.lang.String, java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createPattern(java.lang.String)">createPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathPattern)</CODE>
+
+<BR>
+          
+ <code>createPattern</code> parses the given XPath expression to create
+ an XSLT style <A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A>instance which can then be used in an XSLT
+ processing model.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createQName(java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createQName(java.lang.String, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createQName(java.lang.String, java.lang.String, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createQNameCache()">createQNameCache</A></B>()</CODE>
+
+<BR>
+          Factory method to create the QNameCache. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createSingleton(java.lang.String)">createSingleton</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> className)</CODE>
+
+<BR>
+          
+ <code>createSingleton</code> creates the singleton instance from the
+ given class name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createXPath(java.lang.String, org.jaxen.VariableContext)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createXPathFilter(java.lang.String)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression)</CODE>
+
+<BR>
+          
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#createXPathFilter(java.lang.String, org.jaxen.VariableContext)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+                  org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+          
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to singleton implementation of DocumentFactory which is used if no
+ DocumentFactory is specified when building using the standard builders.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#getQNames()">getQNames</A></B>()</CODE>
+
+<BR>
+          Returns a list of all the QName instances currently used by this document
+ factory</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#getXPathNamespaceURIs()">getXPathNamespaceURIs</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#init()">init</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#intern(org.dom4j.QName)">intern</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentFactory.html#setXPathNamespaceURIs(java.util.Map)">setXPathNamespaceURIs</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> namespaceURIs)</CODE>
+
+<BR>
+          Sets the namespace URIs to be used by XPath expressions created by this
+ factory or by nodes associated with this factory. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="cache"><!-- --></A><H3>
+cache</H3>
+<PRE>
+protected transient <A HREF="../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A> <B>cache</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DocumentFactory()"><!-- --></A><H3>
+DocumentFactory</H3>
+<PRE>
+public <B>DocumentFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getInstance()"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getInstance</B>()</PRE>
+<DL>
+<DD><p>
+ Access to singleton implementation of DocumentFactory which is used if no
+ DocumentFactory is specified when building using the standard builders.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default singleon instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocument()"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocument(java.lang.String)"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>encoding</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!<DT><B>Since:</B></DT>
+  <DD>1.5</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocument(org.dom4j.Element)"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocType(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createDocType</H3>
+<PRE>
+public <A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> <B>createDocType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(java.lang.String)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                 <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCDATA(java.lang.String)"><!-- --></A><H3>
+createCDATA</H3>
+<PRE>
+public <A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> <B>createCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createComment(java.lang.String)"><!-- --></A><H3>
+createComment</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> <B>createComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createText(java.lang.String)"><!-- --></A><H3>
+createText</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> <B>createText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createEntity</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> <B>createEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createNamespace</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>createNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>createProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>createProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                         <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+public <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)
+                  throws <A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></PRE>
+<DL>
+<DD><p>
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to create
+<DT><B>Returns:</B><DD>a new <code>XPath</code> instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></CODE> - if the XPath expression is invalid</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String, org.jaxen.VariableContext)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+public <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+                         org.jaxen.VariableContext variableContext)</PRE>
+<DL>
+<DD><p>
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to create<DD><CODE>variableContext</CODE> - is the variable context to use when evaluating the XPath
+<DT><B>Returns:</B><DD>a new <code>XPath</code> instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathFilter(java.lang.String, org.jaxen.VariableContext)"><!-- --></A><H3>
+createXPathFilter</H3>
+<PRE>
+public <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> <B>createXPathFilter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+                                    org.jaxen.VariableContext variableContext)</PRE>
+<DL>
+<DD><p>
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression. XPath filter expressions occur within XPath
+ expressions such as <code>self::node()[ filterExpression ]</code>
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathFilterExpression</CODE> - is the XPath filter expression to create<DD><CODE>variableContext</CODE> - is the variable context to use when evaluating the XPath
+<DT><B>Returns:</B><DD>a new <code>NodeFilter</code> instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathFilter(java.lang.String)"><!-- --></A><H3>
+createXPathFilter</H3>
+<PRE>
+public <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> <B>createXPathFilter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression)</PRE>
+<DL>
+<DD><p>
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression. XPath filter expressions occur within XPath
+ expressions such as <code>self::node()[ filterExpression ]</code>
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathFilterExpression</CODE> - is the XPath filter expression to create
+<DT><B>Returns:</B><DD>a new <code>NodeFilter</code> instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createPattern(java.lang.String)"><!-- --></A><H3>
+createPattern</H3>
+<PRE>
+public <A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> <B>createPattern</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathPattern)</PRE>
+<DL>
+<DD><p>
+ <code>createPattern</code> parses the given XPath expression to create
+ an XSLT style <A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A>instance which can then be used in an XSLT
+ processing model.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathPattern</CODE> - is the XPath pattern expression to create
+<DT><B>Returns:</B><DD>a new <code>Pattern</code> instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQNames()"><!-- --></A><H3>
+getQNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getQNames</B>()</PRE>
+<DL>
+<DD>Returns a list of all the QName instances currently used by this document
+ factory
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPathNamespaceURIs()"><!-- --></A><H3>
+getXPathNamespaceURIs</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>getXPathNamespaceURIs</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Map of namespace URIs that will be used by by XPath
+         expressions to resolve namespace prefixes into namespace URIs.
+         The map is keyed by namespace prefix and the value is the
+         namespace URI. This value could well be null to indicate no
+         namespace URIs are being mapped.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXPathNamespaceURIs(java.util.Map)"><!-- --></A><H3>
+setXPathNamespaceURIs</H3>
+<PRE>
+public void <B>setXPathNamespaceURIs</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> namespaceURIs)</PRE>
+<DL>
+<DD>Sets the namespace URIs to be used by XPath expressions created by this
+ factory or by nodes associated with this factory. The keys are namespace
+ prefixes and the values are namespace URIs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespaceURIs</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createSingleton(java.lang.String)"><!-- --></A><H3>
+createSingleton</H3>
+<PRE>
+protected static <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>createSingleton</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> className)</PRE>
+<DL>
+<DD><p>
+ <code>createSingleton</code> creates the singleton instance from the
+ given class name.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>className</CODE> - is the name of the DocumentFactory class to use
+<DT><B>Returns:</B><DD>a new singleton instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="intern(org.dom4j.QName)"><!-- --></A><H3>
+intern</H3>
+<PRE>
+protected <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>intern</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qname</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the cached QName instance if there is one or adds the given qname
+         to the cache if not</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQNameCache()"><!-- --></A><H3>
+createQNameCache</H3>
+<PRE>
+protected <A HREF="../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A> <B>createQNameCache</B>()</PRE>
+<DL>
+<DD>Factory method to create the QNameCache. This method should be overloaded
+ if you wish to use your own derivation of QName.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="init()"><!-- --></A><H3>
+init</H3>
+<PRE>
+protected void <B>init</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../org/dom4j/DocumentHelper.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/DocumentHelper.html b/docs/apidocs/org/dom4j/DocumentHelper.html
new file mode 100644
index 0000000..0e9b3c6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/DocumentHelper.html
@@ -0,0 +1,844 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DocumentHelper (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.DocumentHelper class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DocumentHelper (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Class DocumentHelper</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.DocumentHelper</B>
+</PRE>
+<HR>
+<DL>
+<DT>public final class <B>DocumentHelper</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>DocumentHelper</code> is a collection of helper methods for using
+ DOM4J.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.26 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createComment(java.lang.String)">createComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createDocument(org.dom4j.Element)">createDocument</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createEntity(java.lang.String, java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createPattern(java.lang.String)">createPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathPattern)</CODE>
+
+<BR>
+          
+ <code>createPattern</code> parses the given XPath expression to create
+ an XSLT style <A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A>instance which can then be used in an XSLT
+ processing model.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createProcessingInstruction(java.lang.String, java.util.Map)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> pi,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> pi,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> d)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createQName(java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createXPath(java.lang.String, org.jaxen.VariableContext)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            org.jaxen.VariableContext context)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#createXPathFilter(java.lang.String)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression)</CODE>
+
+<BR>
+          
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression using the singleton <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#makeElement(org.dom4j.Branch, java.lang.String)">makeElement</A></B>(<A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> source,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          
+ makeElement
+ 
+ a helper method which navigates from the given Document or Element node
+ to some Element using the path expression, creating any necessary
+ elements along the way. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#parseText(java.lang.String)">parseText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ <code>parseText</code> parses the given text as an XML document and
+ returns the newly created Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#selectNodes(java.lang.String, java.util.List)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> nodes)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> performs the given XPath expression on the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances appending all the results together
+ into a single list.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#selectNodes(java.lang.String, org.dom4j.Node)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+            <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> performs the given XPath expression on the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances appending all the results together
+ into a single list.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#sort(java.util.List, java.lang.String)">sort</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>sort</code> sorts the given List of Nodes using an XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentHelper.html#sort(java.util.List, java.lang.String, boolean)">sort</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression,
+     boolean distinct)</CODE>
+
+<BR>
+          
+ <code>sort</code> sorts the given List of Nodes using an XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>and optionally removing
+ duplicates.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="createDocument()"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocument(org.dom4j.Element)"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(java.lang.String)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                        <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCDATA(java.lang.String)"><!-- --></A><H3>
+createCDATA</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> <B>createCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createComment(java.lang.String)"><!-- --></A><H3>
+createComment</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> <B>createComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createText(java.lang.String)"><!-- --></A><H3>
+createText</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> <B>createText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createEntity</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> <B>createEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createNamespace</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>createNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>createProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> pi,
+                                                                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> d)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>createProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> pi,
+                                                                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                                <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)
+                         throws <A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></PRE>
+<DL>
+<DD><p>
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to create
+<DT><B>Returns:</B><DD>a new <code>XPath</code> instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></CODE> - if the XPath expression is invalid</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String, org.jaxen.VariableContext)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+                                org.jaxen.VariableContext context)
+                         throws <A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></PRE>
+<DL>
+<DD><p>
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to create<DD><CODE>context</CODE> - is the variable context to use when evaluating the XPath
+<DT><B>Returns:</B><DD>a new <code>XPath</code> instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></CODE> - if the XPath expression is invalid</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathFilter(java.lang.String)"><!-- --></A><H3>
+createXPathFilter</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> <B>createXPathFilter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression)</PRE>
+<DL>
+<DD><p>
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression using the singleton <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>. XPath
+ filter expressions occur within XPath expressions such as
+ <code>self::node()[ filterExpression ]</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathFilterExpression</CODE> - is the XPath filter expression to create
+<DT><B>Returns:</B><DD>a new <code>NodeFilter</code> instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createPattern(java.lang.String)"><!-- --></A><H3>
+createPattern</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> <B>createPattern</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathPattern)</PRE>
+<DL>
+<DD><p>
+ <code>createPattern</code> parses the given XPath expression to create
+ an XSLT style <A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A>instance which can then be used in an XSLT
+ processing model.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathPattern</CODE> - is the XPath pattern expression to create
+<DT><B>Returns:</B><DD>a new <code>Pattern</code> instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.String, java.util.List)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> nodes)</PRE>
+<DL>
+<DD><p>
+ <code>selectNodes</code> performs the given XPath expression on the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances appending all the results together
+ into a single list.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathFilterExpression</CODE> - is the XPath filter expression to evaluate<DD><CODE>nodes</CODE> - is the list of nodes on which to evalute the XPath
+<DT><B>Returns:</B><DD>the results of all the XPath evaluations as a single list</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.String, org.dom4j.Node)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+                               <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><p>
+ <code>selectNodes</code> performs the given XPath expression on the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances appending all the results together
+ into a single list.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathFilterExpression</CODE> - is the XPath filter expression to evaluate<DD><CODE>node</CODE> - is the Node on which to evalute the XPath
+<DT><B>Returns:</B><DD>the results of all the XPath evaluations as a single list</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sort(java.util.List, java.lang.String)"><!-- --></A><H3>
+sort</H3>
+<PRE>
+public static void <B>sort</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><p>
+ <code>sort</code> sorts the given List of Nodes using an XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>list</CODE> - is the list of Nodes to sort<DD><CODE>xpathExpression</CODE> - is the XPath expression used for comparison</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sort(java.util.List, java.lang.String, boolean)"><!-- --></A><H3>
+sort</H3>
+<PRE>
+public static void <B>sort</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression,
+                        boolean distinct)</PRE>
+<DL>
+<DD><p>
+ <code>sort</code> sorts the given List of Nodes using an XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>and optionally removing
+ duplicates.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>list</CODE> - is the list of Nodes to sort<DD><CODE>expression</CODE> - is the XPath expression used for comparison<DD><CODE>distinct</CODE> - if true then duplicate values (using the sortXPath for
+            comparisions) will be removed from the List</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parseText(java.lang.String)"><!-- --></A><H3>
+parseText</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>parseText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+                          throws <A HREF="../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><p>
+ <code>parseText</code> parses the given text as an XML document and
+ returns the newly created Document.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - the XML text to be parsed
+<DT><B>Returns:</B><DD>a newly parsed Document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if the document could not be parsed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="makeElement(org.dom4j.Branch, java.lang.String)"><!-- --></A><H3>
+makeElement</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>makeElement</B>(<A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> source,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</PRE>
+<DL>
+<DD><p>
+ makeElement
+ </p>
+ a helper method which navigates from the given Document or Element node
+ to some Element using the path expression, creating any necessary
+ elements along the way. For example the path <code>a/b/c</code> would
+ get the first child <a> element, which would be created if it did
+ not exist, then the next child <b> and so on until finally a
+ <c> element is returned.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - is the Element or Document to start navigating from<DD><CODE>path</CODE> - is a simple path expression, seperated by '/' which denotes
+            the path from the source to the resulting element such as
+            a/b/c
+<DT><B>Returns:</B><DD>the first Element on the given path which either already existed
+         on the path or were created by this method.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/DocumentType.html b/docs/apidocs/org/dom4j/DocumentType.html
new file mode 100644
index 0000000..e9463a9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/DocumentType.html
@@ -0,0 +1,482 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DocumentType (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.DocumentType interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DocumentType (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface DocumentType</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>DocumentType</B><DT>extends <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DL>
+
+<P>
+<p>
+ <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#getElementName()">getElementName</A></B>()</CODE>
+
+<BR>
+          This method is the equivalent to the <A HREF="../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#getExternalDeclarations()">getExternalDeclarations</A></B>()</CODE>
+
+<BR>
+          Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#getInternalDeclarations()">getInternalDeclarations</A></B>()</CODE>
+
+<BR>
+          Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#getPublicID()">getPublicID</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#getSystemID()">getSystemID</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#setElementName(java.lang.String)">setElementName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName)</CODE>
+
+<BR>
+          This method is the equivalent to the <A HREF="../../org/dom4j/Node.html#setName(java.lang.String)"><CODE>Node.setName(java.lang.String)</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#setExternalDeclarations(java.util.List)">setExternalDeclarations</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> declarations)</CODE>
+
+<BR>
+          Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#setInternalDeclarations(java.util.List)">setInternalDeclarations</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> declarations)</CODE>
+
+<BR>
+          Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#setPublicID(java.lang.String)">setPublicID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/DocumentType.html#setSystemID(java.lang.String)">setSystemID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getElementName()"><!-- --></A><H3>
+getElementName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getElementName</B>()</PRE>
+<DL>
+<DD>This method is the equivalent to the <A HREF="../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>method. It is added
+ for clarity.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the root element name for the document type.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setElementName(java.lang.String)"><!-- --></A><H3>
+setElementName</H3>
+<PRE>
+public void <B>setElementName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName)</PRE>
+<DL>
+<DD>This method is the equivalent to the <A HREF="../../org/dom4j/Node.html#setName(java.lang.String)"><CODE>Node.setName(java.lang.String)</CODE></A>method. It is added
+ for clarity.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elementName</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPublicID()"><!-- --></A><H3>
+getPublicID</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPublicID</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPublicID(java.lang.String)"><!-- --></A><H3>
+setPublicID</H3>
+<PRE>
+public void <B>setPublicID</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSystemID()"><!-- --></A><H3>
+getSystemID</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSystemID</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSystemID(java.lang.String)"><!-- --></A><H3>
+setSystemID</H3>
+<PRE>
+public void <B>setSystemID</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInternalDeclarations()"><!-- --></A><H3>
+getInternalDeclarations</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getInternalDeclarations</B>()</PRE>
+<DL>
+<DD>Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setInternalDeclarations(java.util.List)"><!-- --></A><H3>
+setInternalDeclarations</H3>
+<PRE>
+public void <B>setInternalDeclarations</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> declarations)</PRE>
+<DL>
+<DD>Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>declarations</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExternalDeclarations()"><!-- --></A><H3>
+getExternalDeclarations</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getExternalDeclarations</B>()</PRE>
+<DL>
+<DD>Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setExternalDeclarations(java.util.List)"><!-- --></A><H3>
+setExternalDeclarations</H3>
+<PRE>
+public void <B>setExternalDeclarations</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> declarations)</PRE>
+<DL>
+<DD>Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>declarations</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Element.html b/docs/apidocs/org/dom4j/Element.html
new file mode 100644
index 0000000..d8ff288
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Element.html
@@ -0,0 +1,2256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Element (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Element interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Element (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Element.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Element.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface Element</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Element</B><DT>extends <A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></DL>
+
+<P>
+<p>
+ <code>Element</code> interface defines an XML element. An element can have
+ declared namespaces, attributes, child nodes and textual content.
+ </p>
+ 
+ <p>
+ Some of this interface is optional. Some implementations may be read-only and
+ not support being modified. Some implementations may not support the parent
+ relationship and methods such as <A HREF="../../org/dom4j/Node.html#getParent()"><CODE>Node.getParent()</CODE></A>or .
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.47 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#add(org.dom4j.Attribute)">add</A></B>(<A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Adds the given <code>Attribute</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#add(org.dom4j.CDATA)">add</A></B>(<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Adds the given <code>CDATA</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#add(org.dom4j.Entity)">add</A></B>(<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Adds the given <code>Entity</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#add(org.dom4j.Namespace)">add</A></B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Adds the given <code>Namespace</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#add(org.dom4j.Text)">add</A></B>(<A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Adds the given <code>Text</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Adds the attribute value of the given fully qualified name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#addAttribute(java.lang.String, java.lang.String)">addAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Adds the attribute value of the given local name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#addCDATA(java.lang.String)">addCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> cdata)</CODE>
+
+<BR>
+          Adds a new <code>CDATA</code> node with the given text to this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#addComment(java.lang.String)">addComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</CODE>
+
+<BR>
+          Adds a new <code>Comment</code> node with the given text to this
+ element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#addEntity(java.lang.String, java.lang.String)">addEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a new <code>Entity</code> node with the given name and text to
+ this element and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#additionalNamespaces()">additionalNamespaces</A></B>()</CODE>
+
+<BR>
+          
+ Returns any additional namespaces declarations for this element other
+ than namespace returned via the <A HREF="../../org/dom4j/Element.html#getNamespace()"><CODE>getNamespace()</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#addNamespace(java.lang.String, java.lang.String)">addNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          Adds a namespace to this element for use by its child content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#addText(java.lang.String)">addText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a new <code>Text</code> node with the given text to this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#appendAttributes(org.dom4j.Element)">appendAttributes</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Appends the attributes of the given element to me. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attribute(int)">attribute</A></B>(int index)</CODE>
+
+<BR>
+          Returns the attribute at the specified indexGets the</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the attribute with the given name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attributeCount()">attributeCount</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attributeIterator()">attributeIterator</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attributes()">attributes</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>instances this element contains as a backed
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that the attributes may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attributeValue(org.dom4j.QName)">attributeValue</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given fully
+ qualified name or null if there is no such attribute or the empty string
+ if the attribute value is empty.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attributeValue(org.dom4j.QName, java.lang.String)">attributeValue</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given fully
+ qualified name or the default value if there is no such attribute value.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attributeValue(java.lang.String)">attributeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given name
+ and any namespace or null if there is no such attribute or the empty
+ string if the attribute value is empty.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#attributeValue(java.lang.String, java.lang.String)">attributeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given name
+ and any namespace or the default value if there is no such attribute
+ value.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#createCopy()">createCopy</A></B>()</CODE>
+
+<BR>
+          
+ Creates a deep copy of this element The new element is detached from its
+ parent, and getParent() on the clone will return null.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#createCopy(org.dom4j.QName)">createCopy</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ Creates a deep copy of this element with the given fully qualified name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#createCopy(java.lang.String)">createCopy</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Creates a deep copy of this element with the given local name The new
+ element is detached from its parent, and getParent() on the clone will
+ return null.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#declaredNamespaces()">declaredNamespaces</A></B>()</CODE>
+
+<BR>
+          
+ Returns all the namespaces declared by this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Returns the first element for the given fully qualified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#element(java.lang.String)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the first element for the given local name and any namespace.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elementIterator()">elementIterator</A></B>()</CODE>
+
+<BR>
+          Returns an iterator over all this elements child elements.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elementIterator(org.dom4j.QName)">elementIterator</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Returns an iterator over the elements contained in this element which
+ match the given fully qualified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elementIterator(java.lang.String)">elementIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns an iterator over the elements contained in this element which
+ match the given local name and any namespace.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elements()">elements</A></B>()</CODE>
+
+<BR>
+          
+ Returns the elements contained in this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elements(org.dom4j.QName)">elements</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ Returns the elements contained in this element with the given fully
+ qualified name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elements(java.lang.String)">elements</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Returns the elements contained in this element with the given local name
+ and any namespace. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elementText(org.dom4j.QName)">elementText</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elementText(java.lang.String)">elementText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elementTextTrim(org.dom4j.QName)">elementTextTrim</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#elementTextTrim(java.lang.String)">elementTextTrim</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          Accesses the data of this element which may implement data typing
+ bindings such as XML Schema or Java Bean bindings or will return the same
+ value as <A HREF="../../org/dom4j/Element.html#getText()"><CODE>getText()</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise <code>Namespace.NO_NAMESPACE</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> which is mapped to the given prefix
+ or null if it could not be found.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getNamespaceForURI(java.lang.String)">getNamespaceForURI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> which is mapped to the given URI or
+ null if it could not be found. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getNamespacePrefix()">getNamespacePrefix</A></B>()</CODE>
+
+<BR>
+          
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getNamespacesForURI(java.lang.String)">getNamespacesForURI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          
+ Returns the all namespaces which are mapped to the given URI or an empty
+ list if no such namespaces could be found.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+          
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> of this element which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getQName(java.lang.String)">getQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> for the given qualified name, using the
+ namespace URI in scope for the given prefix of the qualified name or the
+ default namespace if the qualified name has no prefix.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getQualifiedName()">getQualifiedName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the fully qualified name of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getStringValue()">getStringValue</A></B>()</CODE>
+
+<BR>
+          Returns the XPath string-value of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          Returns the text value of this element without recursing through child
+ elements. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#getXPathResult(int)">getXPathResult</A></B>(int index)</CODE>
+
+<BR>
+          Returns a node at the given index suitable for an XPath result set. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#hasMixedContent()">hasMixedContent</A></B>()</CODE>
+
+<BR>
+          
+ Returns true if this <code>Element</code> has mixed content. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#isRootElement()">isRootElement</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#isTextOnly()">isTextOnly</A></B>()</CODE>
+
+<BR>
+          
+ Returns true if this <code>Element</code> has text only content.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#remove(org.dom4j.Attribute)">remove</A></B>(<A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Removes the given <code>Attribute</code> from this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#remove(org.dom4j.CDATA)">remove</A></B>(<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Removes the given <code>CDATA</code> if the node is an immediate child
+ of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#remove(org.dom4j.Entity)">remove</A></B>(<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Removes the given <code>Entity</code> if the node is an immediate child
+ of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#remove(org.dom4j.Namespace)">remove</A></B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Removes the given <code>Namespace</code> if the node is an immediate
+ child of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#remove(org.dom4j.Text)">remove</A></B>(<A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Removes the given <code>Text</code> if the node is an immediate child
+ of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#setAttributes(java.util.List)">setAttributes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributes)</CODE>
+
+<BR>
+          Sets the attributes that this element contains</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#setAttributeValue(org.dom4j.QName, java.lang.String)">setAttributeValue</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)"><CODE>addAttribute(QName,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#setAttributeValue(java.lang.String, java.lang.String)">setAttributeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../org/dom4j/Element.html#addAttribute(java.lang.String, java.lang.String)"><CODE>addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(java.lang.String)</CODE></A>if it doesn't</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Element.html#setQName(org.dom4j.QName)">setQName</A></B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          
+ Sets the <code>QName</code> of this element which represents the local
+ name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Branch.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../org/dom4j/Branch.html#add(org.dom4j.Element)">add</A>, <A HREF="../../org/dom4j/Branch.html#add(org.dom4j.Node)">add</A>, <A HREF="../../org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)">add</A>, <A HREF="../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../org/dom4j/Branch.html#addElement(java.lang.String)">addElement</A>, <A HREF="../../org/dom4j/B [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getQName()"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the <code>QName</code> of this element which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>QName</code> associated with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setQName(org.dom4j.QName)"><!-- --></A><H3>
+setQName</H3>
+<PRE>
+public void <B>setQName</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><p>
+ Sets the <code>QName</code> of this element which represents the local
+ name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qname</CODE> - is the <code>QName</code> to be associated with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespace()"><!-- --></A><H3>
+getNamespace</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespace</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise <code>Namespace.NO_NAMESPACE</code> is returned.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>Namespace</code> associated with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName(java.lang.String)"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+<DD><p>
+ Returns the <code>QName</code> for the given qualified name, using the
+ namespace URI in scope for the given prefix of the qualified name or the
+ default namespace if the qualified name has no prefix.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qualifiedName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the <code>QName</code> for the given qualified name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceForPrefix(java.lang.String)"><!-- --></A><H3>
+getNamespaceForPrefix</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespaceForPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD><p>
+ Returns the <code>Namespace</code> which is mapped to the given prefix
+ or null if it could not be found.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the <code>Namespace</code> associated with the given prefix</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceForURI(java.lang.String)"><!-- --></A><H3>
+getNamespaceForURI</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespaceForURI</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><p>
+ Returns the <code>Namespace</code> which is mapped to the given URI or
+ null if it could not be found. If there is more than one
+ <code>Namespace</code> mapped to the URI, which of them will be
+ returned is undetermined.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the <code>Namespace</code> associated with the given URI</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespacesForURI(java.lang.String)"><!-- --></A><H3>
+getNamespacesForURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getNamespacesForURI</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><p>
+ Returns the all namespaces which are mapped to the given URI or an empty
+ list if no such namespaces could be found.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the namespaces associated with the given URI<DT><B>Since:</B></DT>
+  <DD>1.5</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespacePrefix()"><!-- --></A><H3>
+getNamespacePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespacePrefix</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the prefix of the <code>Namespace</code> of this element or an
+         empty <code>String</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the URI for the <code>Namespace</code> of this element or an
+         empty <code>String</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQualifiedName()"><!-- --></A><H3>
+getQualifiedName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQualifiedName</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the fully qualified name of this element. This will be the same
+ as the value returned from <A HREF="../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>if this element has no
+ namespace attached to this element or an expression of the form
+ 
+ <pre>
+ getNamespacePrefix() + ":" + getName()
+ </pre>
+ 
+ will be returned.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the fully qualified name of the element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="additionalNamespaces()"><!-- --></A><H3>
+additionalNamespaces</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>additionalNamespaces</B>()</PRE>
+<DL>
+<DD><p>
+ Returns any additional namespaces declarations for this element other
+ than namespace returned via the <A HREF="../../org/dom4j/Element.html#getNamespace()"><CODE>getNamespace()</CODE></A>method. If no
+ additional namespace declarations are present for this element then an
+ empty list will be returned. The list is backed by the element such that
+ changes to the list will be reflected in the element though the reverse
+ is not the case.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a list of any additional namespace declarations.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="declaredNamespaces()"><!-- --></A><H3>
+declaredNamespaces</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>declaredNamespaces</B>()</PRE>
+<DL>
+<DD><p>
+ Returns all the namespaces declared by this element. If no namespaces are
+ declared for this element then an empty list will be returned. The list
+ is backed by the element such that changes to the list will be reflected
+ in the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a list of namespaces declared for this element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAttribute(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addAttribute</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><p>
+ Adds the attribute value of the given local name. If an attribute already
+ exists for the given name it will be replaced. Attributes with null
+ values are silently ignored. If the value of the attribute is null then
+ this method call will remove any attributes with the given name.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute whose value is to be added or
+            updated<DD><CODE>value</CODE> - is the attribute's value
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAttribute(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+addAttribute</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addAttribute</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><p>
+ Adds the attribute value of the given fully qualified name. If an
+ attribute already exists for the given name it will be replaced.
+ Attributes with null values are silently ignored. If the value of the
+ attribute is null then this method call will remove any attributes with
+ the given name.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name of the attribute whose value is to
+            be added or updated<DD><CODE>value</CODE> - is the attribute's value
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addComment(java.lang.String)"><!-- --></A><H3>
+addComment</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</PRE>
+<DL>
+<DD>Adds a new <code>Comment</code> node with the given text to this
+ element.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - is the text for the <code>Comment</code> node.
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addCDATA(java.lang.String)"><!-- --></A><H3>
+addCDATA</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> cdata)</PRE>
+<DL>
+<DD>Adds a new <code>CDATA</code> node with the given text to this element.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - is the text for the <code>CDATA</code> node.
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addEntity</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>Adds a new <code>Entity</code> node with the given name and text to
+ this element and returns a reference to the new node.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name for the <code>Entity</code> node.<DD><CODE>text</CODE> - is the text for the <code>Entity</code> node.
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addNamespace</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>Adds a namespace to this element for use by its child content
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - is the prefix to use, which should not be null or blank<DD><CODE>uri</CODE> - is the namespace URI
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>Adds a processing instruction for the given target
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the target of the processing instruction<DD><CODE>text</CODE> - is the textual data (key/value pairs) of the processing
+            instruction
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+addProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD>Adds a processing instruction for the given target
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the target of the processing instruction<DD><CODE>data</CODE> - is a Map of the key / value pairs of the processing
+            instruction
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addText(java.lang.String)"><!-- --></A><H3>
+addText</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>Adds a new <code>Text</code> node with the given text to this element.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text for the <code>Text</code> node.
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Attribute)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</PRE>
+<DL>
+<DD>Adds the given <code>Attribute</code> to this element. If the given
+ node already has a parent defined then an
+ <code>IllegalAddException</code> will be thrown. Attributes with null
+ values are silently ignored.
+ 
+ <p>
+ If the value of the attribute is null then this method call will remove
+ any attributes with the QName of this attribute.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attribute</CODE> - is the attribute to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.CDATA)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</PRE>
+<DL>
+<DD>Adds the given <code>CDATA</code> to this element. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - is the CDATA to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Entity)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</PRE>
+<DL>
+<DD>Adds the given <code>Entity</code> to this element. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - is the entity to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Text)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</PRE>
+<DL>
+<DD>Adds the given <code>Text</code> to this element. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Namespace)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>Adds the given <code>Namespace</code> to this element. If the given
+ node already has a parent defined then an
+ <code>IllegalAddException</code> will be thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the namespace to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Attribute)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</PRE>
+<DL>
+<DD>Removes the given <code>Attribute</code> from this element.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attribute</CODE> - is the attribute to be removed
+<DT><B>Returns:</B><DD>true if the attribute was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.CDATA)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</PRE>
+<DL>
+<DD>Removes the given <code>CDATA</code> if the node is an immediate child
+ of this element. If the given node is not an immediate child of this
+ element then the <A HREF="../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - is the CDATA to be removed
+<DT><B>Returns:</B><DD>true if the cdata was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Entity)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</PRE>
+<DL>
+<DD>Removes the given <code>Entity</code> if the node is an immediate child
+ of this element. If the given node is not an immediate child of this
+ element then the <A HREF="../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - is the entity to be removed
+<DT><B>Returns:</B><DD>true if the entity was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Namespace)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>Removes the given <code>Namespace</code> if the node is an immediate
+ child of this element. If the given node is not an immediate child of
+ this element then the <A HREF="../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used
+ instead.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the namespace to be removed
+<DT><B>Returns:</B><DD>true if the namespace was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Text)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</PRE>
+<DL>
+<DD>Removes the given <code>Text</code> if the node is an immediate child
+ of this element. If the given node is not an immediate child of this
+ element then the <A HREF="../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text to be removed
+<DT><B>Returns:</B><DD>true if the text was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD>Returns the text value of this element without recursing through child
+ elements. This method iterates through all <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>,<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>
+ and <A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>nodes that this element contains and appends the text
+ values together.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the textual content of this Element. Child elements are not
+         navigated. This method does not return null;</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTextTrim()"><!-- --></A><H3>
+getTextTrim</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getTextTrim</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the trimmed text value where whitespace is trimmed and normalised
+         into single spaces. This method does not return null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStringValue()"><!-- --></A><H3>
+getStringValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getStringValue</B>()</PRE>
+<DL>
+<DD>Returns the XPath string-value of this node. The behaviour of this method
+ is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+ specification </a>. This method returns the string-value of all the
+ contained <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>,<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>,<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>and <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A> nodes all appended together.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Node.html#getStringValue()">getStringValue</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the text from all the child Text and Element nodes appended
+         together.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD>Accesses the data of this element which may implement data typing
+ bindings such as XML Schema or Java Bean bindings or will return the same
+ value as <A HREF="../../org/dom4j/Element.html#getText()"><CODE>getText()</CODE></A>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD>Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(java.lang.String)</CODE></A>if it doesn't
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributes()"><!-- --></A><H3>
+attributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributes</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>instances this element contains as a backed
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that the attributes may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. The <code>List</code> is backed by the
+ <code>Element</code> so that changes to the list are reflected in the
+ element and vice versa.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the attributes that this element contains as a <code>List</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(java.util.List)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public void <B>setAttributes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributes)</PRE>
+<DL>
+<DD>Sets the attributes that this element contains
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attributes</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeCount()"><!-- --></A><H3>
+attributeCount</H3>
+<PRE>
+public int <B>attributeCount</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of attributes this element contains</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeIterator()"><!-- --></A><H3>
+attributeIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>attributeIterator</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an iterator over the attributes of this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(int)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(int index)</PRE>
+<DL>
+<DD>Returns the attribute at the specified indexGets the
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the attribute at the specified index where index >= 0 and
+         index < number of attributes or throws an
+         IndexOutOfBoundsException if the index is not within the
+         allowable range</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(java.lang.String)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Returns the attribute with the given name
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the attribute for the given local name in any namespace. If there
+         are more than one attributes with the given local name in
+         different namespaces then the first one is returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(org.dom4j.QName)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name
+<DT><B>Returns:</B><DD>the attribute for the given fully qualified name or null if it
+         could not be found.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeValue(java.lang.String)"><!-- --></A><H3>
+attributeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>attributeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><p>
+ This returns the attribute value for the attribute with the given name
+ and any namespace or null if there is no such attribute or the empty
+ string if the attribute value is empty.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute value to be returnd
+<DT><B>Returns:</B><DD>the value of the attribute, null if the attribute does not exist
+         or the empty string</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeValue(java.lang.String, java.lang.String)"><!-- --></A><H3>
+attributeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>attributeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</PRE>
+<DL>
+<DD><p>
+ This returns the attribute value for the attribute with the given name
+ and any namespace or the default value if there is no such attribute
+ value.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute value to be returnd<DD><CODE>defaultValue</CODE> - is the default value to be returned if the attribute has no
+            value defined.
+<DT><B>Returns:</B><DD>the value of the attribute or the defaultValue if the attribute
+         has no value defined.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeValue(org.dom4j.QName)"><!-- --></A><H3>
+attributeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>attributeValue</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><p>
+ This returns the attribute value for the attribute with the given fully
+ qualified name or null if there is no such attribute or the empty string
+ if the attribute value is empty.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name
+<DT><B>Returns:</B><DD>the value of the attribute, null if the attribute does not exist
+         or the empty string</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeValue(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+attributeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>attributeValue</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</PRE>
+<DL>
+<DD><p>
+ This returns the attribute value for the attribute with the given fully
+ qualified name or the default value if there is no such attribute value.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name<DD><CODE>defaultValue</CODE> - is the default value to be returned if the attribute has no
+            value defined.
+<DT><B>Returns:</B><DD>the value of the attribute or the defaultValue if the attribute
+         has no value defined.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeValue(java.lang.String, java.lang.String)"><!-- --></A><H3>
+setAttributeValue</H3>
+<PRE>
+public void <B>setAttributeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../org/dom4j/Element.html#addAttribute(java.lang.String, java.lang.String)"><CODE>addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<P>
+<DD><p>
+ Sets the attribute value of the given local name.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute whose value is to be added or
+            updated<DD><CODE>value</CODE> - is the attribute's value</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeValue(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+setAttributeValue</H3>
+<PRE>
+public void <B>setAttributeValue</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)"><CODE>addAttribute(QName,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<P>
+<DD><p>
+ Sets the attribute value of the given fully qualified name.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name of the attribute whose value is to
+            be added or updated<DD><CODE>value</CODE> - is the attribute's value</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(java.lang.String)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Returns the first element for the given local name and any namespace.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the first element with the given local name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(org.dom4j.QName)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD>Returns the first element for the given fully qualified name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name to search for
+<DT><B>Returns:</B><DD>the first element with the given fully qualified name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elements()"><!-- --></A><H3>
+elements</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>elements</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the elements contained in this element. If this element does not
+ contain any elements then this method returns an empty list. The list is
+ backed by the element such that changes to the list will be reflected in
+ the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a list of all the elements in this element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elements(java.lang.String)"><!-- --></A><H3>
+elements</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>elements</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><p>
+ Returns the elements contained in this element with the given local name
+ and any namespace. If no elements are found then this method returns an
+ empty list. The list is backed by the element such that changes to the
+ list will be reflected in the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a list of all the elements in this element for the given local
+         name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elements(org.dom4j.QName)"><!-- --></A><H3>
+elements</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>elements</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><p>
+ Returns the elements contained in this element with the given fully
+ qualified name. If no elements are found then this method returns an
+ empty list. The list is backed by the element such that changes to the
+ list will be reflected in the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name to search for
+<DT><B>Returns:</B><DD>a list of all the elements in this element for the given fully
+         qualified name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementIterator()"><!-- --></A><H3>
+elementIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>elementIterator</B>()</PRE>
+<DL>
+<DD>Returns an iterator over all this elements child elements.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an iterator over the contained elements</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementIterator(java.lang.String)"><!-- --></A><H3>
+elementIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>elementIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Returns an iterator over the elements contained in this element which
+ match the given local name and any namespace.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>an iterator over the contained elements matching the given local
+         name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementIterator(org.dom4j.QName)"><!-- --></A><H3>
+elementIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>elementIterator</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD>Returns an iterator over the elements contained in this element which
+ match the given fully qualified name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name to search for
+<DT><B>Returns:</B><DD>an iterator over the contained elements matching the given fully
+         qualified name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRootElement()"><!-- --></A><H3>
+isRootElement</H3>
+<PRE>
+public boolean <B>isRootElement</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this element is the root element of a document and this
+         element supports the parent relationship else false.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasMixedContent()"><!-- --></A><H3>
+hasMixedContent</H3>
+<PRE>
+public boolean <B>hasMixedContent</B>()</PRE>
+<DL>
+<DD><p>
+ Returns true if this <code>Element</code> has mixed content. Mixed
+ content means that an element contains both textual data and child
+ elements.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this element contains mixed content.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isTextOnly()"><!-- --></A><H3>
+isTextOnly</H3>
+<PRE>
+public boolean <B>isTextOnly</B>()</PRE>
+<DL>
+<DD><p>
+ Returns true if this <code>Element</code> has text only content.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this element is empty or only contains text content.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendAttributes(org.dom4j.Element)"><!-- --></A><H3>
+appendAttributes</H3>
+<PRE>
+public void <B>appendAttributes</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD>Appends the attributes of the given element to me. This method behaves
+ like the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html#addAll(java.util.Collection)" title="class or interface in java.util"><CODE>Collection.addAll(java.util.Collection)</CODE></A>
+ method.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - is the element whose attributes will be added to me.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCopy()"><!-- --></A><H3>
+createCopy</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createCopy</B>()</PRE>
+<DL>
+<DD><p>
+ Creates a deep copy of this element The new element is detached from its
+ parent, and getParent() on the clone will return null.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a new deep copy Element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCopy(java.lang.String)"><!-- --></A><H3>
+createCopy</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createCopy</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><p>
+ Creates a deep copy of this element with the given local name The new
+ element is detached from its parent, and getParent() on the clone will
+ return null.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a new deep copy Element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCopy(org.dom4j.QName)"><!-- --></A><H3>
+createCopy</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createCopy</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><p>
+ Creates a deep copy of this element with the given fully qualified name.
+ The new element is detached from its parent, and getParent() on the clone
+ will return null.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a new deep copy Element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementText(java.lang.String)"><!-- --></A><H3>
+elementText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementText(org.dom4j.QName)"><!-- --></A><H3>
+elementText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementText</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementTextTrim(java.lang.String)"><!-- --></A><H3>
+elementTextTrim</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementTextTrim</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementTextTrim(org.dom4j.QName)"><!-- --></A><H3>
+elementTextTrim</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementTextTrim</B>(<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPathResult(int)"><!-- --></A><H3>
+getXPathResult</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>getXPathResult</B>(int index)</PRE>
+<DL>
+<DD>Returns a node at the given index suitable for an XPath result set. This
+ means the resulting Node will either be null or it will support the
+ parent relationship.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the Node for the given index which will support the parent
+         relationship or null if there is not a node at the given index.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Element.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Element.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/ElementHandler.html b/docs/apidocs/org/dom4j/ElementHandler.html
new file mode 100644
index 0000000..85951c9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/ElementHandler.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ElementHandler (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.ElementHandler interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ElementHandler (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface ElementHandler</H2>
+<HR>
+<DL>
+<DT>public interface <B>ElementHandler</B></DL>
+
+<P>
+<p>
+ <code>ElementHandler</code> interface defines a handler of
+ <code>Element</code> objects. It is used primarily in event based
+ processing models such as for processing large XML documents as they are
+ being parsed rather than waiting until the whole document is parsed.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ElementHandler.html#onEnd(org.dom4j.ElementPath)">onEnd</A></B>(<A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A> elementPath)</CODE>
+
+<BR>
+          Called by an event based processor when an elements closing tag is
+ encountered.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ElementHandler.html#onStart(org.dom4j.ElementPath)">onStart</A></B>(<A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A> elementPath)</CODE>
+
+<BR>
+          Called by an event based processor when an elements openning tag is
+ encountered.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="onStart(org.dom4j.ElementPath)"><!-- --></A><H3>
+onStart</H3>
+<PRE>
+public void <B>onStart</B>(<A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A> elementPath)</PRE>
+<DL>
+<DD>Called by an event based processor when an elements openning tag is
+ encountered.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elementPath</CODE> - is the current <code>ElementPath</code> to process</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="onEnd(org.dom4j.ElementPath)"><!-- --></A><H3>
+onEnd</H3>
+<PRE>
+public void <B>onEnd</B>(<A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A> elementPath)</PRE>
+<DL>
+<DD>Called by an event based processor when an elements closing tag is
+ encountered.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elementPath</CODE> - is the current <code>ElementPath</code> to process</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/ElementPath.html b/docs/apidocs/org/dom4j/ElementPath.html
new file mode 100644
index 0000000..50c3a05
--- /dev/null
+++ b/docs/apidocs/org/dom4j/ElementPath.html
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ElementPath (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.ElementPath interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ElementPath (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementPath.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface ElementPath</H2>
+<HR>
+<DL>
+<DT>public interface <B>ElementPath</B></DL>
+
+<P>
+This interface is used by <A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><CODE>ElementHandler</CODE></A>instances to retrieve
+ information about the current path hierarchy they are to process. It's
+ primary use is to retrieve the current <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>being processed.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:dwhite at equipecom.com">Dave White </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ElementPath.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ElementPath.html#getCurrent()">getCurrent</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ElementPath.html#getElement(int)">getElement</A></B>(int depth)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ElementPath.html#getPath()">getPath</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ElementPath.html#removeHandler(java.lang.String)">removeHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ElementPath.html#size()">size</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="size()"><!-- --></A><H3>
+size</H3>
+<PRE>
+public int <B>size</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of elements in the path</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElement(int)"><!-- --></A><H3>
+getElement</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getElement</B>(int depth)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>depth</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the element at the specified depth index, 0 = root element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath()"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the path as a string</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCurrent()"><!-- --></A><H3>
+getCurrent</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getCurrent</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addHandler(java.lang.String, org.dom4j.ElementHandler)"><!-- --></A><H3>
+addHandler</H3>
+<PRE>
+public void <B>addHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                       <A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</PRE>
+<DL>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted. The path can be either an absolute path (i.e. prefixed
+ with "/") or a relative path (i.e. assummed to be a child of the current
+ path as retrieved by <b>getPath </b>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to be handled<DD><CODE>handler</CODE> - is the <code>ElementHandler</code> to be called by the event
+            based processor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeHandler(java.lang.String)"><!-- --></A><H3>
+removeHandler</H3>
+<PRE>
+public void <B>removeHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</PRE>
+<DL>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path. The path can be either an absolute path (i.e.
+ prefixed with "/") or a relative path (i.e. assummed to be a child of the
+ current path as retrieved by <b>getPath </b>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to remove the <code>ElementHandler</code> for.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementPath.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Entity.html b/docs/apidocs/org/dom4j/Entity.html
new file mode 100644
index 0000000..d7ed162
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Entity.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Entity (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Entity interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Entity (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Entity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Entity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface Entity</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Entity</B><DT>extends <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DL>
+
+<P>
+<p>
+ <code>Entity</code> defines an XML entity.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Entity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Entity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/IllegalAddException.html b/docs/apidocs/org/dom4j/IllegalAddException.html
new file mode 100644
index 0000000..b53fde3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/IllegalAddException.html
@@ -0,0 +1,284 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+IllegalAddException (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.IllegalAddException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="IllegalAddException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IllegalAddException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/DocumentException.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IllegalAddException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Class IllegalAddException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">java.lang.Throwable</A>
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">java.lang.Exception</A>
+          <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">java.lang.RuntimeException</A>
+              <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">java.lang.IllegalArgumentException</A>
+                  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.IllegalAddException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>IllegalAddException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></DL>
+
+<P>
+<p>
+ <code>IllegalAddException</code> is thrown when a node is added incorrectly
+ to an <code><A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A></code>
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6 $</DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#org.dom4j.IllegalAddException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/IllegalAddException.html#IllegalAddException(org.dom4j.Branch, org.dom4j.Node, java.lang.String)">IllegalAddException</A></B>(<A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                    <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/IllegalAddException.html#IllegalAddException(org.dom4j.Element, org.dom4j.Node, java.lang.String)">IllegalAddException</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                    <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/IllegalAddException.html#IllegalAddException(java.lang.String)">IllegalAddException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="IllegalAddException(java.lang.String)"><!-- --></A><H3>
+IllegalAddException</H3>
+<PRE>
+public <B>IllegalAddException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="IllegalAddException(org.dom4j.Element, org.dom4j.Node, java.lang.String)"><!-- --></A><H3>
+IllegalAddException</H3>
+<PRE>
+public <B>IllegalAddException</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                           <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="IllegalAddException(org.dom4j.Branch, org.dom4j.Node, java.lang.String)"><!-- --></A><H3>
+IllegalAddException</H3>
+<PRE>
+public <B>IllegalAddException</B>(<A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                           <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IllegalAddException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/DocumentException.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IllegalAddException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/InvalidXPathException.html b/docs/apidocs/org/dom4j/InvalidXPathException.html
new file mode 100644
index 0000000..cb0f6c3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/InvalidXPathException.html
@@ -0,0 +1,280 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+InvalidXPathException (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.InvalidXPathException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="InvalidXPathException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InvalidXPathException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/XPathException.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InvalidXPathException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Class InvalidXPathException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">java.lang.Throwable</A>
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">java.lang.Exception</A>
+          <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">java.lang.RuntimeException</A>
+              <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">java.lang.IllegalArgumentException</A>
+                  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.InvalidXPathException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>InvalidXPathException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></DL>
+
+<P>
+<p>
+ <code>InvalidXPathException</code> is thrown when an invalid XPath
+ expression is used to traverse an XML document
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6.2.1 $</DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#org.dom4j.InvalidXPathException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/InvalidXPathException.html#InvalidXPathException(java.lang.String)">InvalidXPathException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/InvalidXPathException.html#InvalidXPathException(java.lang.String, java.lang.String)">InvalidXPathException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/InvalidXPathException.html#InvalidXPathException(java.lang.String, java.lang.Throwable)">InvalidXPathException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A> t)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="InvalidXPathException(java.lang.String)"><!-- --></A><H3>
+InvalidXPathException</H3>
+<PRE>
+public <B>InvalidXPathException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="InvalidXPathException(java.lang.String, java.lang.String)"><!-- --></A><H3>
+InvalidXPathException</H3>
+<PRE>
+public <B>InvalidXPathException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="InvalidXPathException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+InvalidXPathException</H3>
+<PRE>
+public <B>InvalidXPathException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A> t)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InvalidXPathException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/XPathException.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InvalidXPathException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Namespace.html b/docs/apidocs/org/dom4j/Namespace.html
new file mode 100644
index 0000000..7a2221c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Namespace.html
@@ -0,0 +1,783 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Namespace (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Namespace class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Namespace (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Namespace.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/DocumentHelper.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Namespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Class Namespace</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.Namespace</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>Namespace</B><DT>extends <A HREF="../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></DL>
+
+<P>
+<p>
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.22 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#org.dom4j.Namespace">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#CACHE">CACHE</A></B></CODE>
+
+<BR>
+          Cache of Namespace instances</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#NO_NAMESPACE">NO_NAMESPACE</A></B></CODE>
+
+<BR>
+          No Namespace present</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#XML_NAMESPACE">XML_NAMESPACE</A></B></CODE>
+
+<BR>
+          XML Namespace</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#Namespace(java.lang.String, java.lang.String)">Namespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#createHashCode()">createHashCode</A></B>()</CODE>
+
+<BR>
+          Factory method to create the hashcode allowing derived classes to change
+ the behaviour</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+          Checks whether this Namespace equals the given Namespace. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          A helper method to return the Namespace instance for no prefix and the
+ URI</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#get(java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          A helper method to return the Namespace instance for the given prefix and
+ URI</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#getStringValue()">getStringValue</A></B>()</CODE>
+
+<BR>
+          Returns the XPath string-value of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          
+ Returns the text of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#getURI()">getURI</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#getXPathNameStep()">getXPathNameStep</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Namespace.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF=" [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notifyAll()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="CACHE"><!-- --></A><H3>
+CACHE</H3>
+<PRE>
+protected static final <A HREF="../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A> <B>CACHE</B></PRE>
+<DL>
+<DD>Cache of Namespace instances
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="XML_NAMESPACE"><!-- --></A><H3>
+XML_NAMESPACE</H3>
+<PRE>
+public static final <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>XML_NAMESPACE</B></PRE>
+<DL>
+<DD>XML Namespace
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="NO_NAMESPACE"><!-- --></A><H3>
+NO_NAMESPACE</H3>
+<PRE>
+public static final <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>NO_NAMESPACE</B></PRE>
+<DL>
+<DD>No Namespace present
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="Namespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+Namespace</H3>
+<PRE>
+public <B>Namespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - is the prefix for this namespace<DD><CODE>uri</CODE> - is the URI for this namespace</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="get(java.lang.String, java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>A helper method to return the Namespace instance for the given prefix and
+ URI
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!<DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>an interned Namespace object</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>A helper method to return the Namespace instance for no prefix and the
+ URI
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>an interned Namespace object</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the hash code based on the qualified name and the URI of the
+         namespace.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createHashCode()"><!-- --></A><H3>
+createHashCode</H3>
+<PRE>
+protected int <B>createHashCode</B>()</PRE>
+<DL>
+<DD>Factory method to create the hashcode allowing derived classes to change
+ the behaviour
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD>Checks whether this Namespace equals the given Namespace. Two Namespaces
+ are equals if their URI and prefix are equal.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>object</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the text of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStringValue()"><!-- --></A><H3>
+getStringValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getStringValue</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the XPath string-value of this node. The behaviour of this method
+ is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+ specification </a>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Node.html#getStringValue()">getStringValue</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../org/dom4j/tree/AbstractNode.html#getStringValue()">getStringValue</A></CODE> in class <CODE><A HREF="../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the prefix for this <code>Namespace</code>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getURI()"><!-- --></A><H3>
+getURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getURI</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the URI for this <code>Namespace</code>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPathNameStep()"><!-- --></A><H3>
+getXPathNameStep</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getXPathNameStep</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the relative path should
+            start. If the context is null or the context is not an
+            ancestor of this node then the path will be absolute and start
+            from the document and so begin with the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing at least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the path should start. If the
+            context is null or the context is not an ancestor of this node
+            then the path will start from the document and so begin with
+            the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing just this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - is the visitor in the Visitor Pattern</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+createXPathResult</H3>
+<PRE>
+protected <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>createXPathResult</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></CODE> in class <CODE><A HREF="../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Namespace.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/DocumentHelper.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Namespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Node.html b/docs/apidocs/org/dom4j/Node.html
new file mode 100644
index 0000000..709559f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Node.html
@@ -0,0 +1,1602 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Node (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Node interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Node (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Node.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Node.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface Node</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>, <A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>, <A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>, <A HREF="../../org/dom4j/Do [...]
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>, <A HREF="../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>, <A HREF="../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>, <A HREF="../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A>, <A HREF="../../ [...]
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Node</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A></DL>
+
+<P>
+<p>
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </p>
+ 
+ <p>
+ A node can be output as its XML format, can be detached from its position in
+ a document and can have XPath expressions evaluated on itself.
+ </p>
+ 
+ <p>
+ A node may optionally support the parent relationship and may be read only.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.31 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../org/dom4j/Node.html#supportsParent()"><CODE>supportsParent()</CODE></A>, 
+<A HREF="../../org/dom4j/Node.html#isReadOnly()"><CODE>isReadOnly()</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A></B></CODE>
+
+<BR>
+          Matches Element nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A></B></CODE>
+
+<BR>
+          Matches elements nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A></B></CODE>
+
+<BR>
+          Matches elements nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A></B></CODE>
+
+<BR>
+          Matches Comments nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A></B></CODE>
+
+<BR>
+          Matches Document nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A></B></CODE>
+
+<BR>
+          Matches DocumentType nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_NODE</A></B></CODE>
+
+<BR>
+          Matches Element nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#ENTITY_REFERENCE_NODE">ENTITY_REFERENCE_NODE</A></B></CODE>
+
+<BR>
+          Matches elements nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#MAX_NODE_TYPE">MAX_NODE_TYPE</A></B></CODE>
+
+<BR>
+          The maximum number of node types for sizing purposes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#NAMESPACE_NODE">NAMESPACE_NODE</A></B></CODE>
+
+<BR>
+          Matchs a Namespace Node - NOTE this differs from DOM</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#PROCESSING_INSTRUCTION_NODE">PROCESSING_INSTRUCTION_NODE</A></B></CODE>
+
+<BR>
+          Matches ProcessingInstruction</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#TEXT_NODE">TEXT_NODE</A></B></CODE>
+
+<BR>
+          Matches elements nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#UNKNOWN_NODE">UNKNOWN_NODE</A></B></CODE>
+
+<BR>
+          Does not match any valid node</TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>asXPathResult</code> returns a version of this node which is
+ capable of being an XPath result. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#clone()">clone</A></B>()</CODE>
+
+<BR>
+          
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> creates an XPath object for the given
+ xpathExpression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#detach()">detach</A></B>()</CODE>
+
+<BR>
+          
+ Removes this node from its parent if there is one. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          
+ <code>getName</code> returns the name of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getPath()">getPath</A></B>()</CODE>
+
+<BR>
+          
+ Returns the XPath expression which will return a node set containing the
+ given node such as /a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getStringValue()">getStringValue</A></B>()</CODE>
+
+<BR>
+          Returns the XPath string-value of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          
+ Returns the text of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getUniquePath()">getUniquePath</A></B>()</CODE>
+
+<BR>
+          
+ Returns the XPath expression which will return a nodeset of one node
+ which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#hasContent()">hasContent</A></B>()</CODE>
+
+<BR>
+          
+ <code>hasContent</code> returns true if this node is a Branch (either
+ an Element or a Document) and it contains at least one content node such
+ as a child Element or Text node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#matches(java.lang.String)">matches</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>matches</code> returns true if evaluating the given XPath
+ expression on this node returns a non-empty node set containing this
+ node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#numberValueOf(java.lang.String)">numberValueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ in a number, or null if the result is not a number.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#selectNodes(java.lang.String)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates an XPath expression and returns the
+ result as a <code>List</code> of <code>Node</code> instances or
+ <code>String</code> instances depending on the XPath expression.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#selectNodes(java.lang.String, java.lang.String)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comparisonXPathExpression)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#selectNodes(java.lang.String, java.lang.String, boolean)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comparisonXPathExpression,
+            boolean removeDuplicates)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#selectObject(java.lang.String)">selectObject</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>selectObject</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#selectSingleNode(java.lang.String)">selectSingleNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>selectSingleNode</code> evaluates an XPath expression and returns
+ the result as a single <code>Node</code> instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>valueOf</code> evaluates an XPath expression and returns the
+ textual representation of the results the XPath string-value of this
+ node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Node.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ANY_NODE"><!-- --></A><H3>
+ANY_NODE</H3>
+<PRE>
+public static final short <B>ANY_NODE</B></PRE>
+<DL>
+<DD>Matches Element nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.ANY_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ELEMENT_NODE"><!-- --></A><H3>
+ELEMENT_NODE</H3>
+<PRE>
+public static final short <B>ELEMENT_NODE</B></PRE>
+<DL>
+<DD>Matches Element nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.ELEMENT_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ATTRIBUTE_NODE"><!-- --></A><H3>
+ATTRIBUTE_NODE</H3>
+<PRE>
+public static final short <B>ATTRIBUTE_NODE</B></PRE>
+<DL>
+<DD>Matches elements nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.ATTRIBUTE_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="TEXT_NODE"><!-- --></A><H3>
+TEXT_NODE</H3>
+<PRE>
+public static final short <B>TEXT_NODE</B></PRE>
+<DL>
+<DD>Matches elements nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.TEXT_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CDATA_SECTION_NODE"><!-- --></A><H3>
+CDATA_SECTION_NODE</H3>
+<PRE>
+public static final short <B>CDATA_SECTION_NODE</B></PRE>
+<DL>
+<DD>Matches elements nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.CDATA_SECTION_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ENTITY_REFERENCE_NODE"><!-- --></A><H3>
+ENTITY_REFERENCE_NODE</H3>
+<PRE>
+public static final short <B>ENTITY_REFERENCE_NODE</B></PRE>
+<DL>
+<DD>Matches elements nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.ENTITY_REFERENCE_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PROCESSING_INSTRUCTION_NODE"><!-- --></A><H3>
+PROCESSING_INSTRUCTION_NODE</H3>
+<PRE>
+public static final short <B>PROCESSING_INSTRUCTION_NODE</B></PRE>
+<DL>
+<DD>Matches ProcessingInstruction
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.PROCESSING_INSTRUCTION_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="COMMENT_NODE"><!-- --></A><H3>
+COMMENT_NODE</H3>
+<PRE>
+public static final short <B>COMMENT_NODE</B></PRE>
+<DL>
+<DD>Matches Comments nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.COMMENT_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DOCUMENT_NODE"><!-- --></A><H3>
+DOCUMENT_NODE</H3>
+<PRE>
+public static final short <B>DOCUMENT_NODE</B></PRE>
+<DL>
+<DD>Matches Document nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.DOCUMENT_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DOCUMENT_TYPE_NODE"><!-- --></A><H3>
+DOCUMENT_TYPE_NODE</H3>
+<PRE>
+public static final short <B>DOCUMENT_TYPE_NODE</B></PRE>
+<DL>
+<DD>Matches DocumentType nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.DOCUMENT_TYPE_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NAMESPACE_NODE"><!-- --></A><H3>
+NAMESPACE_NODE</H3>
+<PRE>
+public static final short <B>NAMESPACE_NODE</B></PRE>
+<DL>
+<DD>Matchs a Namespace Node - NOTE this differs from DOM
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.NAMESPACE_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="UNKNOWN_NODE"><!-- --></A><H3>
+UNKNOWN_NODE</H3>
+<PRE>
+public static final short <B>UNKNOWN_NODE</B></PRE>
+<DL>
+<DD>Does not match any valid node
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.UNKNOWN_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="MAX_NODE_TYPE"><!-- --></A><H3>
+MAX_NODE_TYPE</H3>
+<PRE>
+public static final short <B>MAX_NODE_TYPE</B></PRE>
+<DL>
+<DD>The maximum number of node types for sizing purposes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#org.dom4j.Node.MAX_NODE_TYPE">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this node supports the parent relationship or false it is
+         not supported</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the parent of this node or null if it is the root of the tree or
+         the parent relationship is not supported.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the new parent of this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocument()"><!-- --></A><H3>
+getDocument</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>getDocument</B>()</PRE>
+<DL>
+<DD><p>
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the document of this node or null if this feature is not
+         supported or the node is not associated with a
+         <code>Document</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocument(org.dom4j.Document)"><!-- --></A><H3>
+setDocument</H3>
+<PRE>
+public void <B>setDocument</B>(<A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD><p>
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside a <code>Document</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - is the new document of this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this <code>Node</code> is read only and cannot be
+         modified otherwise false.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasContent()"><!-- --></A><H3>
+hasContent</H3>
+<PRE>
+public boolean <B>hasContent</B>()</PRE>
+<DL>
+<DD><p>
+ <code>hasContent</code> returns true if this node is a Branch (either
+ an Element or a Document) and it contains at least one content node such
+ as a child Element or Text node.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this <code>Node</code> is a Branch with a nodeCount()
+         of one or more.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD><p>
+ <code>getName</code> returns the name of this node. This is the XML
+ local name of the element, attribute, entity or processing instruction.
+ For CDATA and Text nodes this method will return null.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML name of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the new name of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the text of this node.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the text for this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the new textual value of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStringValue()"><!-- --></A><H3>
+getStringValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getStringValue</B>()</PRE>
+<DL>
+<DD>Returns the XPath string-value of this node. The behaviour of this method
+ is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+ specification </a>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the text from all the child Text and Element nodes appended
+         together.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath()"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the XPath expression which will return a node set containing the
+ given node such as /a/b/@c. No indexing will be used to restrict the
+ path if multiple elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XPath expression which will return a nodeset containing at
+         least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the relative path should
+            start. If the context is null or the context is not an
+            ancestor of this node then the path will be absolute and start
+            from the document and so begin with the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing at least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath()"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>()</PRE>
+<DL>
+<DD><p>
+ Returns the XPath expression which will return a nodeset of one node
+ which is the current node. This method will use the XPath index operator
+ to restrict the path if multiple elements with the same name occur on the
+ path.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XPath expression which will return a nodeset containing just
+         this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the path should start. If the
+            context is null or the context is not an ancestor of this node
+            then the path will start from the document and so begin with
+            the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing just this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>writer</CODE> - is the <code>Writer</code> to output the XML to
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a W3C DOM complient code for the node type such as ELEMENT_NODE
+         or ATTRIBUTE_NODE</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeTypeName()"><!-- --></A><H3>
+getNodeTypeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeTypeName</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the type of node such as "Document", "Element",
+         "Attribute" or "Text"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="detach()"><!-- --></A><H3>
+detach</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>detach</B>()</PRE>
+<DL>
+<DD><p>
+ Removes this node from its parent if there is one. If this node is the
+ root element of a document then it is removed from the document as well.
+ </p>
+ 
+ <p>
+ This method is useful if you want to remove a node from its source
+ document and add it to another document. For example
+ </p>
+ <code> Node node = ...; Element someOtherElement = ...;
+ someOtherElement.add( node.detach() ); </code>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the node that has been removed from its parent node if any and
+         its document if any.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.String)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><p>
+ <code>selectNodes</code> evaluates an XPath expression and returns the
+ result as a <code>List</code> of <code>Node</code> instances or
+ <code>String</code> instances depending on the XPath expression.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the list of <code>Node</code> or <code>String</code>
+         instances depending on the XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectObject(java.lang.String)"><!-- --></A><H3>
+selectObject</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>selectObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><p>
+ <code>selectObject</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. The object returned can either be a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A> of one or more <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances or a scalar object like a
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A>or a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang"><CODE>Number</CODE></A>instance depending on the XPath
+ expression.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the value of the XPath expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A> instances, a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A>or a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/N [...]
+         depending on the XPath expression.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.String, java.lang.String)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comparisonXPathExpression)</PRE>
+<DL>
+<DD><p>
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated<DD><CODE>comparisonXPathExpression</CODE> - is the XPath expression used to compare the results by for
+            sorting
+<DT><B>Returns:</B><DD>the list of <code>Node</code> instances sorted by the
+         comparisonXPathExpression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comparisonXPathExpression,
+                        boolean removeDuplicates)</PRE>
+<DL>
+<DD><p>
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated<DD><CODE>comparisonXPathExpression</CODE> - is the XPath expression used to compare the results by for
+            sorting<DD><CODE>removeDuplicates</CODE> - if this parameter is true then duplicate values (using the
+            comparisonXPathExpression) are removed from the result List.
+<DT><B>Returns:</B><DD>the list of <code>Node</code> instances sorted by the
+         comparisonXPathExpression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectSingleNode(java.lang.String)"><!-- --></A><H3>
+selectSingleNode</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>selectSingleNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><p>
+ <code>selectSingleNode</code> evaluates an XPath expression and returns
+ the result as a single <code>Node</code> instance.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the <code>Node</code> matching the XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueOf(java.lang.String)"><!-- --></A><H3>
+valueOf</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>valueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><p>
+ <code>valueOf</code> evaluates an XPath expression and returns the
+ textual representation of the results the XPath string-value of this
+ node. The string-value for a given node type is defined in the <a
+ href="http://www.w3.org/TR/xpath">XPath specification </a>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the string-value representation of the results of the XPath
+         expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="numberValueOf(java.lang.String)"><!-- --></A><H3>
+numberValueOf</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A> <B>numberValueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><p>
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ in a number, or null if the result is not a number.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the numeric result of the XPath expression or null if the result
+         is not a number.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="matches(java.lang.String)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public boolean <B>matches</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><p>
+ <code>matches</code> returns true if evaluating the given XPath
+ expression on this node returns a non-empty node set containing this
+ node.
+ </p>
+ 
+ <p>
+ This method does not behave like the <xsl:if> element - if you want
+ that behaviour, to evaluate if an XPath expression matches something,
+ then you can use the following code to be equivalent...
+ </p>
+ <code>if ( node.selectSingleNode( "/some/path" ) != nulll )</code>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is an XPath expression
+<DT><B>Returns:</B><DD>true if this node is returned by the given XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+public <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)
+                  throws <A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></PRE>
+<DL>
+<DD><p>
+ <code>createXPath</code> creates an XPath object for the given
+ xpathExpression. The XPath object allows the variable context to be
+ specified.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>an XPath object represeting the given expression
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></CODE> - if the XPath expression is invalid</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+asXPathResult</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>asXPathResult</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><p>
+ <code>asXPathResult</code> returns a version of this node which is
+ capable of being an XPath result. The result of an XPath expression
+ should always support the parent relationship, whether the original XML
+ tree was singly or doubly linked. If the node does not support the parent
+ relationship then a new node will be created which is linked to its
+ parent and returned.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a <code>Node</code> which supports the parent relationship</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><p>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - is the visitor in the Visitor Pattern</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clone()"><!-- --></A><H3>
+clone</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>clone</B>()</PRE>
+<DL>
+<DD><p>
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a deep clone of myself or myself if I am read only.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Node.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Node.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/NodeFilter.html b/docs/apidocs/org/dom4j/NodeFilter.html
new file mode 100644
index 0000000..7315265
--- /dev/null
+++ b/docs/apidocs/org/dom4j/NodeFilter.html
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+NodeFilter (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.NodeFilter interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="NodeFilter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NodeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeFilter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface NodeFilter</H2>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>, <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>, <A HREF="../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A>, <A HREF="../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>, <A HREF="../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>NodeFilter</B></DL>
+
+<P>
+<p>
+ <code>NodeFilter</code> defines the behavior for a filter or predicate
+ which acts on a DOM4J Node. Instances can be generated from an <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/NodeFilter.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          
+ <code>matches</code> returns true if the given node matches the filter
+ condition.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="matches(org.dom4j.Node)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public boolean <B>matches</B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><p>
+ <code>matches</code> returns true if the given node matches the filter
+ condition.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if this filter matches the given node</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NodeFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeFilter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/ProcessingInstruction.html b/docs/apidocs/org/dom4j/ProcessingInstruction.html
new file mode 100644
index 0000000..03da8c5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/ProcessingInstruction.html
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.ProcessingInstruction interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface ProcessingInstruction</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>ProcessingInstruction</B><DT>extends <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DL>
+
+<P>
+<p>
+ <code>ProcessingInstruction</code> defines an XML processing instruction.
+ The <A HREF="../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>method will return the target of the PI and the
+ <A HREF="../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>method will return the data from all of the
+ instructions.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ProcessingInstruction.html#getTarget()">getTarget</A></B>()</CODE>
+
+<BR>
+          This method is the equivalent to the <A HREF="../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ProcessingInstruction.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ProcessingInstruction.html#getValue(java.lang.String)">getValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Returns the value of a specific name in the PI.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ProcessingInstruction.html#getValues()">getValues</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ProcessingInstruction.html#removeValue(java.lang.String)">removeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ProcessingInstruction.html#setTarget(java.lang.String)">setTarget</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          This method is the equivalent to the <A HREF="../../org/dom4j/Node.html#setName(java.lang.String)"><CODE>Node.setName(java.lang.String)</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ProcessingInstruction.html#setValue(java.lang.String, java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/ProcessingInstruction.html#setValues(java.util.Map)">setValues</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getTarget()"><!-- --></A><H3>
+getTarget</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getTarget</B>()</PRE>
+<DL>
+<DD>This method is the equivalent to the <A HREF="../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>method. It is added
+ for clarity.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the target of this PI</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTarget(java.lang.String)"><!-- --></A><H3>
+setTarget</H3>
+<PRE>
+public void <B>setTarget</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD>This method is the equivalent to the <A HREF="../../org/dom4j/Node.html#setName(java.lang.String)"><CODE>Node.setName(java.lang.String)</CODE></A>method. It is added
+ for clarity.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the text for all the data associated with the processing
+         instruction</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue(java.lang.String)"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><p>
+ Returns the value of a specific name in the PI.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute to lookup.
+<DT><B>Returns:</B><DD>the value of the named attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValues()"><!-- --></A><H3>
+getValues</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>getValues</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the values for this processing instruction as a Map</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String, java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValues(java.util.Map)"><!-- --></A><H3>
+setValues</H3>
+<PRE>
+public void <B>setValues</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeValue(java.lang.String)"><!-- --></A><H3>
+removeValue</H3>
+<PRE>
+public boolean <B>removeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/QName.html b/docs/apidocs/org/dom4j/QName.html
new file mode 100644
index 0000000..391436b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/QName.html
@@ -0,0 +1,647 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+QName (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.QName class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="QName (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/QName.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/VisitorSupport.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="QName.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Class QName</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.QName</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>QName</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
+
+<P>
+<p>
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. It consists of a local name and a <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>instance. This
+ object is immutable.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#org.dom4j.QName">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#QName(java.lang.String)">QName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#QName(java.lang.String, org.dom4j.Namespace)">QName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+      <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#QName(java.lang.String, org.dom4j.Namespace, java.lang.String)">QName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+      <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#get(java.lang.String, org.dom4j.Namespace)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+    <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#get(java.lang.String, org.dom4j.Namespace, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+    <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#get(java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#get(java.lang.String, java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#getNamespacePrefix()">getNamespacePrefix</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#getQualifiedName()">getQualifiedName</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/QName.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()" titl [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="QName(java.lang.String)"><!-- --></A><H3>
+QName</H3>
+<PRE>
+public <B>QName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="QName(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+QName</H3>
+<PRE>
+public <B>QName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="QName(java.lang.String, org.dom4j.Namespace, java.lang.String)"><!-- --></A><H3>
+QName</H3>
+<PRE>
+public <B>QName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="get(java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String, java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String, org.dom4j.Namespace, java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public static <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                        <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the local name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQualifiedName()"><!-- --></A><H3>
+getQualifiedName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQualifiedName</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the qualified name in the format <code>prefix:localName</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespace()"><!-- --></A><H3>
+getNamespace</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespace</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the namespace of this QName</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespacePrefix()"><!-- --></A><H3>
+getNamespacePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespacePrefix</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the namespace URI of this QName</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the namespace URI of this QName</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the hash code based on the qualified name and the URI of the
+         namespace.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+public <A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the factory that should be used for Elements of this QName</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/QName.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/VisitorSupport.html" title="class in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="QName.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Text.html b/docs/apidocs/org/dom4j/Text.html
new file mode 100644
index 0000000..8b120b3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Text.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Text (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Text interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Text (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Text.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Text.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface Text</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A>, <A HREF="../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Text</B><DT>extends <A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></DL>
+
+<P>
+<p>
+ <code>Text</code> defines an XML Text node.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../org/dom4j/Node.html#ELEMENT_NODE">ELEMENT_N [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A  [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Text.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Text.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/Visitor.html b/docs/apidocs/org/dom4j/Visitor.html
new file mode 100644
index 0000000..580631d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/Visitor.html
@@ -0,0 +1,470 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Visitor (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.Visitor interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Visitor (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Visitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Visitor.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface Visitor</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Visitor</B></DL>
+
+<P>
+<p>
+ <code>Visitor</code> is used to implement the <code>Visitor</code>
+ pattern in DOM4J. An object of this interface can be passed to a
+ <code>Node</code> which will then call its typesafe methods. Please refer
+ to the <i>Gang of Four </i> book of Design Patterns for more details on the
+ <code>Visitor</code> pattern.
+ </p>
+ 
+ <p>
+ This <a href="http://www.patterndepot.com/put/8/JavaPatterns.htm">site </a>
+ has further discussion on design patterns and links to the GOF book. This <a
+ href="http://www.patterndepot.com/put/8/visitor.pdf">link </a> describes the
+ Visitor pattern in detail.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Attribute)">visit</A></B>(<A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Attribute</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.CDATA)">visit</A></B>(<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>CDATA</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Comment)">visit</A></B>(<A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Comment</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Document)">visit</A></B>(<A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          
+ Visits the given <code>Document</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.DocumentType)">visit</A></B>(<A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> documentType)</CODE>
+
+<BR>
+          
+ Visits the given <code>DocumentType</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Element)">visit</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Element</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Entity)">visit</A></B>(<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Entity</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Namespace)">visit</A></B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          
+ Visits the given <code>Namespace</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.ProcessingInstruction)">visit</A></B>(<A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>ProcessingInstruction</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Text)">visit</A></B>(<A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Text</code>
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="visit(org.dom4j.Document)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>Document</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - is the <code>Document</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.DocumentType)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> documentType)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>DocumentType</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>documentType</CODE> - is the <code>DocumentType</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Element)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> node)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>Element</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Element</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Attribute)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> node)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>Attribute</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Attribute</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.CDATA)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> node)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>CDATA</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>CDATA</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Comment)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> node)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>Comment</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Comment</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Entity)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> node)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>Entity</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Entity</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Namespace)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>Namespace</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the <code>Namespace</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> node)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>ProcessingInstruction</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>ProcessingInstruction</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Text)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> node)</PRE>
+<DL>
+<DD><p>
+ Visits the given <code>Text</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Text</code> node to visit.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Visitor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Visitor.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/VisitorSupport.html b/docs/apidocs/org/dom4j/VisitorSupport.html
new file mode 100644
index 0000000..e78a9cf
--- /dev/null
+++ b/docs/apidocs/org/dom4j/VisitorSupport.html
@@ -0,0 +1,541 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+VisitorSupport (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.VisitorSupport class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="VisitorSupport (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VisitorSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="VisitorSupport.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Class VisitorSupport</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.VisitorSupport</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>VisitorSupport</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></DL>
+
+<P>
+<p>
+ <code>VisitorSupport</code> is an abstract base class which is useful for
+ implementation inheritence or when using anonymous inner classes to create
+ simple <code>Visitor</code> implementations.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#VisitorSupport()">VisitorSupport</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Attribute)">visit</A></B>(<A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Attribute</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.CDATA)">visit</A></B>(<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>CDATA</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Comment)">visit</A></B>(<A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Comment</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Document)">visit</A></B>(<A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          
+ Visits the given <code>Document</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.DocumentType)">visit</A></B>(<A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> documentType)</CODE>
+
+<BR>
+          
+ Visits the given <code>DocumentType</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Element)">visit</A></B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Element</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Entity)">visit</A></B>(<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Entity</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Namespace)">visit</A></B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          
+ Visits the given <code>Namespace</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.ProcessingInstruction)">visit</A></B>(<A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>ProcessingInstruction</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Text)">visit</A></B>(<A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Text</code>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="VisitorSupport()"><!-- --></A><H3>
+VisitorSupport</H3>
+<PRE>
+public <B>VisitorSupport</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="visit(org.dom4j.Document)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>Document</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Document)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - is the <code>Document</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.DocumentType)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> documentType)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>DocumentType</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.DocumentType)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>documentType</CODE> - is the <code>DocumentType</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Element)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>Element</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Element)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Element</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Attribute)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>Attribute</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Attribute)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Attribute</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.CDATA)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>CDATA</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.CDATA)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>CDATA</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Comment)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>Comment</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Comment)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Comment</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Entity)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>Entity</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Entity)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Entity</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Namespace)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>Namespace</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Namespace)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the <code>Namespace</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>ProcessingInstruction</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.ProcessingInstruction)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>ProcessingInstruction</code> node to visit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="visit(org.dom4j.Text)"><!-- --></A><H3>
+visit</H3>
+<PRE>
+public void <B>visit</B>(<A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></B></DD>
+<DD><p>
+ Visits the given <code>Text</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/Visitor.html#visit(org.dom4j.Text)">visit</A></CODE> in interface <CODE><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the <code>Text</code> node to visit.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VisitorSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/QName.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="VisitorSupport.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/XPath.html b/docs/apidocs/org/dom4j/XPath.html
new file mode 100644
index 0000000..39e87cc
--- /dev/null
+++ b/docs/apidocs/org/dom4j/XPath.html
@@ -0,0 +1,853 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XPath (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.XPath interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XPath (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPath.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Interface XPath</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>XPath</B><DT>extends <A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></DL>
+
+<P>
+<p>
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.20 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#booleanValueOf(java.lang.Object)">booleanValueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          Retrieve a boolean-value interpretation of this XPath expression when
+ evaluated against a given context.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#evaluate(java.lang.Object)">evaluate</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>evaluate</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.jaxen.FunctionContext</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#getFunctionContext()">getFunctionContext</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.jaxen.NamespaceContext</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#getNamespaceContext()">getNamespaceContext</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          
+ <code>getText</code> will return the textual version of the XPath
+ expression.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.jaxen.VariableContext</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#getVariableContext()">getVariableContext</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          
+ <code>matches</code> returns true if the given node matches the XPath
+ expression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#numberValueOf(java.lang.Object)">numberValueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ is a number, or null if the result is not a number.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#selectNodes(java.lang.Object)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> performs this XPath expression on the given
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s instances appending all
+ the results together into a single list.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#selectNodes(java.lang.Object, org.dom4j.XPath)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+            <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#selectNodes(java.lang.Object, org.dom4j.XPath, boolean)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+            <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath,
+            boolean distinct)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#selectObject(java.lang.Object)">selectObject</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>please use evaluate(Object) instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#selectSingleNode(java.lang.Object)">selectSingleNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>selectSingleNode</code> evaluates this XPath expression on the
+ given <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the
+ result as a single <code>Node</code> instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#setFunctionContext(org.jaxen.FunctionContext)">setFunctionContext</A></B>(org.jaxen.FunctionContext functionContext)</CODE>
+
+<BR>
+          Sets the function context to be used when evaluating XPath expressions</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#setNamespaceContext(org.jaxen.NamespaceContext)">setNamespaceContext</A></B>(org.jaxen.NamespaceContext namespaceContext)</CODE>
+
+<BR>
+          Sets the namespace context to be used when evaluating XPath expressions</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#setNamespaceURIs(java.util.Map)">setNamespaceURIs</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map)</CODE>
+
+<BR>
+          
+ Sets the current NamespaceContext from a Map where the keys are the
+ String namespace prefixes and the values are the namespace URIs.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#setVariableContext(org.jaxen.VariableContext)">setVariableContext</A></B>(org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+          Sets the variable context to be used when evaluating XPath expressions</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#sort(java.util.List)">sort</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list)</CODE>
+
+<BR>
+          
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#sort(java.util.List, boolean)">sort</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+     boolean distinct)</CODE>
+
+<BR>
+          
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>and optionally removing
+ duplicates.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPath.html#valueOf(java.lang.Object)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>valueOf</code> evaluates this XPath expression and returns the
+ textual representation of the results using the XPath string() function.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><p>
+ <code>getText</code> will return the textual version of the XPath
+ expression.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the textual format of the XPath expression.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="matches(org.dom4j.Node)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public boolean <B>matches</B>(<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><p>
+ <code>matches</code> returns true if the given node matches the XPath
+ expression. To be more precise when evaluating this XPath expression on
+ the given node the result set must include the node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../org/dom4j/NodeFilter.html#matches(org.dom4j.Node)">matches</A></CODE> in interface <CODE><A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the given node matches this XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="evaluate(java.lang.Object)"><!-- --></A><H3>
+evaluate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>evaluate</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><p>
+ <code>evaluate</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. The object returned can either be a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A> of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances, a <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE> [...]
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the value of the XPath expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A> instances, a <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instance, a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface  [...]
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang"><CODE>Number</CODE></A>instance depending on the XPath expression.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectObject(java.lang.Object)"><!-- --></A><H3>
+selectObject</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>selectObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>please use evaluate(Object) instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<P>
+<DD><p>
+ <code>selectObject</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. The object returned can either be a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A> of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances, a <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE> [...]
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the value of the XPath expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A> instances, a <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instance, a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface  [...]
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang"><CODE>Number</CODE></A>instance depending on the XPath expression.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.Object)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><p>
+ <code>selectNodes</code> performs this XPath expression on the given
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s instances appending all
+ the results together into a single list.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the results of all the XPath evaluations as a single list</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.Object, org.dom4j.XPath)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+                        <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath)</PRE>
+<DL>
+<DD><p>
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath<DD><CODE>sortXPath</CODE> - is the XPath expression to sort by
+<DT><B>Returns:</B><DD>a list of <code>Node</code> instances</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.Object, org.dom4j.XPath, boolean)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+                        <A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath,
+                        boolean distinct)</PRE>
+<DL>
+<DD><p>
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath<DD><CODE>sortXPath</CODE> - is the XPath expression to sort by<DD><CODE>distinct</CODE> - specifies whether or not duplicate values of the sort
+            expression are allowed. If this parameter is true then only
+            distinct sort expressions values are included in the result
+<DT><B>Returns:</B><DD>a list of <code>Node</code> instances</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectSingleNode(java.lang.Object)"><!-- --></A><H3>
+selectSingleNode</H3>
+<PRE>
+public <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>selectSingleNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><p>
+ <code>selectSingleNode</code> evaluates this XPath expression on the
+ given <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the
+ result as a single <code>Node</code> instance.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>a single matching <code>Node</code> instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueOf(java.lang.Object)"><!-- --></A><H3>
+valueOf</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>valueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><p>
+ <code>valueOf</code> evaluates this XPath expression and returns the
+ textual representation of the results using the XPath string() function.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the string representation of the results of the XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="numberValueOf(java.lang.Object)"><!-- --></A><H3>
+numberValueOf</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A> <B>numberValueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><p>
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ is a number, or null if the result is not a number.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the numeric result of the XPath expression or null if the result
+         is not a number.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="booleanValueOf(java.lang.Object)"><!-- --></A><H3>
+booleanValueOf</H3>
+<PRE>
+public boolean <B>booleanValueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD>Retrieve a boolean-value interpretation of this XPath expression when
+ evaluated against a given context.
+ 
+ <p>
+ The boolean-value of the expression is determined per the
+ <code>boolean(..)</code> core function as defined in the XPath
+ specification. This means that an expression that selects zero nodes will
+ return <code>false</code>, while an expression that selects
+ one-or-more nodes will return <code>true</code>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - The node, nodeset or Context object for evaluation. This value
+            can be null
+<DT><B>Returns:</B><DD>The boolean-value interpretation of this expression.<DT><B>Since:</B></DT>
+  <DD>1.5</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sort(java.util.List)"><!-- --></A><H3>
+sort</H3>
+<PRE>
+public void <B>sort</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list)</PRE>
+<DL>
+<DD><p>
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>list</CODE> - is the list of Nodes to sort</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sort(java.util.List, boolean)"><!-- --></A><H3>
+sort</H3>
+<PRE>
+public void <B>sort</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                 boolean distinct)</PRE>
+<DL>
+<DD><p>
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>and optionally removing
+ duplicates.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>list</CODE> - is the list of Nodes to sort<DD><CODE>distinct</CODE> - if true then duplicate values (using the sortXPath for
+            comparisions) will be removed from the List</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFunctionContext()"><!-- --></A><H3>
+getFunctionContext</H3>
+<PRE>
+public org.jaxen.FunctionContext <B>getFunctionContext</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current function context</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFunctionContext(org.jaxen.FunctionContext)"><!-- --></A><H3>
+setFunctionContext</H3>
+<PRE>
+public void <B>setFunctionContext</B>(org.jaxen.FunctionContext functionContext)</PRE>
+<DL>
+<DD>Sets the function context to be used when evaluating XPath expressions
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>functionContext</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceContext()"><!-- --></A><H3>
+getNamespaceContext</H3>
+<PRE>
+public org.jaxen.NamespaceContext <B>getNamespaceContext</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current namespace context</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNamespaceContext(org.jaxen.NamespaceContext)"><!-- --></A><H3>
+setNamespaceContext</H3>
+<PRE>
+public void <B>setNamespaceContext</B>(org.jaxen.NamespaceContext namespaceContext)</PRE>
+<DL>
+<DD>Sets the namespace context to be used when evaluating XPath expressions
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespaceContext</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNamespaceURIs(java.util.Map)"><!-- --></A><H3>
+setNamespaceURIs</H3>
+<PRE>
+public void <B>setNamespaceURIs</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map)</PRE>
+<DL>
+<DD><p>
+ Sets the current NamespaceContext from a Map where the keys are the
+ String namespace prefixes and the values are the namespace URIs.
+ </p>
+ 
+ <p>
+ For example:
+ 
+ <pre>
+ Map uris = new HashMap();
+ uris.put("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/");
+ uris.put("m", "urn:xmethodsBabelFish");
+ XPath xpath = document
+         .createXPath("SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish");
+ xpath.setNamespaceURIs(uris);
+ Node babelfish = xpath.selectSingleNode(document);
+ </pre>
+ 
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>map</CODE> - the map containing the namespace mappings</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVariableContext()"><!-- --></A><H3>
+getVariableContext</H3>
+<PRE>
+public org.jaxen.VariableContext <B>getVariableContext</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current variable context</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setVariableContext(org.jaxen.VariableContext)"><!-- --></A><H3>
+setVariableContext</H3>
+<PRE>
+public void <B>setVariableContext</B>(org.jaxen.VariableContext variableContext)</PRE>
+<DL>
+<DD>Sets the variable context to be used when evaluating XPath expressions
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>variableContext</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPath.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/XPathException.html b/docs/apidocs/org/dom4j/XPathException.html
new file mode 100644
index 0000000..62d1da4
--- /dev/null
+++ b/docs/apidocs/org/dom4j/XPathException.html
@@ -0,0 +1,315 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XPathException (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.XPathException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XPathException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPathException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPathException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j</FONT>
+<BR>
+Class XPathException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">java.lang.Throwable</A>
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">java.lang.Exception</A>
+          <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">java.lang.RuntimeException</A>
+              <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.XPathException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>XPathException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A></DL>
+
+<P>
+<p>
+ <code>XPathException</code> is thrown when an exception occurs while
+ evaluating an XPath expression, usually due to some function throwing an
+ exception.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6 $</DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#org.dom4j.XPathException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/XPathException.html#XPathException(java.lang.String)">XPathException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/XPathException.html#XPathException(java.lang.String, java.lang.Exception)">XPathException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../org/dom4j/XPathException.html#XPathException(java.lang.String, java.lang.String)">XPathException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../org/dom4j/XPathException.html#getXPath()">getXPath</A></B>()</CODE>
+
+<BR>
+          Returns the XPath expression that caused the problem</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XPathException(java.lang.String)"><!-- --></A><H3>
+XPathException</H3>
+<PRE>
+public <B>XPathException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XPathException(java.lang.String, java.lang.String)"><!-- --></A><H3>
+XPathException</H3>
+<PRE>
+public <B>XPathException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XPathException(java.lang.String, java.lang.Exception)"><!-- --></A><H3>
+XPathException</H3>
+<PRE>
+public <B>XPathException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getXPath()"><!-- --></A><H3>
+getXPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getXPath</B>()</PRE>
+<DL>
+<DD>Returns the XPath expression that caused the problem
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPathException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPathException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/BeanAttribute.html b/docs/apidocs/org/dom4j/bean/BeanAttribute.html
new file mode 100644
index 0000000..924fcd9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/BeanAttribute.html
@@ -0,0 +1,495 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+BeanAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.bean.BeanAttribute class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BeanAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.bean</FONT>
+<BR>
+Class BeanAttribute</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractAttribute</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.bean.BeanAttribute</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>BeanAttribute</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></DL>
+
+<P>
+<p>
+ <code>BeanAttribute</code> represents a mutable XML attribute which is
+ backed by a property of the JavaBean of its parent element.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.bean.BeanAttribute">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html#BeanAttribute(org.dom4j.bean.BeanAttributeList, int)">BeanAttribute</A></B>(<A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A> beanList,
+              int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <CODE>Node#getText()</CODE>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+          
+ Returns the value of the attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          
+ Sets the data value of this attribute if this element supports data
+ binding or calls <CODE>Node#setText(String)</CODE>if it doesn't.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html#setValue(java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+          
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getNamespace()">getNamespace</A>, <A HREF="../../../org/do [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BeanAttribute(org.dom4j.bean.BeanAttributeList, int)"><!-- --></A><H3>
+BeanAttribute</H3>
+<PRE>
+public <B>BeanAttribute</B>(<A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A> beanList,
+                     int index)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getQName()"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>QName</code> associated with this attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getValue</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the value of the attribute. This method returns the same value as
+ the <A HREF="../../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>method.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of the attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#setValue(java.lang.String)">setValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setValue(java.lang.String)">setValue</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttrib [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <A HREF="../../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getData()">getData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getData()">getData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Sets the data value of this attribute if this element supports data
+ binding or calls <A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(String)</CODE></A>if it doesn't.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#setData(java.lang.Object)">setData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setData(java.lang.Object)">setData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute< [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/BeanAttributeList.html b/docs/apidocs/org/dom4j/bean/BeanAttributeList.html
new file mode 100644
index 0000000..8a9df23
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/BeanAttributeList.html
@@ -0,0 +1,623 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+BeanAttributeList (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.bean.BeanAttributeList class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BeanAttributeList (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanAttributeList.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanAttributeList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_java.util.AbstractList">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.bean</FONT>
+<BR>
+Class BeanAttributeList</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html" title="class or interface in java.util">java.util.AbstractCollection</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">java.util.AbstractList</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.bean.BeanAttributeList</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>BeanAttributeList</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">AbstractList</A></DL>
+
+<P>
+<p>
+ <code>BeanAttributeList</code> implements a list of Attributes which are
+ the properties of a JavaBean.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.util.AbstractList"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">AbstractList</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#modCount" title="class or interface in java.util">modCount</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#BeanAttributeList(org.dom4j.bean.BeanElement)">BeanAttributeList</A></B>(<A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#BeanAttributeList(org.dom4j.bean.BeanElement, org.dom4j.bean.BeanMetaData)">BeanAttributeList</A></B>(<A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent,
+                  <A HREF="../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A> beanMetaData)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#add(int, java.lang.Object)">add</A></B>(int index,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#add(java.lang.Object)">add</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#attribute(int)">attribute</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#createAttribute(org.dom4j.bean.BeanElement, int)">createAttribute</A></B>(<A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> element,
+                int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#get(int)">get</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#getData(int)">getData</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#getQName(int)">getQName</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#remove(int)">remove</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#remove(java.lang.Object)">remove</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#set(int, java.lang.Object)">set</A></B>(int index,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#setData(int, java.lang.Object)">setData</A></B>(int index,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#size()">size</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.AbstractList"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">AbstractList</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#addAll(int, java.util.Collection)" title="class or interface in java.util">addAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#equals(java.lang.Object)" title="class or interface in java.util">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#hashCode()" title="class or interface in java.util">hashCode</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.AbstractCollection"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html" title="class or interface in java.util">AbstractCollection</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html#addAll(java.util.Collection)" title="class or interface in java.util">addAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html#contains(java.lang.Object)" title="class or interface in java.util">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html#containsAll(java.util.Collection)" title="class or interface in java.util"> [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()" titl [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.List"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html#addAll(java.util.Collection)" title="class or interface in java.util">addAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html#contains(java.lang.Object)" title="class or interface in java.util">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html#containsAll(java.util.Collection)" title="class or interface in java.util">containsAll</A>, <A HREF="http://java.sun. [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BeanAttributeList(org.dom4j.bean.BeanElement, org.dom4j.bean.BeanMetaData)"><!-- --></A><H3>
+BeanAttributeList</H3>
+<PRE>
+public <B>BeanAttributeList</B>(<A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent,
+                         <A HREF="../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A> beanMetaData)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BeanAttributeList(org.dom4j.bean.BeanElement)"><!-- --></A><H3>
+BeanAttributeList</H3>
+<PRE>
+public <B>BeanAttributeList</B>(<A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="attribute(java.lang.String)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(org.dom4j.QName)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(int)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A> <B>attribute</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName(int)"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData(int)"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(int, java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(int index,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="size()"><!-- --></A><H3>
+size</H3>
+<PRE>
+public int <B>size</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(int)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>get</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(java.lang.Object)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public boolean <B>add</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(int, java.lang.Object)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(int index,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="set(int, java.lang.Object)"><!-- --></A><H3>
+set</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>set</B>(int index,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(java.lang.Object)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(int)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>remove</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.bean.BeanElement, int)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A> <B>createAttribute</B>(<A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> element,
+                                        int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanAttributeList.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanAttributeList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_java.util.AbstractList">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/BeanDocumentFactory.html b/docs/apidocs/org/dom4j/bean/BeanDocumentFactory.html
new file mode 100644
index 0000000..ae1929b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/BeanDocumentFactory.html
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+BeanDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.bean.BeanDocumentFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BeanDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.DocumentFactory">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.bean</FONT>
+<BR>
+Class BeanDocumentFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">org.dom4j.DocumentFactory</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.bean.BeanDocumentFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>BeanDocumentFactory</B><DT>extends <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></DL>
+
+<P>
+<p>
+ <code>BeanDocumentFactory</code> is a factory of DOM4J objects which may be
+ BeanElements which are backed by JavaBeans and their properties.
+ </p>
+ 
+ <p>
+ The tree built allows full XPath expressions from anywhere on the tree.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.14 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.bean.BeanDocumentFactory">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#cache">cache</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#BeanDocumentFactory()">BeanDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createBean(org.dom4j.QName)">createBean</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createBean(org.dom4j.QName, org.xml.sax.Attributes)">createBean</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+           <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createElement(org.dom4j.QName, org.xml.sax.Attributes)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#handleException(java.lang.Exception)">handleException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createComment(java.lang.String)">createComment</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A>, <A HR [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BeanDocumentFactory()"><!-- --></A><H3>
+BeanDocumentFactory</H3>
+<PRE>
+public <B>BeanDocumentFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getInstance()"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getInstance</B>()</PRE>
+<DL>
+<DD><p>
+ Access to the singleton instance of this factory.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default singleon instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName, org.xml.sax.Attributes)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                 <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBean(org.dom4j.QName)"><!-- --></A><H3>
+createBean</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>createBean</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBean(org.dom4j.QName, org.xml.sax.Attributes)"><!-- --></A><H3>
+createBean</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>createBean</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                            <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handleException(java.lang.Exception)"><!-- --></A><H3>
+handleException</H3>
+<PRE>
+protected void <B>handleException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.DocumentFactory">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/BeanElement.html b/docs/apidocs/org/dom4j/bean/BeanElement.html
new file mode 100644
index 0000000..368d16d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/BeanElement.html
@@ -0,0 +1,730 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+BeanElement (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.bean.BeanElement class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BeanElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.bean</FONT>
+<BR>
+Class BeanElement</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractElement</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultElement</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.bean.BeanElement</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.htm [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>BeanElement</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></DL>
+
+<P>
+<p>
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.15 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.bean.BeanElement">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_LIST">EMPTY_LIST</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#BeanElement(org.dom4j.QName)">BeanElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#BeanElement(org.dom4j.QName, java.lang.Object)">BeanElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#BeanElement(java.lang.String, org.dom4j.Namespace, java.lang.Object)">BeanElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#BeanElement(java.lang.String, java.lang.Object)">BeanElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Adds the attribute value of the given fully qualified name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#addAttribute(java.lang.String, java.lang.String)">addAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Adds the attribute value of the given local name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the attribute with the given name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#createAttributeList()">createAttributeList</A></B>()</CODE>
+
+<BR>
+          A Factory Method pattern which lazily creates a List implementation used
+ to store content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#createAttributeList(int)">createAttributeList</A></B>(int size)</CODE>
+
+<BR>
+          A Factory Method pattern which creates a List implementation used to
+ store attributes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#getBeanAttributeList()">getBeanAttributeList</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#setAttributes(org.xml.sax.Attributes, org.dom4j.tree.NamespaceStack, boolean)">setAttributes</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes,
+              <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack,
+              boolean noNamespaceAttributes)</CODE>
+
+<BR>
+          This method provides a more optimal way of setting all the attributes on
+ an Element particularly for use in <A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><CODE>SAXReader</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#setAttributes(java.util.List)">setAttributes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributes)</CODE>
+
+<BR>
+          Sets the attributes that this element contains</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../../org/dom4j/tree/AbstractElement.html#setText(java.lang.String)"><CODE>AbstractElement.setText(java.lang.String)</CODE></A>if it doesn't</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#add(org.dom4j.Attribute)">add</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces()">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces(java.lang.String)">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#addNewNode(org.dom4j.Node)">addNewNode</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(int)">attrib [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Entity)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractEle [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathRes [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Element"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF="../../../org/dom4j/Branch.html#setProces [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getUniquePath()">getUniquePath</A>, <A HREF="../../../org/dom4j/Nod [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BeanElement(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+BeanElement</H3>
+<PRE>
+public <B>BeanElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BeanElement(java.lang.String, org.dom4j.Namespace, java.lang.Object)"><!-- --></A><H3>
+BeanElement</H3>
+<PRE>
+public <B>BeanElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BeanElement(org.dom4j.QName, java.lang.Object)"><!-- --></A><H3>
+BeanElement</H3>
+<PRE>
+public <B>BeanElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BeanElement(org.dom4j.QName)"><!-- --></A><H3>
+BeanElement</H3>
+<PRE>
+public <B>BeanElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getData()">getData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#getData()">getData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the JavaBean associated with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(java.lang.String)</CODE></A>if it doesn't
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#setData(java.lang.Object)">setData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#setData(java.lang.Object)">setData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(java.lang.String)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the attribute with the given name
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(java.lang.String)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(java.lang.String)">attribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CO [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(org.dom4j.QName)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(org.dom4j.QName)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(org.dom4j.QName)">attribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAttribute(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Adds the attribute value of the given local name. If an attribute already
+ exists for the given name it will be replaced. Attributes with null
+ values are silently ignored. If the value of the attribute is null then
+ this method call will remove any attributes with the given name.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addAttribute(java.lang.String, java.lang.String)">addAttribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)">addAttribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" titl [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAttribute(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+addAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Adds the attribute value of the given fully qualified name. If an
+ attribute already exists for the given name it will be replaced.
+ Attributes with null values are silently ignored. If the value of the
+ attribute is null then this method call will remove any attributes with
+ the given name.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title= [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(java.util.List)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public void <B>setAttributes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributes)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Sets the attributes that this element contains
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#setAttributes(java.util.List)">setAttributes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#setAttributes(java.util.List)">setAttributes</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultEle [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(org.xml.sax.Attributes, org.dom4j.tree.NamespaceStack, boolean)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public void <B>setAttributes</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes,
+                          <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack,
+                          boolean noNamespaceAttributes)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></B></DD>
+<DD>This method provides a more optimal way of setting all the attributes on
+ an Element particularly for use in <A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><CODE>SAXReader</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#setAttributes(org.xml.sax.Attributes, org.dom4j.tree.NamespaceStack, boolean)">setAttributes</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attributes</CODE> - DOCUMENT ME!<DD><CODE>namespaceStack</CODE> - DOCUMENT ME!<DD><CODE>noNamespaceAttributes</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#getDocumentFactory()">getDocumentFactory</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBeanAttributeList()"><!-- --></A><H3>
+getBeanAttributeList</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A> <B>getBeanAttributeList</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttributeList()"><!-- --></A><H3>
+createAttributeList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createAttributeList</B>()</PRE>
+<DL>
+<DD>A Factory Method pattern which lazily creates a List implementation used
+ to store content
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#createAttributeList()">createAttributeList</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttributeList(int)"><!-- --></A><H3>
+createAttributeList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createAttributeList</B>(int size)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></B></DD>
+<DD>A Factory Method pattern which creates a List implementation used to
+ store attributes
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#createAttributeList(int)">createAttributeList</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>size</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/BeanMetaData.html b/docs/apidocs/org/dom4j/bean/BeanMetaData.html
new file mode 100644
index 0000000..df5ab23
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/BeanMetaData.html
@@ -0,0 +1,462 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+BeanMetaData (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.bean.BeanMetaData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BeanMetaData (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanMetaData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanMetaData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.bean</FONT>
+<BR>
+Class BeanMetaData</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.bean.BeanMetaData</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>BeanMetaData</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>BeanMetaData</code> contains metadata about a bean class.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#NULL_ARGS">NULL_ARGS</A></B></CODE>
+
+<BR>
+          Empty arguments for reflection calls</TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#BeanMetaData(java.lang.Class)">BeanMetaData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> beanClass)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#attributeCount()">attributeCount</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#createAttributeList(org.dom4j.bean.BeanElement)">createAttributeList</A></B>(<A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#get(java.lang.Class)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> beanClass)</CODE>
+
+<BR>
+          Static helper method to find and cache meta data objects for bean types</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#getData(int, java.lang.Object)">getData</A></B>(int index,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#getIndex(org.dom4j.QName)">getIndex</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#getIndex(java.lang.String)">getIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#getQName(int)">getQName</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#handleException(java.lang.Exception)">handleException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#setData(int, java.lang.Object, java.lang.Object)">setData</A></B>(int index,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NULL_ARGS"><!-- --></A><H3>
+NULL_ARGS</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[] <B>NULL_ARGS</B></PRE>
+<DL>
+<DD>Empty arguments for reflection calls
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BeanMetaData(java.lang.Class)"><!-- --></A><H3>
+BeanMetaData</H3>
+<PRE>
+public <B>BeanMetaData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> beanClass)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="get(java.lang.Class)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> beanClass)</PRE>
+<DL>
+<DD>Static helper method to find and cache meta data objects for bean types
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>beanClass</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeCount()"><!-- --></A><H3>
+attributeCount</H3>
+<PRE>
+public int <B>attributeCount</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of attribtutes for this bean type</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttributeList(org.dom4j.bean.BeanElement)"><!-- --></A><H3>
+createAttributeList</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A> <B>createAttributeList</B>(<A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName(int)"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIndex(java.lang.String)"><!-- --></A><H3>
+getIndex</H3>
+<PRE>
+public int <B>getIndex</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIndex(org.dom4j.QName)"><!-- --></A><H3>
+getIndex</H3>
+<PRE>
+public int <B>getIndex</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData(int, java.lang.Object)"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>(int index,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(int, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(int index,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handleException(java.lang.Exception)"><!-- --></A><H3>
+handleException</H3>
+<PRE>
+protected void <B>handleException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BeanMetaData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanMetaData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/class-use/BeanAttribute.html b/docs/apidocs/org/dom4j/bean/class-use/BeanAttribute.html
new file mode 100644
index 0000000..97369b4
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/class-use/BeanAttribute.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.bean.BeanAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.bean.BeanAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.bean.BeanAttribute</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that return <A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttributeList.</B><B><A HREF="../../../../org/dom4j/bean/BeanAttributeList.html#attribute(int)">attribute</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttributeList.</B><B><A HREF="../../../../org/dom4j/bean/BeanAttributeList.html#createAttribute(org.dom4j.bean.BeanElement, int)">createAttribute</A></B>(<A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> element,
+                int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/class-use/BeanAttributeList.html b/docs/apidocs/org/dom4j/bean/class-use/BeanAttributeList.html
new file mode 100644
index 0000000..c038494
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/class-use/BeanAttributeList.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.bean.BeanAttributeList (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.bean.BeanAttributeList (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanAttributeList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.bean.BeanAttributeList</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that return <A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A></CODE></FONT></TD>
+<TD><CODE><B>BeanMetaData.</B><B><A HREF="../../../../org/dom4j/bean/BeanMetaData.html#createAttributeList(org.dom4j.bean.BeanElement)">createAttributeList</A></B>(<A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A></CODE></FONT></TD>
+<TD><CODE><B>BeanElement.</B><B><A HREF="../../../../org/dom4j/bean/BeanElement.html#getBeanAttributeList()">getBeanAttributeList</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> with parameters of type <A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanAttribute.html#BeanAttribute(org.dom4j.bean.BeanAttributeList, int)">BeanAttribute</A></B>(<A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A> beanList,
+              int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanAttributeList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/class-use/BeanDocumentFactory.html b/docs/apidocs/org/dom4j/bean/class-use/BeanDocumentFactory.html
new file mode 100644
index 0000000..c35cec5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/class-use/BeanDocumentFactory.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.bean.BeanDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.bean.BeanDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.bean.BeanDocumentFactory</B></H2>
+</CENTER>
+No usage of org.dom4j.bean.BeanDocumentFactory
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/class-use/BeanElement.html b/docs/apidocs/org/dom4j/bean/class-use/BeanElement.html
new file mode 100644
index 0000000..f2ff7fd
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/class-use/BeanElement.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.bean.BeanElement (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.bean.BeanElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.bean.BeanElement</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that return <A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttributeList.</B><B><A HREF="../../../../org/dom4j/bean/BeanAttributeList.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> with parameters of type <A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A></CODE></FONT></TD>
+<TD><CODE><B>BeanMetaData.</B><B><A HREF="../../../../org/dom4j/bean/BeanMetaData.html#createAttributeList(org.dom4j.bean.BeanElement)">createAttributeList</A></B>(<A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttributeList.</B><B><A HREF="../../../../org/dom4j/bean/BeanAttributeList.html#createAttribute(org.dom4j.bean.BeanElement, int)">createAttribute</A></B>(<A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> element,
+                int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> with parameters of type <A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanAttributeList.html#BeanAttributeList(org.dom4j.bean.BeanElement, org.dom4j.bean.BeanMetaData)">BeanAttributeList</A></B>(<A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent,
+                  <A HREF="../../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A> beanMetaData)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanAttributeList.html#BeanAttributeList(org.dom4j.bean.BeanElement)">BeanAttributeList</A></B>(<A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/class-use/BeanMetaData.html b/docs/apidocs/org/dom4j/bean/class-use/BeanMetaData.html
new file mode 100644
index 0000000..f8a91ff
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/class-use/BeanMetaData.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.bean.BeanMetaData (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.bean.BeanMetaData (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanMetaData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.bean.BeanMetaData</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that return <A HREF="../../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A></CODE></FONT></TD>
+<TD><CODE><B>BeanMetaData.</B><B><A HREF="../../../../org/dom4j/bean/BeanMetaData.html#get(java.lang.Class)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> beanClass)</CODE>
+
+<BR>
+          Static helper method to find and cache meta data objects for bean types</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> with parameters of type <A HREF="../../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanAttributeList.html#BeanAttributeList(org.dom4j.bean.BeanElement, org.dom4j.bean.BeanMetaData)">BeanAttributeList</A></B>(<A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A> parent,
+                  <A HREF="../../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A> beanMetaData)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BeanMetaData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/package-frame.html b/docs/apidocs/org/dom4j/bean/package-frame.html
new file mode 100644
index 0000000..e064215
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/package-frame.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.bean (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.bean package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/bean/package-summary.html" target="classFrame">org.dom4j.bean</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BeanAttribute.html" title="class in org.dom4j.bean" target="classFrame">BeanAttribute</A>
+<BR>
+<A HREF="BeanAttributeList.html" title="class in org.dom4j.bean" target="classFrame">BeanAttributeList</A>
+<BR>
+<A HREF="BeanDocumentFactory.html" title="class in org.dom4j.bean" target="classFrame">BeanDocumentFactory</A>
+<BR>
+<A HREF="BeanElement.html" title="class in org.dom4j.bean" target="classFrame">BeanElement</A>
+<BR>
+<A HREF="BeanMetaData.html" title="class in org.dom4j.bean" target="classFrame">BeanMetaData</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/package-summary.html b/docs/apidocs/org/dom4j/bean/package-summary.html
new file mode 100644
index 0000000..ab78285
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/package-summary.html
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.bean (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.bean package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.bean (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/datatype/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.bean
+</H2>
+An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element.
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></B></TD>
+<TD>
+ <code>BeanAttribute</code> represents a mutable XML attribute which is
+ backed by a property of the JavaBean of its parent element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A></B></TD>
+<TD>
+ <code>BeanAttributeList</code> implements a list of Attributes which are
+ the properties of a JavaBean.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A></B></TD>
+<TD>
+ <code>BeanDocumentFactory</code> is a factory of DOM4J objects which may be
+ BeanElements which are backed by JavaBeans and their properties.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></B></TD>
+<TD>
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean">BeanMetaData</A></B></TD>
+<TD>
+ <code>BeanMetaData</code> contains metadata about a bean class.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.bean Description
+</H2>
+
+<P>
+<p>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element.</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/datatype/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/package-tree.html b/docs/apidocs/org/dom4j/bean/package-tree.html
new file mode 100644
index 0000000..8b7edeb
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/package-tree.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.bean Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.bean Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/datatype/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.bean
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html" title="class or interface in java.util"><B>AbstractCollection</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>)
+<UL>
+<LI TYPE="circle">class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util"><B>AbstractList</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.bean.<A HREF="../../../org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean"><B>BeanAttributeList</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>AbstractNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interfa [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><B>AbstractAttribute</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.bean.<A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean"><B>BeanAttribute</B></A></UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>AbstractBranch</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>AbstractElement</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>DefaultElement</B></A><UL>
+<LI TYPE="circle">class org.dom4j.bean.<A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean"><B>BeanElement</B></A></UL>
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.bean.<A HREF="../../../org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean"><B>BeanMetaData</B></A><LI TYPE="circle">class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><B>DocumentFactory</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.bean.<A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean"><B>BeanDocumentFactory</B></A></UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/datatype/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/bean/package-use.html b/docs/apidocs/org/dom4j/bean/package-use.html
new file mode 100644
index 0000000..13f0c63
--- /dev/null
+++ b/docs/apidocs/org/dom4j/bean/package-use.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.bean (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.bean (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.bean</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> used by <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/bean/class-use/BeanAttribute.html#org.dom4j.bean"><B>BeanAttribute</B></A></B>
+
+<BR>
+          
+ <code>BeanAttribute</code> represents a mutable XML attribute which is
+ backed by a property of the JavaBean of its parent element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/bean/class-use/BeanAttributeList.html#org.dom4j.bean"><B>BeanAttributeList</B></A></B>
+
+<BR>
+          
+ <code>BeanAttributeList</code> implements a list of Attributes which are
+ the properties of a JavaBean.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/bean/class-use/BeanElement.html#org.dom4j.bean"><B>BeanElement</B></A></B>
+
+<BR>
+          
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/bean/class-use/BeanMetaData.html#org.dom4j.bean"><B>BeanMetaData</B></A></B>
+
+<BR>
+          
+ <code>BeanMetaData</code> contains metadata about a bean class.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Attribute.html b/docs/apidocs/org/dom4j/class-use/Attribute.html
new file mode 100644
index 0000000..f2a8369
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Attribute.html
@@ -0,0 +1,890 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.Attribute (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.Attribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Attribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.Attribute</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#attribute(int)">attribute</A></B>(int index)</CODE>
+
+<BR>
+          Returns the attribute at the specified indexGets the</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the attribute with the given name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Attribute)">visit</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.Attribute)">visit</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Attribute</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.Attribute)">add</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Adds the given <code>Attribute</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.Attribute)">remove</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Removes the given <code>Attribute</code> from this element.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that implement <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>BeanAttribute</code> represents a mutable XML attribute which is
+ backed by a property of the JavaBean of its parent element.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that return <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanElement.</B><B><A HREF="../../../org/dom4j/bean/BeanElement.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanElement.</B><B><A HREF="../../../org/dom4j/bean/BeanElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttributeList.</B><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttributeList.</B><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> that implement <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeAttribute</code> represents an Attribute which supports the
+ <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> that return <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DOMAttribute</code> implements a doubly linked attribute which
+ supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DOMElement.</B><B><A HREF="../../../org/dom4j/dom/DOMElement.html#attribute(org.w3c.dom.Attr)">attribute</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> attr)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DOMElement.</B><B><A HREF="../../../org/dom4j/dom/DOMElement.html#attribute(java.lang.String, java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DOMElement.</B><B><A HREF="../../../org/dom4j/dom/DOMElement.html#createAttribute(org.w3c.dom.Attr)">createAttribute</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> newAttr)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readAttribute(javax.xml.stream.XMLEventReader)">readAttribute</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Attribute from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createAttribute(org.dom4j.Element, javax.xml.stream.events.Attribute)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem,
+                javax.xml.stream.events.Attribute attr)</CODE>
+
+<BR>
+          Constructs a new DOM4J Attribute from the provided StAX Attribute event.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Attribute)">write</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeAttribute(org.dom4j.Attribute)">writeAttribute</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeAttribute(org.dom4j.Attribute)">writeAttribute</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attr)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Attribute</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createAttribute(org.dom4j.Attribute)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attr)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Attribute</CODE>event from a
+ DOM4J <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(int)">attribute</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(java.lang.String, org.dom4j.Namespace)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(int)">attribute</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(java.lang.String, org.dom4j.Namespace)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#add(org.dom4j.Attribute)">add</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#remove(org.dom4j.Attribute)">remove</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Attribute)">add</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Attribute)">remove</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that implement <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataAttribute</code> support the adornment of a user data object
+ on an Element or Attribute instance such that the methods 
+ <A HREF="../../../org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><CODE>UserDataAttribute.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Attribute, org.dom4j.Attribute)">compare</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> n1,
+        <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addToAttributeIndex(org.dom4j.Attribute)">addToAttributeIndex</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addToAttributeIndex(java.lang.Object, org.dom4j.Attribute)">addToAttributeIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                    <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeFromAttributeIndex(org.dom4j.Attribute)">removeFromAttributeIndex</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeFromAttributeIndex(java.lang.Object, org.dom4j.Attribute)">removeFromAttributeIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                         <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static boolean</CODE></FONT></TD>
+<TD><CODE><B>AttributeHelper.</B><B><A HREF="../../../org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Attribute)">booleanValue</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Attribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Branch.html b/docs/apidocs/org/dom4j/class-use/Branch.html
new file mode 100644
index 0000000..559c504
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Branch.html
@@ -0,0 +1,657 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.Branch (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.Branch (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Branch.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.Branch</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></B></CODE>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></CODE>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#makeElement(org.dom4j.Branch, java.lang.String)">makeElement</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> source,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          
+ makeElement
+ 
+ a helper method which navigates from the given Document or Element node
+ to some Element using the path expression, creating any necessary
+ elements along the way. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch)</CODE>
+
+<BR>
+          Appends the content of the given branch to this branch instance. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/IllegalAddException.html#IllegalAddException(org.dom4j.Branch, org.dom4j.Node, java.lang.String)">IllegalAddException</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                    <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that implement <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></B></CODE>
+
+<BR>
+          
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> that implement <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></B></CODE>
+
+<BR>
+          
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#appendElementsByTagName(java.util.List, org.dom4j.Branch, java.lang.String)">appendElementsByTagName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                        <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#appendElementsByTagNameNS(java.util.List, org.dom4j.Branch, java.lang.String, java.lang.String)">appendElementsByTagNameNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                          <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeChildNodes(org.dom4j.Branch)">writeChildNodes</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch)</CODE>
+
+<BR>
+          Writes each child node within the provided <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A>instance. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#writeContent(org.dom4j.Branch, org.dom4j.tree.NamespaceStack)">writeContent</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch,
+             <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DOMReader.</B><B><A HREF="../../../org/dom4j/io/DOMReader.html#readTree(org.w3c.dom.Node, org.dom4j.Branch)">readTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> node,
+         <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> current)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DOMReader.</B><B><A HREF="../../../org/dom4j/io/DOMReader.html#readElement(org.w3c.dom.Node, org.dom4j.Branch)">readElement</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> node,
+            <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> current)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> that return <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></FONT></TD>
+<TD><CODE><B>BranchTreeNode.</B><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#getXmlBranch()">getXmlBranch</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#BranchTreeNode(org.dom4j.Branch)">BranchTreeNode</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> xmlNode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#BranchTreeNode(javax.swing.tree.TreeNode, org.dom4j.Branch)">BranchTreeNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> parent,
+               <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> xmlNode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></B></CODE>
+
+<BR>
+          
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that implement <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A></B></CODE>
+
+<BR>
+          
+ <code>IndexedElement</code> is an implementation of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A></B></CODE>
+
+<BR>
+          
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>UserDataElement.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compareContent(org.dom4j.Branch, org.dom4j.Branch)">compareContent</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> b1,
+               <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> b2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Branch.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/CDATA.html b/docs/apidocs/org/dom4j/class-use/CDATA.html
new file mode 100644
index 0000000..52404e4
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/CDATA.html
@@ -0,0 +1,454 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.CDATA (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.CDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="CDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.CDATA</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.CDATA)">visit</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.CDATA)">visit</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>CDATA</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.CDATA)">add</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Adds the given <code>CDATA</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.CDATA)">remove</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Removes the given <code>CDATA</code> if the node is an immediate child
+ of this element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B>DOMCDATA.</B><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.CDATA)">write</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeCDATA(org.dom4j.CDATA)">writeCDATA</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>to the event stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Characters</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createCharacters(org.dom4j.CDATA)">createCharacters</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Characters</CODE>event from a DOM4J <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.CDATA)">write</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Generates SAX events for the given CDATA</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.CDATA)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultCDATA</code> is the default CDATA implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.CDATA)">remove</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="CDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/CharacterData.html b/docs/apidocs/org/dom4j/class-use/CharacterData.html
new file mode 100644
index 0000000..42f5701
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/CharacterData.html
@@ -0,0 +1,538 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.CharacterData (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.CharacterData (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="CharacterData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.CharacterData</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></B></CODE>
+
+<BR>
+          
+ <code>CDATA</code> defines an XML CDATA section.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></B></CODE>
+
+<BR>
+          
+ <code>Comment</code> defines the behavior of an XML comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></B></CODE>
+
+<BR>
+          
+ <code>Text</code> defines an XML Text node.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getData(org.dom4j.CharacterData)">getData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#setData(org.dom4j.CharacterData, java.lang.String)">setData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getLength(org.dom4j.CharacterData)">getLength</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#substringData(org.dom4j.CharacterData, int, int)">substringData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+              int offset,
+              int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#appendData(org.dom4j.CharacterData, java.lang.String)">appendData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#insertData(org.dom4j.CharacterData, int, java.lang.String)">insertData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> data,
+           int offset,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#deleteData(org.dom4j.CharacterData, int, int)">deleteData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+           int offset,
+           int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#replaceData(org.dom4j.CharacterData, int, int, java.lang.String)">replaceData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+            int offset,
+            int count,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMText(org.dom4j.CharacterData)">asDOMText</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readCharacters(javax.xml.stream.XMLEventReader)">readCharacters</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Text or CDATA section from the provided event stream.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createCharacterData(javax.xml.stream.events.Characters)">createCharacterData</A></B>(javax.xml.stream.events.Characters characters)</CODE>
+
+<BR>
+          Constructs a new DOM4J Text or CDATA object from the provided Characters
+ event.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractCharacterData</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultCDATA</code> is the default CDATA implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultComment</code> is the default Comment implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultText</code> is the default Text implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.CharacterData, org.dom4j.CharacterData)">compare</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> t1,
+        <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> t2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="CharacterData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Comment.html b/docs/apidocs/org/dom4j/class-use/Comment.html
new file mode 100644
index 0000000..a32f69b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Comment.html
@@ -0,0 +1,486 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.Comment (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.Comment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Comment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.Comment</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createComment(java.lang.String)">createComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createComment(java.lang.String)">createComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Comment)">visit</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.Comment)">visit</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Comment</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Comment)">add</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Adds the given <code>Comment</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Comment)">remove</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Removes the given <code>Comment</code> if the node is an immediate
+ child of this branch. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createComment(java.lang.String)">createComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readComment(javax.xml.stream.XMLEventReader)">readComment</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Comment from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createComment(javax.xml.stream.events.Comment)">createComment</A></B>(javax.xml.stream.events.Comment comment)</CODE>
+
+<BR>
+          Constructs a new DOM4J Comment from the provided StAX Comment event.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Comment)">write</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeComment(org.dom4j.Comment)">writeComment</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Comment</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createComment(org.dom4j.Comment)">createComment</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Comment</CODE>event from a
+ DOM4J <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Comment)">write</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Generates SAX events for the given Comment</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Comment)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultComment</code> is the default Comment implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Comment)">remove</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Comment)">add</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Comment)">remove</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createComment(java.lang.String)">createComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Comment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Document.html b/docs/apidocs/org/dom4j/class-use/Document.html
new file mode 100644
index 0000000..ac828a9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Document.html
@@ -0,0 +1,1545 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.Document (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.Document (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Document.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.Document</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createDocument(org.dom4j.Element)">createDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#parseText(java.lang.String)">parseText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ <code>parseText</code> parses the given text as an XML document and
+ returns the newly created Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createDocument(java.lang.String)">createDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createDocument(org.dom4j.Element)">createDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>Document.</B><B><A HREF="../../../org/dom4j/Document.html#addComment(java.lang.String)">addComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</CODE>
+
+<BR>
+          Adds a new <code>Comment</code> node with the given text to this
+ branch.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>Document.</B><B><A HREF="../../../org/dom4j/Document.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>Document.</B><B><A HREF="../../../org/dom4j/Document.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>Document.</B><B><A HREF="../../../org/dom4j/Document.html#addDocType(java.lang.String, java.lang.String, java.lang.String)">addDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Adds a DOCTYPE declaration to this document</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Document)">visit</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.Document)">visit</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          
+ Visits the given <code>Document</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SchemaParser.</B><B><A HREF="../../../org/dom4j/datatype/SchemaParser.html#build(org.dom4j.Document)">build</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument)</CODE>
+
+<BR>
+          Parses the given schema document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SchemaParser.</B><B><A HREF="../../../org/dom4j/datatype/SchemaParser.html#build(org.dom4j.Document, org.dom4j.Namespace)">build</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument,
+      <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument)</CODE>
+
+<BR>
+          Loads the given XML Schema document into this factory so schema-aware
+ Document, Elements and Attributes will be created by this factory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, org.dom4j.Namespace)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument,
+           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> targetNamespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, java.lang.String)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> schemaInstanceURI)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, java.lang.String, org.dom4j.Namespace)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> schemaInstanceURI,
+           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMDocument(org.dom4j.Document)">asDOMDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>File</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>URL</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given URL or filename.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(char[])">read</A></B>(char[] text)</CODE>
+
+<BR>
+          
+ Reads a Document from the given array of characters
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#parseDocument()">parseDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>File</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>URL</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given URL or filename.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(char[])">read</A></B>(char[] text)</CODE>
+
+<BR>
+          
+ Reads a Document from the given array of characters
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#parseDocument()">parseDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(java.io.InputStream)">readDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> is)</CODE>
+
+<BR>
+          Constructs a StAX event stream from the provided I/O stream and reads a
+ DOM4J document from it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(java.io.Reader)">readDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          Constructs a StAX event stream from the provided I/O character stream and
+ reads a DOM4J document from it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(java.io.InputStream, java.lang.String)">readDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> is,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Constructs a StAX event stream from the provided I/O stream and reads a
+ DOM4J document from it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(java.io.Reader, java.lang.String)">readDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Constructs a StAX event stream from the provided I/O character stream and
+ reads a DOM4J document from it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(javax.xml.stream.XMLEventReader)">readDocument</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Reads a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>from the provided stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>File</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>URL</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          
+ Reads a Document from the given URL or filename using SAX.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(org.xml.sax.InputSource)">read</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>InputSource</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.File)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(org.xml.sax.InputSource)">modify</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>and
+ writes it to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.InputStream)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.InputStream, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.Reader)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.Reader, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.net.URL)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net"><CODE>URL</CODE></A>and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given URL or filename and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXContentHandler.</B><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXContentHandler.</B><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMReader.</B><B><A HREF="../../../org/dom4j/io/DOMReader.html#read(org.w3c.dom.Document)">read</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMReader.</B><B><A HREF="../../../org/dom4j/io/DOMReader.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentSource.</B><B><A HREF="../../../org/dom4j/io/DocumentSource.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentResult.</B><B><A HREF="../../../org/dom4j/io/DocumentResult.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Document)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</CODE>
+
+<BR>
+          
+ This will print the <code>Document</code> to the current Writer.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeDocument(org.dom4j.Document)">writeDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>node, and all its contents, to the
+ stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.StartDocument</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createStartDocument(org.dom4j.Document)">createStartDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>StartDocument</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.EndDocument</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createEndDocument(org.dom4j.Document)">createEndDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>EndDocument</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Document)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Generates SAX events for the given Document and all its content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#documentLocator(org.dom4j.Document)">documentLocator</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          The <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Locator.html" title="class or interface in org.xml.sax"><CODE>Locator</CODE></A>is only really useful when parsing a
+ textual document as its main purpose is to identify the line and column
+ number. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#entityResolver(org.dom4j.Document)">entityResolver</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#dtdHandler(org.dom4j.Document)">dtdHandler</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          We do not yet support DTD or XML Schemas so this method does nothing
+ right now.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXValidator.</B><B><A HREF="../../../org/dom4j/io/SAXValidator.html#validate(org.dom4j.Document)">validate</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Validates the given <code>Document</code> by writing it to a validating
+ SAX Parser.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#write(org.dom4j.Document)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#write(org.dom4j.Document, org.w3c.dom.DOMImplementation)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+      <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A> domImpl)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#createDomDocument(org.dom4j.Document)">createDomDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#createDomDocument(org.dom4j.Document, org.w3c.dom.DOMImplementation)">createDomDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+                  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A> domImpl)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DocumentSource.</B><B><A HREF="../../../org/dom4j/io/DocumentSource.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Sets the document used as the JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#DocumentSource(org.dom4j.Document)">DocumentSource</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Creates a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for the given <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> in <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A> that return <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.File, java.nio.charset.Charset)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file,
+     java.nio.charset.Charset charset)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>, using the given <CODE>Charset</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(org.xml.sax.InputSource)">read</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> source)</CODE>
+
+<BR>
+          Parses the the given URL or filename.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)</CODE>
+
+<BR>
+          Parses the the given URL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.File)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.File, java.nio.charset.Charset)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source,
+       java.nio.charset.Charset charset)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX, using the given
+ <CODE>Charset</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(org.xml.sax.InputSource)">modify</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.InputStream)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.InputStream, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.Reader)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> r)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.Reader, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> url)</CODE>
+
+<BR>
+          Parses the the given URL or filename.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.net.URL)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)</CODE>
+
+<BR>
+          Parses the the given URL.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../org/dom4j/rule/Mode.html#applyTemplates(org.dom4j.Document)">applyTemplates</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> declared as <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentTreeModel.</B><B><A HREF="../../../org/dom4j/swing/DocumentTreeModel.html#document">document</A></B></CODE>
+
+<BR>
+          The document for this model</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> that return <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentTreeModel.</B><B><A HREF="../../../org/dom4j/swing/DocumentTreeModel.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#load(org.dom4j.Document)">load</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> definition)</CODE>
+
+<BR>
+          Loads an XML table definition from an XML definition document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DocumentTreeModel.</B><B><A HREF="../../../org/dom4j/swing/DocumentTreeModel.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Sets the <code>Document</code> instance that this
+ <code>TreeModel</code> is based on</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#XMLTableModel(org.dom4j.Document, java.lang.Object)">XMLTableModel</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> tableDefinition,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</CODE>
+
+<BR>
+          Creates a TableModel from an XML table definition document and an XML
+ source</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/DocumentTreeModel.html#DocumentTreeModel(org.dom4j.Document)">DocumentTreeModel</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#addDocType(java.lang.String, java.lang.String, java.lang.String)">addDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> docTypeName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>BaseElement.</B><B><A HREF="../../../org/dom4j/tree/BaseElement.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addComment(java.lang.String)">addComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>BaseElement.</B><B><A HREF="../../../org/dom4j/tree/BaseElement.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createDocument(org.dom4j.Element)">createDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Document, org.dom4j.Document)">compare</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> n1,
+        <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Document.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/DocumentException.html b/docs/apidocs/org/dom4j/class-use/DocumentException.html
new file mode 100644
index 0000000..4556a3f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/DocumentException.html
@@ -0,0 +1,803 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.DocumentException (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.DocumentException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.DocumentException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that throw <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#parseText(java.lang.String)">parseText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ <code>parseText</code> parses the given text as an XML document and
+ returns the newly created Document.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that throw <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>File</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>URL</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given URL or filename.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(char[])">read</A></B>(char[] text)</CODE>
+
+<BR>
+          
+ Reads a Document from the given array of characters
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#parseDocument()">parseDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>File</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>URL</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given URL or filename.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(char[])">read</A></B>(char[] text)</CODE>
+
+<BR>
+          
+ Reads a Document from the given array of characters
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#parseDocument()">parseDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>File</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>URL</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          
+ Reads a Document from the given URL or filename using SAX.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(org.xml.sax.InputSource)">read</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>InputSource</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#configureReader(org.xml.sax.XMLReader, org.xml.sax.helpers.DefaultHandler)">configureReader</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader,
+                <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">DefaultHandler</A> handler)</CODE>
+
+<BR>
+          Configures the XMLReader before use</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.File)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(org.xml.sax.InputSource)">modify</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>and
+ writes it to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.InputStream)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.InputStream, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.Reader)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.Reader, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.net.URL)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net"><CODE>URL</CODE></A>and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given URL or filename and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>HTMLWriter.</B><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#prettyPrintHTML(java.lang.String)">prettyPrintHTML</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> html)</CODE>
+
+<BR>
+          Convenience method to just get a String result.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>HTMLWriter.</B><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#prettyPrintXHTML(java.lang.String)">prettyPrintXHTML</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> html)</CODE>
+
+<BR>
+          Convenience method to just get a String result, but <b>As XHTML </b>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>HTMLWriter.</B><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#prettyPrintHTML(java.lang.String, boolean, boolean, boolean, boolean)">prettyPrintHTML</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> html,
+                boolean newlines,
+                boolean trim,
+                boolean isXHTML,
+                boolean expandEmpty)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#getDomDocumentClass()">getDomDocumentClass</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#setDomDocumentClassName(java.lang.String)">setDomDocumentClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Sets the DOM <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom"><CODE>Document</CODE></A>implementation class name used
+ by the writer when creating DOM documents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#write(org.dom4j.Document)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#write(org.dom4j.Document, org.w3c.dom.DOMImplementation)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+      <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A> domImpl)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#createDomDocument(org.dom4j.Document)">createDomDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#createDomDocumentViaJAXP()">createDomDocumentViaJAXP</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#createDomDocument(org.dom4j.Document, org.w3c.dom.DOMImplementation)">createDomDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+                  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A> domImpl)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A> in <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A> that throw <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.File, java.nio.charset.Charset)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file,
+     java.nio.charset.Charset charset)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>, using the given <CODE>Charset</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(org.xml.sax.InputSource)">read</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> source)</CODE>
+
+<BR>
+          Parses the the given URL or filename.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)</CODE>
+
+<BR>
+          Parses the the given URL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.File)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.File, java.nio.charset.Charset)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source,
+       java.nio.charset.Charset charset)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX, using the given
+ <CODE>Charset</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(org.xml.sax.InputSource)">modify</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.InputStream)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.InputStream, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.Reader)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> r)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.Reader, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> url)</CODE>
+
+<BR>
+          Parses the the given URL or filename.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.net.URL)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)</CODE>
+
+<BR>
+          Parses the the given URL.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/DocumentFactory.html b/docs/apidocs/org/dom4j/class-use/DocumentFactory.html
new file mode 100644
index 0000000..7bbcd30
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/DocumentFactory.html
@@ -0,0 +1,884 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.DocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.DocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.DocumentFactory</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpp"><B>org.dom4j.xpp</B></A></TD>
+<TD>Provides implementation classes to cleanly integrate dom4j with the XML Pull Parser
+<a href="http://www.extreme.indiana.edu/soap/xpp/">XPP</a>
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to singleton implementation of DocumentFactory which is used if no
+ DocumentFactory is specified when building using the standard builders.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createSingleton(java.lang.String)">createSingleton</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> className)</CODE>
+
+<BR>
+          
+ <code>createSingleton</code> creates the singleton instance from the
+ given class name.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">BeanDocumentFactory</A></B></CODE>
+
+<BR>
+          
+ <code>BeanDocumentFactory</code> is a factory of DOM4J objects which may be
+ BeanElements which are backed by JavaBeans and their properties.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that return <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>BeanElement.</B><B><A HREF="../../../org/dom4j/bean/BeanElement.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeDocumentFactory</code> is a factory of XML objects which
+ support the <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types
+ </a> specification.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeElementFactory</code> is a factory for a specific Element in
+ an XML Schema.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> that return <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocumentFactory</code> is a factory of DOM4J objects which
+ implement the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DOMElement.</B><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocument.</B><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          Get the <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>used to create the DOM4J
+ document structure</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DOMReader.</B><B><A HREF="../../../org/dom4j/io/DOMReader.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+          
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+          
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+          Sets the DocumentFactory to be used when constructing DOM4J nodes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+          
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../org/dom4j/io/SAXModifier.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+          Sets the <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>used to create the DOM4J
+ document tree.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DOMReader.</B><B><A HREF="../../../org/dom4j/io/DOMReader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> docFactory)</CODE>
+
+<BR>
+          
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#XPPReader(org.dom4j.DocumentFactory)">XPPReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#XPP3Reader(org.dom4j.DocumentFactory)">XPP3Reader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#STAXEventReader(org.dom4j.DocumentFactory)">STAXEventReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+          Constructs a <code>STAXEventReader</code> instance that uses the
+ specified <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>to construct DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader(org.dom4j.DocumentFactory)">SAXReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader(org.dom4j.DocumentFactory, boolean)">SAXReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory,
+          boolean validating)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory)">SAXContentHandler</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler)">SAXContentHandler</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory,
+                  <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> elementHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler, org.dom4j.io.ElementStack)">SAXContentHandler</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory,
+                  <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> elementHandler,
+                  org.dom4j.io.ElementStack elementStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#DOMReader(org.dom4j.DocumentFactory)">DOMReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#QNameCache(org.dom4j.DocumentFactory)">QNameCache</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#NamespaceStack(org.dom4j.DocumentFactory)">NamespaceStack</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A></B></CODE>
+
+<BR>
+          
+ <code>IndexedDocumentFactory</code> is a factory of XML objects which
+ create indexed Element implementations to allow quicker lookup via name of
+ Element and Attributes though at the expense of more memory used to create
+ the name indexes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A></B></CODE>
+
+<BR>
+          
+ <code>NonLazyDocumentFactory</code> is a factory of XML objects which avoid
+ using the lazy creation pattern. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataDocumentFactory</code> is a factory of XML objects which
+ support the adornment of a user data object on an Element or Attribute
+ instance such that the methods <code>getData()</code> and
+ <code>setData()</code> will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#getProxy()">getProxy</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>NonLazyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#setProxy(org.dom4j.DocumentFactory)">setProxy</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> proxy)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#ProxyDocumentFactory(org.dom4j.DocumentFactory)">ProxyDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> proxy)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> in <A HREF="../../../org/dom4j/xpp/package-summary.html">org.dom4j.xpp</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/xpp/package-summary.html">org.dom4j.xpp</A> that return <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyXmlStartTag.</B><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/xpp/package-summary.html">org.dom4j.xpp</A> with parameters of type <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>ProxyXmlStartTag.</B><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/DocumentHelper.html b/docs/apidocs/org/dom4j/class-use/DocumentHelper.html
new file mode 100644
index 0000000..a63504e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/DocumentHelper.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.DocumentHelper (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.DocumentHelper (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/DocumentHelper.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.DocumentHelper</B></H2>
+</CENTER>
+No usage of org.dom4j.DocumentHelper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/DocumentHelper.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/DocumentType.html b/docs/apidocs/org/dom4j/class-use/DocumentType.html
new file mode 100644
index 0000000..f2e4c44
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/DocumentType.html
@@ -0,0 +1,494 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.DocumentType (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.DocumentType (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.DocumentType</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B>Document.</B><B><A HREF="../../../org/dom4j/Document.html#getDocType()">getDocType</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.DocumentType)">visit</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> documentType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.DocumentType)">visit</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> documentType)</CODE>
+
+<BR>
+          
+ Visits the given <code>DocumentType</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Document.</B><B><A HREF="../../../org/dom4j/Document.html#setDocType(org.dom4j.DocumentType)">setDocType</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+          Sets the DocumentType property</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocumentType</code> implements a DocumentType node which supports
+ the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMDocumentType(org.dom4j.DocumentType)">asDOMDocumentType</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> dt)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.DocumentType)">write</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeDocType(org.dom4j.DocumentType)">writeDocType</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeDocumentType(org.dom4j.DocumentType)">writeDocumentType</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.DTD</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createDTD(org.dom4j.DocumentType)">createDTD</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>DTD</CODE>event from a DOM4J <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractDocumentType</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocumentType</code> is the DOM4J default implementation of an
+ XML document type.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getDocType()">getDocType</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#setDocType(org.dom4j.DocumentType)">setDocType</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.DocumentType)">DefaultDocument</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.Element, org.dom4j.DocumentType)">DefaultDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement,
+                <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(java.lang.String, org.dom4j.Element, org.dom4j.DocumentType)">DefaultDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement,
+                <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.DocumentType, org.dom4j.DocumentType)">compare</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> o1,
+        <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> o2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Element.html b/docs/apidocs/org/dom4j/class-use/Element.html
new file mode 100644
index 0000000..d141487
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Element.html
@@ -0,0 +1,2607 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.Element (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.Element (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Element.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.Element</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpp"><B>org.dom4j.xpp</B></A></TD>
+<TD>Provides implementation classes to cleanly integrate dom4j with the XML Pull Parser
+<a href="http://www.extreme.indiana.edu/soap/xpp/">XPP</a>
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>ElementPath.</B><B><A HREF="../../../org/dom4j/ElementPath.html#getElement(int)">getElement</A></B>(int depth)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>ElementPath.</B><B><A HREF="../../../org/dom4j/ElementPath.html#getCurrent()">getCurrent</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addAttribute(java.lang.String, java.lang.String)">addAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Adds the attribute value of the given local name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Adds the attribute value of the given fully qualified name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addComment(java.lang.String)">addComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</CODE>
+
+<BR>
+          Adds a new <code>Comment</code> node with the given text to this
+ element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addCDATA(java.lang.String)">addCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> cdata)</CODE>
+
+<BR>
+          Adds a new <code>CDATA</code> node with the given text to this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addEntity(java.lang.String, java.lang.String)">addEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a new <code>Entity</code> node with the given name and text to
+ this element and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addNamespace(java.lang.String, java.lang.String)">addNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          Adds a namespace to this element for use by its child content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addText(java.lang.String)">addText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a new <code>Text</code> node with the given text to this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#element(java.lang.String)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the first element for the given local name and any namespace.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Returns the first element for the given fully qualified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#createCopy()">createCopy</A></B>()</CODE>
+
+<BR>
+          
+ Creates a deep copy of this element The new element is detached from its
+ parent, and getParent() on the clone will return null.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#createCopy(java.lang.String)">createCopy</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Creates a deep copy of this element with the given local name The new
+ element is detached from its parent, and getParent() on the clone will
+ return null.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#createCopy(org.dom4j.QName)">createCopy</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ Creates a deep copy of this element with the given fully qualified name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#makeElement(org.dom4j.Branch, java.lang.String)">makeElement</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> source,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          
+ makeElement
+ 
+ a helper method which navigates from the given Document or Element node
+ to some Element using the path expression, creating any necessary
+ elements along the way. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(java.lang.String, java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Document.</B><B><A HREF="../../../org/dom4j/Document.html#getRootElement()">getRootElement</A></B>()</CODE>
+
+<BR>
+          Returns the root <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>for this document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementID)</CODE>
+
+<BR>
+          Returns the element of the given ID attribute value. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>to
+ this branch and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given qualified name and
+ namespace URI to this branch and returns a reference to the new node.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Element)">visit</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.Element)">visit</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Element</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>asXPathResult</code> returns a version of this node which is
+ capable of being an XPath result. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../org/dom4j/Namespace.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../org/dom4j/Namespace.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../org/dom4j/Namespace.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#appendAttributes(org.dom4j.Element)">appendAttributes</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Appends the attributes of the given element to me. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createDocument(org.dom4j.Element)">createDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createDocument(org.dom4j.Element)">createDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Document.</B><B><A HREF="../../../org/dom4j/Document.html#setRootElement(org.dom4j.Element)">setRootElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+          Sets the root element for this document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Element)">add</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Adds the given <code>Element</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Element)">remove</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/IllegalAddException.html#IllegalAddException(org.dom4j.Element, org.dom4j.Node, java.lang.String)">IllegalAddException</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                    <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that implement <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></B></CODE>
+
+<BR>
+          
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that return <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>BeanElement.</B><B><A HREF="../../../org/dom4j/bean/BeanElement.html#addAttribute(java.lang.String, java.lang.String)">addAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>BeanElement.</B><B><A HREF="../../../org/dom4j/bean/BeanElement.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createElement(org.dom4j.QName, org.xml.sax.Attributes)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttribute.</B><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> that implement <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> that return <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeElement.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#addText(java.lang.String)">addText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeAttribute.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeAttribute.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></B></CODE>
+
+<BR>
+          
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createElement(org.dom4j.QName, int)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+              int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#DOMText(org.dom4j.Element, java.lang.String)">DOMText</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#DOMProcessingInstruction(org.dom4j.Element, java.lang.String, java.lang.String)">DOMProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> val)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#DOMNamespace(org.dom4j.Element, java.lang.String, java.lang.String)">DOMNamespace</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#DOMEntityReference(org.dom4j.Element, java.lang.String, java.lang.String)">DOMEntityReference</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#DOMComment(org.dom4j.Element, java.lang.String)">DOMComment</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#DOMCDATA(org.dom4j.Element, java.lang.String)">DOMCDATA</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">DOMAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+             <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readElement(javax.xml.stream.XMLEventReader)">readElement</A></B>(javax.xml.stream.XMLEventReader eventReader)</CODE>
+
+<BR>
+          Reads a DOM4J Element from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createElement(javax.xml.stream.events.StartElement)">createElement</A></B>(javax.xml.stream.events.StartElement startEvent)</CODE>
+
+<BR>
+          Constructs a new DOM4J Element from the provided StartElement event. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>ElementModifier.</B><B><A HREF="../../../org/dom4j/io/ElementModifier.html#modifyElement(org.dom4j.Element)">modifyElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Called by an event based processor when an elements closing tag is
+ encountered. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Element)">write</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the <code><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A></code>, including its <code><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A></code>
+ s, and its value, and all its content (child nodes) to the current
+ Writer.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeOpen(org.dom4j.Element)">writeOpen</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the opening tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>, including its <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>s but without its content.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeClose(org.dom4j.Element)">writeClose</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the closing tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeElement(org.dom4j.Element)">writeElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#isElementSpacePreserved(org.dom4j.Element)">isElementSpacePreserved</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Determines if element is a special case of XML elements where it contains
+ an xml:space attribute of "preserve". </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeElementContent(org.dom4j.Element)">writeElementContent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Outputs the content of the given element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeAttributes(org.dom4j.Element)">writeAttributes</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Writes the attributes of the given element</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeElement(org.dom4j.Element)">writeElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>node and its children to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.StartElement</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createStartElement(org.dom4j.Element)">createStartElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>StartElement</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.EndElement</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createEndElement(org.dom4j.Element)">createEndElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>EndElement</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createAttribute(org.dom4j.Element, javax.xml.stream.events.Attribute)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem,
+                javax.xml.stream.events.Attribute attr)</CODE>
+
+<BR>
+          Constructs a new DOM4J Attribute from the provided StAX Attribute event.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Element)">write</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Generates SAX events for the given Element and all its content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#writeOpen(org.dom4j.Element)">writeOpen</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the opening tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>, including its <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>s but without its content.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#writeClose(org.dom4j.Element)">writeClose</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the closing tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Element, org.dom4j.tree.NamespaceStack)">write</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+      <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A></CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#startPrefixMapping(org.dom4j.Element, org.dom4j.tree.NamespaceStack)">startPrefixMapping</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                   <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+          Fires a SAX startPrefixMapping event for all the namespaceStack which
+ have just come into scope</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#startElement(org.dom4j.Element, org.xml.sax.helpers.AttributesImpl)">startElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A> namespaceAttributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#endElement(org.dom4j.Element)">endElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A></CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#createAttributes(org.dom4j.Element, org.xml.sax.Attributes)">createAttributes</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                 <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> namespaceAttributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXContentHandler.</B><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#addDeclaredNamespaces(org.dom4j.Element)">addDeclaredNamespaces</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Add all namespaces declared before the startElement() SAX event to the
+ current element so that they are available to child elements and
+ attributes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXContentHandler.</B><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#addAttributes(org.dom4j.Element, org.xml.sax.Attributes)">addAttributes</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+          Add all the attributes to the given elements</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>HTMLWriter.</B><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#writeElement(org.dom4j.Element)">writeElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          This override handles any elements that should not remove whitespace,
+ such as <PRE>, <SCRIPT>, <STYLE>, and <TEXTAREA>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>ElementModifier.</B><B><A HREF="../../../org/dom4j/io/ElementModifier.html#modifyElement(org.dom4j.Element)">modifyElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Called by an event based processor when an elements closing tag is
+ encountered. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Element)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>JAXBWriter.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#writeElement(org.dom4j.Element)">writeElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Writes the specified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>JAXBWriter.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#writeCloseElement(org.dom4j.Element)">writeCloseElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Writes the closing tag of the specified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the
+ document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>JAXBWriter.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#writeOpenElement(org.dom4j.Element)">writeOpenElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Writes the opening tag of the specified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the
+ document.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../org/dom4j/rule/Mode.html#applyTemplates(org.dom4j.Element)">applyTemplates</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#load(org.dom4j.Element)">load</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> definition)</CODE>
+
+<BR>
+          Loads an XML table definition from an XML definition document</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#XMLTableModel(org.dom4j.Element, java.lang.Object)">XMLTableModel</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> tableDefinition,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</CODE>
+
+<BR>
+          Creates a TableModel from an XML table definition document and an XML
+ source</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></B></CODE>
+
+<BR>
+          
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultText.</B><B><A HREF="../../../org/dom4j/tree/DefaultText.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultProcessingInstruction.</B><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultNamespace.</B><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultEntity.</B><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(java.lang.String)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(java.lang.String, org.dom4j.Namespace)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getRootElement()">getRootElement</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultComment.</B><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultCDATA.</B><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultAttribute.</B><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>BaseElement.</B><B><A HREF="../../../org/dom4j/tree/BaseElement.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(java.lang.String)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(java.lang.String, org.dom4j.Namespace)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)">addAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addCDATA(java.lang.String)">addCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> cdata)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addComment(java.lang.String)">addComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addElement(java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addEntity(java.lang.String, java.lang.String)">addEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNamespace(java.lang.String, java.lang.String)">addNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addText(java.lang.String)">addText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createCopy()">createCopy</A></B>()</CODE>
+
+<BR>
+          
+ This returns a deep clone of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createCopy(java.lang.String)">createCopy</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createCopy(org.dom4j.QName)">createCopy</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(java.lang.String, java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(org.dom4j.QName)">addElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#elementByID(java.lang.String)">elementByID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementID)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightText.</B><B><A HREF="../../../org/dom4j/tree/FlyweightText.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightProcessingInstruction.</B><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightEntity.</B><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightComment.</B><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightCDATA.</B><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultText.</B><B><A HREF="../../../org/dom4j/tree/DefaultText.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultProcessingInstruction.</B><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultNamespace.</B><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultEntity.</B><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#rootElementAdded(org.dom4j.Element)">rootElementAdded</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultComment.</B><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultCDATA.</B><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultAttribute.</B><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>BaseElement.</B><B><A HREF="../../../org/dom4j/tree/BaseElement.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractProcessingInstruction.</B><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractProcessingInstruction.</B><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractEntity.</B><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractEntity.</B><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Element)">remove</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#appendAttributes(org.dom4j.Element)">appendAttributes</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocumentType.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocumentType.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#setRootElement(org.dom4j.Element)">setRootElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#add(org.dom4j.Element)">add</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#remove(org.dom4j.Element)">remove</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#checkAddElementAllowed(org.dom4j.Element)">checkAddElementAllowed</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#rootElementAdded(org.dom4j.Element)">rootElementAdded</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+          Called to set the root element variable</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractComment.</B><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractComment.</B><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractCharacterData.</B><B><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractCharacterData.</B><B><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Element)">add</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Element)">remove</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#elementID(org.dom4j.Element)">elementID</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractAttribute.</B><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractAttribute.</B><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractAttribute.</B><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html#DefaultText(org.dom4j.Element, java.lang.String)">DefaultText</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#DefaultProcessingInstruction(org.dom4j.Element, java.lang.String, java.lang.String)">DefaultProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> values)</CODE>
+
+<BR>
+          
+ This will create a new PI with the given target and values
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#DefaultNamespace(org.dom4j.Element, java.lang.String, java.lang.String)">DefaultNamespace</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#DefaultEntity(org.dom4j.Element, java.lang.String, java.lang.String)">DefaultEntity</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Creates the <code>Entity</code> with the specified name and text.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.Element)">DefaultDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.Element, org.dom4j.DocumentType)">DefaultDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement,
+                <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(java.lang.String, org.dom4j.Element, org.dom4j.DocumentType)">DefaultDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement,
+                <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#DefaultComment(org.dom4j.Element, java.lang.String)">DefaultComment</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#DefaultCDATA(org.dom4j.Element, java.lang.String)">DefaultCDATA</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                 <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.Element, java.lang.String, java.lang.String, org.dom4j.Namespace)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                 <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that implement <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A></B></CODE>
+
+<BR>
+          
+ <code>IndexedElement</code> is an implementation of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A></B></CODE>
+
+<BR>
+          
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>UserDataElement.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#getErrors()">getErrors</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataElement.</B><B><A HREF="../../../org/dom4j/util/UserDataElement.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataElement.</B><B><A HREF="../../../org/dom4j/util/UserDataElement.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>NonLazyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#element(java.lang.String)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#asElement(java.lang.Object)">asElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#createElement(org.dom4j.QName, int)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+              int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#setErrors(org.dom4j.Element)">setErrors</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> errors)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#addException(org.dom4j.Element, org.xml.sax.SAXParseException)">addException</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> e)</CODE>
+
+<BR>
+          Adds the given parse exception information to the given element instance</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createDocument(org.dom4j.Element)">createDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Element, org.dom4j.Element)">compare</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> n1,
+        <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addToElementIndex(org.dom4j.Element)">addToElementIndex</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addToElementIndex(java.lang.Object, org.dom4j.Element)">addToElementIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeFromElementIndex(org.dom4j.Element)">removeFromElementIndex</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeFromElementIndex(java.lang.Object, org.dom4j.Element)">removeFromElementIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                       <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B>AttributeHelper.</B><B><A HREF="../../../org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Element, java.lang.String)">booleanValue</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> attributeName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B>AttributeHelper.</B><B><A HREF="../../../org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Element, org.dom4j.QName)">booleanValue</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+             <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#XMLErrorHandler(org.dom4j.Element)">XMLErrorHandler</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> errors)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html#DefaultNamespaceContext(org.dom4j.Element)">DefaultNamespaceContext</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> in <A HREF="../../../org/dom4j/xpp/package-summary.html">org.dom4j.xpp</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/xpp/package-summary.html">org.dom4j.xpp</A> that return <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyXmlStartTag.</B><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getElement()">getElement</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/xpp/package-summary.html">org.dom4j.xpp</A> with parameters of type <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#ProxyXmlStartTag(org.dom4j.Element)">ProxyXmlStartTag</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Element.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/ElementHandler.html b/docs/apidocs/org/dom4j/class-use/ElementHandler.html
new file mode 100644
index 0000000..d182a8c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/ElementHandler.html
@@ -0,0 +1,312 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.ElementHandler (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.ElementHandler (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.ElementHandler</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>ElementPath.</B><B><A HREF="../../../org/dom4j/ElementPath.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XPPReader.</B><B><A HREF="../../../org/dom4j/io/XPPReader.html#setDefaultHandler(org.dom4j.ElementHandler)">setDefaultHandler</A></B>(<A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XPP3Reader.</B><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#setDefaultHandler(org.dom4j.ElementHandler)">setDefaultHandler</A></B>(<A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../org/dom4j/io/SAXReader.html#setDefaultHandler(org.dom4j.ElementHandler)">setDefaultHandler</A></B>(<A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler)">SAXContentHandler</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory,
+                  <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> elementHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler, org.dom4j.io.ElementStack)">SAXContentHandler</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory,
+                  <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> elementHandler,
+                  org.dom4j.io.ElementStack elementStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> in <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A> with parameters of type <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/ElementPath.html b/docs/apidocs/org/dom4j/class-use/ElementPath.html
new file mode 100644
index 0000000..32209d0
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/ElementPath.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.ElementPath (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.ElementPath (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/ElementPath.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.ElementPath</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>ElementHandler.</B><B><A HREF="../../../org/dom4j/ElementHandler.html#onStart(org.dom4j.ElementPath)">onStart</A></B>(<A HREF="../../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A> elementPath)</CODE>
+
+<BR>
+          Called by an event based processor when an elements openning tag is
+ encountered.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>ElementHandler.</B><B><A HREF="../../../org/dom4j/ElementHandler.html#onEnd(org.dom4j.ElementPath)">onEnd</A></B>(<A HREF="../../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A> elementPath)</CODE>
+
+<BR>
+          Called by an event based processor when an elements closing tag is
+ encountered.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/ElementPath.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Entity.html b/docs/apidocs/org/dom4j/class-use/Entity.html
new file mode 100644
index 0000000..621d6f0
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Entity.html
@@ -0,0 +1,508 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.Entity (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.Entity (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Entity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.Entity</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createEntity(java.lang.String, java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createEntity(java.lang.String, java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Entity)">visit</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.Entity)">visit</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Entity</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.Entity)">add</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Adds the given <code>Entity</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.Entity)">remove</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Removes the given <code>Entity</code> if the node is an immediate child
+ of this element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A></B></CODE>
+
+<BR>
+          
+ <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createEntity(java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createEntity(java.lang.String, java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readEntityReference(javax.xml.stream.XMLEventReader)">readEntityReference</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Entity from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createEntity(javax.xml.stream.events.EntityReference)">createEntity</A></B>(javax.xml.stream.events.EntityReference entityRef)</CODE>
+
+<BR>
+          Constructs a new DOM4J Entity from the provided StAX EntityReference
+ event.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Entity)">write</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeEntity(org.dom4j.Entity)">writeEntity</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeEntity(org.dom4j.Entity)">writeEntity</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Entity)">write</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Generates SAX events for the given Entity</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>HTMLWriter.</B><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#writeEntity(org.dom4j.Entity)">writeEntity</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Entity)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractEntity</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultEntity</code> is the default Entity implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML entity.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Entity)">add</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Entity)">remove</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createEntity(java.lang.String, java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Entity, org.dom4j.Entity)">compare</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> n1,
+        <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Entity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/IllegalAddException.html b/docs/apidocs/org/dom4j/class-use/IllegalAddException.html
new file mode 100644
index 0000000..36c90d9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/IllegalAddException.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.IllegalAddException (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.IllegalAddException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IllegalAddException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.IllegalAddException</B></H2>
+</CENTER>
+No usage of org.dom4j.IllegalAddException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IllegalAddException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/InvalidXPathException.html b/docs/apidocs/org/dom4j/class-use/InvalidXPathException.html
new file mode 100644
index 0000000..d03f3b3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/InvalidXPathException.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.InvalidXPathException (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.InvalidXPathException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InvalidXPathException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.InvalidXPathException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that throw <A HREF="../../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> creates an XPath object for the given
+ xpathExpression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createXPath(java.lang.String, org.jaxen.VariableContext)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            org.jaxen.VariableContext context)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A> in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> that throw <A HREF="../../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#DefaultXPath(java.lang.String)">DefaultXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Construct an XPath</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InvalidXPathException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Namespace.html b/docs/apidocs/org/dom4j/class-use/Namespace.html
new file mode 100644
index 0000000..d65dae8
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Namespace.html
@@ -0,0 +1,1170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.Namespace (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.Namespace (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Namespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.Namespace</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> declared as <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../org/dom4j/Namespace.html#XML_NAMESPACE">XML_NAMESPACE</A></B></CODE>
+
+<BR>
+          XML Namespace</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../org/dom4j/Namespace.html#NO_NAMESPACE">NO_NAMESPACE</A></B></CODE>
+
+<BR>
+          No Namespace present</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../org/dom4j/Namespace.html#get(java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          A helper method to return the Namespace instance for the given prefix and
+ URI</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../org/dom4j/Namespace.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          A helper method to return the Namespace instance for no prefix and the
+ URI</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise <code>Namespace.NO_NAMESPACE</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> which is mapped to the given prefix
+ or null if it could not be found.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#getNamespaceForURI(java.lang.String)">getNamespaceForURI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> which is mapped to the given URI or
+ null if it could not be found. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>Attribute.</B><B><A HREF="../../../org/dom4j/Attribute.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise null is returned returned.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Namespace)">visit</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.Namespace)">visit</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          
+ Visits the given <code>Namespace</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#get(java.lang.String, org.dom4j.Namespace)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#get(java.lang.String, org.dom4j.Namespace, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.Namespace)">add</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Adds the given <code>Namespace</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.Namespace)">remove</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Removes the given <code>Namespace</code> if the node is an immediate
+ child of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Attribute.</B><B><A HREF="../../../org/dom4j/Attribute.html#setNamespace(org.dom4j.Namespace)">setNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          
+ Sets the <code>Namespace</code> of this element or if this element is
+ read only then an <code>UnsupportedOperationException</code> is thrown.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/QName.html#QName(java.lang.String, org.dom4j.Namespace)">QName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+      <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/QName.html#QName(java.lang.String, org.dom4j.Namespace, java.lang.String)">QName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+      <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#BeanElement(java.lang.String, org.dom4j.Namespace, java.lang.Object)">BeanElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SchemaParser.</B><B><A HREF="../../../org/dom4j/datatype/SchemaParser.html#build(org.dom4j.Document, org.dom4j.Namespace)">build</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument,
+      <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, org.dom4j.Namespace)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument,
+           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> targetNamespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, java.lang.String, org.dom4j.Namespace)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> schemaInstanceURI,
+           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A></B></CODE>
+
+<BR>
+          
+ <code>DOMNamespace</code> implements a Namespace that is compatable with
+ the DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#DOMElement(java.lang.String, org.dom4j.Namespace)">DOMElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readNamespace(javax.xml.stream.XMLEventReader)">readNamespace</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Namespace from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createNamespace(javax.xml.stream.events.Namespace)">createNamespace</A></B>(javax.xml.stream.events.Namespace ns)</CODE>
+
+<BR>
+          Constructs a new DOM4J Namespace from the provided StAX Namespace event.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>DOMReader.</B><B><A HREF="../../../org/dom4j/io/DOMReader.html#getNamespace(java.lang.String, java.lang.String)">getNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Namespace)">write</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeNamespace(org.dom4j.Namespace)">writeNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#isNamespaceDeclaration(org.dom4j.Namespace)">isNamespaceDeclaration</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeNamespace(org.dom4j.Namespace)">writeNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Namespace</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createNamespace(org.dom4j.Namespace)">createNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Namespace</CODE>event from a
+ DOM4J <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A></CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#addNamespaceAttribute(org.xml.sax.helpers.AttributesImpl, org.dom4j.Namespace)">addNamespaceAttribute</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A> attrs,
+                      <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          If isDelcareNamespaceAttributes() is enabled then this method will add
+ the given namespace declaration to the supplied attributes object,
+ creating one if it does not exist.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#isIgnoreableNamespace(org.dom4j.Namespace, org.dom4j.tree.NamespaceStack)">isIgnoreableNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+                      <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#writeNamespace(org.w3c.dom.Element, org.dom4j.Namespace)">writeNamespace</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A> domElement,
+               <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#attributeNameForNamespace(org.dom4j.Namespace)">attributeNameForNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#isNamespaceDeclaration(org.dom4j.Namespace)">isNamespaceDeclaration</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultNamespace</code> implements a doubly linked node which
+ supports the parent relationship and is mutable. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#pop()">pop</A></B>()</CODE>
+
+<BR>
+          Pops the most recently used <code>Namespace</code> from the stack</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getNamespace(int)">getNamespace</A></B>(int index)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#addNamespace(java.lang.String, java.lang.String)">addNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          Adds a new namespace to the stack</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#pop(java.lang.String)">pop</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          Pops a namepace from the stack with the given prefix and URI</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getDefaultNamespace()">getDefaultNamespace</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+          Factory method to creeate new Namespace instances. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#findDefaultNamespace()">findDefaultNamespace</A></B>()</CODE>
+
+<BR>
+          Attempts to find the current default namespace on the stack right now or
+ returns null if one could not be found</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#remove(int)">remove</A></B>(int index)</CODE>
+
+<BR>
+          Removes the namespace at the given index of the stack</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceCache.</B><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#get(java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceCache.</B><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceCache.</B><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          A factory method to create <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>instance</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getNamespaceForURI(java.lang.String)">getNamespaceForURI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespaceForURI(java.lang.String)">getNamespaceForURI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractAttribute.</B><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String, org.dom4j.Namespace)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String, org.dom4j.Namespace, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#getNamespaceCache(org.dom4j.Namespace)">getNamespaceCache</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Factory method to create a new QName object which can be overloaded to
+ create derived QName instances</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#createQName(java.lang.String, org.dom4j.Namespace, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+          Factory method to create a new QName object which can be overloaded to
+ create derived QName instances</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#push(org.dom4j.Namespace)">push</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Pushes the given namespace onto the stack so that its prefix becomes
+ available.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#contains(org.dom4j.Namespace)">contains</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#pushQName(java.lang.String, java.lang.String, org.dom4j.Namespace, java.lang.String)">pushQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          Adds the QName to the stack of available QNames</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#createQName(java.lang.String, java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Factory method to creeate new QName instances. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(java.lang.String, org.dom4j.Namespace)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(java.lang.String, org.dom4j.Namespace)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#setNamespace(org.dom4j.Namespace)">setNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(java.lang.String, org.dom4j.Namespace)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elements(java.lang.String, org.dom4j.Namespace)">elements</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+         <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementIterator(java.lang.String, org.dom4j.Namespace)">elementIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(java.lang.String, org.dom4j.Namespace)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Namespace)">add</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Namespace)">remove</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractAttribute.</B><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setNamespace(org.dom4j.Namespace)">setNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(java.lang.String, java.lang.String, org.dom4j.Namespace)">FlyweightAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                   <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#DefaultElement(java.lang.String, org.dom4j.Namespace)">DefaultElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+               <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(java.lang.String, java.lang.String, org.dom4j.Namespace)">DefaultAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                 <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.Element, java.lang.String, java.lang.String, org.dom4j.Namespace)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                 <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#BaseElement(java.lang.String, org.dom4j.Namespace)">BaseElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Namespace, org.dom4j.Namespace)">compare</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> n1,
+        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html#NonLazyElement(java.lang.String, org.dom4j.Namespace)">NonLazyElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+               <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Namespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Node.html b/docs/apidocs/org/dom4j/class-use/Node.html
new file mode 100644
index 0000000..0f6472a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Node.html
@@ -0,0 +1,2134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.Node (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.Node (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Node.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.Node</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule.pattern"><B>org.dom4j.rule.pattern</B></A></TD>
+<TD>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></B></CODE>
+
+<BR>
+          
+ <code>Attribute</code> defines an XML attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></CODE>
+
+<BR>
+          
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></B></CODE>
+
+<BR>
+          
+ <code>CDATA</code> defines an XML CDATA section.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></CODE>
+
+<BR>
+          
+ <code>CharacterData</code> is a marker interface for character based nodes
+ such as the <code>CDATA</code>,<code>Comment</code> and
+ <code>Text</code> nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></B></CODE>
+
+<BR>
+          
+ <code>Comment</code> defines the behavior of an XML comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></B></CODE>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></CODE>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></B></CODE>
+
+<BR>
+          
+ <code>Entity</code> defines an XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>ProcessingInstruction</code> defines an XML processing instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></B></CODE>
+
+<BR>
+          
+ <code>Text</code> defines an XML Text node.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that implement <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></B></CODE>
+
+<BR>
+          
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>XPath.</B><B><A HREF="../../../org/dom4j/XPath.html#selectSingleNode(java.lang.Object)">selectSingleNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>selectSingleNode</code> evaluates this XPath expression on the
+ given <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the
+ result as a single <code>Node</code> instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#detach()">detach</A></B>()</CODE>
+
+<BR>
+          
+ Removes this node from its parent if there is one. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#selectSingleNode(java.lang.String)">selectSingleNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>selectSingleNode</code> evaluates an XPath expression and returns
+ the result as a single <code>Node</code> instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>asXPathResult</code> returns a version of this node which is
+ capable of being an XPath result. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../org/dom4j/Namespace.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#getXPathResult(int)">getXPathResult</A></B>(int index)</CODE>
+
+<BR>
+          Returns a node at the given index suitable for an XPath result set. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#node(int)">node</A></B>(int index)</CODE>
+
+<BR>
+          Returns the <code>Node</code> at the specified index position.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>XPath.</B><B><A HREF="../../../org/dom4j/XPath.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          
+ <code>matches</code> returns true if the given node matches the XPath
+ expression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>NodeFilter.</B><B><A HREF="../../../org/dom4j/NodeFilter.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          
+ <code>matches</code> returns true if the given node matches the filter
+ condition.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#selectNodes(java.lang.String, org.dom4j.Node)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+            <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> performs the given XPath expression on the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances appending all the results together
+ into a single list.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#indexOf(org.dom4j.Node)">indexOf</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Node)">add</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Adds the given <code>Node</code> or throws <A HREF="../../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><CODE>IllegalAddException</CODE></A>
+ if the given node is not of a valid type. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Node)">remove</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Removes the given <code>Node</code> if the node is an immediate child
+ of this branch. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/IllegalAddException.html#IllegalAddException(org.dom4j.Element, org.dom4j.Node, java.lang.String)">IllegalAddException</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                    <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/IllegalAddException.html#IllegalAddException(org.dom4j.Branch, org.dom4j.Node, java.lang.String)">IllegalAddException</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                    <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that implement <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>BeanAttribute</code> represents a mutable XML attribute which is
+ backed by a property of the JavaBean of its parent element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></B></CODE>
+
+<BR>
+          
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> that implement <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeAttribute</code> represents an Attribute which supports the
+ <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeElement.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#childAdded(org.dom4j.Node)">childAdded</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Override to force lazy recreation of data object</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeElement.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#childRemoved(org.dom4j.Node)">childRemoved</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Override to force lazy recreation of data object</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DOMAttribute</code> implements a doubly linked attribute which
+ supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocumentType</code> implements a DocumentType node which supports
+ the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></B></CODE>
+
+<BR>
+          
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A></B></CODE>
+
+<BR>
+          
+ <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A></B></CODE>
+
+<BR>
+          
+ <code>DOMNamespace</code> implements a Namespace that is compatable with
+ the DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ node which supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#supports(org.dom4j.Node, java.lang.String, java.lang.String)">supports</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getNamespaceURI(org.dom4j.Node)">getNamespaceURI</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getPrefix(org.dom4j.Node)">getPrefix</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getLocalName(org.dom4j.Node)">getLocalName</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#setPrefix(org.dom4j.Node, java.lang.String)">setPrefix</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getNodeValue(org.dom4j.Node)">getNodeValue</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#setNodeValue(org.dom4j.Node, java.lang.String)">setNodeValue</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getParentNode(org.dom4j.Node)">getParentNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getChildNodes(org.dom4j.Node)">getChildNodes</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getFirstChild(org.dom4j.Node)">getFirstChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getLastChild(org.dom4j.Node)">getLastChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getPreviousSibling(org.dom4j.Node)">getPreviousSibling</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getNextSibling(org.dom4j.Node)">getNextSibling</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getAttributes(org.dom4j.Node)">getAttributes</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getOwnerDocument(org.dom4j.Node)">getOwnerDocument</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#insertBefore(org.dom4j.Node, org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#replaceChild(org.dom4j.Node, org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#removeChild(org.dom4j.Node, org.w3c.dom.Node)">removeChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+            <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#appendChild(org.dom4j.Node, org.w3c.dom.Node)">appendChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+            <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#hasChildNodes(org.dom4j.Node)">hasChildNodes</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#cloneNode(org.dom4j.Node, boolean)">cloneNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+          boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#normalize(org.dom4j.Node)">normalize</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#isSupported(org.dom4j.Node, java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#hasAttributes(org.dom4j.Node)">hasAttributes</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMNode(org.dom4j.Node)">asDOMNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMElement(org.dom4j.Node)">asDOMElement</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></FONT></TD>
+<TD><CODE><B>DOMNodeHelper.</B><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMAttr(org.dom4j.Node)">asDOMAttr</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readNode(javax.xml.stream.XMLEventReader)">readNode</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Reads a <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>from the event stream. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Node)">write</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeNodeText(org.dom4j.Node)">writeNodeText</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          This method is used to write out Nodes that contain text and still allow
+ for xml:space to be handled properly.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeNode(org.dom4j.Node)">writeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeNode(org.dom4j.Node)">writeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>to the stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Node)">write</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          A polymorphic method to write any Node to this SAX stream</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#DocumentSource(org.dom4j.Node)">DocumentSource</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Creates a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for the given <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Stylesheet.</B><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#run(org.dom4j.Node)">run</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Stylesheet.</B><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#run(org.dom4j.Node, java.lang.String)">run</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B>RuleSet.</B><B><A HREF="../../../org/dom4j/rule/RuleSet.html#getMatchingRule(org.dom4j.Node)">getMatchingRule</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Performs an XSLT processing model match for the rule which matches the
+ given Node the best.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../org/dom4j/rule/RuleManager.html#getMatchingRule(java.lang.String, org.dom4j.Node)">getMatchingRule</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> modeName,
+                <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Performs an XSLT processing model match for the rule which matches the
+ given Node the best.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Rule.</B><B><A HREF="../../../org/dom4j/rule/Rule.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Pattern.</B><B><A HREF="../../../org/dom4j/rule/Pattern.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>NullAction.</B><B><A HREF="../../../org/dom4j/rule/NullAction.html#run(org.dom4j.Node)">run</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../org/dom4j/rule/Mode.html#fireRule(org.dom4j.Node)">fireRule</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Runs the actions associated with the given node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../org/dom4j/rule/Mode.html#getMatchingRule(org.dom4j.Node)">getMatchingRule</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Performs an XSLT processing model match for the rule which matches the
+ given Node the best.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Action.</B><B><A HREF="../../../org/dom4j/rule/Action.html#run(org.dom4j.Node)">run</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule.pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>NodeTypePattern.</B><B><A HREF="../../../org/dom4j/rule/pattern/NodeTypePattern.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>DefaultPattern.</B><B><A HREF="../../../org/dom4j/rule/pattern/DefaultPattern.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> declared as <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>LeafTreeNode.</B><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#xmlNode">xmlNode</A></B></CODE>
+
+<BR>
+          The dom4j Node which contains the</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> that return <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>LeafTreeNode.</B><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getXmlNode()">getXmlNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></FONT></TD>
+<TD><CODE><B>BranchTreeNode.</B><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#createChildTreeNode(org.dom4j.Node)">createChildTreeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> xmlNode)</CODE>
+
+<BR>
+          Factory method to create child tree nodes for a given XML node type</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#LeafTreeNode(org.dom4j.Node)">LeafTreeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> xmlNode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#LeafTreeNode(javax.swing.tree.TreeNode, org.dom4j.Node)">LeafTreeNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> parent,
+             <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> xmlNode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractCharacterData</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractDocumentType</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractEntity</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractProcessingInstruction</code> is an abstract base class for
+ tree implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></B></CODE>
+
+<BR>
+          
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultCDATA</code> is the default CDATA implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultComment</code> is the default Comment implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocumentType</code> is the DOM4J default implementation of an
+ XML document type.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultEntity</code> is the default Entity implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultNamespace</code> implements a doubly linked node which
+ supports the parent relationship and is mutable. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultProcessingInstruction</code> is the default Processing
+ Instruction implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultText</code> is the default Text implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ implementation of a singly linked, read-only XML Processing Instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightText.</B><B><A HREF="../../../org/dom4j/tree/FlyweightText.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightProcessingInstruction.</B><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightEntity.</B><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightComment.</B><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightCDATA.</B><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#node(int)">node</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>ContentListFacade.</B><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#asNode(java.lang.Object)">asNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>BackedList.</B><B><A HREF="../../../org/dom4j/tree/BackedList.html#asNode(java.lang.Object)">asNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#detach()">detach</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#selectSingleNode(java.lang.String)">selectSingleNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#node(int)">node</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getXPathResult(int)">getXPathResult</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#node(int)">node</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractAttribute.</B><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#indexOf(org.dom4j.Node)">indexOf</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#addNewNode(org.dom4j.Node)">addNewNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#addNode(org.dom4j.Node)">addNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#addNode(int, org.dom4j.Node)">addNode</A></B>(int index,
+        <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#indexOf(org.dom4j.Node)">indexOf</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Node)">add</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Node)">remove</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNode(org.dom4j.Node)">addNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNode(int, org.dom4j.Node)">addNode</A></B>(int index,
+        <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNewNode(org.dom4j.Node)">addNewNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Like addNode() but does not require a parent check</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNewNode(int, org.dom4j.Node)">addNewNode</A></B>(int index,
+           <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#childAdded(org.dom4j.Node)">childAdded</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when a new child node is added to create any parent relationships</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#childRemoved(org.dom4j.Node)">childRemoved</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#childAdded(org.dom4j.Node)">childAdded</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#childRemoved(org.dom4j.Node)">childRemoved</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Node)">add</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Node)">remove</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#indexOf(org.dom4j.Node)">indexOf</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addNode(org.dom4j.Node)">addNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addNode(int, org.dom4j.Node)">addNode</A></B>(int index,
+        <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#childAdded(org.dom4j.Node)">childAdded</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when a new child node has been added to me to allow any parent
+ relationships to be created or events to be fired.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#childRemoved(org.dom4j.Node)">childRemoved</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when a child node has been removed to allow any parent
+ relationships to be deleted or events to be fired.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#invalidNodeTypeAddException(org.dom4j.Node)">invalidNodeTypeAddException</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when an invalid node has been added. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that implement <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A></B></CODE>
+
+<BR>
+          
+ <code>IndexedElement</code> is an implementation of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A></B></CODE>
+
+<BR>
+          
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataAttribute</code> support the adornment of a user data object
+ on an Element or Attribute instance such that the methods 
+ <A HREF="../../../org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><CODE>UserDataAttribute.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>UserDataElement.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Node, org.dom4j.Node)">compare</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n1,
+        <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addNode(org.dom4j.Node)">addNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> that return <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultXPath.</B><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#selectSingleNode(java.lang.Object)">selectSingleNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> with parameters of type <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>XPathPattern.</B><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>DefaultXPath.</B><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultXPath.</B><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#getCompareValue(org.dom4j.Node)">getCompareValue</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Node.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/NodeFilter.html b/docs/apidocs/org/dom4j/class-use/NodeFilter.html
new file mode 100644
index 0000000..e7f3a7c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/NodeFilter.html
@@ -0,0 +1,422 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.NodeFilter (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.NodeFilter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeFilter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.NodeFilter</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule.pattern"><B>org.dom4j.rule.pattern</B></A></TD>
+<TD>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></B></CODE>
+
+<BR>
+          
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createXPathFilter(java.lang.String)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression)</CODE>
+
+<BR>
+          
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression using the singleton <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createXPathFilter(java.lang.String, org.jaxen.VariableContext)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+                  org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+          
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createXPathFilter(java.lang.String)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression)</CODE>
+
+<BR>
+          
+ <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+ filter expression. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></B></CODE>
+
+<BR>
+          
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule.pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> in <A HREF="../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A> that implement <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultPattern</code> a default implementation of Pattern which can
+ take any XPath implementation or NodeFilter for defining the pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></B></CODE>
+
+<BR>
+          
+ <code>NodeTypePattern</code> implements a Pattern which matches any node of
+ the given node type.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A> with parameters of type <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/pattern/DefaultPattern.html#DefaultPattern(org.dom4j.NodeFilter)">DefaultPattern</A></B>(<A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> filter)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> patternText)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createXPathFilter(java.lang.String, org.jaxen.VariableContext)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+                  org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createXPathFilter(java.lang.String)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> that implement <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A></B></CODE>
+
+<BR>
+          
+ Default implementation of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j"><CODE>XPath</CODE></A>which uses the <a
+ href="http://jaxen.org">Jaxen </a> project.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A></B></CODE>
+
+<BR>
+          
+ <code>XPathPattern</code> is an implementation of Pattern which uses an
+ XPath xpath.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeFilter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/ProcessingInstruction.html b/docs/apidocs/org/dom4j/class-use/ProcessingInstruction.html
new file mode 100644
index 0000000..21564e6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/ProcessingInstruction.html
@@ -0,0 +1,595 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.ProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.ProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.ProcessingInstruction</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> pi,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> d)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createProcessingInstruction(java.lang.String, java.util.Map)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> pi,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#processingInstruction(java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.ProcessingInstruction)">visit</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.ProcessingInstruction)">visit</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>ProcessingInstruction</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)">add</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Adds the given <code>ProcessingInstruction</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.ProcessingInstruction)">remove</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Removes the given <code>ProcessingInstruction</code> if the node is an
+ immediate child of this branch. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readProcessingInstruction(javax.xml.stream.XMLEventReader)">readProcessingInstruction</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J ProcessingInstruction from the provided event stream.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createProcessingInstruction(javax.xml.stream.events.ProcessingInstruction)">createProcessingInstruction</A></B>(javax.xml.stream.events.ProcessingInstruction pi)</CODE>
+
+<BR>
+          Constructs a new DOM4J ProcessingInstruction from the provided StAX
+ ProcessingInstruction event.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.ProcessingInstruction)">write</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> processingInstruction)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><CODE>ProcessingInstruction</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeProcessingInstruction(org.dom4j.ProcessingInstruction)">writeProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeProcessingInstruction(org.dom4j.ProcessingInstruction)">writeProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Writes a DOM4J <CODE>ProcessingInstruction</CODE>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.ProcessingInstruction</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createProcessingInstruction(org.dom4j.ProcessingInstruction)">createProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>ProcessingInstruction</CODE>
+ event from a DOM4J <CODE>ProcessingInstruction</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.ProcessingInstruction)">write</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Generates SAX events for the given ProcessingInstruction</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DOMWriter.</B><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.ProcessingInstruction)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDoc,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractProcessingInstruction</code> is an abstract base class for
+ tree implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultProcessingInstruction</code> is the default Processing
+ Instruction implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ implementation of a singly linked, read-only XML Processing Instruction.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#processingInstruction(java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultDocument.</B><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#processingInstruction(java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#processingInstruction(java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.ProcessingInstruction)">add</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.ProcessingInstruction)">remove</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.ProcessingInstruction)">add</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.ProcessingInstruction)">remove</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.ProcessingInstruction, org.dom4j.ProcessingInstruction)">compare</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> n1,
+        <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/QName.html b/docs/apidocs/org/dom4j/class-use/QName.html
new file mode 100644
index 0000000..1e0558b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/QName.html
@@ -0,0 +1,1664 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.QName (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.QName (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="QName.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.QName</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#get(java.lang.String, org.dom4j.Namespace)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#get(java.lang.String, java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#get(java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QName.</B><B><A HREF="../../../org/dom4j/QName.html#get(java.lang.String, org.dom4j.Namespace, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> of this element which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#getQName(java.lang.String)">getQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> for the given qualified name, using the
+ namespace URI in scope for the given prefix of the qualified name or the
+ default namespace if the qualified name has no prefix.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createQName(java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createQName(java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createQName(java.lang.String, java.lang.String, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createQName(java.lang.String, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#intern(org.dom4j.QName)">intern</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>Attribute.</B><B><A HREF="../../../org/dom4j/Attribute.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#setQName(org.dom4j.QName)">setQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          
+ Sets the <code>QName</code> of this element which represents the local
+ name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Adds the attribute value of the given fully qualified name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#attributeValue(org.dom4j.QName)">attributeValue</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given fully
+ qualified name or null if there is no such attribute or the empty string
+ if the attribute value is empty.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#attributeValue(org.dom4j.QName, java.lang.String)">attributeValue</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given fully
+ qualified name or the default value if there is no such attribute value.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#setAttributeValue(org.dom4j.QName, java.lang.String)">setAttributeValue</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../../org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)"><CODE>Element.addAttribute(QName,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Returns the first element for the given fully qualified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#elements(org.dom4j.QName)">elements</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ Returns the elements contained in this element with the given fully
+ qualified name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#elementIterator(org.dom4j.QName)">elementIterator</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Returns an iterator over the elements contained in this element which
+ match the given fully qualified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#createCopy(org.dom4j.QName)">createCopy</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ Creates a deep copy of this element with the given fully qualified name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#elementText(org.dom4j.QName)">elementText</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#elementTextTrim(org.dom4j.QName)">elementTextTrim</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#intern(org.dom4j.QName)">intern</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>Branch.</B><B><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>to
+ this branch and returns a reference to the new node.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> that return <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>BeanMetaData.</B><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#getQName(int)">getQName</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttributeList.</B><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#getQName(int)">getQName</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttribute.</B><B><A HREF="../../../org/dom4j/bean/BeanAttribute.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>BeanMetaData.</B><B><A HREF="../../../org/dom4j/bean/BeanMetaData.html#getIndex(org.dom4j.QName)">getIndex</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanElement.</B><B><A HREF="../../../org/dom4j/bean/BeanElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>BeanElement.</B><B><A HREF="../../../org/dom4j/bean/BeanElement.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createElement(org.dom4j.QName, org.xml.sax.Attributes)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createBean(org.dom4j.QName)">createBean</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B>BeanDocumentFactory.</B><B><A HREF="../../../org/dom4j/bean/BeanDocumentFactory.html#createBean(org.dom4j.QName, org.xml.sax.Attributes)">createBean</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+           <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>BeanAttributeList.</B><B><A HREF="../../../org/dom4j/bean/BeanAttributeList.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#BeanElement(org.dom4j.QName, java.lang.Object)">BeanElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> bean)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/bean/BeanElement.html#BeanElement(org.dom4j.QName)">BeanElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> that return <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeAttribute.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> com.sun.msv.datatype.xsd.XSDatatype</CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#getAttributeXSDatatype(org.dom4j.QName)">getAttributeXSDatatype</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#setAttributeXSDatatype(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)">setAttributeXSDatatype</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName,
+                       com.sun.msv.datatype.xsd.XSDatatype type)</CODE>
+
+<BR>
+          Registers the given <code>XSDatatype</code> for the given
+ <attribute> QNames</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> com.sun.msv.datatype.xsd.XSDatatype</CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#getChildElementXSDatatype(org.dom4j.QName)">getChildElementXSDatatype</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#setChildElementXSDatatype(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)">setChildElementXSDatatype</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                          com.sun.msv.datatype.xsd.XSDatatype dataType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeElementFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#getElementFactory(org.dom4j.QName)">getElementFactory</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> elementQName)</CODE>
+
+<BR>
+          Registers the given <code>DatatypeElementFactory</code> for the given
+ <element> schema element</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#DatatypeElementFactory(org.dom4j.QName)">DatatypeElementFactory</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> elementQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#DatatypeElement(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)">DatatypeElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                com.sun.msv.datatype.xsd.XSDatatype datatype)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#DatatypeElement(org.dom4j.QName, int, com.sun.msv.datatype.xsd.XSDatatype)">DatatypeElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                int attributeCount,
+                com.sun.msv.datatype.xsd.XSDatatype type)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#DatatypeAttribute(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)">DatatypeAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                  com.sun.msv.datatype.xsd.XSDatatype datatype)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#DatatypeAttribute(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype, java.lang.String)">DatatypeAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                  com.sun.msv.datatype.xsd.XSDatatype datatype,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DOMElement.</B><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getQName(java.lang.String, java.lang.String)">getQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createElement(org.dom4j.QName, int)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+              int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#DOMElement(org.dom4j.QName)">DOMElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#DOMElement(org.dom4j.QName, int)">DOMElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+           int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.QName)">DOMAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.QName, java.lang.String)">DOMAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">DOMAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+             <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>STAXEventReader.</B><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createQName(javax.xml.namespace.QName)">createQName</A></B>(javax.xml.namespace.QName qname)</CODE>
+
+<BR>
+          Constructs a new DOM4J QName from the provided JAXP QName.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.namespace.QName</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createQName(org.dom4j.QName)">createQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>QName</CODE>from a DOM4J <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String, org.dom4j.Namespace)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String, org.dom4j.Namespace, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#intern(org.dom4j.QName)">intern</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#createQName(java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Factory method to create a new QName object which can be overloaded to
+ create derived QName instances</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Factory method to create a new QName object which can be overloaded to
+ create derived QName instances</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#createQName(java.lang.String, org.dom4j.Namespace, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+          Factory method to create a new QName object which can be overloaded to
+ create derived QName instances</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getQName(java.lang.String, java.lang.String, java.lang.String)">getQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getAttributeQName(java.lang.String, java.lang.String, java.lang.String)">getAttributeQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#pushQName(java.lang.String, java.lang.String, org.dom4j.Namespace, java.lang.String)">pushQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          Adds the QName to the stack of available QNames</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>NamespaceStack.</B><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#createQName(java.lang.String, java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Factory method to creeate new QName instances. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>FlyweightAttribute.</B><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>BaseElement.</B><B><A HREF="../../../org/dom4j/tree/BaseElement.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getQName(java.lang.String)">getQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>QNameCache.</B><B><A HREF="../../../org/dom4j/tree/QNameCache.html#intern(org.dom4j.QName)">intern</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#setQName(org.dom4j.QName)">setQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultElement.</B><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>BaseElement.</B><B><A HREF="../../../org/dom4j/tree/BaseElement.html#setQName(org.dom4j.QName)">setQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elements(org.dom4j.QName)">elements</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementIterator(org.dom4j.QName)">elementIterator</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeValue(org.dom4j.QName)">attributeValue</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeValue(org.dom4j.QName, java.lang.String)">attributeValue</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#setAttributeValue(org.dom4j.QName, java.lang.String)">setAttributeValue</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><CODE>AbstractElement.addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementText(org.dom4j.QName)">elementText</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementTextTrim(org.dom4j.QName)">elementTextTrim</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createCopy(org.dom4j.QName)">createCopy</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(org.dom4j.QName)">addElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(org.dom4j.QName)">FlyweightAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(org.dom4j.QName, java.lang.String)">FlyweightAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ElementQNameIterator.html#ElementQNameIterator(java.util.Iterator, org.dom4j.QName)">ElementQNameIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> proxy,
+                     <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          <B>Deprecated.</B>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#DefaultElement(org.dom4j.QName)">DefaultElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#DefaultElement(org.dom4j.QName, int)">DefaultElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+               int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.QName)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.QName, java.lang.String)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                 <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#BaseElement(org.dom4j.QName)">BaseElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> declared as <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#ERROR_QNAME">ERROR_QNAME</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#FATALERROR_QNAME">FATALERROR_QNAME</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#WARNING_QNAME">WARNING_QNAME</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#getErrorQName()">getErrorQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#getFatalErrorQName()">getFatalErrorQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#getWarningQName()">getWarningQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, java.lang.String, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#setErrorQName(org.dom4j.QName)">setErrorQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> errorQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#setFatalErrorQName(org.dom4j.QName)">setFatalErrorQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> fatalErrorQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLErrorHandler.</B><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#setWarningQName(org.dom4j.QName)">setWarningQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> warningQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataElement.</B><B><A HREF="../../../org/dom4j/util/UserDataElement.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>NonLazyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>NodeComparator.</B><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.QName, org.dom4j.QName)">compare</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> n1,
+        <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedElement.</B><B><A HREF="../../../org/dom4j/util/IndexedElement.html#elements(org.dom4j.QName)">elements</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#createElement(org.dom4j.QName, int)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+              int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B>AttributeHelper.</B><B><A HREF="../../../org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Element, org.dom4j.QName)">booleanValue</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+             <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> with parameters of type <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#UserDataElement(org.dom4j.QName)">UserDataElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataAttribute.html#UserDataAttribute(org.dom4j.QName)">UserDataAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataAttribute.html#UserDataAttribute(org.dom4j.QName, java.lang.String)">UserDataAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html#NonLazyElement(org.dom4j.QName)">NonLazyElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html#NonLazyElement(org.dom4j.QName, int)">NonLazyElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+               int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#IndexedElement(org.dom4j.QName)">IndexedElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#IndexedElement(org.dom4j.QName, int)">IndexedElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+               int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="QName.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Text.html b/docs/apidocs/org/dom4j/class-use/Text.html
new file mode 100644
index 0000000..79f0f89
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Text.html
@@ -0,0 +1,435 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.Text (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.Text (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Text.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.Text</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>VisitorSupport.</B><B><A HREF="../../../org/dom4j/VisitorSupport.html#visit(org.dom4j.Text)">visit</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Visitor.</B><B><A HREF="../../../org/dom4j/Visitor.html#visit(org.dom4j.Text)">visit</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> node)</CODE>
+
+<BR>
+          
+ Visits the given <code>Text</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.Text)">add</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Adds the given <code>Text</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>Element.</B><B><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.Text)">remove</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Removes the given <code>Text</code> if the node is an immediate child
+ of this element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that implement <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B>DOMText.</B><B><A HREF="../../../org/dom4j/dom/DOMText.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Text)">write</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeText(org.dom4j.Text)">writeText</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Characters</CODE></FONT></TD>
+<TD><CODE><B>STAXEventWriter.</B><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createCharacters(org.dom4j.Text)">createCharacters</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Characters</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that implement <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultText</code> is the default Text implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Text)">add</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Text)">remove</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Text.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/Visitor.html b/docs/apidocs/org/dom4j/class-use/Visitor.html
new file mode 100644
index 0000000..b9b2933
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/Visitor.html
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.Visitor (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.Visitor (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Visitor.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.Visitor</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that implement <A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A></B></CODE>
+
+<BR>
+          
+ <code>VisitorSupport</code> is an abstract base class which is useful for
+ implementation inheritence or when using anonymous inner classes to create
+ simple <code>Visitor</code> implementations.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../org/dom4j/Namespace.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractText.</B><B><A HREF="../../../org/dom4j/tree/AbstractText.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractProcessingInstruction.</B><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractEntity.</B><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> method is the <code>Visitor Pattern</code>
+ method.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractDocumentType.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractDocument.</B><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> method is the <code>Visitor Pattern</code>
+ method.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractComment.</B><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractCDATA.</B><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractAttribute.</B><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Visitor.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/VisitorSupport.html b/docs/apidocs/org/dom4j/class-use/VisitorSupport.html
new file mode 100644
index 0000000..fe4524b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/VisitorSupport.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.VisitorSupport (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.VisitorSupport (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/VisitorSupport.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="VisitorSupport.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.VisitorSupport</B></H2>
+</CENTER>
+No usage of org.dom4j.VisitorSupport
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/VisitorSupport.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="VisitorSupport.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/XPath.html b/docs/apidocs/org/dom4j/class-use/XPath.html
new file mode 100644
index 0000000..989ee18
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/XPath.html
@@ -0,0 +1,574 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.XPath (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.XPath (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.XPath</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>Node.</B><B><A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> creates an XPath object for the given
+ xpathExpression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../org/dom4j/DocumentHelper.html#createXPath(java.lang.String, org.jaxen.VariableContext)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            org.jaxen.VariableContext context)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance using the singleton <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../org/dom4j/DocumentFactory.html#createXPath(java.lang.String, org.jaxen.VariableContext)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> parses an XPath expression and creates a new
+ XPath <code>XPath</code> instance.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A> with parameters of type <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>XPath.</B><B><A HREF="../../../org/dom4j/XPath.html#selectNodes(java.lang.Object, org.dom4j.XPath)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+            <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>XPath.</B><B><A HREF="../../../org/dom4j/XPath.html#selectNodes(java.lang.Object, org.dom4j.XPath, boolean)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+            <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath,
+            boolean distinct)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Stylesheet.</B><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.dom4j.XPath)">applyTemplates</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+               <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath)</CODE>
+
+<BR>
+          Processes the result of the xpath expression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Stylesheet.</B><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.dom4j.XPath, java.lang.String)">applyTemplates</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+               <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</CODE>
+
+<BR>
+          Processes the result of the xpath expression in the given mode. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> that return <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getColumnXPath(int)">getColumnXPath</A></B>(int columnIndex)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getColumnNameXPath(int)">getColumnNameXPath</A></B>(int columnIndex)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getRowXPath()">getRowXPath</A></B>()</CODE>
+
+<BR>
+          Getter for property rowXPath.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#createColumnXPath(java.lang.String)">createColumnXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableColumnDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#getXPath()">getXPath</A></B>()</CODE>
+
+<BR>
+          Getter for property xpath.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableColumnDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#getColumnNameXPath()">getColumnNameXPath</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableColumnDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#setRowXPath(org.dom4j.XPath)">setRowXPath</A></B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> rowXPath)</CODE>
+
+<BR>
+          Setter for property rowXPath.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLTableColumnDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#setXPath(org.dom4j.XPath)">setXPath</A></B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xPath)</CODE>
+
+<BR>
+          Setter for property xpath.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLTableColumnDefinition.</B><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#setColumnNameXPath(org.dom4j.XPath)">setColumnNameXPath</A></B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> columnNameXPath)</CODE>
+
+<BR>
+          Setter for property columnNameXPath.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition(java.lang.String, org.dom4j.XPath, int)">XMLTableColumnDefinition</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath,
+                         int type)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition(org.dom4j.XPath, org.dom4j.XPath, int)">XMLTableColumnDefinition</A></B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> columnXPath,
+                         <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath,
+                         int type)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createXPath(java.lang.String, org.jaxen.VariableContext)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> that implement <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A></B></CODE>
+
+<BR>
+          
+ Default implementation of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j"><CODE>XPath</CODE></A>which uses the <a
+ href="http://jaxen.org">Jaxen </a> project.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> with parameters of type <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultXPath.</B><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#selectNodes(java.lang.Object, org.dom4j.XPath)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+            <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultXPath.</B><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#selectNodes(java.lang.Object, org.dom4j.XPath, boolean)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+            <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath,
+            boolean distinct)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/class-use/XPathException.html b/docs/apidocs/org/dom4j/class-use/XPathException.html
new file mode 100644
index 0000000..3f7f6e6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/class-use/XPathException.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:17 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.XPathException (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.XPathException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/XPathException.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPathException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.XPathException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A> in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> that throw <A HREF="../../../org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>XPathPattern.</B><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#handleJaxenException(org.jaxen.JaxenException)">handleJaxenException</A></B>(org.jaxen.JaxenException exception)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>DefaultXPath.</B><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#handleJaxenException(org.jaxen.JaxenException)">handleJaxenException</A></B>(org.jaxen.JaxenException exception)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../org/dom4j/XPathException.html" title="class in org.dom4j"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPathException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/DatatypeAttribute.html b/docs/apidocs/org/dom4j/datatype/DatatypeAttribute.html
new file mode 100644
index 0000000..9982602
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/DatatypeAttribute.html
@@ -0,0 +1,832 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DatatypeAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.datatype.DatatypeAttribute class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DatatypeAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatatypeAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.datatype</FONT>
+<BR>
+Class DatatypeAttribute</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractAttribute</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.datatype.DatatypeAttribute</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, com.sun.msv.datatype. [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DatatypeAttribute</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A><DT>implements com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.ValidationContext</DL>
+
+<P>
+<p>
+ <code>DatatypeAttribute</code> represents an Attribute which supports the
+ <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.datatype.DatatypeAttribute">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#DatatypeAttribute(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)">DatatypeAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                  com.sun.msv.datatype.xsd.XSDatatype datatype)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#DatatypeAttribute(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype, java.lang.String)">DatatypeAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                  com.sun.msv.datatype.xsd.XSDatatype datatype,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#convertToValue(java.lang.String)">convertToValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> txt)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#getBaseUri()">getBaseUri</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <CODE>Node#getText()</CODE>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#getNamespacePrefix(java.lang.String)">getNamespacePrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+          
+ Returns the value of the attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> com.sun.msv.datatype.xsd.XSDatatype</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#getXSDatatype()">getXSDatatype</A></B>()</CODE>
+
+<BR>
+          Returns the MSV XSDatatype for this node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#isNotation(java.lang.String)">isNotation</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> notationName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#isUnparsedEntity(java.lang.String)">isUnparsedEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> entityName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#resolveNamespacePrefix(java.lang.String)">resolveNamespacePrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          
+ Sets the data value of this attribute if this element supports data
+ binding or calls <CODE>Node#setText(String)</CODE>if it doesn't.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#setValue(java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html#validate(java.lang.String)">validate</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> txt)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getNamespace()">getNamespace</A>, <A HREF="../../../org/do [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DatatypeAttribute(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)"><!-- --></A><H3>
+DatatypeAttribute</H3>
+<PRE>
+public <B>DatatypeAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                         com.sun.msv.datatype.xsd.XSDatatype datatype)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DatatypeAttribute(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype, java.lang.String)"><!-- --></A><H3>
+DatatypeAttribute</H3>
+<PRE>
+public <B>DatatypeAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                         com.sun.msv.datatype.xsd.XSDatatype datatype,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#toString()">toString</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXSDatatype()"><!-- --></A><H3>
+getXSDatatype</H3>
+<PRE>
+public com.sun.msv.datatype.xsd.XSDatatype <B>getXSDatatype</B>()</PRE>
+<DL>
+<DD>Returns the MSV XSDatatype for this node
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespacePrefix(java.lang.String)"><!-- --></A><H3>
+getNamespacePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespacePrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getNamespacePrefix</CODE> in interface <CODE>com.sun.msv.datatype.SerializationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBaseUri()"><!-- --></A><H3>
+getBaseUri</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getBaseUri</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getBaseUri</CODE> in interface <CODE>org.relaxng.datatype.ValidationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNotation(java.lang.String)"><!-- --></A><H3>
+isNotation</H3>
+<PRE>
+public boolean <B>isNotation</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> notationName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>isNotation</CODE> in interface <CODE>org.relaxng.datatype.ValidationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUnparsedEntity(java.lang.String)"><!-- --></A><H3>
+isUnparsedEntity</H3>
+<PRE>
+public boolean <B>isUnparsedEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> entityName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>isUnparsedEntity</CODE> in interface <CODE>org.relaxng.datatype.ValidationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resolveNamespacePrefix(java.lang.String)"><!-- --></A><H3>
+resolveNamespacePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>resolveNamespacePrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>resolveNamespacePrefix</CODE> in interface <CODE>org.relaxng.datatype.ValidationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName()"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getQName()">getQName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>QName</code> associated with this attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getValue</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the value of the attribute. This method returns the same value as
+ the <A HREF="../../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>method.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getValue()">getValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of the attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#setValue(java.lang.String)">setValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setValue(java.lang.String)">setValue</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttrib [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <A HREF="../../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getData()">getData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getData()">getData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Sets the data value of this attribute if this element supports data
+ binding or calls <A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(String)</CODE></A>if it doesn't.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#setData(java.lang.Object)">setData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setData(java.lang.Object)">setData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute< [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="validate(java.lang.String)"><!-- --></A><H3>
+validate</H3>
+<PRE>
+protected void <B>validate</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> txt)
+                 throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="convertToValue(java.lang.String)"><!-- --></A><H3>
+convertToValue</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>convertToValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> txt)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatatypeAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/DatatypeDocumentFactory.html b/docs/apidocs/org/dom4j/datatype/DatatypeDocumentFactory.html
new file mode 100644
index 0000000..4951826
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/DatatypeDocumentFactory.html
@@ -0,0 +1,467 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DatatypeDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.datatype.DatatypeDocumentFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DatatypeDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatatypeDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.datatype</FONT>
+<BR>
+Class DatatypeDocumentFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">org.dom4j.DocumentFactory</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.datatype.DatatypeDocumentFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DatatypeDocumentFactory</B><DT>extends <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></DL>
+
+<P>
+<p>
+ <code>DatatypeDocumentFactory</code> is a factory of XML objects which
+ support the <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types
+ </a> specification.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.datatype.DatatypeDocumentFactory">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#singleton">singleton</A></B></CODE>
+
+<BR>
+          The Singleton instance</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#cache">cache</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#DatatypeDocumentFactory()">DatatypeDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#getElementFactory(org.dom4j.QName)">getElementFactory</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> elementQName)</CODE>
+
+<BR>
+          Registers the given <code>DatatypeElementFactory</code> for the given
+ <element> schema element</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument)</CODE>
+
+<BR>
+          Loads the given XML Schema document into this factory so schema-aware
+ Document, Elements and Attributes will be created by this factory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, org.dom4j.Namespace)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument,
+           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> targetNamespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, java.lang.String)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> schemaInstanceURI)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html#loadSchema(org.dom4j.Document, java.lang.String, org.dom4j.Namespace)">loadSchema</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> schemaInstanceURI,
+           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createComment(java.lang.String)">createComment</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A>, <A HR [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="singleton"><!-- --></A><H3>
+singleton</H3>
+<PRE>
+protected static transient <A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A> <B>singleton</B></PRE>
+<DL>
+<DD>The Singleton instance
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DatatypeDocumentFactory()"><!-- --></A><H3>
+DatatypeDocumentFactory</H3>
+<PRE>
+public <B>DatatypeDocumentFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getInstance()"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getInstance</B>()</PRE>
+<DL>
+<DD><p>
+ Access to the singleton instance of this factory.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default singleon instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="loadSchema(org.dom4j.Document)"><!-- --></A><H3>
+loadSchema</H3>
+<PRE>
+public void <B>loadSchema</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument)</PRE>
+<DL>
+<DD>Loads the given XML Schema document into this factory so schema-aware
+ Document, Elements and Attributes will be created by this factory.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>schemaDocument</CODE> - is an XML Schema Document instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="loadSchema(org.dom4j.Document, org.dom4j.Namespace)"><!-- --></A><H3>
+loadSchema</H3>
+<PRE>
+public void <B>loadSchema</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument,
+                       <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> targetNamespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementFactory(org.dom4j.QName)"><!-- --></A><H3>
+getElementFactory</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A> <B>getElementFactory</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> elementQName)</PRE>
+<DL>
+<DD>Registers the given <code>DatatypeElementFactory</code> for the given
+ <element> schema element
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elementQName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                 <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="loadSchema(org.dom4j.Document, java.lang.String)"><!-- --></A><H3>
+loadSchema</H3>
+<PRE>
+protected void <B>loadSchema</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> schemaInstanceURI)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="loadSchema(org.dom4j.Document, java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+loadSchema</H3>
+<PRE>
+protected void <B>loadSchema</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> schemaInstanceURI,
+                          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatatypeDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/DatatypeElement.html b/docs/apidocs/org/dom4j/datatype/DatatypeElement.html
new file mode 100644
index 0000000..1b4c384
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/DatatypeElement.html
@@ -0,0 +1,723 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DatatypeElement (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.datatype.DatatypeElement class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DatatypeElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatatypeElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.datatype</FONT>
+<BR>
+Class DatatypeElement</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractElement</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultElement</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.datatype.DatatypeElement</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.htm [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DatatypeElement</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A><DT>implements com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.ValidationContext</DL>
+
+<P>
+<p>
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.datatype.DatatypeElement">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_LIST">EMPTY_LIST</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#DatatypeElement(org.dom4j.QName, int, com.sun.msv.datatype.xsd.XSDatatype)">DatatypeElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                int attributeCount,
+                com.sun.msv.datatype.xsd.XSDatatype type)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#DatatypeElement(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)">DatatypeElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                com.sun.msv.datatype.xsd.XSDatatype datatype)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#addText(java.lang.String)">addText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a new <code>Text</code> node with the given text to this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#childAdded(org.dom4j.Node)">childAdded</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Override to force lazy recreation of data object</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#childRemoved(org.dom4j.Node)">childRemoved</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Override to force lazy recreation of data object</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#getBaseUri()">getBaseUri</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          Accesses the data of this element which may implement data typing
+ bindings such as XML Schema or Java Bean bindings or will return the same
+ value as <A HREF="../../../org/dom4j/tree/DefaultElement.html#getText()"><CODE>DefaultElement.getText()</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#getNamespacePrefix(java.lang.String)">getNamespacePrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> com.sun.msv.datatype.xsd.XSDatatype</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#getXSDatatype()">getXSDatatype</A></B>()</CODE>
+
+<BR>
+          Returns the MSV XSDatatype for this node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#isNotation(java.lang.String)">isNotation</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> notationName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#isUnparsedEntity(java.lang.String)">isUnparsedEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> entityName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#resolveNamespacePrefix(java.lang.String)">resolveNamespacePrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../../org/dom4j/datatype/DatatypeElement.html#setText(java.lang.String)"><CODE>setText(java.lang.String)</CODE></A>if it doesn't</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html#validate(java.lang.String)">validate</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#add(org.dom4j.Attribute)">add</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces()">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces(java.lang.String)">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#addNewNode(org.dom4j.Node)">addNewNode</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(int)">attrib [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Entity)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractEle [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathRes [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Element"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF="../../../org/dom4j/Branch.html#setProces [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getUniquePath()">getUniquePath</A>, <A HREF="../../../org/dom4j/Nod [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DatatypeElement(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)"><!-- --></A><H3>
+DatatypeElement</H3>
+<PRE>
+public <B>DatatypeElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                       com.sun.msv.datatype.xsd.XSDatatype datatype)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DatatypeElement(org.dom4j.QName, int, com.sun.msv.datatype.xsd.XSDatatype)"><!-- --></A><H3>
+DatatypeElement</H3>
+<PRE>
+public <B>DatatypeElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                       int attributeCount,
+                       com.sun.msv.datatype.xsd.XSDatatype type)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#toString()">toString</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXSDatatype()"><!-- --></A><H3>
+getXSDatatype</H3>
+<PRE>
+public com.sun.msv.datatype.xsd.XSDatatype <B>getXSDatatype</B>()</PRE>
+<DL>
+<DD>Returns the MSV XSDatatype for this node
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespacePrefix(java.lang.String)"><!-- --></A><H3>
+getNamespacePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespacePrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getNamespacePrefix</CODE> in interface <CODE>com.sun.msv.datatype.SerializationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBaseUri()"><!-- --></A><H3>
+getBaseUri</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getBaseUri</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getBaseUri</CODE> in interface <CODE>org.relaxng.datatype.ValidationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNotation(java.lang.String)"><!-- --></A><H3>
+isNotation</H3>
+<PRE>
+public boolean <B>isNotation</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> notationName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>isNotation</CODE> in interface <CODE>org.relaxng.datatype.ValidationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUnparsedEntity(java.lang.String)"><!-- --></A><H3>
+isUnparsedEntity</H3>
+<PRE>
+public boolean <B>isUnparsedEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> entityName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>isUnparsedEntity</CODE> in interface <CODE>org.relaxng.datatype.ValidationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resolveNamespacePrefix(java.lang.String)"><!-- --></A><H3>
+resolveNamespacePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>resolveNamespacePrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>resolveNamespacePrefix</CODE> in interface <CODE>org.relaxng.datatype.ValidationContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Accesses the data of this element which may implement data typing
+ bindings such as XML Schema or Java Bean bindings or will return the same
+ value as <A HREF="../../../org/dom4j/Element.html#getText()"><CODE>Element.getText()</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getData()">getData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#getData()">getData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(java.lang.String)</CODE></A>if it doesn't
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#setData(java.lang.Object)">setData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#setData(java.lang.Object)">setData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addText(java.lang.String)"><!-- --></A><H3>
+addText</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds a new <code>Text</code> node with the given text to this element.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addText(java.lang.String)">addText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#addText(java.lang.String)">addText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#setText(java.lang.String)">setText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="childAdded(org.dom4j.Node)"><!-- --></A><H3>
+childAdded</H3>
+<PRE>
+protected void <B>childAdded</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Override to force lazy recreation of data object
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#childAdded(org.dom4j.Node)">childAdded</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="childRemoved(org.dom4j.Node)"><!-- --></A><H3>
+childRemoved</H3>
+<PRE>
+protected void <B>childRemoved</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Override to force lazy recreation of data object
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#childRemoved(org.dom4j.Node)">childRemoved</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="validate(java.lang.String)"><!-- --></A><H3>
+validate</H3>
+<PRE>
+protected void <B>validate</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+                 throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatatypeElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/DatatypeElementFactory.html b/docs/apidocs/org/dom4j/datatype/DatatypeElementFactory.html
new file mode 100644
index 0000000..14ae537
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/DatatypeElementFactory.html
@@ -0,0 +1,438 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DatatypeElementFactory (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.datatype.DatatypeElementFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DatatypeElementFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatatypeElementFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeElementFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.DocumentFactory">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.datatype</FONT>
+<BR>
+Class DatatypeElementFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">org.dom4j.DocumentFactory</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.datatype.DatatypeElementFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DatatypeElementFactory</B><DT>extends <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></DL>
+
+<P>
+<p>
+ <code>DatatypeElementFactory</code> is a factory for a specific Element in
+ an XML Schema.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a>, Yuxin Ruan</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.datatype.DatatypeElementFactory">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#cache">cache</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#DatatypeElementFactory(org.dom4j.QName)">DatatypeElementFactory</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> elementQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> com.sun.msv.datatype.xsd.XSDatatype</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#getAttributeXSDatatype(org.dom4j.QName)">getAttributeXSDatatype</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> com.sun.msv.datatype.xsd.XSDatatype</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#getChildElementXSDatatype(org.dom4j.QName)">getChildElementXSDatatype</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#setAttributeXSDatatype(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)">setAttributeXSDatatype</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName,
+                       com.sun.msv.datatype.xsd.XSDatatype type)</CODE>
+
+<BR>
+          Registers the given <code>XSDatatype</code> for the given
+ <attribute> QNames</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html#setChildElementXSDatatype(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)">setChildElementXSDatatype</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                          com.sun.msv.datatype.xsd.XSDatatype dataType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createComment(java.lang.String)">createComment</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A>, <A HR [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DatatypeElementFactory(org.dom4j.QName)"><!-- --></A><H3>
+DatatypeElementFactory</H3>
+<PRE>
+public <B>DatatypeElementFactory</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> elementQName)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getQName()"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the QName this element factory is associated with</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeXSDatatype(org.dom4j.QName)"><!-- --></A><H3>
+getAttributeXSDatatype</H3>
+<PRE>
+public com.sun.msv.datatype.xsd.XSDatatype <B>getAttributeXSDatatype</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attributeQName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the <code>XSDatatype</code> associated with the given Attribute
+         QName</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeXSDatatype(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)"><!-- --></A><H3>
+setAttributeXSDatatype</H3>
+<PRE>
+public void <B>setAttributeXSDatatype</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName,
+                                   com.sun.msv.datatype.xsd.XSDatatype type)</PRE>
+<DL>
+<DD>Registers the given <code>XSDatatype</code> for the given
+ <attribute> QNames
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attributeQName</CODE> - DOCUMENT ME!<DD><CODE>type</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildElementXSDatatype(org.dom4j.QName)"><!-- --></A><H3>
+getChildElementXSDatatype</H3>
+<PRE>
+public com.sun.msv.datatype.xsd.XSDatatype <B>getChildElementXSDatatype</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qname</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the <code>XSDatatype</code> associated with the given child
+         Element QName</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setChildElementXSDatatype(org.dom4j.QName, com.sun.msv.datatype.xsd.XSDatatype)"><!-- --></A><H3>
+setChildElementXSDatatype</H3>
+<PRE>
+public void <B>setChildElementXSDatatype</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                                      com.sun.msv.datatype.xsd.XSDatatype dataType)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                 <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DatatypeElementFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeElementFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.DocumentFactory">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/InvalidSchemaException.html b/docs/apidocs/org/dom4j/datatype/InvalidSchemaException.html
new file mode 100644
index 0000000..3ef4c3c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/InvalidSchemaException.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+InvalidSchemaException (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.datatype.InvalidSchemaException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="InvalidSchemaException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InvalidSchemaException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InvalidSchemaException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.datatype</FONT>
+<BR>
+Class InvalidSchemaException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">java.lang.Throwable</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">java.lang.Exception</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">java.lang.RuntimeException</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">java.lang.IllegalArgumentException</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.datatype.InvalidSchemaException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>InvalidSchemaException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></DL>
+
+<P>
+<p>
+ <code>InvalidSchemaException</code> is thrown when an invalid XML Schema
+ document is used
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6 $</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.datatype.InvalidSchemaException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/InvalidSchemaException.html#InvalidSchemaException(java.lang.String)">InvalidSchemaException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html#getLocalizedMessage()" title="class or interface in java.lang">getLocalizedMessage</A>, <A HREF="http://java.sun.com/j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="InvalidSchemaException(java.lang.String)"><!-- --></A><H3>
+InvalidSchemaException</H3>
+<PRE>
+public <B>InvalidSchemaException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> reason)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InvalidSchemaException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InvalidSchemaException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/SchemaParser.html b/docs/apidocs/org/dom4j/datatype/SchemaParser.html
new file mode 100644
index 0000000..1c07d4a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/SchemaParser.html
@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SchemaParser (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.datatype.SchemaParser class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SchemaParser (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SchemaParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SchemaParser.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.datatype</FONT>
+<BR>
+Class SchemaParser</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.datatype.SchemaParser</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>SchemaParser</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>SchemaParser</code> reads an XML Schema Document.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.19 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a>, Yuxin Ruan</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/SchemaParser.html#SchemaParser()">SchemaParser</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/SchemaParser.html#SchemaParser(org.dom4j.datatype.DatatypeDocumentFactory)">SchemaParser</A></B>(<A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/SchemaParser.html#build(org.dom4j.Document)">build</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument)</CODE>
+
+<BR>
+          Parses the given schema document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/datatype/SchemaParser.html#build(org.dom4j.Document, org.dom4j.Namespace)">build</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument,
+      <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SchemaParser()"><!-- --></A><H3>
+SchemaParser</H3>
+<PRE>
+public <B>SchemaParser</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SchemaParser(org.dom4j.datatype.DatatypeDocumentFactory)"><!-- --></A><H3>
+SchemaParser</H3>
+<PRE>
+public <B>SchemaParser</B>(<A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A> documentFactory)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="build(org.dom4j.Document)"><!-- --></A><H3>
+build</H3>
+<PRE>
+public void <B>build</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument)</PRE>
+<DL>
+<DD>Parses the given schema document
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>schemaDocument</CODE> - is the document of the XML Schema</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="build(org.dom4j.Document, org.dom4j.Namespace)"><!-- --></A><H3>
+build</H3>
+<PRE>
+public void <B>build</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> schemaDocument,
+                  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SchemaParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SchemaParser.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/class-use/DatatypeAttribute.html b/docs/apidocs/org/dom4j/datatype/class-use/DatatypeAttribute.html
new file mode 100644
index 0000000..645d12e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/class-use/DatatypeAttribute.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.datatype.DatatypeAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.datatype.DatatypeAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.datatype.DatatypeAttribute</B></H2>
+</CENTER>
+No usage of org.dom4j.datatype.DatatypeAttribute
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/class-use/DatatypeDocumentFactory.html b/docs/apidocs/org/dom4j/datatype/class-use/DatatypeDocumentFactory.html
new file mode 100644
index 0000000..0c07d2b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/class-use/DatatypeDocumentFactory.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.datatype.DatatypeDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.datatype.DatatypeDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.datatype.DatatypeDocumentFactory</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> declared as <A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html#singleton">singleton</A></B></CODE>
+
+<BR>
+          The Singleton instance</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> with parameters of type <A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/datatype/SchemaParser.html#SchemaParser(org.dom4j.datatype.DatatypeDocumentFactory)">SchemaParser</A></B>(<A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/class-use/DatatypeElement.html b/docs/apidocs/org/dom4j/datatype/class-use/DatatypeElement.html
new file mode 100644
index 0000000..df4beee
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/class-use/DatatypeElement.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.datatype.DatatypeElement (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.datatype.DatatypeElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.datatype.DatatypeElement</B></H2>
+</CENTER>
+No usage of org.dom4j.datatype.DatatypeElement
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/class-use/DatatypeElementFactory.html b/docs/apidocs/org/dom4j/datatype/class-use/DatatypeElementFactory.html
new file mode 100644
index 0000000..61be074
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/class-use/DatatypeElementFactory.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.datatype.DatatypeElementFactory (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.datatype.DatatypeElementFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeElementFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.datatype.DatatypeElementFactory</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> that return <A HREF="../../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DatatypeDocumentFactory.</B><B><A HREF="../../../../org/dom4j/datatype/DatatypeDocumentFactory.html#getElementFactory(org.dom4j.QName)">getElementFactory</A></B>(<A HREF="../../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> elementQName)</CODE>
+
+<BR>
+          Registers the given <code>DatatypeElementFactory</code> for the given
+ <element> schema element</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DatatypeElementFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/class-use/InvalidSchemaException.html b/docs/apidocs/org/dom4j/datatype/class-use/InvalidSchemaException.html
new file mode 100644
index 0000000..bbbca3a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/class-use/InvalidSchemaException.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.datatype.InvalidSchemaException (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.datatype.InvalidSchemaException (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InvalidSchemaException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.datatype.InvalidSchemaException</B></H2>
+</CENTER>
+No usage of org.dom4j.datatype.InvalidSchemaException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InvalidSchemaException.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/class-use/SchemaParser.html b/docs/apidocs/org/dom4j/datatype/class-use/SchemaParser.html
new file mode 100644
index 0000000..9ba5ef5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/class-use/SchemaParser.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.datatype.SchemaParser (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.datatype.SchemaParser (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SchemaParser.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.datatype.SchemaParser</B></H2>
+</CENTER>
+No usage of org.dom4j.datatype.SchemaParser
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SchemaParser.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/package-frame.html b/docs/apidocs/org/dom4j/datatype/package-frame.html
new file mode 100644
index 0000000..5456640
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/package-frame.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.datatype (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.datatype package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/datatype/package-summary.html" target="classFrame">org.dom4j.datatype</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DatatypeAttribute.html" title="class in org.dom4j.datatype" target="classFrame">DatatypeAttribute</A>
+<BR>
+<A HREF="DatatypeDocumentFactory.html" title="class in org.dom4j.datatype" target="classFrame">DatatypeDocumentFactory</A>
+<BR>
+<A HREF="DatatypeElement.html" title="class in org.dom4j.datatype" target="classFrame">DatatypeElement</A>
+<BR>
+<A HREF="DatatypeElementFactory.html" title="class in org.dom4j.datatype" target="classFrame">DatatypeElementFactory</A>
+<BR>
+<A HREF="SchemaParser.html" title="class in org.dom4j.datatype" target="classFrame">SchemaParser</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="InvalidSchemaException.html" title="class in org.dom4j.datatype" target="classFrame">InvalidSchemaException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/package-summary.html b/docs/apidocs/org/dom4j/datatype/package-summary.html
new file mode 100644
index 0000000..5065d6c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/package-summary.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.datatype (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.datatype package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.datatype (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/dom/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.datatype
+</H2>
+An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification.
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A></B></TD>
+<TD>
+ <code>DatatypeAttribute</code> represents an Attribute which supports the
+ <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">DatatypeDocumentFactory</A></B></TD>
+<TD>
+ <code>DatatypeDocumentFactory</code> is a factory of XML objects which
+ support the <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types
+ </a> specification.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A></B></TD>
+<TD>
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">DatatypeElementFactory</A></B></TD>
+<TD>
+ <code>DatatypeElementFactory</code> is a factory for a specific Element in
+ an XML Schema.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype">SchemaParser</A></B></TD>
+<TD>
+ <code>SchemaParser</code> reads an XML Schema Document.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype">InvalidSchemaException</A></B></TD>
+<TD>
+ <code>InvalidSchemaException</code> is thrown when an invalid XML Schema
+ document is used
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.datatype Description
+</H2>
+
+<P>
+<p>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification.</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/dom/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/package-tree.html b/docs/apidocs/org/dom4j/datatype/package-tree.html
new file mode 100644
index 0000000..9264887
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/package-tree.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.datatype Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.datatype Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/dom/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.datatype
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>AbstractNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interfa [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><B>AbstractAttribute</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.datatype.<A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype"><B>DatatypeAttribute</B></A> (implements com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.ValidationContext)
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>AbstractBranch</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>AbstractElement</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>DefaultElement</B></A><UL>
+<LI TYPE="circle">class org.dom4j.datatype.<A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype"><B>DatatypeElement</B></A> (implements com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.ValidationContext)
+</UL>
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><B>DocumentFactory</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.datatype.<A HREF="../../../org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype"><B>DatatypeDocumentFactory</B></A><LI TYPE="circle">class org.dom4j.datatype.<A HREF="../../../org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype"><B>DatatypeElementFactory</B></A></UL>
+<LI TYPE="circle">class org.dom4j.datatype.<A HREF="../../../org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype"><B>SchemaParser</B></A><LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang"><B>RuntimeException</B></A><UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang"><B>IllegalArgumentException</B></A><UL>
+<LI TYPE="circle">class org.dom4j.datatype.<A HREF="../../../org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype"><B>InvalidSchemaException</B></A></UL>
+</UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/bean/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/dom/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/datatype/package-use.html b/docs/apidocs/org/dom4j/datatype/package-use.html
new file mode 100644
index 0000000..23da930
--- /dev/null
+++ b/docs/apidocs/org/dom4j/datatype/package-use.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.datatype (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.datatype (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.datatype</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A> used by <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/datatype/class-use/DatatypeDocumentFactory.html#org.dom4j.datatype"><B>DatatypeDocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>DatatypeDocumentFactory</code> is a factory of XML objects which
+ support the <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types
+ </a> specification.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/datatype/class-use/DatatypeElementFactory.html#org.dom4j.datatype"><B>DatatypeElementFactory</B></A></B>
+
+<BR>
+          
+ <code>DatatypeElementFactory</code> is a factory for a specific Element in
+ an XML Schema.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMAttribute.html b/docs/apidocs/org/dom4j/dom/DOMAttribute.html
new file mode 100644
index 0000000..897a4b8
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMAttribute.html
@@ -0,0 +1,1026 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMAttribute class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightAttribute">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMAttribute</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractAttribute</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightAttribute</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultAttribute</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMAttribute</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A>, <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMAttribute</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></DL>
+
+<P>
+<p>
+ <code>DOMAttribute</code> implements a doubly linked attribute which
+ supports the W3C DOM API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.14 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMAttribute">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#value">value</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">DOMAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+             <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.QName)">DOMAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#DOMAttribute(org.dom4j.QName, java.lang.String)">DOMAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+          
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getOwnerElement()">getOwnerElement</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#getSpecified()">getSpecified</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/tree/DefaultAttribute.html#isReadOnly()">isReadOnly</A>, <A HREF="../../../org/dom4j/tree/DefaultAttribute.html#setParent(org.dom4j.Element)">setParent</A>, <A HREF="../../../org/dom4j/tree/DefaultAttribute.html#setValue(java.lang.String)">setValue</A>, <A HREF="../../../org/dom4j/tree/DefaultAttribute.html#supportsParent()">supportsParent</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#getQName()">getQName</A>, <A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#getValue()">getValue</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getData()">getData</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/A [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Attr"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html#getName()" title="class or interface in org.w3c.dom">getName</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html#getValue()" title="class or interface in org.w3c.dom">getValue</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html#setValue(java.lang.String)" title="class or interface in org.w3c.dom">setValue</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMAttribute(org.dom4j.QName)"><!-- --></A><H3>
+DOMAttribute</H3>
+<PRE>
+public <B>DOMAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMAttribute(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+DOMAttribute</H3>
+<PRE>
+public <B>DOMAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+DOMAttribute</H3>
+<PRE>
+public <B>DOMAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                    <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getNamespaceURI()">getNamespaceURI</A></CODE> in c [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSpecified()"><!-- --></A><H3>
+getSpecified</H3>
+<PRE>
+public boolean <B>getSpecified</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html#getSpecified()" title="class or interface in org.w3c.dom">getSpecified</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerElement()"><!-- --></A><H3>
+getOwnerElement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A> <B>getOwnerElement</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html#getOwnerElement()" title="class or interface in org.w3c.dom">getOwnerElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightAttribute">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMAttributeNodeMap.html b/docs/apidocs/org/dom4j/dom/DOMAttributeNodeMap.html
new file mode 100644
index 0000000..128034f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMAttributeNodeMap.html
@@ -0,0 +1,467 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMAttributeNodeMap (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMAttributeNodeMap class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMAttributeNodeMap (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMAttributeNodeMap.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMAttributeNodeMap.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMAttributeNodeMap</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMAttributeNodeMap</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMAttributeNodeMap</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></DL>
+
+<P>
+<p>
+ <code>DOMAttributeNodeMap</code> implements a W3C NameNodeMap for the
+ attributes of an element.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#DOMAttributeNodeMap(org.dom4j.dom.DOMElement)">DOMAttributeNodeMap</A></B>(<A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#foo()">foo</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#getLength()">getLength</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#getNamedItem(java.lang.String)">getNamedItem</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#getNamedItemNS(java.lang.String, java.lang.String)">getNamedItemNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#item(int)">item</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#removeNamedItem(java.lang.String)">removeNamedItem</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#removeNamedItemNS(java.lang.String, java.lang.String)">removeNamedItemNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#setNamedItem(org.w3c.dom.Node)">setNamedItem</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html#setNamedItemNS(org.w3c.dom.Node)">setNamedItemNS</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMAttributeNodeMap(org.dom4j.dom.DOMElement)"><!-- --></A><H3>
+DOMAttributeNodeMap</H3>
+<PRE>
+public <B>DOMAttributeNodeMap</B>(<A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> element)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="foo()"><!-- --></A><H3>
+foo</H3>
+<PRE>
+public void <B>foo</B>()
+         throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamedItem(java.lang.String)"><!-- --></A><H3>
+getNamedItem</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNamedItem</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html#getNamedItem(java.lang.String)" title="class or interface in org.w3c.dom">getNamedItem</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNamedItem(org.w3c.dom.Node)"><!-- --></A><H3>
+setNamedItem</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>setNamedItem</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> arg)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html#setNamedItem(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">setNamedItem</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeNamedItem(java.lang.String)"><!-- --></A><H3>
+removeNamedItem</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeNamedItem</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                     throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html#removeNamedItem(java.lang.String)" title="class or interface in org.w3c.dom">removeNamedItem</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="item(int)"><!-- --></A><H3>
+item</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>item</B>(int index)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html#item(int)" title="class or interface in org.w3c.dom">item</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLength()"><!-- --></A><H3>
+getLength</H3>
+<PRE>
+public int <B>getLength</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html#getLength()" title="class or interface in org.w3c.dom">getLength</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamedItemNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getNamedItemNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNamedItemNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html#getNamedItemNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">getNamedItemNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNamedItemNS(org.w3c.dom.Node)"><!-- --></A><H3>
+setNamedItemNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>setNamedItemNS</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> arg)
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html#setNamedItemNS(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">setNamedItemNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeNamedItemNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+removeNamedItemNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeNamedItemNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)
+                       throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html#removeNamedItemNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">removeNamedItemNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMAttributeNodeMap.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMAttributeNodeMap.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMCDATA.html b/docs/apidocs/org/dom4j/dom/DOMCDATA.html
new file mode 100644
index 0000000..d45b5e1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMCDATA.html
@@ -0,0 +1,1219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMCDATA (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMCDATA class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMCDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMCDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightCDATA">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMCDATA</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCDATA</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightCDATA</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultCDATA</A>
+                      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMCDATA</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CDATASection.html" title="class or interface in org.w3c.dom">CDATASection</A>, <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMCDATA</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CDATASection.html" title="class or interface in org.w3c.dom">CDATASection</A></DL>
+
+<P>
+<p>
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.12 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMCDATA">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#text">text</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#DOMCDATA(org.dom4j.Element, java.lang.String)">DOMCDATA</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#DOMCDATA(java.lang.String)">DOMCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#appendData(java.lang.String)">appendData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#deleteData(int, int)">deleteData</A></B>(int offset,
+           int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getLength()">getLength</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#insertData(int, java.lang.String)">insertData</A></B>(int offset,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#replaceData(int, int, java.lang.String)">replaceData</A></B>(int offset,
+            int count,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#setData(java.lang.String)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#splitText(int)">splitText</A></B>(int offset)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#substringData(int, int)">substringData</A></B>(int offset,
+              int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/tree/DefaultCDATA.html#isReadOnly()">isReadOnly</A>, <A HREF="../../../org/dom4j/tree/DefaultCDATA.html#setParent(org.dom4j.Element)">setParent</A>, <A HREF="../../../org/dom4j/tree/DefaultCDATA.html#setText(java.lang.String)">setText</A>, <A HREF="../../../org/dom4j/tree/DefaultCDATA.html#supportsParent()">supportsParent</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#getText()">getText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#toString()">toString</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#write(java.io.Writer)">write</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMCDATA(java.lang.String)"><!-- --></A><H3>
+DOMCDATA</H3>
+<PRE>
+public <B>DOMCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMCDATA(org.dom4j.Element, java.lang.String)"><!-- --></A><H3>
+DOMCDATA</H3>
+<PRE>
+public <B>DOMCDATA</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getData</B>()
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#getData()" title="class or interface in org.w3c.dom">getData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.String)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#setData(java.lang.String)" title="class or interface in org.w3c.dom">setData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLength()"><!-- --></A><H3>
+getLength</H3>
+<PRE>
+public int <B>getLength</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#getLength()" title="class or interface in org.w3c.dom">getLength</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="substringData(int, int)"><!-- --></A><H3>
+substringData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>substringData</B>(int offset,
+                            int count)
+                     throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#substringData(int, int)" title="class or interface in org.w3c.dom">substringData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendData(java.lang.String)"><!-- --></A><H3>
+appendData</H3>
+<PRE>
+public void <B>appendData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#appendData(java.lang.String)" title="class or interface in org.w3c.dom">appendData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertData(int, java.lang.String)"><!-- --></A><H3>
+insertData</H3>
+<PRE>
+public void <B>insertData</B>(int offset,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#insertData(int, java.lang.String)" title="class or interface in org.w3c.dom">insertData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="deleteData(int, int)"><!-- --></A><H3>
+deleteData</H3>
+<PRE>
+public void <B>deleteData</B>(int offset,
+                       int count)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#deleteData(int, int)" title="class or interface in org.w3c.dom">deleteData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceData(int, int, java.lang.String)"><!-- --></A><H3>
+replaceData</H3>
+<PRE>
+public void <B>replaceData</B>(int offset,
+                        int count,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#replaceData(int, int, java.lang.String)" title="class or interface in org.w3c.dom">replaceData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="splitText(int)"><!-- --></A><H3>
+splitText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A> <B>splitText</B>(int offset)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html#splitText(int)" title="class or interface in org.w3c.dom">splitText</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCDATA(java.lang.String)"><!-- --></A><H3>
+createCDATA</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> <B>createCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMCDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightCDATA">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMComment.html b/docs/apidocs/org/dom4j/dom/DOMComment.html
new file mode 100644
index 0000000..e040f4b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMComment.html
@@ -0,0 +1,1171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:22 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMComment (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMComment class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMComment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMComment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightComment">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMComment</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractComment</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightComment</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultComment</A>
+                      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMComment</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">C [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMComment</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Comment.html" title="class or interface in org.w3c.dom">Comment</A></DL>
+
+<P>
+<p>
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.12 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMComment">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightComment.html#text">text</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#DOMComment(org.dom4j.Element, java.lang.String)">DOMComment</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#DOMComment(java.lang.String)">DOMComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#appendData(java.lang.String)">appendData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#deleteData(int, int)">deleteData</A></B>(int offset,
+           int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getLength()">getLength</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#insertData(int, java.lang.String)">insertData</A></B>(int offset,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#replaceData(int, int, java.lang.String)">replaceData</A></B>(int offset,
+            int count,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#setData(java.lang.String)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#substringData(int, int)">substringData</A></B>(int offset,
+              int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMComment.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultComment.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/tree/DefaultComment.html#isReadOnly()">isReadOnly</A>, <A HREF="../../../org/dom4j/tree/DefaultComment.html#setParent(org.dom4j.Element)">setParent</A>, <A HREF="../../../org/dom4j/tree/DefaultComment.html#setText(java.lang.String)">setText</A>, <A HREF="../../../org/dom4j/tree/DefaultComment.html#supportsParent()">supportsParent</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightComment.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightComment.html#getText()">getText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractComment.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#getUniquePath(org.dom4j.Element)">getUniquePath</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMComment(java.lang.String)"><!-- --></A><H3>
+DOMComment</H3>
+<PRE>
+public <B>DOMComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMComment(org.dom4j.Element, java.lang.String)"><!-- --></A><H3>
+DOMComment</H3>
+<PRE>
+public <B>DOMComment</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getData</B>()
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#getData()" title="class or interface in org.w3c.dom">getData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.String)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#setData(java.lang.String)" title="class or interface in org.w3c.dom">setData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLength()"><!-- --></A><H3>
+getLength</H3>
+<PRE>
+public int <B>getLength</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#getLength()" title="class or interface in org.w3c.dom">getLength</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="substringData(int, int)"><!-- --></A><H3>
+substringData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>substringData</B>(int offset,
+                            int count)
+                     throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#substringData(int, int)" title="class or interface in org.w3c.dom">substringData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendData(java.lang.String)"><!-- --></A><H3>
+appendData</H3>
+<PRE>
+public void <B>appendData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#appendData(java.lang.String)" title="class or interface in org.w3c.dom">appendData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertData(int, java.lang.String)"><!-- --></A><H3>
+insertData</H3>
+<PRE>
+public void <B>insertData</B>(int offset,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#insertData(int, java.lang.String)" title="class or interface in org.w3c.dom">insertData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="deleteData(int, int)"><!-- --></A><H3>
+deleteData</H3>
+<PRE>
+public void <B>deleteData</B>(int offset,
+                       int count)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#deleteData(int, int)" title="class or interface in org.w3c.dom">deleteData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceData(int, int, java.lang.String)"><!-- --></A><H3>
+replaceData</H3>
+<PRE>
+public void <B>replaceData</B>(int offset,
+                        int count,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#replaceData(int, int, java.lang.String)" title="class or interface in org.w3c.dom">replaceData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMComment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightComment">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMDocument.html b/docs/apidocs/org/dom4j/dom/DOMDocument.html
new file mode 100644
index 0000000..97b36e1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMDocument.html
@@ -0,0 +1,1441 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMDocument (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMDocument class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMDocument (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMDocument.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.DefaultDocument">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMDocument</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractDocument</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultDocument</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMDocument</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A>, <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A>, <A HREF=". [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMDocument</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></DL>
+
+<P>
+<p>
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.17 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMDocument">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.DefaultDocument"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultDocument.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A>, <A HREF="../../../org/dom4j/tree/DefaultDocument.html#EMPTY_LIST">EMPTY_LIST</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractDocument"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractDocument.html#encoding">encoding</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#DOMDocument()">DOMDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMDocumentType)">DOMDocument</A></B>(<A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMElement)">DOMDocument</A></B>(<A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)">DOMDocument</A></B>(<A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement,
+            <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#DOMDocument(java.lang.String)">DOMDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#DOMDocument(java.lang.String, org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)">DOMDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement,
+            <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createAttribute(java.lang.String)">createAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createAttributeNS(java.lang.String, java.lang.String)">createAttributeNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CDATASection.html" title="class or interface in org.w3c.dom">CDATASection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createCDATASection(java.lang.String)">createCDATASection</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Comment.html" title="class or interface in org.w3c.dom">Comment</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createComment(java.lang.String)">createComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentFragment.html" title="class or interface in org.w3c.dom">DocumentFragment</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createDocumentFragment()">createDocumentFragment</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createElementNS(java.lang.String, java.lang.String)">createElementNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/EntityReference.html" title="class or interface in org.w3c.dom">EntityReference</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createEntityReference(java.lang.String)">createEntityReference</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html" title="class or interface in org.w3c.dom">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#createTextNode(java.lang.String)">createTextNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getDoctype()">getDoctype</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getDocumentElement()">getDocumentElement</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getElementById(java.lang.String)">getElementById</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getElementsByTagName(java.lang.String)">getElementsByTagName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getElementsByTagNameNS(java.lang.String, java.lang.String)">getElementsByTagNameNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getImplementation()">getImplementation</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#importNode(org.w3c.dom.Node, boolean)">importNode</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> importedNode,
+           boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocument.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultDocument"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultDocument.html#addDocType(java.lang.String, java.lang.String, java.lang.String)">addDocType</A>, <A HREF="../../../org/dom4j/tree/DefaultDocument.html#addNode(int, org.dom4j.Node)">addNode</A>, <A HREF="../../../org/dom4j/tree/DefaultDocument.html#addNode(org.dom4j.Node)">addNode</A>, <A HREF="../../../org/dom4j/tree/DefaultDocument.html#clearContent()">clearContent</A>, <A HREF="../../../org/dom4j/tree/DefaultDocument.html#clone()">clone< [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractDocument"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractDocument.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractDocument.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractDocument.html#addComment(java.lang.String)">addComment</A>, <A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(java.lang.String)">addElement</A> [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Node)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.ProcessingInstruction)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.B [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#detach [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Node)">add</A>, <A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)">add</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF= [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getText()">getText</A>, <A HREF="../../../org/dom4j/Node.html#getUniquePath()">getUniquePath [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMDocument()"><!-- --></A><H3>
+DOMDocument</H3>
+<PRE>
+public <B>DOMDocument</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMDocument(java.lang.String)"><!-- --></A><H3>
+DOMDocument</H3>
+<PRE>
+public <B>DOMDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMDocument(org.dom4j.dom.DOMElement)"><!-- --></A><H3>
+DOMDocument</H3>
+<PRE>
+public <B>DOMDocument</B>(<A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMDocument(org.dom4j.dom.DOMDocumentType)"><!-- --></A><H3>
+DOMDocument</H3>
+<PRE>
+public <B>DOMDocument</B>(<A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMDocument(org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)"><!-- --></A><H3>
+DOMDocument</H3>
+<PRE>
+public <B>DOMDocument</B>(<A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement,
+                   <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMDocument(java.lang.String, org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)"><!-- --></A><H3>
+DOMDocument</H3>
+<PRE>
+public <B>DOMDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement,
+                   <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementsByTagName(java.lang.String)"><!-- --></A><H3>
+getElementsByTagName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getElementsByTagName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#getElementsByTagName(java.lang.String)" title="class or interface in org.w3c.dom">getElementsByTagName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementsByTagNameNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getElementsByTagNameNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getElementsByTagNameNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+                                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#getElementsByTagNameNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">getElementsByTagNameNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDoctype()"><!-- --></A><H3>
+getDoctype</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A> <B>getDoctype</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#getDoctype()" title="class or interface in org.w3c.dom">getDoctype</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getImplementation()"><!-- --></A><H3>
+getImplementation</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A> <B>getImplementation</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#getImplementation()" title="class or interface in org.w3c.dom">getImplementation</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentElement()"><!-- --></A><H3>
+getDocumentElement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A> <B>getDocumentElement</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#getDocumentElement()" title="class or interface in org.w3c.dom">getDocumentElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(java.lang.String)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A> <B>createElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                      throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createElement(java.lang.String)" title="class or interface in org.w3c.dom">createElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocumentFragment()"><!-- --></A><H3>
+createDocumentFragment</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentFragment.html" title="class or interface in org.w3c.dom">DocumentFragment</A> <B>createDocumentFragment</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createDocumentFragment()" title="class or interface in org.w3c.dom">createDocumentFragment</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTextNode(java.lang.String)"><!-- --></A><H3>
+createTextNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A> <B>createTextNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createTextNode(java.lang.String)" title="class or interface in org.w3c.dom">createTextNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createComment(java.lang.String)"><!-- --></A><H3>
+createComment</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Comment.html" title="class or interface in org.w3c.dom">Comment</A> <B>createComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createComment(java.lang.String)" title="class or interface in org.w3c.dom">createComment</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCDATASection(java.lang.String)"><!-- --></A><H3>
+createCDATASection</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CDATASection.html" title="class or interface in org.w3c.dom">CDATASection</A> <B>createCDATASection</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+                                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createCDATASection(java.lang.String)" title="class or interface in org.w3c.dom">createCDATASection</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html" title="class or interface in org.w3c.dom">ProcessingInstruction</A> <B>createProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+                                                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createProcessingInstruction(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">createProcessingInstruction</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> <B>createAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                     throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createAttribute(java.lang.String)" title="class or interface in org.w3c.dom">createAttribute</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEntityReference(java.lang.String)"><!-- --></A><H3>
+createEntityReference</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/EntityReference.html" title="class or interface in org.w3c.dom">EntityReference</A> <B>createEntityReference</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                                      throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createEntityReference(java.lang.String)" title="class or interface in org.w3c.dom">createEntityReference</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="importNode(org.w3c.dom.Node, boolean)"><!-- --></A><H3>
+importNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>importNode</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> importedNode,
+                       boolean deep)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#importNode(org.w3c.dom.Node, boolean)" title="class or interface in org.w3c.dom">importNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElementNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createElementNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A> <B>createElementNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createElementNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">createElementNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttributeNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createAttributeNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> <B>createAttributeNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)
+                       throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#createAttributeNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">createAttributeNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementById(java.lang.String)"><!-- --></A><H3>
+getElementById</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A> <B>getElementById</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementId)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html#getElementById(java.lang.String)" title="class or interface in org.w3c.dom">getElementById</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getDocumentFactory()">getDocumentFactory</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMDocument.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.DefaultDocument">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMDocumentFactory.html b/docs/apidocs/org/dom4j/dom/DOMDocumentFactory.html
new file mode 100644
index 0000000..ee7a8aa
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMDocumentFactory.html
@@ -0,0 +1,713 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMDocumentFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.DocumentFactory">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMDocumentFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">org.dom4j.DocumentFactory</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMDocumentFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMDocumentFactory</B><DT>extends <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A></DL>
+
+<P>
+<p>
+ <code>DOMDocumentFactory</code> is a factory of DOM4J objects which
+ implement the W3C DOM API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.21 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMDocumentFactory">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#cache">cache</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#DOMDocumentFactory()">DOMDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#asDocumentType(org.w3c.dom.DocumentType)">asDocumentType</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createComment(java.lang.String)">createComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createDocument(java.lang.String, java.lang.String, org.w3c.dom.DocumentType)">createDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+               <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createDocumentType(java.lang.String, java.lang.String, java.lang.String)">createDocumentType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createElement(org.dom4j.QName, int)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+              int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createEntity(java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createEntity(java.lang.String, java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html#hasFeature(java.lang.String, java.lang.String)">hasFeature</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feat,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createDocument(org.dom4j.Element)">createDocument</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createDocument(java.lang.String)">createDocument</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createElement(java.lang.String)">createElement</A>, <A HREF="../../../org/dom4j/Docu [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMDocumentFactory()"><!-- --></A><H3>
+DOMDocumentFactory</H3>
+<PRE>
+public <B>DOMDocumentFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getInstance()"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getInstance</B>()</PRE>
+<DL>
+<DD><p>
+ Access to the singleton instance of this factory.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default singleon instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocument()"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createDocument()">createDocument</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocType(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createDocType</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> <B>createDocType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName, int)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                             int attributeCount)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                 <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCDATA(java.lang.String)"><!-- --></A><H3>
+createCDATA</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> <B>createCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createComment(java.lang.String)"><!-- --></A><H3>
+createComment</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> <B>createComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createComment(java.lang.String)">createComment</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createText(java.lang.String)"><!-- --></A><H3>
+createText</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> <B>createText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createText(java.lang.String)">createText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEntity(java.lang.String)"><!-- --></A><H3>
+createEntity</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> <B>createEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createEntity</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> <B>createEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createEntity(java.lang.String, java.lang.String)">createEntity</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>createNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>createProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>createProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)">createProcessingInstruction</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasFeature(java.lang.String, java.lang.String)"><!-- --></A><H3>
+hasFeature</H3>
+<PRE>
+public boolean <B>hasFeature</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feat,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html#hasFeature(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">hasFeature</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocumentType(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createDocumentType</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A> <B>createDocumentType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+                                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html#createDocumentType(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">createDocumentType</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocument(java.lang.String, java.lang.String, org.w3c.dom.DocumentType)"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>createDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                               <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A> docType)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html#createDocument(java.lang.String, java.lang.String, org.w3c.dom.DocumentType)" title="class or interface in org.w3c.dom">createDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asDocumentType(org.w3c.dom.DocumentType)"><!-- --></A><H3>
+asDocumentType</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> <B>asDocumentType</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A> docType)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.DocumentFactory">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMDocumentType.html b/docs/apidocs/org/dom4j/dom/DOMDocumentType.html
new file mode 100644
index 0000000..4361c52
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMDocumentType.html
@@ -0,0 +1,1073 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMDocumentType (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMDocumentType class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMDocumentType (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMDocumentType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.DefaultDocumentType">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMDocumentType</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractDocumentType</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultDocumentType</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMDocumentType</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMDocumentType</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></DL>
+
+<P>
+<p>
+ <code>DOMDocumentType</code> implements a DocumentType node which supports
+ the W3C DOM API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.11 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMDocumentType">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.DefaultDocumentType"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#elementName">elementName</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#DOMDocumentType()">DOMDocumentType</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#DOMDocumentType(java.lang.String, java.lang.String)">DOMDocumentType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#DOMDocumentType(java.lang.String, java.lang.String, java.lang.String)">DOMDocumentType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getEntities()">getEntities</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getInternalSubset()">getInternalSubset</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getNotations()">getNotations</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getPublicId()">getPublicId</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#getSystemId()">getSystemId</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultDocumentType"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getElementName()">getElementName</A>, <A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getExternalDeclarations()">getExternalDeclarations</A>, <A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getInternalDeclarations()">getInternalDeclarations</A>, <A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getPublicID()">getPublicID</A>, <A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getSystemI [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractDocumentType"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tre [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.DocumentType"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html#getName()" title="class or interface in org.w3c.dom">getName</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMDocumentType()"><!-- --></A><H3>
+DOMDocumentType</H3>
+<PRE>
+public <B>DOMDocumentType</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMDocumentType(java.lang.String, java.lang.String)"><!-- --></A><H3>
+DOMDocumentType</H3>
+<PRE>
+public <B>DOMDocumentType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMDocumentType(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+DOMDocumentType</H3>
+<PRE>
+public <B>DOMDocumentType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEntities()"><!-- --></A><H3>
+getEntities</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getEntities</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html#getEntities()" title="class or interface in org.w3c.dom">getEntities</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNotations()"><!-- --></A><H3>
+getNotations</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getNotations</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html#getNotations()" title="class or interface in org.w3c.dom">getNotations</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPublicId()"><!-- --></A><H3>
+getPublicId</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPublicId</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html#getPublicId()" title="class or interface in org.w3c.dom">getPublicId</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSystemId()"><!-- --></A><H3>
+getSystemId</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSystemId</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html#getSystemId()" title="class or interface in org.w3c.dom">getSystemId</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInternalSubset()"><!-- --></A><H3>
+getInternalSubset</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getInternalSubset</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html#getInternalSubset()" title="class or interface in org.w3c.dom">getInternalSubset</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMDocumentType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.DefaultDocumentType">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMElement.html b/docs/apidocs/org/dom4j/dom/DOMElement.html
new file mode 100644
index 0000000..af251a2
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMElement.html
@@ -0,0 +1,1493 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMElement (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMElement class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMElement</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractElement</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultElement</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMElement</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A>, <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>, <A HREF="../.. [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMElement</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></DL>
+
+<P>
+<p>
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.23 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMElement">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_LIST">EMPTY_LIST</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#DOMElement(org.dom4j.QName)">DOMElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#DOMElement(org.dom4j.QName, int)">DOMElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+           int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#DOMElement(java.lang.String)">DOMElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#DOMElement(java.lang.String, org.dom4j.Namespace)">DOMElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#attribute(org.w3c.dom.Attr)">attribute</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> attr)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#attribute(java.lang.String, java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#createAttribute(org.w3c.dom.Attr)">createAttribute</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> newAttr)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getAttribute(java.lang.String)">getAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getAttributeNode(java.lang.String)">getAttributeNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getAttributeNodeNS(java.lang.String, java.lang.String)">getAttributeNodeNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getAttributeNS(java.lang.String, java.lang.String)">getAttributeNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getElementsByTagName(java.lang.String)">getElementsByTagName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getElementsByTagNameNS(java.lang.String, java.lang.String)">getElementsByTagNameNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> lName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+          
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getQName(java.lang.String, java.lang.String)">getQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#getTagName()">getTagName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#hasAttribute(java.lang.String)">hasAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#hasAttributeNS(java.lang.String, java.lang.String)">hasAttributeNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#removeAttribute(java.lang.String)">removeAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#removeAttributeNode(org.w3c.dom.Attr)">removeAttributeNode</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> oldAttr)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#removeAttributeNS(java.lang.String, java.lang.String)">removeAttributeNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#setAttribute(java.lang.String, java.lang.String)">setAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#setAttributeNode(org.w3c.dom.Attr)">setAttributeNode</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> newAttr)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#setAttributeNodeNS(org.w3c.dom.Attr)">setAttributeNodeNS</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> newAttr)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#setAttributeNS(java.lang.String, java.lang.String, java.lang.String)">setAttributeNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMElement.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#add(org.dom4j.Attribute)">add</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces()">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces(java.lang.String)">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#addNewNode(org.dom4j.Node)">addNewNode</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(int)">attrib [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Entity)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractEle [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathRes [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Element"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF="../../../org/dom4j/Branch.html#setProces [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getUniquePath()">getUniquePath</A>, <A HREF="../../../org/dom4j/Nod [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMElement(java.lang.String)"><!-- --></A><H3>
+DOMElement</H3>
+<PRE>
+public <B>DOMElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMElement(org.dom4j.QName)"><!-- --></A><H3>
+DOMElement</H3>
+<PRE>
+public <B>DOMElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMElement(org.dom4j.QName, int)"><!-- --></A><H3>
+DOMElement</H3>
+<PRE>
+public <B>DOMElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                  int attributeCount)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMElement(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+DOMElement</H3>
+<PRE>
+public <B>DOMElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespaceURI()">getNamespaceURI</A></CODE> in cla [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTagName()"><!-- --></A><H3>
+getTagName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getTagName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#getTagName()" title="class or interface in org.w3c.dom">getTagName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
+getAttribute</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#getAttribute(java.lang.String)" title="class or interface in org.w3c.dom">getAttribute</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttribute(java.lang.String, java.lang.String)"><!-- --></A><H3>
+setAttribute</H3>
+<PRE>
+public void <B>setAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#setAttribute(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">setAttribute</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttribute(java.lang.String)"><!-- --></A><H3>
+removeAttribute</H3>
+<PRE>
+public void <B>removeAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                     throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#removeAttribute(java.lang.String)" title="class or interface in org.w3c.dom">removeAttribute</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeNode(java.lang.String)"><!-- --></A><H3>
+getAttributeNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> <B>getAttributeNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#getAttributeNode(java.lang.String)" title="class or interface in org.w3c.dom">getAttributeNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeNode(org.w3c.dom.Attr)"><!-- --></A><H3>
+setAttributeNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> <B>setAttributeNode</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> newAttr)
+                      throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#setAttributeNode(org.w3c.dom.Attr)" title="class or interface in org.w3c.dom">setAttributeNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttributeNode(org.w3c.dom.Attr)"><!-- --></A><H3>
+removeAttributeNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> <B>removeAttributeNode</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> oldAttr)
+                         throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#removeAttributeNode(org.w3c.dom.Attr)" title="class or interface in org.w3c.dom">removeAttributeNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getAttributeNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttributeNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#getAttributeNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">getAttributeNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeNS(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+setAttributeNS</H3>
+<PRE>
+public void <B>setAttributeNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#setAttributeNS(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">setAttributeNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttributeNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+removeAttributeNS</H3>
+<PRE>
+public void <B>removeAttributeNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)
+                       throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#removeAttributeNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">removeAttributeNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeNodeNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getAttributeNodeNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> <B>getAttributeNodeNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#getAttributeNodeNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">getAttributeNodeNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeNodeNS(org.w3c.dom.Attr)"><!-- --></A><H3>
+setAttributeNodeNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> <B>setAttributeNodeNS</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> newAttr)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#setAttributeNodeNS(org.w3c.dom.Attr)" title="class or interface in org.w3c.dom">setAttributeNodeNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementsByTagName(java.lang.String)"><!-- --></A><H3>
+getElementsByTagName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getElementsByTagName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#getElementsByTagName(java.lang.String)" title="class or interface in org.w3c.dom">getElementsByTagName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementsByTagNameNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getElementsByTagNameNS</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getElementsByTagNameNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+                                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> lName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#getElementsByTagNameNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">getElementsByTagNameNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttribute(java.lang.String)"><!-- --></A><H3>
+hasAttribute</H3>
+<PRE>
+public boolean <B>hasAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#hasAttribute(java.lang.String)" title="class or interface in org.w3c.dom">hasAttribute</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributeNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
+hasAttributeNS</H3>
+<PRE>
+public boolean <B>hasAttributeNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html#hasAttributeNS(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">hasAttributeNS</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#getDocumentFactory()">getDocumentFactory</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(org.w3c.dom.Attr)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> attr)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(java.lang.String, java.lang.String)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.w3c.dom.Attr)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> newAttr)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMEntityReference.html b/docs/apidocs/org/dom4j/dom/DOMEntityReference.html
new file mode 100644
index 0000000..2c260dd
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMEntityReference.html
@@ -0,0 +1,964 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMEntityReference (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMEntityReference class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMEntityReference (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMEntityReference.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMEntityReference.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightEntity">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMEntityReference</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractEntity</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightEntity</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultEntity</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMEntityReference</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/EntityReference.html" title="class or interface in org.w3c.dom">EntityReference</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A H [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMEntityReference</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/EntityReference.html" title="class or interface in org.w3c.dom">EntityReference</A></DL>
+
+<P>
+<p>
+ <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.12 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMEntityReference">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#name">name</A>, <A HREF="../../../org/dom4j/tree/FlyweightEntity.html#text">text</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#DOMEntityReference(org.dom4j.Element, java.lang.String, java.lang.String)">DOMEntityReference</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#DOMEntityReference(java.lang.String)">DOMEntityReference</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#DOMEntityReference(java.lang.String, java.lang.String)">DOMEntityReference</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultEntity.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/tree/DefaultEntity.html#isReadOnly()">isReadOnly</A>, <A HREF="../../../org/dom4j/tree/DefaultEntity.html#setName(java.lang.String)">setName</A>, <A HREF="../../../org/dom4j/tree/DefaultEntity.html#setParent(org.dom4j.Element)">setParent</A>, <A HREF="../../../org/dom4j/tree/DefaultEntity.html#setText(java.lang.String)">setText</A>, <A HREF="../../../org/dom4j/tree/Defaul [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightEntity.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/FlyweightEntity.html#getText()">getText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractEntity.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#getStringValue()">getStringValue</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMEntityReference(java.lang.String)"><!-- --></A><H3>
+DOMEntityReference</H3>
+<PRE>
+public <B>DOMEntityReference</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMEntityReference(java.lang.String, java.lang.String)"><!-- --></A><H3>
+DOMEntityReference</H3>
+<PRE>
+public <B>DOMEntityReference</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMEntityReference(org.dom4j.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+DOMEntityReference</H3>
+<PRE>
+public <B>DOMEntityReference</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMEntityReference.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMEntityReference.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightEntity">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMNamespace.html b/docs/apidocs/org/dom4j/dom/DOMNamespace.html
new file mode 100644
index 0000000..268326e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMNamespace.html
@@ -0,0 +1,909 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMNamespace (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMNamespace class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMNamespace (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMNamespace.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNamespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.Namespace">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMNamespace</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">org.dom4j.Namespace</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultNamespace</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMNamespace</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMNamespace</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></DL>
+
+<P>
+<p>
+ <code>DOMNamespace</code> implements a Namespace that is compatable with
+ the DOM API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMNamespace">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Namespace"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Namespace.html#CACHE">CACHE</A>, <A HREF="../../../org/dom4j/Namespace.html#NO_NAMESPACE">NO_NAMESPACE</A>, <A HREF="../../../org/dom4j/Namespace.html#XML_NAMESPACE">XML_NAMESPACE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#DOMNamespace(org.dom4j.Element, java.lang.String, java.lang.String)">DOMNamespace</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#DOMNamespace(java.lang.String, java.lang.String)">DOMNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultNamespace"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#createHashCode()">createHashCode</A>, <A HREF="../../../org/dom4j/tree/DefaultNamespace.html#equals(java.lang.Object)">equals</A>, <A HREF="../../../org/dom4j/tree/DefaultNamespace.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/tree/DefaultNamespace.html#hashCode()">hashCode</A>, <A HREF="../../../org/dom4j/tree/DefaultNamespace.html#isReadOnly()">isReadOnly</A>, <A HREF="../../../org/dom4j/tree/DefaultNamespa [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Namespace"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Namespace.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Namespace.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Namespace.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/Namespace.html#get(java.lang.String)">get</A>, <A HREF="../../../org/dom4j/Namespace.html#get(java.lang.String, java.lang.String)">get</A>, <A HREF="../../../org/dom4j/Namespace.html#getNodeType()">getNode [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notifyAll()" [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+DOMNamespace</H3>
+<PRE>
+public <B>DOMNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMNamespace(org.dom4j.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+DOMNamespace</H3>
+<PRE>
+public <B>DOMNamespace</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMNamespace.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNamespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.Namespace">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html b/docs/apidocs/org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html
new file mode 100644
index 0000000..4a42177
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html
@@ -0,0 +1,284 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMNodeHelper.EmptyNodeList (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMNodeHelper.EmptyNodeList class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMNodeHelper.EmptyNodeList (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMNodeHelper.EmptyNodeList.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNodeHelper.EmptyNodeList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMNodeHelper.EmptyNodeList</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMNodeHelper.EmptyNodeList</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public static class <B>DOMNodeHelper.EmptyNodeList</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></DL>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html#DOMNodeHelper.EmptyNodeList()">DOMNodeHelper.EmptyNodeList</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html#getLength()">getLength</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html#item(int)">item</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMNodeHelper.EmptyNodeList()"><!-- --></A><H3>
+DOMNodeHelper.EmptyNodeList</H3>
+<PRE>
+public <B>DOMNodeHelper.EmptyNodeList</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="item(int)"><!-- --></A><H3>
+item</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>item</B>(int index)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html#item(int)" title="class or interface in org.w3c.dom">item</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLength()"><!-- --></A><H3>
+getLength</H3>
+<PRE>
+public int <B>getLength</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html#getLength()" title="class or interface in org.w3c.dom">getLength</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMNodeHelper.EmptyNodeList.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNodeHelper.EmptyNodeList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMNodeHelper.html b/docs/apidocs/org/dom4j/dom/DOMNodeHelper.html
new file mode 100644
index 0000000..0ad2b8e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMNodeHelper.html
@@ -0,0 +1,1197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMNodeHelper (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMNodeHelper class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMNodeHelper (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMNodeHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNodeHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMNodeHelper</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMNodeHelper</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>DOMNodeHelper</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>DOMNodeHelper</code> contains a collection of utility methods for use
+ across Node implementations.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.20 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom">DOMNodeHelper.EmptyNodeList</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#EMPTY_NODE_LIST">EMPTY_NODE_LIST</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#DOMNodeHelper()">DOMNodeHelper</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#appendChild(org.dom4j.Node, org.w3c.dom.Node)">appendChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+            <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#appendData(org.dom4j.CharacterData, java.lang.String)">appendData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#appendElementsByTagName(java.util.List, org.dom4j.Branch, java.lang.String)">appendElementsByTagName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                        <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#appendElementsByTagNameNS(java.util.List, org.dom4j.Branch, java.lang.String, java.lang.String)">appendElementsByTagNameNS</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                          <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMAttr(org.dom4j.Node)">asDOMAttr</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMDocument(org.dom4j.Document)">asDOMDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMDocumentType(org.dom4j.DocumentType)">asDOMDocumentType</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> dt)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMElement(org.dom4j.Node)">asDOMElement</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMNode(org.dom4j.Node)">asDOMNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#asDOMText(org.dom4j.CharacterData)">asDOMText</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#cloneNode(org.dom4j.Node, boolean)">cloneNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+          boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#createNodeList(java.util.List)">createNodeList</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#deleteData(org.dom4j.CharacterData, int, int)">deleteData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+           int offset,
+           int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getAttributes(org.dom4j.Node)">getAttributes</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getChildNodes(org.dom4j.Node)">getChildNodes</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getData(org.dom4j.CharacterData)">getData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getFirstChild(org.dom4j.Node)">getFirstChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getLastChild(org.dom4j.Node)">getLastChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getLength(org.dom4j.CharacterData)">getLength</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getLocalName(org.dom4j.Node)">getLocalName</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getNamespaceURI(org.dom4j.Node)">getNamespaceURI</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getNextSibling(org.dom4j.Node)">getNextSibling</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getNodeValue(org.dom4j.Node)">getNodeValue</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getOwnerDocument(org.dom4j.Node)">getOwnerDocument</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getParentNode(org.dom4j.Node)">getParentNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getPrefix(org.dom4j.Node)">getPrefix</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#getPreviousSibling(org.dom4j.Node)">getPreviousSibling</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#hasAttributes(org.dom4j.Node)">hasAttributes</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#hasChildNodes(org.dom4j.Node)">hasChildNodes</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#insertBefore(org.dom4j.Node, org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#insertData(org.dom4j.CharacterData, int, java.lang.String)">insertData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> data,
+           int offset,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#isSupported(org.dom4j.Node, java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#normalize(org.dom4j.Node)">normalize</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#notSupported()">notSupported</A></B>()</CODE>
+
+<BR>
+          Called when a method has not been implemented yet</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#removeChild(org.dom4j.Node, org.w3c.dom.Node)">removeChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+            <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#replaceChild(org.dom4j.Node, org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#replaceData(org.dom4j.CharacterData, int, int, java.lang.String)">replaceData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+            int offset,
+            int count,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#setData(org.dom4j.CharacterData, java.lang.String)">setData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#setNodeValue(org.dom4j.Node, java.lang.String)">setNodeValue</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#setPrefix(org.dom4j.Node, java.lang.String)">setPrefix</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#substringData(org.dom4j.CharacterData, int, int)">substringData</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+              int offset,
+              int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html#supports(org.dom4j.Node, java.lang.String, java.lang.String)">supports</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="EMPTY_NODE_LIST"><!-- --></A><H3>
+EMPTY_NODE_LIST</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>EMPTY_NODE_LIST</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMNodeHelper()"><!-- --></A><H3>
+DOMNodeHelper</H3>
+<PRE>
+protected <B>DOMNodeHelper</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(org.dom4j.Node, java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public static boolean <B>supports</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI(org.dom4j.Node)"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix(org.dom4j.Node)"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName(org.dom4j.Node)"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(org.dom4j.Node, java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public static void <B>setPrefix</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+                      throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue(org.dom4j.Node)"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)
+                           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(org.dom4j.Node, java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public static void <B>setNodeValue</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                         throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode(org.dom4j.Node)"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes(org.dom4j.Node)"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild(org.dom4j.Node)"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild(org.dom4j.Node)"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling(org.dom4j.Node)"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling(org.dom4j.Node)"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes(org.dom4j.Node)"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument(org.dom4j.Node)"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.dom4j.Node, org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                                <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                                <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                         throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.dom4j.Node, org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                                <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                                <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                         throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.dom4j.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                               <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.dom4j.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                               <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes(org.dom4j.Node)"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public static boolean <B>hasChildNodes</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(org.dom4j.Node, boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                             boolean deep)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize(org.dom4j.Node)"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public static void <B>normalize</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(org.dom4j.Node, java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public static boolean <B>isSupported</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes(org.dom4j.Node)"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public static boolean <B>hasAttributes</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData(org.dom4j.CharacterData)"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getData</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData)
+                      throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(org.dom4j.CharacterData, java.lang.String)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public static void <B>setData</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLength(org.dom4j.CharacterData)"><!-- --></A><H3>
+getLength</H3>
+<PRE>
+public static int <B>getLength</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="substringData(org.dom4j.CharacterData, int, int)"><!-- --></A><H3>
+substringData</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>substringData</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+                                   int offset,
+                                   int count)
+                            throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendData(org.dom4j.CharacterData, java.lang.String)"><!-- --></A><H3>
+appendData</H3>
+<PRE>
+public static void <B>appendData</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                       throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertData(org.dom4j.CharacterData, int, java.lang.String)"><!-- --></A><H3>
+insertData</H3>
+<PRE>
+public static void <B>insertData</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> data,
+                              int offset,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                       throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="deleteData(org.dom4j.CharacterData, int, int)"><!-- --></A><H3>
+deleteData</H3>
+<PRE>
+public static void <B>deleteData</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+                              int offset,
+                              int count)
+                       throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceData(org.dom4j.CharacterData, int, int, java.lang.String)"><!-- --></A><H3>
+replaceData</H3>
+<PRE>
+public static void <B>replaceData</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> charData,
+                               int offset,
+                               int count,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendElementsByTagName(java.util.List, org.dom4j.Branch, java.lang.String)"><!-- --></A><H3>
+appendElementsByTagName</H3>
+<PRE>
+public static void <B>appendElementsByTagName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                                           <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendElementsByTagNameNS(java.util.List, org.dom4j.Branch, java.lang.String, java.lang.String)"><!-- --></A><H3>
+appendElementsByTagNameNS</H3>
+<PRE>
+public static void <B>appendElementsByTagNameNS</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                                             <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> parent,
+                                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespace,
+                                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNodeList(java.util.List)"><!-- --></A><H3>
+createNodeList</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>createNodeList</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asDOMNode(org.dom4j.Node)"><!-- --></A><H3>
+asDOMNode</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>asDOMNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asDOMDocument(org.dom4j.Document)"><!-- --></A><H3>
+asDOMDocument</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>asDOMDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asDOMDocumentType(org.dom4j.DocumentType)"><!-- --></A><H3>
+asDOMDocumentType</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A> <B>asDOMDocumentType</B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> dt)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asDOMText(org.dom4j.CharacterData)"><!-- --></A><H3>
+asDOMText</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A> <B>asDOMText</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asDOMElement(org.dom4j.Node)"><!-- --></A><H3>
+asDOMElement</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A> <B>asDOMElement</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> element)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asDOMAttr(org.dom4j.Node)"><!-- --></A><H3>
+asDOMAttr</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A> <B>asDOMAttr</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> attribute)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="notSupported()"><!-- --></A><H3>
+notSupported</H3>
+<PRE>
+public static void <B>notSupported</B>()</PRE>
+<DL>
+<DD>Called when a method has not been implemented yet
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMNodeHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNodeHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMProcessingInstruction.html b/docs/apidocs/org/dom4j/dom/DOMProcessingInstruction.html
new file mode 100644
index 0000000..5833eaf
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMProcessingInstruction.html
@@ -0,0 +1,1022 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMProcessingInstruction class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightProcessingInstruction">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMProcessingInstruction</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractProcessingInstruction</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightProcessingInstruction</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultProcessingInstruction</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMProcessingInstruction</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A>, <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</ [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMProcessingInstruction</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html" title="class or interface in org.w3c.dom">ProcessingInstruction</A></DL>
+
+<P>
+<p>
+ <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ node which supports the W3C DOM API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.12 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMProcessingInstruction">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#target">target</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#text">text</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#values">values</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#DOMProcessingInstruction(org.dom4j.Element, java.lang.String, java.lang.String)">DOMProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> val)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#DOMProcessingInstruction(java.lang.String, java.util.Map)">DOMProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#DOMProcessingInstruction(java.lang.String, java.lang.String)">DOMProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> values)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#setData(java.lang.String)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#isReadOnly()">isReadOnly</A>, <A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#setParent(org.dom4j.Element)">setParent</A>, <A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#setTarget(java.lang.String)">setTarget</A>, <A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html# [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getTarget()">getTarget</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getText()">getText</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getValue(java.lang.String)">getValue</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessin [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getPath(org.dom4j.Element)" [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.ProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html" title="class or interface in org.w3c.dom">ProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html#getTarget()" title="class or interface in org.w3c.dom">getTarget</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+DOMProcessingInstruction</H3>
+<PRE>
+public <B>DOMProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+DOMProcessingInstruction</H3>
+<PRE>
+public <B>DOMProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> values)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMProcessingInstruction(org.dom4j.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+DOMProcessingInstruction</H3>
+<PRE>
+public <B>DOMProcessingInstruction</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> val)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getData</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html#getData()" title="class or interface in org.w3c.dom">getData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html" title="class or interface in org.w3c.dom">ProcessingInstruction</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.String)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html#setData(java.lang.String)" title="class or interface in org.w3c.dom">setData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html" title="class or interface in org.w3c.dom">ProcessingInstruction</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightProcessingInstruction">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/DOMText.html b/docs/apidocs/org/dom4j/dom/DOMText.html
new file mode 100644
index 0000000..b750407
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/DOMText.html
@@ -0,0 +1,1218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:23 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMText (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom.DOMText class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMText (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMText.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightText">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dom</FONT>
+<BR>
+Class DOMText</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractText</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightText</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultText</A>
+                      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dom.DOMText</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DOMText</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A></DL>
+
+<P>
+<p>
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.12 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.dom.DOMText">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightText.html#text">text</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#DOMText(org.dom4j.Element, java.lang.String)">DOMText</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#DOMText(java.lang.String)">DOMText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#appendChild(org.w3c.dom.Node)">appendChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#appendData(java.lang.String)">appendData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#cloneNode(boolean)">cloneNode</A></B>(boolean deep)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#deleteData(int, int)">deleteData</A></B>(int offset,
+           int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getChildNodes()">getChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getFirstChild()">getFirstChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getLastChild()">getLastChild</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getLength()">getLength</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getNextSibling()">getNextSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getNodeName()">getNodeName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getNodeValue()">getNodeValue</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getParentNode()">getParentNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#hasAttributes()">hasAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#hasChildNodes()">hasChildNodes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#insertData(int, java.lang.String)">insertData</A></B>(int offset,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#isSupported(java.lang.String, java.lang.String)">isSupported</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#removeChild(org.w3c.dom.Node)">removeChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#replaceData(int, int, java.lang.String)">replaceData</A></B>(int offset,
+            int count,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#setData(java.lang.String)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#setNodeValue(java.lang.String)">setNodeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#setPrefix(java.lang.String)">setPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#splitText(int)">splitText</A></B>(int offset)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#substringData(int, int)">substringData</A></B>(int offset,
+              int count)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dom/DOMText.html#supports(java.lang.String, java.lang.String)">supports</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultText.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/tree/DefaultText.html#isReadOnly()">isReadOnly</A>, <A HREF="../../../org/dom4j/tree/DefaultText.html#setParent(org.dom4j.Element)">setParent</A>, <A HREF="../../../org/dom4j/tree/DefaultText.html#setText(java.lang.String)">setText</A>, <A HREF="../../../org/dom4j/tree/DefaultText.html#supportsParent()">supportsParent</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightText.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightText.html#getText()">getText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractText.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#toString()">toString</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#write(java.io.Writer)">write</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMText(java.lang.String)"><!-- --></A><H3>
+DOMText</H3>
+<PRE>
+public <B>DOMText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMText(org.dom4j.Element, java.lang.String)"><!-- --></A><H3>
+DOMText</H3>
+<PRE>
+public <B>DOMText</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="supports(java.lang.String, java.lang.String)"><!-- --></A><H3>
+supports</H3>
+<PRE>
+public boolean <B>supports</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPrefix(java.lang.String)"><!-- --></A><H3>
+setPrefix</H3>
+<PRE>
+public void <B>setPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeName()"><!-- --></A><H3>
+getNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeValue()"><!-- --></A><H3>
+getNodeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeValue</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNodeValue(java.lang.String)"><!-- --></A><H3>
+setNodeValue</H3>
+<PRE>
+public void <B>setNodeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> nodeValue)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParentNode()"><!-- --></A><H3>
+getParentNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getParentNode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildNodes()"><!-- --></A><H3>
+getChildNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A> <B>getChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFirstChild()"><!-- --></A><H3>
+getFirstChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getFirstChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastChild()"><!-- --></A><H3>
+getLastChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getLastChild</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousSibling()"><!-- --></A><H3>
+getPreviousSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getPreviousSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSibling()"><!-- --></A><H3>
+getNextSibling</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>getNextSibling</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A> <B>getAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOwnerDocument()"><!-- --></A><H3>
+getOwnerDocument</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>getOwnerDocument</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+insertBefore</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>insertBefore</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> refChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)"><!-- --></A><H3>
+replaceChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>replaceChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeChild(org.w3c.dom.Node)"><!-- --></A><H3>
+removeChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>removeChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> oldChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendChild(org.w3c.dom.Node)"><!-- --></A><H3>
+appendChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>appendChild</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> newChild)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasChildNodes()"><!-- --></A><H3>
+hasChildNodes</H3>
+<PRE>
+public boolean <B>hasChildNodes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cloneNode(boolean)"><!-- --></A><H3>
+cloneNode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> <B>cloneNode</B>(boolean deep)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#normalize()" title="class or interface in org.w3c.dom">normalize</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSupported(java.lang.String, java.lang.String)"><!-- --></A><H3>
+isSupported</H3>
+<PRE>
+public boolean <B>isSupported</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> feature,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> version)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#isSupported(java.lang.String, java.lang.String)" title="class or interface in org.w3c.dom">isSupported</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAttributes()"><!-- --></A><H3>
+hasAttributes</H3>
+<PRE>
+public boolean <B>hasAttributes</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getData</B>()
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#getData()" title="class or interface in org.w3c.dom">getData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.String)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#setData(java.lang.String)" title="class or interface in org.w3c.dom">setData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLength()"><!-- --></A><H3>
+getLength</H3>
+<PRE>
+public int <B>getLength</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#getLength()" title="class or interface in org.w3c.dom">getLength</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="substringData(int, int)"><!-- --></A><H3>
+substringData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>substringData</B>(int offset,
+                            int count)
+                     throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#substringData(int, int)" title="class or interface in org.w3c.dom">substringData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendData(java.lang.String)"><!-- --></A><H3>
+appendData</H3>
+<PRE>
+public void <B>appendData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#appendData(java.lang.String)" title="class or interface in org.w3c.dom">appendData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="insertData(int, java.lang.String)"><!-- --></A><H3>
+insertData</H3>
+<PRE>
+public void <B>insertData</B>(int offset,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#insertData(int, java.lang.String)" title="class or interface in org.w3c.dom">insertData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="deleteData(int, int)"><!-- --></A><H3>
+deleteData</H3>
+<PRE>
+public void <B>deleteData</B>(int offset,
+                       int count)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#deleteData(int, int)" title="class or interface in org.w3c.dom">deleteData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="replaceData(int, int, java.lang.String)"><!-- --></A><H3>
+replaceData</H3>
+<PRE>
+public void <B>replaceData</B>(int offset,
+                        int count,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> arg)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html#replaceData(int, int, java.lang.String)" title="class or interface in org.w3c.dom">replaceData</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CharacterData.html" title="class or interface in org.w3c.dom">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="splitText(int)"><!-- --></A><H3>
+splitText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A> <B>splitText</B>(int offset)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html#splitText(int)" title="class or interface in org.w3c.dom">splitText</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMException.html" title="class or interface in org.w3c.dom">DOMException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createText(java.lang.String)"><!-- --></A><H3>
+createText</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> <B>createText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMText.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightText">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMAttribute.html b/docs/apidocs/org/dom4j/dom/class-use/DOMAttribute.html
new file mode 100644
index 0000000..6ebde29
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMAttribute.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMAttribute</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMAttribute
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMAttributeNodeMap.html b/docs/apidocs/org/dom4j/dom/class-use/DOMAttributeNodeMap.html
new file mode 100644
index 0000000..74a0ff4
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMAttributeNodeMap.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMAttributeNodeMap (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMAttributeNodeMap (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMAttributeNodeMap.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMAttributeNodeMap</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMAttributeNodeMap
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMAttributeNodeMap.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMCDATA.html b/docs/apidocs/org/dom4j/dom/class-use/DOMCDATA.html
new file mode 100644
index 0000000..35f77d5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMCDATA.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMCDATA (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMCDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMCDATA</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMCDATA
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMComment.html b/docs/apidocs/org/dom4j/dom/class-use/DOMComment.html
new file mode 100644
index 0000000..63543d0
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMComment.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMComment (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMComment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMComment</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMComment
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMDocument.html b/docs/apidocs/org/dom4j/dom/class-use/DOMDocument.html
new file mode 100644
index 0000000..124cc0b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMDocument.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMDocument (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMDocument (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMDocument</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMDocument
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMDocumentFactory.html b/docs/apidocs/org/dom4j/dom/class-use/DOMDocumentFactory.html
new file mode 100644
index 0000000..8fd6604
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMDocumentFactory.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMDocumentFactory</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMDocumentFactory
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMDocumentType.html b/docs/apidocs/org/dom4j/dom/class-use/DOMDocumentType.html
new file mode 100644
index 0000000..2261679
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMDocumentType.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMDocumentType (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMDocumentType (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMDocumentType</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> that return <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></CODE></FONT></TD>
+<TD><CODE><B>DOMDocumentFactory.</B><B><A HREF="../../../../org/dom4j/dom/DOMDocumentFactory.html#asDocumentType(org.w3c.dom.DocumentType)">asDocumentType</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMDocumentType)">DOMDocument</A></B>(<A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)">DOMDocument</A></B>(<A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement,
+            <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html#DOMDocument(java.lang.String, org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)">DOMDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement,
+            <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMElement.html b/docs/apidocs/org/dom4j/dom/class-use/DOMElement.html
new file mode 100644
index 0000000..a415b4f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMElement.html
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMElement (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMElement</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> with parameters of type <A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMElement)">DOMDocument</A></B>(<A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html#DOMDocument(org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)">DOMDocument</A></B>(<A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement,
+            <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html#DOMDocument(java.lang.String, org.dom4j.dom.DOMElement, org.dom4j.dom.DOMDocumentType)">DOMDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> rootElement,
+            <A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMAttributeNodeMap.html#DOMAttributeNodeMap(org.dom4j.dom.DOMElement)">DOMAttributeNodeMap</A></B>(<A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMEntityReference.html b/docs/apidocs/org/dom4j/dom/class-use/DOMEntityReference.html
new file mode 100644
index 0000000..c490c6f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMEntityReference.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMEntityReference (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMEntityReference (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMEntityReference.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMEntityReference</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMEntityReference
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMEntityReference.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMNamespace.html b/docs/apidocs/org/dom4j/dom/class-use/DOMNamespace.html
new file mode 100644
index 0000000..8d51919
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMNamespace.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMNamespace (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMNamespace (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNamespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMNamespace</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMNamespace
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNamespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMNodeHelper.EmptyNodeList.html b/docs/apidocs/org/dom4j/dom/class-use/DOMNodeHelper.EmptyNodeList.html
new file mode 100644
index 0000000..867e06c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMNodeHelper.EmptyNodeList.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMNodeHelper.EmptyNodeList (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMNodeHelper.EmptyNodeList (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNodeHelper.EmptyNodeList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMNodeHelper.EmptyNodeList</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMNodeHelper.EmptyNodeList
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNodeHelper.EmptyNodeList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMNodeHelper.html b/docs/apidocs/org/dom4j/dom/class-use/DOMNodeHelper.html
new file mode 100644
index 0000000..0c7edcf
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMNodeHelper.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMNodeHelper (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMNodeHelper (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNodeHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMNodeHelper</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMNodeHelper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMNodeHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMProcessingInstruction.html b/docs/apidocs/org/dom4j/dom/class-use/DOMProcessingInstruction.html
new file mode 100644
index 0000000..47141af
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMProcessingInstruction.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMProcessingInstruction</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMProcessingInstruction
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/class-use/DOMText.html b/docs/apidocs/org/dom4j/dom/class-use/DOMText.html
new file mode 100644
index 0000000..2fabd90
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/class-use/DOMText.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dom.DOMText (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dom.DOMText (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dom.DOMText</B></H2>
+</CENTER>
+No usage of org.dom4j.dom.DOMText
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/package-frame.html b/docs/apidocs/org/dom4j/dom/package-frame.html
new file mode 100644
index 0000000..d9f73ab
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/package-frame.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.dom (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/dom/package-summary.html" target="classFrame">org.dom4j.dom</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DOMAttribute.html" title="class in org.dom4j.dom" target="classFrame">DOMAttribute</A>
+<BR>
+<A HREF="DOMAttributeNodeMap.html" title="class in org.dom4j.dom" target="classFrame">DOMAttributeNodeMap</A>
+<BR>
+<A HREF="DOMCDATA.html" title="class in org.dom4j.dom" target="classFrame">DOMCDATA</A>
+<BR>
+<A HREF="DOMComment.html" title="class in org.dom4j.dom" target="classFrame">DOMComment</A>
+<BR>
+<A HREF="DOMDocument.html" title="class in org.dom4j.dom" target="classFrame">DOMDocument</A>
+<BR>
+<A HREF="DOMDocumentFactory.html" title="class in org.dom4j.dom" target="classFrame">DOMDocumentFactory</A>
+<BR>
+<A HREF="DOMDocumentType.html" title="class in org.dom4j.dom" target="classFrame">DOMDocumentType</A>
+<BR>
+<A HREF="DOMElement.html" title="class in org.dom4j.dom" target="classFrame">DOMElement</A>
+<BR>
+<A HREF="DOMEntityReference.html" title="class in org.dom4j.dom" target="classFrame">DOMEntityReference</A>
+<BR>
+<A HREF="DOMNamespace.html" title="class in org.dom4j.dom" target="classFrame">DOMNamespace</A>
+<BR>
+<A HREF="DOMNodeHelper.html" title="class in org.dom4j.dom" target="classFrame">DOMNodeHelper</A>
+<BR>
+<A HREF="DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom" target="classFrame">DOMNodeHelper.EmptyNodeList</A>
+<BR>
+<A HREF="DOMProcessingInstruction.html" title="class in org.dom4j.dom" target="classFrame">DOMProcessingInstruction</A>
+<BR>
+<A HREF="DOMText.html" title="class in org.dom4j.dom" target="classFrame">DOMText</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/package-summary.html b/docs/apidocs/org/dom4j/dom/package-summary.html
new file mode 100644
index 0000000..ce25e54
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/package-summary.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.dom (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dom package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.dom (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.dom
+</H2>
+An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model.
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A></B></TD>
+<TD>
+ <code>DOMAttribute</code> implements a doubly linked attribute which
+ supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom">DOMAttributeNodeMap</A></B></TD>
+<TD>
+ <code>DOMAttributeNodeMap</code> implements a W3C NameNodeMap for the
+ attributes of an element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></B></TD>
+<TD>
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></B></TD>
+<TD>
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A></B></TD>
+<TD>
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">DOMDocumentFactory</A></B></TD>
+<TD>
+ <code>DOMDocumentFactory</code> is a factory of DOM4J objects which
+ implement the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></B></TD>
+<TD>
+ <code>DOMDocumentType</code> implements a DocumentType node which supports
+ the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></B></TD>
+<TD>
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A></B></TD>
+<TD>
+ <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A></B></TD>
+<TD>
+ <code>DOMNamespace</code> implements a Namespace that is compatable with
+ the DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom">DOMNodeHelper</A></B></TD>
+<TD>
+ <code>DOMNodeHelper</code> contains a collection of utility methods for use
+ across Node implementations.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom">DOMNodeHelper.EmptyNodeList</A></B></TD>
+<TD> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A></B></TD>
+<TD>
+ <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ node which supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></B></TD>
+<TD>
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.dom Description
+</H2>
+
+<P>
+<p>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model.</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/package-tree.html b/docs/apidocs/org/dom4j/dom/package-tree.html
new file mode 100644
index 0000000..eb5e91d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/package-tree.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.dom Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.dom Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/dtd/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.dom
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>AbstractNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interfa [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><B>AbstractAttribute</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><B>FlyweightAttribute</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><B>DefaultAttribute</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom"><B>DOMAttribute</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>AbstractBranch</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><B>AbstractDocument</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><B>DefaultDocument</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom"><B>DOMDocument</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A>)
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>AbstractElement</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>DefaultElement</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom"><B>DOMElement</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><B>AbstractCharacterData</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><B>AbstractCDATA</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><B>FlyweightCDATA</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><B>DefaultCDATA</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom"><B>DOMCDATA</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CDATASection.html" title="class or interface in org.w3c.dom">CDATASection</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><B>AbstractComment</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><B>FlyweightComment</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><B>DefaultComment</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom"><B>DOMComment</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Comment.html" title="class or interface in org.w3c.dom">Comment</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><B>AbstractText</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><B>FlyweightText</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><B>DefaultText</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom"><B>DOMText</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A>)
+</UL>
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><B>AbstractDocumentType</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><B>DefaultDocumentType</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom"><B>DOMDocumentType</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A>)
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><B>AbstractEntity</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><B>FlyweightEntity</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><B>DefaultEntity</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom"><B>DOMEntityReference</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/EntityReference.html" title="class or interface in org.w3c.dom">EntityReference</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><B>AbstractProcessingInstruction</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><B>FlyweightProcessingInstruction</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><B>DefaultProcessingInstruction</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom"><B>DOMProcessingInstruction</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html" title="class or interface in org.w3c.dom">ProcessingInstruction</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><B>Namespace</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><B>DefaultNamespace</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom"><B>DOMNamespace</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><B>DocumentFactory</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom"><B>DOMDocumentFactory</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A>)
+</UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom"><B>DOMAttributeNodeMap</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A>)
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom"><B>DOMNodeHelper</B></A><LI TYPE="circle">class org.dom4j.dom.<A HREF="../../../org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom"><B>DOMNodeHelper.EmptyNodeList</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A>)
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/datatype/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/dtd/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dom/package-use.html b/docs/apidocs/org/dom4j/dom/package-use.html
new file mode 100644
index 0000000..4af5269
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dom/package-use.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.dom (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.dom (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.dom</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A> used by <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/dom/class-use/DOMDocumentType.html#org.dom4j.dom"><B>DOMDocumentType</B></A></B>
+
+<BR>
+          
+ <code>DOMDocumentType</code> implements a DocumentType node which supports
+ the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/dom/class-use/DOMElement.html#org.dom4j.dom"><B>DOMElement</B></A></B>
+
+<BR>
+          
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/AttributeDecl.html b/docs/apidocs/org/dom4j/dtd/AttributeDecl.html
new file mode 100644
index 0000000..afbef6f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/AttributeDecl.html
@@ -0,0 +1,502 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AttributeDecl (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dtd.AttributeDecl class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AttributeDecl (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AttributeDecl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AttributeDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dtd</FONT>
+<BR>
+Class AttributeDecl</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dtd.AttributeDecl</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>AttributeDecl</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>AttributeDecl</code> represents an attribute declaration in a DTD.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#AttributeDecl()">AttributeDecl</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#AttributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)">AttributeDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> attributeName,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> type,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> valueDefault,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#getAttributeName()">getAttributeName</A></B>()</CODE>
+
+<BR>
+          Getter for property attributeName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#getElementName()">getElementName</A></B>()</CODE>
+
+<BR>
+          Getter for property elementName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#getType()">getType</A></B>()</CODE>
+
+<BR>
+          Getter for property type.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+          Getter for property value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#getValueDefault()">getValueDefault</A></B>()</CODE>
+
+<BR>
+          Getter for property valueDefault.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#setAttributeName(java.lang.String)">setAttributeName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> attributeName)</CODE>
+
+<BR>
+          Setter for property attributeName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#setElementName(java.lang.String)">setElementName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName)</CODE>
+
+<BR>
+          Setter for property elementName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#setType(java.lang.String)">setType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> type)</CODE>
+
+<BR>
+          Setter for property type.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#setValue(java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          Setter for property value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#setValueDefault(java.lang.String)">setValueDefault</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> valueDefault)</CODE>
+
+<BR>
+          Setter for property valueDefault.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AttributeDecl()"><!-- --></A><H3>
+AttributeDecl</H3>
+<PRE>
+public <B>AttributeDecl</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="AttributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+AttributeDecl</H3>
+<PRE>
+public <B>AttributeDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> attributeName,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> type,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> valueDefault,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getElementName()"><!-- --></A><H3>
+getElementName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getElementName</B>()</PRE>
+<DL>
+<DD>Getter for property elementName.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property elementName.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setElementName(java.lang.String)"><!-- --></A><H3>
+setElementName</H3>
+<PRE>
+public void <B>setElementName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName)</PRE>
+<DL>
+<DD>Setter for property elementName.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elementName</CODE> - New value of property elementName.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeName()"><!-- --></A><H3>
+getAttributeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttributeName</B>()</PRE>
+<DL>
+<DD>Getter for property attributeName.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property attributeName.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeName(java.lang.String)"><!-- --></A><H3>
+setAttributeName</H3>
+<PRE>
+public void <B>setAttributeName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> attributeName)</PRE>
+<DL>
+<DD>Setter for property attributeName.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attributeName</CODE> - New value of property attributeName.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getType()"><!-- --></A><H3>
+getType</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getType</B>()</PRE>
+<DL>
+<DD>Getter for property type.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property type.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setType(java.lang.String)"><!-- --></A><H3>
+setType</H3>
+<PRE>
+public void <B>setType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> type)</PRE>
+<DL>
+<DD>Setter for property type.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - New value of property type.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getValue</B>()</PRE>
+<DL>
+<DD>Getter for property value.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD>Setter for property value.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - New value of property value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValueDefault()"><!-- --></A><H3>
+getValueDefault</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getValueDefault</B>()</PRE>
+<DL>
+<DD>Getter for property valueDefault.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property valueDefault.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValueDefault(java.lang.String)"><!-- --></A><H3>
+setValueDefault</H3>
+<PRE>
+public void <B>setValueDefault</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> valueDefault)</PRE>
+<DL>
+<DD>Setter for property valueDefault.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>valueDefault</CODE> - New value of property valueDefault.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AttributeDecl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AttributeDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/ElementDecl.html b/docs/apidocs/org/dom4j/dtd/ElementDecl.html
new file mode 100644
index 0000000..6397792
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/ElementDecl.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ElementDecl (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dtd.ElementDecl class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ElementDecl (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementDecl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dtd</FONT>
+<BR>
+Class ElementDecl</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dtd.ElementDecl</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>ElementDecl</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>AttributeDecl</code> represents an element declaration in a DTD.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ElementDecl.html#ElementDecl()">ElementDecl</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ElementDecl.html#ElementDecl(java.lang.String, java.lang.String)">ElementDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> model)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ElementDecl.html#getModel()">getModel</A></B>()</CODE>
+
+<BR>
+          Getter for property model.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ElementDecl.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          Getter for property name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ElementDecl.html#setModel(java.lang.String)">setModel</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> model)</CODE>
+
+<BR>
+          Setter for property model.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ElementDecl.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Setter for property name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ElementDecl.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ElementDecl()"><!-- --></A><H3>
+ElementDecl</H3>
+<PRE>
+public <B>ElementDecl</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="ElementDecl(java.lang.String, java.lang.String)"><!-- --></A><H3>
+ElementDecl</H3>
+<PRE>
+public <B>ElementDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> model)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD>Getter for property name.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Setter for property name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - New value of property name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getModel()"><!-- --></A><H3>
+getModel</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getModel</B>()</PRE>
+<DL>
+<DD>Getter for property model.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property model.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setModel(java.lang.String)"><!-- --></A><H3>
+setModel</H3>
+<PRE>
+public void <B>setModel</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> model)</PRE>
+<DL>
+<DD>Setter for property model.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>model</CODE> - New value of property model.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementDecl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/ExternalEntityDecl.html b/docs/apidocs/org/dom4j/dtd/ExternalEntityDecl.html
new file mode 100644
index 0000000..49f4696
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/ExternalEntityDecl.html
@@ -0,0 +1,413 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ExternalEntityDecl (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dtd.ExternalEntityDecl class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ExternalEntityDecl (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExternalEntityDecl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ExternalEntityDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dtd</FONT>
+<BR>
+Class ExternalEntityDecl</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dtd.ExternalEntityDecl</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>ExternalEntityDecl</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>ExternalEntityDecl</code> represents an external entity declaration
+ in a DTD.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html#ExternalEntityDecl()">ExternalEntityDecl</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html#ExternalEntityDecl(java.lang.String, java.lang.String, java.lang.String)">ExternalEntityDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          Getter for property name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html#getPublicID()">getPublicID</A></B>()</CODE>
+
+<BR>
+          Getter for property publicID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html#getSystemID()">getSystemID</A></B>()</CODE>
+
+<BR>
+          Getter for property systemID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Setter for property name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html#setPublicID(java.lang.String)">setPublicID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID)</CODE>
+
+<BR>
+          Setter for property publicID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html#setSystemID(java.lang.String)">setSystemID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          Setter for property systemID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ExternalEntityDecl()"><!-- --></A><H3>
+ExternalEntityDecl</H3>
+<PRE>
+public <B>ExternalEntityDecl</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="ExternalEntityDecl(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+ExternalEntityDecl</H3>
+<PRE>
+public <B>ExternalEntityDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD>Getter for property name.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Setter for property name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - New value of property name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPublicID()"><!-- --></A><H3>
+getPublicID</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPublicID</B>()</PRE>
+<DL>
+<DD>Getter for property publicID.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property publicID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPublicID(java.lang.String)"><!-- --></A><H3>
+setPublicID</H3>
+<PRE>
+public void <B>setPublicID</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID)</PRE>
+<DL>
+<DD>Setter for property publicID.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>publicID</CODE> - New value of property publicID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSystemID()"><!-- --></A><H3>
+getSystemID</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSystemID</B>()</PRE>
+<DL>
+<DD>Getter for property systemID.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property systemID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSystemID(java.lang.String)"><!-- --></A><H3>
+setSystemID</H3>
+<PRE>
+public void <B>setSystemID</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</PRE>
+<DL>
+<DD>Setter for property systemID.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>systemID</CODE> - New value of property systemID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExternalEntityDecl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ExternalEntityDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/InternalEntityDecl.html b/docs/apidocs/org/dom4j/dtd/InternalEntityDecl.html
new file mode 100644
index 0000000..ad79909
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/InternalEntityDecl.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+InternalEntityDecl (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dtd.InternalEntityDecl class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="InternalEntityDecl (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InternalEntityDecl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InternalEntityDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.dtd</FONT>
+<BR>
+Class InternalEntityDecl</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.dtd.InternalEntityDecl</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>InternalEntityDecl</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>InternalEntityDecl</code> represents an internal entity declaration
+ in a DTD.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html#InternalEntityDecl()">InternalEntityDecl</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html#InternalEntityDecl(java.lang.String, java.lang.String)">InternalEntityDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          Getter for property name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+          Getter for property value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Setter for property name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html#setValue(java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          Setter for property value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="InternalEntityDecl()"><!-- --></A><H3>
+InternalEntityDecl</H3>
+<PRE>
+public <B>InternalEntityDecl</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="InternalEntityDecl(java.lang.String, java.lang.String)"><!-- --></A><H3>
+InternalEntityDecl</H3>
+<PRE>
+public <B>InternalEntityDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD>Getter for property name.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Setter for property name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - New value of property name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getValue</B>()</PRE>
+<DL>
+<DD>Getter for property value.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD>Setter for property value.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - New value of property value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/InternalEntityDecl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InternalEntityDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/class-use/AttributeDecl.html b/docs/apidocs/org/dom4j/dtd/class-use/AttributeDecl.html
new file mode 100644
index 0000000..d05c711
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/class-use/AttributeDecl.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dtd.AttributeDecl (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dtd.AttributeDecl (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AttributeDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dtd.AttributeDecl</B></H2>
+</CENTER>
+No usage of org.dom4j.dtd.AttributeDecl
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AttributeDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/class-use/ElementDecl.html b/docs/apidocs/org/dom4j/dtd/class-use/ElementDecl.html
new file mode 100644
index 0000000..d946868
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/class-use/ElementDecl.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dtd.ElementDecl (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dtd.ElementDecl (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dtd.ElementDecl</B></H2>
+</CENTER>
+No usage of org.dom4j.dtd.ElementDecl
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/class-use/ExternalEntityDecl.html b/docs/apidocs/org/dom4j/dtd/class-use/ExternalEntityDecl.html
new file mode 100644
index 0000000..f145463
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/class-use/ExternalEntityDecl.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dtd.ExternalEntityDecl (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dtd.ExternalEntityDecl (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ExternalEntityDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dtd.ExternalEntityDecl</B></H2>
+</CENTER>
+No usage of org.dom4j.dtd.ExternalEntityDecl
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ExternalEntityDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/class-use/InternalEntityDecl.html b/docs/apidocs/org/dom4j/dtd/class-use/InternalEntityDecl.html
new file mode 100644
index 0000000..f45afae
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/class-use/InternalEntityDecl.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.dtd.InternalEntityDecl (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.dtd.InternalEntityDecl (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InternalEntityDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.dtd.InternalEntityDecl</B></H2>
+</CENTER>
+No usage of org.dom4j.dtd.InternalEntityDecl
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="InternalEntityDecl.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/package-frame.html b/docs/apidocs/org/dom4j/dtd/package-frame.html
new file mode 100644
index 0000000..788d283
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/package-frame.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.dtd (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dtd package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/dtd/package-summary.html" target="classFrame">org.dom4j.dtd</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="AttributeDecl.html" title="class in org.dom4j.dtd" target="classFrame">AttributeDecl</A>
+<BR>
+<A HREF="ElementDecl.html" title="class in org.dom4j.dtd" target="classFrame">ElementDecl</A>
+<BR>
+<A HREF="ExternalEntityDecl.html" title="class in org.dom4j.dtd" target="classFrame">ExternalEntityDecl</A>
+<BR>
+<A HREF="InternalEntityDecl.html" title="class in org.dom4j.dtd" target="classFrame">InternalEntityDecl</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/package-summary.html b/docs/apidocs/org/dom4j/dtd/package-summary.html
new file mode 100644
index 0000000..09df2c5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/package-summary.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.dtd (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.dtd package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.dtd (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/io/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.dtd
+</H2>
+Classes to represent the DTD declarations. 
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd">AttributeDecl</A></B></TD>
+<TD>
+ <code>AttributeDecl</code> represents an attribute declaration in a DTD.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd">ElementDecl</A></B></TD>
+<TD>
+ <code>AttributeDecl</code> represents an element declaration in a DTD.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd">ExternalEntityDecl</A></B></TD>
+<TD>
+ <code>ExternalEntityDecl</code> represents an external entity declaration
+ in a DTD.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd">InternalEntityDecl</A></B></TD>
+<TD>
+ <code>InternalEntityDecl</code> represents an internal entity declaration
+ in a DTD.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.dtd Description
+</H2>
+
+<P>
+<p>Classes to represent the DTD declarations. They are used inside the <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A> interface.</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/io/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/package-tree.html b/docs/apidocs/org/dom4j/dtd/package-tree.html
new file mode 100644
index 0000000..3ce45f6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/package-tree.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.dtd Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.dtd Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/io/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.dtd
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dtd.<A HREF="../../../org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd"><B>AttributeDecl</B></A><LI TYPE="circle">class org.dom4j.dtd.<A HREF="../../../org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd"><B>ElementDecl</B></A><LI TYPE="circle">class org.dom4j.dtd.<A HREF="../../../org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4j.dtd"><B>ExternalEntityDecl</B></A><LI TYPE="circle">class org.dom4j.dtd.<A HREF="../. [...]
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dom/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/io/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/dtd/package-use.html b/docs/apidocs/org/dom4j/dtd/package-use.html
new file mode 100644
index 0000000..e034361
--- /dev/null
+++ b/docs/apidocs/org/dom4j/dtd/package-use.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.dtd (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.dtd (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.dtd</B></H2>
+</CENTER>
+No usage of org.dom4j.dtd
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/DOMReader.html b/docs/apidocs/org/dom4j/io/DOMReader.html
new file mode 100644
index 0000000..c2c22bf
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/DOMReader.html
@@ -0,0 +1,432 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMReader (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.DOMReader class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class DOMReader</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.DOMReader</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>DOMReader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>DOMReader</code> navigates a W3C DOM tree and creates a DOM4J tree
+ from it.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.17 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#DOMReader()">DOMReader</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#DOMReader(org.dom4j.DocumentFactory)">DOMReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#clearNamespaceStack()">clearNamespaceStack</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#getNamespace(java.lang.String, java.lang.String)">getNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#read(org.w3c.dom.Document)">read</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#readElement(org.w3c.dom.Node, org.dom4j.Branch)">readElement</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> node,
+            <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> current)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#readTree(org.w3c.dom.Node, org.dom4j.Branch)">readTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> node,
+         <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> current)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMReader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> docFactory)</CODE>
+
+<BR>
+          
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMReader()"><!-- --></A><H3>
+DOMReader</H3>
+<PRE>
+public <B>DOMReader</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMReader(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+DOMReader</H3>
+<PRE>
+public <B>DOMReader</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>DocumentFactory</code> used to create document
+         objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> docFactory)</PRE>
+<DL>
+<DD><p>
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. This method allows the building of custom DOM4J tree objects
+ to be implemented easily using a custom derivation of
+ <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docFactory</CODE> - <code>DocumentFactory</code> used to create DOM4J objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(org.w3c.dom.Document)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readTree(org.w3c.dom.Node, org.dom4j.Branch)"><!-- --></A><H3>
+readTree</H3>
+<PRE>
+protected void <B>readTree</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> node,
+                        <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> current)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readElement(org.w3c.dom.Node, org.dom4j.Branch)"><!-- --></A><H3>
+readElement</H3>
+<PRE>
+protected void <B>readElement</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> node,
+                           <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> current)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getNamespace</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocument()"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clearNamespaceStack()"><!-- --></A><H3>
+clearNamespaceStack</H3>
+<PRE>
+protected void <B>clearNamespaceStack</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/DOMWriter.html b/docs/apidocs/org/dom4j/io/DOMWriter.html
new file mode 100644
index 0000000..770c5c5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/DOMWriter.html
@@ -0,0 +1,686 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DOMWriter (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.DOMWriter class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DOMWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/DOMReader.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class DOMWriter</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.DOMWriter</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>DOMWriter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>DOMWriter</code> takes a DOM4J tree and outputs it as a W3C DOM
+ object
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.17 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#DOMWriter()">DOMWriter</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#DOMWriter(java.lang.Class)">DOMWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> domDocumentClass)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.CDATA)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Comment)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Element)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Entity)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, java.util.List)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.ProcessingInstruction)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDoc,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, java.lang.String)">appendDOMTree</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#attributeNameForNamespace(org.dom4j.Namespace)">attributeNameForNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#createDomDocument(org.dom4j.Document)">createDomDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#createDomDocument(org.dom4j.Document, org.w3c.dom.DOMImplementation)">createDomDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+                  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A> domImpl)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#createDomDocumentViaJAXP()">createDomDocumentViaJAXP</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#getDomDocumentClass()">getDomDocumentClass</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#isNamespaceDeclaration(org.dom4j.Namespace)">isNamespaceDeclaration</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#resetNamespaceStack()">resetNamespaceStack</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#setDomDocumentClass(java.lang.Class)">setDomDocumentClass</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> domDocumentClass)</CODE>
+
+<BR>
+          Sets the DOM <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom"><CODE>Document</CODE></A>implementation class used by
+ the writer when creating DOM documents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#setDomDocumentClassName(java.lang.String)">setDomDocumentClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Sets the DOM <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom"><CODE>Document</CODE></A>implementation class name used
+ by the writer when creating DOM documents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#write(org.dom4j.Document)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#write(org.dom4j.Document, org.w3c.dom.DOMImplementation)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+      <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A> domImpl)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DOMWriter.html#writeNamespace(org.w3c.dom.Element, org.dom4j.Namespace)">writeNamespace</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A> domElement,
+               <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOMWriter()"><!-- --></A><H3>
+DOMWriter</H3>
+<PRE>
+public <B>DOMWriter</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DOMWriter(java.lang.Class)"><!-- --></A><H3>
+DOMWriter</H3>
+<PRE>
+public <B>DOMWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> domDocumentClass)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getDomDocumentClass()"><!-- --></A><H3>
+getDomDocumentClass</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>getDomDocumentClass</B>()
+                          throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDomDocumentClass(java.lang.Class)"><!-- --></A><H3>
+setDomDocumentClass</H3>
+<PRE>
+public void <B>setDomDocumentClass</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> domDocumentClass)</PRE>
+<DL>
+<DD>Sets the DOM <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom"><CODE>Document</CODE></A>implementation class used by
+ the writer when creating DOM documents.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>domDocumentClass</CODE> - is the Class implementing the 
+            interface</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDomDocumentClassName(java.lang.String)"><!-- --></A><H3>
+setDomDocumentClassName</H3>
+<PRE>
+public void <B>setDomDocumentClassName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                             throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Sets the DOM <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom"><CODE>Document</CODE></A>implementation class name used
+ by the writer when creating DOM documents.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the Class implementing the <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom"><CODE>Document</CODE></A> interface
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if the class could not be loaded</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Document)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>write</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)
+               throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Document, org.w3c.dom.DOMImplementation)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>write</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+                      <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A> domImpl)
+               throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, java.util.List)"><!-- --></A><H3>
+appendDOMTree</H3>
+<PRE>
+protected void <B>appendDOMTree</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+                             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Element)"><!-- --></A><H3>
+appendDOMTree</H3>
+<PRE>
+protected void <B>appendDOMTree</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+                             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+                             <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.CDATA)"><!-- --></A><H3>
+appendDOMTree</H3>
+<PRE>
+protected void <B>appendDOMTree</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+                             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+                             <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Comment)"><!-- --></A><H3>
+appendDOMTree</H3>
+<PRE>
+protected void <B>appendDOMTree</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+                             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+                             <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, java.lang.String)"><!-- --></A><H3>
+appendDOMTree</H3>
+<PRE>
+protected void <B>appendDOMTree</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+                             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.Entity)"><!-- --></A><H3>
+appendDOMTree</H3>
+<PRE>
+protected void <B>appendDOMTree</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDocument,
+                             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+                             <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendDOMTree(org.w3c.dom.Document, org.w3c.dom.Node, org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+appendDOMTree</H3>
+<PRE>
+protected void <B>appendDOMTree</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> domDoc,
+                             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A> domCurrent,
+                             <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeNamespace(org.w3c.dom.Element, org.dom4j.Namespace)"><!-- --></A><H3>
+writeNamespace</H3>
+<PRE>
+protected void <B>writeNamespace</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A> domElement,
+                              <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeNameForNamespace(org.dom4j.Namespace)"><!-- --></A><H3>
+attributeNameForNamespace</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>attributeNameForNamespace</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDomDocument(org.dom4j.Document)"><!-- --></A><H3>
+createDomDocument</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>createDomDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)
+                              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDomDocumentViaJAXP()"><!-- --></A><H3>
+createDomDocumentViaJAXP</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>createDomDocumentViaJAXP</B>()
+                                     throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDomDocument(org.dom4j.Document, org.w3c.dom.DOMImplementation)"><!-- --></A><H3>
+createDomDocument</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A> <B>createDomDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document,
+                                     <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DOMImplementation.html" title="class or interface in org.w3c.dom">DOMImplementation</A> domImpl)
+                              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNamespaceDeclaration(org.dom4j.Namespace)"><!-- --></A><H3>
+isNamespaceDeclaration</H3>
+<PRE>
+protected boolean <B>isNamespaceDeclaration</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resetNamespaceStack()"><!-- --></A><H3>
+resetNamespaceStack</H3>
+<PRE>
+protected void <B>resetNamespaceStack</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DOMWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/DOMReader.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/DocumentResult.html b/docs/apidocs/org/dom4j/io/DocumentResult.html
new file mode 100644
index 0000000..9fc7b1d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/DocumentResult.html
@@ -0,0 +1,359 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DocumentResult (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.DocumentResult class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DocumentResult (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentResult.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentResult.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.xml.transform.sax.SAXResult">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class DocumentResult</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax">javax.xml.transform.sax.SAXResult</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.DocumentResult</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html" title="class or interface in javax.xml.transform">Result</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DocumentResult</B><DT>extends <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax">SAXResult</A></DL>
+
+<P>
+<p>
+ <code>DocumentResult</code> implements a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXResult</CODE></A>for a
+ <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.xml.transform.sax.SAXResult"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax">SAXResult</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html#FEATURE" title="class or interface in javax.xml.transform.sax">FEATURE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.xml.transform.Result"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.xml.transform.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html" title="class or interface in javax.xml.transform">Result</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html#PI_DISABLE_OUTPUT_ESCAPING" title="class or interface in javax.xml.transform">PI_DISABLE_OUTPUT_ESCAPING</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html#PI_ENABLE_OUTPUT_ESCAPING" title="class or interface in javax.xml.transform">PI_ENABLE_OUTPUT_ESCAPING</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentResult.html#DocumentResult()">DocumentResult</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentResult.html#DocumentResult(org.dom4j.io.SAXContentHandler)">DocumentResult</A></B>(<A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A> contentHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentResult.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentResult.html#setHandler(org.xml.sax.ContentHandler)">setHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> handler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentResult.html#setLexicalHandler(org.xml.sax.ext.LexicalHandler)">setLexicalHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> handler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.xml.transform.sax.SAXResult"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax">SAXResult</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html#getHandler()" title="class or interface in javax.xml.transform.sax">getHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html#getLexicalHandler()" title="class or interface in javax.xml.transform.sax">getLexicalHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html#getSystemId()"  [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DocumentResult()"><!-- --></A><H3>
+DocumentResult</H3>
+<PRE>
+public <B>DocumentResult</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DocumentResult(org.dom4j.io.SAXContentHandler)"><!-- --></A><H3>
+DocumentResult</H3>
+<PRE>
+public <B>DocumentResult</B>(<A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A> contentHandler)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getDocument()"><!-- --></A><H3>
+getDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>getDocument</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Document created by the transformation</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setHandler(org.xml.sax.ContentHandler)"><!-- --></A><H3>
+setHandler</H3>
+<PRE>
+public void <B>setHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> handler)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLexicalHandler(org.xml.sax.ext.LexicalHandler)"><!-- --></A><H3>
+setLexicalHandler</H3>
+<PRE>
+public void <B>setLexicalHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> handler)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentResult.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentResult.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.xml.transform.sax.SAXResult">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/DocumentSource.html b/docs/apidocs/org/dom4j/io/DocumentSource.html
new file mode 100644
index 0000000..3655b4d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/DocumentSource.html
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DocumentSource (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.DocumentSource class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DocumentSource (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentSource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/DOMReader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentSource.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class DocumentSource</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax">javax.xml.transform.sax.SAXSource</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.DocumentSource</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Source.html" title="class or interface in javax.xml.transform">Source</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DocumentSource</B><DT>extends <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax">SAXSource</A></DL>
+
+<P>
+<p>
+ <code>DocumentSource</code> implements a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for a
+ .
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#DOM4J_FEATURE">DOM4J_FEATURE</A></B></CODE>
+
+<BR>
+          If <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/TransformerFactory.html#getFeature(java.lang.String)" title="class or interface in javax.xml.transform"><CODE>TransformerFactory.getFeature(java.lang.String)</CODE></A>returns
+ <code>true</code> when passed this value as an argument then the
+ Transformer natively supports <i>dom4j </i>.</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.xml.transform.sax.SAXSource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax">SAXSource</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html#FEATURE" title="class or interface in javax.xml.transform.sax">FEATURE</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#DocumentSource(org.dom4j.Document)">DocumentSource</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Creates a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for the given <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#DocumentSource(org.dom4j.Node)">DocumentSource</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Creates a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for the given <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#getXMLReader()">getXMLReader</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Sets the document used as the JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#setInputSource(org.xml.sax.InputSource)">setInputSource</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> inputSource)</CODE>
+
+<BR>
+          This method is not supported as this source is always a 
+ instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/DocumentSource.html#setXMLReader(org.xml.sax.XMLReader)">setXMLReader</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)</CODE>
+
+<BR>
+          Sets the XMLReader used for the JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.xml.transform.sax.SAXSource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax">SAXSource</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html#getInputSource()" title="class or interface in javax.xml.transform.sax">getInputSource</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html#getSystemId()" title="class or interface in javax.xml.transform.sax">getSystemId</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html#setSystemId(java.la [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DOM4J_FEATURE"><!-- --></A><H3>
+DOM4J_FEATURE</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>DOM4J_FEATURE</B></PRE>
+<DL>
+<DD>If <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/TransformerFactory.html#getFeature(java.lang.String)" title="class or interface in javax.xml.transform"><CODE>TransformerFactory.getFeature(java.lang.String)</CODE></A>returns
+ <code>true</code> when passed this value as an argument then the
+ Transformer natively supports <i>dom4j </i>.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.io.DocumentSource.DOM4J_FEATURE">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DocumentSource(org.dom4j.Node)"><!-- --></A><H3>
+DocumentSource</H3>
+<PRE>
+public <B>DocumentSource</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Creates a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for the given <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>.
+<P>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+<HR>
+
+<A NAME="DocumentSource(org.dom4j.Document)"><!-- --></A><H3>
+DocumentSource</H3>
+<PRE>
+public <B>DocumentSource</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD>Creates a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for the given <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+<P>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - DOCUMENT ME!</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getDocument()"><!-- --></A><H3>
+getDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>getDocument</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the document which is being used as the JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocument(org.dom4j.Document)"><!-- --></A><H3>
+setDocument</H3>
+<PRE>
+public void <B>setDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD>Sets the document used as the JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXMLReader()"><!-- --></A><H3>
+getXMLReader</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> <B>getXMLReader</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XMLReader to be used for the JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setInputSource(org.xml.sax.InputSource)"><!-- --></A><H3>
+setInputSource</H3>
+<PRE>
+public void <B>setInputSource</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> inputSource)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang">UnsupportedOperationException</A></PRE>
+<DL>
+<DD>This method is not supported as this source is always a 
+ instance.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>inputSource</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang">UnsupportedOperationException</A></CODE> - as this method is unsupported</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLReader(org.xml.sax.XMLReader)"><!-- --></A><H3>
+setXMLReader</H3>
+<PRE>
+public void <B>setXMLReader</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)
+                  throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang">UnsupportedOperationException</A></PRE>
+<DL>
+<DD>Sets the XMLReader used for the JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang">UnsupportedOperationException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentSource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/DOMReader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentSource.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/ElementModifier.html b/docs/apidocs/org/dom4j/io/ElementModifier.html
new file mode 100644
index 0000000..f8e548a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/ElementModifier.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ElementModifier (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.ElementModifier interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ElementModifier (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementModifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Interface ElementModifier</H2>
+<HR>
+<DL>
+<DT>public interface <B>ElementModifier</B></DL>
+
+<P>
+ElementModifier defines a modifier of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>objects. <br>
+ It can be used in the event based <A HREF="../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><CODE>SAXModifier</CODE></A>, in order
+ to modify elements on the fly, rather than waiting until the complete
+ document is parsed.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Wonne Keysers (Realsoftware.be)</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/ElementModifier.html#modifyElement(org.dom4j.Element)">modifyElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Called by an event based processor when an elements closing tag is
+ encountered. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="modifyElement(org.dom4j.Element)"><!-- --></A><H3>
+modifyElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>modifyElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                      throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Called by an event based processor when an elements closing tag is
+ encountered. This method must return the modified version of the provided
+ <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>or null if it has to be removed from the
+ document. <br>
+ The incoming <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>is disconnected from the DOM4J
+ tree. This means that navigation to the elements parent <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A> and <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>are not available. Only
+ the element itself can be modified!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to be parsed
+<DT><B>Returns:</B><DD>the modified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - of any kind</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementModifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/HTMLWriter.html b/docs/apidocs/org/dom4j/io/HTMLWriter.html
new file mode 100644
index 0000000..fc60bb6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/HTMLWriter.html
@@ -0,0 +1,1153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+HTMLWriter (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.HTMLWriter class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HTMLWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HTMLWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="HTMLWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class HTMLWriter</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html" title="class or interface in org.xml.sax.helpers">org.xml.sax.helpers.XMLFilterImpl</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">org.dom4j.io.XMLWriter</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.HTMLWriter</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A>, <A H [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>HTMLWriter</B><DT>extends <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></DL>
+
+<P>
+<p>
+ <code>HTMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ HTML. This formatter is similar to XMLWriter but it outputs the text of CDATA
+ and Entity sections rather than the serialised format as in XML, it has an
+ XHTML mode, it retains whitespace in certain elements such as <PRE>,
+ and it supports certain elements which have no corresponding close tag such
+ as for <BR> and <P>.
+ </p>
+ 
+ <p>
+ The OutputFormat passed in to the constructor is checked for isXHTML() and
+ isExpandEmptyElements(). See <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A>for details.
+ Here are the rules for <b>this class </b> based on an OutputFormat, "format",
+ passed in to the constructor: <br/><br/>
+ 
+ <ul>
+ <li>If an element is in <A HREF="../../../org/dom4j/io/HTMLWriter.html#getOmitElementCloseSet()"><CODE>getOmitElementCloseSet</CODE></A>, then it is treated specially:
+ 
+ <ul>
+ <li>It never expands, since some browsers treat this as two separate
+ Horizontal Rules: <HR></HR></li>
+ <li>If <A HREF="../../../org/dom4j/io/OutputFormat.html#isXHTML()"><CODE>format.isXHTML()</CODE></A>, then
+ it has a space before the closing single-tag slash, since Netscape 4.x-
+ treats this: <HR /> as an element named "HR" with an attribute named
+ "/", but that's better than when it refuses to recognize this: <hr/>
+ which it thinks is an element named "HR/".</li>
+ </ul>
+ 
+ </li>
+ <li>If <A HREF="../../../org/dom4j/io/OutputFormat.html#isXHTML()"><CODE>format.isXHTML()</CODE></A>, all
+ elements must have either a close element, or be a closed single tag.</li>
+ <li>If <A HREF="../../../org/dom4j/io/OutputFormat.html#isExpandEmptyElements()"><CODE>format.isExpandEmptyElements()</CODE></A>() is true, all elements are expanded except
+ as above.</li>
+ </ul>
+ 
+ <b>Examples </b>
+ </p>
+ 
+ <p>
+ </p>
+ 
+ <p>
+ If isXHTML == true, CDATA sections look like this:
+ 
+ <PRE>
+ 
+ <b><myelement><![CDATA[My data]]></myelement> </b>
+ 
+ </PRE>
+ 
+ Otherwise, they look like this:
+ 
+ <PRE>
+ 
+ <b><myelement>My data</myelement> </b>
+ 
+ </PRE>
+ 
+ </p>
+ 
+ <p>
+ Basically, <CODE>OutputFormat.isXHTML()</CODE> ==
+ <code>true</code> will produce valid XML, while <A HREF="../../../org/dom4j/io/OutputFormat.html#isExpandEmptyElements()"><CODE>format.isExpandEmptyElements()</CODE></A> determines whether empty elements are
+ expanded if isXHTML is true, excepting the special HTML single tags.
+ </p>
+ 
+ <p>
+ Also, HTMLWriter handles tags whose contents should be preformatted, that is,
+ whitespace-preserved. By default, this set includes the tags <PRE>,
+ <SCRIPT>, <STYLE>, and <TEXTAREA>, case insensitively. It
+ does not include <IFRAME>. Other tags, such as <CODE>,
+ <KBD>, <TT>, <VAR>, are usually rendered in a different
+ font in most browsers, but don't preserve whitespace, so they also don't
+ appear in the default list. HTML Comments are always whitespace-preserved.
+ However, the parser you use may store comments with linefeed-only text nodes
+ (\n) even if your platform uses another line.separator character, and
+ HTMLWriter outputs Comment nodes exactly as the DOM is set up by the parser.
+ See examples and discussion here: 
+ </p>
+ 
+ <p>
+ <b>Examples </b>
+ </p>
+ <blockquote>
+ <p>
+ <b>Pretty Printing </b>
+ </p>
+ 
+ <p>
+ This example shows how to pretty print a string containing a valid HTML
+ document to a string. You can also just call the static methods of this
+ class: <br>
+ <A HREF="../../../org/dom4j/io/HTMLWriter.html#prettyPrintHTML(java.lang.String)"><CODE>prettyPrintHTML(String)</CODE></A>or <br>
+ <A HREF="../../../org/dom4j/io/HTMLWriter.html#prettyPrintHTML(java.lang.String, boolean, boolean, boolean, boolean)"><CODE>prettyPrintHTML(String,boolean,boolean,boolean,boolean)</CODE></A> or, <br>
+ <A HREF="../../../org/dom4j/io/HTMLWriter.html#prettyPrintXHTML(java.lang.String)"><CODE>prettyPrintXHTML(String)</CODE></A>for XHTML (note
+ the X)
+ </p>
+ 
+ <pre>
+ String testPrettyPrint(String html) {
+     StringWriter sw = new StringWriter();
+     OutputFormat format = OutputFormat.createPrettyPrint();
+     // These are the default values for createPrettyPrint,
+     // so you needn't set them:
+     // format.setNewlines(true);
+     // format.setTrimText(true);</font>
+     format.setXHTML(true);
+     HTMLWriter writer = new HTMLWriter(sw, format);
+     Document document = DocumentHelper.parseText(html);
+     writer.write(document);
+     writer.flush();
+     return sw.toString();
+ }
+ </pre>
+ 
+ <p>
+ This example shows how to create a "squeezed" document, but one that will
+ work in browsers even if the browser line length is limited. No newlines are
+ included, no extra whitespace at all, except where it it required by
+ <A HREF="../../../org/dom4j/io/HTMLWriter.html#setPreformattedTags(java.util.Set)"><CODE>setPreformattedTags</CODE></A>.
+ </p>
+ 
+ <pre>
+ String testCrunch(String html) {
+     StringWriter sw = new StringWriter();
+     OutputFormat format = OutputFormat.createPrettyPrint();
+     format.setNewlines(false);
+     format.setTrimText(true);
+     format.setIndent("");
+     format.setXHTML(true);
+     format.setExpandEmptyElements(false);
+     format.setNewLineAfterNTags(20);
+     org.dom4j.io.HTMLWriter writer = new HTMLWriter(sw, format);
+     org.dom4j.Document document = DocumentHelper.parseText(html);
+     writer.write(document);
+     writer.flush();
+     return sw.toString();
+ }
+ </pre>
+ 
+ </blockquote>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.21 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a>, Laramie Crocker</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#DEFAULT_HTML_FORMAT">DEFAULT_HTML_FORMAT</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/HashSet.html" title="class or interface in java.util">HashSet</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#DEFAULT_PREFORMATTED_TAGS">DEFAULT_PREFORMATTED_TAGS</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.io.XMLWriter"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.io.<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#DEFAULT_FORMAT">DEFAULT_FORMAT</A>, <A HREF="../../../org/dom4j/io/XMLWriter.html#lastOutputNodeType">lastOutputNodeType</A>, <A HREF="../../../org/dom4j/io/XMLWriter.html#LEXICAL_HANDLER_NAMES">LEXICAL_HANDLER_NAMES</A>, <A HREF="../../../org/dom4j/io/XMLWriter.html#preserve">preserve</A>, <A HREF="../../../org/dom4j/io/XMLWriter.html#writer">writer</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#HTMLWriter()">HTMLWriter</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#HTMLWriter(org.dom4j.io.OutputFormat)">HTMLWriter</A></B>(<A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.OutputStream)">HTMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.OutputStream, org.dom4j.io.OutputFormat)">HTMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out,
+           <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.Writer)">HTMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.Writer, org.dom4j.io.OutputFormat)">HTMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer,
+           <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#endCDATA()">endCDATA</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#getOmitElementCloseSet()">getOmitElementCloseSet</A></B>()</CODE>
+
+<BR>
+          A clone of the Set of elements that can have their close-tags omitted. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#getPreformattedTags()">getPreformattedTags</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#isPreformattedTag(java.lang.String)">isPreformattedTag</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#loadOmitElementCloseSet(java.util.Set)">loadOmitElementCloseSet</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A> set)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#omitElementClose(java.lang.String)">omitElementClose</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#prettyPrintHTML(java.lang.String)">prettyPrintHTML</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> html)</CODE>
+
+<BR>
+          Convenience method to just get a String result.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#prettyPrintHTML(java.lang.String, boolean, boolean, boolean, boolean)">prettyPrintHTML</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> html,
+                boolean newlines,
+                boolean trim,
+                boolean isXHTML,
+                boolean expandEmpty)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#prettyPrintXHTML(java.lang.String)">prettyPrintXHTML</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> html)</CODE>
+
+<BR>
+          Convenience method to just get a String result, but <b>As XHTML </b>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#setOmitElementCloseSet(java.util.Set)">setOmitElementCloseSet</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A> newSet)</CODE>
+
+<BR>
+          To use the empty set, pass an empty Set, or null:
+ 
+ 
+ 
+ 
+       setOmitElementCloseSet(new HashSet());
+     or
+       setOmitElementCloseSet(null);
+ 
+  
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#setPreformattedTags(java.util.Set)">setPreformattedTags</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A> newSet)</CODE>
+
+<BR>
+          
+ Override the default set, which includes PRE, SCRIPT, STYLE, and
+ TEXTAREA, case insensitively.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#startCDATA()">startCDATA</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#writeCDATA(java.lang.String)">writeCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#writeClose(java.lang.String)">writeClose</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+          Overriden method to not close certain element names to avoid wierd
+ behaviour from browsers for versions up to 5.x</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#writeDeclaration()">writeDeclaration</A></B>()</CODE>
+
+<BR>
+          
+ This will write the declaration to the given Writer. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#writeElement(org.dom4j.Element)">writeElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          This override handles any elements that should not remove whitespace,
+ such as <PRE>, <SCRIPT>, <STYLE>, and <TEXTAREA>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#writeEmptyElementClose(java.lang.String)">writeEmptyElementClose</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#writeEntity(org.dom4j.Entity)">writeEntity</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/HTMLWriter.html#writeString(java.lang.String)">writeString</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.io.XMLWriter"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.io.<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#characters(char[], int, int)">characters</A>, <A HREF="../../../org/dom4j/io/XMLWriter.html#close()">close</A>, <A HREF="../../../org/dom4j/io/XMLWriter.html#comment(char[], int, int)">comment</A>, <A HREF="../../../org/dom4j/io/XMLWriter.html#createWriter(java.io.OutputStream, java.lang.String)">createWriter</A>, <A HREF="../../../org/dom4j/io/XMLWriter.html#defaultMaximumAllowedCharacter()">defaultMaximumAllowedCharacter</A>, <A H [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.xml.sax.helpers.XMLFilterImpl"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.xml.sax.helpers.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html" title="class or interface in org.xml.sax.helpers">XMLFilterImpl</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html#error(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax.helpers">error</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html#fatalError(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax.helpers">fatalError</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilte [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DEFAULT_PREFORMATTED_TAGS"><!-- --></A><H3>
+DEFAULT_PREFORMATTED_TAGS</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/HashSet.html" title="class or interface in java.util">HashSet</A> <B>DEFAULT_PREFORMATTED_TAGS</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="DEFAULT_HTML_FORMAT"><!-- --></A><H3>
+DEFAULT_HTML_FORMAT</H3>
+<PRE>
+protected static final <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> <B>DEFAULT_HTML_FORMAT</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="HTMLWriter(java.io.Writer)"><!-- --></A><H3>
+HTMLWriter</H3>
+<PRE>
+public <B>HTMLWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="HTMLWriter(java.io.Writer, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+HTMLWriter</H3>
+<PRE>
+public <B>HTMLWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer,
+                  <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="HTMLWriter()"><!-- --></A><H3>
+HTMLWriter</H3>
+<PRE>
+public <B>HTMLWriter</B>()
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="HTMLWriter(org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+HTMLWriter</H3>
+<PRE>
+public <B>HTMLWriter</B>(<A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="HTMLWriter(java.io.OutputStream)"><!-- --></A><H3>
+HTMLWriter</H3>
+<PRE>
+public <B>HTMLWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="HTMLWriter(java.io.OutputStream, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+HTMLWriter</H3>
+<PRE>
+public <B>HTMLWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out,
+                  <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="startCDATA()"><!-- --></A><H3>
+startCDATA</H3>
+<PRE>
+public void <B>startCDATA</B>()
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startCDATA()" title="class or interface in org.xml.sax.ext">startCDATA</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#startCDATA()">startCDATA [...]
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endCDATA()"><!-- --></A><H3>
+endCDATA</H3>
+<PRE>
+public void <B>endCDATA</B>()
+              throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endCDATA()" title="class or interface in org.xml.sax.ext">endCDATA</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#endCDATA()">endCDATA</A></CO [...]
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeCDATA(java.lang.String)"><!-- --></A><H3>
+writeCDATA</H3>
+<PRE>
+protected void <B>writeCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+                   throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#writeCDATA(java.lang.String)">writeCDATA</A></CODE> in class <CODE><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeEntity(org.dom4j.Entity)"><!-- --></A><H3>
+writeEntity</H3>
+<PRE>
+protected void <B>writeEntity</B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#writeEntity(org.dom4j.Entity)">writeEntity</A></CODE> in class <CODE><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeDeclaration()"><!-- --></A><H3>
+writeDeclaration</H3>
+<PRE>
+protected void <B>writeDeclaration</B>()
+                         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></B></DD>
+<DD><p>
+ This will write the declaration to the given Writer. Assumes XML version
+ 1.0 since we don't directly know.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#writeDeclaration()">writeDeclaration</A></CODE> in class <CODE><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeString(java.lang.String)"><!-- --></A><H3>
+writeString</H3>
+<PRE>
+protected void <B>writeString</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#writeString(java.lang.String)">writeString</A></CODE> in class <CODE><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeClose(java.lang.String)"><!-- --></A><H3>
+writeClose</H3>
+<PRE>
+protected void <B>writeClose</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)
+                   throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Overriden method to not close certain element names to avoid wierd
+ behaviour from browsers for versions up to 5.x
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#writeClose(java.lang.String)">writeClose</A></CODE> in class <CODE><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qualifiedName</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeEmptyElementClose(java.lang.String)"><!-- --></A><H3>
+writeEmptyElementClose</H3>
+<PRE>
+protected void <B>writeEmptyElementClose</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)
+                               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#writeEmptyElementClose(java.lang.String)">writeEmptyElementClose</A></CODE> in class <CODE><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="omitElementClose(java.lang.String)"><!-- --></A><H3>
+omitElementClose</H3>
+<PRE>
+protected boolean <B>omitElementClose</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="loadOmitElementCloseSet(java.util.Set)"><!-- --></A><H3>
+loadOmitElementCloseSet</H3>
+<PRE>
+protected void <B>loadOmitElementCloseSet</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A> set)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOmitElementCloseSet()"><!-- --></A><H3>
+getOmitElementCloseSet</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A> <B>getOmitElementCloseSet</B>()</PRE>
+<DL>
+<DD>A clone of the Set of elements that can have their close-tags omitted. By
+ default it should be "AREA", "BASE", "BR", "COL", "HR", "IMG", "INPUT",
+ "LINK", "META", "P", "PARAM"
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>A clone of the Set.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOmitElementCloseSet(java.util.Set)"><!-- --></A><H3>
+setOmitElementCloseSet</H3>
+<PRE>
+public void <B>setOmitElementCloseSet</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A> newSet)</PRE>
+<DL>
+<DD>To use the empty set, pass an empty Set, or null:
+ 
+ <pre>
+ 
+ 
+       setOmitElementCloseSet(new HashSet());
+     or
+       setOmitElementCloseSet(null);
+ 
+  
+ </pre>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newSet</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreformattedTags()"><!-- --></A><H3>
+getPreformattedTags</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A> <B>getPreformattedTags</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/HTMLWriter.html#setPreformattedTags(java.util.Set)"><CODE>setPreformattedTags</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPreformattedTags(java.util.Set)"><!-- --></A><H3>
+setPreformattedTags</H3>
+<PRE>
+public void <B>setPreformattedTags</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A> newSet)</PRE>
+<DL>
+<DD><p>
+ Override the default set, which includes PRE, SCRIPT, STYLE, and
+ TEXTAREA, case insensitively.
+ </p>
+ 
+ <p>
+ <b>Setting Preformatted Tags </b>
+ </p>
+ 
+ <p>
+ Pass in a Set of Strings, one for each tag name that should be treated
+ like a PRE tag. You may pass in null or an empty Set to assign the empty
+ set, in which case no tags will be treated as preformatted, except that
+ HTML Comments will continue to be preformatted. If a tag is included in
+ the set of preformatted tags, all whitespace within the tag will be
+ preserved, including whitespace on the same line preceding the close tag.
+ This will generally make the close tag not line up with the start tag,
+ but it preserves the intention of the whitespace within the tag.
+ </p>
+ 
+ <p>
+ The browser considers leading whitespace before the close tag to be
+ significant, but leading whitespace before the open tag to be
+ insignificant. For example, if the HTML author doesn't put the close
+ TEXTAREA tag flush to the left margin, then the TEXTAREA control in the
+ browser will have spaces on the last line inside the control. This may be
+ the HTML author's intent. Similarly, in a PRE, the browser treats a
+ flushed left close PRE tag as different from a close tag with leading
+ whitespace. Again, this must be left up to the HTML author.
+ </p>
+ 
+ <p>
+ <b>Examples </b>
+ </p>
+ <blockquote>
+ <p>
+ Here is an example of how you can set the PreformattedTags list using
+ setPreformattedTags to include IFRAME, as well as the default set, if you
+ have an instance of this class named myHTMLWriter:
+ 
+ <pre>
+ Set current = myHTMLWriter.getPreformattedTags();
+ current.add("IFRAME");
+ myHTMLWriter.setPreformattedTags(current);
+ 
+ //The set is now <b>PRE, SCRIPT, STYLE, TEXTAREA, IFRAME</b>
+ 
+ 
+ </pre>
+ 
+ Similarly, you can simply replace it with your own:
+ 
+ <pre>
+ 
+ 
+       HashSet newset = new HashSet();
+       newset.add("PRE");
+       newset.add("TEXTAREA");
+       myHTMLWriter.setPreformattedTags(newset);
+ 
+       //The set is now <b>{PRE, TEXTAREA}</b>
+ 
+  
+ </pre>
+ 
+ You can remove all tags from the preformatted tags list, with an empty
+ set, like this:
+ 
+ <pre>
+ 
+ 
+       myHTMLWriter.setPreformattedTags(new HashSet());
+ 
+       //The set is now <b>{}</b>
+ 
+  
+ </pre>
+ 
+ or with null, like this:
+ 
+ <pre>
+ 
+ 
+       myHTMLWriter.setPreformattedTags(null);
+ 
+       //The set is now <b>{}</b>
+ 
+  
+ </pre>
+ 
+ </p>
+ </blockquote>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newSet</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isPreformattedTag(java.lang.String)"><!-- --></A><H3>
+isPreformattedTag</H3>
+<PRE>
+public boolean <B>isPreformattedTag</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qualifiedName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the qualifiedName passed in matched (case-insensitively)
+         a tag in the preformattedTags set, or false if not found or if
+         the set is empty or null.<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/HTMLWriter.html#setPreformattedTags(java.util.Set)"><CODE>setPreformattedTags</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeElement(org.dom4j.Element)"><!-- --></A><H3>
+writeElement</H3>
+<PRE>
+protected void <B>writeElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                     throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>This override handles any elements that should not remove whitespace,
+ such as <PRE>, <SCRIPT>, <STYLE>, and <TEXTAREA>.
+ Note: the close tags won't line up with the open tag, but we can't alter
+ that. See javadoc note at setPreformattedTags.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/io/XMLWriter.html#writeElement(org.dom4j.Element)">writeElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - When the stream could not be written to.<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/HTMLWriter.html#setPreformattedTags(java.util.Set)"><CODE>setPreformattedTags</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prettyPrintHTML(java.lang.String)"><!-- --></A><H3>
+prettyPrintHTML</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>prettyPrintHTML</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> html)
+                              throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A>,
+                                     <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Convenience method to just get a String result.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>html</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a pretty printed String from the source string, preserving
+         whitespace in the defaultPreformattedTags set, and leaving the
+         close tags off of the default omitElementCloseSet set. Use one of
+         the write methods if you want stream output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></CODE>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prettyPrintXHTML(java.lang.String)"><!-- --></A><H3>
+prettyPrintXHTML</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>prettyPrintXHTML</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> html)
+                               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A>,
+                                      <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Convenience method to just get a String result, but <b>As XHTML </b>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>html</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a pretty printed String from the source string, preserving
+         whitespace in the defaultPreformattedTags set, but conforming to
+         XHTML: no close tags are omitted (though if empty, they will be
+         converted to XHTML empty tags: <HR/> Use one of the write
+         methods if you want stream output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></CODE>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prettyPrintHTML(java.lang.String, boolean, boolean, boolean, boolean)"><!-- --></A><H3>
+prettyPrintHTML</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>prettyPrintHTML</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> html,
+                                     boolean newlines,
+                                     boolean trim,
+                                     boolean isXHTML,
+                                     boolean expandEmpty)
+                              throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A>,
+                                     <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>html</CODE> - DOCUMENT ME!<DD><CODE>newlines</CODE> - DOCUMENT ME!<DD><CODE>trim</CODE> - DOCUMENT ME!<DD><CODE>isXHTML</CODE> - DOCUMENT ME!<DD><CODE>expandEmpty</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a pretty printed String from the source string, preserving
+         whitespace in the defaultPreformattedTags set, and leaving the
+         close tags off of the default omitElementCloseSet set. This
+         override allows you to specify various formatter options. Use one
+         of the write methods if you want stream output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></CODE>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HTMLWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="HTMLWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/OutputFormat.html b/docs/apidocs/org/dom4j/io/OutputFormat.html
new file mode 100644
index 0000000..bfa4cb7
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/OutputFormat.html
@@ -0,0 +1,1216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+OutputFormat (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.OutputFormat class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="OutputFormat (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/OutputFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="OutputFormat.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class OutputFormat</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.OutputFormat</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>OutputFormat</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A></DL>
+
+<P>
+<p>
+ <code>OutputFormat</code> represents the format configuration used by
+ and its base classes to format the XML output
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.17 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#STANDARD_INDENT">STANDARD_INDENT</A></B></CODE>
+
+<BR>
+          standard value to indent by, if we are indenting</TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#OutputFormat()">OutputFormat</A></B>()</CODE>
+
+<BR>
+          Creates an <code>OutputFormat</code> with no additional whitespace
+ (indent or new lines) added. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#OutputFormat(java.lang.String)">OutputFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> indent)</CODE>
+
+<BR>
+          Creates an <code>OutputFormat</code> with the given indent added but no
+ new lines added. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#OutputFormat(java.lang.String, boolean)">OutputFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> indent,
+             boolean newlines)</CODE>
+
+<BR>
+          Creates an <code>OutputFormat</code> with the given indent added with
+ optional newlines between the Elements. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#OutputFormat(java.lang.String, boolean, java.lang.String)">OutputFormat</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> indent,
+             boolean newlines,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</CODE>
+
+<BR>
+          Creates an <code>OutputFormat</code> with the given indent added with
+ optional newlines between the Elements and the given encoding format.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#createCompactFormat()">createCompactFormat</A></B>()</CODE>
+
+<BR>
+          A static helper method to create the default compact format. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#createPrettyPrint()">createPrettyPrint</A></B>()</CODE>
+
+<BR>
+          A static helper method to create the default pretty printing format. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> char</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#getAttributeQuoteCharacter()">getAttributeQuoteCharacter</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#getEncoding()">getEncoding</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#getIndent()">getIndent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#getLineSeparator()">getLineSeparator</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#getNewLineAfterNTags()">getNewLineAfterNTags</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#isExpandEmptyElements()">isExpandEmptyElements</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#isNewLineAfterDeclaration()">isNewLineAfterDeclaration</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#isNewlines()">isNewlines</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#isOmitEncoding()">isOmitEncoding</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#isPadText()">isPadText</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#isSuppressDeclaration()">isSuppressDeclaration</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#isTrimText()">isTrimText</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#isXHTML()">isXHTML</A></B>()</CODE>
+
+<BR>
+          
+ Whether or not to use the XHTML standard: like HTML but passes an XML
+ parser with real, closed tags. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#parseOptions(java.lang.String[], int)">parseOptions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[] args,
+             int i)</CODE>
+
+<BR>
+          Parses command line arguments of the form <code>-omitEncoding
+ -indentSize 3 -newlines -trimText</code></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setAttributeQuoteCharacter(char)">setAttributeQuoteCharacter</A></B>(char quoteChar)</CODE>
+
+<BR>
+          Sets the character used to quote attribute values. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setEncoding(java.lang.String)">setEncoding</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setExpandEmptyElements(boolean)">setExpandEmptyElements</A></B>(boolean expandEmptyElements)</CODE>
+
+<BR>
+          
+ This will set whether empty elements are expanded from
+ <code><tagName></code> to
+ <code><tagName></tagName></code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setIndent(boolean)">setIndent</A></B>(boolean doIndent)</CODE>
+
+<BR>
+          Set the indent on or off. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setIndent(java.lang.String)">setIndent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> indent)</CODE>
+
+<BR>
+          
+ This will set the indent <code>String</code> to use; this is usually a
+ <code>String</code> of empty spaces. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setIndentSize(int)">setIndentSize</A></B>(int indentSize)</CODE>
+
+<BR>
+          
+ This will set the indent <code>String</code>'s size; an indentSize of
+ 4 would result in the indention being equivalent to the
+ <code>String</code> "    " (four space characters).
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setLineSeparator(java.lang.String)">setLineSeparator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> separator)</CODE>
+
+<BR>
+          
+ This will set the new-line separator. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setNewLineAfterDeclaration(boolean)">setNewLineAfterDeclaration</A></B>(boolean newLineAfterDeclaration)</CODE>
+
+<BR>
+          
+ This will set whether a new line is printed after the XML declaration
+ (assuming it is not supressed.)
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setNewLineAfterNTags(int)">setNewLineAfterNTags</A></B>(int tagCount)</CODE>
+
+<BR>
+          Controls output of a line.separator every tagCount tags when isNewlines
+ is false. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setNewlines(boolean)">setNewlines</A></B>(boolean newlines)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setOmitEncoding(boolean)">setOmitEncoding</A></B>(boolean omitEncoding)</CODE>
+
+<BR>
+          
+ This will set whether the XML declaration (<code><?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setPadText(boolean)">setPadText</A></B>(boolean padText)</CODE>
+
+<BR>
+          
+ Ensure that text immediately preceded by or followed by an element will
+ be "padded" with a single space. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setSuppressDeclaration(boolean)">setSuppressDeclaration</A></B>(boolean suppressDeclaration)</CODE>
+
+<BR>
+          
+ This will set whether the XML declaration (<code><?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setTrimText(boolean)">setTrimText</A></B>(boolean trimText)</CODE>
+
+<BR>
+          
+ This will set whether the text is output verbatim (false) or with
+ whitespace stripped as per <code><A HREF="../../../org/dom4j/Element.html#getTextTrim()"><CODE>Element.getTextTrim()</CODE></A></code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/OutputFormat.html#setXHTML(boolean)">setXHTML</A></B>(boolean xhtml)</CODE>
+
+<BR>
+          
+ This will set whether or not to use the XHTML standard: like HTML but
+ passes an XML parser with real, closed tags. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="STANDARD_INDENT"><!-- --></A><H3>
+STANDARD_INDENT</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>STANDARD_INDENT</B></PRE>
+<DL>
+<DD>standard value to indent by, if we are indenting
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.io.OutputFormat.STANDARD_INDENT">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="OutputFormat()"><!-- --></A><H3>
+OutputFormat</H3>
+<PRE>
+public <B>OutputFormat</B>()</PRE>
+<DL>
+<DD>Creates an <code>OutputFormat</code> with no additional whitespace
+ (indent or new lines) added. The whitespace from the element text content
+ is fully preserved.
+<P>
+</DL>
+<HR>
+
+<A NAME="OutputFormat(java.lang.String)"><!-- --></A><H3>
+OutputFormat</H3>
+<PRE>
+public <B>OutputFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> indent)</PRE>
+<DL>
+<DD>Creates an <code>OutputFormat</code> with the given indent added but no
+ new lines added. All whitespace from element text will be included.
+<P>
+<DT><B>Parameters:</B><DD><CODE>indent</CODE> - is the indent string to be used for indentation (usually a
+            number of spaces).</DL>
+<HR>
+
+<A NAME="OutputFormat(java.lang.String, boolean)"><!-- --></A><H3>
+OutputFormat</H3>
+<PRE>
+public <B>OutputFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> indent,
+                    boolean newlines)</PRE>
+<DL>
+<DD>Creates an <code>OutputFormat</code> with the given indent added with
+ optional newlines between the Elements. All whitespace from element text
+ will be included.
+<P>
+<DT><B>Parameters:</B><DD><CODE>indent</CODE> - is the indent string to be used for indentation (usually a
+            number of spaces).<DD><CODE>newlines</CODE> - whether new lines are added to layout the</DL>
+<HR>
+
+<A NAME="OutputFormat(java.lang.String, boolean, java.lang.String)"><!-- --></A><H3>
+OutputFormat</H3>
+<PRE>
+public <B>OutputFormat</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> indent,
+                    boolean newlines,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</PRE>
+<DL>
+<DD>Creates an <code>OutputFormat</code> with the given indent added with
+ optional newlines between the Elements and the given encoding format.
+<P>
+<DT><B>Parameters:</B><DD><CODE>indent</CODE> - is the indent string to be used for indentation (usually a
+            number of spaces).<DD><CODE>newlines</CODE> - whether new lines are added to layout the<DD><CODE>encoding</CODE> - is the text encoding to use for writing the XML</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getLineSeparator()"><!-- --></A><H3>
+getLineSeparator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLineSeparator</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLineSeparator(java.lang.String)"><!-- --></A><H3>
+setLineSeparator</H3>
+<PRE>
+public void <B>setLineSeparator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> separator)</PRE>
+<DL>
+<DD><p>
+ This will set the new-line separator. The default is <code>\n</code>.
+ Note that if the "newlines" property is false, this value is irrelevant.
+ To make it output the system default line ending string, call
+ <code>setLineSeparator(System.getProperty("line.separator"))</code>
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>separator</CODE> - <code>String</code> line separator to use.<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/OutputFormat.html#setNewlines(boolean)"><CODE>setNewlines(boolean)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNewlines()"><!-- --></A><H3>
+isNewlines</H3>
+<PRE>
+public boolean <B>isNewlines</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNewlines(boolean)"><!-- --></A><H3>
+setNewlines</H3>
+<PRE>
+public void <B>setNewlines</B>(boolean newlines)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newlines</CODE> - <code>true</code> indicates new lines should be printed,
+            else new lines are ignored (compacted).<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/OutputFormat.html#setLineSeparator(java.lang.String)"><CODE>setLineSeparator(String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEncoding()"><!-- --></A><H3>
+getEncoding</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getEncoding</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEncoding(java.lang.String)"><!-- --></A><H3>
+setEncoding</H3>
+<PRE>
+public void <B>setEncoding</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>encoding</CODE> - encoding format</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isOmitEncoding()"><!-- --></A><H3>
+isOmitEncoding</H3>
+<PRE>
+public boolean <B>isOmitEncoding</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOmitEncoding(boolean)"><!-- --></A><H3>
+setOmitEncoding</H3>
+<PRE>
+public void <B>setOmitEncoding</B>(boolean omitEncoding)</PRE>
+<DL>
+<DD><p>
+ This will set whether the XML declaration (<code><?xml version="1.0"
+ encoding="UTF-8"?></code>)
+ includes the encoding of the document. It is common to suppress this in
+ protocols such as WML and SOAP.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>omitEncoding</CODE> - <code>boolean</code> indicating whether or not the XML
+            declaration should indicate the document encoding.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSuppressDeclaration(boolean)"><!-- --></A><H3>
+setSuppressDeclaration</H3>
+<PRE>
+public void <B>setSuppressDeclaration</B>(boolean suppressDeclaration)</PRE>
+<DL>
+<DD><p>
+ This will set whether the XML declaration (<code><?xml version="1.0"
+ encoding="UTF-8"?></code>)
+ is included or not. It is common to suppress this in protocols such as
+ WML and SOAP.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>suppressDeclaration</CODE> - <code>boolean</code> indicating whether or not the XML
+            declaration should be suppressed.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSuppressDeclaration()"><!-- --></A><H3>
+isSuppressDeclaration</H3>
+<PRE>
+public boolean <B>isSuppressDeclaration</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the output of the XML declaration (<code><?xml
+         version="1.0"?></code>)
+         should be suppressed else false.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNewLineAfterDeclaration(boolean)"><!-- --></A><H3>
+setNewLineAfterDeclaration</H3>
+<PRE>
+public void <B>setNewLineAfterDeclaration</B>(boolean newLineAfterDeclaration)</PRE>
+<DL>
+<DD><p>
+ This will set whether a new line is printed after the XML declaration
+ (assuming it is not supressed.)
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newLineAfterDeclaration</CODE> - <code>boolean</code> indicating whether or not to print new
+            line following the XML declaration. The default is true.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNewLineAfterDeclaration()"><!-- --></A><H3>
+isNewLineAfterDeclaration</H3>
+<PRE>
+public boolean <B>isNewLineAfterDeclaration</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if a new line should be printed following XML declaration</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isExpandEmptyElements()"><!-- --></A><H3>
+isExpandEmptyElements</H3>
+<PRE>
+public boolean <B>isExpandEmptyElements</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setExpandEmptyElements(boolean)"><!-- --></A><H3>
+setExpandEmptyElements</H3>
+<PRE>
+public void <B>setExpandEmptyElements</B>(boolean expandEmptyElements)</PRE>
+<DL>
+<DD><p>
+ This will set whether empty elements are expanded from
+ <code><tagName></code> to
+ <code><tagName></tagName></code>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>expandEmptyElements</CODE> - <code>boolean</code> indicating whether or not empty
+            elements should be expanded.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isTrimText()"><!-- --></A><H3>
+isTrimText</H3>
+<PRE>
+public boolean <B>isTrimText</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTrimText(boolean)"><!-- --></A><H3>
+setTrimText</H3>
+<PRE>
+public void <B>setTrimText</B>(boolean trimText)</PRE>
+<DL>
+<DD><p>
+ This will set whether the text is output verbatim (false) or with
+ whitespace stripped as per <code><A HREF="../../../org/dom4j/Element.html#getTextTrim()"><CODE>Element.getTextTrim()</CODE></A></code>.
+ </p>
+ 
+ <p>
+ </p>
+ 
+ <p>
+ Default: false
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>trimText</CODE> - <code>boolean</code> true=>trim the whitespace, false=>use
+            text verbatim</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isPadText()"><!-- --></A><H3>
+isPadText</H3>
+<PRE>
+public boolean <B>isPadText</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPadText(boolean)"><!-- --></A><H3>
+setPadText</H3>
+<PRE>
+public void <B>setPadText</B>(boolean padText)</PRE>
+<DL>
+<DD><p>
+ Ensure that text immediately preceded by or followed by an element will
+ be "padded" with a single space. This is used to allow make
+ browser-friendly HTML, avoiding trimText's transformation of, e.g.,
+ <code>The quick <b>brown</b> fox</code> into <code>The
+ quick<b>brown</b>fox</code>
+ (the latter will run the three separate words together into a single
+ word). This setting is not too useful if you haven't also called
+ <A HREF="../../../org/dom4j/io/OutputFormat.html#setTrimText(boolean)"><CODE>setTrimText(boolean)</CODE></A>.
+ </p>
+ 
+ <p>
+ The padding string will only be added if the text itself starts or ends
+ with some whitespace characters.
+ </p>
+ 
+ <p>
+ Default: false
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>padText</CODE> - <code>boolean</code> if true, pad string-element boundaries</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIndent()"><!-- --></A><H3>
+getIndent</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getIndent</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIndent(java.lang.String)"><!-- --></A><H3>
+setIndent</H3>
+<PRE>
+public void <B>setIndent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> indent)</PRE>
+<DL>
+<DD><p>
+ This will set the indent <code>String</code> to use; this is usually a
+ <code>String</code> of empty spaces. If you pass null, or the empty
+ string (""), then no indentation will happen.
+ </p>
+ Default: none (null)
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>indent</CODE> - <code>String</code> to use for indentation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIndent(boolean)"><!-- --></A><H3>
+setIndent</H3>
+<PRE>
+public void <B>setIndent</B>(boolean doIndent)</PRE>
+<DL>
+<DD>Set the indent on or off. If setting on, will use the value of
+ STANDARD_INDENT, which is usually two spaces.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doIndent</CODE> - if true, set indenting on; if false, set indenting off</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIndentSize(int)"><!-- --></A><H3>
+setIndentSize</H3>
+<PRE>
+public void <B>setIndentSize</B>(int indentSize)</PRE>
+<DL>
+<DD><p>
+ This will set the indent <code>String</code>'s size; an indentSize of
+ 4 would result in the indention being equivalent to the
+ <code>String</code> "    " (four space characters).
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>indentSize</CODE> - <code>int</code> number of spaces in indentation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isXHTML()"><!-- --></A><H3>
+isXHTML</H3>
+<PRE>
+public boolean <B>isXHTML</B>()</PRE>
+<DL>
+<DD><p>
+ Whether or not to use the XHTML standard: like HTML but passes an XML
+ parser with real, closed tags. Also, XHTML CDATA sections will be output
+ with the CDATA delimiters: ( " <b><![CDATA[ </b>" and "
+ <b>]]> </b>" ) otherwise, the class HTMLWriter will output the
+ CDATA text, but not the delimiters.
+ </p>
+ 
+ <p>
+ Default is <code>false</code>
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXHTML(boolean)"><!-- --></A><H3>
+setXHTML</H3>
+<PRE>
+public void <B>setXHTML</B>(boolean xhtml)</PRE>
+<DL>
+<DD><p>
+ This will set whether or not to use the XHTML standard: like HTML but
+ passes an XML parser with real, closed tags. Also, XHTML CDATA sections
+ will be output with the CDATA delimiters: ( " <b><[CDATA[
+ </b>" and " <b>]]< </b>) otherwise, the class HTMLWriter
+ will output the CDATA text, but not the delimiters.
+ </p>
+ 
+ <p>
+ Default: false
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xhtml</CODE> - <code>boolean</code> true=>conform to XHTML, false=>conform
+            to HTML, can have unclosed tags, etc.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNewLineAfterNTags()"><!-- --></A><H3>
+getNewLineAfterNTags</H3>
+<PRE>
+public int <B>getNewLineAfterNTags</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNewLineAfterNTags(int)"><!-- --></A><H3>
+setNewLineAfterNTags</H3>
+<PRE>
+public void <B>setNewLineAfterNTags</B>(int tagCount)</PRE>
+<DL>
+<DD>Controls output of a line.separator every tagCount tags when isNewlines
+ is false. If tagCount equals zero, it means don't do anything special. If
+ greater than zero, then a line.separator will be output after tagCount
+ tags have been output. Used when you would like to squeeze the html as
+ much as possible, but some browsers don't like really long lines. A tag
+ count of 10 would produce a line.separator in the output after 10 close
+ tags (including single tags).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>tagCount</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeQuoteCharacter()"><!-- --></A><H3>
+getAttributeQuoteCharacter</H3>
+<PRE>
+public char <B>getAttributeQuoteCharacter</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeQuoteCharacter(char)"><!-- --></A><H3>
+setAttributeQuoteCharacter</H3>
+<PRE>
+public void <B>setAttributeQuoteCharacter</B>(char quoteChar)</PRE>
+<DL>
+<DD>Sets the character used to quote attribute values. The specified
+ character must be a valid XML attribute quote character, otherwise an
+ <code>IllegalArgumentException</code> will be thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>quoteChar</CODE> - The character to use when quoting attribute values.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - If the specified character is not a valid XML attribute quote
+             character.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parseOptions(java.lang.String[], int)"><!-- --></A><H3>
+parseOptions</H3>
+<PRE>
+public int <B>parseOptions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[] args,
+                        int i)</PRE>
+<DL>
+<DD>Parses command line arguments of the form <code>-omitEncoding
+ -indentSize 3 -newlines -trimText</code>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>args</CODE> - is the array of command line arguments<DD><CODE>i</CODE> - is the index in args to start parsing options
+<DT><B>Returns:</B><DD>the index of first parameter that we didn't understand</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createPrettyPrint()"><!-- --></A><H3>
+createPrettyPrint</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> <B>createPrettyPrint</B>()</PRE>
+<DL>
+<DD>A static helper method to create the default pretty printing format. This
+ format consists of an indent of 2 spaces, newlines after each element and
+ all other whitespace trimmed, and XMTML is false.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCompactFormat()"><!-- --></A><H3>
+createCompactFormat</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> <B>createCompactFormat</B>()</PRE>
+<DL>
+<DD>A static helper method to create the default compact format. This format
+ does not have any indentation or newlines after an alement and all other
+ whitespace trimmed
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/OutputFormat.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="OutputFormat.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/SAXContentHandler.html b/docs/apidocs/org/dom4j/io/SAXContentHandler.html
new file mode 100644
index 0000000..fd85131
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/SAXContentHandler.html
@@ -0,0 +1,1701 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SAXContentHandler (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.SAXContentHandler class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SAXContentHandler (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXContentHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXContentHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class SAXContentHandler</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">org.xml.sax.helpers.DefaultHandler</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.SAXContentHandler</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A>, <A [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>SAXContentHandler</B><DT>extends <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">DefaultHandler</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="cla [...]
+
+<P>
+<p>
+ <code>SAXContentHandler</code> builds a dom4j tree via SAX events.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.61 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#SAXContentHandler()">SAXContentHandler</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory)">SAXContentHandler</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler)">SAXContentHandler</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory,
+                  <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> elementHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler, org.dom4j.io.ElementStack)">SAXContentHandler</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory,
+                  <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> elementHandler,
+                  org.dom4j.io.ElementStack elementStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#addAttributes(org.dom4j.Element, org.xml.sax.Attributes)">addAttributes</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+              <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+          Add all the attributes to the given elements</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#addDeclaredNamespaces(org.dom4j.Element)">addDeclaredNamespaces</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Add all namespaces declared before the startElement() SAX event to the
+ current element so that they are available to child elements and
+ attributes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#addDTDDeclaration(java.lang.Object)">addDTDDeclaration</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> declaration)</CODE>
+
+<BR>
+          Adds an internal DTD declaration to the list of declarations</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#addExternalDTDDeclaration(java.lang.Object)">addExternalDTDDeclaration</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> declaration)</CODE>
+
+<BR>
+          Adds an external DTD declaration to the list of declarations</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)">attributeDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> eName,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> aName,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> type,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> valueDefault,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> val)</CODE>
+
+<BR>
+          Report an attribute type declaration.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#characters(char[], int, int)">characters</A></B>(char[] ch,
+           int start,
+           int end)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#comment(char[], int, int)">comment</A></B>(char[] ch,
+        int start,
+        int end)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#completeCurrentTextNode()">completeCurrentTextNode</A></B>()</CODE>
+
+<BR>
+          If the current text buffer contains any text then create a new text node
+ with it and add it to the current element</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  org.dom4j.io.ElementStack</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#createElementStack()">createElementStack</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#elementDecl(java.lang.String, java.lang.String)">elementDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> model)</CODE>
+
+<BR>
+          Report an element type declaration.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#endCDATA()">endCDATA</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#endDocument()">endDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#endDTD()">endDTD</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#endElement(java.lang.String, java.lang.String, java.lang.String)">endElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#endEntity(java.lang.String)">endEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#endPrefixMapping(java.lang.String)">endPrefixMapping</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#error(org.xml.sax.SAXParseException)">error</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> exception)</CODE>
+
+<BR>
+          This method is called when an error is detected during parsing such as a
+ validation error. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)">externalEntityDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> sysId)</CODE>
+
+<BR>
+          Report a parsed external entity declaration.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#fatalError(org.xml.sax.SAXParseException)">fatalError</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> exception)</CODE>
+
+<BR>
+          This method is called when a fatal error occurs during parsing. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.dom4j.io.ElementStack</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#getElementStack()">getElementStack</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#getEntityResolver()">getEntityResolver</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#getInputSource()">getInputSource</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#internalEntityDecl(java.lang.String, java.lang.String)">internalEntityDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          Report an internal entity declaration.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#isIgnorableEntity(java.lang.String)">isIgnorableEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          a Strategy Method to determine if a given entity name is ignorable</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#isIgnoreComments()">isIgnoreComments</A></B>()</CODE>
+
+<BR>
+          Returns whether we should ignore comments or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#isIncludeExternalDTDDeclarations()">isIncludeExternalDTDDeclarations</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#isIncludeInternalDTDDeclarations()">isIncludeInternalDTDDeclarations</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#isMergeAdjacentText()">isMergeAdjacentText</A></B>()</CODE>
+
+<BR>
+          Returns whether adjacent text nodes should be merged together.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#isStripWhitespaceText()">isStripWhitespaceText</A></B>()</CODE>
+
+<BR>
+          Sets whether whitespace between element start and end tags should be
+ ignored</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#notationDecl(java.lang.String, java.lang.String, java.lang.String)">notationDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Receive notification of a notation declaration event.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#processingInstruction(java.lang.String, java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#setDocumentLocator(org.xml.sax.Locator)">setDocumentLocator</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Locator.html" title="class or interface in org.xml.sax">Locator</A> documentLocator)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#setElementStack(org.dom4j.io.ElementStack)">setElementStack</A></B>(org.dom4j.io.ElementStack elementStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#setEntityResolver(org.xml.sax.EntityResolver)">setEntityResolver</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#setIgnoreComments(boolean)">setIgnoreComments</A></B>(boolean ignoreComments)</CODE>
+
+<BR>
+          Sets whether we should ignore comments or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#setIncludeExternalDTDDeclarations(boolean)">setIncludeExternalDTDDeclarations</A></B>(boolean include)</CODE>
+
+<BR>
+          Sets whether DTD external declarations should be expanded into the
+ DocumentType object or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#setIncludeInternalDTDDeclarations(boolean)">setIncludeInternalDTDDeclarations</A></B>(boolean include)</CODE>
+
+<BR>
+          Sets whether internal DTD declarations should be expanded into the
+ DocumentType object or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#setInputSource(org.xml.sax.InputSource)">setInputSource</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> inputSource)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#setMergeAdjacentText(boolean)">setMergeAdjacentText</A></B>(boolean mergeAdjacentText)</CODE>
+
+<BR>
+          Sets whether or not adjacent text nodes should be merged together when
+ parsing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#setStripWhitespaceText(boolean)">setStripWhitespaceText</A></B>(boolean stripWhitespaceText)</CODE>
+
+<BR>
+          Sets whether whitespace between element start and end tags should be
+ ignored.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#startCDATA()">startCDATA</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#startDocument()">startDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#startDTD(java.lang.String, java.lang.String, java.lang.String)">startDTD</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)">startElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#startEntity(java.lang.String)">startEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#startPrefixMapping(java.lang.String, java.lang.String)">startPrefixMapping</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">unparsedEntityDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> notationName)</CODE>
+
+<BR>
+          Receive notification of an unparsed entity declaration event.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html#warning(org.xml.sax.SAXParseException)">warning</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> exception)</CODE>
+
+<BR>
+          This method is called when a warning occurs during the parsing of the
+ document. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.xml.sax.helpers.DefaultHandler"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.xml.sax.helpers.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">DefaultHandler</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html#ignorableWhitespace(char[], int, int)" title="class or interface in org.xml.sax.helpers">ignorableWhitespace</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html#resolveEntity(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.helpers">resolveEntity</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/ [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SAXContentHandler()"><!-- --></A><H3>
+SAXContentHandler</H3>
+<PRE>
+public <B>SAXContentHandler</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXContentHandler(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+SAXContentHandler</H3>
+<PRE>
+public <B>SAXContentHandler</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler)"><!-- --></A><H3>
+SAXContentHandler</H3>
+<PRE>
+public <B>SAXContentHandler</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory,
+                         <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> elementHandler)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXContentHandler(org.dom4j.DocumentFactory, org.dom4j.ElementHandler, org.dom4j.io.ElementStack)"><!-- --></A><H3>
+SAXContentHandler</H3>
+<PRE>
+public <B>SAXContentHandler</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory,
+                         <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> elementHandler,
+                         org.dom4j.io.ElementStack elementStack)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getDocument()"><!-- --></A><H3>
+getDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>getDocument</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the document that has been or is being built</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentLocator(org.xml.sax.Locator)"><!-- --></A><H3>
+setDocumentLocator</H3>
+<PRE>
+public void <B>setDocumentLocator</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Locator.html" title="class or interface in org.xml.sax">Locator</A> documentLocator)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#setDocumentLocator(org.xml.sax.Locator)" title="class or interface in org.xml.sax">setDocumentLocator</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+processingInstruction</H3>
+<PRE>
+public void <B>processingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+                           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#processingInstruction(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">processingInstruction</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startPrefixMapping(java.lang.String, java.lang.String)"><!-- --></A><H3>
+startPrefixMapping</H3>
+<PRE>
+public void <B>startPrefixMapping</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#startPrefixMapping(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">startPrefixMapping</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endPrefixMapping(java.lang.String)"><!-- --></A><H3>
+endPrefixMapping</H3>
+<PRE>
+public void <B>endPrefixMapping</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+                      throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#endPrefixMapping(java.lang.String)" title="class or interface in org.xml.sax">endPrefixMapping</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startDocument()"><!-- --></A><H3>
+startDocument</H3>
+<PRE>
+public void <B>startDocument</B>()
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#startDocument()" title="class or interface in org.xml.sax">startDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endDocument()"><!-- --></A><H3>
+endDocument</H3>
+<PRE>
+public void <B>endDocument</B>()
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#endDocument()" title="class or interface in org.xml.sax">endDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)"><!-- --></A><H3>
+startElement</H3>
+<PRE>
+public void <B>startElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)" title="class or interface in org.xml.sax">startElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endElement(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+endElement</H3>
+<PRE>
+public void <B>endElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#endElement(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">endElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="characters(char[], int, int)"><!-- --></A><H3>
+characters</H3>
+<PRE>
+public void <B>characters</B>(char[] ch,
+                       int start,
+                       int end)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#characters(char[], int, int)" title="class or interface in org.xml.sax">characters</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="warning(org.xml.sax.SAXParseException)"><!-- --></A><H3>
+warning</H3>
+<PRE>
+public void <B>warning</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> exception)
+             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>This method is called when a warning occurs during the parsing of the
+ document. This method does nothing.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html#warning(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax">warning</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>exception</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="error(org.xml.sax.SAXParseException)"><!-- --></A><H3>
+error</H3>
+<PRE>
+public void <B>error</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> exception)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>This method is called when an error is detected during parsing such as a
+ validation error. This method rethrows the exception
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html#error(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax">error</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>exception</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="fatalError(org.xml.sax.SAXParseException)"><!-- --></A><H3>
+fatalError</H3>
+<PRE>
+public void <B>fatalError</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> exception)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>This method is called when a fatal error occurs during parsing. This
+ method rethrows the exception
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html#fatalError(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax">fatalError</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>exception</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startDTD(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+startDTD</H3>
+<PRE>
+public void <B>startDTD</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+              throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startDTD(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">startDTD</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endDTD()"><!-- --></A><H3>
+endDTD</H3>
+<PRE>
+public void <B>endDTD</B>()
+            throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endDTD()" title="class or interface in org.xml.sax.ext">endDTD</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startEntity(java.lang.String)"><!-- --></A><H3>
+startEntity</H3>
+<PRE>
+public void <B>startEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startEntity(java.lang.String)" title="class or interface in org.xml.sax.ext">startEntity</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endEntity(java.lang.String)"><!-- --></A><H3>
+endEntity</H3>
+<PRE>
+public void <B>endEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endEntity(java.lang.String)" title="class or interface in org.xml.sax.ext">endEntity</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startCDATA()"><!-- --></A><H3>
+startCDATA</H3>
+<PRE>
+public void <B>startCDATA</B>()
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startCDATA()" title="class or interface in org.xml.sax.ext">startCDATA</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endCDATA()"><!-- --></A><H3>
+endCDATA</H3>
+<PRE>
+public void <B>endCDATA</B>()
+              throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endCDATA()" title="class or interface in org.xml.sax.ext">endCDATA</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="comment(char[], int, int)"><!-- --></A><H3>
+comment</H3>
+<PRE>
+public void <B>comment</B>(char[] ch,
+                    int start,
+                    int end)
+             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#comment(char[], int, int)" title="class or interface in org.xml.sax.ext">comment</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementDecl(java.lang.String, java.lang.String)"><!-- --></A><H3>
+elementDecl</H3>
+<PRE>
+public void <B>elementDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> model)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Report an element type declaration.
+ 
+ <p>
+ The content model will consist of the string "EMPTY", the string "ANY",
+ or a parenthesised group, optionally followed by an occurrence indicator.
+ The model will be normalized so that all parameter entities are fully
+ resolved and all whitespace is removed,and will include the enclosing
+ parentheses. Other normalization (such as removing redundant parentheses
+ or simplifying occurrence indicators) is at the discretion of the parser.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html#elementDecl(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">elementDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The element type name.<DD><CODE>model</CODE> - The content model as a normalized string.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - The application may raise an exception.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+attributeDecl</H3>
+<PRE>
+public void <B>attributeDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> eName,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> aName,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> type,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> valueDefault,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> val)
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Report an attribute type declaration.
+ 
+ <p>
+ Only the effective (first) declaration for an attribute will be reported.
+ The type will be one of the strings "CDATA", "ID", "IDREF", "IDREFS",
+ "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", a parenthesized token group
+ with the separator "|" and all whitespace removed, or the word "NOTATION"
+ followed by a space followed by a parenthesized token group with all
+ whitespace removed.
+ </p>
+ 
+ <p>
+ Any parameter entities in the attribute value will be expanded, but
+ general entities will not.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">attributeDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>eName</CODE> - The name of the associated element.<DD><CODE>aName</CODE> - The name of the attribute.<DD><CODE>type</CODE> - A string representing the attribute type.<DD><CODE>valueDefault</CODE> - A string representing the attribute default ("#IMPLIED",
+            "#REQUIRED", or "#FIXED") or null if none of these applies.<DD><CODE>val</CODE> - A string representing the attribute's default value, or null
+            if there is none.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - The application may raise an exception.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="internalEntityDecl(java.lang.String, java.lang.String)"><!-- --></A><H3>
+internalEntityDecl</H3>
+<PRE>
+public void <B>internalEntityDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Report an internal entity declaration.
+ 
+ <p>
+ Only the effective (first) declaration for each entity will be reported.
+ All parameter entities in the value will be expanded, but general
+ entities will not.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html#internalEntityDecl(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">internalEntityDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the entity. If it is a parameter entity, the name
+            will begin with '%'.<DD><CODE>value</CODE> - The replacement text of the entity.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - The application may raise an exception.<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/SAXContentHandler.html#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)"><CODE>externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)</CODE></A>, 
+<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax"><CODE>DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+externalEntityDecl</H3>
+<PRE>
+public void <B>externalEntityDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> sysId)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Report a parsed external entity declaration.
+ 
+ <p>
+ Only the effective (first) declaration for each entity will be reported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">externalEntityDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the entity. If it is a parameter entity, the name
+            will begin with '%'.<DD><CODE>publicId</CODE> - The declared public identifier of the entity, or null if none
+            was declared.<DD><CODE>sysId</CODE> - The declared system identifier of the entity.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - The application may raise an exception.<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/SAXContentHandler.html#internalEntityDecl(java.lang.String, java.lang.String)"><CODE>internalEntityDecl(java.lang.String, java.lang.String)</CODE></A>, 
+<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax"><CODE>DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="notationDecl(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+notationDecl</H3>
+<PRE>
+public void <B>notationDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Receive notification of a notation declaration event.
+ 
+ <p>
+ It is up to the application to record the notation for later reference,
+ if necessary.
+ </p>
+ 
+ <p>
+ At least one of publicId and systemId must be non-null. If a system
+ identifier is present, and it is a URL, the SAX parser must resolve it
+ fully before passing it to the application through this event.
+ </p>
+ 
+ <p>
+ There is no guarantee that the notation declaration will be reported
+ before any unparsed entities that use it.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html#notationDecl(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">notationDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The notation name.<DD><CODE>publicId</CODE> - The notation's public identifier, or null if none was given.<DD><CODE>systemId</CODE> - The notation's system identifier, or null if none was given.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - Any SAX exception, possibly wrapping another exception.<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/SAXContentHandler.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><CODE>unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)</CODE></A>, 
+<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/AttributeList.html" title="class or interface in org.xml.sax"><CODE>AttributeList</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+unparsedEntityDecl</H3>
+<PRE>
+public void <B>unparsedEntityDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> notationName)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Receive notification of an unparsed entity declaration event.
+ 
+ <p>
+ Note that the notation name corresponds to a notation reported by the
+ <A HREF="../../../org/dom4j/io/SAXContentHandler.html#notationDecl(java.lang.String, java.lang.String, java.lang.String)"><CODE>notationDecl</CODE></A>event. It is up to the application to
+ record the entity for later reference, if necessary.
+ </p>
+ 
+ <p>
+ If the system identifier is a URL, the parser must resolve it fully
+ before passing it to the application.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">unparsedEntityDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The unparsed entity's name.<DD><CODE>publicId</CODE> - The entity's public identifier, or null if none was given.<DD><CODE>systemId</CODE> - The entity's system identifier.<DD><CODE>notationName</CODE> - The name of the associated notation.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - Any SAX exception, possibly wrapping another exception.<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/SAXContentHandler.html#notationDecl(java.lang.String, java.lang.String, java.lang.String)"><CODE>notationDecl(java.lang.String, java.lang.String, java.lang.String)</CODE></A>, 
+<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/AttributeList.html" title="class or interface in org.xml.sax"><CODE>AttributeList</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElementStack()"><!-- --></A><H3>
+getElementStack</H3>
+<PRE>
+public org.dom4j.io.ElementStack <B>getElementStack</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setElementStack(org.dom4j.io.ElementStack)"><!-- --></A><H3>
+setElementStack</H3>
+<PRE>
+public void <B>setElementStack</B>(org.dom4j.io.ElementStack elementStack)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEntityResolver()"><!-- --></A><H3>
+getEntityResolver</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> <B>getEntityResolver</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEntityResolver(org.xml.sax.EntityResolver)"><!-- --></A><H3>
+setEntityResolver</H3>
+<PRE>
+public void <B>setEntityResolver</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInputSource()"><!-- --></A><H3>
+getInputSource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> <B>getInputSource</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setInputSource(org.xml.sax.InputSource)"><!-- --></A><H3>
+setInputSource</H3>
+<PRE>
+public void <B>setInputSource</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> inputSource)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isIncludeInternalDTDDeclarations()"><!-- --></A><H3>
+isIncludeInternalDTDDeclarations</H3>
+<PRE>
+public boolean <B>isIncludeInternalDTDDeclarations</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether internal DTD declarations should be expanded into the
+         DocumentType object or not.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIncludeInternalDTDDeclarations(boolean)"><!-- --></A><H3>
+setIncludeInternalDTDDeclarations</H3>
+<PRE>
+public void <B>setIncludeInternalDTDDeclarations</B>(boolean include)</PRE>
+<DL>
+<DD>Sets whether internal DTD declarations should be expanded into the
+ DocumentType object or not.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>include</CODE> - whether or not DTD declarations should be expanded and
+            included into the DocumentType object.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isIncludeExternalDTDDeclarations()"><!-- --></A><H3>
+isIncludeExternalDTDDeclarations</H3>
+<PRE>
+public boolean <B>isIncludeExternalDTDDeclarations</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether external DTD declarations should be expanded into the
+         DocumentType object or not.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIncludeExternalDTDDeclarations(boolean)"><!-- --></A><H3>
+setIncludeExternalDTDDeclarations</H3>
+<PRE>
+public void <B>setIncludeExternalDTDDeclarations</B>(boolean include)</PRE>
+<DL>
+<DD>Sets whether DTD external declarations should be expanded into the
+ DocumentType object or not.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>include</CODE> - whether or not DTD declarations should be expanded and
+            included into the DocumentType object.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isMergeAdjacentText()"><!-- --></A><H3>
+isMergeAdjacentText</H3>
+<PRE>
+public boolean <B>isMergeAdjacentText</B>()</PRE>
+<DL>
+<DD>Returns whether adjacent text nodes should be merged together.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property mergeAdjacentText.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMergeAdjacentText(boolean)"><!-- --></A><H3>
+setMergeAdjacentText</H3>
+<PRE>
+public void <B>setMergeAdjacentText</B>(boolean mergeAdjacentText)</PRE>
+<DL>
+<DD>Sets whether or not adjacent text nodes should be merged together when
+ parsing.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>mergeAdjacentText</CODE> - New value of property mergeAdjacentText.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isStripWhitespaceText()"><!-- --></A><H3>
+isStripWhitespaceText</H3>
+<PRE>
+public boolean <B>isStripWhitespaceText</B>()</PRE>
+<DL>
+<DD>Sets whether whitespace between element start and end tags should be
+ ignored
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property stripWhitespaceText.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStripWhitespaceText(boolean)"><!-- --></A><H3>
+setStripWhitespaceText</H3>
+<PRE>
+public void <B>setStripWhitespaceText</B>(boolean stripWhitespaceText)</PRE>
+<DL>
+<DD>Sets whether whitespace between element start and end tags should be
+ ignored.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>stripWhitespaceText</CODE> - New value of property stripWhitespaceText.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isIgnoreComments()"><!-- --></A><H3>
+isIgnoreComments</H3>
+<PRE>
+public boolean <B>isIgnoreComments</B>()</PRE>
+<DL>
+<DD>Returns whether we should ignore comments or not.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>boolean</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIgnoreComments(boolean)"><!-- --></A><H3>
+setIgnoreComments</H3>
+<PRE>
+public void <B>setIgnoreComments</B>(boolean ignoreComments)</PRE>
+<DL>
+<DD>Sets whether we should ignore comments or not.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ignoreComments</CODE> - whether we should ignore comments or not.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="completeCurrentTextNode()"><!-- --></A><H3>
+completeCurrentTextNode</H3>
+<PRE>
+protected void <B>completeCurrentTextNode</B>()</PRE>
+<DL>
+<DD>If the current text buffer contains any text then create a new text node
+ with it and add it to the current element
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocument()"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isIgnorableEntity(java.lang.String)"><!-- --></A><H3>
+isIgnorableEntity</H3>
+<PRE>
+protected boolean <B>isIgnorableEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>a Strategy Method to determine if a given entity name is ignorable
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addDeclaredNamespaces(org.dom4j.Element)"><!-- --></A><H3>
+addDeclaredNamespaces</H3>
+<PRE>
+protected void <B>addDeclaredNamespaces</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD>Add all namespaces declared before the startElement() SAX event to the
+ current element so that they are available to child elements and
+ attributes
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAttributes(org.dom4j.Element, org.xml.sax.Attributes)"><!-- --></A><H3>
+addAttributes</H3>
+<PRE>
+protected void <B>addAttributes</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</PRE>
+<DL>
+<DD>Add all the attributes to the given elements
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!<DD><CODE>attributes</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addDTDDeclaration(java.lang.Object)"><!-- --></A><H3>
+addDTDDeclaration</H3>
+<PRE>
+protected void <B>addDTDDeclaration</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> declaration)</PRE>
+<DL>
+<DD>Adds an internal DTD declaration to the list of declarations
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>declaration</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addExternalDTDDeclaration(java.lang.Object)"><!-- --></A><H3>
+addExternalDTDDeclaration</H3>
+<PRE>
+protected void <B>addExternalDTDDeclaration</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> declaration)</PRE>
+<DL>
+<DD>Adds an external DTD declaration to the list of declarations
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>declaration</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElementStack()"><!-- --></A><H3>
+createElementStack</H3>
+<PRE>
+protected org.dom4j.io.ElementStack <B>createElementStack</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXContentHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXContentHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/SAXEventRecorder.html b/docs/apidocs/org/dom4j/io/SAXEventRecorder.html
new file mode 100644
index 0000000..7fde372
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/SAXEventRecorder.html
@@ -0,0 +1,913 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SAXEventRecorder (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.SAXEventRecorder class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SAXEventRecorder (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXEventRecorder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXEventRecorder.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class SAXEventRecorder</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">org.xml.sax.helpers.DefaultHandler</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.SAXEventRecorder</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A>, <A [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>SAXEventRecorder</B><DT>extends <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">DefaultHandler</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="clas [...]
+
+<P>
+<p>
+ Records SAX events such that they may be "replayed" at a later time. Provides
+ an alternative serialization approach when externalizing a DOM4J document.
+ Rather than serializing a document as text and re-parsing, the sax events may
+ be serialized instead.
+ </p>
+ Example usage:
+ 
+ <pre>
+ 
+  
+  
+         SAXEventRecorder recorder = new SAXEventRecorder();
+         SAXWriter saxWriter = new SAXWriter(recorder, recorder);
+         saxWriter.write(document);
+         out.writeObject(recorder);
+         ...
+         SAXEventRecorder recorder = (SAXEventRecorder)in.readObject();
+         SAXContentHandler saxContentHandler = new SAXContentHandler();
+         recorder.replay(saxContentHandler);
+         Document document = saxContentHandler.getDocument();
+  
+   
+  
+ </pre>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Todd Wolff (Bluestem Software)</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.io.SAXEventRecorder">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#serialVersionUID">serialVersionUID</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#SAXEventRecorder()">SAXEventRecorder</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)">attributeDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> eName,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> aName,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> type,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> valueDefault,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#characters(char[], int, int)">characters</A></B>(char[] ch,
+           int start,
+           int end)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#comment(char[], int, int)">comment</A></B>(char[] ch,
+        int start,
+        int end)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#elementDecl(java.lang.String, java.lang.String)">elementDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> model)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#endCDATA()">endCDATA</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#endDocument()">endDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#endDTD()">endDTD</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#endElement(java.lang.String, java.lang.String, java.lang.String)">endElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#endEntity(java.lang.String)">endEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#endPrefixMapping(java.lang.String)">endPrefixMapping</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)">externalEntityDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> sysId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#internalEntityDecl(java.lang.String, java.lang.String)">internalEntityDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#processingInstruction(java.lang.String, java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#readExternal(java.io.ObjectInput)">readExternal</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectInput.html" title="class or interface in java.io">ObjectInput</A> in)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#replay(org.xml.sax.ContentHandler)">replay</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> handler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#startCDATA()">startCDATA</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#startDocument()">startDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#startDTD(java.lang.String, java.lang.String, java.lang.String)">startDTD</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)">startElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#startEntity(java.lang.String)">startEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#startPrefixMapping(java.lang.String, java.lang.String)">startPrefixMapping</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html#writeExternal(java.io.ObjectOutput)">writeExternal</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectOutput.html" title="class or interface in java.io">ObjectOutput</A> out)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.xml.sax.helpers.DefaultHandler"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.xml.sax.helpers.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">DefaultHandler</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html#error(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax.helpers">error</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html#fatalError(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax.helpers">fatalError</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/Defaul [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.xml.sax.DTDHandler"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html#notationDecl(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">notationDecl</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">unparsedEntityDecl</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="serialVersionUID"><!-- --></A><H3>
+serialVersionUID</H3>
+<PRE>
+public static final long <B>serialVersionUID</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.io.SAXEventRecorder.serialVersionUID">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SAXEventRecorder()"><!-- --></A><H3>
+SAXEventRecorder</H3>
+<PRE>
+public <B>SAXEventRecorder</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="replay(org.xml.sax.ContentHandler)"><!-- --></A><H3>
+replay</H3>
+<PRE>
+public void <B>replay</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> handler)
+            throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+processingInstruction</H3>
+<PRE>
+public void <B>processingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+                           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#processingInstruction(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">processingInstruction</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startPrefixMapping(java.lang.String, java.lang.String)"><!-- --></A><H3>
+startPrefixMapping</H3>
+<PRE>
+public void <B>startPrefixMapping</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#startPrefixMapping(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">startPrefixMapping</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endPrefixMapping(java.lang.String)"><!-- --></A><H3>
+endPrefixMapping</H3>
+<PRE>
+public void <B>endPrefixMapping</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+                      throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#endPrefixMapping(java.lang.String)" title="class or interface in org.xml.sax">endPrefixMapping</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startDocument()"><!-- --></A><H3>
+startDocument</H3>
+<PRE>
+public void <B>startDocument</B>()
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#startDocument()" title="class or interface in org.xml.sax">startDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endDocument()"><!-- --></A><H3>
+endDocument</H3>
+<PRE>
+public void <B>endDocument</B>()
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#endDocument()" title="class or interface in org.xml.sax">endDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)"><!-- --></A><H3>
+startElement</H3>
+<PRE>
+public void <B>startElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)" title="class or interface in org.xml.sax">startElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endElement(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+endElement</H3>
+<PRE>
+public void <B>endElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#endElement(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">endElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="characters(char[], int, int)"><!-- --></A><H3>
+characters</H3>
+<PRE>
+public void <B>characters</B>(char[] ch,
+                       int start,
+                       int end)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#characters(char[], int, int)" title="class or interface in org.xml.sax">characters</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startDTD(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+startDTD</H3>
+<PRE>
+public void <B>startDTD</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+              throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startDTD(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">startDTD</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endDTD()"><!-- --></A><H3>
+endDTD</H3>
+<PRE>
+public void <B>endDTD</B>()
+            throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endDTD()" title="class or interface in org.xml.sax.ext">endDTD</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startEntity(java.lang.String)"><!-- --></A><H3>
+startEntity</H3>
+<PRE>
+public void <B>startEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startEntity(java.lang.String)" title="class or interface in org.xml.sax.ext">startEntity</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endEntity(java.lang.String)"><!-- --></A><H3>
+endEntity</H3>
+<PRE>
+public void <B>endEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endEntity(java.lang.String)" title="class or interface in org.xml.sax.ext">endEntity</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startCDATA()"><!-- --></A><H3>
+startCDATA</H3>
+<PRE>
+public void <B>startCDATA</B>()
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startCDATA()" title="class or interface in org.xml.sax.ext">startCDATA</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endCDATA()"><!-- --></A><H3>
+endCDATA</H3>
+<PRE>
+public void <B>endCDATA</B>()
+              throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endCDATA()" title="class or interface in org.xml.sax.ext">endCDATA</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="comment(char[], int, int)"><!-- --></A><H3>
+comment</H3>
+<PRE>
+public void <B>comment</B>(char[] ch,
+                    int start,
+                    int end)
+             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#comment(char[], int, int)" title="class or interface in org.xml.sax.ext">comment</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementDecl(java.lang.String, java.lang.String)"><!-- --></A><H3>
+elementDecl</H3>
+<PRE>
+public void <B>elementDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> model)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html#elementDecl(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">elementDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+attributeDecl</H3>
+<PRE>
+public void <B>attributeDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> eName,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> aName,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> type,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> valueDefault,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">attributeDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="internalEntityDecl(java.lang.String, java.lang.String)"><!-- --></A><H3>
+internalEntityDecl</H3>
+<PRE>
+public void <B>internalEntityDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html#internalEntityDecl(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">internalEntityDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+externalEntityDecl</H3>
+<PRE>
+public void <B>externalEntityDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> sysId)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">externalEntityDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeExternal(java.io.ObjectOutput)"><!-- --></A><H3>
+writeExternal</H3>
+<PRE>
+public void <B>writeExternal</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectOutput.html" title="class or interface in java.io">ObjectOutput</A> out)
+                   throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Externalizable.html#writeExternal(java.io.ObjectOutput)" title="class or interface in java.io">writeExternal</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Externalizable.html" title="class or interface in java.io">Externalizable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readExternal(java.io.ObjectInput)"><!-- --></A><H3>
+readExternal</H3>
+<PRE>
+public void <B>readExternal</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectInput.html" title="class or interface in java.io">ObjectInput</A> in)
+                  throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A>,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Externalizable.html#readExternal(java.io.ObjectInput)" title="class or interface in java.io">readExternal</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Externalizable.html" title="class or interface in java.io">Externalizable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXEventRecorder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXEventRecorder.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/SAXModifier.html b/docs/apidocs/org/dom4j/io/SAXModifier.html
new file mode 100644
index 0000000..265f302
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/SAXModifier.html
@@ -0,0 +1,730 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SAXModifier (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.SAXModifier class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SAXModifier (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXModifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class SAXModifier</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.SAXModifier</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>SAXModifier</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+The SAXModifier reads, modifies and writes XML documents using SAX.
+ 
+ <p>
+ Registered <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>objects can provide modifications to (part
+ of) the xml tree, while the document is still being processed. This makes it
+ possible to change large xml documents without having them in memory.
+ </p>
+ 
+ <p>
+ The modified document is written when the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>is specified.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Wonne Keysers (Realsoftware.be)</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><CODE>SAXReader</CODE></A>, 
+<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#SAXModifier()">SAXModifier</A></B>()</CODE>
+
+<BR>
+          Creates a new modifier. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#SAXModifier(boolean)">SAXModifier</A></B>(boolean pruneElements)</CODE>
+
+<BR>
+          Creates a new modifier. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#SAXModifier(org.xml.sax.XMLReader)">SAXModifier</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader)</CODE>
+
+<BR>
+          Creates a new modifier that will the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax"><CODE>XMLReader</CODE></A> to parse the source.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#SAXModifier(org.xml.sax.XMLReader, boolean)">SAXModifier</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader,
+            boolean pruneElements)</CODE>
+
+<BR>
+          Creates a new modifier that will the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax"><CODE>XMLReader</CODE></A> to parse the source.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#addModifier(java.lang.String, org.dom4j.io.ElementModifier)">addModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+            <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io">ElementModifier</A> modifier)</CODE>
+
+<BR>
+          Adds the <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>to be called when the specified element
+ path is encounted while parsing the source.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          Get the <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>used to create the DOM4J
+ document structure</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#getXMLWriter()">getXMLWriter</A></B>()</CODE>
+
+<BR>
+          Returns the current <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#isPruneElements()">isPruneElements</A></B>()</CODE>
+
+<BR>
+          Returns true when xml elements are not kept in memory while parsing. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.File)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(org.xml.sax.InputSource)">modify</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>and
+ writes it to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.InputStream)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.InputStream, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.Reader)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.io.Reader, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given URL or filename and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#modify(java.net.URL)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)</CODE>
+
+<BR>
+          Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net"><CODE>URL</CODE></A>and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#removeModifier(java.lang.String)">removeModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          Removes the <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>from the event based processor, for
+ the specified element path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#resetModifiers()">resetModifiers</A></B>()</CODE>
+
+<BR>
+          Removes all registered <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>instances from the event
+ based processor.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+          Sets the <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>used to create the DOM4J
+ document tree.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXModifier.html#setXMLWriter(org.dom4j.io.XMLWriter)">setXMLWriter</A></B>(<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> writer)</CODE>
+
+<BR>
+          Sets the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>used to write the modified document.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SAXModifier()"><!-- --></A><H3>
+SAXModifier</H3>
+<PRE>
+public <B>SAXModifier</B>()</PRE>
+<DL>
+<DD>Creates a new modifier. <br>
+ The XMLReader to parse the source will be created via the
+ org.xml.sax.driver system property or JAXP if the system property is not
+ set.
+<P>
+</DL>
+<HR>
+
+<A NAME="SAXModifier(boolean)"><!-- --></A><H3>
+SAXModifier</H3>
+<PRE>
+public <B>SAXModifier</B>(boolean pruneElements)</PRE>
+<DL>
+<DD>Creates a new modifier. <br>
+ The XMLReader to parse the source will be created via the
+ org.xml.sax.driver system property or JAXP if the system property is not
+ set.
+<P>
+<DT><B>Parameters:</B><DD><CODE>pruneElements</CODE> - Set to true when the modified document must NOT be kept in
+            memory.</DL>
+<HR>
+
+<A NAME="SAXModifier(org.xml.sax.XMLReader)"><!-- --></A><H3>
+SAXModifier</H3>
+<PRE>
+public <B>SAXModifier</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader)</PRE>
+<DL>
+<DD>Creates a new modifier that will the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax"><CODE>XMLReader</CODE></A> to parse the source.
+<P>
+<DT><B>Parameters:</B><DD><CODE>xmlReader</CODE> - The XMLReader to use</DL>
+<HR>
+
+<A NAME="SAXModifier(org.xml.sax.XMLReader, boolean)"><!-- --></A><H3>
+SAXModifier</H3>
+<PRE>
+public <B>SAXModifier</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader,
+                   boolean pruneElements)</PRE>
+<DL>
+<DD>Creates a new modifier that will the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax"><CODE>XMLReader</CODE></A> to parse the source.
+<P>
+<DT><B>Parameters:</B><DD><CODE>xmlReader</CODE> - The XMLReader to use<DD><CODE>pruneElements</CODE> - Set to true when the modified document must NOT be kept in
+            memory.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="modify(java.io.File)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. Registered 
+ objects are invoked on the fly.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - is the <code>File</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - DocumentException org.dom4j.DocumentException} if an error
+             occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(org.xml.sax.InputSource)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>and
+ writes it to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. Registered
+ <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>objects are invoked on the fly.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - is the <code>org.xml.sax.InputSource</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - DocumentException org.dom4j.DocumentException} if an error
+             occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.io.InputStream)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. Registered <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A> objects are invoked on the fly.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - is the <code>java.io.InputStream</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - DocumentException org.dom4j.DocumentException} if an error
+             occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>and writes it
+ to the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. Registered <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A> objects are invoked on the fly.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - is the <code>java.io.InputStream</code> to read from.<DD><CODE>systemId</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - DocumentException org.dom4j.DocumentException} if an error
+             occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.io.Reader)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. Registered <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A> objects are invoked on the fly.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - is the <code>java.io.Reader</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - DocumentException org.dom4j.DocumentException} if an error
+             occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.io.Reader, java.lang.String)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>and writes it to
+ the specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. Registered <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A> objects are invoked on the fly.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - is the <code>java.io.Reader</code> to read from.<DD><CODE>systemId</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - DocumentException org.dom4j.DocumentException} if an error
+             occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.net.URL)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Reads a Document from the given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net"><CODE>URL</CODE></A>and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. Registered 
+ objects are invoked on the fly.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - is the <code>java.net.URL</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - DocumentException org.dom4j.DocumentException} if an error
+             occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.lang.String)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Reads a Document from the given URL or filename and writes it to the
+ specified <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>using SAX. Registered 
+ objects are invoked on the fly.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - is the URL or filename to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - DocumentException org.dom4j.DocumentException} if an error
+             occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addModifier(java.lang.String, org.dom4j.io.ElementModifier)"><!-- --></A><H3>
+addModifier</H3>
+<PRE>
+public void <B>addModifier</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                        <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io">ElementModifier</A> modifier)</PRE>
+<DL>
+<DD>Adds the <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>to be called when the specified element
+ path is encounted while parsing the source.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - The element path to be handled<DD><CODE>modifier</CODE> - The <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>to be called by the event based
+            processor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resetModifiers()"><!-- --></A><H3>
+resetModifiers</H3>
+<PRE>
+public void <B>resetModifiers</B>()</PRE>
+<DL>
+<DD>Removes all registered <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>instances from the event
+ based processor.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeModifier(java.lang.String)"><!-- --></A><H3>
+removeModifier</H3>
+<PRE>
+public void <B>removeModifier</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</PRE>
+<DL>
+<DD>Removes the <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>from the event based processor, for
+ the specified element path.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - The path to remove the <A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>for.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD>Get the <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>used to create the DOM4J
+ document structure
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>DocumentFactory</code> that will be used</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</PRE>
+<DL>
+<DD>Sets the <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>used to create the DOM4J
+ document tree.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>factory</CODE> - <code>DocumentFactory</code> to be used</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXMLWriter()"><!-- --></A><H3>
+getXMLWriter</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> <B>getXMLWriter</B>()</PRE>
+<DL>
+<DD>Returns the current <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>XMLWriter</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLWriter(org.dom4j.io.XMLWriter)"><!-- --></A><H3>
+setXMLWriter</H3>
+<PRE>
+public void <B>setXMLWriter</B>(<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> writer)</PRE>
+<DL>
+<DD>Sets the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>used to write the modified document.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>writer</CODE> - The writer to use.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isPruneElements()"><!-- --></A><H3>
+isPruneElements</H3>
+<PRE>
+public boolean <B>isPruneElements</B>()</PRE>
+<DL>
+<DD>Returns true when xml elements are not kept in memory while parsing. The
+ <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>returned by the modify methods will be null.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Returns the pruneElements.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXModifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/SAXReader.SAXEntityResolver.html b/docs/apidocs/org/dom4j/io/SAXReader.SAXEntityResolver.html
new file mode 100644
index 0000000..fedcd68
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/SAXReader.SAXEntityResolver.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SAXReader.SAXEntityResolver (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.SAXReader.SAXEntityResolver class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SAXReader.SAXEntityResolver (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXReader.SAXEntityResolver.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXReader.SAXEntityResolver.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class SAXReader.SAXEntityResolver</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.SAXReader.SAXEntityResolver</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>protected static class <B>SAXReader.SAXEntityResolver</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.io.SAXReader.SAXEntityResolver">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html#uriPrefix">uriPrefix</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html#SAXReader.SAXEntityResolver(java.lang.String)">SAXReader.SAXEntityResolver</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uriPrefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html#resolveEntity(java.lang.String, java.lang.String)">resolveEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="uriPrefix"><!-- --></A><H3>
+uriPrefix</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>uriPrefix</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SAXReader.SAXEntityResolver(java.lang.String)"><!-- --></A><H3>
+SAXReader.SAXEntityResolver</H3>
+<PRE>
+public <B>SAXReader.SAXEntityResolver</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uriPrefix)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="resolveEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
+resolveEntity</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> <B>resolveEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html#resolveEntity(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">resolveEntity</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXReader.SAXEntityResolver.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXReader.SAXEntityResolver.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/SAXReader.html b/docs/apidocs/org/dom4j/io/SAXReader.html
new file mode 100644
index 0000000..4d3bcbe
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/SAXReader.html
@@ -0,0 +1,1586 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SAXReader (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.SAXReader class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SAXReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class SAXReader</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.SAXReader</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>SAXReader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>SAXReader</code> creates a DOM4J tree from SAX parsing events.
+ </p>
+ 
+ <p>
+ The actual SAX parser that is used by this class is configurable so you can
+ use your favourite SAX parser if you wish. DOM4J comes configured with its
+ own SAX parser so you do not need to worry about configuring the SAX parser.
+ </p>
+ 
+ <p>
+ To explicitly configure the SAX parser that is used via Java code you can use
+ a constructor or use the <A HREF="../../../org/dom4j/io/SAXReader.html#setXMLReader(org.xml.sax.XMLReader)"><CODE>setXMLReader(XMLReader)</CODE></A>or <A HREF="../../../org/dom4j/io/SAXReader.html#setXMLReaderClassName(java.lang.String)"><CODE>setXMLReaderClassName(String)</CODE></A> methods.
+ </p>
+ 
+ <p>
+ If the parser is not specified explicitly then the standard SAX policy of
+ using the <code>org.xml.sax.driver</code> system property is used to
+ determine the implementation class of <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax"><CODE>XMLReader</CODE></A>.
+ </p>
+ 
+ <p>
+ If the <code>org.xml.sax.driver</code> system property is not defined then
+ JAXP is used via reflection (so that DOM4J is not explicitly dependent on the
+ JAXP classes) to load the JAXP configured SAXParser. If there is any error
+ creating a JAXP SAXParser an informational message is output and then the
+ default (Aelfred) SAX parser is used instead.
+ </p>
+ 
+ <p>
+ If you are trying to use JAXP to explicitly set your SAX parser and are
+ experiencing problems, you can turn on verbose error reporting by defining
+ the system property <code>org.dom4j.verbose</code> to be "true" which will
+ output a more detailed description of why JAXP could not find a SAX parser
+ </p>
+ 
+ <p>
+ For more information on JAXP please go to <a
+ href="http://java.sun.com/xml/">Sun's Java & XML site </a>
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.58 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io">SAXReader.SAXEntityResolver</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader()">SAXReader</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader(boolean)">SAXReader</A></B>(boolean validating)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader(org.dom4j.DocumentFactory)">SAXReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader(org.dom4j.DocumentFactory, boolean)">SAXReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory,
+          boolean validating)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader(java.lang.String)">SAXReader</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xmlReaderClassName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader(java.lang.String, boolean)">SAXReader</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xmlReaderClassName,
+          boolean validating)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader(org.xml.sax.XMLReader)">SAXReader</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#SAXReader(org.xml.sax.XMLReader, boolean)">SAXReader</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader,
+          boolean validating)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#configureReader(org.xml.sax.XMLReader, org.xml.sax.helpers.DefaultHandler)">configureReader</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader,
+                <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">DefaultHandler</A> handler)</CODE>
+
+<BR>
+          Configures the XMLReader before use</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#createContentHandler(org.xml.sax.XMLReader)">createContentHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)</CODE>
+
+<BR>
+          Factory Method to allow user derived SAXContentHandler objects to be used</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#createDefaultEntityResolver(java.lang.String)">createDefaultEntityResolver</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#createXMLReader()">createXMLReader</A></B>()</CODE>
+
+<BR>
+          Factory Method to allow alternate methods of creating and configuring
+ XMLReader objects</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  org.dom4j.io.DispatchHandler</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#getDispatchHandler()">getDispatchHandler</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#getEncoding()">getEncoding</A></B>()</CODE>
+
+<BR>
+          Returns encoding used for InputSource (null means system default
+ encoding)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#getEntityResolver()">getEntityResolver</A></B>()</CODE>
+
+<BR>
+          Returns the current entity resolver used to resolve entities</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#getErrorHandler()">getErrorHandler</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLFilter.html" title="class or interface in org.xml.sax">XMLFilter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#getXMLFilter()">getXMLFilter</A></B>()</CODE>
+
+<BR>
+          Returns the SAX filter being used to filter SAX events.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#getXMLReader()">getXMLReader</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#installXMLFilter(org.xml.sax.XMLReader)">installXMLFilter</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)</CODE>
+
+<BR>
+          Installs any XMLFilter objects required to allow the SAX event stream to
+ be filtered and preprocessed before it gets to dom4j.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#isIgnoreComments()">isIgnoreComments</A></B>()</CODE>
+
+<BR>
+          Returns whether we should ignore comments or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#isIncludeExternalDTDDeclarations()">isIncludeExternalDTDDeclarations</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#isIncludeInternalDTDDeclarations()">isIncludeInternalDTDDeclarations</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#isMergeAdjacentText()">isMergeAdjacentText</A></B>()</CODE>
+
+<BR>
+          Returns whether adjacent text nodes should be merged together.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#isStringInternEnabled()">isStringInternEnabled</A></B>()</CODE>
+
+<BR>
+          Sets whether String interning is enabled or disabled for element &
+ attribute names and namespace URIs. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#isStripWhitespaceText()">isStripWhitespaceText</A></B>()</CODE>
+
+<BR>
+          Sets whether whitespace between element start and end tags should be
+ ignored</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#isValidating()">isValidating</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>File</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(org.xml.sax.InputSource)">read</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>InputSource</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          
+ Reads a Document from the given URL or filename using SAX.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>URL</code> using SAX
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#removeHandler(java.lang.String)">removeHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#resetHandlers()">resetHandlers</A></B>()</CODE>
+
+<BR>
+          This method clears out all the existing handlers and default handler
+ setting things back as if no handler existed. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setDefaultHandler(org.dom4j.ElementHandler)">setDefaultHandler</A></B>(<A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setDispatchHandler(org.dom4j.io.DispatchHandler)">setDispatchHandler</A></B>(org.dom4j.io.DispatchHandler dispatchHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+          
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setEncoding(java.lang.String)">setEncoding</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</CODE>
+
+<BR>
+          Sets encoding used for InputSource (null means system default encoding)</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setEntityResolver(org.xml.sax.EntityResolver)">setEntityResolver</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</CODE>
+
+<BR>
+          Sets the entity resolver used to resolve entities.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setErrorHandler(org.xml.sax.ErrorHandler)">setErrorHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A> errorHandler)</CODE>
+
+<BR>
+          Sets the <code>ErrorHandler</code> used by the SAX
+ <code>XMLReader</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setFeature(java.lang.String, boolean)">setFeature</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+           boolean value)</CODE>
+
+<BR>
+          Sets a SAX feature on the underlying SAX parser. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setIgnoreComments(boolean)">setIgnoreComments</A></B>(boolean ignoreComments)</CODE>
+
+<BR>
+          Sets whether we should ignore comments or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setIncludeExternalDTDDeclarations(boolean)">setIncludeExternalDTDDeclarations</A></B>(boolean include)</CODE>
+
+<BR>
+          Sets whether DTD external declarations should be expanded into the
+ DocumentType object or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setIncludeInternalDTDDeclarations(boolean)">setIncludeInternalDTDDeclarations</A></B>(boolean include)</CODE>
+
+<BR>
+          Sets whether internal DTD declarations should be expanded into the
+ DocumentType object or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setMergeAdjacentText(boolean)">setMergeAdjacentText</A></B>(boolean mergeAdjacentText)</CODE>
+
+<BR>
+          Sets whether or not adjacent text nodes should be merged together when
+ parsing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setProperty(java.lang.String, java.lang.Object)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> value)</CODE>
+
+<BR>
+          Allows a SAX property to be set on the underlying SAX parser. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setStringInternEnabled(boolean)">setStringInternEnabled</A></B>(boolean stringInternEnabled)</CODE>
+
+<BR>
+          Sets whether String interning is enabled or disabled for element &
+ attribute names and namespace URIs</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setStripWhitespaceText(boolean)">setStripWhitespaceText</A></B>(boolean stripWhitespaceText)</CODE>
+
+<BR>
+          Sets whether whitespace between element start and end tags should be
+ ignored.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setValidation(boolean)">setValidation</A></B>(boolean validation)</CODE>
+
+<BR>
+          Sets the validation mode.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setXMLFilter(org.xml.sax.XMLFilter)">setXMLFilter</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLFilter.html" title="class or interface in org.xml.sax">XMLFilter</A> filter)</CODE>
+
+<BR>
+          Sets the SAX filter to be used when filtering SAX events</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setXMLReader(org.xml.sax.XMLReader)">setXMLReader</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)</CODE>
+
+<BR>
+          Sets the <code>XMLReader</code> used to parse SAX events</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXReader.html#setXMLReaderClassName(java.lang.String)">setXMLReaderClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xmlReaderClassName)</CODE>
+
+<BR>
+          Sets the class name of the <code>XMLReader</code> to be used to parse
+ SAX events.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SAXReader()"><!-- --></A><H3>
+SAXReader</H3>
+<PRE>
+public <B>SAXReader</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXReader(boolean)"><!-- --></A><H3>
+SAXReader</H3>
+<PRE>
+public <B>SAXReader</B>(boolean validating)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXReader(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+SAXReader</H3>
+<PRE>
+public <B>SAXReader</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXReader(org.dom4j.DocumentFactory, boolean)"><!-- --></A><H3>
+SAXReader</H3>
+<PRE>
+public <B>SAXReader</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory,
+                 boolean validating)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXReader(org.xml.sax.XMLReader)"><!-- --></A><H3>
+SAXReader</H3>
+<PRE>
+public <B>SAXReader</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXReader(org.xml.sax.XMLReader, boolean)"><!-- --></A><H3>
+SAXReader</H3>
+<PRE>
+public <B>SAXReader</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader,
+                 boolean validating)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXReader(java.lang.String)"><!-- --></A><H3>
+SAXReader</H3>
+<PRE>
+public <B>SAXReader</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xmlReaderClassName)
+          throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXReader(java.lang.String, boolean)"><!-- --></A><H3>
+SAXReader</H3>
+<PRE>
+public <B>SAXReader</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xmlReaderClassName,
+                 boolean validating)
+          throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setProperty(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setProperty</H3>
+<PRE>
+public void <B>setProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> value)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Allows a SAX property to be set on the underlying SAX parser. This can be
+ useful to set parser-specific properties such as the location of schema
+ or DTD resources. Though use this method with caution as it has the
+ possibility of breaking the standard behaviour. An alternative to calling
+ this method is to correctly configure an XMLReader object instance and
+ call the <A HREF="../../../org/dom4j/io/SAXReader.html#setXMLReader(org.xml.sax.XMLReader)"><CODE>setXMLReader(XMLReader)</CODE></A>method
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the SAX property name<DD><CODE>value</CODE> - is the value of the SAX property
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if the XMLReader could not be created or the property could
+             not be changed.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFeature(java.lang.String, boolean)"><!-- --></A><H3>
+setFeature</H3>
+<PRE>
+public void <B>setFeature</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                       boolean value)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Sets a SAX feature on the underlying SAX parser. This can be useful to
+ set parser-specific features. Though use this method with caution as it
+ has the possibility of breaking the standard behaviour. An alternative to
+ calling this method is to correctly configure an XMLReader object
+ instance and call the <A HREF="../../../org/dom4j/io/SAXReader.html#setXMLReader(org.xml.sax.XMLReader)"><CODE>setXMLReader(XMLReader)</CODE></A>method
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the SAX feature name<DD><CODE>value</CODE> - is the value of the SAX feature
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if the XMLReader could not be created or the feature could
+             not be changed.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.File)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>File</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - is the <code>File</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.net.URL)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>URL</code> using SAX
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - <code>URL</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given URL or filename using SAX.
+ </p>
+ 
+ <p>
+ If the systemId contains a <code>':'</code> character then it is
+ assumed to be a URL otherwise its assumed to be a file name. If you want
+ finer grained control over this mechansim then please explicitly pass in
+ either a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net"><CODE>URL</CODE></A>or a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>instance instead of a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A> to denote the source of the document.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>systemId</CODE> - is a URL for a document or a file name.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.InputStream)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given stream using SAX
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - <code>InputStream</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.Reader)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>Reader</code> using SAX
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - is the reader for the input
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given stream using SAX
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - <code>InputStream</code> to read from.<DD><CODE>systemId</CODE> - is the URI for the input
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.Reader, java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>Reader</code> using SAX
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - is the reader for the input<DD><CODE>systemId</CODE> - is the URI for the input
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(org.xml.sax.InputSource)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> in)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>InputSource</code> using SAX
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - <code>InputSource</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isValidating()"><!-- --></A><H3>
+isValidating</H3>
+<PRE>
+public boolean <B>isValidating</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the validation mode, true if validating will be done otherwise
+         false.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValidation(boolean)"><!-- --></A><H3>
+setValidation</H3>
+<PRE>
+public void <B>setValidation</B>(boolean validation)</PRE>
+<DL>
+<DD>Sets the validation mode.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>validation</CODE> - indicates whether or not validation should occur.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isIncludeInternalDTDDeclarations()"><!-- --></A><H3>
+isIncludeInternalDTDDeclarations</H3>
+<PRE>
+public boolean <B>isIncludeInternalDTDDeclarations</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether internal DTD declarations should be expanded into the
+         DocumentType object or not.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIncludeInternalDTDDeclarations(boolean)"><!-- --></A><H3>
+setIncludeInternalDTDDeclarations</H3>
+<PRE>
+public void <B>setIncludeInternalDTDDeclarations</B>(boolean include)</PRE>
+<DL>
+<DD>Sets whether internal DTD declarations should be expanded into the
+ DocumentType object or not.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>include</CODE> - whether or not DTD declarations should be expanded and
+            included into the DocumentType object.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isIncludeExternalDTDDeclarations()"><!-- --></A><H3>
+isIncludeExternalDTDDeclarations</H3>
+<PRE>
+public boolean <B>isIncludeExternalDTDDeclarations</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether external DTD declarations should be expanded into the
+         DocumentType object or not.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIncludeExternalDTDDeclarations(boolean)"><!-- --></A><H3>
+setIncludeExternalDTDDeclarations</H3>
+<PRE>
+public void <B>setIncludeExternalDTDDeclarations</B>(boolean include)</PRE>
+<DL>
+<DD>Sets whether DTD external declarations should be expanded into the
+ DocumentType object or not.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>include</CODE> - whether or not DTD declarations should be expanded and
+            included into the DocumentType object.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isStringInternEnabled()"><!-- --></A><H3>
+isStringInternEnabled</H3>
+<PRE>
+public boolean <B>isStringInternEnabled</B>()</PRE>
+<DL>
+<DD>Sets whether String interning is enabled or disabled for element &
+ attribute names and namespace URIs. This proprety is enabled by default.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStringInternEnabled(boolean)"><!-- --></A><H3>
+setStringInternEnabled</H3>
+<PRE>
+public void <B>setStringInternEnabled</B>(boolean stringInternEnabled)</PRE>
+<DL>
+<DD>Sets whether String interning is enabled or disabled for element &
+ attribute names and namespace URIs
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>stringInternEnabled</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isMergeAdjacentText()"><!-- --></A><H3>
+isMergeAdjacentText</H3>
+<PRE>
+public boolean <B>isMergeAdjacentText</B>()</PRE>
+<DL>
+<DD>Returns whether adjacent text nodes should be merged together.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property mergeAdjacentText.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMergeAdjacentText(boolean)"><!-- --></A><H3>
+setMergeAdjacentText</H3>
+<PRE>
+public void <B>setMergeAdjacentText</B>(boolean mergeAdjacentText)</PRE>
+<DL>
+<DD>Sets whether or not adjacent text nodes should be merged together when
+ parsing.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>mergeAdjacentText</CODE> - New value of property mergeAdjacentText.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isStripWhitespaceText()"><!-- --></A><H3>
+isStripWhitespaceText</H3>
+<PRE>
+public boolean <B>isStripWhitespaceText</B>()</PRE>
+<DL>
+<DD>Sets whether whitespace between element start and end tags should be
+ ignored
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property stripWhitespaceText.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStripWhitespaceText(boolean)"><!-- --></A><H3>
+setStripWhitespaceText</H3>
+<PRE>
+public void <B>setStripWhitespaceText</B>(boolean stripWhitespaceText)</PRE>
+<DL>
+<DD>Sets whether whitespace between element start and end tags should be
+ ignored.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>stripWhitespaceText</CODE> - New value of property stripWhitespaceText.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isIgnoreComments()"><!-- --></A><H3>
+isIgnoreComments</H3>
+<PRE>
+public boolean <B>isIgnoreComments</B>()</PRE>
+<DL>
+<DD>Returns whether we should ignore comments or not.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>boolean</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIgnoreComments(boolean)"><!-- --></A><H3>
+setIgnoreComments</H3>
+<PRE>
+public void <B>setIgnoreComments</B>(boolean ignoreComments)</PRE>
+<DL>
+<DD>Sets whether we should ignore comments or not.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ignoreComments</CODE> - whether we should ignore comments or not.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>DocumentFactory</code> used to create document
+         objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+<DD><p>
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. This method allows the building of custom DOM4J tree objects
+ to be implemented easily using a custom derivation of
+ <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>documentFactory</CODE> - <code>DocumentFactory</code> used to create DOM4J objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getErrorHandler()"><!-- --></A><H3>
+getErrorHandler</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A> <B>getErrorHandler</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>ErrorHandler</code> used by SAX</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setErrorHandler(org.xml.sax.ErrorHandler)"><!-- --></A><H3>
+setErrorHandler</H3>
+<PRE>
+public void <B>setErrorHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A> errorHandler)</PRE>
+<DL>
+<DD>Sets the <code>ErrorHandler</code> used by the SAX
+ <code>XMLReader</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>errorHandler</CODE> - is the <code>ErrorHandler</code> used by SAX</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEntityResolver()"><!-- --></A><H3>
+getEntityResolver</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> <B>getEntityResolver</B>()</PRE>
+<DL>
+<DD>Returns the current entity resolver used to resolve entities
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEntityResolver(org.xml.sax.EntityResolver)"><!-- --></A><H3>
+setEntityResolver</H3>
+<PRE>
+public void <B>setEntityResolver</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</PRE>
+<DL>
+<DD>Sets the entity resolver used to resolve entities.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entityResolver</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXMLReader()"><!-- --></A><H3>
+getXMLReader</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> <B>getXMLReader</B>()
+                       throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>XMLReader</code> used to parse SAX events
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLReader(org.xml.sax.XMLReader)"><!-- --></A><H3>
+setXMLReader</H3>
+<PRE>
+public void <B>setXMLReader</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)</PRE>
+<DL>
+<DD>Sets the <code>XMLReader</code> used to parse SAX events
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - is the <code>XMLReader</code> to parse SAX events</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEncoding()"><!-- --></A><H3>
+getEncoding</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getEncoding</B>()</PRE>
+<DL>
+<DD>Returns encoding used for InputSource (null means system default
+ encoding)
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>encoding used for InputSource</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEncoding(java.lang.String)"><!-- --></A><H3>
+setEncoding</H3>
+<PRE>
+public void <B>setEncoding</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</PRE>
+<DL>
+<DD>Sets encoding used for InputSource (null means system default encoding)
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>encoding</CODE> - is encoding used for InputSource</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLReaderClassName(java.lang.String)"><!-- --></A><H3>
+setXMLReaderClassName</H3>
+<PRE>
+public void <B>setXMLReaderClassName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xmlReaderClassName)
+                           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Sets the class name of the <code>XMLReader</code> to be used to parse
+ SAX events.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xmlReaderClassName</CODE> - is the class name of the <code>XMLReader</code> to parse SAX
+            events
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addHandler(java.lang.String, org.dom4j.ElementHandler)"><!-- --></A><H3>
+addHandler</H3>
+<PRE>
+public void <B>addHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                       <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</PRE>
+<DL>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to be handled<DD><CODE>handler</CODE> - is the <code>ElementHandler</code> to be called by the event
+            based processor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeHandler(java.lang.String)"><!-- --></A><H3>
+removeHandler</H3>
+<PRE>
+public void <B>removeHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</PRE>
+<DL>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to remove the <code>ElementHandler</code> for.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDefaultHandler(org.dom4j.ElementHandler)"><!-- --></A><H3>
+setDefaultHandler</H3>
+<PRE>
+public void <B>setDefaultHandler</B>(<A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</PRE>
+<DL>
+<DD>When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>handler</CODE> - is the <code>ElementHandler</code> to be called by the event
+            based processor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resetHandlers()"><!-- --></A><H3>
+resetHandlers</H3>
+<PRE>
+public void <B>resetHandlers</B>()</PRE>
+<DL>
+<DD>This method clears out all the existing handlers and default handler
+ setting things back as if no handler existed. Useful when reusing an
+ object instance.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXMLFilter()"><!-- --></A><H3>
+getXMLFilter</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLFilter.html" title="class or interface in org.xml.sax">XMLFilter</A> <B>getXMLFilter</B>()</PRE>
+<DL>
+<DD>Returns the SAX filter being used to filter SAX events.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the SAX filter being used or null if no SAX filter is installed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLFilter(org.xml.sax.XMLFilter)"><!-- --></A><H3>
+setXMLFilter</H3>
+<PRE>
+public void <B>setXMLFilter</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLFilter.html" title="class or interface in org.xml.sax">XMLFilter</A> filter)</PRE>
+<DL>
+<DD>Sets the SAX filter to be used when filtering SAX events
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filter</CODE> - is the SAX filter to use or null to disable filtering</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="installXMLFilter(org.xml.sax.XMLReader)"><!-- --></A><H3>
+installXMLFilter</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> <B>installXMLFilter</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)</PRE>
+<DL>
+<DD>Installs any XMLFilter objects required to allow the SAX event stream to
+ be filtered and preprocessed before it gets to dom4j.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the new XMLFilter if applicable or the original XMLReader if no
+         filter is being used.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDispatchHandler()"><!-- --></A><H3>
+getDispatchHandler</H3>
+<PRE>
+protected org.dom4j.io.DispatchHandler <B>getDispatchHandler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDispatchHandler(org.dom4j.io.DispatchHandler)"><!-- --></A><H3>
+setDispatchHandler</H3>
+<PRE>
+protected void <B>setDispatchHandler</B>(org.dom4j.io.DispatchHandler dispatchHandler)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXMLReader()"><!-- --></A><H3>
+createXMLReader</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> <B>createXMLReader</B>()
+                             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Factory Method to allow alternate methods of creating and configuring
+ XMLReader objects
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="configureReader(org.xml.sax.XMLReader, org.xml.sax.helpers.DefaultHandler)"><!-- --></A><H3>
+configureReader</H3>
+<PRE>
+protected void <B>configureReader</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader,
+                               <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">DefaultHandler</A> handler)
+                        throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Configures the XMLReader before use
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - DOCUMENT ME!<DD><CODE>handler</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createContentHandler(org.xml.sax.XMLReader)"><!-- --></A><H3>
+createContentHandler</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A> <B>createContentHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)</PRE>
+<DL>
+<DD>Factory Method to allow user derived SAXContentHandler objects to be used
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDefaultEntityResolver(java.lang.String)"><!-- --></A><H3>
+createDefaultEntityResolver</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> <B>createDefaultEntityResolver</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/SAXValidator.html b/docs/apidocs/org/dom4j/io/SAXValidator.html
new file mode 100644
index 0000000..9a93b6b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/SAXValidator.html
@@ -0,0 +1,436 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SAXValidator (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.SAXValidator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SAXValidator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXValidator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXValidator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class SAXValidator</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.SAXValidator</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>SAXValidator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>SAXValidator</code> validates an XML document by writing the document
+ to a text buffer and parsing it with a validating SAX parser. This could be
+ implemented much more efficiently by validating against the dom4j object
+ model directly but at least allows the reuse of existing SAX based validating
+ parsers.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXValidator.html#SAXValidator()">SAXValidator</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXValidator.html#SAXValidator(org.xml.sax.XMLReader)">SAXValidator</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXValidator.html#configureReader()">configureReader</A></B>()</CODE>
+
+<BR>
+          Configures the XMLReader before use</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXValidator.html#createXMLReader()">createXMLReader</A></B>()</CODE>
+
+<BR>
+          Factory Method to allow alternate methods of creating and configuring
+ XMLReader objects</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXValidator.html#getErrorHandler()">getErrorHandler</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXValidator.html#getXMLReader()">getXMLReader</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXValidator.html#setErrorHandler(org.xml.sax.ErrorHandler)">setErrorHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A> errorHandler)</CODE>
+
+<BR>
+          Sets the <code>ErrorHandler</code> used by the SAX
+ <code>XMLReader</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXValidator.html#setXMLReader(org.xml.sax.XMLReader)">setXMLReader</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)</CODE>
+
+<BR>
+          Sets the <code>XMLReader</code> used to parse SAX events</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXValidator.html#validate(org.dom4j.Document)">validate</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Validates the given <code>Document</code> by writing it to a validating
+ SAX Parser.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SAXValidator()"><!-- --></A><H3>
+SAXValidator</H3>
+<PRE>
+public <B>SAXValidator</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXValidator(org.xml.sax.XMLReader)"><!-- --></A><H3>
+SAXValidator</H3>
+<PRE>
+public <B>SAXValidator</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="validate(org.dom4j.Document)"><!-- --></A><H3>
+validate</H3>
+<PRE>
+public void <B>validate</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)
+              throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Validates the given <code>Document</code> by writing it to a validating
+ SAX Parser.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - is the Document to validate
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if a validation error occurs
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXMLReader()"><!-- --></A><H3>
+getXMLReader</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> <B>getXMLReader</B>()
+                       throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>XMLReader</code> used to parse SAX events
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLReader(org.xml.sax.XMLReader)"><!-- --></A><H3>
+setXMLReader</H3>
+<PRE>
+public void <B>setXMLReader</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Sets the <code>XMLReader</code> used to parse SAX events
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - is the <code>XMLReader</code> to parse SAX events
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getErrorHandler()"><!-- --></A><H3>
+getErrorHandler</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A> <B>getErrorHandler</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>ErrorHandler</code> used by SAX</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setErrorHandler(org.xml.sax.ErrorHandler)"><!-- --></A><H3>
+setErrorHandler</H3>
+<PRE>
+public void <B>setErrorHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A> errorHandler)</PRE>
+<DL>
+<DD>Sets the <code>ErrorHandler</code> used by the SAX
+ <code>XMLReader</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>errorHandler</CODE> - is the <code>ErrorHandler</code> used by SAX</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXMLReader()"><!-- --></A><H3>
+createXMLReader</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> <B>createXMLReader</B>()
+                             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Factory Method to allow alternate methods of creating and configuring
+ XMLReader objects
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="configureReader()"><!-- --></A><H3>
+configureReader</H3>
+<PRE>
+protected void <B>configureReader</B>()
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Configures the XMLReader before use
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXValidator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXValidator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/SAXWriter.html b/docs/apidocs/org/dom4j/io/SAXWriter.html
new file mode 100644
index 0000000..5989caa
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/SAXWriter.html
@@ -0,0 +1,1562 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SAXWriter (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.SAXWriter class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SAXWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class SAXWriter</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.SAXWriter</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>SAXWriter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></DL>
+
+<P>
+<p>
+ <code>SAXWriter</code> writes a DOM4J tree to a SAX ContentHandler.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.24 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#FEATURE_NAMESPACE_PREFIXES">FEATURE_NAMESPACE_PREFIXES</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#FEATURE_NAMESPACES">FEATURE_NAMESPACES</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#LEXICAL_HANDLER_NAMES">LEXICAL_HANDLER_NAMES</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#SAXWriter()">SAXWriter</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#SAXWriter(org.xml.sax.ContentHandler)">SAXWriter</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> contentHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#SAXWriter(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler)">SAXWriter</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> contentHandler,
+          <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> lexicalHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#SAXWriter(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.xml.sax.EntityResolver)">SAXWriter</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> contentHandler,
+          <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> lexicalHandler,
+          <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#addNamespaceAttribute(org.xml.sax.helpers.AttributesImpl, org.dom4j.Namespace)">addNamespaceAttribute</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A> attrs,
+                      <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          If isDelcareNamespaceAttributes() is enabled then this method will add
+ the given namespace declaration to the supplied attributes object,
+ creating one if it does not exist.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#checkForNullHandlers()">checkForNullHandlers</A></B>()</CODE>
+
+<BR>
+          Ensures non-null content handlers?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#createAttributes(org.dom4j.Element, org.xml.sax.Attributes)">createAttributes</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                 <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> namespaceAttributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#documentLocator(org.dom4j.Document)">documentLocator</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          The <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Locator.html" title="class or interface in org.xml.sax"><CODE>Locator</CODE></A>is only really useful when parsing a
+ textual document as its main purpose is to identify the line and column
+ number. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#dtdHandler(org.dom4j.Document)">dtdHandler</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          We do not yet support DTD or XML Schemas so this method does nothing
+ right now.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#endDocument()">endDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#endElement(org.dom4j.Element)">endElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#endPrefixMapping(org.dom4j.tree.NamespaceStack, int)">endPrefixMapping</A></B>(<A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> stack,
+                 int stackSize)</CODE>
+
+<BR>
+          Fires a SAX endPrefixMapping event for all the namespaceStack which have
+ gone out of scope</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#entityResolver(org.dom4j.Document)">entityResolver</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#getContentHandler()">getContentHandler</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#getDTDHandler()">getDTDHandler</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#getEntityResolver()">getEntityResolver</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#getErrorHandler()">getErrorHandler</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#getFeature(java.lang.String)">getFeature</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Looks up the value of a feature.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#getLexicalHandler()">getLexicalHandler</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#getProperty(java.lang.String)">getProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Gets the given SAX property</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#isDeclareNamespaceAttributes()">isDeclareNamespaceAttributes</A></B>()</CODE>
+
+<BR>
+          Should namespace declarations be converted to "xmlns" attributes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#isIgnoreableNamespace(org.dom4j.Namespace, org.dom4j.tree.NamespaceStack)">isIgnoreableNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+                      <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#parse(org.xml.sax.InputSource)">parse</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> input)</CODE>
+
+<BR>
+          Parses an XML document. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#parse(java.lang.String)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          This method is not supported.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#setContentHandler(org.xml.sax.ContentHandler)">setContentHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> contentHandler)</CODE>
+
+<BR>
+          Sets the <code>ContentHandler</code> called when SAX events are raised</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#setDeclareNamespaceAttributes(boolean)">setDeclareNamespaceAttributes</A></B>(boolean declareNamespaceAttrs)</CODE>
+
+<BR>
+          Sets whether namespace declarations should be exported as "xmlns"
+ attributes or not. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#setDTDHandler(org.xml.sax.DTDHandler)">setDTDHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A> handler)</CODE>
+
+<BR>
+          Sets the <code>DTDHandler</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#setEntityResolver(org.xml.sax.EntityResolver)">setEntityResolver</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</CODE>
+
+<BR>
+          Sets the <code>EntityResolver</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#setErrorHandler(org.xml.sax.ErrorHandler)">setErrorHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A> errorHandler)</CODE>
+
+<BR>
+          Sets the <code>ErrorHandler</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#setFeature(java.lang.String, boolean)">setFeature</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+           boolean value)</CODE>
+
+<BR>
+          This implementation does actually use any features but just stores them
+ for later retrieval</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#setLexicalHandler(org.xml.sax.ext.LexicalHandler)">setLexicalHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> lexicalHandler)</CODE>
+
+<BR>
+          Sets the <code>LexicalHandler</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#setProperty(java.lang.String, java.lang.Object)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> value)</CODE>
+
+<BR>
+          Sets the given SAX property</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#setXMLReader(org.xml.sax.XMLReader)">setXMLReader</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader)</CODE>
+
+<BR>
+          Sets the <code>XMLReader</code> used to write SAX events to</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#startDocument()">startDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#startElement(org.dom4j.Element, org.xml.sax.helpers.AttributesImpl)">startElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A> namespaceAttributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#startPrefixMapping(org.dom4j.Element, org.dom4j.tree.NamespaceStack)">startPrefixMapping</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                   <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+          Fires a SAX startPrefixMapping event for all the namespaceStack which
+ have just come into scope</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.CDATA)">write</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Generates SAX events for the given CDATA</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Comment)">write</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Generates SAX events for the given Comment</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Document)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Generates SAX events for the given Document and all its content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Element)">write</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Generates SAX events for the given Element and all its content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Element, org.dom4j.tree.NamespaceStack)">write</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+      <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Entity)">write</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Generates SAX events for the given Entity</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Node)">write</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          A polymorphic method to write any Node to this SAX stream</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.ProcessingInstruction)">write</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Generates SAX events for the given ProcessingInstruction</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#write(java.lang.String)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Generates SAX events for the given text</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#writeClose(org.dom4j.Element)">writeClose</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the closing tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#writeContent(org.dom4j.Branch, org.dom4j.tree.NamespaceStack)">writeContent</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch,
+             <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/SAXWriter.html#writeOpen(org.dom4j.Element)">writeOpen</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the opening tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>, including its <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>s but without its content.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="LEXICAL_HANDLER_NAMES"><!-- --></A><H3>
+LEXICAL_HANDLER_NAMES</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[] <B>LEXICAL_HANDLER_NAMES</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="FEATURE_NAMESPACE_PREFIXES"><!-- --></A><H3>
+FEATURE_NAMESPACE_PREFIXES</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>FEATURE_NAMESPACE_PREFIXES</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.io.SAXWriter.FEATURE_NAMESPACE_PREFIXES">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FEATURE_NAMESPACES"><!-- --></A><H3>
+FEATURE_NAMESPACES</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>FEATURE_NAMESPACES</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.io.SAXWriter.FEATURE_NAMESPACES">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SAXWriter()"><!-- --></A><H3>
+SAXWriter</H3>
+<PRE>
+public <B>SAXWriter</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXWriter(org.xml.sax.ContentHandler)"><!-- --></A><H3>
+SAXWriter</H3>
+<PRE>
+public <B>SAXWriter</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> contentHandler)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXWriter(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler)"><!-- --></A><H3>
+SAXWriter</H3>
+<PRE>
+public <B>SAXWriter</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> contentHandler,
+                 <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> lexicalHandler)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="SAXWriter(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.xml.sax.EntityResolver)"><!-- --></A><H3>
+SAXWriter</H3>
+<PRE>
+public <B>SAXWriter</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> contentHandler,
+                 <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> lexicalHandler,
+                 <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="write(org.dom4j.Node)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>A polymorphic method to write any Node to this SAX stream
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Document)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Generates SAX events for the given Document and all its content
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - is the Document to parse
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if there is a SAX error processing the events</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Element)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Generates SAX events for the given Element and all its content
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - is the Element to parse
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if there is a SAX error processing the events</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeOpen(org.dom4j.Element)"><!-- --></A><H3>
+writeOpen</H3>
+<PRE>
+public void <B>writeOpen</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><p>
+ Writes the opening tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>, including its <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>s but without its content.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - <code>Element</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeClose(org.dom4j.Element)"><!-- --></A><H3>
+writeClose</H3>
+<PRE>
+public void <B>writeClose</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><p>
+ Writes the closing tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - <code>Element</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.lang.String)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Generates SAX events for the given text
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text to send to the SAX ContentHandler
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if there is a SAX error processing the events</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.CDATA)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Generates SAX events for the given CDATA
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - is the CDATA to parse
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if there is a SAX error processing the events</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Comment)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Generates SAX events for the given Comment
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - is the Comment to parse
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if there is a SAX error processing the events</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Entity)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Generates SAX events for the given Entity
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - is the Entity to parse
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if there is a SAX error processing the events</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Generates SAX events for the given ProcessingInstruction
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pi</CODE> - is the ProcessingInstruction to parse
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - if there is a SAX error processing the events</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDeclareNamespaceAttributes()"><!-- --></A><H3>
+isDeclareNamespaceAttributes</H3>
+<PRE>
+public boolean <B>isDeclareNamespaceAttributes</B>()</PRE>
+<DL>
+<DD>Should namespace declarations be converted to "xmlns" attributes. This
+ property defaults to <code>false</code> as per the SAX specification.
+ This property is set via the SAX feature
+ "http://xml.org/sax/features/namespace-prefixes"
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDeclareNamespaceAttributes(boolean)"><!-- --></A><H3>
+setDeclareNamespaceAttributes</H3>
+<PRE>
+public void <B>setDeclareNamespaceAttributes</B>(boolean declareNamespaceAttrs)</PRE>
+<DL>
+<DD>Sets whether namespace declarations should be exported as "xmlns"
+ attributes or not. This property is set from the SAX feature
+ "http://xml.org/sax/features/namespace-prefixes"
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>declareNamespaceAttrs</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentHandler()"><!-- --></A><H3>
+getContentHandler</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> <B>getContentHandler</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#getContentHandler()" title="class or interface in org.xml.sax">getContentHandler</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>ContentHandler</code> called when SAX events are
+         raised</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContentHandler(org.xml.sax.ContentHandler)"><!-- --></A><H3>
+setContentHandler</H3>
+<PRE>
+public void <B>setContentHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> contentHandler)</PRE>
+<DL>
+<DD>Sets the <code>ContentHandler</code> called when SAX events are raised
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#setContentHandler(org.xml.sax.ContentHandler)" title="class or interface in org.xml.sax">setContentHandler</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>contentHandler</CODE> - is the <code>ContentHandler</code> called when SAX events
+            are raised</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDTDHandler()"><!-- --></A><H3>
+getDTDHandler</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A> <B>getDTDHandler</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#getDTDHandler()" title="class or interface in org.xml.sax">getDTDHandler</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>DTDHandler</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDTDHandler(org.xml.sax.DTDHandler)"><!-- --></A><H3>
+setDTDHandler</H3>
+<PRE>
+public void <B>setDTDHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A> handler)</PRE>
+<DL>
+<DD>Sets the <code>DTDHandler</code>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#setDTDHandler(org.xml.sax.DTDHandler)" title="class or interface in org.xml.sax">setDTDHandler</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>handler</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getErrorHandler()"><!-- --></A><H3>
+getErrorHandler</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A> <B>getErrorHandler</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#getErrorHandler()" title="class or interface in org.xml.sax">getErrorHandler</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>ErrorHandler</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setErrorHandler(org.xml.sax.ErrorHandler)"><!-- --></A><H3>
+setErrorHandler</H3>
+<PRE>
+public void <B>setErrorHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A> errorHandler)</PRE>
+<DL>
+<DD>Sets the <code>ErrorHandler</code>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#setErrorHandler(org.xml.sax.ErrorHandler)" title="class or interface in org.xml.sax">setErrorHandler</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>errorHandler</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEntityResolver()"><!-- --></A><H3>
+getEntityResolver</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> <B>getEntityResolver</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#getEntityResolver()" title="class or interface in org.xml.sax">getEntityResolver</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>EntityResolver</code> used when a Document contains a
+         DTD</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEntityResolver(org.xml.sax.EntityResolver)"><!-- --></A><H3>
+setEntityResolver</H3>
+<PRE>
+public void <B>setEntityResolver</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</PRE>
+<DL>
+<DD>Sets the <code>EntityResolver</code>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#setEntityResolver(org.xml.sax.EntityResolver)" title="class or interface in org.xml.sax">setEntityResolver</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entityResolver</CODE> - is the <code>EntityResolver</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLexicalHandler()"><!-- --></A><H3>
+getLexicalHandler</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> <B>getLexicalHandler</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>LexicalHandler</code> used when a Document contains a
+         DTD</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLexicalHandler(org.xml.sax.ext.LexicalHandler)"><!-- --></A><H3>
+setLexicalHandler</H3>
+<PRE>
+public void <B>setLexicalHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> lexicalHandler)</PRE>
+<DL>
+<DD>Sets the <code>LexicalHandler</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>lexicalHandler</CODE> - is the <code>LexicalHandler</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLReader(org.xml.sax.XMLReader)"><!-- --></A><H3>
+setXMLReader</H3>
+<PRE>
+public void <B>setXMLReader</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> xmlReader)</PRE>
+<DL>
+<DD>Sets the <code>XMLReader</code> used to write SAX events to
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xmlReader</CODE> - is the <code>XMLReader</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFeature(java.lang.String)"><!-- --></A><H3>
+getFeature</H3>
+<PRE>
+public boolean <B>getFeature</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A>,
+                          <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></PRE>
+<DL>
+<DD>Looks up the value of a feature.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#getFeature(java.lang.String)" title="class or interface in org.xml.sax">getFeature</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A></CODE> - DOCUMENT ME!
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFeature(java.lang.String, boolean)"><!-- --></A><H3>
+setFeature</H3>
+<PRE>
+public void <B>setFeature</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                       boolean value)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A>,
+                       <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></PRE>
+<DL>
+<DD>This implementation does actually use any features but just stores them
+ for later retrieval
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#setFeature(java.lang.String, boolean)" title="class or interface in org.xml.sax">setFeature</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!<DD><CODE>value</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A></CODE> - DOCUMENT ME!
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setProperty(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setProperty</H3>
+<PRE>
+public void <B>setProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> value)</PRE>
+<DL>
+<DD>Sets the given SAX property
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#setProperty(java.lang.String, java.lang.Object)" title="class or interface in org.xml.sax">setProperty</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!<DD><CODE>value</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProperty(java.lang.String)"><!-- --></A><H3>
+getProperty</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A>,
+                          <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></PRE>
+<DL>
+<DD>Gets the given SAX property
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#getProperty(java.lang.String)" title="class or interface in org.xml.sax">getProperty</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A></CODE> - DOCUMENT ME!
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parse(java.lang.String)"><!-- --></A><H3>
+parse</H3>
+<PRE>
+public void <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></PRE>
+<DL>
+<DD>This method is not supported.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#parse(java.lang.String)" title="class or interface in org.xml.sax">parse</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>systemId</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parse(org.xml.sax.InputSource)"><!-- --></A><H3>
+parse</H3>
+<PRE>
+public void <B>parse</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> input)
+           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Parses an XML document. This method can only accept DocumentInputSource
+ inputs otherwise a <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax"><CODE>SAXNotSupportedException</CODE></A>exception is thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#parse(org.xml.sax.InputSource)" title="class or interface in org.xml.sax">parse</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>input</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></CODE> - if the input source is not wrapping a dom4j document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeContent(org.dom4j.Branch, org.dom4j.tree.NamespaceStack)"><!-- --></A><H3>
+writeContent</H3>
+<PRE>
+protected void <B>writeContent</B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch,
+                            <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)
+                     throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="documentLocator(org.dom4j.Document)"><!-- --></A><H3>
+documentLocator</H3>
+<PRE>
+protected void <B>documentLocator</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>The <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Locator.html" title="class or interface in org.xml.sax"><CODE>Locator</CODE></A>is only really useful when parsing a
+ textual document as its main purpose is to identify the line and column
+ number. Since we are processing an in memory tree which will probably
+ have its line number information removed, we'll just use -1 for the line
+ and column numbers.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="entityResolver(org.dom4j.Document)"><!-- --></A><H3>
+entityResolver</H3>
+<PRE>
+protected void <B>entityResolver</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)
+                       throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="dtdHandler(org.dom4j.Document)"><!-- --></A><H3>
+dtdHandler</H3>
+<PRE>
+protected void <B>dtdHandler</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>We do not yet support DTD or XML Schemas so this method does nothing
+ right now.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startDocument()"><!-- --></A><H3>
+startDocument</H3>
+<PRE>
+protected void <B>startDocument</B>()
+                      throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endDocument()"><!-- --></A><H3>
+endDocument</H3>
+<PRE>
+protected void <B>endDocument</B>()
+                    throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Element, org.dom4j.tree.NamespaceStack)"><!-- --></A><H3>
+write</H3>
+<PRE>
+protected void <B>write</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                     <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)
+              throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startPrefixMapping(org.dom4j.Element, org.dom4j.tree.NamespaceStack)"><!-- --></A><H3>
+startPrefixMapping</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A> <B>startPrefixMapping</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                                            <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)
+                                     throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Fires a SAX startPrefixMapping event for all the namespaceStack which
+ have just come into scope
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!<DD><CODE>namespaceStack</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endPrefixMapping(org.dom4j.tree.NamespaceStack, int)"><!-- --></A><H3>
+endPrefixMapping</H3>
+<PRE>
+protected void <B>endPrefixMapping</B>(<A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> stack,
+                                int stackSize)
+                         throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Fires a SAX endPrefixMapping event for all the namespaceStack which have
+ gone out of scope
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>stack</CODE> - DOCUMENT ME!<DD><CODE>stackSize</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startElement(org.dom4j.Element, org.xml.sax.helpers.AttributesImpl)"><!-- --></A><H3>
+startElement</H3>
+<PRE>
+protected void <B>startElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                            <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A> namespaceAttributes)
+                     throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endElement(org.dom4j.Element)"><!-- --></A><H3>
+endElement</H3>
+<PRE>
+protected void <B>endElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttributes(org.dom4j.Element, org.xml.sax.Attributes)"><!-- --></A><H3>
+createAttributes</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> <B>createAttributes</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                                      <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> namespaceAttributes)
+                               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNamespaceAttribute(org.xml.sax.helpers.AttributesImpl, org.dom4j.Namespace)"><!-- --></A><H3>
+addNamespaceAttribute</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A> <B>addNamespaceAttribute</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A> attrs,
+                                               <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>If isDelcareNamespaceAttributes() is enabled then this method will add
+ the given namespace declaration to the supplied attributes object,
+ creating one if it does not exist.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attrs</CODE> - DOCUMENT ME!<DD><CODE>namespace</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isIgnoreableNamespace(org.dom4j.Namespace, org.dom4j.tree.NamespaceStack)"><!-- --></A><H3>
+isIgnoreableNamespace</H3>
+<PRE>
+protected boolean <B>isIgnoreableNamespace</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+                                        <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - DOCUMENT ME!<DD><CODE>namespaceStack</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the given namespace is an ignorable namespace (such as
+         Namespace.NO_NAMESPACE or Namespace.XML_NAMESPACE) or if the
+         namespace has already been declared in the current scope</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="checkForNullHandlers()"><!-- --></A><H3>
+checkForNullHandlers</H3>
+<PRE>
+protected void <B>checkForNullHandlers</B>()</PRE>
+<DL>
+<DD>Ensures non-null content handlers?
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SAXWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/STAXEventReader.html b/docs/apidocs/org/dom4j/io/STAXEventReader.html
new file mode 100644
index 0000000..9e9c5a2
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/STAXEventReader.html
@@ -0,0 +1,849 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+STAXEventReader (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.STAXEventReader class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="STAXEventReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/STAXEventReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="STAXEventReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class STAXEventReader</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.STAXEventReader</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>STAXEventReader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+Reads a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>, as well as other <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s, from a StAX
+ <CODE>XMLEventReader</CODE>.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Christian Niles</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#STAXEventReader()">STAXEventReader</A></B>()</CODE>
+
+<BR>
+          Constructs a default <code>STAXEventReader</code> instance with a
+ default <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#STAXEventReader(org.dom4j.DocumentFactory)">STAXEventReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+          Constructs a <code>STAXEventReader</code> instance that uses the
+ specified <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>to construct DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createAttribute(org.dom4j.Element, javax.xml.stream.events.Attribute)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem,
+                javax.xml.stream.events.Attribute attr)</CODE>
+
+<BR>
+          Constructs a new DOM4J Attribute from the provided StAX Attribute event.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createCharacterData(javax.xml.stream.events.Characters)">createCharacterData</A></B>(javax.xml.stream.events.Characters characters)</CODE>
+
+<BR>
+          Constructs a new DOM4J Text or CDATA object from the provided Characters
+ event.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createComment(javax.xml.stream.events.Comment)">createComment</A></B>(javax.xml.stream.events.Comment comment)</CODE>
+
+<BR>
+          Constructs a new DOM4J Comment from the provided StAX Comment event.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createElement(javax.xml.stream.events.StartElement)">createElement</A></B>(javax.xml.stream.events.StartElement startEvent)</CODE>
+
+<BR>
+          Constructs a new DOM4J Element from the provided StartElement event. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createEntity(javax.xml.stream.events.EntityReference)">createEntity</A></B>(javax.xml.stream.events.EntityReference entityRef)</CODE>
+
+<BR>
+          Constructs a new DOM4J Entity from the provided StAX EntityReference
+ event.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createNamespace(javax.xml.stream.events.Namespace)">createNamespace</A></B>(javax.xml.stream.events.Namespace ns)</CODE>
+
+<BR>
+          Constructs a new DOM4J Namespace from the provided StAX Namespace event.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createProcessingInstruction(javax.xml.stream.events.ProcessingInstruction)">createProcessingInstruction</A></B>(javax.xml.stream.events.ProcessingInstruction pi)</CODE>
+
+<BR>
+          Constructs a new DOM4J ProcessingInstruction from the provided StAX
+ ProcessingInstruction event.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#createQName(javax.xml.namespace.QName)">createQName</A></B>(javax.xml.namespace.QName qname)</CODE>
+
+<BR>
+          Constructs a new DOM4J QName from the provided JAXP QName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readAttribute(javax.xml.stream.XMLEventReader)">readAttribute</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Attribute from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readCharacters(javax.xml.stream.XMLEventReader)">readCharacters</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Text or CDATA section from the provided event stream.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readComment(javax.xml.stream.XMLEventReader)">readComment</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Comment from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(java.io.InputStream)">readDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> is)</CODE>
+
+<BR>
+          Constructs a StAX event stream from the provided I/O stream and reads a
+ DOM4J document from it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(java.io.InputStream, java.lang.String)">readDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> is,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Constructs a StAX event stream from the provided I/O stream and reads a
+ DOM4J document from it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(java.io.Reader)">readDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          Constructs a StAX event stream from the provided I/O character stream and
+ reads a DOM4J document from it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(java.io.Reader, java.lang.String)">readDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Constructs a StAX event stream from the provided I/O character stream and
+ reads a DOM4J document from it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readDocument(javax.xml.stream.XMLEventReader)">readDocument</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Reads a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>from the provided stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readElement(javax.xml.stream.XMLEventReader)">readElement</A></B>(javax.xml.stream.XMLEventReader eventReader)</CODE>
+
+<BR>
+          Reads a DOM4J Element from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readEntityReference(javax.xml.stream.XMLEventReader)">readEntityReference</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Entity from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readNamespace(javax.xml.stream.XMLEventReader)">readNamespace</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J Namespace from the provided event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readNode(javax.xml.stream.XMLEventReader)">readNode</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Reads a <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>from the event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#readProcessingInstruction(javax.xml.stream.XMLEventReader)">readProcessingInstruction</A></B>(javax.xml.stream.XMLEventReader reader)</CODE>
+
+<BR>
+          Constructs a DOM4J ProcessingInstruction from the provided event stream.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventReader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+          Sets the DocumentFactory to be used when constructing DOM4J nodes.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="STAXEventReader()"><!-- --></A><H3>
+STAXEventReader</H3>
+<PRE>
+public <B>STAXEventReader</B>()</PRE>
+<DL>
+<DD>Constructs a default <code>STAXEventReader</code> instance with a
+ default <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>.
+<P>
+</DL>
+<HR>
+
+<A NAME="STAXEventReader(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+STAXEventReader</H3>
+<PRE>
+public <B>STAXEventReader</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</PRE>
+<DL>
+<DD>Constructs a <code>STAXEventReader</code> instance that uses the
+ specified <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>to construct DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s.
+<P>
+<DT><B>Parameters:</B><DD><CODE>factory</CODE> - The DocumentFactory to use when constructing DOM4J nodes, or
+            <code>null</code> if a default should be used.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+<DD>Sets the DocumentFactory to be used when constructing DOM4J nodes.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>documentFactory</CODE> - The DocumentFactory to use when constructing DOM4J nodes, or
+            <code>null</code> if a default should be used.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readDocument(java.io.InputStream)"><!-- --></A><H3>
+readDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>readDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> is)
+                      throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a StAX event stream from the provided I/O stream and reads a
+ DOM4J document from it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>is</CODE> - The I/O stream from which the Document will be read.
+<DT><B>Returns:</B><DD>The Document that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs reading content from the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readDocument(java.io.Reader)"><!-- --></A><H3>
+readDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>readDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)
+                      throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a StAX event stream from the provided I/O character stream and
+ reads a DOM4J document from it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The character stream from which the Document will be read.
+<DT><B>Returns:</B><DD>The Document that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs reading content from the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readDocument(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
+readDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>readDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> is,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+                      throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a StAX event stream from the provided I/O stream and reads a
+ DOM4J document from it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>is</CODE> - The I/O stream from which the Document will be read.<DD><CODE>systemId</CODE> - A system id used to resolve entities.
+<DT><B>Returns:</B><DD>The Document that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs reading content from the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readDocument(java.io.Reader, java.lang.String)"><!-- --></A><H3>
+readDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>readDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+                      throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a StAX event stream from the provided I/O character stream and
+ reads a DOM4J document from it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The character stream from which the Document will be read.<DD><CODE>systemId</CODE> - A system id used to resolve entities.
+<DT><B>Returns:</B><DD>The Document that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs reading content from the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readNode(javax.xml.stream.XMLEventReader)"><!-- --></A><H3>
+readNode</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>readNode</B>(javax.xml.stream.XMLEventReader reader)
+              throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Reads a <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>from the event stream. If the next event is a
+ <CODE>StartElement</CODE>, all events until the closing <CODE>EndElement</CODE>
+ will be read, and the resulting nodes will be added to the returned
+ <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>.
+ 
+ <p>
+ <strong>Pre-Conditions </strong>: The stream must be positioned before an
+ event other than an <code>EndElement</code>,<code>EndDocument</code>,
+ or any DTD-related events, which are not currently supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The reader from which events will be read.
+<DT><B>Returns:</B><DD>A DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>constructed from the read events.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs reading from the stream, or the stream was
+             positioned before an unsupported event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readDocument(javax.xml.stream.XMLEventReader)"><!-- --></A><H3>
+readDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>readDocument</B>(javax.xml.stream.XMLEventReader reader)
+                      throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Reads a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>from the provided stream. The stream
+ should be positioned at the start of a document, or before a <CODE>StartElement</CODE> event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The event stream from which to read the <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+<DT><B>Returns:</B><DD>The <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs reading events from the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readElement(javax.xml.stream.XMLEventReader)"><!-- --></A><H3>
+readElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>readElement</B>(javax.xml.stream.XMLEventReader eventReader)
+                    throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Reads a DOM4J Element from the provided event stream. The stream must be
+ positioned before an <CODE>StartElement</CODE>event. In addition to the
+ initial start event, all events up to and including the closing <CODE>EndElement</CODE> will be read, and included with the returned element.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>eventReader</CODE> - The event stream from which to read the Element.
+<DT><B>Returns:</B><DD>The Element that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occured reading events from the stream, or the
+             stream was not positioned before a event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readAttribute(javax.xml.stream.XMLEventReader)"><!-- --></A><H3>
+readAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>readAttribute</B>(javax.xml.stream.XMLEventReader reader)
+                        throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a DOM4J Attribute from the provided event stream. The stream
+ must be positioned before an <CODE>Attribute</CODE>event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The event stream from which to read the Attribute.
+<DT><B>Returns:</B><DD>The Attribute that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occured reading events from the stream, or the
+             stream was not positioned before an event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readNamespace(javax.xml.stream.XMLEventReader)"><!-- --></A><H3>
+readNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>readNamespace</B>(javax.xml.stream.XMLEventReader reader)
+                        throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a DOM4J Namespace from the provided event stream. The stream
+ must be positioned before a <CODE>Namespace</CODE>event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The event stream from which to read the Namespace.
+<DT><B>Returns:</B><DD>The Namespace that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occured reading events from the stream, or the
+             stream was not positioned before a event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readCharacters(javax.xml.stream.XMLEventReader)"><!-- --></A><H3>
+readCharacters</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> <B>readCharacters</B>(javax.xml.stream.XMLEventReader reader)
+                             throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a DOM4J Text or CDATA section from the provided event stream.
+ The stream must be positioned before a <CODE>Characters</CODE>event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The event stream from which to read the Text or CDATA.
+<DT><B>Returns:</B><DD>The Text or CDATA that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occured reading events from the stream, or the
+             stream was not positioned before a event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readComment(javax.xml.stream.XMLEventReader)"><!-- --></A><H3>
+readComment</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> <B>readComment</B>(javax.xml.stream.XMLEventReader reader)
+                    throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a DOM4J Comment from the provided event stream. The stream
+ must be positioned before a <CODE>Comment</CODE>event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The event stream from which to read the Comment.
+<DT><B>Returns:</B><DD>The Comment that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occured reading events from the stream, or the
+             stream was not positioned before a event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readEntityReference(javax.xml.stream.XMLEventReader)"><!-- --></A><H3>
+readEntityReference</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> <B>readEntityReference</B>(javax.xml.stream.XMLEventReader reader)
+                           throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a DOM4J Entity from the provided event stream. The stream must
+ be positioned before an <CODE>EntityReference</CODE>event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The event stream from which to read the <CODE>EntityReference</CODE>.
+<DT><B>Returns:</B><DD>The <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occured reading events from the stream, or the
+             stream was not positioned before an 
+             event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readProcessingInstruction(javax.xml.stream.XMLEventReader)"><!-- --></A><H3>
+readProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>readProcessingInstruction</B>(javax.xml.stream.XMLEventReader reader)
+                                                throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a DOM4J ProcessingInstruction from the provided event stream.
+ The stream must be positioned before a <CODE>ProcessingInstruction</CODE>
+ event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - The event stream from which to read the ProcessingInstruction.
+<DT><B>Returns:</B><DD>The ProcessingInstruction that was read from the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occured reading events from the stream, or the
+             stream was not positioned before a <CODE>ProcessingInstruction</CODE> event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(javax.xml.stream.events.StartElement)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(javax.xml.stream.events.StartElement startEvent)</PRE>
+<DL>
+<DD>Constructs a new DOM4J Element from the provided StartElement event. All
+ attributes and namespaces will be added to the returned element.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>startEvent</CODE> - The StartElement event from which to construct the new DOM4J
+            Element.
+<DT><B>Returns:</B><DD>The Element constructed from the provided StartElement event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, javax.xml.stream.events.Attribute)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem,
+                                 javax.xml.stream.events.Attribute attr)</PRE>
+<DL>
+<DD>Constructs a new DOM4J Attribute from the provided StAX Attribute event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elem</CODE> - DOCUMENT ME!<DD><CODE>attr</CODE> - The Attribute event from which to construct the new DOM4J
+            Attribute.
+<DT><B>Returns:</B><DD>The Attribute constructed from the provided Attribute event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNamespace(javax.xml.stream.events.Namespace)"><!-- --></A><H3>
+createNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>createNamespace</B>(javax.xml.stream.events.Namespace ns)</PRE>
+<DL>
+<DD>Constructs a new DOM4J Namespace from the provided StAX Namespace event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ns</CODE> - The Namespace event from which to construct the new DOM4J
+            Namespace.
+<DT><B>Returns:</B><DD>The Namespace constructed from the provided Namespace event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCharacterData(javax.xml.stream.events.Characters)"><!-- --></A><H3>
+createCharacterData</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> <B>createCharacterData</B>(javax.xml.stream.events.Characters characters)</PRE>
+<DL>
+<DD>Constructs a new DOM4J Text or CDATA object from the provided Characters
+ event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>characters</CODE> - The Characters event from which to construct the new DOM4J
+            Text or CDATA object.
+<DT><B>Returns:</B><DD>The Text or CDATA object constructed from the provided Characters
+         event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createComment(javax.xml.stream.events.Comment)"><!-- --></A><H3>
+createComment</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> <B>createComment</B>(javax.xml.stream.events.Comment comment)</PRE>
+<DL>
+<DD>Constructs a new DOM4J Comment from the provided StAX Comment event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - The Comment event from which to construct the new DOM4J
+            Comment.
+<DT><B>Returns:</B><DD>The Comment constructed from the provided Comment event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEntity(javax.xml.stream.events.EntityReference)"><!-- --></A><H3>
+createEntity</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> <B>createEntity</B>(javax.xml.stream.events.EntityReference entityRef)</PRE>
+<DL>
+<DD>Constructs a new DOM4J Entity from the provided StAX EntityReference
+ event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entityRef</CODE> - The EntityReference event from which to construct the new
+            DOM4J Entity.
+<DT><B>Returns:</B><DD>The Entity constructed from the provided EntityReference event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(javax.xml.stream.events.ProcessingInstruction)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>createProcessingInstruction</B>(javax.xml.stream.events.ProcessingInstruction pi)</PRE>
+<DL>
+<DD>Constructs a new DOM4J ProcessingInstruction from the provided StAX
+ ProcessingInstruction event.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pi</CODE> - The ProcessingInstruction event from which to construct the
+            new DOM4J ProcessingInstruction.
+<DT><B>Returns:</B><DD>The ProcessingInstruction constructed from the provided
+         ProcessingInstruction event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(javax.xml.namespace.QName)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(javax.xml.namespace.QName qname)</PRE>
+<DL>
+<DD>Constructs a new DOM4J QName from the provided JAXP QName.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qname</CODE> - The JAXP QName from which to create a DOM4J QName.
+<DT><B>Returns:</B><DD>The newly constructed DOM4J QName.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/STAXEventReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="STAXEventReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/STAXEventWriter.html b/docs/apidocs/org/dom4j/io/STAXEventWriter.html
new file mode 100644
index 0000000..d51dfa7
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/STAXEventWriter.html
@@ -0,0 +1,987 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+STAXEventWriter (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.STAXEventWriter class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="STAXEventWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/STAXEventWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/XMLResult.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="STAXEventWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class STAXEventWriter</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.STAXEventWriter</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>STAXEventWriter</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+Writes DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s to a StAX event stream. In addition the
+ <code>createXXX</code> methods are provided to directly create STAX events
+ from DOM4J nodes.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Christian Niles</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#STAXEventWriter()">STAXEventWriter</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#STAXEventWriter(java.io.File)">STAXEventWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#STAXEventWriter(java.io.OutputStream)">STAXEventWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> stream)</CODE>
+
+<BR>
+          Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#STAXEventWriter(java.io.Writer)">STAXEventWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided character stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#STAXEventWriter(javax.xml.stream.util.XMLEventConsumer)">STAXEventWriter</A></B>(javax.xml.stream.util.XMLEventConsumer consumer)</CODE>
+
+<BR>
+          Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided event stream.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Attribute</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createAttribute(org.dom4j.Attribute)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attr)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Attribute</CODE>event from a
+ DOM4J <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Characters</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createCharacters(org.dom4j.CDATA)">createCharacters</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Characters</CODE>event from a DOM4J <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Characters</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createCharacters(org.dom4j.Text)">createCharacters</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Characters</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Comment</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createComment(org.dom4j.Comment)">createComment</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Comment</CODE>event from a
+ DOM4J <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.DTD</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createDTD(org.dom4j.DocumentType)">createDTD</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>DTD</CODE>event from a DOM4J <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.EndDocument</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createEndDocument(org.dom4j.Document)">createEndDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>EndDocument</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.EndElement</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createEndElement(org.dom4j.Element)">createEndElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>EndElement</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.Namespace</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createNamespace(org.dom4j.Namespace)">createNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>Namespace</CODE>event from a
+ DOM4J <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.ProcessingInstruction</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createProcessingInstruction(org.dom4j.ProcessingInstruction)">createProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>ProcessingInstruction</CODE>
+ event from a DOM4J <CODE>ProcessingInstruction</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.namespace.QName</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createQName(org.dom4j.QName)">createQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>QName</CODE>from a DOM4J <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.StartDocument</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createStartDocument(org.dom4j.Document)">createStartDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>StartDocument</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.events.StartElement</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#createStartElement(org.dom4j.Element)">createStartElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem)</CODE>
+
+<BR>
+          Constructs a STAX <CODE>StartElement</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.util.XMLEventConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#getConsumer()">getConsumer</A></B>()</CODE>
+
+<BR>
+          Returns a reference to the underlying event consumer to which events are
+ written.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.stream.XMLEventFactory</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#getEventFactory()">getEventFactory</A></B>()</CODE>
+
+<BR>
+          Returns a reference to the event factory used to construct STAX events.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#setConsumer(javax.xml.stream.util.XMLEventConsumer)">setConsumer</A></B>(javax.xml.stream.util.XMLEventConsumer consumer)</CODE>
+
+<BR>
+          Sets the underlying event consumer to which events are written.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#setEventFactory(javax.xml.stream.XMLEventFactory)">setEventFactory</A></B>(javax.xml.stream.XMLEventFactory eventFactory)</CODE>
+
+<BR>
+          Sets the event factory used to construct STAX events.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeAttribute(org.dom4j.Attribute)">writeAttribute</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attr)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeCDATA(org.dom4j.CDATA)">writeCDATA</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>to the event stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeChildNodes(org.dom4j.Branch)">writeChildNodes</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch)</CODE>
+
+<BR>
+          Writes each child node within the provided <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A>instance. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeComment(org.dom4j.Comment)">writeComment</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeDocument(org.dom4j.Document)">writeDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>node, and all its contents, to the
+ stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeDocumentType(org.dom4j.DocumentType)">writeDocumentType</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeElement(org.dom4j.Element)">writeElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>node and its children to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeEntity(org.dom4j.Entity)">writeEntity</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeNamespace(org.dom4j.Namespace)">writeNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeNode(org.dom4j.Node)">writeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>to the stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeProcessingInstruction(org.dom4j.ProcessingInstruction)">writeProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Writes a DOM4J <CODE>ProcessingInstruction</CODE>to the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeText(org.dom4j.Text)">writeText</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Writes a DOM4J <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>to the stream.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="STAXEventWriter()"><!-- --></A><H3>
+STAXEventWriter</H3>
+<PRE>
+public <B>STAXEventWriter</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="STAXEventWriter(java.io.File)"><!-- --></A><H3>
+STAXEventWriter</H3>
+<PRE>
+public <B>STAXEventWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)
+                throws javax.xml.stream.XMLStreamException,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided file.
+<P>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - The file to which events will be written.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs creating an event writer from the file.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - If an error occurs openin the file for writing.</DL>
+<HR>
+
+<A NAME="STAXEventWriter(java.io.Writer)"><!-- --></A><H3>
+STAXEventWriter</H3>
+<PRE>
+public <B>STAXEventWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+                throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided character stream.
+<P>
+<DT><B>Parameters:</B><DD><CODE>writer</CODE> - The character stream to which events will be written.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs constructing an event writer from the
+             character stream.</DL>
+<HR>
+
+<A NAME="STAXEventWriter(java.io.OutputStream)"><!-- --></A><H3>
+STAXEventWriter</H3>
+<PRE>
+public <B>STAXEventWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> stream)
+                throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided stream.
+<P>
+<DT><B>Parameters:</B><DD><CODE>stream</CODE> - The output stream to which events will be written.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs constructing an event writer from the
+             stream.</DL>
+<HR>
+
+<A NAME="STAXEventWriter(javax.xml.stream.util.XMLEventConsumer)"><!-- --></A><H3>
+STAXEventWriter</H3>
+<PRE>
+public <B>STAXEventWriter</B>(javax.xml.stream.util.XMLEventConsumer consumer)</PRE>
+<DL>
+<DD>Constructs a <code>STAXEventWriter</code> that writes events to the
+ provided event stream.
+<P>
+<DT><B>Parameters:</B><DD><CODE>consumer</CODE> - The event stream to which events will be written.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getConsumer()"><!-- --></A><H3>
+getConsumer</H3>
+<PRE>
+public javax.xml.stream.util.XMLEventConsumer <B>getConsumer</B>()</PRE>
+<DL>
+<DD>Returns a reference to the underlying event consumer to which events are
+ written.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The underlying event consumer to which events are written.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setConsumer(javax.xml.stream.util.XMLEventConsumer)"><!-- --></A><H3>
+setConsumer</H3>
+<PRE>
+public void <B>setConsumer</B>(javax.xml.stream.util.XMLEventConsumer consumer)</PRE>
+<DL>
+<DD>Sets the underlying event consumer to which events are written.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>consumer</CODE> - The event consumer to which events should be written.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEventFactory()"><!-- --></A><H3>
+getEventFactory</H3>
+<PRE>
+public javax.xml.stream.XMLEventFactory <B>getEventFactory</B>()</PRE>
+<DL>
+<DD>Returns a reference to the event factory used to construct STAX events.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The event factory used to construct STAX events.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEventFactory(javax.xml.stream.XMLEventFactory)"><!-- --></A><H3>
+setEventFactory</H3>
+<PRE>
+public void <B>setEventFactory</B>(javax.xml.stream.XMLEventFactory eventFactory)</PRE>
+<DL>
+<DD>Sets the event factory used to construct STAX events.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>eventFactory</CODE> - The new event factory.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeNode(org.dom4j.Node)"><!-- --></A><H3>
+writeNode</H3>
+<PRE>
+public void <B>writeNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n)
+               throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>to the stream. This method is simply a
+ gateway to the overloaded methods such as .
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>n</CODE> - The DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeChildNodes(org.dom4j.Branch)"><!-- --></A><H3>
+writeChildNodes</H3>
+<PRE>
+public void <B>writeChildNodes</B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch)
+                     throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes each child node within the provided <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A>instance. This
+ method simply iterates through the <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A>'s nodes and calls
+ <A HREF="../../../org/dom4j/io/STAXEventWriter.html#writeNode(org.dom4j.Node)"><CODE>writeNode(Node)</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>branch</CODE> - The node whose children will be written to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeElement(org.dom4j.Element)"><!-- --></A><H3>
+writeElement</H3>
+<PRE>
+public void <B>writeElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem)
+                  throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>node and its children to the stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elem</CODE> - The <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>node to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createStartElement(org.dom4j.Element)"><!-- --></A><H3>
+createStartElement</H3>
+<PRE>
+public javax.xml.stream.events.StartElement <B>createStartElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>StartElement</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elem</CODE> - The <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The newly constructed <CODE>StartElement</CODE>event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEndElement(org.dom4j.Element)"><!-- --></A><H3>
+createEndElement</H3>
+<PRE>
+public javax.xml.stream.events.EndElement <B>createEndElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> elem)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>EndElement</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elem</CODE> - The <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The newly constructed <CODE>EndElement</CODE>event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeAttribute(org.dom4j.Attribute)"><!-- --></A><H3>
+writeAttribute</H3>
+<PRE>
+public void <B>writeAttribute</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attr)
+                    throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>to the stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attr</CODE> - The <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Attribute)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public javax.xml.stream.events.Attribute <B>createAttribute</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attr)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>Attribute</CODE>event from a
+ DOM4J <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attr</CODE> - The <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The newly constructed <CODE>Attribute</CODE>
+         event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeNamespace(org.dom4j.Namespace)"><!-- --></A><H3>
+writeNamespace</H3>
+<PRE>
+public void <B>writeNamespace</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)
+                    throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>to the stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ns</CODE> - The <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNamespace(org.dom4j.Namespace)"><!-- --></A><H3>
+createNamespace</H3>
+<PRE>
+public javax.xml.stream.events.Namespace <B>createNamespace</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>Namespace</CODE>event from a
+ DOM4J <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ns</CODE> - The <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The constructed <CODE>Namespace</CODE>event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeText(org.dom4j.Text)"><!-- --></A><H3>
+writeText</H3>
+<PRE>
+public void <B>writeText</B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)
+               throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>to the stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - The <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCharacters(org.dom4j.Text)"><!-- --></A><H3>
+createCharacters</H3>
+<PRE>
+public javax.xml.stream.events.Characters <B>createCharacters</B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>Characters</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - The <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The constructed <CODE>Characters</CODE>event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeCDATA(org.dom4j.CDATA)"><!-- --></A><H3>
+writeCDATA</H3>
+<PRE>
+public void <B>writeCDATA</B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)
+                throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>to the event stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - The <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCharacters(org.dom4j.CDATA)"><!-- --></A><H3>
+createCharacters</H3>
+<PRE>
+public javax.xml.stream.events.Characters <B>createCharacters</B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>Characters</CODE>event from a DOM4J <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - The <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The newly constructed <CODE>Characters</CODE>event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeComment(org.dom4j.Comment)"><!-- --></A><H3>
+writeComment</H3>
+<PRE>
+public void <B>writeComment</B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)
+                  throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>to the stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - The <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createComment(org.dom4j.Comment)"><!-- --></A><H3>
+createComment</H3>
+<PRE>
+public javax.xml.stream.events.Comment <B>createComment</B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>Comment</CODE>event from a
+ DOM4J <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - The <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The constructed <CODE>Comment</CODE>event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeProcessingInstruction(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+writeProcessingInstruction</H3>
+<PRE>
+public void <B>writeProcessingInstruction</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)
+                                throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <CODE>ProcessingInstruction</CODE>to the stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pi</CODE> - The <CODE>ProcessingInstruction</CODE>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public javax.xml.stream.events.ProcessingInstruction <B>createProcessingInstruction</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>ProcessingInstruction</CODE>
+ event from a DOM4J <CODE>ProcessingInstruction</CODE>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pi</CODE> - The <CODE>ProcessingInstruction</CODE>from which to construct the
+            event.
+<DT><B>Returns:</B><DD>The constructed <CODE>ProcessingInstruction</CODE> event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeEntity(org.dom4j.Entity)"><!-- --></A><H3>
+writeEntity</H3>
+<PRE>
+public void <B>writeEntity</B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)
+                 throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>to the stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - The <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeDocumentType(org.dom4j.DocumentType)"><!-- --></A><H3>
+writeDocumentType</H3>
+<PRE>
+public void <B>writeDocumentType</B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)
+                       throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>to the stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docType</CODE> - The <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDTD(org.dom4j.DocumentType)"><!-- --></A><H3>
+createDTD</H3>
+<PRE>
+public javax.xml.stream.events.DTD <B>createDTD</B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>DTD</CODE>event from a DOM4J <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docType</CODE> - The <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The constructed <CODE>DTD</CODE>event.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeDocument(org.dom4j.Document)"><!-- --></A><H3>
+writeDocument</H3>
+<PRE>
+public void <B>writeDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)
+                   throws javax.xml.stream.XMLStreamException</PRE>
+<DL>
+<DD>Writes a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>node, and all its contents, to the
+ stream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - The <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>to write to the stream.
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.stream.XMLStreamException</CODE> - If an error occurs writing to the stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createStartDocument(org.dom4j.Document)"><!-- --></A><H3>
+createStartDocument</H3>
+<PRE>
+public javax.xml.stream.events.StartDocument <B>createStartDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>StartDocument</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - The <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The constructed <CODE>StartDocument</CODE>event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEndDocument(org.dom4j.Document)"><!-- --></A><H3>
+createEndDocument</H3>
+<PRE>
+public javax.xml.stream.events.EndDocument <B>createEndDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>EndDocument</CODE>event from a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - The <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>from which to construct the event.
+<DT><B>Returns:</B><DD>The constructed <CODE>EndDocument</CODE>event.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(org.dom4j.QName)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public javax.xml.namespace.QName <B>createQName</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD>Constructs a STAX <CODE>QName</CODE>from a DOM4J <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qname</CODE> - The <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>from which to construct the STAX
+            <CODE>QName</CODE>.
+<DT><B>Returns:</B><DD>The constructed <CODE>QName</CODE>.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/STAXEventWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/XMLResult.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="STAXEventWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/XMLResult.html b/docs/apidocs/org/dom4j/io/XMLResult.html
new file mode 100644
index 0000000..cd92342
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/XMLResult.html
@@ -0,0 +1,438 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XMLResult (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.XMLResult class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XMLResult (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLResult.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLResult.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.xml.transform.sax.SAXResult">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class XMLResult</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax">javax.xml.transform.sax.SAXResult</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.XMLResult</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html" title="class or interface in javax.xml.transform">Result</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>XMLResult</B><DT>extends <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax">SAXResult</A></DL>
+
+<P>
+<p>
+ <code>XMLResult</code> implements a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXResult</CODE></A>for an output
+ stream with support for pretty printing and control over how the XML is
+ formatted.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.xml.transform.sax.SAXResult"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax">SAXResult</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html#FEATURE" title="class or interface in javax.xml.transform.sax">FEATURE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.xml.transform.Result"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.xml.transform.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html" title="class or interface in javax.xml.transform">Result</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html#PI_DISABLE_OUTPUT_ESCAPING" title="class or interface in javax.xml.transform">PI_DISABLE_OUTPUT_ESCAPING</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html#PI_ENABLE_OUTPUT_ESCAPING" title="class or interface in javax.xml.transform">PI_ENABLE_OUTPUT_ESCAPING</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#XMLResult()">XMLResult</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#XMLResult(java.io.OutputStream)">XMLResult</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#XMLResult(java.io.OutputStream, org.dom4j.io.OutputFormat)">XMLResult</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out,
+          <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#XMLResult(java.io.Writer)">XMLResult</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#XMLResult(java.io.Writer, org.dom4j.io.OutputFormat)">XMLResult</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer,
+          <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#XMLResult(org.dom4j.io.XMLWriter)">XMLResult</A></B>(<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> xmlWriter)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#getHandler()">getHandler</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#getLexicalHandler()">getLexicalHandler</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#getXMLWriter()">getXMLWriter</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLResult.html#setXMLWriter(org.dom4j.io.XMLWriter)">setXMLWriter</A></B>(<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> writer)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.xml.transform.sax.SAXResult"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax">SAXResult</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html#getSystemId()" title="class or interface in javax.xml.transform.sax">getSystemId</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html#setHandler(org.xml.sax.ContentHandler)" title="class or interface in javax.xml.transform.sax">setHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html#s [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XMLResult()"><!-- --></A><H3>
+XMLResult</H3>
+<PRE>
+public <B>XMLResult</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLResult(java.io.Writer)"><!-- --></A><H3>
+XMLResult</H3>
+<PRE>
+public <B>XMLResult</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLResult(java.io.Writer, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+XMLResult</H3>
+<PRE>
+public <B>XMLResult</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer,
+                 <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLResult(java.io.OutputStream)"><!-- --></A><H3>
+XMLResult</H3>
+<PRE>
+public <B>XMLResult</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out)
+          throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLResult(java.io.OutputStream, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+XMLResult</H3>
+<PRE>
+public <B>XMLResult</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out,
+                 <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)
+          throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLResult(org.dom4j.io.XMLWriter)"><!-- --></A><H3>
+XMLResult</H3>
+<PRE>
+public <B>XMLResult</B>(<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> xmlWriter)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getXMLWriter()"><!-- --></A><H3>
+getXMLWriter</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> <B>getXMLWriter</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLWriter(org.dom4j.io.XMLWriter)"><!-- --></A><H3>
+setXMLWriter</H3>
+<PRE>
+public void <B>setXMLWriter</B>(<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> writer)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHandler()"><!-- --></A><H3>
+getHandler</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A> <B>getHandler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLexicalHandler()"><!-- --></A><H3>
+getLexicalHandler</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> <B>getLexicalHandler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLResult.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLResult.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.xml.transform.sax.SAXResult">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/XMLWriter.html b/docs/apidocs/org/dom4j/io/XMLWriter.html
new file mode 100644
index 0000000..75c305e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/XMLWriter.html
@@ -0,0 +1,2812 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:24 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XMLWriter (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.XMLWriter class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XMLWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/XMLResult.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class XMLWriter</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html" title="class or interface in org.xml.sax.helpers">org.xml.sax.helpers.XMLFilterImpl</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.XMLWriter</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A>, <A H [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>XMLWriter</B><DT>extends <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html" title="class or interface in org.xml.sax.helpers">XMLFilterImpl</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></DL>
+
+<P>
+<p>
+ <code>XMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ XML. It can also take SAX events too so can be used by SAX clients as this
+ object implements the <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax"><CODE>ContentHandler</CODE></A>and <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext"><CODE>LexicalHandler</CODE></A> interfaces. as well. This formatter performs typical document
+ formatting. The XML declaration and processing instructions are always on
+ their own lines. An <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A>object can be used to define how
+ whitespace is handled when printing and allows various configuration options,
+ such as to allow suppression of the XML declaration, the encoding declaration
+ or whether empty documents are collapsed.
+ </p>
+ 
+ <p>
+ There are <code>write(...)</code> methods to print any of the standard
+ DOM4J classes, including <code>Document</code> and <code>Element</code>,
+ to either a <code>Writer</code> or an <code>OutputStream</code>.
+ Warning: using your own <code>Writer</code> may cause the writer's
+ preferred character encoding to be ignored. If you use encodings other than
+ UTF8, we recommend using the method that takes an OutputStream instead.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.83.2.2 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a>, Joseph Bowbeer</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#DEFAULT_FORMAT">DEFAULT_FORMAT</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#lastOutputNodeType">lastOutputNodeType</A></B></CODE>
+
+<BR>
+          Stores the last type of node written so algorithms can refer to the
+ previous node type</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#LEXICAL_HANDLER_NAMES">LEXICAL_HANDLER_NAMES</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#preserve">preserve</A></B></CODE>
+
+<BR>
+          Stores the xml:space attribute value of preserve for whitespace flag</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writer">writer</A></B></CODE>
+
+<BR>
+          The Writer used to output to</TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#XMLWriter()">XMLWriter</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#XMLWriter(org.dom4j.io.OutputFormat)">XMLWriter</A></B>(<A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#XMLWriter(java.io.OutputStream)">XMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#XMLWriter(java.io.OutputStream, org.dom4j.io.OutputFormat)">XMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out,
+          <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#XMLWriter(java.io.Writer)">XMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#XMLWriter(java.io.Writer, org.dom4j.io.OutputFormat)">XMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer,
+          <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#characters(char[], int, int)">characters</A></B>(char[] ch,
+           int start,
+           int length)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#close()">close</A></B>()</CODE>
+
+<BR>
+          Closes the underlying Writer</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#comment(char[], int, int)">comment</A></B>(char[] ch,
+        int start,
+        int length)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#createWriter(java.io.OutputStream, java.lang.String)">createWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> outStream,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)</CODE>
+
+<BR>
+          Get an OutputStreamWriter, use preferred encoding.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#defaultMaximumAllowedCharacter()">defaultMaximumAllowedCharacter</A></B>()</CODE>
+
+<BR>
+          Returns the maximum allowed character code that should be allowed
+ unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8
+ bit).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#endCDATA()">endCDATA</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#endDocument()">endDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#endDTD()">endDTD</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#endElement(java.lang.String, java.lang.String, java.lang.String)">endElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#endEntity(java.lang.String)">endEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#endPrefixMapping(java.lang.String)">endPrefixMapping</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#escapeAttributeEntities(java.lang.String)">escapeAttributeEntities</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          This will take the pre-defined entities in XML 1.0 and convert their
+ character representation to the appropriate entity reference, suitable
+ for XML attributes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#escapeElementEntities(java.lang.String)">escapeElementEntities</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          This will take the pre-defined entities in XML 1.0 and convert their
+ character representation to the appropriate entity reference, suitable
+ for XML attributes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#flush()">flush</A></B>()</CODE>
+
+<BR>
+          Flushes the underlying Writer</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#getLexicalHandler()">getLexicalHandler</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#getMaximumAllowedCharacter()">getMaximumAllowedCharacter</A></B>()</CODE>
+
+<BR>
+          Returns the maximum allowed character code that should be allowed
+ unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8
+ bit).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#getOutputFormat()">getOutputFormat</A></B>()</CODE>
+
+<BR>
+          Lets subclasses get at the current format object, so they can call
+ setTrimText, setNewLines, etc. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#getProperty(java.lang.String)">getProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#handleException(java.io.IOException)">handleException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#ignorableWhitespace(char[], int, int)">ignorableWhitespace</A></B>(char[] ch,
+                    int start,
+                    int length)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#indent()">indent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#installLexicalHandler()">installLexicalHandler</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#isElementSpacePreserved(org.dom4j.Element)">isElementSpacePreserved</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Determines if element is a special case of XML elements where it contains
+ an xml:space attribute of "preserve". </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#isEscapeText()">isEscapeText</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#isExpandEmptyElements()">isExpandEmptyElements</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#isNamespaceDeclaration(org.dom4j.Namespace)">isNamespaceDeclaration</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#notationDecl(java.lang.String, java.lang.String, java.lang.String)">notationDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#parse(org.xml.sax.InputSource)">parse</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#println()">println</A></B>()</CODE>
+
+<BR>
+          Writes the new line text to the underlying Writer</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#processingInstruction(java.lang.String, java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#resolveEntityRefs()">resolveEntityRefs</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#setDocumentLocator(org.xml.sax.Locator)">setDocumentLocator</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Locator.html" title="class or interface in org.xml.sax">Locator</A> locator)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#setEscapeText(boolean)">setEscapeText</A></B>(boolean escapeText)</CODE>
+
+<BR>
+          Sets whether text output should be escaped or not. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#setIndentLevel(int)">setIndentLevel</A></B>(int indentLevel)</CODE>
+
+<BR>
+          Set the initial indentation level. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#setLexicalHandler(org.xml.sax.ext.LexicalHandler)">setLexicalHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> handler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#setMaximumAllowedCharacter(int)">setMaximumAllowedCharacter</A></B>(int maximumAllowedCharacter)</CODE>
+
+<BR>
+          Sets the maximum allowed character code that should be allowed unescaped
+ such as 127 in US-ASCII (7 bit) or 255 in ISO- (8 bit) or -1 to not
+ escape any characters (other than the special XML characters like <
+ > &) If this is not explicitly set then it is defaulted from the
+ encoding.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#setOutputStream(java.io.OutputStream)">setOutputStream</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#setProperty(java.lang.String, java.lang.Object)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#setResolveEntityRefs(boolean)">setResolveEntityRefs</A></B>(boolean resolve)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#setWriter(java.io.Writer)">setWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#shouldEncodeChar(char)">shouldEncodeChar</A></B>(char c)</CODE>
+
+<BR>
+          Should the given character be escaped. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#startCDATA()">startCDATA</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#startDocument()">startDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#startDTD(java.lang.String, java.lang.String, java.lang.String)">startDTD</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)">startElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#startEntity(java.lang.String)">startEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#startPrefixMapping(java.lang.String, java.lang.String)">startPrefixMapping</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">unparsedEntityDecl</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> notationName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Attribute)">write</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.CDATA)">write</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Comment)">write</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Document)">write</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)</CODE>
+
+<BR>
+          
+ This will print the <code>Document</code> to the current Writer.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.DocumentType)">write</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Element)">write</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the <code><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A></code>, including its <code><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A></code>
+ s, and its value, and all its content (child nodes) to the current
+ Writer.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Entity)">write</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Namespace)">write</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Node)">write</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(java.lang.Object)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+          Writes the given object which should be a String, a Node or a List of
+ Nodes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.ProcessingInstruction)">write</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> processingInstruction)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><CODE>ProcessingInstruction</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(java.lang.String)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Print out a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A>, Perfoms the necessary entity escaping and
+ whitespace stripping.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#write(org.dom4j.Text)">write</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Writes the given <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeAttribute(org.dom4j.Attribute)">writeAttribute</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeAttribute(org.xml.sax.Attributes, int)">writeAttribute</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes,
+               int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeAttributes(org.xml.sax.Attributes)">writeAttributes</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeAttributes(org.dom4j.Element)">writeAttributes</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Writes the attributes of the given element</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeCDATA(java.lang.String)">writeCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeClose(org.dom4j.Element)">writeClose</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the closing tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeClose(java.lang.String)">writeClose</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeComment(java.lang.String)">writeComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeDeclaration()">writeDeclaration</A></B>()</CODE>
+
+<BR>
+          
+ This will write the declaration to the given Writer. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeDocType(org.dom4j.DocumentType)">writeDocType</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeDocType(java.lang.String, java.lang.String, java.lang.String)">writeDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeElement(org.dom4j.Element)">writeElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeElementContent(org.dom4j.Element)">writeElementContent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Outputs the content of the given element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeEmptyElementClose(java.lang.String)">writeEmptyElementClose</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeEntity(org.dom4j.Entity)">writeEntity</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeEntityRef(java.lang.String)">writeEntityRef</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeEscapeAttributeEntities(java.lang.String)">writeEscapeAttributeEntities</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> txt)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeNamespace(org.dom4j.Namespace)">writeNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeNamespace(java.lang.String, java.lang.String)">writeNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          Writes the SAX namepsaces</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeNamespaces()">writeNamespaces</A></B>()</CODE>
+
+<BR>
+          Writes the SAX namepsaces</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeNode(org.dom4j.Node)">writeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeNodeText(org.dom4j.Node)">writeNodeText</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          This method is used to write out Nodes that contain text and still allow
+ for xml:space to be handled properly.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeOpen(org.dom4j.Element)">writeOpen</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          
+ Writes the opening tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>, including its <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>s but without its content.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writePrintln()">writePrintln</A></B>()</CODE>
+
+<BR>
+          
+ This will print a new line only if the newlines flag was set to true
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeProcessingInstruction(org.dom4j.ProcessingInstruction)">writeProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XMLWriter.html#writeString(java.lang.String)">writeString</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.xml.sax.helpers.XMLFilterImpl"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.xml.sax.helpers.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html" title="class or interface in org.xml.sax.helpers">XMLFilterImpl</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html#error(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax.helpers">error</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html#fatalError(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax.helpers">fatalError</A>, <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilte [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="LEXICAL_HANDLER_NAMES"><!-- --></A><H3>
+LEXICAL_HANDLER_NAMES</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[] <B>LEXICAL_HANDLER_NAMES</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="DEFAULT_FORMAT"><!-- --></A><H3>
+DEFAULT_FORMAT</H3>
+<PRE>
+protected static final <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> <B>DEFAULT_FORMAT</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="lastOutputNodeType"><!-- --></A><H3>
+lastOutputNodeType</H3>
+<PRE>
+protected int <B>lastOutputNodeType</B></PRE>
+<DL>
+<DD>Stores the last type of node written so algorithms can refer to the
+ previous node type
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="preserve"><!-- --></A><H3>
+preserve</H3>
+<PRE>
+protected boolean <B>preserve</B></PRE>
+<DL>
+<DD>Stores the xml:space attribute value of preserve for whitespace flag
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="writer"><!-- --></A><H3>
+writer</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> <B>writer</B></PRE>
+<DL>
+<DD>The Writer used to output to
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XMLWriter(java.io.Writer)"><!-- --></A><H3>
+XMLWriter</H3>
+<PRE>
+public <B>XMLWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLWriter(java.io.Writer, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+XMLWriter</H3>
+<PRE>
+public <B>XMLWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer,
+                 <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLWriter()"><!-- --></A><H3>
+XMLWriter</H3>
+<PRE>
+public <B>XMLWriter</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLWriter(java.io.OutputStream)"><!-- --></A><H3>
+XMLWriter</H3>
+<PRE>
+public <B>XMLWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out)
+          throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLWriter(java.io.OutputStream, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+XMLWriter</H3>
+<PRE>
+public <B>XMLWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out,
+                 <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)
+          throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLWriter(org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+XMLWriter</H3>
+<PRE>
+public <B>XMLWriter</B>(<A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)
+          throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setWriter(java.io.Writer)"><!-- --></A><H3>
+setWriter</H3>
+<PRE>
+public void <B>setWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOutputStream(java.io.OutputStream)"><!-- --></A><H3>
+setOutputStream</H3>
+<PRE>
+public void <B>setOutputStream</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out)
+                     throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isEscapeText()"><!-- --></A><H3>
+isEscapeText</H3>
+<PRE>
+public boolean <B>isEscapeText</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if text thats output should be escaped. This is enabled by
+         default. It could be disabled if the output format is textual,
+         like in XSLT where we can have xml, html or text output.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEscapeText(boolean)"><!-- --></A><H3>
+setEscapeText</H3>
+<PRE>
+public void <B>setEscapeText</B>(boolean escapeText)</PRE>
+<DL>
+<DD>Sets whether text output should be escaped or not. This is enabled by
+ default. It could be disabled if the output format is textual, like in
+ XSLT where we can have xml, html or text output.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>escapeText</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIndentLevel(int)"><!-- --></A><H3>
+setIndentLevel</H3>
+<PRE>
+public void <B>setIndentLevel</B>(int indentLevel)</PRE>
+<DL>
+<DD>Set the initial indentation level. This can be used to output a document
+ (or, more likely, an element) starting at a given indent level, so it's
+ not always flush against the left margin. Default: 0
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>indentLevel</CODE> - the number of indents to start with</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaximumAllowedCharacter()"><!-- --></A><H3>
+getMaximumAllowedCharacter</H3>
+<PRE>
+public int <B>getMaximumAllowedCharacter</B>()</PRE>
+<DL>
+<DD>Returns the maximum allowed character code that should be allowed
+ unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8
+ bit).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaximumAllowedCharacter(int)"><!-- --></A><H3>
+setMaximumAllowedCharacter</H3>
+<PRE>
+public void <B>setMaximumAllowedCharacter</B>(int maximumAllowedCharacter)</PRE>
+<DL>
+<DD>Sets the maximum allowed character code that should be allowed unescaped
+ such as 127 in US-ASCII (7 bit) or 255 in ISO- (8 bit) or -1 to not
+ escape any characters (other than the special XML characters like <
+ > &) If this is not explicitly set then it is defaulted from the
+ encoding.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>maximumAllowedCharacter</CODE> - The maximumAllowedCharacter to set</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="flush()"><!-- --></A><H3>
+flush</H3>
+<PRE>
+public void <B>flush</B>()
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Flushes the underlying Writer
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Closes the underlying Writer
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println()"><!-- --></A><H3>
+println</H3>
+<PRE>
+public void <B>println</B>()
+             throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the new line text to the underlying Writer
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Attribute)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attribute</CODE> - <code>Attribute</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Document)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> doc)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><p>
+ This will print the <code>Document</code> to the current Writer.
+ </p>
+ 
+ <p>
+ Warning: using your own Writer may cause the writer's preferred character
+ encoding to be ignored. If you use encodings other than UTF8, we
+ recommend using the method that takes an OutputStream instead.
+ </p>
+ 
+ <p>
+ Note: as with all Writers, you may need to flush() yours after this
+ method returns.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>doc</CODE> - <code>Document</code> to format.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if there's any problem writing.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Element)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><p>
+ Writes the <code><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A></code>, including its <code><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A></code>
+ s, and its value, and all its content (child nodes) to the current
+ Writer.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - <code>Element</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.CDATA)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - <code>CDATA</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Comment)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j"><CODE>Comment</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - <code>Comment</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.DocumentType)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><CODE>DocumentType</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docType</CODE> - <code>DocumentType</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Entity)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - <code>Entity</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Namespace)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - <code>Namespace</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> processingInstruction)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><CODE>ProcessingInstruction</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>processingInstruction</CODE> - <code>ProcessingInstruction</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.lang.String)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><p>
+ Print out a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A>, Perfoms the necessary entity escaping and
+ whitespace stripping.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text to output
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Text)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - <code>Text</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(org.dom4j.Node)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - <code>Node</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.lang.Object)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the given object which should be a String, a Node or a List of
+ Nodes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>object</CODE> - is the object to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeOpen(org.dom4j.Element)"><!-- --></A><H3>
+writeOpen</H3>
+<PRE>
+public void <B>writeOpen</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><p>
+ Writes the opening tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>, including its <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>s but without its content.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - <code>Element</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeClose(org.dom4j.Element)"><!-- --></A><H3>
+writeClose</H3>
+<PRE>
+public void <B>writeClose</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><p>
+ Writes the closing tag of an <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - <code>Element</code> to output.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parse(org.xml.sax.InputSource)"><!-- --></A><H3>
+parse</H3>
+<PRE>
+public void <B>parse</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#parse(org.xml.sax.InputSource)" title="class or interface in org.xml.sax">parse</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setProperty(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setProperty</H3>
+<PRE>
+public void <B>setProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> value)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A>,
+                        <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#setProperty(java.lang.String, java.lang.Object)" title="class or interface in org.xml.sax">setProperty</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProperty(java.lang.String)"><!-- --></A><H3>
+getProperty</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getProperty</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A>,
+                          <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html#getProperty(java.lang.String)" title="class or interface in org.xml.sax">getProperty</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotRecognizedException.html" title="class or interface in org.xml.sax">SAXNotRecognizedException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXNotSupportedException.html" title="class or interface in org.xml.sax">SAXNotSupportedException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLexicalHandler(org.xml.sax.ext.LexicalHandler)"><!-- --></A><H3>
+setLexicalHandler</H3>
+<PRE>
+public void <B>setLexicalHandler</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> handler)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLexicalHandler()"><!-- --></A><H3>
+getLexicalHandler</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A> <B>getLexicalHandler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentLocator(org.xml.sax.Locator)"><!-- --></A><H3>
+setDocumentLocator</H3>
+<PRE>
+public void <B>setDocumentLocator</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Locator.html" title="class or interface in org.xml.sax">Locator</A> locator)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#setDocumentLocator(org.xml.sax.Locator)" title="class or interface in org.xml.sax">setDocumentLocator</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startDocument()"><!-- --></A><H3>
+startDocument</H3>
+<PRE>
+public void <B>startDocument</B>()
+                   throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#startDocument()" title="class or interface in org.xml.sax">startDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endDocument()"><!-- --></A><H3>
+endDocument</H3>
+<PRE>
+public void <B>endDocument</B>()
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#endDocument()" title="class or interface in org.xml.sax">endDocument</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startPrefixMapping(java.lang.String, java.lang.String)"><!-- --></A><H3>
+startPrefixMapping</H3>
+<PRE>
+public void <B>startPrefixMapping</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#startPrefixMapping(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">startPrefixMapping</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endPrefixMapping(java.lang.String)"><!-- --></A><H3>
+endPrefixMapping</H3>
+<PRE>
+public void <B>endPrefixMapping</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)
+                      throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#endPrefixMapping(java.lang.String)" title="class or interface in org.xml.sax">endPrefixMapping</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)"><!-- --></A><H3>
+startElement</H3>
+<PRE>
+public void <B>startElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName,
+                         <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)" title="class or interface in org.xml.sax">startElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endElement(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+endElement</H3>
+<PRE>
+public void <B>endElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#endElement(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">endElement</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="characters(char[], int, int)"><!-- --></A><H3>
+characters</H3>
+<PRE>
+public void <B>characters</B>(char[] ch,
+                       int start,
+                       int length)
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#characters(char[], int, int)" title="class or interface in org.xml.sax">characters</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="ignorableWhitespace(char[], int, int)"><!-- --></A><H3>
+ignorableWhitespace</H3>
+<PRE>
+public void <B>ignorableWhitespace</B>(char[] ch,
+                                int start,
+                                int length)
+                         throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#ignorableWhitespace(char[], int, int)" title="class or interface in org.xml.sax">ignorableWhitespace</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+processingInstruction</H3>
+<PRE>
+public void <B>processingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)
+                           throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html#processingInstruction(java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">processingInstruction</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="notationDecl(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+notationDecl</H3>
+<PRE>
+public void <B>notationDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)
+                  throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html#notationDecl(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">notationDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+unparsedEntityDecl</H3>
+<PRE>
+public void <B>unparsedEntityDecl</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> notationName)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html#unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax">unparsedEntityDecl</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startDTD(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+startDTD</H3>
+<PRE>
+public void <B>startDTD</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)
+              throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startDTD(java.lang.String, java.lang.String, java.lang.String)" title="class or interface in org.xml.sax.ext">startDTD</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endDTD()"><!-- --></A><H3>
+endDTD</H3>
+<PRE>
+public void <B>endDTD</B>()
+            throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endDTD()" title="class or interface in org.xml.sax.ext">endDTD</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startCDATA()"><!-- --></A><H3>
+startCDATA</H3>
+<PRE>
+public void <B>startCDATA</B>()
+                throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startCDATA()" title="class or interface in org.xml.sax.ext">startCDATA</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endCDATA()"><!-- --></A><H3>
+endCDATA</H3>
+<PRE>
+public void <B>endCDATA</B>()
+              throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endCDATA()" title="class or interface in org.xml.sax.ext">endCDATA</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startEntity(java.lang.String)"><!-- --></A><H3>
+startEntity</H3>
+<PRE>
+public void <B>startEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                 throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#startEntity(java.lang.String)" title="class or interface in org.xml.sax.ext">startEntity</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endEntity(java.lang.String)"><!-- --></A><H3>
+endEntity</H3>
+<PRE>
+public void <B>endEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+               throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#endEntity(java.lang.String)" title="class or interface in org.xml.sax.ext">endEntity</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="comment(char[], int, int)"><!-- --></A><H3>
+comment</H3>
+<PRE>
+public void <B>comment</B>(char[] ch,
+                    int start,
+                    int length)
+             throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html#comment(char[], int, int)" title="class or interface in org.xml.sax.ext">comment</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeElement(org.dom4j.Element)"><!-- --></A><H3>
+writeElement</H3>
+<PRE>
+protected void <B>writeElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                     throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isElementSpacePreserved(org.dom4j.Element)"><!-- --></A><H3>
+isElementSpacePreserved</H3>
+<PRE>
+protected final boolean <B>isElementSpacePreserved</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD>Determines if element is a special case of XML elements where it contains
+ an xml:space attribute of "preserve". If it does, then retain whitespace.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeElementContent(org.dom4j.Element)"><!-- --></A><H3>
+writeElementContent</H3>
+<PRE>
+protected void <B>writeElementContent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                            throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Outputs the content of the given element. If whitespace trimming is
+ enabled then all adjacent text nodes are appended together before the
+ whitespace trimming occurs to avoid problems with multiple text nodes
+ being created due to text content that spans parser buffers in a SAX
+ parser.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeCDATA(java.lang.String)"><!-- --></A><H3>
+writeCDATA</H3>
+<PRE>
+protected void <B>writeCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+                   throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeDocType(org.dom4j.DocumentType)"><!-- --></A><H3>
+writeDocType</H3>
+<PRE>
+protected void <B>writeDocType</B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)
+                     throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeNamespace(org.dom4j.Namespace)"><!-- --></A><H3>
+writeNamespace</H3>
+<PRE>
+protected void <B>writeNamespace</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)
+                       throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeNamespaces()"><!-- --></A><H3>
+writeNamespaces</H3>
+<PRE>
+protected void <B>writeNamespaces</B>()
+                        throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the SAX namepsaces
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+writeNamespace</H3>
+<PRE>
+protected void <B>writeNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)
+                       throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the SAX namepsaces
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - the prefix<DD><CODE>uri</CODE> - the namespace uri
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeProcessingInstruction(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+writeProcessingInstruction</H3>
+<PRE>
+protected void <B>writeProcessingInstruction</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)
+                                   throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeString(java.lang.String)"><!-- --></A><H3>
+writeString</H3>
+<PRE>
+protected void <B>writeString</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeNodeText(org.dom4j.Node)"><!-- --></A><H3>
+writeNodeText</H3>
+<PRE>
+protected void <B>writeNodeText</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)
+                      throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>This method is used to write out Nodes that contain text and still allow
+ for xml:space to be handled properly.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeNode(org.dom4j.Node)"><!-- --></A><H3>
+writeNode</H3>
+<PRE>
+protected void <B>writeNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)
+                  throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="installLexicalHandler()"><!-- --></A><H3>
+installLexicalHandler</H3>
+<PRE>
+protected void <B>installLexicalHandler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeDocType(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+writeDocType</H3>
+<PRE>
+protected void <B>writeDocType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)
+                     throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeEntity(org.dom4j.Entity)"><!-- --></A><H3>
+writeEntity</H3>
+<PRE>
+protected void <B>writeEntity</B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeEntityRef(java.lang.String)"><!-- --></A><H3>
+writeEntityRef</H3>
+<PRE>
+protected void <B>writeEntityRef</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)
+                       throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeComment(java.lang.String)"><!-- --></A><H3>
+writeComment</H3>
+<PRE>
+protected void <B>writeComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+                     throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeAttributes(org.dom4j.Element)"><!-- --></A><H3>
+writeAttributes</H3>
+<PRE>
+protected void <B>writeAttributes</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                        throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the attributes of the given element
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeAttribute(org.dom4j.Attribute)"><!-- --></A><H3>
+writeAttribute</H3>
+<PRE>
+protected void <B>writeAttribute</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)
+                       throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeAttributes(org.xml.sax.Attributes)"><!-- --></A><H3>
+writeAttributes</H3>
+<PRE>
+protected void <B>writeAttributes</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes)
+                        throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeAttribute(org.xml.sax.Attributes, int)"><!-- --></A><H3>
+writeAttribute</H3>
+<PRE>
+protected void <B>writeAttribute</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes,
+                              int index)
+                       throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="indent()"><!-- --></A><H3>
+indent</H3>
+<PRE>
+protected void <B>indent</B>()
+               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writePrintln()"><!-- --></A><H3>
+writePrintln</H3>
+<PRE>
+protected void <B>writePrintln</B>()
+                     throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><p>
+ This will print a new line only if the newlines flag was set to true
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createWriter(java.io.OutputStream, java.lang.String)"><!-- --></A><H3>
+createWriter</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> <B>createWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> outStream,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> encoding)
+                       throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></PRE>
+<DL>
+<DD>Get an OutputStreamWriter, use preferred encoding.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>outStream</CODE> - DOCUMENT ME!<DD><CODE>encoding</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/UnsupportedEncodingException.html" title="class or interface in java.io">UnsupportedEncodingException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeDeclaration()"><!-- --></A><H3>
+writeDeclaration</H3>
+<PRE>
+protected void <B>writeDeclaration</B>()
+                         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><p>
+ This will write the declaration to the given Writer. Assumes XML version
+ 1.0 since we don't directly know.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeClose(java.lang.String)"><!-- --></A><H3>
+writeClose</H3>
+<PRE>
+protected void <B>writeClose</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)
+                   throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeEmptyElementClose(java.lang.String)"><!-- --></A><H3>
+writeEmptyElementClose</H3>
+<PRE>
+protected void <B>writeEmptyElementClose</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)
+                               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isExpandEmptyElements()"><!-- --></A><H3>
+isExpandEmptyElements</H3>
+<PRE>
+protected boolean <B>isExpandEmptyElements</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="escapeElementEntities(java.lang.String)"><!-- --></A><H3>
+escapeElementEntities</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>escapeElementEntities</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>This will take the pre-defined entities in XML 1.0 and convert their
+ character representation to the appropriate entity reference, suitable
+ for XML attributes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeEscapeAttributeEntities(java.lang.String)"><!-- --></A><H3>
+writeEscapeAttributeEntities</H3>
+<PRE>
+protected void <B>writeEscapeAttributeEntities</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> txt)
+                                     throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="escapeAttributeEntities(java.lang.String)"><!-- --></A><H3>
+escapeAttributeEntities</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>escapeAttributeEntities</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>This will take the pre-defined entities in XML 1.0 and convert their
+ character representation to the appropriate entity reference, suitable
+ for XML attributes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shouldEncodeChar(char)"><!-- --></A><H3>
+shouldEncodeChar</H3>
+<PRE>
+protected boolean <B>shouldEncodeChar</B>(char c)</PRE>
+<DL>
+<DD>Should the given character be escaped. This depends on the encoding of
+ the document.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>c</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>boolean</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="defaultMaximumAllowedCharacter()"><!-- --></A><H3>
+defaultMaximumAllowedCharacter</H3>
+<PRE>
+protected int <B>defaultMaximumAllowedCharacter</B>()</PRE>
+<DL>
+<DD>Returns the maximum allowed character code that should be allowed
+ unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8
+ bit).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNamespaceDeclaration(org.dom4j.Namespace)"><!-- --></A><H3>
+isNamespaceDeclaration</H3>
+<PRE>
+protected boolean <B>isNamespaceDeclaration</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handleException(java.io.IOException)"><!-- --></A><H3>
+handleException</H3>
+<PRE>
+protected void <B>handleException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A> e)
+                        throws <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOutputFormat()"><!-- --></A><H3>
+getOutputFormat</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> <B>getOutputFormat</B>()</PRE>
+<DL>
+<DD>Lets subclasses get at the current format object, so they can call
+ setTrimText, setNewLines, etc. Put in to support the HTMLWriter, in the
+ way that it pushes the current newline/trim state onto a stack and
+ overrides the state within preformatted tags.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resolveEntityRefs()"><!-- --></A><H3>
+resolveEntityRefs</H3>
+<PRE>
+public boolean <B>resolveEntityRefs</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setResolveEntityRefs(boolean)"><!-- --></A><H3>
+setResolveEntityRefs</H3>
+<PRE>
+public void <B>setResolveEntityRefs</B>(boolean resolve)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/XMLResult.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/XPP3Reader.html b/docs/apidocs/org/dom4j/io/XPP3Reader.html
new file mode 100644
index 0000000..deaac99
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/XPP3Reader.html
@@ -0,0 +1,815 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XPP3Reader (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.XPP3Reader class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XPP3Reader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPP3Reader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/XPPReader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPP3Reader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class XPP3Reader</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.XPP3Reader</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>XPP3Reader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>XPP3Reader</code> is a Reader of DOM4J documents that uses the fast
+ <a href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 3.x </a>.
+ It is very fast for use in SOAP style environments.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.3 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:pelle at neubia.com">Pelle Braendgaard </a>, <a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#XPP3Reader()">XPP3Reader</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#XPP3Reader(org.dom4j.DocumentFactory)">XPP3Reader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#createReader(java.io.InputStream)">createReader</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          Factory method to create a Reader from the given InputStream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  org.dom4j.io.DispatchHandler</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#getDispatchHandler()">getDispatchHandler</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.xmlpull.v1.XmlPullParserFactory</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#getXPPFactory()">getXPPFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.xmlpull.v1.XmlPullParser</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#getXPPParser()">getXPPParser</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#parseDocument()">parseDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(char[])">read</A></B>(char[] text)</CODE>
+
+<BR>
+          
+ Reads a Document from the given array of characters
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>File</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given URL or filename.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>URL</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#removeHandler(java.lang.String)">removeHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#setDefaultHandler(org.dom4j.ElementHandler)">setDefaultHandler</A></B>(<A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#setDispatchHandler(org.dom4j.io.DispatchHandler)">setDispatchHandler</A></B>(org.dom4j.io.DispatchHandler dispatchHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+          
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPP3Reader.html#setXPPFactory(org.xmlpull.v1.XmlPullParserFactory)">setXPPFactory</A></B>(org.xmlpull.v1.XmlPullParserFactory xPPfactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XPP3Reader()"><!-- --></A><H3>
+XPP3Reader</H3>
+<PRE>
+public <B>XPP3Reader</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XPP3Reader(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+XPP3Reader</H3>
+<PRE>
+public <B>XPP3Reader</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="read(java.io.File)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>File</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - is the <code>File</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if a URL could not be made for the given File
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.net.URL)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>URL</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - <code>URL</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given URL or filename.
+ </p>
+ 
+ <p>
+ If the systemID contains a <code>':'</code> character then it is
+ assumed to be a URL otherwise its assumed to be a file name. If you want
+ finer grained control over this mechansim then please explicitly pass in
+ either a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net"><CODE>URL</CODE></A>or a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>instance instead of a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A> to denote the source of the document.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>systemID</CODE> - is a URL for a document or a file name.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if a URL could not be made for the given File
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.InputStream)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given stream
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - <code>InputStream</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.Reader)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>Reader</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - is the reader for the input
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(char[])"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(char[] text)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given array of characters
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text to parse
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given stream
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - <code>InputStream</code> to read from.<DD><CODE>systemID</CODE> - is the URI for the input
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.Reader, java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>Reader</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - is the reader for the input<DD><CODE>systemID</CODE> - is the URI for the input
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPPParser()"><!-- --></A><H3>
+getXPPParser</H3>
+<PRE>
+public org.xmlpull.v1.XmlPullParser <B>getXPPParser</B>()
+                                          throws org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPPFactory()"><!-- --></A><H3>
+getXPPFactory</H3>
+<PRE>
+public org.xmlpull.v1.XmlPullParserFactory <B>getXPPFactory</B>()
+                                                  throws org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXPPFactory(org.xmlpull.v1.XmlPullParserFactory)"><!-- --></A><H3>
+setXPPFactory</H3>
+<PRE>
+public void <B>setXPPFactory</B>(org.xmlpull.v1.XmlPullParserFactory xPPfactory)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>DocumentFactory</code> used to create document
+         objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+<DD><p>
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. This method allows the building of custom DOM4J tree objects
+ to be implemented easily using a custom derivation of
+ <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>documentFactory</CODE> - <code>DocumentFactory</code> used to create DOM4J objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addHandler(java.lang.String, org.dom4j.ElementHandler)"><!-- --></A><H3>
+addHandler</H3>
+<PRE>
+public void <B>addHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                       <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</PRE>
+<DL>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to be handled<DD><CODE>handler</CODE> - is the <code>ElementHandler</code> to be called by the event
+            based processor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeHandler(java.lang.String)"><!-- --></A><H3>
+removeHandler</H3>
+<PRE>
+public void <B>removeHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</PRE>
+<DL>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to remove the <code>ElementHandler</code> for.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDefaultHandler(org.dom4j.ElementHandler)"><!-- --></A><H3>
+setDefaultHandler</H3>
+<PRE>
+public void <B>setDefaultHandler</B>(<A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</PRE>
+<DL>
+<DD>When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>handler</CODE> - is the <code>ElementHandler</code> to be called by the event
+            based processor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parseDocument()"><!-- --></A><H3>
+parseDocument</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>parseDocument</B>()
+                          throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                                 org.xmlpull.v1.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
+<DD><CODE>org.xmlpull.v1.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDispatchHandler()"><!-- --></A><H3>
+getDispatchHandler</H3>
+<PRE>
+protected org.dom4j.io.DispatchHandler <B>getDispatchHandler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDispatchHandler(org.dom4j.io.DispatchHandler)"><!-- --></A><H3>
+setDispatchHandler</H3>
+<PRE>
+protected void <B>setDispatchHandler</B>(org.dom4j.io.DispatchHandler dispatchHandler)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createReader(java.io.InputStream)"><!-- --></A><H3>
+createReader</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> <B>createReader</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)
+                       throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Factory method to create a Reader from the given InputStream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPP3Reader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/io/XPPReader.html" title="class in org.dom4j.io"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPP3Reader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/XPPReader.html b/docs/apidocs/org/dom4j/io/XPPReader.html
new file mode 100644
index 0000000..7cf0961
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/XPPReader.html
@@ -0,0 +1,816 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XPPReader (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io.XPPReader class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XPPReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPPReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPPReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.io</FONT>
+<BR>
+Class XPPReader</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.io.XPPReader</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>XPPReader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>XPPReader</code> is a Reader of DOM4J documents that uses the fast <a
+ href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 2.x </a>. It
+ does not currently support comments, CDATA or ProcessingInstructions or
+ validation but it is very fast for use in SOAP style environments.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#XPPReader()">XPPReader</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#XPPReader(org.dom4j.DocumentFactory)">XPPReader</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#createReader(java.io.InputStream)">createReader</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          Factory method to create a Reader from the given InputStream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  org.dom4j.io.DispatchHandler</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#getDispatchHandler()">getDispatchHandler</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.gjt.xpp.XmlPullParserFactory</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#getXPPFactory()">getXPPFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.gjt.xpp.XmlPullParser</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#getXPPParser()">getXPPParser</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#parseDocument()">parseDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(char[])">read</A></B>(char[] text)</CODE>
+
+<BR>
+          
+ Reads a Document from the given array of characters
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>File</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given stream
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>Reader</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ Reads a Document from the given URL or filename.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)</CODE>
+
+<BR>
+          
+ Reads a Document from the given <code>URL</code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#removeHandler(java.lang.String)">removeHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#setDefaultHandler(org.dom4j.ElementHandler)">setDefaultHandler</A></B>(<A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#setDispatchHandler(org.dom4j.io.DispatchHandler)">setDispatchHandler</A></B>(org.dom4j.io.DispatchHandler dispatchHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+          
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/io/XPPReader.html#setXPPFactory(org.gjt.xpp.XmlPullParserFactory)">setXPPFactory</A></B>(org.gjt.xpp.XmlPullParserFactory xPPFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XPPReader()"><!-- --></A><H3>
+XPPReader</H3>
+<PRE>
+public <B>XPPReader</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XPPReader(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+XPPReader</H3>
+<PRE>
+public <B>XPPReader</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> factory)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="read(java.io.File)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>File</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - is the <code>File</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if a URL could not be made for the given File
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.net.URL)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> url)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>URL</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - <code>URL</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given URL or filename.
+ </p>
+ 
+ <p>
+ If the systemID contains a <code>':'</code> character then it is
+ assumed to be a URL otherwise its assumed to be a file name. If you want
+ finer grained control over this mechansim then please explicitly pass in
+ either a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net"><CODE>URL</CODE></A>or a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>instance instead of a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A> to denote the source of the document.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>systemID</CODE> - is a URL for a document or a file name.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if a URL could not be made for the given File
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.InputStream)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given stream
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - <code>InputStream</code> to read from.
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.Reader)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>Reader</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - is the reader for the input
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(char[])"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(char[] text)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given array of characters
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text to parse
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given stream
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - <code>InputStream</code> to read from.<DD><CODE>systemID</CODE> - is the URI for the input
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.Reader, java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> reader,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                     org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><p>
+ Reads a Document from the given <code>Reader</code>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>reader</CODE> - is the reader for the input<DD><CODE>systemID</CODE> - is the URI for the input
+<DT><B>Returns:</B><DD>the newly created Document instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - if an error occurs during parsing.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPPParser()"><!-- --></A><H3>
+getXPPParser</H3>
+<PRE>
+public org.gjt.xpp.XmlPullParser <B>getXPPParser</B>()
+                                       throws org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPPFactory()"><!-- --></A><H3>
+getXPPFactory</H3>
+<PRE>
+public org.gjt.xpp.XmlPullParserFactory <B>getXPPFactory</B>()
+                                               throws org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXPPFactory(org.gjt.xpp.XmlPullParserFactory)"><!-- --></A><H3>
+setXPPFactory</H3>
+<PRE>
+public void <B>setXPPFactory</B>(org.gjt.xpp.XmlPullParserFactory xPPFactory)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>DocumentFactory</code> used to create document
+         objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+<DD><p>
+ This sets the <code>DocumentFactory</code> used to create new
+ documents. This method allows the building of custom DOM4J tree objects
+ to be implemented easily using a custom derivation of
+ <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><CODE>DocumentFactory</CODE></A>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>documentFactory</CODE> - <code>DocumentFactory</code> used to create DOM4J objects</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addHandler(java.lang.String, org.dom4j.ElementHandler)"><!-- --></A><H3>
+addHandler</H3>
+<PRE>
+public void <B>addHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                       <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</PRE>
+<DL>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to be handled<DD><CODE>handler</CODE> - is the <code>ElementHandler</code> to be called by the event
+            based processor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeHandler(java.lang.String)"><!-- --></A><H3>
+removeHandler</H3>
+<PRE>
+public void <B>removeHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</PRE>
+<DL>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to remove the <code>ElementHandler</code> for.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDefaultHandler(org.dom4j.ElementHandler)"><!-- --></A><H3>
+setDefaultHandler</H3>
+<PRE>
+public void <B>setDefaultHandler</B>(<A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</PRE>
+<DL>
+<DD>When multiple <code>ElementHandler</code> instances have been
+ registered, this will set a default <code>ElementHandler</code> to be
+ called for any path which does <b>NOT </b> have a handler registered.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>handler</CODE> - is the <code>ElementHandler</code> to be called by the event
+            based processor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parseDocument()"><!-- --></A><H3>
+parseDocument</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>parseDocument</B>()
+                          throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                                 org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDispatchHandler()"><!-- --></A><H3>
+getDispatchHandler</H3>
+<PRE>
+protected org.dom4j.io.DispatchHandler <B>getDispatchHandler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDispatchHandler(org.dom4j.io.DispatchHandler)"><!-- --></A><H3>
+setDispatchHandler</H3>
+<PRE>
+protected void <B>setDispatchHandler</B>(org.dom4j.io.DispatchHandler dispatchHandler)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createReader(java.io.InputStream)"><!-- --></A><H3>
+createReader</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> <B>createReader</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> in)
+                       throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Factory method to create a Reader from the given InputStream.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>in</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPPReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPPReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/DOMReader.html b/docs/apidocs/org/dom4j/io/class-use/DOMReader.html
new file mode 100644
index 0000000..9abc28e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/DOMReader.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.DOMReader (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.DOMReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/DOMReader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.DOMReader</B></H2>
+</CENTER>
+No usage of org.dom4j.io.DOMReader
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/DOMReader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/DOMWriter.html b/docs/apidocs/org/dom4j/io/class-use/DOMWriter.html
new file mode 100644
index 0000000..ec941f4
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/DOMWriter.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.DOMWriter (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.DOMWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.DOMWriter</B></H2>
+</CENTER>
+No usage of org.dom4j.io.DOMWriter
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DOMWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/DocumentResult.html b/docs/apidocs/org/dom4j/io/class-use/DocumentResult.html
new file mode 100644
index 0000000..624ff0b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/DocumentResult.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.DocumentResult (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.DocumentResult (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentResult.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.DocumentResult</B></H2>
+</CENTER>
+No usage of org.dom4j.io.DocumentResult
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentResult.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/DocumentSource.html b/docs/apidocs/org/dom4j/io/class-use/DocumentSource.html
new file mode 100644
index 0000000..c3c9fd9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/DocumentSource.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.DocumentSource (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.DocumentSource (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentSource.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.DocumentSource</B></H2>
+</CENTER>
+No usage of org.dom4j.io.DocumentSource
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentSource.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/ElementModifier.html b/docs/apidocs/org/dom4j/io/class-use/ElementModifier.html
new file mode 100644
index 0000000..b81fcc5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/ElementModifier.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.io.ElementModifier (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.io.ElementModifier (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.io.ElementModifier</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io">ElementModifier</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io">ElementModifier</A> in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io">ElementModifier</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../../org/dom4j/io/SAXModifier.html#addModifier(java.lang.String, org.dom4j.io.ElementModifier)">addModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+            <A HREF="../../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io">ElementModifier</A> modifier)</CODE>
+
+<BR>
+          Adds the <A HREF="../../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><CODE>ElementModifier</CODE></A>to be called when the specified element
+ path is encounted while parsing the source.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/HTMLWriter.html b/docs/apidocs/org/dom4j/io/class-use/HTMLWriter.html
new file mode 100644
index 0000000..dcc5701
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/HTMLWriter.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.HTMLWriter (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.HTMLWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="HTMLWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.HTMLWriter</B></H2>
+</CENTER>
+No usage of org.dom4j.io.HTMLWriter
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="HTMLWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/OutputFormat.html b/docs/apidocs/org/dom4j/io/class-use/OutputFormat.html
new file mode 100644
index 0000000..111857f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/OutputFormat.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.OutputFormat (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.OutputFormat (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="OutputFormat.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.OutputFormat</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> declared as <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../../org/dom4j/io/XMLWriter.html#DEFAULT_FORMAT">DEFAULT_FORMAT</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B>HTMLWriter.</B><B><A HREF="../../../../org/dom4j/io/HTMLWriter.html#DEFAULT_HTML_FORMAT">DEFAULT_HTML_FORMAT</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B>XMLWriter.</B><B><A HREF="../../../../org/dom4j/io/XMLWriter.html#getOutputFormat()">getOutputFormat</A></B>()</CODE>
+
+<BR>
+          Lets subclasses get at the current format object, so they can call
+ setTrimText, setNewLines, etc. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B>OutputFormat.</B><B><A HREF="../../../../org/dom4j/io/OutputFormat.html#createPrettyPrint()">createPrettyPrint</A></B>()</CODE>
+
+<BR>
+          A static helper method to create the default pretty printing format. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B>OutputFormat.</B><B><A HREF="../../../../org/dom4j/io/OutputFormat.html#createCompactFormat()">createCompactFormat</A></B>()</CODE>
+
+<BR>
+          A static helper method to create the default compact format. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/XMLWriter.html#XMLWriter(java.io.Writer, org.dom4j.io.OutputFormat)">XMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer,
+          <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/XMLWriter.html#XMLWriter(java.io.OutputStream, org.dom4j.io.OutputFormat)">XMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out,
+          <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/XMLWriter.html#XMLWriter(org.dom4j.io.OutputFormat)">XMLWriter</A></B>(<A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/XMLResult.html#XMLResult(java.io.Writer, org.dom4j.io.OutputFormat)">XMLResult</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer,
+          <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/XMLResult.html#XMLResult(java.io.OutputStream, org.dom4j.io.OutputFormat)">XMLResult</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out,
+          <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.Writer, org.dom4j.io.OutputFormat)">HTMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer,
+           <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/HTMLWriter.html#HTMLWriter(org.dom4j.io.OutputFormat)">HTMLWriter</A></B>(<A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/HTMLWriter.html#HTMLWriter(java.io.OutputStream, org.dom4j.io.OutputFormat)">HTMLWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> out,
+           <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> format)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> in <A HREF="../../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A> that return <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B>JAXBWriter.</B><B><A HREF="../../../../org/dom4j/jaxb/JAXBWriter.html#getOutputFormat()">getOutputFormat</A></B>()</CODE>
+
+<BR>
+          Returns the OutputFormat that will be used when writing the XML stream.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A> with parameters of type <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String, org.dom4j.io.OutputFormat)">JAXBWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+           <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</CODE>
+
+<BR>
+          Creates a new JAXBWriter for the given JAXB context path. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String, java.lang.ClassLoader, org.dom4j.io.OutputFormat)">JAXBWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader,
+           <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</CODE>
+
+<BR>
+          Creates a new JAXBWriter for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String, org.dom4j.io.OutputFormat)">JAXBModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+             <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</CODE>
+
+<BR>
+          Creates a new JAXBModifier for the given JAXB context path. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String, java.lang.ClassLoader, org.dom4j.io.OutputFormat)">JAXBModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader,
+             <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</CODE>
+
+<BR>
+          Creates a new JAXBModifier for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="OutputFormat.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/SAXContentHandler.html b/docs/apidocs/org/dom4j/io/class-use/SAXContentHandler.html
new file mode 100644
index 0000000..ec73651
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/SAXContentHandler.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.SAXContentHandler (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.SAXContentHandler (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXContentHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.SAXContentHandler</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A> in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A></CODE></FONT></TD>
+<TD><CODE><B>SAXReader.</B><B><A HREF="../../../../org/dom4j/io/SAXReader.html#createContentHandler(org.xml.sax.XMLReader)">createContentHandler</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A> reader)</CODE>
+
+<BR>
+          Factory Method to allow user derived SAXContentHandler objects to be used</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/DocumentResult.html#DocumentResult(org.dom4j.io.SAXContentHandler)">DocumentResult</A></B>(<A HREF="../../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A> contentHandler)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXContentHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/SAXEventRecorder.html b/docs/apidocs/org/dom4j/io/class-use/SAXEventRecorder.html
new file mode 100644
index 0000000..1998d7a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/SAXEventRecorder.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.SAXEventRecorder (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.SAXEventRecorder (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXEventRecorder.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.SAXEventRecorder</B></H2>
+</CENTER>
+No usage of org.dom4j.io.SAXEventRecorder
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXEventRecorder.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/SAXModifier.html b/docs/apidocs/org/dom4j/io/class-use/SAXModifier.html
new file mode 100644
index 0000000..cffa7c4
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/SAXModifier.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.SAXModifier (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.SAXModifier (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.SAXModifier</B></H2>
+</CENTER>
+No usage of org.dom4j.io.SAXModifier
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/SAXReader.SAXEntityResolver.html b/docs/apidocs/org/dom4j/io/class-use/SAXReader.SAXEntityResolver.html
new file mode 100644
index 0000000..71e164b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/SAXReader.SAXEntityResolver.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.SAXReader.SAXEntityResolver (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.SAXReader.SAXEntityResolver (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXReader.SAXEntityResolver.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.SAXReader.SAXEntityResolver</B></H2>
+</CENTER>
+No usage of org.dom4j.io.SAXReader.SAXEntityResolver
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXReader.SAXEntityResolver.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/SAXReader.html b/docs/apidocs/org/dom4j/io/class-use/SAXReader.html
new file mode 100644
index 0000000..1e34388
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/SAXReader.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.SAXReader (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.SAXReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.SAXReader</B></H2>
+</CENTER>
+No usage of org.dom4j.io.SAXReader
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/SAXValidator.html b/docs/apidocs/org/dom4j/io/class-use/SAXValidator.html
new file mode 100644
index 0000000..f1dbc01
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/SAXValidator.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.SAXValidator (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.SAXValidator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXValidator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.SAXValidator</B></H2>
+</CENTER>
+No usage of org.dom4j.io.SAXValidator
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXValidator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/SAXWriter.html b/docs/apidocs/org/dom4j/io/class-use/SAXWriter.html
new file mode 100644
index 0000000..49767a1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/SAXWriter.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.SAXWriter (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.SAXWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.SAXWriter</B></H2>
+</CENTER>
+No usage of org.dom4j.io.SAXWriter
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SAXWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/STAXEventReader.html b/docs/apidocs/org/dom4j/io/class-use/STAXEventReader.html
new file mode 100644
index 0000000..c5ac4c5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/STAXEventReader.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.STAXEventReader (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.STAXEventReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="STAXEventReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.STAXEventReader</B></H2>
+</CENTER>
+No usage of org.dom4j.io.STAXEventReader
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="STAXEventReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/STAXEventWriter.html b/docs/apidocs/org/dom4j/io/class-use/STAXEventWriter.html
new file mode 100644
index 0000000..d345450
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/STAXEventWriter.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.STAXEventWriter (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.STAXEventWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="STAXEventWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.STAXEventWriter</B></H2>
+</CENTER>
+No usage of org.dom4j.io.STAXEventWriter
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="STAXEventWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/XMLResult.html b/docs/apidocs/org/dom4j/io/class-use/XMLResult.html
new file mode 100644
index 0000000..da9acf0
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/XMLResult.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.XMLResult (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.XMLResult (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/XMLResult.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLResult.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.XMLResult</B></H2>
+</CENTER>
+No usage of org.dom4j.io.XMLResult
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/XMLResult.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLResult.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/XMLWriter.html b/docs/apidocs/org/dom4j/io/class-use/XMLWriter.html
new file mode 100644
index 0000000..497d8f9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/XMLWriter.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.XMLWriter (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.XMLWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.XMLWriter</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A></B></CODE>
+
+<BR>
+          
+ <code>HTMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ HTML. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> that return <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></FONT></TD>
+<TD><CODE><B>XMLResult.</B><B><A HREF="../../../../org/dom4j/io/XMLResult.html#getXMLWriter()">getXMLWriter</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../../org/dom4j/io/SAXModifier.html#getXMLWriter()">getXMLWriter</A></B>()</CODE>
+
+<BR>
+          Returns the current <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLResult.</B><B><A HREF="../../../../org/dom4j/io/XMLResult.html#setXMLWriter(org.dom4j.io.XMLWriter)">setXMLWriter</A></B>(<A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> writer)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>SAXModifier.</B><B><A HREF="../../../../org/dom4j/io/SAXModifier.html#setXMLWriter(org.dom4j.io.XMLWriter)">setXMLWriter</A></B>(<A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> writer)</CODE>
+
+<BR>
+          Sets the <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>used to write the modified document.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/io/XMLResult.html#XMLResult(org.dom4j.io.XMLWriter)">XMLResult</A></B>(<A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A> xmlWriter)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/XPP3Reader.html b/docs/apidocs/org/dom4j/io/class-use/XPP3Reader.html
new file mode 100644
index 0000000..cb5260e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/XPP3Reader.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.XPP3Reader (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.XPP3Reader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPP3Reader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.XPP3Reader</B></H2>
+</CENTER>
+No usage of org.dom4j.io.XPP3Reader
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPP3Reader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/class-use/XPPReader.html b/docs/apidocs/org/dom4j/io/class-use/XPPReader.html
new file mode 100644
index 0000000..1008010
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/class-use/XPPReader.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.io.XPPReader (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.io.XPPReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/XPPReader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPPReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.io.XPPReader</B></H2>
+</CENTER>
+No usage of org.dom4j.io.XPPReader
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/io/XPPReader.html" title="class in org.dom4j.io"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPPReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/package-frame.html b/docs/apidocs/org/dom4j/io/package-frame.html
new file mode 100644
index 0000000..cfbca58
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/package-frame.html
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.io (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/io/package-summary.html" target="classFrame">org.dom4j.io</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ElementModifier.html" title="interface in org.dom4j.io" target="classFrame"><I>ElementModifier</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DocumentResult.html" title="class in org.dom4j.io" target="classFrame">DocumentResult</A>
+<BR>
+<A HREF="DocumentSource.html" title="class in org.dom4j.io" target="classFrame">DocumentSource</A>
+<BR>
+<A HREF="DOMReader.html" title="class in org.dom4j.io" target="classFrame">DOMReader</A>
+<BR>
+<A HREF="DOMWriter.html" title="class in org.dom4j.io" target="classFrame">DOMWriter</A>
+<BR>
+<A HREF="HTMLWriter.html" title="class in org.dom4j.io" target="classFrame">HTMLWriter</A>
+<BR>
+<A HREF="OutputFormat.html" title="class in org.dom4j.io" target="classFrame">OutputFormat</A>
+<BR>
+<A HREF="SAXContentHandler.html" title="class in org.dom4j.io" target="classFrame">SAXContentHandler</A>
+<BR>
+<A HREF="SAXEventRecorder.html" title="class in org.dom4j.io" target="classFrame">SAXEventRecorder</A>
+<BR>
+<A HREF="SAXModifier.html" title="class in org.dom4j.io" target="classFrame">SAXModifier</A>
+<BR>
+<A HREF="SAXReader.html" title="class in org.dom4j.io" target="classFrame">SAXReader</A>
+<BR>
+<A HREF="SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io" target="classFrame">SAXReader.SAXEntityResolver</A>
+<BR>
+<A HREF="SAXValidator.html" title="class in org.dom4j.io" target="classFrame">SAXValidator</A>
+<BR>
+<A HREF="SAXWriter.html" title="class in org.dom4j.io" target="classFrame">SAXWriter</A>
+<BR>
+<A HREF="STAXEventReader.html" title="class in org.dom4j.io" target="classFrame">STAXEventReader</A>
+<BR>
+<A HREF="STAXEventWriter.html" title="class in org.dom4j.io" target="classFrame">STAXEventWriter</A>
+<BR>
+<A HREF="XMLResult.html" title="class in org.dom4j.io" target="classFrame">XMLResult</A>
+<BR>
+<A HREF="XMLWriter.html" title="class in org.dom4j.io" target="classFrame">XMLWriter</A>
+<BR>
+<A HREF="XPP3Reader.html" title="class in org.dom4j.io" target="classFrame">XPP3Reader</A>
+<BR>
+<A HREF="XPPReader.html" title="class in org.dom4j.io" target="classFrame">XPPReader</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/package-summary.html b/docs/apidocs/org/dom4j/io/package-summary.html
new file mode 100644
index 0000000..31704b4
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/package-summary.html
@@ -0,0 +1,292 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.io (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.io package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.io (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/jaxb/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.io
+</H2>
+Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text.
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io">ElementModifier</A></B></TD>
+<TD>ElementModifier defines a modifier of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>objects. </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io">DocumentResult</A></B></TD>
+<TD>
+ <code>DocumentResult</code> implements a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXResult</CODE></A>for a
+ <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io">DocumentSource</A></B></TD>
+<TD>
+ <code>DocumentSource</code> implements a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXSource</CODE></A>for a
+ .
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/DOMReader.html" title="class in org.dom4j.io">DOMReader</A></B></TD>
+<TD>
+ <code>DOMReader</code> navigates a W3C DOM tree and creates a DOM4J tree
+ from it.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io">DOMWriter</A></B></TD>
+<TD>
+ <code>DOMWriter</code> takes a DOM4J tree and outputs it as a W3C DOM
+ object
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io">HTMLWriter</A></B></TD>
+<TD>
+ <code>HTMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ HTML. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></B></TD>
+<TD>
+ <code>OutputFormat</code> represents the format configuration used by
+ and its base classes to format the XML output
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io">SAXContentHandler</A></B></TD>
+<TD>
+ <code>SAXContentHandler</code> builds a dom4j tree via SAX events.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">SAXEventRecorder</A></B></TD>
+<TD>
+ Records SAX events such that they may be "replayed" at a later time. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io">SAXModifier</A></B></TD>
+<TD>The SAXModifier reads, modifies and writes XML documents using SAX.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A></B></TD>
+<TD>
+ <code>SAXReader</code> creates a DOM4J tree from SAX parsing events.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io">SAXReader.SAXEntityResolver</A></B></TD>
+<TD> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io">SAXValidator</A></B></TD>
+<TD>
+ <code>SAXValidator</code> validates an XML document by writing the document
+ to a text buffer and parsing it with a validating SAX parser. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io">SAXWriter</A></B></TD>
+<TD>
+ <code>SAXWriter</code> writes a DOM4J tree to a SAX ContentHandler.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io">STAXEventReader</A></B></TD>
+<TD>Reads a DOM4J <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>, as well as other <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s, from a StAX
+ <CODE>XMLEventReader</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io">STAXEventWriter</A></B></TD>
+<TD>Writes DOM4J <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s to a StAX event stream. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/XMLResult.html" title="class in org.dom4j.io">XMLResult</A></B></TD>
+<TD>
+ <code>XMLResult</code> implements a JAXP <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax"><CODE>SAXResult</CODE></A>for an output
+ stream with support for pretty printing and control over how the XML is
+ formatted.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io">XMLWriter</A></B></TD>
+<TD>
+ <code>XMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ XML. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io">XPP3Reader</A></B></TD>
+<TD>
+ <code>XPP3Reader</code> is a Reader of DOM4J documents that uses the fast
+ <a href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 3.x </a>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/io/XPPReader.html" title="class in org.dom4j.io">XPPReader</A></B></TD>
+<TD>
+ <code>XPPReader</code> is a Reader of DOM4J documents that uses the fast <a
+ href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 2.x </a>. </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.io Description
+</H2>
+
+<P>
+<p>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text.</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/jaxb/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/package-tree.html b/docs/apidocs/org/dom4j/io/package-tree.html
new file mode 100644
index 0000000..dc15bb7
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/package-tree.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.io Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.io Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/jaxb/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.io
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.xml.sax.helpers.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers"><B>DefaultHandler</B></A> (implements org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A>, org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" tit [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io"><B>SAXContentHandler</B></A> (implements org.xml.sax.ext.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A>, org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A>, org.x [...]
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io"><B>SAXEventRecorder</B></A> (implements org.xml.sax.ext.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A>, org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A>, java.io [...]
+</UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/DOMReader.html" title="class in org.dom4j.io"><B>DOMReader</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io"><B>DOMWriter</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><B>OutputFormat</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Clon [...]
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><B>SAXModifier</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><B>SAXReader</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io"><B>SAXReader.SAXEntityResolver</B></A> (implements org.xml.sax.<A HREF="http://java.sun. [...]
+<LI TYPE="circle">class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax"><B>SAXResult</B></A> (implements javax.xml.transform.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html" title="class or interface in javax.xml.transform">Result</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io"><B>DocumentResult</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/XMLResult.html" title="class in org.dom4j.io"><B>XMLResult</B></A></UL>
+<LI TYPE="circle">class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><B>SAXSource</B></A> (implements javax.xml.transform.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Source.html" title="class or interface in javax.xml.transform">Source</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io"><B>DocumentSource</B></A></UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io"><B>SAXValidator</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io"><B>SAXWriter</B></A> (implements org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A>)
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io"><B>STAXEventReader</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io"><B>STAXEventWriter</B></A><LI TYPE="circle">class org.xml.sax.helpers.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html" title="class or interface in org.xml.sax.helpers"><B>XMLFilt [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><B>XMLWriter</B></A> (implements org.xml.sax.ext.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io"><B>HTMLWriter</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io"><B>XPP3Reader</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="../../../org/dom4j/io/XPPReader.html" title="class in org.dom4j.io"><B>XPPReader</B></A></UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface org.dom4j.io.<A HREF="../../../org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><B>ElementModifier</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/dtd/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/jaxb/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/io/package-use.html b/docs/apidocs/org/dom4j/io/package-use.html
new file mode 100644
index 0000000..70c04f1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/io/package-use.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.io (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.io (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.io</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> used by <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/io/class-use/ElementModifier.html#org.dom4j.io"><B>ElementModifier</B></A></B>
+
+<BR>
+          ElementModifier defines a modifier of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>objects. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/io/class-use/OutputFormat.html#org.dom4j.io"><B>OutputFormat</B></A></B>
+
+<BR>
+          
+ <code>OutputFormat</code> represents the format configuration used by
+ and its base classes to format the XML output
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/io/class-use/SAXContentHandler.html#org.dom4j.io"><B>SAXContentHandler</B></A></B>
+
+<BR>
+          
+ <code>SAXContentHandler</code> builds a dom4j tree via SAX events.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/io/class-use/XMLWriter.html#org.dom4j.io"><B>XMLWriter</B></A></B>
+
+<BR>
+          
+ <code>XMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ XML. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> used by <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/io/class-use/OutputFormat.html#org.dom4j.jaxb"><B>OutputFormat</B></A></B>
+
+<BR>
+          
+ <code>OutputFormat</code> represents the format configuration used by
+ and its base classes to format the XML output
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/JAXBModifier.html b/docs/apidocs/org/dom4j/jaxb/JAXBModifier.html
new file mode 100644
index 0000000..511e0a7
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/JAXBModifier.html
@@ -0,0 +1,806 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+JAXBModifier (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.jaxb.JAXBModifier class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JAXBModifier (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBModifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.jaxb</FONT>
+<BR>
+Class JAXBModifier</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by">org.dom4j.jaxb.JAXBSupport
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.jaxb.JAXBModifier</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>JAXBModifier</B><DT>extends org.dom4j.jaxb.JAXBSupport</DL>
+
+<P>
+Reads an XML document using SAX and writes its content to the provided
+ <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>. Modifications must be provided by <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A> objects, which are called prior to writing
+ the XML fragment they are registered for.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Wonne Keysers (Realsoftware.be)</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><CODE>SAXModifier</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String)">JAXBModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath)</CODE>
+
+<BR>
+          Creates a new JAXBModifier for the given JAXB context path. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String, java.lang.ClassLoader)">JAXBModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader)</CODE>
+
+<BR>
+          Creates a new JAXBModifier for the given JAXB context path, using the
+ given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang"><CODE>ClassLoader</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String, java.lang.ClassLoader, org.dom4j.io.OutputFormat)">JAXBModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader,
+             <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</CODE>
+
+<BR>
+          Creates a new JAXBModifier for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#JAXBModifier(java.lang.String, org.dom4j.io.OutputFormat)">JAXBModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+             <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</CODE>
+
+<BR>
+          Creates a new JAXBModifier for the given JAXB context path. </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#addObjectModifier(java.lang.String, org.dom4j.jaxb.JAXBObjectModifier)">addObjectModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                  <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb">JAXBObjectModifier</A> mod)</CODE>
+
+<BR>
+          Adds the <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>to be called when the specified xml
+ path is encounted while parsing the source.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#isPruneElements()">isPruneElements</A></B>()</CODE>
+
+<BR>
+          Returns true when the modified <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>is not kept in
+ memory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#marshal(javax.xml.bind.Element)">marshal</A></B>(javax.xml.bind.Element element)</CODE>
+
+<BR>
+          Marshals the given <CODE>Element</CODE>in to its DOM4J
+ counterpart.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.File)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.File, java.nio.charset.Charset)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source,
+       java.nio.charset.Charset charset)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX, using the given
+ <CODE>Charset</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(org.xml.sax.InputSource)">modify</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.InputStream)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.InputStream, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.Reader)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> r)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.io.Reader, java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.lang.String)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> url)</CODE>
+
+<BR>
+          Parses the the given URL or filename.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#modify(java.net.URL)">modify</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)</CODE>
+
+<BR>
+          Parses the the given URL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#removeObjectModifier(java.lang.String)">removeObjectModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          Removes the <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>from the event based processor,
+ for the specified element path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#resetObjectModifiers()">resetObjectModifiers</A></B>()</CODE>
+
+<BR>
+          Removes all registered <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>instances from the
+ event based processor.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#setOutput(java.io.File)">setOutput</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          Sets the Output to write the (modified) xml document to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#setOutput(java.io.OutputStream)">setOutput</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> outputStream)</CODE>
+
+<BR>
+          Sets the Output to write the (modified) xml document to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#setOutput(java.io.Writer)">setOutput</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          Sets the Output to write the (modified) xml document to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#setPruneElements(boolean)">setPruneElements</A></B>(boolean pruneElements)</CODE>
+
+<BR>
+          Define whether the modified <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>must only be
+ written to the output and pruned from the DOM4J tree.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  javax.xml.bind.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html#unmarshal(org.dom4j.Element)">unmarshal</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Unmarshalls the specified DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>into a <CODE>Element</CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JAXBModifier(java.lang.String)"><!-- --></A><H3>
+JAXBModifier</H3>
+<PRE>
+public <B>JAXBModifier</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath)</PRE>
+<DL>
+<DD>Creates a new JAXBModifier for the given JAXB context path. This is the
+ Java package where JAXB can find the generated XML classes. This package
+ MUST contain jaxb.properties!
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - JAXB context path to be used<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+<HR>
+
+<A NAME="JAXBModifier(java.lang.String, java.lang.ClassLoader)"><!-- --></A><H3>
+JAXBModifier</H3>
+<PRE>
+public <B>JAXBModifier</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader)</PRE>
+<DL>
+<DD>Creates a new JAXBModifier for the given JAXB context path, using the
+ given <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang"><CODE>ClassLoader</CODE></A>. This is the Java package where JAXB
+ can find the generated XML classes. This package MUST contain
+ jaxb.properties!
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - JAXB context path to be used<DD><CODE>classloader</CODE> - the classloader to use<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+<HR>
+
+<A NAME="JAXBModifier(java.lang.String, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+JAXBModifier</H3>
+<PRE>
+public <B>JAXBModifier</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+                    <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</PRE>
+<DL>
+<DD>Creates a new JAXBModifier for the given JAXB context path. The specified
+ <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A>will be used while writing the XML
+ stream.
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - JAXB context path to be used<DD><CODE>outputFormat</CODE> - the DOM4J <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A>to be used<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+<HR>
+
+<A NAME="JAXBModifier(java.lang.String, java.lang.ClassLoader, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+JAXBModifier</H3>
+<PRE>
+public <B>JAXBModifier</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader,
+                    <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</PRE>
+<DL>
+<DD>Creates a new JAXBModifier for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. The specified <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A> will be used while writing the XML stream.
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - JAXB context path to be used<DD><CODE>classloader</CODE> - the class loader to be used to load JAXB<DD><CODE>outputFormat</CODE> - the DOM4J <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A>to be used<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="modify(java.io.File)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the file to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs while writing to the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.io.File, java.nio.charset.Charset)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source,
+                       java.nio.charset.Charset charset)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>with SAX, using the given
+ <CODE>Charset</CODE>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the file to parse<DD><CODE>charset</CODE> - the character set to use
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs while writing to the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(org.xml.sax.InputSource)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>with SAX.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the input source to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs while writing to the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.io.InputStream)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the inputstream to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs while writing to the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>with SAX.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the inputstream to parse<DD><CODE>systemId</CODE> - the URI of the given inputstream
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs while writing to the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.io.Reader)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> r)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>r</CODE> - the reader to use for parsing
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs while writing to the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.io.Reader, java.lang.String)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>with SAX.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the reader to parse<DD><CODE>systemId</CODE> - the URI of the given reader
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs while writing to the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.lang.String)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> url)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Parses the the given URL or filename.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - the URL or filename to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs while writing to the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modify(java.net.URL)"><!-- --></A><H3>
+modify</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>modify</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)
+                throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A>,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Parses the the given URL.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the URL to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs while writing to the <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOutput(java.io.File)"><!-- --></A><H3>
+setOutput</H3>
+<PRE>
+public void <B>setOutput</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)
+               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Sets the Output to write the (modified) xml document to.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>to write to
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when the file cannot be found or when the outputformat</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOutput(java.io.OutputStream)"><!-- --></A><H3>
+setOutput</H3>
+<PRE>
+public void <B>setOutput</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> outputStream)
+               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Sets the Output to write the (modified) xml document to.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>outputStream</CODE> - the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>to write to
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOutput(java.io.Writer)"><!-- --></A><H3>
+setOutput</H3>
+<PRE>
+public void <B>setOutput</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Sets the Output to write the (modified) xml document to.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>writer</CODE> - the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io"><CODE>Writer</CODE></A>to write to
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when an error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addObjectModifier(java.lang.String, org.dom4j.jaxb.JAXBObjectModifier)"><!-- --></A><H3>
+addObjectModifier</H3>
+<PRE>
+public void <B>addObjectModifier</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                              <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb">JAXBObjectModifier</A> mod)</PRE>
+<DL>
+<DD>Adds the <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>to be called when the specified xml
+ path is encounted while parsing the source.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - the element path to listen for<DD><CODE>mod</CODE> - the modifier to register</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeObjectModifier(java.lang.String)"><!-- --></A><H3>
+removeObjectModifier</H3>
+<PRE>
+public void <B>removeObjectModifier</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</PRE>
+<DL>
+<DD>Removes the <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>from the event based processor,
+ for the specified element path.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - the xml path to remove the modifier for</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resetObjectModifiers()"><!-- --></A><H3>
+resetObjectModifiers</H3>
+<PRE>
+public void <B>resetObjectModifiers</B>()</PRE>
+<DL>
+<DD>Removes all registered <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>instances from the
+ event based processor.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isPruneElements()"><!-- --></A><H3>
+isPruneElements</H3>
+<PRE>
+public boolean <B>isPruneElements</B>()</PRE>
+<DL>
+<DD>Returns true when the modified <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>is not kept in
+ memory.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Returns true if elements are pruned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPruneElements(boolean)"><!-- --></A><H3>
+setPruneElements</H3>
+<PRE>
+public void <B>setPruneElements</B>(boolean pruneElements)</PRE>
+<DL>
+<DD>Define whether the modified <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>must only be
+ written to the output and pruned from the DOM4J tree.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pruneElements</CODE> - When true, elements will not be kept in memory</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="marshal(javax.xml.bind.Element)"><!-- --></A><H3>
+marshal</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>marshal</B>(javax.xml.bind.Element element)
+                   throws javax.xml.bind.JAXBException</PRE>
+<DL>
+<DD>Marshals the given <CODE>Element</CODE>in to its DOM4J
+ counterpart.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - JAXB Element to be marshalled
+<DT><B>Returns:</B><DD>the marshalled DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.bind.JAXBException</CODE> - when an error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unmarshal(org.dom4j.Element)"><!-- --></A><H3>
+unmarshal</H3>
+<PRE>
+protected javax.xml.bind.Element <B>unmarshal</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                                    throws javax.xml.bind.JAXBException</PRE>
+<DL>
+<DD>Unmarshalls the specified DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>into a <CODE>Element</CODE>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - the DOM4J element to unmarshall
+<DT><B>Returns:</B><DD>the unmarshalled JAXB object
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.bind.JAXBException</CODE> - when an error occurs</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBModifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/JAXBObjectHandler.html b/docs/apidocs/org/dom4j/jaxb/JAXBObjectHandler.html
new file mode 100644
index 0000000..994d7a2
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/JAXBObjectHandler.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+JAXBObjectHandler (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.jaxb.JAXBObjectHandler interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JAXBObjectHandler (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBObjectHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBObjectHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.jaxb</FONT>
+<BR>
+Interface JAXBObjectHandler</H2>
+<HR>
+<DL>
+<DT>public interface <B>JAXBObjectHandler</B></DL>
+
+<P>
+JAXBObjectHandler implementations can be registered with the JAXB Reader in
+ order to receive unmarshalled XML fragments.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Wonne Keysers (Realsoftware.be)</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html#handleObject(javax.xml.bind.Element)">handleObject</A></B>(javax.xml.bind.Element jaxbElement)</CODE>
+
+<BR>
+          Called when the <A HREF="../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><CODE>JAXBReader</CODE></A>has finished parsing the xml path the
+ handler was registered for. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="handleObject(javax.xml.bind.Element)"><!-- --></A><H3>
+handleObject</H3>
+<PRE>
+public void <B>handleObject</B>(javax.xml.bind.Element jaxbElement)
+                  throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Called when the <A HREF="../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><CODE>JAXBReader</CODE></A>has finished parsing the xml path the
+ handler was registered for. The provided object is the unmarshalled
+ representation of the XML path. It can be casted to the appropriate
+ implementation class that is generated by the JAXB compiler.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>jaxbElement</CODE> - the unmarshalled JAXB object to handle
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - of any kind, thrown by the implementation</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBObjectHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBObjectHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/JAXBObjectModifier.html b/docs/apidocs/org/dom4j/jaxb/JAXBObjectModifier.html
new file mode 100644
index 0000000..9620861
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/JAXBObjectModifier.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+JAXBObjectModifier (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.jaxb.JAXBObjectModifier interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JAXBObjectModifier (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBObjectModifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBObjectModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.jaxb</FONT>
+<BR>
+Interface JAXBObjectModifier</H2>
+<HR>
+<DL>
+<DT>public interface <B>JAXBObjectModifier</B></DL>
+
+<P>
+JAXBObjectHandler implementations can be registered with the <A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><CODE>JAXBModifier</CODE></A> in order to change unmarshalled XML fragments.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Wonne Keysers (Realsoftware.be)</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.xml.bind.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html#modifyObject(javax.xml.bind.Element)">modifyObject</A></B>(javax.xml.bind.Element jaxbElement)</CODE>
+
+<BR>
+          Called when the <A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><CODE>JAXBModifier</CODE></A>has finished parsing the xml path
+ the handler was registered for. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="modifyObject(javax.xml.bind.Element)"><!-- --></A><H3>
+modifyObject</H3>
+<PRE>
+public javax.xml.bind.Element <B>modifyObject</B>(javax.xml.bind.Element jaxbElement)
+                                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Called when the <A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><CODE>JAXBModifier</CODE></A>has finished parsing the xml path
+ the handler was registered for. The provided object is the unmarshalled
+ representation of the XML fragment. It can be casted to the appropriate
+ implementation class that is generated by the JAXB compiler. <br>
+ The modified JAXB element that returns from this method will be
+ marshalled by the <A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><CODE>JAXBModifier</CODE></A>and put in the DOM4J tree.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>jaxbElement</CODE> - the JAXB object to be modified
+<DT><B>Returns:</B><DD>the modified JAXB object, or null when it must be removed.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - possibly thrown by the implementation.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBObjectModifier.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBObjectModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/JAXBReader.html b/docs/apidocs/org/dom4j/jaxb/JAXBReader.html
new file mode 100644
index 0000000..01a25ef
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/JAXBReader.html
@@ -0,0 +1,721 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+JAXBReader (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.jaxb.JAXBReader class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JAXBReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.jaxb</FONT>
+<BR>
+Class JAXBReader</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by">org.dom4j.jaxb.JAXBSupport
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.jaxb.JAXBReader</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>JAXBReader</B><DT>extends org.dom4j.jaxb.JAXBSupport</DL>
+
+<P>
+Reads an XML document and creates a DOM4J tree from SAX parsing events.
+ <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>objects can be registered to automatically receive
+ unmarshalled XML fragments. Registered 
+ implementations are notified when a certain element path is encountered
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Wonne Keysers (Realsoftware.be)</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><CODE>SAXReader</CODE></A>, 
+<CODE>JAXBContext</CODE></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#JAXBReader(java.lang.String)">JAXBReader</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath)</CODE>
+
+<BR>
+          Creates a new JAXBReader for the given JAXB context path. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#JAXBReader(java.lang.String, java.lang.ClassLoader)">JAXBReader</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader)</CODE>
+
+<BR>
+          Creates a new JAXBReader for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#addHandler(java.lang.String, org.dom4j.ElementHandler)">addHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+           <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</CODE>
+
+<BR>
+          Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#addObjectHandler(java.lang.String, org.dom4j.jaxb.JAXBObjectHandler)">addObjectHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                 <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb">JAXBObjectHandler</A> handler)</CODE>
+
+<BR>
+          Registers a <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>that will be supplied with the
+ unmarshalled representation of the xml fragment whenever the specified
+ path is encounted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#isPruneElements()">isPruneElements</A></B>()</CODE>
+
+<BR>
+          When 'true', the DOM4J document will not be kept in memory while parsing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#marshal(javax.xml.bind.Element)">marshal</A></B>(javax.xml.bind.Element element)</CODE>
+
+<BR>
+          Marshals the given <CODE>Element</CODE>in to its DOM4J
+ counterpart.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.File)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.File, java.nio.charset.Charset)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file,
+     java.nio.charset.Charset charset)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>, using the given <CODE>Charset</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(org.xml.sax.InputSource)">read</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.InputStream)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.InputStream, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.Reader)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.io.Reader, java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.lang.String)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> source)</CODE>
+
+<BR>
+          Parses the the given URL or filename.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#read(java.net.URL)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)</CODE>
+
+<BR>
+          Parses the the given URL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#removeHandler(java.lang.String)">removeHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#removeObjectHandler(java.lang.String)">removeObjectHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</CODE>
+
+<BR>
+          Removes the <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>from the event based processor, for
+ the specified element path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#resetHandlers()">resetHandlers</A></B>()</CODE>
+
+<BR>
+          Removes all registered <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>and <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><CODE>ElementHandler</CODE></A> instances from the event based processor.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#setPruneElements(boolean)">setPruneElements</A></B>(boolean pruneElements)</CODE>
+
+<BR>
+          Set to true when DOM4J elements must immediately be pruned from the tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  javax.xml.bind.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html#unmarshal(org.dom4j.Element)">unmarshal</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Unmarshalls the specified DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>into a <CODE>Element</CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JAXBReader(java.lang.String)"><!-- --></A><H3>
+JAXBReader</H3>
+<PRE>
+public <B>JAXBReader</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath)</PRE>
+<DL>
+<DD>Creates a new JAXBReader for the given JAXB context path. This is the
+ Java package where JAXB can find the generated XML classes. This package
+ MUST contain jaxb.properties!
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - context path to be used<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+<HR>
+
+<A NAME="JAXBReader(java.lang.String, java.lang.ClassLoader)"><!-- --></A><H3>
+JAXBReader</H3>
+<PRE>
+public <B>JAXBReader</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader)</PRE>
+<DL>
+<DD>Creates a new JAXBReader for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. This is the Java package where
+ JAXB can find the generated XML classes. This package MUST contain
+ jaxb.properties!
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - to be used<DD><CODE>classloader</CODE> - to be used<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="read(java.io.File)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> source)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the file to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.File, java.nio.charset.Charset)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file,
+                     java.nio.charset.Charset charset)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>, using the given <CODE>Charset</CODE>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - the file to parse<DD><CODE>charset</CODE> - the charset to be used
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(org.xml.sax.InputSource)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax">InputSource</A> source)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/InputSource.html" title="class or interface in org.xml.sax"><CODE>InputSource</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the source to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.InputStream)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the input stream to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.InputStream, java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io">InputStream</A> source,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the input stream to parse<DD><CODE>systemId</CODE> - is the URI for the input
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.Reader)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the input reader to use
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.Reader, java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io">Reader</A> source,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Parses the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Reader.html" title="class or interface in java.io"><CODE>Reader</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the input reader to parse<DD><CODE>systemId</CODE> - is the URI for the input
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.lang.String)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> source)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Parses the the given URL or filename.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the location to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.net.URL)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>read</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/net/URL.html" title="class or interface in java.net">URL</A> source)
+              throws <A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></PRE>
+<DL>
+<DD>Parses the the given URL.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the URL to parse
+<DT><B>Returns:</B><DD>the resulting DOM4J document
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></CODE> - when an error occurs while parsing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addObjectHandler(java.lang.String, org.dom4j.jaxb.JAXBObjectHandler)"><!-- --></A><H3>
+addObjectHandler</H3>
+<PRE>
+public void <B>addObjectHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                             <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb">JAXBObjectHandler</A> handler)</PRE>
+<DL>
+<DD>Registers a <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>that will be supplied with the
+ unmarshalled representation of the xml fragment whenever the specified
+ path is encounted.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - the path to listen for<DD><CODE>handler</CODE> - the handler to be notified</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeObjectHandler(java.lang.String)"><!-- --></A><H3>
+removeObjectHandler</H3>
+<PRE>
+public void <B>removeObjectHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</PRE>
+<DL>
+<DD>Removes the <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>from the event based processor, for
+ the specified element path.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - The path to remove the <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>for</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addHandler(java.lang.String, org.dom4j.ElementHandler)"><!-- --></A><H3>
+addHandler</H3>
+<PRE>
+public void <B>addHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                       <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A> handler)</PRE>
+<DL>
+<DD>Adds the <code>ElementHandler</code> to be called when the specified
+ path is encounted.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to be handled<DD><CODE>handler</CODE> - is the <code>ElementHandler</code> to be called by the event
+            based processor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeHandler(java.lang.String)"><!-- --></A><H3>
+removeHandler</H3>
+<PRE>
+public void <B>removeHandler</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path)</PRE>
+<DL>
+<DD>Removes the <code>ElementHandler</code> from the event based processor,
+ for the specified path.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - is the path to remove the <code>ElementHandler</code> for.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resetHandlers()"><!-- --></A><H3>
+resetHandlers</H3>
+<PRE>
+public void <B>resetHandlers</B>()</PRE>
+<DL>
+<DD>Removes all registered <A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>and <A HREF="../../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><CODE>ElementHandler</CODE></A> instances from the event based processor.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isPruneElements()"><!-- --></A><H3>
+isPruneElements</H3>
+<PRE>
+public boolean <B>isPruneElements</B>()</PRE>
+<DL>
+<DD>When 'true', the DOM4J document will not be kept in memory while parsing.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Returns the pruneElements.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPruneElements(boolean)"><!-- --></A><H3>
+setPruneElements</H3>
+<PRE>
+public void <B>setPruneElements</B>(boolean pruneElements)</PRE>
+<DL>
+<DD>Set to true when DOM4J elements must immediately be pruned from the tree.
+ The <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j"><CODE>Document</CODE></A>will not be available afterwards!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pruneElements</CODE> - </DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="marshal(javax.xml.bind.Element)"><!-- --></A><H3>
+marshal</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>marshal</B>(javax.xml.bind.Element element)
+                   throws javax.xml.bind.JAXBException</PRE>
+<DL>
+<DD>Marshals the given <CODE>Element</CODE>in to its DOM4J
+ counterpart.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - JAXB Element to be marshalled
+<DT><B>Returns:</B><DD>the marshalled DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.bind.JAXBException</CODE> - when an error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unmarshal(org.dom4j.Element)"><!-- --></A><H3>
+unmarshal</H3>
+<PRE>
+protected javax.xml.bind.Element <B>unmarshal</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                                    throws javax.xml.bind.JAXBException</PRE>
+<DL>
+<DD>Unmarshalls the specified DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>into a <CODE>Element</CODE>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - the DOM4J element to unmarshall
+<DT><B>Returns:</B><DD>the unmarshalled JAXB object
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.bind.JAXBException</CODE> - when an error occurs</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBReader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/JAXBWriter.html b/docs/apidocs/org/dom4j/jaxb/JAXBWriter.html
new file mode 100644
index 0000000..9ffbd84
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/JAXBWriter.html
@@ -0,0 +1,677 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+JAXBWriter (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.jaxb.JAXBWriter class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JAXBWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.jaxb</FONT>
+<BR>
+Class JAXBWriter</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by">org.dom4j.jaxb.JAXBSupport
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.jaxb.JAXBWriter</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>JAXBWriter</B><DT>extends org.dom4j.jaxb.JAXBSupport</DL>
+
+<P>
+Writes <CODE>Element</CODE>objects to an XML stream. <CODE>Element</CODE> instances can be created using the ObjectFactory that
+ is generated by the JAXB compiler.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>Wonne Keysers (Realsoftware.be)</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>, 
+<CODE>JAXBContext</CODE></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String)">JAXBWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath)</CODE>
+
+<BR>
+          Creates a new JAXBWriter for the given JAXB context path. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String, java.lang.ClassLoader)">JAXBWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader)</CODE>
+
+<BR>
+          Creates a new JAXBWriter for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String, java.lang.ClassLoader, org.dom4j.io.OutputFormat)">JAXBWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader,
+           <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</CODE>
+
+<BR>
+          Creates a new JAXBWriter for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#JAXBWriter(java.lang.String, org.dom4j.io.OutputFormat)">JAXBWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+           <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</CODE>
+
+<BR>
+          Creates a new JAXBWriter for the given JAXB context path. </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#endDocument()">endDocument</A></B>()</CODE>
+
+<BR>
+          Stop writing the document to the output. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#getOutputFormat()">getOutputFormat</A></B>()</CODE>
+
+<BR>
+          Returns the OutputFormat that will be used when writing the XML stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#marshal(javax.xml.bind.Element)">marshal</A></B>(javax.xml.bind.Element element)</CODE>
+
+<BR>
+          Marshals the given <CODE>Element</CODE>in to its DOM4J
+ counterpart.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#setOutput(java.io.File)">setOutput</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+          Defines to write the resulting output to the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#setOutput(java.io.OutputStream)">setOutput</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> outputStream)</CODE>
+
+<BR>
+          Defines to write the resulting output to the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#setOutput(java.io.Writer)">setOutput</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          Defines to write the resulting output to the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io"><CODE>Writer</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#startDocument()">startDocument</A></B>()</CODE>
+
+<BR>
+          Start a document by writing the initial XML declaration to the output.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  javax.xml.bind.Element</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#unmarshal(org.dom4j.Element)">unmarshal</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Unmarshalls the specified DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>into a <CODE>Element</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#write(javax.xml.bind.Element)">write</A></B>(javax.xml.bind.Element jaxbObject)</CODE>
+
+<BR>
+          Writes the specified <CODE>Element</CODE>to the document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#writeClose(javax.xml.bind.Element)">writeClose</A></B>(javax.xml.bind.Element jaxbObject)</CODE>
+
+<BR>
+          Writes the closing tag of the specified <CODE>Element</CODE>to
+ the document. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#writeCloseElement(org.dom4j.Element)">writeCloseElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Writes the closing tag of the specified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the
+ document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#writeElement(org.dom4j.Element)">writeElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Writes the specified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#writeOpen(javax.xml.bind.Element)">writeOpen</A></B>(javax.xml.bind.Element jaxbObject)</CODE>
+
+<BR>
+          Writes the opening tag of the specified <CODE>Element</CODE>to
+ the document. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html#writeOpenElement(org.dom4j.Element)">writeOpenElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Writes the opening tag of the specified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the
+ document.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JAXBWriter(java.lang.String)"><!-- --></A><H3>
+JAXBWriter</H3>
+<PRE>
+public <B>JAXBWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath)</PRE>
+<DL>
+<DD>Creates a new JAXBWriter for the given JAXB context path. This is the
+ Java package where JAXB can find the generated XML classes. This package
+ MUST contain jaxb.properties!
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - JAXB context path to be used<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+<HR>
+
+<A NAME="JAXBWriter(java.lang.String, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+JAXBWriter</H3>
+<PRE>
+public <B>JAXBWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+                  <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</PRE>
+<DL>
+<DD>Creates a new JAXBWriter for the given JAXB context path. The specied
+ <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A>will be used for writing the XML
+ stream.
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - JAXB context path to be used<DD><CODE>outputFormat</CODE> - the DOM4J <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A>to be used<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+<HR>
+
+<A NAME="JAXBWriter(java.lang.String, java.lang.ClassLoader)"><!-- --></A><H3>
+JAXBWriter</H3>
+<PRE>
+public <B>JAXBWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader)</PRE>
+<DL>
+<DD>Creates a new JAXBWriter for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. (This is the Java package where
+ JAXB can find the generated XML classes. This package MUST contain
+ jaxb.properties!)
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - JAXB context path to be used<DD><CODE>classloader</CODE> - the classloader to be used for loading JAXB<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+<HR>
+
+<A NAME="JAXBWriter(java.lang.String, java.lang.ClassLoader, org.dom4j.io.OutputFormat)"><!-- --></A><H3>
+JAXBWriter</H3>
+<PRE>
+public <B>JAXBWriter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> contextPath,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassLoader.html" title="class or interface in java.lang">ClassLoader</A> classloader,
+                  <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> outputFormat)</PRE>
+<DL>
+<DD>Creates a new JAXBWriter for the given JAXB context path, using the
+ specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Classloader.html" title="class or interface in java.lang"><CODE>Classloader</CODE></A>. The specied <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A> will be used while writing the XML stream.
+<P>
+<DT><B>Parameters:</B><DD><CODE>contextPath</CODE> - JAXB context path to be used<DD><CODE>classloader</CODE> - the class loader to be used to load JAXB<DD><CODE>outputFormat</CODE> - the DOM4J <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><CODE>OutputFormat</CODE></A>to be used<DT><B>See Also:</B><DD><CODE>JAXBContext</CODE></DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getOutputFormat()"><!-- --></A><H3>
+getOutputFormat</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io">OutputFormat</A> <B>getOutputFormat</B>()</PRE>
+<DL>
+<DD>Returns the OutputFormat that will be used when writing the XML stream.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Returns the output format.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOutput(java.io.File)"><!-- --></A><H3>
+setOutput</H3>
+<PRE>
+public void <B>setOutput</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io">File</A> file)
+               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Defines to write the resulting output to the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - file to write to
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - when the file cannot be found</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOutput(java.io.OutputStream)"><!-- --></A><H3>
+setOutput</H3>
+<PRE>
+public void <B>setOutput</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io">OutputStream</A> outputStream)
+               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Defines to write the resulting output to the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>outputStream</CODE> - outputStream to write to.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setOutput(java.io.Writer)"><!-- --></A><H3>
+setOutput</H3>
+<PRE>
+public void <B>setOutput</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Defines to write the resulting output to the specified <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io"><CODE>Writer</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>writer</CODE> - writer to write to
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startDocument()"><!-- --></A><H3>
+startDocument</H3>
+<PRE>
+public void <B>startDocument</B>()
+                   throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                          <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Start a document by writing the initial XML declaration to the output.
+ This must be done prior to writing any other elements.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an error occured while writing the output
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - thrown by the underlying SAX driver</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endDocument()"><!-- --></A><H3>
+endDocument</H3>
+<PRE>
+public void <B>endDocument</B>()
+                 throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                        <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></PRE>
+<DL>
+<DD>Stop writing the document to the output. This must be done when all other
+ elements are finished.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an error occured while writing the output
+<DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXException.html" title="class or interface in org.xml.sax">SAXException</A></CODE> - thrown by the underlying SAX driver</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(javax.xml.bind.Element)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(javax.xml.bind.Element jaxbObject)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                  javax.xml.bind.JAXBException</PRE>
+<DL>
+<DD>Writes the specified <CODE>Element</CODE>to the document.
+ <CODE>Element</CODE>instances can be created using the
+ ObjectFactory that is generated by the JAXB compiler.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>jaxbObject</CODE> - 
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an error occured while writing the output
+<DD><CODE>javax.xml.bind.JAXBException</CODE> - when an error occured while marshalling the jaxbObject</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeClose(javax.xml.bind.Element)"><!-- --></A><H3>
+writeClose</H3>
+<PRE>
+public void <B>writeClose</B>(javax.xml.bind.Element jaxbObject)
+                throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                       javax.xml.bind.JAXBException</PRE>
+<DL>
+<DD>Writes the closing tag of the specified <CODE>Element</CODE>to
+ the document. This method can be used for writing <CODE>Element</CODE> instances can be created using the ObjectFactory
+ that is generated by the JAXB compiler.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>jaxbObject</CODE> - the JAXB element to write
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an error occured while writing the output
+<DD><CODE>javax.xml.bind.JAXBException</CODE> - when an error occured while marshalling the jaxbObject</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeOpen(javax.xml.bind.Element)"><!-- --></A><H3>
+writeOpen</H3>
+<PRE>
+public void <B>writeOpen</B>(javax.xml.bind.Element jaxbObject)
+               throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                      javax.xml.bind.JAXBException</PRE>
+<DL>
+<DD>Writes the opening tag of the specified <CODE>Element</CODE>to
+ the document. <CODE>Element</CODE>instances can be created
+ using the ObjectFactory that is generated by the JAXB compiler.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>jaxbObject</CODE> - the JAXB element to write
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an error occured while writing the output
+<DD><CODE>javax.xml.bind.JAXBException</CODE> - when an error occured while marshalling the jaxbObject</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeElement(org.dom4j.Element)"><!-- --></A><H3>
+writeElement</H3>
+<PRE>
+public void <B>writeElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                  throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the specified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the document.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - the <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to write
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an error occured while writing the output</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeCloseElement(org.dom4j.Element)"><!-- --></A><H3>
+writeCloseElement</H3>
+<PRE>
+public void <B>writeCloseElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                       throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the closing tag of the specified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the
+ document.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - the <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to write
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an error occured while writing the output</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeOpenElement(org.dom4j.Element)"><!-- --></A><H3>
+writeOpenElement</H3>
+<PRE>
+public void <B>writeOpenElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                      throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Writes the opening tag of the specified <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to the
+ document.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - the <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>to write
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - if an error occured while writing the output</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="marshal(javax.xml.bind.Element)"><!-- --></A><H3>
+marshal</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>marshal</B>(javax.xml.bind.Element element)
+                   throws javax.xml.bind.JAXBException</PRE>
+<DL>
+<DD>Marshals the given <CODE>Element</CODE>in to its DOM4J
+ counterpart.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - JAXB Element to be marshalled
+<DT><B>Returns:</B><DD>the marshalled DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.bind.JAXBException</CODE> - when an error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unmarshal(org.dom4j.Element)"><!-- --></A><H3>
+unmarshal</H3>
+<PRE>
+protected javax.xml.bind.Element <B>unmarshal</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                                    throws javax.xml.bind.JAXBException</PRE>
+<DL>
+<DD>Unmarshalls the specified DOM4J <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>into a <CODE>Element</CODE>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - the DOM4J element to unmarshall
+<DT><B>Returns:</B><DD>the unmarshalled JAXB object
+<DT><B>Throws:</B>
+<DD><CODE>javax.xml.bind.JAXBException</CODE> - when an error occurs</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JAXBWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/class-use/JAXBModifier.html b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBModifier.html
new file mode 100644
index 0000000..c9a081f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBModifier.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.jaxb.JAXBModifier (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.jaxb.JAXBModifier (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.jaxb.JAXBModifier</B></H2>
+</CENTER>
+No usage of org.dom4j.jaxb.JAXBModifier
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/class-use/JAXBObjectHandler.html b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBObjectHandler.html
new file mode 100644
index 0000000..ac32a36
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBObjectHandler.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.jaxb.JAXBObjectHandler (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.jaxb.JAXBObjectHandler (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBObjectHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.jaxb.JAXBObjectHandler</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb">JAXBObjectHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb">JAXBObjectHandler</A> in <A HREF="../../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A> with parameters of type <A HREF="../../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb">JAXBObjectHandler</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>JAXBReader.</B><B><A HREF="../../../../org/dom4j/jaxb/JAXBReader.html#addObjectHandler(java.lang.String, org.dom4j.jaxb.JAXBObjectHandler)">addObjectHandler</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                 <A HREF="../../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb">JAXBObjectHandler</A> handler)</CODE>
+
+<BR>
+          Registers a <A HREF="../../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectHandler</CODE></A>that will be supplied with the
+ unmarshalled representation of the xml fragment whenever the specified
+ path is encounted.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBObjectHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/class-use/JAXBObjectModifier.html b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBObjectModifier.html
new file mode 100644
index 0000000..3aa88dd
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBObjectModifier.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.jaxb.JAXBObjectModifier (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.jaxb.JAXBObjectModifier (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBObjectModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.jaxb.JAXBObjectModifier</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb">JAXBObjectModifier</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb">JAXBObjectModifier</A> in <A HREF="../../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A> with parameters of type <A HREF="../../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb">JAXBObjectModifier</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>JAXBModifier.</B><B><A HREF="../../../../org/dom4j/jaxb/JAXBModifier.html#addObjectModifier(java.lang.String, org.dom4j.jaxb.JAXBObjectModifier)">addObjectModifier</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> path,
+                  <A HREF="../../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb">JAXBObjectModifier</A> mod)</CODE>
+
+<BR>
+          Adds the <A HREF="../../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><CODE>JAXBObjectModifier</CODE></A>to be called when the specified xml
+ path is encounted while parsing the source.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBObjectModifier.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/class-use/JAXBReader.html b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBReader.html
new file mode 100644
index 0000000..37c17c2
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBReader.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.jaxb.JAXBReader (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.jaxb.JAXBReader (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.jaxb.JAXBReader</B></H2>
+</CENTER>
+No usage of org.dom4j.jaxb.JAXBReader
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBReader.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/class-use/JAXBWriter.html b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBWriter.html
new file mode 100644
index 0000000..ea4dc54
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/class-use/JAXBWriter.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:18 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.jaxb.JAXBWriter (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.jaxb.JAXBWriter (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.jaxb.JAXBWriter</B></H2>
+</CENTER>
+No usage of org.dom4j.jaxb.JAXBWriter
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="JAXBWriter.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/package-frame.html b/docs/apidocs/org/dom4j/jaxb/package-frame.html
new file mode 100644
index 0000000..0dfe169
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/package-frame.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.jaxb (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.jaxb package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/jaxb/package-summary.html" target="classFrame">org.dom4j.jaxb</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="JAXBObjectHandler.html" title="interface in org.dom4j.jaxb" target="classFrame"><I>JAXBObjectHandler</I></A>
+<BR>
+<A HREF="JAXBObjectModifier.html" title="interface in org.dom4j.jaxb" target="classFrame"><I>JAXBObjectModifier</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="JAXBModifier.html" title="class in org.dom4j.jaxb" target="classFrame">JAXBModifier</A>
+<BR>
+<A HREF="JAXBReader.html" title="class in org.dom4j.jaxb" target="classFrame">JAXBReader</A>
+<BR>
+<A HREF="JAXBWriter.html" title="class in org.dom4j.jaxb" target="classFrame">JAXBWriter</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/package-summary.html b/docs/apidocs/org/dom4j/jaxb/package-summary.html
new file mode 100644
index 0000000..7dd0f6c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/package-summary.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.jaxb (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.jaxb package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.jaxb (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/rule/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.jaxb
+</H2>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb">JAXBObjectHandler</A></B></TD>
+<TD>JAXBObjectHandler implementations can be registered with the JAXB Reader in
+ order to receive unmarshalled XML fragments.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb">JAXBObjectModifier</A></B></TD>
+<TD>JAXBObjectHandler implementations can be registered with the <A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><CODE>JAXBModifier</CODE></A> in order to change unmarshalled XML fragments.</TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb">JAXBModifier</A></B></TD>
+<TD>Reads an XML document using SAX and writes its content to the provided
+ <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb">JAXBReader</A></B></TD>
+<TD>Reads an XML document and creates a DOM4J tree from SAX parsing events.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb">JAXBWriter</A></B></TD>
+<TD>Writes <CODE>Element</CODE>objects to an XML stream. </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/rule/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/package-tree.html b/docs/apidocs/org/dom4j/jaxb/package-tree.html
new file mode 100644
index 0000000..ca98884
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/package-tree.html
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.jaxb Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.jaxb Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/rule/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.jaxb
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.jaxb.JAXBSupport<UL>
+<LI TYPE="circle">class org.dom4j.jaxb.<A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><B>JAXBModifier</B></A><LI TYPE="circle">class org.dom4j.jaxb.<A HREF="../../../org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><B>JAXBReader</B></A><LI TYPE="circle">class org.dom4j.jaxb.<A HREF="../../../org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb"><B>JAXBWriter</B></A></UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface org.dom4j.jaxb.<A HREF="../../../org/dom4j/jaxb/JAXBObjectHandler.html" title="interface in org.dom4j.jaxb"><B>JAXBObjectHandler</B></A><LI TYPE="circle">interface org.dom4j.jaxb.<A HREF="../../../org/dom4j/jaxb/JAXBObjectModifier.html" title="interface in org.dom4j.jaxb"><B>JAXBObjectModifier</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/io/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/rule/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/jaxb/package-use.html b/docs/apidocs/org/dom4j/jaxb/package-use.html
new file mode 100644
index 0000000..53909f4
--- /dev/null
+++ b/docs/apidocs/org/dom4j/jaxb/package-use.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.jaxb (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.jaxb (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.jaxb</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A> used by <A HREF="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/jaxb/class-use/JAXBObjectHandler.html#org.dom4j.jaxb"><B>JAXBObjectHandler</B></A></B>
+
+<BR>
+          JAXBObjectHandler implementations can be registered with the JAXB Reader in
+ order to receive unmarshalled XML fragments.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/jaxb/class-use/JAXBObjectModifier.html#org.dom4j.jaxb"><B>JAXBObjectModifier</B></A></B>
+
+<BR>
+          JAXBObjectHandler implementations can be registered with the <A HREF="../../../org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><CODE>JAXBModifier</CODE></A> in order to change unmarshalled XML fragments.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/package-frame.html b/docs/apidocs/org/dom4j/package-frame.html
new file mode 100644
index 0000000..ba7dec9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/package-frame.html
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../org/dom4j/package-summary.html" target="classFrame">org.dom4j</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Attribute.html" title="interface in org.dom4j" target="classFrame"><I>Attribute</I></A>
+<BR>
+<A HREF="Branch.html" title="interface in org.dom4j" target="classFrame"><I>Branch</I></A>
+<BR>
+<A HREF="CDATA.html" title="interface in org.dom4j" target="classFrame"><I>CDATA</I></A>
+<BR>
+<A HREF="CharacterData.html" title="interface in org.dom4j" target="classFrame"><I>CharacterData</I></A>
+<BR>
+<A HREF="Comment.html" title="interface in org.dom4j" target="classFrame"><I>Comment</I></A>
+<BR>
+<A HREF="Document.html" title="interface in org.dom4j" target="classFrame"><I>Document</I></A>
+<BR>
+<A HREF="DocumentType.html" title="interface in org.dom4j" target="classFrame"><I>DocumentType</I></A>
+<BR>
+<A HREF="Element.html" title="interface in org.dom4j" target="classFrame"><I>Element</I></A>
+<BR>
+<A HREF="ElementHandler.html" title="interface in org.dom4j" target="classFrame"><I>ElementHandler</I></A>
+<BR>
+<A HREF="ElementPath.html" title="interface in org.dom4j" target="classFrame"><I>ElementPath</I></A>
+<BR>
+<A HREF="Entity.html" title="interface in org.dom4j" target="classFrame"><I>Entity</I></A>
+<BR>
+<A HREF="Node.html" title="interface in org.dom4j" target="classFrame"><I>Node</I></A>
+<BR>
+<A HREF="NodeFilter.html" title="interface in org.dom4j" target="classFrame"><I>NodeFilter</I></A>
+<BR>
+<A HREF="ProcessingInstruction.html" title="interface in org.dom4j" target="classFrame"><I>ProcessingInstruction</I></A>
+<BR>
+<A HREF="Text.html" title="interface in org.dom4j" target="classFrame"><I>Text</I></A>
+<BR>
+<A HREF="Visitor.html" title="interface in org.dom4j" target="classFrame"><I>Visitor</I></A>
+<BR>
+<A HREF="XPath.html" title="interface in org.dom4j" target="classFrame"><I>XPath</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DocumentFactory.html" title="class in org.dom4j" target="classFrame">DocumentFactory</A>
+<BR>
+<A HREF="DocumentHelper.html" title="class in org.dom4j" target="classFrame">DocumentHelper</A>
+<BR>
+<A HREF="Namespace.html" title="class in org.dom4j" target="classFrame">Namespace</A>
+<BR>
+<A HREF="QName.html" title="class in org.dom4j" target="classFrame">QName</A>
+<BR>
+<A HREF="VisitorSupport.html" title="class in org.dom4j" target="classFrame">VisitorSupport</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DocumentException.html" title="class in org.dom4j" target="classFrame">DocumentException</A>
+<BR>
+<A HREF="IllegalAddException.html" title="class in org.dom4j" target="classFrame">IllegalAddException</A>
+<BR>
+<A HREF="InvalidXPathException.html" title="class in org.dom4j" target="classFrame">InvalidXPathException</A>
+<BR>
+<A HREF="XPathException.html" title="class in org.dom4j" target="classFrame">XPathException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/package-summary.html b/docs/apidocs/org/dom4j/package-summary.html
new file mode 100644
index 0000000..ec189da
--- /dev/null
+++ b/docs/apidocs/org/dom4j/package-summary.html
@@ -0,0 +1,348 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV PACKAGE 
+ <A HREF="../../org/dom4j/bean/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j
+</H2>
+Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes.
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></B></TD>
+<TD>
+ <code>Attribute</code> defines an XML attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+<TD>
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></B></TD>
+<TD>
+ <code>CDATA</code> defines an XML CDATA section.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+<TD>
+ <code>CharacterData</code> is a marker interface for character based nodes
+ such as the <code>CDATA</code>,<code>Comment</code> and
+ <code>Text</code> nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></B></TD>
+<TD>
+ <code>Comment</code> defines the behavior of an XML comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></B></TD>
+<TD>
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></B></TD>
+<TD>
+ <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+<TD>
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j">ElementHandler</A></B></TD>
+<TD>
+ <code>ElementHandler</code> interface defines a handler of
+ <code>Element</code> objects. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j">ElementPath</A></B></TD>
+<TD>This interface is used by <A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><CODE>ElementHandler</CODE></A>instances to retrieve
+ information about the current path hierarchy they are to process. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></B></TD>
+<TD>
+ <code>Entity</code> defines an XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+<TD>
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></B></TD>
+<TD>
+ <code>NodeFilter</code> defines the behavior for a filter or predicate
+ which acts on a DOM4J Node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></B></TD>
+<TD>
+ <code>ProcessingInstruction</code> defines an XML processing instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></B></TD>
+<TD>
+ <code>Text</code> defines an XML Text node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A></B></TD>
+<TD>
+ <code>Visitor</code> is used to implement the <code>Visitor</code>
+ pattern in DOM4J. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></B></TD>
+<TD>
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+<TD>
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/DocumentHelper.html" title="class in org.dom4j">DocumentHelper</A></B></TD>
+<TD>
+ <code>DocumentHelper</code> is a collection of helper methods for using
+ DOM4J.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></B></TD>
+<TD>
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></B></TD>
+<TD>
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/VisitorSupport.html" title="class in org.dom4j">VisitorSupport</A></B></TD>
+<TD>
+ <code>VisitorSupport</code> is an abstract base class which is useful for
+ implementation inheritence or when using anonymous inner classes to create
+ simple <code>Visitor</code> implementations.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/DocumentException.html" title="class in org.dom4j">DocumentException</A></B></TD>
+<TD>
+ <code>DocumentException</code> is a nested Exception which may be thrown
+ during the processing of a DOM4J document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/IllegalAddException.html" title="class in org.dom4j">IllegalAddException</A></B></TD>
+<TD>
+ <code>IllegalAddException</code> is thrown when a node is added incorrectly
+ to an <code><A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A></code>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></B></TD>
+<TD>
+ <code>InvalidXPathException</code> is thrown when an invalid XPath
+ expression is used to traverse an XML document
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A></B></TD>
+<TD>
+ <code>XPathException</code> is thrown when an exception occurs while
+ evaluating an XPath expression, usually due to some function throwing an
+ exception.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j Description
+</H2>
+
+<P>
+<p>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes.</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV PACKAGE 
+ <A HREF="../../org/dom4j/bean/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/package-tree.html b/docs/apidocs/org/dom4j/package-tree.html
new file mode 100644
index 0000000..dacfe1d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/package-tree.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ <A HREF="../../org/dom4j/bean/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>AbstractNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in  [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../org/dom4j/Namespace.html" title="class in org.dom4j"><B>Namespace</B></A></UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><B>DocumentFactory</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<LI TYPE="circle">class org.dom4j.<A HREF="../../org/dom4j/DocumentHelper.html" title="class in org.dom4j"><B>DocumentHelper</B></A><LI TYPE="circle">class org.dom4j.<A HREF="../../org/dom4j/QName.html" title="class in org.dom4j"><B>QName</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../org/dom4j/DocumentException.html" title="class in org.dom4j"><B>DocumentException</B></A><LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang"><B>RuntimeException</B></A><UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang"><B>IllegalArgumentException</B></A><UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><B>IllegalAddException</B></A><LI TYPE="circle">class org.dom4j.<A HREF="../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j"><B>InvalidXPathException</B></A></UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../org/dom4j/XPathException.html" title="class in org.dom4j"><B>XPathException</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../org/dom4j/VisitorSupport.html" title="class in org.dom4j"><B>VisitorSupport</B></A> (implements org.dom4j.<A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>)
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang"><B>Cloneable</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/Node.html" title="interface in org.dom4j"><B>Node</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/Attribute.html" title="interface in org.dom4j"><B>Attribute</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/Branch.html" title="interface in org.dom4j"><B>Branch</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/Document.html" title="interface in org.dom4j"><B>Document</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/Element.html" title="interface in org.dom4j"><B>Element</B></A></UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/CharacterData.html" title="interface in org.dom4j"><B>CharacterData</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/CDATA.html" title="interface in org.dom4j"><B>CDATA</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/Comment.html" title="interface in org.dom4j"><B>Comment</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/Text.html" title="interface in org.dom4j"><B>Text</B></A></UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/DocumentType.html" title="interface in org.dom4j"><B>DocumentType</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/Entity.html" title="interface in org.dom4j"><B>Entity</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><B>ProcessingInstruction</B></A></UL>
+</UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><B>ElementHandler</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/ElementPath.html" title="interface in org.dom4j"><B>ElementPath</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/NodeFilter.html" title="interface in org.dom4j"><B>NodeFilter</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/XPath.html" title="interface in org.dom4j"><B>XPath</B></A></UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="../../org/dom4j/Visitor.html" title="interface in org.dom4j"><B>Visitor</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ <A HREF="../../org/dom4j/bean/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/package-use.html b/docs/apidocs/org/dom4j/package-use.html
new file mode 100644
index 0000000..b67a5ba
--- /dev/null
+++ b/docs/apidocs/org/dom4j/package-use.html
@@ -0,0 +1,1373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.jaxb"><B>org.dom4j.jaxb</B></A></TD>
+<TD>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule.pattern"><B>org.dom4j.rule.pattern</B></A></TD>
+<TD>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpp"><B>org.dom4j.xpp</B></A></TD>
+<TD>Provides implementation classes to cleanly integrate dom4j with the XML Pull Parser
+<a href="http://www.extreme.indiana.edu/soap/xpp/">XPP</a>
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Attribute.html#org.dom4j"><B>Attribute</B></A></B>
+
+<BR>
+          
+ <code>Attribute</code> defines an XML attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Branch.html#org.dom4j"><B>Branch</B></A></B>
+
+<BR>
+          
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CDATA.html#org.dom4j"><B>CDATA</B></A></B>
+
+<BR>
+          
+ <code>CDATA</code> defines an XML CDATA section.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CharacterData.html#org.dom4j"><B>CharacterData</B></A></B>
+
+<BR>
+          
+ <code>CharacterData</code> is a marker interface for character based nodes
+ such as the <code>CDATA</code>,<code>Comment</code> and
+ <code>Text</code> nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Comment.html#org.dom4j"><B>Comment</B></A></B>
+
+<BR>
+          
+ <code>Comment</code> defines the behavior of an XML comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Document.html#org.dom4j"><B>Document</B></A></B>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentException.html#org.dom4j"><B>DocumentException</B></A></B>
+
+<BR>
+          
+ <code>DocumentException</code> is a nested Exception which may be thrown
+ during the processing of a DOM4J document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentFactory.html#org.dom4j"><B>DocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentType.html#org.dom4j"><B>DocumentType</B></A></B>
+
+<BR>
+          
+ <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/ElementHandler.html#org.dom4j"><B>ElementHandler</B></A></B>
+
+<BR>
+          
+ <code>ElementHandler</code> interface defines a handler of
+ <code>Element</code> objects. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/ElementPath.html#org.dom4j"><B>ElementPath</B></A></B>
+
+<BR>
+          This interface is used by <A HREF="../../org/dom4j/ElementHandler.html" title="interface in org.dom4j"><CODE>ElementHandler</CODE></A>instances to retrieve
+ information about the current path hierarchy they are to process. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Entity.html#org.dom4j"><B>Entity</B></A></B>
+
+<BR>
+          
+ <code>Entity</code> defines an XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/InvalidXPathException.html#org.dom4j"><B>InvalidXPathException</B></A></B>
+
+<BR>
+          
+ <code>InvalidXPathException</code> is thrown when an invalid XPath
+ expression is used to traverse an XML document
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Namespace.html#org.dom4j"><B>Namespace</B></A></B>
+
+<BR>
+          
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/NodeFilter.html#org.dom4j"><B>NodeFilter</B></A></B>
+
+<BR>
+          
+ <code>NodeFilter</code> defines the behavior for a filter or predicate
+ which acts on a DOM4J Node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/ProcessingInstruction.html#org.dom4j"><B>ProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>ProcessingInstruction</code> defines an XML processing instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/QName.html#org.dom4j"><B>QName</B></A></B>
+
+<BR>
+          
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Text.html#org.dom4j"><B>Text</B></A></B>
+
+<BR>
+          
+ <code>Text</code> defines an XML Text node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Visitor.html#org.dom4j"><B>Visitor</B></A></B>
+
+<BR>
+          
+ <code>Visitor</code> is used to implement the <code>Visitor</code>
+ pattern in DOM4J. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/XPath.html#org.dom4j"><B>XPath</B></A></B>
+
+<BR>
+          
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Attribute.html#org.dom4j.bean"><B>Attribute</B></A></B>
+
+<BR>
+          
+ <code>Attribute</code> defines an XML attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Branch.html#org.dom4j.bean"><B>Branch</B></A></B>
+
+<BR>
+          
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentFactory.html#org.dom4j.bean"><B>DocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.bean"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Namespace.html#org.dom4j.bean"><B>Namespace</B></A></B>
+
+<BR>
+          
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.bean"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/QName.html#org.dom4j.bean"><B>QName</B></A></B>
+
+<BR>
+          
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Attribute.html#org.dom4j.datatype"><B>Attribute</B></A></B>
+
+<BR>
+          
+ <code>Attribute</code> defines an XML attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Branch.html#org.dom4j.datatype"><B>Branch</B></A></B>
+
+<BR>
+          
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Document.html#org.dom4j.datatype"><B>Document</B></A></B>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentFactory.html#org.dom4j.datatype"><B>DocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.datatype"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Namespace.html#org.dom4j.datatype"><B>Namespace</B></A></B>
+
+<BR>
+          
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.datatype"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/QName.html#org.dom4j.datatype"><B>QName</B></A></B>
+
+<BR>
+          
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Attribute.html#org.dom4j.dom"><B>Attribute</B></A></B>
+
+<BR>
+          
+ <code>Attribute</code> defines an XML attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Branch.html#org.dom4j.dom"><B>Branch</B></A></B>
+
+<BR>
+          
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CDATA.html#org.dom4j.dom"><B>CDATA</B></A></B>
+
+<BR>
+          
+ <code>CDATA</code> defines an XML CDATA section.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CharacterData.html#org.dom4j.dom"><B>CharacterData</B></A></B>
+
+<BR>
+          
+ <code>CharacterData</code> is a marker interface for character based nodes
+ such as the <code>CDATA</code>,<code>Comment</code> and
+ <code>Text</code> nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Comment.html#org.dom4j.dom"><B>Comment</B></A></B>
+
+<BR>
+          
+ <code>Comment</code> defines the behavior of an XML comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Document.html#org.dom4j.dom"><B>Document</B></A></B>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentFactory.html#org.dom4j.dom"><B>DocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentType.html#org.dom4j.dom"><B>DocumentType</B></A></B>
+
+<BR>
+          
+ <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.dom"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Entity.html#org.dom4j.dom"><B>Entity</B></A></B>
+
+<BR>
+          
+ <code>Entity</code> defines an XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Namespace.html#org.dom4j.dom"><B>Namespace</B></A></B>
+
+<BR>
+          
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.dom"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/ProcessingInstruction.html#org.dom4j.dom"><B>ProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>ProcessingInstruction</code> defines an XML processing instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/QName.html#org.dom4j.dom"><B>QName</B></A></B>
+
+<BR>
+          
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Text.html#org.dom4j.dom"><B>Text</B></A></B>
+
+<BR>
+          
+ <code>Text</code> defines an XML Text node.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Attribute.html#org.dom4j.io"><B>Attribute</B></A></B>
+
+<BR>
+          
+ <code>Attribute</code> defines an XML attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Branch.html#org.dom4j.io"><B>Branch</B></A></B>
+
+<BR>
+          
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CDATA.html#org.dom4j.io"><B>CDATA</B></A></B>
+
+<BR>
+          
+ <code>CDATA</code> defines an XML CDATA section.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CharacterData.html#org.dom4j.io"><B>CharacterData</B></A></B>
+
+<BR>
+          
+ <code>CharacterData</code> is a marker interface for character based nodes
+ such as the <code>CDATA</code>,<code>Comment</code> and
+ <code>Text</code> nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Comment.html#org.dom4j.io"><B>Comment</B></A></B>
+
+<BR>
+          
+ <code>Comment</code> defines the behavior of an XML comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Document.html#org.dom4j.io"><B>Document</B></A></B>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentException.html#org.dom4j.io"><B>DocumentException</B></A></B>
+
+<BR>
+          
+ <code>DocumentException</code> is a nested Exception which may be thrown
+ during the processing of a DOM4J document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentFactory.html#org.dom4j.io"><B>DocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentType.html#org.dom4j.io"><B>DocumentType</B></A></B>
+
+<BR>
+          
+ <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.io"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/ElementHandler.html#org.dom4j.io"><B>ElementHandler</B></A></B>
+
+<BR>
+          
+ <code>ElementHandler</code> interface defines a handler of
+ <code>Element</code> objects. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Entity.html#org.dom4j.io"><B>Entity</B></A></B>
+
+<BR>
+          
+ <code>Entity</code> defines an XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Namespace.html#org.dom4j.io"><B>Namespace</B></A></B>
+
+<BR>
+          
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.io"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/ProcessingInstruction.html#org.dom4j.io"><B>ProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>ProcessingInstruction</code> defines an XML processing instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/QName.html#org.dom4j.io"><B>QName</B></A></B>
+
+<BR>
+          
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Text.html#org.dom4j.io"><B>Text</B></A></B>
+
+<BR>
+          
+ <code>Text</code> defines an XML Text node.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.jaxb"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Document.html#org.dom4j.jaxb"><B>Document</B></A></B>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentException.html#org.dom4j.jaxb"><B>DocumentException</B></A></B>
+
+<BR>
+          
+ <code>DocumentException</code> is a nested Exception which may be thrown
+ during the processing of a DOM4J document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.jaxb"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/ElementHandler.html#org.dom4j.jaxb"><B>ElementHandler</B></A></B>
+
+<BR>
+          
+ <code>ElementHandler</code> interface defines a handler of
+ <code>Element</code> objects. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Document.html#org.dom4j.rule"><B>Document</B></A></B>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.rule"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.rule"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/NodeFilter.html#org.dom4j.rule"><B>NodeFilter</B></A></B>
+
+<BR>
+          
+ <code>NodeFilter</code> defines the behavior for a filter or predicate
+ which acts on a DOM4J Node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/XPath.html#org.dom4j.rule"><B>XPath</B></A></B>
+
+<BR>
+          
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule.pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.rule.pattern"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/NodeFilter.html#org.dom4j.rule.pattern"><B>NodeFilter</B></A></B>
+
+<BR>
+          
+ <code>NodeFilter</code> defines the behavior for a filter or predicate
+ which acts on a DOM4J Node. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Branch.html#org.dom4j.swing"><B>Branch</B></A></B>
+
+<BR>
+          
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Document.html#org.dom4j.swing"><B>Document</B></A></B>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.swing"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.swing"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/XPath.html#org.dom4j.swing"><B>XPath</B></A></B>
+
+<BR>
+          
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Attribute.html#org.dom4j.tree"><B>Attribute</B></A></B>
+
+<BR>
+          
+ <code>Attribute</code> defines an XML attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Branch.html#org.dom4j.tree"><B>Branch</B></A></B>
+
+<BR>
+          
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CDATA.html#org.dom4j.tree"><B>CDATA</B></A></B>
+
+<BR>
+          
+ <code>CDATA</code> defines an XML CDATA section.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CharacterData.html#org.dom4j.tree"><B>CharacterData</B></A></B>
+
+<BR>
+          
+ <code>CharacterData</code> is a marker interface for character based nodes
+ such as the <code>CDATA</code>,<code>Comment</code> and
+ <code>Text</code> nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Comment.html#org.dom4j.tree"><B>Comment</B></A></B>
+
+<BR>
+          
+ <code>Comment</code> defines the behavior of an XML comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Document.html#org.dom4j.tree"><B>Document</B></A></B>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentFactory.html#org.dom4j.tree"><B>DocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentType.html#org.dom4j.tree"><B>DocumentType</B></A></B>
+
+<BR>
+          
+ <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.tree"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Entity.html#org.dom4j.tree"><B>Entity</B></A></B>
+
+<BR>
+          
+ <code>Entity</code> defines an XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Namespace.html#org.dom4j.tree"><B>Namespace</B></A></B>
+
+<BR>
+          
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.tree"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/NodeFilter.html#org.dom4j.tree"><B>NodeFilter</B></A></B>
+
+<BR>
+          
+ <code>NodeFilter</code> defines the behavior for a filter or predicate
+ which acts on a DOM4J Node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/ProcessingInstruction.html#org.dom4j.tree"><B>ProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>ProcessingInstruction</code> defines an XML processing instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/QName.html#org.dom4j.tree"><B>QName</B></A></B>
+
+<BR>
+          
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Text.html#org.dom4j.tree"><B>Text</B></A></B>
+
+<BR>
+          
+ <code>Text</code> defines an XML Text node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Visitor.html#org.dom4j.tree"><B>Visitor</B></A></B>
+
+<BR>
+          
+ <code>Visitor</code> is used to implement the <code>Visitor</code>
+ pattern in DOM4J. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/XPath.html#org.dom4j.tree"><B>XPath</B></A></B>
+
+<BR>
+          
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Attribute.html#org.dom4j.util"><B>Attribute</B></A></B>
+
+<BR>
+          
+ <code>Attribute</code> defines an XML attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Branch.html#org.dom4j.util"><B>Branch</B></A></B>
+
+<BR>
+          
+ <code>Branch</code> interface defines the common behaviour for Nodes which
+ can contain child nodes (content) such as XML elements and documents. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CDATA.html#org.dom4j.util"><B>CDATA</B></A></B>
+
+<BR>
+          
+ <code>CDATA</code> defines an XML CDATA section.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/CharacterData.html#org.dom4j.util"><B>CharacterData</B></A></B>
+
+<BR>
+          
+ <code>CharacterData</code> is a marker interface for character based nodes
+ such as the <code>CDATA</code>,<code>Comment</code> and
+ <code>Text</code> nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Comment.html#org.dom4j.util"><B>Comment</B></A></B>
+
+<BR>
+          
+ <code>Comment</code> defines the behavior of an XML comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Document.html#org.dom4j.util"><B>Document</B></A></B>
+
+<BR>
+          
+ <code>Document</code> defines an XML Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentFactory.html#org.dom4j.util"><B>DocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentType.html#org.dom4j.util"><B>DocumentType</B></A></B>
+
+<BR>
+          
+ <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.util"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Entity.html#org.dom4j.util"><B>Entity</B></A></B>
+
+<BR>
+          
+ <code>Entity</code> defines an XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Namespace.html#org.dom4j.util"><B>Namespace</B></A></B>
+
+<BR>
+          
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.util"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/NodeFilter.html#org.dom4j.util"><B>NodeFilter</B></A></B>
+
+<BR>
+          
+ <code>NodeFilter</code> defines the behavior for a filter or predicate
+ which acts on a DOM4J Node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/ProcessingInstruction.html#org.dom4j.util"><B>ProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>ProcessingInstruction</code> defines an XML processing instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/QName.html#org.dom4j.util"><B>QName</B></A></B>
+
+<BR>
+          
+ <code>QName</code> represents a qualified name value of an XML element or
+ attribute. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Text.html#org.dom4j.util"><B>Text</B></A></B>
+
+<BR>
+          
+ <code>Text</code> defines an XML Text node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/XPath.html#org.dom4j.util"><B>XPath</B></A></B>
+
+<BR>
+          
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.xpath"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/InvalidXPathException.html#org.dom4j.xpath"><B>InvalidXPathException</B></A></B>
+
+<BR>
+          
+ <code>InvalidXPathException</code> is thrown when an invalid XPath
+ expression is used to traverse an XML document
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Node.html#org.dom4j.xpath"><B>Node</B></A></B>
+
+<BR>
+          
+ <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ dom4j tree.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/NodeFilter.html#org.dom4j.xpath"><B>NodeFilter</B></A></B>
+
+<BR>
+          
+ <code>NodeFilter</code> defines the behavior for a filter or predicate
+ which acts on a DOM4J Node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/XPath.html#org.dom4j.xpath"><B>XPath</B></A></B>
+
+<BR>
+          
+ <code>XPath</code> represents an XPath expression after it has been parsed
+ from a String.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/XPathException.html#org.dom4j.xpath"><B>XPathException</B></A></B>
+
+<BR>
+          
+ <code>XPathException</code> is thrown when an exception occurs while
+ evaluating an XPath expression, usually due to some function throwing an
+ exception.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../org/dom4j/package-summary.html">org.dom4j</A> used by <A HREF="../../org/dom4j/xpp/package-summary.html">org.dom4j.xpp</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/DocumentFactory.html#org.dom4j.xpp"><B>DocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>DocumentFactory</code> is a collection of factory methods to allow
+ easy custom building of DOM4J trees. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../org/dom4j/class-use/Element.html#org.dom4j.xpp"><B>Element</B></A></B>
+
+<BR>
+          
+ <code>Element</code> interface defines an XML element. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/Action.html b/docs/apidocs/org/dom4j/rule/Action.html
new file mode 100644
index 0000000..8ff7996
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/Action.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Action (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.Action interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Action (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Action.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Action.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule</FONT>
+<BR>
+Interface Action</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Action</B></DL>
+
+<P>
+<p>
+ <code>Action</code> represents some default action which should occur when
+ a rule matches a node in the XSLT processing model.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Action.html#run(org.dom4j.Node)">run</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="run(org.dom4j.Node)"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)
+         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Action.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Action.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/Mode.html b/docs/apidocs/org/dom4j/rule/Mode.html
new file mode 100644
index 0000000..d2fdbd2
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/Mode.html
@@ -0,0 +1,451 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Mode (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.Mode class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Mode (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Mode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Mode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule</FONT>
+<BR>
+Class Mode</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.rule.Mode</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>Mode</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>Mode</code> manages a number of RuleSet instances for the mode in a
+ stylesheet. It is responsible for finding the correct rule for a given DOM4J
+ Node using the XSLT processing model uses the smallest possible RuleSet to
+ reduce the number of Rule evaluations.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#Mode()">Mode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#addRule(org.dom4j.rule.Rule)">addRule</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#addToNameMap(java.util.Map, java.lang.String, org.dom4j.rule.Rule)">addToNameMap</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+          Adds the Rule to a RuleSet for the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#applyTemplates(org.dom4j.Document)">applyTemplates</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#applyTemplates(org.dom4j.Element)">applyTemplates</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#fireRule(org.dom4j.Node)">fireRule</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Runs the actions associated with the given node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#getMatchingRule(org.dom4j.Node)">getMatchingRule</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Performs an XSLT processing model match for the rule which matches the
+ given Node the best.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#getRuleSet(int)">getRuleSet</A></B>(int matchType)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#removeFromNameMap(java.util.Map, java.lang.String, org.dom4j.rule.Rule)">removeFromNameMap</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                  <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Mode.html#removeRule(org.dom4j.rule.Rule)">removeRule</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="Mode()"><!-- --></A><H3>
+Mode</H3>
+<PRE>
+public <B>Mode</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="fireRule(org.dom4j.Node)"><!-- --></A><H3>
+fireRule</H3>
+<PRE>
+public void <B>fireRule</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)
+              throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Runs the actions associated with the given node
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="applyTemplates(org.dom4j.Element)"><!-- --></A><H3>
+applyTemplates</H3>
+<PRE>
+public void <B>applyTemplates</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="applyTemplates(org.dom4j.Document)"><!-- --></A><H3>
+applyTemplates</H3>
+<PRE>
+public void <B>applyTemplates</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addRule(org.dom4j.rule.Rule)"><!-- --></A><H3>
+addRule</H3>
+<PRE>
+public void <B>addRule</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeRule(org.dom4j.rule.Rule)"><!-- --></A><H3>
+removeRule</H3>
+<PRE>
+public void <B>removeRule</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchingRule(org.dom4j.Node)"><!-- --></A><H3>
+getMatchingRule</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> <B>getMatchingRule</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Performs an XSLT processing model match for the rule which matches the
+ given Node the best.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the DOM4J Node to match against
+<DT><B>Returns:</B><DD>the matching Rule or no rule if none matched</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRuleSet(int)"><!-- --></A><H3>
+getRuleSet</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A> <B>getRuleSet</B>(int matchType)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>matchType</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the RuleSet for the given matching type. This method will never
+         return null, a new instance will be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addToNameMap(java.util.Map, java.lang.String, org.dom4j.rule.Rule)"><!-- --></A><H3>
+addToNameMap</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>addToNameMap</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                           <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD>Adds the Rule to a RuleSet for the given name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>map</CODE> - DOCUMENT ME!<DD><CODE>name</CODE> - DOCUMENT ME!<DD><CODE>rule</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the Map (which will be created if the given map was null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeFromNameMap(java.util.Map, java.lang.String, org.dom4j.rule.Rule)"><!-- --></A><H3>
+removeFromNameMap</H3>
+<PRE>
+protected void <B>removeFromNameMap</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                 <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Mode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Mode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/NullAction.html b/docs/apidocs/org/dom4j/rule/NullAction.html
new file mode 100644
index 0000000..3475289
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/NullAction.html
@@ -0,0 +1,307 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+NullAction (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.NullAction class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="NullAction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NullAction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NullAction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule</FONT>
+<BR>
+Class NullAction</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.rule.NullAction</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>NullAction</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></DL>
+
+<P>
+<p>
+ <code>NullAction</code> represents an empty action that does nothing.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/NullAction.html#SINGLETON">SINGLETON</A></B></CODE>
+
+<BR>
+          Singleton instance</TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/NullAction.html#NullAction()">NullAction</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/NullAction.html#run(org.dom4j.Node)">run</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SINGLETON"><!-- --></A><H3>
+SINGLETON</H3>
+<PRE>
+public static final <A HREF="../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A> <B>SINGLETON</B></PRE>
+<DL>
+<DD>Singleton instance
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NullAction()"><!-- --></A><H3>
+NullAction</H3>
+<PRE>
+public <B>NullAction</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="run(org.dom4j.Node)"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)
+         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/rule/Action.html#run(org.dom4j.Node)">run</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NullAction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NullAction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/Pattern.html b/docs/apidocs/org/dom4j/rule/Pattern.html
new file mode 100644
index 0000000..a0300dd
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/Pattern.html
@@ -0,0 +1,450 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Pattern (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.Pattern interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Pattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Pattern.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Pattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule</FONT>
+<BR>
+Interface Pattern</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A>, <A HREF="../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A>, <A HREF="../../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Pattern</B><DT>extends <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></DL>
+
+<P>
+<p>
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html#ANY_NODE">ANY_NODE</A></B></CODE>
+
+<BR>
+          Matches any node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static double</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html#DEFAULT_PRIORITY">DEFAULT_PRIORITY</A></B></CODE>
+
+<BR>
+          According to the <a href="http://www.w3.org/TR/xslt11/#conflict">spec
+ </a> we should return 0.5 if we cannot determine the priority</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html#NONE">NONE</A></B></CODE>
+
+<BR>
+          Matches no nodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html#NUMBER_OF_TYPES">NUMBER_OF_TYPES</A></B></CODE>
+
+<BR>
+          Count of the number of node types</TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html#getMatchesNodeName()">getMatchesNodeName</A></B>()</CODE>
+
+<BR>
+          For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html#getMatchType()">getMatchType</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> double</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html#getPriority()">getPriority</A></B>()</CODE>
+
+<BR>
+          Returns the default resolution policy of the pattern according to the <a
+ href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+ spec </a>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html#getUnionPatterns()">getUnionPatterns</A></B>()</CODE>
+
+<BR>
+          If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Pattern.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ANY_NODE"><!-- --></A><H3>
+ANY_NODE</H3>
+<PRE>
+public static final short <B>ANY_NODE</B></PRE>
+<DL>
+<DD>Matches any node
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.rule.Pattern.ANY_NODE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NONE"><!-- --></A><H3>
+NONE</H3>
+<PRE>
+public static final short <B>NONE</B></PRE>
+<DL>
+<DD>Matches no nodes
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.rule.Pattern.NONE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NUMBER_OF_TYPES"><!-- --></A><H3>
+NUMBER_OF_TYPES</H3>
+<PRE>
+public static final short <B>NUMBER_OF_TYPES</B></PRE>
+<DL>
+<DD>Count of the number of node types
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.rule.Pattern.NUMBER_OF_TYPES">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DEFAULT_PRIORITY"><!-- --></A><H3>
+DEFAULT_PRIORITY</H3>
+<PRE>
+public static final double <B>DEFAULT_PRIORITY</B></PRE>
+<DL>
+<DD>According to the <a href="http://www.w3.org/TR/xslt11/#conflict">spec
+ </a> we should return 0.5 if we cannot determine the priority
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.rule.Pattern.DEFAULT_PRIORITY">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="matches(org.dom4j.Node)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public boolean <B>matches</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/NodeFilter.html#matches(org.dom4j.Node)">matches</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the pattern matches the given DOM4J node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPriority()"><!-- --></A><H3>
+getPriority</H3>
+<PRE>
+public double <B>getPriority</B>()</PRE>
+<DL>
+<DD>Returns the default resolution policy of the pattern according to the <a
+ href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+ spec </a>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUnionPatterns()"><!-- --></A><H3>
+getUnionPatterns</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[] <B>getUnionPatterns</B>()</PRE>
+<DL>
+<DD>If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. Otherwise this method should return null.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the patterns which make up this union pattern or null
+         if this pattern is not a union pattern</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchType()"><!-- --></A><H3>
+getMatchType</H3>
+<PRE>
+public short <B>getMatchType</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the type of node the pattern matches which by default should
+         return ANY_NODE if it can match any kind of node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchesNodeName()"><!-- --></A><H3>
+getMatchesNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMatchesNodeName</B>()</PRE>
+<DL>
+<DD>For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ This allows a more efficient rule matching algorithm to be performed,
+ rather than a brute force approach of evaluating every pattern for a
+ given Node.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the element or attribute this pattern matches or null
+         if this pattern matches any or more than one name.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Pattern.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Pattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/Rule.html b/docs/apidocs/org/dom4j/rule/Rule.html
new file mode 100644
index 0000000..68f5a44
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/Rule.html
@@ -0,0 +1,822 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Rule (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.Rule class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Rule (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Rule.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Rule.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule</FONT>
+<BR>
+Class Rule</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.rule.Rule</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>Rule</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A></DL>
+
+<P>
+<p>
+ <code>Rule</code> matches against DOM4J Node so that some action can be
+ performed such as in the XSLT processing model.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#Rule()">Rule</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Pattern)">Rule</A></B>(<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)">Rule</A></B>(<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+     <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Rule, org.dom4j.rule.Pattern)">Rule</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> that,
+     <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</CODE>
+
+<BR>
+          Constructs a new Rule with the same instance data as the given rule but a
+ different pattern.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#compareTo(java.lang.Object)">compareTo</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> that)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#compareTo(org.dom4j.rule.Rule)">compareTo</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> that)</CODE>
+
+<BR>
+          Compares two rules in XSLT processing model order assuming that the modes
+ are equal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> that)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#getAction()">getAction</A></B>()</CODE>
+
+<BR>
+          Getter for property action.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#getAppearenceCount()">getAppearenceCount</A></B>()</CODE>
+
+<BR>
+          Getter for property appearenceCount.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#getImportPrecedence()">getImportPrecedence</A></B>()</CODE>
+
+<BR>
+          Getter for property importPrecedence.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#getMatchesNodeName()">getMatchesNodeName</A></B>()</CODE>
+
+<BR>
+          For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#getMatchType()">getMatchType</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#getMode()">getMode</A></B>()</CODE>
+
+<BR>
+          Getter for property mode.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#getPattern()">getPattern</A></B>()</CODE>
+
+<BR>
+          Getter for property pattern.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> double</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#getPriority()">getPriority</A></B>()</CODE>
+
+<BR>
+          Getter for property priority.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#getUnionRules()">getUnionRules</A></B>()</CODE>
+
+<BR>
+          If this rule contains a union pattern then this method should return an
+ array of Rules which describe the union rule, which should contain more
+ than one rule. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#setAction(org.dom4j.rule.Action)">setAction</A></B>(<A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+          Setter for property action.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#setAppearenceCount(int)">setAppearenceCount</A></B>(int appearenceCount)</CODE>
+
+<BR>
+          Setter for property appearenceCount.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#setImportPrecedence(int)">setImportPrecedence</A></B>(int importPrecedence)</CODE>
+
+<BR>
+          Setter for property importPrecedence.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#setMode(java.lang.String)">setMode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</CODE>
+
+<BR>
+          Setter for property mode.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#setPattern(org.dom4j.rule.Pattern)">setPattern</A></B>(<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</CODE>
+
+<BR>
+          Setter for property pattern.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#setPriority(double)">setPriority</A></B>(double priority)</CODE>
+
+<BR>
+          Setter for property priority.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Rule.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()" titl [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="Rule()"><!-- --></A><H3>
+Rule</H3>
+<PRE>
+public <B>Rule</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="Rule(org.dom4j.rule.Pattern)"><!-- --></A><H3>
+Rule</H3>
+<PRE>
+public <B>Rule</B>(<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="Rule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)"><!-- --></A><H3>
+Rule</H3>
+<PRE>
+public <B>Rule</B>(<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+            <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="Rule(org.dom4j.rule.Rule, org.dom4j.rule.Pattern)"><!-- --></A><H3>
+Rule</H3>
+<PRE>
+public <B>Rule</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> that,
+            <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</PRE>
+<DL>
+<DD>Constructs a new Rule with the same instance data as the given rule but a
+ different pattern.
+<P>
+<DT><B>Parameters:</B><DD><CODE>that</CODE> - DOCUMENT ME!<DD><CODE>pattern</CODE> - DOCUMENT ME!</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> that)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(java.lang.Object)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> that)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Comparable.html#compareTo(java.lang.Object)" title="class or interface in java.lang">compareTo</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareTo(org.dom4j.rule.Rule)"><!-- --></A><H3>
+compareTo</H3>
+<PRE>
+public int <B>compareTo</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> that)</PRE>
+<DL>
+<DD>Compares two rules in XSLT processing model order assuming that the modes
+ are equal.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>that</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="matches(org.dom4j.Node)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public final boolean <B>matches</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the pattern matches the given DOM4J node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUnionRules()"><!-- --></A><H3>
+getUnionRules</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>[] <B>getUnionRules</B>()</PRE>
+<DL>
+<DD>If this rule contains a union pattern then this method should return an
+ array of Rules which describe the union rule, which should contain more
+ than one rule. Otherwise this method should return null.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the rules which make up this union rule or null if
+         this rule is not a union rule</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchType()"><!-- --></A><H3>
+getMatchType</H3>
+<PRE>
+public final short <B>getMatchType</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the type of node the pattern matches which by default should
+         return ANY_NODE if it can match any kind of node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchesNodeName()"><!-- --></A><H3>
+getMatchesNodeName</H3>
+<PRE>
+public final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMatchesNodeName</B>()</PRE>
+<DL>
+<DD>For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ This allows a more efficient rule matching algorithm to be performed,
+ rather than a brute force approach of evaluating every pattern for a
+ given Node.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the element or attribute this pattern matches or null
+         if this pattern matches any or more than one name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMode()"><!-- --></A><H3>
+getMode</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMode</B>()</PRE>
+<DL>
+<DD>Getter for property mode.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property mode.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMode(java.lang.String)"><!-- --></A><H3>
+setMode</H3>
+<PRE>
+public void <B>setMode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</PRE>
+<DL>
+<DD>Setter for property mode.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>mode</CODE> - New value of property mode.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getImportPrecedence()"><!-- --></A><H3>
+getImportPrecedence</H3>
+<PRE>
+public int <B>getImportPrecedence</B>()</PRE>
+<DL>
+<DD>Getter for property importPrecedence.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property importPrecedence.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setImportPrecedence(int)"><!-- --></A><H3>
+setImportPrecedence</H3>
+<PRE>
+public void <B>setImportPrecedence</B>(int importPrecedence)</PRE>
+<DL>
+<DD>Setter for property importPrecedence.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>importPrecedence</CODE> - New value of property importPrecedence.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPriority()"><!-- --></A><H3>
+getPriority</H3>
+<PRE>
+public double <B>getPriority</B>()</PRE>
+<DL>
+<DD>Getter for property priority.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property priority.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPriority(double)"><!-- --></A><H3>
+setPriority</H3>
+<PRE>
+public void <B>setPriority</B>(double priority)</PRE>
+<DL>
+<DD>Setter for property priority.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>priority</CODE> - New value of property priority.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAppearenceCount()"><!-- --></A><H3>
+getAppearenceCount</H3>
+<PRE>
+public int <B>getAppearenceCount</B>()</PRE>
+<DL>
+<DD>Getter for property appearenceCount.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property appearenceCount.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAppearenceCount(int)"><!-- --></A><H3>
+setAppearenceCount</H3>
+<PRE>
+public void <B>setAppearenceCount</B>(int appearenceCount)</PRE>
+<DL>
+<DD>Setter for property appearenceCount.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>appearenceCount</CODE> - New value of property appearenceCount.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPattern()"><!-- --></A><H3>
+getPattern</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> <B>getPattern</B>()</PRE>
+<DL>
+<DD>Getter for property pattern.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property pattern.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPattern(org.dom4j.rule.Pattern)"><!-- --></A><H3>
+setPattern</H3>
+<PRE>
+public void <B>setPattern</B>(<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</PRE>
+<DL>
+<DD>Setter for property pattern.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pattern</CODE> - New value of property pattern.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAction()"><!-- --></A><H3>
+getAction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> <B>getAction</B>()</PRE>
+<DL>
+<DD>Getter for property action.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property action.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAction(org.dom4j.rule.Action)"><!-- --></A><H3>
+setAction</H3>
+<PRE>
+public void <B>setAction</B>(<A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</PRE>
+<DL>
+<DD>Setter for property action.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>action</CODE> - New value of property action.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Rule.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Rule.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/RuleManager.html b/docs/apidocs/org/dom4j/rule/RuleManager.html
new file mode 100644
index 0000000..156384d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/RuleManager.html
@@ -0,0 +1,488 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+RuleManager (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.RuleManager class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="RuleManager (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RuleManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="RuleManager.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule</FONT>
+<BR>
+Class RuleManager</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.rule.RuleManager</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>RuleManager</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>RuleManager</code> manages a set of rules such that a rule can be
+ found for a given DOM4J Node using the XSLT processing model.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#RuleManager()">RuleManager</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#addDefaultRule(org.dom4j.rule.Mode, org.dom4j.rule.Pattern, org.dom4j.rule.Action)">addDefaultRule</A></B>(<A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> mode,
+               <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+               <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#addDefaultRules(org.dom4j.rule.Mode)">addDefaultRules</A></B>(<A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> mode)</CODE>
+
+<BR>
+          Adds the default stylesheet rules to the given <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><CODE>Mode</CODE></A>instance</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#addRule(org.dom4j.rule.Rule)">addRule</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#createDefaultRule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)">createDefaultRule</A></B>(<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+                  <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#createMode()">createMode</A></B>()</CODE>
+
+<BR>
+          A factory method to return a new <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><CODE>Mode</CODE></A>instance which should add
+ the necessary default rules</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#getMatchingRule(java.lang.String, org.dom4j.Node)">getMatchingRule</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> modeName,
+                <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Performs an XSLT processing model match for the rule which matches the
+ given Node the best.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#getMode(java.lang.String)">getMode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> modeName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#getValueOfAction()">getValueOfAction</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#removeRule(org.dom4j.rule.Rule)">removeRule</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleManager.html#setValueOfAction(org.dom4j.rule.Action)">setValueOfAction</A></B>(<A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> valueOfAction)</CODE>
+
+<BR>
+          Sets the default value-of action which is used in the default rules for
+ the pattern "text()|@"</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="RuleManager()"><!-- --></A><H3>
+RuleManager</H3>
+<PRE>
+public <B>RuleManager</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getMode(java.lang.String)"><!-- --></A><H3>
+getMode</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> <B>getMode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> modeName)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>modeName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the Mode instance for the given mode name. If one does not exist
+         then it will be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addRule(org.dom4j.rule.Rule)"><!-- --></A><H3>
+addRule</H3>
+<PRE>
+public void <B>addRule</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeRule(org.dom4j.rule.Rule)"><!-- --></A><H3>
+removeRule</H3>
+<PRE>
+public void <B>removeRule</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchingRule(java.lang.String, org.dom4j.Node)"><!-- --></A><H3>
+getMatchingRule</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> <B>getMatchingRule</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> modeName,
+                            <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Performs an XSLT processing model match for the rule which matches the
+ given Node the best.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>modeName</CODE> - is the name of the mode associated with the rule if any<DD><CODE>node</CODE> - is the DOM4J Node to match against
+<DT><B>Returns:</B><DD>the matching Rule or no rule if none matched</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValueOfAction()"><!-- --></A><H3>
+getValueOfAction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> <B>getValueOfAction</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default value-of action which is used in the default rules
+         for the pattern "text()|@"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValueOfAction(org.dom4j.rule.Action)"><!-- --></A><H3>
+setValueOfAction</H3>
+<PRE>
+public void <B>setValueOfAction</B>(<A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> valueOfAction)</PRE>
+<DL>
+<DD>Sets the default value-of action which is used in the default rules for
+ the pattern "text()|@"
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>valueOfAction</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createMode()"><!-- --></A><H3>
+createMode</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> <B>createMode</B>()</PRE>
+<DL>
+<DD>A factory method to return a new <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><CODE>Mode</CODE></A>instance which should add
+ the necessary default rules
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addDefaultRules(org.dom4j.rule.Mode)"><!-- --></A><H3>
+addDefaultRules</H3>
+<PRE>
+protected void <B>addDefaultRules</B>(<A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> mode)</PRE>
+<DL>
+<DD>Adds the default stylesheet rules to the given <A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><CODE>Mode</CODE></A>instance
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>mode</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addDefaultRule(org.dom4j.rule.Mode, org.dom4j.rule.Pattern, org.dom4j.rule.Action)"><!-- --></A><H3>
+addDefaultRule</H3>
+<PRE>
+protected void <B>addDefaultRule</B>(<A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> mode,
+                              <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+                              <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDefaultRule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)"><!-- --></A><H3>
+createDefaultRule</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> <B>createDefaultRule</B>(<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+                                 <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RuleManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="RuleManager.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/RuleSet.html b/docs/apidocs/org/dom4j/rule/RuleSet.html
new file mode 100644
index 0000000..2d4234f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/RuleSet.html
@@ -0,0 +1,374 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+RuleSet (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.RuleSet class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="RuleSet (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RuleSet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="RuleSet.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule</FONT>
+<BR>
+Class RuleSet</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.rule.RuleSet</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>RuleSet</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>RuleSet</code> manages a set of rules which are sorted in order of
+ relevance according to the XSLT defined conflict resolution policy. This
+ makes finding the correct rule for a DOM4J Node using the XSLT processing
+ model efficient as the rules can be evaluated in order of priority.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleSet.html#RuleSet()">RuleSet</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleSet.html#addAll(org.dom4j.rule.RuleSet)">addAll</A></B>(<A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A> that)</CODE>
+
+<BR>
+          Adds all the rules to this RuleSet from the given other rule set.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleSet.html#addRule(org.dom4j.rule.Rule)">addRule</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleSet.html#getMatchingRule(org.dom4j.Node)">getMatchingRule</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Performs an XSLT processing model match for the rule which matches the
+ given Node the best.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleSet.html#getRuleArray()">getRuleArray</A></B>()</CODE>
+
+<BR>
+          Returns an array of sorted rules.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleSet.html#removeRule(org.dom4j.rule.Rule)">removeRule</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/RuleSet.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="RuleSet()"><!-- --></A><H3>
+RuleSet</H3>
+<PRE>
+public <B>RuleSet</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchingRule(org.dom4j.Node)"><!-- --></A><H3>
+getMatchingRule</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> <B>getMatchingRule</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Performs an XSLT processing model match for the rule which matches the
+ given Node the best.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the DOM4J Node to match against
+<DT><B>Returns:</B><DD>the matching Rule or no rule if none matched</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addRule(org.dom4j.rule.Rule)"><!-- --></A><H3>
+addRule</H3>
+<PRE>
+public void <B>addRule</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeRule(org.dom4j.rule.Rule)"><!-- --></A><H3>
+removeRule</H3>
+<PRE>
+public void <B>removeRule</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAll(org.dom4j.rule.RuleSet)"><!-- --></A><H3>
+addAll</H3>
+<PRE>
+public void <B>addAll</B>(<A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A> that)</PRE>
+<DL>
+<DD>Adds all the rules to this RuleSet from the given other rule set.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>that</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRuleArray()"><!-- --></A><H3>
+getRuleArray</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>[] <B>getRuleArray</B>()</PRE>
+<DL>
+<DD>Returns an array of sorted rules.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the rules as a sorted array in ascending precendence so that the
+         rules at the end of the array should be used first</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RuleSet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="RuleSet.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/Stylesheet.html b/docs/apidocs/org/dom4j/rule/Stylesheet.html
new file mode 100644
index 0000000..fdc197e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/Stylesheet.html
@@ -0,0 +1,719 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Stylesheet (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.Stylesheet class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Stylesheet (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Stylesheet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Stylesheet.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule</FONT>
+<BR>
+Class Stylesheet</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.rule.Stylesheet</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>Stylesheet</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>Stylesheet</code> implements an XSLT stylesheet such that rules can
+ be added to the stylesheet and the stylesheet can be applied to a source
+ document or node.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.14 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#Stylesheet()">Stylesheet</A></B>()</CODE>
+
+<BR>
+          Creates a new empty stylesheet.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#addRule(org.dom4j.rule.Rule)">addRule</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+          Add a rule to this stylesheet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object)">applyTemplates</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input)</CODE>
+
+<BR>
+          If input is a <code>Node</code>, this will processes all of the
+ children of that node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, java.lang.String)">applyTemplates</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</CODE>
+
+<BR>
+          Processes the input object in the given mode. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.dom4j.XPath)">applyTemplates</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+               <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath)</CODE>
+
+<BR>
+          Processes the result of the xpath expression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath)">applyTemplates</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+               org.jaxen.XPath xpath)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>Use <A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath)"><CODE>applyTemplates(Object, XPath)</CODE></A>instead.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.dom4j.XPath, java.lang.String)">applyTemplates</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+               <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</CODE>
+
+<BR>
+          Processes the result of the xpath expression in the given mode. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath, java.lang.String)">applyTemplates</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+               org.jaxen.XPath xpath,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>Use <A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath, java.lang.String)"><CODE>applyTemplates(Object, XPath, String)</CODE></A>
+             instead.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#getModeName()">getModeName</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#getValueOfAction()">getValueOfAction</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#removeRule(org.dom4j.rule.Rule)">removeRule</A></B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+          Removes the specified rule from this stylesheet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#run(java.util.List)">run</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#run(java.util.List, java.lang.String)">run</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#run(org.dom4j.Node)">run</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#run(org.dom4j.Node, java.lang.String)">run</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#run(java.lang.Object)">run</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input)</CODE>
+
+<BR>
+          Runs this stylesheet on the given input which should be either a Node or
+ a List of Node objects.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#run(java.lang.Object, java.lang.String)">run</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#setModeName(java.lang.String)">setModeName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> modeName)</CODE>
+
+<BR>
+          Sets the name of the mode that the stylesheet uses by default.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/rule/Stylesheet.html#setValueOfAction(org.dom4j.rule.Action)">setValueOfAction</A></B>(<A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> valueOfAction)</CODE>
+
+<BR>
+          Sets the default value-of action which is used in the default rules for
+ the pattern "text()|@"</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="Stylesheet()"><!-- --></A><H3>
+Stylesheet</H3>
+<PRE>
+public <B>Stylesheet</B>()</PRE>
+<DL>
+<DD>Creates a new empty stylesheet.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="addRule(org.dom4j.rule.Rule)"><!-- --></A><H3>
+addRule</H3>
+<PRE>
+public void <B>addRule</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD>Add a rule to this stylesheet.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>rule</CODE> - the rule to add</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeRule(org.dom4j.rule.Rule)"><!-- --></A><H3>
+removeRule</H3>
+<PRE>
+public void <B>removeRule</B>(<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</PRE>
+<DL>
+<DD>Removes the specified rule from this stylesheet.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>rule</CODE> - the rule to remove</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run(java.lang.Object)"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input)
+         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Runs this stylesheet on the given input which should be either a Node or
+ a List of Node objects.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>input</CODE> - the input to run this stylesheet on
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if something goes wrong</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run(java.lang.Object, java.lang.String)"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)
+         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run(java.util.List)"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list)
+         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run(java.util.List, java.lang.String)"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)
+         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run(org.dom4j.Node)"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)
+         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run(org.dom4j.Node, java.lang.String)"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)
+         throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="applyTemplates(java.lang.Object, org.dom4j.XPath)"><!-- --></A><H3>
+applyTemplates</H3>
+<PRE>
+public void <B>applyTemplates</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+                           <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Processes the result of the xpath expression. The xpath expression is
+ evaluated against the provided input object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>input</CODE> - the input object<DD><CODE>xpath</CODE> - the xpath expression
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if something goes wrong</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="applyTemplates(java.lang.Object, org.dom4j.XPath, java.lang.String)"><!-- --></A><H3>
+applyTemplates</H3>
+<PRE>
+public void <B>applyTemplates</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+                           <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Processes the result of the xpath expression in the given mode. The xpath
+ expression is evaluated against the provided input object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>input</CODE> - the input object<DD><CODE>xpath</CODE> - the xpath expression<DD><CODE>mode</CODE> - the mode
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if something goes wrong</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="applyTemplates(java.lang.Object, org.jaxen.XPath)"><!-- --></A><H3>
+applyTemplates</H3>
+<PRE>
+public void <B>applyTemplates</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+                           org.jaxen.XPath xpath)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>Use <A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath)"><CODE>applyTemplates(Object, XPath)</CODE></A>instead.</I>
+<P>
+<DD>Processes the result of the xpath expression. The xpath expression is
+ evaluated against the provided input object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>input</CODE> - the input object<DD><CODE>xpath</CODE> - the xpath expression
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if something goes wrong</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="applyTemplates(java.lang.Object, org.jaxen.XPath, java.lang.String)"><!-- --></A><H3>
+applyTemplates</H3>
+<PRE>
+public void <B>applyTemplates</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+                           org.jaxen.XPath xpath,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>Use <A HREF="../../../org/dom4j/rule/Stylesheet.html#applyTemplates(java.lang.Object, org.jaxen.XPath, java.lang.String)"><CODE>applyTemplates(Object, XPath, String)</CODE></A>
+             instead.</I>
+<P>
+<DD>Processes the result of the xpath expression in the given mode. The xpath
+ expression is evaluated against the provided input object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>input</CODE> - the input object<DD><CODE>xpath</CODE> - the xpath expression<DD><CODE>mode</CODE> - the mode
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if something goes wrong</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="applyTemplates(java.lang.Object)"><!-- --></A><H3>
+applyTemplates</H3>
+<PRE>
+public void <B>applyTemplates</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>If input is a <code>Node</code>, this will processes all of the
+ children of that node. If input is a <code>List</code> of
+ <code>Nodes</code>s, these nodes will be iterated and all children of
+ each node will be processed.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>input</CODE> - the input object, this can either be a <code>Node</code> or
+            a <code>List</code>
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if something goes wrong</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="applyTemplates(java.lang.Object, java.lang.String)"><!-- --></A><H3>
+applyTemplates</H3>
+<PRE>
+public void <B>applyTemplates</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> input,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> mode)
+                    throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Processes the input object in the given mode. If input is a
+ <code>Node</code>, this will processes all of the children of that
+ node. If input is a <code>List</code> of <code>Nodes</code>s, these
+ nodes will be iterated and all children of each node will be processed.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>input</CODE> - the input object, this can either be a <code>Node</code> or
+            a <code>List</code><DD><CODE>mode</CODE> - the mode
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A></CODE> - if something goes wrong</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getModeName()"><!-- --></A><H3>
+getModeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getModeName</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the mode the stylesheet uses by default</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setModeName(java.lang.String)"><!-- --></A><H3>
+setModeName</H3>
+<PRE>
+public void <B>setModeName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> modeName)</PRE>
+<DL>
+<DD>Sets the name of the mode that the stylesheet uses by default.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>modeName</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValueOfAction()"><!-- --></A><H3>
+getValueOfAction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> <B>getValueOfAction</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default value-of action which is used in the default rules
+         for the pattern "text()|@"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValueOfAction(org.dom4j.rule.Action)"><!-- --></A><H3>
+setValueOfAction</H3>
+<PRE>
+public void <B>setValueOfAction</B>(<A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> valueOfAction)</PRE>
+<DL>
+<DD>Sets the default value-of action which is used in the default rules for
+ the pattern "text()|@"
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>valueOfAction</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Stylesheet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Stylesheet.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/class-use/Action.html b/docs/apidocs/org/dom4j/rule/class-use/Action.html
new file mode 100644
index 0000000..8d6eb4e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/class-use/Action.html
@@ -0,0 +1,278 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.rule.Action (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.rule.Action (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Action.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.rule.Action</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> that implement <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A></B></CODE>
+
+<BR>
+          
+ <code>NullAction</code> represents an empty action that does nothing.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> that return <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></CODE></FONT></TD>
+<TD><CODE><B>Stylesheet.</B><B><A HREF="../../../../org/dom4j/rule/Stylesheet.html#getValueOfAction()">getValueOfAction</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#getValueOfAction()">getValueOfAction</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></CODE></FONT></TD>
+<TD><CODE><B>Rule.</B><B><A HREF="../../../../org/dom4j/rule/Rule.html#getAction()">getAction</A></B>()</CODE>
+
+<BR>
+          Getter for property action.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Stylesheet.</B><B><A HREF="../../../../org/dom4j/rule/Stylesheet.html#setValueOfAction(org.dom4j.rule.Action)">setValueOfAction</A></B>(<A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> valueOfAction)</CODE>
+
+<BR>
+          Sets the default value-of action which is used in the default rules for
+ the pattern "text()|@"</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#setValueOfAction(org.dom4j.rule.Action)">setValueOfAction</A></B>(<A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> valueOfAction)</CODE>
+
+<BR>
+          Sets the default value-of action which is used in the default rules for
+ the pattern "text()|@"</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#addDefaultRule(org.dom4j.rule.Mode, org.dom4j.rule.Pattern, org.dom4j.rule.Action)">addDefaultRule</A></B>(<A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> mode,
+               <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+               <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#createDefaultRule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)">createDefaultRule</A></B>(<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+                  <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Rule.</B><B><A HREF="../../../../org/dom4j/rule/Rule.html#setAction(org.dom4j.rule.Action)">setAction</A></B>(<A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+          Setter for property action.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)">Rule</A></B>(<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+     <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Action.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/class-use/Mode.html b/docs/apidocs/org/dom4j/rule/class-use/Mode.html
new file mode 100644
index 0000000..b1f5fbc
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/class-use/Mode.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.rule.Mode (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.rule.Mode (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Mode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.rule.Mode</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> that return <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A></CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#getMode(java.lang.String)">getMode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> modeName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A></CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#createMode()">createMode</A></B>()</CODE>
+
+<BR>
+          A factory method to return a new <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><CODE>Mode</CODE></A>instance which should add
+ the necessary default rules</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#addDefaultRules(org.dom4j.rule.Mode)">addDefaultRules</A></B>(<A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> mode)</CODE>
+
+<BR>
+          Adds the default stylesheet rules to the given <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><CODE>Mode</CODE></A>instance</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#addDefaultRule(org.dom4j.rule.Mode, org.dom4j.rule.Pattern, org.dom4j.rule.Action)">addDefaultRule</A></B>(<A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> mode,
+               <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+               <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Mode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/class-use/NullAction.html b/docs/apidocs/org/dom4j/rule/class-use/NullAction.html
new file mode 100644
index 0000000..b354f0e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/class-use/NullAction.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.rule.NullAction (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.rule.NullAction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NullAction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.rule.NullAction</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A> in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> declared as <A HREF="../../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A></CODE></FONT></TD>
+<TD><CODE><B>NullAction.</B><B><A HREF="../../../../org/dom4j/rule/NullAction.html#SINGLETON">SINGLETON</A></B></CODE>
+
+<BR>
+          Singleton instance</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NullAction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/class-use/Pattern.html b/docs/apidocs/org/dom4j/rule/class-use/Pattern.html
new file mode 100644
index 0000000..9f0109c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/class-use/Pattern.html
@@ -0,0 +1,473 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.rule.Pattern (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.rule.Pattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Pattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.rule.Pattern</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule.pattern"><B>org.dom4j.rule.pattern</B></A></TD>
+<TD>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> in <A HREF="../../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentHelper.</B><B><A HREF="../../../../org/dom4j/DocumentHelper.html#createPattern(java.lang.String)">createPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathPattern)</CODE>
+
+<BR>
+          
+ <code>createPattern</code> parses the given XPath expression to create
+ an XSLT style <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A>instance which can then be used in an XSLT
+ processing model.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../../org/dom4j/DocumentFactory.html#createPattern(java.lang.String)">createPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathPattern)</CODE>
+
+<BR>
+          
+ <code>createPattern</code> parses the given XPath expression to create
+ an XSLT style <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A>instance which can then be used in an XSLT
+ processing model.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> that return <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B>Rule.</B><B><A HREF="../../../../org/dom4j/rule/Rule.html#getPattern()">getPattern</A></B>()</CODE>
+
+<BR>
+          Getter for property pattern.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[]</CODE></FONT></TD>
+<TD><CODE><B>Pattern.</B><B><A HREF="../../../../org/dom4j/rule/Pattern.html#getUnionPatterns()">getUnionPatterns</A></B>()</CODE>
+
+<BR>
+          If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#addDefaultRule(org.dom4j.rule.Mode, org.dom4j.rule.Pattern, org.dom4j.rule.Action)">addDefaultRule</A></B>(<A HREF="../../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A> mode,
+               <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+               <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#createDefaultRule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)">createDefaultRule</A></B>(<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+                  <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Rule.</B><B><A HREF="../../../../org/dom4j/rule/Rule.html#setPattern(org.dom4j.rule.Pattern)">setPattern</A></B>(<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</CODE>
+
+<BR>
+          Setter for property pattern.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Pattern)">Rule</A></B>(<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)">Rule</A></B>(<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+     <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Rule, org.dom4j.rule.Pattern)">Rule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> that,
+     <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</CODE>
+
+<BR>
+          Constructs a new Rule with the same instance data as the given rule but a
+ different pattern.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule.pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> in <A HREF="../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A> that implement <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultPattern</code> a default implementation of Pattern which can
+ take any XPath implementation or NodeFilter for defining the pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></B></CODE>
+
+<BR>
+          
+ <code>NodeTypePattern</code> implements a Pattern which matches any node of
+ the given node type.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A> that return <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[]</CODE></FONT></TD>
+<TD><CODE><B>NodeTypePattern.</B><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#getUnionPatterns()">getUnionPatterns</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[]</CODE></FONT></TD>
+<TD><CODE><B>DefaultPattern.</B><B><A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#getUnionPatterns()">getUnionPatterns</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractNode.</B><B><A HREF="../../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> patternText)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that return <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B>ProxyDocumentFactory.</B><B><A HREF="../../../../org/dom4j/util/ProxyDocumentFactory.html#createPattern(java.lang.String)">createPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathPattern)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> in <A HREF="../../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> that implement <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A></B></CODE>
+
+<BR>
+          
+ <code>XPathPattern</code> is an implementation of Pattern which uses an
+ XPath xpath.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> that return <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[]</CODE></FONT></TD>
+<TD><CODE><B>XPathPattern.</B><B><A HREF="../../../../org/dom4j/xpath/XPathPattern.html#getUnionPatterns()">getUnionPatterns</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Pattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/class-use/Rule.html b/docs/apidocs/org/dom4j/rule/class-use/Rule.html
new file mode 100644
index 0000000..419bb92
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/class-use/Rule.html
@@ -0,0 +1,340 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.rule.Rule (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.rule.Rule (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Rule.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.rule.Rule</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> that return <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B>RuleSet.</B><B><A HREF="../../../../org/dom4j/rule/RuleSet.html#getMatchingRule(org.dom4j.Node)">getMatchingRule</A></B>(<A HREF="../../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Performs an XSLT processing model match for the rule which matches the
+ given Node the best.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>[]</CODE></FONT></TD>
+<TD><CODE><B>RuleSet.</B><B><A HREF="../../../../org/dom4j/rule/RuleSet.html#getRuleArray()">getRuleArray</A></B>()</CODE>
+
+<BR>
+          Returns an array of sorted rules.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#getMatchingRule(java.lang.String, org.dom4j.Node)">getMatchingRule</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> modeName,
+                <A HREF="../../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Performs an XSLT processing model match for the rule which matches the
+ given Node the best.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#createDefaultRule(org.dom4j.rule.Pattern, org.dom4j.rule.Action)">createDefaultRule</A></B>(<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern,
+                  <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A> action)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A>[]</CODE></FONT></TD>
+<TD><CODE><B>Rule.</B><B><A HREF="../../../../org/dom4j/rule/Rule.html#getUnionRules()">getUnionRules</A></B>()</CODE>
+
+<BR>
+          If this rule contains a union pattern then this method should return an
+ array of Rules which describe the union rule, which should contain more
+ than one rule. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../../org/dom4j/rule/Mode.html#getMatchingRule(org.dom4j.Node)">getMatchingRule</A></B>(<A HREF="../../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Performs an XSLT processing model match for the rule which matches the
+ given Node the best.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Stylesheet.</B><B><A HREF="../../../../org/dom4j/rule/Stylesheet.html#addRule(org.dom4j.rule.Rule)">addRule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+          Add a rule to this stylesheet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Stylesheet.</B><B><A HREF="../../../../org/dom4j/rule/Stylesheet.html#removeRule(org.dom4j.rule.Rule)">removeRule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+          Removes the specified rule from this stylesheet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>RuleSet.</B><B><A HREF="../../../../org/dom4j/rule/RuleSet.html#addRule(org.dom4j.rule.Rule)">addRule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>RuleSet.</B><B><A HREF="../../../../org/dom4j/rule/RuleSet.html#removeRule(org.dom4j.rule.Rule)">removeRule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#addRule(org.dom4j.rule.Rule)">addRule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>RuleManager.</B><B><A HREF="../../../../org/dom4j/rule/RuleManager.html#removeRule(org.dom4j.rule.Rule)">removeRule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B>Rule.</B><B><A HREF="../../../../org/dom4j/rule/Rule.html#compareTo(org.dom4j.rule.Rule)">compareTo</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> that)</CODE>
+
+<BR>
+          Compares two rules in XSLT processing model order assuming that the modes
+ are equal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../../org/dom4j/rule/Mode.html#addRule(org.dom4j.rule.Rule)">addRule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../../org/dom4j/rule/Mode.html#removeRule(org.dom4j.rule.Rule)">removeRule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../../org/dom4j/rule/Mode.html#addToNameMap(java.util.Map, java.lang.String, org.dom4j.rule.Rule)">addToNameMap</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+          Adds the Rule to a RuleSet for the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../../org/dom4j/rule/Mode.html#removeFromNameMap(java.util.Map, java.lang.String, org.dom4j.rule.Rule)">removeFromNameMap</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                  <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> rule)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/Rule.html#Rule(org.dom4j.rule.Rule, org.dom4j.rule.Pattern)">Rule</A></B>(<A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A> that,
+     <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> pattern)</CODE>
+
+<BR>
+          Constructs a new Rule with the same instance data as the given rule but a
+ different pattern.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Rule.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/class-use/RuleManager.html b/docs/apidocs/org/dom4j/rule/class-use/RuleManager.html
new file mode 100644
index 0000000..7a9ab5a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/class-use/RuleManager.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.rule.RuleManager (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.rule.RuleManager (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="RuleManager.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.rule.RuleManager</B></H2>
+</CENTER>
+No usage of org.dom4j.rule.RuleManager
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="RuleManager.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/class-use/RuleSet.html b/docs/apidocs/org/dom4j/rule/class-use/RuleSet.html
new file mode 100644
index 0000000..9a98005
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/class-use/RuleSet.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.rule.RuleSet (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.rule.RuleSet (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="RuleSet.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.rule.RuleSet</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A> in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> that return <A HREF="../../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A></CODE></FONT></TD>
+<TD><CODE><B>Mode.</B><B><A HREF="../../../../org/dom4j/rule/Mode.html#getRuleSet(int)">getRuleSet</A></B>(int matchType)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> with parameters of type <A HREF="../../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>RuleSet.</B><B><A HREF="../../../../org/dom4j/rule/RuleSet.html#addAll(org.dom4j.rule.RuleSet)">addAll</A></B>(<A HREF="../../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A> that)</CODE>
+
+<BR>
+          Adds all the rules to this RuleSet from the given other rule set.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="RuleSet.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/class-use/Stylesheet.html b/docs/apidocs/org/dom4j/rule/class-use/Stylesheet.html
new file mode 100644
index 0000000..96b9231
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/class-use/Stylesheet.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.rule.Stylesheet (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.rule.Stylesheet (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Stylesheet.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.rule.Stylesheet</B></H2>
+</CENTER>
+No usage of org.dom4j.rule.Stylesheet
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="Stylesheet.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/package-frame.html b/docs/apidocs/org/dom4j/rule/package-frame.html
new file mode 100644
index 0000000..0254eed
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/package-frame.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.rule (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/rule/package-summary.html" target="classFrame">org.dom4j.rule</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Action.html" title="interface in org.dom4j.rule" target="classFrame"><I>Action</I></A>
+<BR>
+<A HREF="Pattern.html" title="interface in org.dom4j.rule" target="classFrame"><I>Pattern</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Mode.html" title="class in org.dom4j.rule" target="classFrame">Mode</A>
+<BR>
+<A HREF="NullAction.html" title="class in org.dom4j.rule" target="classFrame">NullAction</A>
+<BR>
+<A HREF="Rule.html" title="class in org.dom4j.rule" target="classFrame">Rule</A>
+<BR>
+<A HREF="RuleManager.html" title="class in org.dom4j.rule" target="classFrame">RuleManager</A>
+<BR>
+<A HREF="RuleSet.html" title="class in org.dom4j.rule" target="classFrame">RuleSet</A>
+<BR>
+<A HREF="Stylesheet.html" title="class in org.dom4j.rule" target="classFrame">Stylesheet</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/package-summary.html b/docs/apidocs/org/dom4j/rule/package-summary.html
new file mode 100644
index 0000000..8f110f6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/package-summary.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.rule (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.rule (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/rule/pattern/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.rule
+</H2>
+A <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A></B></TD>
+<TD>
+ <code>Action</code> represents some default action which should occur when
+ a rule matches a node in the XSLT processing model.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></B></TD>
+<TD>
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule">Mode</A></B></TD>
+<TD>
+ <code>Mode</code> manages a number of RuleSet instances for the mode in a
+ stylesheet. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule">NullAction</A></B></TD>
+<TD>
+ <code>NullAction</code> represents an empty action that does nothing.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule">Rule</A></B></TD>
+<TD>
+ <code>Rule</code> matches against DOM4J Node so that some action can be
+ performed such as in the XSLT processing model.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule">RuleManager</A></B></TD>
+<TD>
+ <code>RuleManager</code> manages a set of rules such that a rule can be
+ found for a given DOM4J Node using the XSLT processing model.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule">RuleSet</A></B></TD>
+<TD>
+ <code>RuleSet</code> manages a set of rules which are sorted in order of
+ relevance according to the XSLT defined conflict resolution policy. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule">Stylesheet</A></B></TD>
+<TD>
+ <code>Stylesheet</code> implements an XSLT stylesheet such that rules can
+ be added to the stylesheet and the stylesheet can be applied to a source
+ document or node.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.rule Description
+</H2>
+
+<P>
+<p>A <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+This package can be used as a the base for a full XSLT implementation
+or alternatives, such as a JSP custom tag implementation of XSLT.
+</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/rule/pattern/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/package-tree.html b/docs/apidocs/org/dom4j/rule/package-tree.html
new file mode 100644
index 0000000..6acd721
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/package-tree.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.rule Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.rule Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/rule/pattern/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.rule
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.rule.<A HREF="../../../org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><B>Mode</B></A><LI TYPE="circle">class org.dom4j.rule.<A HREF="../../../org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule"><B>NullAction</B></A> (implements org.dom4j.rule.<A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A>)
+<LI TYPE="circle">class org.dom4j.rule.<A HREF="../../../org/dom4j/rule/Rule.html" title="class in org.dom4j.rule"><B>Rule</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>)
+<LI TYPE="circle">class org.dom4j.rule.<A HREF="../../../org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule"><B>RuleManager</B></A><LI TYPE="circle">class org.dom4j.rule.<A HREF="../../../org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule"><B>RuleSet</B></A><LI TYPE="circle">class org.dom4j.rule.<A HREF="../../../org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule"><B>Stylesheet</B></A></UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface org.dom4j.rule.<A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><B>Action</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j"><B>NodeFilter</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.rule.<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><B>Pattern</B></A></UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/jaxb/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/rule/pattern/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/package-use.html b/docs/apidocs/org/dom4j/rule/package-use.html
new file mode 100644
index 0000000..c6d19b6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/package-use.html
@@ -0,0 +1,326 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.rule (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.rule (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.rule</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule"><B>org.dom4j.rule</B></A></TD>
+<TD>A <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="../../../org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule.pattern"><B>org.dom4j.rule.pattern</B></A></TD>
+<TD>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> used by <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/Pattern.html#org.dom4j"><B>Pattern</B></A></B>
+
+<BR>
+          
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> used by <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/Action.html#org.dom4j.rule"><B>Action</B></A></B>
+
+<BR>
+          
+ <code>Action</code> represents some default action which should occur when
+ a rule matches a node in the XSLT processing model.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/Mode.html#org.dom4j.rule"><B>Mode</B></A></B>
+
+<BR>
+          
+ <code>Mode</code> manages a number of RuleSet instances for the mode in a
+ stylesheet. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/NullAction.html#org.dom4j.rule"><B>NullAction</B></A></B>
+
+<BR>
+          
+ <code>NullAction</code> represents an empty action that does nothing.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/Pattern.html#org.dom4j.rule"><B>Pattern</B></A></B>
+
+<BR>
+          
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/Rule.html#org.dom4j.rule"><B>Rule</B></A></B>
+
+<BR>
+          
+ <code>Rule</code> matches against DOM4J Node so that some action can be
+ performed such as in the XSLT processing model.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/RuleSet.html#org.dom4j.rule"><B>RuleSet</B></A></B>
+
+<BR>
+          
+ <code>RuleSet</code> manages a set of rules which are sorted in order of
+ relevance according to the XSLT defined conflict resolution policy. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule.pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> used by <A HREF="../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/Pattern.html#org.dom4j.rule.pattern"><B>Pattern</B></A></B>
+
+<BR>
+          
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> used by <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/Pattern.html#org.dom4j.tree"><B>Pattern</B></A></B>
+
+<BR>
+          
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> used by <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/Pattern.html#org.dom4j.util"><B>Pattern</B></A></B>
+
+<BR>
+          
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</A> used by <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/rule/class-use/Pattern.html#org.dom4j.xpath"><B>Pattern</B></A></B>
+
+<BR>
+          
+ <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ processing model.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/pattern/DefaultPattern.html b/docs/apidocs/org/dom4j/rule/pattern/DefaultPattern.html
new file mode 100644
index 0000000..3759e95
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/pattern/DefaultPattern.html
@@ -0,0 +1,416 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultPattern (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.pattern.DefaultPattern class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultPattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultPattern.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultPattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule.pattern</FONT>
+<BR>
+Class DefaultPattern</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.rule.pattern.DefaultPattern</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A>, <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultPattern</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></DL>
+
+<P>
+<p>
+ <code>DefaultPattern</code> a default implementation of Pattern which can
+ take any XPath implementation or NodeFilter for defining the pattern.
+ <b>WARNING </b> this implementation causes a worst case, brute force XSLT
+ rule evaluation to be performed. Wherever possible the methods <A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#getPriority()"><CODE>getPriority()</CODE></A>, <A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#getMatchType()"><CODE>getMatchType()</CODE></A>and <A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#getMatchesNodeName()"><CODE>getMatchesNodeName()</CODE></A>should
+ be overloaded to allow more rule filtering to occur.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.rule.Pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.rule.<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../../org/dom4j/rule/Pattern.html#DEFAULT_PRIORITY">DEFAULT_PRIORITY</A>, <A HREF="../../../../org/dom4j/rule/Pattern.html#NONE">NONE</A>, <A HREF="../../../../org/dom4j/rule/Pattern.html#NUMBER_OF_TYPES">NUMBER_OF_TYPES</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#DefaultPattern(org.dom4j.NodeFilter)">DefaultPattern</A></B>(<A HREF="../../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> filter)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#getMatchesNodeName()">getMatchesNodeName</A></B>()</CODE>
+
+<BR>
+          For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#getMatchType()">getMatchType</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> double</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#getPriority()">getPriority</A></B>()</CODE>
+
+<BR>
+          Returns the default resolution policy of the pattern according to the <a
+ href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+ spec </a>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#getUnionPatterns()">getUnionPatterns</A></B>()</CODE>
+
+<BR>
+          If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultPattern(org.dom4j.NodeFilter)"><!-- --></A><H3>
+DefaultPattern</H3>
+<PRE>
+public <B>DefaultPattern</B>(<A HREF="../../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> filter)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="matches(org.dom4j.Node)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public boolean <B>matches</B>(<A HREF="../../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#matches(org.dom4j.Node)">matches</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the pattern matches the given DOM4J node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPriority()"><!-- --></A><H3>
+getPriority</H3>
+<PRE>
+public double <B>getPriority</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>Returns the default resolution policy of the pattern according to the <a
+ href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+ spec </a>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#getPriority()">getPriority</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUnionPatterns()"><!-- --></A><H3>
+getUnionPatterns</H3>
+<PRE>
+public <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[] <B>getUnionPatterns</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. Otherwise this method should return null.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#getUnionPatterns()">getUnionPatterns</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the patterns which make up this union pattern or null
+         if this pattern is not a union pattern</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchType()"><!-- --></A><H3>
+getMatchType</H3>
+<PRE>
+public short <B>getMatchType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#getMatchType()">getMatchType</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the type of node the pattern matches which by default should
+         return ANY_NODE if it can match any kind of node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchesNodeName()"><!-- --></A><H3>
+getMatchesNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMatchesNodeName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ This allows a more efficient rule matching algorithm to be performed,
+ rather than a brute force approach of evaluating every pattern for a
+ given Node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#getMatchesNodeName()">getMatchesNodeName</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the element or attribute this pattern matches or null
+         if this pattern matches any or more than one name.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultPattern.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultPattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/pattern/NodeTypePattern.html b/docs/apidocs/org/dom4j/rule/pattern/NodeTypePattern.html
new file mode 100644
index 0000000..93a4cd5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/pattern/NodeTypePattern.html
@@ -0,0 +1,539 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+NodeTypePattern (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.pattern.NodeTypePattern class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="NodeTypePattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NodeTypePattern.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeTypePattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.rule.pattern</FONT>
+<BR>
+Class NodeTypePattern</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.rule.pattern.NodeTypePattern</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A>, <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>NodeTypePattern</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></DL>
+
+<P>
+<p>
+ <code>NodeTypePattern</code> implements a Pattern which matches any node of
+ the given node type.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_ATTRIBUTE">ANY_ATTRIBUTE</A></B></CODE>
+
+<BR>
+          A pattern which matches any Attribute node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_COMMENT">ANY_COMMENT</A></B></CODE>
+
+<BR>
+          A pattern which matches any Comment node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_DOCUMENT">ANY_DOCUMENT</A></B></CODE>
+
+<BR>
+          A pattern which matches any Document node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_ELEMENT">ANY_ELEMENT</A></B></CODE>
+
+<BR>
+          A pattern which matches any Element node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_PROCESSING_INSTRUCTION">ANY_PROCESSING_INSTRUCTION</A></B></CODE>
+
+<BR>
+          A pattern which matches any ProcessingInstruction node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_TEXT">ANY_TEXT</A></B></CODE>
+
+<BR>
+          A pattern which matches any Text node</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.rule.Pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.rule.<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../../org/dom4j/rule/Pattern.html#DEFAULT_PRIORITY">DEFAULT_PRIORITY</A>, <A HREF="../../../../org/dom4j/rule/Pattern.html#NONE">NONE</A>, <A HREF="../../../../org/dom4j/rule/Pattern.html#NUMBER_OF_TYPES">NUMBER_OF_TYPES</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#NodeTypePattern(short)">NodeTypePattern</A></B>(short nodeType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#getMatchesNodeName()">getMatchesNodeName</A></B>()</CODE>
+
+<BR>
+          For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#getMatchType()">getMatchType</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> double</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#getPriority()">getPriority</A></B>()</CODE>
+
+<BR>
+          Returns the default resolution policy of the pattern according to the <a
+ href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+ spec </a>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#getUnionPatterns()">getUnionPatterns</A></B>()</CODE>
+
+<BR>
+          If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ANY_ATTRIBUTE"><!-- --></A><H3>
+ANY_ATTRIBUTE</H3>
+<PRE>
+public static final <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A> <B>ANY_ATTRIBUTE</B></PRE>
+<DL>
+<DD>A pattern which matches any Attribute node
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ANY_COMMENT"><!-- --></A><H3>
+ANY_COMMENT</H3>
+<PRE>
+public static final <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A> <B>ANY_COMMENT</B></PRE>
+<DL>
+<DD>A pattern which matches any Comment node
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ANY_DOCUMENT"><!-- --></A><H3>
+ANY_DOCUMENT</H3>
+<PRE>
+public static final <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A> <B>ANY_DOCUMENT</B></PRE>
+<DL>
+<DD>A pattern which matches any Document node
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ANY_ELEMENT"><!-- --></A><H3>
+ANY_ELEMENT</H3>
+<PRE>
+public static final <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A> <B>ANY_ELEMENT</B></PRE>
+<DL>
+<DD>A pattern which matches any Element node
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ANY_PROCESSING_INSTRUCTION"><!-- --></A><H3>
+ANY_PROCESSING_INSTRUCTION</H3>
+<PRE>
+public static final <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A> <B>ANY_PROCESSING_INSTRUCTION</B></PRE>
+<DL>
+<DD>A pattern which matches any ProcessingInstruction node
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ANY_TEXT"><!-- --></A><H3>
+ANY_TEXT</H3>
+<PRE>
+public static final <A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A> <B>ANY_TEXT</B></PRE>
+<DL>
+<DD>A pattern which matches any Text node
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NodeTypePattern(short)"><!-- --></A><H3>
+NodeTypePattern</H3>
+<PRE>
+public <B>NodeTypePattern</B>(short nodeType)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="matches(org.dom4j.Node)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public boolean <B>matches</B>(<A HREF="../../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#matches(org.dom4j.Node)">matches</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the pattern matches the given DOM4J node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPriority()"><!-- --></A><H3>
+getPriority</H3>
+<PRE>
+public double <B>getPriority</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>Returns the default resolution policy of the pattern according to the <a
+ href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+ spec </a>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#getPriority()">getPriority</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUnionPatterns()"><!-- --></A><H3>
+getUnionPatterns</H3>
+<PRE>
+public <A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[] <B>getUnionPatterns</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. Otherwise this method should return null.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#getUnionPatterns()">getUnionPatterns</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the patterns which make up this union pattern or null
+         if this pattern is not a union pattern</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchType()"><!-- --></A><H3>
+getMatchType</H3>
+<PRE>
+public short <B>getMatchType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#getMatchType()">getMatchType</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the type of node the pattern matches which by default should
+         return ANY_NODE if it can match any kind of node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchesNodeName()"><!-- --></A><H3>
+getMatchesNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMatchesNodeName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ This allows a more efficient rule matching algorithm to be performed,
+ rather than a brute force approach of evaluating every pattern for a
+ given Node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/dom4j/rule/Pattern.html#getMatchesNodeName()">getMatchesNodeName</A></CODE> in interface <CODE><A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the element or attribute this pattern matches or null
+         if this pattern matches any or more than one name.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NodeTypePattern.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeTypePattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/pattern/class-use/DefaultPattern.html b/docs/apidocs/org/dom4j/rule/pattern/class-use/DefaultPattern.html
new file mode 100644
index 0000000..2b0f593
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/pattern/class-use/DefaultPattern.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.rule.pattern.DefaultPattern (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.rule.pattern.DefaultPattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultPattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.rule.pattern.DefaultPattern</B></H2>
+</CENTER>
+No usage of org.dom4j.rule.pattern.DefaultPattern
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultPattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/pattern/class-use/NodeTypePattern.html b/docs/apidocs/org/dom4j/rule/pattern/class-use/NodeTypePattern.html
new file mode 100644
index 0000000..56a3843
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/pattern/class-use/NodeTypePattern.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.rule.pattern.NodeTypePattern (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.rule.pattern.NodeTypePattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeTypePattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.rule.pattern.NodeTypePattern</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule.pattern"><B>org.dom4j.rule.pattern</B></A></TD>
+<TD>  </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule.pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A> in <A HREF="../../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A> declared as <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B>NodeTypePattern.</B><B><A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_ATTRIBUTE">ANY_ATTRIBUTE</A></B></CODE>
+
+<BR>
+          A pattern which matches any Attribute node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B>NodeTypePattern.</B><B><A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_COMMENT">ANY_COMMENT</A></B></CODE>
+
+<BR>
+          A pattern which matches any Comment node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B>NodeTypePattern.</B><B><A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_DOCUMENT">ANY_DOCUMENT</A></B></CODE>
+
+<BR>
+          A pattern which matches any Document node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B>NodeTypePattern.</B><B><A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_ELEMENT">ANY_ELEMENT</A></B></CODE>
+
+<BR>
+          A pattern which matches any Element node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B>NodeTypePattern.</B><B><A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_PROCESSING_INSTRUCTION">ANY_PROCESSING_INSTRUCTION</A></B></CODE>
+
+<BR>
+          A pattern which matches any ProcessingInstruction node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></CODE></FONT></TD>
+<TD><CODE><B>NodeTypePattern.</B><B><A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html#ANY_TEXT">ANY_TEXT</A></B></CODE>
+
+<BR>
+          A pattern which matches any Text node</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeTypePattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/pattern/package-frame.html b/docs/apidocs/org/dom4j/rule/pattern/package-frame.html
new file mode 100644
index 0000000..f8fbea1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/pattern/package-frame.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.rule.pattern (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.pattern package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../org/dom4j/rule/pattern/package-summary.html" target="classFrame">org.dom4j.rule.pattern</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DefaultPattern.html" title="class in org.dom4j.rule.pattern" target="classFrame">DefaultPattern</A>
+<BR>
+<A HREF="NodeTypePattern.html" title="class in org.dom4j.rule.pattern" target="classFrame">NodeTypePattern</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/pattern/package-summary.html b/docs/apidocs/org/dom4j/rule/pattern/package-summary.html
new file mode 100644
index 0000000..1dfb43b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/pattern/package-summary.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.rule.pattern (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.rule.pattern package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.rule.pattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../org/dom4j/rule/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../../org/dom4j/swing/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.rule.pattern
+</H2>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern">DefaultPattern</A></B></TD>
+<TD>
+ <code>DefaultPattern</code> a default implementation of Pattern which can
+ take any XPath implementation or NodeFilter for defining the pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern">NodeTypePattern</A></B></TD>
+<TD>
+ <code>NodeTypePattern</code> implements a Pattern which matches any node of
+ the given node type.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../org/dom4j/rule/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../../org/dom4j/swing/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/pattern/package-tree.html b/docs/apidocs/org/dom4j/rule/pattern/package-tree.html
new file mode 100644
index 0000000..3c7f6d7
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/pattern/package-tree.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.rule.pattern Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.rule.pattern Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../org/dom4j/rule/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../../org/dom4j/swing/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.rule.pattern
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.rule.pattern.<A HREF="../../../../org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern"><B>DefaultPattern</B></A> (implements org.dom4j.rule.<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>)
+<LI TYPE="circle">class org.dom4j.rule.pattern.<A HREF="../../../../org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern"><B>NodeTypePattern</B></A> (implements org.dom4j.rule.<A HREF="../../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>)
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../org/dom4j/rule/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../../org/dom4j/swing/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/rule/pattern/package-use.html b/docs/apidocs/org/dom4j/rule/pattern/package-use.html
new file mode 100644
index 0000000..5cc2bed
--- /dev/null
+++ b/docs/apidocs/org/dom4j/rule/pattern/package-use.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.rule.pattern (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.rule.pattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.rule.pattern</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.rule.pattern"><B>org.dom4j.rule.pattern</B></A></TD>
+<TD>  </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.rule.pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A> used by <A HREF="../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../org/dom4j/rule/pattern/class-use/NodeTypePattern.html#org.dom4j.rule.pattern"><B>NodeTypePattern</B></A></B>
+
+<BR>
+          
+ <code>NodeTypePattern</code> implements a Pattern which matches any node of
+ the given node type.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/BranchTreeNode.html b/docs/apidocs/org/dom4j/swing/BranchTreeNode.html
new file mode 100644
index 0000000..7fa2f8f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/BranchTreeNode.html
@@ -0,0 +1,572 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+BranchTreeNode (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.swing.BranchTreeNode class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BranchTreeNode (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BranchTreeNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BranchTreeNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.swing</FONT>
+<BR>
+Class BranchTreeNode</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">org.dom4j.swing.LeafTreeNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.swing.BranchTreeNode</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>BranchTreeNode</B><DT>extends <A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A></DL>
+
+<P>
+<p>
+ <code>BranchTreeNode</code> implements the Swing TreeNode interface to bind
+ dom4j XML Branch nodes (i.e. Document and Element nodes) to a Swing
+ TreeModel.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a>, Jakob Jenkov</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#children">children</A></B></CODE>
+
+<BR>
+          Stores the child tree nodes</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.swing.LeafTreeNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.swing.<A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#EMPTY_ENUMERATION">EMPTY_ENUMERATION</A>, <A HREF="../../../org/dom4j/swing/LeafTreeNode.html#xmlNode">xmlNode</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#BranchTreeNode()">BranchTreeNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#BranchTreeNode(org.dom4j.Branch)">BranchTreeNode</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> xmlNode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#BranchTreeNode(javax.swing.tree.TreeNode, org.dom4j.Branch)">BranchTreeNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> parent,
+               <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> xmlNode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#children()">children</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#createChildList()">createChildList</A></B>()</CODE>
+
+<BR>
+          Factory method to create List of children TreeNodes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#createChildTreeNode(org.dom4j.Node)">createChildTreeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> xmlNode)</CODE>
+
+<BR>
+          Factory method to create child tree nodes for a given XML node type</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#getAllowsChildren()">getAllowsChildren</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#getChildAt(int)">getChildAt</A></B>(int childIndex)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#getChildCount()">getChildCount</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#getChildList()">getChildList</A></B>()</CODE>
+
+<BR>
+          Uses Lazy Initialization pattern to create a List of children</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#getIndex(javax.swing.tree.TreeNode)">getIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#getXmlBranch()">getXmlBranch</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#isLeaf()">isLeaf</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.swing.LeafTreeNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.swing.<A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getXmlNode()">getXmlNode</A>, <A HREF="../../../org/dom4j/swing/LeafTreeNode.html#setParent(org.dom4j.swing.LeafTreeNode)">setParent</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="children"><!-- --></A><H3>
+children</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>children</B></PRE>
+<DL>
+<DD>Stores the child tree nodes
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BranchTreeNode()"><!-- --></A><H3>
+BranchTreeNode</H3>
+<PRE>
+public <B>BranchTreeNode</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BranchTreeNode(org.dom4j.Branch)"><!-- --></A><H3>
+BranchTreeNode</H3>
+<PRE>
+public <B>BranchTreeNode</B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> xmlNode)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BranchTreeNode(javax.swing.tree.TreeNode, org.dom4j.Branch)"><!-- --></A><H3>
+BranchTreeNode</H3>
+<PRE>
+public <B>BranchTreeNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> parent,
+                      <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> xmlNode)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="children()"><!-- --></A><H3>
+children</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html" title="class or interface in java.util">Enumeration</A> <B>children</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#children()" title="class or interface in javax.swing.tree">children</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#children()">children</A></CODE> in class <CODE><A HREF [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllowsChildren()"><!-- --></A><H3>
+getAllowsChildren</H3>
+<PRE>
+public boolean <B>getAllowsChildren</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#getAllowsChildren()" title="class or interface in javax.swing.tree">getAllowsChildren</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getAllowsChildren()">getAllowsChildr [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildAt(int)"><!-- --></A><H3>
+getChildAt</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> <B>getChildAt</B>(int childIndex)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#getChildAt(int)" title="class or interface in javax.swing.tree">getChildAt</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getChildAt(int)">getChildAt</A></CODE> in class [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildCount()"><!-- --></A><H3>
+getChildCount</H3>
+<PRE>
+public int <B>getChildCount</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#getChildCount()" title="class or interface in javax.swing.tree">getChildCount</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getChildCount()">getChildCount</A></CODE> in [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIndex(javax.swing.tree.TreeNode)"><!-- --></A><H3>
+getIndex</H3>
+<PRE>
+public int <B>getIndex</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#getIndex(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">getIndex</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getIndex(javax.swing.tree.Tre [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isLeaf()"><!-- --></A><H3>
+isLeaf</H3>
+<PRE>
+public boolean <B>isLeaf</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#isLeaf()" title="class or interface in javax.swing.tree">isLeaf</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#isLeaf()">isLeaf</A></CODE> in class <CODE><A HREF="../../ [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#toString()">toString</A></CODE> in class <CODE><A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildList()"><!-- --></A><H3>
+getChildList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getChildList</B>()</PRE>
+<DL>
+<DD>Uses Lazy Initialization pattern to create a List of children
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createChildList()"><!-- --></A><H3>
+createChildList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createChildList</B>()</PRE>
+<DL>
+<DD>Factory method to create List of children TreeNodes
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createChildTreeNode(org.dom4j.Node)"><!-- --></A><H3>
+createChildTreeNode</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> <B>createChildTreeNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> xmlNode)</PRE>
+<DL>
+<DD>Factory method to create child tree nodes for a given XML node type
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xmlNode</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXmlBranch()"><!-- --></A><H3>
+getXmlBranch</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> <B>getXmlBranch</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BranchTreeNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BranchTreeNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/DocumentTreeModel.html b/docs/apidocs/org/dom4j/swing/DocumentTreeModel.html
new file mode 100644
index 0000000..3dc1bc1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/DocumentTreeModel.html
@@ -0,0 +1,348 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DocumentTreeModel (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.swing.DocumentTreeModel class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DocumentTreeModel (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentTreeModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentTreeModel.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.swing</FONT>
+<BR>
+Class DocumentTreeModel</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html" title="class or interface in javax.swing.tree">javax.swing.tree.DefaultTreeModel</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.swing.DocumentTreeModel</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeModel.html" title="class or interface in javax.swing.tree">TreeModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DocumentTreeModel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html" title="class or interface in javax.swing.tree">DefaultTreeModel</A></DL>
+
+<P>
+<p>
+ <code>DocumentTreeModel</code> implements a Swing TreeModel for a dom4j XML
+ Document.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a>, Jakob Jenkov</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.swing.DocumentTreeModel">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/DocumentTreeModel.html#document">document</A></B></CODE>
+
+<BR>
+          The document for this model</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.tree.DefaultTreeModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html" title="class or interface in javax.swing.tree">DefaultTreeModel</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html#asksAllowsChildren" title="class or interface in javax.swing.tree">asksAllowsChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html#listenerList" title="class or interface in javax.swing.tree">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html#root" title="class or interface in javax.swing.tree">r [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/DocumentTreeModel.html#DocumentTreeModel(org.dom4j.Document)">DocumentTreeModel</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/DocumentTreeModel.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/DocumentTreeModel.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          Sets the <code>Document</code> instance that this
+ <code>TreeModel</code> is based on</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.tree.DefaultTreeModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html" title="class or interface in javax.swing.tree">DefaultTreeModel</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html#addTreeModelListener(javax.swing.event.TreeModelListener)" title="class or interface in javax.swing.tree">addTreeModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html#asksAllowsChildren()" title="class or interface in javax.swing.tree">asksAllowsChildren</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="document"><!-- --></A><H3>
+document</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>document</B></PRE>
+<DL>
+<DD>The document for this model
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DocumentTreeModel(org.dom4j.Document)"><!-- --></A><H3>
+DocumentTreeModel</H3>
+<PRE>
+public <B>DocumentTreeModel</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getDocument()"><!-- --></A><H3>
+getDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>getDocument</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>Document</code> instance that this
+         <code>TreeModel</code> is based on</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocument(org.dom4j.Document)"><!-- --></A><H3>
+setDocument</H3>
+<PRE>
+public void <B>setDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD>Sets the <code>Document</code> instance that this
+ <code>TreeModel</code> is based on
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DocumentTreeModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentTreeModel.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/LeafTreeNode.html b/docs/apidocs/org/dom4j/swing/LeafTreeNode.html
new file mode 100644
index 0000000..567c97b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/LeafTreeNode.html
@@ -0,0 +1,556 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+LeafTreeNode (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.swing.LeafTreeNode class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="LeafTreeNode (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/LeafTreeNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="LeafTreeNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.swing</FONT>
+<BR>
+Class LeafTreeNode</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.swing.LeafTreeNode</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>LeafTreeNode</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></DL>
+
+<P>
+<p>
+ <code>LeafTreeNode</code> implements the Swing TreeNode interface to bind a
+ leaf XML nodes to a Swing TreeModel.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a>, Jakob Jenkov</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#EMPTY_ENUMERATION">EMPTY_ENUMERATION</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#xmlNode">xmlNode</A></B></CODE>
+
+<BR>
+          The dom4j Node which contains the</TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#LeafTreeNode()">LeafTreeNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#LeafTreeNode(org.dom4j.Node)">LeafTreeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> xmlNode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#LeafTreeNode(javax.swing.tree.TreeNode, org.dom4j.Node)">LeafTreeNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> parent,
+             <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> xmlNode)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html" title="class or interface in java.util">Enumeration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#children()">children</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getAllowsChildren()">getAllowsChildren</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getChildAt(int)">getChildAt</A></B>(int childIndex)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getChildCount()">getChildCount</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getIndex(javax.swing.tree.TreeNode)">getIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#getXmlNode()">getXmlNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#isLeaf()">isLeaf</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#setParent(org.dom4j.swing.LeafTreeNode)">setParent</A></B>(<A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A> parent)</CODE>
+
+<BR>
+          Sets the parent of this node but doesn't change the parents children</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="EMPTY_ENUMERATION"><!-- --></A><H3>
+EMPTY_ENUMERATION</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html" title="class or interface in java.util">Enumeration</A> <B>EMPTY_ENUMERATION</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="xmlNode"><!-- --></A><H3>
+xmlNode</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>xmlNode</B></PRE>
+<DL>
+<DD>The dom4j Node which contains the
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="LeafTreeNode()"><!-- --></A><H3>
+LeafTreeNode</H3>
+<PRE>
+public <B>LeafTreeNode</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="LeafTreeNode(org.dom4j.Node)"><!-- --></A><H3>
+LeafTreeNode</H3>
+<PRE>
+public <B>LeafTreeNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> xmlNode)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="LeafTreeNode(javax.swing.tree.TreeNode, org.dom4j.Node)"><!-- --></A><H3>
+LeafTreeNode</H3>
+<PRE>
+public <B>LeafTreeNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> parent,
+                    <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> xmlNode)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="children()"><!-- --></A><H3>
+children</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Enumeration.html" title="class or interface in java.util">Enumeration</A> <B>children</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#children()" title="class or interface in javax.swing.tree">children</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllowsChildren()"><!-- --></A><H3>
+getAllowsChildren</H3>
+<PRE>
+public boolean <B>getAllowsChildren</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#getAllowsChildren()" title="class or interface in javax.swing.tree">getAllowsChildren</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildAt(int)"><!-- --></A><H3>
+getChildAt</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> <B>getChildAt</B>(int childIndex)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#getChildAt(int)" title="class or interface in javax.swing.tree">getChildAt</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildCount()"><!-- --></A><H3>
+getChildCount</H3>
+<PRE>
+public int <B>getChildCount</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#getChildCount()" title="class or interface in javax.swing.tree">getChildCount</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIndex(javax.swing.tree.TreeNode)"><!-- --></A><H3>
+getIndex</H3>
+<PRE>
+public int <B>getIndex</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#getIndex(javax.swing.tree.TreeNode)" title="class or interface in javax.swing.tree">getIndex</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#getParent()" title="class or interface in javax.swing.tree">getParent</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isLeaf()"><!-- --></A><H3>
+isLeaf</H3>
+<PRE>
+public boolean <B>isLeaf</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html#isLeaf()" title="class or interface in javax.swing.tree">isLeaf</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.swing.LeafTreeNode)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A> parent)</PRE>
+<DL>
+<DD>Sets the parent of this node but doesn't change the parents children
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXmlNode()"><!-- --></A><H3>
+getXmlNode</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>getXmlNode</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/LeafTreeNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="LeafTreeNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/XMLTableColumnDefinition.html b/docs/apidocs/org/dom4j/swing/XMLTableColumnDefinition.html
new file mode 100644
index 0000000..96139fe
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/XMLTableColumnDefinition.html
@@ -0,0 +1,694 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XMLTableColumnDefinition (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.swing.XMLTableColumnDefinition class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XMLTableColumnDefinition (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLTableColumnDefinition.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableColumnDefinition.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.swing</FONT>
+<BR>
+Class XMLTableColumnDefinition</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.swing.XMLTableColumnDefinition</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>XMLTableColumnDefinition</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
+
+<P>
+<p>
+ <code>XMLTableColumnDefinition</code> a column within a table definition.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.swing.XMLTableColumnDefinition">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#NODE_TYPE">NODE_TYPE</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#NUMBER_TYPE">NUMBER_TYPE</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#OBJECT_TYPE">OBJECT_TYPE</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#STRING_TYPE">STRING_TYPE</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition()">XMLTableColumnDefinition</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition(java.lang.String, java.lang.String, int)">XMLTableColumnDefinition</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression,
+                         int type)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition(java.lang.String, org.dom4j.XPath, int)">XMLTableColumnDefinition</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath,
+                         int type)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#XMLTableColumnDefinition(org.dom4j.XPath, org.dom4j.XPath, int)">XMLTableColumnDefinition</A></B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> columnXPath,
+                         <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath,
+                         int type)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#getColumnClass()">getColumnClass</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#getColumnNameXPath()">getColumnNameXPath</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          Getter for property name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#getType()">getType</A></B>()</CODE>
+
+<BR>
+          Getter for property type.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#getValue(java.lang.Object)">getValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> row)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#getXPath()">getXPath</A></B>()</CODE>
+
+<BR>
+          Getter for property xpath.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#handleException(java.lang.Exception)">handleException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#parseType(java.lang.String)">parseType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> typeName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#setColumnNameXPath(org.dom4j.XPath)">setColumnNameXPath</A></B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> columnNameXPath)</CODE>
+
+<BR>
+          Setter for property columnNameXPath.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Setter for property name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#setType(int)">setType</A></B>(int type)</CODE>
+
+<BR>
+          Setter for property type.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html#setXPath(org.dom4j.XPath)">setXPath</A></B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xPath)</CODE>
+
+<BR>
+          Setter for property xpath.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="OBJECT_TYPE"><!-- --></A><H3>
+OBJECT_TYPE</H3>
+<PRE>
+public static final int <B>OBJECT_TYPE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.swing.XMLTableColumnDefinition.OBJECT_TYPE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STRING_TYPE"><!-- --></A><H3>
+STRING_TYPE</H3>
+<PRE>
+public static final int <B>STRING_TYPE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.swing.XMLTableColumnDefinition.STRING_TYPE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NUMBER_TYPE"><!-- --></A><H3>
+NUMBER_TYPE</H3>
+<PRE>
+public static final int <B>NUMBER_TYPE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.swing.XMLTableColumnDefinition.NUMBER_TYPE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="NODE_TYPE"><!-- --></A><H3>
+NODE_TYPE</H3>
+<PRE>
+public static final int <B>NODE_TYPE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.swing.XMLTableColumnDefinition.NODE_TYPE">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XMLTableColumnDefinition()"><!-- --></A><H3>
+XMLTableColumnDefinition</H3>
+<PRE>
+public <B>XMLTableColumnDefinition</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLTableColumnDefinition(java.lang.String, java.lang.String, int)"><!-- --></A><H3>
+XMLTableColumnDefinition</H3>
+<PRE>
+public <B>XMLTableColumnDefinition</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression,
+                                int type)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLTableColumnDefinition(java.lang.String, org.dom4j.XPath, int)"><!-- --></A><H3>
+XMLTableColumnDefinition</H3>
+<PRE>
+public <B>XMLTableColumnDefinition</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath,
+                                int type)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLTableColumnDefinition(org.dom4j.XPath, org.dom4j.XPath, int)"><!-- --></A><H3>
+XMLTableColumnDefinition</H3>
+<PRE>
+public <B>XMLTableColumnDefinition</B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> columnXPath,
+                                <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xpath,
+                                int type)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="parseType(java.lang.String)"><!-- --></A><H3>
+parseType</H3>
+<PRE>
+public static int <B>parseType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> typeName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnClass()"><!-- --></A><H3>
+getColumnClass</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>getColumnClass</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue(java.lang.Object)"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> row)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getType()"><!-- --></A><H3>
+getType</H3>
+<PRE>
+public int <B>getType</B>()</PRE>
+<DL>
+<DD>Getter for property type.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property type.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setType(int)"><!-- --></A><H3>
+setType</H3>
+<PRE>
+public void <B>setType</B>(int type)</PRE>
+<DL>
+<DD>Setter for property type.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - New value of property type.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD>Getter for property name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Setter for property name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - New value of property name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPath()"><!-- --></A><H3>
+getXPath</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>getXPath</B>()</PRE>
+<DL>
+<DD>Getter for property xpath.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property xpath.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXPath(org.dom4j.XPath)"><!-- --></A><H3>
+setXPath</H3>
+<PRE>
+public void <B>setXPath</B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> xPath)</PRE>
+<DL>
+<DD>Setter for property xpath.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xPath</CODE> - New value of property xpath.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnNameXPath()"><!-- --></A><H3>
+getColumnNameXPath</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>getColumnNameXPath</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XPath used to create the column name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setColumnNameXPath(org.dom4j.XPath)"><!-- --></A><H3>
+setColumnNameXPath</H3>
+<PRE>
+public void <B>setColumnNameXPath</B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> columnNameXPath)</PRE>
+<DL>
+<DD>Setter for property columnNameXPath.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>columnNameXPath</CODE> - New value of property xpath.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handleException(java.lang.Exception)"><!-- --></A><H3>
+handleException</H3>
+<PRE>
+protected void <B>handleException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLTableColumnDefinition.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableColumnDefinition.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/XMLTableDefinition.html b/docs/apidocs/org/dom4j/swing/XMLTableDefinition.html
new file mode 100644
index 0000000..991f6c2
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/XMLTableDefinition.html
@@ -0,0 +1,865 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XMLTableDefinition (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.swing.XMLTableDefinition class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XMLTableDefinition (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLTableDefinition.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableDefinition.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.swing</FONT>
+<BR>
+Class XMLTableDefinition</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.swing.XMLTableDefinition</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, org.jaxen.VariableContext</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>XMLTableDefinition</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, org.jaxen.VariableContext</DL>
+
+<P>
+<p>
+ <code>XMLTableDefinition</code> represents a table definition based on
+ XPath expression evaluated on an XML document.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.swing.XMLTableDefinition">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#XMLTableDefinition()">XMLTableDefinition</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#addColumn(java.lang.String, java.lang.String)">addColumn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#addColumn(java.lang.String, java.lang.String, int)">addColumn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression,
+          int type)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#addColumn(org.dom4j.swing.XMLTableColumnDefinition)">addColumn</A></B>(<A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A> column)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#addColumnWithXPathName(java.lang.String, java.lang.String, int)">addColumnWithXPathName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> columnNameXPathExpression,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression,
+                       int type)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#addNumberColumn(java.lang.String, java.lang.String)">addNumberColumn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#addStringColumn(java.lang.String, java.lang.String)">addStringColumn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#clearCaches()">clearCaches</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#createColumnXPath(java.lang.String)">createColumnXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getColumn(int)">getColumn</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getColumn(java.lang.String)">getColumn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> columnName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getColumnClass(int)">getColumnClass</A></B>(int columnIndex)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getColumnCount()">getColumnCount</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getColumnName(int)">getColumnName</A></B>(int columnIndex)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getColumnNameXPath(int)">getColumnNameXPath</A></B>(int columnIndex)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getColumnXPath(int)">getColumnXPath</A></B>(int columnIndex)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getRowXPath()">getRowXPath</A></B>()</CODE>
+
+<BR>
+          Getter for property rowXPath.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getValueAt(java.lang.Object, int)">getValueAt</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> row,
+           int columnIndex)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#getVariableValue(java.lang.String, java.lang.String, java.lang.String)">getVariableValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#handleException(java.lang.Exception)">handleException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#load(org.dom4j.Document)">load</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> definition)</CODE>
+
+<BR>
+          Loads an XML table definition from an XML definition document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#load(org.dom4j.Element)">load</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> definition)</CODE>
+
+<BR>
+          Loads an XML table definition from an XML definition document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#removeColumn(org.dom4j.swing.XMLTableColumnDefinition)">removeColumn</A></B>(<A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A> column)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#setRowExpression(java.lang.String)">setRowExpression</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html#setRowXPath(org.dom4j.XPath)">setRowXPath</A></B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> rowXPath)</CODE>
+
+<BR>
+          Setter for property rowXPath.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XMLTableDefinition()"><!-- --></A><H3>
+XMLTableDefinition</H3>
+<PRE>
+public <B>XMLTableDefinition</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="load(org.dom4j.Document)"><!-- --></A><H3>
+load</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> <B>load</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> definition)</PRE>
+<DL>
+<DD>Loads an XML table definition from an XML definition document
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>definition</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="load(org.dom4j.Element)"><!-- --></A><H3>
+load</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> <B>load</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> definition)</PRE>
+<DL>
+<DD>Loads an XML table definition from an XML definition document
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>definition</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnClass(int)"><!-- --></A><H3>
+getColumnClass</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>getColumnClass</B>(int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnCount()"><!-- --></A><H3>
+getColumnCount</H3>
+<PRE>
+public int <B>getColumnCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnName(int)"><!-- --></A><H3>
+getColumnName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getColumnName</B>(int columnIndex)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>columnIndex</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the static column name. This is used if there is no
+         columnNameXPath</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnXPath(int)"><!-- --></A><H3>
+getColumnXPath</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>getColumnXPath</B>(int columnIndex)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>columnIndex</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the XPath expression used to evaluate the value of cells in this
+         column</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnNameXPath(int)"><!-- --></A><H3>
+getColumnNameXPath</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>getColumnNameXPath</B>(int columnIndex)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>columnIndex</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the XPath expresssion used to create the column name, if there is
+         one or null if there is no XPath expression to name the column.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValueAt(java.lang.Object, int)"><!-- --></A><H3>
+getValueAt</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getValueAt</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> row,
+                         int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addColumn(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addColumn</H3>
+<PRE>
+public void <B>addColumn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addColumn(java.lang.String, java.lang.String, int)"><!-- --></A><H3>
+addColumn</H3>
+<PRE>
+public void <B>addColumn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression,
+                      int type)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addColumnWithXPathName(java.lang.String, java.lang.String, int)"><!-- --></A><H3>
+addColumnWithXPathName</H3>
+<PRE>
+public void <B>addColumnWithXPathName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> columnNameXPathExpression,
+                                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression,
+                                   int type)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addStringColumn(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addStringColumn</H3>
+<PRE>
+public void <B>addStringColumn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNumberColumn(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addNumberColumn</H3>
+<PRE>
+public void <B>addNumberColumn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addColumn(org.dom4j.swing.XMLTableColumnDefinition)"><!-- --></A><H3>
+addColumn</H3>
+<PRE>
+public void <B>addColumn</B>(<A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A> column)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeColumn(org.dom4j.swing.XMLTableColumnDefinition)"><!-- --></A><H3>
+removeColumn</H3>
+<PRE>
+public void <B>removeColumn</B>(<A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A> column)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumn(int)"><!-- --></A><H3>
+getColumn</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A> <B>getColumn</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumn(java.lang.String)"><!-- --></A><H3>
+getColumn</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A> <B>getColumn</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> columnName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRowXPath()"><!-- --></A><H3>
+getRowXPath</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>getRowXPath</B>()</PRE>
+<DL>
+<DD>Getter for property rowXPath.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property rowXPath.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRowXPath(org.dom4j.XPath)"><!-- --></A><H3>
+setRowXPath</H3>
+<PRE>
+public void <B>setRowXPath</B>(<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> rowXPath)</PRE>
+<DL>
+<DD>Setter for property rowXPath.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>rowXPath</CODE> - New value of property rowXPath.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRowExpression(java.lang.String)"><!-- --></A><H3>
+setRowExpression</H3>
+<PRE>
+public void <B>setRowExpression</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpath)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVariableValue(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+getVariableValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getVariableValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getVariableValue</CODE> in interface <CODE>org.jaxen.VariableContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createColumnXPath(java.lang.String)"><!-- --></A><H3>
+createColumnXPath</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createColumnXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> expression)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clearCaches()"><!-- --></A><H3>
+clearCaches</H3>
+<PRE>
+protected void <B>clearCaches</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handleException(java.lang.Exception)"><!-- --></A><H3>
+handleException</H3>
+<PRE>
+protected void <B>handleException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLTableDefinition.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableDefinition.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/XMLTableModel.html b/docs/apidocs/org/dom4j/swing/XMLTableModel.html
new file mode 100644
index 0000000..b76a150
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/XMLTableModel.html
@@ -0,0 +1,557 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XMLTableModel (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.swing.XMLTableModel class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XMLTableModel (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableModel.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.swing.table.AbstractTableModel">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.swing</FONT>
+<BR>
+Class XMLTableModel</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html" title="class or interface in javax.swing.table">javax.swing.table.AbstractTableModel</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.swing.XMLTableModel</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html" title="class or interface in javax.swing.table">TableModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>XMLTableModel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html" title="class or interface in javax.swing.table">AbstractTableModel</A></DL>
+
+<P>
+<p>
+ <code>XMLTableDefinition</code> repro.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.swing.XMLTableModel">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html" title="class or interface in javax.swing.table">AbstractTableModel</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html#listenerList" title="class or interface in javax.swing.table">listenerList</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#XMLTableModel(org.dom4j.Document, java.lang.Object)">XMLTableModel</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> tableDefinition,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</CODE>
+
+<BR>
+          Creates a TableModel from an XML table definition document and an XML
+ source</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#XMLTableModel(org.dom4j.Element, java.lang.Object)">XMLTableModel</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> tableDefinition,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</CODE>
+
+<BR>
+          Creates a TableModel from an XML table definition document and an XML
+ source</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#XMLTableModel(org.dom4j.swing.XMLTableDefinition, java.lang.Object)">XMLTableModel</A></B>(<A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> definition,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#getColumnClass(int)">getColumnClass</A></B>(int columnIndex)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#getColumnCount()">getColumnCount</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#getColumnName(int)">getColumnName</A></B>(int columnIndex)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#getDefinition()">getDefinition</A></B>()</CODE>
+
+<BR>
+          Getter for property definition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#getRowCount()">getRowCount</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#getRows()">getRows</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#getRowValue(int)">getRowValue</A></B>(int rowIndex)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#getSource()">getSource</A></B>()</CODE>
+
+<BR>
+          Getter for the XML source, which is usually a Node or List of nodes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#getValueAt(int, int)">getValueAt</A></B>(int rowIndex,
+           int columnIndex)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#handleException(java.lang.Exception)">handleException</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#setDefinition(org.dom4j.swing.XMLTableDefinition)">setDefinition</A></B>(<A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> definition)</CODE>
+
+<BR>
+          Setter for property definition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html#setSource(java.lang.Object)">setSource</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</CODE>
+
+<BR>
+          Setter for the XML source, which is usually a Node or List of nodes.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html" title="class or interface in javax.swing.table">AbstractTableModel</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html#addTableModelListener(javax.swing.event.TableModelListener)" title="class or interface in javax.swing.table">addTableModelListener</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html#findColumn(java.lang.String)" title="class or interface in javax.swing.table">findColumn</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractT [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XMLTableModel(org.dom4j.Element, java.lang.Object)"><!-- --></A><H3>
+XMLTableModel</H3>
+<PRE>
+public <B>XMLTableModel</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> tableDefinition,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</PRE>
+<DL>
+<DD>Creates a TableModel from an XML table definition document and an XML
+ source
+<P>
+<DT><B>Parameters:</B><DD><CODE>tableDefinition</CODE> - DOCUMENT ME!<DD><CODE>source</CODE> - DOCUMENT ME!</DL>
+<HR>
+
+<A NAME="XMLTableModel(org.dom4j.Document, java.lang.Object)"><!-- --></A><H3>
+XMLTableModel</H3>
+<PRE>
+public <B>XMLTableModel</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> tableDefinition,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</PRE>
+<DL>
+<DD>Creates a TableModel from an XML table definition document and an XML
+ source
+<P>
+<DT><B>Parameters:</B><DD><CODE>tableDefinition</CODE> - DOCUMENT ME!<DD><CODE>source</CODE> - DOCUMENT ME!</DL>
+<HR>
+
+<A NAME="XMLTableModel(org.dom4j.swing.XMLTableDefinition, java.lang.Object)"><!-- --></A><H3>
+XMLTableModel</H3>
+<PRE>
+public <B>XMLTableModel</B>(<A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> definition,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getRowValue(int)"><!-- --></A><H3>
+getRowValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getRowValue</B>(int rowIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRows()"><!-- --></A><H3>
+getRows</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getRows</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnClass(int)"><!-- --></A><H3>
+getColumnClass</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Class.html" title="class or interface in java.lang">Class</A> <B>getColumnClass</B>(int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnCount()"><!-- --></A><H3>
+getColumnCount</H3>
+<PRE>
+public int <B>getColumnCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnName(int)"><!-- --></A><H3>
+getColumnName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getColumnName</B>(int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValueAt(int, int)"><!-- --></A><H3>
+getValueAt</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getValueAt</B>(int rowIndex,
+                         int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRowCount()"><!-- --></A><H3>
+getRowCount</H3>
+<PRE>
+public int <B>getRowCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDefinition()"><!-- --></A><H3>
+getDefinition</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> <B>getDefinition</B>()</PRE>
+<DL>
+<DD>Getter for property definition.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property definition.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDefinition(org.dom4j.swing.XMLTableDefinition)"><!-- --></A><H3>
+setDefinition</H3>
+<PRE>
+public void <B>setDefinition</B>(<A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> definition)</PRE>
+<DL>
+<DD>Setter for property definition.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>definition</CODE> - New value of property definition.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSource()"><!-- --></A><H3>
+getSource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getSource</B>()</PRE>
+<DL>
+<DD>Getter for the XML source, which is usually a Node or List of nodes.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Value of property source.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSource(java.lang.Object)"><!-- --></A><H3>
+setSource</H3>
+<PRE>
+public void <B>setSource</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</PRE>
+<DL>
+<DD>Setter for the XML source, which is usually a Node or List of nodes.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - New value of property source.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handleException(java.lang.Exception)"><!-- --></A><H3>
+handleException</H3>
+<PRE>
+protected void <B>handleException</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> e)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableModel.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.swing.table.AbstractTableModel">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/class-use/BranchTreeNode.html b/docs/apidocs/org/dom4j/swing/class-use/BranchTreeNode.html
new file mode 100644
index 0000000..bd1cde0
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/class-use/BranchTreeNode.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.swing.BranchTreeNode (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.swing.BranchTreeNode (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BranchTreeNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.swing.BranchTreeNode</B></H2>
+</CENTER>
+No usage of org.dom4j.swing.BranchTreeNode
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BranchTreeNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/class-use/DocumentTreeModel.html b/docs/apidocs/org/dom4j/swing/class-use/DocumentTreeModel.html
new file mode 100644
index 0000000..37b6147
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/class-use/DocumentTreeModel.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.swing.DocumentTreeModel (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.swing.DocumentTreeModel (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentTreeModel.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.swing.DocumentTreeModel</B></H2>
+</CENTER>
+No usage of org.dom4j.swing.DocumentTreeModel
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DocumentTreeModel.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/class-use/LeafTreeNode.html b/docs/apidocs/org/dom4j/swing/class-use/LeafTreeNode.html
new file mode 100644
index 0000000..9bc31b3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/class-use/LeafTreeNode.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.swing.LeafTreeNode (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.swing.LeafTreeNode (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="LeafTreeNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.swing.LeafTreeNode</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A> in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A> in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A></B></CODE>
+
+<BR>
+          
+ <code>BranchTreeNode</code> implements the Swing TreeNode interface to bind
+ dom4j XML Branch nodes (i.e. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>LeafTreeNode.</B><B><A HREF="../../../../org/dom4j/swing/LeafTreeNode.html#setParent(org.dom4j.swing.LeafTreeNode)">setParent</A></B>(<A HREF="../../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A> parent)</CODE>
+
+<BR>
+          Sets the parent of this node but doesn't change the parents children</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="LeafTreeNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/class-use/XMLTableColumnDefinition.html b/docs/apidocs/org/dom4j/swing/class-use/XMLTableColumnDefinition.html
new file mode 100644
index 0000000..bb896be
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/class-use/XMLTableColumnDefinition.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.swing.XMLTableColumnDefinition (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.swing.XMLTableColumnDefinition (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableColumnDefinition.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.swing.XMLTableColumnDefinition</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A> in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> that return <A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html#getColumn(int)">getColumn</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html#getColumn(java.lang.String)">getColumn</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> columnName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html#addColumn(org.dom4j.swing.XMLTableColumnDefinition)">addColumn</A></B>(<A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A> column)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html#removeColumn(org.dom4j.swing.XMLTableColumnDefinition)">removeColumn</A></B>(<A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A> column)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableColumnDefinition.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/class-use/XMLTableDefinition.html b/docs/apidocs/org/dom4j/swing/class-use/XMLTableDefinition.html
new file mode 100644
index 0000000..91411b6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/class-use/XMLTableDefinition.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.swing.XMLTableDefinition (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.swing.XMLTableDefinition (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableDefinition.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.swing.XMLTableDefinition</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> that return <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableModel.</B><B><A HREF="../../../../org/dom4j/swing/XMLTableModel.html#getDefinition()">getDefinition</A></B>()</CODE>
+
+<BR>
+          Getter for property definition.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html#load(org.dom4j.Document)">load</A></B>(<A HREF="../../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> definition)</CODE>
+
+<BR>
+          Loads an XML table definition from an XML definition document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></CODE></FONT></TD>
+<TD><CODE><B>XMLTableDefinition.</B><B><A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html#load(org.dom4j.Element)">load</A></B>(<A HREF="../../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> definition)</CODE>
+
+<BR>
+          Loads an XML table definition from an XML definition document</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XMLTableModel.</B><B><A HREF="../../../../org/dom4j/swing/XMLTableModel.html#setDefinition(org.dom4j.swing.XMLTableDefinition)">setDefinition</A></B>(<A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> definition)</CODE>
+
+<BR>
+          Setter for property definition.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> with parameters of type <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/swing/XMLTableModel.html#XMLTableModel(org.dom4j.swing.XMLTableDefinition, java.lang.Object)">XMLTableModel</A></B>(<A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> definition,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> source)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableDefinition.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/class-use/XMLTableModel.html b/docs/apidocs/org/dom4j/swing/class-use/XMLTableModel.html
new file mode 100644
index 0000000..8c050ec
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/class-use/XMLTableModel.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.swing.XMLTableModel (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.swing.XMLTableModel (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableModel.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.swing.XMLTableModel</B></H2>
+</CENTER>
+No usage of org.dom4j.swing.XMLTableModel
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLTableModel.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/package-frame.html b/docs/apidocs/org/dom4j/swing/package-frame.html
new file mode 100644
index 0000000..ebcd065
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/package-frame.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.swing (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.swing package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/swing/package-summary.html" target="classFrame">org.dom4j.swing</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BranchTreeNode.html" title="class in org.dom4j.swing" target="classFrame">BranchTreeNode</A>
+<BR>
+<A HREF="DocumentTreeModel.html" title="class in org.dom4j.swing" target="classFrame">DocumentTreeModel</A>
+<BR>
+<A HREF="LeafTreeNode.html" title="class in org.dom4j.swing" target="classFrame">LeafTreeNode</A>
+<BR>
+<A HREF="XMLTableColumnDefinition.html" title="class in org.dom4j.swing" target="classFrame">XMLTableColumnDefinition</A>
+<BR>
+<A HREF="XMLTableDefinition.html" title="class in org.dom4j.swing" target="classFrame">XMLTableDefinition</A>
+<BR>
+<A HREF="XMLTableModel.html" title="class in org.dom4j.swing" target="classFrame">XMLTableModel</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/package-summary.html b/docs/apidocs/org/dom4j/swing/package-summary.html
new file mode 100644
index 0000000..5ba2b40
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/package-summary.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.swing (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.swing package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.swing (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/pattern/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/tree/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.swing
+</H2>
+A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels.
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing">BranchTreeNode</A></B></TD>
+<TD>
+ <code>BranchTreeNode</code> implements the Swing TreeNode interface to bind
+ dom4j XML Branch nodes (i.e. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing">DocumentTreeModel</A></B></TD>
+<TD>
+ <code>DocumentTreeModel</code> implements a Swing TreeModel for a dom4j XML
+ Document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing">LeafTreeNode</A></B></TD>
+<TD>
+ <code>LeafTreeNode</code> implements the Swing TreeNode interface to bind a
+ leaf XML nodes to a Swing TreeModel.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A></B></TD>
+<TD>
+ <code>XMLTableColumnDefinition</code> a column within a table definition.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A></B></TD>
+<TD>
+ <code>XMLTableDefinition</code> represents a table definition based on
+ XPath expression evaluated on an XML document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">XMLTableModel</A></B></TD>
+<TD>
+ <code>XMLTableDefinition</code> repro.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.swing Description
+</H2>
+
+<P>
+<p>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels.</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/pattern/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/tree/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/package-tree.html b/docs/apidocs/org/dom4j/swing/package-tree.html
new file mode 100644
index 0000000..c6a82ba
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/package-tree.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.swing Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.swing Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/pattern/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/tree/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.swing
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html" title="class or interface in javax.swing.table"><B>AbstractTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html" title="class or interface in jav [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="../../../org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing"><B>XMLTableModel</B></A></UL>
+<LI TYPE="circle">class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html" title="class or interface in javax.swing.tree"><B>DefaultTreeModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeModel.html" title="class or interface in javax.swing.t [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="../../../org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing"><B>DocumentTreeModel</B></A></UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="../../../org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing"><B>LeafTreeNode</B></A> (implements javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="../../../org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing"><B>BranchTreeNode</B></A></UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="../../../org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing"><B>XMLTableColumnDefinition</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="../../../org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing"><B>XMLTableDefinition</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, org.jaxen.VariableContext)
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/rule/pattern/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/tree/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/swing/package-use.html b/docs/apidocs/org/dom4j/swing/package-use.html
new file mode 100644
index 0000000..c0b961e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/swing/package-use.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.swing (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.swing (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.swing</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.swing"><B>org.dom4j.swing</B></A></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.swing"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A> used by <A HREF="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/swing/class-use/LeafTreeNode.html#org.dom4j.swing"><B>LeafTreeNode</B></A></B>
+
+<BR>
+          
+ <code>LeafTreeNode</code> implements the Swing TreeNode interface to bind a
+ leaf XML nodes to a Swing TreeModel.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/swing/class-use/XMLTableColumnDefinition.html#org.dom4j.swing"><B>XMLTableColumnDefinition</B></A></B>
+
+<BR>
+          
+ <code>XMLTableColumnDefinition</code> a column within a table definition.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/swing/class-use/XMLTableDefinition.html#org.dom4j.swing"><B>XMLTableDefinition</B></A></B>
+
+<BR>
+          
+ <code>XMLTableDefinition</code> represents a table definition based on
+ XPath expression evaluated on an XML document.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractAttribute.html b/docs/apidocs/org/dom4j/tree/AbstractAttribute.html
new file mode 100644
index 0000000..fd8ac82
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractAttribute.html
@@ -0,0 +1,898 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractAttribute class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractAttribute</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractAttribute</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A>, <A HREF="../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A>, <A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractAttribute</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A><DT>implements <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></DL>
+
+<P>
+<p>
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.21 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractAttribute">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#AbstractAttribute()">AbstractAttribute</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <A HREF="../../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          
+ <code>getName</code> returns the name of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise null is returned returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getNamespacePrefix()">getNamespacePrefix</A></B>()</CODE>
+
+<BR>
+          
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+          
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getQualifiedName()">getQualifiedName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the fully qualified name of this element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          
+ Returns the text of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          
+ Sets the data value of this attribute if this element supports data
+ binding or calls <A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(String)</CODE></A>if it doesn't.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setNamespace(org.dom4j.Namespace)">setNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          
+ Sets the <code>Namespace</code> of this element or if this element is
+ read only then an <code>UnsupportedOperationException</code> is thrown.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setValue(java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Attribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Attribute.html#getQName()">getQName</A>, <A HREF="../../../org/dom4j/Attribute.html#getValue()">getValue</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractAttribute()"><!-- --></A><H3>
+AbstractAttribute</H3>
+<PRE>
+public <B>AbstractAttribute</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNamespace(org.dom4j.Namespace)"><!-- --></A><H3>
+setNamespace</H3>
+<PRE>
+public void <B>setNamespace</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Sets the <code>Namespace</code> of this element or if this element is
+ read only then an <code>UnsupportedOperationException</code> is thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#setNamespace(org.dom4j.Namespace)">setNamespace</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the <code>Namespace</code> to associate with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the text of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setText(java.lang.String)">setText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#setValue(java.lang.String)">setValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - is the new value of this attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <A HREF="../../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getData()">getData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the attribute data</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Sets the data value of this attribute if this element supports data
+ binding or calls <A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(String)</CODE></A>if it doesn't.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#setData(java.lang.Object)">setData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - the attribute data</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - is the visitor in the Visitor Pattern</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespace()"><!-- --></A><H3>
+getNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespace</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise null is returned returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getNamespace()">getNamespace</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>Namespace</code> associated with this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getName</code> returns the name of this node. This is the XML
+ local name of the element, attribute, entity or processing instruction.
+ For CDATA and Text nodes this method will return null.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getName()">getName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespacePrefix()"><!-- --></A><H3>
+getNamespacePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespacePrefix</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getNamespacePrefix()">getNamespacePrefix</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the prefix of the <code>Namespace</code> of this element or an
+         empty <code>String</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getNamespaceURI()">getNamespaceURI</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the URI for the <code>Namespace</code> of this element or an
+         empty <code>String</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQualifiedName()"><!-- --></A><H3>
+getQualifiedName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQualifiedName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the fully qualified name of this element.
+ </p>
+ 
+ <p>
+ This will be the same as the value returned from <A HREF="../../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>
+ if this element has no namespace attached to this element or an
+ expression of the form
+ 
+ <pre>
+ getNamespacePrefix() + ":" + getName()
+ </pre>
+ 
+ will be returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getQualifiedName()">getQualifiedName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the fully qualified name of the element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the relative path should
+            start. If the context is null or the context is not an
+            ancestor of this node then the path will be absolute and start
+            from the document and so begin with the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing at least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the path should start. If the
+            context is null or the context is not an ancestor of this node
+            then the path will start from the document and so begin with
+            the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing just this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+createXPathResult</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>createXPathResult</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractBranch.html b/docs/apidocs/org/dom4j/tree/AbstractBranch.html
new file mode 100644
index 0000000..c5c8a3e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractBranch.html
@@ -0,0 +1,1418 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractBranch (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractBranch class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractBranch (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractBranch.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractBranch.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractBranch</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractBranch</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractBranch</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A><DT>implements <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></DL>
+
+<P>
+<p>
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.44 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractBranch">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#AbstractBranch()">AbstractBranch</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Comment)">add</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Adds the given <code>Comment</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Element)">add</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Adds the given <code>Element</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Node)">add</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Adds the given <code>Node</code> or throws <A HREF="../../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><CODE>IllegalAddException</CODE></A>
+ if the given node is not of a valid type. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.ProcessingInstruction)">add</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Adds the given <code>ProcessingInstruction</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>to
+ this branch and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given qualified name and
+ namespace URI to this branch and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addNode(int, org.dom4j.Node)">addNode</A></B>(int index,
+        <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addNode(org.dom4j.Node)">addNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch)</CODE>
+
+<BR>
+          Appends the content of the given branch to this branch instance. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#childAdded(org.dom4j.Node)">childAdded</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when a new child node has been added to me to allow any parent
+ relationships to be created or events to be fired.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#childRemoved(org.dom4j.Node)">childRemoved</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when a child node has been removed to allow any parent
+ relationships to be deleted or events to be fired.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#content()">content</A></B>()</CODE>
+
+<BR>
+          
+ Returns the content nodes of this branch as a backed <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that
+ the content of this branch may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#contentList()">contentList</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#contentRemoved()">contentRemoved</A></B>()</CODE>
+
+<BR>
+          Called when the given List content has been removed so each node should
+ have its parent and document relationships cleared</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#createContentList()">createContentList</A></B>()</CODE>
+
+<BR>
+          A Factory Method pattern which creates a List implementation used to
+ store content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#createContentList(int)">createContentList</A></B>(int size)</CODE>
+
+<BR>
+          A Factory Method pattern which creates a List implementation used to
+ store content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#createEmptyList()">createEmptyList</A></B>()</CODE>
+
+<BR>
+          A Factory Method pattern which creates an empty a BackedList
+ implementation</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#createResultList()">createResultList</A></B>()</CODE>
+
+<BR>
+          A Factory Method pattern which creates a BackedList implementation used
+ to store results of a filtered content query.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#createSingleResultList(java.lang.Object)">createSingleResultList</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> result)</CODE>
+
+<BR>
+          A Factory Method pattern which creates a BackedList implementation which
+ contains a single result</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#elementByID(java.lang.String)">elementByID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementID)</CODE>
+
+<BR>
+          Returns the element of the given ID attribute value. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#elementID(org.dom4j.Element)">elementID</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#getContentAsStringValue(java.lang.Object)">getContentAsStringValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> content)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#getContentAsText(java.lang.Object)">getContentAsText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> content)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          
+ Returns the text of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#getTextTrim()">getTextTrim</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#hasContent()">hasContent</A></B>()</CODE>
+
+<BR>
+          
+ <code>hasContent</code> returns true if this node is a Branch (either
+ an Element or a Document) and it contains at least one content node such
+ as a child Element or Text node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#indexOf(org.dom4j.Node)">indexOf</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#invalidNodeTypeAddException(org.dom4j.Node)">invalidNodeTypeAddException</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when an invalid node has been added. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#node(int)">node</A></B>(int index)</CODE>
+
+<BR>
+          Returns the <code>Node</code> at the specified index position.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#nodeCount()">nodeCount</A></B>()</CODE>
+
+<BR>
+          Returns the number of <code>Node</code> instances that this branch
+ contains.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#nodeIterator()">nodeIterator</A></B>()</CODE>
+
+<BR>
+          Returns an iterator through the content nodes of this branch</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Comment)">remove</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Removes the given <code>Comment</code> if the node is an immediate
+ child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Element)">remove</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Node)">remove</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Removes the given <code>Node</code> if the node is an immediate child
+ of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.ProcessingInstruction)">remove</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Removes the given <code>ProcessingInstruction</code> if the node is an
+ immediate child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html#setProcessingInstructions(java.util.List)">setProcessingInstructions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> listOfPIs)</CODE>
+
+<BR>
+          Sets all the processing instructions for this branch</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#clearContent()">clearContent</A>, <A HREF="../../../org/dom4j/Branch.html#normalize()">normalize</A>, <A HREF="../../../org/dom4j/Branch.html#processingInstruction(java.lang.String)">processingInstruction</A>, <A HREF="../../../org/dom4j/Branch.html#processingInstructions()">processingInstructions</A>, <A HREF="../../../org/dom4j/Branch.html#processingInstructions(java.lang.String)">processingInstructions</A>, <A HREF="../../../org/dom4j/ [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DEFAULT_CONTENT_LIST_SIZE"><!-- --></A><H3>
+DEFAULT_CONTENT_LIST_SIZE</H3>
+<PRE>
+protected static final int <B>DEFAULT_CONTENT_LIST_SIZE</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.tree.AbstractBranch.DEFAULT_CONTENT_LIST_SIZE">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractBranch()"><!-- --></A><H3>
+AbstractBranch</H3>
+<PRE>
+public <B>AbstractBranch</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasContent()"><!-- --></A><H3>
+hasContent</H3>
+<PRE>
+public boolean <B>hasContent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>hasContent</code> returns true if this node is a Branch (either
+ an Element or a Document) and it contains at least one content node such
+ as a child Element or Text node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#hasContent()">hasContent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#hasContent()">hasContent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="content()"><!-- --></A><H3>
+content</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>content</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD><p>
+ Returns the content nodes of this branch as a backed <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that
+ the content of this branch may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. The <code>List</code> is backed by the
+ <code>Branch</code> so that changes to the list are reflected in the
+ branch and vice versa.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#content()">content</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the nodes that this branch contains as a <code>List</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the text of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentAsText(java.lang.Object)"><!-- --></A><H3>
+getContentAsText</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getContentAsText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> content)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>content</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the text value of the given content object as text which returns
+         the text value of CDATA, Entity or Text nodes</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentAsStringValue(java.lang.Object)"><!-- --></A><H3>
+getContentAsStringValue</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getContentAsStringValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> content)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>content</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the XPath defined string-value of the given content object</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTextTrim()"><!-- --></A><H3>
+getTextTrim</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getTextTrim</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setProcessingInstructions(java.util.List)"><!-- --></A><H3>
+setProcessingInstructions</H3>
+<PRE>
+public void <B>setProcessingInstructions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> listOfPIs)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Sets all the processing instructions for this branch
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#setProcessingInstructions(java.util.List)">setProcessingInstructions</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listOfPIs</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(java.lang.String)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String)">addElement</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name for the <code>Element</code> node.
+<DT><B>Returns:</B><DD>the newly added <code>Element</code> node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds a new <code>Element</code> node with the given qualified name and
+ namespace URI to this branch and returns a reference to the new node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qualifiedName</CODE> - is the fully qualified name of the Element<DD><CODE>namespaceURI</CODE> - is the URI of the namespace to use
+<DT><B>Returns:</B><DD>the newly added <code>Element</code> node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(org.dom4j.QName)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds a new <code>Element</code> node with the given <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>to
+ this branch and returns a reference to the new node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qname</CODE> - is the qualified name for the <code>Element</code> node.
+<DT><B>Returns:</B><DD>the newly added <code>Element</code> node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Node)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds the given <code>Node</code> or throws <A HREF="../../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><CODE>IllegalAddException</CODE></A>
+ if the given node is not of a valid type. This is a polymorphic method
+ which will call the typesafe method for the node type such as
+ add(Element) or add(Comment).
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Node)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the given node to add</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Node)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the given <code>Node</code> if the node is an immediate child
+ of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead. This
+ is a polymorphic method which will call the typesafe method for the node
+ type such as remove(Element) or remove(Comment).
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Node)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - is the given node to be removed
+<DT><B>Returns:</B><DD>true if the node was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Comment)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds the given <code>Comment</code> to this branch. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Comment)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - is the comment to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Element)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds the given <code>Element</code> to this branch. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Element)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - is the element to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds the given <code>ProcessingInstruction</code> to this branch. If
+ the given node already has a parent defined then an
+ <code>IllegalAddException</code> will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pi</CODE> - is the processing instruction to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Comment)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the given <code>Comment</code> if the node is an immediate
+ child of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Comment)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - is the comment to be removed
+<DT><B>Returns:</B><DD>true if the comment was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Element)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Element)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - is the element to be removed
+<DT><B>Returns:</B><DD>true if the element was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the given <code>ProcessingInstruction</code> if the node is an
+ immediate child of this branch. If the given node is not an immediate
+ child of this branch then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used
+ instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.ProcessingInstruction)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pi</CODE> - is the processing instruction to be removed
+<DT><B>Returns:</B><DD>true if the processing instruction was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementByID(java.lang.String)"><!-- --></A><H3>
+elementByID</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>elementByID</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementID)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the element of the given ID attribute value. If this tree is
+ capable of understanding which attribute value should be used for the ID
+ then it should be used, otherwise this method should return null.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elementID</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendContent(org.dom4j.Branch)"><!-- --></A><H3>
+appendContent</H3>
+<PRE>
+public void <B>appendContent</B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Appends the content of the given branch to this branch instance. This
+ method behaves like the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html#addAll(java.util.Collection)" title="class or interface in java.util"><CODE>Collection.addAll(java.util.Collection)</CODE></A> method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>branch</CODE> - is the branch whose content will be added to me.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="node(int)"><!-- --></A><H3>
+node</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>node</B>(int index)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the <code>Node</code> at the specified index position.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#node(int)">node</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - the index of the node to return.
+<DT><B>Returns:</B><DD>the <code>Node</code> at the specified position.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="nodeCount()"><!-- --></A><H3>
+nodeCount</H3>
+<PRE>
+public int <B>nodeCount</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the number of <code>Node</code> instances that this branch
+ contains.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#nodeCount()">nodeCount</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of nodes this branch contains</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="indexOf(org.dom4j.Node)"><!-- --></A><H3>
+indexOf</H3>
+<PRE>
+public int <B>indexOf</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#indexOf(org.dom4j.Node)">indexOf</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - the content child node to find.
+<DT><B>Returns:</B><DD>the index of the given node starting at 0 or -1 if the node is
+         not a child node of this branch</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="nodeIterator()"><!-- --></A><H3>
+nodeIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>nodeIterator</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns an iterator through the content nodes of this branch
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#nodeIterator()">nodeIterator</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an iterator through the content nodes of this branch</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementID(org.dom4j.Element)"><!-- --></A><H3>
+elementID</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementID</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the ID of the given <code>Element</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contentList()"><!-- --></A><H3>
+contentList</H3>
+<PRE>
+protected abstract <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>contentList</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the internal List used to manage the content</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createContentList()"><!-- --></A><H3>
+createContentList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createContentList</B>()</PRE>
+<DL>
+<DD>A Factory Method pattern which creates a List implementation used to
+ store content
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createContentList(int)"><!-- --></A><H3>
+createContentList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createContentList</B>(int size)</PRE>
+<DL>
+<DD>A Factory Method pattern which creates a List implementation used to
+ store content
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>size</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createResultList()"><!-- --></A><H3>
+createResultList</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A> <B>createResultList</B>()</PRE>
+<DL>
+<DD>A Factory Method pattern which creates a BackedList implementation used
+ to store results of a filtered content query.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createSingleResultList(java.lang.Object)"><!-- --></A><H3>
+createSingleResultList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createSingleResultList</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> result)</PRE>
+<DL>
+<DD>A Factory Method pattern which creates a BackedList implementation which
+ contains a single result
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>result</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEmptyList()"><!-- --></A><H3>
+createEmptyList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createEmptyList</B>()</PRE>
+<DL>
+<DD>A Factory Method pattern which creates an empty a BackedList
+ implementation
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNode(org.dom4j.Node)"><!-- --></A><H3>
+addNode</H3>
+<PRE>
+protected abstract void <B>addNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNode(int, org.dom4j.Node)"><!-- --></A><H3>
+addNode</H3>
+<PRE>
+protected abstract void <B>addNode</B>(int index,
+                                <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeNode(org.dom4j.Node)"><!-- --></A><H3>
+removeNode</H3>
+<PRE>
+protected abstract boolean <B>removeNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="childAdded(org.dom4j.Node)"><!-- --></A><H3>
+childAdded</H3>
+<PRE>
+protected abstract void <B>childAdded</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Called when a new child node has been added to me to allow any parent
+ relationships to be created or events to be fired.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="childRemoved(org.dom4j.Node)"><!-- --></A><H3>
+childRemoved</H3>
+<PRE>
+protected abstract void <B>childRemoved</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Called when a child node has been removed to allow any parent
+ relationships to be deleted or events to be fired.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contentRemoved()"><!-- --></A><H3>
+contentRemoved</H3>
+<PRE>
+protected void <B>contentRemoved</B>()</PRE>
+<DL>
+<DD>Called when the given List content has been removed so each node should
+ have its parent and document relationships cleared
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="invalidNodeTypeAddException(org.dom4j.Node)"><!-- --></A><H3>
+invalidNodeTypeAddException</H3>
+<PRE>
+protected void <B>invalidNodeTypeAddException</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Called when an invalid node has been added. Throws an <A HREF="../../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><CODE>IllegalAddException</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/IllegalAddException.html" title="class in org.dom4j">IllegalAddException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractBranch.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractBranch.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractCDATA.html b/docs/apidocs/org/dom4j/tree/AbstractCDATA.html
new file mode 100644
index 0000000..8da2096
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractCDATA.html
@@ -0,0 +1,458 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractCDATA (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractCDATA class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractCDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractCDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractCDATA</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractCDATA</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>, <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serial [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractCDATA</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A><DT>implements <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></DL>
+
+<P>
+<p>
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.12 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractCDATA">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#AbstractCDATA()">AbstractCDATA</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getName()">getName</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName() [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractCDATA()"><!-- --></A><H3>
+AbstractCDATA</H3>
+<PRE>
+public <B>AbstractCDATA</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - is the visitor in the Visitor Pattern</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractCDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractCharacterData.html b/docs/apidocs/org/dom4j/tree/AbstractCharacterData.html
new file mode 100644
index 0000000..9dd9eb2
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractCharacterData.html
@@ -0,0 +1,396 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractCharacterData (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractCharacterData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractCharacterData (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractCharacterData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractCharacterData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractCharacterData</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractCharacterData</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractCharacterData</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A><DT>implements <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></DL>
+
+<P>
+<p>
+ <code>AbstractCharacterData</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.12 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractCharacterData">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#AbstractCharacterData()">AbstractCharacterData</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Appends the given text to this nodes text value. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractCharacterData()"><!-- --></A><H3>
+AbstractCharacterData</H3>
+<PRE>
+public <B>AbstractCharacterData</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the relative path should
+            start. If the context is null or the context is not an
+            ancestor of this node then the path will be absolute and start
+            from the document and so begin with the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing at least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the path should start. If the
+            context is null or the context is not an ancestor of this node
+            then the path will start from the document and so begin with
+            the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing just this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendText(java.lang.String)"><!-- --></A><H3>
+appendText</H3>
+<PRE>
+public void <B>appendText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></CODE></B></DD>
+<DD>Appends the given text to this nodes text value. Calling this method is
+ equivalent of the code <code>node.setText(node.getText() + text)</code>
+ but allows for possible implementation optimisations (such as a text
+ based node storing a StringBuffer internally
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - the text to append</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractCharacterData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractCharacterData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractComment.html b/docs/apidocs/org/dom4j/tree/AbstractComment.html
new file mode 100644
index 0000000..52d6594
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractComment.html
@@ -0,0 +1,519 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractComment (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractComment class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractComment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractComment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractComment</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractComment</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Se [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractComment</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A><DT>implements <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></DL>
+
+<P>
+<p>
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.13 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractComment">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#AbstractComment()">AbstractComment</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractComment.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getName()">getName</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName() [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractComment()"><!-- --></A><H3>
+AbstractComment</H3>
+<PRE>
+public <B>AbstractComment</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</ [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree" [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - is the visitor in the Visitor Pattern</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractComment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractDocument.html b/docs/apidocs/org/dom4j/tree/AbstractDocument.html
new file mode 100644
index 0000000..620fc2f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractDocument.html
@@ -0,0 +1,1135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractDocument (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractDocument class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractDocument (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractDocument.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractDocument</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractDocument</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.h [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractDocument</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A><DT>implements <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></DL>
+
+<P>
+<p>
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.33 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractDocument">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#encoding">encoding</A></B></CODE>
+
+<BR>
+          The encoding of this document as stated in the XML declaration</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#AbstractDocument()">AbstractDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> method is the <code>Visitor Pattern</code>
+ method.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#add(org.dom4j.Element)">add</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Adds the given <code>Element</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addComment(java.lang.String)">addComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</CODE>
+
+<BR>
+          Adds a new <code>Comment</code> node with the given text to this
+ branch.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(org.dom4j.QName)">addElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>to
+ this branch and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(java.lang.String, java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given qualified name and
+ namespace URI to this branch and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>asXPathResult</code> returns a version of this node which is
+ capable of being an XPath result. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#checkAddElementAllowed(org.dom4j.Element)">checkAddElementAllowed</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#childAdded(org.dom4j.Node)">childAdded</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when a new child node has been added to me to allow any parent
+ relationships to be created or events to be fired.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#childRemoved(org.dom4j.Node)">childRemoved</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when a child node has been removed to allow any parent
+ relationships to be deleted or events to be fired.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getStringValue()">getStringValue</A></B>()</CODE>
+
+<BR>
+          Returns the XPath string-value of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getXMLEncoding()">getXMLEncoding</A></B>()</CODE>
+
+<BR>
+          Return the encoding of this document, as part of the XML declaration This
+ is <code>null</code> when unspecified or when it is not known (such as
+ when the Document was created in memory) or when the implementation does
+ not support this operation.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+          Puts all <code>Text</code> nodes in the full depth of the sub-tree
+ underneath this <code>Node</code>, including attribute nodes, into a
+ "normal" form where only structure (e.g., elements, comments, processing
+ instructions, CDATA sections, and entity references) separates
+ <code>Text</code> nodes, i.e., there are neither adjacent
+ <code>Text</code> nodes nor empty <code>Text</code> nodes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#remove(org.dom4j.Element)">remove</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#rootElementAdded(org.dom4j.Element)">rootElementAdded</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+          Called to set the root element variable</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#setRootElement(org.dom4j.Element)">setRootElement</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+          Sets the root element for this document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#setXMLEncoding(java.lang.String)">setXMLEncoding</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> enc)</CODE>
+
+<BR>
+          Sets the encoding of this document as it will appear in the XML
+ declaration part of the document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> out)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Node)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.ProcessingInstruction)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addNode(int, org.dom4j.No [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPa [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Document"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Document.html#addDocType(java.lang.String, java.lang.String, java.lang.String)">addDocType</A>, <A HREF="../../../org/dom4j/Document.html#getDocType()">getDocType</A>, <A HREF="../../../org/dom4j/Document.html#getEntityResolver()">getEntityResolver</A>, <A HREF="../../../org/dom4j/Document.html#getRootElement()">getRootElement</A>, <A HREF="../../../org/dom4j/Document.html#setDocType(org.dom4j.DocumentType)">setDocType</A>, <A HREF="../../../org/dom4 [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Node)">add</A>, <A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)">add</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#clearContent()">clearContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/ [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getName()">getName</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF=". [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="encoding"><!-- --></A><H3>
+encoding</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>encoding</B></PRE>
+<DL>
+<DD>The encoding of this document as stated in the XML declaration
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractDocument()"><!-- --></A><H3>
+AbstractDocument</H3>
+<PRE>
+public <B>AbstractDocument</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the relative path should
+            start. If the context is null or the context is not an
+            ancestor of this node then the path will be absolute and start
+            from the document and so begin with the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing at least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the path should start. If the
+            context is null or the context is not an ancestor of this node
+            then the path will start from the document and so begin with
+            the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing just this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocument()"><!-- --></A><H3>
+getDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>getDocument</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getDocument()">getDocument</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXMLEncoding()"><!-- --></A><H3>
+getXMLEncoding</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getXMLEncoding</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Return the encoding of this document, as part of the XML declaration This
+ is <code>null</code> when unspecified or when it is not known (such as
+ when the Document was created in memory) or when the implementation does
+ not support this operation.
+ 
+ <p>
+ The way this encoding is retrieved also depends on the way the XML source
+ is parsed. For instance, if the SAXReader is used and if the underlying
+ XMLReader implementation support the
+ <code>org.xml.sax.ext.Locator2</code> interface, the result returned by
+ this method is specified by the <code>getEncoding()</code> method of
+ that interface.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Document.html#getXMLEncoding()">getXMLEncoding</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The encoding of this document, as stated in the XML declaration,
+         or <code>null</code> if unknown.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStringValue()"><!-- --></A><H3>
+getStringValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getStringValue</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the XPath string-value of this node. The behaviour of this method
+ is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+ specification </a>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getStringValue()">getStringValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getStringValue()">getStringValue</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> out)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><p>
+ <code>accept</code> method is the <code>Visitor Pattern</code>
+ method.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - <code>Visitor</code> is the visitor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Puts all <code>Text</code> nodes in the full depth of the sub-tree
+ underneath this <code>Node</code>, including attribute nodes, into a
+ "normal" form where only structure (e.g., elements, comments, processing
+ instructions, CDATA sections, and entity references) separates
+ <code>Text</code> nodes, i.e., there are neither adjacent
+ <code>Text</code> nodes nor empty <code>Text</code> nodes. This can
+ be used to ensure that the DOM view of a document is the same as if it
+ were saved and re-loaded, and is useful when operations (such as XPointer
+ lookups) that depend on a particular document tree structure are to be
+ used.In cases where the document contains <code>CDATASections</code>,
+ the normalize operation alone may not be sufficient, since XPointers do
+ not differentiate between <code>Text</code> nodes and
+ <code>CDATASection</code> nodes.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#normalize()">normalize</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addComment(java.lang.String)"><!-- --></A><H3>
+addComment</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>addComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Adds a new <code>Comment</code> node with the given text to this
+ branch.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Document.html#addComment(java.lang.String)">addComment</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - is the text for the <code>Comment</code> node.
+<DT><B>Returns:</B><DD>this <code>Document</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>addProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Adds a processing instruction for the given target
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Document.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the target of the processing instruction<DD><CODE>data</CODE> - is the textual data (key/value pairs) of the processing
+            instruction
+<DT><B>Returns:</B><DD>this <code>Document</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+addProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>addProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Adds a processing instruction for the given target
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Document.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the target of the processing instruction<DD><CODE>data</CODE> - is a Map of the key / value pairs of the processing
+            instruction
+<DT><B>Returns:</B><DD>this <code>Document</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(java.lang.String)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String)">addElement</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String)">addElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></C [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds a new <code>Element</code> node with the given qualified name and
+ namespace URI to this branch and returns a reference to the new node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in o [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(org.dom4j.QName)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds a new <code>Element</code> node with the given <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>to
+ this branch and returns a reference to the new node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></COD [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRootElement(org.dom4j.Element)"><!-- --></A><H3>
+setRootElement</H3>
+<PRE>
+public void <B>setRootElement</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Sets the root element for this document
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Document.html#setRootElement(org.dom4j.Element)">setRootElement</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>rootElement</CODE> - the new root element for this document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Element)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds the given <code>Element</code> to this branch. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Element)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Element)">add</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Element)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Element)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Element)">remove</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+asXPathResult</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>asXPathResult</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXPathResult</code> returns a version of this node which is
+ capable of being an XPath result. The result of an XPath expression
+ should always support the parent relationship, whether the original XML
+ tree was singly or doubly linked. If the node does not support the parent
+ relationship then a new node will be created which is linked to its
+ parent and returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A>< [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="childAdded(org.dom4j.Node)"><!-- --></A><H3>
+childAdded</H3>
+<PRE>
+protected void <B>childAdded</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></B></DD>
+<DD>Called when a new child node has been added to me to allow any parent
+ relationships to be created or events to be fired.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#childAdded(org.dom4j.Node)">childAdded</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="childRemoved(org.dom4j.Node)"><!-- --></A><H3>
+childRemoved</H3>
+<PRE>
+protected void <B>childRemoved</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></B></DD>
+<DD>Called when a child node has been removed to allow any parent
+ relationships to be deleted or events to be fired.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#childRemoved(org.dom4j.Node)">childRemoved</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="checkAddElementAllowed(org.dom4j.Element)"><!-- --></A><H3>
+checkAddElementAllowed</H3>
+<PRE>
+protected void <B>checkAddElementAllowed</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rootElementAdded(org.dom4j.Element)"><!-- --></A><H3>
+rootElementAdded</H3>
+<PRE>
+protected abstract void <B>rootElementAdded</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</PRE>
+<DL>
+<DD>Called to set the root element variable
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>rootElement</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXMLEncoding(java.lang.String)"><!-- --></A><H3>
+setXMLEncoding</H3>
+<PRE>
+public void <B>setXMLEncoding</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> enc)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Sets the encoding of this document as it will appear in the XML
+ declaration part of the document.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Document.html#setXMLEncoding(java.lang.String)">setXMLEncoding</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>enc</CODE> - the encoding of the document</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractDocument.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractDocumentType.html b/docs/apidocs/org/dom4j/tree/AbstractDocumentType.html
new file mode 100644
index 0000000..3188c3d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractDocumentType.html
@@ -0,0 +1,607 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractDocumentType (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractDocumentType class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractDocumentType (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractDocumentType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractDocumentType</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractDocumentType</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractDocumentType</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A><DT>implements <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></DL>
+
+<P>
+<p>
+ <code>AbstractDocumentType</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.17 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractDocumentType">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#AbstractDocumentType()">AbstractDocumentType</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          
+ <code>getName</code> returns the name of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          Returns the text format of the declarations if applicable, or the empty
+ String</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.DocumentType"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentType.html#getElementName()">getElementName</A>, <A HREF="../../../org/dom4j/DocumentType.html#getExternalDeclarations()">getExternalDeclarations</A>, <A HREF="../../../org/dom4j/DocumentType.html#getInternalDeclarations()">getInternalDeclarations</A>, <A HREF="../../../org/dom4j/DocumentType.html#getPublicID()">getPublicID</A>, <A HREF="../../../org/dom4j/DocumentType.html#getSystemID()">getSystemID</A>, <A HREF="../../../org/dom4j/DocumentTy [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractDocumentType()"><!-- --></A><H3>
+AbstractDocumentType</H3>
+<PRE>
+public <B>AbstractDocumentType</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getName</code> returns the name of this node. This is the XML
+ local name of the element, attribute, entity or processing instruction.
+ For CDATA and Text nodes this method will return null.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getName()">getName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setName(java.lang.String)">setName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the relative path should
+            start. If the context is null or the context is not an
+            ancestor of this node then the path will be absolute and start
+            from the document and so begin with the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing at least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the path should start. If the
+            context is null or the context is not an ancestor of this node
+            then the path will start from the document and so begin with
+            the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing just this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD>Returns the text format of the declarations if applicable, or the empty
+ String
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - is the visitor in the Visitor Pattern</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractDocumentType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractElement.html b/docs/apidocs/org/dom4j/tree/AbstractElement.html
new file mode 100644
index 0000000..21605a8
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractElement.html
@@ -0,0 +1,3724 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractElement (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractElement class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractElement</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractElement</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.htm [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractElement</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A><DT>implements <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></DL>
+
+<P>
+<p>
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.80 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractElement">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_LIST">EMPTY_LIST</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#AbstractElement()">AbstractElement</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> method is the <code>Visitor Pattern</code>
+ method.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Attribute)">add</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Adds the given <code>Attribute</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Adds the given <code>CDATA</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Adds the given <code>Comment</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Adds the given <code>Element</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Entity)">add</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Adds the given <code>Entity</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Namespace)">add</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Adds the given <code>Namespace</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Node)">add</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Adds the given <code>Node</code> or throws <A HREF="../../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><CODE>IllegalAddException</CODE></A>
+ if the given node is not of a valid type. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.ProcessingInstruction)">add</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Adds the given <code>ProcessingInstruction</code> to this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Text)">add</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Adds the given <code>Text</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Adds the attribute value of the given fully qualified name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)">addAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Adds the attribute value of the given local name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addCDATA(java.lang.String)">addCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> cdata)</CODE>
+
+<BR>
+          Adds a new <code>CDATA</code> node with the given text to this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addComment(java.lang.String)">addComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</CODE>
+
+<BR>
+          Adds a new <code>Comment</code> node with the given text to this
+ element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addElement(java.lang.String)">addElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addEntity(java.lang.String, java.lang.String)">addEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a new <code>Entity</code> node with the given name and text to
+ this element and returns a reference to the new node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#additionalNamespaces()">additionalNamespaces</A></B>()</CODE>
+
+<BR>
+          
+ Returns any additional namespaces declarations for this element other
+ than namespace returned via the <A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespace()"><CODE>getNamespace()</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#additionalNamespaces(java.lang.String)">additionalNamespaces</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultNamespaceURI)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNamespace(java.lang.String, java.lang.String)">addNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          Adds a namespace to this element for use by its child content</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNewNode(int, org.dom4j.Node)">addNewNode</A></B>(int index,
+           <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNewNode(org.dom4j.Node)">addNewNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Like addNode() but does not require a parent check</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNode(int, org.dom4j.Node)">addNode</A></B>(int index,
+        <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNode(org.dom4j.Node)">addNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+          Adds a processing instruction for the given target</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#addText(java.lang.String)">addText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Adds a new <code>Text</code> node with the given text to this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#appendAttributes(org.dom4j.Element)">appendAttributes</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Appends the attributes of the given element to me. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(int)">attribute</A></B>(int index)</CODE>
+
+<BR>
+          Returns the attribute at the specified indexGets the</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the attribute with the given name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(java.lang.String, org.dom4j.Namespace)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeCount()">attributeCount</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeIterator()">attributeIterator</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeList()">attributeList</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeList(int)">attributeList</A></B>(int attributeCount)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributes()">attributes</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>instances this element contains as a backed
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that the attributes may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeValue(org.dom4j.QName)">attributeValue</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given fully
+ qualified name or null if there is no such attribute or the empty string
+ if the attribute value is empty.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeValue(org.dom4j.QName, java.lang.String)">attributeValue</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given fully
+ qualified name or the default value if there is no such attribute value.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeValue(java.lang.String)">attributeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given name
+ and any namespace or null if there is no such attribute or the empty
+ string if the attribute value is empty.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeValue(java.lang.String, java.lang.String)">attributeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</CODE>
+
+<BR>
+          
+ This returns the attribute value for the attribute with the given name
+ and any namespace or the default value if there is no such attribute
+ value.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#childAdded(org.dom4j.Node)">childAdded</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when a new child node is added to create any parent relationships</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#childRemoved(org.dom4j.Node)">childRemoved</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Called when a child node has been removed to allow any parent
+ relationships to be deleted or events to be fired.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createAttributeList()">createAttributeList</A></B>()</CODE>
+
+<BR>
+          A Factory Method pattern which creates a List implementation used to
+ store attributes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createAttributeList(int)">createAttributeList</A></B>(int size)</CODE>
+
+<BR>
+          A Factory Method pattern which creates a List implementation used to
+ store attributes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createCopy()">createCopy</A></B>()</CODE>
+
+<BR>
+          
+ This returns a deep clone of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createCopy(org.dom4j.QName)">createCopy</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ Creates a deep copy of this element with the given fully qualified name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createCopy(java.lang.String)">createCopy</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Creates a deep copy of this element with the given local name The new
+ element is detached from its parent, and getParent() on the clone will
+ return null.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#createSingleIterator(java.lang.Object)">createSingleIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> result)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#declaredNamespaces()">declaredNamespaces</A></B>()</CODE>
+
+<BR>
+          
+ Returns all the namespaces declared by this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Returns the first element for the given fully qualified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(java.lang.String)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the first element for the given local name and any namespace.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(java.lang.String, org.dom4j.Namespace)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementIterator()">elementIterator</A></B>()</CODE>
+
+<BR>
+          Returns an iterator over all this elements child elements.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementIterator(org.dom4j.QName)">elementIterator</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Returns an iterator over the elements contained in this element which
+ match the given fully qualified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementIterator(java.lang.String)">elementIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns an iterator over the elements contained in this element which
+ match the given local name and any namespace.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementIterator(java.lang.String, org.dom4j.Namespace)">elementIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elements()">elements</A></B>()</CODE>
+
+<BR>
+          
+ Returns the elements contained in this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elements(org.dom4j.QName)">elements</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ Returns the elements contained in this element with the given fully
+ qualified name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elements(java.lang.String)">elements</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Returns the elements contained in this element with the given local name
+ and any namespace. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elements(java.lang.String, org.dom4j.Namespace)">elements</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+         <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementText(org.dom4j.QName)">elementText</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementText(java.lang.String)">elementText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementTextTrim(org.dom4j.QName)">elementTextTrim</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#elementTextTrim(java.lang.String)">elementTextTrim</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#ensureAttributesCapacity(int)">ensureAttributesCapacity</A></B>(int minCapacity)</CODE>
+
+<BR>
+          Ensures that the list of attributes has the given size</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          Accesses the data of this element which may implement data typing
+ bindings such as XML Schema or Java Bean bindings or will return the same
+ value as <A HREF="../../../org/dom4j/tree/AbstractBranch.html#getText()"><CODE>AbstractBranch.getText()</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          
+ <code>getName</code> returns the name of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespace()">getNamespace</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise <code>Namespace.NO_NAMESPACE</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> which is mapped to the given prefix
+ or null if it could not be found.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespaceForURI(java.lang.String)">getNamespaceForURI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> which is mapped to the given URI or
+ null if it could not be found. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespacePrefix()">getNamespacePrefix</A></B>()</CODE>
+
+<BR>
+          
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespacesForURI(java.lang.String)">getNamespacesForURI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          
+ Returns the all namespaces which are mapped to the given URI or an empty
+ list if no such namespaces could be found.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespaceURI()">getNamespaceURI</A></B>()</CODE>
+
+<BR>
+          
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getQName(java.lang.String)">getQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> for the given qualified name, using the
+ namespace URI in scope for the given prefix of the qualified name or the
+ default namespace if the qualified name has no prefix.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getQualifiedName()">getQualifiedName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the fully qualified name of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getStringValue()">getStringValue</A></B>()</CODE>
+
+<BR>
+          Returns the XPath string-value of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getXPathNameStep()">getXPathNameStep</A></B>()</CODE>
+
+<BR>
+          Returns the XPath expression to match this Elements name which is
+ getQualifiedName() if there is a namespace prefix defined or if no
+ namespace is present then it is getName() or if a namespace is defined
+ with no prefix then the expression is [name()='X'] where X = getName().</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#getXPathResult(int)">getXPathResult</A></B>(int index)</CODE>
+
+<BR>
+          Returns a node at the given index suitable for an XPath result set. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#hasMixedContent()">hasMixedContent</A></B>()</CODE>
+
+<BR>
+          
+ Returns true if this <code>Element</code> has mixed content. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#indexOf(org.dom4j.Node)">indexOf</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#isRootElement()">isRootElement</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#isTextOnly()">isTextOnly</A></B>()</CODE>
+
+<BR>
+          
+ Returns true if this <code>Element</code> has text only content.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#node(int)">node</A></B>(int index)</CODE>
+
+<BR>
+          Returns the <code>Node</code> at the specified index position.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#nodeCount()">nodeCount</A></B>()</CODE>
+
+<BR>
+          Returns the number of <code>Node</code> instances that this branch
+ contains.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#nodeIterator()">nodeIterator</A></B>()</CODE>
+
+<BR>
+          Returns an iterator through the content nodes of this branch</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#normalize()">normalize</A></B>()</CODE>
+
+<BR>
+          Puts all <code>Text</code> nodes in the full depth of the sub-tree
+ underneath this <code>Node</code>, including attribute nodes, into a
+ "normal" form where only structure (e.g., elements, comments, processing
+ instructions, CDATA sections, and entity references) separates
+ <code>Text</code> nodes, i.e., there are neither adjacent
+ <code>Text</code> nodes nor empty <code>Text</code> nodes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#processingInstruction(java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#processingInstructions()">processingInstructions</A></B>()</CODE>
+
+<BR>
+          
+ Returns a list of all the processing instructions in this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#processingInstructions(java.lang.String)">processingInstructions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          
+ Returns a list of the processing instructions for the given target. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Attribute)">remove</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Removes the given <code>Attribute</code> from this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.CDATA)">remove</A></B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</CODE>
+
+<BR>
+          Removes the given <code>CDATA</code> if the node is an immediate child
+ of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Comment)">remove</A></B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</CODE>
+
+<BR>
+          Removes the given <code>Comment</code> if the node is an immediate
+ child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Element)">remove</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Entity)">remove</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</CODE>
+
+<BR>
+          Removes the given <code>Entity</code> if the node is an immediate child
+ of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Namespace)">remove</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Removes the given <code>Namespace</code> if the node is an immediate
+ child of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Node)">remove</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Removes the given <code>Node</code> if the node is an immediate child
+ of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.ProcessingInstruction)">remove</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</CODE>
+
+<BR>
+          Removes the given <code>ProcessingInstruction</code> if the node is an
+ immediate child of this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Text)">remove</A></B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</CODE>
+
+<BR>
+          Removes the given <code>Text</code> if the node is an immediate child
+ of this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#removeProcessingInstruction(java.lang.String)">removeProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          Removes the processing instruction for the given target if it exists</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#setAttributes(org.xml.sax.Attributes, org.dom4j.tree.NamespaceStack, boolean)">setAttributes</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes,
+              <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack,
+              boolean noNamespaceAttributes)</CODE>
+
+<BR>
+          This method provides a more optimal way of setting all the attributes on
+ an Element particularly for use in <A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><CODE>SAXReader</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#setAttributeValue(org.dom4j.QName, java.lang.String)">setAttributeValue</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><CODE>addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#setAttributeValue(java.lang.String, java.lang.String)">setAttributeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><CODE>addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../../org/dom4j/tree/AbstractElement.html#setText(java.lang.String)"><CODE>setText(java.lang.String)</CODE></A>if it doesn't</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#setNamespace(org.dom4j.Namespace)">setNamespace</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractElement.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> out)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Element"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Element.html#getQName()">getQName</A>, <A HREF="../../../org/dom4j/Element.html#getText()">getText</A>, <A HREF="../../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A>, <A HREF="../../../org/dom4j/Element.html#setAttributes(java.util.List)">setAttributes</A>, <A HREF="../../../org/dom4j/Element.html#setQName(org.dom4j.QName)">setQName</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#clearContent()">clearContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.S [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="EMPTY_LIST"><!-- --></A><H3>
+EMPTY_LIST</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>EMPTY_LIST</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="EMPTY_ITERATOR"><!-- --></A><H3>
+EMPTY_ITERATOR</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>EMPTY_ITERATOR</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="VERBOSE_TOSTRING"><!-- --></A><H3>
+VERBOSE_TOSTRING</H3>
+<PRE>
+protected static final boolean <B>VERBOSE_TOSTRING</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.tree.AbstractElement.VERBOSE_TOSTRING">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="USE_STRINGVALUE_SEPARATOR"><!-- --></A><H3>
+USE_STRINGVALUE_SEPARATOR</H3>
+<PRE>
+protected static final boolean <B>USE_STRINGVALUE_SEPARATOR</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#org.dom4j.tree.AbstractElement.USE_STRINGVALUE_SEPARATOR">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractElement()"><!-- --></A><H3>
+AbstractElement</H3>
+<PRE>
+public <B>AbstractElement</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRootElement()"><!-- --></A><H3>
+isRootElement</H3>
+<PRE>
+public boolean <B>isRootElement</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#isRootElement()">isRootElement</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this element is the root element of a document and this
+         element supports the parent relationship else false.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setName(java.lang.String)">setName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNamespace(org.dom4j.Namespace)"><!-- --></A><H3>
+setNamespace</H3>
+<PRE>
+public void <B>setNamespace</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPathNameStep()"><!-- --></A><H3>
+getXPathNameStep</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getXPathNameStep</B>()</PRE>
+<DL>
+<DD>Returns the XPath expression to match this Elements name which is
+ getQualifiedName() if there is a namespace prefix defined or if no
+ namespace is present then it is getName() or if a namespace is defined
+ with no prefix then the expression is [name()='X'] where X = getName().
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the relative path should
+            start. If the context is null or the context is not an
+            ancestor of this node then the path will be absolute and start
+            from the document and so begin with the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing at least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the path should start. If the
+            context is null or the context is not an ancestor of this node
+            then the path will start from the document and so begin with
+            the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing just this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> out)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><p>
+ <code>accept</code> method is the <code>Visitor Pattern</code>
+ method.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - <code>Visitor</code> is the visitor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespace()"><!-- --></A><H3>
+getNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespace</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>Namespace</code> of this element if one exists
+ otherwise <code>Namespace.NO_NAMESPACE</code> is returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getNamespace()">getNamespace</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>Namespace</code> associated with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getName</code> returns the name of this node. This is the XML
+ local name of the element, attribute, entity or processing instruction.
+ For CDATA and Text nodes this method will return null.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getName()">getName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespacePrefix()"><!-- --></A><H3>
+getNamespacePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespacePrefix</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the namespace prefix of this element if one exists otherwise an
+ empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getNamespacePrefix()">getNamespacePrefix</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the prefix of the <code>Namespace</code> of this element or an
+         empty <code>String</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceURI()"><!-- --></A><H3>
+getNamespaceURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceURI</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the URI mapped to the namespace of this element if one exists
+ otherwise an empty <code>String</code> is returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getNamespaceURI()">getNamespaceURI</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the URI for the <code>Namespace</code> of this element or an
+         empty <code>String</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQualifiedName()"><!-- --></A><H3>
+getQualifiedName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getQualifiedName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the fully qualified name of this element. This will be the same
+ as the value returned from <A HREF="../../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>if this element has no
+ namespace attached to this element or an expression of the form
+ 
+ <pre>
+ getNamespacePrefix() + ":" + getName()
+ </pre>
+ 
+ will be returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getQualifiedName()">getQualifiedName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the fully qualified name of the element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Accesses the data of this element which may implement data typing
+ bindings such as XML Schema or Java Bean bindings or will return the same
+ value as <A HREF="../../../org/dom4j/Element.html#getText()"><CODE>Element.getText()</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getData()">getData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(java.lang.String)</CODE></A>if it doesn't
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#setData(java.lang.Object)">setData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="node(int)"><!-- --></A><H3>
+node</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>node</B>(int index)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the <code>Node</code> at the specified index position.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#node(int)">node</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#node(int)">node</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="indexOf(org.dom4j.Node)"><!-- --></A><H3>
+indexOf</H3>
+<PRE>
+public int <B>indexOf</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#indexOf(org.dom4j.Node)">indexOf</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#indexOf(org.dom4j.Node)">indexOf</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="nodeCount()"><!-- --></A><H3>
+nodeCount</H3>
+<PRE>
+public int <B>nodeCount</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the number of <code>Node</code> instances that this branch
+ contains.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#nodeCount()">nodeCount</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#nodeCount()">nodeCount</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="nodeIterator()"><!-- --></A><H3>
+nodeIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>nodeIterator</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns an iterator through the content nodes of this branch
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#nodeIterator()">nodeIterator</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#nodeIterator()">nodeIterator</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(java.lang.String)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the first element for the given local name and any namespace.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#element(java.lang.String)">element</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the first element with the given local name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(org.dom4j.QName)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the first element for the given fully qualified name.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#element(org.dom4j.QName)">element</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name to search for
+<DT><B>Returns:</B><DD>the first element with the given fully qualified name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                       <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elements()"><!-- --></A><H3>
+elements</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>elements</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the elements contained in this element. If this element does not
+ contain any elements then this method returns an empty list. The list is
+ backed by the element such that changes to the list will be reflected in
+ the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elements()">elements</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a list of all the elements in this element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elements(java.lang.String)"><!-- --></A><H3>
+elements</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>elements</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the elements contained in this element with the given local name
+ and any namespace. If no elements are found then this method returns an
+ empty list. The list is backed by the element such that changes to the
+ list will be reflected in the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elements(java.lang.String)">elements</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a list of all the elements in this element for the given local
+         name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elements(org.dom4j.QName)"><!-- --></A><H3>
+elements</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>elements</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the elements contained in this element with the given fully
+ qualified name. If no elements are found then this method returns an
+ empty list. The list is backed by the element such that changes to the
+ list will be reflected in the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elements(org.dom4j.QName)">elements</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name to search for
+<DT><B>Returns:</B><DD>a list of all the elements in this element for the given fully
+         qualified name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elements(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+elements</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>elements</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                     <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementIterator()"><!-- --></A><H3>
+elementIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>elementIterator</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns an iterator over all this elements child elements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elementIterator()">elementIterator</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an iterator over the contained elements</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementIterator(java.lang.String)"><!-- --></A><H3>
+elementIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>elementIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns an iterator over the elements contained in this element which
+ match the given local name and any namespace.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elementIterator(java.lang.String)">elementIterator</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>an iterator over the contained elements matching the given local
+         name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementIterator(org.dom4j.QName)"><!-- --></A><H3>
+elementIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>elementIterator</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns an iterator over the elements contained in this element which
+ match the given fully qualified name.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elementIterator(org.dom4j.QName)">elementIterator</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name to search for
+<DT><B>Returns:</B><DD>an iterator over the contained elements matching the given fully
+         qualified name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementIterator(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+elementIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>elementIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> ns)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributes()"><!-- --></A><H3>
+attributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributes</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>instances this element contains as a backed
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that the attributes may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. The <code>List</code> is backed by the
+ <code>Element</code> so that changes to the list are reflected in the
+ element and vice versa.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributes()">attributes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the attributes that this element contains as a <code>List</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeIterator()"><!-- --></A><H3>
+attributeIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>attributeIterator</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributeIterator()">attributeIterator</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an iterator over the attributes of this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(int)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(int index)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the attribute at the specified indexGets the
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(int)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the attribute at the specified index where index >= 0 and
+         index < number of attributes or throws an
+         IndexOutOfBoundsException if the index is not within the
+         allowable range</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeCount()"><!-- --></A><H3>
+attributeCount</H3>
+<PRE>
+public int <B>attributeCount</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributeCount()">attributeCount</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of attributes this element contains</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(java.lang.String)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the attribute with the given name
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(java.lang.String)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the attribute for the given local name in any namespace. If there
+         are more than one attributes with the given local name in
+         different namespaces then the first one is returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(org.dom4j.QName)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(org.dom4j.QName)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name
+<DT><B>Returns:</B><DD>the attribute for the given fully qualified name or null if it
+         could not be found.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(org.xml.sax.Attributes, org.dom4j.tree.NamespaceStack, boolean)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public void <B>setAttributes</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes,
+                          <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack,
+                          boolean noNamespaceAttributes)</PRE>
+<DL>
+<DD>This method provides a more optimal way of setting all the attributes on
+ an Element particularly for use in <A HREF="../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><CODE>SAXReader</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attributes</CODE> - DOCUMENT ME!<DD><CODE>namespaceStack</CODE> - DOCUMENT ME!<DD><CODE>noNamespaceAttributes</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeValue(java.lang.String)"><!-- --></A><H3>
+attributeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>attributeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ This returns the attribute value for the attribute with the given name
+ and any namespace or null if there is no such attribute or the empty
+ string if the attribute value is empty.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributeValue(java.lang.String)">attributeValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute value to be returnd
+<DT><B>Returns:</B><DD>the value of the attribute, null if the attribute does not exist
+         or the empty string</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeValue(org.dom4j.QName)"><!-- --></A><H3>
+attributeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>attributeValue</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ This returns the attribute value for the attribute with the given fully
+ qualified name or null if there is no such attribute or the empty string
+ if the attribute value is empty.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributeValue(org.dom4j.QName)">attributeValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name
+<DT><B>Returns:</B><DD>the value of the attribute, null if the attribute does not exist
+         or the empty string</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeValue(java.lang.String, java.lang.String)"><!-- --></A><H3>
+attributeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>attributeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ This returns the attribute value for the attribute with the given name
+ and any namespace or the default value if there is no such attribute
+ value.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributeValue(java.lang.String, java.lang.String)">attributeValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute value to be returnd<DD><CODE>defaultValue</CODE> - is the default value to be returned if the attribute has no
+            value defined.
+<DT><B>Returns:</B><DD>the value of the attribute or the defaultValue if the attribute
+         has no value defined.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeValue(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+attributeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>attributeValue</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultValue)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ This returns the attribute value for the attribute with the given fully
+ qualified name or the default value if there is no such attribute value.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributeValue(org.dom4j.QName, java.lang.String)">attributeValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name<DD><CODE>defaultValue</CODE> - is the default value to be returned if the attribute has no
+            value defined.
+<DT><B>Returns:</B><DD>the value of the attribute or the defaultValue if the attribute
+         has no value defined.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeValue(java.lang.String, java.lang.String)"><!-- --></A><H3>
+setAttributeValue</H3>
+<PRE>
+public void <B>setAttributeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><CODE>addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<P>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#setAttributeValue(java.lang.String, java.lang.String)">setAttributeValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!<DD><CODE>value</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeValue(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+setAttributeValue</H3>
+<PRE>
+public void <B>setAttributeValue</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>As of version 0.5. Please use <A HREF="../../../org/dom4j/tree/AbstractElement.html#addAttribute(java.lang.String, java.lang.String)"><CODE>addAttribute(String,String)</CODE></A> instead. WILL BE REMOVED IN
+             dom4j-1.6 !!</I>
+<P>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#setAttributeValue(org.dom4j.QName, java.lang.String)">setAttributeValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - DOCUMENT ME!<DD><CODE>value</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Attribute)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds the given <code>Attribute</code> to this element. If the given
+ node already has a parent defined then an
+ <code>IllegalAddException</code> will be thrown. Attributes with null
+ values are silently ignored.
+ 
+ <p>
+ If the value of the attribute is null then this method call will remove
+ any attributes with the QName of this attribute.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.Attribute)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attribute</CODE> - is the attribute to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Attribute)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Removes the given <code>Attribute</code> from this element.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.Attribute)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attribute</CODE> - is the attribute to be removed
+<DT><B>Returns:</B><DD>true if the attribute was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstructions()"><!-- --></A><H3>
+processingInstructions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>processingInstructions</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD><p>
+ Returns a list of all the processing instructions in this branch. The
+ list is backed by this branch so that changes to the list will be
+ reflected in the branch but the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#processingInstructions()">processingInstructions</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a backed list of the processing instructions</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstructions(java.lang.String)"><!-- --></A><H3>
+processingInstructions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>processingInstructions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD><p>
+ Returns a list of the processing instructions for the given target. The
+ list is backed by this branch so that changes to the list will be
+ reflected in the branch but the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#processingInstructions(java.lang.String)">processingInstructions</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a backed list of the processing instructions</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstruction(java.lang.String)"><!-- --></A><H3>
+processingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>processingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#processingInstruction(java.lang.String)">processingInstruction</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the processing instruction for the given target</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeProcessingInstruction(java.lang.String)"><!-- --></A><H3>
+removeProcessingInstruction</H3>
+<PRE>
+public boolean <B>removeProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the processing instruction for the given target if it exists
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#removeProcessingInstruction(java.lang.String)">removeProcessingInstruction</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if a processing instruction was removed else false</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXPathResult(int)"><!-- --></A><H3>
+getXPathResult</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>getXPathResult</B>(int index)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns a node at the given index suitable for an XPath result set. This
+ means the resulting Node will either be null or it will support the
+ parent relationship.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getXPathResult(int)">getXPathResult</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the Node for the given index which will support the parent
+         relationship or null if there is not a node at the given index.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAttribute(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Adds the attribute value of the given local name. If an attribute already
+ exists for the given name it will be replaced. Attributes with null
+ values are silently ignored. If the value of the attribute is null then
+ this method call will remove any attributes with the given name.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addAttribute(java.lang.String, java.lang.String)">addAttribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute whose value is to be added or
+            updated<DD><CODE>value</CODE> - is the attribute's value
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAttribute(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+addAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Adds the attribute value of the given fully qualified name. If an
+ attribute already exists for the given name it will be replaced.
+ Attributes with null values are silently ignored. If the value of the
+ attribute is null then this method call will remove any attributes with
+ the given name.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addAttribute(org.dom4j.QName, java.lang.String)">addAttribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - is the fully qualified name of the attribute whose value is to
+            be added or updated<DD><CODE>value</CODE> - is the attribute's value
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addCDATA(java.lang.String)"><!-- --></A><H3>
+addCDATA</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> cdata)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds a new <code>CDATA</code> node with the given text to this element.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addCDATA(java.lang.String)">addCDATA</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - is the text for the <code>CDATA</code> node.
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addComment(java.lang.String)"><!-- --></A><H3>
+addComment</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comment)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds a new <code>Comment</code> node with the given text to this
+ element.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addComment(java.lang.String)">addComment</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>comment</CODE> - is the text for the <code>Comment</code> node.
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addElement(java.lang.String)"><!-- --></A><H3>
+addElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds a new <code>Element</code> node with the given name to this branch
+ and returns a reference to the new node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String)">addElement</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String)">addElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></C [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addEntity</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds a new <code>Entity</code> node with the given name and text to
+ this element and returns a reference to the new node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addEntity(java.lang.String, java.lang.String)">addEntity</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name for the <code>Entity</code> node.<DD><CODE>text</CODE> - is the text for the <code>Entity</code> node.
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds a namespace to this element for use by its child content
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addNamespace(java.lang.String, java.lang.String)">addNamespace</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - is the prefix to use, which should not be null or blank<DD><CODE>uri</CODE> - is the namespace URI
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds a processing instruction for the given target
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addProcessingInstruction(java.lang.String, java.lang.String)">addProcessingInstruction</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the target of the processing instruction<DD><CODE>data</CODE> - is the textual data (key/value pairs) of the processing
+            instruction
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+addProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds a processing instruction for the given target
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addProcessingInstruction(java.lang.String, java.util.Map)">addProcessingInstruction</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the target of the processing instruction<DD><CODE>data</CODE> - is a Map of the key / value pairs of the processing
+            instruction
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addText(java.lang.String)"><!-- --></A><H3>
+addText</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>addText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds a new <code>Text</code> node with the given text to this element.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#addText(java.lang.String)">addText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text for the <code>Text</code> node.
+<DT><B>Returns:</B><DD>this <code>Element</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Node)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds the given <code>Node</code> or throws <A HREF="../../../org/dom4j/IllegalAddException.html" title="class in org.dom4j"><CODE>IllegalAddException</CODE></A>
+ if the given node is not of a valid type. This is a polymorphic method
+ which will call the typesafe method for the node type such as
+ add(Element) or add(Comment).
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Node)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Node)">add</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Node)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the given <code>Node</code> if the node is an immediate child
+ of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead. This
+ is a polymorphic method which will call the typesafe method for the node
+ type such as remove(Element) or remove(Comment).
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Node)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Node)">remove</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.CDATA)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds the given <code>CDATA</code> to this element. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.CDATA)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - is the CDATA to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Comment)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds the given <code>Comment</code> to this branch. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Comment)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Comment)">add</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Element)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds the given <code>Element</code> to this branch. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Element)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Element)">add</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Entity)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds the given <code>Entity</code> to this element. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.Entity)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - is the entity to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Namespace)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds the given <code>Namespace</code> to this element. If the given
+ node already has a parent defined then an
+ <code>IllegalAddException</code> will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.Namespace)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the namespace to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Adds the given <code>ProcessingInstruction</code> to this branch. If
+ the given node already has a parent defined then an
+ <code>IllegalAddException</code> will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.ProcessingInstruction)">add</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>< [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Text)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds the given <code>Text</code> to this element. If the given node
+ already has a parent defined then an <code>IllegalAddException</code>
+ will be thrown.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.Text)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text to be added</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.CDATA)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> cdata)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Removes the given <code>CDATA</code> if the node is an immediate child
+ of this element. If the given node is not an immediate child of this
+ element then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.CDATA)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cdata</CODE> - is the CDATA to be removed
+<DT><B>Returns:</B><DD>true if the cdata was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Comment)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> comment)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the given <code>Comment</code> if the node is an immediate
+ child of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Comment)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Comment)">remove</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Element)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the given <code>Element</code> if the node is an immediate
+ child of this branch. If the given node is not an immediate child of this
+ branch then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.Element)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.Element)">remove</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Entity)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> entity)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Removes the given <code>Entity</code> if the node is an immediate child
+ of this element. If the given node is not an immediate child of this
+ element then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.Entity)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entity</CODE> - is the entity to be removed
+<DT><B>Returns:</B><DD>true if the entity was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Namespace)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Removes the given <code>Namespace</code> if the node is an immediate
+ child of this element. If the given node is not an immediate child of
+ this element then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used
+ instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.Namespace)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the namespace to be removed
+<DT><B>Returns:</B><DD>true if the namespace was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> pi)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the given <code>ProcessingInstruction</code> if the node is an
+ immediate child of this branch. If the given node is not an immediate
+ child of this branch then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used
+ instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#remove(org.dom4j.ProcessingInstruction)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#remove(org.dom4j.ProcessingInstruction)">remove</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">Abstrac [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Text)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Removes the given <code>Text</code> if the node is an immediate child
+ of this element. If the given node is not an immediate child of this
+ element then the <A HREF="../../../org/dom4j/Node.html#detach()"><CODE>Node.detach()</CODE></A>method should be used instead.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.Text)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the text to be removed
+<DT><B>Returns:</B><DD>true if the text was removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasMixedContent()"><!-- --></A><H3>
+hasMixedContent</H3>
+<PRE>
+public boolean <B>hasMixedContent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns true if this <code>Element</code> has mixed content. Mixed
+ content means that an element contains both textual data and child
+ elements.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#hasMixedContent()">hasMixedContent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this element contains mixed content.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isTextOnly()"><!-- --></A><H3>
+isTextOnly</H3>
+<PRE>
+public boolean <B>isTextOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns true if this <code>Element</code> has text only content.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#isTextOnly()">isTextOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this element is empty or only contains text content.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setText(java.lang.String)">setText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStringValue()"><!-- --></A><H3>
+getStringValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getStringValue</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the XPath string-value of this node. The behaviour of this method
+ is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+ specification </a>. This method returns the string-value of all the
+ contained <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>,<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>,<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>and <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A> nodes all appended together.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getStringValue()">getStringValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getStringValue()">getStringValue</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="normalize()"><!-- --></A><H3>
+normalize</H3>
+<PRE>
+public void <B>normalize</B>()</PRE>
+<DL>
+<DD>Puts all <code>Text</code> nodes in the full depth of the sub-tree
+ underneath this <code>Node</code>, including attribute nodes, into a
+ "normal" form where only structure (e.g., elements, comments, processing
+ instructions, CDATA sections, and entity references) separates
+ <code>Text</code> nodes, i.e., there are neither adjacent
+ <code>Text</code> nodes nor empty <code>Text</code> nodes. This can
+ be used to ensure that the DOM view of a document is the same as if it
+ were saved and re-loaded, and is useful when operations (such as XPointer
+ lookups) that depend on a particular document tree structure are to be
+ used.In cases where the document contains <code>CDATASections</code>,
+ the normalize operation alone may not be sufficient, since XPointers do
+ not differentiate between <code>Text</code> nodes and
+ <code>CDATASection</code> nodes.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#normalize()">normalize</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Since:</B></DT>
+  <DD>DOM Level 2</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementText(java.lang.String)"><!-- --></A><H3>
+elementText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elementText(java.lang.String)">elementText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementText(org.dom4j.QName)"><!-- --></A><H3>
+elementText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementText</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elementText(org.dom4j.QName)">elementText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementTextTrim(java.lang.String)"><!-- --></A><H3>
+elementTextTrim</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementTextTrim</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elementTextTrim(java.lang.String)">elementTextTrim</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementTextTrim(org.dom4j.QName)"><!-- --></A><H3>
+elementTextTrim</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementTextTrim</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elementTextTrim(org.dom4j.QName)">elementTextTrim</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="appendAttributes(org.dom4j.Element)"><!-- --></A><H3>
+appendAttributes</H3>
+<PRE>
+public void <B>appendAttributes</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Appends the attributes of the given element to me. This method behaves
+ like the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html#addAll(java.util.Collection)" title="class or interface in java.util"><CODE>Collection.addAll(java.util.Collection)</CODE></A>
+ method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#appendAttributes(org.dom4j.Element)">appendAttributes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - is the element whose attributes will be added to me.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCopy()"><!-- --></A><H3>
+createCopy</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createCopy</B>()</PRE>
+<DL>
+<DD><p>
+ This returns a deep clone of this element. The new element is detached
+ from its parent, and getParent() on the clone will return null.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#createCopy()">createCopy</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the clone of this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCopy(java.lang.String)"><!-- --></A><H3>
+createCopy</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createCopy</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Creates a deep copy of this element with the given local name The new
+ element is detached from its parent, and getParent() on the clone will
+ return null.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#createCopy(java.lang.String)">createCopy</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a new deep copy Element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCopy(org.dom4j.QName)"><!-- --></A><H3>
+createCopy</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createCopy</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Creates a deep copy of this element with the given fully qualified name.
+ The new element is detached from its parent, and getParent() on the clone
+ will return null.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#createCopy(org.dom4j.QName)">createCopy</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a new deep copy Element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName(java.lang.String)"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>QName</code> for the given qualified name, using the
+ namespace URI in scope for the given prefix of the qualified name or the
+ default namespace if the qualified name has no prefix.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getQName(java.lang.String)">getQName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qualifiedName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the <code>QName</code> for the given qualified name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceForPrefix(java.lang.String)"><!-- --></A><H3>
+getNamespaceForPrefix</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespaceForPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>Namespace</code> which is mapped to the given prefix
+ or null if it could not be found.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the <code>Namespace</code> associated with the given prefix</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceForURI(java.lang.String)"><!-- --></A><H3>
+getNamespaceForURI</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespaceForURI</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>Namespace</code> which is mapped to the given URI or
+ null if it could not be found. If there is more than one
+ <code>Namespace</code> mapped to the URI, which of them will be
+ returned is undetermined.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getNamespaceForURI(java.lang.String)">getNamespaceForURI</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the <code>Namespace</code> associated with the given URI</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespacesForURI(java.lang.String)"><!-- --></A><H3>
+getNamespacesForURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getNamespacesForURI</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the all namespaces which are mapped to the given URI or an empty
+ list if no such namespaces could be found.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getNamespacesForURI(java.lang.String)">getNamespacesForURI</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the namespaces associated with the given URI</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="declaredNamespaces()"><!-- --></A><H3>
+declaredNamespaces</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>declaredNamespaces</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns all the namespaces declared by this element. If no namespaces are
+ declared for this element then an empty list will be returned. The list
+ is backed by the element such that changes to the list will be reflected
+ in the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#declaredNamespaces()">declaredNamespaces</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a list of namespaces declared for this element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="additionalNamespaces()"><!-- --></A><H3>
+additionalNamespaces</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>additionalNamespaces</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns any additional namespaces declarations for this element other
+ than namespace returned via the <A HREF="../../../org/dom4j/Element.html#getNamespace()"><CODE>Element.getNamespace()</CODE></A>method. If no
+ additional namespace declarations are present for this element then an
+ empty list will be returned. The list is backed by the element such that
+ changes to the list will be reflected in the element though the reverse
+ is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#additionalNamespaces()">additionalNamespaces</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a list of any additional namespace declarations.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="additionalNamespaces(java.lang.String)"><!-- --></A><H3>
+additionalNamespaces</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>additionalNamespaces</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultNamespaceURI)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="ensureAttributesCapacity(int)"><!-- --></A><H3>
+ensureAttributesCapacity</H3>
+<PRE>
+public void <B>ensureAttributesCapacity</B>(int minCapacity)</PRE>
+<DL>
+<DD>Ensures that the list of attributes has the given size
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>minCapacity</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(java.lang.String)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNode(org.dom4j.Node)"><!-- --></A><H3>
+addNode</H3>
+<PRE>
+protected void <B>addNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addNode(org.dom4j.Node)">addNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNode(int, org.dom4j.Node)"><!-- --></A><H3>
+addNode</H3>
+<PRE>
+protected void <B>addNode</B>(int index,
+                       <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addNode(int, org.dom4j.Node)">addNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNewNode(org.dom4j.Node)"><!-- --></A><H3>
+addNewNode</H3>
+<PRE>
+protected void <B>addNewNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Like addNode() but does not require a parent check
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNewNode(int, org.dom4j.Node)"><!-- --></A><H3>
+addNewNode</H3>
+<PRE>
+protected void <B>addNewNode</B>(int index,
+                          <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeNode(org.dom4j.Node)"><!-- --></A><H3>
+removeNode</H3>
+<PRE>
+protected boolean <B>removeNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#removeNode(org.dom4j.Node)">removeNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="childAdded(org.dom4j.Node)"><!-- --></A><H3>
+childAdded</H3>
+<PRE>
+protected void <B>childAdded</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>Called when a new child node is added to create any parent relationships
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#childAdded(org.dom4j.Node)">childAdded</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="childRemoved(org.dom4j.Node)"><!-- --></A><H3>
+childRemoved</H3>
+<PRE>
+protected void <B>childRemoved</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></B></DD>
+<DD>Called when a child node has been removed to allow any parent
+ relationships to be deleted or events to be fired.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#childRemoved(org.dom4j.Node)">childRemoved</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeList()"><!-- --></A><H3>
+attributeList</H3>
+<PRE>
+protected abstract <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributeList</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the internal List used to store attributes or creates one if one
+         is not available</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeList(int)"><!-- --></A><H3>
+attributeList</H3>
+<PRE>
+protected abstract <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributeList</B>(int attributeCount)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attributeCount</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the internal List used to store attributes or creates one with
+         the specified size if one is not available</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getDocumentFactory()">getDocumentFactory</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttributeList()"><!-- --></A><H3>
+createAttributeList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createAttributeList</B>()</PRE>
+<DL>
+<DD>A Factory Method pattern which creates a List implementation used to
+ store attributes
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttributeList(int)"><!-- --></A><H3>
+createAttributeList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createAttributeList</B>(int size)</PRE>
+<DL>
+<DD>A Factory Method pattern which creates a List implementation used to
+ store attributes
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>size</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createSingleIterator(java.lang.Object)"><!-- --></A><H3>
+createSingleIterator</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>createSingleIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> result)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractEntity.html b/docs/apidocs/org/dom4j/tree/AbstractEntity.html
new file mode 100644
index 0000000..386f972
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractEntity.html
@@ -0,0 +1,537 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractEntity (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractEntity class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractEntity (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractEntity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractEntity</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractEntity</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractEntity</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A><DT>implements <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></DL>
+
+<P>
+<p>
+ <code>AbstractEntity</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.15 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractEntity">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#AbstractEntity()">AbstractEntity</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#getStringValue()">getStringValue</A></B>()</CODE>
+
+<BR>
+          Returns the XPath string-value of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getName()">getName</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName() [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractEntity()"><!-- --></A><H3>
+AbstractEntity</H3>
+<PRE>
+public <B>AbstractEntity</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the relative path should
+            start. If the context is null or the context is not an
+            ancestor of this node then the path will be absolute and start
+            from the document and so begin with the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing at least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the path should start. If the
+            context is null or the context is not an ancestor of this node
+            then the path will start from the document and so begin with
+            the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing just this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStringValue()"><!-- --></A><H3>
+getStringValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getStringValue</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the XPath string-value of this node. The behaviour of this method
+ is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+ specification </a>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getStringValue()">getStringValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getStringValue()">getStringValue</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - is the visitor in the Visitor Pattern</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractEntity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractNode.html b/docs/apidocs/org/dom4j/tree/AbstractNode.html
new file mode 100644
index 0000000..97e013c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractNode.html
@@ -0,0 +1,1392 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractNode (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractNode class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractNode (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractNode</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractNode</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A>, <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</ [...]
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractNode</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or in [...]
+
+<P>
+<p>
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.31 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractNode">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#AbstractNode()">AbstractNode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>asXPathResult</code> returns a version of this node which is
+ capable of being an XPath result. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A></B>()</CODE>
+
+<BR>
+          
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> patternText)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>createXPath</code> creates an XPath object for the given
+ xpathExpression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> patternText)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#detach()">detach</A></B>()</CODE>
+
+<BR>
+          
+ Removes this node from its parent if there is one. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          
+ <code>getName</code> returns the name of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeTypeName()">getNodeTypeName</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getPath()">getPath</A></B>()</CODE>
+
+<BR>
+          
+ Returns the XPath expression which will return a node set containing the
+ given node such as /a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getStringValue()">getStringValue</A></B>()</CODE>
+
+<BR>
+          Returns the XPath string-value of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          
+ Returns the text of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#getUniquePath()">getUniquePath</A></B>()</CODE>
+
+<BR>
+          
+ Returns the XPath expression which will return a nodeset of one node
+ which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#hasContent()">hasContent</A></B>()</CODE>
+
+<BR>
+          
+ <code>hasContent</code> returns true if this node is a Branch (either
+ an Element or a Document) and it contains at least one content node such
+ as a child Element or Text node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#matches(java.lang.String)">matches</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> patternText)</CODE>
+
+<BR>
+          
+ <code>matches</code> returns true if evaluating the given XPath
+ expression on this node returns a non-empty node set containing this
+ node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#numberValueOf(java.lang.String)">numberValueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ in a number, or null if the result is not a number.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#selectNodes(java.lang.String)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates an XPath expression and returns the
+ result as a <code>List</code> of <code>Node</code> instances or
+ <code>String</code> instances depending on the XPath expression.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#selectNodes(java.lang.String, java.lang.String)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comparisonXPathExpression)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#selectNodes(java.lang.String, java.lang.String, boolean)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comparisonXPathExpression,
+            boolean removeDuplicates)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#selectObject(java.lang.String)">selectObject</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>selectObject</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#selectSingleNode(java.lang.String)">selectSingleNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>selectSingleNode</code> evaluates an XPath expression and returns
+ the result as a single <code>Node</code> instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#valueOf(java.lang.String)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+          
+ <code>valueOf</code> evaluates an XPath expression and returns the
+ textual representation of the results the XPath string-value of this
+ node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NODE_TYPE_NAMES"><!-- --></A><H3>
+NODE_TYPE_NAMES</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>[] <B>NODE_TYPE_NAMES</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractNode()"><!-- --></A><H3>
+AbstractNode</H3>
+<PRE>
+public <B>AbstractNode</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a W3C DOM complient code for the node type such as ELEMENT_NODE
+         or ATTRIBUTE_NODE</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNodeTypeName()"><!-- --></A><H3>
+getNodeTypeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNodeTypeName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the type of node such as "Document", "Element",
+         "Attribute" or "Text"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocument()"><!-- --></A><H3>
+getDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>getDocument</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the document of this node or null if this feature is not
+         supported or the node is not associated with a
+         <code>Document</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocument(org.dom4j.Document)"><!-- --></A><H3>
+setDocument</H3>
+<PRE>
+public void <B>setDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside a <code>Document</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setDocument(org.dom4j.Document)">setDocument</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>document</CODE> - is the new document of this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the parent of this node or null if it is the root of the tree or
+         the parent relationship is not supported.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the new parent of this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this node supports the parent relationship or false it is
+         not supported</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this <code>Node</code> is read only and cannot be
+         modified otherwise false.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasContent()"><!-- --></A><H3>
+hasContent</H3>
+<PRE>
+public boolean <B>hasContent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>hasContent</code> returns true if this node is a Branch (either
+ an Element or a Document) and it contains at least one content node such
+ as a child Element or Text node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#hasContent()">hasContent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if this <code>Node</code> is a Branch with a nodeCount()
+         of one or more.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath()"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the XPath expression which will return a node set containing the
+ given node such as /a/b/@c. No indexing will be used to restrict the
+ path if multiple elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XPath expression which will return a nodeset containing at
+         least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath()"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the XPath expression which will return a nodeset of one node
+ which is the current node. This method will use the XPath index operator
+ to restrict the path if multiple elements with the same name occur on the
+ path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getUniquePath()">getUniquePath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XPath expression which will return a nodeset containing just
+         this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clone()"><!-- --></A><H3>
+clone</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>clone</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#clone()">clone</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="detach()"><!-- --></A><H3>
+detach</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>detach</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Removes this node from its parent if there is one. If this node is the
+ root element of a document then it is removed from the document as well.
+ </p>
+ 
+ <p>
+ This method is useful if you want to remove a node from its source
+ document and add it to another document. For example
+ </p>
+ <code> Node node = ...; Element someOtherElement = ...;
+ someOtherElement.add( node.detach() ); </code>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#detach()">detach</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the node that has been removed from its parent node if any and
+         its document if any.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getName</code> returns the name of this node. This is the XML
+ local name of the element, attribute, entity or processing instruction.
+ For CDATA and Text nodes this method will return null.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML name of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the new name of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the text of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the text for this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStringValue()"><!-- --></A><H3>
+getStringValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getStringValue</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the XPath string-value of this node. The behaviour of this method
+ is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+ specification </a>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getStringValue()">getStringValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the text from all the child Text and Element nodes appended
+         together.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the new textual value of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>writer</CODE> - is the <code>Writer</code> to output the XML to
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectObject(java.lang.String)"><!-- --></A><H3>
+selectObject</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>selectObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>selectObject</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. The object returned can either be a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A> of one or more <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances or a scalar object like a
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A>or a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang"><CODE>Number</CODE></A>instance depending on the XPath
+ expression.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#selectObject(java.lang.String)">selectObject</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the value of the XPath expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A> instances, a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A>or a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lan [...]
+         depending on the XPath expression.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.String)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>selectNodes</code> evaluates an XPath expression and returns the
+ result as a <code>List</code> of <code>Node</code> instances or
+ <code>String</code> instances depending on the XPath expression.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#selectNodes(java.lang.String)">selectNodes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the list of <code>Node</code> or <code>String</code>
+         instances depending on the XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.String, java.lang.String)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comparisonXPathExpression)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#selectNodes(java.lang.String, java.lang.String)">selectNodes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated<DD><CODE>comparisonXPathExpression</CODE> - is the XPath expression used to compare the results by for
+            sorting
+<DT><B>Returns:</B><DD>the list of <code>Node</code> instances sorted by the
+         comparisonXPathExpression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> comparisonXPathExpression,
+                        boolean removeDuplicates)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>selectNodes</code> evaluates an XPath expression then sorts the
+ results using a secondary XPath expression Returns a sorted
+ <code>List</code> of <code>Node</code> instances.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#selectNodes(java.lang.String, java.lang.String, boolean)">selectNodes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated<DD><CODE>comparisonXPathExpression</CODE> - is the XPath expression used to compare the results by for
+            sorting<DD><CODE>removeDuplicates</CODE> - if this parameter is true then duplicate values (using the
+            comparisonXPathExpression) are removed from the result List.
+<DT><B>Returns:</B><DD>the list of <code>Node</code> instances sorted by the
+         comparisonXPathExpression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectSingleNode(java.lang.String)"><!-- --></A><H3>
+selectSingleNode</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>selectSingleNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>selectSingleNode</code> evaluates an XPath expression and returns
+ the result as a single <code>Node</code> instance.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#selectSingleNode(java.lang.String)">selectSingleNode</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the <code>Node</code> matching the XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueOf(java.lang.String)"><!-- --></A><H3>
+valueOf</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>valueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>valueOf</code> evaluates an XPath expression and returns the
+ textual representation of the results the XPath string-value of this
+ node. The string-value for a given node type is defined in the <a
+ href="http://www.w3.org/TR/xpath">XPath specification </a>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#valueOf(java.lang.String)">valueOf</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the string-value representation of the results of the XPath
+         expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="numberValueOf(java.lang.String)"><!-- --></A><H3>
+numberValueOf</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A> <B>numberValueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ in a number, or null if the result is not a number.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#numberValueOf(java.lang.String)">numberValueOf</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>the numeric result of the XPath expression or null if the result
+         is not a number.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="matches(java.lang.String)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public boolean <B>matches</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> patternText)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>matches</code> returns true if evaluating the given XPath
+ expression on this node returns a non-empty node set containing this
+ node.
+ </p>
+ 
+ <p>
+ This method does not behave like the <xsl:if> element - if you want
+ that behaviour, to evaluate if an XPath expression matches something,
+ then you can use the following code to be equivalent...
+ </p>
+ <code>if ( node.selectSingleNode( "/some/path" ) != nulll )</code>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#matches(java.lang.String)">matches</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>patternText</CODE> - is an XPath expression
+<DT><B>Returns:</B><DD>true if this node is returned by the given XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>createXPath</code> creates an XPath object for the given
+ xpathExpression. The XPath object allows the variable context to be
+ specified.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xpathExpression</CODE> - is the XPath expression to be evaluated
+<DT><B>Returns:</B><DD>an XPath object represeting the given expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathFilter(java.lang.String)"><!-- --></A><H3>
+createXPathFilter</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> <B>createXPathFilter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> patternText)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createPattern(java.lang.String)"><!-- --></A><H3>
+createPattern</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> <B>createPattern</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> patternText)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+asXPathResult</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>asXPathResult</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXPathResult</code> returns a version of this node which is
+ capable of being an XPath result. The result of an XPath expression
+ should always support the parent relationship, whether the original XML
+ tree was singly or doubly linked. If the node does not support the parent
+ relationship then a new node will be created which is linked to its
+ parent and returned.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a <code>Node</code> which supports the parent relationship</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+createXPathResult</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>createXPathResult</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractNode.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractProcessingInstruction.html b/docs/apidocs/org/dom4j/tree/AbstractProcessingInstruction.html
new file mode 100644
index 0000000..9c0bfe3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractProcessingInstruction.html
@@ -0,0 +1,706 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:25 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractProcessingInstruction class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractProcessingInstruction</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractProcessingInstruction</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractProcessingInstruction</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A><DT>implements <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></DL>
+
+<P>
+<p>
+ <code>AbstractProcessingInstruction</code> is an abstract base class for
+ tree implementors to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.17 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractProcessingInstruction">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#AbstractProcessingInstruction()">AbstractProcessingInstruction</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          
+ <code>getName</code> returns the name of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getPath(org.dom4j.Element)">getPath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</CODE>
+
+<BR>
+          
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#parseValues(java.lang.String)">parseValues</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Parses the raw data of PI as a <code>Map</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#removeValue(java.lang.String)">removeValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#setValue(java.lang.String, java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#setValues(java.util.Map)">setValues</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#toString(java.util.Map)">toString</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</CODE>
+
+<BR>
+          
+ This will convert the Map to a string representation.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.ProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html#getTarget()">getTarget</A>, <A HREF="../../../org/dom4j/ProcessingInstruction.html#getText()">getText</A>, <A HREF="../../../org/dom4j/ProcessingInstruction.html#getValue(java.lang.String)">getValue</A>, <A HREF="../../../org/dom4j/ProcessingInstruction.html#getValues()">getValues</A>, <A HREF="../../../org/dom4j/ProcessingInstruction.html#setTarget(java.lang.String)">setTarget</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractProcessingInstruction()"><!-- --></A><H3>
+AbstractProcessingInstruction</H3>
+<PRE>
+public <B>AbstractProcessingInstruction</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath(org.dom4j.Element)"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the relative XPath expression which will return a node set
+ containing the given node such as a/b/@c. No indexing will be used to
+ restrict the path if multiple elements with the same name occur on the
+ path.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getPath(org.dom4j.Element)">getPath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the relative path should
+            start. If the context is null or the context is not an
+            ancestor of this node then the path will be absolute and start
+            from the document and so begin with the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing at least this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniquePath(org.dom4j.Element)"><!-- --></A><H3>
+getUniquePath</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getUniquePath</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the relative unique XPath expression from the given context which
+ will return a nodeset of one node which is the current node. This method
+ will use the XPath index operator to restrict the path if multiple
+ elements with the same name occur on the path.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is the parent context from which the path should start. If the
+            context is null or the context is not an ancestor of this node
+            then the path will start from the document and so begin with
+            the '/' character.
+<DT><B>Returns:</B><DD>the XPath expression relative to the given context which will
+         return a nodeset containing just this node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - is the visitor in the Visitor Pattern</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String, java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html#setValue(java.lang.String, java.lang.String)">setValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValues(java.util.Map)"><!-- --></A><H3>
+setValues</H3>
+<PRE>
+public void <B>setValues</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html#setValues(java.util.Map)">setValues</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getName</code> returns the name of this node. This is the XML
+ local name of the element, attribute, entity or processing instruction.
+ For CDATA and Text nodes this method will return null.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getName()">getName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setName(java.lang.String)">setName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeValue(java.lang.String)"><!-- --></A><H3>
+removeValue</H3>
+<PRE>
+public boolean <B>removeValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html#removeValue(java.lang.String)">removeValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString(java.util.Map)"><!-- --></A><H3>
+toString</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</PRE>
+<DL>
+<DD><p>
+ This will convert the Map to a string representation.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>values</CODE> - is a <code>Map</code> of PI data to convert
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parseValues(java.lang.String)"><!-- --></A><H3>
+parseValues</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>parseValues</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><p>
+ Parses the raw data of PI as a <code>Map</code>.
+ </p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - <code>String</code> PI data to parse
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/AbstractText.html b/docs/apidocs/org/dom4j/tree/AbstractText.html
new file mode 100644
index 0000000..3c18f0f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/AbstractText.html
@@ -0,0 +1,458 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AbstractText (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.AbstractText class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AbstractText (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractText.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class AbstractText</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.AbstractText</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="../. [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>AbstractText</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A><DT>implements <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></DL>
+
+<P>
+<p>
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.AbstractText">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractText.html#AbstractText()">AbstractText</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractText.html#accept(org.dom4j.Visitor)">accept</A></B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</CODE>
+
+<BR>
+          
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractText.html#asXML()">asXML</A></B>()</CODE>
+
+<BR>
+          
+ <code>asXML</code> returns the textual XML representation of this node.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractText.html#getNodeType()">getNodeType</A></B>()</CODE>
+
+<BR>
+          Returns the code according to the type of node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractText.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/AbstractText.html#write(java.io.Writer)">write</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)</CODE>
+
+<BR>
+          
+ <code>write</code> writes this node as the default XML notation for
+ this node. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getName()">getName</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName() [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AbstractText()"><!-- --></A><H3>
+AbstractText</H3>
+<PRE>
+public <B>AbstractText</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNodeType()"><!-- --></A><H3>
+getNodeType</H3>
+<PRE>
+public short <B>getNodeType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD>Returns the code according to the type of node. This makes processing
+ nodes polymorphically much easier as the switch statement can be used
+ instead of multiple if (instanceof) statements.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getNodeType()">getNodeType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getNodeType()">getNodeType</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asXML()"><!-- --></A><H3>
+asXML</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>asXML</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>asXML</code> returns the textual XML representation of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XML representation of this node</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="write(java.io.Writer)"><!-- --></A><H3>
+write</H3>
+<PRE>
+public void <B>write</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Writer.html" title="class or interface in java.io">Writer</A> writer)
+           throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>write</code> writes this node as the default XML notation for
+ this node. If you wish to control the XML output (such as for pretty
+ printing, changing the indentation policy etc.) then please use <A HREF="../../../org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><CODE>XMLWriter</CODE></A> or its derivations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#write(java.io.Writer)">write</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#write(java.io.Writer)">write</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="accept(org.dom4j.Visitor)"><!-- --></A><H3>
+accept</H3>
+<PRE>
+public void <B>accept</B>(<A HREF="../../../org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A> visitor)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>accept</code> is the method used in the Visitor Pattern.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - is the visitor in the Visitor Pattern</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AbstractText.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractNode">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/BackedList.html b/docs/apidocs/org/dom4j/tree/BackedList.html
new file mode 100644
index 0000000..a9d8ada
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/BackedList.html
@@ -0,0 +1,543 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+BackedList (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.BackedList class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BackedList (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BackedList.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BackedList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_java.util.AbstractList">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class BackedList</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html" title="class or interface in java.util">java.util.AbstractCollection</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">java.util.AbstractList</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html" title="class or interface in java.util">java.util.ArrayList</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.BackedList</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/RandomAccess.htm [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>BackedList</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html" title="class or interface in java.util">ArrayList</A></DL>
+
+<P>
+<p>
+ <code>BackedList</code> represents a list of content of a <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A>. Changes to the list will be reflected in the branch,
+ though changes to the branch will not be reflected in this list.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.14 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.BackedList">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.util.AbstractList"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">AbstractList</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#modCount" title="class or interface in java.util">modCount</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#BackedList(org.dom4j.tree.AbstractBranch, java.util.List)">BackedList</A></B>(<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#BackedList(org.dom4j.tree.AbstractBranch, java.util.List, int)">BackedList</A></B>(<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent,
+           int capacity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#BackedList(org.dom4j.tree.AbstractBranch, java.util.List, java.util.List)">BackedList</A></B>(<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> initialContent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#add(int, java.lang.Object)">add</A></B>(int index,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#add(java.lang.Object)">add</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#addAll(java.util.Collection)">addAll</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> collection)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#addAll(int, java.util.Collection)">addAll</A></B>(int index,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> collection)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#addLocal(java.lang.Object)">addLocal</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+          Performs a local addition which is not forward through to the Branch or
+ backing list</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#asNode(java.lang.Object)">asNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#remove(int)">remove</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#remove(java.lang.Object)">remove</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BackedList.html#set(int, java.lang.Object)">set</A></B>(int index,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.ArrayList"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html" title="class or interface in java.util">ArrayList</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html#clone()" title="class or interface in java.util">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html#contains(java.lang.Object)" title="class or interface in java.util">contains</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html#ensureCapacity(int)" title="class or interface in java.util">ensureCapacity</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/ [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.AbstractList"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">AbstractList</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#equals(java.lang.Object)" title="class or interface in java.util">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#hashCode()" title="class or interface in java.util">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#iterator()" title="class or interface in java.util">iterator</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/ [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.AbstractCollection"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html" title="class or interface in java.util">AbstractCollection</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html#containsAll(java.util.Collection)" title="class or interface in java.util">containsAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html#removeAll(java.util.Collection)" title="class or interface in java.util">removeAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html#retainAll(java.util.Collection)" title="class or interface  [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notifyAll()" [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.List"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html#containsAll(java.util.Collection)" title="class or interface in java.util">containsAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html#equals(java.lang.Object)" title="class or interface in java.util">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html#hashCode()" title="class or interface in java.util">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/ap [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BackedList(org.dom4j.tree.AbstractBranch, java.util.List)"><!-- --></A><H3>
+BackedList</H3>
+<PRE>
+public <B>BackedList</B>(<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BackedList(org.dom4j.tree.AbstractBranch, java.util.List, int)"><!-- --></A><H3>
+BackedList</H3>
+<PRE>
+public <B>BackedList</B>(<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent,
+                  int capacity)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BackedList(org.dom4j.tree.AbstractBranch, java.util.List, java.util.List)"><!-- --></A><H3>
+BackedList</H3>
+<PRE>
+public <B>BackedList</B>(<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> initialContent)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="add(java.lang.Object)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public boolean <B>add</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(int, java.lang.Object)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(int index,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="set(int, java.lang.Object)"><!-- --></A><H3>
+set</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>set</B>(int index,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(java.lang.Object)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(int)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>remove</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAll(java.util.Collection)"><!-- --></A><H3>
+addAll</H3>
+<PRE>
+public boolean <B>addAll</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> collection)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAll(int, java.util.Collection)"><!-- --></A><H3>
+addAll</H3>
+<PRE>
+public boolean <B>addAll</B>(int index,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> collection)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addLocal(java.lang.Object)"><!-- --></A><H3>
+addLocal</H3>
+<PRE>
+public void <B>addLocal</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD>Performs a local addition which is not forward through to the Branch or
+ backing list
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>object</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asNode(java.lang.Object)"><!-- --></A><H3>
+asNode</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>asNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BackedList.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BackedList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_java.util.AbstractList">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/BaseElement.html b/docs/apidocs/org/dom4j/tree/BaseElement.html
new file mode 100644
index 0000000..ef0931c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/BaseElement.html
@@ -0,0 +1,845 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+BaseElement (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.BaseElement class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BaseElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BaseElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BaseElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class BaseElement</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractElement</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.BaseElement</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.htm [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>BaseElement</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></DL>
+
+<P>
+<p>
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.BaseElement">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#attributes">attributes</A></B></CODE>
+
+<BR>
+          list of attributes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#content">content</A></B></CODE>
+
+<BR>
+          List of content nodes.</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_LIST">EMPTY_LIST</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#BaseElement(org.dom4j.QName)">BaseElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#BaseElement(java.lang.String)">BaseElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#BaseElement(java.lang.String, org.dom4j.Namespace)">BaseElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#attributeList()">attributeList</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#attributeList(int)">attributeList</A></B>(int size)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#clearContent()">clearContent</A></B>()</CODE>
+
+<BR>
+          Clears the content for this branch, removing any <code>Node</code>
+ instances this branch may contain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#contentList()">contentList</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> of this element which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#setAttributeList(java.util.List)">setAttributeList</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributeList)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#setAttributes(java.util.List)">setAttributes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributes)</CODE>
+
+<BR>
+          Sets the attributes that this element contains</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#setContent(java.util.List)">setContent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</CODE>
+
+<BR>
+          Sets the contents of this branch as a <code>List</code> of
+ <code>Node</code> instances.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#setQName(org.dom4j.QName)">setQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> name)</CODE>
+
+<BR>
+          
+ Sets the <code>QName</code> of this element which represents the local
+ name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/BaseElement.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Attribute)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/Abstract [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Element"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Element.html#getText()">getText</A>, <A HREF="../../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF="../../../org/dom4j/Branch.html#setProces [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getUnique [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="content"><!-- --></A><H3>
+content</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>content</B></PRE>
+<DL>
+<DD>List of content nodes.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="attributes"><!-- --></A><H3>
+attributes</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributes</B></PRE>
+<DL>
+<DD>list of attributes
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BaseElement(java.lang.String)"><!-- --></A><H3>
+BaseElement</H3>
+<PRE>
+public <B>BaseElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BaseElement(org.dom4j.QName)"><!-- --></A><H3>
+BaseElement</H3>
+<PRE>
+public <B>BaseElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BaseElement(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+BaseElement</H3>
+<PRE>
+public <B>BaseElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocument()"><!-- --></A><H3>
+getDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>getDocument</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getDocument()">getDocument</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocument(org.dom4j.Document)"><!-- --></A><H3>
+setDocument</H3>
+<PRE>
+public void <B>setDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside a <code>Document</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setDocument(org.dom4j.Document)">setDocument</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setDocument(org.dom4j.Document)">setDocument</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName()"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>QName</code> of this element which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>QName</code> associated with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setQName(org.dom4j.QName)"><!-- --></A><H3>
+setQName</H3>
+<PRE>
+public void <B>setQName</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Sets the <code>QName</code> of this element which represents the local
+ name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the <code>QName</code> to be associated with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clearContent()"><!-- --></A><H3>
+clearContent</H3>
+<PRE>
+public void <B>clearContent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Clears the content for this branch, removing any <code>Node</code>
+ instances this branch may contain.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContent(java.util.List)"><!-- --></A><H3>
+setContent</H3>
+<PRE>
+public void <B>setContent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Sets the contents of this branch as a <code>List</code> of
+ <code>Node</code> instances.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>content</CODE> - is the list of nodes to use as the content for this branch.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(java.util.List)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public void <B>setAttributes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributes)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Sets the attributes that this element contains
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attributes</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contentList()"><!-- --></A><H3>
+contentList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>contentList</B>()</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#contentList()">contentList</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the internal List used to manage the content</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeList()"><!-- --></A><H3>
+attributeList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributeList</B>()</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeList()">attributeList</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the internal List used to store attributes or creates one if one
+         is not available</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeList(int)"><!-- --></A><H3>
+attributeList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributeList</B>(int size)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeList(int)">attributeList</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>size</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the internal List used to store attributes or creates one with
+         the specified size if one is not available</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeList(java.util.List)"><!-- --></A><H3>
+setAttributeList</H3>
+<PRE>
+protected void <B>setAttributeList</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributeList)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BaseElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BaseElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html b/docs/apidocs/org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html
new file mode 100644
index 0000000..a8d75e3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ConcurrentReaderHashMap.BarrierLock (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.ConcurrentReaderHashMap.BarrierLock class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ConcurrentReaderHashMap.BarrierLock (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ConcurrentReaderHashMap.BarrierLock.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ConcurrentReaderHashMap.BarrierLock.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class ConcurrentReaderHashMap.BarrierLock</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.ConcurrentReaderHashMap.BarrierLock</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD>org.dom4j.tree.ConcurrentReaderHashMap</DD>
+</DL>
+<HR>
+<DL>
+<DT>protected static class <B>ConcurrentReaderHashMap.BarrierLock</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
+
+<P>
+A Serializable class for barrier lock *
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.ConcurrentReaderHashMap.BarrierLock">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html#ConcurrentReaderHashMap.BarrierLock()">ConcurrentReaderHashMap.BarrierLock</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ConcurrentReaderHashMap.BarrierLock()"><!-- --></A><H3>
+ConcurrentReaderHashMap.BarrierLock</H3>
+<PRE>
+protected <B>ConcurrentReaderHashMap.BarrierLock</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ConcurrentReaderHashMap.BarrierLock.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ConcurrentReaderHashMap.BarrierLock.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Object">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/ConcurrentReaderHashMap.Entry.html b/docs/apidocs/org/dom4j/tree/ConcurrentReaderHashMap.Entry.html
new file mode 100644
index 0000000..1ca4e9e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/ConcurrentReaderHashMap.Entry.html
@@ -0,0 +1,460 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ConcurrentReaderHashMap.Entry (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.ConcurrentReaderHashMap.Entry class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ConcurrentReaderHashMap.Entry (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ConcurrentReaderHashMap.Entry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ConcurrentReaderHashMap.Entry.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class ConcurrentReaderHashMap.Entry</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.ConcurrentReaderHashMap.Entry</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html" title="class or interface in java.util">Map.Entry</A></DD>
+</DL>
+<DL>
+<DT><B>Enclosing class:</B><DD>org.dom4j.tree.ConcurrentReaderHashMap</DD>
+</DL>
+<HR>
+<DL>
+<DT>protected static class <B>ConcurrentReaderHashMap.Entry</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html" title="class or interface in java.util">Map.Entry</A></DL>
+
+<P>
+ConcurrentReaderHashMap collision list entry.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#hash">hash</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#key">key</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#next">next</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#value">value</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#getKey()">getKey</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+          Get the value. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#setValue(java.lang.Object)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> value)</CODE>
+
+<BR>
+          Set the value of this entry. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()" titl [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="hash"><!-- --></A><H3>
+hash</H3>
+<PRE>
+protected final int <B>hash</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="key"><!-- --></A><H3>
+key</H3>
+<PRE>
+protected final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>key</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="next"><!-- --></A><H3>
+next</H3>
+<PRE>
+protected final <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A> <B>next</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="value"><!-- --></A><H3>
+value</H3>
+<PRE>
+protected volatile <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>value</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getKey()"><!-- --></A><H3>
+getKey</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getKey</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html#getKey()" title="class or interface in java.util">getKey</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html" title="class or interface in java.util">Map.Entry</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getValue</B>()</PRE>
+<DL>
+<DD>Get the value. Note: In an entrySet or entrySet.iterator, unless the
+ set or iterator is used under synchronization of the table as a whole
+ (or you can otherwise guarantee lack of concurrent modification),
+ <tt>getValue</tt> <em>might</em> return null, reflecting the fact
+ that the entry has been concurrently removed. However, there are no
+ assurances that concurrent removals will be reflected using this
+ method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html#getValue()" title="class or interface in java.util">getValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html" title="class or interface in java.util">Map.Entry</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current value, or null if the entry has been detectably
+         removed.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.Object)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> value)</PRE>
+<DL>
+<DD>Set the value of this entry. Note: In an entrySet or
+ entrySet.iterator), unless the set or iterator is used under
+ synchronization of the table as a whole (or you can otherwise
+ guarantee lack of concurrent modification), <tt>setValue</tt> is
+ not strictly guaranteed to actually replace the value field obtained
+ via the <tt>get</tt> operation of the underlying hash table in
+ multithreaded applications. If iterator-wide synchronization is not
+ used, and any other concurrent <tt>put</tt> or <tt>remove</tt>
+ operations occur, sometimes even to <em>other</em> entries, then
+ this change is not guaranteed to be reflected in the hash table. (It
+ might, or it might not. There are no assurances either way.)
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html#setValue(java.lang.Object)" title="class or interface in java.util">setValue</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html" title="class or interface in java.util">Map.Entry</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>value</CODE> - the new value.
+<DT><B>Returns:</B><DD>the previous value, or null if entry has been detectably
+         removed.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/NullPointerException.html" title="class or interface in java.lang">NullPointerException</A></CODE> - if the value is <code>null</code>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html#equals(java.lang.Object)" title="class or interface in java.util">equals</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html" title="class or interface in java.util">Map.Entry</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html#hashCode()" title="class or interface in java.util">hashCode</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html" title="class or interface in java.util">Map.Entry</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ConcurrentReaderHashMap.Entry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ConcurrentReaderHashMap.Entry.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/ContentListFacade.html b/docs/apidocs/org/dom4j/tree/ContentListFacade.html
new file mode 100644
index 0000000..0dd2abb
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/ContentListFacade.html
@@ -0,0 +1,686 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ContentListFacade (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.ContentListFacade class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ContentListFacade (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ContentListFacade.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ContentListFacade.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_java.util.AbstractList">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class ContentListFacade</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html" title="class or interface in java.util">java.util.AbstractCollection</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">java.util.AbstractList</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.ContentListFacade</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ContentListFacade</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">AbstractList</A></DL>
+
+<P>
+<p>
+ <code>ContentListFacade</code> represents a facade of the content of a
+ <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A> which is returned via calls to the <A HREF="../../../org/dom4j/Branch.html#content()"><CODE>Branch.content()</CODE></A>  method to allow users to modify the content of a
+ <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A> directly using the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A> interface. This list
+ is backed by the branch such that changes to the list will be reflected in
+ the branch and changes to the branch will be reflected in this list.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.11 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.util.AbstractList"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">AbstractList</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#modCount" title="class or interface in java.util">modCount</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#ContentListFacade(org.dom4j.tree.AbstractBranch, java.util.List)">ContentListFacade</A></B>(<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#add(int, java.lang.Object)">add</A></B>(int index,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#add(java.lang.Object)">add</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#addAll(java.util.Collection)">addAll</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> collection)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#addAll(int, java.util.Collection)">addAll</A></B>(int index,
+       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> collection)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#asNode(java.lang.Object)">asNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#contains(java.lang.Object)">contains</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#containsAll(java.util.Collection)">containsAll</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> c)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#get(int)">get</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#getBackingList()">getBackingList</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#indexOf(java.lang.Object)">indexOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#isEmpty()">isEmpty</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#lastIndexOf(java.lang.Object)">lastIndexOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#remove(int)">remove</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#remove(java.lang.Object)">remove</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#removeAll(java.util.Collection)">removeAll</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> c)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#set(int, java.lang.Object)">set</A></B>(int index,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#size()">size</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#toArray()">toArray</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html#toArray(java.lang.Object[])">toArray</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[] a)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.AbstractList"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util">AbstractList</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#equals(java.lang.Object)" title="class or interface in java.util">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#hashCode()" title="class or interface in java.util">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html#iterator()" title="class or interface in java.util">iterator</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/ [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.AbstractCollection"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html" title="class or interface in java.util">AbstractCollection</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html#retainAll(java.util.Collection)" title="class or interface in java.util">retainAll</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html#toString()" title="class or interface in java.util">toString</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()" titl [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.List"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html#retainAll(java.util.Collection)" title="class or interface in java.util">retainAll</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ContentListFacade(org.dom4j.tree.AbstractBranch, java.util.List)"><!-- --></A><H3>
+ContentListFacade</H3>
+<PRE>
+public <B>ContentListFacade</B>(<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="add(java.lang.Object)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public boolean <B>add</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(int, java.lang.Object)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(int index,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="set(int, java.lang.Object)"><!-- --></A><H3>
+set</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>set</B>(int index,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(java.lang.Object)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(int)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>remove</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAll(java.util.Collection)"><!-- --></A><H3>
+addAll</H3>
+<PRE>
+public boolean <B>addAll</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> collection)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAll(int, java.util.Collection)"><!-- --></A><H3>
+addAll</H3>
+<PRE>
+public boolean <B>addAll</B>(int index,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> collection)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAll(java.util.Collection)"><!-- --></A><H3>
+removeAll</H3>
+<PRE>
+public boolean <B>removeAll</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> c)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="size()"><!-- --></A><H3>
+size</H3>
+<PRE>
+public int <B>size</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isEmpty()"><!-- --></A><H3>
+isEmpty</H3>
+<PRE>
+public boolean <B>isEmpty</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contains(java.lang.Object)"><!-- --></A><H3>
+contains</H3>
+<PRE>
+public boolean <B>contains</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toArray()"><!-- --></A><H3>
+toArray</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[] <B>toArray</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toArray(java.lang.Object[])"><!-- --></A><H3>
+toArray</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[] <B>toArray</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>[] a)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="containsAll(java.util.Collection)"><!-- --></A><H3>
+containsAll</H3>
+<PRE>
+public boolean <B>containsAll</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A> c)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(int)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>get</B>(int index)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="indexOf(java.lang.Object)"><!-- --></A><H3>
+indexOf</H3>
+<PRE>
+public int <B>indexOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="lastIndexOf(java.lang.Object)"><!-- --></A><H3>
+lastIndexOf</H3>
+<PRE>
+public int <B>lastIndexOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asNode(java.lang.Object)"><!-- --></A><H3>
+asNode</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>asNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBackingList()"><!-- --></A><H3>
+getBackingList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getBackingList</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ContentListFacade.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ContentListFacade.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_java.util.AbstractList">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultAttribute.html b/docs/apidocs/org/dom4j/tree/DefaultAttribute.html
new file mode 100644
index 0000000..c568af8
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultAttribute.html
@@ -0,0 +1,603 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultAttribute class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightAttribute">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultAttribute</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractAttribute</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightAttribute</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultAttribute</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A>, <A HREF="../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultAttribute</B><DT>extends <A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></DL>
+
+<P>
+<p>
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.13 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultAttribute">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#value">value</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                 <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.Element, java.lang.String, java.lang.String, org.dom4j.Namespace)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                 <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.QName)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(org.dom4j.QName, java.lang.String)">DefaultAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(java.lang.String, java.lang.String)">DefaultAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          Creates the <code>Attribute</code> with the specified local name and
+ value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#DefaultAttribute(java.lang.String, java.lang.String, org.dom4j.Namespace)">DefaultAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                 <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#setValue(java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#getQName()">getQName</A>, <A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#getValue()">getValue</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getData()">getData</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/A [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultAttribute(org.dom4j.QName)"><!-- --></A><H3>
+DefaultAttribute</H3>
+<PRE>
+public <B>DefaultAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultAttribute(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+DefaultAttribute</H3>
+<PRE>
+public <B>DefaultAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+DefaultAttribute</H3>
+<PRE>
+public <B>DefaultAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                        <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultAttribute(java.lang.String, java.lang.String)"><!-- --></A><H3>
+DefaultAttribute</H3>
+<PRE>
+public <B>DefaultAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD>Creates the <code>Attribute</code> with the specified local name and
+ value.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute<DD><CODE>value</CODE> - is the value of the attribute</DL>
+<HR>
+
+<A NAME="DefaultAttribute(java.lang.String, java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+DefaultAttribute</H3>
+<PRE>
+public <B>DefaultAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute<DD><CODE>value</CODE> - is the value of the attribute<DD><CODE>namespace</CODE> - is the namespace of the attribute</DL>
+<HR>
+
+<A NAME="DefaultAttribute(org.dom4j.Element, java.lang.String, java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+DefaultAttribute</H3>
+<PRE>
+public <B>DefaultAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the parent element<DD><CODE>name</CODE> - is the name of the attribute<DD><CODE>value</CODE> - is the value of the attribute<DD><CODE>namespace</CODE> - is the namespace of the attribute</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Sets the value of this attribute or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#setValue(java.lang.String)">setValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setValue(java.lang.String)">setValue</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttrib [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightAttribute">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultCDATA.html b/docs/apidocs/org/dom4j/tree/DefaultCDATA.html
new file mode 100644
index 0000000..63c8386
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultCDATA.html
@@ -0,0 +1,543 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultCDATA (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultCDATA class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultCDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultCDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightCDATA">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultCDATA</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCDATA</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightCDATA</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultCDATA</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>, <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serial [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultCDATA</B><DT>extends <A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></DL>
+
+<P>
+<p>
+ <code>DefaultCDATA</code> is the default CDATA implementation. It is a
+ doubly linked node which supports the parent relationship and can be modified
+ in place.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.12 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultCDATA">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#text">text</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#DefaultCDATA(org.dom4j.Element, java.lang.String)">DefaultCDATA</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#DefaultCDATA(java.lang.String)">DefaultCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#getText()">getText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#toString()">toString</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#write(java.io.Writer)">write</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultCDATA(java.lang.String)"><!-- --></A><H3>
+DefaultCDATA</H3>
+<PRE>
+public <B>DefaultCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the CDATA text</DL>
+<HR>
+
+<A NAME="DefaultCDATA(org.dom4j.Element, java.lang.String)"><!-- --></A><H3>
+DefaultCDATA</H3>
+<PRE>
+public <B>DefaultCDATA</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the parent element<DD><CODE>text</CODE> - is the CDATA text</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setText(java.lang.String)">setText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultCDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightCDATA">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultComment.html b/docs/apidocs/org/dom4j/tree/DefaultComment.html
new file mode 100644
index 0000000..6e5f553
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultComment.html
@@ -0,0 +1,543 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultComment (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultComment class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultComment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultComment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightComment">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultComment</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractComment</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightComment</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultComment</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Se [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultComment</B><DT>extends <A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></DL>
+
+<P>
+<p>
+ <code>DefaultComment</code> is the default Comment implementation. It is a
+ doubly linked node which supports the parent relationship and can be modified
+ in place.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.11 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultComment">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightComment.html#text">text</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#DefaultComment(org.dom4j.Element, java.lang.String)">DefaultComment</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#DefaultComment(java.lang.String)">DefaultComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultComment.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightComment.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightComment.html#getText()">getText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractComment.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#getUniquePath(org.dom4j.Element)">getUniquePath</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultComment(java.lang.String)"><!-- --></A><H3>
+DefaultComment</H3>
+<PRE>
+public <B>DefaultComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the Comment text</DL>
+<HR>
+
+<A NAME="DefaultComment(org.dom4j.Element, java.lang.String)"><!-- --></A><H3>
+DefaultComment</H3>
+<PRE>
+public <B>DefaultComment</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the parent element<DD><CODE>text</CODE> - is the Comment text</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setText(java.lang.String)">setText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultComment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightComment">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultDocument.html b/docs/apidocs/org/dom4j/tree/DefaultDocument.html
new file mode 100644
index 0000000..9ce500c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultDocument.html
@@ -0,0 +1,1049 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultDocument (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultDocument class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultDocument (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultDocument.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultDocument</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractDocument</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultDocument</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.h [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultDocument</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></DL>
+
+<P>
+<p>
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.34 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultDocument">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#EMPTY_LIST">EMPTY_LIST</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractDocument"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractDocument.html#encoding">encoding</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument()">DefaultDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.DocumentType)">DefaultDocument</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.Element)">DefaultDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(org.dom4j.Element, org.dom4j.DocumentType)">DefaultDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement,
+                <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(java.lang.String)">DefaultDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#DefaultDocument(java.lang.String, org.dom4j.Element, org.dom4j.DocumentType)">DefaultDocument</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement,
+                <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#addDocType(java.lang.String, java.lang.String, java.lang.String)">addDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> docTypeName,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+          Adds a DOCTYPE declaration to this document</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#addNode(int, org.dom4j.Node)">addNode</A></B>(int index,
+        <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#addNode(org.dom4j.Node)">addNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#clearContent()">clearContent</A></B>()</CODE>
+
+<BR>
+          Clears the content for this branch, removing any <code>Node</code>
+ instances this branch may contain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#clone()">clone</A></B>()</CODE>
+
+<BR>
+          
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#contentList()">contentList</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getDocType()">getDocType</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getEntityResolver()">getEntityResolver</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          
+ <code>getName</code> returns the name of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getRootElement()">getRootElement</A></B>()</CODE>
+
+<BR>
+          Returns the root <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>for this document.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#getXMLEncoding()">getXMLEncoding</A></B>()</CODE>
+
+<BR>
+          Return the encoding of this document, as part of the XML declaration This
+ is <code>null</code> when unspecified or when it is not known (such as
+ when the Document was created in memory) or when the implementation does
+ not support this operation.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#processingInstruction(java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#processingInstructions()">processingInstructions</A></B>()</CODE>
+
+<BR>
+          
+ Returns a list of all the processing instructions in this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#processingInstructions(java.lang.String)">processingInstructions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          
+ Returns a list of the processing instructions for the given target. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#removeProcessingInstruction(java.lang.String)">removeProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          Removes the processing instruction for the given target if it exists</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#rootElementAdded(org.dom4j.Element)">rootElementAdded</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+          Called to set the root element variable</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#setContent(java.util.List)">setContent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</CODE>
+
+<BR>
+          Sets the contents of this branch as a <code>List</code> of
+ <code>Node</code> instances.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#setDocType(org.dom4j.DocumentType)">setDocType</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</CODE>
+
+<BR>
+          Sets the DocumentType property</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#setEntityResolver(org.xml.sax.EntityResolver)">setEntityResolver</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</CODE>
+
+<BR>
+          Sets the EntityResolver used to find resolve URIs such as for DTDs, or
+ XML Schema documents</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractDocument"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractDocument.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractDocument.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractDocument.html#addComment(java.lang.String)">addComment</A>, <A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractDocument.html#addElement(java.lang.String)">addElement</A> [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.Node)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#add(org.dom4j.ProcessingInstruction)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.B [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#detach [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.Node)">add</A>, <A HREF="../../../org/dom4j/Branch.html#add(org.dom4j.ProcessingInstruction)">add</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF= [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getText()">getText</A>, <A HREF="../../../org/dom4j/Node.html#getUniquePath()">getUniquePath [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="EMPTY_LIST"><!-- --></A><H3>
+EMPTY_LIST</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>EMPTY_LIST</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="EMPTY_ITERATOR"><!-- --></A><H3>
+EMPTY_ITERATOR</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>EMPTY_ITERATOR</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultDocument()"><!-- --></A><H3>
+DefaultDocument</H3>
+<PRE>
+public <B>DefaultDocument</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultDocument(java.lang.String)"><!-- --></A><H3>
+DefaultDocument</H3>
+<PRE>
+public <B>DefaultDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultDocument(org.dom4j.Element)"><!-- --></A><H3>
+DefaultDocument</H3>
+<PRE>
+public <B>DefaultDocument</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultDocument(org.dom4j.DocumentType)"><!-- --></A><H3>
+DefaultDocument</H3>
+<PRE>
+public <B>DefaultDocument</B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultDocument(org.dom4j.Element, org.dom4j.DocumentType)"><!-- --></A><H3>
+DefaultDocument</H3>
+<PRE>
+public <B>DefaultDocument</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement,
+                       <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultDocument(java.lang.String, org.dom4j.Element, org.dom4j.DocumentType)"><!-- --></A><H3>
+DefaultDocument</H3>
+<PRE>
+public <B>DefaultDocument</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                       <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement,
+                       <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getName</code> returns the name of this node. This is the XML
+ local name of the element, attribute, entity or processing instruction.
+ For CDATA and Text nodes this method will return null.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getName()">getName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setName(java.lang.String)">setName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRootElement()"><!-- --></A><H3>
+getRootElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getRootElement</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Returns the root <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>for this document.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the root element for this document</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocType()"><!-- --></A><H3>
+getDocType</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> <B>getDocType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the DocumentType property</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocType(org.dom4j.DocumentType)"><!-- --></A><H3>
+setDocType</H3>
+<PRE>
+public void <B>setDocType</B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> docType)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Sets the DocumentType property
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docType</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addDocType(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+addDocType</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>addDocType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> docTypeName,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Adds a DOCTYPE declaration to this document
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>docTypeName</CODE> - is the name of the root element<DD><CODE>publicId</CODE> - is the PUBLIC URI<DD><CODE>systemId</CODE> - is the SYSTEM URI
+<DT><B>Returns:</B><DD>this <code>Document</code> instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXMLEncoding()"><!-- --></A><H3>
+getXMLEncoding</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getXMLEncoding</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Return the encoding of this document, as part of the XML declaration This
+ is <code>null</code> when unspecified or when it is not known (such as
+ when the Document was created in memory) or when the implementation does
+ not support this operation.
+ 
+ <p>
+ The way this encoding is retrieved also depends on the way the XML source
+ is parsed. For instance, if the SAXReader is used and if the underlying
+ XMLReader implementation support the
+ <code>org.xml.sax.ext.Locator2</code> interface, the result returned by
+ this method is specified by the <code>getEncoding()</code> method of
+ that interface.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Document.html#getXMLEncoding()">getXMLEncoding</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractDocument.html#getXMLEncoding()">getXMLEncoding</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEntityResolver()"><!-- --></A><H3>
+getEntityResolver</H3>
+<PRE>
+public <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> <B>getEntityResolver</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the EntityResolver used to find resolve URIs such as for DTDs, or
+         XML Schema documents</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEntityResolver(org.xml.sax.EntityResolver)"><!-- --></A><H3>
+setEntityResolver</H3>
+<PRE>
+public void <B>setEntityResolver</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/EntityResolver.html" title="class or interface in org.xml.sax">EntityResolver</A> entityResolver)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></B></DD>
+<DD>Sets the EntityResolver used to find resolve URIs such as for DTDs, or
+ XML Schema documents
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>entityResolver</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clone()"><!-- --></A><H3>
+clone</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>clone</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#clone()">clone</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstructions()"><!-- --></A><H3>
+processingInstructions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>processingInstructions</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD><p>
+ Returns a list of all the processing instructions in this branch. The
+ list is backed by this branch so that changes to the list will be
+ reflected in the branch but the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a backed list of the processing instructions</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstructions(java.lang.String)"><!-- --></A><H3>
+processingInstructions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>processingInstructions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD><p>
+ Returns a list of the processing instructions for the given target. The
+ list is backed by this branch so that changes to the list will be
+ reflected in the branch but the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a backed list of the processing instructions</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstruction(java.lang.String)"><!-- --></A><H3>
+processingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>processingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the processing instruction for the given target</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeProcessingInstruction(java.lang.String)"><!-- --></A><H3>
+removeProcessingInstruction</H3>
+<PRE>
+public boolean <B>removeProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the processing instruction for the given target if it exists
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if a processing instruction was removed else false</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContent(java.util.List)"><!-- --></A><H3>
+setContent</H3>
+<PRE>
+public void <B>setContent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Sets the contents of this branch as a <code>List</code> of
+ <code>Node</code> instances.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>content</CODE> - is the list of nodes to use as the content for this branch.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clearContent()"><!-- --></A><H3>
+clearContent</H3>
+<PRE>
+public void <B>clearContent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Clears the content for this branch, removing any <code>Node</code>
+ instances this branch may contain.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contentList()"><!-- --></A><H3>
+contentList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>contentList</B>()</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#contentList()">contentList</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the internal List used to manage the content</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNode(org.dom4j.Node)"><!-- --></A><H3>
+addNode</H3>
+<PRE>
+protected void <B>addNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addNode(org.dom4j.Node)">addNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNode(int, org.dom4j.Node)"><!-- --></A><H3>
+addNode</H3>
+<PRE>
+protected void <B>addNode</B>(int index,
+                       <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addNode(int, org.dom4j.Node)">addNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeNode(org.dom4j.Node)"><!-- --></A><H3>
+removeNode</H3>
+<PRE>
+protected boolean <B>removeNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#removeNode(org.dom4j.Node)">removeNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rootElementAdded(org.dom4j.Element)"><!-- --></A><H3>
+rootElementAdded</H3>
+<PRE>
+protected void <B>rootElementAdded</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></CODE></B></DD>
+<DD>Called to set the root element variable
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractDocument.html#rootElementAdded(org.dom4j.Element)">rootElementAdded</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getDocumentFactory()">getDocumentFactory</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultDocument.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultDocumentType.html b/docs/apidocs/org/dom4j/tree/DefaultDocumentType.html
new file mode 100644
index 0000000..970f21e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultDocumentType.html
@@ -0,0 +1,614 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultDocumentType (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultDocumentType class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultDocumentType (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultDocumentType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultDocumentType</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractDocumentType</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultDocumentType</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultDocumentType</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A></DL>
+
+<P>
+<p>
+ <code>DefaultDocumentType</code> is the DOM4J default implementation of an
+ XML document type.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultDocumentType">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#elementName">elementName</A></B></CODE>
+
+<BR>
+          The root element name of the document typ</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#DefaultDocumentType()">DefaultDocumentType</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#DefaultDocumentType(java.lang.String, java.lang.String)">DefaultDocumentType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ This will create a new <code>DocumentType</code> with a reference to
+ the external DTD
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#DefaultDocumentType(java.lang.String, java.lang.String, java.lang.String)">DefaultDocumentType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          
+ This will create a new <code>DocumentType</code> with a reference to
+ the external DTD
+ </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getElementName()">getElementName</A></B>()</CODE>
+
+<BR>
+          This method is the equivalent to the <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getName()"><CODE>AbstractDocumentType.getName()</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getExternalDeclarations()">getExternalDeclarations</A></B>()</CODE>
+
+<BR>
+          Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getInternalDeclarations()">getInternalDeclarations</A></B>()</CODE>
+
+<BR>
+          Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getPublicID()">getPublicID</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#getSystemID()">getSystemID</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#setElementName(java.lang.String)">setElementName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName)</CODE>
+
+<BR>
+          This method is the equivalent to the <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#setName(java.lang.String)"><CODE>AbstractDocumentType.setName(java.lang.String)</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#setExternalDeclarations(java.util.List)">setExternalDeclarations</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> externalDeclarations)</CODE>
+
+<BR>
+          Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#setInternalDeclarations(java.util.List)">setInternalDeclarations</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> internalDeclarations)</CODE>
+
+<BR>
+          Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#setPublicID(java.lang.String)">setPublicID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID)</CODE>
+
+<BR>
+          Sets the public ID of the document type</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html#setSystemID(java.lang.String)">setSystemID</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</CODE>
+
+<BR>
+          Sets the system ID of the document type</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractDocumentType"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractDocumentType.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tre [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="elementName"><!-- --></A><H3>
+elementName</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementName</B></PRE>
+<DL>
+<DD>The root element name of the document typ
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultDocumentType()"><!-- --></A><H3>
+DefaultDocumentType</H3>
+<PRE>
+public <B>DefaultDocumentType</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultDocumentType(java.lang.String, java.lang.String)"><!-- --></A><H3>
+DefaultDocumentType</H3>
+<PRE>
+public <B>DefaultDocumentType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</PRE>
+<DL>
+<DD><p>
+ This will create a new <code>DocumentType</code> with a reference to
+ the external DTD
+ </p>
+<P>
+<DT><B>Parameters:</B><DD><CODE>elementName</CODE> - is the root element name of the document type<DD><CODE>systemID</CODE> - is the system ID of the external DTD</DL>
+<HR>
+
+<A NAME="DefaultDocumentType(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+DefaultDocumentType</H3>
+<PRE>
+public <B>DefaultDocumentType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</PRE>
+<DL>
+<DD><p>
+ This will create a new <code>DocumentType</code> with a reference to
+ the external DTD
+ </p>
+<P>
+<DT><B>Parameters:</B><DD><CODE>elementName</CODE> - is the root element name of the document type<DD><CODE>publicID</CODE> - is the public ID of the DTD<DD><CODE>systemID</CODE> - is the system ID of the DTD</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getElementName()"><!-- --></A><H3>
+getElementName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getElementName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></B></DD>
+<DD>This method is the equivalent to the <A HREF="../../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>method. It is added
+ for clarity.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the root element name for the document type.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setElementName(java.lang.String)"><!-- --></A><H3>
+setElementName</H3>
+<PRE>
+public void <B>setElementName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> elementName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></B></DD>
+<DD>This method is the equivalent to the <A HREF="../../../org/dom4j/Node.html#setName(java.lang.String)"><CODE>Node.setName(java.lang.String)</CODE></A>method. It is added
+ for clarity.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>elementName</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPublicID()"><!-- --></A><H3>
+getPublicID</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPublicID</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the public ID of the document type</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPublicID(java.lang.String)"><!-- --></A><H3>
+setPublicID</H3>
+<PRE>
+public void <B>setPublicID</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicID)</PRE>
+<DL>
+<DD>Sets the public ID of the document type
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>publicID</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSystemID()"><!-- --></A><H3>
+getSystemID</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getSystemID</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the system ID of the document type</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSystemID(java.lang.String)"><!-- --></A><H3>
+setSystemID</H3>
+<PRE>
+public void <B>setSystemID</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemID)</PRE>
+<DL>
+<DD>Sets the system ID of the document type
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>systemID</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInternalDeclarations()"><!-- --></A><H3>
+getInternalDeclarations</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getInternalDeclarations</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></B></DD>
+<DD>Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setInternalDeclarations(java.util.List)"><!-- --></A><H3>
+setInternalDeclarations</H3>
+<PRE>
+public void <B>setInternalDeclarations</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> internalDeclarations)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></B></DD>
+<DD>Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>internalDeclarations</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExternalDeclarations()"><!-- --></A><H3>
+getExternalDeclarations</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getExternalDeclarations</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></B></DD>
+<DD>Returns a list of internal DTD declaration objects, defined in the
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setExternalDeclarations(java.util.List)"><!-- --></A><H3>
+setExternalDeclarations</H3>
+<PRE>
+public void <B>setExternalDeclarations</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> externalDeclarations)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></B></DD>
+<DD>Sets the list of internal DTD declaration objects, defined in the
+ <A HREF="../../../org/dom4j/dtd/package-summary.html"><CODE>org.dom4j.dtd</CODE></A>package
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>externalDeclarations</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultDocumentType.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultElement.html b/docs/apidocs/org/dom4j/tree/DefaultElement.html
new file mode 100644
index 0000000..3fcf78c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultElement.html
@@ -0,0 +1,1651 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultElement (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultElement class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultElement</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractElement</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultElement</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.htm [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A>, <A HREF="../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A>, <A HREF="../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A>, <A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A>, <A HREF="../../../org/dom4j/util/U [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultElement</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></DL>
+
+<P>
+<p>
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.59 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultElement">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_LIST">EMPTY_LIST</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#DefaultElement(org.dom4j.QName)">DefaultElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#DefaultElement(org.dom4j.QName, int)">DefaultElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+               int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#DefaultElement(java.lang.String)">DefaultElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#DefaultElement(java.lang.String, org.dom4j.Namespace)">DefaultElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+               <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#add(org.dom4j.Attribute)">add</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Adds the given <code>Attribute</code> to this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces()">additionalNamespaces</A></B>()</CODE>
+
+<BR>
+          
+ Returns any additional namespaces declarations for this element other
+ than namespace returned via the <A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespace()"><CODE>AbstractElement.getNamespace()</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces(java.lang.String)">additionalNamespaces</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultNamespaceURI)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#addNewNode(org.dom4j.Node)">addNewNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Like addNode() but does not require a parent check</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(int)">attribute</A></B>(int index)</CODE>
+
+<BR>
+          Returns the attribute at the specified indexGets the</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the attribute with the given name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(java.lang.String, org.dom4j.Namespace)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attributeCount()">attributeCount</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attributeIterator()">attributeIterator</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attributeList()">attributeList</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attributeList(int)">attributeList</A></B>(int size)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#attributes()">attributes</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>instances this element contains as a backed
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that the attributes may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#clearContent()">clearContent</A></B>()</CODE>
+
+<BR>
+          Clears the content for this branch, removing any <code>Node</code>
+ instances this branch may contain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#clone()">clone</A></B>()</CODE>
+
+<BR>
+          
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#contentList()">contentList</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#declaredNamespaces()">declaredNamespaces</A></B>()</CODE>
+
+<BR>
+          
+ Returns all the namespaces declared by this element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Returns the first element for the given fully qualified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(java.lang.String)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the first element for the given local name and any namespace.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(java.lang.String, org.dom4j.Namespace)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getDocument()">getDocument</A></B>()</CODE>
+
+<BR>
+          
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> which is mapped to the given prefix
+ or null if it could not be found.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getNamespaceForURI(java.lang.String)">getNamespaceForURI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          
+ Returns the <code>Namespace</code> which is mapped to the given URI or
+ null if it could not be found. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> of this element which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getStringValue()">getStringValue</A></B>()</CODE>
+
+<BR>
+          Returns the XPath string-value of this node. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          Returns the text value of this element without recursing through child
+ elements. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#indexOf(org.dom4j.Node)">indexOf</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#node(int)">node</A></B>(int index)</CODE>
+
+<BR>
+          Returns the <code>Node</code> at the specified index position.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#nodeCount()">nodeCount</A></B>()</CODE>
+
+<BR>
+          Returns the number of <code>Node</code> instances that this branch
+ contains.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#nodeIterator()">nodeIterator</A></B>()</CODE>
+
+<BR>
+          Returns an iterator through the content nodes of this branch</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#processingInstruction(java.lang.String)">processingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#processingInstructions()">processingInstructions</A></B>()</CODE>
+
+<BR>
+          
+ Returns a list of all the processing instructions in this branch. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#processingInstructions(java.lang.String)">processingInstructions</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          
+ Returns a list of the processing instructions for the given target. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#remove(org.dom4j.Attribute)">remove</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+          Removes the given <code>Attribute</code> from this element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#removeProcessingInstruction(java.lang.String)">removeProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          Removes the processing instruction for the given target if it exists</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#setAttributeList(java.util.List)">setAttributeList</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributeList)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#setAttributes(java.util.List)">setAttributes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributes)</CODE>
+
+<BR>
+          Sets the attributes that this element contains</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#setContent(java.util.List)">setContent</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</CODE>
+
+<BR>
+          Sets the contents of this branch as a <code>List</code> of
+ <code>Node</code> instances.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#setDocument(org.dom4j.Document)">setDocument</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</CODE>
+
+<BR>
+          
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#setQName(org.dom4j.QName)">setQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> name)</CODE>
+
+<BR>
+          
+ Sets the <code>QName</code> of this element which represents the local
+ name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultElement.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Entity)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractEle [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathRes [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Element"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF="../../../org/dom4j/Branch.html#setProces [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getUniquePath()">getUniquePath</A>, <A HREF="../../../org/dom4j/Nod [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultElement(java.lang.String)"><!-- --></A><H3>
+DefaultElement</H3>
+<PRE>
+public <B>DefaultElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultElement(org.dom4j.QName)"><!-- --></A><H3>
+DefaultElement</H3>
+<PRE>
+public <B>DefaultElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultElement(org.dom4j.QName, int)"><!-- --></A><H3>
+DefaultElement</H3>
+<PRE>
+public <B>DefaultElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                      int attributeCount)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DefaultElement(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+DefaultElement</H3>
+<PRE>
+public <B>DefaultElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                      <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocument()"><!-- --></A><H3>
+getDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>getDocument</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getDocument</code> returns the <code>Document</code> that this
+ <code>Node</code> is part of if this node supports the parent
+ relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getDocument()">getDocument</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocument(org.dom4j.Document)"><!-- --></A><H3>
+setDocument</H3>
+<PRE>
+public void <B>setDocument</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> document)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setDocument</code> sets the document of this node if the parent
+ relationship is supported or does nothing if the parent relationship is
+ not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside a <code>Document</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setDocument(org.dom4j.Document)">setDocument</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setDocument(org.dom4j.Document)">setDocument</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName()"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>QName</code> of this element which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>QName</code> associated with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setQName(org.dom4j.QName)"><!-- --></A><H3>
+setQName</H3>
+<PRE>
+public void <B>setQName</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Sets the <code>QName</code> of this element which represents the local
+ name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the <code>QName</code> to be associated with this element</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the text value of this element without recursing through child
+ elements. This method iterates through all <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>,<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>
+ and <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>nodes that this element contains and appends the text
+ values together.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStringValue()"><!-- --></A><H3>
+getStringValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getStringValue</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the XPath string-value of this node. The behaviour of this method
+ is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+ specification </a>. This method returns the string-value of all the
+ contained <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j"><CODE>Text</CODE></A>,<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j"><CODE>CDATA</CODE></A>,<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j"><CODE>Entity</CODE></A>and <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A> nodes all appended together.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getStringValue()">getStringValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#getStringValue()">getStringValue</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clone()"><!-- --></A><H3>
+clone</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>clone</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#clone()">clone</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceForPrefix(java.lang.String)"><!-- --></A><H3>
+getNamespaceForPrefix</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespaceForPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>Namespace</code> which is mapped to the given prefix
+ or null if it could not be found.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" titl [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceForURI(java.lang.String)"><!-- --></A><H3>
+getNamespaceForURI</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespaceForURI</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>Namespace</code> which is mapped to the given URI or
+ null if it could not be found. If there is more than one
+ <code>Namespace</code> mapped to the URI, which of them will be
+ returned is undetermined.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getNamespaceForURI(java.lang.String)">getNamespaceForURI</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#getNamespaceForURI(java.lang.String)">getNamespaceForURI</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in  [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="declaredNamespaces()"><!-- --></A><H3>
+declaredNamespaces</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>declaredNamespaces</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns all the namespaces declared by this element. If no namespaces are
+ declared for this element then an empty list will be returned. The list
+ is backed by the element such that changes to the list will be reflected
+ in the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#declaredNamespaces()">declaredNamespaces</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#declaredNamespaces()">declaredNamespaces</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement< [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="additionalNamespaces()"><!-- --></A><H3>
+additionalNamespaces</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>additionalNamespaces</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns any additional namespaces declarations for this element other
+ than namespace returned via the <A HREF="../../../org/dom4j/Element.html#getNamespace()"><CODE>Element.getNamespace()</CODE></A>method. If no
+ additional namespace declarations are present for this element then an
+ empty list will be returned. The list is backed by the element such that
+ changes to the list will be reflected in the element though the reverse
+ is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#additionalNamespaces()">additionalNamespaces</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#additionalNamespaces()">additionalNamespaces</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">Abstract [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="additionalNamespaces(java.lang.String)"><!-- --></A><H3>
+additionalNamespaces</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>additionalNamespaces</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> defaultNamespaceURI)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#additionalNamespaces(java.lang.String)">additionalNamespaces</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstructions()"><!-- --></A><H3>
+processingInstructions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>processingInstructions</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD><p>
+ Returns a list of all the processing instructions in this branch. The
+ list is backed by this branch so that changes to the list will be
+ reflected in the branch but the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#processingInstructions()">processingInstructions</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#processingInstructions()">processingInstructions</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">Abs [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstructions(java.lang.String)"><!-- --></A><H3>
+processingInstructions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>processingInstructions</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD><p>
+ Returns a list of the processing instructions for the given target. The
+ list is backed by this branch so that changes to the list will be
+ reflected in the branch but the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#processingInstructions(java.lang.String)">processingInstructions</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#processingInstructions(java.lang.String)">processingInstructions</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" tit [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="processingInstruction(java.lang.String)"><!-- --></A><H3>
+processingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>processingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#processingInstruction(java.lang.String)">processingInstruction</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#processingInstruction(java.lang.String)">processingInstruction</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title=" [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeProcessingInstruction(java.lang.String)"><!-- --></A><H3>
+removeProcessingInstruction</H3>
+<PRE>
+public boolean <B>removeProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Removes the processing instruction for the given target if it exists
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#removeProcessingInstruction(java.lang.String)">removeProcessingInstruction</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#removeProcessingInstruction(java.lang.String)">removeProcessingInstruction</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/Abstr [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(java.lang.String)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the first element for the given local name and any namespace.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#element(java.lang.String)">element</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(java.lang.String)">element</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(org.dom4j.QName)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the first element for the given fully qualified name.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#element(org.dom4j.QName)">element</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(org.dom4j.QName)">element</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                       <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#element(java.lang.String, org.dom4j.Namespace)">element</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContent(java.util.List)"><!-- --></A><H3>
+setContent</H3>
+<PRE>
+public void <B>setContent</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> content)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Sets the contents of this branch as a <code>List</code> of
+ <code>Node</code> instances.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>content</CODE> - is the list of nodes to use as the content for this branch.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clearContent()"><!-- --></A><H3>
+clearContent</H3>
+<PRE>
+public void <B>clearContent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Clears the content for this branch, removing any <code>Node</code>
+ instances this branch may contain.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="node(int)"><!-- --></A><H3>
+node</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>node</B>(int index)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the <code>Node</code> at the specified index position.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#node(int)">node</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#node(int)">node</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="indexOf(org.dom4j.Node)"><!-- --></A><H3>
+indexOf</H3>
+<PRE>
+public int <B>indexOf</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the index of the given node if it is a child node of this branch
+ or -1 if the given node is not a child node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#indexOf(org.dom4j.Node)">indexOf</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#indexOf(org.dom4j.Node)">indexOf</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="nodeCount()"><!-- --></A><H3>
+nodeCount</H3>
+<PRE>
+public int <B>nodeCount</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns the number of <code>Node</code> instances that this branch
+ contains.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#nodeCount()">nodeCount</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#nodeCount()">nodeCount</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="nodeIterator()"><!-- --></A><H3>
+nodeIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>nodeIterator</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE></B></DD>
+<DD>Returns an iterator through the content nodes of this branch
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Branch.html#nodeIterator()">nodeIterator</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#nodeIterator()">nodeIterator</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributes()"><!-- --></A><H3>
+attributes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributes</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j"><CODE>Attribute</CODE></A>instances this element contains as a backed
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>so that the attributes may be modified directly using the
+ <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>interface. The <code>List</code> is backed by the
+ <code>Element</code> so that changes to the list are reflected in the
+ element and vice versa.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributes()">attributes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributes()">attributes</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributes(java.util.List)"><!-- --></A><H3>
+setAttributes</H3>
+<PRE>
+public void <B>setAttributes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributes)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Sets the attributes that this element contains
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attributes</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeIterator()"><!-- --></A><H3>
+attributeIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>attributeIterator</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributeIterator()">attributeIterator</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeIterator()">attributeIterator</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>< [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(int)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(int index)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the attribute at the specified indexGets the
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(int)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(int)">attribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeCount()"><!-- --></A><H3>
+attributeCount</H3>
+<PRE>
+public int <B>attributeCount</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attributeCount()">attributeCount</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeCount()">attributeCount</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(java.lang.String)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the attribute with the given name
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(java.lang.String)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(java.lang.String)">attribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A>< [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(org.dom4j.QName)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(org.dom4j.QName)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(org.dom4j.QName)">attribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></C [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                           <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attribute(java.lang.String, org.dom4j.Namespace)">attribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="add(org.dom4j.Attribute)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Adds the given <code>Attribute</code> to this element. If the given
+ node already has a parent defined then an
+ <code>IllegalAddException</code> will be thrown. Attributes with null
+ values are silently ignored.
+ 
+ <p>
+ If the value of the attribute is null then this method call will remove
+ any attributes with the QName of this attribute.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#add(org.dom4j.Attribute)">add</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Attribute)">add</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(org.dom4j.Attribute)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public boolean <B>remove</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Removes the given <code>Attribute</code> from this element.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#remove(org.dom4j.Attribute)">remove</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#remove(org.dom4j.Attribute)">remove</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNewNode(org.dom4j.Node)"><!-- --></A><H3>
+addNewNode</H3>
+<PRE>
+protected void <B>addNewNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></B></DD>
+<DD>Like addNode() but does not require a parent check
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNewNode(org.dom4j.Node)">addNewNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeNode(org.dom4j.Node)"><!-- --></A><H3>
+removeNode</H3>
+<PRE>
+protected boolean <B>removeNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#removeNode(org.dom4j.Node)">removeNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contentList()"><!-- --></A><H3>
+contentList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>contentList</B>()</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#contentList()">contentList</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the internal List used to manage the content</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeList()"><!-- --></A><H3>
+attributeList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributeList</B>()</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeList()">attributeList</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the internal List used to store attributes or creates one if one
+         is not available</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeList(int)"><!-- --></A><H3>
+attributeList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributeList</B>(int size)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#attributeList(int)">attributeList</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>size</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the internal List used to store attributes or creates one with
+         the specified size if one is not available</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttributeList(java.util.List)"><!-- --></A><H3>
+setAttributeList</H3>
+<PRE>
+protected void <B>setAttributeList</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> attributeList)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#getDocumentFactory()">getDocumentFactory</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultEntity.html b/docs/apidocs/org/dom4j/tree/DefaultEntity.html
new file mode 100644
index 0000000..46354f0
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultEntity.html
@@ -0,0 +1,573 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultEntity (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultEntity class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultEntity (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultEntity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightEntity">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultEntity</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractEntity</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightEntity</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultEntity</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultEntity</B><DT>extends <A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></DL>
+
+<P>
+<p>
+ <code>DefaultEntity</code> is the default Entity implementation. It is a
+ doubly linked node which supports the parent relationship and can be modified
+ in place.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.11 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultEntity">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#name">name</A>, <A HREF="../../../org/dom4j/tree/FlyweightEntity.html#text">text</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#DefaultEntity(org.dom4j.Element, java.lang.String, java.lang.String)">DefaultEntity</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Creates the <code>Entity</code> with the specified name and text.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#DefaultEntity(java.lang.String)">DefaultEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Creates the <code>Entity</code> with the specified name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#DefaultEntity(java.lang.String, java.lang.String)">DefaultEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Creates the <code>Entity</code> with the specified name and text.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          sets the value of the entity if it is not defined yet otherwise an
+ <code>UnsupportedOperationException</code> is thrown as this class is
+ read only.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightEntity.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/FlyweightEntity.html#getText()">getText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractEntity.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#getStringValue()">getStringValue</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultEntity(java.lang.String)"><!-- --></A><H3>
+DefaultEntity</H3>
+<PRE>
+public <B>DefaultEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Creates the <code>Entity</code> with the specified name
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the entity</DL>
+<HR>
+
+<A NAME="DefaultEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
+DefaultEntity</H3>
+<PRE>
+public <B>DefaultEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>Creates the <code>Entity</code> with the specified name and text.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the entity<DD><CODE>text</CODE> - is the text of the entity</DL>
+<HR>
+
+<A NAME="DefaultEntity(org.dom4j.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+DefaultEntity</H3>
+<PRE>
+public <B>DefaultEntity</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>Creates the <code>Entity</code> with the specified name and text.
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the parent element<DD><CODE>name</CODE> - is the name of the entity<DD><CODE>text</CODE> - is the text of the entity</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setName(java.lang.String)">setName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></CODE></B></DD>
+<DD>sets the value of the entity if it is not defined yet otherwise an
+ <code>UnsupportedOperationException</code> is thrown as this class is
+ read only.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#setText(java.lang.String)">setText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultEntity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightEntity">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultNamespace.html b/docs/apidocs/org/dom4j/tree/DefaultNamespace.html
new file mode 100644
index 0000000..fd40586
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultNamespace.html
@@ -0,0 +1,558 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultNamespace (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultNamespace class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultNamespace (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultNamespace.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultNamespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.Namespace">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultNamespace</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">org.dom4j.Namespace</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultNamespace</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultNamespace</B><DT>extends <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></DL>
+
+<P>
+<p>
+ <code>DefaultNamespace</code> implements a doubly linked node which
+ supports the parent relationship and is mutable. It is useful when returning
+ results from XPath expressions.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.16 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultNamespace">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Namespace"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Namespace.html#CACHE">CACHE</A>, <A HREF="../../../org/dom4j/Namespace.html#NO_NAMESPACE">NO_NAMESPACE</A>, <A HREF="../../../org/dom4j/Namespace.html#XML_NAMESPACE">XML_NAMESPACE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#DefaultNamespace(org.dom4j.Element, java.lang.String, java.lang.String)">DefaultNamespace</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#DefaultNamespace(java.lang.String, java.lang.String)">DefaultNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#createHashCode()">createHashCode</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+          Implements an identity based comparsion using the parent element as well
+ as the prefix and URI</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Namespace"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Namespace.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Namespace.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Namespace.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/Namespace.html#get(java.lang.String)">get</A>, <A HREF="../../../org/dom4j/Namespace.html#get(java.lang.String, java.lang.String)">get</A>, <A HREF="../../../org/dom4j/Namespace.html#getNodeType()">getNode [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#notifyAll()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+DefaultNamespace</H3>
+<PRE>
+public <B>DefaultNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - is the prefix for this namespace<DD><CODE>uri</CODE> - is the URI for this namespace</DL>
+<HR>
+
+<A NAME="DefaultNamespace(org.dom4j.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+DefaultNamespace</H3>
+<PRE>
+public <B>DefaultNamespace</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the parent element<DD><CODE>prefix</CODE> - is the prefix for this namespace<DD><CODE>uri</CODE> - is the URI for this namespace</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="createHashCode()"><!-- --></A><H3>
+createHashCode</H3>
+<PRE>
+protected int <B>createHashCode</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/Namespace.html#createHashCode()">createHashCode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the hash code based on the qualified name and the URI of the
+         namespace and the hashCode() of the parent element.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD>Implements an identity based comparsion using the parent element as well
+ as the prefix and URI
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/Namespace.html#equals(java.lang.Object)">equals</A></CODE> in class <CODE><A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>object</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/Namespace.html#hashCode()">hashCode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the hash code based on the qualified name and the URI of the
+         namespace.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultNamespace.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultNamespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.Namespace">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultProcessingInstruction.html b/docs/apidocs/org/dom4j/tree/DefaultProcessingInstruction.html
new file mode 100644
index 0000000..cf77914
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultProcessingInstruction.html
@@ -0,0 +1,630 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultProcessingInstruction class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightProcessingInstruction">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultProcessingInstruction</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractProcessingInstruction</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightProcessingInstruction</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultProcessingInstruction</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultProcessingInstruction</B><DT>extends <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></DL>
+
+<P>
+<p>
+ <code>DefaultProcessingInstruction</code> is the default Processing
+ Instruction implementation. It is a doubly linked node which supports the
+ parent relationship and can be modified in place.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.13 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultProcessingInstruction">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#target">target</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#text">text</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#values">values</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#DefaultProcessingInstruction(org.dom4j.Element, java.lang.String, java.lang.String)">DefaultProcessingInstruction</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> values)</CODE>
+
+<BR>
+          
+ This will create a new PI with the given target and values
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#DefaultProcessingInstruction(java.lang.String, java.util.Map)">DefaultProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</CODE>
+
+<BR>
+          
+ This will create a new PI with the given target and values
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#DefaultProcessingInstruction(java.lang.String, java.lang.String)">DefaultProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> values)</CODE>
+
+<BR>
+          
+ This will create a new PI with the given target and values
+ </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#setTarget(java.lang.String)">setTarget</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          This method is the equivalent to the <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#setName(java.lang.String)"><CODE>AbstractProcessingInstruction.setName(java.lang.String)</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#setValue(java.lang.String, java.lang.String)">setValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#setValues(java.util.Map)">setValues</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getTarget()">getTarget</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getText()">getText</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getValue(java.lang.String)">getValue</A>, <A HREF="../../../org/dom4j/tree/FlyweightProcessin [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getPath(org.dom4j.Element)" [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+DefaultProcessingInstruction</H3>
+<PRE>
+public <B>DefaultProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</PRE>
+<DL>
+<DD><p>
+ This will create a new PI with the given target and values
+ </p>
+<P>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the name of the PI<DD><CODE>values</CODE> - is the <code>Map</code> values for the PI</DL>
+<HR>
+
+<A NAME="DefaultProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+DefaultProcessingInstruction</H3>
+<PRE>
+public <B>DefaultProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> values)</PRE>
+<DL>
+<DD><p>
+ This will create a new PI with the given target and values
+ </p>
+<P>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the name of the PI<DD><CODE>values</CODE> - is the values for the PI</DL>
+<HR>
+
+<A NAME="DefaultProcessingInstruction(org.dom4j.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+DefaultProcessingInstruction</H3>
+<PRE>
+public <B>DefaultProcessingInstruction</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> values)</PRE>
+<DL>
+<DD><p>
+ This will create a new PI with the given target and values
+ </p>
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the parent element<DD><CODE>target</CODE> - is the name of the PI<DD><CODE>values</CODE> - is the values for the PI</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setTarget(java.lang.String)"><!-- --></A><H3>
+setTarget</H3>
+<PRE>
+public void <B>setTarget</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></B></DD>
+<DD>This method is the equivalent to the <A HREF="../../../org/dom4j/Node.html#setName(java.lang.String)"><CODE>Node.setName(java.lang.String)</CODE></A>method. It is added
+ for clarity.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html#setTarget(java.lang.String)">setTarget</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#setTarget(java.lang.String)">setTarget</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/FlyweightProcessi [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setText(java.lang.String)">setText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValues(java.util.Map)"><!-- --></A><H3>
+setValues</H3>
+<PRE>
+public void <B>setValues</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html#setValues(java.util.Map)">setValues</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#setValues(java.util.Map)">setValues</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractProcessingInstru [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String, java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html#setValue(java.lang.String, java.lang.String)">setValue</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#setValue(java.lang.String, java.lang.String)">setValue</A></CODE> in class <CODE><A HREF="../../../o [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightProcessingInstruction">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/DefaultText.html b/docs/apidocs/org/dom4j/tree/DefaultText.html
new file mode 100644
index 0000000..22e51c0
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/DefaultText.html
@@ -0,0 +1,543 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultText (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.DefaultText class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultText (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultText.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightText">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class DefaultText</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractText</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightText</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.DefaultText</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="../. [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultText</B><DT>extends <A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></DL>
+
+<P>
+<p>
+ <code>DefaultText</code> is the default Text implementation. It is a doubly
+ linked node which supports the parent relationship and can be modified in
+ place.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.11 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.DefaultText">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightText.html#text">text</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html#DefaultText(org.dom4j.Element, java.lang.String)">DefaultText</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html#DefaultText(java.lang.String)">DefaultText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html#isReadOnly()">isReadOnly</A></B>()</CODE>
+
+<BR>
+          
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html#setParent(org.dom4j.Element)">setParent</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+          
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/DefaultText.html#supportsParent()">supportsParent</A></B>()</CODE>
+
+<BR>
+          
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightText.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/FlyweightText.html#getText()">getText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractText.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#toString()">toString</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#write(java.io.Writer)">write</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultText(java.lang.String)"><!-- --></A><H3>
+DefaultText</H3>
+<PRE>
+public <B>DefaultText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the Text text</DL>
+<HR>
+
+<A NAME="DefaultText(org.dom4j.Element, java.lang.String)"><!-- --></A><H3>
+DefaultText</H3>
+<PRE>
+public <B>DefaultText</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - is the parent element<DD><CODE>text</CODE> - is the Text text</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Sets the text data of this node or this method will throw an
+ <code>UnsupportedOperationException</code> if it is read-only.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setText(java.lang.String)">setText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>getParent</code> returns the parent <code>Element</code> if
+ this node supports the parent relationship or null if it is the root
+ element or does not support the parent relationship.
+ </p>
+ 
+ <p>
+ This method is an optional feature and may not be supported for all
+ <code>Node</code> implementations.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getParent()">getParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(org.dom4j.Element)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>setParent</code> sets the parent relationship of this node if the
+ parent relationship is supported or does nothing if the parent
+ relationship is not supported.
+ </p>
+ 
+ <p>
+ This method should only be called from inside an <code>Element</code>
+ implementation method and is not intended for general use.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setParent(org.dom4j.Element)">setParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setParent(org.dom4j.Element)">setParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="supportsParent()"><!-- --></A><H3>
+supportsParent</H3>
+<PRE>
+public boolean <B>supportsParent</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>supportsParent</code> returns true if this node supports the
+ parent relationship.
+ </p>
+ 
+ <p>
+ Some XML tree implementations are singly linked and only support downward
+ navigation through children relationships. The default case is that both
+ parent and children relationships are supported though for memory and
+ performance reasons the parent relationship may not be supported.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#supportsParent()">supportsParent</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#supportsParent()">supportsParent</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isReadOnly()"><!-- --></A><H3>
+isReadOnly</H3>
+<PRE>
+public boolean <B>isReadOnly</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>isReadOnly</code> returns true if this node is read only and
+ cannot be modified. Any attempt to modify a read-only <code>Node</code>
+ will result in an <code>UnsupportedOperationException</code> being
+ thrown.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#isReadOnly()">isReadOnly</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#isReadOnly()">isReadOnly</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultText.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightText">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/ElementIterator.html b/docs/apidocs/org/dom4j/tree/ElementIterator.html
new file mode 100644
index 0000000..8e007b9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/ElementIterator.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ElementIterator (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.ElementIterator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ElementIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FilterIterator">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class ElementIterator</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">org.dom4j.tree.FilterIterator</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.ElementIterator</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></DD>
+</DL>
+<HR>
+<B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I>
+<P>
+<DL>
+<DT>public class <B>ElementIterator</B><DT>extends <A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></DL>
+
+<P>
+<p>
+ <code>ElementIterator</code> is a filtering <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util"><CODE>Iterator</CODE></A>which filters
+ out objects which do not implement the <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>interface.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FilterIterator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html#proxy">proxy</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ElementIterator.html#ElementIterator(java.util.Iterator)">ElementIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> proxy)</CODE>
+
+<BR>
+          <B>Deprecated.</B>  </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ElementIterator.html#matches(java.lang.Object)">matches</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> element)</CODE>
+
+<BR>
+          <B>Deprecated.</B> DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FilterIterator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html#findNext()">findNext</A>, <A HREF="../../../org/dom4j/tree/FilterIterator.html#hasNext()">hasNext</A>, <A HREF="../../../org/dom4j/tree/FilterIterator.html#next()">next</A>, <A HREF="../../../org/dom4j/tree/FilterIterator.html#remove()">remove</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ElementIterator(java.util.Iterator)"><!-- --></A><H3>
+ElementIterator</H3>
+<PRE>
+public <B>ElementIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> proxy)</PRE>
+<DL>
+<DD><B>Deprecated.</B> </DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="matches(java.lang.Object)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+protected boolean <B>matches</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> element)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html#matches(java.lang.Object)">matches</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the given element implements the <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+         interface</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FilterIterator">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/ElementNameIterator.html b/docs/apidocs/org/dom4j/tree/ElementNameIterator.html
new file mode 100644
index 0000000..b6f74cc
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/ElementNameIterator.html
@@ -0,0 +1,307 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ElementNameIterator (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.ElementNameIterator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ElementNameIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementNameIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementNameIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FilterIterator">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class ElementNameIterator</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">org.dom4j.tree.FilterIterator</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.ElementNameIterator</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></DD>
+</DL>
+<HR>
+<B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I>
+<P>
+<DL>
+<DT>public class <B>ElementNameIterator</B><DT>extends <A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></DL>
+
+<P>
+<p>
+ <code>ElementNameIterator</code> is a filtering <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util"><CODE>Iterator</CODE></A>which
+ filters out objects which do not implement the <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>interface and
+ are not of the correct element name.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.11 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FilterIterator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html#proxy">proxy</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ElementNameIterator.html#ElementNameIterator(java.util.Iterator, java.lang.String)">ElementNameIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> proxy,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          <B>Deprecated.</B>  </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ElementNameIterator.html#matches(java.lang.Object)">matches</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+          <B>Deprecated.</B> DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FilterIterator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html#findNext()">findNext</A>, <A HREF="../../../org/dom4j/tree/FilterIterator.html#hasNext()">hasNext</A>, <A HREF="../../../org/dom4j/tree/FilterIterator.html#next()">next</A>, <A HREF="../../../org/dom4j/tree/FilterIterator.html#remove()">remove</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ElementNameIterator(java.util.Iterator, java.lang.String)"><!-- --></A><H3>
+ElementNameIterator</H3>
+<PRE>
+public <B>ElementNameIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> proxy,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Deprecated.</B> </DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="matches(java.lang.Object)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+protected boolean <B>matches</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html#matches(java.lang.Object)">matches</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>object</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the given element implements the <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+         interface</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementNameIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementNameIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FilterIterator">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/ElementQNameIterator.html b/docs/apidocs/org/dom4j/tree/ElementQNameIterator.html
new file mode 100644
index 0000000..4351e45
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/ElementQNameIterator.html
@@ -0,0 +1,307 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ElementQNameIterator (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.ElementQNameIterator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ElementQNameIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementQNameIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementQNameIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FilterIterator">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class ElementQNameIterator</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">org.dom4j.tree.FilterIterator</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.ElementQNameIterator</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></DD>
+</DL>
+<HR>
+<B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I>
+<P>
+<DL>
+<DT>public class <B>ElementQNameIterator</B><DT>extends <A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></DL>
+
+<P>
+<p>
+ <code>ElementQNameIterator</code> is a filtering <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util"><CODE>Iterator</CODE></A>which
+ filters out objects which do not implement the <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>interface and
+ are not of the correct fully qualified element name.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FilterIterator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html#proxy">proxy</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ElementQNameIterator.html#ElementQNameIterator(java.util.Iterator, org.dom4j.QName)">ElementQNameIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> proxy,
+                     <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          <B>Deprecated.</B>  </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/ElementQNameIterator.html#matches(java.lang.Object)">matches</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+          <B>Deprecated.</B> DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FilterIterator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html#findNext()">findNext</A>, <A HREF="../../../org/dom4j/tree/FilterIterator.html#hasNext()">hasNext</A>, <A HREF="../../../org/dom4j/tree/FilterIterator.html#next()">next</A>, <A HREF="../../../org/dom4j/tree/FilterIterator.html#remove()">remove</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ElementQNameIterator(java.util.Iterator, org.dom4j.QName)"><!-- --></A><H3>
+ElementQNameIterator</H3>
+<PRE>
+public <B>ElementQNameIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> proxy,
+                            <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Deprecated.</B> </DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="matches(java.lang.Object)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+protected boolean <B>matches</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html#matches(java.lang.Object)">matches</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>object</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the given element implements the <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>
+         interface and matches the given <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ElementQNameIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementQNameIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FilterIterator">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/FilterIterator.html b/docs/apidocs/org/dom4j/tree/FilterIterator.html
new file mode 100644
index 0000000..61e88b1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/FilterIterator.html
@@ -0,0 +1,409 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+FilterIterator (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.FilterIterator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FilterIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FilterIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FilterIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class FilterIterator</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.FilterIterator</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree">ElementIterator</A>, <A HREF="../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree">ElementNameIterator</A>, <A HREF="../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree">ElementQNameIterator</A></DD>
+</DL>
+<HR>
+<B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I>
+<P>
+<DL>
+<DT>public abstract class <B>FilterIterator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></DL>
+
+<P>
+<p>
+ <code>FilterIterator</code> is an abstract base class which is useful for
+ implementors of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util"><CODE>Iterator</CODE></A>which filter an existing iterator.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FilterIterator.html#proxy">proxy</A></B></CODE>
+
+<BR>
+          <B>Deprecated.</B>  </TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FilterIterator.html#FilterIterator(java.util.Iterator)">FilterIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> proxy)</CODE>
+
+<BR>
+          <B>Deprecated.</B>  </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FilterIterator.html#findNext()">findNext</A></B>()</CODE>
+
+<BR>
+          <B>Deprecated.</B>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FilterIterator.html#hasNext()">hasNext</A></B>()</CODE>
+
+<BR>
+          <B>Deprecated.</B>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FilterIterator.html#matches(java.lang.Object)">matches</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> element)</CODE>
+
+<BR>
+          <B>Deprecated.</B> Filter method to perform some matching on the given element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FilterIterator.html#next()">next</A></B>()</CODE>
+
+<BR>
+          <B>Deprecated.</B>  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FilterIterator.html#remove()">remove</A></B>()</CODE>
+
+<BR>
+          <B>Deprecated.</B> Always throws UnsupportedOperationException as this class does look-ahead
+ with its internal iterator.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="proxy"><!-- --></A><H3>
+proxy</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>proxy</B></PRE>
+<DL>
+<DD><B>Deprecated.</B> <DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="FilterIterator(java.util.Iterator)"><!-- --></A><H3>
+FilterIterator</H3>
+<PRE>
+public <B>FilterIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> proxy)</PRE>
+<DL>
+<DD><B>Deprecated.</B> </DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="hasNext()"><!-- --></A><H3>
+hasNext</H3>
+<PRE>
+public boolean <B>hasNext</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B> <DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html#hasNext()" title="class or interface in java.util">hasNext</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="next()"><!-- --></A><H3>
+next</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>next</B>()
+            throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/NoSuchElementException.html" title="class or interface in java.util">NoSuchElementException</A></PRE>
+<DL>
+<DD><B>Deprecated.</B> <DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html#next()" title="class or interface in java.util">next</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/NoSuchElementException.html" title="class or interface in java.util">NoSuchElementException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove()"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public void <B>remove</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B> <DD>Always throws UnsupportedOperationException as this class does look-ahead
+ with its internal iterator.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html#remove()" title="class or interface in java.util">remove</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang">UnsupportedOperationException</A></CODE> - always</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="matches(java.lang.Object)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+protected abstract boolean <B>matches</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> element)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <DD>Filter method to perform some matching on the given element.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the given element matches the filter and should be appear
+         in the iteration</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findNext()"><!-- --></A><H3>
+findNext</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>findNext</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B> <DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FilterIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FilterIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/FlyweightAttribute.html b/docs/apidocs/org/dom4j/tree/FlyweightAttribute.html
new file mode 100644
index 0000000..ebdea26
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/FlyweightAttribute.html
@@ -0,0 +1,452 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+FlyweightAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.FlyweightAttribute class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FlyweightAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class FlyweightAttribute</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractAttribute</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.FlyweightAttribute</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>FlyweightAttribute</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></DL>
+
+<P>
+<p>
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ </p>
+ 
+ <p>
+ This node could be shared across documents and elements though it does not
+ support the parent relationship.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.FlyweightAttribute">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#value">value</A></B></CODE>
+
+<BR>
+          The value of the <code>Attribute</code></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(org.dom4j.QName)">FlyweightAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(org.dom4j.QName, java.lang.String)">FlyweightAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(java.lang.String, java.lang.String)">FlyweightAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          Creates the <code>Attribute</code> with the specified local name and
+ value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#FlyweightAttribute(java.lang.String, java.lang.String, org.dom4j.Namespace)">FlyweightAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                   <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#getQName()">getQName</A></B>()</CODE>
+
+<BR>
+          
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+          
+ Returns the value of the attribute. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getData()">getData</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/A [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="value"><!-- --></A><H3>
+value</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>value</B></PRE>
+<DL>
+<DD>The value of the <code>Attribute</code>
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="FlyweightAttribute(org.dom4j.QName)"><!-- --></A><H3>
+FlyweightAttribute</H3>
+<PRE>
+public <B>FlyweightAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="FlyweightAttribute(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+FlyweightAttribute</H3>
+<PRE>
+public <B>FlyweightAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="FlyweightAttribute(java.lang.String, java.lang.String)"><!-- --></A><H3>
+FlyweightAttribute</H3>
+<PRE>
+public <B>FlyweightAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD>Creates the <code>Attribute</code> with the specified local name and
+ value.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute<DD><CODE>value</CODE> - is the value of the attribute</DL>
+<HR>
+
+<A NAME="FlyweightAttribute(java.lang.String, java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+FlyweightAttribute</H3>
+<PRE>
+public <B>FlyweightAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>Creates the <code>Attribute</code> with the specified local name, value
+ and <code>Namespace</code>.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute<DD><CODE>value</CODE> - is the value of the attribute<DD><CODE>namespace</CODE> - is the namespace of the attribute</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getValue</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the value of the attribute. This method returns the same value as
+ the <A HREF="../../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>method.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of the attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName()"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Returns the <code>QName</code> of this attribute which represents the
+ local name, the qualified name and the <code>Namespace</code>.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>QName</code> associated with this attribute</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/FlyweightCDATA.html b/docs/apidocs/org/dom4j/tree/FlyweightCDATA.html
new file mode 100644
index 0000000..4b19965
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/FlyweightCDATA.html
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+FlyweightCDATA (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.FlyweightCDATA class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FlyweightCDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightCDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class FlyweightCDATA</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCDATA</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.FlyweightCDATA</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>, <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serial [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>FlyweightCDATA</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A><DT>implements <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></DL>
+
+<P>
+<p>
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </p>
+ 
+ <p>
+ This node could be shared across documents and elements though it does not
+ support the parent relationship.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.FlyweightCDATA">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#text">text</A></B></CODE>
+
+<BR>
+          Text of the <code>CDATA</code> node</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#FlyweightCDATA(java.lang.String)">FlyweightCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          
+ Returns the text of this node.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCDATA.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#toString()">toString</A>, <A HREF="../../../org/dom4j/tree/AbstractCDATA.html#write(java.io.Writer)">write</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="text"><!-- --></A><H3>
+text</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>Text of the <code>CDATA</code> node
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="FlyweightCDATA(java.lang.String)"><!-- --></A><H3>
+FlyweightCDATA</H3>
+<PRE>
+public <B>FlyweightCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the CDATA text</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the text of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+createXPathResult</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>createXPathResult</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightCDATA.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/FlyweightComment.html b/docs/apidocs/org/dom4j/tree/FlyweightComment.html
new file mode 100644
index 0000000..851cb23
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/FlyweightComment.html
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+FlyweightComment (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.FlyweightComment class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FlyweightComment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightComment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class FlyweightComment</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractComment</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.FlyweightComment</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Se [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>FlyweightComment</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A><DT>implements <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></DL>
+
+<P>
+<p>
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </p>
+ 
+ <p>
+ This node could be shared across documents and elements though it does not
+ support the parent relationship.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.FlyweightComment">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html#text">text</A></B></CODE>
+
+<BR>
+          Text of the <code>Comment</code> node</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html#FlyweightComment(java.lang.String)">FlyweightComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          
+ Returns the text of this node.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractComment.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractComment.html#getUniquePath(org.dom4j.Element)">getUniquePath</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="text"><!-- --></A><H3>
+text</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>Text of the <code>Comment</code> node
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="FlyweightComment(java.lang.String)"><!-- --></A><H3>
+FlyweightComment</H3>
+<PRE>
+public <B>FlyweightComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the Comment text</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the text of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+createXPathResult</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>createXPathResult</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightComment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/FlyweightEntity.html b/docs/apidocs/org/dom4j/tree/FlyweightEntity.html
new file mode 100644
index 0000000..8b40b52
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/FlyweightEntity.html
@@ -0,0 +1,508 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+FlyweightEntity (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.FlyweightEntity class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FlyweightEntity (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightEntity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class FlyweightEntity</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractEntity</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.FlyweightEntity</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>FlyweightEntity</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></DL>
+
+<P>
+<p>
+ <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML entity.
+ </p>
+ 
+ <p>
+ This node could be shared across documents and elements though it does not
+ support the parent relationship.
+ </p>
+ 
+ <p>
+ Often this node needs to be created and then the text content added later
+ (for example in SAX) so this implementation allows a call to 
+ providing the entity has no text already.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.6 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.FlyweightEntity">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#name">name</A></B></CODE>
+
+<BR>
+          The name of the <code>Entity</code></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#text">text</A></B></CODE>
+
+<BR>
+          The text of the <code>Entity</code></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#FlyweightEntity()">FlyweightEntity</A></B>()</CODE>
+
+<BR>
+          A default constructor for implementors to use.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#FlyweightEntity(java.lang.String)">FlyweightEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Creates the <code>Entity</code> with the specified name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#FlyweightEntity(java.lang.String, java.lang.String)">FlyweightEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Creates the <code>Entity</code> with the specified name and text.</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html#setText(java.lang.String)">setText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          sets the value of the entity if it is not defined yet otherwise an
+ <code>UnsupportedOperationException</code> is thrown as this class is
+ read only.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractEntity.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity.html#getStringValue()">getStringValue</A>, <A HREF="../../../org/dom4j/tree/AbstractEntity [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="name"><!-- --></A><H3>
+name</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>name</B></PRE>
+<DL>
+<DD>The name of the <code>Entity</code>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="text"><!-- --></A><H3>
+text</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>The text of the <code>Entity</code>
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="FlyweightEntity()"><!-- --></A><H3>
+FlyweightEntity</H3>
+<PRE>
+protected <B>FlyweightEntity</B>()</PRE>
+<DL>
+<DD>A default constructor for implementors to use.
+<P>
+</DL>
+<HR>
+
+<A NAME="FlyweightEntity(java.lang.String)"><!-- --></A><H3>
+FlyweightEntity</H3>
+<PRE>
+public <B>FlyweightEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Creates the <code>Entity</code> with the specified name
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the entity</DL>
+<HR>
+
+<A NAME="FlyweightEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
+FlyweightEntity</H3>
+<PRE>
+public <B>FlyweightEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                       <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>Creates the <code>Entity</code> with the specified name and text.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the entity<DD><CODE>text</CODE> - is the text of the entity</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getName()">getName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getName()">getName</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the entity</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the text of the entity</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setText(java.lang.String)"><!-- --></A><H3>
+setText</H3>
+<PRE>
+public void <B>setText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>sets the value of the entity if it is not defined yet otherwise an
+ <code>UnsupportedOperationException</code> is thrown as this class is
+ read only.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)">setText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#setText(java.lang.String)">setText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang">UnsupportedOperationException</A></CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+createXPathResult</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>createXPathResult</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightEntity.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/FlyweightProcessingInstruction.html b/docs/apidocs/org/dom4j/tree/FlyweightProcessingInstruction.html
new file mode 100644
index 0000000..cda5687
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/FlyweightProcessingInstruction.html
@@ -0,0 +1,568 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+FlyweightProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.FlyweightProcessingInstruction class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FlyweightProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class FlyweightProcessingInstruction</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractProcessingInstruction</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.FlyweightProcessingInstruction</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>FlyweightProcessingInstruction</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></DL>
+
+<P>
+<p>
+ <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ implementation of a singly linked, read-only XML Processing Instruction.
+ </p>
+ 
+ <p>
+ This node could be shared across documents and elements though it does not
+ support the parent relationship.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.FlyweightProcessingInstruction">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#target">target</A></B></CODE>
+
+<BR>
+          The target of the PI</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#text">text</A></B></CODE>
+
+<BR>
+          The values for the PI as a String</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#values">values</A></B></CODE>
+
+<BR>
+          The values for the PI in name/value pairs</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#FlyweightProcessingInstruction()">FlyweightProcessingInstruction</A></B>()</CODE>
+
+<BR>
+          A default constructor for implementors to use.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#FlyweightProcessingInstruction(java.lang.String, java.util.Map)">FlyweightProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</CODE>
+
+<BR>
+          
+ This will create a new PI with the given target and values
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#FlyweightProcessingInstruction(java.lang.String, java.lang.String)">FlyweightProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          
+ This will create a new PI with the given target and values
+ </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getTarget()">getTarget</A></B>()</CODE>
+
+<BR>
+          This method is the equivalent to the <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getName()"><CODE>AbstractProcessingInstruction.getName()</CODE></A>method. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getValue(java.lang.String)">getValue</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Returns the value of a specific name in the PI.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#getValues()">getValues</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html#setTarget(java.lang.String)">setTarget</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</CODE>
+
+<BR>
+          This method is the equivalent to the <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#setName(java.lang.String)"><CODE>AbstractProcessingInstruction.setName(java.lang.String)</CODE></A>method. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html#getPath(org.dom4j.Element)" [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="target"><!-- --></A><H3>
+target</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>target</B></PRE>
+<DL>
+<DD>The target of the PI
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="text"><!-- --></A><H3>
+text</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>The values for the PI as a String
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="values"><!-- --></A><H3>
+values</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>values</B></PRE>
+<DL>
+<DD>The values for the PI in name/value pairs
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="FlyweightProcessingInstruction()"><!-- --></A><H3>
+FlyweightProcessingInstruction</H3>
+<PRE>
+public <B>FlyweightProcessingInstruction</B>()</PRE>
+<DL>
+<DD>A default constructor for implementors to use.
+<P>
+</DL>
+<HR>
+
+<A NAME="FlyweightProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+FlyweightProcessingInstruction</H3>
+<PRE>
+public <B>FlyweightProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> values)</PRE>
+<DL>
+<DD><p>
+ This will create a new PI with the given target and values
+ </p>
+<P>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the name of the PI<DD><CODE>values</CODE> - is the <code>Map</code> of the values for the PI</DL>
+<HR>
+
+<A NAME="FlyweightProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+FlyweightProcessingInstruction</H3>
+<PRE>
+public <B>FlyweightProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><p>
+ This will create a new PI with the given target and values
+ </p>
+<P>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - is the name of the PI<DD><CODE>text</CODE> - is the values for the PI as text</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getTarget()"><!-- --></A><H3>
+getTarget</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getTarget</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></B></DD>
+<DD>This method is the equivalent to the <A HREF="../../../org/dom4j/Node.html#getName()"><CODE>Node.getName()</CODE></A>method. It is added
+ for clarity.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the target of this PI</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTarget(java.lang.String)"><!-- --></A><H3>
+setTarget</H3>
+<PRE>
+public void <B>setTarget</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></B></DD>
+<DD>This method is the equivalent to the <A HREF="../../../org/dom4j/Node.html#setName(java.lang.String)"><CODE>Node.setName(java.lang.String)</CODE></A>method. It is added
+ for clarity.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue(java.lang.String)"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getValue</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></B></DD>
+<DD><p>
+ Returns the value of a specific name in the PI.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - is the name of the attribute to lookup.
+<DT><B>Returns:</B><DD>the value of the named attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValues()"><!-- --></A><H3>
+getValues</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>getValues</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the values for this processing instruction as a Map</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+createXPathResult</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>createXPathResult</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightProcessingInstruction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/FlyweightText.html b/docs/apidocs/org/dom4j/tree/FlyweightText.html
new file mode 100644
index 0000000..a83442c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/FlyweightText.html
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+FlyweightText (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.FlyweightText class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FlyweightText (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightText.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class FlyweightText</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractText</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.FlyweightText</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="../. [...]
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>FlyweightText</B><DT>extends <A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A><DT>implements <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></DL>
+
+<P>
+<p>
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </p>
+ 
+ <p>
+ This node could be shared across documents and elements though it does not
+ support the parent relationship.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.tree.FlyweightText">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightText.html#text">text</A></B></CODE>
+
+<BR>
+          Text of the <code>Text</code> node</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightText.html#FlyweightText(java.lang.String)">FlyweightText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightText.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/FlyweightText.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          
+ Returns the text of this node.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractText.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#getNodeType()">getNodeType</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#toString()">toString</A>, <A HREF="../../../org/dom4j/tree/AbstractText.html#write(java.io.Writer)">write</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#appendText(java.lang.String)">appendText</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getPath(org.dom4j.Element)">getPath</A>, <A HREF="../../../org/dom4j/tree/AbstractCharacterData.html#getUniquePath(org.dom4j.Element)">getUniquePath</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.CharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/CharacterData.html#appendText(java.lang.String)">appendText</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/Node.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()" [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="text"><!-- --></A><H3>
+text</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>Text of the <code>Text</code> node
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="FlyweightText(java.lang.String)"><!-- --></A><H3>
+FlyweightText</H3>
+<PRE>
+public <B>FlyweightText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - is the Text text</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ Returns the text of this node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#getText()">getText</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathResult(org.dom4j.Element)"><!-- --></A><H3>
+createXPathResult</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>createXPathResult</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> parent)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathResult(org.dom4j.Element)">createXPathResult</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FlyweightText.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/NamespaceCache.html b/docs/apidocs/org/dom4j/tree/NamespaceCache.html
new file mode 100644
index 0000000..95a8696
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/NamespaceCache.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+NamespaceCache (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.NamespaceCache class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="NamespaceCache (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NamespaceCache.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NamespaceCache.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class NamespaceCache</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.NamespaceCache</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>NamespaceCache</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>NamespaceCache</code> caches instances of
+ <code>DefaultNamespace</code> for reuse both across documents and within
+ documents.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.15 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a>, Maarten Coene, Brett Finnell</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#cache">cache</A></B></CODE>
+
+<BR>
+          Cache of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util"><CODE>Map</CODE></A>instances indexed by URI which contain caches of
+ <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>for each prefix</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#noPrefixCache">noPrefixCache</A></B></CODE>
+
+<BR>
+          Cache of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>instances indexed by URI for default
+ namespaces with no prefixes</TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#NamespaceCache()">NamespaceCache</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          A factory method to create <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>instance</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#get(java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html#getURICache(java.lang.String)">getURICache</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="cache"><!-- --></A><H3>
+cache</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>cache</B></PRE>
+<DL>
+<DD>Cache of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util"><CODE>Map</CODE></A>instances indexed by URI which contain caches of
+ <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>for each prefix
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="noPrefixCache"><!-- --></A><H3>
+noPrefixCache</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>noPrefixCache</B></PRE>
+<DL>
+<DD>Cache of <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>instances indexed by URI for default
+ namespaces with no prefixes
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NamespaceCache()"><!-- --></A><H3>
+NamespaceCache</H3>
+<PRE>
+public <B>NamespaceCache</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="get(java.lang.String, java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!<DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the namespace for the given prefix and uri</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the name model for the given name and namepsace</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getURICache(java.lang.String)"><!-- --></A><H3>
+getURICache</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>getURICache</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the cache for the given namespace URI. If one does not currently
+         exist it is created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createNamespace</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>createNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>A factory method to create <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>instance
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!<DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>a newly created <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><CODE>Namespace</CODE></A>instance.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NamespaceCache.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NamespaceCache.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/NamespaceStack.html b/docs/apidocs/org/dom4j/tree/NamespaceStack.html
new file mode 100644
index 0000000..4ae2837
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/NamespaceStack.html
@@ -0,0 +1,773 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+NamespaceStack (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.NamespaceStack class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="NamespaceStack (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NamespaceStack.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NamespaceStack.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class NamespaceStack</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.NamespaceStack</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>NamespaceStack</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+NamespaceStack implements a stack of namespaces and optionally maintains a
+ cache of all the fully qualified names (<code>QName</code>) which are in
+ scope. This is useful when building or navigating a <i>dom4j </i> document.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.13 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#NamespaceStack()">NamespaceStack</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#NamespaceStack(org.dom4j.DocumentFactory)">NamespaceStack</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#addNamespace(java.lang.String, java.lang.String)">addNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          Adds a new namespace to the stack</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+          Clears the stack</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#contains(org.dom4j.Namespace)">contains</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</CODE>
+
+<BR>
+          Factory method to creeate new Namespace instances. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#createQName(java.lang.String, java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Factory method to creeate new QName instances. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#findDefaultNamespace()">findDefaultNamespace</A></B>()</CODE>
+
+<BR>
+          Attempts to find the current default namespace on the stack right now or
+ returns null if one could not be found</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getAttributeQName(java.lang.String, java.lang.String, java.lang.String)">getAttributeQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getDefaultNamespace()">getDefaultNamespace</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getNamespace(int)">getNamespace</A></B>(int index)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getNamespaceCache()">getNamespaceCache</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getNamespaceForPrefix(java.lang.String)">getNamespaceForPrefix</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getQName(java.lang.String, java.lang.String, java.lang.String)">getQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#getURI(java.lang.String)">getURI</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#pop()">pop</A></B>()</CODE>
+
+<BR>
+          Pops the most recently used <code>Namespace</code> from the stack</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#pop(java.lang.String)">pop</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          Pops a namepace from the stack with the given prefix and URI</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#push(org.dom4j.Namespace)">push</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Pushes the given namespace onto the stack so that its prefix becomes
+ available.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#push(java.lang.String, java.lang.String)">push</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+          Adds a namepace to the stack with the given prefix and URI</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#pushQName(java.lang.String, java.lang.String, org.dom4j.Namespace, java.lang.String)">pushQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+          Adds the QName to the stack of available QNames</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#remove(int)">remove</A></B>(int index)</CODE>
+
+<BR>
+          Removes the namespace at the given index of the stack</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#size()">size</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NamespaceStack()"><!-- --></A><H3>
+NamespaceStack</H3>
+<PRE>
+public <B>NamespaceStack</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="NamespaceStack(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+NamespaceStack</H3>
+<PRE>
+public <B>NamespaceStack</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="push(org.dom4j.Namespace)"><!-- --></A><H3>
+push</H3>
+<PRE>
+public void <B>push</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>Pushes the given namespace onto the stack so that its prefix becomes
+ available.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the <code>Namespace</code> to add to the stack.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="pop()"><!-- --></A><H3>
+pop</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>pop</B>()</PRE>
+<DL>
+<DD>Pops the most recently used <code>Namespace</code> from the stack
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Namespace popped from the stack</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="size()"><!-- --></A><H3>
+size</H3>
+<PRE>
+public int <B>size</B>()</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of namespaces on the stackce stack.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD>Clears the stack
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespace(int)"><!-- --></A><H3>
+getNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespace</B>(int index)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the namespace at the specified index on the stack</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceForPrefix(java.lang.String)"><!-- --></A><H3>
+getNamespaceForPrefix</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getNamespaceForPrefix</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the namespace for the given prefix or null if it could not be
+         found.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getURI(java.lang.String)"><!-- --></A><H3>
+getURI</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getURI</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the URI for the given prefix or null if it could not be found.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contains(org.dom4j.Namespace)"><!-- --></A><H3>
+contains</H3>
+<PRE>
+public boolean <B>contains</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the given prefix is in the stack.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQName(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+getQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeQName(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+getAttributeQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getAttributeQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                               <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="push(java.lang.String, java.lang.String)"><!-- --></A><H3>
+push</H3>
+<PRE>
+public void <B>push</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>Adds a namepace to the stack with the given prefix and URI
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!<DD><CODE>uri</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>addNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD>Adds a new namespace to the stack
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!<DD><CODE>uri</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="pop(java.lang.String)"><!-- --></A><H3>
+pop</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>pop</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD>Pops a namepace from the stack with the given prefix and URI
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDefaultNamespace()"><!-- --></A><H3>
+getDefaultNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>getDefaultNamespace</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="pushQName(java.lang.String, java.lang.String, org.dom4j.Namespace, java.lang.String)"><!-- --></A><H3>
+pushQName</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>pushQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                          <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD>Adds the QName to the stack of available QNames
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>localName</CODE> - DOCUMENT ME!<DD><CODE>qualifiedName</CODE> - DOCUMENT ME!<DD><CODE>namespace</CODE> - DOCUMENT ME!<DD><CODE>prefix</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>Factory method to creeate new QName instances. By default this method
+ interns the QName
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>localName</CODE> - DOCUMENT ME!<DD><CODE>qualifiedName</CODE> - DOCUMENT ME!<DD><CODE>namespace</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createNamespace</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>createNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI)</PRE>
+<DL>
+<DD>Factory method to creeate new Namespace instances. By default this method
+ interns the Namespace
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - DOCUMENT ME!<DD><CODE>namespaceURI</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findDefaultNamespace()"><!-- --></A><H3>
+findDefaultNamespace</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>findDefaultNamespace</B>()</PRE>
+<DL>
+<DD>Attempts to find the current default namespace on the stack right now or
+ returns null if one could not be found
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(int)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>remove</B>(int index)</PRE>
+<DL>
+<DD>Removes the namespace at the given index of the stack
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>index</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceCache()"><!-- --></A><H3>
+getNamespaceCache</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>getNamespaceCache</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NamespaceStack.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NamespaceStack.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/QNameCache.html b/docs/apidocs/org/dom4j/tree/QNameCache.html
new file mode 100644
index 0000000..bcf9cd2
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/QNameCache.html
@@ -0,0 +1,577 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+QNameCache (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.QNameCache class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="QNameCache (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/QNameCache.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="QNameCache.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class QNameCache</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.QNameCache</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>QNameCache</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>QNameCache</code> caches instances of <code>QName</code> for reuse
+ both across documents and within documents.
+ </p>< < < < < < < QNameCache.java
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.16 $ =======, $Revision: 1.16 $ >>>>>>> 1.15</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a>, <a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#namespaceCache">namespaceCache</A></B></CODE>
+
+<BR>
+          Cache of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util"><CODE>Map</CODE></A>instances indexed by namespace which contain caches
+ of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>for each name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#noNamespaceCache">noNamespaceCache</A></B></CODE>
+
+<BR>
+          Cache of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>instances with no namespace</TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#QNameCache()">QNameCache</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#QNameCache(org.dom4j.DocumentFactory)">QNameCache</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#createMap()">createMap</A></B>()</CODE>
+
+<BR>
+          A factory method</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#createQName(java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Factory method to create a new QName object which can be overloaded to
+ create derived QName instances</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          Factory method to create a new QName object which can be overloaded to
+ create derived QName instances</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#createQName(java.lang.String, org.dom4j.Namespace, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</CODE>
+
+<BR>
+          Factory method to create a new QName object which can be overloaded to
+ create derived QName instances</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String, org.dom4j.Namespace)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String, org.dom4j.Namespace, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+    <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#get(java.lang.String, java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#getNamespaceCache(org.dom4j.Namespace)">getNamespaceCache</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#getQNames()">getQNames</A></B>()</CODE>
+
+<BR>
+          Returns a list of all the QName instances currently used</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/QNameCache.html#intern(org.dom4j.QName)">intern</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="noNamespaceCache"><!-- --></A><H3>
+noNamespaceCache</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>noNamespaceCache</B></PRE>
+<DL>
+<DD>Cache of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>instances with no namespace
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="namespaceCache"><!-- --></A><H3>
+namespaceCache</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>namespaceCache</B></PRE>
+<DL>
+<DD>Cache of <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util"><CODE>Map</CODE></A>instances indexed by namespace which contain caches
+ of <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j"><CODE>QName</CODE></A>for each name
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="QNameCache()"><!-- --></A><H3>
+QNameCache</H3>
+<PRE>
+public <B>QNameCache</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="QNameCache(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+QNameCache</H3>
+<PRE>
+public <B>QNameCache</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getQNames()"><!-- --></A><H3>
+getQNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>getQNames</B>()</PRE>
+<DL>
+<DD>Returns a list of all the QName instances currently used
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the QName for the given name and no namepsace</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                 <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!<DD><CODE>namespace</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the QName for the given local name and namepsace</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String, org.dom4j.Namespace, java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                 <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qName)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>localName</CODE> - DOCUMENT ME!<DD><CODE>namespace</CODE> - DOCUMENT ME!<DD><CODE>qName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the QName for the given local name, qualified name and namepsace</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="get(java.lang.String, java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="intern(org.dom4j.QName)"><!-- --></A><H3>
+intern</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>intern</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>qname</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the cached QName instance if there is one or adds the given qname
+         to the cache if not</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceCache(org.dom4j.Namespace)"><!-- --></A><H3>
+getNamespaceCache</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>getNamespaceCache</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the cache for the given namespace. If one does not currently
+         exist it is created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createMap()"><!-- --></A><H3>
+createMap</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>createMap</B>()</PRE>
+<DL>
+<DD>A factory method
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a newly created <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util"><CODE>Map</CODE></A>instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Factory method to create a new QName object which can be overloaded to
+ create derived QName instances
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD>Factory method to create a new QName object which can be overloaded to
+ create derived QName instances
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!<DD><CODE>namespace</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, org.dom4j.Namespace, java.lang.String)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName)</PRE>
+<DL>
+<DD>Factory method to create a new QName object which can be overloaded to
+ create derived QName instances
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - DOCUMENT ME!<DD><CODE>namespace</CODE> - DOCUMENT ME!<DD><CODE>qualifiedName</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/QNameCache.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="QNameCache.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/SingleIterator.html b/docs/apidocs/org/dom4j/tree/SingleIterator.html
new file mode 100644
index 0000000..10f85cf
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/SingleIterator.html
@@ -0,0 +1,316 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SingleIterator (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree.SingleIterator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SingleIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SingleIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SingleIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.tree</FONT>
+<BR>
+Class SingleIterator</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.tree.SingleIterator</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>SingleIterator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></DL>
+
+<P>
+<p>
+ <code>SingleIterator</code> is an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util"><CODE>Iterator</CODE></A>over a single object
+ instance.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/SingleIterator.html#SingleIterator(java.lang.Object)">SingleIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/SingleIterator.html#hasNext()">hasNext</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/SingleIterator.html#next()">next</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/tree/SingleIterator.html#remove()">remove</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SingleIterator(java.lang.Object)"><!-- --></A><H3>
+SingleIterator</H3>
+<PRE>
+public <B>SingleIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="hasNext()"><!-- --></A><H3>
+hasNext</H3>
+<PRE>
+public boolean <B>hasNext</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html#hasNext()" title="class or interface in java.util">hasNext</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="next()"><!-- --></A><H3>
+next</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>next</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html#next()" title="class or interface in java.util">next</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove()"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public void <B>remove</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html#remove()" title="class or interface in java.util">remove</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SingleIterator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SingleIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractAttribute.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractAttribute.html
new file mode 100644
index 0000000..0618049
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractAttribute.html
@@ -0,0 +1,323 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractAttribute</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>BeanAttribute</code> represents a mutable XML attribute which is
+ backed by a property of the JavaBean of its parent element.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeAttribute</code> represents an Attribute which supports the
+ <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DOMAttribute</code> implements a doubly linked attribute which
+ supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataAttribute</code> support the adornment of a user data object
+ on an Element or Attribute instance such that the methods 
+ <A HREF="../../../../org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><CODE>UserDataAttribute.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractBranch.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractBranch.html
new file mode 100644
index 0000000..03ba06b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractBranch.html
@@ -0,0 +1,427 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractBranch (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractBranch (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractBranch.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractBranch</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></B></CODE>
+
+<BR>
+          
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></B></CODE>
+
+<BR>
+          
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></B></CODE>
+
+<BR>
+          
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/ContentListFacade.html#ContentListFacade(org.dom4j.tree.AbstractBranch, java.util.List)">ContentListFacade</A></B>(<A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/BackedList.html#BackedList(org.dom4j.tree.AbstractBranch, java.util.List)">BackedList</A></B>(<A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/BackedList.html#BackedList(org.dom4j.tree.AbstractBranch, java.util.List, int)">BackedList</A></B>(<A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent,
+           int capacity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/BackedList.html#BackedList(org.dom4j.tree.AbstractBranch, java.util.List, java.util.List)">BackedList</A></B>(<A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> branch,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> branchContent,
+           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> initialContent)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A></B></CODE>
+
+<BR>
+          
+ <code>IndexedElement</code> is an implementation of <A HREF="../../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A></B></CODE>
+
+<BR>
+          
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="../../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>UserDataElement.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractBranch.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractCDATA.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractCDATA.html
new file mode 100644
index 0000000..7c316e3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractCDATA.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractCDATA (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractCDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractCDATA</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultCDATA</code> is the default CDATA implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractCharacterData.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractCharacterData.html
new file mode 100644
index 0000000..490d489
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractCharacterData.html
@@ -0,0 +1,314 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractCharacterData (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractCharacterData (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractCharacterData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractCharacterData</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultCDATA</code> is the default CDATA implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultComment</code> is the default Comment implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultText</code> is the default Text implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractCharacterData.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractComment.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractComment.html
new file mode 100644
index 0000000..992ec4f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractComment.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractComment (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractComment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractComment</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultComment</code> is the default Comment implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractDocument.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractDocument.html
new file mode 100644
index 0000000..cb6472f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractDocument.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractDocument (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractDocument (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractDocument</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractDocumentType.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractDocumentType.html
new file mode 100644
index 0000000..203f3d3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractDocumentType.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractDocumentType (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractDocumentType (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractDocumentType</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocumentType</code> implements a DocumentType node which supports
+ the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocumentType</code> is the DOM4J default implementation of an
+ XML document type.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractElement.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractElement.html
new file mode 100644
index 0000000..89c3999
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractElement.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractElement (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractElement</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></B></CODE>
+
+<BR>
+          
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></B></CODE>
+
+<BR>
+          
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></B></CODE>
+
+<BR>
+          
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A></B></CODE>
+
+<BR>
+          
+ <code>IndexedElement</code> is an implementation of <A HREF="../../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A></B></CODE>
+
+<BR>
+          
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="../../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>UserDataElement.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractEntity.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractEntity.html
new file mode 100644
index 0000000..bb4dfec
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractEntity.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractEntity (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractEntity (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractEntity</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A></B></CODE>
+
+<BR>
+          
+ <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultEntity</code> is the default Entity implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML entity.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractNode.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractNode.html
new file mode 100644
index 0000000..abd58ae
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractNode.html
@@ -0,0 +1,786 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractNode (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractNode (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractNode</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></B></CODE>
+
+<BR>
+          
+ <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ nodes.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">BeanAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>BeanAttribute</code> represents a mutable XML attribute which is
+ backed by a property of the JavaBean of its parent element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></B></CODE>
+
+<BR>
+          
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">DatatypeAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeAttribute</code> represents an Attribute which supports the
+ <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DOMAttribute</code> implements a doubly linked attribute which
+ supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocumentType</code> implements a DocumentType node which supports
+ the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></B></CODE>
+
+<BR>
+          
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A></B></CODE>
+
+<BR>
+          
+ <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A></B></CODE>
+
+<BR>
+          
+ <code>DOMNamespace</code> implements a Namespace that is compatable with
+ the DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ node which supports the W3C DOM API.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractCharacterData</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractDocumentType</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractEntity</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractProcessingInstruction</code> is an abstract base class for
+ tree implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></B></CODE>
+
+<BR>
+          
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></B></CODE>
+
+<BR>
+          
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultCDATA</code> is the default CDATA implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultComment</code> is the default Comment implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultDocumentType</code> is the DOM4J default implementation of an
+ XML document type.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultEntity</code> is the default Entity implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultNamespace</code> implements a doubly linked node which
+ supports the parent relationship and is mutable. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultProcessingInstruction</code> is the default Processing
+ Instruction implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultText</code> is the default Text implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ implementation of a singly linked, read-only XML Processing Instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A></B></CODE>
+
+<BR>
+          
+ <code>IndexedElement</code> is an implementation of <A HREF="../../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A></B></CODE>
+
+<BR>
+          
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataAttribute</code> support the adornment of a user data object
+ on an Element or Attribute instance such that the methods 
+ <A HREF="../../../../org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><CODE>UserDataAttribute.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="../../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>UserDataElement.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractNode.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractProcessingInstruction.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractProcessingInstruction.html
new file mode 100644
index 0000000..dfc5357
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractProcessingInstruction.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractProcessingInstruction</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultProcessingInstruction</code> is the default Processing
+ Instruction implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ implementation of a singly linked, read-only XML Processing Instruction.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/AbstractText.html b/docs/apidocs/org/dom4j/tree/class-use/AbstractText.html
new file mode 100644
index 0000000..46022e7
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/AbstractText.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.AbstractText (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.AbstractText (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.AbstractText</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultText</code> is the default Text implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></CODE>
+
+<BR>
+          
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AbstractText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/BackedList.html b/docs/apidocs/org/dom4j/tree/class-use/BackedList.html
new file mode 100644
index 0000000..7735413
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/BackedList.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.BackedList (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.BackedList (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BackedList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.BackedList</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> that return <A HREF="../../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractBranch.</B><B><A HREF="../../../../org/dom4j/tree/AbstractBranch.html#createResultList()">createResultList</A></B>()</CODE>
+
+<BR>
+          A Factory Method pattern which creates a BackedList implementation used
+ to store results of a filtered content query.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BackedList.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/BaseElement.html b/docs/apidocs/org/dom4j/tree/class-use/BaseElement.html
new file mode 100644
index 0000000..09b3781
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/BaseElement.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.BaseElement (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.BaseElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BaseElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.BaseElement</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A></B></CODE>
+
+<BR>
+          
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="BaseElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/ConcurrentReaderHashMap.BarrierLock.html b/docs/apidocs/org/dom4j/tree/class-use/ConcurrentReaderHashMap.BarrierLock.html
new file mode 100644
index 0000000..03121fb
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/ConcurrentReaderHashMap.BarrierLock.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.ConcurrentReaderHashMap.BarrierLock (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.ConcurrentReaderHashMap.BarrierLock (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ConcurrentReaderHashMap.BarrierLock.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.ConcurrentReaderHashMap.BarrierLock</B></H2>
+</CENTER>
+No usage of org.dom4j.tree.ConcurrentReaderHashMap.BarrierLock
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ConcurrentReaderHashMap.BarrierLock.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/ConcurrentReaderHashMap.Entry.html b/docs/apidocs/org/dom4j/tree/class-use/ConcurrentReaderHashMap.Entry.html
new file mode 100644
index 0000000..d6ef093
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/ConcurrentReaderHashMap.Entry.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.ConcurrentReaderHashMap.Entry (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.ConcurrentReaderHashMap.Entry (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ConcurrentReaderHashMap.Entry.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.ConcurrentReaderHashMap.Entry</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> declared as <A HREF="../../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A></CODE></FONT></TD>
+<TD><CODE><B>ConcurrentReaderHashMap.Entry.</B><B><A HREF="../../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html#next">next</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ConcurrentReaderHashMap.Entry.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/ContentListFacade.html b/docs/apidocs/org/dom4j/tree/class-use/ContentListFacade.html
new file mode 100644
index 0000000..7272689
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/ContentListFacade.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.ContentListFacade (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.ContentListFacade (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ContentListFacade.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.ContentListFacade</B></H2>
+</CENTER>
+No usage of org.dom4j.tree.ContentListFacade
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ContentListFacade.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultAttribute.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultAttribute.html
new file mode 100644
index 0000000..6ccbd27
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultAttribute.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultAttribute</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DOMAttribute</code> implements a doubly linked attribute which
+ supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataAttribute</code> support the adornment of a user data object
+ on an Element or Attribute instance such that the methods 
+ <A HREF="../../../../org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><CODE>UserDataAttribute.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultCDATA.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultCDATA.html
new file mode 100644
index 0000000..2958e1e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultCDATA.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultCDATA (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultCDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultCDATA</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultComment.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultComment.html
new file mode 100644
index 0000000..57fb4be
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultComment.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultComment (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultComment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultComment</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultDocument.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultDocument.html
new file mode 100644
index 0000000..521b416
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultDocument.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultDocument (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultDocument (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultDocument</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">DOMDocument</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocument</code> implements an XML document which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultDocument.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultDocumentType.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultDocumentType.html
new file mode 100644
index 0000000..00b7863
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultDocumentType.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultDocumentType (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultDocumentType (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultDocumentType</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">DOMDocumentType</A></B></CODE>
+
+<BR>
+          
+ <code>DOMDocumentType</code> implements a DocumentType node which supports
+ the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultDocumentType.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultElement.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultElement.html
new file mode 100644
index 0000000..03177c1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultElement.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultElement (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultElement</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">BeanElement</A></B></CODE>
+
+<BR>
+          
+ <code>BeanElement</code> uses a Java Bean to store its attributes.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> in <A HREF="../../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">DatatypeElement</A></B></CODE>
+
+<BR>
+          
+ <code>DatatypeElement</code> represents an Element which supports the <a
+ href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ specification.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">DOMElement</A></B></CODE>
+
+<BR>
+          
+ <code>DOMElement</code> implements an XML element which supports the W3C
+ DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A></B></CODE>
+
+<BR>
+          
+ <code>IndexedElement</code> is an implementation of <A HREF="../../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="../../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>UserDataElement.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultEntity.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultEntity.html
new file mode 100644
index 0000000..a0b591b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultEntity.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultEntity (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultEntity (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultEntity</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A></B></CODE>
+
+<BR>
+          
+ <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultNamespace.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultNamespace.html
new file mode 100644
index 0000000..348355a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultNamespace.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultNamespace (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultNamespace (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultNamespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultNamespace</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">DOMNamespace</A></B></CODE>
+
+<BR>
+          
+ <code>DOMNamespace</code> implements a Namespace that is compatable with
+ the DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultNamespace.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultProcessingInstruction.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultProcessingInstruction.html
new file mode 100644
index 0000000..da03a38
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultProcessingInstruction.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultProcessingInstruction</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/DefaultText.html b/docs/apidocs/org/dom4j/tree/class-use/DefaultText.html
new file mode 100644
index 0000000..359706a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/DefaultText.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.DefaultText (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.DefaultText (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.DefaultText</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/ElementIterator.html b/docs/apidocs/org/dom4j/tree/class-use/ElementIterator.html
new file mode 100644
index 0000000..c2838de
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/ElementIterator.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.ElementIterator (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.ElementIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.ElementIterator</B></H2>
+</CENTER>
+No usage of org.dom4j.tree.ElementIterator
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/ElementNameIterator.html b/docs/apidocs/org/dom4j/tree/class-use/ElementNameIterator.html
new file mode 100644
index 0000000..ae1968b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/ElementNameIterator.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.ElementNameIterator (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.ElementNameIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementNameIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.ElementNameIterator</B></H2>
+</CENTER>
+No usage of org.dom4j.tree.ElementNameIterator
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementNameIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/ElementQNameIterator.html b/docs/apidocs/org/dom4j/tree/class-use/ElementQNameIterator.html
new file mode 100644
index 0000000..b2bfdc5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/ElementQNameIterator.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.ElementQNameIterator (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.ElementQNameIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementQNameIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.ElementQNameIterator</B></H2>
+</CENTER>
+No usage of org.dom4j.tree.ElementQNameIterator
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ElementQNameIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/FilterIterator.html b/docs/apidocs/org/dom4j/tree/class-use/FilterIterator.html
new file mode 100644
index 0000000..3ba20d3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/FilterIterator.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.FilterIterator (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.FilterIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FilterIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.FilterIterator</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree">ElementIterator</A></B></CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree">ElementNameIterator</A></B></CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree">ElementQNameIterator</A></B></CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I></TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FilterIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/FlyweightAttribute.html b/docs/apidocs/org/dom4j/tree/class-use/FlyweightAttribute.html
new file mode 100644
index 0000000..9b3d3e3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/FlyweightAttribute.html
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.FlyweightAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.FlyweightAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.FlyweightAttribute</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">DOMAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DOMAttribute</code> implements a doubly linked attribute which
+ supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A></B></CODE>
+
+<BR>
+          
+ <code>UserDataAttribute</code> support the adornment of a user data object
+ on an Element or Attribute instance such that the methods 
+ <A HREF="../../../../org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><CODE>UserDataAttribute.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/FlyweightCDATA.html b/docs/apidocs/org/dom4j/tree/class-use/FlyweightCDATA.html
new file mode 100644
index 0000000..d59019e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/FlyweightCDATA.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.FlyweightCDATA (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.FlyweightCDATA (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.FlyweightCDATA</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">DOMCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultCDATA</code> is the default CDATA implementation. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightCDATA.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/FlyweightComment.html b/docs/apidocs/org/dom4j/tree/class-use/FlyweightComment.html
new file mode 100644
index 0000000..e13e1b5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/FlyweightComment.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.FlyweightComment (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.FlyweightComment (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.FlyweightComment</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">DOMComment</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultComment</code> is the default Comment implementation. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightComment.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/FlyweightEntity.html b/docs/apidocs/org/dom4j/tree/class-use/FlyweightEntity.html
new file mode 100644
index 0000000..e4f21d7
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/FlyweightEntity.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.FlyweightEntity (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.FlyweightEntity (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.FlyweightEntity</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">DOMEntityReference</A></B></CODE>
+
+<BR>
+          
+ <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultEntity</code> is the default Entity implementation. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightEntity.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/FlyweightProcessingInstruction.html b/docs/apidocs/org/dom4j/tree/class-use/FlyweightProcessingInstruction.html
new file mode 100644
index 0000000..187cb56
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/FlyweightProcessingInstruction.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.FlyweightProcessingInstruction (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.FlyweightProcessingInstruction (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.FlyweightProcessingInstruction</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">DOMProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultProcessingInstruction</code> is the default Processing
+ Instruction implementation. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightProcessingInstruction.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/FlyweightText.html b/docs/apidocs/org/dom4j/tree/class-use/FlyweightText.html
new file mode 100644
index 0000000..d882898
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/FlyweightText.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.FlyweightText (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.FlyweightText (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.FlyweightText</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A> in <A HREF="../../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">DOMText</A></B></CODE>
+
+<BR>
+          
+ <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></B></CODE>
+
+<BR>
+          
+ <code>DefaultText</code> is the default Text implementation. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="FlyweightText.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/NamespaceCache.html b/docs/apidocs/org/dom4j/tree/class-use/NamespaceCache.html
new file mode 100644
index 0000000..272d92d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/NamespaceCache.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.NamespaceCache (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.NamespaceCache (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NamespaceCache.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.NamespaceCache</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A> in <A HREF="../../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../org/dom4j/package-summary.html">org.dom4j</A> declared as <A HREF="../../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A></CODE></FONT></TD>
+<TD><CODE><B>Namespace.</B><B><A HREF="../../../../org/dom4j/Namespace.html#CACHE">CACHE</A></B></CODE>
+
+<BR>
+          Cache of Namespace instances</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NamespaceCache.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/NamespaceStack.html b/docs/apidocs/org/dom4j/tree/class-use/NamespaceStack.html
new file mode 100644
index 0000000..5a63a05
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/NamespaceStack.html
@@ -0,0 +1,280 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.NamespaceStack (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.NamespaceStack (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NamespaceStack.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.NamespaceStack</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A> with parameters of type <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>BeanElement.</B><B><A HREF="../../../../org/dom4j/bean/BeanElement.html#setAttributes(org.xml.sax.Attributes, org.dom4j.tree.NamespaceStack, boolean)">setAttributes</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes,
+              <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack,
+              boolean noNamespaceAttributes)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/io/package-summary.html">org.dom4j.io</A> with parameters of type <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../../org/dom4j/io/SAXWriter.html#writeContent(org.dom4j.Branch, org.dom4j.tree.NamespaceStack)">writeContent</A></B>(<A HREF="../../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> branch,
+             <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../../org/dom4j/io/SAXWriter.html#write(org.dom4j.Element, org.dom4j.tree.NamespaceStack)">write</A></B>(<A HREF="../../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+      <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/AttributesImpl.html" title="class or interface in org.xml.sax.helpers">AttributesImpl</A></CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../../org/dom4j/io/SAXWriter.html#startPrefixMapping(org.dom4j.Element, org.dom4j.tree.NamespaceStack)">startPrefixMapping</A></B>(<A HREF="../../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                   <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+          Fires a SAX startPrefixMapping event for all the namespaceStack which
+ have just come into scope</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../../org/dom4j/io/SAXWriter.html#endPrefixMapping(org.dom4j.tree.NamespaceStack, int)">endPrefixMapping</A></B>(<A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> stack,
+                 int stackSize)</CODE>
+
+<BR>
+          Fires a SAX endPrefixMapping event for all the namespaceStack which have
+ gone out of scope</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B>SAXWriter.</B><B><A HREF="../../../../org/dom4j/io/SAXWriter.html#isIgnoreableNamespace(org.dom4j.Namespace, org.dom4j.tree.NamespaceStack)">isIgnoreableNamespace</A></B>(<A HREF="../../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace,
+                      <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> with parameters of type <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractElement.</B><B><A HREF="../../../../org/dom4j/tree/AbstractElement.html#setAttributes(org.xml.sax.Attributes, org.dom4j.tree.NamespaceStack, boolean)">setAttributes</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/Attributes.html" title="class or interface in org.xml.sax">Attributes</A> attributes,
+              <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A> namespaceStack,
+              boolean noNamespaceAttributes)</CODE>
+
+<BR>
+          This method provides a more optimal way of setting all the attributes on
+ an Element particularly for use in <A HREF="../../../../org/dom4j/io/SAXReader.html" title="class in org.dom4j.io"><CODE>SAXReader</CODE></A>.</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NamespaceStack.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/QNameCache.html b/docs/apidocs/org/dom4j/tree/class-use/QNameCache.html
new file mode 100644
index 0000000..4cb2591
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/QNameCache.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.QNameCache (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.QNameCache (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="QNameCache.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.QNameCache</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A> in <A HREF="../../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../org/dom4j/package-summary.html">org.dom4j</A> declared as <A HREF="../../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../../org/dom4j/DocumentFactory.html#cache">cache</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/package-summary.html">org.dom4j</A> that return <A HREF="../../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A></CODE></FONT></TD>
+<TD><CODE><B>DocumentFactory.</B><B><A HREF="../../../../org/dom4j/DocumentFactory.html#createQNameCache()">createQNameCache</A></B>()</CODE>
+
+<BR>
+          Factory method to create the QNameCache. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="QNameCache.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/class-use/SingleIterator.html b/docs/apidocs/org/dom4j/tree/class-use/SingleIterator.html
new file mode 100644
index 0000000..d29c6f8
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/class-use/SingleIterator.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.tree.SingleIterator (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.tree.SingleIterator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SingleIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.tree.SingleIterator</B></H2>
+</CENTER>
+No usage of org.dom4j.tree.SingleIterator
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SingleIterator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/package-frame.html b/docs/apidocs/org/dom4j/tree/package-frame.html
new file mode 100644
index 0000000..1f27306
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/package-frame.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.tree (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/tree/package-summary.html" target="classFrame">org.dom4j.tree</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="AbstractAttribute.html" title="class in org.dom4j.tree" target="classFrame">AbstractAttribute</A>
+<BR>
+<A HREF="AbstractBranch.html" title="class in org.dom4j.tree" target="classFrame">AbstractBranch</A>
+<BR>
+<A HREF="AbstractCDATA.html" title="class in org.dom4j.tree" target="classFrame">AbstractCDATA</A>
+<BR>
+<A HREF="AbstractCharacterData.html" title="class in org.dom4j.tree" target="classFrame">AbstractCharacterData</A>
+<BR>
+<A HREF="AbstractComment.html" title="class in org.dom4j.tree" target="classFrame">AbstractComment</A>
+<BR>
+<A HREF="AbstractDocument.html" title="class in org.dom4j.tree" target="classFrame">AbstractDocument</A>
+<BR>
+<A HREF="AbstractDocumentType.html" title="class in org.dom4j.tree" target="classFrame">AbstractDocumentType</A>
+<BR>
+<A HREF="AbstractElement.html" title="class in org.dom4j.tree" target="classFrame">AbstractElement</A>
+<BR>
+<A HREF="AbstractEntity.html" title="class in org.dom4j.tree" target="classFrame">AbstractEntity</A>
+<BR>
+<A HREF="AbstractNode.html" title="class in org.dom4j.tree" target="classFrame">AbstractNode</A>
+<BR>
+<A HREF="AbstractProcessingInstruction.html" title="class in org.dom4j.tree" target="classFrame">AbstractProcessingInstruction</A>
+<BR>
+<A HREF="AbstractText.html" title="class in org.dom4j.tree" target="classFrame">AbstractText</A>
+<BR>
+<A HREF="BackedList.html" title="class in org.dom4j.tree" target="classFrame">BackedList</A>
+<BR>
+<A HREF="BaseElement.html" title="class in org.dom4j.tree" target="classFrame">BaseElement</A>
+<BR>
+<A HREF="ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree" target="classFrame">ConcurrentReaderHashMap.BarrierLock</A>
+<BR>
+<A HREF="ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree" target="classFrame">ConcurrentReaderHashMap.Entry</A>
+<BR>
+<A HREF="ContentListFacade.html" title="class in org.dom4j.tree" target="classFrame">ContentListFacade</A>
+<BR>
+<A HREF="DefaultAttribute.html" title="class in org.dom4j.tree" target="classFrame">DefaultAttribute</A>
+<BR>
+<A HREF="DefaultCDATA.html" title="class in org.dom4j.tree" target="classFrame">DefaultCDATA</A>
+<BR>
+<A HREF="DefaultComment.html" title="class in org.dom4j.tree" target="classFrame">DefaultComment</A>
+<BR>
+<A HREF="DefaultDocument.html" title="class in org.dom4j.tree" target="classFrame">DefaultDocument</A>
+<BR>
+<A HREF="DefaultDocumentType.html" title="class in org.dom4j.tree" target="classFrame">DefaultDocumentType</A>
+<BR>
+<A HREF="DefaultElement.html" title="class in org.dom4j.tree" target="classFrame">DefaultElement</A>
+<BR>
+<A HREF="DefaultEntity.html" title="class in org.dom4j.tree" target="classFrame">DefaultEntity</A>
+<BR>
+<A HREF="DefaultNamespace.html" title="class in org.dom4j.tree" target="classFrame">DefaultNamespace</A>
+<BR>
+<A HREF="DefaultProcessingInstruction.html" title="class in org.dom4j.tree" target="classFrame">DefaultProcessingInstruction</A>
+<BR>
+<A HREF="DefaultText.html" title="class in org.dom4j.tree" target="classFrame">DefaultText</A>
+<BR>
+<A HREF="ElementIterator.html" title="class in org.dom4j.tree" target="classFrame">ElementIterator</A>
+<BR>
+<A HREF="ElementNameIterator.html" title="class in org.dom4j.tree" target="classFrame">ElementNameIterator</A>
+<BR>
+<A HREF="ElementQNameIterator.html" title="class in org.dom4j.tree" target="classFrame">ElementQNameIterator</A>
+<BR>
+<A HREF="FilterIterator.html" title="class in org.dom4j.tree" target="classFrame">FilterIterator</A>
+<BR>
+<A HREF="FlyweightAttribute.html" title="class in org.dom4j.tree" target="classFrame">FlyweightAttribute</A>
+<BR>
+<A HREF="FlyweightCDATA.html" title="class in org.dom4j.tree" target="classFrame">FlyweightCDATA</A>
+<BR>
+<A HREF="FlyweightComment.html" title="class in org.dom4j.tree" target="classFrame">FlyweightComment</A>
+<BR>
+<A HREF="FlyweightEntity.html" title="class in org.dom4j.tree" target="classFrame">FlyweightEntity</A>
+<BR>
+<A HREF="FlyweightProcessingInstruction.html" title="class in org.dom4j.tree" target="classFrame">FlyweightProcessingInstruction</A>
+<BR>
+<A HREF="FlyweightText.html" title="class in org.dom4j.tree" target="classFrame">FlyweightText</A>
+<BR>
+<A HREF="NamespaceCache.html" title="class in org.dom4j.tree" target="classFrame">NamespaceCache</A>
+<BR>
+<A HREF="NamespaceStack.html" title="class in org.dom4j.tree" target="classFrame">NamespaceStack</A>
+<BR>
+<A HREF="QNameCache.html" title="class in org.dom4j.tree" target="classFrame">QNameCache</A>
+<BR>
+<A HREF="SingleIterator.html" title="class in org.dom4j.tree" target="classFrame">SingleIterator</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/package-summary.html b/docs/apidocs/org/dom4j/tree/package-summary.html
new file mode 100644
index 0000000..9c4c24c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/package-summary.html
@@ -0,0 +1,423 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.tree (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.tree package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.tree (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/util/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.tree
+</H2>
+Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+  
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></TD>
+<TD>
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+<TD>
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A></B></TD>
+<TD>
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A></B></TD>
+<TD>
+ <code>AbstractCharacterData</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A></B></TD>
+<TD>
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A></B></TD>
+<TD>
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A></B></TD>
+<TD>
+ <code>AbstractDocumentType</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+<TD>
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A></B></TD>
+<TD>
+ <code>AbstractEntity</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+<TD>
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A></B></TD>
+<TD>
+ <code>AbstractProcessingInstruction</code> is an abstract base class for
+ tree implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A></B></TD>
+<TD>
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">BackedList</A></B></TD>
+<TD>
+ <code>BackedList</code> represents a list of content of a <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></B></TD>
+<TD>
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.BarrierLock</A></B></TD>
+<TD>A Serializable class for barrier lock *</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree">ConcurrentReaderHashMap.Entry</A></B></TD>
+<TD>ConcurrentReaderHashMap collision list entry.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree">ContentListFacade</A></B></TD>
+<TD>
+ <code>ContentListFacade</code> represents a facade of the content of a
+ <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A> which is returned via calls to the <A HREF="../../../org/dom4j/Branch.html#content()"><CODE>Branch.content()</CODE></A>  method to allow users to modify the content of a
+ <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A> directly using the <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A> interface. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></B></TD>
+<TD>
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A></B></TD>
+<TD>
+ <code>DefaultCDATA</code> is the default CDATA implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A></B></TD>
+<TD>
+ <code>DefaultComment</code> is the default Comment implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A></B></TD>
+<TD>
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A></B></TD>
+<TD>
+ <code>DefaultDocumentType</code> is the DOM4J default implementation of an
+ XML document type.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></TD>
+<TD>
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A></B></TD>
+<TD>
+ <code>DefaultEntity</code> is the default Entity implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A></B></TD>
+<TD>
+ <code>DefaultNamespace</code> implements a doubly linked node which
+ supports the parent relationship and is mutable. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A></B></TD>
+<TD>
+ <code>DefaultProcessingInstruction</code> is the default Processing
+ Instruction implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A></B></TD>
+<TD>
+ <code>DefaultText</code> is the default Text implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree">ElementIterator</A></B></TD>
+<TD><B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree">ElementNameIterator</A></B></TD>
+<TD><B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree">ElementQNameIterator</A></B></TD>
+<TD><B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree">FilterIterator</A></B></TD>
+<TD><B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></TD>
+<TD>
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A></B></TD>
+<TD>
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A></B></TD>
+<TD>
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A></B></TD>
+<TD>
+ <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A></B></TD>
+<TD>
+ <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ implementation of a singly linked, read-only XML Processing Instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A></B></TD>
+<TD>
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree">NamespaceCache</A></B></TD>
+<TD>
+ <code>NamespaceCache</code> caches instances of
+ <code>DefaultNamespace</code> for reuse both across documents and within
+ documents.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree">NamespaceStack</A></B></TD>
+<TD>NamespaceStack implements a stack of namespaces and optionally maintains a
+ cache of all the fully qualified names (<code>QName</code>) which are in
+ scope. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree">QNameCache</A></B></TD>
+<TD>
+ <code>QNameCache</code> caches instances of <code>QName</code> for reuse
+ both across documents and within documents.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree">SingleIterator</A></B></TD>
+<TD>
+ <code>SingleIterator</code> is an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util"><CODE>Iterator</CODE></A>over a single object
+ instance.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.tree Description
+</H2>
+
+<P>
+<p>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+  </p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/util/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/package-tree.html b/docs/apidocs/org/dom4j/tree/package-tree.html
new file mode 100644
index 0000000..dbb0837
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/package-tree.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.tree Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.tree Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/util/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.tree
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html" title="class or interface in java.util"><B>AbstractCollection</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>)
+<UL>
+<LI TYPE="circle">class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util"><B>AbstractList</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A>)
+<UL>
+<LI TYPE="circle">class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html" title="class or interface in java.util"><B>ArrayList</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A>, java.util.<A HREF="http://java.sun.com/j2se/1. [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree"><B>BackedList</B></A></UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree"><B>ContentListFacade</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>AbstractNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interfa [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><B>AbstractAttribute</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><B>FlyweightAttribute</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><B>DefaultAttribute</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>AbstractBranch</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><B>AbstractDocument</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><B>DefaultDocument</B></A></UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>AbstractElement</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><B>BaseElement</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>DefaultElement</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><B>AbstractCharacterData</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><B>AbstractCDATA</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><B>FlyweightCDATA</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><B>DefaultCDATA</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><B>AbstractComment</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><B>FlyweightComment</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><B>DefaultComment</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><B>AbstractText</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><B>FlyweightText</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><B>DefaultText</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><B>AbstractDocumentType</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><B>DefaultDocumentType</B></A></UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><B>AbstractEntity</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><B>FlyweightEntity</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><B>DefaultEntity</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><B>AbstractProcessingInstruction</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><B>FlyweightProcessingInstruction</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><B>DefaultProcessingInstruction</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j"><B>Namespace</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><B>DefaultNamespace</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree"><B>ConcurrentReaderHashMap.BarrierLock</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree"><B>ConcurrentReaderHashMap.Entry</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html" title="class or interface in java.util">Map.Entry</A>)
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FilterIterator.html" title="class in org.dom4j.tree"><B>FilterIterator</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree"><B>ElementIterator</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree"><B>ElementNameIterator</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree"><B>ElementQNameIterator</B></A></UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree"><B>NamespaceCache</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree"><B>NamespaceStack</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree"><B>QNameCache</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF=".. [...]
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/swing/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/util/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/tree/package-use.html b/docs/apidocs/org/dom4j/tree/package-use.html
new file mode 100644
index 0000000..17092b9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/tree/package-use.html
@@ -0,0 +1,880 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.tree (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.tree (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.tree</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j"><B>org.dom4j</B></A></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.bean"><B>org.dom4j.bean</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.datatype"><B>org.dom4j.datatype</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.dom"><B>org.dom4j.dom</B></A></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.io"><B>org.dom4j.io</B></A></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.tree"><B>org.dom4j.tree</B></A></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+   </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> used by <A HREF="../../../org/dom4j/package-summary.html">org.dom4j</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractNode.html#org.dom4j"><B>AbstractNode</B></A></B>
+
+<BR>
+          
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/NamespaceCache.html#org.dom4j"><B>NamespaceCache</B></A></B>
+
+<BR>
+          
+ <code>NamespaceCache</code> caches instances of
+ <code>DefaultNamespace</code> for reuse both across documents and within
+ documents.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/QNameCache.html#org.dom4j"><B>QNameCache</B></A></B>
+
+<BR>
+          
+ <code>QNameCache</code> caches instances of <code>QName</code> for reuse
+ both across documents and within documents.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.bean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> used by <A HREF="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractAttribute.html#org.dom4j.bean"><B>AbstractAttribute</B></A></B>
+
+<BR>
+          
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractBranch.html#org.dom4j.bean"><B>AbstractBranch</B></A></B>
+
+<BR>
+          
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractElement.html#org.dom4j.bean"><B>AbstractElement</B></A></B>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractNode.html#org.dom4j.bean"><B>AbstractNode</B></A></B>
+
+<BR>
+          
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultElement.html#org.dom4j.bean"><B>DefaultElement</B></A></B>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/NamespaceStack.html#org.dom4j.bean"><B>NamespaceStack</B></A></B>
+
+<BR>
+          NamespaceStack implements a stack of namespaces and optionally maintains a
+ cache of all the fully qualified names (<code>QName</code>) which are in
+ scope. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.datatype"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> used by <A HREF="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractAttribute.html#org.dom4j.datatype"><B>AbstractAttribute</B></A></B>
+
+<BR>
+          
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractBranch.html#org.dom4j.datatype"><B>AbstractBranch</B></A></B>
+
+<BR>
+          
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractElement.html#org.dom4j.datatype"><B>AbstractElement</B></A></B>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractNode.html#org.dom4j.datatype"><B>AbstractNode</B></A></B>
+
+<BR>
+          
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultElement.html#org.dom4j.datatype"><B>DefaultElement</B></A></B>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.dom"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> used by <A HREF="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractAttribute.html#org.dom4j.dom"><B>AbstractAttribute</B></A></B>
+
+<BR>
+          
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractBranch.html#org.dom4j.dom"><B>AbstractBranch</B></A></B>
+
+<BR>
+          
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractCDATA.html#org.dom4j.dom"><B>AbstractCDATA</B></A></B>
+
+<BR>
+          
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractCharacterData.html#org.dom4j.dom"><B>AbstractCharacterData</B></A></B>
+
+<BR>
+          
+ <code>AbstractCharacterData</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractComment.html#org.dom4j.dom"><B>AbstractComment</B></A></B>
+
+<BR>
+          
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractDocument.html#org.dom4j.dom"><B>AbstractDocument</B></A></B>
+
+<BR>
+          
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractDocumentType.html#org.dom4j.dom"><B>AbstractDocumentType</B></A></B>
+
+<BR>
+          
+ <code>AbstractDocumentType</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractElement.html#org.dom4j.dom"><B>AbstractElement</B></A></B>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractEntity.html#org.dom4j.dom"><B>AbstractEntity</B></A></B>
+
+<BR>
+          
+ <code>AbstractEntity</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractNode.html#org.dom4j.dom"><B>AbstractNode</B></A></B>
+
+<BR>
+          
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractProcessingInstruction.html#org.dom4j.dom"><B>AbstractProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>AbstractProcessingInstruction</code> is an abstract base class for
+ tree implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractText.html#org.dom4j.dom"><B>AbstractText</B></A></B>
+
+<BR>
+          
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultAttribute.html#org.dom4j.dom"><B>DefaultAttribute</B></A></B>
+
+<BR>
+          
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultCDATA.html#org.dom4j.dom"><B>DefaultCDATA</B></A></B>
+
+<BR>
+          
+ <code>DefaultCDATA</code> is the default CDATA implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultComment.html#org.dom4j.dom"><B>DefaultComment</B></A></B>
+
+<BR>
+          
+ <code>DefaultComment</code> is the default Comment implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultDocument.html#org.dom4j.dom"><B>DefaultDocument</B></A></B>
+
+<BR>
+          
+ <code>DefaultDocument</code> is the default DOM4J default implementation of
+ an XML document.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultDocumentType.html#org.dom4j.dom"><B>DefaultDocumentType</B></A></B>
+
+<BR>
+          
+ <code>DefaultDocumentType</code> is the DOM4J default implementation of an
+ XML document type.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultElement.html#org.dom4j.dom"><B>DefaultElement</B></A></B>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultEntity.html#org.dom4j.dom"><B>DefaultEntity</B></A></B>
+
+<BR>
+          
+ <code>DefaultEntity</code> is the default Entity implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultNamespace.html#org.dom4j.dom"><B>DefaultNamespace</B></A></B>
+
+<BR>
+          
+ <code>DefaultNamespace</code> implements a doubly linked node which
+ supports the parent relationship and is mutable. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultProcessingInstruction.html#org.dom4j.dom"><B>DefaultProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>DefaultProcessingInstruction</code> is the default Processing
+ Instruction implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultText.html#org.dom4j.dom"><B>DefaultText</B></A></B>
+
+<BR>
+          
+ <code>DefaultText</code> is the default Text implementation. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightAttribute.html#org.dom4j.dom"><B>FlyweightAttribute</B></A></B>
+
+<BR>
+          
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightCDATA.html#org.dom4j.dom"><B>FlyweightCDATA</B></A></B>
+
+<BR>
+          
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightComment.html#org.dom4j.dom"><B>FlyweightComment</B></A></B>
+
+<BR>
+          
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightEntity.html#org.dom4j.dom"><B>FlyweightEntity</B></A></B>
+
+<BR>
+          
+ <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightProcessingInstruction.html#org.dom4j.dom"><B>FlyweightProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ implementation of a singly linked, read-only XML Processing Instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightText.html#org.dom4j.dom"><B>FlyweightText</B></A></B>
+
+<BR>
+          
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.io"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> used by <A HREF="../../../org/dom4j/io/package-summary.html">org.dom4j.io</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/NamespaceStack.html#org.dom4j.io"><B>NamespaceStack</B></A></B>
+
+<BR>
+          NamespaceStack implements a stack of namespaces and optionally maintains a
+ cache of all the fully qualified names (<code>QName</code>) which are in
+ scope. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.tree"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> used by <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractAttribute.html#org.dom4j.tree"><B>AbstractAttribute</B></A></B>
+
+<BR>
+          
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractBranch.html#org.dom4j.tree"><B>AbstractBranch</B></A></B>
+
+<BR>
+          
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractCDATA.html#org.dom4j.tree"><B>AbstractCDATA</B></A></B>
+
+<BR>
+          
+ <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractCharacterData.html#org.dom4j.tree"><B>AbstractCharacterData</B></A></B>
+
+<BR>
+          
+ <code>AbstractCharacterData</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractComment.html#org.dom4j.tree"><B>AbstractComment</B></A></B>
+
+<BR>
+          
+ <code>AbstractComment</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractDocument.html#org.dom4j.tree"><B>AbstractDocument</B></A></B>
+
+<BR>
+          
+ <code>AbstractDocument</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractDocumentType.html#org.dom4j.tree"><B>AbstractDocumentType</B></A></B>
+
+<BR>
+          
+ <code>AbstractDocumentType</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractElement.html#org.dom4j.tree"><B>AbstractElement</B></A></B>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractEntity.html#org.dom4j.tree"><B>AbstractEntity</B></A></B>
+
+<BR>
+          
+ <code>AbstractEntity</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractNode.html#org.dom4j.tree"><B>AbstractNode</B></A></B>
+
+<BR>
+          
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractProcessingInstruction.html#org.dom4j.tree"><B>AbstractProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>AbstractProcessingInstruction</code> is an abstract base class for
+ tree implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractText.html#org.dom4j.tree"><B>AbstractText</B></A></B>
+
+<BR>
+          
+ <code>AbstractText</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/BackedList.html#org.dom4j.tree"><B>BackedList</B></A></B>
+
+<BR>
+          
+ <code>BackedList</code> represents a list of content of a <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j"><CODE>Branch</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/ConcurrentReaderHashMap.Entry.html#org.dom4j.tree"><B>ConcurrentReaderHashMap.Entry</B></A></B>
+
+<BR>
+          ConcurrentReaderHashMap collision list entry.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FilterIterator.html#org.dom4j.tree"><B>FilterIterator</B></A></B>
+
+<BR>
+          <B>Deprecated.</B> <I>THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightAttribute.html#org.dom4j.tree"><B>FlyweightAttribute</B></A></B>
+
+<BR>
+          
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightCDATA.html#org.dom4j.tree"><B>FlyweightCDATA</B></A></B>
+
+<BR>
+          
+ <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML CDATA.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightComment.html#org.dom4j.tree"><B>FlyweightComment</B></A></B>
+
+<BR>
+          
+ <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Comment.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightEntity.html#org.dom4j.tree"><B>FlyweightEntity</B></A></B>
+
+<BR>
+          
+ <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML entity.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightProcessingInstruction.html#org.dom4j.tree"><B>FlyweightProcessingInstruction</B></A></B>
+
+<BR>
+          
+ <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ implementation of a singly linked, read-only XML Processing Instruction.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightText.html#org.dom4j.tree"><B>FlyweightText</B></A></B>
+
+<BR>
+          
+ <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Text.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/NamespaceStack.html#org.dom4j.tree"><B>NamespaceStack</B></A></B>
+
+<BR>
+          NamespaceStack implements a stack of namespaces and optionally maintains a
+ cache of all the fully qualified names (<code>QName</code>) which are in
+ scope. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</A> used by <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractAttribute.html#org.dom4j.util"><B>AbstractAttribute</B></A></B>
+
+<BR>
+          
+ <code>AbstractNamespace</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractBranch.html#org.dom4j.util"><B>AbstractBranch</B></A></B>
+
+<BR>
+          
+ <code>AbstractBranch</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractElement.html#org.dom4j.util"><B>AbstractElement</B></A></B>
+
+<BR>
+          
+ <code>AbstractElement</code> is an abstract base class for tree
+ implementors to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/AbstractNode.html#org.dom4j.util"><B>AbstractNode</B></A></B>
+
+<BR>
+          
+ <code>AbstractNode</code> is an abstract base class for tree implementors
+ to use for implementation inheritence.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/BaseElement.html#org.dom4j.util"><B>BaseElement</B></A></B>
+
+<BR>
+          
+ <code>BaseElement</code> is a useful base class for implemementation
+ inheritence of an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultAttribute.html#org.dom4j.util"><B>DefaultAttribute</B></A></B>
+
+<BR>
+          
+ <code>DefaultAttribute</code> implements a doubly linked node which
+ supports the parent relationship and is mutable.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/DefaultElement.html#org.dom4j.util"><B>DefaultElement</B></A></B>
+
+<BR>
+          
+ <code>DefaultElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/tree/class-use/FlyweightAttribute.html#org.dom4j.util"><B>FlyweightAttribute</B></A></B>
+
+<BR>
+          
+ <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ singly linked, read-only XML Attribute.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/AttributeHelper.html b/docs/apidocs/org/dom4j/util/AttributeHelper.html
new file mode 100644
index 0000000..a8f5bf6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/AttributeHelper.html
@@ -0,0 +1,310 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+AttributeHelper (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.AttributeHelper class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="AttributeHelper (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AttributeHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AttributeHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class AttributeHelper</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.AttributeHelper</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>AttributeHelper</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>AttributeHelper</code> a number of helper methods for working with
+ attribute values.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/AttributeHelper.html#AttributeHelper()">AttributeHelper</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Attribute)">booleanValue</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Element, org.dom4j.QName)">booleanValue</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+             <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/AttributeHelper.html#booleanValue(org.dom4j.Element, java.lang.String)">booleanValue</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> attributeName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="AttributeHelper()"><!-- --></A><H3>
+AttributeHelper</H3>
+<PRE>
+protected <B>AttributeHelper</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="booleanValue(org.dom4j.Element, java.lang.String)"><!-- --></A><H3>
+booleanValue</H3>
+<PRE>
+public static boolean <B>booleanValue</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> attributeName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="booleanValue(org.dom4j.Element, org.dom4j.QName)"><!-- --></A><H3>
+booleanValue</H3>
+<PRE>
+public static boolean <B>booleanValue</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                                   <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> attributeQName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="booleanValue(org.dom4j.Attribute)"><!-- --></A><H3>
+booleanValue</H3>
+<PRE>
+protected static boolean <B>booleanValue</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/AttributeHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AttributeHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/IndexedDocumentFactory.html b/docs/apidocs/org/dom4j/util/IndexedDocumentFactory.html
new file mode 100644
index 0000000..b4e8221
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/IndexedDocumentFactory.html
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+IndexedDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.IndexedDocumentFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="IndexedDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IndexedDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IndexedDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class IndexedDocumentFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">org.dom4j.DocumentFactory</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.IndexedDocumentFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>IndexedDocumentFactory</B><DT>extends <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></DL>
+
+<P>
+<p>
+ <code>IndexedDocumentFactory</code> is a factory of XML objects which
+ create indexed Element implementations to allow quicker lookup via name of
+ Element and Attributes though at the expense of more memory used to create
+ the name indexes.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.util.IndexedDocumentFactory">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#singleton">singleton</A></B></CODE>
+
+<BR>
+          The Singleton instance</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#cache">cache</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#IndexedDocumentFactory()">IndexedDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#createElement(org.dom4j.QName, int)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+              int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createComment(java.lang.String)">createComment</A>, < [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="singleton"><!-- --></A><H3>
+singleton</H3>
+<PRE>
+protected static transient <A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A> <B>singleton</B></PRE>
+<DL>
+<DD>The Singleton instance
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="IndexedDocumentFactory()"><!-- --></A><H3>
+IndexedDocumentFactory</H3>
+<PRE>
+public <B>IndexedDocumentFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getInstance()"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getInstance</B>()</PRE>
+<DL>
+<DD><p>
+ Access to the singleton instance of this factory.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default singleon instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName, int)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                             int attributeCount)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IndexedDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IndexedDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/IndexedElement.html b/docs/apidocs/org/dom4j/util/IndexedElement.html
new file mode 100644
index 0000000..dbdf39a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/IndexedElement.html
@@ -0,0 +1,947 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+IndexedElement (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.IndexedElement class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="IndexedElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IndexedElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IndexedElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class IndexedElement</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractElement</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultElement</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.IndexedElement</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.htm [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>IndexedElement</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></DL>
+
+<P>
+<p>
+ <code>IndexedElement</code> is an implementation of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.util.IndexedElement">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_LIST">EMPTY_LIST</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#IndexedElement(org.dom4j.QName)">IndexedElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#IndexedElement(org.dom4j.QName, int)">IndexedElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+               int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#IndexedElement(java.lang.String)">IndexedElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addNode(org.dom4j.Node)">addNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addToAttributeIndex(org.dom4j.Attribute)">addToAttributeIndex</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addToAttributeIndex(java.lang.Object, org.dom4j.Attribute)">addToAttributeIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                    <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addToElementIndex(org.dom4j.Element)">addToElementIndex</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#addToElementIndex(java.lang.Object, org.dom4j.Element)">addToElementIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#asElement(java.lang.Object)">asElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#asElementIterator(java.lang.Object)">asElementIterator</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>WILL BE REMOVED IN dom4j-1.6 !!</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#asElementList(java.lang.Object)">asElementList</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#attribute(org.dom4j.QName)">attribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#attribute(java.lang.String)">attribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the attribute with the given name</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#attributeIndex()">attributeIndex</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#createAttributeIndex()">createAttributeIndex</A></B>()</CODE>
+
+<BR>
+          A Factory Method to create the index for attributes</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#createElementIndex()">createElementIndex</A></B>()</CODE>
+
+<BR>
+          A Factory Method to create the index for elements</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#createIndex()">createIndex</A></B>()</CODE>
+
+<BR>
+          Factory method to return a new map implementation for indices</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#createList()">createList</A></B>()</CODE>
+
+<BR>
+          Factory method to return a list implementation for indices</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#element(org.dom4j.QName)">element</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          Returns the first element for the given fully qualified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#element(java.lang.String)">element</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          Returns the first element for the given local name and any namespace.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#elementIndex()">elementIndex</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#elements(org.dom4j.QName)">elements</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+          
+ Returns the elements contained in this element with the given fully
+ qualified name. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#elements(java.lang.String)">elements</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+          
+ Returns the elements contained in this element with the given local name
+ and any namespace. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeFromAttributeIndex(org.dom4j.Attribute)">removeFromAttributeIndex</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeFromAttributeIndex(java.lang.Object, org.dom4j.Attribute)">removeFromAttributeIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                         <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeFromElementIndex(org.dom4j.Element)">removeFromElementIndex</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeFromElementIndex(java.lang.Object, org.dom4j.Element)">removeFromElementIndex</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                       <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/IndexedElement.html#removeNode(org.dom4j.Node)">removeNode</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#add(org.dom4j.Attribute)">add</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces()">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces(java.lang.String)">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#addNewNode(org.dom4j.Node)">addNewNode</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(int)">attrib [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Entity)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractEle [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathRes [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Element"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF="../../../org/dom4j/Branch.html#setProces [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getUniquePath()">getUniquePath</A>, <A HREF="../../../org/dom4j/Nod [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="IndexedElement(java.lang.String)"><!-- --></A><H3>
+IndexedElement</H3>
+<PRE>
+public <B>IndexedElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="IndexedElement(org.dom4j.QName)"><!-- --></A><H3>
+IndexedElement</H3>
+<PRE>
+public <B>IndexedElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="IndexedElement(org.dom4j.QName, int)"><!-- --></A><H3>
+IndexedElement</H3>
+<PRE>
+public <B>IndexedElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                      int attributeCount)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="attribute(java.lang.String)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the attribute with the given name
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(java.lang.String)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(java.lang.String)">attribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CO [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attribute(org.dom4j.QName)"><!-- --></A><H3>
+attribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>attribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#attribute(org.dom4j.QName)">attribute</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(org.dom4j.QName)">attribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(java.lang.String)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the first element for the given local name and any namespace.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#element(java.lang.String)">element</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(java.lang.String)">element</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="element(org.dom4j.QName)"><!-- --></A><H3>
+element</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Returns the first element for the given fully qualified name.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#element(org.dom4j.QName)">element</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#element(org.dom4j.QName)">element</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elements(java.lang.String)"><!-- --></A><H3>
+elements</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>elements</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the elements contained in this element with the given local name
+ and any namespace. If no elements are found then this method returns an
+ empty list. The list is backed by the element such that changes to the
+ list will be reflected in the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elements(java.lang.String)">elements</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#elements(java.lang.String)">elements</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></COD [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elements(org.dom4j.QName)"><!-- --></A><H3>
+elements</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>elements</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD><p>
+ Returns the elements contained in this element with the given fully
+ qualified name. If no elements are found then this method returns an
+ empty list. The list is backed by the element such that changes to the
+ list will be reflected in the element though the reverse is not the case.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#elements(org.dom4j.QName)">elements</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#elements(org.dom4j.QName)">elements</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asElement(java.lang.Object)"><!-- --></A><H3>
+asElement</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>asElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asElementList(java.lang.Object)"><!-- --></A><H3>
+asElementList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>asElementList</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="asElementIterator(java.lang.Object)"><!-- --></A><H3>
+asElementIterator</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A> <B>asElementIterator</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> object)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>WILL BE REMOVED IN dom4j-1.6 !!</I>
+<P>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>object</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addNode(org.dom4j.Node)"><!-- --></A><H3>
+addNode</H3>
+<PRE>
+protected void <B>addNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#addNode(org.dom4j.Node)">addNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeNode(org.dom4j.Node)"><!-- --></A><H3>
+removeNode</H3>
+<PRE>
+protected boolean <B>removeNode</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#removeNode(org.dom4j.Node)">removeNode</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeIndex()"><!-- --></A><H3>
+attributeIndex</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>attributeIndex</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="elementIndex()"><!-- --></A><H3>
+elementIndex</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>elementIndex</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttributeIndex()"><!-- --></A><H3>
+createAttributeIndex</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>createAttributeIndex</B>()</PRE>
+<DL>
+<DD>A Factory Method to create the index for attributes
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElementIndex()"><!-- --></A><H3>
+createElementIndex</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>createElementIndex</B>()</PRE>
+<DL>
+<DD>A Factory Method to create the index for elements
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addToElementIndex(org.dom4j.Element)"><!-- --></A><H3>
+addToElementIndex</H3>
+<PRE>
+protected void <B>addToElementIndex</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addToElementIndex(java.lang.Object, org.dom4j.Element)"><!-- --></A><H3>
+addToElementIndex</H3>
+<PRE>
+protected void <B>addToElementIndex</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                                 <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeFromElementIndex(org.dom4j.Element)"><!-- --></A><H3>
+removeFromElementIndex</H3>
+<PRE>
+protected void <B>removeFromElementIndex</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeFromElementIndex(java.lang.Object, org.dom4j.Element)"><!-- --></A><H3>
+removeFromElementIndex</H3>
+<PRE>
+protected void <B>removeFromElementIndex</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                                      <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addToAttributeIndex(org.dom4j.Attribute)"><!-- --></A><H3>
+addToAttributeIndex</H3>
+<PRE>
+protected void <B>addToAttributeIndex</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addToAttributeIndex(java.lang.Object, org.dom4j.Attribute)"><!-- --></A><H3>
+addToAttributeIndex</H3>
+<PRE>
+protected void <B>addToAttributeIndex</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                                   <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeFromAttributeIndex(org.dom4j.Attribute)"><!-- --></A><H3>
+removeFromAttributeIndex</H3>
+<PRE>
+protected void <B>removeFromAttributeIndex</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> attribute)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeFromAttributeIndex(java.lang.Object, org.dom4j.Attribute)"><!-- --></A><H3>
+removeFromAttributeIndex</H3>
+<PRE>
+protected void <B>removeFromAttributeIndex</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> key,
+                                        <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createIndex()"><!-- --></A><H3>
+createIndex</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>createIndex</B>()</PRE>
+<DL>
+<DD>Factory method to return a new map implementation for indices
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createList()"><!-- --></A><H3>
+createList</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>createList</B>()</PRE>
+<DL>
+<DD>Factory method to return a list implementation for indices
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IndexedElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IndexedElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/NodeComparator.html b/docs/apidocs/org/dom4j/util/NodeComparator.html
new file mode 100644
index 0000000..3587051
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/NodeComparator.html
@@ -0,0 +1,605 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+NodeComparator (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.NodeComparator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="NodeComparator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NodeComparator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeComparator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class NodeComparator</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.NodeComparator</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>NodeComparator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A></DL>
+
+<P>
+<p>
+ <code>NodeComparator</code> is a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>of Node instances which
+ is capable of comparing Nodes for equality based on their values.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.10 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#NodeComparator()">NodeComparator</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Attribute, org.dom4j.Attribute)">compare</A></B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> n1,
+        <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.CharacterData, org.dom4j.CharacterData)">compare</A></B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> t1,
+        <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> t2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Document, org.dom4j.Document)">compare</A></B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> n1,
+        <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.DocumentType, org.dom4j.DocumentType)">compare</A></B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> o1,
+        <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> o2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Element, org.dom4j.Element)">compare</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> n1,
+        <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Entity, org.dom4j.Entity)">compare</A></B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> n1,
+        <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Namespace, org.dom4j.Namespace)">compare</A></B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> n1,
+        <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.Node, org.dom4j.Node)">compare</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n1,
+        <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(java.lang.Object, java.lang.Object)">compare</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o1,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o2)</CODE>
+
+<BR>
+          Compares its two arguments for order. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.ProcessingInstruction, org.dom4j.ProcessingInstruction)">compare</A></B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> n1,
+        <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(org.dom4j.QName, org.dom4j.QName)">compare</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> n1,
+        <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> n2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compare(java.lang.String, java.lang.String)">compare</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> o1,
+        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> o2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NodeComparator.html#compareContent(org.dom4j.Branch, org.dom4j.Branch)">compareContent</A></B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> b1,
+               <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> b2)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.util.Comparator"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html#equals(java.lang.Object)" title="class or interface in java.util">equals</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NodeComparator()"><!-- --></A><H3>
+NodeComparator</H3>
+<PRE>
+public <B>NodeComparator</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="compare(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o1,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> o2)</PRE>
+<DL>
+<DD>Compares its two arguments for order. Returns a negative integer, zero,
+ or a positive integer as the first argument is less than, equal to, or
+ greater than the second.
+ 
+ <p>
+ The implementor must ensure that <tt>sgn(compare(x, y)) ==
+ -sgn(compare(y, x))</tt>
+ for all <tt>x</tt> and <tt>y</tt>. (This implies that
+ <tt>compare(x, y)</tt> must throw an exception if and only if
+ <tt>compare(y, x)</tt> throws an exception.)
+ </p>
+ 
+ <p>
+ The implementor must also ensure that the relation is transitive:
+ <tt>((compare(x, y)>0) && (compare(y, z)>0))</tt> implies
+ <tt>compare(x, z)>0</tt>.
+ </p>
+ 
+ <p>
+ Finally, the implementer must ensure that <tt>compare(x, y)==0</tt>
+ implies that <tt>sgn(compare(x, z))==sgn(compare(y, z))</tt> for all
+ <tt>z</tt>.
+ </p>
+ 
+ <p>
+ It is generally the case, but <i>not </i> strictly required that
+ <tt>(compare(x, y)==0) == (x.equals(y))</tt>. Generally speaking, any
+ comparator that violates this condition should clearly indicate this
+ fact. The recommended language is "Note: this comparator imposes
+ orderings that are inconsistent with equals."
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html#compare(java.lang.Object, java.lang.Object)" title="class or interface in java.util">compare</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>o1</CODE> - the first object to be compared.<DD><CODE>o2</CODE> - the second object to be compared.
+<DT><B>Returns:</B><DD>a negative integer, zero, or a positive integer as the first
+         argument is less than, equal to, or greater than the second.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.Node, org.dom4j.Node)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n1,
+                   <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> n2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.Document, org.dom4j.Document)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> n1,
+                   <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> n2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.Element, org.dom4j.Element)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> n1,
+                   <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> n2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.Attribute, org.dom4j.Attribute)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> n1,
+                   <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> n2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.QName, org.dom4j.QName)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> n1,
+                   <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> n2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.Namespace, org.dom4j.Namespace)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> n1,
+                   <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> n2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.CharacterData, org.dom4j.CharacterData)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> t1,
+                   <A HREF="../../../org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A> t2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.DocumentType, org.dom4j.DocumentType)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> o1,
+                   <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> o2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.Entity, org.dom4j.Entity)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> n1,
+                   <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> n2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(org.dom4j.ProcessingInstruction, org.dom4j.ProcessingInstruction)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> n1,
+                   <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> n2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compareContent(org.dom4j.Branch, org.dom4j.Branch)"><!-- --></A><H3>
+compareContent</H3>
+<PRE>
+public int <B>compareContent</B>(<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> b1,
+                          <A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> b2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="compare(java.lang.String, java.lang.String)"><!-- --></A><H3>
+compare</H3>
+<PRE>
+public int <B>compare</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> o1,
+                   <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> o2)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NodeComparator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeComparator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/NonLazyDocumentFactory.html b/docs/apidocs/org/dom4j/util/NonLazyDocumentFactory.html
new file mode 100644
index 0000000..eb90f7e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/NonLazyDocumentFactory.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+NonLazyDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.NonLazyDocumentFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="NonLazyDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NonLazyDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NonLazyDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class NonLazyDocumentFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">org.dom4j.DocumentFactory</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.NonLazyDocumentFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>NonLazyDocumentFactory</B><DT>extends <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></DL>
+
+<P>
+<p>
+ <code>NonLazyDocumentFactory</code> is a factory of XML objects which avoid
+ using the lazy creation pattern. This results in a slower creation of a
+ Document and uses more memory but it means that the same Document instance
+ can be shared across threads provided it is not modified.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.9 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.util.NonLazyDocumentFactory">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html#singleton">singleton</A></B></CODE>
+
+<BR>
+          The Singleton instance</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#cache">cache</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html#NonLazyDocumentFactory()">NonLazyDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createComment(java.lang.String)">createComment</A>, < [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="singleton"><!-- --></A><H3>
+singleton</H3>
+<PRE>
+protected static transient <A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A> <B>singleton</B></PRE>
+<DL>
+<DD>The Singleton instance
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NonLazyDocumentFactory()"><!-- --></A><H3>
+NonLazyDocumentFactory</H3>
+<PRE>
+public <B>NonLazyDocumentFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getInstance()"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getInstance</B>()</PRE>
+<DL>
+<DD><p>
+ Access to the singleton instance of this factory.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default singleon instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NonLazyDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NonLazyDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/NonLazyElement.html b/docs/apidocs/org/dom4j/util/NonLazyElement.html
new file mode 100644
index 0000000..7268b81
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/NonLazyElement.html
@@ -0,0 +1,402 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+NonLazyElement (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.NonLazyElement class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="NonLazyElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NonLazyElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NonLazyElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.BaseElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_org.dom4j.tree.BaseElement">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class NonLazyElement</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractElement</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">org.dom4j.tree.BaseElement</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.NonLazyElement</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.htm [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>NonLazyElement</B><DT>extends <A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></DL>
+
+<P>
+<p>
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.util.NonLazyElement">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.BaseElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/BaseElement.html#attributes">attributes</A>, <A HREF="../../../org/dom4j/tree/BaseElement.html#content">content</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_LIST">EMPTY_LIST</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html#NonLazyElement(org.dom4j.QName)">NonLazyElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html#NonLazyElement(org.dom4j.QName, int)">NonLazyElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+               int attributeCount)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html#NonLazyElement(java.lang.String)">NonLazyElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/NonLazyElement.html#NonLazyElement(java.lang.String, org.dom4j.Namespace)">NonLazyElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+               <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_org.dom4j.tree.BaseElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/BaseElement.html#attributeList()">attributeList</A>, <A HREF="../../../org/dom4j/tree/BaseElement.html#attributeList(int)">attributeList</A>, <A HREF="../../../org/dom4j/tree/BaseElement.html#clearContent()">clearContent</A>, <A HREF="../../../org/dom4j/tree/BaseElement.html#contentList()">contentList</A>, <A HREF="../../../org/dom4j/tree/BaseElement.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/tree/BaseElement.html#getParent [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Attribute)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/Abstract [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Element"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Element.html#getText()">getText</A>, <A HREF="../../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF="../../../org/dom4j/Branch.html#setProces [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getUnique [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NonLazyElement(java.lang.String)"><!-- --></A><H3>
+NonLazyElement</H3>
+<PRE>
+public <B>NonLazyElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="NonLazyElement(org.dom4j.QName)"><!-- --></A><H3>
+NonLazyElement</H3>
+<PRE>
+public <B>NonLazyElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="NonLazyElement(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+NonLazyElement</H3>
+<PRE>
+public <B>NonLazyElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                      <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="NonLazyElement(org.dom4j.QName, int)"><!-- --></A><H3>
+NonLazyElement</H3>
+<PRE>
+public <B>NonLazyElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                      int attributeCount)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/NonLazyElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NonLazyElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.BaseElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_org.dom4j.tree.BaseElement">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/PerThreadSingleton.html b/docs/apidocs/org/dom4j/util/PerThreadSingleton.html
new file mode 100644
index 0000000..645213b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/PerThreadSingleton.html
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+PerThreadSingleton (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.PerThreadSingleton class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="PerThreadSingleton (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/PerThreadSingleton.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="PerThreadSingleton.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class PerThreadSingleton</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.PerThreadSingleton</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>PerThreadSingleton</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></DL>
+
+<P>
+<p>
+ <code>PerThreadSingleton</code> is an implementation of the
+ SingletonStrategy used to provide common factory access to a single object
+ instance based on an implementation strategy for one object instance per
+ thread. This is useful in replace of the ThreadLocal usage.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.3 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:ddlucas at users.sourceforge.net">David Lucas </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/PerThreadSingleton.html#PerThreadSingleton()">PerThreadSingleton</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/PerThreadSingleton.html#instance()">instance</A></B>()</CODE>
+
+<BR>
+          return a singleton instance of the class specified in setSingletonClass</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/PerThreadSingleton.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+          reset the instance to a new instance for the implemented strategy</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/PerThreadSingleton.html#setSingletonClassName(java.lang.String)">setSingletonClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> singletonClassName)</CODE>
+
+<BR>
+          set a singleton class name that will be used to create the singleton
+ based on the strategy implementation of this interface. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="PerThreadSingleton()"><!-- --></A><H3>
+PerThreadSingleton</H3>
+<PRE>
+public <B>PerThreadSingleton</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+public void <B>reset</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></B></DD>
+<DD>reset the instance to a new instance for the implemented strategy
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html#reset()">reset</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="instance()"><!-- --></A><H3>
+instance</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>instance</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></B></DD>
+<DD>return a singleton instance of the class specified in setSingletonClass
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html#instance()">instance</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSingletonClassName(java.lang.String)"><!-- --></A><H3>
+setSingletonClassName</H3>
+<PRE>
+public void <B>setSingletonClassName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> singletonClassName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></B></DD>
+<DD>set a singleton class name that will be used to create the singleton
+ based on the strategy implementation of this interface. The default
+ constructor of the class will be used and must be public.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html#setSingletonClassName(java.lang.String)">setSingletonClassName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/PerThreadSingleton.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="PerThreadSingleton.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/ProxyDocumentFactory.html b/docs/apidocs/org/dom4j/util/ProxyDocumentFactory.html
new file mode 100644
index 0000000..451b629
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/ProxyDocumentFactory.html
@@ -0,0 +1,771 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ProxyDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.ProxyDocumentFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ProxyDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ProxyDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProxyDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class ProxyDocumentFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.ProxyDocumentFactory</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>ProxyDocumentFactory</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></DL>
+
+<P>
+<p>
+ <code>ProxyDocumentFactory</code> implements a proxy to a DocumentFactory
+ which is useful for implementation inheritence, allowing the pipelining of
+ various factory implementations. For example an EncodingDocumentFactory which
+ takes care of encoding strings outside of allowable XML ranges could be used
+ with a DatatypeDocumentFactory which is XML Schema Data Type aware.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.13 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#ProxyDocumentFactory()">ProxyDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#ProxyDocumentFactory(org.dom4j.DocumentFactory)">ProxyDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> proxy)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createComment(java.lang.String)">createComment</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+              <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createDocument()">createDocument</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createDocument(org.dom4j.Element)">createDocument</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createEntity(java.lang.String, java.lang.String)">createEntity</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createNamespace(java.lang.String, java.lang.String)">createNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createPattern(java.lang.String)">createPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathPattern)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createProcessingInstruction(java.lang.String, java.util.Map)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createProcessingInstruction(java.lang.String, java.lang.String)">createProcessingInstruction</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, org.dom4j.Namespace)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+            <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createQName(java.lang.String, java.lang.String, java.lang.String)">createQName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+            <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createText(java.lang.String)">createText</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createXPath(java.lang.String)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createXPath(java.lang.String, org.jaxen.VariableContext)">createXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+            org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createXPathFilter(java.lang.String)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#createXPathFilter(java.lang.String, org.jaxen.VariableContext)">createXPathFilter</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+                  org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#getProxy()">getProxy</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html#setProxy(org.dom4j.DocumentFactory)">setProxy</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> proxy)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ProxyDocumentFactory()"><!-- --></A><H3>
+ProxyDocumentFactory</H3>
+<PRE>
+public <B>ProxyDocumentFactory</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="ProxyDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+ProxyDocumentFactory</H3>
+<PRE>
+public <B>ProxyDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> proxy)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="createDocument()"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocument(org.dom4j.Element)"><!-- --></A><H3>
+createDocument</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>createDocument</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> rootElement)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDocType(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createDocType</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> <B>createDocType</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> publicId,
+                                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> systemId)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(java.lang.String)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                 <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createCDATA(java.lang.String)"><!-- --></A><H3>
+createCDATA</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A> <B>createCDATA</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createComment(java.lang.String)"><!-- --></A><H3>
+createComment</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A> <B>createComment</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createText(java.lang.String)"><!-- --></A><H3>
+createText</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Text.html" title="interface in org.dom4j">Text</A> <B>createText</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createEntity</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A> <B>createEntity</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                           <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createNamespace(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createNamespace</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> <B>createNamespace</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>createProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> data)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProcessingInstruction(java.lang.String, java.util.Map)"><!-- --></A><H3>
+createProcessingInstruction</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A> <B>createProcessingInstruction</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> target,
+                                                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> data)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, org.dom4j.Namespace)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                         <A HREF="../../../org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> namespace)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQName(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>createQName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> qualifiedName,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> uri)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPath(java.lang.String, org.jaxen.VariableContext)"><!-- --></A><H3>
+createXPath</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>createXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathExpression,
+                         org.jaxen.VariableContext variableContext)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathFilter(java.lang.String, org.jaxen.VariableContext)"><!-- --></A><H3>
+createXPathFilter</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> <B>createXPathFilter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression,
+                                    org.jaxen.VariableContext variableContext)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXPathFilter(java.lang.String)"><!-- --></A><H3>
+createXPathFilter</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A> <B>createXPathFilter</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathFilterExpression)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createPattern(java.lang.String)"><!-- --></A><H3>
+createPattern</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A> <B>createPattern</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> xpathPattern)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProxy()"><!-- --></A><H3>
+getProxy</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getProxy</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setProxy(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setProxy</H3>
+<PRE>
+protected void <B>setProxy</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> proxy)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ProxyDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProxyDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/SimpleSingleton.html b/docs/apidocs/org/dom4j/util/SimpleSingleton.html
new file mode 100644
index 0000000..a3cb5f1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/SimpleSingleton.html
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SimpleSingleton (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.SimpleSingleton class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SimpleSingleton (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SimpleSingleton.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SimpleSingleton.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class SimpleSingleton</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.SimpleSingleton</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>SimpleSingleton</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></DL>
+
+<P>
+<p>
+ <code>SimpleSingleton</code> is an implementation of the SingletonStrategy
+ interface used to provide common factory access for the same object instance.
+ This implementation will create a new instance from the class specified and
+ will not create a new one unless it is reset.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.3 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:ddlucas at users.sourceforge.net">David Lucas </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/SimpleSingleton.html#SimpleSingleton()">SimpleSingleton</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/SimpleSingleton.html#instance()">instance</A></B>()</CODE>
+
+<BR>
+          return a singleton instance of the class specified in setSingletonClass</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/SimpleSingleton.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+          reset the instance to a new instance for the implemented strategy</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/SimpleSingleton.html#setSingletonClassName(java.lang.String)">setSingletonClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> singletonClassName)</CODE>
+
+<BR>
+          set a singleton class name that will be used to create the singleton
+ based on the strategy implementation of this interface. </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SimpleSingleton()"><!-- --></A><H3>
+SimpleSingleton</H3>
+<PRE>
+public <B>SimpleSingleton</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="instance()"><!-- --></A><H3>
+instance</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>instance</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></B></DD>
+<DD>return a singleton instance of the class specified in setSingletonClass
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html#instance()">instance</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+public void <B>reset</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></B></DD>
+<DD>reset the instance to a new instance for the implemented strategy
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html#reset()">reset</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSingletonClassName(java.lang.String)"><!-- --></A><H3>
+setSingletonClassName</H3>
+<PRE>
+public void <B>setSingletonClassName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> singletonClassName)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></B></DD>
+<DD>set a singleton class name that will be used to create the singleton
+ based on the strategy implementation of this interface. The default
+ constructor of the class will be used and must be public.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html#setSingletonClassName(java.lang.String)">setSingletonClassName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SimpleSingleton.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SimpleSingleton.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/SingletonStrategy.html b/docs/apidocs/org/dom4j/util/SingletonStrategy.html
new file mode 100644
index 0000000..cdba433
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/SingletonStrategy.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+SingletonStrategy (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.SingletonStrategy interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SingletonStrategy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SingletonStrategy.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SingletonStrategy.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Interface SingletonStrategy</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util">PerThreadSingleton</A>, <A HREF="../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util">SimpleSingleton</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>SingletonStrategy</B></DL>
+
+<P>
+<p>
+ <code>SingletonStrategy</code> is an interface used to provide common
+ factory access for the same object based on an implementation strategy for
+ singleton. Right now there are two that accompany this interface:
+ SimpleSingleton and PerThreadSingleton. This will replace previous usage of
+ ThreadLocal to allow for alternate strategies.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.2 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:ddlucas at users.sourceforge.net">David Lucas </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/SingletonStrategy.html#instance()">instance</A></B>()</CODE>
+
+<BR>
+          return a singleton instance of the class specified in setSingletonClass</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/SingletonStrategy.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+          reset the instance to a new instance for the implemented strategy</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/SingletonStrategy.html#setSingletonClassName(java.lang.String)">setSingletonClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> singletonClassName)</CODE>
+
+<BR>
+          set a singleton class name that will be used to create the singleton
+ based on the strategy implementation of this interface. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="instance()"><!-- --></A><H3>
+instance</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>instance</B>()</PRE>
+<DL>
+<DD>return a singleton instance of the class specified in setSingletonClass
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+public void <B>reset</B>()</PRE>
+<DL>
+<DD>reset the instance to a new instance for the implemented strategy
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSingletonClassName(java.lang.String)"><!-- --></A><H3>
+setSingletonClassName</H3>
+<PRE>
+public void <B>setSingletonClassName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> singletonClassName)</PRE>
+<DL>
+<DD>set a singleton class name that will be used to create the singleton
+ based on the strategy implementation of this interface. The default
+ constructor of the class will be used and must be public.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SingletonStrategy.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SingletonStrategy.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/UserDataAttribute.html b/docs/apidocs/org/dom4j/util/UserDataAttribute.html
new file mode 100644
index 0000000..b733d0d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/UserDataAttribute.html
@@ -0,0 +1,416 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+UserDataAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.UserDataAttribute class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="UserDataAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/UserDataAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightAttribute">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class UserDataAttribute</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractAttribute</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightAttribute</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultAttribute</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.UserDataAttribute</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>UserDataAttribute</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></DL>
+
+<P>
+<p>
+ <code>UserDataAttribute</code> support the adornment of a user data object
+ on an Element or Attribute instance such that the methods 
+ <A HREF="../../../org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><CODE>setData(Object)</CODE></A>will get and set the values of a user data object.
+ This can be useful for developers wishing to create XML trees and adorn the
+ trees with user defined objects.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.8 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.util.UserDataAttribute">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.FlyweightAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#value">value</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataAttribute.html#UserDataAttribute(org.dom4j.QName)">UserDataAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataAttribute.html#UserDataAttribute(org.dom4j.QName, java.lang.String)">UserDataAttribute</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataAttribute.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <CODE>Node#getText()</CODE>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          
+ Sets the data value of this attribute if this element supports data
+ binding or calls <CODE>Node#setText(String)</CODE>if it doesn't.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultAttribute.html#getParent()">getParent</A>, <A HREF="../../../org/dom4j/tree/DefaultAttribute.html#isReadOnly()">isReadOnly</A>, <A HREF="../../../org/dom4j/tree/DefaultAttribute.html#setParent(org.dom4j.Element)">setParent</A>, <A HREF="../../../org/dom4j/tree/DefaultAttribute.html#setValue(java.lang.String)">setValue</A>, <A HREF="../../../org/dom4j/tree/DefaultAttribute.html#supportsParent()">supportsParent</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.FlyweightAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#getQName()">getQName</A>, <A HREF="../../../org/dom4j/tree/FlyweightAttribute.html#getValue()">getValue</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#asXML()">asXML</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#createXPathResult(org.dom4j.Element)">createXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getName()">getName</A>, <A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getNamespace()">getNamespace</A>, <A HREF="../../../org/do [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#clone()">clone</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#clone()">clone</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getDocument()">getDocument</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#g [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="UserDataAttribute(org.dom4j.QName)"><!-- --></A><H3>
+UserDataAttribute</H3>
+<PRE>
+public <B>UserDataAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="UserDataAttribute(org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+UserDataAttribute</H3>
+<PRE>
+public <B>UserDataAttribute</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Accesses the data of this attribute which may implement data typing
+ bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+ bindings or will return the same value as <A HREF="../../../org/dom4j/Node.html#getText()"><CODE>Node.getText()</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#getData()">getData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#getData()">getData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></B></DD>
+<DD><p>
+ Sets the data value of this attribute if this element supports data
+ binding or calls <A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(String)</CODE></A>if it doesn't.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Attribute.html#setData(java.lang.Object)">setData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html#setData(java.lang.Object)">setData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute< [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/UserDataAttribute.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.FlyweightAttribute">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/UserDataDocumentFactory.html b/docs/apidocs/org/dom4j/util/UserDataDocumentFactory.html
new file mode 100644
index 0000000..7e2fc2c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/UserDataDocumentFactory.html
@@ -0,0 +1,380 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+UserDataDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.UserDataDocumentFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="UserDataDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/UserDataDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class UserDataDocumentFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">org.dom4j.DocumentFactory</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.UserDataDocumentFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>UserDataDocumentFactory</B><DT>extends <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></DL>
+
+<P>
+<p>
+ <code>UserDataDocumentFactory</code> is a factory of XML objects which
+ support the adornment of a user data object on an Element or Attribute
+ instance such that the methods <code>getData()</code> and
+ <code>setData()</code> will get and set the values of a user data object.
+ This can be useful for developers wishing to create XML trees and adorn the
+ trees with user defined objects.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.11 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.util.UserDataDocumentFactory">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#singleton">singleton</A></B></CODE>
+
+<BR>
+          The Singleton instance</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#cache">cache</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#UserDataDocumentFactory()">UserDataDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+          
+ Access to the singleton instance of this factory.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, java.lang.String, java.lang.String)">createAttribute</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createCDATA(java.lang.String)">createCDATA</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createComment(java.lang.String)">createComment</A>, <A HREF="../../../org/dom4j/DocumentFactory.html#createDocType(java.lang.String, java.lang.String, java.lang.String)">createDocType</A>, <A HR [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="singleton"><!-- --></A><H3>
+singleton</H3>
+<PRE>
+protected static transient <A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A> <B>singleton</B></PRE>
+<DL>
+<DD>The Singleton instance
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="UserDataDocumentFactory()"><!-- --></A><H3>
+UserDataDocumentFactory</H3>
+<PRE>
+public <B>UserDataDocumentFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getInstance()"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getInstance</B>()</PRE>
+<DL>
+<DD><p>
+ Access to the singleton instance of this factory.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default singleon instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createElement(org.dom4j.QName)">createElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)"><!-- --></A><H3>
+createAttribute</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A> <B>createAttribute</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> owner,
+                                 <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname,
+                                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/DocumentFactory.html#createAttribute(org.dom4j.Element, org.dom4j.QName, java.lang.String)">createAttribute</A></CODE> in class <CODE><A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/UserDataDocumentFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/UserDataElement.html b/docs/apidocs/org/dom4j/util/UserDataElement.html
new file mode 100644
index 0000000..16681e5
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/UserDataElement.html
@@ -0,0 +1,556 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+UserDataElement (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.UserDataElement class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="UserDataElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/UserDataElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class UserDataElement</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractElement</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultElement</A>
+                  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.UserDataElement</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>, <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.htm [...]
+</DL>
+<HR>
+<DL>
+<DT>public class <B>UserDataElement</B><DT>extends <A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></DL>
+
+<P>
+<p>
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>setData(Object)</CODE></A>will get and set the values of a user data object.
+ This can be useful for developers wishing to create XML trees and adorn the
+ trees with user defined objects.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.12 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:james.strachan at metastuff.com">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.util.UserDataElement">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_ITERATOR">EMPTY_ITERATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#EMPTY_LIST">EMPTY_LIST</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#USE_STRINGVALUE_SEPARATOR">USE_STRINGVALUE_SEPARATOR</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#VERBOSE_TOSTRING">VERBOSE_TOSTRING</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#DEFAULT_CONTENT_LIST_SIZE">DEFAULT_CONTENT_LIST_SIZE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#NODE_TYPE_NAMES">NODE_TYPE_NAMES</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/Node.html#ATTRIBUTE_NODE">ATTRIBUTE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#CDATA_SECTION_NODE">CDATA_SECTION_NODE</A>, <A HREF="../../../org/dom4j/Node.html#COMMENT_NODE">COMMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_NODE">DOCUMENT_NODE</A>, <A HREF="../../../org/dom4j/Node.html#DOCUMENT_TYPE_NODE">DOCUMENT_TYPE_NODE</A>, <A HREF="../../../org/dom4j/Node.html#EL [...]
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#UserDataElement(org.dom4j.QName)">UserDataElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#UserDataElement(java.lang.String)">UserDataElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#clone()">clone</A></B>()</CODE>
+
+<BR>
+          
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#createElement(org.dom4j.QName)">createElement</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#createElement(java.lang.String)">createElement</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#getCopyOfUserData()">getCopyOfUserData</A></B>()</CODE>
+
+<BR>
+          If a deep copy of user data is required whenever the clone() or
+ createCopy() methods are called on this element then this method should
+ return a clone of the user data</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#getData()">getData</A></B>()</CODE>
+
+<BR>
+          Accesses the data of this element which may implement data typing
+ bindings such as XML Schema or Java Bean bindings or will return the same
+ value as <A HREF="../../../org/dom4j/tree/DefaultElement.html#getText()"><CODE>DefaultElement.getText()</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)">setData</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</CODE>
+
+<BR>
+          Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../../org/dom4j/tree/AbstractElement.html#setText(java.lang.String)"><CODE>AbstractElement.setText(java.lang.String)</CODE></A>if it doesn't</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/UserDataElement.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.DefaultElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#add(org.dom4j.Attribute)">add</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces()">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#additionalNamespaces(java.lang.String)">additionalNamespaces</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#addNewNode(org.dom4j.Node)">addNewNode</A>, <A HREF="../../../org/dom4j/tree/DefaultElement.html#attribute(int)">attrib [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#accept(org.dom4j.Visitor)">accept</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.CDATA)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Comment)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Element)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractElement.html#add(org.dom4j.Entity)">add</A>, <A HREF="../../../org/dom4j/tree/AbstractEle [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#addElement(java.lang.String, java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/tree/AbstractBranch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/tree/AbstractNode.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createPattern(java.lang.String)">createPattern</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathFilter(java.lang.String)">createXPathFilter</A>, <A HREF="../../../org/dom4j/tree/AbstractNode.html#createXPathRes [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Element"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Element.html#getTextTrim()">getTextTrim</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Branch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Branch.html#addElement(org.dom4j.QName)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#addElement(java.lang.String, java.lang.String)">addElement</A>, <A HREF="../../../org/dom4j/Branch.html#appendContent(org.dom4j.Branch)">appendContent</A>, <A HREF="../../../org/dom4j/Branch.html#content()">content</A>, <A HREF="../../../org/dom4j/Branch.html#elementByID(java.lang.String)">elementByID</A>, <A HREF="../../../org/dom4j/Branch.html#setProces [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_org.dom4j.Node"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/Node.html#asXPathResult(org.dom4j.Element)">asXPathResult</A>, <A HREF="../../../org/dom4j/Node.html#createXPath(java.lang.String)">createXPath</A>, <A HREF="../../../org/dom4j/Node.html#detach()">detach</A>, <A HREF="../../../org/dom4j/Node.html#getNodeTypeName()">getNodeTypeName</A>, <A HREF="../../../org/dom4j/Node.html#getPath()">getPath</A>, <A HREF="../../../org/dom4j/Node.html#getUniquePath()">getUniquePath</A>, <A HREF="../../../org/dom4j/Nod [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="UserDataElement(java.lang.String)"><!-- --></A><H3>
+UserDataElement</H3>
+<PRE>
+public <B>UserDataElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="UserDataElement(org.dom4j.QName)"><!-- --></A><H3>
+UserDataElement</H3>
+<PRE>
+public <B>UserDataElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qname)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getData()"><!-- --></A><H3>
+getData</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getData</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Accesses the data of this element which may implement data typing
+ bindings such as XML Schema or Java Bean bindings or will return the same
+ value as <A HREF="../../../org/dom4j/Element.html#getText()"><CODE>Element.getText()</CODE></A>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#getData()">getData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#getData()">getData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setData(java.lang.Object)"><!-- --></A><H3>
+setData</H3>
+<PRE>
+public void <B>setData</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> data)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></B></DD>
+<DD>Sets the data value of this element if this element supports data binding
+ or calls <A HREF="../../../org/dom4j/Node.html#setText(java.lang.String)"><CODE>Node.setText(java.lang.String)</CODE></A>if it doesn't
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Element.html#setData(java.lang.Object)">setData</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#setData(java.lang.Object)">setData</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#toString()">toString</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clone()"><!-- --></A><H3>
+clone</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>clone</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></B></DD>
+<DD><p>
+ <code>clone</code> will return a deep clone or if this node is
+ read-only then clone will return the same instance.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/Node.html#clone()">clone</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html#clone()">clone</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCopyOfUserData()"><!-- --></A><H3>
+getCopyOfUserData</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getCopyOfUserData</B>()</PRE>
+<DL>
+<DD>If a deep copy of user data is required whenever the clone() or
+ createCopy() methods are called on this element then this method should
+ return a clone of the user data
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(java.lang.String)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#createElement(java.lang.String)">createElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createElement(org.dom4j.QName)"><!-- --></A><H3>
+createElement</H3>
+<PRE>
+protected <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>createElement</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> qName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html#createElement(org.dom4j.QName)">createElement</A></CODE> in class <CODE><A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/UserDataElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_org.dom4j.tree.AbstractElement">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/XMLErrorHandler.html b/docs/apidocs/org/dom4j/util/XMLErrorHandler.html
new file mode 100644
index 0000000..28cfd7a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/XMLErrorHandler.html
@@ -0,0 +1,598 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XMLErrorHandler (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util.XMLErrorHandler class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XMLErrorHandler (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLErrorHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.util</FONT>
+<BR>
+Class XMLErrorHandler</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.util.XMLErrorHandler</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>XMLErrorHandler</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></DL>
+
+<P>
+<code>XMLErrorHandler</code> is a SAX <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax"><CODE>ErrorHandler</CODE></A>which turns the
+ SAX parsing errors into XML so that the output can be formatted using XSLT or
+ the errors can be included in a SOAP message.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.7 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#ERROR_QNAME">ERROR_QNAME</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#FATALERROR_QNAME">FATALERROR_QNAME</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#WARNING_QNAME">WARNING_QNAME</A></B></CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#XMLErrorHandler()">XMLErrorHandler</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#XMLErrorHandler(org.dom4j.Element)">XMLErrorHandler</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> errors)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#addException(org.dom4j.Element, org.xml.sax.SAXParseException)">addException</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+             <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> e)</CODE>
+
+<BR>
+          Adds the given parse exception information to the given element instance</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#error(org.xml.sax.SAXParseException)">error</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#fatalError(org.xml.sax.SAXParseException)">fatalError</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#getErrorQName()">getErrorQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#getErrors()">getErrors</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#getFatalErrorQName()">getFatalErrorQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#getWarningQName()">getWarningQName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#setErrorQName(org.dom4j.QName)">setErrorQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> errorQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#setErrors(org.dom4j.Element)">setErrors</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> errors)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#setFatalErrorQName(org.dom4j.QName)">setFatalErrorQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> fatalErrorQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#setWarningQName(org.dom4j.QName)">setWarningQName</A></B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> warningQName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html#warning(org.xml.sax.SAXParseException)">warning</A></B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> e)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ERROR_QNAME"><!-- --></A><H3>
+ERROR_QNAME</H3>
+<PRE>
+protected static final <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>ERROR_QNAME</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="FATALERROR_QNAME"><!-- --></A><H3>
+FATALERROR_QNAME</H3>
+<PRE>
+protected static final <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>FATALERROR_QNAME</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="WARNING_QNAME"><!-- --></A><H3>
+WARNING_QNAME</H3>
+<PRE>
+protected static final <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>WARNING_QNAME</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XMLErrorHandler()"><!-- --></A><H3>
+XMLErrorHandler</H3>
+<PRE>
+public <B>XMLErrorHandler</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XMLErrorHandler(org.dom4j.Element)"><!-- --></A><H3>
+XMLErrorHandler</H3>
+<PRE>
+public <B>XMLErrorHandler</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> errors)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="error(org.xml.sax.SAXParseException)"><!-- --></A><H3>
+error</H3>
+<PRE>
+public void <B>error</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> e)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html#error(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax">error</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="fatalError(org.xml.sax.SAXParseException)"><!-- --></A><H3>
+fatalError</H3>
+<PRE>
+public void <B>fatalError</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> e)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html#fatalError(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax">fatalError</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="warning(org.xml.sax.SAXParseException)"><!-- --></A><H3>
+warning</H3>
+<PRE>
+public void <B>warning</B>(<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> e)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html#warning(org.xml.sax.SAXParseException)" title="class or interface in org.xml.sax">warning</A></CODE> in interface <CODE><A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getErrors()"><!-- --></A><H3>
+getErrors</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getErrors</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setErrors(org.dom4j.Element)"><!-- --></A><H3>
+setErrors</H3>
+<PRE>
+public void <B>setErrors</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> errors)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getErrorQName()"><!-- --></A><H3>
+getErrorQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getErrorQName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setErrorQName(org.dom4j.QName)"><!-- --></A><H3>
+setErrorQName</H3>
+<PRE>
+public void <B>setErrorQName</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> errorQName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFatalErrorQName()"><!-- --></A><H3>
+getFatalErrorQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getFatalErrorQName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFatalErrorQName(org.dom4j.QName)"><!-- --></A><H3>
+setFatalErrorQName</H3>
+<PRE>
+public void <B>setFatalErrorQName</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> fatalErrorQName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getWarningQName()"><!-- --></A><H3>
+getWarningQName</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>getWarningQName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setWarningQName(org.dom4j.QName)"><!-- --></A><H3>
+setWarningQName</H3>
+<PRE>
+public void <B>setWarningQName</B>(<A HREF="../../../org/dom4j/QName.html" title="class in org.dom4j">QName</A> warningQName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addException(org.dom4j.Element, org.xml.sax.SAXParseException)"><!-- --></A><H3>
+addException</H3>
+<PRE>
+protected void <B>addException</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element,
+                            <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/SAXParseException.html" title="class or interface in org.xml.sax">SAXParseException</A> e)</PRE>
+<DL>
+<DD>Adds the given parse exception information to the given element instance
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>element</CODE> - DOCUMENT ME!<DD><CODE>e</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XMLErrorHandler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLErrorHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/AttributeHelper.html b/docs/apidocs/org/dom4j/util/class-use/AttributeHelper.html
new file mode 100644
index 0000000..e399acc
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/AttributeHelper.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.AttributeHelper (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.AttributeHelper (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AttributeHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.AttributeHelper</B></H2>
+</CENTER>
+No usage of org.dom4j.util.AttributeHelper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="AttributeHelper.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/IndexedDocumentFactory.html b/docs/apidocs/org/dom4j/util/class-use/IndexedDocumentFactory.html
new file mode 100644
index 0000000..b36f5f9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/IndexedDocumentFactory.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.IndexedDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.IndexedDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IndexedDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.IndexedDocumentFactory</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> declared as <A HREF="../../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>IndexedDocumentFactory.</B><B><A HREF="../../../../org/dom4j/util/IndexedDocumentFactory.html#singleton">singleton</A></B></CODE>
+
+<BR>
+          The Singleton instance</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IndexedDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/IndexedElement.html b/docs/apidocs/org/dom4j/util/class-use/IndexedElement.html
new file mode 100644
index 0000000..53e9dd8
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/IndexedElement.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.IndexedElement (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.IndexedElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IndexedElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.IndexedElement</B></H2>
+</CENTER>
+No usage of org.dom4j.util.IndexedElement
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="IndexedElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/NodeComparator.html b/docs/apidocs/org/dom4j/util/class-use/NodeComparator.html
new file mode 100644
index 0000000..60c4b01
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/NodeComparator.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.NodeComparator (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.NodeComparator (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeComparator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.NodeComparator</B></H2>
+</CENTER>
+No usage of org.dom4j.util.NodeComparator
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NodeComparator.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/NonLazyDocumentFactory.html b/docs/apidocs/org/dom4j/util/class-use/NonLazyDocumentFactory.html
new file mode 100644
index 0000000..cf5e8bd
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/NonLazyDocumentFactory.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.NonLazyDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.NonLazyDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NonLazyDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.NonLazyDocumentFactory</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> declared as <A HREF="../../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>NonLazyDocumentFactory.</B><B><A HREF="../../../../org/dom4j/util/NonLazyDocumentFactory.html#singleton">singleton</A></B></CODE>
+
+<BR>
+          The Singleton instance</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NonLazyDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/NonLazyElement.html b/docs/apidocs/org/dom4j/util/class-use/NonLazyElement.html
new file mode 100644
index 0000000..62c00c0
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/NonLazyElement.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.NonLazyElement (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.NonLazyElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NonLazyElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.NonLazyElement</B></H2>
+</CENTER>
+No usage of org.dom4j.util.NonLazyElement
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="NonLazyElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/PerThreadSingleton.html b/docs/apidocs/org/dom4j/util/class-use/PerThreadSingleton.html
new file mode 100644
index 0000000..30d3703
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/PerThreadSingleton.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.PerThreadSingleton (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.PerThreadSingleton (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="PerThreadSingleton.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.PerThreadSingleton</B></H2>
+</CENTER>
+No usage of org.dom4j.util.PerThreadSingleton
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="PerThreadSingleton.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/ProxyDocumentFactory.html b/docs/apidocs/org/dom4j/util/class-use/ProxyDocumentFactory.html
new file mode 100644
index 0000000..633f651
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/ProxyDocumentFactory.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.ProxyDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.ProxyDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProxyDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.ProxyDocumentFactory</B></H2>
+</CENTER>
+No usage of org.dom4j.util.ProxyDocumentFactory
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProxyDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/SimpleSingleton.html b/docs/apidocs/org/dom4j/util/class-use/SimpleSingleton.html
new file mode 100644
index 0000000..076561b
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/SimpleSingleton.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.SimpleSingleton (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.SimpleSingleton (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SimpleSingleton.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.SimpleSingleton</B></H2>
+</CENTER>
+No usage of org.dom4j.util.SimpleSingleton
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SimpleSingleton.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/SingletonStrategy.html b/docs/apidocs/org/dom4j/util/class-use/SingletonStrategy.html
new file mode 100644
index 0000000..224aa4d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/SingletonStrategy.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Interface org.dom4j.util.SingletonStrategy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface org.dom4j.util.SingletonStrategy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SingletonStrategy.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>org.dom4j.util.SingletonStrategy</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> that implement <A HREF="../../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util">PerThreadSingleton</A></B></CODE>
+
+<BR>
+          
+ <code>PerThreadSingleton</code> is an implementation of the
+ SingletonStrategy used to provide common factory access to a single object
+ instance based on an implementation strategy for one object instance per
+ thread. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util">SimpleSingleton</A></B></CODE>
+
+<BR>
+          
+ <code>SimpleSingleton</code> is an implementation of the SingletonStrategy
+ interface used to provide common factory access for the same object instance.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="SingletonStrategy.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/UserDataAttribute.html b/docs/apidocs/org/dom4j/util/class-use/UserDataAttribute.html
new file mode 100644
index 0000000..5366085
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/UserDataAttribute.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.UserDataAttribute (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.UserDataAttribute (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.UserDataAttribute</B></H2>
+</CENTER>
+No usage of org.dom4j.util.UserDataAttribute
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataAttribute.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/UserDataDocumentFactory.html b/docs/apidocs/org/dom4j/util/class-use/UserDataDocumentFactory.html
new file mode 100644
index 0000000..fb3ecb3
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/UserDataDocumentFactory.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.UserDataDocumentFactory (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.UserDataDocumentFactory (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.UserDataDocumentFactory</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A> in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> declared as <A HREF="../../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="../../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B>UserDataDocumentFactory.</B><B><A HREF="../../../../org/dom4j/util/UserDataDocumentFactory.html#singleton">singleton</A></B></CODE>
+
+<BR>
+          The Singleton instance</TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataDocumentFactory.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/UserDataElement.html b/docs/apidocs/org/dom4j/util/class-use/UserDataElement.html
new file mode 100644
index 0000000..4e8fbfa
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/UserDataElement.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.UserDataElement (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.UserDataElement (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.UserDataElement</B></H2>
+</CENTER>
+No usage of org.dom4j.util.UserDataElement
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="UserDataElement.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/class-use/XMLErrorHandler.html b/docs/apidocs/org/dom4j/util/class-use/XMLErrorHandler.html
new file mode 100644
index 0000000..84b2f7d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/class-use/XMLErrorHandler.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.util.XMLErrorHandler (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.util.XMLErrorHandler (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLErrorHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.util.XMLErrorHandler</B></H2>
+</CENTER>
+No usage of org.dom4j.util.XMLErrorHandler
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XMLErrorHandler.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/package-frame.html b/docs/apidocs/org/dom4j/util/package-frame.html
new file mode 100644
index 0000000..5b116c6
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/package-frame.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.util (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/util/package-summary.html" target="classFrame">org.dom4j.util</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="SingletonStrategy.html" title="interface in org.dom4j.util" target="classFrame"><I>SingletonStrategy</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="AttributeHelper.html" title="class in org.dom4j.util" target="classFrame">AttributeHelper</A>
+<BR>
+<A HREF="IndexedDocumentFactory.html" title="class in org.dom4j.util" target="classFrame">IndexedDocumentFactory</A>
+<BR>
+<A HREF="IndexedElement.html" title="class in org.dom4j.util" target="classFrame">IndexedElement</A>
+<BR>
+<A HREF="NodeComparator.html" title="class in org.dom4j.util" target="classFrame">NodeComparator</A>
+<BR>
+<A HREF="NonLazyDocumentFactory.html" title="class in org.dom4j.util" target="classFrame">NonLazyDocumentFactory</A>
+<BR>
+<A HREF="NonLazyElement.html" title="class in org.dom4j.util" target="classFrame">NonLazyElement</A>
+<BR>
+<A HREF="PerThreadSingleton.html" title="class in org.dom4j.util" target="classFrame">PerThreadSingleton</A>
+<BR>
+<A HREF="ProxyDocumentFactory.html" title="class in org.dom4j.util" target="classFrame">ProxyDocumentFactory</A>
+<BR>
+<A HREF="SimpleSingleton.html" title="class in org.dom4j.util" target="classFrame">SimpleSingleton</A>
+<BR>
+<A HREF="UserDataAttribute.html" title="class in org.dom4j.util" target="classFrame">UserDataAttribute</A>
+<BR>
+<A HREF="UserDataDocumentFactory.html" title="class in org.dom4j.util" target="classFrame">UserDataDocumentFactory</A>
+<BR>
+<A HREF="UserDataElement.html" title="class in org.dom4j.util" target="classFrame">UserDataElement</A>
+<BR>
+<A HREF="XMLErrorHandler.html" title="class in org.dom4j.util" target="classFrame">XMLErrorHandler</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/package-summary.html b/docs/apidocs/org/dom4j/util/package-summary.html
new file mode 100644
index 0000000..c2bc98e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/package-summary.html
@@ -0,0 +1,274 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.util (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.util package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.util (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/xpath/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.util
+</H2>
+A collection of utility classes for the <i>dom4j</i> API.
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A></B></TD>
+<TD>
+ <code>SingletonStrategy</code> is an interface used to provide common
+ factory access for the same object based on an implementation strategy for
+ singleton. </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util">AttributeHelper</A></B></TD>
+<TD>
+ <code>AttributeHelper</code> a number of helper methods for working with
+ attribute values.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">IndexedDocumentFactory</A></B></TD>
+<TD>
+ <code>IndexedDocumentFactory</code> is a factory of XML objects which
+ create indexed Element implementations to allow quicker lookup via name of
+ Element and Attributes though at the expense of more memory used to create
+ the name indexes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">IndexedElement</A></B></TD>
+<TD>
+ <code>IndexedElement</code> is an implementation of <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j"><CODE>Element</CODE></A>which
+ maintains an index of the attributes and elements it contains to optimise
+ lookups via name.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util">NodeComparator</A></B></TD>
+<TD>
+ <code>NodeComparator</code> is a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>of Node instances which
+ is capable of comparing Nodes for equality based on their values.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">NonLazyDocumentFactory</A></B></TD>
+<TD>
+ <code>NonLazyDocumentFactory</code> is a factory of XML objects which avoid
+ using the lazy creation pattern. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">NonLazyElement</A></B></TD>
+<TD>
+ <code>NonLazyElement</code> is the default DOM4J default implementation of
+ an XML element.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util">PerThreadSingleton</A></B></TD>
+<TD>
+ <code>PerThreadSingleton</code> is an implementation of the
+ SingletonStrategy used to provide common factory access to a single object
+ instance based on an implementation strategy for one object instance per
+ thread. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util">ProxyDocumentFactory</A></B></TD>
+<TD>
+ <code>ProxyDocumentFactory</code> implements a proxy to a DocumentFactory
+ which is useful for implementation inheritence, allowing the pipelining of
+ various factory implementations. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util">SimpleSingleton</A></B></TD>
+<TD>
+ <code>SimpleSingleton</code> is an implementation of the SingletonStrategy
+ interface used to provide common factory access for the same object instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">UserDataAttribute</A></B></TD>
+<TD>
+ <code>UserDataAttribute</code> support the adornment of a user data object
+ on an Element or Attribute instance such that the methods 
+ <A HREF="../../../org/dom4j/util/UserDataAttribute.html#setData(java.lang.Object)"><CODE>UserDataAttribute.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">UserDataDocumentFactory</A></B></TD>
+<TD>
+ <code>UserDataDocumentFactory</code> is a factory of XML objects which
+ support the adornment of a user data object on an Element or Attribute
+ instance such that the methods <code>getData()</code> and
+ <code>setData()</code> will get and set the values of a user data object.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">UserDataElement</A></B></TD>
+<TD>
+ <code>UserDataElement</code> support the adornment of a user data object on
+ an Element or Attribute instance such that the methods 
+ <A HREF="../../../org/dom4j/util/UserDataElement.html#setData(java.lang.Object)"><CODE>UserDataElement.setData(Object)</CODE></A>will get and set the values of a user data object.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util">XMLErrorHandler</A></B></TD>
+<TD><code>XMLErrorHandler</code> is a SAX <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax"><CODE>ErrorHandler</CODE></A>which turns the
+ SAX parsing errors into XML so that the output can be formatted using XSLT or
+ the errors can be included in a SOAP message.</TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.util Description
+</H2>
+
+<P>
+<p>A collection of utility classes for the <i>dom4j</i> API.</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/xpath/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/package-tree.html b/docs/apidocs/org/dom4j/util/package-tree.html
new file mode 100644
index 0000000..43cf409
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/package-tree.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.util Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.util Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/xpath/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.util
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>AbstractNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, org.dom4j.<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interfa [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><B>AbstractAttribute</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><B>FlyweightAttribute</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><B>DefaultAttribute</B></A><UL>
+<LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util"><B>UserDataAttribute</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>AbstractBranch</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>AbstractElement</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><B>BaseElement</B></A><UL>
+<LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util"><B>NonLazyElement</B></A></UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="../../../org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>DefaultElement</B></A><UL>
+<LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util"><B>IndexedElement</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util"><B>UserDataElement</B></A></UL>
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util"><B>AttributeHelper</B></A><LI TYPE="circle">class org.dom4j.<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j"><B>DocumentFactory</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util"><B>IndexedDocumentFactory</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util"><B>NonLazyDocumentFactory</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util"><B>UserDataDocumentFactory [...]
+<LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/NodeComparator.html" title="class in org.dom4j.util"><B>NodeComparator</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util">Comparator</A>)
+<LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util"><B>PerThreadSingleton</B></A> (implements org.dom4j.util.<A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A>)
+<LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util"><B>ProxyDocumentFactory</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util"><B>SimpleSingleton</B></A> (implements org.dom4j.util.<A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A>)
+<LI TYPE="circle">class org.dom4j.util.<A HREF="../../../org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util"><B>XMLErrorHandler</B></A> (implements org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A>)
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface org.dom4j.util.<A HREF="../../../org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util"><B>SingletonStrategy</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/tree/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/xpath/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/util/package-use.html b/docs/apidocs/org/dom4j/util/package-use.html
new file mode 100644
index 0000000..a34583e
--- /dev/null
+++ b/docs/apidocs/org/dom4j/util/package-use.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.util (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.util (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.util</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.util"><B>org.dom4j.util</B></A></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API. </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.util"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A> used by <A HREF="../../../org/dom4j/util/package-summary.html">org.dom4j.util</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/util/class-use/IndexedDocumentFactory.html#org.dom4j.util"><B>IndexedDocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>IndexedDocumentFactory</code> is a factory of XML objects which
+ create indexed Element implementations to allow quicker lookup via name of
+ Element and Attributes though at the expense of more memory used to create
+ the name indexes.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/util/class-use/NonLazyDocumentFactory.html#org.dom4j.util"><B>NonLazyDocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>NonLazyDocumentFactory</code> is a factory of XML objects which avoid
+ using the lazy creation pattern. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/util/class-use/SingletonStrategy.html#org.dom4j.util"><B>SingletonStrategy</B></A></B>
+
+<BR>
+          
+ <code>SingletonStrategy</code> is an interface used to provide common
+ factory access for the same object based on an implementation strategy for
+ singleton. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/util/class-use/UserDataDocumentFactory.html#org.dom4j.util"><B>UserDataDocumentFactory</B></A></B>
+
+<BR>
+          
+ <code>UserDataDocumentFactory</code> is a factory of XML objects which
+ support the adornment of a user data object on an Element or Attribute
+ instance such that the methods <code>getData()</code> and
+ <code>setData()</code> will get and set the values of a user data object.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/DefaultNamespaceContext.html b/docs/apidocs/org/dom4j/xpath/DefaultNamespaceContext.html
new file mode 100644
index 0000000..f902ce1
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/DefaultNamespaceContext.html
@@ -0,0 +1,293 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultNamespaceContext (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.xpath.DefaultNamespaceContext class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultNamespaceContext (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultNamespaceContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultNamespaceContext.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.xpath</FONT>
+<BR>
+Class DefaultNamespaceContext</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.xpath.DefaultNamespaceContext</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>org.jaxen.NamespaceContext, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultNamespaceContext</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements org.jaxen.NamespaceContext, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
+
+<P>
+<p>
+ <code>DefaultNamespaceContext</code> implements a Jaxen NamespaceContext
+ such that a context node is used to determine the current XPath namespace
+ prefixes and namespace URIs available.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.xpath.DefaultNamespaceContext">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html#DefaultNamespaceContext(org.dom4j.Element)">DefaultNamespaceContext</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html#create(java.lang.Object)">create</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html#translateNamespacePrefixToUri(java.lang.String)">translateNamespacePrefixToUri</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultNamespaceContext(org.dom4j.Element)"><!-- --></A><H3>
+DefaultNamespaceContext</H3>
+<PRE>
+public <B>DefaultNamespaceContext</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="create(java.lang.Object)"><!-- --></A><H3>
+create</H3>
+<PRE>
+public static <A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A> <B>create</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> node)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="translateNamespacePrefixToUri(java.lang.String)"><!-- --></A><H3>
+translateNamespacePrefixToUri</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>translateNamespacePrefixToUri</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> prefix)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>translateNamespacePrefixToUri</CODE> in interface <CODE>org.jaxen.NamespaceContext</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultNamespaceContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ <A HREF="../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultNamespaceContext.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/DefaultXPath.html b/docs/apidocs/org/dom4j/xpath/DefaultXPath.html
new file mode 100644
index 0000000..cc466a8
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/DefaultXPath.html
@@ -0,0 +1,1066 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+DefaultXPath (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.xpath.DefaultXPath class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DefaultXPath (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultXPath.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultXPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.xpath</FONT>
+<BR>
+Class DefaultXPath</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.xpath.DefaultXPath</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>DefaultXPath</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>, <A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
+
+<P>
+<p>
+ Default implementation of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j"><CODE>XPath</CODE></A>which uses the <a
+ href="http://jaxen.org">Jaxen </a> project.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>bob mcwhirter, <a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#org.dom4j.xpath.DefaultXPath">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#DefaultXPath(java.lang.String)">DefaultXPath</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+          Construct an XPath</TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#booleanValueOf(java.lang.Object)">booleanValueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          Retrieve a boolean-value interpretation of this XPath expression when
+ evaluated against a given context.
+ 
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#evaluate(java.lang.Object)">evaluate</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>evaluate</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#getCompareValue(org.dom4j.Node)">getCompareValue</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.jaxen.FunctionContext</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#getFunctionContext()">getFunctionContext</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.jaxen.NamespaceContext</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#getNamespaceContext()">getNamespaceContext</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+          Retrieve the textual XPath string used to initialize this Object</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> org.jaxen.VariableContext</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#getVariableContext()">getVariableContext</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#handleJaxenException(org.jaxen.JaxenException)">handleJaxenException</A></B>(org.jaxen.JaxenException exception)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          
+ <code>matches</code> returns true if the given node matches the XPath
+ expression. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#numberValueOf(java.lang.Object)">numberValueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ is a number, or null if the result is not a number.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static org.jaxen.XPath</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#parse(java.lang.String)">parse</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#removeDuplicates(java.util.List, java.util.Map)">removeDuplicates</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                 <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> sortValues)</CODE>
+
+<BR>
+          Removes items from the list which have duplicate values</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#selectNodes(java.lang.Object)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> performs this XPath expression on the given
+ <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s instances appending all
+ the results together into a single list.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#selectNodes(java.lang.Object, org.dom4j.XPath)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+            <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#selectNodes(java.lang.Object, org.dom4j.XPath, boolean)">selectNodes</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+            <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath,
+            boolean distinct)</CODE>
+
+<BR>
+          
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#selectObject(java.lang.Object)">selectObject</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>selectObject</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#selectSingleNode(java.lang.Object)">selectSingleNode</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>selectSingleNode</code> evaluates this XPath expression on the
+ given <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the
+ result as a single <code>Node</code> instance.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#setFunctionContext(org.jaxen.FunctionContext)">setFunctionContext</A></B>(org.jaxen.FunctionContext functionContext)</CODE>
+
+<BR>
+          Sets the function context to be used when evaluating XPath expressions</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#setNamespaceContext(org.jaxen.NamespaceContext)">setNamespaceContext</A></B>(org.jaxen.NamespaceContext namespaceContext)</CODE>
+
+<BR>
+          Sets the namespace context to be used when evaluating XPath expressions</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#setNamespaceURIs(java.util.Map)">setNamespaceURIs</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map)</CODE>
+
+<BR>
+          
+ Sets the current NamespaceContext from a Map where the keys are the
+ String namespace prefixes and the values are the namespace URIs.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#setNSContext(java.lang.Object)">setNSContext</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#setVariableContext(org.jaxen.VariableContext)">setVariableContext</A></B>(org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+          Sets the variable context to be used when evaluating XPath expressions</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#sort(java.util.List)">sort</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list)</CODE>
+
+<BR>
+          
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#sort(java.util.List, boolean)">sort</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+     boolean distinct)</CODE>
+
+<BR>
+          
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>and optionally removing duplicates.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#sort(java.util.List, java.util.Map)">sort</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> sortValues)</CODE>
+
+<BR>
+          Sorts the list based on the sortValues for each node</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html#valueOf(java.lang.Object)">valueOf</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</CODE>
+
+<BR>
+          
+ <code>valueOf</code> evaluates this XPath expression and returns the
+ textual representation of the results using the XPath string() function.
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="DefaultXPath(java.lang.String)"><!-- --></A><H3>
+DefaultXPath</H3>
+<PRE>
+public <B>DefaultXPath</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)
+             throws <A HREF="../../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></PRE>
+<DL>
+<DD>Construct an XPath
+<P>
+<DT><B>Parameters:</B><DD><CODE>text</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/InvalidXPathException.html" title="class in org.dom4j">InvalidXPathException</A></CODE> - DOCUMENT ME!</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD>Retrieve the textual XPath string used to initialize this Object
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#getText()">getText</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The XPath string</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFunctionContext()"><!-- --></A><H3>
+getFunctionContext</H3>
+<PRE>
+public org.jaxen.FunctionContext <B>getFunctionContext</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#getFunctionContext()">getFunctionContext</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current function context</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFunctionContext(org.jaxen.FunctionContext)"><!-- --></A><H3>
+setFunctionContext</H3>
+<PRE>
+public void <B>setFunctionContext</B>(org.jaxen.FunctionContext functionContext)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD>Sets the function context to be used when evaluating XPath expressions
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#setFunctionContext(org.jaxen.FunctionContext)">setFunctionContext</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>functionContext</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceContext()"><!-- --></A><H3>
+getNamespaceContext</H3>
+<PRE>
+public org.jaxen.NamespaceContext <B>getNamespaceContext</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#getNamespaceContext()">getNamespaceContext</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current namespace context</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNamespaceURIs(java.util.Map)"><!-- --></A><H3>
+setNamespaceURIs</H3>
+<PRE>
+public void <B>setNamespaceURIs</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> map)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ Sets the current NamespaceContext from a Map where the keys are the
+ String namespace prefixes and the values are the namespace URIs.
+ </p>
+ 
+ <p>
+ For example:
+ 
+ <pre>
+ Map uris = new HashMap();
+ uris.put("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/");
+ uris.put("m", "urn:xmethodsBabelFish");
+ XPath xpath = document
+         .createXPath("SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish");
+ xpath.setNamespaceURIs(uris);
+ Node babelfish = xpath.selectSingleNode(document);
+ </pre>
+ 
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#setNamespaceURIs(java.util.Map)">setNamespaceURIs</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>map</CODE> - the map containing the namespace mappings</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNamespaceContext(org.jaxen.NamespaceContext)"><!-- --></A><H3>
+setNamespaceContext</H3>
+<PRE>
+public void <B>setNamespaceContext</B>(org.jaxen.NamespaceContext namespaceContext)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD>Sets the namespace context to be used when evaluating XPath expressions
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#setNamespaceContext(org.jaxen.NamespaceContext)">setNamespaceContext</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespaceContext</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVariableContext()"><!-- --></A><H3>
+getVariableContext</H3>
+<PRE>
+public org.jaxen.VariableContext <B>getVariableContext</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#getVariableContext()">getVariableContext</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current variable context</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setVariableContext(org.jaxen.VariableContext)"><!-- --></A><H3>
+setVariableContext</H3>
+<PRE>
+public void <B>setVariableContext</B>(org.jaxen.VariableContext variableContext)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD>Sets the variable context to be used when evaluating XPath expressions
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#setVariableContext(org.jaxen.VariableContext)">setVariableContext</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>variableContext</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="evaluate(java.lang.Object)"><!-- --></A><H3>
+evaluate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>evaluate</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ <code>evaluate</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. The object returned can either be a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A> of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances, a <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"> [...]
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#evaluate(java.lang.Object)">evaluate</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the value of the XPath expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A> instances, a <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instance, a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or inte [...]
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang"><CODE>Number</CODE></A>instance depending on the XPath expression.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectObject(java.lang.Object)"><!-- --></A><H3>
+selectObject</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>selectObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ <code>selectObject</code> evaluates an XPath expression and returns the
+ result as an <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><CODE>Object</CODE></A>. The object returned can either be a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A> of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instances, a <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"> [...]
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#selectObject(java.lang.Object)">selectObject</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the value of the XPath expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A> instances, a <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>instance, a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or inte [...]
+         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang"><CODE>Number</CODE></A>instance depending on the XPath expression.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.Object)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ <code>selectNodes</code> performs this XPath expression on the given
+ <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s instances appending all
+ the results together into a single list.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#selectNodes(java.lang.Object)">selectNodes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the results of all the XPath evaluations as a single list</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.Object, org.dom4j.XPath)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+                        <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#selectNodes(java.lang.Object, org.dom4j.XPath)">selectNodes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath<DD><CODE>sortXPath</CODE> - is the XPath expression to sort by
+<DT><B>Returns:</B><DD>a list of <code>Node</code> instances</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectNodes(java.lang.Object, org.dom4j.XPath, boolean)"><!-- --></A><H3>
+selectNodes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>selectNodes</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context,
+                        <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> sortXPath,
+                        boolean distinct)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ <code>selectNodes</code> evaluates the XPath expression on the given
+ <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the result as
+ a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+ expression.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#selectNodes(java.lang.Object, org.dom4j.XPath, boolean)">selectNodes</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath<DD><CODE>sortXPath</CODE> - is the XPath expression to sort by<DD><CODE>distinct</CODE> - specifies whether or not duplicate values of the sort
+            expression are allowed. If this parameter is true then only
+            distinct sort expressions values are included in the result
+<DT><B>Returns:</B><DD>a list of <code>Node</code> instances</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="selectSingleNode(java.lang.Object)"><!-- --></A><H3>
+selectSingleNode</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> <B>selectSingleNode</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ <code>selectSingleNode</code> evaluates this XPath expression on the
+ given <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>or <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>of <A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j"><CODE>Node</CODE></A>s and returns the
+ result as a single <code>Node</code> instance.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#selectSingleNode(java.lang.Object)">selectSingleNode</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>a single matching <code>Node</code> instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueOf(java.lang.Object)"><!-- --></A><H3>
+valueOf</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>valueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ <code>valueOf</code> evaluates this XPath expression and returns the
+ textual representation of the results using the XPath string() function.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#valueOf(java.lang.Object)">valueOf</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the string representation of the results of the XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="numberValueOf(java.lang.Object)"><!-- --></A><H3>
+numberValueOf</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Number.html" title="class or interface in java.lang">Number</A> <B>numberValueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ <code>numberValueOf</code> evaluates an XPath expression and returns
+ the numeric value of the XPath expression if the XPath expression results
+ is a number, or null if the result is not a number.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#numberValueOf(java.lang.Object)">numberValueOf</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - is either a node or a list of nodes on which to evalute the
+            XPath
+<DT><B>Returns:</B><DD>the numeric result of the XPath expression or null if the result
+         is not a number.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="booleanValueOf(java.lang.Object)"><!-- --></A><H3>
+booleanValueOf</H3>
+<PRE>
+public boolean <B>booleanValueOf</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD>Retrieve a boolean-value interpretation of this XPath expression when
+ evaluated against a given context.
+ 
+ <p>
+ The boolean-value of the expression is determined per the
+ <code>boolean(..)</code> core function as defined in the XPath
+ specification. This means that an expression that selects zero nodes will
+ return <code>false</code>, while an expression that selects
+ one-or-more nodes will return <code>true</code>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#booleanValueOf(java.lang.Object)">booleanValueOf</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - The node, nodeset or Context object for evaluation. This value
+            can be null
+<DT><B>Returns:</B><DD>The boolean-value interpretation of this expression.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sort(java.util.List)"><!-- --></A><H3>
+sort</H3>
+<PRE>
+public void <B>sort</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list)</PRE>
+<DL>
+<DD><p>
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#sort(java.util.List)">sort</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>list</CODE> - is the list of Nodes to sort</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sort(java.util.List, boolean)"><!-- --></A><H3>
+sort</H3>
+<PRE>
+public void <B>sort</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                 boolean distinct)</PRE>
+<DL>
+<DD><p>
+ <code>sort</code> sorts the given List of Nodes using this XPath
+ expression as a <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" title="class or interface in java.util"><CODE>Comparator</CODE></A>and optionally removing duplicates.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#sort(java.util.List, boolean)">sort</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>list</CODE> - is the list of Nodes to sort<DD><CODE>distinct</CODE> - if true then duplicate values (using the sortXPath for
+            comparisions) will be removed from the List</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="matches(org.dom4j.Node)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public boolean <B>matches</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></B></DD>
+<DD><p>
+ <code>matches</code> returns true if the given node matches the XPath
+ expression. To be more precise when evaluating this XPath expression on
+ the given node the result set must include the node.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/XPath.html#matches(org.dom4j.Node)">matches</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the given node matches this XPath expression</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sort(java.util.List, java.util.Map)"><!-- --></A><H3>
+sort</H3>
+<PRE>
+protected void <B>sort</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                    <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> sortValues)</PRE>
+<DL>
+<DD>Sorts the list based on the sortValues for each node
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>list</CODE> - DOCUMENT ME!<DD><CODE>sortValues</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeDuplicates(java.util.List, java.util.Map)"><!-- --></A><H3>
+removeDuplicates</H3>
+<PRE>
+protected void <B>removeDuplicates</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> list,
+                                <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> sortValues)</PRE>
+<DL>
+<DD>Removes items from the list which have duplicate values
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>list</CODE> - DOCUMENT ME!<DD><CODE>sortValues</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCompareValue(org.dom4j.Node)"><!-- --></A><H3>
+getCompareValue</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>getCompareValue</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>the node expression used for sorting comparisons</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parse(java.lang.String)"><!-- --></A><H3>
+parse</H3>
+<PRE>
+protected static org.jaxen.XPath <B>parse</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNSContext(java.lang.Object)"><!-- --></A><H3>
+setNSContext</H3>
+<PRE>
+protected void <B>setNSContext</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> context)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handleJaxenException(org.jaxen.JaxenException)"><!-- --></A><H3>
+handleJaxenException</H3>
+<PRE>
+protected void <B>handleJaxenException</B>(org.jaxen.JaxenException exception)
+                             throws <A HREF="../../../org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DefaultXPath.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath"><B>PREV CLASS</B></A> 
+ <A HREF="../../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultXPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/XPathPattern.html b/docs/apidocs/org/dom4j/xpath/XPathPattern.html
new file mode 100644
index 0000000..4f1c3c9
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/XPathPattern.html
@@ -0,0 +1,540 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+XPathPattern (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.xpath.XPathPattern class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="XPathPattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPathPattern.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPathPattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.xpath</FONT>
+<BR>
+Class XPathPattern</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.xpath.XPathPattern</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A>, <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>XPathPattern</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></DL>
+
+<P>
+<p>
+ <code>XPathPattern</code> is an implementation of Pattern which uses an
+ XPath xpath.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Revision: 1.18.2.1 $</DD>
+<DT><B>Author:</B></DT>
+  <DD><a href="mailto:jstrachan at apache.org">James Strachan </a></DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_org.dom4j.rule.Pattern"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface org.dom4j.rule.<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../org/dom4j/rule/Pattern.html#ANY_NODE">ANY_NODE</A>, <A HREF="../../../org/dom4j/rule/Pattern.html#DEFAULT_PRIORITY">DEFAULT_PRIORITY</A>, <A HREF="../../../org/dom4j/rule/Pattern.html#NONE">NONE</A>, <A HREF="../../../org/dom4j/rule/Pattern.html#NUMBER_OF_TYPES">NUMBER_OF_TYPES</A></CODE></TD>
+</TR>
+</TABLE>
+ 
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#XPathPattern(org.jaxen.pattern.Pattern)">XPathPattern</A></B>(org.jaxen.pattern.Pattern pattern)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#XPathPattern(java.lang.String)">XPathPattern</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  org.jaxen.ContextSupport</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#getContextSupport()">getContextSupport</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#getMatchesNodeName()">getMatchesNodeName</A></B>()</CODE>
+
+<BR>
+          For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> short</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#getMatchType()">getMatchType</A></B>()</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> double</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#getPriority()">getPriority</A></B>()</CODE>
+
+<BR>
+          Returns the default resolution policy of the pattern according to the <a
+ href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+ spec </a>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#getText()">getText</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#getUnionPatterns()">getUnionPatterns</A></B>()</CODE>
+
+<BR>
+          If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected  void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#handleJaxenException(org.jaxen.JaxenException)">handleJaxenException</A></B>(org.jaxen.JaxenException exception)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#matches(org.dom4j.Node)">matches</A></B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</CODE>
+
+<BR>
+          DOCUMENT ME!</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#setVariableContext(org.jaxen.VariableContext)">setVariableContext</A></B>(org.jaxen.VariableContext variableContext)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="XPathPattern(org.jaxen.pattern.Pattern)"><!-- --></A><H3>
+XPathPattern</H3>
+<PRE>
+public <B>XPathPattern</B>(org.jaxen.pattern.Pattern pattern)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XPathPattern(java.lang.String)"><!-- --></A><H3>
+XPathPattern</H3>
+<PRE>
+public <B>XPathPattern</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> text)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="matches(org.dom4j.Node)"><!-- --></A><H3>
+matches</H3>
+<PRE>
+public boolean <B>matches</B>(<A HREF="../../../org/dom4j/Node.html" title="interface in org.dom4j">Node</A> node)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/rule/Pattern.html#matches(org.dom4j.Node)">matches</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>node</CODE> - DOCUMENT ME!
+<DT><B>Returns:</B><DD>true if the pattern matches the given DOM4J node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getText()"><!-- --></A><H3>
+getText</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getText</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPriority()"><!-- --></A><H3>
+getPriority</H3>
+<PRE>
+public double <B>getPriority</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>Returns the default resolution policy of the pattern according to the <a
+ href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+ spec </a>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/rule/Pattern.html#getPriority()">getPriority</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUnionPatterns()"><!-- --></A><H3>
+getUnionPatterns</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>[] <B>getUnionPatterns</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>If this pattern is a union pattern then this method should return an
+ array of patterns which describe the union pattern, which should contain
+ more than one pattern. Otherwise this method should return null.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/rule/Pattern.html#getUnionPatterns()">getUnionPatterns</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of the patterns which make up this union pattern or null
+         if this pattern is not a union pattern</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchType()"><!-- --></A><H3>
+getMatchType</H3>
+<PRE>
+public short <B>getMatchType</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>DOCUMENT ME!
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/rule/Pattern.html#getMatchType()">getMatchType</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the type of node the pattern matches which by default should
+         return ANY_NODE if it can match any kind of node.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMatchesNodeName()"><!-- --></A><H3>
+getMatchesNodeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getMatchesNodeName</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></B></DD>
+<DD>For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+ this pattern may return the name of the element or attribute it matches.
+ This allows a more efficient rule matching algorithm to be performed,
+ rather than a brute force approach of evaluating every pattern for a
+ given Node.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/dom4j/rule/Pattern.html#getMatchesNodeName()">getMatchesNodeName</A></CODE> in interface <CODE><A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the element or attribute this pattern matches or null
+         if this pattern matches any or more than one name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setVariableContext(org.jaxen.VariableContext)"><!-- --></A><H3>
+setVariableContext</H3>
+<PRE>
+public void <B>setVariableContext</B>(org.jaxen.VariableContext variableContext)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContextSupport()"><!-- --></A><H3>
+getContextSupport</H3>
+<PRE>
+protected org.jaxen.ContextSupport <B>getContextSupport</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handleJaxenException(org.jaxen.JaxenException)"><!-- --></A><H3>
+handleJaxenException</H3>
+<PRE>
+protected void <B>handleJaxenException</B>(org.jaxen.JaxenException exception)
+                             throws <A HREF="../../../org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../org/dom4j/XPathException.html" title="class in org.dom4j">XPathException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/XPathPattern.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath"><B>PREV CLASS</B></A> 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPathPattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/class-use/DefaultNamespaceContext.html b/docs/apidocs/org/dom4j/xpath/class-use/DefaultNamespaceContext.html
new file mode 100644
index 0000000..7555eca
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/class-use/DefaultNamespaceContext.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.xpath.DefaultNamespaceContext (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.xpath.DefaultNamespaceContext (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultNamespaceContext.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.xpath.DefaultNamespaceContext</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A> in <A HREF="../../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+</TABLE>
+ 
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> that return <A HREF="../../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A></CODE></FONT></TD>
+<TD><CODE><B>DefaultNamespaceContext.</B><B><A HREF="../../../../org/dom4j/xpath/DefaultNamespaceContext.html#create(java.lang.Object)">create</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> node)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultNamespaceContext.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/class-use/DefaultXPath.html b/docs/apidocs/org/dom4j/xpath/class-use/DefaultXPath.html
new file mode 100644
index 0000000..bcb7b42
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/class-use/DefaultXPath.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.xpath.DefaultXPath (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.xpath.DefaultXPath (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultXPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.xpath.DefaultXPath</B></H2>
+</CENTER>
+No usage of org.dom4j.xpath.DefaultXPath
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="DefaultXPath.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/class-use/XPathPattern.html b/docs/apidocs/org/dom4j/xpath/class-use/XPathPattern.html
new file mode 100644
index 0000000..4193755
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/class-use/XPathPattern.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.xpath.XPathPattern (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.xpath.XPathPattern (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPathPattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.xpath.XPathPattern</B></H2>
+</CENTER>
+No usage of org.dom4j.xpath.XPathPattern
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="XPathPattern.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/package-frame.html b/docs/apidocs/org/dom4j/xpath/package-frame.html
new file mode 100644
index 0000000..c12fa3c
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/package-frame.html
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.xpath (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.xpath package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/xpath/package-summary.html" target="classFrame">org.dom4j.xpath</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DefaultNamespaceContext.html" title="class in org.dom4j.xpath" target="classFrame">DefaultNamespaceContext</A>
+<BR>
+<A HREF="DefaultXPath.html" title="class in org.dom4j.xpath" target="classFrame">DefaultXPath</A>
+<BR>
+<A HREF="XPathPattern.html" title="class in org.dom4j.xpath" target="classFrame">XPathPattern</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/package-summary.html b/docs/apidocs/org/dom4j/xpath/package-summary.html
new file mode 100644
index 0000000..50497f0
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/package-summary.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.xpath (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.xpath package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.xpath (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/xpp/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.xpath
+</H2>
+Provides the core tools needed to use the XPath library
+
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">DefaultNamespaceContext</A></B></TD>
+<TD>
+ <code>DefaultNamespaceContext</code> implements a Jaxen NamespaceContext
+ such that a context node is used to determine the current XPath namespace
+ prefixes and namespace URIs available.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">DefaultXPath</A></B></TD>
+<TD>
+ Default implementation of <A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j"><CODE>XPath</CODE></A>which uses the <a
+ href="http://jaxen.org">Jaxen </a> project.
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath">XPathPattern</A></B></TD>
+<TD>
+ <code>XPathPattern</code> is an implementation of Pattern which uses an
+ XPath xpath.
+ </TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.xpath Description
+</H2>
+
+<P>
+<p>Provides the core tools needed to use the XPath library
+</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/package-summary.html"><B>PREV PACKAGE</B></A> 
+ <A HREF="../../../org/dom4j/xpp/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/package-tree.html b/docs/apidocs/org/dom4j/xpath/package-tree.html
new file mode 100644
index 0000000..c20d391
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/package-tree.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.xpath Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.xpath Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/xpp/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.xpath
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.xpath.<A HREF="../../../org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath"><B>DefaultNamespaceContext</B></A> (implements org.jaxen.NamespaceContext, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<LI TYPE="circle">class org.dom4j.xpath.<A HREF="../../../org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath"><B>DefaultXPath</B></A> (implements org.dom4j.<A HREF="../../../org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, org.dom4j.<A HREF="../../../org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>)
+<LI TYPE="circle">class org.dom4j.xpath.<A HREF="../../../org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath"><B>XPathPattern</B></A> (implements org.dom4j.rule.<A HREF="../../../org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>)
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/util/package-tree.html"><B>PREV</B></A> 
+ <A HREF="../../../org/dom4j/xpp/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpath/package-use.html b/docs/apidocs/org/dom4j/xpath/package-use.html
new file mode 100644
index 0000000..d7b932f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpath/package-use.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.xpath (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.xpath (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.xpath</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#org.dom4j.xpath"><B>org.dom4j.xpath</B></A></TD>
+<TD>Provides the core tools needed to use the XPath library
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<A NAME="org.dom4j.xpath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A> used by <A HREF="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../org/dom4j/xpath/class-use/DefaultNamespaceContext.html#org.dom4j.xpath"><B>DefaultNamespaceContext</B></A></B>
+
+<BR>
+          
+ <code>DefaultNamespaceContext</code> implements a Jaxen NamespaceContext
+ such that a context node is used to determine the current XPath namespace
+ prefixes and namespace URIs available.
+ </TD>
+</TR>
+</TABLE>
+ 
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpp/ProxyXmlStartTag.html b/docs/apidocs/org/dom4j/xpp/ProxyXmlStartTag.html
new file mode 100644
index 0000000..82f3776
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpp/ProxyXmlStartTag.html
@@ -0,0 +1,881 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:26 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ProxyXmlStartTag (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.xpp.ProxyXmlStartTag class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ProxyXmlStartTag (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ProxyXmlStartTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProxyXmlStartTag.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+org.dom4j.xpp</FONT>
+<BR>
+Class ProxyXmlStartTag</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>org.dom4j.xpp.ProxyXmlStartTag</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>org.gjt.xpp.XmlStartTag, org.gjt.xpp.XmlTag</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ProxyXmlStartTag</B><DT>extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements org.gjt.xpp.XmlStartTag</DL>
+
+<P>
+<code>ProxyXmlStartTag</code> implements the XPP <code>XmlSmartTag</code>
+ interface while creating a dom4j <code>Element</code> underneath.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>James Strachan, Maarten Coene, Wolfgang Baer</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#ProxyXmlStartTag()">ProxyXmlStartTag</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#ProxyXmlStartTag(org.dom4j.Element)">ProxyXmlStartTag</A></B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ 
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">addAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)</CODE>
+
+<BR>
+          parameters modeled after SAX2 attribute approach</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)">addAttribute</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName,
+             <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+             boolean isNamespaceDeclaration)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#ensureAttributesCapacity(int)">ensureAttributesCapacity</A></B>(int minCapacity)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeCount()">getAttributeCount</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeLocalName(int)">getAttributeLocalName</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeNamespaceUri(int)">getAttributeNamespaceUri</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getAttributePrefix(int)">getAttributePrefix</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeRawName(int)">getAttributeRawName</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeValue(int)">getAttributeValue</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeValueFromName(java.lang.String, java.lang.String)">getAttributeValueFromName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getAttributeValueFromRawName(java.lang.String)">getAttributeValueFromRawName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getDocumentFactory()">getDocumentFactory</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getElement()">getElement</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getNamespaceUri()">getNamespaceUri</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getPrefix()">getPrefix</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#getRawName()">getRawName</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#isAttributeNamespaceDeclaration(int)">isAttributeNamespaceDeclaration</A></B>(int index)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#modifyTag(java.lang.String, java.lang.String, java.lang.String)">modifyTag</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> lName,
+          <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributeByName(java.lang.String, java.lang.String)">removeAttributeByName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributeByRawName(java.lang.String)">removeAttributeByRawName</A></B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName)</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributes()">removeAttributes</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#removeAtttributes()">removeAtttributes</A></B>()</CODE>
+
+<BR>
+          <B>Deprecated.</B> <I>Use <A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributes()"><CODE>removeAttributes()</CODE></A> instead.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#resetStartTag()">resetStartTag</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#resetTag()">resetTag</A></B>()</CODE>
+
+<BR>
+           </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#setDocumentFactory(org.dom4j.DocumentFactory)">setDocumentFactory</A></B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</CODE>
+
+<BR>
+           </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html#ge [...]
+</TR>
+</TABLE>
+ 
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ProxyXmlStartTag()"><!-- --></A><H3>
+ProxyXmlStartTag</H3>
+<PRE>
+public <B>ProxyXmlStartTag</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="ProxyXmlStartTag(org.dom4j.Element)"><!-- --></A><H3>
+ProxyXmlStartTag</H3>
+<PRE>
+public <B>ProxyXmlStartTag</B>(<A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> element)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="resetStartTag()"><!-- --></A><H3>
+resetStartTag</H3>
+<PRE>
+public void <B>resetStartTag</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>resetStartTag</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeCount()"><!-- --></A><H3>
+getAttributeCount</H3>
+<PRE>
+public int <B>getAttributeCount</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAttributeCount</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeNamespaceUri(int)"><!-- --></A><H3>
+getAttributeNamespaceUri</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttributeNamespaceUri</B>(int index)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAttributeNamespaceUri</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeLocalName(int)"><!-- --></A><H3>
+getAttributeLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttributeLocalName</B>(int index)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAttributeLocalName</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributePrefix(int)"><!-- --></A><H3>
+getAttributePrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttributePrefix</B>(int index)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAttributePrefix</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeRawName(int)"><!-- --></A><H3>
+getAttributeRawName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttributeRawName</B>(int index)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAttributeRawName</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeValue(int)"><!-- --></A><H3>
+getAttributeValue</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttributeValue</B>(int index)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAttributeValue</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeValueFromRawName(java.lang.String)"><!-- --></A><H3>
+getAttributeValueFromRawName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttributeValueFromRawName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAttributeValueFromRawName</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeValueFromName(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getAttributeValueFromName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getAttributeValueFromName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAttributeValueFromName</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isAttributeNamespaceDeclaration(int)"><!-- --></A><H3>
+isAttributeNamespaceDeclaration</H3>
+<PRE>
+public boolean <B>isAttributeNamespaceDeclaration</B>(int index)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>isAttributeNamespaceDeclaration</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+addAttribute</H3>
+<PRE>
+public void <B>addAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value)
+                  throws org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD>parameters modeled after SAX2 attribute approach
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>addAttribute</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>namespaceURI</CODE> - DOCUMENT ME!<DD><CODE>localName</CODE> - DOCUMENT ME!<DD><CODE>rawName</CODE> - DOCUMENT ME!<DD><CODE>value</CODE> - DOCUMENT ME!
+<DT><B>Throws:</B>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE> - DOCUMENT ME!</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+addAttribute</H3>
+<PRE>
+public void <B>addAttribute</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> value,
+                         boolean isNamespaceDeclaration)
+                  throws org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>addAttribute</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="ensureAttributesCapacity(int)"><!-- --></A><H3>
+ensureAttributesCapacity</H3>
+<PRE>
+public void <B>ensureAttributesCapacity</B>(int minCapacity)
+                              throws org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>ensureAttributesCapacity</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAtttributes()"><!-- --></A><H3>
+removeAtttributes</H3>
+<PRE>
+public void <B>removeAtttributes</B>()
+                       throws org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>Use <A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html#removeAttributes()"><CODE>removeAttributes()</CODE></A> instead.</I>
+<P>
+<DD>Remove all atributes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttributes()"><!-- --></A><H3>
+removeAttributes</H3>
+<PRE>
+public void <B>removeAttributes</B>()
+                      throws org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>removeAttributes</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getLocalName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getLocalName</CODE> in interface <CODE>org.gjt.xpp.XmlTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamespaceUri()"><!-- --></A><H3>
+getNamespaceUri</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getNamespaceUri</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getNamespaceUri</CODE> in interface <CODE>org.gjt.xpp.XmlTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefix()"><!-- --></A><H3>
+getPrefix</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getPrefix</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getPrefix</CODE> in interface <CODE>org.gjt.xpp.XmlTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRawName()"><!-- --></A><H3>
+getRawName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getRawName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getRawName</CODE> in interface <CODE>org.gjt.xpp.XmlTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="modifyTag(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+modifyTag</H3>
+<PRE>
+public void <B>modifyTag</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> lName,
+                      <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>modifyTag</CODE> in interface <CODE>org.gjt.xpp.XmlTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resetTag()"><!-- --></A><H3>
+resetTag</H3>
+<PRE>
+public void <B>resetTag</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>resetTag</CODE> in interface <CODE>org.gjt.xpp.XmlTag</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttributeByName(java.lang.String, java.lang.String)"><!-- --></A><H3>
+removeAttributeByName</H3>
+<PRE>
+public boolean <B>removeAttributeByName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> namespaceURI,
+                                     <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> localName)
+                              throws org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>removeAttributeByName</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttributeByRawName(java.lang.String)"><!-- --></A><H3>
+removeAttributeByRawName</H3>
+<PRE>
+public boolean <B>removeAttributeByRawName</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> rawName)
+                                 throws org.gjt.xpp.XmlPullParserException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>removeAttributeByRawName</CODE> in interface <CODE>org.gjt.xpp.XmlStartTag</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>org.gjt.xpp.XmlPullParserException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDocumentFactory()"><!-- --></A><H3>
+getDocumentFactory</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>getDocumentFactory</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDocumentFactory(org.dom4j.DocumentFactory)"><!-- --></A><H3>
+setDocumentFactory</H3>
+<PRE>
+public void <B>setDocumentFactory</B>(<A HREF="../../../org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> documentFactory)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getElement()"><!-- --></A><H3>
+getElement</H3>
+<PRE>
+public <A HREF="../../../org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>getElement</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ProxyXmlStartTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS 
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProxyXmlStartTag.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpp/class-use/ProxyXmlStartTag.html b/docs/apidocs/org/dom4j/xpp/class-use/ProxyXmlStartTag.html
new file mode 100644
index 0000000..84f131d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpp/class-use/ProxyXmlStartTag.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Class org.dom4j.xpp.ProxyXmlStartTag (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class org.dom4j.xpp.ProxyXmlStartTag (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProxyXmlStartTag.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>org.dom4j.xpp.ProxyXmlStartTag</B></H2>
+</CENTER>
+No usage of org.dom4j.xpp.ProxyXmlStartTag
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="ProxyXmlStartTag.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpp/package-frame.html b/docs/apidocs/org/dom4j/xpp/package-frame.html
new file mode 100644
index 0000000..2e8664d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpp/package-frame.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.xpp (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.xpp package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../org/dom4j/xpp/package-summary.html" target="classFrame">org.dom4j.xpp</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT> 
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ProxyXmlStartTag.html" title="class in org.dom4j.xpp" target="classFrame">ProxyXmlStartTag</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpp/package-summary.html b/docs/apidocs/org/dom4j/xpp/package-summary.html
new file mode 100644
index 0000000..504c89f
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpp/package-summary.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.xpp (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="org.dom4j.xpp package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.xpp (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/xpath/package-summary.html"><B>PREV PACKAGE</B></A> 
+ NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package org.dom4j.xpp
+</H2>
+Provides implementation classes to cleanly integrate dom4j with the XML Pull Parser
+<a href="http://www.extreme.indiana.edu/soap/xpp/">XPP</a>
+
+<P>
+<B>See:</B>
+<BR>
+          <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp">ProxyXmlStartTag</A></B></TD>
+<TD><code>ProxyXmlStartTag</code> implements the XPP <code>XmlSmartTag</code>
+ interface while creating a dom4j <code>Element</code> underneath.</TD>
+</TR>
+</TABLE>
+ 
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package org.dom4j.xpp Description
+</H2>
+
+<P>
+<p>Provides implementation classes to cleanly integrate dom4j with the XML Pull Parser
+<a href="http://www.extreme.indiana.edu/soap/xpp/">XPP</a>
+</p>
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/xpath/package-summary.html"><B>PREV PACKAGE</B></A> 
+ NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpp/package-tree.html b/docs/apidocs/org/dom4j/xpp/package-tree.html
new file mode 100644
index 0000000..c5a554a
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpp/package-tree.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:21 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+org.dom4j.xpp Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="org.dom4j.xpp Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/xpath/package-tree.html"><B>PREV</B></A> 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package org.dom4j.xpp
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class org.dom4j.xpp.<A HREF="../../../org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp"><B>ProxyXmlStartTag</B></A> (implements org.gjt.xpp.XmlStartTag)
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../org/dom4j/xpath/package-tree.html"><B>PREV</B></A> 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/org/dom4j/xpp/package-use.html b/docs/apidocs/org/dom4j/xpp/package-use.html
new file mode 100644
index 0000000..d85d40d
--- /dev/null
+++ b/docs/apidocs/org/dom4j/xpp/package-use.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:19 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Uses of Package org.dom4j.xpp (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package org.dom4j.xpp (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>org.dom4j.xpp</B></H2>
+</CENTER>
+No usage of org.dom4j.xpp
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/overview-frame.html b/docs/apidocs/overview-frame.html
new file mode 100644
index 0000000..eaa882b
--- /dev/null
+++ b/docs/apidocs/overview-frame.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Overview (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="Overview, dom4j 1.6.1 API">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameTitleFont">
+<B></B></FONT></TD>
+</TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" target="packageFrame">All Classes</A></FONT>
+<P>
+<FONT size="+1" CLASS="FrameHeadingFont">
+Packages</FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/package-frame.html" target="packageFrame">org.dom4j</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/bean/package-frame.html" target="packageFrame">org.dom4j.bean</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/datatype/package-frame.html" target="packageFrame">org.dom4j.datatype</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/dom/package-frame.html" target="packageFrame">org.dom4j.dom</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/dtd/package-frame.html" target="packageFrame">org.dom4j.dtd</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/io/package-frame.html" target="packageFrame">org.dom4j.io</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/jaxb/package-frame.html" target="packageFrame">org.dom4j.jaxb</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/rule/package-frame.html" target="packageFrame">org.dom4j.rule</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/rule/pattern/package-frame.html" target="packageFrame">org.dom4j.rule.pattern</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/swing/package-frame.html" target="packageFrame">org.dom4j.swing</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/tree/package-frame.html" target="packageFrame">org.dom4j.tree</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/util/package-frame.html" target="packageFrame">org.dom4j.util</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/xpath/package-frame.html" target="packageFrame">org.dom4j.xpath</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="org/dom4j/xpp/package-frame.html" target="packageFrame">org.dom4j.xpp</A></FONT>
+<BR>
+</TD>
+</TR>
+</TABLE>
+
+<P>
+ 
+</BODY>
+</HTML>
diff --git a/docs/apidocs/overview-summary.html b/docs/apidocs/overview-summary.html
new file mode 100644
index 0000000..bbff6d2
--- /dev/null
+++ b/docs/apidocs/overview-summary.html
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Overview (dom4j 1.6.1 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="Overview, dom4j 1.6.1 API">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Overview (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+dom4j 1.6.1 API
+</H1>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Core Developer API</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/package-summary.html">org.dom4j</A></B></TD>
+<TD>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/io/package-summary.html">org.dom4j.io</A></B></TD>
+<TD>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text.</TD>
+</TR>
+</TABLE>
+
+<P>
+ 
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Utility classes</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/util/package-summary.html">org.dom4j.util</A></B></TD>
+<TD>A collection of utility classes for the <i>dom4j</i> API.</TD>
+</TR>
+</TABLE>
+
+<P>
+ 
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>XRule engine for declarative XSLT style processing</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/rule/package-summary.html">org.dom4j.rule</A></B></TD>
+<TD>A <A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><CODE>Pattern</CODE></A> based XML rule engine which implements 
+the full XSLT processing model while allowing any <A HREF="org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><CODE>Action</CODE></A>
+to be fired if a pattern matches. 
+</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</A></B></TD>
+<TD> </TD>
+</TR>
+</TABLE>
+
+<P>
+ 
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Alternative dom4j implementations</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/bean/package-summary.html">org.dom4j.bean</A></B></TD>
+<TD>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/datatype/package-summary.html">org.dom4j.datatype</A></B></TD>
+<TD>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/dom/package-summary.html">org.dom4j.dom</A></B></TD>
+<TD>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model.</TD>
+</TR>
+</TABLE>
+
+<P>
+ 
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Swing helper classes</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/swing/package-summary.html">org.dom4j.swing</A></B></TD>
+<TD>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels.</TD>
+</TR>
+</TABLE>
+
+<P>
+ 
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Implementation classes</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/dtd/package-summary.html">org.dom4j.dtd</A></B></TD>
+<TD>Classes to represent the DTD declarations. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/tree/package-summary.html">org.dom4j.tree</A></B></TD>
+<TD>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+  </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/xpath/package-summary.html">org.dom4j.xpath</A></B></TD>
+<TD>Provides the core tools needed to use the XPath library
+</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/xpp/package-summary.html">org.dom4j.xpp</A></B></TD>
+<TD>Provides implementation classes to cleanly integrate dom4j with the XML Pull Parser
+<a href="http://www.extreme.indiana.edu/soap/xpp/">XPP</a>
+</TD>
+</TR>
+</TABLE>
+
+<P>
+ 
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Other Packages</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</A></B></TD>
+<TD> </TD>
+</TR>
+</TABLE>
+
+<P>
+ <HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/overview-tree.html b/docs/apidocs/overview-tree.html
new file mode 100644
index 0000000..a1fa85a
--- /dev/null
+++ b/docs/apidocs/overview-tree.html
@@ -0,0 +1,328 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Class Hierarchy (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Class Hierarchy (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For All Packages</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="org/dom4j/package-tree.html">org.dom4j</A>, <A HREF="org/dom4j/bean/package-tree.html">org.dom4j.bean</A>, <A HREF="org/dom4j/datatype/package-tree.html">org.dom4j.datatype</A>, <A HREF="org/dom4j/dom/package-tree.html">org.dom4j.dom</A>, <A HREF="org/dom4j/dtd/package-tree.html">org.dom4j.dtd</A>, <A HREF="org/dom4j/io/package-tree.html">org.dom4j.io</A>, <A HREF="org/dom4j/jaxb/package-tree.html">org.dom4j.jaxb</A>, <A HREF="org/dom4j/rule/pa [...]
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractCollection.html" title="class or interface in java.util"><B>AbstractCollection</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Collection.html" title="class or interface in java.util">Collection</A>)
+<UL>
+<LI TYPE="circle">class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/AbstractList.html" title="class or interface in java.util"><B>AbstractList</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A>)
+<UL>
+<LI TYPE="circle">class java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html" title="class or interface in java.util"><B>ArrayList</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A>, java.util.<A HREF="http://java.sun.com/j2se/1. [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree"><B>BackedList</B></A></UL>
+<LI TYPE="circle">class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean"><B>BeanAttributeList</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/ContentListFacade.html" title="class in org.dom4j.tree"><B>ContentListFacade</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree"><B>AbstractNode</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>, org.dom4j.<A HREF="org/dom4j/Node.html" title="interface in org.dom4j">Node</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Ser [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree"><B>AbstractAttribute</B></A> (implements org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j">Attribute</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean"><B>BeanAttribute</B></A><LI TYPE="circle">class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype"><B>DatatypeAttribute</B></A> (implements com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.ValidationContext)
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree"><B>FlyweightAttribute</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree"><B>DefaultAttribute</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom"><B>DOMAttribute</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Attr.html" title="class or interface in org.w3c.dom">Attr</A>)
+<LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util"><B>UserDataAttribute</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree"><B>AbstractBranch</B></A> (implements org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree"><B>AbstractDocument</B></A> (implements org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree"><B>DefaultDocument</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom"><B>DOMDocument</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Document.html" title="class or interface in org.w3c.dom">Document</A>)
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree"><B>AbstractElement</B></A> (implements org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree"><B>BaseElement</B></A><UL>
+<LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util"><B>NonLazyElement</B></A></UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree"><B>DefaultElement</B></A><UL>
+<LI TYPE="circle">class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean"><B>BeanElement</B></A><LI TYPE="circle">class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype"><B>DatatypeElement</B></A> (implements com.sun.msv.datatype.SerializationContext, org.relaxng.datatype.ValidationContext)
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom"><B>DOMElement</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Element.html" title="class or interface in org.w3c.dom">Element</A>)
+<LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util"><B>IndexedElement</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util"><B>UserDataElement</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree"><B>AbstractCharacterData</B></A> (implements org.dom4j.<A HREF="org/dom4j/CharacterData.html" title="interface in org.dom4j">CharacterData</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree"><B>AbstractCDATA</B></A> (implements org.dom4j.<A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree"><B>FlyweightCDATA</B></A> (implements org.dom4j.<A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j">CDATA</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree"><B>DefaultCDATA</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom"><B>DOMCDATA</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/CDATASection.html" title="class or interface in org.w3c.dom">CDATASection</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree"><B>AbstractComment</B></A> (implements org.dom4j.<A HREF="org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree"><B>FlyweightComment</B></A> (implements org.dom4j.<A HREF="org/dom4j/Comment.html" title="interface in org.dom4j">Comment</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree"><B>DefaultComment</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom"><B>DOMComment</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Comment.html" title="class or interface in org.w3c.dom">Comment</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree"><B>AbstractText</B></A> (implements org.dom4j.<A HREF="org/dom4j/Text.html" title="interface in org.dom4j">Text</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree"><B>FlyweightText</B></A> (implements org.dom4j.<A HREF="org/dom4j/Text.html" title="interface in org.dom4j">Text</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree"><B>DefaultText</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom"><B>DOMText</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Text.html" title="class or interface in org.w3c.dom">Text</A>)
+</UL>
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree"><B>AbstractDocumentType</B></A> (implements org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree"><B>DefaultDocumentType</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom"><B>DOMDocumentType</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/DocumentType.html" title="class or interface in org.w3c.dom">DocumentType</A>)
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree"><B>AbstractEntity</B></A> (implements org.dom4j.<A HREF="org/dom4j/Entity.html" title="interface in org.dom4j">Entity</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree"><B>FlyweightEntity</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree"><B>DefaultEntity</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom"><B>DOMEntityReference</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/EntityReference.html" title="class or interface in org.w3c.dom">EntityReference</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree"><B>AbstractProcessingInstruction</B></A> (implements org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j">ProcessingInstruction</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree"><B>FlyweightProcessingInstruction</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree"><B>DefaultProcessingInstruction</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom"><B>DOMProcessingInstruction</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/ProcessingInstruction.html" title="class or interface in org.w3c.dom">ProcessingInstruction</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="org/dom4j/Namespace.html" title="class in org.dom4j"><B>Namespace</B></A><UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree"><B>DefaultNamespace</B></A><UL>
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom"><B>DOMNamespace</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/Node.html" title="class or interface in org.w3c.dom">Node</A>)
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html" title="class or interface in javax.swing.table"><B>AbstractTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/TableModel.html" title="class or interface in jav [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing"><B>XMLTableModel</B></A></UL>
+<LI TYPE="circle">class org.dom4j.dtd.<A HREF="org/dom4j/dtd/AttributeDecl.html" title="class in org.dom4j.dtd"><B>AttributeDecl</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/AttributeHelper.html" title="class in org.dom4j.util"><B>AttributeHelper</B></A><LI TYPE="circle">class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanMetaData.html" title="class in org.dom4j.bean"><B>BeanMetaData</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentRea [...]
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/ConcurrentReaderHashMap.Entry.html" title="class in org.dom4j.tree"><B>ConcurrentReaderHashMap.Entry</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.Entry.html" title="class or interface in java.util">Map.Entry</A>)
+<LI TYPE="circle">class org.xml.sax.helpers.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers"><B>DefaultHandler</B></A> (implements org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A>, org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" tit [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/SAXContentHandler.html" title="class in org.dom4j.io"><B>SAXContentHandler</B></A> (implements org.xml.sax.ext.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A>, org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A>, org.xml.sax.ex [...]
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io"><B>SAXEventRecorder</B></A> (implements org.xml.sax.ext.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/DeclHandler.html" title="class or interface in org.xml.sax.ext">DeclHandler</A>, org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title="class or interface in org.xml.sax">DTDHandler</A>, java.io.<A HREF= [...]
+</UL>
+<LI TYPE="circle">class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath"><B>DefaultNamespaceContext</B></A> (implements org.jaxen.NamespaceContext, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<LI TYPE="circle">class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/DefaultPattern.html" title="class in org.dom4j.rule.pattern"><B>DefaultPattern</B></A> (implements org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>)
+<LI TYPE="circle">class javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html" title="class or interface in javax.swing.tree"><B>DefaultTreeModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeModel.html" title="class or interface in javax.swing.t [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing"><B>DocumentTreeModel</B></A></UL>
+<LI TYPE="circle">class org.dom4j.xpath.<A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath"><B>DefaultXPath</B></A> (implements org.dom4j.<A HREF="org/dom4j/NodeFilter.html" title="interface in org.dom4j">NodeFilter</A>, java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A>)
+<LI TYPE="circle">class org.dom4j.<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j"><B>DocumentFactory</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.bean.<A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean"><B>BeanDocumentFactory</B></A><LI TYPE="circle">class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype"><B>DatatypeDocumentFactory</B></A><LI TYPE="circle">class org.dom4j.datatype.<A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype"><B>DatatypeElementFactory</B></A>< [...]
+<LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util"><B>IndexedDocumentFactory</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util"><B>NonLazyDocumentFactory</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util"><B>UserDataDocumentFactory</B></A></UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="org/dom4j/DocumentHelper.html" title="class in org.dom4j"><B>DocumentHelper</B></A><LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMAttributeNodeMap.html" title="class in org.dom4j.dom"><B>DOMAttributeNodeMap</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NamedNodeMap.html" title="class or interface in org.w3c.dom">NamedNodeMap</A>)
+<LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.html" title="class in org.dom4j.dom"><B>DOMNodeHelper</B></A><LI TYPE="circle">class org.dom4j.dom.<A HREF="org/dom4j/dom/DOMNodeHelper.EmptyNodeList.html" title="class in org.dom4j.dom"><B>DOMNodeHelper.EmptyNodeList</B></A> (implements org.w3c.dom.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/w3c/dom/NodeList.html" title="class or interface in org.w3c.dom">NodeList</A>)
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/DOMReader.html" title="class in org.dom4j.io"><B>DOMReader</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/DOMWriter.html" title="class in org.dom4j.io"><B>DOMWriter</B></A><LI TYPE="circle">class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ElementDecl.html" title="class in org.dom4j.dtd"><B>ElementDecl</B></A><LI TYPE="circle">class org.dom4j.dtd.<A HREF="org/dom4j/dtd/ExternalEntityDecl.html" title="class in org.dom4 [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementIterator.html" title="class in org.dom4j.tree"><B>ElementIterator</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementNameIterator.html" title="class in org.dom4j.tree"><B>ElementNameIterator</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/ElementQNameIterator.html" title="class in org.dom4j.tree"><B>ElementQNameIterator</B></A></UL>
+<LI TYPE="circle">class org.dom4j.dtd.<A HREF="org/dom4j/dtd/InternalEntityDecl.html" title="class in org.dom4j.dtd"><B>InternalEntityDecl</B></A><LI TYPE="circle">class org.dom4j.jaxb.JAXBSupport<UL>
+<LI TYPE="circle">class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBModifier.html" title="class in org.dom4j.jaxb"><B>JAXBModifier</B></A><LI TYPE="circle">class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBReader.html" title="class in org.dom4j.jaxb"><B>JAXBReader</B></A><LI TYPE="circle">class org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBWriter.html" title="class in org.dom4j.jaxb"><B>JAXBWriter</B></A></UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="org/dom4j/swing/LeafTreeNode.html" title="class in org.dom4j.swing"><B>LeafTreeNode</B></A> (implements javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/TreeNode.html" title="class or interface in javax.swing.tree">TreeNode</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="org/dom4j/swing/BranchTreeNode.html" title="class in org.dom4j.swing"><B>BranchTreeNode</B></A></UL>
+<LI TYPE="circle">class org.dom4j.rule.<A HREF="org/dom4j/rule/Mode.html" title="class in org.dom4j.rule"><B>Mode</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceCache.html" title="class in org.dom4j.tree"><B>NamespaceCache</B></A><LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/NamespaceStack.html" title="class in org.dom4j.tree"><B>NamespaceStack</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/NodeComparator.html" title [...]
+<LI TYPE="circle">class org.dom4j.rule.pattern.<A HREF="org/dom4j/rule/pattern/NodeTypePattern.html" title="class in org.dom4j.rule.pattern"><B>NodeTypePattern</B></A> (implements org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>)
+<LI TYPE="circle">class org.dom4j.rule.<A HREF="org/dom4j/rule/NullAction.html" title="class in org.dom4j.rule"><B>NullAction</B></A> (implements org.dom4j.rule.<A HREF="org/dom4j/rule/Action.html" title="interface in org.dom4j.rule">Action</A>)
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/OutputFormat.html" title="class in org.dom4j.io"><B>OutputFormat</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang">Cloneable</A>)
+<LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/PerThreadSingleton.html" title="class in org.dom4j.util"><B>PerThreadSingleton</B></A> (implements org.dom4j.util.<A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A>)
+<LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/ProxyDocumentFactory.html" title="class in org.dom4j.util"><B>ProxyDocumentFactory</B></A><LI TYPE="circle">class org.dom4j.xpp.<A HREF="org/dom4j/xpp/ProxyXmlStartTag.html" title="class in org.dom4j.xpp"><B>ProxyXmlStartTag</B></A> (implements org.gjt.xpp.XmlStartTag)
+<LI TYPE="circle">class org.dom4j.<A HREF="org/dom4j/QName.html" title="class in org.dom4j"><B>QName</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/QNameCache.html" title="class in org.dom4j.tree"><B>QNameCache</B></A><LI TYPE="circle">class org.dom4j.rule.<A HREF="org/dom4j/rule/Rule.html" title="class in org.dom4j.rule"><B>Rule</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Comparable.html" title="class or interface in java.lang">Comparable</A>)
+<LI TYPE="circle">class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleManager.html" title="class in org.dom4j.rule"><B>RuleManager</B></A><LI TYPE="circle">class org.dom4j.rule.<A HREF="org/dom4j/rule/RuleSet.html" title="class in org.dom4j.rule"><B>RuleSet</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/SAXModifier.html" title="class in org.dom4j.io"><B>SAXModifier</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j. [...]
+<LI TYPE="circle">class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXResult.html" title="class or interface in javax.xml.transform.sax"><B>SAXResult</B></A> (implements javax.xml.transform.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Result.html" title="class or interface in javax.xml.transform">Result</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/DocumentResult.html" title="class in org.dom4j.io"><B>DocumentResult</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/XMLResult.html" title="class in org.dom4j.io"><B>XMLResult</B></A></UL>
+<LI TYPE="circle">class javax.xml.transform.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/sax/SAXSource.html" title="class or interface in javax.xml.transform.sax"><B>SAXSource</B></A> (implements javax.xml.transform.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/transform/Source.html" title="class or interface in javax.xml.transform">Source</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/DocumentSource.html" title="class in org.dom4j.io"><B>DocumentSource</B></A></UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/SAXValidator.html" title="class in org.dom4j.io"><B>SAXValidator</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/SAXWriter.html" title="class in org.dom4j.io"><B>SAXWriter</B></A> (implements org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/XMLReader.html" title="class or interface in org.xml.sax">XMLReader</A>)
+<LI TYPE="circle">class org.dom4j.datatype.<A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype"><B>SchemaParser</B></A><LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/SimpleSingleton.html" title="class in org.dom4j.util"><B>SimpleSingleton</B></A> (implements org.dom4j.util.<A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util">SingletonStrategy</A>)
+<LI TYPE="circle">class org.dom4j.tree.<A HREF="org/dom4j/tree/SingleIterator.html" title="class in org.dom4j.tree"><B>SingleIterator</B></A> (implements java.util.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Iterator.html" title="class or interface in java.util">Iterator</A>)
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventReader.html" title="class in org.dom4j.io"><B>STAXEventReader</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/STAXEventWriter.html" title="class in org.dom4j.io"><B>STAXEventWriter</B></A><LI TYPE="circle">class org.dom4j.rule.<A HREF="org/dom4j/rule/Stylesheet.html" title="class in org.dom4j.rule"><B>Stylesheet</B></A><LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java [...]
+<UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j"><B>DocumentException</B></A><LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang"><B>RuntimeException</B></A><UL>
+<LI TYPE="circle">class java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang"><B>IllegalArgumentException</B></A><UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j"><B>IllegalAddException</B></A><LI TYPE="circle">class org.dom4j.datatype.<A HREF="org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype"><B>InvalidSchemaException</B></A><LI TYPE="circle">class org.dom4j.<A HREF="org/dom4j/InvalidXPathException.html" title="class in org.dom4j"><B>InvalidXPathException</B></A></UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="org/dom4j/XPathException.html" title="class in org.dom4j"><B>XPathException</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.<A HREF="org/dom4j/VisitorSupport.html" title="class in org.dom4j"><B>VisitorSupport</B></A> (implements org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j">Visitor</A>)
+<LI TYPE="circle">class org.dom4j.util.<A HREF="org/dom4j/util/XMLErrorHandler.html" title="class in org.dom4j.util"><B>XMLErrorHandler</B></A> (implements org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ErrorHandler.html" title="class or interface in org.xml.sax">ErrorHandler</A>)
+<LI TYPE="circle">class org.xml.sax.helpers.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/XMLFilterImpl.html" title="class or interface in org.xml.sax.helpers"><B>XMLFilterImpl</B></A> (implements org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ContentHandler.html" title="class or interface in org.xml.sax">ContentHandler</A>, org.xml.sax.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/DTDHandler.html" title [...]
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/XMLWriter.html" title="class in org.dom4j.io"><B>XMLWriter</B></A> (implements org.xml.sax.ext.<A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/ext/LexicalHandler.html" title="class or interface in org.xml.sax.ext">LexicalHandler</A>)
+<UL>
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/HTMLWriter.html" title="class in org.dom4j.io"><B>HTMLWriter</B></A></UL>
+</UL>
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing"><B>XMLTableColumnDefinition</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>)
+<LI TYPE="circle">class org.dom4j.swing.<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing"><B>XMLTableDefinition</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, org.jaxen.VariableContext)
+<LI TYPE="circle">class org.dom4j.xpath.<A HREF="org/dom4j/xpath/XPathPattern.html" title="class in org.dom4j.xpath"><B>XPathPattern</B></A> (implements org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule">Pattern</A>)
+<LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/XPP3Reader.html" title="class in org.dom4j.io"><B>XPP3Reader</B></A><LI TYPE="circle">class org.dom4j.io.<A HREF="org/dom4j/io/XPPReader.html" title="class in org.dom4j.io"><B>XPPReader</B></A></UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface org.dom4j.rule.<A HREF="org/dom4j/rule/Action.html" title="interface in org.dom4j.rule"><B>Action</B></A><LI TYPE="circle">interface java.lang.<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Cloneable.html" title="class or interface in java.lang"><B>Cloneable</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><B>Attribute</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j"><B>Branch</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><B>Document</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><B>Element</B></A></UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j"><B>CDATA</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/CharacterData.html" title="interface in org.dom4j"><B>CharacterData</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j"><B>CDATA</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Comment.html" title="interface in org.dom4j"><B>Comment</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Text.html" title="interface in org.dom4j"><B>Text</B></A></UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Comment.html" title="interface in org.dom4j"><B>Comment</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><B>Document</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j"><B>DocumentType</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><B>Element</B></A> [...]
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Attribute.html" title="interface in org.dom4j"><B>Attribute</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j"><B>Branch</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><B>Document</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><B>Element</B></A></UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j"><B>CDATA</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/CharacterData.html" title="interface in org.dom4j"><B>CharacterData</B></A><UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/CDATA.html" title="interface in org.dom4j"><B>CDATA</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Comment.html" title="interface in org.dom4j"><B>Comment</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Text.html" title="interface in org.dom4j"><B>Text</B></A></UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Comment.html" title="interface in org.dom4j"><B>Comment</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Document.html" title="interface in org.dom4j"><B>Document</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j"><B>DocumentType</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Element.html" title="interface in org.dom4j"><B>Element</B></A> [...]
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/ProcessingInstruction.html" title="interface in org.dom4j"><B>ProcessingInstruction</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Text.html" title="interface in org.dom4j"><B>Text</B></A></UL>
+<LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/ElementHandler.html" title="interface in org.dom4j"><B>ElementHandler</B></A><LI TYPE="circle">interface org.dom4j.io.<A HREF="org/dom4j/io/ElementModifier.html" title="interface in org.dom4j.io"><B>ElementModifier</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/ElementPath.html" title="interface in org.dom4j"><B>ElementPath</B></A><LI TYPE="circle">interface org.dom4j.jaxb.<A HREF="org/dom4j/jaxb/JAXBObjectHandler. [...]
+<LI TYPE="circle">interface org.dom4j.rule.<A HREF="org/dom4j/rule/Pattern.html" title="interface in org.dom4j.rule"><B>Pattern</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j"><B>XPath</B></A></UL>
+<LI TYPE="circle">interface org.dom4j.util.<A HREF="org/dom4j/util/SingletonStrategy.html" title="interface in org.dom4j.util"><B>SingletonStrategy</B></A><LI TYPE="circle">interface org.dom4j.<A HREF="org/dom4j/Visitor.html" title="interface in org.dom4j"><B>Visitor</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">  <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/package-list b/docs/apidocs/package-list
new file mode 100644
index 0000000..41fa851
--- /dev/null
+++ b/docs/apidocs/package-list
@@ -0,0 +1,14 @@
+org.dom4j
+org.dom4j.bean
+org.dom4j.datatype
+org.dom4j.dom
+org.dom4j.dtd
+org.dom4j.io
+org.dom4j.jaxb
+org.dom4j.rule
+org.dom4j.rule.pattern
+org.dom4j.swing
+org.dom4j.tree
+org.dom4j.util
+org.dom4j.xpath
+org.dom4j.xpp
diff --git a/docs/apidocs/packages.html b/docs/apidocs/packages.html
new file mode 100644
index 0000000..21ea66b
--- /dev/null
+++ b/docs/apidocs/packages.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:20 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+ (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title=" (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+<BR>
+
+<BR>
+
+<BR>
+<CENTER>
+The front page has been relocated.Please see:
+<BR>
+          <A HREF="index.html">Frame version</A>
+<BR>
+          <A HREF="overview-summary.html">Non-frame version.</A></CENTER>
+
+</BODY>
+</HTML>
diff --git a/docs/apidocs/resources/inherit.gif b/docs/apidocs/resources/inherit.gif
new file mode 100644
index 0000000..c814867
Binary files /dev/null and b/docs/apidocs/resources/inherit.gif differ
diff --git a/docs/apidocs/serialized-form.html b/docs/apidocs/serialized-form.html
new file mode 100644
index 0000000..e09080d
--- /dev/null
+++ b/docs/apidocs/serialized-form.html
@@ -0,0 +1,2377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_02) on Mon May 16 14:23:27 GMT+01:00 2005 -->
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<TITLE>
+Serialized Form (dom4j 1.6.1 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Serialized Form (dom4j 1.6.1 API)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Serialized Form</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.dom4j</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.dom4j.DocumentException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/DocumentException.html" title="class in org.dom4j">org.dom4j.DocumentException</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Exception.html" title="class or interface in java.lang">Exception</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+nestedException</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Throwable.html" title="class or interface in java.lang">Throwable</A> <B>nestedException</B></PRE>
+<DL>
+<DD>A wrapped <code>Throwable</code>
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.DocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">org.dom4j.DocumentFactory</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serialized_methods"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialization Methods</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3>
+readObject</H3>
+<PRE>
+private void <B>readObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectInputStream.html" title="class or interface in java.io">ObjectInputStream</A> in)
+                 throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
+<DL>
+</DL>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+xpathNamespaceURIs</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>xpathNamespaceURIs</B></PRE>
+<DL>
+<DD>Default namespace prefix -> URI mappings for XPath expressions to use
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.IllegalAddException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/IllegalAddException.html" title="class in org.dom4j">org.dom4j.IllegalAddException</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.InvalidXPathException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/InvalidXPathException.html" title="class in org.dom4j">org.dom4j.InvalidXPathException</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<B>serialVersionUID: </B>3257009869058881592l
+
+<P>
+
+<P>
+<A NAME="org.dom4j.Namespace"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">org.dom4j.Namespace</A> extends <A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+prefix</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>prefix</B></PRE>
+<DL>
+<DD>The prefix mapped to this namespace
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+uri</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>uri</B></PRE>
+<DL>
+<DD>The URI for this namespace
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+hashCode</H3>
+<PRE>
+int <B>hashCode</B></PRE>
+<DL>
+<DD>A cached version of the hashcode for efficiency
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.QName"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/QName.html" title="class in org.dom4j">org.dom4j.QName</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serialized_methods"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialization Methods</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<A NAME="readObject(java.io.ObjectInputStream)"><!-- --></A><H3>
+readObject</H3>
+<PRE>
+private void <B>readObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectInputStream.html" title="class or interface in java.io">ObjectInputStream</A> in)
+                 throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>,
+                        <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="writeObject(java.io.ObjectOutputStream)"><!-- --></A><H3>
+writeObject</H3>
+<PRE>
+private void <B>writeObject</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectOutputStream.html" title="class or interface in java.io">ObjectOutputStream</A> out)
+                  throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+</DL>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+name</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>name</B></PRE>
+<DL>
+<DD>The local name of the element or attribute
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+qualifiedName</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>qualifiedName</B></PRE>
+<DL>
+<DD>The qualified name of the element or attribute
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+hashCode</H3>
+<PRE>
+int <B>hashCode</B></PRE>
+<DL>
+<DD>A cached version of the hashcode for efficiency
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+documentFactory</H3>
+<PRE>
+<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>documentFactory</B></PRE>
+<DL>
+<DD>The document factory used for this QName if specified or null
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.XPathException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/XPathException.html" title="class in org.dom4j">org.dom4j.XPathException</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang">RuntimeException</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+xpath</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>xpath</B></PRE>
+<DL>
+<DD>The XPath expression that caused the exception
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.dom4j.bean</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.dom4j.bean.BeanAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/bean/BeanAttribute.html" title="class in org.dom4j.bean">org.dom4j.bean.BeanAttribute</A> extends <A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+beanList</H3>
+<PRE>
+<A HREF="org/dom4j/bean/BeanAttributeList.html" title="class in org.dom4j.bean">BeanAttributeList</A> <B>beanList</B></PRE>
+<DL>
+<DD>The list of Bean attributes
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+index</H3>
+<PRE>
+int <B>index</B></PRE>
+<DL>
+<DD>The index in the Bean attribute list
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.bean.BeanDocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/bean/BeanDocumentFactory.html" title="class in org.dom4j.bean">org.dom4j.bean.BeanDocumentFactory</A> extends <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.bean.BeanElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/bean/BeanElement.html" title="class in org.dom4j.bean">org.dom4j.bean.BeanElement</A> extends <A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+bean</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>bean</B></PRE>
+<DL>
+<DD>The JavaBean which defines my attributes
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.dom4j.datatype</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.dom4j.datatype.DatatypeAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/datatype/DatatypeAttribute.html" title="class in org.dom4j.datatype">org.dom4j.datatype.DatatypeAttribute</A> extends <A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+parent</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>parent</B></PRE>
+<DL>
+<DD>The parent <code>Element</code> of the <code>Attribute</code>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+qname</H3>
+<PRE>
+<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>qname</B></PRE>
+<DL>
+<DD>The <code>QName</code> for this element
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+datatype</H3>
+<PRE>
+com.sun.msv.datatype.xsd.XSDatatype <B>datatype</B></PRE>
+<DL>
+<DD>The <code>XSDatatype</code> of the <code>Attribute</code>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+data</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>data</B></PRE>
+<DL>
+<DD>The data (Object) value of the <code>Attribute</code>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+text</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>The text value of the <code>Attribute</code>
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.datatype.DatatypeDocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/datatype/DatatypeDocumentFactory.html" title="class in org.dom4j.datatype">org.dom4j.datatype.DatatypeDocumentFactory</A> extends <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+schemaBuilder</H3>
+<PRE>
+<A HREF="org/dom4j/datatype/SchemaParser.html" title="class in org.dom4j.datatype">SchemaParser</A> <B>schemaBuilder</B></PRE>
+<DL>
+<DD>The builder of XML Schemas
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+xmlSchemaReader</H3>
+<PRE>
+<A HREF="org/dom4j/io/SAXReader.html" title="class in org.dom4j.io">SAXReader</A> <B>xmlSchemaReader</B></PRE>
+<DL>
+<DD>reader of XML Schemas
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+autoLoadSchema</H3>
+<PRE>
+boolean <B>autoLoadSchema</B></PRE>
+<DL>
+<DD>If schemas are automatically loaded when parsing instance documents
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.datatype.DatatypeElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/datatype/DatatypeElement.html" title="class in org.dom4j.datatype">org.dom4j.datatype.DatatypeElement</A> extends <A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+datatype</H3>
+<PRE>
+com.sun.msv.datatype.xsd.XSDatatype <B>datatype</B></PRE>
+<DL>
+<DD>The <code>XSDatatype</code> of the <code>Attribute</code>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+data</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>data</B></PRE>
+<DL>
+<DD>The data (Object) value of the <code>Attribute</code>
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.datatype.DatatypeElementFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/datatype/DatatypeElementFactory.html" title="class in org.dom4j.datatype">org.dom4j.datatype.DatatypeElementFactory</A> extends <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+elementQName</H3>
+<PRE>
+<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>elementQName</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+attributeXSDatatypes</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>attributeXSDatatypes</B></PRE>
+<DL>
+<DD>Cache of <code>XSDatatype</code> instances per Attribute
+ <code>QName</code>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+childrenXSDatatypes</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>childrenXSDatatypes</B></PRE>
+<DL>
+<DD>Cache of <code>XSDatatype</code> instances per child Element
+ <code>QName</code>
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.datatype.InvalidSchemaException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/datatype/InvalidSchemaException.html" title="class in org.dom4j.datatype">org.dom4j.datatype.InvalidSchemaException</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.dom4j.dom</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.dom4j.dom.DOMAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMAttribute.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMAttribute</A> extends <A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMCDATA.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMCDATA</A> extends <A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">DefaultCDATA</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMComment.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMComment</A> extends <A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">DefaultComment</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMDocument"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMDocument.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMDocument</A> extends <A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">DefaultDocument</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMDocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMDocumentFactory.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMDocumentFactory</A> extends <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMDocumentType"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMDocumentType.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMDocumentType</A> extends <A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">DefaultDocumentType</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMElement.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMElement</A> extends <A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMEntityReference"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMEntityReference.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMEntityReference</A> extends <A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">DefaultEntity</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMNamespace"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMNamespace.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMNamespace</A> extends <A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">DefaultNamespace</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMProcessingInstruction.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMProcessingInstruction</A> extends <A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">DefaultProcessingInstruction</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.dom.DOMText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/dom/DOMText.html" title="class in org.dom4j.dom">org.dom4j.dom.DOMText</A> extends <A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">DefaultText</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.dom4j.io</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.dom4j.io.SAXEventRecorder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/io/SAXEventRecorder.html" title="class in org.dom4j.io">org.dom4j.io.SAXEventRecorder</A> extends <A HREF="http://java.sun.com/xml/jaxp/dist/1.1/docs/api/org/xml/sax/helpers/DefaultHandler.html" title="class or interface in org.xml.sax.helpers">DefaultHandler</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<B>serialVersionUID: </B>1l
+
+<P>
+<A NAME="serialized_methods"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialization Methods</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<A NAME="readExternal(java.io.ObjectInput)"><!-- --></A><H3>
+readExternal</H3>
+<PRE>
+public void <B>readExternal</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectInput.html" title="class or interface in java.io">ObjectInput</A> in)
+                  throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/ClassNotFoundException.html" title="class or interface in java.lang">ClassNotFoundException</A>,
+                         <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="writeExternal(java.io.ObjectOutput)"><!-- --></A><H3>
+writeExternal</H3>
+<PRE>
+public void <B>writeExternal</B>(<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/ObjectOutput.html" title="class or interface in java.io">ObjectOutput</A> out)
+                   throws <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.io.SAXReader.SAXEntityResolver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/io/SAXReader.SAXEntityResolver.html" title="class in org.dom4j.io">org.dom4j.io.SAXReader.SAXEntityResolver</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+uriPrefix</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>uriPrefix</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.dom4j.swing</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.dom4j.swing.DocumentTreeModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/swing/DocumentTreeModel.html" title="class in org.dom4j.swing">org.dom4j.swing.DocumentTreeModel</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/tree/DefaultTreeModel.html" title="class or interface in javax.swing.tree">DefaultTreeModel</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+document</H3>
+<PRE>
+<A HREF="org/dom4j/Document.html" title="interface in org.dom4j">Document</A> <B>document</B></PRE>
+<DL>
+<DD>The document for this model
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.swing.XMLTableColumnDefinition"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">org.dom4j.swing.XMLTableColumnDefinition</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+type</H3>
+<PRE>
+int <B>type</B></PRE>
+<DL>
+<DD>Holds value of property type.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+name</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>name</B></PRE>
+<DL>
+<DD>Holds value of property name.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+xpath</H3>
+<PRE>
+<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>xpath</B></PRE>
+<DL>
+<DD>Holds value of property xpath.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+columnNameXPath</H3>
+<PRE>
+<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>columnNameXPath</B></PRE>
+<DL>
+<DD>Holds the XPath used for the column name
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.swing.XMLTableDefinition"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">org.dom4j.swing.XMLTableDefinition</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+rowXPath</H3>
+<PRE>
+<A HREF="org/dom4j/XPath.html" title="interface in org.dom4j">XPath</A> <B>rowXPath</B></PRE>
+<DL>
+<DD>Holds value of property rowXPath.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+columns</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>columns</B></PRE>
+<DL>
+<DD>The columns to display in this table
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+columnArray</H3>
+<PRE>
+<A HREF="org/dom4j/swing/XMLTableColumnDefinition.html" title="class in org.dom4j.swing">XMLTableColumnDefinition</A>[] <B>columnArray</B></PRE>
+<DL>
+<DD>integer index array cache
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+columnNameIndex</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>columnNameIndex</B></PRE>
+<DL>
+<DD>name index cache
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+variableContext</H3>
+<PRE>
+org.jaxen.VariableContext <B>variableContext</B></PRE>
+<DL>
+<DD>for cross-row variables
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+rowValue</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>rowValue</B></PRE>
+<DL>
+<DD>stores the current row value for the variableContext
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.swing.XMLTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/swing/XMLTableModel.html" title="class in org.dom4j.swing">org.dom4j.swing.XMLTableModel</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/javax/swing/table/AbstractTableModel.html" title="class or interface in javax.swing.table">AbstractTableModel</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+definition</H3>
+<PRE>
+<A HREF="org/dom4j/swing/XMLTableDefinition.html" title="class in org.dom4j.swing">XMLTableDefinition</A> <B>definition</B></PRE>
+<DL>
+<DD>Holds value of property definition.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+source</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>source</B></PRE>
+<DL>
+<DD>Holds value of property source.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+rows</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>rows</B></PRE>
+<DL>
+<DD>The rows evaluated from the row XPath expression
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.dom4j.tree</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractAttribute</A> extends <A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractBranch"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractBranch</A> extends <A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCDATA</A> extends <A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractCharacterData"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractCharacterData</A> extends <A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractComment</A> extends <A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractDocument"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractDocument</A> extends <A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+encoding</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>encoding</B></PRE>
+<DL>
+<DD>The encoding of this document as stated in the XML declaration
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractDocumentType"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractDocumentType</A> extends <A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractElement</A> extends <A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractEntity</A> extends <A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractNode"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractNode</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractProcessingInstruction</A> extends <A HREF="org/dom4j/tree/AbstractNode.html" title="class in org.dom4j.tree">AbstractNode</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.AbstractText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">org.dom4j.tree.AbstractText</A> extends <A HREF="org/dom4j/tree/AbstractCharacterData.html" title="class in org.dom4j.tree">AbstractCharacterData</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.BackedList"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/BackedList.html" title="class in org.dom4j.tree">org.dom4j.tree.BackedList</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/ArrayList.html" title="class or interface in java.util">ArrayList</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+branchContent</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>branchContent</B></PRE>
+<DL>
+<DD>The content of the Branch which is modified if I am modified
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+branch</H3>
+<PRE>
+<A HREF="org/dom4j/tree/AbstractBranch.html" title="class in org.dom4j.tree">AbstractBranch</A> <B>branch</B></PRE>
+<DL>
+<DD>The <code>AbstractBranch</code> instance which owns the content
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.BaseElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">org.dom4j.tree.BaseElement</A> extends <A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+qname</H3>
+<PRE>
+<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>qname</B></PRE>
+<DL>
+<DD>The <code>QName</code> for this element
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+parentBranch</H3>
+<PRE>
+<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> <B>parentBranch</B></PRE>
+<DL>
+<DD>Stores the parent branch of this node which is either a Document if this
+ element is the root element in a document, or another Element if it is a
+ child of the root document, or null if it has not been added to a
+ document yet.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+content</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>content</B></PRE>
+<DL>
+<DD>List of content nodes.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+attributes</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>attributes</B></PRE>
+<DL>
+<DD>list of attributes
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.ConcurrentReaderHashMap.BarrierLock"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/ConcurrentReaderHashMap.BarrierLock.html" title="class in org.dom4j.tree">org.dom4j.tree.ConcurrentReaderHashMap.BarrierLock</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultAttribute</A> extends <A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">FlyweightAttribute</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+parent</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>parent</B></PRE>
+<DL>
+<DD>The parent of this node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultCDATA.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultCDATA</A> extends <A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">FlyweightCDATA</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+parent</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>parent</B></PRE>
+<DL>
+<DD>The parent of this node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultComment.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultComment</A> extends <A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">FlyweightComment</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+parent</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>parent</B></PRE>
+<DL>
+<DD>The parent of this node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultDocument"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultDocument.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultDocument</A> extends <A HREF="org/dom4j/tree/AbstractDocument.html" title="class in org.dom4j.tree">AbstractDocument</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+name</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>name</B></PRE>
+<DL>
+<DD>The name of the document
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+rootElement</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>rootElement</B></PRE>
+<DL>
+<DD>The root element of this document
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+content</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>content</B></PRE>
+<DL>
+<DD>Store the contents of the document as a lazily created <code>List</code>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+docType</H3>
+<PRE>
+<A HREF="org/dom4j/DocumentType.html" title="interface in org.dom4j">DocumentType</A> <B>docType</B></PRE>
+<DL>
+<DD>The document type for this document
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+documentFactory</H3>
+<PRE>
+<A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> <B>documentFactory</B></PRE>
+<DL>
+<DD>The document factory used by default
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultDocumentType"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultDocumentType.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultDocumentType</A> extends <A HREF="org/dom4j/tree/AbstractDocumentType.html" title="class in org.dom4j.tree">AbstractDocumentType</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+elementName</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>elementName</B></PRE>
+<DL>
+<DD>The root element name of the document typ
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+publicID</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>publicID</B></PRE>
+<DL>
+<DD>Holds value of property publicID.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+systemID</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>systemID</B></PRE>
+<DL>
+<DD>Holds value of property systemID.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+internalDeclarations</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>internalDeclarations</B></PRE>
+<DL>
+<DD>The internal DTD declarations
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+externalDeclarations</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/List.html" title="class or interface in java.util">List</A> <B>externalDeclarations</B></PRE>
+<DL>
+<DD>The external DTD declarations
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultElement</A> extends <A HREF="org/dom4j/tree/AbstractElement.html" title="class in org.dom4j.tree">AbstractElement</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+qname</H3>
+<PRE>
+<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>qname</B></PRE>
+<DL>
+<DD>The <code>QName</code> for this element
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+parentBranch</H3>
+<PRE>
+<A HREF="org/dom4j/Branch.html" title="interface in org.dom4j">Branch</A> <B>parentBranch</B></PRE>
+<DL>
+<DD>Stores the parent branch of this node which is either a Document if this
+ element is the root element in a document, or another Element if it is a
+ child of the root document, or null if it has not been added to a
+ document yet.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+content</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>content</B></PRE>
+<DL>
+<DD>Stores null for no content, a Node for a single content node or a List
+ for multiple content nodes. The List will be lazily constructed when
+ required.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+attributes</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>attributes</B></PRE>
+<DL>
+<DD>Lazily constructes list of attributes
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultEntity.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultEntity</A> extends <A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">FlyweightEntity</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+parent</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>parent</B></PRE>
+<DL>
+<DD>The parent of this node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultNamespace"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultNamespace.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultNamespace</A> extends <A HREF="org/dom4j/Namespace.html" title="class in org.dom4j">Namespace</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+parent</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>parent</B></PRE>
+<DL>
+<DD>The parent of this node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultProcessingInstruction.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultProcessingInstruction</A> extends <A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">FlyweightProcessingInstruction</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+parent</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>parent</B></PRE>
+<DL>
+<DD>The parent of this node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.DefaultText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/DefaultText.html" title="class in org.dom4j.tree">org.dom4j.tree.DefaultText</A> extends <A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">FlyweightText</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+parent</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>parent</B></PRE>
+<DL>
+<DD>The parent of this node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.FlyweightAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/FlyweightAttribute.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightAttribute</A> extends <A HREF="org/dom4j/tree/AbstractAttribute.html" title="class in org.dom4j.tree">AbstractAttribute</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+qname</H3>
+<PRE>
+<A HREF="org/dom4j/QName.html" title="class in org.dom4j">QName</A> <B>qname</B></PRE>
+<DL>
+<DD>The <code>QName</code> for this element
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+value</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>value</B></PRE>
+<DL>
+<DD>The value of the <code>Attribute</code>
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.FlyweightCDATA"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/FlyweightCDATA.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightCDATA</A> extends <A HREF="org/dom4j/tree/AbstractCDATA.html" title="class in org.dom4j.tree">AbstractCDATA</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+text</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>Text of the <code>CDATA</code> node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.FlyweightComment"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/FlyweightComment.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightComment</A> extends <A HREF="org/dom4j/tree/AbstractComment.html" title="class in org.dom4j.tree">AbstractComment</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+text</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>Text of the <code>Comment</code> node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.FlyweightEntity"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/FlyweightEntity.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightEntity</A> extends <A HREF="org/dom4j/tree/AbstractEntity.html" title="class in org.dom4j.tree">AbstractEntity</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+name</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>name</B></PRE>
+<DL>
+<DD>The name of the <code>Entity</code>
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+text</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>The text of the <code>Entity</code>
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.FlyweightProcessingInstruction"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/FlyweightProcessingInstruction.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightProcessingInstruction</A> extends <A HREF="org/dom4j/tree/AbstractProcessingInstruction.html" title="class in org.dom4j.tree">AbstractProcessingInstruction</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+target</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>target</B></PRE>
+<DL>
+<DD>The target of the PI
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+text</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>The values for the PI as a String
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+values</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>values</B></PRE>
+<DL>
+<DD>The values for the PI in name/value pairs
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.tree.FlyweightText"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/tree/FlyweightText.html" title="class in org.dom4j.tree">org.dom4j.tree.FlyweightText</A> extends <A HREF="org/dom4j/tree/AbstractText.html" title="class in org.dom4j.tree">AbstractText</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+text</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DD>Text of the <code>Text</code> node
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.dom4j.util</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.dom4j.util.IndexedDocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/util/IndexedDocumentFactory.html" title="class in org.dom4j.util">org.dom4j.util.IndexedDocumentFactory</A> extends <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.util.IndexedElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/util/IndexedElement.html" title="class in org.dom4j.util">org.dom4j.util.IndexedElement</A> extends <A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+elementIndex</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>elementIndex</B></PRE>
+<DL>
+<DD>Lazily constructed index for elements
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+attributeIndex</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/util/Map.html" title="class or interface in java.util">Map</A> <B>attributeIndex</B></PRE>
+<DL>
+<DD>Lazily constructed index for attributes
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.util.NonLazyDocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/util/NonLazyDocumentFactory.html" title="class in org.dom4j.util">org.dom4j.util.NonLazyDocumentFactory</A> extends <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.util.NonLazyElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/util/NonLazyElement.html" title="class in org.dom4j.util">org.dom4j.util.NonLazyElement</A> extends <A HREF="org/dom4j/tree/BaseElement.html" title="class in org.dom4j.tree">BaseElement</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.util.UserDataAttribute"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/util/UserDataAttribute.html" title="class in org.dom4j.util">org.dom4j.util.UserDataAttribute</A> extends <A HREF="org/dom4j/tree/DefaultAttribute.html" title="class in org.dom4j.tree">DefaultAttribute</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+data</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>data</B></PRE>
+<DL>
+<DD>The user data object
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.util.UserDataDocumentFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/util/UserDataDocumentFactory.html" title="class in org.dom4j.util">org.dom4j.util.UserDataDocumentFactory</A> extends <A HREF="org/dom4j/DocumentFactory.html" title="class in org.dom4j">DocumentFactory</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="org.dom4j.util.UserDataElement"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/util/UserDataElement.html" title="class in org.dom4j.util">org.dom4j.util.UserDataElement</A> extends <A HREF="org/dom4j/tree/DefaultElement.html" title="class in org.dom4j.tree">DefaultElement</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+data</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> <B>data</B></PRE>
+<DL>
+<DD>The user data object
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>org.dom4j.xpath</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="org.dom4j.xpath.DefaultNamespaceContext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/xpath/DefaultNamespaceContext.html" title="class in org.dom4j.xpath">org.dom4j.xpath.DefaultNamespaceContext</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+element</H3>
+<PRE>
+<A HREF="org/dom4j/Element.html" title="interface in org.dom4j">Element</A> <B>element</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="org.dom4j.xpath.DefaultXPath"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="org/dom4j/xpath/DefaultXPath.html" title="class in org.dom4j.xpath">org.dom4j.xpath.DefaultXPath</A> extends <A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+text</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>text</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+xpath</H3>
+<PRE>
+org.jaxen.XPath <B>xpath</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+namespaceContext</H3>
+<PRE>
+org.jaxen.NamespaceContext <B>namespaceContext</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV 
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>   
+ <A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>   
+ <SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/docs/apidocs/stylesheet.css b/docs/apidocs/stylesheet.css
new file mode 100644
index 0000000..abaad90
--- /dev/null
+++ b/docs/apidocs/stylesheet.css
@@ -0,0 +1,45 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults  */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+a:link, a:visited {
+ color: blue;
+ }
+
+a:active, a:hover, #leftcol a:active, #leftcol a:hover {
+ color: #f30 !important;
+ }
+
+a:link.selfref, a:visited.selfref {
+ color: #555 !important;
+ }
+
+.a td {
+ background: #ddd;
+ color: #000;
+ }
+
+/* Table colors */
+.TableHeadingColor     { background: #036; color:#FFFFFF } /* Dark blue */
+.TableSubHeadingColor  { background: #bbb; color:#fff } /* Dark grey */
+.TableRowColor         { background: #efefef } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont   { font-size: normal; font-family: normal; color:#000000 }
+.FrameHeadingFont { font-size: normal; font-family: normal; color:#000000 }
+.FrameItemFont    { font-size: normal; font-family: normal; color:#000000 }
+
+/* Example of smaller, sans-serif font in frames */
+/* .FrameItemFont  { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
+
+/* Navigation bar fonts and colors */
+.NavBarCell1    { background-color:#ddd;}/* Light mauve */
+.NavBarCell1Rev { background-color:#888;}/* Dark Blue */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
diff --git a/docs/benchmarks/xpath/PerfDOM4J.java b/docs/benchmarks/xpath/PerfDOM4J.java
new file mode 100644
index 0000000..f916982
--- /dev/null
+++ b/docs/benchmarks/xpath/PerfDOM4J.java
@@ -0,0 +1,260 @@
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.List;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+import org.dom4j.io.DOMWriter;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+
+public class PerfDOM4J {
+
+    public static void main(String args[]) {
+        Document doc;
+
+        try {
+            int numrec = 1;
+
+            numrec = 10000;
+            System.out.println("\n10000 Elements ------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 1);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            // PerfDOM4J.parse(numrec,1);
+            // PerfDOM4J.transform(doc,"item.xslt",1);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x1", 1);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x5000", 1);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x9999", 1);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 1);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x5000", 1);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x9999", 1);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 3);
+
+            numrec = 1000;
+            System.out.println("\n1000 Elements -------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 1);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            PerfDOM4J.parse(numrec, 3);
+            PerfDOM4J.transform(doc, "item.xslt", 3);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x1", 3);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x500", 3);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x999", 3);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 3);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x500", 3);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x999", 3);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 10);
+
+            numrec = 100;
+            System.out.println("\n100 Elements --------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 10);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            PerfDOM4J.parse(numrec, 10);
+            PerfDOM4J.transform(doc, "item.xslt", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x1", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x50", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x99", 10);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 10);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x50", 10);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x99", 10);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 10;
+            System.out.println("\n10 Elements ---------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 100);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            PerfDOM4J.parse(numrec, 100);
+            PerfDOM4J.transform(doc, "item.xslt", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x5", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x5", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x9", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 1000);
+
+            numrec = 1;
+            System.out.println("\n1 Element -----------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 100);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            PerfDOM4J.parse(numrec, 100);
+            PerfDOM4J.transform(doc, "item.xslt", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x1", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 1000);
+
+        } catch (IOException ie) {
+            ie.printStackTrace();
+        }
+    }
+
+    public static Document createDocument(int iNumRecs, int iNumFlds, int pp) {
+
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int kk = 0; kk < pp; kk++) {
+            document = DocumentHelper.createDocument();
+
+            Element root = document.addElement("ItemResultSet");
+            for (int ii = 0; ii < iNumRecs; ii++) {
+
+                Element Record = root.addElement("Item");
+                for (int jj = 0; jj < iNumFlds; jj++) {
+                    Record.addElement("Attr" + jj + "x" + ii).addText(
+                            "123456789");
+                }
+
+            }
+        }
+        double end = System.currentTimeMillis();
+
+        System.err.println("Creation time  			:  " + (end - start) / pp);
+
+        return document;
+    }
+
+    public static Document parse(int iNumRecs, int kk) {
+
+        File file = new File("dom4j_" + iNumRecs + ".xml");
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int pp = 0; pp < kk; pp++) {
+            try {
+                SAXReader SAXrd = new SAXReader();
+                SAXrd.read(file);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        double end = System.currentTimeMillis();
+
+        System.err.println("Parsing time for 		:" + 1.000 * (end - start) / kk);
+
+        return document;
+    }
+
+    public static void createW3CDOM(Document doc) {
+
+        long start = System.currentTimeMillis();
+        try {
+            DOMWriter dw = new DOMWriter();
+            dw.write(doc);
+
+        } catch (Exception de) {
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C Creation time for 		:" + (end - start));
+    }
+
+    public static void write(Document document, String name) throws IOException {
+
+        long start = System.currentTimeMillis();
+        // lets write to a file
+
+        try {
+            OutputFormat format = OutputFormat.createPrettyPrint();
+            XMLWriter writer = new XMLWriter(new FileWriter(name), format);
+            writer.write(document);
+            writer.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("DOM4J File write time 		:" + (end - start) + "  "
+                + name);
+    }
+
+    public static void transform(Document xmlDoc, String xslFile, int kk) {
+
+        System.err.println("DOM4J start transform ");
+        int ii = 1;
+        try {
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer transformer = factory.newTransformer(new StreamSource(
+                    xslFile));
+
+            long start = System.currentTimeMillis();
+            for (ii = 0; ii < kk; ii++) {
+                Source source = new DocumentSource(xmlDoc);
+                DocumentResult result = new DocumentResult();
+                transformer.transform(source, result);
+
+                // output the transformed document
+            }
+            long end = System.currentTimeMillis();
+
+            System.err
+                    .println("DOM4J transform  time 		:" + (end - start) / ii);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public static void xpath(Document document, String xpathExp, int kk) {
+
+        long start = System.currentTimeMillis();
+        XPath xpath = document.createXPath(xpathExp);
+        for (int ii = 0; ii < kk; ii++) {
+            Node node = xpath.selectSingleNode(document);
+
+            if ((node != null) & (ii == 0)) {
+                String val = node.getStringValue();
+                // System.out.println(val);
+            }
+        }
+
+        long end = System.currentTimeMillis();
+        System.err.println("DOM4J xpath  time 		:" + (end - start) / kk);
+    }
+
+    public static void xpathNodes(Document document, String xpathExp, int kk) {
+
+        long start = System.currentTimeMillis();
+        XPath xpath = document.createXPath(xpathExp);
+
+        for (int ii = 0; ii < kk; ii++) {
+
+            try {
+
+                List nodeList = xpath.selectNodes(document);
+                if ((nodeList != null) && (nodeList.size() > 0)) {
+                    Node node = (Node) nodeList.get(0);
+                    if ((node != null) & (ii == 0)) {
+                        String val = node.getStringValue();
+                        // System.out.println(val);
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+
+            }
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("DOM4J xpath Nodes time 		:" + 1.000 * (end - start)
+                / kk);
+    }
+
+}
diff --git a/docs/benchmarks/xpath/PerfDOM4JAttr.java b/docs/benchmarks/xpath/PerfDOM4JAttr.java
new file mode 100644
index 0000000..f2bac5d
--- /dev/null
+++ b/docs/benchmarks/xpath/PerfDOM4JAttr.java
@@ -0,0 +1,275 @@
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.List;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+import org.dom4j.io.DOMWriter;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+
+public class PerfDOM4JAttr {
+
+    public static void main(String args[]) {
+        Document doc;
+
+        try {
+            int numrec = 1;
+
+            numrec = 10000;
+            System.out.println("\n1000 Elements -------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 1);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 1);
+            // PerfDOM4JAttr.transform(doc,"item.xslt",1);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"500\"]", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"999\"]", 3);
+            PerfDOM4JAttr
+                    .xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]", 3);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"500\"]",
+                    3);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"999\"]",
+                    3);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 1000;
+            System.out.println("\n1000 Elements -------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 1);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 3);
+            PerfDOM4JAttr.transform(doc, "item.xslt", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"500\"]", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"999\"]", 3);
+            PerfDOM4JAttr
+                    .xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]", 3);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"500\"]",
+                    3);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"999\"]",
+                    3);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 100;
+            System.out.println("\n100 Elements --------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 10);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 10);
+            PerfDOM4JAttr.transform(doc, "item.xslt", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"50\"]", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"99\"]", 10);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]",
+                    10);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"50\"]",
+                    10);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"99\"]",
+                    10);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 10;
+            System.out.println("\n10 Elements ---------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 100);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 100);
+            PerfDOM4JAttr.transform(doc, "item.xslt", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 100);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"5\"]", 100);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"9\"]", 100);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]",
+                    100);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"5\"]",
+                    100);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"9\"]",
+                    100);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 1;
+            System.out.println("\n1 Element -----------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 100);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 100);
+            PerfDOM4JAttr.transform(doc, "item.xslt", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 100);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]",
+                    100);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+        } catch (IOException ie) {
+            ie.printStackTrace();
+        }
+    }
+
+    public static Document createDocument(int iNumRecs, int iNumFlds, int pp) {
+
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int kk = 0; kk < pp; kk++) {
+            document = DocumentHelper.createDocument();
+
+            Element root = document.addElement("ItemResultSet");
+            for (int ii = 0; ii < iNumRecs; ii++) {
+
+                Element Record = root.addElement("Item").addAttribute("guid",
+                        "" + ii);
+                for (int jj = 0; jj < iNumFlds; jj++) {
+                    Record.addAttribute("Attr" + jj, "123456789");
+                }
+
+            }
+        }
+        double end = System.currentTimeMillis();
+
+        System.err.println("Creation time  			:  " + (end - start) / pp);
+
+        return document;
+    }
+
+    public static Document parse(int iNumRecs, int kk) {
+
+        File file = new File("DOM4JAttr_" + iNumRecs + ".xml");
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int pp = 0; pp < kk; pp++) {
+            try {
+                SAXReader SAXrd = new SAXReader();
+                SAXrd.read(file);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        double end = System.currentTimeMillis();
+
+        System.err.println("Parsing time for 		:" + 1.000 * (end - start) / kk);
+
+        return document;
+    }
+
+    public static void createW3CDOM(Document doc) {
+
+        long start = System.currentTimeMillis();
+        try {
+            DOMWriter dw = new DOMWriter();
+            dw.write(doc);
+
+        } catch (Exception de) {
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C Creation time for 		:" + (end - start));
+    }
+
+    public static void write(Document document, String name) throws IOException {
+
+        long start = System.currentTimeMillis();
+        // lets write to a file
+
+        try {
+            OutputFormat format = OutputFormat.createPrettyPrint();
+            XMLWriter writer = new XMLWriter(new FileWriter(name), format);
+            writer.write(document);
+            writer.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("DOM4JAttr File write time 		:" + (end - start)
+                + "  " + name);
+    }
+
+    public static void transform(Document xmlDoc, String xslFile, int kk) {
+
+        System.err.println("DOM4JAttr start transform ");
+        int ii = 1;
+        try {
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer transformer = factory.newTransformer(new StreamSource(
+                    xslFile));
+
+            long start = System.currentTimeMillis();
+            for (ii = 0; ii < kk; ii++) {
+                Source source = new DocumentSource(xmlDoc);
+                DocumentResult result = new DocumentResult();
+                transformer.transform(source, result);
+
+                // output the transformed document
+            }
+            long end = System.currentTimeMillis();
+
+            System.err.println("DOM4JAttr transform  time 		:" + (end - start)
+                    / ii);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public static void xpath(Document document, String xpathExp, int kk) {
+
+        long start = System.currentTimeMillis();
+        XPath xpath = document.createXPath(xpathExp);
+        for (int ii = 0; ii < kk; ii++) {
+            Node node = xpath.selectSingleNode(document);
+
+            if ((node != null) & (ii == 0)) {
+                String val = node.getStringValue();
+                // System.out.println("xpath OK:"+val);
+            }
+        }
+
+        long end = System.currentTimeMillis();
+        System.err.println("DOM4JAttr xpath  time 		:" + (end - start) / kk);
+    }
+
+    public static void xpathNodes(Document document, String xpathExp, int kk) {
+
+        long start = System.currentTimeMillis();
+        XPath xpath = document.createXPath(xpathExp);
+
+        for (int ii = 0; ii < kk; ii++) {
+
+            try {
+
+                List nodeList = xpath.selectNodes(document);
+                if ((nodeList != null) && (nodeList.size() > 0)) {
+                    Node node = (Node) nodeList.get(0);
+                    if ((node != null) & (ii == 0)) {
+                        String val = node.getStringValue();
+                        // System.out.println("xpathNodes OK:"+val);
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+
+            }
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("DOM4JAttr xpath Nodes time 		:" + 1.000
+                * (end - start) / kk);
+    }
+
+}
diff --git a/docs/benchmarks/xpath/PerfW3C.java b/docs/benchmarks/xpath/PerfW3C.java
new file mode 100644
index 0000000..7666767
--- /dev/null
+++ b/docs/benchmarks/xpath/PerfW3C.java
@@ -0,0 +1,250 @@
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamSource;
+import org.apache.xerces.dom.DocumentImpl;
+import org.apache.xml.serialize.OutputFormat;
+import org.apache.xml.serialize.XMLSerializer;
+import org.apache.xpath.XPathAPI;
+
+import org.dom4j.io.SAXReader;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class PerfW3C {
+
+    public static void main(String args[]) {
+        Document doc;
+        System.err.println("W3C createDocument:");
+
+        int numrec;
+        long start = 0;
+        long end = 0;
+
+        numrec = 1000;
+        System.out.println("\n1000 Elements ---------------------------------");
+        doc = PerfW3C.createDocument(numrec, 20, 1);
+        PerfW3C.write(doc, "w3c_" + numrec + ".xml");
+        PerfW3C.parse(numrec, 1);
+        PerfW3C.transform(doc, "item.xslt", 1);
+        PerfW3C.xpath(doc, "/*/*/Attr1x1", 1);
+        PerfW3C.xpath(doc, "/*/*/Attr1x500", 1);
+        PerfW3C.xpath(doc, "/*/*/Attr1x999", 1);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x1", 1);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x500", 1);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x999", 1);
+        PerfW3C.xpathNodes(doc, "/*/Item", 1);
+
+        numrec = 100;
+        System.out.println("\n100 Elements ----------------------------------");
+        doc = PerfW3C.createDocument(numrec, 20, 1);
+        PerfW3C.write(doc, "w3c_" + numrec + ".xml");
+        PerfW3C.transform(doc, "item.xslt", 10);
+        PerfW3C.parse(numrec, 10);
+        PerfW3C.xpath(doc, "/*/*/Attr0x1", 10);
+        PerfW3C.xpath(doc, "/*/*/Attr0x50", 10);
+        PerfW3C.xpath(doc, "/*/*/Attr0x99", 10);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr0x0", 10);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x50", 10);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x99", 10);
+        PerfW3C.xpathNodes(doc, "/*/Item", 10);
+
+        numrec = 10;
+        System.out.println("\n10 Elements -----------------------------------");
+        doc = PerfW3C.createDocument(numrec, 20, 10);
+        PerfW3C.write(doc, "w3c_" + numrec + ".xml");
+        PerfW3C.parse(numrec, 50);
+        PerfW3C.transform(doc, "item.xslt", 10);
+        PerfW3C.xpath(doc, "/*/*/Attr5", 100);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x5", 100);
+        PerfW3C.xpathNodes(doc, "/*/Item", 100);
+
+        numrec = 1;
+        System.out.println("\n1 Elements ------------------------------------");
+        doc = PerfW3C.createDocument(numrec, 20, 10);
+        PerfW3C.write(doc, "w3c_" + numrec + ".xml");
+        PerfW3C.parse(numrec, 100);
+        PerfW3C.transform(doc, "item.xslt", 10);
+        PerfW3C.xpath(doc, "/*/*/Attr1x0", 100);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x0", 100);
+        PerfW3C.xpathNodes(doc, "/*/Item", 100);
+
+    }
+
+    public static Document createDocument(int iNumRecs, int iNumFlds, int pp) {
+
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int kk = 0; kk < pp; kk++) {
+            document = new DocumentImpl();
+
+            Element root = document.createElement("ItemResultSet"); // Create
+                                                                    // Root
+                                                                    // Element
+            document.appendChild(root);
+
+            for (int ii = 0; ii < iNumRecs; ii++) {
+
+                Element Record = document.createElement("Item");
+                root.appendChild(Record);
+                for (int jj = 0; jj < iNumFlds; jj++) {
+                    /*
+                     * AttrImpl a =
+                     * (AttrImpl)document.createAttribute("Attr"+jj);
+                     * a.setNodeValue("123456789"); Record.setAttributeNode(a);
+                     */
+                    Element field = document.createElement("Attr" + jj + "x"
+                            + ii);
+                    field.appendChild(document.createTextNode("123456789"));
+                    Record.appendChild(field);
+
+                }
+            }
+        }
+
+        double end = System.currentTimeMillis();
+
+        System.err.println("Creation time  		  :" + (end - start) / pp);
+
+        return document;
+    }
+
+    public static void write(Document document, String name) {
+
+        long start = System.currentTimeMillis();
+        // lets write to a file
+
+        OutputFormat format = new OutputFormat(document); // Serialize DOM
+        format.setIndent(2);
+        format.setLineSeparator(System.getProperty("line.separator"));
+        format.setLineWidth(80);
+        try {
+
+            FileWriter writer = new FileWriter(name);
+            BufferedWriter buf = new BufferedWriter(writer);
+            XMLSerializer FileSerial = new XMLSerializer(writer, format);
+            FileSerial.asDOMSerializer(); // As a DOM Serializer
+            FileSerial.serialize(document);
+
+        } catch (IOException ioe) {
+            ioe.printStackTrace();
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C File write time :" + (end - start) + "  "
+                + name);
+    }
+
+    public static Document parse(int iNumRecs, int kk) {
+
+        File file = new File("dom4j_" + iNumRecs + ".xml");
+        double start = System.currentTimeMillis();
+        Document document = null;
+
+        for (int pp = 0; pp < kk; pp++) {
+            try {
+                SAXReader SAXrd = new SAXReader();
+                SAXrd.read(file);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+
+        double end = System.currentTimeMillis();
+
+        // System.err.println("DOM4J createDocument:" + "Num Rec. = " + iNumRecs
+        // + " Num. Fld.=" + iNumFlds);
+        System.err.println("Parsing time for 			:" + iNumRecs + "  "
+                + (end - start) / kk);
+
+        return document;
+    }
+
+    public static void transform(Document xmlDoc, String xslFile, int kk) {
+        int ii = 1;
+        try {
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer transformer = factory.newTransformer(new StreamSource(
+                    xslFile));
+
+            long start = System.currentTimeMillis();
+            for (ii = 0; ii < kk; ii++) {
+                DOMSource source = new DOMSource(xmlDoc);
+                DOMResult result = new DOMResult();
+                transformer.transform(source, result);
+            }
+            long end = System.currentTimeMillis();
+
+            System.err.println("W3C transform  time :" + (end - start) / ii);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public static void xpath(Document document, String xpathExp, int pp) {
+
+        long start = System.currentTimeMillis();
+
+        for (int ii = 0; ii < pp; ii++) {
+
+            try {
+
+                Node node = XPathAPI.selectSingleNode(document, xpathExp);
+                if ((node != null) & (ii == 0)) {
+                    String val = node.getNodeName();
+                    // System.out.println(val);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+
+            }
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C xpath  time :" + 1.000 * (end - start) / pp);
+    }
+
+    public static void xpathNodes(Document document, String xpathExp, int pp) {
+
+        long start = System.currentTimeMillis();
+
+        for (int ii = 0; ii < pp; ii++) {
+
+            try {
+
+                NodeList nodeList = XPathAPI.selectNodeList(document, xpathExp);
+                if ((nodeList != null) && (nodeList.getLength() > 0)) {
+                    Node node = nodeList.item(0);
+                    if ((node != null) & (ii == 0)) {
+                        String val = node.getNodeName();
+                        // System.out.println(val);
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+
+            }
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C xpathNodes  time :" + 1.000 * (end - start)
+                / pp);
+    }
+
+}
diff --git a/docs/benchmarks/xpath/index.html b/docs/benchmarks/xpath/index.html
new file mode 100644
index 0000000..fa3b4af
--- /dev/null
+++ b/docs/benchmarks/xpath/index.html
@@ -0,0 +1,834 @@
+<!-- saved from url=(0022)http://internet.e-mail -->
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Dom4J performance versus Xerces</title>
+</head>
+
+<body>
+
+<h1><font face="Arial">Dom4J performance versus Xerces / Xalan</font></h1>
+<p><font face="Arial"><a href="mailto:bhm at eigner.com">Martin B�hm</a>, <a href="mailto:jjd at eigner.com">Jean-Jacques
+Dubray</a></font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><b>Eigner</b>
+Precision Lifecycle Management</font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><a href="http://www.eigner.com"><font face="Arial">www.eigner.com</font></a></p>
+<h2><font face="Arial">Introduction</font></h2>
+<p><font face="Arial">We have created a simple test bed to evaluate the performance of DOM4J versus
+Xerces/Xalan. These results are intended to give a rough idea rather than
+exhaustive test suite. In particular we focus our study on XML document which
+look like database result set. It is pretty clear that performance results may
+vary greatly based on the topology of your XML.</font></p>
+<p><font face="Arial">The test was designed with two topologies in mind: </font> </p>
+<p><font face="Arial">a) to have elements only and each element name is unique in
+the whole document.</font> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font COLOR="#008080" size="2" face="Arial"><?xml
+version="1.0" encoding="UTF-8"?></font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font size="2" face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">ItemResultSet</font><font COLOR="#0000ff">></font></font></p>
+<font SIZE="2">
+<blockquote>
+  <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Item</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<blockquote>
+  <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr0x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr0x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr1x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr1x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr2x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr2x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr3x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr3x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr4x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr4x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr5x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr5x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr6x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr6x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr7x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr7x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr8x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr8x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr9x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr9x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr10x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr10x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr11x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr11x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr12x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr12x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr13x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr13x0</font><font COLOR="#0000ff">></font></font></font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font size="2" face="Arial">...</font></p>
+</blockquote>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"></</font><font COLOR="#800000">Item</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Item</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<blockquote>
+  <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr0x1</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr0x1</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr1x1</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr1x1</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr2x1</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr2x1</font><font COLOR="#0000ff">></font></font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font color="#0000ff" face="Arial">...</font></p>
+</blockquote>
+</blockquote>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font color="#0000ff"></</font><font COLOR="#800000">ItemResultSet</font><font COLOR="#0000ff">></font></font></font></p>
+<p><font face="Arial">b) To use attributes only</font></p>
+<font SIZE="2" COLOR="#008080">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><?xml
+version="1.0" encoding="UTF-8"?></font></p>
+</font><font SIZE="2" COLOR="#0000ff">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><</font></font><font SIZE="2" COLOR="#800000" face="Arial">ItemResultSet</font><font SIZE="2" COLOR="#0000ff"><font face="Arial">></font></p>
+</font><font SIZE="2">
+<blockquote>
+  <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"></font><font face="Arial"><font SIZE="2" COLOR="#0000ff"><</font><font SIZE="2" COLOR="#800000">Item</font><font SIZE="2" COLOR="#ff0000">
+  guid</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">0</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+  Attr0</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">123456789</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+  Attr1</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">123456789</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+  </font></font><font COLOR="#0000ff" size="2"><font face="Arial">.../></font></p>
+</font><font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"></font><font face="Arial"><font SIZE="2" COLOR="#0000ff"><</font><font SIZE="2" COLOR="#800000">Item</font><font SIZE="2" COLOR="#ff0000">
+guid</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">1</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+Attr0</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">123456789</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+Attr1</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">123456789</font><font SIZE="2" COLOR="#0000ff">"
+.../></font></font></p>
+</blockquote>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font SIZE="2" face="Arial"><font color="#0000ff"></</font><font COLOR="#800000">ItemResultSet</font><font COLOR="#0000ff">></font></font></p>
+<p> </p>
+<p> </p>
+<p><font face="Arial">We have tested for 1000,100,10,1 items the time it takes to:</font></p>
+<ul>
+  <li><font face="Arial">create a document</font></li>
+  <li><font face="Arial">write it to disk</font></li>
+  <li><font face="Arial">reparse it from disk (I don't have a good disk)</font></li>
+  <li><font face="Arial">transform it to some other XML format</font></li>
+  <li><font face="Arial">run a series of XPath statements for both selectNodes and selectSingleNode
+    (where applicable)</font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">a) </font></p>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial" size="2" color="#0000FF">/*/*/Attr1x1</font></p>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial" size="2" color="#0000FF">/*/*/Attr1x500</font></p>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial" size="2" color="#0000FF">/*/*/Attr1x999</font></p>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial" size="2" color="#0000FF">/*/*/Item</font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">b) </font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font SIZE="2" color="#0000FF" face="Arial">/*/*[@id="1"]</font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font SIZE="2" color="#0000FF" face="Arial">/*/*[@id="500"]</font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font SIZE="2" color="#0000FF" face="Arial">/*/*[@id="999""]</font></li>
+</ul>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">All
+tests are running on my lapdog (PIII, 500MHz, 512Mb) We allocate a heap size of
+256 Mb when we start the test.</font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<h2 style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">Results</font></h2>
+<h3 style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">case
+a), comparison between Dom4j/Jaxen versus Xerces/Xalan</font></h3>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="10%"><font face="Arial">All times in ms</font></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Create Document</font> </b></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Write Document to disk</font></b></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Reparse the document
+      from disk</font></b></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">Items</font></b></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">xalan</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">xalan</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">xalan</font></i></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">1000</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">641.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">571.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">531</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">852</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">2020</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">2664</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">100</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">9.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">20.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">60</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">61</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">62.99</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">68.6</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">10</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.7</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">1.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">11.92</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">14.62</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">1</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.1</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.01</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.31</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">The
+most surprising result comes from executing XPath statements. Xalan does warn us
+in the <a href="http://xml.apache.org/xalan-j/apidocs/org/apache/xpath/XPathAPI.html">JavaDoc</a>
+that things could be a little slow.</font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectSingleNode()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"><font face="Arial">All times in ms</font></td>
+          <td width="33%"><b><font face="Arial">1000 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j</font></i></td>
+          <td width="34%"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">127</font></td>
+          <td width="34%"><font face="Arial">10</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="33%"><font face="Arial">20</font></td>
+          <td width="34%"><font face="Arial">661</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x999</font></b></td>
+          <td width="33%"><font face="Arial">23</font></td>
+          <td width="34%"><font face="Arial">1662</font></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"></td>
+          <td width="34%"></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><b><font face="Arial">100 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j </font></i></td>
+          <td width="34%"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">2</font></td>
+          <td width="34%"><font face="Arial">3.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x50</font></b></td>
+          <td width="33%"><font face="Arial">3</font></td>
+          <td width="34%"><font face="Arial">13.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x99</font></b></td>
+          <td width="33%"><font face="Arial">2</font></td>
+          <td width="34%"><font face="Arial">55.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"></td>
+          <td width="34%"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectNodes()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"><font face="Arial">All times in ms</font></td>
+          <td width="33%"><b><font face="Arial">1000 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j</font></i></td>
+          <td width="34%"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">16.6</font></td>
+          <td width="34%"><font face="Arial">1633</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="33%"><font face="Arial">20</font></td>
+          <td width="34%"><font face="Arial">1772</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x999</font></b></td>
+          <td width="33%"><font face="Arial">20.0</font></td>
+          <td width="34%"><font face="Arial">1733</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/Item</font></b></td>
+          <td width="33%"><font face="Arial">2.0</font></td>
+          <td width="34%"><font face="Arial">1742</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><b><font face="Arial">100 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j</font></i></td>
+          <td width="34%"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">1.0</font></td>
+          <td width="34%"><font face="Arial">35.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x50</font></b></td>
+          <td width="33%"><font face="Arial">2.0</font></td>
+          <td width="34%"><font face="Arial">36.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x99</font></b></td>
+          <td width="33%"><font face="Arial">1.0</font></td>
+          <td width="34%"><font face="Arial">49.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/Item</font></b></td>
+          <td width="33%"><font face="Arial">0.2</font></td>
+          <td width="34%"><font face="Arial">49.0</font></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectNodes()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%" height="123">
+        <tr>
+          <td width="33%" height="21"><font face="Arial">All times in ms</font></td>
+          <td width="33%" height="21"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="34%" height="21"></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"></td>
+          <td width="33%" height="21"><i><font face="Arial">dom4j </font></i></td>
+          <td width="34%" height="21"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%" height="18"><b><font face="Arial">1000</font></b></td>
+          <td width="33%" height="18"><font face="Arial">20.0</font></td>
+          <td width="34%" height="18"><font face="Arial">1793</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">100</font></b></td>
+          <td width="33%" height="21"><font face="Arial">2.0</font></td>
+          <td width="34%" height="21"><font face="Arial">36.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">10</font></b></td>
+          <td width="33%" height="21"><font face="Arial">0.1</font></td>
+          <td width="34%" height="21"><font face="Arial">11.72</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">1</font></b></td>
+          <td width="33%" height="21"><font face="Arial">0.1</font></td>
+          <td width="34%" height="21"><font face="Arial">4.3</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%"></td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+  </tr>
+</table>
+<h2> </h2>
+<h3 style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">case
+b), we use Dom4j/Jaxen and compare how it behaves with a document that contains
+only element elements versus document that model the same data as attribute
+attributes</font></h3>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="10%"><font face="Arial">All times in ms</font></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Create Document</font> </b></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Write Document to disk</font></b></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Reparse the document
+      from disk</font></b></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">Items</font></b></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - elements</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - attrs</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - elements</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - attrs</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - elements</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - attrs</font></i></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">1000</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">641.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">100</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">531</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">140</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">2020</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">207</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">100</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">9.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">60</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">20</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">62.99</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">24</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">10</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.7</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.9</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">11.92</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.31</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">1</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.1</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.1</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.01</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">6.81</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">The
+most surprising result comes from executing XPath statements. Xalan does warn us
+in the <a href="http://xml.apache.org/xalan-j/apidocs/org/apache/xpath/XPathAPI.html">JavaDoc</a>
+that things could be a little slow.</font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectSingleNode()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"><font face="Arial">All times in ms</font></td>
+          <td width="33%"><b><font face="Arial">1000 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">Dom4j - elements</font></i></td>
+          <td width="34%"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">127</font></td>
+          <td width="34%"><font face="Arial">36</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="33%"><font face="Arial">20</font></td>
+          <td width="34%"><font face="Arial">33</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x999</font></b></td>
+          <td width="33%"><font face="Arial">23</font></td>
+          <td width="34%"><font face="Arial">37</font></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"></td>
+          <td width="34%"></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><b><font face="Arial">100 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">Dom4j - elements</font></i></td>
+          <td width="34%"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">2</font></td>
+          <td width="34%"><font face="Arial">4</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x50</font></b></td>
+          <td width="33%"><font face="Arial">3</font></td>
+          <td width="34%"><font face="Arial">4</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x99</font></b></td>
+          <td width="33%"><font face="Arial">2</font></td>
+          <td width="34%"><font face="Arial">4</font></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"></td>
+          <td width="34%"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectNodes()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"><font face="Arial">All times in ms</font></td>
+          <td width="33%"><b><font face="Arial">1000 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j - elements</font></i></td>
+          <td width="34%"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">16.6</font></td>
+          <td width="34%"><font face="Arial">36.6</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="33%"><font face="Arial">20</font></td>
+          <td width="34%"><font face="Arial">36.6</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x999</font></b></td>
+          <td width="33%"><font face="Arial">20.0</font></td>
+          <td width="34%"><font face="Arial">36.6</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/Item</font></b></td>
+          <td width="33%"><font face="Arial">2.0</font></td>
+          <td width="34%"><font face="Arial">1.7</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><b><font face="Arial">100 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">Dom4j - elements</font></i></td>
+          <td width="34%"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">1.0</font></td>
+          <td width="34%"><font face="Arial">3.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x50</font></b></td>
+          <td width="33%"><font face="Arial">2.0</font></td>
+          <td width="34%"><font face="Arial">4.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x99</font></b></td>
+          <td width="33%"><font face="Arial">1.0</font></td>
+          <td width="34%"><font face="Arial">4</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/Item</font></b></td>
+          <td width="33%"><font face="Arial">0.2</font></td>
+          <td width="34%"><font face="Arial">0.2</font></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectNodes()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%" height="123">
+        <tr>
+          <td width="33%" height="21"><font face="Arial">All times in ms</font></td>
+          <td width="33%" height="21"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="34%" height="21"></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"></td>
+          <td width="33%" height="21"><i><font face="Arial">dom4j - elements</font></i></td>
+          <td width="34%" height="21"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%" height="18"><b><font face="Arial">1000</font></b></td>
+          <td width="33%" height="18"><font face="Arial">20.0</font></td>
+          <td width="34%" height="18"><font face="Arial">36.6</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">100</font></b></td>
+          <td width="33%" height="21"><font face="Arial">2.0</font></td>
+          <td width="34%" height="21"><font face="Arial">4.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">10</font></b></td>
+          <td width="33%" height="21"><font face="Arial">0.1</font></td>
+          <td width="34%" height="21"><font face="Arial">0.4</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">1</font></b></td>
+          <td width="33%" height="21"><font face="Arial">0.1</font></td>
+          <td width="34%" height="21"><font face="Arial">0.1</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%"></td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p> </p>
+<h3><font face="Arial">c) We also run a simple XSLT test which took the first
+XML formant (elements) and transformed it to the second format (attr) or
+conversely.</font></h3>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="74%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="25%"><font face="Arial">All times in ms.</font></td>
+          <td width="25%"><i><font face="Arial">dom4j el -> attr</font></i></td>
+          <td width="25%"><i><font face="Arial">dom4j attr -> el</font></i></td>
+          <td width="25%"><i><font face="Arial">Xalan el -> attr</font></i></td>
+        </tr>
+        <tr>
+          <td width="25%"><b><font face="Arial">10000</font></b></td>
+          <td width="25%"><font SIZE="2" face="Arial">12558 </font></td>
+          <td width="25%"><font SIZE="2" face="Arial">10044 </font></td>
+          <td width="25%"><font SIZE="2" face="Arial">12338</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="18"><b><font face="Arial">1000</font></b></td>
+          <td width="25%"><font face="Arial">1181</font></td>
+          <td width="25%"><font face="Arial">874</font></td>
+          <td width="25%"><font face="Arial">1913</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">100</font></b></td>
+          <td width="25%"><font face="Arial">98</font></td>
+          <td width="25%"><font face="Arial">83</font></td>
+          <td width="25%"><font face="Arial">123</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">10</font></b></td>
+          <td width="25%"><font face="Arial">12</font></td>
+          <td width="25%"><font face="Arial">11</font></td>
+          <td width="25%"><font face="Arial">20</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">1</font></b></td>
+          <td width="25%"><font face="Arial">3</font></td>
+          <td width="25%"><font face="Arial">4</font></td>
+          <td width="25%"><font face="Arial">10</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="26%"></td>
+  </tr>
+  <tr>
+    <td width="74%"></td>
+    <td width="26%"></td>
+  </tr>
+</table>
+<h2><b><font face="Arial">Conclusion</font></b></h2>
+<p><font face="Arial">These number suggest one should use the XPathAPI class of Xalan with great
+caution, if at all</font></p>
+<p><font face="Arial">The syntax of Xpath statements must be chosen carefully.
+Contrary to some belief, and of the topology of our XML format, using /*/* or // was most efficient
+compared to the absolute path /ItemResultSet/Item</font> </p>
+<p><font face="Arial">It appears more efficient to use selectNodes with Dom4j even if one needs a
+single node.</font></p>
+<p><font face="Arial">With DOM4J, it is about twice as fast when running XPath
+against a document which contains elements vs attributes. </font> </p>
+<p><font face="Arial">In our case, we found that Dom4j is faster than Xalant for
+XSLT transformations. We do not claim this is  a general result, but rather
+a datapoint</font> </p>
+
+<h2><b><span lang="en-gb">Resources</span></b></h2>
+<p><span lang="en-gb">Here's the source code and data for these tests. Try them 
+for yourself</span></p>
+<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
+  <tr>
+    <td width="100%" height="19"><a href="PerfDOM4J.java">PerfDOM4J.java</a></td>
+  </tr>
+  <tr>
+    <td width="100%" height="19"><a href="PerfDOM4JAttr.java">PerfDOM4JAttr.java</a></td>
+  </tr>
+  <tr>
+    <td width="100%" height="21"><a href="PerfW3C.java">PerfW3C.java</a></td>
+  </tr>
+  <tr>
+    <td width="100%" height="19"><a href="item.xslt">item.xslt</a></td>
+  </tr>
+  <tr>
+    <td width="100%" height="19"><a href="w3c_100.xml">w3c_100.xml</a></td>
+  </tr>
+</table>
+<p> </p>
+<p> </p>
+
+</body>
+
+</html>
diff --git a/docs/benchmarks/xpath/item.xslt b/docs/benchmarks/xpath/item.xslt
new file mode 100644
index 0000000..76754c9
--- /dev/null
+++ b/docs/benchmarks/xpath/item.xslt
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+	<xsl:output method="html"/>
+	<xsl:template match="/">
+		<html>
+			<header>
+				<style type="text/css">
+tr.loa
+{
+ background-color:#FF9900;
+}
+tr.item
+{
+ background-color:lightblue;
+}
+
+</style>
+			</header>
+			<body>
+				<table border="1">
+					<xsl:apply-templates select="ItemResultSet/Item"/>
+				</table>
+			</body>
+		</html>
+	</xsl:template>
+	<xsl:template match="Item">
+		<tr class="item">
+			<td>
+				<xsl:value-of select="Attr0x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr1x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr2x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr3x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr4x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr5x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr6x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr7x0"/>
+			</td>
+		</tr>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/docs/benchmarks/xpath/w3c_100.html b/docs/benchmarks/xpath/w3c_100.html
new file mode 100644
index 0000000..5b0ee55
--- /dev/null
+++ b/docs/benchmarks/xpath/w3c_100.html
@@ -0,0 +1,2202 @@
+<plm_result>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x0>123456789</T_MASTER_DAT.PART_ID0x0>
+    <T_MASTER_DAT.PART_ID1x0>123456789</T_MASTER_DAT.PART_ID1x0>
+    <T_MASTER_DAT.PART_ID2x0>123456789</T_MASTER_DAT.PART_ID2x0>
+    <T_MASTER_DAT.PART_ID3x0>123456789</T_MASTER_DAT.PART_ID3x0>
+    <T_MASTER_DAT.PART_ID4x0>123456789</T_MASTER_DAT.PART_ID4x0>
+    <T_MASTER_DAT.PART_ID5x0>123456789</T_MASTER_DAT.PART_ID5x0>
+    <T_MASTER_DAT.PART_ID6x0>123456789</T_MASTER_DAT.PART_ID6x0>
+    <T_MASTER_DAT.PART_ID7x0>123456789</T_MASTER_DAT.PART_ID7x0>
+    <T_MASTER_DAT.PART_ID8x0>123456789</T_MASTER_DAT.PART_ID8x0>
+    <T_MASTER_DAT.PART_ID9x0>123456789</T_MASTER_DAT.PART_ID9x0>
+    <T_MASTER_DAT.PART_ID10x0>123456789</T_MASTER_DAT.PART_ID10x0>
+    <T_MASTER_DAT.PART_ID11x0>123456789</T_MASTER_DAT.PART_ID11x0>
+    <T_MASTER_DAT.PART_ID12x0>123456789</T_MASTER_DAT.PART_ID12x0>
+    <T_MASTER_DAT.PART_ID13x0>123456789</T_MASTER_DAT.PART_ID13x0>
+    <T_MASTER_DAT.PART_ID14x0>123456789</T_MASTER_DAT.PART_ID14x0>
+    <T_MASTER_DAT.PART_ID15x0>123456789</T_MASTER_DAT.PART_ID15x0>
+    <T_MASTER_DAT.PART_ID16x0>123456789</T_MASTER_DAT.PART_ID16x0>
+    <T_MASTER_DAT.PART_ID17x0>123456789</T_MASTER_DAT.PART_ID17x0>
+    <T_MASTER_DAT.PART_ID18x0>123456789</T_MASTER_DAT.PART_ID18x0>
+    <T_MASTER_DAT.PART_ID19x0>123456789</T_MASTER_DAT.PART_ID19x0>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x1>123456789</T_MASTER_DAT.PART_ID0x1>
+    <T_MASTER_DAT.PART_ID1x1>123456789</T_MASTER_DAT.PART_ID1x1>
+    <T_MASTER_DAT.PART_ID2x1>123456789</T_MASTER_DAT.PART_ID2x1>
+    <T_MASTER_DAT.PART_ID3x1>123456789</T_MASTER_DAT.PART_ID3x1>
+    <T_MASTER_DAT.PART_ID4x1>123456789</T_MASTER_DAT.PART_ID4x1>
+    <T_MASTER_DAT.PART_ID5x1>123456789</T_MASTER_DAT.PART_ID5x1>
+    <T_MASTER_DAT.PART_ID6x1>123456789</T_MASTER_DAT.PART_ID6x1>
+    <T_MASTER_DAT.PART_ID7x1>123456789</T_MASTER_DAT.PART_ID7x1>
+    <T_MASTER_DAT.PART_ID8x1>123456789</T_MASTER_DAT.PART_ID8x1>
+    <T_MASTER_DAT.PART_ID9x1>123456789</T_MASTER_DAT.PART_ID9x1>
+    <T_MASTER_DAT.PART_ID10x1>123456789</T_MASTER_DAT.PART_ID10x1>
+    <T_MASTER_DAT.PART_ID11x1>123456789</T_MASTER_DAT.PART_ID11x1>
+    <T_MASTER_DAT.PART_ID12x1>123456789</T_MASTER_DAT.PART_ID12x1>
+    <T_MASTER_DAT.PART_ID13x1>123456789</T_MASTER_DAT.PART_ID13x1>
+    <T_MASTER_DAT.PART_ID14x1>123456789</T_MASTER_DAT.PART_ID14x1>
+    <T_MASTER_DAT.PART_ID15x1>123456789</T_MASTER_DAT.PART_ID15x1>
+    <T_MASTER_DAT.PART_ID16x1>123456789</T_MASTER_DAT.PART_ID16x1>
+    <T_MASTER_DAT.PART_ID17x1>123456789</T_MASTER_DAT.PART_ID17x1>
+    <T_MASTER_DAT.PART_ID18x1>123456789</T_MASTER_DAT.PART_ID18x1>
+    <T_MASTER_DAT.PART_ID19x1>123456789</T_MASTER_DAT.PART_ID19x1>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x2>123456789</T_MASTER_DAT.PART_ID0x2>
+    <T_MASTER_DAT.PART_ID1x2>123456789</T_MASTER_DAT.PART_ID1x2>
+    <T_MASTER_DAT.PART_ID2x2>123456789</T_MASTER_DAT.PART_ID2x2>
+    <T_MASTER_DAT.PART_ID3x2>123456789</T_MASTER_DAT.PART_ID3x2>
+    <T_MASTER_DAT.PART_ID4x2>123456789</T_MASTER_DAT.PART_ID4x2>
+    <T_MASTER_DAT.PART_ID5x2>123456789</T_MASTER_DAT.PART_ID5x2>
+    <T_MASTER_DAT.PART_ID6x2>123456789</T_MASTER_DAT.PART_ID6x2>
+    <T_MASTER_DAT.PART_ID7x2>123456789</T_MASTER_DAT.PART_ID7x2>
+    <T_MASTER_DAT.PART_ID8x2>123456789</T_MASTER_DAT.PART_ID8x2>
+    <T_MASTER_DAT.PART_ID9x2>123456789</T_MASTER_DAT.PART_ID9x2>
+    <T_MASTER_DAT.PART_ID10x2>123456789</T_MASTER_DAT.PART_ID10x2>
+    <T_MASTER_DAT.PART_ID11x2>123456789</T_MASTER_DAT.PART_ID11x2>
+    <T_MASTER_DAT.PART_ID12x2>123456789</T_MASTER_DAT.PART_ID12x2>
+    <T_MASTER_DAT.PART_ID13x2>123456789</T_MASTER_DAT.PART_ID13x2>
+    <T_MASTER_DAT.PART_ID14x2>123456789</T_MASTER_DAT.PART_ID14x2>
+    <T_MASTER_DAT.PART_ID15x2>123456789</T_MASTER_DAT.PART_ID15x2>
+    <T_MASTER_DAT.PART_ID16x2>123456789</T_MASTER_DAT.PART_ID16x2>
+    <T_MASTER_DAT.PART_ID17x2>123456789</T_MASTER_DAT.PART_ID17x2>
+    <T_MASTER_DAT.PART_ID18x2>123456789</T_MASTER_DAT.PART_ID18x2>
+    <T_MASTER_DAT.PART_ID19x2>123456789</T_MASTER_DAT.PART_ID19x2>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x3>123456789</T_MASTER_DAT.PART_ID0x3>
+    <T_MASTER_DAT.PART_ID1x3>123456789</T_MASTER_DAT.PART_ID1x3>
+    <T_MASTER_DAT.PART_ID2x3>123456789</T_MASTER_DAT.PART_ID2x3>
+    <T_MASTER_DAT.PART_ID3x3>123456789</T_MASTER_DAT.PART_ID3x3>
+    <T_MASTER_DAT.PART_ID4x3>123456789</T_MASTER_DAT.PART_ID4x3>
+    <T_MASTER_DAT.PART_ID5x3>123456789</T_MASTER_DAT.PART_ID5x3>
+    <T_MASTER_DAT.PART_ID6x3>123456789</T_MASTER_DAT.PART_ID6x3>
+    <T_MASTER_DAT.PART_ID7x3>123456789</T_MASTER_DAT.PART_ID7x3>
+    <T_MASTER_DAT.PART_ID8x3>123456789</T_MASTER_DAT.PART_ID8x3>
+    <T_MASTER_DAT.PART_ID9x3>123456789</T_MASTER_DAT.PART_ID9x3>
+    <T_MASTER_DAT.PART_ID10x3>123456789</T_MASTER_DAT.PART_ID10x3>
+    <T_MASTER_DAT.PART_ID11x3>123456789</T_MASTER_DAT.PART_ID11x3>
+    <T_MASTER_DAT.PART_ID12x3>123456789</T_MASTER_DAT.PART_ID12x3>
+    <T_MASTER_DAT.PART_ID13x3>123456789</T_MASTER_DAT.PART_ID13x3>
+    <T_MASTER_DAT.PART_ID14x3>123456789</T_MASTER_DAT.PART_ID14x3>
+    <T_MASTER_DAT.PART_ID15x3>123456789</T_MASTER_DAT.PART_ID15x3>
+    <T_MASTER_DAT.PART_ID16x3>123456789</T_MASTER_DAT.PART_ID16x3>
+    <T_MASTER_DAT.PART_ID17x3>123456789</T_MASTER_DAT.PART_ID17x3>
+    <T_MASTER_DAT.PART_ID18x3>123456789</T_MASTER_DAT.PART_ID18x3>
+    <T_MASTER_DAT.PART_ID19x3>123456789</T_MASTER_DAT.PART_ID19x3>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x4>123456789</T_MASTER_DAT.PART_ID0x4>
+    <T_MASTER_DAT.PART_ID1x4>123456789</T_MASTER_DAT.PART_ID1x4>
+    <T_MASTER_DAT.PART_ID2x4>123456789</T_MASTER_DAT.PART_ID2x4>
+    <T_MASTER_DAT.PART_ID3x4>123456789</T_MASTER_DAT.PART_ID3x4>
+    <T_MASTER_DAT.PART_ID4x4>123456789</T_MASTER_DAT.PART_ID4x4>
+    <T_MASTER_DAT.PART_ID5x4>123456789</T_MASTER_DAT.PART_ID5x4>
+    <T_MASTER_DAT.PART_ID6x4>123456789</T_MASTER_DAT.PART_ID6x4>
+    <T_MASTER_DAT.PART_ID7x4>123456789</T_MASTER_DAT.PART_ID7x4>
+    <T_MASTER_DAT.PART_ID8x4>123456789</T_MASTER_DAT.PART_ID8x4>
+    <T_MASTER_DAT.PART_ID9x4>123456789</T_MASTER_DAT.PART_ID9x4>
+    <T_MASTER_DAT.PART_ID10x4>123456789</T_MASTER_DAT.PART_ID10x4>
+    <T_MASTER_DAT.PART_ID11x4>123456789</T_MASTER_DAT.PART_ID11x4>
+    <T_MASTER_DAT.PART_ID12x4>123456789</T_MASTER_DAT.PART_ID12x4>
+    <T_MASTER_DAT.PART_ID13x4>123456789</T_MASTER_DAT.PART_ID13x4>
+    <T_MASTER_DAT.PART_ID14x4>123456789</T_MASTER_DAT.PART_ID14x4>
+    <T_MASTER_DAT.PART_ID15x4>123456789</T_MASTER_DAT.PART_ID15x4>
+    <T_MASTER_DAT.PART_ID16x4>123456789</T_MASTER_DAT.PART_ID16x4>
+    <T_MASTER_DAT.PART_ID17x4>123456789</T_MASTER_DAT.PART_ID17x4>
+    <T_MASTER_DAT.PART_ID18x4>123456789</T_MASTER_DAT.PART_ID18x4>
+    <T_MASTER_DAT.PART_ID19x4>123456789</T_MASTER_DAT.PART_ID19x4>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x5>123456789</T_MASTER_DAT.PART_ID0x5>
+    <T_MASTER_DAT.PART_ID1x5>123456789</T_MASTER_DAT.PART_ID1x5>
+    <T_MASTER_DAT.PART_ID2x5>123456789</T_MASTER_DAT.PART_ID2x5>
+    <T_MASTER_DAT.PART_ID3x5>123456789</T_MASTER_DAT.PART_ID3x5>
+    <T_MASTER_DAT.PART_ID4x5>123456789</T_MASTER_DAT.PART_ID4x5>
+    <T_MASTER_DAT.PART_ID5x5>123456789</T_MASTER_DAT.PART_ID5x5>
+    <T_MASTER_DAT.PART_ID6x5>123456789</T_MASTER_DAT.PART_ID6x5>
+    <T_MASTER_DAT.PART_ID7x5>123456789</T_MASTER_DAT.PART_ID7x5>
+    <T_MASTER_DAT.PART_ID8x5>123456789</T_MASTER_DAT.PART_ID8x5>
+    <T_MASTER_DAT.PART_ID9x5>123456789</T_MASTER_DAT.PART_ID9x5>
+    <T_MASTER_DAT.PART_ID10x5>123456789</T_MASTER_DAT.PART_ID10x5>
+    <T_MASTER_DAT.PART_ID11x5>123456789</T_MASTER_DAT.PART_ID11x5>
+    <T_MASTER_DAT.PART_ID12x5>123456789</T_MASTER_DAT.PART_ID12x5>
+    <T_MASTER_DAT.PART_ID13x5>123456789</T_MASTER_DAT.PART_ID13x5>
+    <T_MASTER_DAT.PART_ID14x5>123456789</T_MASTER_DAT.PART_ID14x5>
+    <T_MASTER_DAT.PART_ID15x5>123456789</T_MASTER_DAT.PART_ID15x5>
+    <T_MASTER_DAT.PART_ID16x5>123456789</T_MASTER_DAT.PART_ID16x5>
+    <T_MASTER_DAT.PART_ID17x5>123456789</T_MASTER_DAT.PART_ID17x5>
+    <T_MASTER_DAT.PART_ID18x5>123456789</T_MASTER_DAT.PART_ID18x5>
+    <T_MASTER_DAT.PART_ID19x5>123456789</T_MASTER_DAT.PART_ID19x5>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x6>123456789</T_MASTER_DAT.PART_ID0x6>
+    <T_MASTER_DAT.PART_ID1x6>123456789</T_MASTER_DAT.PART_ID1x6>
+    <T_MASTER_DAT.PART_ID2x6>123456789</T_MASTER_DAT.PART_ID2x6>
+    <T_MASTER_DAT.PART_ID3x6>123456789</T_MASTER_DAT.PART_ID3x6>
+    <T_MASTER_DAT.PART_ID4x6>123456789</T_MASTER_DAT.PART_ID4x6>
+    <T_MASTER_DAT.PART_ID5x6>123456789</T_MASTER_DAT.PART_ID5x6>
+    <T_MASTER_DAT.PART_ID6x6>123456789</T_MASTER_DAT.PART_ID6x6>
+    <T_MASTER_DAT.PART_ID7x6>123456789</T_MASTER_DAT.PART_ID7x6>
+    <T_MASTER_DAT.PART_ID8x6>123456789</T_MASTER_DAT.PART_ID8x6>
+    <T_MASTER_DAT.PART_ID9x6>123456789</T_MASTER_DAT.PART_ID9x6>
+    <T_MASTER_DAT.PART_ID10x6>123456789</T_MASTER_DAT.PART_ID10x6>
+    <T_MASTER_DAT.PART_ID11x6>123456789</T_MASTER_DAT.PART_ID11x6>
+    <T_MASTER_DAT.PART_ID12x6>123456789</T_MASTER_DAT.PART_ID12x6>
+    <T_MASTER_DAT.PART_ID13x6>123456789</T_MASTER_DAT.PART_ID13x6>
+    <T_MASTER_DAT.PART_ID14x6>123456789</T_MASTER_DAT.PART_ID14x6>
+    <T_MASTER_DAT.PART_ID15x6>123456789</T_MASTER_DAT.PART_ID15x6>
+    <T_MASTER_DAT.PART_ID16x6>123456789</T_MASTER_DAT.PART_ID16x6>
+    <T_MASTER_DAT.PART_ID17x6>123456789</T_MASTER_DAT.PART_ID17x6>
+    <T_MASTER_DAT.PART_ID18x6>123456789</T_MASTER_DAT.PART_ID18x6>
+    <T_MASTER_DAT.PART_ID19x6>123456789</T_MASTER_DAT.PART_ID19x6>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x7>123456789</T_MASTER_DAT.PART_ID0x7>
+    <T_MASTER_DAT.PART_ID1x7>123456789</T_MASTER_DAT.PART_ID1x7>
+    <T_MASTER_DAT.PART_ID2x7>123456789</T_MASTER_DAT.PART_ID2x7>
+    <T_MASTER_DAT.PART_ID3x7>123456789</T_MASTER_DAT.PART_ID3x7>
+    <T_MASTER_DAT.PART_ID4x7>123456789</T_MASTER_DAT.PART_ID4x7>
+    <T_MASTER_DAT.PART_ID5x7>123456789</T_MASTER_DAT.PART_ID5x7>
+    <T_MASTER_DAT.PART_ID6x7>123456789</T_MASTER_DAT.PART_ID6x7>
+    <T_MASTER_DAT.PART_ID7x7>123456789</T_MASTER_DAT.PART_ID7x7>
+    <T_MASTER_DAT.PART_ID8x7>123456789</T_MASTER_DAT.PART_ID8x7>
+    <T_MASTER_DAT.PART_ID9x7>123456789</T_MASTER_DAT.PART_ID9x7>
+    <T_MASTER_DAT.PART_ID10x7>123456789</T_MASTER_DAT.PART_ID10x7>
+    <T_MASTER_DAT.PART_ID11x7>123456789</T_MASTER_DAT.PART_ID11x7>
+    <T_MASTER_DAT.PART_ID12x7>123456789</T_MASTER_DAT.PART_ID12x7>
+    <T_MASTER_DAT.PART_ID13x7>123456789</T_MASTER_DAT.PART_ID13x7>
+    <T_MASTER_DAT.PART_ID14x7>123456789</T_MASTER_DAT.PART_ID14x7>
+    <T_MASTER_DAT.PART_ID15x7>123456789</T_MASTER_DAT.PART_ID15x7>
+    <T_MASTER_DAT.PART_ID16x7>123456789</T_MASTER_DAT.PART_ID16x7>
+    <T_MASTER_DAT.PART_ID17x7>123456789</T_MASTER_DAT.PART_ID17x7>
+    <T_MASTER_DAT.PART_ID18x7>123456789</T_MASTER_DAT.PART_ID18x7>
+    <T_MASTER_DAT.PART_ID19x7>123456789</T_MASTER_DAT.PART_ID19x7>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x8>123456789</T_MASTER_DAT.PART_ID0x8>
+    <T_MASTER_DAT.PART_ID1x8>123456789</T_MASTER_DAT.PART_ID1x8>
+    <T_MASTER_DAT.PART_ID2x8>123456789</T_MASTER_DAT.PART_ID2x8>
+    <T_MASTER_DAT.PART_ID3x8>123456789</T_MASTER_DAT.PART_ID3x8>
+    <T_MASTER_DAT.PART_ID4x8>123456789</T_MASTER_DAT.PART_ID4x8>
+    <T_MASTER_DAT.PART_ID5x8>123456789</T_MASTER_DAT.PART_ID5x8>
+    <T_MASTER_DAT.PART_ID6x8>123456789</T_MASTER_DAT.PART_ID6x8>
+    <T_MASTER_DAT.PART_ID7x8>123456789</T_MASTER_DAT.PART_ID7x8>
+    <T_MASTER_DAT.PART_ID8x8>123456789</T_MASTER_DAT.PART_ID8x8>
+    <T_MASTER_DAT.PART_ID9x8>123456789</T_MASTER_DAT.PART_ID9x8>
+    <T_MASTER_DAT.PART_ID10x8>123456789</T_MASTER_DAT.PART_ID10x8>
+    <T_MASTER_DAT.PART_ID11x8>123456789</T_MASTER_DAT.PART_ID11x8>
+    <T_MASTER_DAT.PART_ID12x8>123456789</T_MASTER_DAT.PART_ID12x8>
+    <T_MASTER_DAT.PART_ID13x8>123456789</T_MASTER_DAT.PART_ID13x8>
+    <T_MASTER_DAT.PART_ID14x8>123456789</T_MASTER_DAT.PART_ID14x8>
+    <T_MASTER_DAT.PART_ID15x8>123456789</T_MASTER_DAT.PART_ID15x8>
+    <T_MASTER_DAT.PART_ID16x8>123456789</T_MASTER_DAT.PART_ID16x8>
+    <T_MASTER_DAT.PART_ID17x8>123456789</T_MASTER_DAT.PART_ID17x8>
+    <T_MASTER_DAT.PART_ID18x8>123456789</T_MASTER_DAT.PART_ID18x8>
+    <T_MASTER_DAT.PART_ID19x8>123456789</T_MASTER_DAT.PART_ID19x8>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x9>123456789</T_MASTER_DAT.PART_ID0x9>
+    <T_MASTER_DAT.PART_ID1x9>123456789</T_MASTER_DAT.PART_ID1x9>
+    <T_MASTER_DAT.PART_ID2x9>123456789</T_MASTER_DAT.PART_ID2x9>
+    <T_MASTER_DAT.PART_ID3x9>123456789</T_MASTER_DAT.PART_ID3x9>
+    <T_MASTER_DAT.PART_ID4x9>123456789</T_MASTER_DAT.PART_ID4x9>
+    <T_MASTER_DAT.PART_ID5x9>123456789</T_MASTER_DAT.PART_ID5x9>
+    <T_MASTER_DAT.PART_ID6x9>123456789</T_MASTER_DAT.PART_ID6x9>
+    <T_MASTER_DAT.PART_ID7x9>123456789</T_MASTER_DAT.PART_ID7x9>
+    <T_MASTER_DAT.PART_ID8x9>123456789</T_MASTER_DAT.PART_ID8x9>
+    <T_MASTER_DAT.PART_ID9x9>123456789</T_MASTER_DAT.PART_ID9x9>
+    <T_MASTER_DAT.PART_ID10x9>123456789</T_MASTER_DAT.PART_ID10x9>
+    <T_MASTER_DAT.PART_ID11x9>123456789</T_MASTER_DAT.PART_ID11x9>
+    <T_MASTER_DAT.PART_ID12x9>123456789</T_MASTER_DAT.PART_ID12x9>
+    <T_MASTER_DAT.PART_ID13x9>123456789</T_MASTER_DAT.PART_ID13x9>
+    <T_MASTER_DAT.PART_ID14x9>123456789</T_MASTER_DAT.PART_ID14x9>
+    <T_MASTER_DAT.PART_ID15x9>123456789</T_MASTER_DAT.PART_ID15x9>
+    <T_MASTER_DAT.PART_ID16x9>123456789</T_MASTER_DAT.PART_ID16x9>
+    <T_MASTER_DAT.PART_ID17x9>123456789</T_MASTER_DAT.PART_ID17x9>
+    <T_MASTER_DAT.PART_ID18x9>123456789</T_MASTER_DAT.PART_ID18x9>
+    <T_MASTER_DAT.PART_ID19x9>123456789</T_MASTER_DAT.PART_ID19x9>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x10>123456789</T_MASTER_DAT.PART_ID0x10>
+    <T_MASTER_DAT.PART_ID1x10>123456789</T_MASTER_DAT.PART_ID1x10>
+    <T_MASTER_DAT.PART_ID2x10>123456789</T_MASTER_DAT.PART_ID2x10>
+    <T_MASTER_DAT.PART_ID3x10>123456789</T_MASTER_DAT.PART_ID3x10>
+    <T_MASTER_DAT.PART_ID4x10>123456789</T_MASTER_DAT.PART_ID4x10>
+    <T_MASTER_DAT.PART_ID5x10>123456789</T_MASTER_DAT.PART_ID5x10>
+    <T_MASTER_DAT.PART_ID6x10>123456789</T_MASTER_DAT.PART_ID6x10>
+    <T_MASTER_DAT.PART_ID7x10>123456789</T_MASTER_DAT.PART_ID7x10>
+    <T_MASTER_DAT.PART_ID8x10>123456789</T_MASTER_DAT.PART_ID8x10>
+    <T_MASTER_DAT.PART_ID9x10>123456789</T_MASTER_DAT.PART_ID9x10>
+    <T_MASTER_DAT.PART_ID10x10>123456789</T_MASTER_DAT.PART_ID10x10>
+    <T_MASTER_DAT.PART_ID11x10>123456789</T_MASTER_DAT.PART_ID11x10>
+    <T_MASTER_DAT.PART_ID12x10>123456789</T_MASTER_DAT.PART_ID12x10>
+    <T_MASTER_DAT.PART_ID13x10>123456789</T_MASTER_DAT.PART_ID13x10>
+    <T_MASTER_DAT.PART_ID14x10>123456789</T_MASTER_DAT.PART_ID14x10>
+    <T_MASTER_DAT.PART_ID15x10>123456789</T_MASTER_DAT.PART_ID15x10>
+    <T_MASTER_DAT.PART_ID16x10>123456789</T_MASTER_DAT.PART_ID16x10>
+    <T_MASTER_DAT.PART_ID17x10>123456789</T_MASTER_DAT.PART_ID17x10>
+    <T_MASTER_DAT.PART_ID18x10>123456789</T_MASTER_DAT.PART_ID18x10>
+    <T_MASTER_DAT.PART_ID19x10>123456789</T_MASTER_DAT.PART_ID19x10>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x11>123456789</T_MASTER_DAT.PART_ID0x11>
+    <T_MASTER_DAT.PART_ID1x11>123456789</T_MASTER_DAT.PART_ID1x11>
+    <T_MASTER_DAT.PART_ID2x11>123456789</T_MASTER_DAT.PART_ID2x11>
+    <T_MASTER_DAT.PART_ID3x11>123456789</T_MASTER_DAT.PART_ID3x11>
+    <T_MASTER_DAT.PART_ID4x11>123456789</T_MASTER_DAT.PART_ID4x11>
+    <T_MASTER_DAT.PART_ID5x11>123456789</T_MASTER_DAT.PART_ID5x11>
+    <T_MASTER_DAT.PART_ID6x11>123456789</T_MASTER_DAT.PART_ID6x11>
+    <T_MASTER_DAT.PART_ID7x11>123456789</T_MASTER_DAT.PART_ID7x11>
+    <T_MASTER_DAT.PART_ID8x11>123456789</T_MASTER_DAT.PART_ID8x11>
+    <T_MASTER_DAT.PART_ID9x11>123456789</T_MASTER_DAT.PART_ID9x11>
+    <T_MASTER_DAT.PART_ID10x11>123456789</T_MASTER_DAT.PART_ID10x11>
+    <T_MASTER_DAT.PART_ID11x11>123456789</T_MASTER_DAT.PART_ID11x11>
+    <T_MASTER_DAT.PART_ID12x11>123456789</T_MASTER_DAT.PART_ID12x11>
+    <T_MASTER_DAT.PART_ID13x11>123456789</T_MASTER_DAT.PART_ID13x11>
+    <T_MASTER_DAT.PART_ID14x11>123456789</T_MASTER_DAT.PART_ID14x11>
+    <T_MASTER_DAT.PART_ID15x11>123456789</T_MASTER_DAT.PART_ID15x11>
+    <T_MASTER_DAT.PART_ID16x11>123456789</T_MASTER_DAT.PART_ID16x11>
+    <T_MASTER_DAT.PART_ID17x11>123456789</T_MASTER_DAT.PART_ID17x11>
+    <T_MASTER_DAT.PART_ID18x11>123456789</T_MASTER_DAT.PART_ID18x11>
+    <T_MASTER_DAT.PART_ID19x11>123456789</T_MASTER_DAT.PART_ID19x11>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x12>123456789</T_MASTER_DAT.PART_ID0x12>
+    <T_MASTER_DAT.PART_ID1x12>123456789</T_MASTER_DAT.PART_ID1x12>
+    <T_MASTER_DAT.PART_ID2x12>123456789</T_MASTER_DAT.PART_ID2x12>
+    <T_MASTER_DAT.PART_ID3x12>123456789</T_MASTER_DAT.PART_ID3x12>
+    <T_MASTER_DAT.PART_ID4x12>123456789</T_MASTER_DAT.PART_ID4x12>
+    <T_MASTER_DAT.PART_ID5x12>123456789</T_MASTER_DAT.PART_ID5x12>
+    <T_MASTER_DAT.PART_ID6x12>123456789</T_MASTER_DAT.PART_ID6x12>
+    <T_MASTER_DAT.PART_ID7x12>123456789</T_MASTER_DAT.PART_ID7x12>
+    <T_MASTER_DAT.PART_ID8x12>123456789</T_MASTER_DAT.PART_ID8x12>
+    <T_MASTER_DAT.PART_ID9x12>123456789</T_MASTER_DAT.PART_ID9x12>
+    <T_MASTER_DAT.PART_ID10x12>123456789</T_MASTER_DAT.PART_ID10x12>
+    <T_MASTER_DAT.PART_ID11x12>123456789</T_MASTER_DAT.PART_ID11x12>
+    <T_MASTER_DAT.PART_ID12x12>123456789</T_MASTER_DAT.PART_ID12x12>
+    <T_MASTER_DAT.PART_ID13x12>123456789</T_MASTER_DAT.PART_ID13x12>
+    <T_MASTER_DAT.PART_ID14x12>123456789</T_MASTER_DAT.PART_ID14x12>
+    <T_MASTER_DAT.PART_ID15x12>123456789</T_MASTER_DAT.PART_ID15x12>
+    <T_MASTER_DAT.PART_ID16x12>123456789</T_MASTER_DAT.PART_ID16x12>
+    <T_MASTER_DAT.PART_ID17x12>123456789</T_MASTER_DAT.PART_ID17x12>
+    <T_MASTER_DAT.PART_ID18x12>123456789</T_MASTER_DAT.PART_ID18x12>
+    <T_MASTER_DAT.PART_ID19x12>123456789</T_MASTER_DAT.PART_ID19x12>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x13>123456789</T_MASTER_DAT.PART_ID0x13>
+    <T_MASTER_DAT.PART_ID1x13>123456789</T_MASTER_DAT.PART_ID1x13>
+    <T_MASTER_DAT.PART_ID2x13>123456789</T_MASTER_DAT.PART_ID2x13>
+    <T_MASTER_DAT.PART_ID3x13>123456789</T_MASTER_DAT.PART_ID3x13>
+    <T_MASTER_DAT.PART_ID4x13>123456789</T_MASTER_DAT.PART_ID4x13>
+    <T_MASTER_DAT.PART_ID5x13>123456789</T_MASTER_DAT.PART_ID5x13>
+    <T_MASTER_DAT.PART_ID6x13>123456789</T_MASTER_DAT.PART_ID6x13>
+    <T_MASTER_DAT.PART_ID7x13>123456789</T_MASTER_DAT.PART_ID7x13>
+    <T_MASTER_DAT.PART_ID8x13>123456789</T_MASTER_DAT.PART_ID8x13>
+    <T_MASTER_DAT.PART_ID9x13>123456789</T_MASTER_DAT.PART_ID9x13>
+    <T_MASTER_DAT.PART_ID10x13>123456789</T_MASTER_DAT.PART_ID10x13>
+    <T_MASTER_DAT.PART_ID11x13>123456789</T_MASTER_DAT.PART_ID11x13>
+    <T_MASTER_DAT.PART_ID12x13>123456789</T_MASTER_DAT.PART_ID12x13>
+    <T_MASTER_DAT.PART_ID13x13>123456789</T_MASTER_DAT.PART_ID13x13>
+    <T_MASTER_DAT.PART_ID14x13>123456789</T_MASTER_DAT.PART_ID14x13>
+    <T_MASTER_DAT.PART_ID15x13>123456789</T_MASTER_DAT.PART_ID15x13>
+    <T_MASTER_DAT.PART_ID16x13>123456789</T_MASTER_DAT.PART_ID16x13>
+    <T_MASTER_DAT.PART_ID17x13>123456789</T_MASTER_DAT.PART_ID17x13>
+    <T_MASTER_DAT.PART_ID18x13>123456789</T_MASTER_DAT.PART_ID18x13>
+    <T_MASTER_DAT.PART_ID19x13>123456789</T_MASTER_DAT.PART_ID19x13>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x14>123456789</T_MASTER_DAT.PART_ID0x14>
+    <T_MASTER_DAT.PART_ID1x14>123456789</T_MASTER_DAT.PART_ID1x14>
+    <T_MASTER_DAT.PART_ID2x14>123456789</T_MASTER_DAT.PART_ID2x14>
+    <T_MASTER_DAT.PART_ID3x14>123456789</T_MASTER_DAT.PART_ID3x14>
+    <T_MASTER_DAT.PART_ID4x14>123456789</T_MASTER_DAT.PART_ID4x14>
+    <T_MASTER_DAT.PART_ID5x14>123456789</T_MASTER_DAT.PART_ID5x14>
+    <T_MASTER_DAT.PART_ID6x14>123456789</T_MASTER_DAT.PART_ID6x14>
+    <T_MASTER_DAT.PART_ID7x14>123456789</T_MASTER_DAT.PART_ID7x14>
+    <T_MASTER_DAT.PART_ID8x14>123456789</T_MASTER_DAT.PART_ID8x14>
+    <T_MASTER_DAT.PART_ID9x14>123456789</T_MASTER_DAT.PART_ID9x14>
+    <T_MASTER_DAT.PART_ID10x14>123456789</T_MASTER_DAT.PART_ID10x14>
+    <T_MASTER_DAT.PART_ID11x14>123456789</T_MASTER_DAT.PART_ID11x14>
+    <T_MASTER_DAT.PART_ID12x14>123456789</T_MASTER_DAT.PART_ID12x14>
+    <T_MASTER_DAT.PART_ID13x14>123456789</T_MASTER_DAT.PART_ID13x14>
+    <T_MASTER_DAT.PART_ID14x14>123456789</T_MASTER_DAT.PART_ID14x14>
+    <T_MASTER_DAT.PART_ID15x14>123456789</T_MASTER_DAT.PART_ID15x14>
+    <T_MASTER_DAT.PART_ID16x14>123456789</T_MASTER_DAT.PART_ID16x14>
+    <T_MASTER_DAT.PART_ID17x14>123456789</T_MASTER_DAT.PART_ID17x14>
+    <T_MASTER_DAT.PART_ID18x14>123456789</T_MASTER_DAT.PART_ID18x14>
+    <T_MASTER_DAT.PART_ID19x14>123456789</T_MASTER_DAT.PART_ID19x14>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x15>123456789</T_MASTER_DAT.PART_ID0x15>
+    <T_MASTER_DAT.PART_ID1x15>123456789</T_MASTER_DAT.PART_ID1x15>
+    <T_MASTER_DAT.PART_ID2x15>123456789</T_MASTER_DAT.PART_ID2x15>
+    <T_MASTER_DAT.PART_ID3x15>123456789</T_MASTER_DAT.PART_ID3x15>
+    <T_MASTER_DAT.PART_ID4x15>123456789</T_MASTER_DAT.PART_ID4x15>
+    <T_MASTER_DAT.PART_ID5x15>123456789</T_MASTER_DAT.PART_ID5x15>
+    <T_MASTER_DAT.PART_ID6x15>123456789</T_MASTER_DAT.PART_ID6x15>
+    <T_MASTER_DAT.PART_ID7x15>123456789</T_MASTER_DAT.PART_ID7x15>
+    <T_MASTER_DAT.PART_ID8x15>123456789</T_MASTER_DAT.PART_ID8x15>
+    <T_MASTER_DAT.PART_ID9x15>123456789</T_MASTER_DAT.PART_ID9x15>
+    <T_MASTER_DAT.PART_ID10x15>123456789</T_MASTER_DAT.PART_ID10x15>
+    <T_MASTER_DAT.PART_ID11x15>123456789</T_MASTER_DAT.PART_ID11x15>
+    <T_MASTER_DAT.PART_ID12x15>123456789</T_MASTER_DAT.PART_ID12x15>
+    <T_MASTER_DAT.PART_ID13x15>123456789</T_MASTER_DAT.PART_ID13x15>
+    <T_MASTER_DAT.PART_ID14x15>123456789</T_MASTER_DAT.PART_ID14x15>
+    <T_MASTER_DAT.PART_ID15x15>123456789</T_MASTER_DAT.PART_ID15x15>
+    <T_MASTER_DAT.PART_ID16x15>123456789</T_MASTER_DAT.PART_ID16x15>
+    <T_MASTER_DAT.PART_ID17x15>123456789</T_MASTER_DAT.PART_ID17x15>
+    <T_MASTER_DAT.PART_ID18x15>123456789</T_MASTER_DAT.PART_ID18x15>
+    <T_MASTER_DAT.PART_ID19x15>123456789</T_MASTER_DAT.PART_ID19x15>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x16>123456789</T_MASTER_DAT.PART_ID0x16>
+    <T_MASTER_DAT.PART_ID1x16>123456789</T_MASTER_DAT.PART_ID1x16>
+    <T_MASTER_DAT.PART_ID2x16>123456789</T_MASTER_DAT.PART_ID2x16>
+    <T_MASTER_DAT.PART_ID3x16>123456789</T_MASTER_DAT.PART_ID3x16>
+    <T_MASTER_DAT.PART_ID4x16>123456789</T_MASTER_DAT.PART_ID4x16>
+    <T_MASTER_DAT.PART_ID5x16>123456789</T_MASTER_DAT.PART_ID5x16>
+    <T_MASTER_DAT.PART_ID6x16>123456789</T_MASTER_DAT.PART_ID6x16>
+    <T_MASTER_DAT.PART_ID7x16>123456789</T_MASTER_DAT.PART_ID7x16>
+    <T_MASTER_DAT.PART_ID8x16>123456789</T_MASTER_DAT.PART_ID8x16>
+    <T_MASTER_DAT.PART_ID9x16>123456789</T_MASTER_DAT.PART_ID9x16>
+    <T_MASTER_DAT.PART_ID10x16>123456789</T_MASTER_DAT.PART_ID10x16>
+    <T_MASTER_DAT.PART_ID11x16>123456789</T_MASTER_DAT.PART_ID11x16>
+    <T_MASTER_DAT.PART_ID12x16>123456789</T_MASTER_DAT.PART_ID12x16>
+    <T_MASTER_DAT.PART_ID13x16>123456789</T_MASTER_DAT.PART_ID13x16>
+    <T_MASTER_DAT.PART_ID14x16>123456789</T_MASTER_DAT.PART_ID14x16>
+    <T_MASTER_DAT.PART_ID15x16>123456789</T_MASTER_DAT.PART_ID15x16>
+    <T_MASTER_DAT.PART_ID16x16>123456789</T_MASTER_DAT.PART_ID16x16>
+    <T_MASTER_DAT.PART_ID17x16>123456789</T_MASTER_DAT.PART_ID17x16>
+    <T_MASTER_DAT.PART_ID18x16>123456789</T_MASTER_DAT.PART_ID18x16>
+    <T_MASTER_DAT.PART_ID19x16>123456789</T_MASTER_DAT.PART_ID19x16>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x17>123456789</T_MASTER_DAT.PART_ID0x17>
+    <T_MASTER_DAT.PART_ID1x17>123456789</T_MASTER_DAT.PART_ID1x17>
+    <T_MASTER_DAT.PART_ID2x17>123456789</T_MASTER_DAT.PART_ID2x17>
+    <T_MASTER_DAT.PART_ID3x17>123456789</T_MASTER_DAT.PART_ID3x17>
+    <T_MASTER_DAT.PART_ID4x17>123456789</T_MASTER_DAT.PART_ID4x17>
+    <T_MASTER_DAT.PART_ID5x17>123456789</T_MASTER_DAT.PART_ID5x17>
+    <T_MASTER_DAT.PART_ID6x17>123456789</T_MASTER_DAT.PART_ID6x17>
+    <T_MASTER_DAT.PART_ID7x17>123456789</T_MASTER_DAT.PART_ID7x17>
+    <T_MASTER_DAT.PART_ID8x17>123456789</T_MASTER_DAT.PART_ID8x17>
+    <T_MASTER_DAT.PART_ID9x17>123456789</T_MASTER_DAT.PART_ID9x17>
+    <T_MASTER_DAT.PART_ID10x17>123456789</T_MASTER_DAT.PART_ID10x17>
+    <T_MASTER_DAT.PART_ID11x17>123456789</T_MASTER_DAT.PART_ID11x17>
+    <T_MASTER_DAT.PART_ID12x17>123456789</T_MASTER_DAT.PART_ID12x17>
+    <T_MASTER_DAT.PART_ID13x17>123456789</T_MASTER_DAT.PART_ID13x17>
+    <T_MASTER_DAT.PART_ID14x17>123456789</T_MASTER_DAT.PART_ID14x17>
+    <T_MASTER_DAT.PART_ID15x17>123456789</T_MASTER_DAT.PART_ID15x17>
+    <T_MASTER_DAT.PART_ID16x17>123456789</T_MASTER_DAT.PART_ID16x17>
+    <T_MASTER_DAT.PART_ID17x17>123456789</T_MASTER_DAT.PART_ID17x17>
+    <T_MASTER_DAT.PART_ID18x17>123456789</T_MASTER_DAT.PART_ID18x17>
+    <T_MASTER_DAT.PART_ID19x17>123456789</T_MASTER_DAT.PART_ID19x17>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x18>123456789</T_MASTER_DAT.PART_ID0x18>
+    <T_MASTER_DAT.PART_ID1x18>123456789</T_MASTER_DAT.PART_ID1x18>
+    <T_MASTER_DAT.PART_ID2x18>123456789</T_MASTER_DAT.PART_ID2x18>
+    <T_MASTER_DAT.PART_ID3x18>123456789</T_MASTER_DAT.PART_ID3x18>
+    <T_MASTER_DAT.PART_ID4x18>123456789</T_MASTER_DAT.PART_ID4x18>
+    <T_MASTER_DAT.PART_ID5x18>123456789</T_MASTER_DAT.PART_ID5x18>
+    <T_MASTER_DAT.PART_ID6x18>123456789</T_MASTER_DAT.PART_ID6x18>
+    <T_MASTER_DAT.PART_ID7x18>123456789</T_MASTER_DAT.PART_ID7x18>
+    <T_MASTER_DAT.PART_ID8x18>123456789</T_MASTER_DAT.PART_ID8x18>
+    <T_MASTER_DAT.PART_ID9x18>123456789</T_MASTER_DAT.PART_ID9x18>
+    <T_MASTER_DAT.PART_ID10x18>123456789</T_MASTER_DAT.PART_ID10x18>
+    <T_MASTER_DAT.PART_ID11x18>123456789</T_MASTER_DAT.PART_ID11x18>
+    <T_MASTER_DAT.PART_ID12x18>123456789</T_MASTER_DAT.PART_ID12x18>
+    <T_MASTER_DAT.PART_ID13x18>123456789</T_MASTER_DAT.PART_ID13x18>
+    <T_MASTER_DAT.PART_ID14x18>123456789</T_MASTER_DAT.PART_ID14x18>
+    <T_MASTER_DAT.PART_ID15x18>123456789</T_MASTER_DAT.PART_ID15x18>
+    <T_MASTER_DAT.PART_ID16x18>123456789</T_MASTER_DAT.PART_ID16x18>
+    <T_MASTER_DAT.PART_ID17x18>123456789</T_MASTER_DAT.PART_ID17x18>
+    <T_MASTER_DAT.PART_ID18x18>123456789</T_MASTER_DAT.PART_ID18x18>
+    <T_MASTER_DAT.PART_ID19x18>123456789</T_MASTER_DAT.PART_ID19x18>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x19>123456789</T_MASTER_DAT.PART_ID0x19>
+    <T_MASTER_DAT.PART_ID1x19>123456789</T_MASTER_DAT.PART_ID1x19>
+    <T_MASTER_DAT.PART_ID2x19>123456789</T_MASTER_DAT.PART_ID2x19>
+    <T_MASTER_DAT.PART_ID3x19>123456789</T_MASTER_DAT.PART_ID3x19>
+    <T_MASTER_DAT.PART_ID4x19>123456789</T_MASTER_DAT.PART_ID4x19>
+    <T_MASTER_DAT.PART_ID5x19>123456789</T_MASTER_DAT.PART_ID5x19>
+    <T_MASTER_DAT.PART_ID6x19>123456789</T_MASTER_DAT.PART_ID6x19>
+    <T_MASTER_DAT.PART_ID7x19>123456789</T_MASTER_DAT.PART_ID7x19>
+    <T_MASTER_DAT.PART_ID8x19>123456789</T_MASTER_DAT.PART_ID8x19>
+    <T_MASTER_DAT.PART_ID9x19>123456789</T_MASTER_DAT.PART_ID9x19>
+    <T_MASTER_DAT.PART_ID10x19>123456789</T_MASTER_DAT.PART_ID10x19>
+    <T_MASTER_DAT.PART_ID11x19>123456789</T_MASTER_DAT.PART_ID11x19>
+    <T_MASTER_DAT.PART_ID12x19>123456789</T_MASTER_DAT.PART_ID12x19>
+    <T_MASTER_DAT.PART_ID13x19>123456789</T_MASTER_DAT.PART_ID13x19>
+    <T_MASTER_DAT.PART_ID14x19>123456789</T_MASTER_DAT.PART_ID14x19>
+    <T_MASTER_DAT.PART_ID15x19>123456789</T_MASTER_DAT.PART_ID15x19>
+    <T_MASTER_DAT.PART_ID16x19>123456789</T_MASTER_DAT.PART_ID16x19>
+    <T_MASTER_DAT.PART_ID17x19>123456789</T_MASTER_DAT.PART_ID17x19>
+    <T_MASTER_DAT.PART_ID18x19>123456789</T_MASTER_DAT.PART_ID18x19>
+    <T_MASTER_DAT.PART_ID19x19>123456789</T_MASTER_DAT.PART_ID19x19>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x20>123456789</T_MASTER_DAT.PART_ID0x20>
+    <T_MASTER_DAT.PART_ID1x20>123456789</T_MASTER_DAT.PART_ID1x20>
+    <T_MASTER_DAT.PART_ID2x20>123456789</T_MASTER_DAT.PART_ID2x20>
+    <T_MASTER_DAT.PART_ID3x20>123456789</T_MASTER_DAT.PART_ID3x20>
+    <T_MASTER_DAT.PART_ID4x20>123456789</T_MASTER_DAT.PART_ID4x20>
+    <T_MASTER_DAT.PART_ID5x20>123456789</T_MASTER_DAT.PART_ID5x20>
+    <T_MASTER_DAT.PART_ID6x20>123456789</T_MASTER_DAT.PART_ID6x20>
+    <T_MASTER_DAT.PART_ID7x20>123456789</T_MASTER_DAT.PART_ID7x20>
+    <T_MASTER_DAT.PART_ID8x20>123456789</T_MASTER_DAT.PART_ID8x20>
+    <T_MASTER_DAT.PART_ID9x20>123456789</T_MASTER_DAT.PART_ID9x20>
+    <T_MASTER_DAT.PART_ID10x20>123456789</T_MASTER_DAT.PART_ID10x20>
+    <T_MASTER_DAT.PART_ID11x20>123456789</T_MASTER_DAT.PART_ID11x20>
+    <T_MASTER_DAT.PART_ID12x20>123456789</T_MASTER_DAT.PART_ID12x20>
+    <T_MASTER_DAT.PART_ID13x20>123456789</T_MASTER_DAT.PART_ID13x20>
+    <T_MASTER_DAT.PART_ID14x20>123456789</T_MASTER_DAT.PART_ID14x20>
+    <T_MASTER_DAT.PART_ID15x20>123456789</T_MASTER_DAT.PART_ID15x20>
+    <T_MASTER_DAT.PART_ID16x20>123456789</T_MASTER_DAT.PART_ID16x20>
+    <T_MASTER_DAT.PART_ID17x20>123456789</T_MASTER_DAT.PART_ID17x20>
+    <T_MASTER_DAT.PART_ID18x20>123456789</T_MASTER_DAT.PART_ID18x20>
+    <T_MASTER_DAT.PART_ID19x20>123456789</T_MASTER_DAT.PART_ID19x20>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x21>123456789</T_MASTER_DAT.PART_ID0x21>
+    <T_MASTER_DAT.PART_ID1x21>123456789</T_MASTER_DAT.PART_ID1x21>
+    <T_MASTER_DAT.PART_ID2x21>123456789</T_MASTER_DAT.PART_ID2x21>
+    <T_MASTER_DAT.PART_ID3x21>123456789</T_MASTER_DAT.PART_ID3x21>
+    <T_MASTER_DAT.PART_ID4x21>123456789</T_MASTER_DAT.PART_ID4x21>
+    <T_MASTER_DAT.PART_ID5x21>123456789</T_MASTER_DAT.PART_ID5x21>
+    <T_MASTER_DAT.PART_ID6x21>123456789</T_MASTER_DAT.PART_ID6x21>
+    <T_MASTER_DAT.PART_ID7x21>123456789</T_MASTER_DAT.PART_ID7x21>
+    <T_MASTER_DAT.PART_ID8x21>123456789</T_MASTER_DAT.PART_ID8x21>
+    <T_MASTER_DAT.PART_ID9x21>123456789</T_MASTER_DAT.PART_ID9x21>
+    <T_MASTER_DAT.PART_ID10x21>123456789</T_MASTER_DAT.PART_ID10x21>
+    <T_MASTER_DAT.PART_ID11x21>123456789</T_MASTER_DAT.PART_ID11x21>
+    <T_MASTER_DAT.PART_ID12x21>123456789</T_MASTER_DAT.PART_ID12x21>
+    <T_MASTER_DAT.PART_ID13x21>123456789</T_MASTER_DAT.PART_ID13x21>
+    <T_MASTER_DAT.PART_ID14x21>123456789</T_MASTER_DAT.PART_ID14x21>
+    <T_MASTER_DAT.PART_ID15x21>123456789</T_MASTER_DAT.PART_ID15x21>
+    <T_MASTER_DAT.PART_ID16x21>123456789</T_MASTER_DAT.PART_ID16x21>
+    <T_MASTER_DAT.PART_ID17x21>123456789</T_MASTER_DAT.PART_ID17x21>
+    <T_MASTER_DAT.PART_ID18x21>123456789</T_MASTER_DAT.PART_ID18x21>
+    <T_MASTER_DAT.PART_ID19x21>123456789</T_MASTER_DAT.PART_ID19x21>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x22>123456789</T_MASTER_DAT.PART_ID0x22>
+    <T_MASTER_DAT.PART_ID1x22>123456789</T_MASTER_DAT.PART_ID1x22>
+    <T_MASTER_DAT.PART_ID2x22>123456789</T_MASTER_DAT.PART_ID2x22>
+    <T_MASTER_DAT.PART_ID3x22>123456789</T_MASTER_DAT.PART_ID3x22>
+    <T_MASTER_DAT.PART_ID4x22>123456789</T_MASTER_DAT.PART_ID4x22>
+    <T_MASTER_DAT.PART_ID5x22>123456789</T_MASTER_DAT.PART_ID5x22>
+    <T_MASTER_DAT.PART_ID6x22>123456789</T_MASTER_DAT.PART_ID6x22>
+    <T_MASTER_DAT.PART_ID7x22>123456789</T_MASTER_DAT.PART_ID7x22>
+    <T_MASTER_DAT.PART_ID8x22>123456789</T_MASTER_DAT.PART_ID8x22>
+    <T_MASTER_DAT.PART_ID9x22>123456789</T_MASTER_DAT.PART_ID9x22>
+    <T_MASTER_DAT.PART_ID10x22>123456789</T_MASTER_DAT.PART_ID10x22>
+    <T_MASTER_DAT.PART_ID11x22>123456789</T_MASTER_DAT.PART_ID11x22>
+    <T_MASTER_DAT.PART_ID12x22>123456789</T_MASTER_DAT.PART_ID12x22>
+    <T_MASTER_DAT.PART_ID13x22>123456789</T_MASTER_DAT.PART_ID13x22>
+    <T_MASTER_DAT.PART_ID14x22>123456789</T_MASTER_DAT.PART_ID14x22>
+    <T_MASTER_DAT.PART_ID15x22>123456789</T_MASTER_DAT.PART_ID15x22>
+    <T_MASTER_DAT.PART_ID16x22>123456789</T_MASTER_DAT.PART_ID16x22>
+    <T_MASTER_DAT.PART_ID17x22>123456789</T_MASTER_DAT.PART_ID17x22>
+    <T_MASTER_DAT.PART_ID18x22>123456789</T_MASTER_DAT.PART_ID18x22>
+    <T_MASTER_DAT.PART_ID19x22>123456789</T_MASTER_DAT.PART_ID19x22>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x23>123456789</T_MASTER_DAT.PART_ID0x23>
+    <T_MASTER_DAT.PART_ID1x23>123456789</T_MASTER_DAT.PART_ID1x23>
+    <T_MASTER_DAT.PART_ID2x23>123456789</T_MASTER_DAT.PART_ID2x23>
+    <T_MASTER_DAT.PART_ID3x23>123456789</T_MASTER_DAT.PART_ID3x23>
+    <T_MASTER_DAT.PART_ID4x23>123456789</T_MASTER_DAT.PART_ID4x23>
+    <T_MASTER_DAT.PART_ID5x23>123456789</T_MASTER_DAT.PART_ID5x23>
+    <T_MASTER_DAT.PART_ID6x23>123456789</T_MASTER_DAT.PART_ID6x23>
+    <T_MASTER_DAT.PART_ID7x23>123456789</T_MASTER_DAT.PART_ID7x23>
+    <T_MASTER_DAT.PART_ID8x23>123456789</T_MASTER_DAT.PART_ID8x23>
+    <T_MASTER_DAT.PART_ID9x23>123456789</T_MASTER_DAT.PART_ID9x23>
+    <T_MASTER_DAT.PART_ID10x23>123456789</T_MASTER_DAT.PART_ID10x23>
+    <T_MASTER_DAT.PART_ID11x23>123456789</T_MASTER_DAT.PART_ID11x23>
+    <T_MASTER_DAT.PART_ID12x23>123456789</T_MASTER_DAT.PART_ID12x23>
+    <T_MASTER_DAT.PART_ID13x23>123456789</T_MASTER_DAT.PART_ID13x23>
+    <T_MASTER_DAT.PART_ID14x23>123456789</T_MASTER_DAT.PART_ID14x23>
+    <T_MASTER_DAT.PART_ID15x23>123456789</T_MASTER_DAT.PART_ID15x23>
+    <T_MASTER_DAT.PART_ID16x23>123456789</T_MASTER_DAT.PART_ID16x23>
+    <T_MASTER_DAT.PART_ID17x23>123456789</T_MASTER_DAT.PART_ID17x23>
+    <T_MASTER_DAT.PART_ID18x23>123456789</T_MASTER_DAT.PART_ID18x23>
+    <T_MASTER_DAT.PART_ID19x23>123456789</T_MASTER_DAT.PART_ID19x23>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x24>123456789</T_MASTER_DAT.PART_ID0x24>
+    <T_MASTER_DAT.PART_ID1x24>123456789</T_MASTER_DAT.PART_ID1x24>
+    <T_MASTER_DAT.PART_ID2x24>123456789</T_MASTER_DAT.PART_ID2x24>
+    <T_MASTER_DAT.PART_ID3x24>123456789</T_MASTER_DAT.PART_ID3x24>
+    <T_MASTER_DAT.PART_ID4x24>123456789</T_MASTER_DAT.PART_ID4x24>
+    <T_MASTER_DAT.PART_ID5x24>123456789</T_MASTER_DAT.PART_ID5x24>
+    <T_MASTER_DAT.PART_ID6x24>123456789</T_MASTER_DAT.PART_ID6x24>
+    <T_MASTER_DAT.PART_ID7x24>123456789</T_MASTER_DAT.PART_ID7x24>
+    <T_MASTER_DAT.PART_ID8x24>123456789</T_MASTER_DAT.PART_ID8x24>
+    <T_MASTER_DAT.PART_ID9x24>123456789</T_MASTER_DAT.PART_ID9x24>
+    <T_MASTER_DAT.PART_ID10x24>123456789</T_MASTER_DAT.PART_ID10x24>
+    <T_MASTER_DAT.PART_ID11x24>123456789</T_MASTER_DAT.PART_ID11x24>
+    <T_MASTER_DAT.PART_ID12x24>123456789</T_MASTER_DAT.PART_ID12x24>
+    <T_MASTER_DAT.PART_ID13x24>123456789</T_MASTER_DAT.PART_ID13x24>
+    <T_MASTER_DAT.PART_ID14x24>123456789</T_MASTER_DAT.PART_ID14x24>
+    <T_MASTER_DAT.PART_ID15x24>123456789</T_MASTER_DAT.PART_ID15x24>
+    <T_MASTER_DAT.PART_ID16x24>123456789</T_MASTER_DAT.PART_ID16x24>
+    <T_MASTER_DAT.PART_ID17x24>123456789</T_MASTER_DAT.PART_ID17x24>
+    <T_MASTER_DAT.PART_ID18x24>123456789</T_MASTER_DAT.PART_ID18x24>
+    <T_MASTER_DAT.PART_ID19x24>123456789</T_MASTER_DAT.PART_ID19x24>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x25>123456789</T_MASTER_DAT.PART_ID0x25>
+    <T_MASTER_DAT.PART_ID1x25>123456789</T_MASTER_DAT.PART_ID1x25>
+    <T_MASTER_DAT.PART_ID2x25>123456789</T_MASTER_DAT.PART_ID2x25>
+    <T_MASTER_DAT.PART_ID3x25>123456789</T_MASTER_DAT.PART_ID3x25>
+    <T_MASTER_DAT.PART_ID4x25>123456789</T_MASTER_DAT.PART_ID4x25>
+    <T_MASTER_DAT.PART_ID5x25>123456789</T_MASTER_DAT.PART_ID5x25>
+    <T_MASTER_DAT.PART_ID6x25>123456789</T_MASTER_DAT.PART_ID6x25>
+    <T_MASTER_DAT.PART_ID7x25>123456789</T_MASTER_DAT.PART_ID7x25>
+    <T_MASTER_DAT.PART_ID8x25>123456789</T_MASTER_DAT.PART_ID8x25>
+    <T_MASTER_DAT.PART_ID9x25>123456789</T_MASTER_DAT.PART_ID9x25>
+    <T_MASTER_DAT.PART_ID10x25>123456789</T_MASTER_DAT.PART_ID10x25>
+    <T_MASTER_DAT.PART_ID11x25>123456789</T_MASTER_DAT.PART_ID11x25>
+    <T_MASTER_DAT.PART_ID12x25>123456789</T_MASTER_DAT.PART_ID12x25>
+    <T_MASTER_DAT.PART_ID13x25>123456789</T_MASTER_DAT.PART_ID13x25>
+    <T_MASTER_DAT.PART_ID14x25>123456789</T_MASTER_DAT.PART_ID14x25>
+    <T_MASTER_DAT.PART_ID15x25>123456789</T_MASTER_DAT.PART_ID15x25>
+    <T_MASTER_DAT.PART_ID16x25>123456789</T_MASTER_DAT.PART_ID16x25>
+    <T_MASTER_DAT.PART_ID17x25>123456789</T_MASTER_DAT.PART_ID17x25>
+    <T_MASTER_DAT.PART_ID18x25>123456789</T_MASTER_DAT.PART_ID18x25>
+    <T_MASTER_DAT.PART_ID19x25>123456789</T_MASTER_DAT.PART_ID19x25>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x26>123456789</T_MASTER_DAT.PART_ID0x26>
+    <T_MASTER_DAT.PART_ID1x26>123456789</T_MASTER_DAT.PART_ID1x26>
+    <T_MASTER_DAT.PART_ID2x26>123456789</T_MASTER_DAT.PART_ID2x26>
+    <T_MASTER_DAT.PART_ID3x26>123456789</T_MASTER_DAT.PART_ID3x26>
+    <T_MASTER_DAT.PART_ID4x26>123456789</T_MASTER_DAT.PART_ID4x26>
+    <T_MASTER_DAT.PART_ID5x26>123456789</T_MASTER_DAT.PART_ID5x26>
+    <T_MASTER_DAT.PART_ID6x26>123456789</T_MASTER_DAT.PART_ID6x26>
+    <T_MASTER_DAT.PART_ID7x26>123456789</T_MASTER_DAT.PART_ID7x26>
+    <T_MASTER_DAT.PART_ID8x26>123456789</T_MASTER_DAT.PART_ID8x26>
+    <T_MASTER_DAT.PART_ID9x26>123456789</T_MASTER_DAT.PART_ID9x26>
+    <T_MASTER_DAT.PART_ID10x26>123456789</T_MASTER_DAT.PART_ID10x26>
+    <T_MASTER_DAT.PART_ID11x26>123456789</T_MASTER_DAT.PART_ID11x26>
+    <T_MASTER_DAT.PART_ID12x26>123456789</T_MASTER_DAT.PART_ID12x26>
+    <T_MASTER_DAT.PART_ID13x26>123456789</T_MASTER_DAT.PART_ID13x26>
+    <T_MASTER_DAT.PART_ID14x26>123456789</T_MASTER_DAT.PART_ID14x26>
+    <T_MASTER_DAT.PART_ID15x26>123456789</T_MASTER_DAT.PART_ID15x26>
+    <T_MASTER_DAT.PART_ID16x26>123456789</T_MASTER_DAT.PART_ID16x26>
+    <T_MASTER_DAT.PART_ID17x26>123456789</T_MASTER_DAT.PART_ID17x26>
+    <T_MASTER_DAT.PART_ID18x26>123456789</T_MASTER_DAT.PART_ID18x26>
+    <T_MASTER_DAT.PART_ID19x26>123456789</T_MASTER_DAT.PART_ID19x26>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x27>123456789</T_MASTER_DAT.PART_ID0x27>
+    <T_MASTER_DAT.PART_ID1x27>123456789</T_MASTER_DAT.PART_ID1x27>
+    <T_MASTER_DAT.PART_ID2x27>123456789</T_MASTER_DAT.PART_ID2x27>
+    <T_MASTER_DAT.PART_ID3x27>123456789</T_MASTER_DAT.PART_ID3x27>
+    <T_MASTER_DAT.PART_ID4x27>123456789</T_MASTER_DAT.PART_ID4x27>
+    <T_MASTER_DAT.PART_ID5x27>123456789</T_MASTER_DAT.PART_ID5x27>
+    <T_MASTER_DAT.PART_ID6x27>123456789</T_MASTER_DAT.PART_ID6x27>
+    <T_MASTER_DAT.PART_ID7x27>123456789</T_MASTER_DAT.PART_ID7x27>
+    <T_MASTER_DAT.PART_ID8x27>123456789</T_MASTER_DAT.PART_ID8x27>
+    <T_MASTER_DAT.PART_ID9x27>123456789</T_MASTER_DAT.PART_ID9x27>
+    <T_MASTER_DAT.PART_ID10x27>123456789</T_MASTER_DAT.PART_ID10x27>
+    <T_MASTER_DAT.PART_ID11x27>123456789</T_MASTER_DAT.PART_ID11x27>
+    <T_MASTER_DAT.PART_ID12x27>123456789</T_MASTER_DAT.PART_ID12x27>
+    <T_MASTER_DAT.PART_ID13x27>123456789</T_MASTER_DAT.PART_ID13x27>
+    <T_MASTER_DAT.PART_ID14x27>123456789</T_MASTER_DAT.PART_ID14x27>
+    <T_MASTER_DAT.PART_ID15x27>123456789</T_MASTER_DAT.PART_ID15x27>
+    <T_MASTER_DAT.PART_ID16x27>123456789</T_MASTER_DAT.PART_ID16x27>
+    <T_MASTER_DAT.PART_ID17x27>123456789</T_MASTER_DAT.PART_ID17x27>
+    <T_MASTER_DAT.PART_ID18x27>123456789</T_MASTER_DAT.PART_ID18x27>
+    <T_MASTER_DAT.PART_ID19x27>123456789</T_MASTER_DAT.PART_ID19x27>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x28>123456789</T_MASTER_DAT.PART_ID0x28>
+    <T_MASTER_DAT.PART_ID1x28>123456789</T_MASTER_DAT.PART_ID1x28>
+    <T_MASTER_DAT.PART_ID2x28>123456789</T_MASTER_DAT.PART_ID2x28>
+    <T_MASTER_DAT.PART_ID3x28>123456789</T_MASTER_DAT.PART_ID3x28>
+    <T_MASTER_DAT.PART_ID4x28>123456789</T_MASTER_DAT.PART_ID4x28>
+    <T_MASTER_DAT.PART_ID5x28>123456789</T_MASTER_DAT.PART_ID5x28>
+    <T_MASTER_DAT.PART_ID6x28>123456789</T_MASTER_DAT.PART_ID6x28>
+    <T_MASTER_DAT.PART_ID7x28>123456789</T_MASTER_DAT.PART_ID7x28>
+    <T_MASTER_DAT.PART_ID8x28>123456789</T_MASTER_DAT.PART_ID8x28>
+    <T_MASTER_DAT.PART_ID9x28>123456789</T_MASTER_DAT.PART_ID9x28>
+    <T_MASTER_DAT.PART_ID10x28>123456789</T_MASTER_DAT.PART_ID10x28>
+    <T_MASTER_DAT.PART_ID11x28>123456789</T_MASTER_DAT.PART_ID11x28>
+    <T_MASTER_DAT.PART_ID12x28>123456789</T_MASTER_DAT.PART_ID12x28>
+    <T_MASTER_DAT.PART_ID13x28>123456789</T_MASTER_DAT.PART_ID13x28>
+    <T_MASTER_DAT.PART_ID14x28>123456789</T_MASTER_DAT.PART_ID14x28>
+    <T_MASTER_DAT.PART_ID15x28>123456789</T_MASTER_DAT.PART_ID15x28>
+    <T_MASTER_DAT.PART_ID16x28>123456789</T_MASTER_DAT.PART_ID16x28>
+    <T_MASTER_DAT.PART_ID17x28>123456789</T_MASTER_DAT.PART_ID17x28>
+    <T_MASTER_DAT.PART_ID18x28>123456789</T_MASTER_DAT.PART_ID18x28>
+    <T_MASTER_DAT.PART_ID19x28>123456789</T_MASTER_DAT.PART_ID19x28>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x29>123456789</T_MASTER_DAT.PART_ID0x29>
+    <T_MASTER_DAT.PART_ID1x29>123456789</T_MASTER_DAT.PART_ID1x29>
+    <T_MASTER_DAT.PART_ID2x29>123456789</T_MASTER_DAT.PART_ID2x29>
+    <T_MASTER_DAT.PART_ID3x29>123456789</T_MASTER_DAT.PART_ID3x29>
+    <T_MASTER_DAT.PART_ID4x29>123456789</T_MASTER_DAT.PART_ID4x29>
+    <T_MASTER_DAT.PART_ID5x29>123456789</T_MASTER_DAT.PART_ID5x29>
+    <T_MASTER_DAT.PART_ID6x29>123456789</T_MASTER_DAT.PART_ID6x29>
+    <T_MASTER_DAT.PART_ID7x29>123456789</T_MASTER_DAT.PART_ID7x29>
+    <T_MASTER_DAT.PART_ID8x29>123456789</T_MASTER_DAT.PART_ID8x29>
+    <T_MASTER_DAT.PART_ID9x29>123456789</T_MASTER_DAT.PART_ID9x29>
+    <T_MASTER_DAT.PART_ID10x29>123456789</T_MASTER_DAT.PART_ID10x29>
+    <T_MASTER_DAT.PART_ID11x29>123456789</T_MASTER_DAT.PART_ID11x29>
+    <T_MASTER_DAT.PART_ID12x29>123456789</T_MASTER_DAT.PART_ID12x29>
+    <T_MASTER_DAT.PART_ID13x29>123456789</T_MASTER_DAT.PART_ID13x29>
+    <T_MASTER_DAT.PART_ID14x29>123456789</T_MASTER_DAT.PART_ID14x29>
+    <T_MASTER_DAT.PART_ID15x29>123456789</T_MASTER_DAT.PART_ID15x29>
+    <T_MASTER_DAT.PART_ID16x29>123456789</T_MASTER_DAT.PART_ID16x29>
+    <T_MASTER_DAT.PART_ID17x29>123456789</T_MASTER_DAT.PART_ID17x29>
+    <T_MASTER_DAT.PART_ID18x29>123456789</T_MASTER_DAT.PART_ID18x29>
+    <T_MASTER_DAT.PART_ID19x29>123456789</T_MASTER_DAT.PART_ID19x29>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x30>123456789</T_MASTER_DAT.PART_ID0x30>
+    <T_MASTER_DAT.PART_ID1x30>123456789</T_MASTER_DAT.PART_ID1x30>
+    <T_MASTER_DAT.PART_ID2x30>123456789</T_MASTER_DAT.PART_ID2x30>
+    <T_MASTER_DAT.PART_ID3x30>123456789</T_MASTER_DAT.PART_ID3x30>
+    <T_MASTER_DAT.PART_ID4x30>123456789</T_MASTER_DAT.PART_ID4x30>
+    <T_MASTER_DAT.PART_ID5x30>123456789</T_MASTER_DAT.PART_ID5x30>
+    <T_MASTER_DAT.PART_ID6x30>123456789</T_MASTER_DAT.PART_ID6x30>
+    <T_MASTER_DAT.PART_ID7x30>123456789</T_MASTER_DAT.PART_ID7x30>
+    <T_MASTER_DAT.PART_ID8x30>123456789</T_MASTER_DAT.PART_ID8x30>
+    <T_MASTER_DAT.PART_ID9x30>123456789</T_MASTER_DAT.PART_ID9x30>
+    <T_MASTER_DAT.PART_ID10x30>123456789</T_MASTER_DAT.PART_ID10x30>
+    <T_MASTER_DAT.PART_ID11x30>123456789</T_MASTER_DAT.PART_ID11x30>
+    <T_MASTER_DAT.PART_ID12x30>123456789</T_MASTER_DAT.PART_ID12x30>
+    <T_MASTER_DAT.PART_ID13x30>123456789</T_MASTER_DAT.PART_ID13x30>
+    <T_MASTER_DAT.PART_ID14x30>123456789</T_MASTER_DAT.PART_ID14x30>
+    <T_MASTER_DAT.PART_ID15x30>123456789</T_MASTER_DAT.PART_ID15x30>
+    <T_MASTER_DAT.PART_ID16x30>123456789</T_MASTER_DAT.PART_ID16x30>
+    <T_MASTER_DAT.PART_ID17x30>123456789</T_MASTER_DAT.PART_ID17x30>
+    <T_MASTER_DAT.PART_ID18x30>123456789</T_MASTER_DAT.PART_ID18x30>
+    <T_MASTER_DAT.PART_ID19x30>123456789</T_MASTER_DAT.PART_ID19x30>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x31>123456789</T_MASTER_DAT.PART_ID0x31>
+    <T_MASTER_DAT.PART_ID1x31>123456789</T_MASTER_DAT.PART_ID1x31>
+    <T_MASTER_DAT.PART_ID2x31>123456789</T_MASTER_DAT.PART_ID2x31>
+    <T_MASTER_DAT.PART_ID3x31>123456789</T_MASTER_DAT.PART_ID3x31>
+    <T_MASTER_DAT.PART_ID4x31>123456789</T_MASTER_DAT.PART_ID4x31>
+    <T_MASTER_DAT.PART_ID5x31>123456789</T_MASTER_DAT.PART_ID5x31>
+    <T_MASTER_DAT.PART_ID6x31>123456789</T_MASTER_DAT.PART_ID6x31>
+    <T_MASTER_DAT.PART_ID7x31>123456789</T_MASTER_DAT.PART_ID7x31>
+    <T_MASTER_DAT.PART_ID8x31>123456789</T_MASTER_DAT.PART_ID8x31>
+    <T_MASTER_DAT.PART_ID9x31>123456789</T_MASTER_DAT.PART_ID9x31>
+    <T_MASTER_DAT.PART_ID10x31>123456789</T_MASTER_DAT.PART_ID10x31>
+    <T_MASTER_DAT.PART_ID11x31>123456789</T_MASTER_DAT.PART_ID11x31>
+    <T_MASTER_DAT.PART_ID12x31>123456789</T_MASTER_DAT.PART_ID12x31>
+    <T_MASTER_DAT.PART_ID13x31>123456789</T_MASTER_DAT.PART_ID13x31>
+    <T_MASTER_DAT.PART_ID14x31>123456789</T_MASTER_DAT.PART_ID14x31>
+    <T_MASTER_DAT.PART_ID15x31>123456789</T_MASTER_DAT.PART_ID15x31>
+    <T_MASTER_DAT.PART_ID16x31>123456789</T_MASTER_DAT.PART_ID16x31>
+    <T_MASTER_DAT.PART_ID17x31>123456789</T_MASTER_DAT.PART_ID17x31>
+    <T_MASTER_DAT.PART_ID18x31>123456789</T_MASTER_DAT.PART_ID18x31>
+    <T_MASTER_DAT.PART_ID19x31>123456789</T_MASTER_DAT.PART_ID19x31>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x32>123456789</T_MASTER_DAT.PART_ID0x32>
+    <T_MASTER_DAT.PART_ID1x32>123456789</T_MASTER_DAT.PART_ID1x32>
+    <T_MASTER_DAT.PART_ID2x32>123456789</T_MASTER_DAT.PART_ID2x32>
+    <T_MASTER_DAT.PART_ID3x32>123456789</T_MASTER_DAT.PART_ID3x32>
+    <T_MASTER_DAT.PART_ID4x32>123456789</T_MASTER_DAT.PART_ID4x32>
+    <T_MASTER_DAT.PART_ID5x32>123456789</T_MASTER_DAT.PART_ID5x32>
+    <T_MASTER_DAT.PART_ID6x32>123456789</T_MASTER_DAT.PART_ID6x32>
+    <T_MASTER_DAT.PART_ID7x32>123456789</T_MASTER_DAT.PART_ID7x32>
+    <T_MASTER_DAT.PART_ID8x32>123456789</T_MASTER_DAT.PART_ID8x32>
+    <T_MASTER_DAT.PART_ID9x32>123456789</T_MASTER_DAT.PART_ID9x32>
+    <T_MASTER_DAT.PART_ID10x32>123456789</T_MASTER_DAT.PART_ID10x32>
+    <T_MASTER_DAT.PART_ID11x32>123456789</T_MASTER_DAT.PART_ID11x32>
+    <T_MASTER_DAT.PART_ID12x32>123456789</T_MASTER_DAT.PART_ID12x32>
+    <T_MASTER_DAT.PART_ID13x32>123456789</T_MASTER_DAT.PART_ID13x32>
+    <T_MASTER_DAT.PART_ID14x32>123456789</T_MASTER_DAT.PART_ID14x32>
+    <T_MASTER_DAT.PART_ID15x32>123456789</T_MASTER_DAT.PART_ID15x32>
+    <T_MASTER_DAT.PART_ID16x32>123456789</T_MASTER_DAT.PART_ID16x32>
+    <T_MASTER_DAT.PART_ID17x32>123456789</T_MASTER_DAT.PART_ID17x32>
+    <T_MASTER_DAT.PART_ID18x32>123456789</T_MASTER_DAT.PART_ID18x32>
+    <T_MASTER_DAT.PART_ID19x32>123456789</T_MASTER_DAT.PART_ID19x32>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x33>123456789</T_MASTER_DAT.PART_ID0x33>
+    <T_MASTER_DAT.PART_ID1x33>123456789</T_MASTER_DAT.PART_ID1x33>
+    <T_MASTER_DAT.PART_ID2x33>123456789</T_MASTER_DAT.PART_ID2x33>
+    <T_MASTER_DAT.PART_ID3x33>123456789</T_MASTER_DAT.PART_ID3x33>
+    <T_MASTER_DAT.PART_ID4x33>123456789</T_MASTER_DAT.PART_ID4x33>
+    <T_MASTER_DAT.PART_ID5x33>123456789</T_MASTER_DAT.PART_ID5x33>
+    <T_MASTER_DAT.PART_ID6x33>123456789</T_MASTER_DAT.PART_ID6x33>
+    <T_MASTER_DAT.PART_ID7x33>123456789</T_MASTER_DAT.PART_ID7x33>
+    <T_MASTER_DAT.PART_ID8x33>123456789</T_MASTER_DAT.PART_ID8x33>
+    <T_MASTER_DAT.PART_ID9x33>123456789</T_MASTER_DAT.PART_ID9x33>
+    <T_MASTER_DAT.PART_ID10x33>123456789</T_MASTER_DAT.PART_ID10x33>
+    <T_MASTER_DAT.PART_ID11x33>123456789</T_MASTER_DAT.PART_ID11x33>
+    <T_MASTER_DAT.PART_ID12x33>123456789</T_MASTER_DAT.PART_ID12x33>
+    <T_MASTER_DAT.PART_ID13x33>123456789</T_MASTER_DAT.PART_ID13x33>
+    <T_MASTER_DAT.PART_ID14x33>123456789</T_MASTER_DAT.PART_ID14x33>
+    <T_MASTER_DAT.PART_ID15x33>123456789</T_MASTER_DAT.PART_ID15x33>
+    <T_MASTER_DAT.PART_ID16x33>123456789</T_MASTER_DAT.PART_ID16x33>
+    <T_MASTER_DAT.PART_ID17x33>123456789</T_MASTER_DAT.PART_ID17x33>
+    <T_MASTER_DAT.PART_ID18x33>123456789</T_MASTER_DAT.PART_ID18x33>
+    <T_MASTER_DAT.PART_ID19x33>123456789</T_MASTER_DAT.PART_ID19x33>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x34>123456789</T_MASTER_DAT.PART_ID0x34>
+    <T_MASTER_DAT.PART_ID1x34>123456789</T_MASTER_DAT.PART_ID1x34>
+    <T_MASTER_DAT.PART_ID2x34>123456789</T_MASTER_DAT.PART_ID2x34>
+    <T_MASTER_DAT.PART_ID3x34>123456789</T_MASTER_DAT.PART_ID3x34>
+    <T_MASTER_DAT.PART_ID4x34>123456789</T_MASTER_DAT.PART_ID4x34>
+    <T_MASTER_DAT.PART_ID5x34>123456789</T_MASTER_DAT.PART_ID5x34>
+    <T_MASTER_DAT.PART_ID6x34>123456789</T_MASTER_DAT.PART_ID6x34>
+    <T_MASTER_DAT.PART_ID7x34>123456789</T_MASTER_DAT.PART_ID7x34>
+    <T_MASTER_DAT.PART_ID8x34>123456789</T_MASTER_DAT.PART_ID8x34>
+    <T_MASTER_DAT.PART_ID9x34>123456789</T_MASTER_DAT.PART_ID9x34>
+    <T_MASTER_DAT.PART_ID10x34>123456789</T_MASTER_DAT.PART_ID10x34>
+    <T_MASTER_DAT.PART_ID11x34>123456789</T_MASTER_DAT.PART_ID11x34>
+    <T_MASTER_DAT.PART_ID12x34>123456789</T_MASTER_DAT.PART_ID12x34>
+    <T_MASTER_DAT.PART_ID13x34>123456789</T_MASTER_DAT.PART_ID13x34>
+    <T_MASTER_DAT.PART_ID14x34>123456789</T_MASTER_DAT.PART_ID14x34>
+    <T_MASTER_DAT.PART_ID15x34>123456789</T_MASTER_DAT.PART_ID15x34>
+    <T_MASTER_DAT.PART_ID16x34>123456789</T_MASTER_DAT.PART_ID16x34>
+    <T_MASTER_DAT.PART_ID17x34>123456789</T_MASTER_DAT.PART_ID17x34>
+    <T_MASTER_DAT.PART_ID18x34>123456789</T_MASTER_DAT.PART_ID18x34>
+    <T_MASTER_DAT.PART_ID19x34>123456789</T_MASTER_DAT.PART_ID19x34>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x35>123456789</T_MASTER_DAT.PART_ID0x35>
+    <T_MASTER_DAT.PART_ID1x35>123456789</T_MASTER_DAT.PART_ID1x35>
+    <T_MASTER_DAT.PART_ID2x35>123456789</T_MASTER_DAT.PART_ID2x35>
+    <T_MASTER_DAT.PART_ID3x35>123456789</T_MASTER_DAT.PART_ID3x35>
+    <T_MASTER_DAT.PART_ID4x35>123456789</T_MASTER_DAT.PART_ID4x35>
+    <T_MASTER_DAT.PART_ID5x35>123456789</T_MASTER_DAT.PART_ID5x35>
+    <T_MASTER_DAT.PART_ID6x35>123456789</T_MASTER_DAT.PART_ID6x35>
+    <T_MASTER_DAT.PART_ID7x35>123456789</T_MASTER_DAT.PART_ID7x35>
+    <T_MASTER_DAT.PART_ID8x35>123456789</T_MASTER_DAT.PART_ID8x35>
+    <T_MASTER_DAT.PART_ID9x35>123456789</T_MASTER_DAT.PART_ID9x35>
+    <T_MASTER_DAT.PART_ID10x35>123456789</T_MASTER_DAT.PART_ID10x35>
+    <T_MASTER_DAT.PART_ID11x35>123456789</T_MASTER_DAT.PART_ID11x35>
+    <T_MASTER_DAT.PART_ID12x35>123456789</T_MASTER_DAT.PART_ID12x35>
+    <T_MASTER_DAT.PART_ID13x35>123456789</T_MASTER_DAT.PART_ID13x35>
+    <T_MASTER_DAT.PART_ID14x35>123456789</T_MASTER_DAT.PART_ID14x35>
+    <T_MASTER_DAT.PART_ID15x35>123456789</T_MASTER_DAT.PART_ID15x35>
+    <T_MASTER_DAT.PART_ID16x35>123456789</T_MASTER_DAT.PART_ID16x35>
+    <T_MASTER_DAT.PART_ID17x35>123456789</T_MASTER_DAT.PART_ID17x35>
+    <T_MASTER_DAT.PART_ID18x35>123456789</T_MASTER_DAT.PART_ID18x35>
+    <T_MASTER_DAT.PART_ID19x35>123456789</T_MASTER_DAT.PART_ID19x35>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x36>123456789</T_MASTER_DAT.PART_ID0x36>
+    <T_MASTER_DAT.PART_ID1x36>123456789</T_MASTER_DAT.PART_ID1x36>
+    <T_MASTER_DAT.PART_ID2x36>123456789</T_MASTER_DAT.PART_ID2x36>
+    <T_MASTER_DAT.PART_ID3x36>123456789</T_MASTER_DAT.PART_ID3x36>
+    <T_MASTER_DAT.PART_ID4x36>123456789</T_MASTER_DAT.PART_ID4x36>
+    <T_MASTER_DAT.PART_ID5x36>123456789</T_MASTER_DAT.PART_ID5x36>
+    <T_MASTER_DAT.PART_ID6x36>123456789</T_MASTER_DAT.PART_ID6x36>
+    <T_MASTER_DAT.PART_ID7x36>123456789</T_MASTER_DAT.PART_ID7x36>
+    <T_MASTER_DAT.PART_ID8x36>123456789</T_MASTER_DAT.PART_ID8x36>
+    <T_MASTER_DAT.PART_ID9x36>123456789</T_MASTER_DAT.PART_ID9x36>
+    <T_MASTER_DAT.PART_ID10x36>123456789</T_MASTER_DAT.PART_ID10x36>
+    <T_MASTER_DAT.PART_ID11x36>123456789</T_MASTER_DAT.PART_ID11x36>
+    <T_MASTER_DAT.PART_ID12x36>123456789</T_MASTER_DAT.PART_ID12x36>
+    <T_MASTER_DAT.PART_ID13x36>123456789</T_MASTER_DAT.PART_ID13x36>
+    <T_MASTER_DAT.PART_ID14x36>123456789</T_MASTER_DAT.PART_ID14x36>
+    <T_MASTER_DAT.PART_ID15x36>123456789</T_MASTER_DAT.PART_ID15x36>
+    <T_MASTER_DAT.PART_ID16x36>123456789</T_MASTER_DAT.PART_ID16x36>
+    <T_MASTER_DAT.PART_ID17x36>123456789</T_MASTER_DAT.PART_ID17x36>
+    <T_MASTER_DAT.PART_ID18x36>123456789</T_MASTER_DAT.PART_ID18x36>
+    <T_MASTER_DAT.PART_ID19x36>123456789</T_MASTER_DAT.PART_ID19x36>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x37>123456789</T_MASTER_DAT.PART_ID0x37>
+    <T_MASTER_DAT.PART_ID1x37>123456789</T_MASTER_DAT.PART_ID1x37>
+    <T_MASTER_DAT.PART_ID2x37>123456789</T_MASTER_DAT.PART_ID2x37>
+    <T_MASTER_DAT.PART_ID3x37>123456789</T_MASTER_DAT.PART_ID3x37>
+    <T_MASTER_DAT.PART_ID4x37>123456789</T_MASTER_DAT.PART_ID4x37>
+    <T_MASTER_DAT.PART_ID5x37>123456789</T_MASTER_DAT.PART_ID5x37>
+    <T_MASTER_DAT.PART_ID6x37>123456789</T_MASTER_DAT.PART_ID6x37>
+    <T_MASTER_DAT.PART_ID7x37>123456789</T_MASTER_DAT.PART_ID7x37>
+    <T_MASTER_DAT.PART_ID8x37>123456789</T_MASTER_DAT.PART_ID8x37>
+    <T_MASTER_DAT.PART_ID9x37>123456789</T_MASTER_DAT.PART_ID9x37>
+    <T_MASTER_DAT.PART_ID10x37>123456789</T_MASTER_DAT.PART_ID10x37>
+    <T_MASTER_DAT.PART_ID11x37>123456789</T_MASTER_DAT.PART_ID11x37>
+    <T_MASTER_DAT.PART_ID12x37>123456789</T_MASTER_DAT.PART_ID12x37>
+    <T_MASTER_DAT.PART_ID13x37>123456789</T_MASTER_DAT.PART_ID13x37>
+    <T_MASTER_DAT.PART_ID14x37>123456789</T_MASTER_DAT.PART_ID14x37>
+    <T_MASTER_DAT.PART_ID15x37>123456789</T_MASTER_DAT.PART_ID15x37>
+    <T_MASTER_DAT.PART_ID16x37>123456789</T_MASTER_DAT.PART_ID16x37>
+    <T_MASTER_DAT.PART_ID17x37>123456789</T_MASTER_DAT.PART_ID17x37>
+    <T_MASTER_DAT.PART_ID18x37>123456789</T_MASTER_DAT.PART_ID18x37>
+    <T_MASTER_DAT.PART_ID19x37>123456789</T_MASTER_DAT.PART_ID19x37>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x38>123456789</T_MASTER_DAT.PART_ID0x38>
+    <T_MASTER_DAT.PART_ID1x38>123456789</T_MASTER_DAT.PART_ID1x38>
+    <T_MASTER_DAT.PART_ID2x38>123456789</T_MASTER_DAT.PART_ID2x38>
+    <T_MASTER_DAT.PART_ID3x38>123456789</T_MASTER_DAT.PART_ID3x38>
+    <T_MASTER_DAT.PART_ID4x38>123456789</T_MASTER_DAT.PART_ID4x38>
+    <T_MASTER_DAT.PART_ID5x38>123456789</T_MASTER_DAT.PART_ID5x38>
+    <T_MASTER_DAT.PART_ID6x38>123456789</T_MASTER_DAT.PART_ID6x38>
+    <T_MASTER_DAT.PART_ID7x38>123456789</T_MASTER_DAT.PART_ID7x38>
+    <T_MASTER_DAT.PART_ID8x38>123456789</T_MASTER_DAT.PART_ID8x38>
+    <T_MASTER_DAT.PART_ID9x38>123456789</T_MASTER_DAT.PART_ID9x38>
+    <T_MASTER_DAT.PART_ID10x38>123456789</T_MASTER_DAT.PART_ID10x38>
+    <T_MASTER_DAT.PART_ID11x38>123456789</T_MASTER_DAT.PART_ID11x38>
+    <T_MASTER_DAT.PART_ID12x38>123456789</T_MASTER_DAT.PART_ID12x38>
+    <T_MASTER_DAT.PART_ID13x38>123456789</T_MASTER_DAT.PART_ID13x38>
+    <T_MASTER_DAT.PART_ID14x38>123456789</T_MASTER_DAT.PART_ID14x38>
+    <T_MASTER_DAT.PART_ID15x38>123456789</T_MASTER_DAT.PART_ID15x38>
+    <T_MASTER_DAT.PART_ID16x38>123456789</T_MASTER_DAT.PART_ID16x38>
+    <T_MASTER_DAT.PART_ID17x38>123456789</T_MASTER_DAT.PART_ID17x38>
+    <T_MASTER_DAT.PART_ID18x38>123456789</T_MASTER_DAT.PART_ID18x38>
+    <T_MASTER_DAT.PART_ID19x38>123456789</T_MASTER_DAT.PART_ID19x38>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x39>123456789</T_MASTER_DAT.PART_ID0x39>
+    <T_MASTER_DAT.PART_ID1x39>123456789</T_MASTER_DAT.PART_ID1x39>
+    <T_MASTER_DAT.PART_ID2x39>123456789</T_MASTER_DAT.PART_ID2x39>
+    <T_MASTER_DAT.PART_ID3x39>123456789</T_MASTER_DAT.PART_ID3x39>
+    <T_MASTER_DAT.PART_ID4x39>123456789</T_MASTER_DAT.PART_ID4x39>
+    <T_MASTER_DAT.PART_ID5x39>123456789</T_MASTER_DAT.PART_ID5x39>
+    <T_MASTER_DAT.PART_ID6x39>123456789</T_MASTER_DAT.PART_ID6x39>
+    <T_MASTER_DAT.PART_ID7x39>123456789</T_MASTER_DAT.PART_ID7x39>
+    <T_MASTER_DAT.PART_ID8x39>123456789</T_MASTER_DAT.PART_ID8x39>
+    <T_MASTER_DAT.PART_ID9x39>123456789</T_MASTER_DAT.PART_ID9x39>
+    <T_MASTER_DAT.PART_ID10x39>123456789</T_MASTER_DAT.PART_ID10x39>
+    <T_MASTER_DAT.PART_ID11x39>123456789</T_MASTER_DAT.PART_ID11x39>
+    <T_MASTER_DAT.PART_ID12x39>123456789</T_MASTER_DAT.PART_ID12x39>
+    <T_MASTER_DAT.PART_ID13x39>123456789</T_MASTER_DAT.PART_ID13x39>
+    <T_MASTER_DAT.PART_ID14x39>123456789</T_MASTER_DAT.PART_ID14x39>
+    <T_MASTER_DAT.PART_ID15x39>123456789</T_MASTER_DAT.PART_ID15x39>
+    <T_MASTER_DAT.PART_ID16x39>123456789</T_MASTER_DAT.PART_ID16x39>
+    <T_MASTER_DAT.PART_ID17x39>123456789</T_MASTER_DAT.PART_ID17x39>
+    <T_MASTER_DAT.PART_ID18x39>123456789</T_MASTER_DAT.PART_ID18x39>
+    <T_MASTER_DAT.PART_ID19x39>123456789</T_MASTER_DAT.PART_ID19x39>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x40>123456789</T_MASTER_DAT.PART_ID0x40>
+    <T_MASTER_DAT.PART_ID1x40>123456789</T_MASTER_DAT.PART_ID1x40>
+    <T_MASTER_DAT.PART_ID2x40>123456789</T_MASTER_DAT.PART_ID2x40>
+    <T_MASTER_DAT.PART_ID3x40>123456789</T_MASTER_DAT.PART_ID3x40>
+    <T_MASTER_DAT.PART_ID4x40>123456789</T_MASTER_DAT.PART_ID4x40>
+    <T_MASTER_DAT.PART_ID5x40>123456789</T_MASTER_DAT.PART_ID5x40>
+    <T_MASTER_DAT.PART_ID6x40>123456789</T_MASTER_DAT.PART_ID6x40>
+    <T_MASTER_DAT.PART_ID7x40>123456789</T_MASTER_DAT.PART_ID7x40>
+    <T_MASTER_DAT.PART_ID8x40>123456789</T_MASTER_DAT.PART_ID8x40>
+    <T_MASTER_DAT.PART_ID9x40>123456789</T_MASTER_DAT.PART_ID9x40>
+    <T_MASTER_DAT.PART_ID10x40>123456789</T_MASTER_DAT.PART_ID10x40>
+    <T_MASTER_DAT.PART_ID11x40>123456789</T_MASTER_DAT.PART_ID11x40>
+    <T_MASTER_DAT.PART_ID12x40>123456789</T_MASTER_DAT.PART_ID12x40>
+    <T_MASTER_DAT.PART_ID13x40>123456789</T_MASTER_DAT.PART_ID13x40>
+    <T_MASTER_DAT.PART_ID14x40>123456789</T_MASTER_DAT.PART_ID14x40>
+    <T_MASTER_DAT.PART_ID15x40>123456789</T_MASTER_DAT.PART_ID15x40>
+    <T_MASTER_DAT.PART_ID16x40>123456789</T_MASTER_DAT.PART_ID16x40>
+    <T_MASTER_DAT.PART_ID17x40>123456789</T_MASTER_DAT.PART_ID17x40>
+    <T_MASTER_DAT.PART_ID18x40>123456789</T_MASTER_DAT.PART_ID18x40>
+    <T_MASTER_DAT.PART_ID19x40>123456789</T_MASTER_DAT.PART_ID19x40>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x41>123456789</T_MASTER_DAT.PART_ID0x41>
+    <T_MASTER_DAT.PART_ID1x41>123456789</T_MASTER_DAT.PART_ID1x41>
+    <T_MASTER_DAT.PART_ID2x41>123456789</T_MASTER_DAT.PART_ID2x41>
+    <T_MASTER_DAT.PART_ID3x41>123456789</T_MASTER_DAT.PART_ID3x41>
+    <T_MASTER_DAT.PART_ID4x41>123456789</T_MASTER_DAT.PART_ID4x41>
+    <T_MASTER_DAT.PART_ID5x41>123456789</T_MASTER_DAT.PART_ID5x41>
+    <T_MASTER_DAT.PART_ID6x41>123456789</T_MASTER_DAT.PART_ID6x41>
+    <T_MASTER_DAT.PART_ID7x41>123456789</T_MASTER_DAT.PART_ID7x41>
+    <T_MASTER_DAT.PART_ID8x41>123456789</T_MASTER_DAT.PART_ID8x41>
+    <T_MASTER_DAT.PART_ID9x41>123456789</T_MASTER_DAT.PART_ID9x41>
+    <T_MASTER_DAT.PART_ID10x41>123456789</T_MASTER_DAT.PART_ID10x41>
+    <T_MASTER_DAT.PART_ID11x41>123456789</T_MASTER_DAT.PART_ID11x41>
+    <T_MASTER_DAT.PART_ID12x41>123456789</T_MASTER_DAT.PART_ID12x41>
+    <T_MASTER_DAT.PART_ID13x41>123456789</T_MASTER_DAT.PART_ID13x41>
+    <T_MASTER_DAT.PART_ID14x41>123456789</T_MASTER_DAT.PART_ID14x41>
+    <T_MASTER_DAT.PART_ID15x41>123456789</T_MASTER_DAT.PART_ID15x41>
+    <T_MASTER_DAT.PART_ID16x41>123456789</T_MASTER_DAT.PART_ID16x41>
+    <T_MASTER_DAT.PART_ID17x41>123456789</T_MASTER_DAT.PART_ID17x41>
+    <T_MASTER_DAT.PART_ID18x41>123456789</T_MASTER_DAT.PART_ID18x41>
+    <T_MASTER_DAT.PART_ID19x41>123456789</T_MASTER_DAT.PART_ID19x41>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x42>123456789</T_MASTER_DAT.PART_ID0x42>
+    <T_MASTER_DAT.PART_ID1x42>123456789</T_MASTER_DAT.PART_ID1x42>
+    <T_MASTER_DAT.PART_ID2x42>123456789</T_MASTER_DAT.PART_ID2x42>
+    <T_MASTER_DAT.PART_ID3x42>123456789</T_MASTER_DAT.PART_ID3x42>
+    <T_MASTER_DAT.PART_ID4x42>123456789</T_MASTER_DAT.PART_ID4x42>
+    <T_MASTER_DAT.PART_ID5x42>123456789</T_MASTER_DAT.PART_ID5x42>
+    <T_MASTER_DAT.PART_ID6x42>123456789</T_MASTER_DAT.PART_ID6x42>
+    <T_MASTER_DAT.PART_ID7x42>123456789</T_MASTER_DAT.PART_ID7x42>
+    <T_MASTER_DAT.PART_ID8x42>123456789</T_MASTER_DAT.PART_ID8x42>
+    <T_MASTER_DAT.PART_ID9x42>123456789</T_MASTER_DAT.PART_ID9x42>
+    <T_MASTER_DAT.PART_ID10x42>123456789</T_MASTER_DAT.PART_ID10x42>
+    <T_MASTER_DAT.PART_ID11x42>123456789</T_MASTER_DAT.PART_ID11x42>
+    <T_MASTER_DAT.PART_ID12x42>123456789</T_MASTER_DAT.PART_ID12x42>
+    <T_MASTER_DAT.PART_ID13x42>123456789</T_MASTER_DAT.PART_ID13x42>
+    <T_MASTER_DAT.PART_ID14x42>123456789</T_MASTER_DAT.PART_ID14x42>
+    <T_MASTER_DAT.PART_ID15x42>123456789</T_MASTER_DAT.PART_ID15x42>
+    <T_MASTER_DAT.PART_ID16x42>123456789</T_MASTER_DAT.PART_ID16x42>
+    <T_MASTER_DAT.PART_ID17x42>123456789</T_MASTER_DAT.PART_ID17x42>
+    <T_MASTER_DAT.PART_ID18x42>123456789</T_MASTER_DAT.PART_ID18x42>
+    <T_MASTER_DAT.PART_ID19x42>123456789</T_MASTER_DAT.PART_ID19x42>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x43>123456789</T_MASTER_DAT.PART_ID0x43>
+    <T_MASTER_DAT.PART_ID1x43>123456789</T_MASTER_DAT.PART_ID1x43>
+    <T_MASTER_DAT.PART_ID2x43>123456789</T_MASTER_DAT.PART_ID2x43>
+    <T_MASTER_DAT.PART_ID3x43>123456789</T_MASTER_DAT.PART_ID3x43>
+    <T_MASTER_DAT.PART_ID4x43>123456789</T_MASTER_DAT.PART_ID4x43>
+    <T_MASTER_DAT.PART_ID5x43>123456789</T_MASTER_DAT.PART_ID5x43>
+    <T_MASTER_DAT.PART_ID6x43>123456789</T_MASTER_DAT.PART_ID6x43>
+    <T_MASTER_DAT.PART_ID7x43>123456789</T_MASTER_DAT.PART_ID7x43>
+    <T_MASTER_DAT.PART_ID8x43>123456789</T_MASTER_DAT.PART_ID8x43>
+    <T_MASTER_DAT.PART_ID9x43>123456789</T_MASTER_DAT.PART_ID9x43>
+    <T_MASTER_DAT.PART_ID10x43>123456789</T_MASTER_DAT.PART_ID10x43>
+    <T_MASTER_DAT.PART_ID11x43>123456789</T_MASTER_DAT.PART_ID11x43>
+    <T_MASTER_DAT.PART_ID12x43>123456789</T_MASTER_DAT.PART_ID12x43>
+    <T_MASTER_DAT.PART_ID13x43>123456789</T_MASTER_DAT.PART_ID13x43>
+    <T_MASTER_DAT.PART_ID14x43>123456789</T_MASTER_DAT.PART_ID14x43>
+    <T_MASTER_DAT.PART_ID15x43>123456789</T_MASTER_DAT.PART_ID15x43>
+    <T_MASTER_DAT.PART_ID16x43>123456789</T_MASTER_DAT.PART_ID16x43>
+    <T_MASTER_DAT.PART_ID17x43>123456789</T_MASTER_DAT.PART_ID17x43>
+    <T_MASTER_DAT.PART_ID18x43>123456789</T_MASTER_DAT.PART_ID18x43>
+    <T_MASTER_DAT.PART_ID19x43>123456789</T_MASTER_DAT.PART_ID19x43>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x44>123456789</T_MASTER_DAT.PART_ID0x44>
+    <T_MASTER_DAT.PART_ID1x44>123456789</T_MASTER_DAT.PART_ID1x44>
+    <T_MASTER_DAT.PART_ID2x44>123456789</T_MASTER_DAT.PART_ID2x44>
+    <T_MASTER_DAT.PART_ID3x44>123456789</T_MASTER_DAT.PART_ID3x44>
+    <T_MASTER_DAT.PART_ID4x44>123456789</T_MASTER_DAT.PART_ID4x44>
+    <T_MASTER_DAT.PART_ID5x44>123456789</T_MASTER_DAT.PART_ID5x44>
+    <T_MASTER_DAT.PART_ID6x44>123456789</T_MASTER_DAT.PART_ID6x44>
+    <T_MASTER_DAT.PART_ID7x44>123456789</T_MASTER_DAT.PART_ID7x44>
+    <T_MASTER_DAT.PART_ID8x44>123456789</T_MASTER_DAT.PART_ID8x44>
+    <T_MASTER_DAT.PART_ID9x44>123456789</T_MASTER_DAT.PART_ID9x44>
+    <T_MASTER_DAT.PART_ID10x44>123456789</T_MASTER_DAT.PART_ID10x44>
+    <T_MASTER_DAT.PART_ID11x44>123456789</T_MASTER_DAT.PART_ID11x44>
+    <T_MASTER_DAT.PART_ID12x44>123456789</T_MASTER_DAT.PART_ID12x44>
+    <T_MASTER_DAT.PART_ID13x44>123456789</T_MASTER_DAT.PART_ID13x44>
+    <T_MASTER_DAT.PART_ID14x44>123456789</T_MASTER_DAT.PART_ID14x44>
+    <T_MASTER_DAT.PART_ID15x44>123456789</T_MASTER_DAT.PART_ID15x44>
+    <T_MASTER_DAT.PART_ID16x44>123456789</T_MASTER_DAT.PART_ID16x44>
+    <T_MASTER_DAT.PART_ID17x44>123456789</T_MASTER_DAT.PART_ID17x44>
+    <T_MASTER_DAT.PART_ID18x44>123456789</T_MASTER_DAT.PART_ID18x44>
+    <T_MASTER_DAT.PART_ID19x44>123456789</T_MASTER_DAT.PART_ID19x44>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x45>123456789</T_MASTER_DAT.PART_ID0x45>
+    <T_MASTER_DAT.PART_ID1x45>123456789</T_MASTER_DAT.PART_ID1x45>
+    <T_MASTER_DAT.PART_ID2x45>123456789</T_MASTER_DAT.PART_ID2x45>
+    <T_MASTER_DAT.PART_ID3x45>123456789</T_MASTER_DAT.PART_ID3x45>
+    <T_MASTER_DAT.PART_ID4x45>123456789</T_MASTER_DAT.PART_ID4x45>
+    <T_MASTER_DAT.PART_ID5x45>123456789</T_MASTER_DAT.PART_ID5x45>
+    <T_MASTER_DAT.PART_ID6x45>123456789</T_MASTER_DAT.PART_ID6x45>
+    <T_MASTER_DAT.PART_ID7x45>123456789</T_MASTER_DAT.PART_ID7x45>
+    <T_MASTER_DAT.PART_ID8x45>123456789</T_MASTER_DAT.PART_ID8x45>
+    <T_MASTER_DAT.PART_ID9x45>123456789</T_MASTER_DAT.PART_ID9x45>
+    <T_MASTER_DAT.PART_ID10x45>123456789</T_MASTER_DAT.PART_ID10x45>
+    <T_MASTER_DAT.PART_ID11x45>123456789</T_MASTER_DAT.PART_ID11x45>
+    <T_MASTER_DAT.PART_ID12x45>123456789</T_MASTER_DAT.PART_ID12x45>
+    <T_MASTER_DAT.PART_ID13x45>123456789</T_MASTER_DAT.PART_ID13x45>
+    <T_MASTER_DAT.PART_ID14x45>123456789</T_MASTER_DAT.PART_ID14x45>
+    <T_MASTER_DAT.PART_ID15x45>123456789</T_MASTER_DAT.PART_ID15x45>
+    <T_MASTER_DAT.PART_ID16x45>123456789</T_MASTER_DAT.PART_ID16x45>
+    <T_MASTER_DAT.PART_ID17x45>123456789</T_MASTER_DAT.PART_ID17x45>
+    <T_MASTER_DAT.PART_ID18x45>123456789</T_MASTER_DAT.PART_ID18x45>
+    <T_MASTER_DAT.PART_ID19x45>123456789</T_MASTER_DAT.PART_ID19x45>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x46>123456789</T_MASTER_DAT.PART_ID0x46>
+    <T_MASTER_DAT.PART_ID1x46>123456789</T_MASTER_DAT.PART_ID1x46>
+    <T_MASTER_DAT.PART_ID2x46>123456789</T_MASTER_DAT.PART_ID2x46>
+    <T_MASTER_DAT.PART_ID3x46>123456789</T_MASTER_DAT.PART_ID3x46>
+    <T_MASTER_DAT.PART_ID4x46>123456789</T_MASTER_DAT.PART_ID4x46>
+    <T_MASTER_DAT.PART_ID5x46>123456789</T_MASTER_DAT.PART_ID5x46>
+    <T_MASTER_DAT.PART_ID6x46>123456789</T_MASTER_DAT.PART_ID6x46>
+    <T_MASTER_DAT.PART_ID7x46>123456789</T_MASTER_DAT.PART_ID7x46>
+    <T_MASTER_DAT.PART_ID8x46>123456789</T_MASTER_DAT.PART_ID8x46>
+    <T_MASTER_DAT.PART_ID9x46>123456789</T_MASTER_DAT.PART_ID9x46>
+    <T_MASTER_DAT.PART_ID10x46>123456789</T_MASTER_DAT.PART_ID10x46>
+    <T_MASTER_DAT.PART_ID11x46>123456789</T_MASTER_DAT.PART_ID11x46>
+    <T_MASTER_DAT.PART_ID12x46>123456789</T_MASTER_DAT.PART_ID12x46>
+    <T_MASTER_DAT.PART_ID13x46>123456789</T_MASTER_DAT.PART_ID13x46>
+    <T_MASTER_DAT.PART_ID14x46>123456789</T_MASTER_DAT.PART_ID14x46>
+    <T_MASTER_DAT.PART_ID15x46>123456789</T_MASTER_DAT.PART_ID15x46>
+    <T_MASTER_DAT.PART_ID16x46>123456789</T_MASTER_DAT.PART_ID16x46>
+    <T_MASTER_DAT.PART_ID17x46>123456789</T_MASTER_DAT.PART_ID17x46>
+    <T_MASTER_DAT.PART_ID18x46>123456789</T_MASTER_DAT.PART_ID18x46>
+    <T_MASTER_DAT.PART_ID19x46>123456789</T_MASTER_DAT.PART_ID19x46>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x47>123456789</T_MASTER_DAT.PART_ID0x47>
+    <T_MASTER_DAT.PART_ID1x47>123456789</T_MASTER_DAT.PART_ID1x47>
+    <T_MASTER_DAT.PART_ID2x47>123456789</T_MASTER_DAT.PART_ID2x47>
+    <T_MASTER_DAT.PART_ID3x47>123456789</T_MASTER_DAT.PART_ID3x47>
+    <T_MASTER_DAT.PART_ID4x47>123456789</T_MASTER_DAT.PART_ID4x47>
+    <T_MASTER_DAT.PART_ID5x47>123456789</T_MASTER_DAT.PART_ID5x47>
+    <T_MASTER_DAT.PART_ID6x47>123456789</T_MASTER_DAT.PART_ID6x47>
+    <T_MASTER_DAT.PART_ID7x47>123456789</T_MASTER_DAT.PART_ID7x47>
+    <T_MASTER_DAT.PART_ID8x47>123456789</T_MASTER_DAT.PART_ID8x47>
+    <T_MASTER_DAT.PART_ID9x47>123456789</T_MASTER_DAT.PART_ID9x47>
+    <T_MASTER_DAT.PART_ID10x47>123456789</T_MASTER_DAT.PART_ID10x47>
+    <T_MASTER_DAT.PART_ID11x47>123456789</T_MASTER_DAT.PART_ID11x47>
+    <T_MASTER_DAT.PART_ID12x47>123456789</T_MASTER_DAT.PART_ID12x47>
+    <T_MASTER_DAT.PART_ID13x47>123456789</T_MASTER_DAT.PART_ID13x47>
+    <T_MASTER_DAT.PART_ID14x47>123456789</T_MASTER_DAT.PART_ID14x47>
+    <T_MASTER_DAT.PART_ID15x47>123456789</T_MASTER_DAT.PART_ID15x47>
+    <T_MASTER_DAT.PART_ID16x47>123456789</T_MASTER_DAT.PART_ID16x47>
+    <T_MASTER_DAT.PART_ID17x47>123456789</T_MASTER_DAT.PART_ID17x47>
+    <T_MASTER_DAT.PART_ID18x47>123456789</T_MASTER_DAT.PART_ID18x47>
+    <T_MASTER_DAT.PART_ID19x47>123456789</T_MASTER_DAT.PART_ID19x47>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x48>123456789</T_MASTER_DAT.PART_ID0x48>
+    <T_MASTER_DAT.PART_ID1x48>123456789</T_MASTER_DAT.PART_ID1x48>
+    <T_MASTER_DAT.PART_ID2x48>123456789</T_MASTER_DAT.PART_ID2x48>
+    <T_MASTER_DAT.PART_ID3x48>123456789</T_MASTER_DAT.PART_ID3x48>
+    <T_MASTER_DAT.PART_ID4x48>123456789</T_MASTER_DAT.PART_ID4x48>
+    <T_MASTER_DAT.PART_ID5x48>123456789</T_MASTER_DAT.PART_ID5x48>
+    <T_MASTER_DAT.PART_ID6x48>123456789</T_MASTER_DAT.PART_ID6x48>
+    <T_MASTER_DAT.PART_ID7x48>123456789</T_MASTER_DAT.PART_ID7x48>
+    <T_MASTER_DAT.PART_ID8x48>123456789</T_MASTER_DAT.PART_ID8x48>
+    <T_MASTER_DAT.PART_ID9x48>123456789</T_MASTER_DAT.PART_ID9x48>
+    <T_MASTER_DAT.PART_ID10x48>123456789</T_MASTER_DAT.PART_ID10x48>
+    <T_MASTER_DAT.PART_ID11x48>123456789</T_MASTER_DAT.PART_ID11x48>
+    <T_MASTER_DAT.PART_ID12x48>123456789</T_MASTER_DAT.PART_ID12x48>
+    <T_MASTER_DAT.PART_ID13x48>123456789</T_MASTER_DAT.PART_ID13x48>
+    <T_MASTER_DAT.PART_ID14x48>123456789</T_MASTER_DAT.PART_ID14x48>
+    <T_MASTER_DAT.PART_ID15x48>123456789</T_MASTER_DAT.PART_ID15x48>
+    <T_MASTER_DAT.PART_ID16x48>123456789</T_MASTER_DAT.PART_ID16x48>
+    <T_MASTER_DAT.PART_ID17x48>123456789</T_MASTER_DAT.PART_ID17x48>
+    <T_MASTER_DAT.PART_ID18x48>123456789</T_MASTER_DAT.PART_ID18x48>
+    <T_MASTER_DAT.PART_ID19x48>123456789</T_MASTER_DAT.PART_ID19x48>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x49>123456789</T_MASTER_DAT.PART_ID0x49>
+    <T_MASTER_DAT.PART_ID1x49>123456789</T_MASTER_DAT.PART_ID1x49>
+    <T_MASTER_DAT.PART_ID2x49>123456789</T_MASTER_DAT.PART_ID2x49>
+    <T_MASTER_DAT.PART_ID3x49>123456789</T_MASTER_DAT.PART_ID3x49>
+    <T_MASTER_DAT.PART_ID4x49>123456789</T_MASTER_DAT.PART_ID4x49>
+    <T_MASTER_DAT.PART_ID5x49>123456789</T_MASTER_DAT.PART_ID5x49>
+    <T_MASTER_DAT.PART_ID6x49>123456789</T_MASTER_DAT.PART_ID6x49>
+    <T_MASTER_DAT.PART_ID7x49>123456789</T_MASTER_DAT.PART_ID7x49>
+    <T_MASTER_DAT.PART_ID8x49>123456789</T_MASTER_DAT.PART_ID8x49>
+    <T_MASTER_DAT.PART_ID9x49>123456789</T_MASTER_DAT.PART_ID9x49>
+    <T_MASTER_DAT.PART_ID10x49>123456789</T_MASTER_DAT.PART_ID10x49>
+    <T_MASTER_DAT.PART_ID11x49>123456789</T_MASTER_DAT.PART_ID11x49>
+    <T_MASTER_DAT.PART_ID12x49>123456789</T_MASTER_DAT.PART_ID12x49>
+    <T_MASTER_DAT.PART_ID13x49>123456789</T_MASTER_DAT.PART_ID13x49>
+    <T_MASTER_DAT.PART_ID14x49>123456789</T_MASTER_DAT.PART_ID14x49>
+    <T_MASTER_DAT.PART_ID15x49>123456789</T_MASTER_DAT.PART_ID15x49>
+    <T_MASTER_DAT.PART_ID16x49>123456789</T_MASTER_DAT.PART_ID16x49>
+    <T_MASTER_DAT.PART_ID17x49>123456789</T_MASTER_DAT.PART_ID17x49>
+    <T_MASTER_DAT.PART_ID18x49>123456789</T_MASTER_DAT.PART_ID18x49>
+    <T_MASTER_DAT.PART_ID19x49>123456789</T_MASTER_DAT.PART_ID19x49>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x50>123456789</T_MASTER_DAT.PART_ID0x50>
+    <T_MASTER_DAT.PART_ID1x50>123456789</T_MASTER_DAT.PART_ID1x50>
+    <T_MASTER_DAT.PART_ID2x50>123456789</T_MASTER_DAT.PART_ID2x50>
+    <T_MASTER_DAT.PART_ID3x50>123456789</T_MASTER_DAT.PART_ID3x50>
+    <T_MASTER_DAT.PART_ID4x50>123456789</T_MASTER_DAT.PART_ID4x50>
+    <T_MASTER_DAT.PART_ID5x50>123456789</T_MASTER_DAT.PART_ID5x50>
+    <T_MASTER_DAT.PART_ID6x50>123456789</T_MASTER_DAT.PART_ID6x50>
+    <T_MASTER_DAT.PART_ID7x50>123456789</T_MASTER_DAT.PART_ID7x50>
+    <T_MASTER_DAT.PART_ID8x50>123456789</T_MASTER_DAT.PART_ID8x50>
+    <T_MASTER_DAT.PART_ID9x50>123456789</T_MASTER_DAT.PART_ID9x50>
+    <T_MASTER_DAT.PART_ID10x50>123456789</T_MASTER_DAT.PART_ID10x50>
+    <T_MASTER_DAT.PART_ID11x50>123456789</T_MASTER_DAT.PART_ID11x50>
+    <T_MASTER_DAT.PART_ID12x50>123456789</T_MASTER_DAT.PART_ID12x50>
+    <T_MASTER_DAT.PART_ID13x50>123456789</T_MASTER_DAT.PART_ID13x50>
+    <T_MASTER_DAT.PART_ID14x50>123456789</T_MASTER_DAT.PART_ID14x50>
+    <T_MASTER_DAT.PART_ID15x50>123456789</T_MASTER_DAT.PART_ID15x50>
+    <T_MASTER_DAT.PART_ID16x50>123456789</T_MASTER_DAT.PART_ID16x50>
+    <T_MASTER_DAT.PART_ID17x50>123456789</T_MASTER_DAT.PART_ID17x50>
+    <T_MASTER_DAT.PART_ID18x50>123456789</T_MASTER_DAT.PART_ID18x50>
+    <T_MASTER_DAT.PART_ID19x50>123456789</T_MASTER_DAT.PART_ID19x50>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x51>123456789</T_MASTER_DAT.PART_ID0x51>
+    <T_MASTER_DAT.PART_ID1x51>123456789</T_MASTER_DAT.PART_ID1x51>
+    <T_MASTER_DAT.PART_ID2x51>123456789</T_MASTER_DAT.PART_ID2x51>
+    <T_MASTER_DAT.PART_ID3x51>123456789</T_MASTER_DAT.PART_ID3x51>
+    <T_MASTER_DAT.PART_ID4x51>123456789</T_MASTER_DAT.PART_ID4x51>
+    <T_MASTER_DAT.PART_ID5x51>123456789</T_MASTER_DAT.PART_ID5x51>
+    <T_MASTER_DAT.PART_ID6x51>123456789</T_MASTER_DAT.PART_ID6x51>
+    <T_MASTER_DAT.PART_ID7x51>123456789</T_MASTER_DAT.PART_ID7x51>
+    <T_MASTER_DAT.PART_ID8x51>123456789</T_MASTER_DAT.PART_ID8x51>
+    <T_MASTER_DAT.PART_ID9x51>123456789</T_MASTER_DAT.PART_ID9x51>
+    <T_MASTER_DAT.PART_ID10x51>123456789</T_MASTER_DAT.PART_ID10x51>
+    <T_MASTER_DAT.PART_ID11x51>123456789</T_MASTER_DAT.PART_ID11x51>
+    <T_MASTER_DAT.PART_ID12x51>123456789</T_MASTER_DAT.PART_ID12x51>
+    <T_MASTER_DAT.PART_ID13x51>123456789</T_MASTER_DAT.PART_ID13x51>
+    <T_MASTER_DAT.PART_ID14x51>123456789</T_MASTER_DAT.PART_ID14x51>
+    <T_MASTER_DAT.PART_ID15x51>123456789</T_MASTER_DAT.PART_ID15x51>
+    <T_MASTER_DAT.PART_ID16x51>123456789</T_MASTER_DAT.PART_ID16x51>
+    <T_MASTER_DAT.PART_ID17x51>123456789</T_MASTER_DAT.PART_ID17x51>
+    <T_MASTER_DAT.PART_ID18x51>123456789</T_MASTER_DAT.PART_ID18x51>
+    <T_MASTER_DAT.PART_ID19x51>123456789</T_MASTER_DAT.PART_ID19x51>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x52>123456789</T_MASTER_DAT.PART_ID0x52>
+    <T_MASTER_DAT.PART_ID1x52>123456789</T_MASTER_DAT.PART_ID1x52>
+    <T_MASTER_DAT.PART_ID2x52>123456789</T_MASTER_DAT.PART_ID2x52>
+    <T_MASTER_DAT.PART_ID3x52>123456789</T_MASTER_DAT.PART_ID3x52>
+    <T_MASTER_DAT.PART_ID4x52>123456789</T_MASTER_DAT.PART_ID4x52>
+    <T_MASTER_DAT.PART_ID5x52>123456789</T_MASTER_DAT.PART_ID5x52>
+    <T_MASTER_DAT.PART_ID6x52>123456789</T_MASTER_DAT.PART_ID6x52>
+    <T_MASTER_DAT.PART_ID7x52>123456789</T_MASTER_DAT.PART_ID7x52>
+    <T_MASTER_DAT.PART_ID8x52>123456789</T_MASTER_DAT.PART_ID8x52>
+    <T_MASTER_DAT.PART_ID9x52>123456789</T_MASTER_DAT.PART_ID9x52>
+    <T_MASTER_DAT.PART_ID10x52>123456789</T_MASTER_DAT.PART_ID10x52>
+    <T_MASTER_DAT.PART_ID11x52>123456789</T_MASTER_DAT.PART_ID11x52>
+    <T_MASTER_DAT.PART_ID12x52>123456789</T_MASTER_DAT.PART_ID12x52>
+    <T_MASTER_DAT.PART_ID13x52>123456789</T_MASTER_DAT.PART_ID13x52>
+    <T_MASTER_DAT.PART_ID14x52>123456789</T_MASTER_DAT.PART_ID14x52>
+    <T_MASTER_DAT.PART_ID15x52>123456789</T_MASTER_DAT.PART_ID15x52>
+    <T_MASTER_DAT.PART_ID16x52>123456789</T_MASTER_DAT.PART_ID16x52>
+    <T_MASTER_DAT.PART_ID17x52>123456789</T_MASTER_DAT.PART_ID17x52>
+    <T_MASTER_DAT.PART_ID18x52>123456789</T_MASTER_DAT.PART_ID18x52>
+    <T_MASTER_DAT.PART_ID19x52>123456789</T_MASTER_DAT.PART_ID19x52>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x53>123456789</T_MASTER_DAT.PART_ID0x53>
+    <T_MASTER_DAT.PART_ID1x53>123456789</T_MASTER_DAT.PART_ID1x53>
+    <T_MASTER_DAT.PART_ID2x53>123456789</T_MASTER_DAT.PART_ID2x53>
+    <T_MASTER_DAT.PART_ID3x53>123456789</T_MASTER_DAT.PART_ID3x53>
+    <T_MASTER_DAT.PART_ID4x53>123456789</T_MASTER_DAT.PART_ID4x53>
+    <T_MASTER_DAT.PART_ID5x53>123456789</T_MASTER_DAT.PART_ID5x53>
+    <T_MASTER_DAT.PART_ID6x53>123456789</T_MASTER_DAT.PART_ID6x53>
+    <T_MASTER_DAT.PART_ID7x53>123456789</T_MASTER_DAT.PART_ID7x53>
+    <T_MASTER_DAT.PART_ID8x53>123456789</T_MASTER_DAT.PART_ID8x53>
+    <T_MASTER_DAT.PART_ID9x53>123456789</T_MASTER_DAT.PART_ID9x53>
+    <T_MASTER_DAT.PART_ID10x53>123456789</T_MASTER_DAT.PART_ID10x53>
+    <T_MASTER_DAT.PART_ID11x53>123456789</T_MASTER_DAT.PART_ID11x53>
+    <T_MASTER_DAT.PART_ID12x53>123456789</T_MASTER_DAT.PART_ID12x53>
+    <T_MASTER_DAT.PART_ID13x53>123456789</T_MASTER_DAT.PART_ID13x53>
+    <T_MASTER_DAT.PART_ID14x53>123456789</T_MASTER_DAT.PART_ID14x53>
+    <T_MASTER_DAT.PART_ID15x53>123456789</T_MASTER_DAT.PART_ID15x53>
+    <T_MASTER_DAT.PART_ID16x53>123456789</T_MASTER_DAT.PART_ID16x53>
+    <T_MASTER_DAT.PART_ID17x53>123456789</T_MASTER_DAT.PART_ID17x53>
+    <T_MASTER_DAT.PART_ID18x53>123456789</T_MASTER_DAT.PART_ID18x53>
+    <T_MASTER_DAT.PART_ID19x53>123456789</T_MASTER_DAT.PART_ID19x53>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x54>123456789</T_MASTER_DAT.PART_ID0x54>
+    <T_MASTER_DAT.PART_ID1x54>123456789</T_MASTER_DAT.PART_ID1x54>
+    <T_MASTER_DAT.PART_ID2x54>123456789</T_MASTER_DAT.PART_ID2x54>
+    <T_MASTER_DAT.PART_ID3x54>123456789</T_MASTER_DAT.PART_ID3x54>
+    <T_MASTER_DAT.PART_ID4x54>123456789</T_MASTER_DAT.PART_ID4x54>
+    <T_MASTER_DAT.PART_ID5x54>123456789</T_MASTER_DAT.PART_ID5x54>
+    <T_MASTER_DAT.PART_ID6x54>123456789</T_MASTER_DAT.PART_ID6x54>
+    <T_MASTER_DAT.PART_ID7x54>123456789</T_MASTER_DAT.PART_ID7x54>
+    <T_MASTER_DAT.PART_ID8x54>123456789</T_MASTER_DAT.PART_ID8x54>
+    <T_MASTER_DAT.PART_ID9x54>123456789</T_MASTER_DAT.PART_ID9x54>
+    <T_MASTER_DAT.PART_ID10x54>123456789</T_MASTER_DAT.PART_ID10x54>
+    <T_MASTER_DAT.PART_ID11x54>123456789</T_MASTER_DAT.PART_ID11x54>
+    <T_MASTER_DAT.PART_ID12x54>123456789</T_MASTER_DAT.PART_ID12x54>
+    <T_MASTER_DAT.PART_ID13x54>123456789</T_MASTER_DAT.PART_ID13x54>
+    <T_MASTER_DAT.PART_ID14x54>123456789</T_MASTER_DAT.PART_ID14x54>
+    <T_MASTER_DAT.PART_ID15x54>123456789</T_MASTER_DAT.PART_ID15x54>
+    <T_MASTER_DAT.PART_ID16x54>123456789</T_MASTER_DAT.PART_ID16x54>
+    <T_MASTER_DAT.PART_ID17x54>123456789</T_MASTER_DAT.PART_ID17x54>
+    <T_MASTER_DAT.PART_ID18x54>123456789</T_MASTER_DAT.PART_ID18x54>
+    <T_MASTER_DAT.PART_ID19x54>123456789</T_MASTER_DAT.PART_ID19x54>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x55>123456789</T_MASTER_DAT.PART_ID0x55>
+    <T_MASTER_DAT.PART_ID1x55>123456789</T_MASTER_DAT.PART_ID1x55>
+    <T_MASTER_DAT.PART_ID2x55>123456789</T_MASTER_DAT.PART_ID2x55>
+    <T_MASTER_DAT.PART_ID3x55>123456789</T_MASTER_DAT.PART_ID3x55>
+    <T_MASTER_DAT.PART_ID4x55>123456789</T_MASTER_DAT.PART_ID4x55>
+    <T_MASTER_DAT.PART_ID5x55>123456789</T_MASTER_DAT.PART_ID5x55>
+    <T_MASTER_DAT.PART_ID6x55>123456789</T_MASTER_DAT.PART_ID6x55>
+    <T_MASTER_DAT.PART_ID7x55>123456789</T_MASTER_DAT.PART_ID7x55>
+    <T_MASTER_DAT.PART_ID8x55>123456789</T_MASTER_DAT.PART_ID8x55>
+    <T_MASTER_DAT.PART_ID9x55>123456789</T_MASTER_DAT.PART_ID9x55>
+    <T_MASTER_DAT.PART_ID10x55>123456789</T_MASTER_DAT.PART_ID10x55>
+    <T_MASTER_DAT.PART_ID11x55>123456789</T_MASTER_DAT.PART_ID11x55>
+    <T_MASTER_DAT.PART_ID12x55>123456789</T_MASTER_DAT.PART_ID12x55>
+    <T_MASTER_DAT.PART_ID13x55>123456789</T_MASTER_DAT.PART_ID13x55>
+    <T_MASTER_DAT.PART_ID14x55>123456789</T_MASTER_DAT.PART_ID14x55>
+    <T_MASTER_DAT.PART_ID15x55>123456789</T_MASTER_DAT.PART_ID15x55>
+    <T_MASTER_DAT.PART_ID16x55>123456789</T_MASTER_DAT.PART_ID16x55>
+    <T_MASTER_DAT.PART_ID17x55>123456789</T_MASTER_DAT.PART_ID17x55>
+    <T_MASTER_DAT.PART_ID18x55>123456789</T_MASTER_DAT.PART_ID18x55>
+    <T_MASTER_DAT.PART_ID19x55>123456789</T_MASTER_DAT.PART_ID19x55>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x56>123456789</T_MASTER_DAT.PART_ID0x56>
+    <T_MASTER_DAT.PART_ID1x56>123456789</T_MASTER_DAT.PART_ID1x56>
+    <T_MASTER_DAT.PART_ID2x56>123456789</T_MASTER_DAT.PART_ID2x56>
+    <T_MASTER_DAT.PART_ID3x56>123456789</T_MASTER_DAT.PART_ID3x56>
+    <T_MASTER_DAT.PART_ID4x56>123456789</T_MASTER_DAT.PART_ID4x56>
+    <T_MASTER_DAT.PART_ID5x56>123456789</T_MASTER_DAT.PART_ID5x56>
+    <T_MASTER_DAT.PART_ID6x56>123456789</T_MASTER_DAT.PART_ID6x56>
+    <T_MASTER_DAT.PART_ID7x56>123456789</T_MASTER_DAT.PART_ID7x56>
+    <T_MASTER_DAT.PART_ID8x56>123456789</T_MASTER_DAT.PART_ID8x56>
+    <T_MASTER_DAT.PART_ID9x56>123456789</T_MASTER_DAT.PART_ID9x56>
+    <T_MASTER_DAT.PART_ID10x56>123456789</T_MASTER_DAT.PART_ID10x56>
+    <T_MASTER_DAT.PART_ID11x56>123456789</T_MASTER_DAT.PART_ID11x56>
+    <T_MASTER_DAT.PART_ID12x56>123456789</T_MASTER_DAT.PART_ID12x56>
+    <T_MASTER_DAT.PART_ID13x56>123456789</T_MASTER_DAT.PART_ID13x56>
+    <T_MASTER_DAT.PART_ID14x56>123456789</T_MASTER_DAT.PART_ID14x56>
+    <T_MASTER_DAT.PART_ID15x56>123456789</T_MASTER_DAT.PART_ID15x56>
+    <T_MASTER_DAT.PART_ID16x56>123456789</T_MASTER_DAT.PART_ID16x56>
+    <T_MASTER_DAT.PART_ID17x56>123456789</T_MASTER_DAT.PART_ID17x56>
+    <T_MASTER_DAT.PART_ID18x56>123456789</T_MASTER_DAT.PART_ID18x56>
+    <T_MASTER_DAT.PART_ID19x56>123456789</T_MASTER_DAT.PART_ID19x56>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x57>123456789</T_MASTER_DAT.PART_ID0x57>
+    <T_MASTER_DAT.PART_ID1x57>123456789</T_MASTER_DAT.PART_ID1x57>
+    <T_MASTER_DAT.PART_ID2x57>123456789</T_MASTER_DAT.PART_ID2x57>
+    <T_MASTER_DAT.PART_ID3x57>123456789</T_MASTER_DAT.PART_ID3x57>
+    <T_MASTER_DAT.PART_ID4x57>123456789</T_MASTER_DAT.PART_ID4x57>
+    <T_MASTER_DAT.PART_ID5x57>123456789</T_MASTER_DAT.PART_ID5x57>
+    <T_MASTER_DAT.PART_ID6x57>123456789</T_MASTER_DAT.PART_ID6x57>
+    <T_MASTER_DAT.PART_ID7x57>123456789</T_MASTER_DAT.PART_ID7x57>
+    <T_MASTER_DAT.PART_ID8x57>123456789</T_MASTER_DAT.PART_ID8x57>
+    <T_MASTER_DAT.PART_ID9x57>123456789</T_MASTER_DAT.PART_ID9x57>
+    <T_MASTER_DAT.PART_ID10x57>123456789</T_MASTER_DAT.PART_ID10x57>
+    <T_MASTER_DAT.PART_ID11x57>123456789</T_MASTER_DAT.PART_ID11x57>
+    <T_MASTER_DAT.PART_ID12x57>123456789</T_MASTER_DAT.PART_ID12x57>
+    <T_MASTER_DAT.PART_ID13x57>123456789</T_MASTER_DAT.PART_ID13x57>
+    <T_MASTER_DAT.PART_ID14x57>123456789</T_MASTER_DAT.PART_ID14x57>
+    <T_MASTER_DAT.PART_ID15x57>123456789</T_MASTER_DAT.PART_ID15x57>
+    <T_MASTER_DAT.PART_ID16x57>123456789</T_MASTER_DAT.PART_ID16x57>
+    <T_MASTER_DAT.PART_ID17x57>123456789</T_MASTER_DAT.PART_ID17x57>
+    <T_MASTER_DAT.PART_ID18x57>123456789</T_MASTER_DAT.PART_ID18x57>
+    <T_MASTER_DAT.PART_ID19x57>123456789</T_MASTER_DAT.PART_ID19x57>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x58>123456789</T_MASTER_DAT.PART_ID0x58>
+    <T_MASTER_DAT.PART_ID1x58>123456789</T_MASTER_DAT.PART_ID1x58>
+    <T_MASTER_DAT.PART_ID2x58>123456789</T_MASTER_DAT.PART_ID2x58>
+    <T_MASTER_DAT.PART_ID3x58>123456789</T_MASTER_DAT.PART_ID3x58>
+    <T_MASTER_DAT.PART_ID4x58>123456789</T_MASTER_DAT.PART_ID4x58>
+    <T_MASTER_DAT.PART_ID5x58>123456789</T_MASTER_DAT.PART_ID5x58>
+    <T_MASTER_DAT.PART_ID6x58>123456789</T_MASTER_DAT.PART_ID6x58>
+    <T_MASTER_DAT.PART_ID7x58>123456789</T_MASTER_DAT.PART_ID7x58>
+    <T_MASTER_DAT.PART_ID8x58>123456789</T_MASTER_DAT.PART_ID8x58>
+    <T_MASTER_DAT.PART_ID9x58>123456789</T_MASTER_DAT.PART_ID9x58>
+    <T_MASTER_DAT.PART_ID10x58>123456789</T_MASTER_DAT.PART_ID10x58>
+    <T_MASTER_DAT.PART_ID11x58>123456789</T_MASTER_DAT.PART_ID11x58>
+    <T_MASTER_DAT.PART_ID12x58>123456789</T_MASTER_DAT.PART_ID12x58>
+    <T_MASTER_DAT.PART_ID13x58>123456789</T_MASTER_DAT.PART_ID13x58>
+    <T_MASTER_DAT.PART_ID14x58>123456789</T_MASTER_DAT.PART_ID14x58>
+    <T_MASTER_DAT.PART_ID15x58>123456789</T_MASTER_DAT.PART_ID15x58>
+    <T_MASTER_DAT.PART_ID16x58>123456789</T_MASTER_DAT.PART_ID16x58>
+    <T_MASTER_DAT.PART_ID17x58>123456789</T_MASTER_DAT.PART_ID17x58>
+    <T_MASTER_DAT.PART_ID18x58>123456789</T_MASTER_DAT.PART_ID18x58>
+    <T_MASTER_DAT.PART_ID19x58>123456789</T_MASTER_DAT.PART_ID19x58>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x59>123456789</T_MASTER_DAT.PART_ID0x59>
+    <T_MASTER_DAT.PART_ID1x59>123456789</T_MASTER_DAT.PART_ID1x59>
+    <T_MASTER_DAT.PART_ID2x59>123456789</T_MASTER_DAT.PART_ID2x59>
+    <T_MASTER_DAT.PART_ID3x59>123456789</T_MASTER_DAT.PART_ID3x59>
+    <T_MASTER_DAT.PART_ID4x59>123456789</T_MASTER_DAT.PART_ID4x59>
+    <T_MASTER_DAT.PART_ID5x59>123456789</T_MASTER_DAT.PART_ID5x59>
+    <T_MASTER_DAT.PART_ID6x59>123456789</T_MASTER_DAT.PART_ID6x59>
+    <T_MASTER_DAT.PART_ID7x59>123456789</T_MASTER_DAT.PART_ID7x59>
+    <T_MASTER_DAT.PART_ID8x59>123456789</T_MASTER_DAT.PART_ID8x59>
+    <T_MASTER_DAT.PART_ID9x59>123456789</T_MASTER_DAT.PART_ID9x59>
+    <T_MASTER_DAT.PART_ID10x59>123456789</T_MASTER_DAT.PART_ID10x59>
+    <T_MASTER_DAT.PART_ID11x59>123456789</T_MASTER_DAT.PART_ID11x59>
+    <T_MASTER_DAT.PART_ID12x59>123456789</T_MASTER_DAT.PART_ID12x59>
+    <T_MASTER_DAT.PART_ID13x59>123456789</T_MASTER_DAT.PART_ID13x59>
+    <T_MASTER_DAT.PART_ID14x59>123456789</T_MASTER_DAT.PART_ID14x59>
+    <T_MASTER_DAT.PART_ID15x59>123456789</T_MASTER_DAT.PART_ID15x59>
+    <T_MASTER_DAT.PART_ID16x59>123456789</T_MASTER_DAT.PART_ID16x59>
+    <T_MASTER_DAT.PART_ID17x59>123456789</T_MASTER_DAT.PART_ID17x59>
+    <T_MASTER_DAT.PART_ID18x59>123456789</T_MASTER_DAT.PART_ID18x59>
+    <T_MASTER_DAT.PART_ID19x59>123456789</T_MASTER_DAT.PART_ID19x59>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x60>123456789</T_MASTER_DAT.PART_ID0x60>
+    <T_MASTER_DAT.PART_ID1x60>123456789</T_MASTER_DAT.PART_ID1x60>
+    <T_MASTER_DAT.PART_ID2x60>123456789</T_MASTER_DAT.PART_ID2x60>
+    <T_MASTER_DAT.PART_ID3x60>123456789</T_MASTER_DAT.PART_ID3x60>
+    <T_MASTER_DAT.PART_ID4x60>123456789</T_MASTER_DAT.PART_ID4x60>
+    <T_MASTER_DAT.PART_ID5x60>123456789</T_MASTER_DAT.PART_ID5x60>
+    <T_MASTER_DAT.PART_ID6x60>123456789</T_MASTER_DAT.PART_ID6x60>
+    <T_MASTER_DAT.PART_ID7x60>123456789</T_MASTER_DAT.PART_ID7x60>
+    <T_MASTER_DAT.PART_ID8x60>123456789</T_MASTER_DAT.PART_ID8x60>
+    <T_MASTER_DAT.PART_ID9x60>123456789</T_MASTER_DAT.PART_ID9x60>
+    <T_MASTER_DAT.PART_ID10x60>123456789</T_MASTER_DAT.PART_ID10x60>
+    <T_MASTER_DAT.PART_ID11x60>123456789</T_MASTER_DAT.PART_ID11x60>
+    <T_MASTER_DAT.PART_ID12x60>123456789</T_MASTER_DAT.PART_ID12x60>
+    <T_MASTER_DAT.PART_ID13x60>123456789</T_MASTER_DAT.PART_ID13x60>
+    <T_MASTER_DAT.PART_ID14x60>123456789</T_MASTER_DAT.PART_ID14x60>
+    <T_MASTER_DAT.PART_ID15x60>123456789</T_MASTER_DAT.PART_ID15x60>
+    <T_MASTER_DAT.PART_ID16x60>123456789</T_MASTER_DAT.PART_ID16x60>
+    <T_MASTER_DAT.PART_ID17x60>123456789</T_MASTER_DAT.PART_ID17x60>
+    <T_MASTER_DAT.PART_ID18x60>123456789</T_MASTER_DAT.PART_ID18x60>
+    <T_MASTER_DAT.PART_ID19x60>123456789</T_MASTER_DAT.PART_ID19x60>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x61>123456789</T_MASTER_DAT.PART_ID0x61>
+    <T_MASTER_DAT.PART_ID1x61>123456789</T_MASTER_DAT.PART_ID1x61>
+    <T_MASTER_DAT.PART_ID2x61>123456789</T_MASTER_DAT.PART_ID2x61>
+    <T_MASTER_DAT.PART_ID3x61>123456789</T_MASTER_DAT.PART_ID3x61>
+    <T_MASTER_DAT.PART_ID4x61>123456789</T_MASTER_DAT.PART_ID4x61>
+    <T_MASTER_DAT.PART_ID5x61>123456789</T_MASTER_DAT.PART_ID5x61>
+    <T_MASTER_DAT.PART_ID6x61>123456789</T_MASTER_DAT.PART_ID6x61>
+    <T_MASTER_DAT.PART_ID7x61>123456789</T_MASTER_DAT.PART_ID7x61>
+    <T_MASTER_DAT.PART_ID8x61>123456789</T_MASTER_DAT.PART_ID8x61>
+    <T_MASTER_DAT.PART_ID9x61>123456789</T_MASTER_DAT.PART_ID9x61>
+    <T_MASTER_DAT.PART_ID10x61>123456789</T_MASTER_DAT.PART_ID10x61>
+    <T_MASTER_DAT.PART_ID11x61>123456789</T_MASTER_DAT.PART_ID11x61>
+    <T_MASTER_DAT.PART_ID12x61>123456789</T_MASTER_DAT.PART_ID12x61>
+    <T_MASTER_DAT.PART_ID13x61>123456789</T_MASTER_DAT.PART_ID13x61>
+    <T_MASTER_DAT.PART_ID14x61>123456789</T_MASTER_DAT.PART_ID14x61>
+    <T_MASTER_DAT.PART_ID15x61>123456789</T_MASTER_DAT.PART_ID15x61>
+    <T_MASTER_DAT.PART_ID16x61>123456789</T_MASTER_DAT.PART_ID16x61>
+    <T_MASTER_DAT.PART_ID17x61>123456789</T_MASTER_DAT.PART_ID17x61>
+    <T_MASTER_DAT.PART_ID18x61>123456789</T_MASTER_DAT.PART_ID18x61>
+    <T_MASTER_DAT.PART_ID19x61>123456789</T_MASTER_DAT.PART_ID19x61>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x62>123456789</T_MASTER_DAT.PART_ID0x62>
+    <T_MASTER_DAT.PART_ID1x62>123456789</T_MASTER_DAT.PART_ID1x62>
+    <T_MASTER_DAT.PART_ID2x62>123456789</T_MASTER_DAT.PART_ID2x62>
+    <T_MASTER_DAT.PART_ID3x62>123456789</T_MASTER_DAT.PART_ID3x62>
+    <T_MASTER_DAT.PART_ID4x62>123456789</T_MASTER_DAT.PART_ID4x62>
+    <T_MASTER_DAT.PART_ID5x62>123456789</T_MASTER_DAT.PART_ID5x62>
+    <T_MASTER_DAT.PART_ID6x62>123456789</T_MASTER_DAT.PART_ID6x62>
+    <T_MASTER_DAT.PART_ID7x62>123456789</T_MASTER_DAT.PART_ID7x62>
+    <T_MASTER_DAT.PART_ID8x62>123456789</T_MASTER_DAT.PART_ID8x62>
+    <T_MASTER_DAT.PART_ID9x62>123456789</T_MASTER_DAT.PART_ID9x62>
+    <T_MASTER_DAT.PART_ID10x62>123456789</T_MASTER_DAT.PART_ID10x62>
+    <T_MASTER_DAT.PART_ID11x62>123456789</T_MASTER_DAT.PART_ID11x62>
+    <T_MASTER_DAT.PART_ID12x62>123456789</T_MASTER_DAT.PART_ID12x62>
+    <T_MASTER_DAT.PART_ID13x62>123456789</T_MASTER_DAT.PART_ID13x62>
+    <T_MASTER_DAT.PART_ID14x62>123456789</T_MASTER_DAT.PART_ID14x62>
+    <T_MASTER_DAT.PART_ID15x62>123456789</T_MASTER_DAT.PART_ID15x62>
+    <T_MASTER_DAT.PART_ID16x62>123456789</T_MASTER_DAT.PART_ID16x62>
+    <T_MASTER_DAT.PART_ID17x62>123456789</T_MASTER_DAT.PART_ID17x62>
+    <T_MASTER_DAT.PART_ID18x62>123456789</T_MASTER_DAT.PART_ID18x62>
+    <T_MASTER_DAT.PART_ID19x62>123456789</T_MASTER_DAT.PART_ID19x62>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x63>123456789</T_MASTER_DAT.PART_ID0x63>
+    <T_MASTER_DAT.PART_ID1x63>123456789</T_MASTER_DAT.PART_ID1x63>
+    <T_MASTER_DAT.PART_ID2x63>123456789</T_MASTER_DAT.PART_ID2x63>
+    <T_MASTER_DAT.PART_ID3x63>123456789</T_MASTER_DAT.PART_ID3x63>
+    <T_MASTER_DAT.PART_ID4x63>123456789</T_MASTER_DAT.PART_ID4x63>
+    <T_MASTER_DAT.PART_ID5x63>123456789</T_MASTER_DAT.PART_ID5x63>
+    <T_MASTER_DAT.PART_ID6x63>123456789</T_MASTER_DAT.PART_ID6x63>
+    <T_MASTER_DAT.PART_ID7x63>123456789</T_MASTER_DAT.PART_ID7x63>
+    <T_MASTER_DAT.PART_ID8x63>123456789</T_MASTER_DAT.PART_ID8x63>
+    <T_MASTER_DAT.PART_ID9x63>123456789</T_MASTER_DAT.PART_ID9x63>
+    <T_MASTER_DAT.PART_ID10x63>123456789</T_MASTER_DAT.PART_ID10x63>
+    <T_MASTER_DAT.PART_ID11x63>123456789</T_MASTER_DAT.PART_ID11x63>
+    <T_MASTER_DAT.PART_ID12x63>123456789</T_MASTER_DAT.PART_ID12x63>
+    <T_MASTER_DAT.PART_ID13x63>123456789</T_MASTER_DAT.PART_ID13x63>
+    <T_MASTER_DAT.PART_ID14x63>123456789</T_MASTER_DAT.PART_ID14x63>
+    <T_MASTER_DAT.PART_ID15x63>123456789</T_MASTER_DAT.PART_ID15x63>
+    <T_MASTER_DAT.PART_ID16x63>123456789</T_MASTER_DAT.PART_ID16x63>
+    <T_MASTER_DAT.PART_ID17x63>123456789</T_MASTER_DAT.PART_ID17x63>
+    <T_MASTER_DAT.PART_ID18x63>123456789</T_MASTER_DAT.PART_ID18x63>
+    <T_MASTER_DAT.PART_ID19x63>123456789</T_MASTER_DAT.PART_ID19x63>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x64>123456789</T_MASTER_DAT.PART_ID0x64>
+    <T_MASTER_DAT.PART_ID1x64>123456789</T_MASTER_DAT.PART_ID1x64>
+    <T_MASTER_DAT.PART_ID2x64>123456789</T_MASTER_DAT.PART_ID2x64>
+    <T_MASTER_DAT.PART_ID3x64>123456789</T_MASTER_DAT.PART_ID3x64>
+    <T_MASTER_DAT.PART_ID4x64>123456789</T_MASTER_DAT.PART_ID4x64>
+    <T_MASTER_DAT.PART_ID5x64>123456789</T_MASTER_DAT.PART_ID5x64>
+    <T_MASTER_DAT.PART_ID6x64>123456789</T_MASTER_DAT.PART_ID6x64>
+    <T_MASTER_DAT.PART_ID7x64>123456789</T_MASTER_DAT.PART_ID7x64>
+    <T_MASTER_DAT.PART_ID8x64>123456789</T_MASTER_DAT.PART_ID8x64>
+    <T_MASTER_DAT.PART_ID9x64>123456789</T_MASTER_DAT.PART_ID9x64>
+    <T_MASTER_DAT.PART_ID10x64>123456789</T_MASTER_DAT.PART_ID10x64>
+    <T_MASTER_DAT.PART_ID11x64>123456789</T_MASTER_DAT.PART_ID11x64>
+    <T_MASTER_DAT.PART_ID12x64>123456789</T_MASTER_DAT.PART_ID12x64>
+    <T_MASTER_DAT.PART_ID13x64>123456789</T_MASTER_DAT.PART_ID13x64>
+    <T_MASTER_DAT.PART_ID14x64>123456789</T_MASTER_DAT.PART_ID14x64>
+    <T_MASTER_DAT.PART_ID15x64>123456789</T_MASTER_DAT.PART_ID15x64>
+    <T_MASTER_DAT.PART_ID16x64>123456789</T_MASTER_DAT.PART_ID16x64>
+    <T_MASTER_DAT.PART_ID17x64>123456789</T_MASTER_DAT.PART_ID17x64>
+    <T_MASTER_DAT.PART_ID18x64>123456789</T_MASTER_DAT.PART_ID18x64>
+    <T_MASTER_DAT.PART_ID19x64>123456789</T_MASTER_DAT.PART_ID19x64>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x65>123456789</T_MASTER_DAT.PART_ID0x65>
+    <T_MASTER_DAT.PART_ID1x65>123456789</T_MASTER_DAT.PART_ID1x65>
+    <T_MASTER_DAT.PART_ID2x65>123456789</T_MASTER_DAT.PART_ID2x65>
+    <T_MASTER_DAT.PART_ID3x65>123456789</T_MASTER_DAT.PART_ID3x65>
+    <T_MASTER_DAT.PART_ID4x65>123456789</T_MASTER_DAT.PART_ID4x65>
+    <T_MASTER_DAT.PART_ID5x65>123456789</T_MASTER_DAT.PART_ID5x65>
+    <T_MASTER_DAT.PART_ID6x65>123456789</T_MASTER_DAT.PART_ID6x65>
+    <T_MASTER_DAT.PART_ID7x65>123456789</T_MASTER_DAT.PART_ID7x65>
+    <T_MASTER_DAT.PART_ID8x65>123456789</T_MASTER_DAT.PART_ID8x65>
+    <T_MASTER_DAT.PART_ID9x65>123456789</T_MASTER_DAT.PART_ID9x65>
+    <T_MASTER_DAT.PART_ID10x65>123456789</T_MASTER_DAT.PART_ID10x65>
+    <T_MASTER_DAT.PART_ID11x65>123456789</T_MASTER_DAT.PART_ID11x65>
+    <T_MASTER_DAT.PART_ID12x65>123456789</T_MASTER_DAT.PART_ID12x65>
+    <T_MASTER_DAT.PART_ID13x65>123456789</T_MASTER_DAT.PART_ID13x65>
+    <T_MASTER_DAT.PART_ID14x65>123456789</T_MASTER_DAT.PART_ID14x65>
+    <T_MASTER_DAT.PART_ID15x65>123456789</T_MASTER_DAT.PART_ID15x65>
+    <T_MASTER_DAT.PART_ID16x65>123456789</T_MASTER_DAT.PART_ID16x65>
+    <T_MASTER_DAT.PART_ID17x65>123456789</T_MASTER_DAT.PART_ID17x65>
+    <T_MASTER_DAT.PART_ID18x65>123456789</T_MASTER_DAT.PART_ID18x65>
+    <T_MASTER_DAT.PART_ID19x65>123456789</T_MASTER_DAT.PART_ID19x65>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x66>123456789</T_MASTER_DAT.PART_ID0x66>
+    <T_MASTER_DAT.PART_ID1x66>123456789</T_MASTER_DAT.PART_ID1x66>
+    <T_MASTER_DAT.PART_ID2x66>123456789</T_MASTER_DAT.PART_ID2x66>
+    <T_MASTER_DAT.PART_ID3x66>123456789</T_MASTER_DAT.PART_ID3x66>
+    <T_MASTER_DAT.PART_ID4x66>123456789</T_MASTER_DAT.PART_ID4x66>
+    <T_MASTER_DAT.PART_ID5x66>123456789</T_MASTER_DAT.PART_ID5x66>
+    <T_MASTER_DAT.PART_ID6x66>123456789</T_MASTER_DAT.PART_ID6x66>
+    <T_MASTER_DAT.PART_ID7x66>123456789</T_MASTER_DAT.PART_ID7x66>
+    <T_MASTER_DAT.PART_ID8x66>123456789</T_MASTER_DAT.PART_ID8x66>
+    <T_MASTER_DAT.PART_ID9x66>123456789</T_MASTER_DAT.PART_ID9x66>
+    <T_MASTER_DAT.PART_ID10x66>123456789</T_MASTER_DAT.PART_ID10x66>
+    <T_MASTER_DAT.PART_ID11x66>123456789</T_MASTER_DAT.PART_ID11x66>
+    <T_MASTER_DAT.PART_ID12x66>123456789</T_MASTER_DAT.PART_ID12x66>
+    <T_MASTER_DAT.PART_ID13x66>123456789</T_MASTER_DAT.PART_ID13x66>
+    <T_MASTER_DAT.PART_ID14x66>123456789</T_MASTER_DAT.PART_ID14x66>
+    <T_MASTER_DAT.PART_ID15x66>123456789</T_MASTER_DAT.PART_ID15x66>
+    <T_MASTER_DAT.PART_ID16x66>123456789</T_MASTER_DAT.PART_ID16x66>
+    <T_MASTER_DAT.PART_ID17x66>123456789</T_MASTER_DAT.PART_ID17x66>
+    <T_MASTER_DAT.PART_ID18x66>123456789</T_MASTER_DAT.PART_ID18x66>
+    <T_MASTER_DAT.PART_ID19x66>123456789</T_MASTER_DAT.PART_ID19x66>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x67>123456789</T_MASTER_DAT.PART_ID0x67>
+    <T_MASTER_DAT.PART_ID1x67>123456789</T_MASTER_DAT.PART_ID1x67>
+    <T_MASTER_DAT.PART_ID2x67>123456789</T_MASTER_DAT.PART_ID2x67>
+    <T_MASTER_DAT.PART_ID3x67>123456789</T_MASTER_DAT.PART_ID3x67>
+    <T_MASTER_DAT.PART_ID4x67>123456789</T_MASTER_DAT.PART_ID4x67>
+    <T_MASTER_DAT.PART_ID5x67>123456789</T_MASTER_DAT.PART_ID5x67>
+    <T_MASTER_DAT.PART_ID6x67>123456789</T_MASTER_DAT.PART_ID6x67>
+    <T_MASTER_DAT.PART_ID7x67>123456789</T_MASTER_DAT.PART_ID7x67>
+    <T_MASTER_DAT.PART_ID8x67>123456789</T_MASTER_DAT.PART_ID8x67>
+    <T_MASTER_DAT.PART_ID9x67>123456789</T_MASTER_DAT.PART_ID9x67>
+    <T_MASTER_DAT.PART_ID10x67>123456789</T_MASTER_DAT.PART_ID10x67>
+    <T_MASTER_DAT.PART_ID11x67>123456789</T_MASTER_DAT.PART_ID11x67>
+    <T_MASTER_DAT.PART_ID12x67>123456789</T_MASTER_DAT.PART_ID12x67>
+    <T_MASTER_DAT.PART_ID13x67>123456789</T_MASTER_DAT.PART_ID13x67>
+    <T_MASTER_DAT.PART_ID14x67>123456789</T_MASTER_DAT.PART_ID14x67>
+    <T_MASTER_DAT.PART_ID15x67>123456789</T_MASTER_DAT.PART_ID15x67>
+    <T_MASTER_DAT.PART_ID16x67>123456789</T_MASTER_DAT.PART_ID16x67>
+    <T_MASTER_DAT.PART_ID17x67>123456789</T_MASTER_DAT.PART_ID17x67>
+    <T_MASTER_DAT.PART_ID18x67>123456789</T_MASTER_DAT.PART_ID18x67>
+    <T_MASTER_DAT.PART_ID19x67>123456789</T_MASTER_DAT.PART_ID19x67>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x68>123456789</T_MASTER_DAT.PART_ID0x68>
+    <T_MASTER_DAT.PART_ID1x68>123456789</T_MASTER_DAT.PART_ID1x68>
+    <T_MASTER_DAT.PART_ID2x68>123456789</T_MASTER_DAT.PART_ID2x68>
+    <T_MASTER_DAT.PART_ID3x68>123456789</T_MASTER_DAT.PART_ID3x68>
+    <T_MASTER_DAT.PART_ID4x68>123456789</T_MASTER_DAT.PART_ID4x68>
+    <T_MASTER_DAT.PART_ID5x68>123456789</T_MASTER_DAT.PART_ID5x68>
+    <T_MASTER_DAT.PART_ID6x68>123456789</T_MASTER_DAT.PART_ID6x68>
+    <T_MASTER_DAT.PART_ID7x68>123456789</T_MASTER_DAT.PART_ID7x68>
+    <T_MASTER_DAT.PART_ID8x68>123456789</T_MASTER_DAT.PART_ID8x68>
+    <T_MASTER_DAT.PART_ID9x68>123456789</T_MASTER_DAT.PART_ID9x68>
+    <T_MASTER_DAT.PART_ID10x68>123456789</T_MASTER_DAT.PART_ID10x68>
+    <T_MASTER_DAT.PART_ID11x68>123456789</T_MASTER_DAT.PART_ID11x68>
+    <T_MASTER_DAT.PART_ID12x68>123456789</T_MASTER_DAT.PART_ID12x68>
+    <T_MASTER_DAT.PART_ID13x68>123456789</T_MASTER_DAT.PART_ID13x68>
+    <T_MASTER_DAT.PART_ID14x68>123456789</T_MASTER_DAT.PART_ID14x68>
+    <T_MASTER_DAT.PART_ID15x68>123456789</T_MASTER_DAT.PART_ID15x68>
+    <T_MASTER_DAT.PART_ID16x68>123456789</T_MASTER_DAT.PART_ID16x68>
+    <T_MASTER_DAT.PART_ID17x68>123456789</T_MASTER_DAT.PART_ID17x68>
+    <T_MASTER_DAT.PART_ID18x68>123456789</T_MASTER_DAT.PART_ID18x68>
+    <T_MASTER_DAT.PART_ID19x68>123456789</T_MASTER_DAT.PART_ID19x68>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x69>123456789</T_MASTER_DAT.PART_ID0x69>
+    <T_MASTER_DAT.PART_ID1x69>123456789</T_MASTER_DAT.PART_ID1x69>
+    <T_MASTER_DAT.PART_ID2x69>123456789</T_MASTER_DAT.PART_ID2x69>
+    <T_MASTER_DAT.PART_ID3x69>123456789</T_MASTER_DAT.PART_ID3x69>
+    <T_MASTER_DAT.PART_ID4x69>123456789</T_MASTER_DAT.PART_ID4x69>
+    <T_MASTER_DAT.PART_ID5x69>123456789</T_MASTER_DAT.PART_ID5x69>
+    <T_MASTER_DAT.PART_ID6x69>123456789</T_MASTER_DAT.PART_ID6x69>
+    <T_MASTER_DAT.PART_ID7x69>123456789</T_MASTER_DAT.PART_ID7x69>
+    <T_MASTER_DAT.PART_ID8x69>123456789</T_MASTER_DAT.PART_ID8x69>
+    <T_MASTER_DAT.PART_ID9x69>123456789</T_MASTER_DAT.PART_ID9x69>
+    <T_MASTER_DAT.PART_ID10x69>123456789</T_MASTER_DAT.PART_ID10x69>
+    <T_MASTER_DAT.PART_ID11x69>123456789</T_MASTER_DAT.PART_ID11x69>
+    <T_MASTER_DAT.PART_ID12x69>123456789</T_MASTER_DAT.PART_ID12x69>
+    <T_MASTER_DAT.PART_ID13x69>123456789</T_MASTER_DAT.PART_ID13x69>
+    <T_MASTER_DAT.PART_ID14x69>123456789</T_MASTER_DAT.PART_ID14x69>
+    <T_MASTER_DAT.PART_ID15x69>123456789</T_MASTER_DAT.PART_ID15x69>
+    <T_MASTER_DAT.PART_ID16x69>123456789</T_MASTER_DAT.PART_ID16x69>
+    <T_MASTER_DAT.PART_ID17x69>123456789</T_MASTER_DAT.PART_ID17x69>
+    <T_MASTER_DAT.PART_ID18x69>123456789</T_MASTER_DAT.PART_ID18x69>
+    <T_MASTER_DAT.PART_ID19x69>123456789</T_MASTER_DAT.PART_ID19x69>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x70>123456789</T_MASTER_DAT.PART_ID0x70>
+    <T_MASTER_DAT.PART_ID1x70>123456789</T_MASTER_DAT.PART_ID1x70>
+    <T_MASTER_DAT.PART_ID2x70>123456789</T_MASTER_DAT.PART_ID2x70>
+    <T_MASTER_DAT.PART_ID3x70>123456789</T_MASTER_DAT.PART_ID3x70>
+    <T_MASTER_DAT.PART_ID4x70>123456789</T_MASTER_DAT.PART_ID4x70>
+    <T_MASTER_DAT.PART_ID5x70>123456789</T_MASTER_DAT.PART_ID5x70>
+    <T_MASTER_DAT.PART_ID6x70>123456789</T_MASTER_DAT.PART_ID6x70>
+    <T_MASTER_DAT.PART_ID7x70>123456789</T_MASTER_DAT.PART_ID7x70>
+    <T_MASTER_DAT.PART_ID8x70>123456789</T_MASTER_DAT.PART_ID8x70>
+    <T_MASTER_DAT.PART_ID9x70>123456789</T_MASTER_DAT.PART_ID9x70>
+    <T_MASTER_DAT.PART_ID10x70>123456789</T_MASTER_DAT.PART_ID10x70>
+    <T_MASTER_DAT.PART_ID11x70>123456789</T_MASTER_DAT.PART_ID11x70>
+    <T_MASTER_DAT.PART_ID12x70>123456789</T_MASTER_DAT.PART_ID12x70>
+    <T_MASTER_DAT.PART_ID13x70>123456789</T_MASTER_DAT.PART_ID13x70>
+    <T_MASTER_DAT.PART_ID14x70>123456789</T_MASTER_DAT.PART_ID14x70>
+    <T_MASTER_DAT.PART_ID15x70>123456789</T_MASTER_DAT.PART_ID15x70>
+    <T_MASTER_DAT.PART_ID16x70>123456789</T_MASTER_DAT.PART_ID16x70>
+    <T_MASTER_DAT.PART_ID17x70>123456789</T_MASTER_DAT.PART_ID17x70>
+    <T_MASTER_DAT.PART_ID18x70>123456789</T_MASTER_DAT.PART_ID18x70>
+    <T_MASTER_DAT.PART_ID19x70>123456789</T_MASTER_DAT.PART_ID19x70>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x71>123456789</T_MASTER_DAT.PART_ID0x71>
+    <T_MASTER_DAT.PART_ID1x71>123456789</T_MASTER_DAT.PART_ID1x71>
+    <T_MASTER_DAT.PART_ID2x71>123456789</T_MASTER_DAT.PART_ID2x71>
+    <T_MASTER_DAT.PART_ID3x71>123456789</T_MASTER_DAT.PART_ID3x71>
+    <T_MASTER_DAT.PART_ID4x71>123456789</T_MASTER_DAT.PART_ID4x71>
+    <T_MASTER_DAT.PART_ID5x71>123456789</T_MASTER_DAT.PART_ID5x71>
+    <T_MASTER_DAT.PART_ID6x71>123456789</T_MASTER_DAT.PART_ID6x71>
+    <T_MASTER_DAT.PART_ID7x71>123456789</T_MASTER_DAT.PART_ID7x71>
+    <T_MASTER_DAT.PART_ID8x71>123456789</T_MASTER_DAT.PART_ID8x71>
+    <T_MASTER_DAT.PART_ID9x71>123456789</T_MASTER_DAT.PART_ID9x71>
+    <T_MASTER_DAT.PART_ID10x71>123456789</T_MASTER_DAT.PART_ID10x71>
+    <T_MASTER_DAT.PART_ID11x71>123456789</T_MASTER_DAT.PART_ID11x71>
+    <T_MASTER_DAT.PART_ID12x71>123456789</T_MASTER_DAT.PART_ID12x71>
+    <T_MASTER_DAT.PART_ID13x71>123456789</T_MASTER_DAT.PART_ID13x71>
+    <T_MASTER_DAT.PART_ID14x71>123456789</T_MASTER_DAT.PART_ID14x71>
+    <T_MASTER_DAT.PART_ID15x71>123456789</T_MASTER_DAT.PART_ID15x71>
+    <T_MASTER_DAT.PART_ID16x71>123456789</T_MASTER_DAT.PART_ID16x71>
+    <T_MASTER_DAT.PART_ID17x71>123456789</T_MASTER_DAT.PART_ID17x71>
+    <T_MASTER_DAT.PART_ID18x71>123456789</T_MASTER_DAT.PART_ID18x71>
+    <T_MASTER_DAT.PART_ID19x71>123456789</T_MASTER_DAT.PART_ID19x71>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x72>123456789</T_MASTER_DAT.PART_ID0x72>
+    <T_MASTER_DAT.PART_ID1x72>123456789</T_MASTER_DAT.PART_ID1x72>
+    <T_MASTER_DAT.PART_ID2x72>123456789</T_MASTER_DAT.PART_ID2x72>
+    <T_MASTER_DAT.PART_ID3x72>123456789</T_MASTER_DAT.PART_ID3x72>
+    <T_MASTER_DAT.PART_ID4x72>123456789</T_MASTER_DAT.PART_ID4x72>
+    <T_MASTER_DAT.PART_ID5x72>123456789</T_MASTER_DAT.PART_ID5x72>
+    <T_MASTER_DAT.PART_ID6x72>123456789</T_MASTER_DAT.PART_ID6x72>
+    <T_MASTER_DAT.PART_ID7x72>123456789</T_MASTER_DAT.PART_ID7x72>
+    <T_MASTER_DAT.PART_ID8x72>123456789</T_MASTER_DAT.PART_ID8x72>
+    <T_MASTER_DAT.PART_ID9x72>123456789</T_MASTER_DAT.PART_ID9x72>
+    <T_MASTER_DAT.PART_ID10x72>123456789</T_MASTER_DAT.PART_ID10x72>
+    <T_MASTER_DAT.PART_ID11x72>123456789</T_MASTER_DAT.PART_ID11x72>
+    <T_MASTER_DAT.PART_ID12x72>123456789</T_MASTER_DAT.PART_ID12x72>
+    <T_MASTER_DAT.PART_ID13x72>123456789</T_MASTER_DAT.PART_ID13x72>
+    <T_MASTER_DAT.PART_ID14x72>123456789</T_MASTER_DAT.PART_ID14x72>
+    <T_MASTER_DAT.PART_ID15x72>123456789</T_MASTER_DAT.PART_ID15x72>
+    <T_MASTER_DAT.PART_ID16x72>123456789</T_MASTER_DAT.PART_ID16x72>
+    <T_MASTER_DAT.PART_ID17x72>123456789</T_MASTER_DAT.PART_ID17x72>
+    <T_MASTER_DAT.PART_ID18x72>123456789</T_MASTER_DAT.PART_ID18x72>
+    <T_MASTER_DAT.PART_ID19x72>123456789</T_MASTER_DAT.PART_ID19x72>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x73>123456789</T_MASTER_DAT.PART_ID0x73>
+    <T_MASTER_DAT.PART_ID1x73>123456789</T_MASTER_DAT.PART_ID1x73>
+    <T_MASTER_DAT.PART_ID2x73>123456789</T_MASTER_DAT.PART_ID2x73>
+    <T_MASTER_DAT.PART_ID3x73>123456789</T_MASTER_DAT.PART_ID3x73>
+    <T_MASTER_DAT.PART_ID4x73>123456789</T_MASTER_DAT.PART_ID4x73>
+    <T_MASTER_DAT.PART_ID5x73>123456789</T_MASTER_DAT.PART_ID5x73>
+    <T_MASTER_DAT.PART_ID6x73>123456789</T_MASTER_DAT.PART_ID6x73>
+    <T_MASTER_DAT.PART_ID7x73>123456789</T_MASTER_DAT.PART_ID7x73>
+    <T_MASTER_DAT.PART_ID8x73>123456789</T_MASTER_DAT.PART_ID8x73>
+    <T_MASTER_DAT.PART_ID9x73>123456789</T_MASTER_DAT.PART_ID9x73>
+    <T_MASTER_DAT.PART_ID10x73>123456789</T_MASTER_DAT.PART_ID10x73>
+    <T_MASTER_DAT.PART_ID11x73>123456789</T_MASTER_DAT.PART_ID11x73>
+    <T_MASTER_DAT.PART_ID12x73>123456789</T_MASTER_DAT.PART_ID12x73>
+    <T_MASTER_DAT.PART_ID13x73>123456789</T_MASTER_DAT.PART_ID13x73>
+    <T_MASTER_DAT.PART_ID14x73>123456789</T_MASTER_DAT.PART_ID14x73>
+    <T_MASTER_DAT.PART_ID15x73>123456789</T_MASTER_DAT.PART_ID15x73>
+    <T_MASTER_DAT.PART_ID16x73>123456789</T_MASTER_DAT.PART_ID16x73>
+    <T_MASTER_DAT.PART_ID17x73>123456789</T_MASTER_DAT.PART_ID17x73>
+    <T_MASTER_DAT.PART_ID18x73>123456789</T_MASTER_DAT.PART_ID18x73>
+    <T_MASTER_DAT.PART_ID19x73>123456789</T_MASTER_DAT.PART_ID19x73>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x74>123456789</T_MASTER_DAT.PART_ID0x74>
+    <T_MASTER_DAT.PART_ID1x74>123456789</T_MASTER_DAT.PART_ID1x74>
+    <T_MASTER_DAT.PART_ID2x74>123456789</T_MASTER_DAT.PART_ID2x74>
+    <T_MASTER_DAT.PART_ID3x74>123456789</T_MASTER_DAT.PART_ID3x74>
+    <T_MASTER_DAT.PART_ID4x74>123456789</T_MASTER_DAT.PART_ID4x74>
+    <T_MASTER_DAT.PART_ID5x74>123456789</T_MASTER_DAT.PART_ID5x74>
+    <T_MASTER_DAT.PART_ID6x74>123456789</T_MASTER_DAT.PART_ID6x74>
+    <T_MASTER_DAT.PART_ID7x74>123456789</T_MASTER_DAT.PART_ID7x74>
+    <T_MASTER_DAT.PART_ID8x74>123456789</T_MASTER_DAT.PART_ID8x74>
+    <T_MASTER_DAT.PART_ID9x74>123456789</T_MASTER_DAT.PART_ID9x74>
+    <T_MASTER_DAT.PART_ID10x74>123456789</T_MASTER_DAT.PART_ID10x74>
+    <T_MASTER_DAT.PART_ID11x74>123456789</T_MASTER_DAT.PART_ID11x74>
+    <T_MASTER_DAT.PART_ID12x74>123456789</T_MASTER_DAT.PART_ID12x74>
+    <T_MASTER_DAT.PART_ID13x74>123456789</T_MASTER_DAT.PART_ID13x74>
+    <T_MASTER_DAT.PART_ID14x74>123456789</T_MASTER_DAT.PART_ID14x74>
+    <T_MASTER_DAT.PART_ID15x74>123456789</T_MASTER_DAT.PART_ID15x74>
+    <T_MASTER_DAT.PART_ID16x74>123456789</T_MASTER_DAT.PART_ID16x74>
+    <T_MASTER_DAT.PART_ID17x74>123456789</T_MASTER_DAT.PART_ID17x74>
+    <T_MASTER_DAT.PART_ID18x74>123456789</T_MASTER_DAT.PART_ID18x74>
+    <T_MASTER_DAT.PART_ID19x74>123456789</T_MASTER_DAT.PART_ID19x74>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x75>123456789</T_MASTER_DAT.PART_ID0x75>
+    <T_MASTER_DAT.PART_ID1x75>123456789</T_MASTER_DAT.PART_ID1x75>
+    <T_MASTER_DAT.PART_ID2x75>123456789</T_MASTER_DAT.PART_ID2x75>
+    <T_MASTER_DAT.PART_ID3x75>123456789</T_MASTER_DAT.PART_ID3x75>
+    <T_MASTER_DAT.PART_ID4x75>123456789</T_MASTER_DAT.PART_ID4x75>
+    <T_MASTER_DAT.PART_ID5x75>123456789</T_MASTER_DAT.PART_ID5x75>
+    <T_MASTER_DAT.PART_ID6x75>123456789</T_MASTER_DAT.PART_ID6x75>
+    <T_MASTER_DAT.PART_ID7x75>123456789</T_MASTER_DAT.PART_ID7x75>
+    <T_MASTER_DAT.PART_ID8x75>123456789</T_MASTER_DAT.PART_ID8x75>
+    <T_MASTER_DAT.PART_ID9x75>123456789</T_MASTER_DAT.PART_ID9x75>
+    <T_MASTER_DAT.PART_ID10x75>123456789</T_MASTER_DAT.PART_ID10x75>
+    <T_MASTER_DAT.PART_ID11x75>123456789</T_MASTER_DAT.PART_ID11x75>
+    <T_MASTER_DAT.PART_ID12x75>123456789</T_MASTER_DAT.PART_ID12x75>
+    <T_MASTER_DAT.PART_ID13x75>123456789</T_MASTER_DAT.PART_ID13x75>
+    <T_MASTER_DAT.PART_ID14x75>123456789</T_MASTER_DAT.PART_ID14x75>
+    <T_MASTER_DAT.PART_ID15x75>123456789</T_MASTER_DAT.PART_ID15x75>
+    <T_MASTER_DAT.PART_ID16x75>123456789</T_MASTER_DAT.PART_ID16x75>
+    <T_MASTER_DAT.PART_ID17x75>123456789</T_MASTER_DAT.PART_ID17x75>
+    <T_MASTER_DAT.PART_ID18x75>123456789</T_MASTER_DAT.PART_ID18x75>
+    <T_MASTER_DAT.PART_ID19x75>123456789</T_MASTER_DAT.PART_ID19x75>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x76>123456789</T_MASTER_DAT.PART_ID0x76>
+    <T_MASTER_DAT.PART_ID1x76>123456789</T_MASTER_DAT.PART_ID1x76>
+    <T_MASTER_DAT.PART_ID2x76>123456789</T_MASTER_DAT.PART_ID2x76>
+    <T_MASTER_DAT.PART_ID3x76>123456789</T_MASTER_DAT.PART_ID3x76>
+    <T_MASTER_DAT.PART_ID4x76>123456789</T_MASTER_DAT.PART_ID4x76>
+    <T_MASTER_DAT.PART_ID5x76>123456789</T_MASTER_DAT.PART_ID5x76>
+    <T_MASTER_DAT.PART_ID6x76>123456789</T_MASTER_DAT.PART_ID6x76>
+    <T_MASTER_DAT.PART_ID7x76>123456789</T_MASTER_DAT.PART_ID7x76>
+    <T_MASTER_DAT.PART_ID8x76>123456789</T_MASTER_DAT.PART_ID8x76>
+    <T_MASTER_DAT.PART_ID9x76>123456789</T_MASTER_DAT.PART_ID9x76>
+    <T_MASTER_DAT.PART_ID10x76>123456789</T_MASTER_DAT.PART_ID10x76>
+    <T_MASTER_DAT.PART_ID11x76>123456789</T_MASTER_DAT.PART_ID11x76>
+    <T_MASTER_DAT.PART_ID12x76>123456789</T_MASTER_DAT.PART_ID12x76>
+    <T_MASTER_DAT.PART_ID13x76>123456789</T_MASTER_DAT.PART_ID13x76>
+    <T_MASTER_DAT.PART_ID14x76>123456789</T_MASTER_DAT.PART_ID14x76>
+    <T_MASTER_DAT.PART_ID15x76>123456789</T_MASTER_DAT.PART_ID15x76>
+    <T_MASTER_DAT.PART_ID16x76>123456789</T_MASTER_DAT.PART_ID16x76>
+    <T_MASTER_DAT.PART_ID17x76>123456789</T_MASTER_DAT.PART_ID17x76>
+    <T_MASTER_DAT.PART_ID18x76>123456789</T_MASTER_DAT.PART_ID18x76>
+    <T_MASTER_DAT.PART_ID19x76>123456789</T_MASTER_DAT.PART_ID19x76>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x77>123456789</T_MASTER_DAT.PART_ID0x77>
+    <T_MASTER_DAT.PART_ID1x77>123456789</T_MASTER_DAT.PART_ID1x77>
+    <T_MASTER_DAT.PART_ID2x77>123456789</T_MASTER_DAT.PART_ID2x77>
+    <T_MASTER_DAT.PART_ID3x77>123456789</T_MASTER_DAT.PART_ID3x77>
+    <T_MASTER_DAT.PART_ID4x77>123456789</T_MASTER_DAT.PART_ID4x77>
+    <T_MASTER_DAT.PART_ID5x77>123456789</T_MASTER_DAT.PART_ID5x77>
+    <T_MASTER_DAT.PART_ID6x77>123456789</T_MASTER_DAT.PART_ID6x77>
+    <T_MASTER_DAT.PART_ID7x77>123456789</T_MASTER_DAT.PART_ID7x77>
+    <T_MASTER_DAT.PART_ID8x77>123456789</T_MASTER_DAT.PART_ID8x77>
+    <T_MASTER_DAT.PART_ID9x77>123456789</T_MASTER_DAT.PART_ID9x77>
+    <T_MASTER_DAT.PART_ID10x77>123456789</T_MASTER_DAT.PART_ID10x77>
+    <T_MASTER_DAT.PART_ID11x77>123456789</T_MASTER_DAT.PART_ID11x77>
+    <T_MASTER_DAT.PART_ID12x77>123456789</T_MASTER_DAT.PART_ID12x77>
+    <T_MASTER_DAT.PART_ID13x77>123456789</T_MASTER_DAT.PART_ID13x77>
+    <T_MASTER_DAT.PART_ID14x77>123456789</T_MASTER_DAT.PART_ID14x77>
+    <T_MASTER_DAT.PART_ID15x77>123456789</T_MASTER_DAT.PART_ID15x77>
+    <T_MASTER_DAT.PART_ID16x77>123456789</T_MASTER_DAT.PART_ID16x77>
+    <T_MASTER_DAT.PART_ID17x77>123456789</T_MASTER_DAT.PART_ID17x77>
+    <T_MASTER_DAT.PART_ID18x77>123456789</T_MASTER_DAT.PART_ID18x77>
+    <T_MASTER_DAT.PART_ID19x77>123456789</T_MASTER_DAT.PART_ID19x77>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x78>123456789</T_MASTER_DAT.PART_ID0x78>
+    <T_MASTER_DAT.PART_ID1x78>123456789</T_MASTER_DAT.PART_ID1x78>
+    <T_MASTER_DAT.PART_ID2x78>123456789</T_MASTER_DAT.PART_ID2x78>
+    <T_MASTER_DAT.PART_ID3x78>123456789</T_MASTER_DAT.PART_ID3x78>
+    <T_MASTER_DAT.PART_ID4x78>123456789</T_MASTER_DAT.PART_ID4x78>
+    <T_MASTER_DAT.PART_ID5x78>123456789</T_MASTER_DAT.PART_ID5x78>
+    <T_MASTER_DAT.PART_ID6x78>123456789</T_MASTER_DAT.PART_ID6x78>
+    <T_MASTER_DAT.PART_ID7x78>123456789</T_MASTER_DAT.PART_ID7x78>
+    <T_MASTER_DAT.PART_ID8x78>123456789</T_MASTER_DAT.PART_ID8x78>
+    <T_MASTER_DAT.PART_ID9x78>123456789</T_MASTER_DAT.PART_ID9x78>
+    <T_MASTER_DAT.PART_ID10x78>123456789</T_MASTER_DAT.PART_ID10x78>
+    <T_MASTER_DAT.PART_ID11x78>123456789</T_MASTER_DAT.PART_ID11x78>
+    <T_MASTER_DAT.PART_ID12x78>123456789</T_MASTER_DAT.PART_ID12x78>
+    <T_MASTER_DAT.PART_ID13x78>123456789</T_MASTER_DAT.PART_ID13x78>
+    <T_MASTER_DAT.PART_ID14x78>123456789</T_MASTER_DAT.PART_ID14x78>
+    <T_MASTER_DAT.PART_ID15x78>123456789</T_MASTER_DAT.PART_ID15x78>
+    <T_MASTER_DAT.PART_ID16x78>123456789</T_MASTER_DAT.PART_ID16x78>
+    <T_MASTER_DAT.PART_ID17x78>123456789</T_MASTER_DAT.PART_ID17x78>
+    <T_MASTER_DAT.PART_ID18x78>123456789</T_MASTER_DAT.PART_ID18x78>
+    <T_MASTER_DAT.PART_ID19x78>123456789</T_MASTER_DAT.PART_ID19x78>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x79>123456789</T_MASTER_DAT.PART_ID0x79>
+    <T_MASTER_DAT.PART_ID1x79>123456789</T_MASTER_DAT.PART_ID1x79>
+    <T_MASTER_DAT.PART_ID2x79>123456789</T_MASTER_DAT.PART_ID2x79>
+    <T_MASTER_DAT.PART_ID3x79>123456789</T_MASTER_DAT.PART_ID3x79>
+    <T_MASTER_DAT.PART_ID4x79>123456789</T_MASTER_DAT.PART_ID4x79>
+    <T_MASTER_DAT.PART_ID5x79>123456789</T_MASTER_DAT.PART_ID5x79>
+    <T_MASTER_DAT.PART_ID6x79>123456789</T_MASTER_DAT.PART_ID6x79>
+    <T_MASTER_DAT.PART_ID7x79>123456789</T_MASTER_DAT.PART_ID7x79>
+    <T_MASTER_DAT.PART_ID8x79>123456789</T_MASTER_DAT.PART_ID8x79>
+    <T_MASTER_DAT.PART_ID9x79>123456789</T_MASTER_DAT.PART_ID9x79>
+    <T_MASTER_DAT.PART_ID10x79>123456789</T_MASTER_DAT.PART_ID10x79>
+    <T_MASTER_DAT.PART_ID11x79>123456789</T_MASTER_DAT.PART_ID11x79>
+    <T_MASTER_DAT.PART_ID12x79>123456789</T_MASTER_DAT.PART_ID12x79>
+    <T_MASTER_DAT.PART_ID13x79>123456789</T_MASTER_DAT.PART_ID13x79>
+    <T_MASTER_DAT.PART_ID14x79>123456789</T_MASTER_DAT.PART_ID14x79>
+    <T_MASTER_DAT.PART_ID15x79>123456789</T_MASTER_DAT.PART_ID15x79>
+    <T_MASTER_DAT.PART_ID16x79>123456789</T_MASTER_DAT.PART_ID16x79>
+    <T_MASTER_DAT.PART_ID17x79>123456789</T_MASTER_DAT.PART_ID17x79>
+    <T_MASTER_DAT.PART_ID18x79>123456789</T_MASTER_DAT.PART_ID18x79>
+    <T_MASTER_DAT.PART_ID19x79>123456789</T_MASTER_DAT.PART_ID19x79>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x80>123456789</T_MASTER_DAT.PART_ID0x80>
+    <T_MASTER_DAT.PART_ID1x80>123456789</T_MASTER_DAT.PART_ID1x80>
+    <T_MASTER_DAT.PART_ID2x80>123456789</T_MASTER_DAT.PART_ID2x80>
+    <T_MASTER_DAT.PART_ID3x80>123456789</T_MASTER_DAT.PART_ID3x80>
+    <T_MASTER_DAT.PART_ID4x80>123456789</T_MASTER_DAT.PART_ID4x80>
+    <T_MASTER_DAT.PART_ID5x80>123456789</T_MASTER_DAT.PART_ID5x80>
+    <T_MASTER_DAT.PART_ID6x80>123456789</T_MASTER_DAT.PART_ID6x80>
+    <T_MASTER_DAT.PART_ID7x80>123456789</T_MASTER_DAT.PART_ID7x80>
+    <T_MASTER_DAT.PART_ID8x80>123456789</T_MASTER_DAT.PART_ID8x80>
+    <T_MASTER_DAT.PART_ID9x80>123456789</T_MASTER_DAT.PART_ID9x80>
+    <T_MASTER_DAT.PART_ID10x80>123456789</T_MASTER_DAT.PART_ID10x80>
+    <T_MASTER_DAT.PART_ID11x80>123456789</T_MASTER_DAT.PART_ID11x80>
+    <T_MASTER_DAT.PART_ID12x80>123456789</T_MASTER_DAT.PART_ID12x80>
+    <T_MASTER_DAT.PART_ID13x80>123456789</T_MASTER_DAT.PART_ID13x80>
+    <T_MASTER_DAT.PART_ID14x80>123456789</T_MASTER_DAT.PART_ID14x80>
+    <T_MASTER_DAT.PART_ID15x80>123456789</T_MASTER_DAT.PART_ID15x80>
+    <T_MASTER_DAT.PART_ID16x80>123456789</T_MASTER_DAT.PART_ID16x80>
+    <T_MASTER_DAT.PART_ID17x80>123456789</T_MASTER_DAT.PART_ID17x80>
+    <T_MASTER_DAT.PART_ID18x80>123456789</T_MASTER_DAT.PART_ID18x80>
+    <T_MASTER_DAT.PART_ID19x80>123456789</T_MASTER_DAT.PART_ID19x80>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x81>123456789</T_MASTER_DAT.PART_ID0x81>
+    <T_MASTER_DAT.PART_ID1x81>123456789</T_MASTER_DAT.PART_ID1x81>
+    <T_MASTER_DAT.PART_ID2x81>123456789</T_MASTER_DAT.PART_ID2x81>
+    <T_MASTER_DAT.PART_ID3x81>123456789</T_MASTER_DAT.PART_ID3x81>
+    <T_MASTER_DAT.PART_ID4x81>123456789</T_MASTER_DAT.PART_ID4x81>
+    <T_MASTER_DAT.PART_ID5x81>123456789</T_MASTER_DAT.PART_ID5x81>
+    <T_MASTER_DAT.PART_ID6x81>123456789</T_MASTER_DAT.PART_ID6x81>
+    <T_MASTER_DAT.PART_ID7x81>123456789</T_MASTER_DAT.PART_ID7x81>
+    <T_MASTER_DAT.PART_ID8x81>123456789</T_MASTER_DAT.PART_ID8x81>
+    <T_MASTER_DAT.PART_ID9x81>123456789</T_MASTER_DAT.PART_ID9x81>
+    <T_MASTER_DAT.PART_ID10x81>123456789</T_MASTER_DAT.PART_ID10x81>
+    <T_MASTER_DAT.PART_ID11x81>123456789</T_MASTER_DAT.PART_ID11x81>
+    <T_MASTER_DAT.PART_ID12x81>123456789</T_MASTER_DAT.PART_ID12x81>
+    <T_MASTER_DAT.PART_ID13x81>123456789</T_MASTER_DAT.PART_ID13x81>
+    <T_MASTER_DAT.PART_ID14x81>123456789</T_MASTER_DAT.PART_ID14x81>
+    <T_MASTER_DAT.PART_ID15x81>123456789</T_MASTER_DAT.PART_ID15x81>
+    <T_MASTER_DAT.PART_ID16x81>123456789</T_MASTER_DAT.PART_ID16x81>
+    <T_MASTER_DAT.PART_ID17x81>123456789</T_MASTER_DAT.PART_ID17x81>
+    <T_MASTER_DAT.PART_ID18x81>123456789</T_MASTER_DAT.PART_ID18x81>
+    <T_MASTER_DAT.PART_ID19x81>123456789</T_MASTER_DAT.PART_ID19x81>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x82>123456789</T_MASTER_DAT.PART_ID0x82>
+    <T_MASTER_DAT.PART_ID1x82>123456789</T_MASTER_DAT.PART_ID1x82>
+    <T_MASTER_DAT.PART_ID2x82>123456789</T_MASTER_DAT.PART_ID2x82>
+    <T_MASTER_DAT.PART_ID3x82>123456789</T_MASTER_DAT.PART_ID3x82>
+    <T_MASTER_DAT.PART_ID4x82>123456789</T_MASTER_DAT.PART_ID4x82>
+    <T_MASTER_DAT.PART_ID5x82>123456789</T_MASTER_DAT.PART_ID5x82>
+    <T_MASTER_DAT.PART_ID6x82>123456789</T_MASTER_DAT.PART_ID6x82>
+    <T_MASTER_DAT.PART_ID7x82>123456789</T_MASTER_DAT.PART_ID7x82>
+    <T_MASTER_DAT.PART_ID8x82>123456789</T_MASTER_DAT.PART_ID8x82>
+    <T_MASTER_DAT.PART_ID9x82>123456789</T_MASTER_DAT.PART_ID9x82>
+    <T_MASTER_DAT.PART_ID10x82>123456789</T_MASTER_DAT.PART_ID10x82>
+    <T_MASTER_DAT.PART_ID11x82>123456789</T_MASTER_DAT.PART_ID11x82>
+    <T_MASTER_DAT.PART_ID12x82>123456789</T_MASTER_DAT.PART_ID12x82>
+    <T_MASTER_DAT.PART_ID13x82>123456789</T_MASTER_DAT.PART_ID13x82>
+    <T_MASTER_DAT.PART_ID14x82>123456789</T_MASTER_DAT.PART_ID14x82>
+    <T_MASTER_DAT.PART_ID15x82>123456789</T_MASTER_DAT.PART_ID15x82>
+    <T_MASTER_DAT.PART_ID16x82>123456789</T_MASTER_DAT.PART_ID16x82>
+    <T_MASTER_DAT.PART_ID17x82>123456789</T_MASTER_DAT.PART_ID17x82>
+    <T_MASTER_DAT.PART_ID18x82>123456789</T_MASTER_DAT.PART_ID18x82>
+    <T_MASTER_DAT.PART_ID19x82>123456789</T_MASTER_DAT.PART_ID19x82>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x83>123456789</T_MASTER_DAT.PART_ID0x83>
+    <T_MASTER_DAT.PART_ID1x83>123456789</T_MASTER_DAT.PART_ID1x83>
+    <T_MASTER_DAT.PART_ID2x83>123456789</T_MASTER_DAT.PART_ID2x83>
+    <T_MASTER_DAT.PART_ID3x83>123456789</T_MASTER_DAT.PART_ID3x83>
+    <T_MASTER_DAT.PART_ID4x83>123456789</T_MASTER_DAT.PART_ID4x83>
+    <T_MASTER_DAT.PART_ID5x83>123456789</T_MASTER_DAT.PART_ID5x83>
+    <T_MASTER_DAT.PART_ID6x83>123456789</T_MASTER_DAT.PART_ID6x83>
+    <T_MASTER_DAT.PART_ID7x83>123456789</T_MASTER_DAT.PART_ID7x83>
+    <T_MASTER_DAT.PART_ID8x83>123456789</T_MASTER_DAT.PART_ID8x83>
+    <T_MASTER_DAT.PART_ID9x83>123456789</T_MASTER_DAT.PART_ID9x83>
+    <T_MASTER_DAT.PART_ID10x83>123456789</T_MASTER_DAT.PART_ID10x83>
+    <T_MASTER_DAT.PART_ID11x83>123456789</T_MASTER_DAT.PART_ID11x83>
+    <T_MASTER_DAT.PART_ID12x83>123456789</T_MASTER_DAT.PART_ID12x83>
+    <T_MASTER_DAT.PART_ID13x83>123456789</T_MASTER_DAT.PART_ID13x83>
+    <T_MASTER_DAT.PART_ID14x83>123456789</T_MASTER_DAT.PART_ID14x83>
+    <T_MASTER_DAT.PART_ID15x83>123456789</T_MASTER_DAT.PART_ID15x83>
+    <T_MASTER_DAT.PART_ID16x83>123456789</T_MASTER_DAT.PART_ID16x83>
+    <T_MASTER_DAT.PART_ID17x83>123456789</T_MASTER_DAT.PART_ID17x83>
+    <T_MASTER_DAT.PART_ID18x83>123456789</T_MASTER_DAT.PART_ID18x83>
+    <T_MASTER_DAT.PART_ID19x83>123456789</T_MASTER_DAT.PART_ID19x83>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x84>123456789</T_MASTER_DAT.PART_ID0x84>
+    <T_MASTER_DAT.PART_ID1x84>123456789</T_MASTER_DAT.PART_ID1x84>
+    <T_MASTER_DAT.PART_ID2x84>123456789</T_MASTER_DAT.PART_ID2x84>
+    <T_MASTER_DAT.PART_ID3x84>123456789</T_MASTER_DAT.PART_ID3x84>
+    <T_MASTER_DAT.PART_ID4x84>123456789</T_MASTER_DAT.PART_ID4x84>
+    <T_MASTER_DAT.PART_ID5x84>123456789</T_MASTER_DAT.PART_ID5x84>
+    <T_MASTER_DAT.PART_ID6x84>123456789</T_MASTER_DAT.PART_ID6x84>
+    <T_MASTER_DAT.PART_ID7x84>123456789</T_MASTER_DAT.PART_ID7x84>
+    <T_MASTER_DAT.PART_ID8x84>123456789</T_MASTER_DAT.PART_ID8x84>
+    <T_MASTER_DAT.PART_ID9x84>123456789</T_MASTER_DAT.PART_ID9x84>
+    <T_MASTER_DAT.PART_ID10x84>123456789</T_MASTER_DAT.PART_ID10x84>
+    <T_MASTER_DAT.PART_ID11x84>123456789</T_MASTER_DAT.PART_ID11x84>
+    <T_MASTER_DAT.PART_ID12x84>123456789</T_MASTER_DAT.PART_ID12x84>
+    <T_MASTER_DAT.PART_ID13x84>123456789</T_MASTER_DAT.PART_ID13x84>
+    <T_MASTER_DAT.PART_ID14x84>123456789</T_MASTER_DAT.PART_ID14x84>
+    <T_MASTER_DAT.PART_ID15x84>123456789</T_MASTER_DAT.PART_ID15x84>
+    <T_MASTER_DAT.PART_ID16x84>123456789</T_MASTER_DAT.PART_ID16x84>
+    <T_MASTER_DAT.PART_ID17x84>123456789</T_MASTER_DAT.PART_ID17x84>
+    <T_MASTER_DAT.PART_ID18x84>123456789</T_MASTER_DAT.PART_ID18x84>
+    <T_MASTER_DAT.PART_ID19x84>123456789</T_MASTER_DAT.PART_ID19x84>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x85>123456789</T_MASTER_DAT.PART_ID0x85>
+    <T_MASTER_DAT.PART_ID1x85>123456789</T_MASTER_DAT.PART_ID1x85>
+    <T_MASTER_DAT.PART_ID2x85>123456789</T_MASTER_DAT.PART_ID2x85>
+    <T_MASTER_DAT.PART_ID3x85>123456789</T_MASTER_DAT.PART_ID3x85>
+    <T_MASTER_DAT.PART_ID4x85>123456789</T_MASTER_DAT.PART_ID4x85>
+    <T_MASTER_DAT.PART_ID5x85>123456789</T_MASTER_DAT.PART_ID5x85>
+    <T_MASTER_DAT.PART_ID6x85>123456789</T_MASTER_DAT.PART_ID6x85>
+    <T_MASTER_DAT.PART_ID7x85>123456789</T_MASTER_DAT.PART_ID7x85>
+    <T_MASTER_DAT.PART_ID8x85>123456789</T_MASTER_DAT.PART_ID8x85>
+    <T_MASTER_DAT.PART_ID9x85>123456789</T_MASTER_DAT.PART_ID9x85>
+    <T_MASTER_DAT.PART_ID10x85>123456789</T_MASTER_DAT.PART_ID10x85>
+    <T_MASTER_DAT.PART_ID11x85>123456789</T_MASTER_DAT.PART_ID11x85>
+    <T_MASTER_DAT.PART_ID12x85>123456789</T_MASTER_DAT.PART_ID12x85>
+    <T_MASTER_DAT.PART_ID13x85>123456789</T_MASTER_DAT.PART_ID13x85>
+    <T_MASTER_DAT.PART_ID14x85>123456789</T_MASTER_DAT.PART_ID14x85>
+    <T_MASTER_DAT.PART_ID15x85>123456789</T_MASTER_DAT.PART_ID15x85>
+    <T_MASTER_DAT.PART_ID16x85>123456789</T_MASTER_DAT.PART_ID16x85>
+    <T_MASTER_DAT.PART_ID17x85>123456789</T_MASTER_DAT.PART_ID17x85>
+    <T_MASTER_DAT.PART_ID18x85>123456789</T_MASTER_DAT.PART_ID18x85>
+    <T_MASTER_DAT.PART_ID19x85>123456789</T_MASTER_DAT.PART_ID19x85>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x86>123456789</T_MASTER_DAT.PART_ID0x86>
+    <T_MASTER_DAT.PART_ID1x86>123456789</T_MASTER_DAT.PART_ID1x86>
+    <T_MASTER_DAT.PART_ID2x86>123456789</T_MASTER_DAT.PART_ID2x86>
+    <T_MASTER_DAT.PART_ID3x86>123456789</T_MASTER_DAT.PART_ID3x86>
+    <T_MASTER_DAT.PART_ID4x86>123456789</T_MASTER_DAT.PART_ID4x86>
+    <T_MASTER_DAT.PART_ID5x86>123456789</T_MASTER_DAT.PART_ID5x86>
+    <T_MASTER_DAT.PART_ID6x86>123456789</T_MASTER_DAT.PART_ID6x86>
+    <T_MASTER_DAT.PART_ID7x86>123456789</T_MASTER_DAT.PART_ID7x86>
+    <T_MASTER_DAT.PART_ID8x86>123456789</T_MASTER_DAT.PART_ID8x86>
+    <T_MASTER_DAT.PART_ID9x86>123456789</T_MASTER_DAT.PART_ID9x86>
+    <T_MASTER_DAT.PART_ID10x86>123456789</T_MASTER_DAT.PART_ID10x86>
+    <T_MASTER_DAT.PART_ID11x86>123456789</T_MASTER_DAT.PART_ID11x86>
+    <T_MASTER_DAT.PART_ID12x86>123456789</T_MASTER_DAT.PART_ID12x86>
+    <T_MASTER_DAT.PART_ID13x86>123456789</T_MASTER_DAT.PART_ID13x86>
+    <T_MASTER_DAT.PART_ID14x86>123456789</T_MASTER_DAT.PART_ID14x86>
+    <T_MASTER_DAT.PART_ID15x86>123456789</T_MASTER_DAT.PART_ID15x86>
+    <T_MASTER_DAT.PART_ID16x86>123456789</T_MASTER_DAT.PART_ID16x86>
+    <T_MASTER_DAT.PART_ID17x86>123456789</T_MASTER_DAT.PART_ID17x86>
+    <T_MASTER_DAT.PART_ID18x86>123456789</T_MASTER_DAT.PART_ID18x86>
+    <T_MASTER_DAT.PART_ID19x86>123456789</T_MASTER_DAT.PART_ID19x86>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x87>123456789</T_MASTER_DAT.PART_ID0x87>
+    <T_MASTER_DAT.PART_ID1x87>123456789</T_MASTER_DAT.PART_ID1x87>
+    <T_MASTER_DAT.PART_ID2x87>123456789</T_MASTER_DAT.PART_ID2x87>
+    <T_MASTER_DAT.PART_ID3x87>123456789</T_MASTER_DAT.PART_ID3x87>
+    <T_MASTER_DAT.PART_ID4x87>123456789</T_MASTER_DAT.PART_ID4x87>
+    <T_MASTER_DAT.PART_ID5x87>123456789</T_MASTER_DAT.PART_ID5x87>
+    <T_MASTER_DAT.PART_ID6x87>123456789</T_MASTER_DAT.PART_ID6x87>
+    <T_MASTER_DAT.PART_ID7x87>123456789</T_MASTER_DAT.PART_ID7x87>
+    <T_MASTER_DAT.PART_ID8x87>123456789</T_MASTER_DAT.PART_ID8x87>
+    <T_MASTER_DAT.PART_ID9x87>123456789</T_MASTER_DAT.PART_ID9x87>
+    <T_MASTER_DAT.PART_ID10x87>123456789</T_MASTER_DAT.PART_ID10x87>
+    <T_MASTER_DAT.PART_ID11x87>123456789</T_MASTER_DAT.PART_ID11x87>
+    <T_MASTER_DAT.PART_ID12x87>123456789</T_MASTER_DAT.PART_ID12x87>
+    <T_MASTER_DAT.PART_ID13x87>123456789</T_MASTER_DAT.PART_ID13x87>
+    <T_MASTER_DAT.PART_ID14x87>123456789</T_MASTER_DAT.PART_ID14x87>
+    <T_MASTER_DAT.PART_ID15x87>123456789</T_MASTER_DAT.PART_ID15x87>
+    <T_MASTER_DAT.PART_ID16x87>123456789</T_MASTER_DAT.PART_ID16x87>
+    <T_MASTER_DAT.PART_ID17x87>123456789</T_MASTER_DAT.PART_ID17x87>
+    <T_MASTER_DAT.PART_ID18x87>123456789</T_MASTER_DAT.PART_ID18x87>
+    <T_MASTER_DAT.PART_ID19x87>123456789</T_MASTER_DAT.PART_ID19x87>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x88>123456789</T_MASTER_DAT.PART_ID0x88>
+    <T_MASTER_DAT.PART_ID1x88>123456789</T_MASTER_DAT.PART_ID1x88>
+    <T_MASTER_DAT.PART_ID2x88>123456789</T_MASTER_DAT.PART_ID2x88>
+    <T_MASTER_DAT.PART_ID3x88>123456789</T_MASTER_DAT.PART_ID3x88>
+    <T_MASTER_DAT.PART_ID4x88>123456789</T_MASTER_DAT.PART_ID4x88>
+    <T_MASTER_DAT.PART_ID5x88>123456789</T_MASTER_DAT.PART_ID5x88>
+    <T_MASTER_DAT.PART_ID6x88>123456789</T_MASTER_DAT.PART_ID6x88>
+    <T_MASTER_DAT.PART_ID7x88>123456789</T_MASTER_DAT.PART_ID7x88>
+    <T_MASTER_DAT.PART_ID8x88>123456789</T_MASTER_DAT.PART_ID8x88>
+    <T_MASTER_DAT.PART_ID9x88>123456789</T_MASTER_DAT.PART_ID9x88>
+    <T_MASTER_DAT.PART_ID10x88>123456789</T_MASTER_DAT.PART_ID10x88>
+    <T_MASTER_DAT.PART_ID11x88>123456789</T_MASTER_DAT.PART_ID11x88>
+    <T_MASTER_DAT.PART_ID12x88>123456789</T_MASTER_DAT.PART_ID12x88>
+    <T_MASTER_DAT.PART_ID13x88>123456789</T_MASTER_DAT.PART_ID13x88>
+    <T_MASTER_DAT.PART_ID14x88>123456789</T_MASTER_DAT.PART_ID14x88>
+    <T_MASTER_DAT.PART_ID15x88>123456789</T_MASTER_DAT.PART_ID15x88>
+    <T_MASTER_DAT.PART_ID16x88>123456789</T_MASTER_DAT.PART_ID16x88>
+    <T_MASTER_DAT.PART_ID17x88>123456789</T_MASTER_DAT.PART_ID17x88>
+    <T_MASTER_DAT.PART_ID18x88>123456789</T_MASTER_DAT.PART_ID18x88>
+    <T_MASTER_DAT.PART_ID19x88>123456789</T_MASTER_DAT.PART_ID19x88>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x89>123456789</T_MASTER_DAT.PART_ID0x89>
+    <T_MASTER_DAT.PART_ID1x89>123456789</T_MASTER_DAT.PART_ID1x89>
+    <T_MASTER_DAT.PART_ID2x89>123456789</T_MASTER_DAT.PART_ID2x89>
+    <T_MASTER_DAT.PART_ID3x89>123456789</T_MASTER_DAT.PART_ID3x89>
+    <T_MASTER_DAT.PART_ID4x89>123456789</T_MASTER_DAT.PART_ID4x89>
+    <T_MASTER_DAT.PART_ID5x89>123456789</T_MASTER_DAT.PART_ID5x89>
+    <T_MASTER_DAT.PART_ID6x89>123456789</T_MASTER_DAT.PART_ID6x89>
+    <T_MASTER_DAT.PART_ID7x89>123456789</T_MASTER_DAT.PART_ID7x89>
+    <T_MASTER_DAT.PART_ID8x89>123456789</T_MASTER_DAT.PART_ID8x89>
+    <T_MASTER_DAT.PART_ID9x89>123456789</T_MASTER_DAT.PART_ID9x89>
+    <T_MASTER_DAT.PART_ID10x89>123456789</T_MASTER_DAT.PART_ID10x89>
+    <T_MASTER_DAT.PART_ID11x89>123456789</T_MASTER_DAT.PART_ID11x89>
+    <T_MASTER_DAT.PART_ID12x89>123456789</T_MASTER_DAT.PART_ID12x89>
+    <T_MASTER_DAT.PART_ID13x89>123456789</T_MASTER_DAT.PART_ID13x89>
+    <T_MASTER_DAT.PART_ID14x89>123456789</T_MASTER_DAT.PART_ID14x89>
+    <T_MASTER_DAT.PART_ID15x89>123456789</T_MASTER_DAT.PART_ID15x89>
+    <T_MASTER_DAT.PART_ID16x89>123456789</T_MASTER_DAT.PART_ID16x89>
+    <T_MASTER_DAT.PART_ID17x89>123456789</T_MASTER_DAT.PART_ID17x89>
+    <T_MASTER_DAT.PART_ID18x89>123456789</T_MASTER_DAT.PART_ID18x89>
+    <T_MASTER_DAT.PART_ID19x89>123456789</T_MASTER_DAT.PART_ID19x89>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x90>123456789</T_MASTER_DAT.PART_ID0x90>
+    <T_MASTER_DAT.PART_ID1x90>123456789</T_MASTER_DAT.PART_ID1x90>
+    <T_MASTER_DAT.PART_ID2x90>123456789</T_MASTER_DAT.PART_ID2x90>
+    <T_MASTER_DAT.PART_ID3x90>123456789</T_MASTER_DAT.PART_ID3x90>
+    <T_MASTER_DAT.PART_ID4x90>123456789</T_MASTER_DAT.PART_ID4x90>
+    <T_MASTER_DAT.PART_ID5x90>123456789</T_MASTER_DAT.PART_ID5x90>
+    <T_MASTER_DAT.PART_ID6x90>123456789</T_MASTER_DAT.PART_ID6x90>
+    <T_MASTER_DAT.PART_ID7x90>123456789</T_MASTER_DAT.PART_ID7x90>
+    <T_MASTER_DAT.PART_ID8x90>123456789</T_MASTER_DAT.PART_ID8x90>
+    <T_MASTER_DAT.PART_ID9x90>123456789</T_MASTER_DAT.PART_ID9x90>
+    <T_MASTER_DAT.PART_ID10x90>123456789</T_MASTER_DAT.PART_ID10x90>
+    <T_MASTER_DAT.PART_ID11x90>123456789</T_MASTER_DAT.PART_ID11x90>
+    <T_MASTER_DAT.PART_ID12x90>123456789</T_MASTER_DAT.PART_ID12x90>
+    <T_MASTER_DAT.PART_ID13x90>123456789</T_MASTER_DAT.PART_ID13x90>
+    <T_MASTER_DAT.PART_ID14x90>123456789</T_MASTER_DAT.PART_ID14x90>
+    <T_MASTER_DAT.PART_ID15x90>123456789</T_MASTER_DAT.PART_ID15x90>
+    <T_MASTER_DAT.PART_ID16x90>123456789</T_MASTER_DAT.PART_ID16x90>
+    <T_MASTER_DAT.PART_ID17x90>123456789</T_MASTER_DAT.PART_ID17x90>
+    <T_MASTER_DAT.PART_ID18x90>123456789</T_MASTER_DAT.PART_ID18x90>
+    <T_MASTER_DAT.PART_ID19x90>123456789</T_MASTER_DAT.PART_ID19x90>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x91>123456789</T_MASTER_DAT.PART_ID0x91>
+    <T_MASTER_DAT.PART_ID1x91>123456789</T_MASTER_DAT.PART_ID1x91>
+    <T_MASTER_DAT.PART_ID2x91>123456789</T_MASTER_DAT.PART_ID2x91>
+    <T_MASTER_DAT.PART_ID3x91>123456789</T_MASTER_DAT.PART_ID3x91>
+    <T_MASTER_DAT.PART_ID4x91>123456789</T_MASTER_DAT.PART_ID4x91>
+    <T_MASTER_DAT.PART_ID5x91>123456789</T_MASTER_DAT.PART_ID5x91>
+    <T_MASTER_DAT.PART_ID6x91>123456789</T_MASTER_DAT.PART_ID6x91>
+    <T_MASTER_DAT.PART_ID7x91>123456789</T_MASTER_DAT.PART_ID7x91>
+    <T_MASTER_DAT.PART_ID8x91>123456789</T_MASTER_DAT.PART_ID8x91>
+    <T_MASTER_DAT.PART_ID9x91>123456789</T_MASTER_DAT.PART_ID9x91>
+    <T_MASTER_DAT.PART_ID10x91>123456789</T_MASTER_DAT.PART_ID10x91>
+    <T_MASTER_DAT.PART_ID11x91>123456789</T_MASTER_DAT.PART_ID11x91>
+    <T_MASTER_DAT.PART_ID12x91>123456789</T_MASTER_DAT.PART_ID12x91>
+    <T_MASTER_DAT.PART_ID13x91>123456789</T_MASTER_DAT.PART_ID13x91>
+    <T_MASTER_DAT.PART_ID14x91>123456789</T_MASTER_DAT.PART_ID14x91>
+    <T_MASTER_DAT.PART_ID15x91>123456789</T_MASTER_DAT.PART_ID15x91>
+    <T_MASTER_DAT.PART_ID16x91>123456789</T_MASTER_DAT.PART_ID16x91>
+    <T_MASTER_DAT.PART_ID17x91>123456789</T_MASTER_DAT.PART_ID17x91>
+    <T_MASTER_DAT.PART_ID18x91>123456789</T_MASTER_DAT.PART_ID18x91>
+    <T_MASTER_DAT.PART_ID19x91>123456789</T_MASTER_DAT.PART_ID19x91>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x92>123456789</T_MASTER_DAT.PART_ID0x92>
+    <T_MASTER_DAT.PART_ID1x92>123456789</T_MASTER_DAT.PART_ID1x92>
+    <T_MASTER_DAT.PART_ID2x92>123456789</T_MASTER_DAT.PART_ID2x92>
+    <T_MASTER_DAT.PART_ID3x92>123456789</T_MASTER_DAT.PART_ID3x92>
+    <T_MASTER_DAT.PART_ID4x92>123456789</T_MASTER_DAT.PART_ID4x92>
+    <T_MASTER_DAT.PART_ID5x92>123456789</T_MASTER_DAT.PART_ID5x92>
+    <T_MASTER_DAT.PART_ID6x92>123456789</T_MASTER_DAT.PART_ID6x92>
+    <T_MASTER_DAT.PART_ID7x92>123456789</T_MASTER_DAT.PART_ID7x92>
+    <T_MASTER_DAT.PART_ID8x92>123456789</T_MASTER_DAT.PART_ID8x92>
+    <T_MASTER_DAT.PART_ID9x92>123456789</T_MASTER_DAT.PART_ID9x92>
+    <T_MASTER_DAT.PART_ID10x92>123456789</T_MASTER_DAT.PART_ID10x92>
+    <T_MASTER_DAT.PART_ID11x92>123456789</T_MASTER_DAT.PART_ID11x92>
+    <T_MASTER_DAT.PART_ID12x92>123456789</T_MASTER_DAT.PART_ID12x92>
+    <T_MASTER_DAT.PART_ID13x92>123456789</T_MASTER_DAT.PART_ID13x92>
+    <T_MASTER_DAT.PART_ID14x92>123456789</T_MASTER_DAT.PART_ID14x92>
+    <T_MASTER_DAT.PART_ID15x92>123456789</T_MASTER_DAT.PART_ID15x92>
+    <T_MASTER_DAT.PART_ID16x92>123456789</T_MASTER_DAT.PART_ID16x92>
+    <T_MASTER_DAT.PART_ID17x92>123456789</T_MASTER_DAT.PART_ID17x92>
+    <T_MASTER_DAT.PART_ID18x92>123456789</T_MASTER_DAT.PART_ID18x92>
+    <T_MASTER_DAT.PART_ID19x92>123456789</T_MASTER_DAT.PART_ID19x92>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x93>123456789</T_MASTER_DAT.PART_ID0x93>
+    <T_MASTER_DAT.PART_ID1x93>123456789</T_MASTER_DAT.PART_ID1x93>
+    <T_MASTER_DAT.PART_ID2x93>123456789</T_MASTER_DAT.PART_ID2x93>
+    <T_MASTER_DAT.PART_ID3x93>123456789</T_MASTER_DAT.PART_ID3x93>
+    <T_MASTER_DAT.PART_ID4x93>123456789</T_MASTER_DAT.PART_ID4x93>
+    <T_MASTER_DAT.PART_ID5x93>123456789</T_MASTER_DAT.PART_ID5x93>
+    <T_MASTER_DAT.PART_ID6x93>123456789</T_MASTER_DAT.PART_ID6x93>
+    <T_MASTER_DAT.PART_ID7x93>123456789</T_MASTER_DAT.PART_ID7x93>
+    <T_MASTER_DAT.PART_ID8x93>123456789</T_MASTER_DAT.PART_ID8x93>
+    <T_MASTER_DAT.PART_ID9x93>123456789</T_MASTER_DAT.PART_ID9x93>
+    <T_MASTER_DAT.PART_ID10x93>123456789</T_MASTER_DAT.PART_ID10x93>
+    <T_MASTER_DAT.PART_ID11x93>123456789</T_MASTER_DAT.PART_ID11x93>
+    <T_MASTER_DAT.PART_ID12x93>123456789</T_MASTER_DAT.PART_ID12x93>
+    <T_MASTER_DAT.PART_ID13x93>123456789</T_MASTER_DAT.PART_ID13x93>
+    <T_MASTER_DAT.PART_ID14x93>123456789</T_MASTER_DAT.PART_ID14x93>
+    <T_MASTER_DAT.PART_ID15x93>123456789</T_MASTER_DAT.PART_ID15x93>
+    <T_MASTER_DAT.PART_ID16x93>123456789</T_MASTER_DAT.PART_ID16x93>
+    <T_MASTER_DAT.PART_ID17x93>123456789</T_MASTER_DAT.PART_ID17x93>
+    <T_MASTER_DAT.PART_ID18x93>123456789</T_MASTER_DAT.PART_ID18x93>
+    <T_MASTER_DAT.PART_ID19x93>123456789</T_MASTER_DAT.PART_ID19x93>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x94>123456789</T_MASTER_DAT.PART_ID0x94>
+    <T_MASTER_DAT.PART_ID1x94>123456789</T_MASTER_DAT.PART_ID1x94>
+    <T_MASTER_DAT.PART_ID2x94>123456789</T_MASTER_DAT.PART_ID2x94>
+    <T_MASTER_DAT.PART_ID3x94>123456789</T_MASTER_DAT.PART_ID3x94>
+    <T_MASTER_DAT.PART_ID4x94>123456789</T_MASTER_DAT.PART_ID4x94>
+    <T_MASTER_DAT.PART_ID5x94>123456789</T_MASTER_DAT.PART_ID5x94>
+    <T_MASTER_DAT.PART_ID6x94>123456789</T_MASTER_DAT.PART_ID6x94>
+    <T_MASTER_DAT.PART_ID7x94>123456789</T_MASTER_DAT.PART_ID7x94>
+    <T_MASTER_DAT.PART_ID8x94>123456789</T_MASTER_DAT.PART_ID8x94>
+    <T_MASTER_DAT.PART_ID9x94>123456789</T_MASTER_DAT.PART_ID9x94>
+    <T_MASTER_DAT.PART_ID10x94>123456789</T_MASTER_DAT.PART_ID10x94>
+    <T_MASTER_DAT.PART_ID11x94>123456789</T_MASTER_DAT.PART_ID11x94>
+    <T_MASTER_DAT.PART_ID12x94>123456789</T_MASTER_DAT.PART_ID12x94>
+    <T_MASTER_DAT.PART_ID13x94>123456789</T_MASTER_DAT.PART_ID13x94>
+    <T_MASTER_DAT.PART_ID14x94>123456789</T_MASTER_DAT.PART_ID14x94>
+    <T_MASTER_DAT.PART_ID15x94>123456789</T_MASTER_DAT.PART_ID15x94>
+    <T_MASTER_DAT.PART_ID16x94>123456789</T_MASTER_DAT.PART_ID16x94>
+    <T_MASTER_DAT.PART_ID17x94>123456789</T_MASTER_DAT.PART_ID17x94>
+    <T_MASTER_DAT.PART_ID18x94>123456789</T_MASTER_DAT.PART_ID18x94>
+    <T_MASTER_DAT.PART_ID19x94>123456789</T_MASTER_DAT.PART_ID19x94>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x95>123456789</T_MASTER_DAT.PART_ID0x95>
+    <T_MASTER_DAT.PART_ID1x95>123456789</T_MASTER_DAT.PART_ID1x95>
+    <T_MASTER_DAT.PART_ID2x95>123456789</T_MASTER_DAT.PART_ID2x95>
+    <T_MASTER_DAT.PART_ID3x95>123456789</T_MASTER_DAT.PART_ID3x95>
+    <T_MASTER_DAT.PART_ID4x95>123456789</T_MASTER_DAT.PART_ID4x95>
+    <T_MASTER_DAT.PART_ID5x95>123456789</T_MASTER_DAT.PART_ID5x95>
+    <T_MASTER_DAT.PART_ID6x95>123456789</T_MASTER_DAT.PART_ID6x95>
+    <T_MASTER_DAT.PART_ID7x95>123456789</T_MASTER_DAT.PART_ID7x95>
+    <T_MASTER_DAT.PART_ID8x95>123456789</T_MASTER_DAT.PART_ID8x95>
+    <T_MASTER_DAT.PART_ID9x95>123456789</T_MASTER_DAT.PART_ID9x95>
+    <T_MASTER_DAT.PART_ID10x95>123456789</T_MASTER_DAT.PART_ID10x95>
+    <T_MASTER_DAT.PART_ID11x95>123456789</T_MASTER_DAT.PART_ID11x95>
+    <T_MASTER_DAT.PART_ID12x95>123456789</T_MASTER_DAT.PART_ID12x95>
+    <T_MASTER_DAT.PART_ID13x95>123456789</T_MASTER_DAT.PART_ID13x95>
+    <T_MASTER_DAT.PART_ID14x95>123456789</T_MASTER_DAT.PART_ID14x95>
+    <T_MASTER_DAT.PART_ID15x95>123456789</T_MASTER_DAT.PART_ID15x95>
+    <T_MASTER_DAT.PART_ID16x95>123456789</T_MASTER_DAT.PART_ID16x95>
+    <T_MASTER_DAT.PART_ID17x95>123456789</T_MASTER_DAT.PART_ID17x95>
+    <T_MASTER_DAT.PART_ID18x95>123456789</T_MASTER_DAT.PART_ID18x95>
+    <T_MASTER_DAT.PART_ID19x95>123456789</T_MASTER_DAT.PART_ID19x95>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x96>123456789</T_MASTER_DAT.PART_ID0x96>
+    <T_MASTER_DAT.PART_ID1x96>123456789</T_MASTER_DAT.PART_ID1x96>
+    <T_MASTER_DAT.PART_ID2x96>123456789</T_MASTER_DAT.PART_ID2x96>
+    <T_MASTER_DAT.PART_ID3x96>123456789</T_MASTER_DAT.PART_ID3x96>
+    <T_MASTER_DAT.PART_ID4x96>123456789</T_MASTER_DAT.PART_ID4x96>
+    <T_MASTER_DAT.PART_ID5x96>123456789</T_MASTER_DAT.PART_ID5x96>
+    <T_MASTER_DAT.PART_ID6x96>123456789</T_MASTER_DAT.PART_ID6x96>
+    <T_MASTER_DAT.PART_ID7x96>123456789</T_MASTER_DAT.PART_ID7x96>
+    <T_MASTER_DAT.PART_ID8x96>123456789</T_MASTER_DAT.PART_ID8x96>
+    <T_MASTER_DAT.PART_ID9x96>123456789</T_MASTER_DAT.PART_ID9x96>
+    <T_MASTER_DAT.PART_ID10x96>123456789</T_MASTER_DAT.PART_ID10x96>
+    <T_MASTER_DAT.PART_ID11x96>123456789</T_MASTER_DAT.PART_ID11x96>
+    <T_MASTER_DAT.PART_ID12x96>123456789</T_MASTER_DAT.PART_ID12x96>
+    <T_MASTER_DAT.PART_ID13x96>123456789</T_MASTER_DAT.PART_ID13x96>
+    <T_MASTER_DAT.PART_ID14x96>123456789</T_MASTER_DAT.PART_ID14x96>
+    <T_MASTER_DAT.PART_ID15x96>123456789</T_MASTER_DAT.PART_ID15x96>
+    <T_MASTER_DAT.PART_ID16x96>123456789</T_MASTER_DAT.PART_ID16x96>
+    <T_MASTER_DAT.PART_ID17x96>123456789</T_MASTER_DAT.PART_ID17x96>
+    <T_MASTER_DAT.PART_ID18x96>123456789</T_MASTER_DAT.PART_ID18x96>
+    <T_MASTER_DAT.PART_ID19x96>123456789</T_MASTER_DAT.PART_ID19x96>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x97>123456789</T_MASTER_DAT.PART_ID0x97>
+    <T_MASTER_DAT.PART_ID1x97>123456789</T_MASTER_DAT.PART_ID1x97>
+    <T_MASTER_DAT.PART_ID2x97>123456789</T_MASTER_DAT.PART_ID2x97>
+    <T_MASTER_DAT.PART_ID3x97>123456789</T_MASTER_DAT.PART_ID3x97>
+    <T_MASTER_DAT.PART_ID4x97>123456789</T_MASTER_DAT.PART_ID4x97>
+    <T_MASTER_DAT.PART_ID5x97>123456789</T_MASTER_DAT.PART_ID5x97>
+    <T_MASTER_DAT.PART_ID6x97>123456789</T_MASTER_DAT.PART_ID6x97>
+    <T_MASTER_DAT.PART_ID7x97>123456789</T_MASTER_DAT.PART_ID7x97>
+    <T_MASTER_DAT.PART_ID8x97>123456789</T_MASTER_DAT.PART_ID8x97>
+    <T_MASTER_DAT.PART_ID9x97>123456789</T_MASTER_DAT.PART_ID9x97>
+    <T_MASTER_DAT.PART_ID10x97>123456789</T_MASTER_DAT.PART_ID10x97>
+    <T_MASTER_DAT.PART_ID11x97>123456789</T_MASTER_DAT.PART_ID11x97>
+    <T_MASTER_DAT.PART_ID12x97>123456789</T_MASTER_DAT.PART_ID12x97>
+    <T_MASTER_DAT.PART_ID13x97>123456789</T_MASTER_DAT.PART_ID13x97>
+    <T_MASTER_DAT.PART_ID14x97>123456789</T_MASTER_DAT.PART_ID14x97>
+    <T_MASTER_DAT.PART_ID15x97>123456789</T_MASTER_DAT.PART_ID15x97>
+    <T_MASTER_DAT.PART_ID16x97>123456789</T_MASTER_DAT.PART_ID16x97>
+    <T_MASTER_DAT.PART_ID17x97>123456789</T_MASTER_DAT.PART_ID17x97>
+    <T_MASTER_DAT.PART_ID18x97>123456789</T_MASTER_DAT.PART_ID18x97>
+    <T_MASTER_DAT.PART_ID19x97>123456789</T_MASTER_DAT.PART_ID19x97>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x98>123456789</T_MASTER_DAT.PART_ID0x98>
+    <T_MASTER_DAT.PART_ID1x98>123456789</T_MASTER_DAT.PART_ID1x98>
+    <T_MASTER_DAT.PART_ID2x98>123456789</T_MASTER_DAT.PART_ID2x98>
+    <T_MASTER_DAT.PART_ID3x98>123456789</T_MASTER_DAT.PART_ID3x98>
+    <T_MASTER_DAT.PART_ID4x98>123456789</T_MASTER_DAT.PART_ID4x98>
+    <T_MASTER_DAT.PART_ID5x98>123456789</T_MASTER_DAT.PART_ID5x98>
+    <T_MASTER_DAT.PART_ID6x98>123456789</T_MASTER_DAT.PART_ID6x98>
+    <T_MASTER_DAT.PART_ID7x98>123456789</T_MASTER_DAT.PART_ID7x98>
+    <T_MASTER_DAT.PART_ID8x98>123456789</T_MASTER_DAT.PART_ID8x98>
+    <T_MASTER_DAT.PART_ID9x98>123456789</T_MASTER_DAT.PART_ID9x98>
+    <T_MASTER_DAT.PART_ID10x98>123456789</T_MASTER_DAT.PART_ID10x98>
+    <T_MASTER_DAT.PART_ID11x98>123456789</T_MASTER_DAT.PART_ID11x98>
+    <T_MASTER_DAT.PART_ID12x98>123456789</T_MASTER_DAT.PART_ID12x98>
+    <T_MASTER_DAT.PART_ID13x98>123456789</T_MASTER_DAT.PART_ID13x98>
+    <T_MASTER_DAT.PART_ID14x98>123456789</T_MASTER_DAT.PART_ID14x98>
+    <T_MASTER_DAT.PART_ID15x98>123456789</T_MASTER_DAT.PART_ID15x98>
+    <T_MASTER_DAT.PART_ID16x98>123456789</T_MASTER_DAT.PART_ID16x98>
+    <T_MASTER_DAT.PART_ID17x98>123456789</T_MASTER_DAT.PART_ID17x98>
+    <T_MASTER_DAT.PART_ID18x98>123456789</T_MASTER_DAT.PART_ID18x98>
+    <T_MASTER_DAT.PART_ID19x98>123456789</T_MASTER_DAT.PART_ID19x98>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x99>123456789</T_MASTER_DAT.PART_ID0x99>
+    <T_MASTER_DAT.PART_ID1x99>123456789</T_MASTER_DAT.PART_ID1x99>
+    <T_MASTER_DAT.PART_ID2x99>123456789</T_MASTER_DAT.PART_ID2x99>
+    <T_MASTER_DAT.PART_ID3x99>123456789</T_MASTER_DAT.PART_ID3x99>
+    <T_MASTER_DAT.PART_ID4x99>123456789</T_MASTER_DAT.PART_ID4x99>
+    <T_MASTER_DAT.PART_ID5x99>123456789</T_MASTER_DAT.PART_ID5x99>
+    <T_MASTER_DAT.PART_ID6x99>123456789</T_MASTER_DAT.PART_ID6x99>
+    <T_MASTER_DAT.PART_ID7x99>123456789</T_MASTER_DAT.PART_ID7x99>
+    <T_MASTER_DAT.PART_ID8x99>123456789</T_MASTER_DAT.PART_ID8x99>
+    <T_MASTER_DAT.PART_ID9x99>123456789</T_MASTER_DAT.PART_ID9x99>
+    <T_MASTER_DAT.PART_ID10x99>123456789</T_MASTER_DAT.PART_ID10x99>
+    <T_MASTER_DAT.PART_ID11x99>123456789</T_MASTER_DAT.PART_ID11x99>
+    <T_MASTER_DAT.PART_ID12x99>123456789</T_MASTER_DAT.PART_ID12x99>
+    <T_MASTER_DAT.PART_ID13x99>123456789</T_MASTER_DAT.PART_ID13x99>
+    <T_MASTER_DAT.PART_ID14x99>123456789</T_MASTER_DAT.PART_ID14x99>
+    <T_MASTER_DAT.PART_ID15x99>123456789</T_MASTER_DAT.PART_ID15x99>
+    <T_MASTER_DAT.PART_ID16x99>123456789</T_MASTER_DAT.PART_ID16x99>
+    <T_MASTER_DAT.PART_ID17x99>123456789</T_MASTER_DAT.PART_ID17x99>
+    <T_MASTER_DAT.PART_ID18x99>123456789</T_MASTER_DAT.PART_ID18x99>
+    <T_MASTER_DAT.PART_ID19x99>123456789</T_MASTER_DAT.PART_ID19x99>
+  </EDB-ART>
+</plm_result>
\ No newline at end of file
diff --git a/docs/changelog-report.html b/docs/changelog-report.html
new file mode 100644
index 0000000..f31ef9b
--- /dev/null
+++ b/docs/changelog-report.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Changelog Report</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+          <tr class="a"><th>Date</th><th>Author</th><th>File/Message</th></tr>
+        </thead><tbody>
+          <tr class="b"><td>2005-05-14 12:39:35</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/project.properties" class="externalLink" title="External Link">project.properties</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/project.properties?rev=1.22.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.22.2.1</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/xpp/ProxyXmlStartTag.java" class="externalLink" title="External Link">src/java/org/dom4j/xpp/ProxyXmlStartTag.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/xpp/ProxyXmlStartTag.java?rev=1.8.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.8.2.1</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/test/org/dom4j/XMLWriterTest.java" class="externalLink" title="External Link">src/test/org/dom4j/XMLWriterTest.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/test/org/dom4j/XMLWriterTest.java?rev=1.7.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.7.2.1</a>
+              </p>Upgraded to pull-parser version 2.1.10.</td></tr>
+          <tr class="a"><td>2005-05-14 12:38:48</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/pull-parser-2.1.10.jar" class="externalLink" title="External Link">lib/pull-parser-2.1.10.jar</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/pull-parser-2.1.10.jar?rev=1.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.1</a>
+              </p>branches: 1.1.2; file pull-parser-2.1.10.jar was initially added on branch DOM4J_1_X_BRANCH.</td></tr>
+          <tr class="b"><td>2005-05-14 12:38:48</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/pull-parser-2.1.10.jar" class="externalLink" title="External Link">lib/pull-parser-2.1.10.jar</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/pull-parser-2.1.10.jar?rev=1.1.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.1.2.1</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/pull-parser-2.jar" class="externalLink" title="External Link">lib/pull-parser-2.jar</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/pull-parser-2.jar?rev=1.1.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.1.2.1</a>
+              </p>Upgraded to pull-parser version 2.1.10.</td></tr>
+          <tr class="a"><td>2005-05-10 19:59:40</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/io/XMLWriter.java" class="externalLink" title="External Link">src/java/org/dom4j/io/XMLWriter.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/io/XMLWriter.java?rev=1.83.2.2&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.83.2.2</a>
+              </p>Hopefully fixed the newLine problem now...</td></tr>
+          <tr class="b"><td>2005-05-05 13:25:20</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/io/XMLWriter.java" class="externalLink" title="External Link">src/java/org/dom4j/io/XMLWriter.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/io/XMLWriter.java?rev=1.83.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.83.2.1</a>
+              </p>Fixed new-line problem reported by Thomas Fromm</td></tr>
+          <tr class="a"><td>2005-05-05 12:45:25</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/InvalidXPathException.java" class="externalLink" title="External Link">src/java/org/dom4j/InvalidXPathException.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/InvalidXPathException.java?rev=1.6.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.6.2.1</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/xpath/DefaultXPath.java" class="externalLink" title="External Link">src/java/org/dom4j/xpath/DefaultXPath.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/xpath/DefaultXPath.java?rev=1.33.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.33.2.1</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/xpath/XPathPattern.java" class="externalLink" title="External Link">src/java/org/dom4j/xpath/XPathPattern.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/xpath/XPathPattern.java?rev=1.18.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.18.2.1</a>
+              </p>Improved exception handling.</td></tr>
+          <tr class="b"><td>2005-05-05 12:28:16</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/test/junit-3.8.1.jar" class="externalLink" title="External Link">lib/test/junit-3.8.1.jar</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/test/junit-3.8.1.jar?rev=1.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.1</a>
+              </p>branches: 1.1.2; file junit-3.8.1.jar was initially added on branch DOM4J_1_X_BRANCH.</td></tr>
+          <tr class="a"><td>2005-05-05 12:28:16</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/test/junit-3.8.1.jar" class="externalLink" title="External Link">lib/test/junit-3.8.1.jar</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/test/junit-3.8.1.jar?rev=1.1.2.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.1.2.1</a>
+              </p>Added junit jar</td></tr>
+          <tr class="b"><td>2005-04-22 18:46:31</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/DocumentFactory.java" class="externalLink" title="External Link">src/java/org/dom4j/DocumentFactory.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/DocumentFactory.java?rev=1.46&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.46</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/QName.java" class="externalLink" title="External Link">src/java/org/dom4j/QName.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/QName.java?rev=1.19&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.19</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/dom/DOMDocumentFactory.java" class="externalLink" title="External Link">src/java/org/dom4j/dom/DOMDocumentFactory.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/dom/DOMDocumentFactory.java?rev=1.21&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.21</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/util/PerThreadSingleton.java" class="externalLink" title="External Link">src/java/org/dom4j/util/PerThreadSingleton.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/util/PerThreadSingleton.java?rev=1.3&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.3</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/util/SimpleSingleton.java" class="externalLink" title="External Link">src/java/org/dom4j/util/SimpleSingleton.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/util/SimpleSingleton.java?rev=1.3&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.3</a>
+              </p>The static method forName(String) from the type Class should be accessed in a static way</td></tr>
+          <tr class="a"><td>2005-04-19 19:52:54</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/project.properties" class="externalLink" title="External Link">project.properties</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/project.properties?rev=1.22&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.22</a>
+              </p>branches: 1.22.2; Fixed the xpath tests for the current jaxen CVS sources</td></tr>
+          <tr class="b"><td>2005-04-19 19:52:53</td><td>Maarten Coene</td><td>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/build.xml" class="externalLink" title="External Link">build.xml</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/build.xml?rev=1.161&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.161</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/project.xml" class="externalLink" title="External Link">project.xml</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/project.xml?rev=1.53&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.53</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/jaxen-1.1-beta-4.jar" class="externalLink" title="External Link">lib/jaxen-1.1-beta-4.jar</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/jaxen-1.1-beta-4.jar?rev=1.4&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.4</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/jaxen-20050419.192021.jar" class="externalLink" title="External Link">lib/jaxen-20050419.192021.jar</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/jaxen-20050419.192021.jar?rev=1.1&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.1</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/test/org/dom4j/XPathExamplesTest.java" class="externalLink" title="External Link">src/test/org/dom4j/XPathExamplesTest.java</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/test/org/dom4j/XPathExamplesTest.java?rev=1.5&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.5</a>
+              </p>
+              <p>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/xml/test/xpath/tests.xml" class="externalLink" title="External Link">xml/test/xpath/tests.xml</a>
+                <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/xml/test/xpath/tests.xml?rev=1.33&content-type=text/vnd.viewcvs-markup" class="externalLink" title="External Link">v 1.33</a>
+              </p>Fixed the xpath tests for the current jaxen CVS sources</td></tr>
+        </tbody></table></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/changes-report.html b/docs/changes-report.html
new file mode 100644
index 0000000..bd4c2e7
--- /dev/null
+++ b/docs/changes-report.html
@@ -0,0 +1,480 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - dom4j changes</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="Maarten Coene"></meta><meta name="email" content="maartenc at users.sourceforge.net"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+            <a href="#1_6_1">1.6.1</a>
+          </td><td>2005-05-16</td><td>
+          </td></tr><tr class="a"><td>
+            <a href="#1_6">1.6</a>
+          </td><td>2005-04-15</td><td>
+          </td></tr><tr class="b"><td>
+            <a href="#1_5_2">1.5.2</a>
+          </td><td>2004-11-15</td><td>
+          </td></tr><tr class="a"><td>
+            <a href="#1_5_1">1.5.1</a>
+          </td><td>2004-10-29</td><td>
+          </td></tr><tr class="b"><td>
+            <a href="#1_5">1.5</a>
+          </td><td>2004-09-03</td><td>
+          </td></tr><tr class="a"><td>
+            <a href="#1_5-rc1">1.5-rc1</a>
+          </td><td>2004-07-04</td><td>
+          </td></tr><tr class="b"><td>
+            <a href="#1_5-beta-2">1.5-beta-2</a>
+          </td><td>2004-05-12</td><td>
+          </td></tr><tr class="a"><td>
+            <a href="#1_5-beta-1">1.5-beta-1</a>
+          </td><td>2004-03-25</td><td>
+          </td></tr></table><p>Get the RSS feed of the last changes
+        <a href="changes.rss">
+          <img src="images/rss.png" alt=""></img>
+        </a>
+      </p></div><div class="section"><a name="Release_1_6_1_-_2005-05-16"></a><h2>Release 1.6.1 - 2005-05-16</h2><a name="1_6_1">
+      </a><table class="bodyTable"><tr class="b"><th style="width:50px">Type</th><th>Changes</th><th style="width:70px">By</th></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Updated the XPP2 implementation to version 2.1.10. Thanks to Wolfgang Baer .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed a problem with
+            <code>XMLWriter</code>that was causing too many new lines to be written to the resulting XML. Thanks to Thomas Fromm .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Include more information about the cause if an
+            <code>XPathException</code>or
+            <code>InvalidXPathException</code>is thrown. Thanks to Gili Tzabari .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr></table></div><div class="section"><a name="Release_1_6_-_2005-04-15"></a><h2>Release 1.6 - 2005-04-15</h2><a name="1_6">
+      </a><table class="bodyTable"><tr class="b"><th style="width:50px">Type</th><th>Changes</th><th style="width:70px">By</th></tr><tr class="a"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added a methods to
+            <code>SAXReader</code>allowing to specify the encoding used when reading XML sources. Thanks to Filip Jirsak .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Changed the
+            <code>DocumentHelper.parseText(String)</code>method to make sure that the XML encoding is always set (if known) on the returned
+            <code>Document</code>, even if the used SAXParser doesn't provide a way to retrieve that encoding.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added a
+            <code>setXMLEncoding(String)</code>method to the
+            <code>Document</code>interface.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Removed a static
+            <code>OutputFormat</code>field from
+            <code>AbstractBranch</code>. This can cause problems if multiple threads are using the
+            <code>asXML()</code>method simultaniously. Thanks to John Plaxton .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed a whitespace problem with the pretty-print
+            <code>OutputFormat</code>. Thanks to Brett Porter .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed a bug in the
+            <code>DefaultElement.setContent(List)</code>method that caused incorrectly resetting the parent of the nodes in the list. Thanks to Peter Schaefer .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="remove" title="remove" src="images/remove.gif"></img>
+          </td><td>Removed
+            <code>persistence</code>package and sub-package.</td><td>
+            <a href="team-list.html#wolfftw">wolfftw</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Modified
+            <code>SAXEventRecorder</code>to accomodate sax events generated when writing a
+            <code>DOMDocument</code>.</td><td>
+            <a href="team-list.html#wolfftw">wolfftw</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed a problem in
+            <code>AbstractDocument.asXML()</code>when an encoding was specified on the
+            <code>Document</code>. Thanks to Pieter Valcke .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>The
+            <code>DefaultNamespace.isReadOnly()</code>method now returns
+            <code>false</code>. This fixes issues with cloning this
+            <code>Node</code>.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Updated
+            <code>DocumentFactory</code>to create the instance untill the first time it is needed. Thanks to Brian Topping .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed a bug in
+            <code>Stylesheet</code>when an xpath expressions was used to select the nodes. Thanks to Brett Porter .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added a
+            <code>SingletonStrategy</code>class for managing singletons. This allows to use different strategies for singletons, like: one instance per VM, one instance per thread, ... This change removed the usage of
+            <code>ThreadLocal</code>s.</td><td>
+            <a href="team-list.html#ddlucas">ddlucas</a>
+          </td></tr></table></div><div class="section"><a name="Release_1_5_2_-_2004-11-15"></a><h2>Release 1.5.2 - 2004-11-15</h2><a name="1_5_2">
+      </a><table class="bodyTable"><tr class="b"><th style="width:50px">Type</th><th>Changes</th><th style="width:70px">By</th></tr><tr class="a"><td>
+            <img alt="remove" title="remove" src="images/remove.gif"></img>
+          </td><td>Removed the internal Aelfred2 parser due to incompatible license.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added a
+            <code>SAXEventRecorder</code>that can replay SAX events at a later time. This provides an alternative serialization approach.</td><td>
+            <a href="team-list.html#wolfftw">wolfftw</a>
+          </td></tr></table></div><div class="section"><a name="Release_1_5_1_-_2004-10-29"></a><h2>Release 1.5.1 - 2004-10-29</h2><a name="1_5_1">
+      </a><table class="bodyTable"><tr class="a"><th style="width:50px">Type</th><th>Changes</th><th style="width:70px">By</th></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed problem where the namespace prefix was lost using
+            <code>DOMDocument</code>. Thanks to Ara Vartanian .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>Document.asXML()</code>which ignored the encoding of the document. Thanks to David Karlsen .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Updated
+            <code>NamespaceCache</code>to use
+            <code>WeakReference</code>s to allow
+            <code>Namespace</code>objects to be garbage collected.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Updated
+            <code>JAXBReader</code>to allow ElementHandlers to be notified when the specified path is encountered, without having to unmarshall XML content. Thanks to Wonne Keysers .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed a bug in
+            <code>XMLWriter</code>where a
+            <code>NullPointerException</code>was thrown if trying to write a CData section containing
+            <code>null</code>content. Thanks to Daniel Hopper .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Modified the internal Aelfred2 parser to no longer support the SAX2 Extensions 1.1 API. As a result, the SAX2 sources are no included with dom4j.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added support for the XPP3 parser. Thanks to Pelle Braendgaard .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr></table></div><div class="section"><a name="Release_1_5_-_2004-09-03"></a><h2>Release 1.5 - 2004-09-03</h2><a name="1_5">
+      </a><table class="bodyTable"><tr class="a"><th style="width:50px">Type</th><th>Changes</th><th style="width:70px">By</th></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>XMLWriter.characters(...)</code>where the escapeText property of the writer was ignored. Thanks to Dion Gillard .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed the
+            <code>Stylesheet.removeRule(Rule)</code>method which didn't remove the
+            <code>Rule</code>but added it again. Thanks to Peter Stibrany .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>BackedList</code>causing new elements to always be added at the first position if the size of the list is 1. Thanks to Robert Koberg .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Upgraded the internal Aelfred2 parser to the latest version.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added initial JAXB support. Thanks to Wonne Keysers .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Updated the STAX classes to provide document encoding. Thanks to Christian Niles .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added
+            <code>getXMLEncoding()</code>method to
+            <code>org.dom4j.Document</code>which returns the encoding of the document.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr></table></div><div class="section"><a name="Release_1_5-rc1_-_2004-07-04"></a><h2>Release 1.5-rc1 - 2004-07-04</h2><a name="1_5-rc1">
+      </a><table class="bodyTable"><tr class="a"><th style="width:50px">Type</th><th>Changes</th><th style="width:70px">By</th></tr><tr class="b"><td>
+            <img alt="remove" title="remove" src="images/remove.gif"></img>
+          </td><td>Removed the
+            <code>DocumentHelper.parseText(String xml, String encoding)</code>method that was introduced in dom4j-1.5-beta2.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Added the GNU JAXP DOM implementation to the default list of implementations in
+            <code>DOMWriter</code>.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Added method to
+            <code>ElementStack</code>and
+            <code>DispatchHandler</code>to check if a handler is registered for a given path. Thanks to Wonne Keysers .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>
+            <code>ElementStack</code>is now a public class. Thanks to Wonne Keysers .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>
+            <code>SAXContentHandler.endElement(...)</code>can now throw
+            <code>SAXException</code>. Thanks to Wonne Keysers .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Added the namespace-prefix of attributes to the paths returned by
+            <code>Attribute.getPath(Element context)</code>and
+            <code>Attribute.getUniquePath(Element context)</code>. Thanks to Aaron Bell .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>
+            <code>Element.declaredNamespaces()</code>now only returns the namespaces that are declared on that element.
+            <code>Element.additionalNamespaces()</code>now only returns namespaces that are declared on that element and is not the same as the namespace of that element. Thanks to Marc Pellmann .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Escape the values of internal DTD entity declarations when serializing to XML. Thanks to Marc Pellmann .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>AbstractElement</code>causing
+            <code>Node.getPath(Element context)</code>to return an absolute path, even if a the current element was the same as the context element. The relative path "." is now returned. Thanks to Rob Grzywinski .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added method to
+            <code>Element</code>to retrieve all
+            <code>Namespaces</code>for a given URI. Thanks to Thomas Diesler .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>DOMReader</code>causing namespace declarations to get lost in some situations. Thanks to Thomas Diesler .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added a
+            <code>booleanValueOf(Object node)</code>method to
+            <code>XPath</code>. Thanks to Ben Scarlet .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>BeanElement</code>which prevented proper execution of the bean samples. Thanks to Wonne Keysers .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>
+            <code>STAXEventWriter</code>now uses
+            <code>XMLEventConsumer</code>instead of
+            <code>XMLEventWriter</code>. Thanks to Christian Niles .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>SAXReader</code>that caused problems parsing files in OSX. Thanks to Paul Libbrecht .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>XMLWriter</code>that caused whitespace to be added between successive calls of the
+            <code>characters(...)</code>method. This is used particularly frequent in Apache Jelly. Thanks to Paul Libbrecht .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Improved performance of
+            <code>NamespaceCache</code>in multithreaded environments. Thanks to Brett Finnell .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr></table></div><div class="section"><a name="Release_1_5-beta-2_-_2004-05-12"></a><h2>Release 1.5-beta-2 - 2004-05-12</h2><a name="1_5-beta-2">
+      </a><table class="bodyTable"><tr class="a"><th style="width:50px">Type</th><th>Changes</th><th style="width:70px">By</th></tr><tr class="b"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added flag to
+            <code>OutputFormat</code>that supresses newline after XML declaration.</td><td>
+            <a href="team-list.html#wolfftw">wolfftw</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Upgraded dependencies to their latest version on ibiblio.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added method to
+            <code>DocumentHelper</code>that allows user to specify encoding when parsing an xml
+            <code>String</code>. Thanks to Todd Wolff .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed a ClassCastException bug in
+            <code>BeanElement</code>.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed a bug in
+            <code>SAXContentHandler</code>which caused a
+            <code>NullPointerException</code>in some situations.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug which prevented an element's namespace prefix from being registered for use in xpath expressions. Thanks to Todd Wolff .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>XMLWriter</code>that caused duplication of the default namespace declaration. Thanks to Todd Wolff .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Added a bunch of patches to make the dom4j DOM classes more DOM compliant. Thanks to Curt Arnold .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Fixed bug in
+            <code>DispatchHandler</code>which made the handler not reusable. Thanks to Ricardo Leon .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>SAXContentHandler</code>that caused incorrect CDATA section parsing. Thanks to Todd Wolff .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>SAXContentHandler</code>that caused incorrect entity handling.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>XMLWriter</code>causing padding to be disabled, even if enabled in the specified outputformat. Thanks to Bo Gundersen .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="add" title="add" src="images/add.gif"></img>
+          </td><td>Added initial support for STaX streams. Thanks to Christian Niles .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr></table></div><div class="section"><a name="Release_1_5-beta-1_-_2004-03-25"></a><h2>Release 1.5-beta-1 - 2004-03-25</h2><a name="1_5-beta-1">
+      </a><table class="bodyTable"><tr class="a"><th style="width:50px">Type</th><th>Changes</th><th style="width:70px">By</th></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed encoding bug in
+            <code>Document.asXML()</code>and
+            <code>DocumentHelper.parseText()</code>.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in
+            <code>SAXReader</code>that caused problems resolving relative URIs when parsing
+            <code>java.io.File</code>Objects. Thanks to Kohsuke Kawaguchi .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>The iterators returned by the
+            <code>Element.elementIterator(...)</code>methods now support
+            <code>remove()</code>.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>
+            <code>DOMWriter</code>writes now DOM Level 2 attributes and elements. Thanks to Geert Dendoncker and Joury Gokel .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Use latest implementation of the Aelfred parser.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed some problems with internal/external DTD declarations. Thanks to Bryan Thompson .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Upgraded to Jaxen 1.1 beta 2.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Ignore attribute order when comparing elements in
+            <code>NodeComparator</code>.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Fixed bug in
+            <code>XMLWriter</code>where namespace declarations were duplicated.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed bug in parsing a
+            <code>ProcessingInstruction</code>. Thanks to Vladimir Kralik .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Added support for
+            <code>Stylesheet</code>modes. Thanks to Mark Diggory .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Don't escape " and ' characters in attribute values if it's not necessary. Thanks to Christian Niles .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed some
+            <code>DOMNodeHelper</code>issues. Thanks to Henner Kollmann .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed some datatype issues. Thanks to Thomas Draier .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed an bug where the EntityResolver was not set on the XMLReader.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed multithreaded access on
+            <code>DefaultElement</code>.</td><td>
+            <a href="team-list.html#slehmann">slehmann</a>
+          </td></tr><tr class="b"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed problem parsing XML Files. Thanks to Geoffrey Vlassaks .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Added xml:space attribute support based on XML Specification 1.0.</td><td>
+            <a href="team-list.html#ddlucas">ddlucas</a>
+          </td></tr><tr class="b"><td>
+            <img alt="update" title="update" src="images/update.gif"></img>
+          </td><td>Maven build of dom4j is now nearly complete. Maven is now used for the website generation.</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr><tr class="a"><td>
+            <img alt="fix" title="fix" src="images/fix.gif"></img>
+          </td><td>Fixed some bugs in BackedList. Thanks to Alessandro Vernet .</td><td>
+            <a href="team-list.html#maartenc">maartenc</a>
+          </td></tr></table></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/changes.rss b/docs/changes.rss
new file mode 100644
index 0000000..7656540
--- /dev/null
+++ b/docs/changes.rss
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<rss version="0.91">
+  <channel>
+    <title>Changes report</title>
+    <link>http://dom4j.org</link>
+    <description>Changes report</description>
+    <language>en-us</language>
+    <copyright>Copyright 2004 The Apache Software Foundation</copyright>
+    <item>
+      <title>3 change(s) for version 1.6.1</title>
+      <link>http://dom4j.org/changes-report.html</link>
+      <description>
+        <table border="1">
+          <tr>
+            <th style="width:50px">Type</th>
+            <th>Changes</th>
+            <th style="width:70px">By</th>
+          </tr>
+          <tr>
+            <td>update</td>
+            <td>Updated the XPP2 implementation to version 2.1.10. Thanks to Wolfgang Baer .</td>
+            <td>
+              <a href="http://dom4j.org/team-list.html#maartenc">maartenc</a>
+            </td>
+          </tr>
+          <tr>
+            <td>fix</td>
+            <td>Fixed a problem with XMLWriter that was causing too many new lines to be written to the resulting XML. Thanks to Thomas Fromm .</td>
+            <td>
+              <a href="http://dom4j.org/team-list.html#maartenc">maartenc</a>
+            </td>
+          </tr>
+          <tr>
+            <td>update</td>
+            <td>Include more information about the cause if an XPathException or InvalidXPathException is thrown. Thanks to Gili Tzabari .</td>
+            <td>
+              <a href="http://dom4j.org/team-list.html#maartenc">maartenc</a>
+            </td>
+          </tr>
+        </table>
+      </description>
+    </item>
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/checkstyle-report.html b/docs/checkstyle-report.html
new file mode 100644
index 0000000..e47b335
--- /dev/null
+++ b/docs/checkstyle-report.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Checkstyle Results</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        <a href="http://checkstyle.sourceforge.net/" class="externalLink" title="External Link">Checkstyle</a>
+        <a href="checkstyle.rss">
+          <img src="images/rss.png" alt=""></img>
+        </a>.</p></div><div class="section"><a name="Summary"></a><h2>Summary</h2><table class="bodyTable"><thead>
+          <tr class="b"><th>Files</th><th style="width:75px">Infos</th><th style="width:75px">Warnings</th><th style="width:75px">Errors</th></tr>
+        </thead><tbody>
+          <tr class="a"><td>165</td><td>0</td><td>7</td><td>0</td></tr>
+        </tbody></table></div><div class="section"><a name="Files"></a><h2>Files</h2><table class="bodyTable"><thead>
+          <tr class="b"><th>Files</th><th style="width:30px">I</th><th style="width:30px">W</th><th style="width:30px">E</th></tr>
+        </thead><tbody>
+          <tr class="a"><td>
+              <a href="#org_dom4j_InvalidXPathException_java">org/dom4j/InvalidXPathException.java</a>
+            </td><td>0</td><td>4</td><td>0</td></tr>
+          <tr class="b"><td>
+              <a href="#org_dom4j_util_PerThreadSingleton_java">org/dom4j/util/PerThreadSingleton.java</a>
+            </td><td>0</td><td>1</td><td>0</td></tr>
+          <tr class="a"><td>
+              <a href="#org_dom4j_util_SimpleSingleton_java">org/dom4j/util/SimpleSingleton.java</a>
+            </td><td>0</td><td>1</td><td>0</td></tr>
+          <tr class="b"><td>
+              <a href="#org_dom4j_xpath_DefaultXPath_java">org/dom4j/xpath/DefaultXPath.java</a>
+            </td><td>0</td><td>1</td><td>0</td></tr>
+        </tbody></table><div class="subsection"><a name="org_dom4j_InvalidXPathException_java"></a><h3>org/dom4j/InvalidXPathException.java</h3><table class="bodyTable"><thead>
+            <tr class="a"><th colspan="2">Error</th><th style="width:20px">Line</th></tr>
+          </thead><tbody>
+            <tr class="b"><td style="width:20px">
+                <img height="15" width="15" alt="Warning" src="images/icon_warning_sml.gif"></img>
+              </td><td>Line contains a tab character.</td><td>
+                <a href="xref/org/dom4j/InvalidXPathException.html#19">19</a>
+              </td></tr>
+          </tbody><tbody>
+            <tr class="a"><td style="width:20px">
+                <img height="15" width="15" alt="Warning" src="images/icon_warning_sml.gif"></img>
+              </td><td>Line contains a tab character.</td><td>
+                <a href="xref/org/dom4j/InvalidXPathException.html#20">20</a>
+              </td></tr>
+          </tbody><tbody>
+            <tr class="b"><td style="width:20px">
+                <img height="15" width="15" alt="Warning" src="images/icon_warning_sml.gif"></img>
+              </td><td>Line contains a tab character.</td><td>
+                <a href="xref/org/dom4j/InvalidXPathException.html#22">22</a>
+              </td></tr>
+          </tbody><tbody>
+            <tr class="a"><td style="width:20px">
+                <img height="15" width="15" alt="Warning" src="images/icon_warning_sml.gif"></img>
+              </td><td>Line contains a tab character.</td><td>
+                <a href="xref/org/dom4j/InvalidXPathException.html#32">32</a>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_util_PerThreadSingleton_java"></a><h3>org/dom4j/util/PerThreadSingleton.java</h3><table class="bodyTable"><thead>
+            <tr class="b"><th colspan="2">Error</th><th style="width:20px">Line</th></tr>
+          </thead><tbody>
+            <tr class="a"><td style="width:20px">
+                <img height="15" width="15" alt="Warning" src="images/icon_warning_sml.gif"></img>
+              </td><td>Line is longer than 80 characters.</td><td>
+                <a href="xref/org/dom4j/util/PerThreadSingleton.html#45">45</a>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_util_SimpleSingleton_java"></a><h3>org/dom4j/util/SimpleSingleton.java</h3><table class="bodyTable"><thead>
+            <tr class="b"><th colspan="2">Error</th><th style="width:20px">Line</th></tr>
+          </thead><tbody>
+            <tr class="a"><td style="width:20px">
+                <img height="15" width="15" alt="Warning" src="images/icon_warning_sml.gif"></img>
+              </td><td>Line is longer than 80 characters.</td><td>
+                <a href="xref/org/dom4j/util/SimpleSingleton.html#38">38</a>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_xpath_DefaultXPath_java"></a><h3>org/dom4j/xpath/DefaultXPath.java</h3><table class="bodyTable"><thead>
+            <tr class="b"><th colspan="2">Error</th><th style="width:20px">Line</th></tr>
+          </thead><tbody>
+            <tr class="a"><td style="width:20px">
+                <img height="15" width="15" alt="Warning" src="images/icon_warning_sml.gif"></img>
+              </td><td>Line contains a tab character.</td><td>
+                <a href="xref/org/dom4j/xpath/DefaultXPath.html#362">362</a>
+              </td></tr>
+          </tbody></table></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/checkstyle.rss b/docs/checkstyle.rss
new file mode 100644
index 0000000..27d0755
--- /dev/null
+++ b/docs/checkstyle.rss
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<rss version="0.91">
+  <channel>
+    <title>Checkstyle report</title>
+    <link>http://dom4j.org</link>
+    <description>Checkstyle report</description>
+    <language>en-us</language>
+    <copyright>Copyright 2004 The Apache Software Foundation</copyright>
+    <item>
+      <title>File: 165 , Errors: 0 , Warnings: 7 , Infos: 0</title>
+      <link>http://dom4j.org/checkstyle-report.html</link>
+      <description>
+        <p>Click
+          <a href="http://dom4j.org/checkstyle-report.html">here</a>for the full Checkstyle report.</p>
+        <table border="1" summary="Files">
+          <thead>
+            <tr>
+              <th>Files</th>
+              <th style="width:30px">I</th>
+              <th style="width:30px">W</th>
+              <th style="width:30px">E</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td>
+                <a href="http://dom4j.org/checkstyle-report.html#org/dom4j/InvalidXPathException.java">org/dom4j/InvalidXPathException.java</a>
+              </td>
+              <td>0</td>
+              <td>4</td>
+              <td>0</td>
+            </tr>
+            <tr>
+              <td>
+                <a href="http://dom4j.org/checkstyle-report.html#org/dom4j/util/PerThreadSingleton.java">org/dom4j/util/PerThreadSingleton.java</a>
+              </td>
+              <td>0</td>
+              <td>1</td>
+              <td>0</td>
+            </tr>
+            <tr>
+              <td>
+                <a href="http://dom4j.org/checkstyle-report.html#org/dom4j/util/SimpleSingleton.java">org/dom4j/util/SimpleSingleton.java</a>
+              </td>
+              <td>0</td>
+              <td>1</td>
+              <td>0</td>
+            </tr>
+            <tr>
+              <td>
+                <a href="http://dom4j.org/checkstyle-report.html#org/dom4j/xpath/DefaultXPath.java">org/dom4j/xpath/DefaultXPath.java</a>
+              </td>
+              <td>0</td>
+              <td>1</td>
+              <td>0</td>
+            </tr>
+          </tbody>
+        </table>
+      </description>
+    </item>
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs/clover/all-classes.html b/docs/clover/all-classes.html
new file mode 100644
index 0000000..3071e59
--- /dev/null
+++ b/docs/clover/all-classes.html
@@ -0,0 +1,496 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">All Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="org/dom4j/tree/AbstractAttribute.html" title="AbstractAttribute">AbstractAttribute</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractBranch.html" title="AbstractBranch">AbstractBranch</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractCDATA.html" title="AbstractCDATA">AbstractCDATA</A>
+    	    <i>(89,5%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractCharacterData.html" title="AbstractCharacterData">AbstractCharacterData</A>
+    	    <i>(23,1%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractComment.html" title="AbstractComment">AbstractComment</A>
+    	    <i>(21,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractDocument.html" title="AbstractDocument">AbstractDocument</A>
+    	    <i>(62,4%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractDocumentType.html" title="AbstractDocumentType">AbstractDocumentType</A>
+    	    <i>(50%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractElement.html" title="AbstractElement">AbstractElement</A>
+    	    <i>(45,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractEntity.html" title="AbstractEntity">AbstractEntity</A>
+    	    <i>(12%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractNode.html" title="AbstractNode">AbstractNode</A>
+    	    <i>(67,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractProcessingInstruction.html" title="AbstractProcessingInstruction">AbstractProcessingInstruction</A>
+    	    <i>(49,5%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/AbstractText.html" title="AbstractText">AbstractText</A>
+    	    <i>(63,6%)</i><BR>
+        
+                <A target="classPane" href="org/dom4j/dtd/AttributeDecl.html" title="AttributeDecl">AttributeDecl</A>
+    	    <i>(78%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/util/AttributeHelper.html" title="AttributeHelper">AttributeHelper</A>
+    	    <i>(28,6%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/BackedList.html" title="BackedList">BackedList</A>
+    	    <i>(47,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/BaseElement.html" title="BaseElement">BaseElement</A>
+    	    <i>(18,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/bean/BeanAttribute.html" title="BeanAttribute">BeanAttribute</A>
+    	    <i>(27,8%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/bean/BeanAttributeList.html" title="BeanAttributeList">BeanAttributeList</A>
+    	    <i>(31,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/bean/BeanDocumentFactory.html" title="BeanDocumentFactory">BeanDocumentFactory</A>
+    	    <i>(28,1%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/bean/BeanElement.html" title="BeanElement">BeanElement</A>
+    	    <i>(63,3%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/bean/BeanMetaData.html" title="BeanMetaData">BeanMetaData</A>
+    	    <i>(66,7%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/swing/BranchTreeNode.html" title="BranchTreeNode">BranchTreeNode</A>
+    	    <i>(0%)</i><BR>
+          
+                <A target="classPane" href="org/dom4j/tree/ConcurrentReaderHashMap.html" title="ConcurrentReaderHashMap">ConcurrentReaderHashMap</A>
+    	    <i>(35%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/tree/ConcurrentReaderHashMap.html#Entry" title="ConcurrentReaderHashMap.Entry">ConcurrentReaderHashMap.Entry</A>
+    	    <i>(17,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/ConcurrentReaderHashMap.html#EntrySet" title="ConcurrentReaderHashMap.EntrySet">ConcurrentReaderHashMap.EntrySet</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/ConcurrentReaderHashMap.html#HashIterator" title="ConcurrentReaderHashMap.HashIterator">ConcurrentReaderHashMap.HashIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/ConcurrentReaderHashMap.html#KeyIterator" title="ConcurrentReaderHashMap.KeyIterator">ConcurrentReaderHashMap.KeyIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/ConcurrentReaderHashMap.html#KeySet" title="ConcurrentReaderHashMap.KeySet">ConcurrentReaderHashMap.KeySet</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/ConcurrentReaderHashMap.html#ValueIterator" title="ConcurrentReaderHashMap.ValueIterator">ConcurrentReaderHashMap.ValueIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/ConcurrentReaderHashMap.html#Values" title="ConcurrentReaderHashMap.Values">ConcurrentReaderHashMap.Values</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/ContentListFacade.html" title="ContentListFacade">ContentListFacade</A>
+    	    <i>(27,6%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMAttribute.html" title="DOMAttribute">DOMAttribute</A>
+    	    <i>(2,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMAttributeNodeMap.html" title="DOMAttributeNodeMap">DOMAttributeNodeMap</A>
+    	    <i>(10,5%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMCDATA.html" title="DOMCDATA">DOMCDATA</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMComment.html" title="DOMComment">DOMComment</A>
+    	    <i>(2,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMDocument.html" title="DOMDocument">DOMDocument</A>
+    	    <i>(22,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMDocumentFactory.html" title="DOMDocumentFactory">DOMDocumentFactory</A>
+    	    <i>(41,8%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMDocumentType.html" title="DOMDocumentType">DOMDocumentType</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMElement.html" title="DOMElement">DOMElement</A>
+    	    <i>(24,1%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMEntityReference.html" title="DOMEntityReference">DOMEntityReference</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMNamespace.html" title="DOMNamespace">DOMNamespace</A>
+    	    <i>(3,8%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMNodeHelper.html" title="DOMNodeHelper">DOMNodeHelper</A>
+    	    <i>(15,1%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMNodeHelper.html#EmptyNodeList" title="DOMNodeHelper.EmptyNodeList">DOMNodeHelper.EmptyNodeList</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMProcessingInstruction.html" title="DOMProcessingInstruction">DOMProcessingInstruction</A>
+    	    <i>(2,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/DOMReader.html" title="DOMReader">DOMReader</A>
+    	    <i>(78,2%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dom/DOMText.html" title="DOMText">DOMText</A>
+    	    <i>(6%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/DOMWriter.html" title="DOMWriter">DOMWriter</A>
+    	    <i>(67,2%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/datatype/DatatypeAttribute.html" title="DatatypeAttribute">DatatypeAttribute</A>
+    	    <i>(38,5%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/datatype/DatatypeDocumentFactory.html" title="DatatypeDocumentFactory">DatatypeDocumentFactory</A>
+    	    <i>(50%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/datatype/DatatypeElement.html" title="DatatypeElement">DatatypeElement</A>
+    	    <i>(54,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/datatype/DatatypeElementFactory.html" title="DatatypeElementFactory">DatatypeElementFactory</A>
+    	    <i>(91,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultAttribute.html" title="DefaultAttribute">DefaultAttribute</A>
+    	    <i>(50%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultCDATA.html" title="DefaultCDATA">DefaultCDATA</A>
+    	    <i>(26,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultComment.html" title="DefaultComment">DefaultComment</A>
+    	    <i>(53,3%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultDocument.html" title="DefaultDocument">DefaultDocument</A>
+    	    <i>(49,5%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultDocumentType.html" title="DefaultDocumentType">DefaultDocumentType</A>
+    	    <i>(75%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultElement.html" title="DefaultElement">DefaultElement</A>
+    	    <i>(65,5%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultEntity.html" title="DefaultEntity">DefaultEntity</A>
+    	    <i>(21,1%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultNamespace.html" title="DefaultNamespace">DefaultNamespace</A>
+    	    <i>(90,6%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/xpath/DefaultNamespaceContext.html" title="DefaultNamespaceContext">DefaultNamespaceContext</A>
+    	    <i>(78,1%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/rule/pattern/DefaultPattern.html" title="DefaultPattern">DefaultPattern</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultProcessingInstruction.html" title="DefaultProcessingInstruction">DefaultProcessingInstruction</A>
+    	    <i>(24%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/DefaultText.html" title="DefaultText">DefaultText</A>
+    	    <i>(80%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/xpath/DefaultXPath.html" title="DefaultXPath">DefaultXPath</A>
+    	    <i>(68,6%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/DispatchHandler.html" title="DispatchHandler">DispatchHandler</A>
+    	    <i>(62,9%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/DocumentException.html" title="DocumentException">DocumentException</A>
+    	    <i>(7,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/DocumentFactory.html" title="DocumentFactory">DocumentFactory</A>
+    	    <i>(80,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/DocumentHelper.html" title="DocumentHelper">DocumentHelper</A>
+    	    <i>(72,6%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/DocumentInputSource.html" title="DocumentInputSource">DocumentInputSource</A>
+    	    <i>(22,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/DocumentResult.html" title="DocumentResult">DocumentResult</A>
+    	    <i>(40%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/DocumentSource.html" title="DocumentSource">DocumentSource</A>
+    	    <i>(16,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/swing/DocumentTreeModel.html" title="DocumentTreeModel">DocumentTreeModel</A>
+    	    <i>(0%)</i><BR>
+        
+                <A target="classPane" href="org/dom4j/dtd/ElementDecl.html" title="ElementDecl">ElementDecl</A>
+    	    <i>(64,3%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/tree/ElementIterator.html" title="ElementIterator">ElementIterator</A>
+    	    <i>(0%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/tree/ElementNameIterator.html" title="ElementNameIterator">ElementNameIterator</A>
+    	    <i>(0%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/tree/ElementQNameIterator.html" title="ElementQNameIterator">ElementQNameIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/ElementStack.html" title="ElementStack">ElementStack</A>
+    	    <i>(35,2%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/dtd/ExternalEntityDecl.html" title="ExternalEntityDecl">ExternalEntityDecl</A>
+    	    <i>(80%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/FilterIterator.html" title="FilterIterator">FilterIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/FlyweightAttribute.html" title="FlyweightAttribute">FlyweightAttribute</A>
+    	    <i>(46,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/FlyweightCDATA.html" title="FlyweightCDATA">FlyweightCDATA</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/FlyweightComment.html" title="FlyweightComment">FlyweightComment</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/FlyweightEntity.html" title="FlyweightEntity">FlyweightEntity</A>
+    	    <i>(16,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/FlyweightProcessingInstruction.html" title="FlyweightProcessingInstruction">FlyweightProcessingInstruction</A>
+    	    <i>(57,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/FlyweightText.html" title="FlyweightText">FlyweightText</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/HTMLWriter.html" title="HTMLWriter">HTMLWriter</A>
+    	    <i>(37,3%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/HTMLWriter.html#FormatState" title="HTMLWriter.FormatState">HTMLWriter.FormatState</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/IllegalAddException.html" title="IllegalAddException">IllegalAddException</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/util/IndexedDocumentFactory.html" title="IndexedDocumentFactory">IndexedDocumentFactory</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/util/IndexedElement.html" title="IndexedElement">IndexedElement</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/dtd/InternalEntityDecl.html" title="InternalEntityDecl">InternalEntityDecl</A>
+    	    <i>(70,4%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/datatype/InvalidSchemaException.html" title="InvalidSchemaException">InvalidSchemaException</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/InvalidXPathException.html" title="InvalidXPathException">InvalidXPathException</A>
+    	    <i>(33,3%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/jaxb/JAXBModifier.html" title="JAXBModifier">JAXBModifier</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/jaxb/JAXBModifier.html#JAXBElementModifier" title="JAXBModifier.JAXBElementModifier">JAXBModifier.JAXBElementModifier</A>
+    	    <i>(0%)</i><BR>
+        
+                <A target="classPane" href="org/dom4j/jaxb/JAXBReader.html" title="JAXBReader">JAXBReader</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/jaxb/JAXBReader.html#PruningElementHandler" title="JAXBReader.PruningElementHandler">JAXBReader.PruningElementHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/jaxb/JAXBReader.html#UnmarshalElementHandler" title="JAXBReader.UnmarshalElementHandler">JAXBReader.UnmarshalElementHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/jaxb/JAXBRuntimeException.html" title="JAXBRuntimeException">JAXBRuntimeException</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/jaxb/JAXBSupport.html" title="JAXBSupport">JAXBSupport</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/jaxb/JAXBWriter.html" title="JAXBWriter">JAXBWriter</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/JAXPHelper.html" title="JAXPHelper">JAXPHelper</A>
+    	    <i>(92,3%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/swing/LeafTreeNode.html" title="LeafTreeNode">LeafTreeNode</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/rule/Mode.html" title="Mode">Mode</A>
+    	    <i>(45,1%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/datatype/NamedTypeResolver.html" title="NamedTypeResolver">NamedTypeResolver</A>
+    	    <i>(94,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/Namespace.html" title="Namespace">Namespace</A>
+    	    <i>(84,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/NamespaceCache.html" title="NamespaceCache">NamespaceCache</A>
+    	    <i>(85,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/NamespaceStack.html" title="NamespaceStack">NamespaceStack</A>
+    	    <i>(84,9%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/util/NodeComparator.html" title="NodeComparator">NodeComparator</A>
+    	    <i>(64%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/rule/pattern/NodeTypePattern.html" title="NodeTypePattern">NodeTypePattern</A>
+    	    <i>(83,3%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/util/NonLazyDocumentFactory.html" title="NonLazyDocumentFactory">NonLazyDocumentFactory</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/util/NonLazyElement.html" title="NonLazyElement">NonLazyElement</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/rule/NullAction.html" title="NullAction">NullAction</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/OutputFormat.html" title="OutputFormat">OutputFormat</A>
+    	    <i>(51,7%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/util/PerThreadSingleton.html" title="PerThreadSingleton">PerThreadSingleton</A>
+    	    <i>(76,2%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/util/ProxyDocumentFactory.html" title="ProxyDocumentFactory">ProxyDocumentFactory</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/xpp/ProxyXmlStartTag.html" title="ProxyXmlStartTag">ProxyXmlStartTag</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/PruningDispatchHandler.html" title="PruningDispatchHandler">PruningDispatchHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/PruningElementStack.html" title="PruningElementStack">PruningElementStack</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/QName.html" title="QName">QName</A>
+    	    <i>(73,4%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/QNameCache.html" title="QNameCache">QNameCache</A>
+    	    <i>(78%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/rule/Rule.html" title="Rule">Rule</A>
+    	    <i>(54,1%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/rule/RuleManager.html" title="RuleManager">RuleManager</A>
+    	    <i>(63,6%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/rule/RuleSet.html" title="RuleSet">RuleSet</A>
+    	    <i>(68,8%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXContentHandler.html" title="SAXContentHandler">SAXContentHandler</A>
+    	    <i>(73,8%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXEventRecorder.html" title="SAXEventRecorder">SAXEventRecorder</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXEventRecorder.html#SAXEvent" title="SAXEventRecorder.SAXEvent">SAXEventRecorder.SAXEvent</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXHelper.html" title="SAXHelper">SAXHelper</A>
+    	    <i>(40,4%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXModifier.html" title="SAXModifier">SAXModifier</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXModifyContentHandler.html" title="SAXModifyContentHandler">SAXModifyContentHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXModifyElementHandler.html" title="SAXModifyElementHandler">SAXModifyElementHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXModifyException.html" title="SAXModifyException">SAXModifyException</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXModifyReader.html" title="SAXModifyReader">SAXModifyReader</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXReader.html" title="SAXReader">SAXReader</A>
+    	    <i>(58,4%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXReader.html#SAXEntityResolver" title="SAXReader.SAXEntityResolver">SAXReader.SAXEntityResolver</A>
+    	    <i>(90,9%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXValidator.html" title="SAXValidator">SAXValidator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/SAXWriter.html" title="SAXWriter">SAXWriter</A>
+    	    <i>(63,6%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/STAXEventReader.html" title="STAXEventReader">STAXEventReader</A>
+    	    <i>(43,1%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/STAXEventWriter.html" title="STAXEventWriter">STAXEventWriter</A>
+    	    <i>(36,2%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/STAXEventWriter.html#AttributeIterator" title="STAXEventWriter.AttributeIterator">STAXEventWriter.AttributeIterator</A>
+    	    <i>(36,4%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/STAXEventWriter.html#NamespaceIterator" title="STAXEventWriter.NamespaceIterator">STAXEventWriter.NamespaceIterator</A>
+    	    <i>(36,4%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/datatype/SchemaParser.html" title="SchemaParser">SchemaParser</A>
+    	    <i>(71,3%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/util/SimpleSingleton.html" title="SimpleSingleton">SimpleSingleton</A>
+    	    <i>(76,5%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/tree/SingleIterator.html" title="SingleIterator">SingleIterator</A>
+    	    <i>(81,8%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/rule/Stylesheet.html" title="Stylesheet">Stylesheet</A>
+    	    <i>(41,2%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/util/UserDataAttribute.html" title="UserDataAttribute">UserDataAttribute</A>
+    	    <i>(25%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/util/UserDataDocumentFactory.html" title="UserDataDocumentFactory">UserDataDocumentFactory</A>
+    	    <i>(100%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/util/UserDataElement.html" title="UserDataElement">UserDataElement</A>
+    	    <i>(74,1%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/VisitorSupport.html" title="VisitorSupport">VisitorSupport</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/util/XMLErrorHandler.html" title="XMLErrorHandler">XMLErrorHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/XMLResult.html" title="XMLResult">XMLResult</A>
+    	    <i>(41,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/swing/XMLTableColumnDefinition.html" title="XMLTableColumnDefinition">XMLTableColumnDefinition</A>
+    	    <i>(25,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/swing/XMLTableDefinition.html" title="XMLTableDefinition">XMLTableDefinition</A>
+    	    <i>(76,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/swing/XMLTableModel.html" title="XMLTableModel">XMLTableModel</A>
+    	    <i>(56,5%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/XMLWriter.html" title="XMLWriter">XMLWriter</A>
+    	    <i>(62,3%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/XPP3Reader.html" title="XPP3Reader">XPP3Reader</A>
+    	    <i>(46,7%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/io/XPPReader.html" title="XPPReader">XPPReader</A>
+    	    <i>(0%)</i><BR>
+      
+                <A target="classPane" href="org/dom4j/XPathException.html" title="XPathException">XPathException</A>
+    	    <i>(27,3%)</i><BR>
+    
+                <A target="classPane" href="org/dom4j/xpath/XPathPattern.html" title="XPathPattern">XPathPattern</A>
+    	    <i>(54,2%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/all-pkgs.html b/docs/clover/all-pkgs.html
new file mode 100644
index 0000000..2858740
--- /dev/null
+++ b/docs/clover/all-pkgs.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+ <HEAD>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <TITLE>dom4j - 1.6.1</TITLE>
+  <LINK REL ="stylesheet" TYPE="text/css" HREF="style.css" TITLE="Style">
+ </HEAD>
+ <BODY bgColor="white">
+    <span class="titleText"><b>dom4j - 1.6.1</b><BR>Clover coverage report</span><P>
+    <span class="navBar"><b><a target="classPane" href="pkgs-summary.html">Overview</a><BR>
+    <a target="packagePane" href="all-classes.html">All Classes</a></b><P>
+    <span class="titleText"><b>All Packages</b></span><BR>
+   <TABLE width="100%" border="0">
+     <TBODY>
+      <TR>
+        <TD noWrap class="itemList">
+            <A target="packagePane" href="org/dom4j/pkg-classes.html" title="org.dom4j">org.dom4j</A>
+          <i>(69%)</i><BR>
+              <A target="packagePane" href="org/dom4j/bean/pkg-classes.html" title="org.dom4j.bean">org.dom4j.bean</A>
+          <i>(48%)</i><BR>
+              <A target="packagePane" href="org/dom4j/datatype/pkg-classes.html" title="org.dom4j.datatype">org.dom4j.datatype</A>
+          <i>(64,5%)</i><BR>
+              <A target="packagePane" href="org/dom4j/dom/pkg-classes.html" title="org.dom4j.dom">org.dom4j.dom</A>
+          <i>(12,7%)</i><BR>
+              <A target="packagePane" href="org/dom4j/dtd/pkg-classes.html" title="org.dom4j.dtd">org.dom4j.dtd</A>
+          <i>(74,8%)</i><BR>
+              <A target="packagePane" href="org/dom4j/io/pkg-classes.html" title="org.dom4j.io">org.dom4j.io</A>
+          <i>(46,9%)</i><BR>
+              <A target="packagePane" href="org/dom4j/jaxb/pkg-classes.html" title="org.dom4j.jaxb">org.dom4j.jaxb</A>
+          <i>(0%)</i><BR>
+              <A target="packagePane" href="org/dom4j/rule/pkg-classes.html" title="org.dom4j.rule">org.dom4j.rule</A>
+          <i>(50,4%)</i><BR>
+              <A target="packagePane" href="org/dom4j/rule/pattern/pkg-classes.html" title="org.dom4j.rule.pattern">org.dom4j.rule.pattern</A>
+          <i>(41,7%)</i><BR>
+              <A target="packagePane" href="org/dom4j/swing/pkg-classes.html" title="org.dom4j.swing">org.dom4j.swing</A>
+          <i>(38,4%)</i><BR>
+              <A target="packagePane" href="org/dom4j/tree/pkg-classes.html" title="org.dom4j.tree">org.dom4j.tree</A>
+          <i>(52,6%)</i><BR>
+              <A target="packagePane" href="org/dom4j/util/pkg-classes.html" title="org.dom4j.util">org.dom4j.util</A>
+          <i>(31,8%)</i><BR>
+              <A target="packagePane" href="org/dom4j/xpath/pkg-classes.html" title="org.dom4j.xpath">org.dom4j.xpath</A>
+          <i>(67,1%)</i><BR>
+              <A target="packagePane" href="org/dom4j/xpp/pkg-classes.html" title="org.dom4j.xpp">org.dom4j.xpp</A>
+          <i>(0%)</i><BR>
+          </TD>
+       </TR>
+      </TBODY>
+   </TABLE>
+ </font>
+ </BODY>
+</HTML>
+
diff --git a/docs/clover/img/logo.gif b/docs/clover/img/logo.gif
new file mode 100644
index 0000000..f232b85
Binary files /dev/null and b/docs/clover/img/logo.gif differ
diff --git a/docs/clover/img/trans.gif b/docs/clover/img/trans.gif
new file mode 100644
index 0000000..d794434
Binary files /dev/null and b/docs/clover/img/trans.gif differ
diff --git a/docs/clover/index.html b/docs/clover/index.html
new file mode 100644
index 0000000..f9981c8
--- /dev/null
+++ b/docs/clover/index.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <TITLE>dom4j - 1.6.1</TITLE>
+  </HEAD>
+  <FRAMESET cols="20%,*">
+    <FRAMESET rows="30%,*">
+      <FRAME name="packageListPane" src="all-pkgs.html" scrolling="yes">
+      <FRAME name="packagePane" src="all-classes.html" scrolling="yes">
+    </FRAMESET>
+    <FRAME name="classPane" src="pkgs-summary.html" scrolling="yes">
+  </FRAMESET>
+  <NOFRAMES>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+  <BR>
+Link to <A HREF="pkgs-summary.html">Non-frame version.</A>
+  </NOFRAMES>
+</HTML>
diff --git a/docs/clover/org/dom4j/Attribute.html b/docs/clover/org/dom4j/Attribute.html
new file mode 100644
index 0000000..f7f6e10
--- /dev/null
+++ b/docs/clover/org/dom4j/Attribute.html
@@ -0,0 +1,778 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Attribute.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Attribute.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">173</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">13</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Attribute.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Attribute</code> defines an XML attribute. An attribute may have a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * name, an optional namespace and a value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Attribute"> 19</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Attribute <span class="keyword">extends</span> Node {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the <code>QName</code> of this attribute which represents the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * local name, the qualified name and the <code>Namespace</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>QName</code> associated with this attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    QName getQName();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the <code>Namespace</code> of this element if one exists</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * otherwise null is returned returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>Namespace</code> associated with this node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Namespace getNamespace();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>Namespace</code> of this element or if this element is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * read only then an <code>UnsupportedOperationException</code> is thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Namespace</code> to associate with this element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setNamespace(Namespace namespace);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the namespace prefix of this element if one exists otherwise an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * empty <code>String</code> is returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the prefix of the <code>Namespace</code> of this element or an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         empty <code>String</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getNamespacePrefix();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the URI mapped to the namespace of this element if one exists</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * otherwise an empty <code>String</code> is returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the URI for the <code>Namespace</code> of this element or an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         empty <code>String</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getNamespaceURI();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the fully qualified name of this element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will be the same as the value returned from {@link Node#getName()}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * if this element has no namespace attached to this element or an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression of the form</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * getNamespacePrefix() + &quot;:&quot; + getName()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the fully qualified name of the element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getQualifiedName();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the value of the attribute. This method returns the same value as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the {@link Node#getText()}method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getValue();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the value of this attribute or this method will throw an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>UnsupportedOperationException</code> if it is read-only.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the new value of this attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setValue(String value);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Accesses the data of this attribute which may implement data typing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * bindings such as <code>XML Schema</code> or <code>Java Bean</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * bindings or will return the same value as {@link Node#getText()}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the attribute data</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Object getData();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the data value of this attribute if this element supports data</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * binding or calls {@link Node#setText(String)}if it doesn't.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> data</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the attribute data</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setData(Object data);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/Branch.html b/docs/clover/org/dom4j/Branch.html
new file mode 100644
index 0000000..7670907
--- /dev/null
+++ b/docs/clover/org/dom4j/Branch.html
@@ -0,0 +1,1490 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Branch.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Branch.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">351</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">31</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Branch.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Branch</code> interface defines the common behaviour for Nodes which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * can contain child nodes (content) such as XML elements and documents. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * interface allows both elements and documents to be treated in a polymorphic</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * manner when changing or navigating child nodes (content).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.32 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Branch"> 24</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Branch <span class="keyword">extends</span> Node {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the <code>Node</code> at the specified index position.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> index</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the index of the node to return.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>Node</code> at the specified position.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IndexOutOfBoundsException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the index is out of range (index &lt; 0 || index &gt;=</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             {@link Branch#nodeCount()}).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Node node(<span class="keyword">int</span> index) <span class="keyword">throws</span> IndexOutOfBoundsException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the index of the given node if it is a child node of this branch</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or -1 if the given node is not a child node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the content child node to find.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the index of the given node starting at 0 or -1 if the node is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         not a child node of this branch</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">int</span> indexOf(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the number of <code>Node</code> instances that this branch</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * contains.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the number of nodes this branch contains</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">int</span> nodeCount();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the element of the given ID attribute value. If this tree is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * capable of understanding which attribute value should be used for the ID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * then it should be used, otherwise this method should return null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element elementByID(String elementID);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the content nodes of this branch as a backed {@link List}so that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the content of this branch may be modified directly using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link List}interface. The <code>List</code> is backed by the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Branch</code> so that changes to the list are reflected in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * branch and vice versa.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the nodes that this branch contains as a <code>List</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List content();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns an iterator through the content nodes of this branch</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an iterator through the content nodes of this branch</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Iterator nodeIterator();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the contents of this branch as a <code>List</code> of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Node</code> instances.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the list of nodes to use as the content for this branch.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setContent(List content);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Appends the content of the given branch to this branch instance. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * method behaves like the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * java.util.Collection#addAll(java.util.Collection)} method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> branch</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the branch whose content will be added to me.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> appendContent(Branch branch);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Clears the content for this branch, removing any <code>Node</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instances this branch may contain.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> clearContent();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a list of all the processing instructions in this branch. The</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * list is backed by this branch so that changes to the list will be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * reflected in the branch but the reverse is not the case.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a backed list of the processing instructions</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List processingInstructions();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a list of the processing instructions for the given target. The</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * list is backed by this branch so that changes to the list will be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * reflected in the branch but the reverse is not the case.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a backed list of the processing instructions</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List processingInstructions(String target);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the processing instruction for the given target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    ProcessingInstruction processingInstruction(String target);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets all the processing instructions for this branch</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> listOfPIs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setProcessingInstructions(List listOfPIs);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a new <code>Element</code> node with the given name to this branch</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * and returns a reference to the new node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name for the <code>Element</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly added <code>Element</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addElement(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a new <code>Element</code> node with the given {@link QName}to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this branch and returns a reference to the new node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the qualified name for the <code>Element</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly added <code>Element</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addElement(QName qname);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a new <code>Element</code> node with the given qualified name and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * namespace URI to this branch and returns a reference to the new node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the fully qualified name of the Element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceURI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI of the namespace to use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly added <code>Element</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addElement(String qualifiedName, String namespaceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the processing instruction for the given target if it exists</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if a processing instruction was removed else false</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> removeProcessingInstruction(String target);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given <code>Node</code> or throws {@link IllegalAddException}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * if the given node is not of a valid type. This is a polymorphic method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * which will call the typesafe method for the node type such as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * add(Element) or add(Comment).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the given node to add</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> add(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given <code>Comment</code> to this branch. If the given node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * already has a parent defined then an <code>IllegalAddException</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the comment to be added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> add(Comment comment);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given <code>Element</code> to this branch. If the given node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * already has a parent defined then an <code>IllegalAddException</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the element to be added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> add(Element element);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given <code>ProcessingInstruction</code> to this branch. If</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the given node already has a parent defined then an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>IllegalAddException</code> will be thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pi</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the processing instruction to be added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> add(ProcessingInstruction pi);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the given <code>Node</code> if the node is an immediate child</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * of this branch. If the given node is not an immediate child of this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * branch then the {@link Node#detach()}method should be used instead. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is a polymorphic method which will call the typesafe method for the node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * type such as remove(Element) or remove(Comment).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the given node to be removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the node was removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> remove(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the given <code>Comment</code> if the node is an immediate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * child of this branch. If the given node is not an immediate child of this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * branch then the {@link Node#detach()}method should be used instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the comment to be removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the comment was removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> remove(Comment comment);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the given <code>Element</code> if the node is an immediate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * child of this branch. If the given node is not an immediate child of this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * branch then the {@link Node#detach()}method should be used instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the element to be removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the element was removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> remove(Element element);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the given <code>ProcessingInstruction</code> if the node is an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * immediate child of this branch. If the given node is not an immediate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * child of this branch then the {@link Node#detach()}method should be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pi</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the processing instruction to be removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the processing instruction was removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> remove(ProcessingInstruction pi);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Puts all <code>Text</code> nodes in the full depth of the sub-tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * underneath this <code>Node</code>, including attribute nodes, into a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * "normal" form where only structure (e.g., elements, comments, processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instructions, CDATA sections, and entity references) separates</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Text</code> nodes, i.e., there are neither adjacent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Text</code> nodes nor empty <code>Text</code> nodes. This can</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * be used to ensure that the DOM view of a document is the same as if it</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * were saved and re-loaded, and is useful when operations (such as XPointer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * lookups) that depend on a particular document tree structure are to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * used.In cases where the document contains <code>CDATASections</code>,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the normalize operation alone may not be sufficient, since XPointers do</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * not differentiate between <code>Text</code> nodes and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>CDATASection</code> nodes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@since</span> DOM Level 2</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> normalize();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/CDATA.html b/docs/clover/org/dom4j/CDATA.html
new file mode 100644
index 0000000..da85267
--- /dev/null
+++ b/docs/clover/org/dom4j/CDATA.html
@@ -0,0 +1,310 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ CDATA.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="CDATA.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">56</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">3</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   CDATA.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>CDATA</code> defines an XML CDATA section.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="CDATA"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> CDATA <span class="keyword">extends</span> CharacterData {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/CharacterData.html b/docs/clover/org/dom4j/CharacterData.html
new file mode 100644
index 0000000..37093e6
--- /dev/null
+++ b/docs/clover/org/dom4j/CharacterData.html
@@ -0,0 +1,358 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ CharacterData.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="CharacterData.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">68</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">4</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   CharacterData.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>CharacterData</code> is a marker interface for character based nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * such as the <code>CDATA</code>,<code>Comment</code> and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Text</code> nodes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="CharacterData"> 20</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> CharacterData <span class="keyword">extends</span> Node {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Appends the given text to this nodes text value. Calling this method is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * equivalent of the code <code>node.setText(node.getText() + text)</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * but allows for possible implementation optimisations (such as a text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * based node storing a StringBuffer internally</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the text to append</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> appendText(String text);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/Comment.html b/docs/clover/org/dom4j/Comment.html
new file mode 100644
index 0000000..b4e62cf
--- /dev/null
+++ b/docs/clover/org/dom4j/Comment.html
@@ -0,0 +1,310 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Comment.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Comment.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">56</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">3</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Comment.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Comment</code> defines the behavior of an XML comment.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Comment"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Comment <span class="keyword">extends</span> CharacterData {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/Document.html b/docs/clover/org/dom4j/Document.html
new file mode 100644
index 0000000..c0de9ff
--- /dev/null
+++ b/docs/clover/org/dom4j/Document.html
@@ -0,0 +1,842 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Document.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Document.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">189</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">17</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Document.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.EntityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Document</code> defines an XML Document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.14 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Document"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Document <span class="keyword">extends</span> Branch {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the root {@link Element}for this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the root element for this document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element getRootElement();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the root element for this document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> rootElement</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the new root element for this document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setRootElement(Element rootElement);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a new <code>Comment</code> node with the given text to this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * branch.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text for the <code>Comment</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Document</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Document addComment(String comment);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a processing instruction for the given target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the target of the processing instruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the textual data (key/value pairs) of the processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            instruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Document</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Document addProcessingInstruction(String target, String text);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a processing instruction for the given target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the target of the processing instruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> data</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is a Map of the key / value pairs of the processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            instruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Document</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Document addProcessingInstruction(String target, Map data);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a DOCTYPE declaration to this document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the root element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> publicId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the PUBLIC URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the SYSTEM URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Document</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Document addDocType(String name, String publicId, String systemId);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the DocumentType property</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    DocumentType getDocType();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the DocumentType property</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> docType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setDocType(DocumentType docType);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the EntityResolver used to find resolve URIs such as for DTDs, or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         XML Schema documents</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    EntityResolver getEntityResolver();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the EntityResolver used to find resolve URIs such as for DTDs, or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XML Schema documents</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entityResolver</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setEntityResolver(EntityResolver entityResolver);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Return the encoding of this document, as part of the XML declaration This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is <code>null</code> when unspecified or when it is not known (such as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * when the Document was created in memory) or when the implementation does</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * not support this operation.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The way this encoding is retrieved also depends on the way the XML source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is parsed. For instance, if the SAXReader is used and if the underlying</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XMLReader implementation support the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>org.xml.sax.ext.Locator2</code> interface, the result returned by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this method is specified by the <code>getEncoding()</code> method of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * that interface.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The encoding of this document, as stated in the XML declaration,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         or <code>null</code> if unknown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@since</span> 1.5</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getXMLEncoding();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the encoding of this document as it will appear in the XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * declaration part of the document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> encoding the encoding of the document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@since</span> 1.6</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setXMLEncoding(String encoding);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/DocumentException.html b/docs/clover/org/dom4j/DocumentException.html
new file mode 100644
index 0000000..4f83c96
--- /dev/null
+++ b/docs/clover/org/dom4j/DocumentException.html
@@ -0,0 +1,600 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ DocumentException.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DocumentException.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">120</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">9</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">52</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DocumentException.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">9,1%</TD>
+    <TD class="graphPercent" align="center">11,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>7,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="15" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="185" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.PrintStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.PrintWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DocumentException</code> is a nested Exception which may be thrown</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * during the processing of a DOM4J document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DocumentException"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DocumentException <span class="keyword">extends</span> Exception {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A wrapped <code>Throwable</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Throwable nestedException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 26</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 26: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 26: method not entered.">    <span class="keyword">public</span> DocumentException() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 27: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 27: statement not executed.">        <span class="keyword">super</span>(<span class="string">"Error occurred in DOM4J application."</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: method not entered.">    <span class="keyword">public</span> DocumentException(String message) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: statement not executed.">        <span class="keyword">super</span>(message);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: method not entered.">    <span class="keyword">public</span> DocumentException(Throwable nestedException) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: statement not executed.">        <span class="keyword">super</span>(nestedException.getMessage());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        <span class="keyword">this</span>.nestedException = nestedException;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: method entered 1 time.">    <span class="keyword">public</span> DocumentException(String message, Throwable nestedException) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 1 time.">        <span class="keyword">super</span>(message);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: statement executed 1 time.">        <span class="keyword">this</span>.nestedException = nestedException;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> Throwable getNestedException() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">return</span> nestedException;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> String getMessage() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">if</span> (nestedException != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">            <span class="keyword">return</span> <span class="keyword">super</span>.getMessage() + <span class="string">" Nested exception: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + nestedException.getMessage();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">            <span class="keyword">return</span> <span class="keyword">super</span>.getMessage();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> printStackTrace() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">super</span>.printStackTrace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">if</span> (nestedException != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">            System.err.print(<span class="string">"Nested exception: "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">            nestedException.printStackTrace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> printStackTrace(PrintStream out) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        <span class="keyword">super</span>.printStackTrace(out);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">if</span> (nestedException != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">            out.println(<span class="string">"Nested exception: "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">            nestedException.printStackTrace(out);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> printStackTrace(PrintWriter writer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">        <span class="keyword">super</span>.printStackTrace(writer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">if</span> (nestedException != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">            writer.println(<span class="string">"Nested exception: "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">            nestedException.printStackTrace(writer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/DocumentFactory.html b/docs/clover/org/dom4j/DocumentFactory.html
new file mode 100644
index 0000000..f8447c4
--- /dev/null
+++ b/docs/clover/org/dom4j/DocumentFactory.html
@@ -0,0 +1,2020 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ DocumentFactory.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DocumentFactory.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">456</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">36</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">193</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DocumentFactory.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">78,9%</TD>
+    <TD class="graphPercent" align="center">86,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>80,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="161" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="39" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.ObjectInputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.rule.Pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.AbstractDocument;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultAttribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultCDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultComment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultDocument;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultDocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultEntity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultText;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.QNameCache;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.util.SimpleSingleton;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.util.SingletonStrategy;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.xpath.DefaultXPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.xpath.XPathPattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.VariableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DocumentFactory</code> is a collection of factory methods to allow</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * easy custom building of DOM4J trees. The default tree that is built uses a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * doubly linked tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The tree built allows full XPath expressions from anywhere on the tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DocumentFactory"> 47</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DocumentFactory <span class="keyword">implements</span> Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> SingletonStrategy singleton = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">transient</span> QNameCache cache;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Default namespace prefix -> URI mappings for XPath expressions to use */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map xpathNamespaceURIs;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: method entered 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: method entered 90 times.">    <span class="keyword">private</span> <span class="keyword">static</span> SingletonStrategy createSingleton() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 90 times.">        SingletonStrategy result = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        </SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 90 times.">        String documentFactoryClassName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 90 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: statement executed 90 times.">            documentFactoryClassName = System.getProperty(<span class="string">"org.dom4j.factory"</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"org.dom4j.DocumentFactory"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">            documentFactoryClassName = <span class="string">"org.dom4j.DocumentFactory"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 90 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: statement executed 90 times.">            String singletonClass = System.getProperty(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"org.dom4j.DocumentFactory.singleton.strategy"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"org.dom4j.util.SimpleSingleton"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 90 times.">            Class clazz = Class.forName(singletonClass);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: statement executed 90 times.">            result = (SingletonStrategy) clazz.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">            result = <span class="keyword">new</span> SimpleSingleton();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 90 times.">        result.setSingletonClassName(documentFactoryClassName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        </SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 78: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: statement executed 90 times.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: method entered 541 times."> 541</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: method entered 541 times.">    <span class="keyword">public</span> DocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 541 times."> 541</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 541 times.">        init();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Access to singleton implementation of DocumentFactory which is used if no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DocumentFactory is specified when building using the standard builders.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default singleon instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: method entered 27023 times."> 27023</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: method entered 27023 times.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">synchronized</span> DocumentFactory getInstance() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 27023 times."> 27023</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 27023 times.">        <span class="keyword">if</span> (singleton == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 90 times.">            singleton = createSingleton();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: statement executed 27023 times."> 27023</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: statement executed 27023 times.">        <span class="keyword">return</span> (DocumentFactory) singleton.instance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Factory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: method entered 6270 times."> 6270</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: method entered 6270 times.">    <span class="keyword">public</span> Document createDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 6270 times."> 6270</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 6270 times.">        DefaultDocument answer = <span class="keyword">new</span> DefaultDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 6270 times."> 6270</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 6270 times.">        answer.setDocumentFactory(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 105: statement executed 6270 times."> 6270</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: statement executed 6270 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> encoding</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@since</span> 1.5</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 118: method entered 5816 times."> 5816</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: method entered 5816 times.">    <span class="keyword">public</span> Document createDocument(String encoding) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// to keep the DocumentFactory backwards compatible, we have to do this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// in this not so nice way, since subclasses only need to extend the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// createDocument() method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 5816 times."> 5816</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 5816 times.">        Document answer = createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: expression evaluated to true 5816 times, false 0 times."> 5816</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: expression evaluated to true 5816 times, false 0 times.">        <span class="keyword">if</span> (answer <span class="keyword">instanceof</span> AbstractDocument) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: statement executed 5816 times."> 5816</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 5816 times.">            ((AbstractDocument) answer).setXMLEncoding(encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 5816 times."> 5816</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 5816 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: method entered 2 times.">    <span class="keyword">public</span> Document createDocument(Element rootElement) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 2 times.">        Document answer = createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: statement executed 2 times.">        answer.setRootElement(rootElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 2 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 138: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 138: method entered 11 times.">    <span class="keyword">public</span> DocumentType createDocType(String name, String publicId,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String systemId) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 11 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultDocumentType(name, publicId, systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: method entered 94468 times."> 94468</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: method entered 94468 times.">    <span class="keyword">public</span> Element createElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: statement executed 94468 times."> 94468</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: statement executed 94468 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: method entered 465 times."> 465</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: method entered 465 times.">    <span class="keyword">public</span> Element createElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: statement executed 465 times."> 465</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 465 times.">        <span class="keyword">return</span> createElement(createQName(name));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: method entered 4 times.">    <span class="keyword">public</span> Element createElement(String qualifiedName, String namespaceURI) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 4 times.">        <span class="keyword">return</span> createElement(createQName(qualifiedName, namespaceURI));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: method entered 14165 times."> 14165</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: method entered 14165 times.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 14165 times."> 14165</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 14165 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultAttribute(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 159: method entered 1630 times."> 1630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 159: method entered 1630 times.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: statement executed 1630 times."> 1630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: statement executed 1630 times.">        <span class="keyword">return</span> createAttribute(owner, createQName(name), value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: method entered 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: method entered 103 times.">    <span class="keyword">public</span> CDATA createCDATA(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 103 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultCDATA(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: method entered 503 times."> 503</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: method entered 503 times.">    <span class="keyword">public</span> Comment createComment(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 168: statement executed 503 times."> 503</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 168: statement executed 503 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultComment(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: method entered 121456 times."> 121456</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: method entered 121456 times.">    <span class="keyword">public</span> Text createText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: expression evaluated to true 0 times, false 121456 times."> 121456</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: expression evaluated to true 0 times, false 121456 times.">        <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">            String msg = <span class="string">"Adding text to an XML document must not be null"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 121456 times."> 121456</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 121456 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 180: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: method entered 4 times.">    <span class="keyword">public</span> Entity createEntity(String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 181: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 181: statement executed 4 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultEntity(name, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: method entered 100506 times."> 100506</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: method entered 100506 times.">    <span class="keyword">public</span> Namespace createNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 185: statement executed 100506 times."> 100506</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: statement executed 100506 times.">        <span class="keyword">return</span> Namespace.get(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: method entered 16 times.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(String target,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String data) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 190: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: statement executed 16 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultProcessingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: method not entered.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(String target,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Map data) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultProcessingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: method entered 104391 times."> 104391</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: method entered 104391 times.">    <span class="keyword">public</span> QName createQName(String localName, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 104391 times."> 104391</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 104391 times.">        <span class="keyword">return</span> cache.get(localName, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: method entered 12760 times."> 12760</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: method entered 12760 times.">    <span class="keyword">public</span> QName createQName(String localName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 203: statement executed 12760 times."> 12760</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 203: statement executed 12760 times.">        <span class="keyword">return</span> cache.get(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 206: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 206: method entered 16 times.">    <span class="keyword">public</span> QName createQName(String name, String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 207: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 207: statement executed 16 times.">        <span class="keyword">return</span> cache.get(name, Namespace.get(prefix, uri));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 210: method entered 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: method entered 30 times.">    <span class="keyword">public</span> QName createQName(String qualifiedName, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 30 times.">        <span class="keyword">return</span> cache.get(qualifiedName, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createXPath</code> parses an XPath expression and creates a new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XPath <code>XPath</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new <code>XPath</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> InvalidXPathException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the XPath expression is invalid</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 228: method entered 589 times."> 589</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 228: method entered 589 times.">    <span class="keyword">public</span> XPath createXPath(String xpathExpression)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> InvalidXPathException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 230: statement executed 589 times."> 589</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 230: statement executed 589 times.">        DefaultXPath xpath = <span class="keyword">new</span> DefaultXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 232: statement executed 585 times."> 585</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 232: statement executed 585 times.">        <span class="keyword">if</span> (xpathNamespaceURIs != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 233: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 233: statement executed 3 times.">            xpath.setNamespaceURIs(xpathNamespaceURIs);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 236: statement executed 585 times."> 585</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 236: statement executed 585 times.">        <span class="keyword">return</span> xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createXPath</code> parses an XPath expression and creates a new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XPath <code>XPath</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> variableContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the variable context to use when evaluating the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new <code>XPath</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 252: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 252: method entered 1 time.">    <span class="keyword">public</span> XPath createXPath(String xpathExpression,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            VariableContext variableContext) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 254: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: statement executed 1 time.">        XPath xpath = createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 255: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: statement executed 1 time.">        xpath.setVariableContext(variableContext);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 257: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 1 time.">        <span class="keyword">return</span> xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createXPathFilter</code> parses a NodeFilter from the given XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * filter expression. XPath filter expressions occur within XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expressions such as <code>self::node()[ filterExpression ]</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathFilterExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath filter expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> variableContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the variable context to use when evaluating the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new <code>NodeFilter</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 274: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: method not entered.">    <span class="keyword">public</span> NodeFilter createXPathFilter(String xpathFilterExpression,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            VariableContext variableContext) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 276: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 276: statement not executed.">        XPath answer = createXPath(xpathFilterExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// DefaultXPath answer = new DefaultXPath( xpathFilterExpression );</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 279: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: statement not executed.">        answer.setVariableContext(variableContext);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 281: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 281: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createXPathFilter</code> parses a NodeFilter from the given XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * filter expression. XPath filter expressions occur within XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expressions such as <code>self::node()[ filterExpression ]</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathFilterExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath filter expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new <code>NodeFilter</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 296: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 296: method entered 4 times.">    <span class="keyword">public</span> NodeFilter createXPathFilter(String xpathFilterExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 297: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 297: statement executed 4 times.">        <span class="keyword">return</span> createXPath(xpathFilterExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// return new DefaultXPath( xpathFilterExpression );</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createPattern</code> parses the given XPath expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * an XSLT style {@link Pattern}instance which can then be used in an XSLT</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * processing model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathPattern</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath pattern expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new <code>Pattern</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 314: method entered 37 times."> 37</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 314: method entered 37 times.">    <span class="keyword">public</span> Pattern createPattern(String xpathPattern) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 315: statement executed 37 times."> 37</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 315: statement executed 37 times.">        <span class="keyword">return</span> <span class="keyword">new</span> XPathPattern(xpathPattern);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a list of all the QName instances currently used by this document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * factory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 327</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 327: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 327: method entered 1 time.">    <span class="keyword">public</span> List getQNames() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 328: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 328: statement executed 1 time.">        <span class="keyword">return</span> cache.getQNames();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the Map of namespace URIs that will be used by by XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         expressions to resolve namespace prefixes into namespace URIs.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         The map is keyed by namespace prefix and the value is the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         namespace URI. This value could well be null to indicate no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         namespace URIs are being mapped.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 340: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: method not entered.">    <span class="keyword">public</span> Map getXPathNamespaceURIs() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 341</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 341: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 341: statement not executed.">        <span class="keyword">return</span> xpathNamespaceURIs;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the namespace URIs to be used by XPath expressions created by this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * factory or by nodes associated with this factory. The keys are namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * prefixes and the values are namespace URIs.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceURIs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 352: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 352: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setXPathNamespaceURIs(Map namespaceURIs) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 353: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 353: statement executed 2 times.">        <span class="keyword">this</span>.xpathNamespaceURIs = namespaceURIs;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createSingleton</code> creates the singleton instance from the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given class name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> className</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the DocumentFactory class to use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new singleton instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 370: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 370: method not entered.">    <span class="keyword">protected</span> <span class="keyword">static</span> DocumentFactory createSingleton(String className) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// let's try and class load an implementation?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 372: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 372: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// I'll use the current class loader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// that loaded me to avoid problems in J2EE and web apps</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 375</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 375: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 375: statement not executed.">            Class theClass = Class.forName(className, <span class="keyword">true</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    DocumentFactory.<span class="keyword">class</span>.getClassLoader());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 378</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 378: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 378: statement not executed.">            <span class="keyword">return</span> (DocumentFactory) theClass.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Throwable e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 380</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 380: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 380: statement not executed.">            System.out.println(<span class="string">"WARNING: Cannot load DocumentFactory: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + className);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 383</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 383: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 383: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> DocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the cached QName instance if there is one or adds the given qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         to the cache if not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 396</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 396: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 396: method not entered.">    <span class="keyword">protected</span> QName intern(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 397</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 397: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 397: statement not executed.">        <span class="keyword">return</span> cache.intern(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create the QNameCache. This method should be overloaded</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * if you wish to use your own derivation of QName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 406</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 406: method entered 544 times."> 544</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 406: method entered 544 times.">    <span class="keyword">protected</span> QNameCache createQNameCache() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 407</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 407: statement executed 544 times."> 544</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 407: statement executed 544 times.">        <span class="keyword">return</span> <span class="keyword">new</span> QNameCache(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 410</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 410: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 410: method entered 3 times.">    <span class="keyword">private</span> <span class="keyword">void</span> readObject(ObjectInputStream in) <span class="keyword">throws</span> IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            ClassNotFoundException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 412: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 412: statement executed 3 times.">        in.defaultReadObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 413</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 413: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 413: statement executed 3 times.">        init();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 416: method entered 544 times."> 544</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 416: method entered 544 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> init() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 417</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 417: statement executed 544 times."> 544</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 417: statement executed 544 times.">        cache = createQNameCache();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/DocumentHelper.html b/docs/clover/org/dom4j/DocumentHelper.html
new file mode 100644
index 0000000..3af3046
--- /dev/null
+++ b/docs/clover/org/dom4j/DocumentHelper.html
@@ -0,0 +1,1834 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ DocumentHelper.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DocumentHelper.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">412</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">28</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">154</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DocumentHelper.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">95%</TD>
+    <TD class="graphPercent" align="center">75,4%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>72,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="145" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="55" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.StringTokenizer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.SAXReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.rule.Pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.VariableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DocumentHelper</code> is a collection of helper methods for using</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * DOM4J.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.26 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DocumentHelper"> 31</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> final <span class="keyword">class</span> DocumentHelper {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">private</span> DocumentHelper() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: method entered 12496 times."> 12496</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: method entered 12496 times.">    <span class="keyword">private</span> <span class="keyword">static</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 12496 times."> 12496</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 12496 times.">        <span class="keyword">return</span> DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Static helper methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: method entered 412 times."> 412</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: method entered 412 times.">    <span class="keyword">public</span> <span class="keyword">static</span> Document createDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: statement executed 412 times."> 412</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: statement executed 412 times.">        <span class="keyword">return</span> getDocumentFactory().createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">static</span> Document createDocument(Element rootElement) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: statement executed 2 times.">        <span class="keyword">return</span> getDocumentFactory().createDocument(rootElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: method entered 2000 times."> 2000</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: method entered 2000 times.">    <span class="keyword">public</span> <span class="keyword">static</span> Element createElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: statement executed 2000 times."> 2000</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: statement executed 2000 times.">        <span class="keyword">return</span> getDocumentFactory().createElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">static</span> Element createElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: statement executed 4 times.">        <span class="keyword">return</span> getDocumentFactory().createElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> Attribute createAttribute(Element owner, QName qname,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String value) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">return</span> getDocumentFactory().createAttribute(owner, qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> Attribute createAttribute(Element owner, String name,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String value) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        <span class="keyword">return</span> getDocumentFactory().createAttribute(owner, name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> CDATA createCDATA(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        <span class="keyword">return</span> DocumentFactory.getInstance().createCDATA(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> Comment createComment(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        <span class="keyword">return</span> DocumentFactory.getInstance().createComment(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> Text createText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        <span class="keyword">return</span> DocumentFactory.getInstance().createText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> Entity createEntity(String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">return</span> DocumentFactory.getInstance().createEntity(name, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> Namespace createNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        <span class="keyword">return</span> DocumentFactory.getInstance().createNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">static</span> ProcessingInstruction createProcessingInstruction(String pi,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String d) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: statement executed 2 times.">        <span class="keyword">return</span> getDocumentFactory().createProcessingInstruction(pi, d);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> ProcessingInstruction createProcessingInstruction(String pi,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Map data) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">        <span class="keyword">return</span> getDocumentFactory().createProcessingInstruction(pi, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> QName createQName(String localName, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">        <span class="keyword">return</span> getDocumentFactory().createQName(localName, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: method entered 10000 times."> 10000</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: method entered 10000 times.">    <span class="keyword">public</span> <span class="keyword">static</span> QName createQName(String localName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: statement executed 10000 times."> 10000</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: statement executed 10000 times.">        <span class="keyword">return</span> getDocumentFactory().createQName(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createXPath</code> parses an XPath expression and creates a new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XPath <code>XPath</code> instance using the singleton {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DocumentFactory}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new <code>XPath</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> InvalidXPathException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the XPath expression is invalid</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 119: method entered 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 119: method entered 57 times.">    <span class="keyword">public</span> <span class="keyword">static</span> XPath createXPath(String xpathExpression)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> InvalidXPathException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 121: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 121: statement executed 57 times.">        <span class="keyword">return</span> getDocumentFactory().createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createXPath</code> parses an XPath expression and creates a new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XPath <code>XPath</code> instance using the singleton {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DocumentFactory}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the variable context to use when evaluating the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new <code>XPath</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> InvalidXPathException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the XPath expression is invalid</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">static</span> XPath createXPath(String xpathExpression,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            VariableContext context) <span class="keyword">throws</span> InvalidXPathException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: statement executed 1 time.">        <span class="keyword">return</span> getDocumentFactory().createXPath(xpathExpression, context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createXPathFilter</code> parses a NodeFilter from the given XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * filter expression using the singleton {@link DocumentFactory}. XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * filter expressions occur within XPath expressions such as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>self::node()[ filterExpression ]</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathFilterExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath filter expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new <code>NodeFilter</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 159: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 159: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">static</span> NodeFilter createXPathFilter(String xpathFilterExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: statement executed 4 times.">        <span class="keyword">return</span> getDocumentFactory().createXPathFilter(xpathFilterExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createPattern</code> parses the given XPath expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * an XSLT style {@link Pattern}instance which can then be used in an XSLT</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * processing model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathPattern</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath pattern expression to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new <code>Pattern</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 175: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 175: method entered 14 times.">    <span class="keyword">public</span> <span class="keyword">static</span> Pattern createPattern(String xpathPattern) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: statement executed 14 times.">        <span class="keyword">return</span> getDocumentFactory().createPattern(xpathPattern);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectNodes</code> performs the given XPath expression on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link List}of {@link Node}instances appending all the results together</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * into a single list.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathFilterExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath filter expression to evaluate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the list of nodes on which to evalute the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the results of all the XPath evaluations as a single list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> List selectNodes(String xpathFilterExpression, List nodes) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: statement not executed.">        XPath xpath = createXPath(xpathFilterExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">        <span class="keyword">return</span> xpath.selectNodes(nodes);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectNodes</code> performs the given XPath expression on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link List}of {@link Node}instances appending all the results together</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * into a single list.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathFilterExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath filter expression to evaluate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Node on which to evalute the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the results of all the XPath evaluations as a single list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> List selectNodes(String xpathFilterExpression, Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">        XPath xpath = createXPath(xpathFilterExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">        <span class="keyword">return</span> xpath.selectNodes(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>sort</code> sorts the given List of Nodes using an XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression as a {@link java.util.Comparator}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the list of Nodes to sort</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression used for comparison</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> sort(List list, String xpathExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 231: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 231: statement not executed.">        XPath xpath = createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 232: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 232: statement not executed.">        xpath.sort(list);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>sort</code> sorts the given List of Nodes using an XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression as a {@link java.util.Comparator}and optionally removing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * duplicates.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the list of Nodes to sort</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression used for comparison</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> distinct</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            if true then duplicate values (using the sortXPath for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            comparisions) will be removed from the List</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 250: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 250: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> sort(List list, String expression, <span class="keyword">boolean</span> distinct) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 251: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 251: statement not executed.">        XPath xpath = createXPath(expression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: statement not executed.">        xpath.sort(list, distinct);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>parseText</code> parses the given text as an XML document and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * returns the newly created Document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the XML text to be parsed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a newly parsed Document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the document could not be parsed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 269: method entered 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 269: method entered 5552 times.">    <span class="keyword">public</span> <span class="keyword">static</span> Document parseText(String text) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: statement executed 5552 times.">        Document result = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 272: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 272: statement executed 5552 times.">        SAXReader reader = <span class="keyword">new</span> SAXReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 273: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 273: statement executed 5552 times.">        String encoding = getEncoding(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 275: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 275: statement executed 5552 times.">        InputSource source = <span class="keyword">new</span> InputSource(<span class="keyword">new</span> StringReader(text));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 276: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 276: statement executed 5552 times.">        source.setEncoding(encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 278: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 278: statement executed 5552 times.">        result = reader.read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// if the XML parser doesn't provide a way to retrieve the encoding,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// specify it manually</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 282: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 282: statement executed 5552 times.">        <span class="keyword">if</span> (result.getXMLEncoding() == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 283: statement executed 5528 times."> 5528</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 283: statement executed 5528 times.">            result.setXMLEncoding(encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 286</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 286: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 286: statement executed 5552 times.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 289</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 289: method entered 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 289: method entered 5552 times.">    <span class="keyword">private</span> <span class="keyword">static</span> String getEncoding(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 290</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 290: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 290: statement executed 5552 times.">        String result = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 292: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 292: statement executed 5552 times.">        String xml = text.trim();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 294</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 294: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 294: statement executed 5552 times.">        <span class="keyword">if</span> (xml.startsWith(<span class="string">"<?xml"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: statement executed 25 times.">            <span class="keyword">int</span> end = xml.indexOf(<span class="string">"?>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 296: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 296: statement executed 25 times.">            String sub = xml.substring(0, end);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 297: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 297: statement executed 25 times.">            StringTokenizer tokens = <span class="keyword">new</span> StringTokenizer(sub, <span class="string">" =\"\'"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 299: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 299: statement executed 25 times.">            <span class="keyword">while</span> (tokens.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 300: statement executed 99 times."> 99</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 300: statement executed 99 times.">                String token = tokens.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 302: statement executed 99 times."> 99</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 302: statement executed 99 times.">                <span class="keyword">if</span> (<span class="string">"encoding"</span>.equals(token)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 303</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 303: expression evaluated to true 24 times, false 0 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 303: expression evaluated to true 24 times, false 0 times.">                    <span class="keyword">if</span> (tokens.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 304</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 304: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 304: statement executed 24 times.">                        result = tokens.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 307</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 307: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 307: statement executed 24 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 312: statement executed 5552 times."> 5552</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 312: statement executed 5552 times.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * makeElement</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * a helper method which navigates from the given Document or Element node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to some Element using the path expression, creating any necessary</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * elements along the way. For example the path <code>a/b/c</code> would</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * get the first child &lt;a&gt; element, which would be created if it did</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * not exist, then the next child &lt;b&gt; and so on until finally a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;c&gt; element is returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Element or Document to start navigating from</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is a simple path expression, seperated by '/' which denotes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the path from the source to the resulting element such as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            a/b/c</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the first Element on the given path which either already existed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         on the path or were created by this method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 336: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 336: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">static</span> Element makeElement(Branch source, String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 337: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 337: statement executed 6 times.">        StringTokenizer tokens = <span class="keyword">new</span> StringTokenizer(path, <span class="string">"/"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 338</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 338: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 338: statement executed 6 times.">        Element parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 340: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 340: statement executed 6 times.">        <span class="keyword">if</span> (source <span class="keyword">instanceof</span> Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 341</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 341: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 341: statement executed 4 times.">            Document document = (Document) source;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 342: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 342: statement executed 4 times.">            parent = document.getRootElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// lets throw a NoSuchElementException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// if we are given an empty path</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 346</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 346: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 346: statement executed 4 times.">            String name = tokens.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 348</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 348: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 348: statement executed 4 times.">            <span class="keyword">if</span> (parent == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 349</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 349: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 349: statement executed 1 time.">                parent = document.addElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 352: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 352: statement executed 2 times.">            parent = (Element) source;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 355</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 355: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 355: statement executed 6 times.">        Element element = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 357</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 357: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 357: statement executed 6 times.">        <span class="keyword">while</span> (tokens.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 358</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 358: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 358: statement executed 14 times.">            String name = tokens.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 360: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 360: statement executed 14 times.">            <span class="keyword">if</span> (name.indexOf(':') > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 361</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 361: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 361: statement executed 4 times.">                element = parent.element(parent.getQName(name));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 363</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 363: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 363: statement executed 10 times.">                element = parent.element(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 366: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 366: statement executed 14 times.">            <span class="keyword">if</span> (element == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 367</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 367: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 367: statement executed 6 times.">                element = parent.addElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 370: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 370: statement executed 14 times.">            parent = element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 373</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 373: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 373: statement executed 6 times.">        <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/DocumentType.html b/docs/clover/org/dom4j/DocumentType.html
new file mode 100644
index 0000000..b659772
--- /dev/null
+++ b/docs/clover/org/dom4j/DocumentType.html
@@ -0,0 +1,550 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ DocumentType.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DocumentType.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">116</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">14</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DocumentType.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DocumentType</code> defines an XML DOCTYPE declaration.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DocumentType"> 20</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> DocumentType <span class="keyword">extends</span> Node {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is the equivalent to the {@link #getName}method. It is added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for clarity.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the root element name for the document type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getElementName();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is the equivalent to the {@link #setName}method. It is added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for clarity.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setElementName(String elementName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getPublicID();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setPublicID(String publicID);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getSystemID();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setSystemID(String systemID);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a list of internal DTD declaration objects, defined in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link org.dom4j.dtd}package</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List getInternalDeclarations();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the list of internal DTD declaration objects, defined in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link org.dom4j.dtd}package</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> declarations</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setInternalDeclarations(List declarations);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a list of internal DTD declaration objects, defined in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link org.dom4j.dtd}package</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List getExternalDeclarations();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the list of internal DTD declaration objects, defined in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link org.dom4j.dtd}package</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> declarations</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setExternalDeclarations(List declarations);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/Element.html b/docs/clover/org/dom4j/Element.html
new file mode 100644
index 0000000..225f1b6
--- /dev/null
+++ b/docs/clover/org/dom4j/Element.html
@@ -0,0 +1,3626 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Element.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Element.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">885</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">75</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Element.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Element</code> interface defines an XML element. An element can have</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * declared namespaces, attributes, child nodes and textual content.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Some of this interface is optional. Some implementations may be read-only and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * not support being modified. Some implementations may not support the parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * relationship and methods such as {@link #getParent}or {@link#getDocument}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.47 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Element"> 29</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Element <span class="keyword">extends</span> Branch {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Name and namespace related methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the <code>QName</code> of this element which represents the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * local name, the qualified name and the <code>Namespace</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>QName</code> associated with this element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    QName getQName();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>QName</code> of this element which represents the local</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * name, the qualified name and the <code>Namespace</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>QName</code> to be associated with this element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setQName(QName qname);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the <code>Namespace</code> of this element if one exists</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * otherwise <code>Namespace.NO_NAMESPACE</code> is returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>Namespace</code> associated with this element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Namespace getNamespace();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the <code>QName</code> for the given qualified name, using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * namespace URI in scope for the given prefix of the qualified name or the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * default namespace if the qualified name has no prefix.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>QName</code> for the given qualified name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    QName getQName(String qualifiedName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the <code>Namespace</code> which is mapped to the given prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or null if it could not be found.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>Namespace</code> associated with the given prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Namespace getNamespaceForPrefix(String prefix);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the <code>Namespace</code> which is mapped to the given URI or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * null if it could not be found. If there is more than one</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Namespace</code> mapped to the URI, which of them will be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * returned is undetermined.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>Namespace</code> associated with the given URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Namespace getNamespaceForURI(String uri);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the all namespaces which are mapped to the given URI or an empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * list if no such namespaces could be found.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the namespaces associated with the given URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@since</span> 1.5</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List getNamespacesForURI(String uri);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the namespace prefix of this element if one exists otherwise an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * empty <code>String</code> is returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the prefix of the <code>Namespace</code> of this element or an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         empty <code>String</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getNamespacePrefix();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the URI mapped to the namespace of this element if one exists</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * otherwise an empty <code>String</code> is returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the URI for the <code>Namespace</code> of this element or an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         empty <code>String</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getNamespaceURI();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the fully qualified name of this element. This will be the same</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * as the value returned from {@link #getName}if this element has no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * namespace attached to this element or an expression of the form</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * getNamespacePrefix() + &quot;:&quot; + getName()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the fully qualified name of the element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getQualifiedName();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns any additional namespaces declarations for this element other</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * than namespace returned via the {@link #getNamespace()}method. If no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * additional namespace declarations are present for this element then an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * empty list will be returned. The list is backed by the element such that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * changes to the list will be reflected in the element though the reverse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is not the case.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a list of any additional namespace declarations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List additionalNamespaces();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns all the namespaces declared by this element. If no namespaces are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * declared for this element then an empty list will be returned. The list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is backed by the element such that changes to the list will be reflected</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * in the element though the reverse is not the case.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a list of namespaces declared for this element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List declaredNamespaces();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Builder methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the attribute value of the given local name. If an attribute already</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * exists for the given name it will be replaced. Attributes with null</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * values are silently ignored. If the value of the attribute is null then</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this method call will remove any attributes with the given name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute whose value is to be added or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            updated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the attribute's value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Element</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addAttribute(String name, String value);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the attribute value of the given fully qualified name. If an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * attribute already exists for the given name it will be replaced.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Attributes with null values are silently ignored. If the value of the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * attribute is null then this method call will remove any attributes with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the given name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the fully qualified name of the attribute whose value is to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            be added or updated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the attribute's value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Element</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addAttribute(QName qName, String value);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a new <code>Comment</code> node with the given text to this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text for the <code>Comment</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Element</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addComment(String comment);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a new <code>CDATA</code> node with the given text to this element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> cdata</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text for the <code>CDATA</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Element</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addCDATA(String cdata);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a new <code>Entity</code> node with the given name and text to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this element and returns a reference to the new node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name for the <code>Entity</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text for the <code>Entity</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Element</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addEntity(String name, String text);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a namespace to this element for use by its child content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the prefix to use, which should not be null or blank</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the namespace URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Element</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addNamespace(String prefix, String uri);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a processing instruction for the given target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the target of the processing instruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the textual data (key/value pairs) of the processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            instruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Element</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addProcessingInstruction(String target, String text);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a processing instruction for the given target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the target of the processing instruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> data</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is a Map of the key / value pairs of the processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            instruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Element</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addProcessingInstruction(String target, Map data);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a new <code>Text</code> node with the given text to this element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text for the <code>Text</code> node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> this <code>Element</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element addText(String text);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Typesafe modifying methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given <code>Attribute</code> to this element. If the given</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * node already has a parent defined then an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>IllegalAddException</code> will be thrown. Attributes with null</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * values are silently ignored.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If the value of the attribute is null then this method call will remove</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * any attributes with the QName of this attribute.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the attribute to be added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> add(Attribute attribute);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given <code>CDATA</code> to this element. If the given node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * already has a parent defined then an <code>IllegalAddException</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> cdata</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the CDATA to be added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> add(CDATA cdata);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given <code>Entity</code> to this element. If the given node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * already has a parent defined then an <code>IllegalAddException</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the entity to be added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> add(Entity entity);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given <code>Text</code> to this element. If the given node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * already has a parent defined then an <code>IllegalAddException</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text to be added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> add(Text text);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given <code>Namespace</code> to this element. If the given</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * node already has a parent defined then an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>IllegalAddException</code> will be thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the namespace to be added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> add(Namespace namespace);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the given <code>Attribute</code> from this element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the attribute to be removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the attribute was removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> remove(Attribute attribute);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the given <code>CDATA</code> if the node is an immediate child</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * of this element. If the given node is not an immediate child of this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element then the {@link Node#detach()}method should be used instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> cdata</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the CDATA to be removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the cdata was removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> remove(CDATA cdata);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the given <code>Entity</code> if the node is an immediate child</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * of this element. If the given node is not an immediate child of this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element then the {@link Node#detach()}method should be used instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the entity to be removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the entity was removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> remove(Entity entity);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the given <code>Namespace</code> if the node is an immediate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * child of this element. If the given node is not an immediate child of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this element then the {@link Node#detach()}method should be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the namespace to be removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the namespace was removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> remove(Namespace namespace);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the given <code>Text</code> if the node is an immediate child</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * of this element. If the given node is not an immediate child of this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element then the {@link Node#detach()}method should be used instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text to be removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the text was removed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> remove(Text text);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Text methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the text value of this element without recursing through child</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * elements. This method iterates through all {@link Text},{@link CDATA}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * and {@link Entity}nodes that this element contains and appends the text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * values together.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the textual content of this Element. Child elements are not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         navigated. This method does not return null;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getText();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the trimmed text value where whitespace is trimmed and normalised</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         into single spaces. This method does not return null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getTextTrim();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the XPath string-value of this node. The behaviour of this method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is defined in the <a href="http://www.w3.org/TR/xpath">XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specification </a>. This method returns the string-value of all the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * contained {@link Text},{@link CDATA},{@link Entity}and {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Element} nodes all appended together.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the text from all the child Text and Element nodes appended</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         together.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getStringValue();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Accesses the data of this element which may implement data typing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * bindings such as XML Schema or Java Bean bindings or will return the same</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * value as {@link #getText}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Object getData();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the data value of this element if this element supports data binding</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or calls {@link #setText}if it doesn't</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> data</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setData(Object data);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Attribute methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the {@link Attribute}instances this element contains as a backed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link List}so that the attributes may be modified directly using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link List}interface. The <code>List</code> is backed by the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Element</code> so that changes to the list are reflected in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element and vice versa.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the attributes that this element contains as a <code>List</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List attributes();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the attributes that this element contains</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setAttributes(List attributes);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the number of attributes this element contains</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">int</span> attributeCount();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an iterator over the attributes of this element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Iterator attributeIterator();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the attribute at the specified indexGets the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> index</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the attribute at the specified index where index &gt;= 0 and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         index &lt; number of attributes or throws an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         IndexOutOfBoundsException if the index is not within the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         allowable range</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Attribute attribute(<span class="keyword">int</span> index);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the attribute with the given name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the attribute for the given local name in any namespace. If there</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         are more than one attributes with the given local name in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         different namespaces then the first one is returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Attribute attribute(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the fully qualified name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 546</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the attribute for the given fully qualified name or null if it</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         could not be found.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Attribute attribute(QName qName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This returns the attribute value for the attribute with the given name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * and any namespace or null if there is no such attribute or the empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * string if the attribute value is empty.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute value to be returnd</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value of the attribute, null if the attribute does not exist</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         or the empty string</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String attributeValue(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This returns the attribute value for the attribute with the given name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * and any namespace or the default value if there is no such attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute value to be returnd</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> defaultValue</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the default value to be returned if the attribute has no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            value defined.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value of the attribute or the defaultValue if the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         has no value defined.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String attributeValue(String name, String defaultValue);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This returns the attribute value for the attribute with the given fully</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * qualified name or null if there is no such attribute or the empty string</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * if the attribute value is empty.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the fully qualified name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value of the attribute, null if the attribute does not exist</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         or the empty string</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String attributeValue(QName qName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 600</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This returns the attribute value for the attribute with the given fully</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 603</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * qualified name or the default value if there is no such attribute value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 604</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the fully qualified name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 608</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> defaultValue</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 609</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the default value to be returned if the attribute has no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 610</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            value defined.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 611</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value of the attribute or the defaultValue if the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 613</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         has no value defined.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 614</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String attributeValue(QName qName, String defaultValue);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 616</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 617</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the attribute value of the given local name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 620</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 621</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 622</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute whose value is to be added or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 624</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            updated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 625</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 626</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the attribute's value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 627</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 628</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@deprecated</span> As of version 0.5. Please use {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 629</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             #addAttribute(String,String)} instead. WILL BE REMOVED IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 630</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setAttributeValue(String name, String value);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 633</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 634</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the attribute value of the given fully qualified name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 637</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 638</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 639</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the fully qualified name of the attribute whose value is to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            be added or updated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 642</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 643</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the attribute's value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 644</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 645</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@deprecated</span> As of version 0.5. Please use {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             #addAttribute(QName,String)} instead. WILL BE REMOVED IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 648</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 649</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setAttributeValue(QName qName, String value);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Content methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 652</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 654</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 655</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the first element for the given local name and any namespace.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 656</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 658</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 660</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the first element with the given local name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 661</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element element(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 663</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 664</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 665</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the first element for the given fully qualified name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 667</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 668</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the fully qualified name to search for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 669</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the first element with the given fully qualified name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 672</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element element(QName qName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 673</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 676</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the elements contained in this element. If this element does not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 677</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * contain any elements then this method returns an empty list. The list is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * backed by the element such that changes to the list will be reflected in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 679</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the element though the reverse is not the case.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 680</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 681</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 682</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a list of all the elements in this element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 683</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List elements();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 685</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 686</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 687</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 688</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the elements contained in this element with the given local name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 689</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * and any namespace. If no elements are found then this method returns an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 690</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * empty list. The list is backed by the element such that changes to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 691</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * list will be reflected in the element though the reverse is not the case.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 692</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 693</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 694</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 695</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 696</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 697</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a list of all the elements in this element for the given local</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 698</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 699</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 700</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List elements(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 701</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 702</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 703</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 704</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the elements contained in this element with the given fully</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 705</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * qualified name. If no elements are found then this method returns an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 706</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * empty list. The list is backed by the element such that changes to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 707</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * list will be reflected in the element though the reverse is not the case.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 708</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 709</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 710</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 711</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the fully qualified name to search for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 712</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 713</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a list of all the elements in this element for the given fully</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 714</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         qualified name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 715</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 716</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List elements(QName qName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 717</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 718</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 719</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns an iterator over all this elements child elements.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 720</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 721</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an iterator over the contained elements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 722</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 723</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Iterator elementIterator();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 724</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 725</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns an iterator over the elements contained in this element which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 727</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * match the given local name and any namespace.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 728</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 729</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 730</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 731</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 732</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an iterator over the contained elements matching the given local</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 733</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 734</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 735</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Iterator elementIterator(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 736</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 737</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 738</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns an iterator over the elements contained in this element which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 739</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * match the given fully qualified name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 740</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 741</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 742</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the fully qualified name to search for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 743</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 744</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an iterator over the contained elements matching the given fully</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 745</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         qualified name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 746</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 747</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Iterator elementIterator(QName qName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 748</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 749</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Helper methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 750</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 751</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 752</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 753</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 754</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 755</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if this element is the root element of a document and this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         element supports the parent relationship else false.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 757</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 758</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> isRootElement();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 759</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 760</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 761</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 762</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns true if this <code>Element</code> has mixed content. Mixed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 763</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * content means that an element contains both textual data and child</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 764</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * elements.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 765</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 766</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 767</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if this element contains mixed content.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 768</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 769</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> hasMixedContent();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 770</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 771</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 772</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 773</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns true if this <code>Element</code> has text only content.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 774</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 775</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 776</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if this element is empty or only contains text content.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 777</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 778</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> isTextOnly();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 779</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 780</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 781</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Appends the attributes of the given element to me. This method behaves</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 782</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * like the {@link java.util.Collection#addAll(java.util.Collection)}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 783</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 784</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 785</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 786</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the element whose attributes will be added to me.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 787</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 788</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> appendAttributes(Element element);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 789</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 790</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 791</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 792</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a deep copy of this element The new element is detached from its</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 793</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parent, and getParent() on the clone will return null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 794</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 795</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 796</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new deep copy Element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 797</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 798</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element createCopy();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 799</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 800</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 801</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 802</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a deep copy of this element with the given local name The new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 803</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element is detached from its parent, and getParent() on the clone will</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 804</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * return null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 805</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 806</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 807</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 808</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 809</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 810</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new deep copy Element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 811</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 812</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element createCopy(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 813</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 814</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 815</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 816</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a deep copy of this element with the given fully qualified name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 817</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The new element is detached from its parent, and getParent() on the clone</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 818</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will return null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 819</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 820</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 821</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 822</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 823</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 824</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a new deep copy Element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 825</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 826</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element createCopy(QName qName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 827</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 828</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String elementText(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 829</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 830</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String elementText(QName qname);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 831</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 832</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String elementTextTrim(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 833</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 834</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String elementTextTrim(QName qname);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 835</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 836</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 837</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a node at the given index suitable for an XPath result set. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 838</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * means the resulting Node will either be null or it will support the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 839</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parent relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 840</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 841</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> index</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 842</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 843</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 844</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the Node for the given index which will support the parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 845</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         relationship or null if there is not a node at the given index.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 846</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 847</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Node getXPathResult(<span class="keyword">int</span> index);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 848</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 849</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 850</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 851</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 852</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 853</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 854</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 855</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 856</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 857</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 858</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 859</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 860</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 861</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 862</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 863</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 864</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 865</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 866</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 867</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 868</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 869</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 870</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 871</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 872</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 873</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 874</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 875</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 876</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 877</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 878</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 879</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 880</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 881</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 882</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 883</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 884</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 885</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/ElementHandler.html b/docs/clover/org/dom4j/ElementHandler.html
new file mode 100644
index 0000000..b8f7c53
--- /dev/null
+++ b/docs/clover/org/dom4j/ElementHandler.html
@@ -0,0 +1,390 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ ElementHandler.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ElementHandler.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">76</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">5</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ElementHandler.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ElementHandler</code> interface defines a handler of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Element</code> objects. It is used primarily in event based</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * processing models such as for processing large XML documents as they are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * being parsed rather than waiting until the whole document is parsed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ElementHandler"> 21</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> ElementHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called by an event based processor when an elements openning tag is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * encountered.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the current <code>ElementPath</code> to process</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> onStart(ElementPath elementPath);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called by an event based processor when an elements closing tag is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * encountered.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the current <code>ElementPath</code> to process</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> onEnd(ElementPath elementPath);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/ElementPath.html b/docs/clover/org/dom4j/ElementPath.html
new file mode 100644
index 0000000..2053cad
--- /dev/null
+++ b/docs/clover/org/dom4j/ElementPath.html
@@ -0,0 +1,530 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ ElementPath.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ElementPath.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">111</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">9</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ElementPath.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This interface is used by {@link ElementHandler}instances to retrieve</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * information about the current path hierarchy they are to process. It's</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * primary use is to retrieve the current {@link Element}being processed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:dwhite at equipecom.com">Dave White </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ElementPath"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> ElementPath {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the number of elements in the path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">int</span> size();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> depth</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the element at the specified depth index, 0 = root element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element getElement(<span class="keyword">int</span> depth);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the path as a string</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getPath();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the current element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element getCurrent();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the <code>ElementHandler</code> to be called when the specified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path is encounted. The path can be either an absolute path (i.e. prefixed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * with "/") or a relative path (i.e. assummed to be a child of the current</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path as retrieved by <b>getPath </b>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to be handled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> addHandler(String path, ElementHandler handler);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the <code>ElementHandler</code> from the event based processor,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for the specified path. The path can be either an absolute path (i.e.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * prefixed with "/") or a relative path (i.e. assummed to be a child of the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * current path as retrieved by <b>getPath </b>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to remove the <code>ElementHandler</code> for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> removeHandler(String path);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/Entity.html b/docs/clover/org/dom4j/Entity.html
new file mode 100644
index 0000000..2ed76e6
--- /dev/null
+++ b/docs/clover/org/dom4j/Entity.html
@@ -0,0 +1,310 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Entity.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Entity.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">56</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">3</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Entity.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Entity</code> defines an XML entity.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Entity"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Entity <span class="keyword">extends</span> Node {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/IllegalAddException.html b/docs/clover/org/dom4j/IllegalAddException.html
new file mode 100644
index 0000000..44c1189
--- /dev/null
+++ b/docs/clover/org/dom4j/IllegalAddException.html
@@ -0,0 +1,379 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ IllegalAddException.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="IllegalAddException.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">71</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">16</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   IllegalAddException.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>IllegalAddException</code> is thrown when a node is added incorrectly</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to an <code>{@link Element}</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="IllegalAddException"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> IllegalAddException <span class="keyword">extends</span> IllegalArgumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 19</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 19: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 19: method not entered.">    <span class="keyword">public</span> IllegalAddException(String reason) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 20</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 20: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 20: statement not executed.">        <span class="keyword">super</span>(reason);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 23</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 23: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 23: method entered 2 times.">    <span class="keyword">public</span> IllegalAddException(Element parent, Node node, String reason) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 24: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 24: statement executed 2 times.">        <span class="keyword">super</span>(<span class="string">"The node \""</span> + node.toString()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">"\" could not be added to the element \""</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + parent.getQualifiedName() + <span class="string">"\" because: "</span> + reason);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 29: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 29: method entered 1 time.">    <span class="keyword">public</span> IllegalAddException(Branch parent, Node node, String reason) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: statement executed 1 time.">        <span class="keyword">super</span>(<span class="string">"The node \""</span> + node.toString()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">"\" could not be added to the branch \""</span> + parent.getName()</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">"\" because: "</span> + reason);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/InvalidXPathException.html b/docs/clover/org/dom4j/InvalidXPathException.html
new file mode 100644
index 0000000..53489d5
--- /dev/null
+++ b/docs/clover/org/dom4j/InvalidXPathException.html
@@ -0,0 +1,379 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ InvalidXPathException.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="InvalidXPathException.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">71</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">14</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   InvalidXPathException.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">33,3%</TD>
+    <TD class="graphPercent" align="center">33,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>33,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="66" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="134" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>InvalidXPathException</code> is thrown when an invalid XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * expression is used to traverse an XML document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6.2.1 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="InvalidXPathException"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> InvalidXPathException <span class="keyword">extends</span> IllegalArgumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>serialVersionUID</code>. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final <span class="keyword">long</span> serialVersionUID = 3257009869058881592L;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 22</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 22: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 22: method not entered.">    <span class="keyword">public</span> InvalidXPathException(String xpath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 23</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 23: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 23: statement not executed.">        <span class="keyword">super</span>(<span class="string">"Invalid XPath expression: "</span> + xpath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 26</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 26: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 26: method entered 4 times.">    <span class="keyword">public</span> InvalidXPathException(String xpath, String reason) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 27: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 27: statement executed 4 times.">        <span class="keyword">super</span>(<span class="string">"Invalid XPath expression: "</span> + xpath + <span class="string">" "</span> + reason);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: method not entered.">    <span class="keyword">public</span> InvalidXPathException(String xpath, Throwable t) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: statement not executed.">        <span class="keyword">super</span>(<span class="string">"Invalid XPath expression: '"</span> + xpath </A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">"'. Caused by: "</span> + t.getMessage());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/Namespace.html b/docs/clover/org/dom4j/Namespace.html
new file mode 100644
index 0000000..3ed1417
--- /dev/null
+++ b/docs/clover/org/dom4j/Namespace.html
@@ -0,0 +1,1248 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Namespace.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Namespace.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">272</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">18</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">113</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Namespace.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">81,8%</TD>
+    <TD class="graphPercent" align="center">86,8%</TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>84,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="169" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="31" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.AbstractNode;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultNamespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.NamespaceCache;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Namespace</code> is a Flyweight Namespace that can be shared amongst</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * nodes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.22 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Namespace"> 23</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> Namespace <span class="keyword">extends</span> AbstractNode {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Cache of Namespace instances */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final NamespaceCache CACHE = <span class="keyword">new</span> NamespaceCache();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** XML Namespace */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final Namespace XML_NAMESPACE = CACHE.get(<span class="string">"xml"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://www.w3.org/XML/1998/namespace"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** No Namespace present */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final Namespace NO_NAMESPACE = CACHE.get(<span class="string">""</span>, <span class="string">""</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The prefix mapped to this namespace */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String prefix;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The URI for this namespace */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String uri;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A cached version of the hashcode for efficiency */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> hashCode;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the prefix for this namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for this namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: method entered 10603 times."> 10603</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: method entered 10603 times.">    <span class="keyword">public</span> Namespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: expression evaluated to true 10603 times, false 0 times."> 10603</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: expression evaluated to true 10603 times, false 0 times.">        <span class="keyword">this</span>.prefix = (prefix != <span class="keyword">null</span>) ? prefix : <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: expression evaluated to true 10603 times, false 0 times."> 10603</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: expression evaluated to true 10603 times, false 0 times.">        <span class="keyword">this</span>.uri = (uri != <span class="keyword">null</span>) ? uri : <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A helper method to return the Namespace instance for the given prefix and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an interned Namespace object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: method entered 101172 times."> 101172</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: method entered 101172 times.">    <span class="keyword">public</span> <span class="keyword">static</span> Namespace get(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 68: statement executed 101172 times."> 101172</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 68: statement executed 101172 times.">        <span class="keyword">return</span> CACHE.get(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A helper method to return the Namespace instance for no prefix and the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an interned Namespace object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: method entered 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: method entered 26 times.">    <span class="keyword">public</span> <span class="keyword">static</span> Namespace get(String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 26 times.">        <span class="keyword">return</span> CACHE.get(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: method entered 732 times."> 732</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: method entered 732 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: statement executed 732 times."> 732</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: statement executed 732 times.">        <span class="keyword">return</span> NAMESPACE_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the hash code based on the qualified name and the URI of the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         namespace.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: method entered 21734 times."> 21734</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: method entered 21734 times.">    <span class="keyword">public</span> <span class="keyword">int</span> hashCode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: statement executed 21734 times."> 21734</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 21734 times.">        <span class="keyword">if</span> (hashCode == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 312 times."> 312</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 312 times.">            hashCode = createHashCode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 21734 times."> 21734</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 21734 times.">        <span class="keyword">return</span> hashCode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create the hashcode allowing derived classes to change</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the behaviour</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: method entered 312 times."> 312</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: method entered 312 times.">    <span class="keyword">protected</span> <span class="keyword">int</span> createHashCode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: statement executed 312 times."> 312</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: statement executed 312 times.">        <span class="keyword">int</span> result = uri.hashCode() ^ prefix.hashCode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 111: statement executed 312 times."> 312</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 111: statement executed 312 times.">        <span class="keyword">if</span> (result == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 8 times.">            result = 0xbabe;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 312 times."> 312</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 312 times.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Checks whether this Namespace equals the given Namespace. Two Namespaces</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * are equals if their URI and prefix are equal.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: method entered 5594 times."> 5594</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: method entered 5594 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> equals(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 5594 times."> 5594</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 5594 times.">        <span class="keyword">if</span> (<span class="keyword">this</span> == object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 4783 times."> 4783</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 4783 times.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 811 times."> 811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 811 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: statement executed 626 times."> 626</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: statement executed 626 times.">            Namespace that = (Namespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// we cache hash codes so this should be quick</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 134: statement executed 626 times."> 626</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 134: statement executed 626 times.">            <span class="keyword">if</span> (hashCode() == that.hashCode()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 148 times."> 148</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 148 times.">                <span class="keyword">return</span> uri.equals(that.getURI())</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        && prefix.equals(that.getPrefix());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: statement executed 663 times."> 663</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 663 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: method not entered.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">        <span class="keyword">return</span> uri;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: method not entered.">    <span class="keyword">public</span> String getStringValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">        <span class="keyword">return</span> uri;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the prefix for this <code>Namespace</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: method entered 69780 times."> 69780</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: method entered 69780 times.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: statement executed 69780 times."> 69780</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: statement executed 69780 times.">        <span class="keyword">return</span> prefix;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the URI for this <code>Namespace</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: method entered 351051 times."> 351051</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: method entered 351051 times.">    <span class="keyword">public</span> String getURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 351051 times."> 351051</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 351051 times.">        <span class="keyword">return</span> uri;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: method entered 12 times.">    <span class="keyword">public</span> String getXPathNameStep() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 170: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 170: statement executed 12 times.">        <span class="keyword">if</span> ((prefix != <span class="keyword">null</span>) && !<span class="string">""</span>.equals(prefix)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 6 times.">            <span class="keyword">return</span> <span class="string">"namespace::"</span> + prefix;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 174: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 174: statement executed 6 times.">        <span class="keyword">return</span> <span class="string">"namespace::*[name()='']"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: method entered 6 times.">    <span class="keyword">public</span> String getPath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 178: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 178: statement executed 6 times.">        StringBuffer path = <span class="keyword">new</span> StringBuffer(10);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 6 times.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: expression evaluated to true 0 times, false 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: expression evaluated to true 0 times, false 6 times.">        <span class="keyword">if</span> ((parent != <span class="keyword">null</span>) && (parent != context)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 182: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 182: statement not executed.">            path.append(parent.getPath(context));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 183: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 183: statement not executed.">            path.append('/');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 186: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 186: statement executed 6 times.">        path.append(getXPathNameStep());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: statement executed 6 times.">        <span class="keyword">return</span> path.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: method entered 6 times.">    <span class="keyword">public</span> String getUniquePath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 6 times.">        StringBuffer path = <span class="keyword">new</span> StringBuffer(10);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 193: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: statement executed 6 times.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: expression evaluated to true 0 times, false 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: expression evaluated to true 0 times, false 6 times.">        <span class="keyword">if</span> ((parent != <span class="keyword">null</span>) && (parent != context)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">            path.append(parent.getUniquePath(context));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">            path.append('/');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 6 times.">        path.append(getXPathNameStep());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 6 times.">        <span class="keyword">return</span> path.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 205: method entered 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 205: method entered 32 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 206: statement executed 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 206: statement executed 32 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Namespace: prefix "</span> + getPrefix()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">" mapped to URI \""</span> + getURI() + <span class="string">"\"]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 210: method entered 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: method entered 26 times.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 26 times.">        StringBuffer asxml = <span class="keyword">new</span> StringBuffer(10);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: statement executed 26 times.">        String pref = getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 214: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 214: statement executed 26 times.">        <span class="keyword">if</span> ((pref != <span class="keyword">null</span>) && (pref.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 215: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 215: statement executed 14 times.">            asxml.append(<span class="string">"xmlns:"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 216: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 216: statement executed 14 times.">            asxml.append(pref);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 217: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 217: statement executed 14 times.">            asxml.append(<span class="string">"=\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 219: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 219: statement executed 12 times.">            asxml.append(<span class="string">"xmlns=\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 222: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: statement executed 26 times.">        asxml.append(getURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 223: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 223: statement executed 26 times.">        asxml.append(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: statement executed 26 times.">        <span class="keyword">return</span> asxml.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 228: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 228: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 229: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 229: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 232: method entered 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 232: method entered 107 times.">    <span class="keyword">protected</span> Node createXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 233: statement executed 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 233: statement executed 107 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultNamespace(parent, getPrefix(), getURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/Node.html b/docs/clover/org/dom4j/Node.html
new file mode 100644
index 0000000..3a7e1cd
--- /dev/null
+++ b/docs/clover/org/dom4j/Node.html
@@ -0,0 +1,2482 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Node.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Node.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">599</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">53</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Node.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Node</code> defines the polymorphic behavior for all XML nodes in a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * dom4j tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * A node can be output as its XML format, can be detached from its position in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * a document and can have XPath expressions evaluated on itself.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * A node may optionally support the parent relationship and may be read only.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.31 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> #supportsParent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> #isReadOnly</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Node"> 35</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Node <span class="keyword">extends</span> Cloneable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// W3C DOM complient node type codes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches Element nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> ANY_NODE = 0;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches Element nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> ELEMENT_NODE = 1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches elements nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> ATTRIBUTE_NODE = 2;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches elements nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> TEXT_NODE = 3;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches elements nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> CDATA_SECTION_NODE = 4;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches elements nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> ENTITY_REFERENCE_NODE = 5;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches elements nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public static final short ENTITY_NODE = 6;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches ProcessingInstruction */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> PROCESSING_INSTRUCTION_NODE = 7;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches Comments nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> COMMENT_NODE = 8;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches Document nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> DOCUMENT_NODE = 9;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches DocumentType nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> DOCUMENT_TYPE_NODE = 10;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public static final short DOCUMENT_FRAGMENT_NODE = 11;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public static final short NOTATION_NODE = 12;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matchs a Namespace Node - NOTE this differs from DOM */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// XXXX: ????</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> NAMESPACE_NODE = 13;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Does not match any valid node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> UNKNOWN_NODE = 14;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The maximum number of node types for sizing purposes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> MAX_NODE_TYPE = 14;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>supportsParent</code> returns true if this node supports the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parent relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Some XML tree implementations are singly linked and only support downward</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * navigation through children relationships. The default case is that both</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parent and children relationships are supported though for memory and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * performance reasons the parent relationship may not be supported.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if this node supports the parent relationship or false it is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         not supported</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> supportsParent();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>getParent</code> returns the parent <code>Element</code> if</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this node supports the parent relationship or null if it is the root</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element or does not support the parent relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is an optional feature and may not be supported for all</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Node</code> implementations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the parent of this node or null if it is the root of the tree or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         the parent relationship is not supported.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element getParent();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>setParent</code> sets the parent relationship of this node if the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parent relationship is supported or does nothing if the parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * relationship is not supported.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method should only be called from inside an <code>Element</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * implementation method and is not intended for general use.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the new parent of this node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setParent(Element parent);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>getDocument</code> returns the <code>Document</code> that this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Node</code> is part of if this node supports the parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is an optional feature and may not be supported for all</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Node</code> implementations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the document of this node or null if this feature is not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         supported or the node is not associated with a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         <code>Document</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Document getDocument();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>setDocument</code> sets the document of this node if the parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * relationship is supported or does nothing if the parent relationship is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * not supported.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method should only be called from inside a <code>Document</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * implementation method and is not intended for general use.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the new document of this node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setDocument(Document document);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>isReadOnly</code> returns true if this node is read only and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * cannot be modified. Any attempt to modify a read-only <code>Node</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will result in an <code>UnsupportedOperationException</code> being</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if this <code>Node</code> is read only and cannot be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         modified otherwise false.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> isReadOnly();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>hasContent</code> returns true if this node is a Branch (either</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * an Element or a Document) and it contains at least one content node such</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * as a child Element or Text node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if this <code>Node</code> is a Branch with a nodeCount()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         of one or more.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> hasContent();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>getName</code> returns the name of this node. This is the XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * local name of the element, attribute, entity or processing instruction.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * For CDATA and Text nodes this method will return null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XML name of this node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getName();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the text data of this node or this method will throw an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>UnsupportedOperationException</code> if it is read-only.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the new name of this node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setName(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the text of this node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the text for this node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getText();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the text data of this node or this method will throw an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>UnsupportedOperationException</code> if it is read-only.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the new textual value of this node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setText(String text);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the XPath string-value of this node. The behaviour of this method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is defined in the <a href="http://www.w3.org/TR/xpath">XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specification </a>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the text from all the child Text and Element nodes appended</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         together.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getStringValue();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the XPath expression which will return a node set containing the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given node such as /a/b/&#64;c. No indexing will be used to restrict the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path if multiple elements with the same name occur on the path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XPath expression which will return a nodeset containing at</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         least this node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getPath();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the relative XPath expression which will return a node set</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * containing the given node such as a/b/&#64;c. No indexing will be used to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * restrict the path if multiple elements with the same name occur on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the parent context from which the relative path should</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            start. If the context is null or the context is not an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            ancestor of this node then the path will be absolute and start</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            from the document and so begin with the '/' character.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XPath expression relative to the given context which will</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         return a nodeset containing at least this node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getPath(Element context);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the XPath expression which will return a nodeset of one node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * which is the current node. This method will use the XPath index operator</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to restrict the path if multiple elements with the same name occur on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XPath expression which will return a nodeset containing just</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         this node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getUniquePath();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the relative unique XPath expression from the given context which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will return a nodeset of one node which is the current node. This method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will use the XPath index operator to restrict the path if multiple</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * elements with the same name occur on the path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the parent context from which the path should start. If the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            context is null or the context is not an ancestor of this node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            then the path will start from the document and so begin with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the '/' character.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XPath expression relative to the given context which will</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         return a nodeset containing just this node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getUniquePath(Element context);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>asXML</code> returns the textual XML representation of this node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XML representation of this node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String asXML();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>write</code> writes this node as the default XML notation for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this node. If you wish to control the XML output (such as for pretty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * printing, changing the indentation policy etc.) then please use {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.dom4j.io.XMLWriter} or its derivations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> writer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Writer</code> to output the XML to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> write(Writer writer) <span class="keyword">throws</span> IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the code according to the type of node. This makes processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * nodes polymorphically much easier as the switch statement can be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instead of multiple if (instanceof) statements.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a W3C DOM complient code for the node type such as ELEMENT_NODE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         or ATTRIBUTE_NODE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> getNodeType();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the name of the type of node such as "Document", "Element",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         "Attribute" or "Text"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getNodeTypeName();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes this node from its parent if there is one. If this node is the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * root element of a document then it is removed from the document as well.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is useful if you want to remove a node from its source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document and add it to another document. For example</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code> Node node = ...; Element someOtherElement = ...;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * someOtherElement.add( node.detach() ); </code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the node that has been removed from its parent node if any and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         its document if any.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Node detach();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectNodes</code> evaluates an XPath expression and returns the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * result as a <code>List</code> of <code>Node</code> instances or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>String</code> instances depending on the XPath expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to be evaluated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the list of <code>Node</code> or <code>String</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         instances depending on the XPath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List selectNodes(String xpathExpression);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectObject</code> evaluates an XPath expression and returns the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * result as an {@link Object}. The object returned can either be a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * List} of one or more {@link Node}instances or a scalar object like a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link String}or a {@link Number}instance depending on the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to be evaluated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value of the XPath expression as a {@link List}of {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         Node} instances, a {@link String}or a {@link Number}instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         depending on the XPath expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Object selectObject(String xpathExpression);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectNodes</code> evaluates an XPath expression then sorts the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * results using a secondary XPath expression Returns a sorted</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>List</code> of <code>Node</code> instances.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to be evaluated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comparisonXPathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression used to compare the results by for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            sorting</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the list of <code>Node</code> instances sorted by the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         comparisonXPathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List selectNodes(String xpathExpression, String comparisonXPathExpression);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectNodes</code> evaluates an XPath expression then sorts the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * results using a secondary XPath expression Returns a sorted</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>List</code> of <code>Node</code> instances.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to be evaluated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comparisonXPathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression used to compare the results by for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            sorting</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> removeDuplicates</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            if this parameter is true then duplicate values (using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            comparisonXPathExpression) are removed from the result List.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the list of <code>Node</code> instances sorted by the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         comparisonXPathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List selectNodes(String xpathExpression, String comparisonXPathExpression,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">boolean</span> removeDuplicates);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectSingleNode</code> evaluates an XPath expression and returns</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the result as a single <code>Node</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to be evaluated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>Node</code> matching the XPath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Node selectSingleNode(String xpathExpression);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>valueOf</code> evaluates an XPath expression and returns the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * textual representation of the results the XPath string-value of this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * node. The string-value for a given node type is defined in the <a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * href="http://www.w3.org/TR/xpath">XPath specification </a>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to be evaluated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the string-value representation of the results of the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String valueOf(String xpathExpression);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>numberValueOf</code> evaluates an XPath expression and returns</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the numeric value of the XPath expression if the XPath expression results</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * in a number, or null if the result is not a number.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to be evaluated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the numeric result of the XPath expression or null if the result</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         is not a number.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Number numberValueOf(String xpathExpression);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>matches</code> returns true if evaluating the given XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression on this node returns a non-empty node set containing this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method does not behave like the &lt;xsl:if&gt; element - if you want</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * that behaviour, to evaluate if an XPath expression matches something,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * then you can use the following code to be equivalent...</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>if ( node.selectSingleNode( "/some/path" ) != nulll )</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is an XPath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if this node is returned by the given XPath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> matches(String xpathExpression);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>createXPath</code> creates an XPath object for the given</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * xpathExpression. The XPath object allows the variable context to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpathExpression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to be evaluated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an XPath object represeting the given expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> InvalidXPathException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the XPath expression is invalid</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    XPath createXPath(String xpathExpression) <span class="keyword">throws</span> InvalidXPathException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>asXPathResult</code> returns a version of this node which is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * capable of being an XPath result. The result of an XPath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * should always support the parent relationship, whether the original XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * tree was singly or doubly linked. If the node does not support the parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * relationship then a new node will be created which is linked to its</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parent and returned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a <code>Node</code> which supports the parent relationship</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Node asXPathResult(Element parent);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>accept</code> is the method used in the Visitor Pattern.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 546</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> visitor</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the visitor in the Visitor Pattern</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> accept(Visitor visitor);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>clone</code> will return a deep clone or if this node is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * read-only then clone will return the same instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a deep clone of myself or myself if I am read only.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Object clone();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/NodeFilter.html b/docs/clover/org/dom4j/NodeFilter.html
new file mode 100644
index 0000000..67fb47b
--- /dev/null
+++ b/docs/clover/org/dom4j/NodeFilter.html
@@ -0,0 +1,366 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ NodeFilter.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="NodeFilter.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">70</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">4</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   NodeFilter.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>NodeFilter</code> defines the behavior for a filter or predicate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * which acts on a DOM4J Node. Instances can be generated from an {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * DocumentFactory}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NodeFilter"> 20</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> NodeFilter {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>matches</code> returns true if the given node matches the filter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * condition.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if this filter matches the given node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> matches(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/ProcessingInstruction.html b/docs/clover/org/dom4j/ProcessingInstruction.html
new file mode 100644
index 0000000..aa9cf6a
--- /dev/null
+++ b/docs/clover/org/dom4j/ProcessingInstruction.html
@@ -0,0 +1,526 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ ProcessingInstruction.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ProcessingInstruction.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">110</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">12</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ProcessingInstruction.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ProcessingInstruction</code> defines an XML processing instruction.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The {@link Node#getName}method will return the target of the PI and the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link Node#getText}method will return the data from all of the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * instructions.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ProcessingInstruction"> 23</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> ProcessingInstruction <span class="keyword">extends</span> Node {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is the equivalent to the {@link #getName}method. It is added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for clarity.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the target of this PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getTarget();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is the equivalent to the {@link #setName}method. It is added</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for clarity.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setTarget(String target);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the text for all the data associated with the processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         instruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getText();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the value of a specific name in the PI.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute to lookup.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value of the named attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getValue(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the values for this processing instruction as a Map</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Map getValues();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setValue(String name, String value);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setValues(Map data);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> removeValue(String name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/QName.html b/docs/clover/org/dom4j/QName.html
new file mode 100644
index 0000000..ab743ed
--- /dev/null
+++ b/docs/clover/org/dom4j/QName.html
@@ -0,0 +1,1359 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ QName.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="QName.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">295</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">21</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">154</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   QName.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">61,8%</TD>
+    <TD class="graphPercent" align="center">76,8%</TD>
+    <TD class="graphPercent" align="center">81%</TD>
+    <TD class="graphBarLeft" align="center"><B>73,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="146" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="54" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.ObjectInputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.ObjectOutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.QNameCache;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.util.SingletonStrategy;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>QName</code> represents a qualified name value of an XML element or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * attribute. It consists of a local name and a {@link Namespace}instance. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * object is immutable.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="QName"> 27</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> QName <span class="keyword">implements</span> Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Singleton instance */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> SingletonStrategy singleton = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">static</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: statement executed 90 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: statement executed 90 times.">            String defaultSingletonClass = <span class="string">"org.dom4j.util.SimpleSingleton"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: statement executed 90 times.">            Class clazz = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: statement executed 90 times.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 90 times.">                String singletonClass = defaultSingletonClass;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: statement executed 90 times.">                singletonClass = System.getProperty(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="string">"org.dom4j.QName.singleton.strategy"</span>, singletonClass);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 90 times.">                clazz = Class.forName(singletonClass);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Exception exc1) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: statement not executed.">                <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">                    String singletonClass = defaultSingletonClass;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">                    clazz = Class.forName(singletonClass);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">catch</span> (Exception exc2) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: statement executed 90 times.">            singleton = (SingletonStrategy) clazz.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: statement executed 90 times.">            singleton.setSingletonClassName(QNameCache.<span class="keyword">class</span>.getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception exc3) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The local name of the element or attribute */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String name;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The qualified name of the element or attribute */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String qualifiedName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Namespace of this element or attribute */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">transient</span> Namespace namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A cached version of the hashcode for efficiency */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> hashCode;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The document factory used for this QName if specified or null */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory documentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 68: method entered 1065 times."> 1065</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 68: method entered 1065 times.">    <span class="keyword">public</span> QName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 1065 times."> 1065</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 1065 times.">        <span class="keyword">this</span>(name, Namespace.NO_NAMESPACE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 72: method entered 2660 times."> 2660</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 72: method entered 2660 times.">    <span class="keyword">public</span> QName(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: expression evaluated to true 0 times, false 2660 times."> 2660</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: expression evaluated to true 0 times, false 2660 times.">        <span class="keyword">this</span>.name = (name == <span class="keyword">null</span>) ? <span class="string">""</span> : name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: expression evaluated to true 0 times, false 2660 times."> 2660</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: expression evaluated to true 0 times, false 2660 times.">        <span class="keyword">this</span>.namespace = (namespace == <span class="keyword">null</span>) ? Namespace.NO_NAMESPACE</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                : namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> QName(String name, Namespace namespace, String qualifiedName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">this</span>.name = (name == <span class="keyword">null</span>) ? <span class="string">""</span> : name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        <span class="keyword">this</span>.qualifiedName = qualifiedName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">this</span>.namespace = (namespace == <span class="keyword">null</span>) ? Namespace.NO_NAMESPACE</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                : namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: method entered 13995 times."> 13995</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: method entered 13995 times.">    <span class="keyword">public</span> <span class="keyword">static</span> QName get(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 13995 times."> 13995</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 13995 times.">        <span class="keyword">return</span> getCache().get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: method entered 578 times."> 578</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: method entered 578 times.">    <span class="keyword">public</span> <span class="keyword">static</span> QName get(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 578 times."> 578</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 578 times.">        <span class="keyword">return</span> getCache().get(name, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: method entered 14057 times."> 14057</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: method entered 14057 times.">    <span class="keyword">public</span> <span class="keyword">static</span> QName get(String name, String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 14057 times."> 14057</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 14057 times.">        <span class="keyword">if</span> (((prefix == <span class="keyword">null</span>) || (prefix.length() == 0)) && (uri == <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: statement executed 13994 times."> 13994</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 13994 times.">            <span class="keyword">return</span> QName.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: expression evaluated to true 0 times, false 63 times."> 63</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: expression evaluated to true 0 times, false 63 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> ((prefix == <span class="keyword">null</span>) || (prefix.length() == 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">            <span class="keyword">return</span> getCache().get(name, Namespace.get(uri));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: expression evaluated to true 0 times, false 63 times."> 63</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: expression evaluated to true 0 times, false 63 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (uri == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">            <span class="keyword">return</span> QName.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: statement executed 63 times."> 63</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: statement executed 63 times.">            <span class="keyword">return</span> getCache().get(name, Namespace.get(prefix, uri));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> QName get(String qualifiedName, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">if</span> (uri == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">            <span class="keyword">return</span> getCache().get(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">            <span class="keyword">return</span> getCache().get(qualifiedName, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> QName get(String localName, Namespace namespace,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qualifiedName) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        <span class="keyword">return</span> getCache().get(localName, namespace, qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the local name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: method entered 125131 times."> 125131</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: method entered 125131 times.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: statement executed 125131 times."> 125131</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: statement executed 125131 times.">        <span class="keyword">return</span> name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the qualified name in the format <code>prefix:localName</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: method entered 363324 times."> 363324</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: method entered 363324 times.">    <span class="keyword">public</span> String getQualifiedName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: statement executed 363324 times."> 363324</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: statement executed 363324 times.">        <span class="keyword">if</span> (qualifiedName == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 134: statement executed 559 times."> 559</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 134: statement executed 559 times.">            String prefix = getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 136: statement executed 559 times."> 559</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 136: statement executed 559 times.">            <span class="keyword">if</span> ((prefix != <span class="keyword">null</span>) && (prefix.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 137: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 137: statement executed 78 times.">                qualifiedName = prefix + <span class="string">":"</span> + name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: statement executed 481 times."> 481</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: statement executed 481 times.">                qualifiedName = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: statement executed 363324 times."> 363324</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: statement executed 363324 times.">        <span class="keyword">return</span> qualifiedName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the namespace of this QName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: method entered 124797 times."> 124797</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: method entered 124797 times.">    <span class="keyword">public</span> Namespace getNamespace() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 124797 times."> 124797</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 124797 times.">        <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the namespace URI of this QName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: method entered 24364 times."> 24364</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: method entered 24364 times.">    <span class="keyword">public</span> String getNamespacePrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: expression evaluated to true 0 times, false 24364 times."> 24364</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: expression evaluated to true 0 times, false 24364 times.">        <span class="keyword">if</span> (namespace == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: statement not executed.">            <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: statement executed 24364 times."> 24364</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: statement executed 24364 times.">        <span class="keyword">return</span> namespace.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the namespace URI of this QName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 173: method entered 328407 times."> 328407</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 173: method entered 328407 times.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: expression evaluated to true 0 times, false 328407 times."> 328407</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: expression evaluated to true 0 times, false 328407 times.">        <span class="keyword">if</span> (namespace == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: statement not executed.">            <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 178: statement executed 328407 times."> 328407</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 178: statement executed 328407 times.">        <span class="keyword">return</span> namespace.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the hash code based on the qualified name and the URI of the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         namespace.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: method entered 67848 times."> 67848</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: method entered 67848 times.">    <span class="keyword">public</span> <span class="keyword">int</span> hashCode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: statement executed 67848 times."> 67848</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: statement executed 67848 times.">        <span class="keyword">if</span> (hashCode == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 1117 times."> 1117</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 1117 times.">            hashCode = getName().hashCode() ^ getNamespaceURI().hashCode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 191: expression evaluated to true 0 times, false 1117 times."> 1117</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 191: expression evaluated to true 0 times, false 1117 times.">            <span class="keyword">if</span> (hashCode == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: statement not executed.">                hashCode = 0xbabe;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 196: statement executed 67848 times."> 67848</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 196: statement executed 67848 times.">        <span class="keyword">return</span> hashCode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: method entered 48780 times."> 48780</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: method entered 48780 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> equals(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 48780 times."> 48780</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 48780 times.">        <span class="keyword">if</span> (<span class="keyword">this</span> == object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: statement executed 17036 times."> 17036</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 17036 times.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 31744 times."> 31744</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 31744 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> QName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 203: statement executed 31685 times."> 31685</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 203: statement executed 31685 times.">            QName that = (QName) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// we cache hash codes so this should be quick</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 206: statement executed 31685 times."> 31685</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 206: statement executed 31685 times.">            <span class="keyword">if</span> (hashCode() == that.hashCode()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 207: statement executed 6838 times."> 6838</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 207: statement executed 6838 times.">                <span class="keyword">return</span> getName().equals(that.getName())</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        && getNamespaceURI().equals(that.getNamespaceURI());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: statement executed 24906 times."> 24906</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: statement executed 24906 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 215: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 215: method not entered.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [name: "</span> + getName() + <span class="string">" namespace: \""</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + getNamespace() + <span class="string">"\"]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the factory that should be used for Elements of this QName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: method entered 231609 times."> 231609</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: method entered 231609 times.">    <span class="keyword">public</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 226: statement executed 231609 times."> 231609</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 226: statement executed 231609 times.">        <span class="keyword">return</span> documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 229: method entered 3065 times."> 3065</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 229: method entered 3065 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 230: statement executed 3065 times."> 3065</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 230: statement executed 3065 times.">        <span class="keyword">this</span>.documentFactory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 233: method entered 65 times."> 65</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 233: method entered 65 times.">    <span class="keyword">private</span> <span class="keyword">void</span> writeObject(ObjectOutputStream out) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// We use writeObject() and not writeUTF() to minimize space</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// This allows for writing pointers to already written strings</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 236: statement executed 65 times."> 65</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 236: statement executed 65 times.">        out.writeObject(namespace.getPrefix());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 237: statement executed 65 times."> 65</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 237: statement executed 65 times.">        out.writeObject(namespace.getURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 239: statement executed 65 times."> 65</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 239: statement executed 65 times.">        out.defaultWriteObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 242: method entered 65 times."> 65</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 242: method entered 65 times.">    <span class="keyword">private</span> <span class="keyword">void</span> readObject(ObjectInputStream in) <span class="keyword">throws</span> IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            ClassNotFoundException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 244: statement executed 65 times."> 65</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 244: statement executed 65 times.">        String prefix = (String) in.readObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 245: statement executed 65 times."> 65</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 245: statement executed 65 times.">        String uri = (String) in.readObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 247: statement executed 65 times."> 65</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 247: statement executed 65 times.">        in.defaultReadObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 249: statement executed 65 times."> 65</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 249: statement executed 65 times.">        namespace = Namespace.get(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 252: method entered 14636 times."> 14636</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 252: method entered 14636 times.">    <span class="keyword">private</span> <span class="keyword">static</span> QNameCache getCache() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 253: statement executed 14636 times."> 14636</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 253: statement executed 14636 times.">        QNameCache cache = (QNameCache) singleton.instance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 254: statement executed 14636 times."> 14636</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: statement executed 14636 times.">        <span class="keyword">return</span> cache;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/Text.html b/docs/clover/org/dom4j/Text.html
new file mode 100644
index 0000000..1a82fd2
--- /dev/null
+++ b/docs/clover/org/dom4j/Text.html
@@ -0,0 +1,310 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Text.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Text.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">56</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">3</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Text.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Text</code> defines an XML Text node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Text"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Text <span class="keyword">extends</span> CharacterData {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/Visitor.html b/docs/clover/org/dom4j/Visitor.html
new file mode 100644
index 0000000..f0367d2
--- /dev/null
+++ b/docs/clover/org/dom4j/Visitor.html
@@ -0,0 +1,750 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ Visitor.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Visitor.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">166</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">13</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Visitor.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Visitor</code> is used to implement the <code>Visitor</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * pattern in DOM4J. An object of this interface can be passed to a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Node</code> which will then call its typesafe methods. Please refer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to the <i>Gang of Four </i> book of Design Patterns for more details on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Visitor</code> pattern.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This <a href="http://www.patterndepot.com/put/8/JavaPatterns.htm">site </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * has further discussion on design patterns and links to the GOF book. This <a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * href="http://www.patterndepot.com/put/8/visitor.pdf">link </a> describes the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Visitor pattern in detail.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Visitor"> 29</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Visitor {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>Document</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Document</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(Document document);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>DocumentType</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> documentType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>DocumentType</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(DocumentType documentType);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>Element</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Element</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(Element node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>Attribute</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Attribute</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(Attribute node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>CDATA</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>CDATA</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(CDATA node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>Comment</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Comment</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(Comment node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>Entity</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Entity</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(Entity node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>Namespace</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Namespace</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(Namespace namespace);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>ProcessingInstruction</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ProcessingInstruction</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(ProcessingInstruction node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Visits the given <code>Text</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Text</code> node to visit.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> visit(Text node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/VisitorSupport.html b/docs/clover/org/dom4j/VisitorSupport.html
new file mode 100644
index 0000000..23ceec5
--- /dev/null
+++ b/docs/clover/org/dom4j/VisitorSupport.html
@@ -0,0 +1,457 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ VisitorSupport.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="VisitorSupport.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">90</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">11</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">25</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   VisitorSupport.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>VisitorSupport</code> is an abstract base class which is useful for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementation inheritence or when using anonymous inner classes to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * simple <code>Visitor</code> implementations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="VisitorSupport"> 20</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> VisitorSupport <span class="keyword">implements</span> Visitor {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 21</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 21: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 21: method not entered.">    <span class="keyword">public</span> VisitorSupport() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 24: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 24: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 27: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 27: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(DocumentType documentType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(Element node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(Attribute node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(CDATA node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(Comment node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(Entity node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(ProcessingInstruction node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> visit(Text node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/XPath.html b/docs/clover/org/dom4j/XPath.html
new file mode 100644
index 0000000..5f3a3d6
--- /dev/null
+++ b/docs/clover/org/dom4j/XPath.html
@@ -0,0 +1,1466 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ XPath.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XPath.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">345</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">28</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XPath.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.FunctionContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.NamespaceContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.VariableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XPath</code> represents an XPath expression after it has been parsed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from a String.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.20 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XPath"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> XPath <span class="keyword">extends</span> NodeFilter {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>getText</code> will return the textual version of the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the textual format of the XPath expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getText();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>matches</code> returns true if the given node matches the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression. To be more precise when evaluating this XPath expression on</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the given node the result set must include the node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the given node matches this XPath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> matches(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>evaluate</code> evaluates an XPath expression and returns the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * result as an {@link Object}. The object returned can either be a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * List} of {@link Node}instances, a {@link Node}instance, a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * String} or a {@link Number}instance depending on the XPath expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is either a node or a list of nodes on which to evalute the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value of the XPath expression as a {@link List}of {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         Node} instances, a {@link Node}instance, a {@link String}or a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         {@link Number}instance depending on the XPath expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Object evaluate(Object context);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectObject</code> evaluates an XPath expression and returns the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * result as an {@link Object}. The object returned can either be a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * List} of {@link Node}instances, a {@link Node}instance, a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * String} or a {@link Number}instance depending on the XPath expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is either a node or a list of nodes on which to evalute the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value of the XPath expression as a {@link List}of {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         Node} instances, a {@link Node}instance, a {@link String}or a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         {@link Number}instance depending on the XPath expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@deprecated</span> please use evaluate(Object) instead. WILL BE REMOVED IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Object selectObject(Object context);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectNodes</code> performs this XPath expression on the given</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link Node}or {@link List}of {@link Node}s instances appending all</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the results together into a single list.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is either a node or a list of nodes on which to evalute the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the results of all the XPath evaluations as a single list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List selectNodes(Object context);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectNodes</code> evaluates the XPath expression on the given</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link Node}or {@link List}of {@link Node}s and returns the result as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * a <code>List</code> of <code>Node</code> s sorted by the sort XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is either a node or a list of nodes on which to evalute the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> sortXPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to sort by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a list of <code>Node</code> instances</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List selectNodes(Object context, XPath sortXPath);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectNodes</code> evaluates the XPath expression on the given</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link Node}or {@link List}of {@link Node}s and returns the result as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * a <code>List</code> of <code>Node</code> s sorted by the sort XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is either a node or a list of nodes on which to evalute the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> sortXPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the XPath expression to sort by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> distinct</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            specifies whether or not duplicate values of the sort</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            expression are allowed. If this parameter is true then only</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            distinct sort expressions values are included in the result</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a list of <code>Node</code> instances</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    List selectNodes(Object context, XPath sortXPath, <span class="keyword">boolean</span> distinct);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>selectSingleNode</code> evaluates this XPath expression on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given {@link Node}or {@link List}of {@link Node}s and returns the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * result as a single <code>Node</code> instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is either a node or a list of nodes on which to evalute the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a single matching <code>Node</code> instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Node selectSingleNode(Object context);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>valueOf</code> evaluates this XPath expression and returns the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * textual representation of the results using the XPath string() function.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is either a node or a list of nodes on which to evalute the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the string representation of the results of the XPath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String valueOf(Object context);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>numberValueOf</code> evaluates an XPath expression and returns</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the numeric value of the XPath expression if the XPath expression results</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is a number, or null if the result is not a number.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is either a node or a list of nodes on which to evalute the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the numeric result of the XPath expression or null if the result</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         is not a number.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Number numberValueOf(Object context);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Retrieve a boolean-value interpretation of this XPath expression when</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * evaluated against a given context.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The boolean-value of the expression is determined per the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>boolean(..)</code> core function as defined in the XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specification. This means that an expression that selects zero nodes will</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * return <code>false</code>, while an expression that selects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * one-or-more nodes will return <code>true</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The node, nodeset or Context object for evaluation. This value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            can be null</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The boolean-value interpretation of this expression.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@since</span> 1.5</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> booleanValueOf(Object context);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>sort</code> sorts the given List of Nodes using this XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression as a {@link java.util.Comparator}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the list of Nodes to sort</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> sort(List list);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>sort</code> sorts the given List of Nodes using this XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression as a {@link java.util.Comparator}and optionally removing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * duplicates.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the list of Nodes to sort</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> distinct</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            if true then duplicate values (using the sortXPath for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            comparisions) will be removed from the List</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> sort(List list, <span class="keyword">boolean</span> distinct);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the current function context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    FunctionContext getFunctionContext();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the function context to be used when evaluating XPath expressions</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> functionContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setFunctionContext(FunctionContext functionContext);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the current namespace context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    NamespaceContext getNamespaceContext();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the namespace context to be used when evaluating XPath expressions</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setNamespaceContext(NamespaceContext namespaceContext);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the current NamespaceContext from a Map where the keys are the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * String namespace prefixes and the values are the namespace URIs.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * For example:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Map uris = new HashMap();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * uris.put("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/");</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * uris.put("m", "urn:xmethodsBabelFish");</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XPath xpath = document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         .createXPath("SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish");</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * xpath.setNamespaceURIs(uris);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Node babelfish = xpath.selectSingleNode(document);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> map</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the map containing the namespace mappings</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setNamespaceURIs(Map map);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the current variable context</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    VariableContext getVariableContext();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the variable context to be used when evaluating XPath expressions</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> variableContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setVariableContext(VariableContext variableContext);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/XPathException.html b/docs/clover/org/dom4j/XPathException.html
new file mode 100644
index 0000000..0a92640
--- /dev/null
+++ b/docs/clover/org/dom4j/XPathException.html
@@ -0,0 +1,436 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ XPathException.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XPathException.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">84</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">20</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XPathException.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphBarLeft" align="center"><B>27,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="54" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="146" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XPathException</code> is thrown when an exception occurs while</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * evaluating an XPath expression, usually due to some function throwing an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * exception.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XPathException"> 19</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XPathException <span class="keyword">extends</span> RuntimeException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The XPath expression that caused the exception */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String xpath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 23</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 23: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 23: method not entered.">    <span class="keyword">public</span> XPathException(String xpath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 24: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 24: statement not executed.">        <span class="keyword">super</span>(<span class="string">"Exception occurred evaluting XPath: "</span> + xpath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 25</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 25: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 25: statement not executed.">        <span class="keyword">this</span>.xpath = xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 28: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 28: method not entered.">    <span class="keyword">public</span> XPathException(String xpath, String reason) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 29: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 29: statement not executed.">        <span class="keyword">super</span>(<span class="string">"Exception occurred evaluting XPath: "</span> + xpath + <span class="string">" "</span> + reason);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: statement not executed.">        <span class="keyword">this</span>.xpath = xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: method entered 1 time.">    <span class="keyword">public</span> XPathException(String xpath, Exception e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: statement executed 1 time.">        <span class="keyword">super</span>(<span class="string">"Exception occurred evaluting XPath: "</span> + xpath + <span class="string">". Exception: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + e.getMessage());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 1 time.">        <span class="keyword">this</span>.xpath = xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the XPath expression that caused the problem</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> String getXPath() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">return</span> xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/bean/BeanAttribute.html b/docs/clover/org/dom4j/bean/BeanAttribute.html
new file mode 100644
index 0000000..935c50a
--- /dev/null
+++ b/docs/clover/org/dom4j/bean/BeanAttribute.html
@@ -0,0 +1,493 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ bean\ BeanAttribute.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="BeanAttribute.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">97</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">31</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   BeanAttribute.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">33,3%</TD>
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>27,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="55" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="145" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.bean;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.AbstractAttribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>BeanAttribute</code> represents a mutable XML attribute which is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * backed by a property of the JavaBean of its parent element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="BeanAttribute"> 23</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> BeanAttribute <span class="keyword">extends</span> AbstractAttribute {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The list of Bean attributes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> final BeanAttributeList beanList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The index in the Bean attribute list */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> final <span class="keyword">int</span> index;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: method entered 2 times.">    <span class="keyword">public</span> BeanAttribute(BeanAttributeList beanList, <span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: statement executed 2 times.">        <span class="keyword">this</span>.beanList = beanList;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: statement executed 2 times.">        <span class="keyword">this</span>.index = index;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: method not entered.">    <span class="keyword">public</span> QName getQName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        <span class="keyword">return</span> beanList.getQName(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: statement not executed.">        <span class="keyword">return</span> beanList.getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> String getValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        Object data = getData();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">return</span> (data != <span class="keyword">null</span>) ? data.toString() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setValue(String data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 2 times.">        beanList.setData(index, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> Object getData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">return</span> beanList.getData(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        beanList.setData(index, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/bean/BeanAttributeList.html b/docs/clover/org/dom4j/bean/BeanAttributeList.html
new file mode 100644
index 0000000..ab153eb
--- /dev/null
+++ b/docs/clover/org/dom4j/bean/BeanAttributeList.html
@@ -0,0 +1,889 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ bean\ BeanAttributeList.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="BeanAttributeList.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">185</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">18</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">92</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   BeanAttributeList.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">35,7%</TD>
+    <TD class="graphPercent" align="center">27,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>31,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="63" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="137" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.bean;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.AbstractList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>BeanAttributeList</code> implements a list of Attributes which are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the properties of a JavaBean.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="BeanAttributeList"> 24</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> BeanAttributeList <span class="keyword">extends</span> AbstractList {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The BeanElement that this */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> BeanElement parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The BeanElement that this */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> BeanMetaData beanMetaData;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The attributes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> BeanAttribute[] attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: method not entered.">    <span class="keyword">public</span> BeanAttributeList(BeanElement parent, BeanMetaData beanMetaData) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        <span class="keyword">this</span>.beanMetaData = beanMetaData;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: statement not executed.">        <span class="keyword">this</span>.attributes = <span class="keyword">new</span> BeanAttribute[beanMetaData.attributeCount()];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: method entered 2 times.">    <span class="keyword">public</span> BeanAttributeList(BeanElement parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: statement executed 2 times.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 2 times.">        Object data = parent.getData();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: expression evaluated to true 2 times, false 0 times.">        Class beanClass = (data != <span class="keyword">null</span>) ? data.getClass() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: statement executed 2 times.">        <span class="keyword">this</span>.beanMetaData = BeanMetaData.get(beanClass);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: statement executed 2 times.">        <span class="keyword">this</span>.attributes = <span class="keyword">new</span> BeanAttribute[beanMetaData.attributeCount()];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 2 times.">    <span class="keyword">public</span> Attribute attribute(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 2 times.">        <span class="keyword">int</span> index = beanMetaData.getIndex(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 2 times.">        <span class="keyword">return</span> attribute(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: method not entered.">    <span class="keyword">public</span> Attribute attribute(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: statement not executed.">        <span class="keyword">int</span> index = beanMetaData.getIndex(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">return</span> attribute(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: method entered 2 times.">    <span class="keyword">public</span> BeanAttribute attribute(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> ((index >= 0) && (index <= attributes.length)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 2 times.">            BeanAttribute attribute = attributes[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: expression evaluated to true 2 times, false 0 times.">            <span class="keyword">if</span> (attribute == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 2 times.">                attribute = createAttribute(parent, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: statement executed 2 times.">                attributes[index] = attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 2 times.">            <span class="keyword">return</span> attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> BeanElement getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: method not entered.">    <span class="keyword">public</span> QName getQName(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">return</span> beanMetaData.getQName(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: method not entered.">    <span class="keyword">public</span> Object getData(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">        <span class="keyword">return</span> beanMetaData.getData(index, parent.getData());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(<span class="keyword">int</span> index, Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: statement executed 2 times.">        beanMetaData.setData(index, parent.getData(), data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// List interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> size() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        <span class="keyword">return</span> attributes.length;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: method not entered.">    <span class="keyword">public</span> Object get(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">        BeanAttribute attribute = attributes[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: statement not executed.">        <span class="keyword">if</span> (attribute == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">            attribute = createAttribute(parent, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">            attributes[index] = attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> add(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"add(Object) unsupported"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> add(<span class="keyword">int</span> index, Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"add(int,Object) unsupported"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: method not entered.">    <span class="keyword">public</span> Object set(<span class="keyword">int</span> index, Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"set(int,Object) unsupported"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: method not entered.">    <span class="keyword">public</span> Object remove(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">        BeanAttribute attribute = (BeanAttribute) get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        Object oldValue = attribute.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">        attribute.setValue(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">        <span class="keyword">return</span> oldValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = attributes.length; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">            BeanAttribute attribute = attributes[i];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">            <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">                attribute.setValue(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: method entered 2 times.">    <span class="keyword">protected</span> BeanAttribute createAttribute(BeanElement element, <span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 2 times.">        <span class="keyword">return</span> <span class="keyword">new</span> BeanAttribute(<span class="keyword">this</span>, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/bean/BeanDocumentFactory.html b/docs/clover/org/dom4j/bean/BeanDocumentFactory.html
new file mode 100644
index 0000000..861d13b
--- /dev/null
+++ b/docs/clover/org/dom4j/bean/BeanDocumentFactory.html
@@ -0,0 +1,651 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ bean\ BeanDocumentFactory.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="BeanDocumentFactory.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">134</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">51</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   BeanDocumentFactory.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">16,7%</TD>
+    <TD class="graphPercent" align="center">26,3%</TD>
+    <TD class="graphPercent" align="center">42,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>28,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="56" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="144" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.bean;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultAttribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>BeanDocumentFactory</code> is a factory of DOM4J objects which may be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * BeanElements which are backed by JavaBeans and their properties.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The tree built allows full XPath expressions from anywhere on the tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.14 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="BeanDocumentFactory"> 31</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> BeanDocumentFactory <span class="keyword">extends</span> DocumentFactory {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Singleton instance */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> BeanDocumentFactory singleton = <span class="keyword">new</span> BeanDocumentFactory();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Access to the singleton instance of this factory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default singleon instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">static</span> DocumentFactory getInstance() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 3 times.">        <span class="keyword">return</span> singleton;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Factory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: method entered 3 times.">    <span class="keyword">public</span> Element createElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: statement executed 3 times.">        Object bean = createBean(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: expression evaluated to true 3 times, false 0 times.">        <span class="keyword">if</span> (bean == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: statement executed 3 times.">            <span class="keyword">return</span> <span class="keyword">new</span> BeanElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> BeanElement(qname, bean);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> Element createElement(QName qname, Attributes attributes) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        Object bean = createBean(qname, attributes);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">if</span> (bean == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> BeanElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> BeanElement(qname, bean);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: method not entered.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultAttribute(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 72: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 72: method entered 3 times.">    <span class="keyword">protected</span> Object createBean(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 3 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">protected</span> Object createBean(QName qname, Attributes attributes) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        String value = attributes.getValue(<span class="string">"class"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">if</span> (value != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">                Class beanClass = Class.forName(value, <span class="keyword">true</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        BeanDocumentFactory.<span class="keyword">class</span>.getClassLoader());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">                <span class="keyword">return</span> beanClass.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">                handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> handleException(Exception e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// ignore introspection exceptions</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        System.out.println(<span class="string">"#### Warning: couldn't create bean: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/bean/BeanElement.html b/docs/clover/org/dom4j/bean/BeanElement.html
new file mode 100644
index 0000000..7ff8fb9
--- /dev/null
+++ b/docs/clover/org/dom4j/bean/BeanElement.html
@@ -0,0 +1,915 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ bean\ BeanElement.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="BeanElement.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">194</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">16</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">93</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   BeanElement.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">70%</TD>
+    <TD class="graphPercent" align="center">64,7%</TD>
+    <TD class="graphPercent" align="center">56,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>63,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="126" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="74" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.bean;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.NamespaceStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>BeanElement</code> uses a Java Bean to store its attributes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.15 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="BeanElement"> 30</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> BeanElement <span class="keyword">extends</span> DefaultElement {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>DocumentFactory</code> instance used by default */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final DocumentFactory DOCUMENT_FACTORY = BeanDocumentFactory</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            .getInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The JavaBean which defines my attributes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object bean;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: method not entered.">    <span class="keyword">public</span> BeanElement(String name, Object bean) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: statement not executed.">        <span class="keyword">this</span>(DOCUMENT_FACTORY.createQName(name), bean);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> BeanElement(String name, Namespace namespace, Object bean) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">this</span>(DOCUMENT_FACTORY.createQName(name, namespace), bean);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">public</span> BeanElement(QName qname, Object bean) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        <span class="keyword">this</span>.bean = bean;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: method entered 3 times.">    <span class="keyword">public</span> BeanElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 3 times.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the JavaBean associated with this element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: method entered 4 times.">    <span class="keyword">public</span> Object getData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 4 times.">        <span class="keyword">return</span> bean;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 2 times.">        <span class="keyword">this</span>.bean = data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// force the attributeList to be lazily</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// created next time an attribute related</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// method is called again.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 2 times.">        setAttributeList(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: method entered 2 times.">    <span class="keyword">public</span> Attribute attribute(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 2 times.">        <span class="keyword">return</span> getBeanAttributeList().attribute(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> Attribute attribute(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> getBeanAttributeList().attribute(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: method entered 2 times.">    <span class="keyword">public</span> Element addAttribute(String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 2 times.">        Attribute attribute = attribute(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: statement executed 2 times.">            attribute.setValue(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: statement executed 2 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: method not entered.">    <span class="keyword">public</span> Element addAttribute(QName qName, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">        Attribute attribute = attribute(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">        <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">            attribute.setValue(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributes(List attributes) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"Not implemented yet."</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Method overridden from AbstractElement</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributes(Attributes attributes,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            NamespaceStack namespaceStack, <span class="keyword">boolean</span> noNamespaceAttributes) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 3 times.">        String className = attributes.getValue(<span class="string">"class"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: statement executed 3 times.">        <span class="keyword">if</span> (className != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 111: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 111: statement executed 2 times.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 2 times.">                Class beanClass = Class.forName(className, <span class="keyword">true</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        BeanElement.<span class="keyword">class</span>.getClassLoader());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: statement executed 2 times.">                <span class="keyword">this</span>.setData(beanClass.newInstance());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 2 times.">                <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < attributes.getLength(); i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 4 times.">                    String attributeName = attributes.getLocalName(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 119: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 119: statement executed 4 times.">                    <span class="keyword">if</span> (!<span class="string">"class"</span>.equalsIgnoreCase(attributeName)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 120: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 120: statement executed 2 times.">                        addAttribute(attributeName, attributes.getValue(i));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Exception ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// What to do here?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">                ((BeanDocumentFactory) <span class="keyword">this</span>.getDocumentFactory())</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .handleException(ex);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 1 time.">            <span class="keyword">super</span>.setAttributes(attributes, namespaceStack,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    noNamespaceAttributes);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 136: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 136: method entered 5 times.">    <span class="keyword">protected</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 137: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 137: statement executed 5 times.">        <span class="keyword">return</span> DOCUMENT_FACTORY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: method entered 2 times.">    <span class="keyword">protected</span> BeanAttributeList getBeanAttributeList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 2 times.">        <span class="keyword">return</span> (BeanAttributeList) attributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method pattern which lazily creates a List implementation used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to store content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: method entered 2 times.">    <span class="keyword">protected</span> List createAttributeList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 2 times.">        <span class="keyword">return</span> <span class="keyword">new</span> BeanAttributeList(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: method not entered.">    <span class="keyword">protected</span> List createAttributeList(<span class="keyword">int</span> size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> BeanAttributeList(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/bean/BeanMetaData.html b/docs/clover/org/dom4j/bean/BeanMetaData.html
new file mode 100644
index 0000000..a15844e
--- /dev/null
+++ b/docs/clover/org/dom4j/bean/BeanMetaData.html
@@ -0,0 +1,959 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ bean\ BeanMetaData.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="BeanMetaData.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">204</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">10</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">96</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   BeanMetaData.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">58,3%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.bean;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.beans.BeanInfo;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.beans.IntrospectionException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.beans.Introspector;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.beans.PropertyDescriptor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.lang.reflect.Method;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>BeanMetaData</code> contains metadata about a bean class.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="BeanMetaData"> 29</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> BeanMetaData {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Empty arguments for reflection calls */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final Object[] NULL_ARGS = {};</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Singleton cache */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> Map singletonCache = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final DocumentFactory DOCUMENT_FACTORY = BeanDocumentFactory</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            .getInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The class of the bean */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Class beanClass;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Property descriptors for the bean */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> PropertyDescriptor[] propertyDescriptors;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** QNames for the attributes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName[] qNames;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Read methods used for getting properties */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Method[] readMethods;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Write methods used for setting properties */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Method[] writeMethods;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Index of names and QNames to indices */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map nameMap = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 1 time.">    <span class="keyword">public</span> BeanMetaData(Class beanClass) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 1 time.">        <span class="keyword">this</span>.beanClass = beanClass;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: expression evaluated to true 1 time, false 0 times.">        <span class="keyword">if</span> (beanClass != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 1 time.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: statement executed 1 time.">                BeanInfo beanInfo = Introspector.getBeanInfo(beanClass);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 1 time.">                propertyDescriptors = beanInfo.getPropertyDescriptors();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (IntrospectionException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">                handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> (propertyDescriptors == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">            propertyDescriptors = <span class="keyword">new</span> PropertyDescriptor[0];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 1 time.">        <span class="keyword">int</span> size = propertyDescriptors.length;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 1 time.">        qNames = <span class="keyword">new</span> QName[size];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: statement executed 1 time.">        readMethods = <span class="keyword">new</span> Method[size];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 1 time.">        writeMethods = <span class="keyword">new</span> Method[size];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 78: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: statement executed 1 time.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: statement executed 59 times.">            PropertyDescriptor propertyDescriptor = propertyDescriptors[i];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 59 times.">            String name = propertyDescriptor.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 59 times.">            QName qName = DOCUMENT_FACTORY.createQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 59 times.">            qNames[i] = qName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: statement executed 59 times.">            readMethods[i] = propertyDescriptor.getReadMethod();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 59 times.">            writeMethods[i] = propertyDescriptor.getWriteMethod();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 59 times.">            Integer index = <span class="keyword">new</span> Integer(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 87: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 87: statement executed 59 times.">            nameMap.put(name, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: statement executed 59 times.">            nameMap.put(qName, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Static helper method to find and cache meta data objects for bean types</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> beanClass</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">static</span> BeanMetaData get(Class beanClass) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: statement executed 2 times.">        BeanMetaData answer = (BeanMetaData) singletonCache.get(beanClass);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 2 times.">        <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 1 time.">            answer = <span class="keyword">new</span> BeanMetaData(beanClass);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 105: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: statement executed 1 time.">            singletonCache.put(beanClass, answer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 2 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the number of attribtutes for this bean type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">int</span> attributeCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 2 times.">        <span class="keyword">return</span> propertyDescriptors.length;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: method not entered.">    <span class="keyword">public</span> BeanAttributeList createAttributeList(BeanElement parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> BeanAttributeList(parent, <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: method not entered.">    <span class="keyword">public</span> QName getQName(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        <span class="keyword">return</span> qNames[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">int</span> getIndex(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 2 times.">        Integer index = (Integer) nameMap.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">return</span> (index != <span class="keyword">null</span>) ? index.intValue() : (-1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getIndex(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">        Integer index = (Integer) nameMap.get(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">return</span> (index != <span class="keyword">null</span>) ? index.intValue() : (-1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: method not entered.">    <span class="keyword">public</span> Object getData(<span class="keyword">int</span> index, Object bean) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">            Method method = readMethods[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">            <span class="keyword">return</span> method.invoke(bean, NULL_ARGS);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(<span class="keyword">int</span> index, Object bean, Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 153: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 153: statement executed 2 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 2 times.">            Method method = writeMethods[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: statement executed 2 times.">            Object[] args = {data};</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 2 times.">            method.invoke(bean, args);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> handleException(Exception e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// ignore introspection exceptions</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/bean/pkg-classes.html b/docs/clover/org/dom4j/bean/pkg-classes.html
new file mode 100644
index 0000000..67cc276
--- /dev/null
+++ b/docs/clover/org/dom4j/bean/pkg-classes.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.bean">org.dom4j.bean</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="BeanAttribute.html" title="BeanAttribute">BeanAttribute</A>
+    	    <i>(27,8%)</i><BR>
+    
+                <A target="classPane" href="BeanAttributeList.html" title="BeanAttributeList">BeanAttributeList</A>
+    	    <i>(31,9%)</i><BR>
+    
+                <A target="classPane" href="BeanDocumentFactory.html" title="BeanDocumentFactory">BeanDocumentFactory</A>
+    	    <i>(28,1%)</i><BR>
+    
+                <A target="classPane" href="BeanElement.html" title="BeanElement">BeanElement</A>
+    	    <i>(63,3%)</i><BR>
+    
+                <A target="classPane" href="BeanMetaData.html" title="BeanMetaData">BeanMetaData</A>
+    	    <i>(66,7%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/bean/pkg-summary.html b/docs/clover/org/dom4j/bean/pkg-summary.html
new file mode 100644
index 0000000..8c29f63
--- /dev/null
+++ b/docs/clover/org/dom4j/bean/pkg-summary.html
@@ -0,0 +1,217 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">814</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">58</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">363</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">5</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">5</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.bean
+	    </TD>
+   
+    <TD class="graphPercent" align="center">42,9%</TD>
+    <TD class="graphPercent" align="center">52%</TD>
+    <TD class="graphPercent" align="center">41,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>48%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="95" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="105" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="BeanAttribute.html" title="BeanAttribute">BeanAttribute</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">33,3%</TD>
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>27,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="55" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="145" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="BeanDocumentFactory.html" title="BeanDocumentFactory">BeanDocumentFactory</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">16,7%</TD>
+    <TD class="graphPercent" align="center">26,3%</TD>
+    <TD class="graphPercent" align="center">42,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>28,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="56" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="144" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="BeanAttributeList.html" title="BeanAttributeList">BeanAttributeList</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">35,7%</TD>
+    <TD class="graphPercent" align="center">27,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>31,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="63" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="137" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="BeanElement.html" title="BeanElement">BeanElement</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">70%</TD>
+    <TD class="graphPercent" align="center">64,7%</TD>
+    <TD class="graphPercent" align="center">56,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>63,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="126" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="74" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="BeanMetaData.html" title="BeanMetaData">BeanMetaData</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">58,3%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+   <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/datatype/DatatypeAttribute.html b/docs/clover/org/dom4j/datatype/DatatypeAttribute.html
new file mode 100644
index 0000000..b813929
--- /dev/null
+++ b/docs/clover/org/dom4j/datatype/DatatypeAttribute.html
@@ -0,0 +1,1071 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ datatype\ DatatypeAttribute.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DatatypeAttribute.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">229</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">20</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">117</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DatatypeAttribute.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">8,3%</TD>
+    <TD class="graphPercent" align="center">41,3%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>38,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="76" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="124" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.datatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.DatabindableDatatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.SerializationContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.xsd.XSDatatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.AbstractAttribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.relaxng.datatype.DatatypeException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.relaxng.datatype.ValidationContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DatatypeAttribute</code> represents an Attribute which supports the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * specification.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DatatypeAttribute"> 32</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DatatypeAttribute <span class="keyword">extends</span> AbstractAttribute <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        SerializationContext, ValidationContext {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The parent <code>Element</code> of the <code>Attribute</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>QName</code> for this element */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName qname;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>XSDatatype</code> of the <code>Attribute</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XSDatatype datatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The data (Object) value of the <code>Attribute</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object data;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The text value of the <code>Attribute</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> DatatypeAttribute(QName qname, XSDatatype datatype) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">this</span>.qname = qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">this</span>.datatype = datatype;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: method entered 645 times."> 645</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: method entered 645 times.">    <span class="keyword">public</span> DatatypeAttribute(QName qname, XSDatatype datatype, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 645 times."> 645</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 645 times.">        <span class="keyword">this</span>.qname = qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 645 times."> 645</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 645 times.">        <span class="keyword">this</span>.datatype = datatype;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 645 times."> 645</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 645 times.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 645 times."> 645</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 645 times.">        <span class="keyword">this</span>.data = convertToValue(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: method entered 2 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: statement executed 2 times.">        <span class="keyword">return</span> getClass().getName() + hashCode() + <span class="string">" [Attribute: name "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + getQualifiedName() + <span class="string">" value \""</span> + getValue() + <span class="string">"\" data: "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + getData() + <span class="string">"]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the MSV XSDatatype for this node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> XSDatatype getXSDatatype() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">return</span> datatype;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// SerializationContext interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> String getNamespacePrefix(String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        Element parentElement = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">if</span> (parentElement != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">            Namespace namespace = parentElement.getNamespaceForURI(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">            <span class="keyword">if</span> (namespace != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">                <span class="keyword">return</span> namespace.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// ValidationContext interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: method not entered.">    <span class="keyword">public</span> String getBaseUri() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXXX: could we use a Document for this?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isNotation(String notationName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXXX: no way to do this yet in dom4j so assume false</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isUnparsedEntity(String entityName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXXX: no way to do this yet in dom4j so assume valid</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: method not entered.">    <span class="keyword">public</span> String resolveNamespacePrefix(String prefix) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// first lets see if this is our attribute's prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">        <span class="keyword">if</span> (prefix.equals(getNamespacePrefix())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">            <span class="keyword">return</span> getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">            Element parentElement = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">            <span class="keyword">if</span> (parentElement != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: statement not executed.">                Namespace namespace = parentElement</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .getNamespaceForPrefix(prefix);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">                <span class="keyword">if</span> (namespace != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">                    <span class="keyword">return</span> namespace.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Attribute interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: method entered 254 times."> 254</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: method entered 254 times.">    <span class="keyword">public</span> QName getQName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 254 times."> 254</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 254 times.">        <span class="keyword">return</span> qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: method entered 139 times."> 139</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: method entered 139 times.">    <span class="keyword">public</span> String getValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 136: statement executed 139 times."> 139</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 136: statement executed 139 times.">        <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setValue(String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 4 times.">        validate(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 142: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 142: statement executed 2 times.">        <span class="keyword">this</span>.text = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: statement executed 2 times.">        <span class="keyword">this</span>.data = convertToValue(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: method entered 76 times."> 76</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: method entered 76 times.">    <span class="keyword">public</span> Object getData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: statement executed 76 times."> 76</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: statement executed 76 times.">        <span class="keyword">return</span> data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">        String s = datatype.convertToLexicalValue(data, <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">        validate(s);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">        <span class="keyword">this</span>.text = s;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">        <span class="keyword">this</span>.data = data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: method entered 245 times."> 245</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: method entered 245 times.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 158: statement executed 245 times."> 245</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 158: statement executed 245 times.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: method entered 645 times."> 645</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: method entered 645 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: statement executed 645 times."> 645</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: statement executed 645 times.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 175: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 175: method entered 4 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> validate(String txt) <span class="keyword">throws</span> IllegalArgumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: statement executed 4 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 4 times.">            datatype.checkValid(txt, <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (DatatypeException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 2 times.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(e.getMessage());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: method entered 647 times."> 647</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: method entered 647 times.">    <span class="keyword">protected</span> Object convertToValue(String txt) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 184: expression evaluated to true 647 times, false 0 times."> 647</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 184: expression evaluated to true 647 times, false 0 times.">        <span class="keyword">if</span> (datatype <span class="keyword">instanceof</span> DatabindableDatatype) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 185: statement executed 647 times."> 647</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: statement executed 647 times.">            DatabindableDatatype bindable = (DatabindableDatatype) datatype;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 647 times."> 647</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 647 times.">            <span class="keyword">return</span> bindable.createJavaObject(txt, <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">            <span class="keyword">return</span> datatype.createValue(txt, <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/datatype/DatatypeDocumentFactory.html b/docs/clover/org/dom4j/datatype/DatatypeDocumentFactory.html
new file mode 100644
index 0000000..ea58cc7
--- /dev/null
+++ b/docs/clover/org/dom4j/datatype/DatatypeDocumentFactory.html
@@ -0,0 +1,1037 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ datatype\ DatatypeDocumentFactory.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DatatypeDocumentFactory.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">223</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">8</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">107</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DatatypeDocumentFactory.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">45%</TD>
+    <TD class="graphPercent" align="center">45,8%</TD>
+    <TD class="graphPercent" align="center">87,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>50%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.datatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.SAXReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.EntityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DatatypeDocumentFactory</code> is a factory of XML objects which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * support the <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </a> specification.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DatatypeDocumentFactory"> 31</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DatatypeDocumentFactory <span class="keyword">extends</span> DocumentFactory {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// XXXX: I don't think interning of QNames is necessary</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final <span class="keyword">boolean</span> DO_INTERN_QNAME = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Singleton instance */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">transient</span> DatatypeDocumentFactory singleton </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            = <span class="keyword">new</span> DatatypeDocumentFactory();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final Namespace XSI_NAMESPACE = Namespace.get(<span class="string">"xsi"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://www.w3.org/2001/XMLSchema-instance"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSI_SCHEMA_LOCATION = QName.get(</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"schemaLocation"</span>, XSI_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSI_NO_SCHEMA_LOCATION = QName.get(</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"noNamespaceSchemaLocation"</span>, XSI_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The builder of XML Schemas */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> SchemaParser schemaBuilder;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** reader of XML Schemas */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> SAXReader xmlSchemaReader = <span class="keyword">new</span> SAXReader();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** If schemas are automatically loaded when parsing instance documents */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> autoLoadSchema = <span class="keyword">true</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 27 times."> 27</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 27 times.">    <span class="keyword">public</span> DatatypeDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 27 times."> 27</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 27 times.">        schemaBuilder = <span class="keyword">new</span> SchemaParser(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Access to the singleton instance of this factory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default singleon instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 68: method entered 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 68: method entered 33 times.">    <span class="keyword">public</span> <span class="keyword">static</span> DocumentFactory getInstance() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 33 times.">        <span class="keyword">return</span> singleton;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Loads the given XML Schema document into this factory so schema-aware</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Document, Elements and Attributes will be created by this factory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> schemaDocument</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is an XML Schema Document instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: method entered 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: method entered 22 times.">    <span class="keyword">public</span> <span class="keyword">void</span> loadSchema(Document schemaDocument) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 22 times.">        schemaBuilder.build(schemaDocument);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">void</span> loadSchema(Document schemaDocument, Namespace targetNamespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 3 times.">        schemaBuilder.build(schemaDocument, targetNamespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Registers the given <code>DatatypeElementFactory</code> for the given</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;element&gt; schema element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementQName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: method entered 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: method entered 408 times.">    <span class="keyword">public</span> DatatypeElementFactory getElementFactory(QName elementQName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: statement executed 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: statement executed 408 times.">        DatatypeElementFactory result = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        </SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: expression evaluated to true 0 times, false 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: expression evaluated to true 0 times, false 408 times.">        <span class="keyword">if</span> (DO_INTERN_QNAME) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">            elementQName = intern(elementQName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 408 times.">        DocumentFactory factory = elementQName.getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 408 times.">        <span class="keyword">if</span> (factory <span class="keyword">instanceof</span> DatatypeElementFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 105: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: statement executed 5 times.">            result = (DatatypeElementFactory) factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        </SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 408 times.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// DocumentFactory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: method entered 450 times."> 450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: method entered 450 times.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: statement executed 450 times."> 450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: statement executed 450 times.">        <span class="keyword">if</span> (autoLoadSchema && qname.equals(XSI_NO_SCHEMA_LOCATION)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: expression evaluated to true 2 times, false 0 times.">            Document document = (owner != <span class="keyword">null</span>) ? owner.getDocument() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 2 times.">            loadSchema(document, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: expression evaluated to true 0 times, false 448 times."> 448</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: expression evaluated to true 0 times, false 448 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (autoLoadSchema && qname.equals(XSI_SCHEMA_LOCATION)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">            Document document = (owner != <span class="keyword">null</span>) ? owner.getDocument() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">            String uri = value.substring(0, value.indexOf(' '));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">            Namespace namespace = owner.getNamespaceForURI(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">            loadSchema(document, value.substring(value.indexOf(' ') + 1),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    namespace);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: statement executed 450 times."> 450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 450 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.createAttribute(owner, qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> loadSchema(Document document, String schemaInstanceURI) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: statement executed 2 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 2 times.">            EntityResolver resolver = document.getEntityResolver();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: expression evaluated to true 0 times, false 2 times.">            <span class="keyword">if</span> (resolver == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">                String msg = <span class="string">"No EntityResolver available for resolving URI: "</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(msg + schemaInstanceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: statement executed 2 times.">            InputSource inputSource = resolver.resolveEntity(<span class="keyword">null</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    schemaInstanceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: expression evaluated to true 0 times, false 2 times.">            <span class="keyword">if</span> (resolver == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(<span class="string">"Could not resolve the URI: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + schemaInstanceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: statement executed 2 times.">            Document schemaDocument = xmlSchemaReader.read(inputSource);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 2 times.">            loadSchema(schemaDocument);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">            System.out.println(<span class="string">"Failed to load schema: "</span> + schemaInstanceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">            System.out.println(<span class="string">"Caught: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">            e.printStackTrace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(<span class="string">"Failed to load schema: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + schemaInstanceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> loadSchema(Document document, String schemaInstanceURI,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Namespace namespace) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: statement not executed.">            EntityResolver resolver = document.getEntityResolver();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">            <span class="keyword">if</span> (resolver == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">                String msg = <span class="string">"No EntityResolver available for resolving URI: "</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(msg + schemaInstanceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">            InputSource inputSource = resolver.resolveEntity(<span class="keyword">null</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    schemaInstanceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">            <span class="keyword">if</span> (resolver == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(<span class="string">"Could not resolve the URI: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + schemaInstanceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: statement not executed.">            Document schemaDocument = xmlSchemaReader.read(inputSource);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: statement not executed.">            loadSchema(schemaDocument, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">            System.out.println(<span class="string">"Failed to load schema: "</span> + schemaInstanceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">            System.out.println(<span class="string">"Caught: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">            e.printStackTrace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 182: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 182: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(<span class="string">"Failed to load schema: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + schemaInstanceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/datatype/DatatypeElement.html b/docs/clover/org/dom4j/datatype/DatatypeElement.html
new file mode 100644
index 0000000..98c92ec
--- /dev/null
+++ b/docs/clover/org/dom4j/datatype/DatatypeElement.html
@@ -0,0 +1,971 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ datatype\ DatatypeElement.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DatatypeElement.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">207</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">16</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">95</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DatatypeElement.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">40%</TD>
+    <TD class="graphPercent" align="center">60,5%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>54,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="109" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="91" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.datatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.DatabindableDatatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.SerializationContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.xsd.XSDatatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.relaxng.datatype.DatatypeException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.relaxng.datatype.ValidationContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DatatypeElement</code> represents an Element which supports the <a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * specification.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DatatypeElement"> 33</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DatatypeElement <span class="keyword">extends</span> DefaultElement <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        SerializationContext, ValidationContext {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>XSDatatype</code> of the <code>Attribute</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XSDatatype datatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The data (Object) value of the <code>Attribute</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object data;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: method entered 1305 times."> 1305</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: method entered 1305 times.">    <span class="keyword">public</span> DatatypeElement(QName qname, XSDatatype datatype) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: statement executed 1305 times."> 1305</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: statement executed 1305 times.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 1305 times."> 1305</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 1305 times.">        <span class="keyword">this</span>.datatype = datatype;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">public</span> DatatypeElement(QName qname, <span class="keyword">int</span> attributeCount, XSDatatype type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">super</span>(qname, attributeCount);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        <span class="keyword">this</span>.datatype = type;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: method entered 1 time.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 1 time.">        <span class="keyword">return</span> getClass().getName() + hashCode() + <span class="string">" [Element: <"</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + getQualifiedName() + <span class="string">" attributes: "</span> + attributeList()</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">" data: "</span> + getData() + <span class="string">" />]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the MSV XSDatatype for this node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: method not entered.">    <span class="keyword">public</span> XSDatatype getXSDatatype() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        <span class="keyword">return</span> datatype;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// SerializationContext interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> String getNamespacePrefix(String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        Namespace namespace = getNamespaceForURI(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        <span class="keyword">return</span> (namespace != <span class="keyword">null</span>) ? namespace.getPrefix() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// ValidationContext interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> String getBaseUri() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXXX: could we use a Document for this?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isNotation(String notationName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXXX: no way to do this yet in dom4j so assume false</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isUnparsedEntity(String entityName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXXX: no way to do this yet in dom4j so assume valid</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: method not entered.">    <span class="keyword">public</span> String resolveNamespacePrefix(String prefix) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">        Namespace namespace = getNamespaceForPrefix(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">        <span class="keyword">if</span> (namespace != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">            <span class="keyword">return</span> namespace.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Element interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: method entered 75 times."> 75</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: method entered 75 times.">    <span class="keyword">public</span> Object getData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: expression evaluated to true 75 times, false 0 times."> 75</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: expression evaluated to true 75 times, false 0 times.">        <span class="keyword">if</span> (data == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 105: statement executed 75 times."> 75</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: statement executed 75 times.">            String text = getTextTrim();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: statement executed 75 times."> 75</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: statement executed 75 times.">            <span class="keyword">if</span> ((text != <span class="keyword">null</span>) && (text.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: expression evaluated to true 74 times, false 0 times."> 74</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: expression evaluated to true 74 times, false 0 times.">                <span class="keyword">if</span> (datatype <span class="keyword">instanceof</span> DatabindableDatatype) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: statement executed 74 times."> 74</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: statement executed 74 times.">                    DatabindableDatatype bind = (DatabindableDatatype) datatype;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: statement executed 74 times."> 74</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: statement executed 74 times.">                    data = bind.createJavaObject(text, <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">                    data = datatype.createValue(text, <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 75 times."> 75</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 75 times.">        <span class="keyword">return</span> data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 120: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 120: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 121: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 121: statement executed 2 times.">        String s = datatype.convertToLexicalValue(data, <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 2 times.">        validate(s);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 2 times.">        <span class="keyword">this</span>.data = data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: statement executed 2 times.">        setText(s);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: method entered 1307 times."> 1307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: method entered 1307 times.">    <span class="keyword">public</span> Element addText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 1307 times."> 1307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 1307 times.">        validate(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 1307 times."> 1307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 1307 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.addText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 134: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 134: statement executed 4 times.">        validate(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 3 times.">        <span class="keyword">super</span>.setText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Override to force lazy recreation of data object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: method entered 1307 times."> 1307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: method entered 1307 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> childAdded(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: statement executed 1307 times."> 1307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 1307 times.">        data = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: statement executed 1307 times."> 1307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: statement executed 1307 times.">        <span class="keyword">super</span>.childAdded(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Override to force lazy recreation of data object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> childRemoved(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        data = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">        <span class="keyword">super</span>.childRemoved(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: method entered 1313 times."> 1313</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: method entered 1313 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> validate(String text) <span class="keyword">throws</span> IllegalArgumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 1313 times."> 1313</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 1313 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: statement executed 1313 times."> 1313</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: statement executed 1313 times.">            datatype.checkValid(text, <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (DatatypeException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: statement executed 1 time.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(e.getMessage());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/datatype/DatatypeElementFactory.html b/docs/clover/org/dom4j/datatype/DatatypeElementFactory.html
new file mode 100644
index 0000000..b500a69
--- /dev/null
+++ b/docs/clover/org/dom4j/datatype/DatatypeElementFactory.html
@@ -0,0 +1,805 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ datatype\ DatatypeElementFactory.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DatatypeElementFactory.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">172</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">8</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">54</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DatatypeElementFactory.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">87,5%</TD>
+    <TD class="graphPercent" align="center">95%</TD>
+    <TD class="graphPercent" align="center">87,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>91,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="183" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="17" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.datatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.xsd.XSDatatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DatatypeElementFactory</code> is a factory for a specific Element in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * an XML Schema.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Yuxin Ruan</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DatatypeElementFactory"> 30</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DatatypeElementFactory <span class="keyword">extends</span> DocumentFactory {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName elementQName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Cache of <code>XSDatatype</code> instances per Attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>QName</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map attributeXSDatatypes = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Cache of <code>XSDatatype</code> instances per child Element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>QName</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map childrenXSDatatypes = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: method entered 403 times."> 403</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: method entered 403 times.">    <span class="keyword">public</span> DatatypeElementFactory(QName elementQName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: statement executed 403 times."> 403</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: statement executed 403 times.">        <span class="keyword">this</span>.elementQName = elementQName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the QName this element factory is associated with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: method not entered.">    <span class="keyword">public</span> QName getQName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: statement not executed.">        <span class="keyword">return</span> elementQName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attributeQName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>XSDatatype</code> associated with the given Attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         QName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: method entered 686 times."> 686</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: method entered 686 times.">    <span class="keyword">public</span> XSDatatype getAttributeXSDatatype(QName attributeQName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 68: statement executed 686 times."> 686</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 68: statement executed 686 times.">        <span class="keyword">return</span> (XSDatatype) attributeXSDatatypes.get(attributeQName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Registers the given <code>XSDatatype</code> for the given</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;attribute&gt; QNames</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attributeQName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: method entered 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: method entered 265 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributeXSDatatype(QName attributeQName, XSDatatype type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 265 times.">        attributeXSDatatypes.put(attributeQName, type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>XSDatatype</code> associated with the given child</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         Element QName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: method entered 3311 times."> 3311</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: method entered 3311 times.">    <span class="keyword">public</span> XSDatatype getChildElementXSDatatype(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 3311 times."> 3311</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 3311 times.">        <span class="keyword">return</span> (XSDatatype) childrenXSDatatypes.get(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: method entered 144 times."> 144</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: method entered 144 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setChildElementXSDatatype(QName qname, XSDatatype dataType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: statement executed 144 times."> 144</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: statement executed 144 times.">        childrenXSDatatypes.put(qname, dataType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// DocumentFactory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: method entered 1656 times."> 1656</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: method entered 1656 times.">    <span class="keyword">public</span> Element createElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// the element may have its own element factory!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// use factory from the qname for datatype</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: statement executed 1656 times."> 1656</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: statement executed 1656 times.">        XSDatatype dataType = getChildElementXSDatatype(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 1656 times."> 1656</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 1656 times.">        <span class="keyword">if</span> (dataType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: statement executed 1 time.">            <span class="keyword">return</span> <span class="keyword">new</span> DatatypeElement(qname, dataType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 1655 times."> 1655</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 1655 times.">        DocumentFactory factory = qname.getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: expression evaluated to true 1655 times, false 0 times."> 1655</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: expression evaluated to true 1655 times, false 0 times.">        <span class="keyword">if</span> (factory <span class="keyword">instanceof</span> DatatypeElementFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 1655 times."> 1655</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 1655 times.">            DatatypeElementFactory dtFactory = (DatatypeElementFactory) factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 1655 times."> 1655</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 1655 times.">            dataType = dtFactory.getChildElementXSDatatype(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 118: statement executed 1655 times."> 1655</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: statement executed 1655 times.">            <span class="keyword">if</span> (dataType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 119: statement executed 1304 times."> 1304</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 119: statement executed 1304 times.">                <span class="keyword">return</span> <span class="keyword">new</span> DatatypeElement(qname, dataType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 351 times."> 351</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 351 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.createElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: method entered 686 times."> 686</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: method entered 686 times.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 686 times."> 686</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 686 times.">        XSDatatype dataType = getAttributeXSDatatype(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 686 times."> 686</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 686 times.">        <span class="keyword">if</span> (dataType == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 41 times.">            <span class="keyword">return</span> <span class="keyword">super</span>.createAttribute(owner, qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 645 times."> 645</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 645 times.">            <span class="keyword">return</span> <span class="keyword">new</span> DatatypeAttribute(qname, dataType, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/datatype/InvalidSchemaException.html b/docs/clover/org/dom4j/datatype/InvalidSchemaException.html
new file mode 100644
index 0000000..985f738
--- /dev/null
+++ b/docs/clover/org/dom4j/datatype/InvalidSchemaException.html
@@ -0,0 +1,324 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ datatype\ InvalidSchemaException.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="InvalidSchemaException.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">59</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">1</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">6</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   InvalidSchemaException.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.datatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>InvalidSchemaException</code> is thrown when an invalid XML Schema</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * document is used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="InvalidSchemaException"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> InvalidSchemaException <span class="keyword">extends</span> IllegalArgumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 19</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 19: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 19: method not entered.">    <span class="keyword">public</span> InvalidSchemaException(String reason) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 20</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 20: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 20: statement not executed.">        <span class="keyword">super</span>(reason);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/datatype/NamedTypeResolver.html b/docs/clover/org/dom4j/datatype/NamedTypeResolver.html
new file mode 100644
index 0000000..c8be22d
--- /dev/null
+++ b/docs/clover/org/dom4j/datatype/NamedTypeResolver.html
@@ -0,0 +1,647 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ datatype\ NamedTypeResolver.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="NamedTypeResolver.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">132</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">8</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">60</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   NamedTypeResolver.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>94,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="189" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="11" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.datatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.xsd.XSDatatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>NamedTypeResolver</code> resolves named types for a given QName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Yuxin Ruan</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NamedTypeResolver"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> NamedTypeResolver {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Map complexTypeMap = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Map simpleTypeMap = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Map typedElementMap = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Map elementFactoryMap = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> DocumentFactory documentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: method entered 27 times."> 27</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: method entered 27 times.">    NamedTypeResolver(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 27 times."> 27</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 27 times.">        <span class="keyword">this</span>.documentFactory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: method entered 2 times.">    <span class="keyword">void</span> registerComplexType(QName type, DocumentFactory factory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: statement executed 2 times.">        complexTypeMap.put(type, factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: method entered 1 time.">    <span class="keyword">void</span> registerSimpleType(QName type, XSDatatype datatype) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: statement executed 1 time.">        simpleTypeMap.put(type, datatype);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: method entered 3 times.">    <span class="keyword">void</span> registerTypedElement(Element element, QName type,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            DocumentFactory parentFactory) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: statement executed 3 times.">        typedElementMap.put(element, type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 3 times.">        elementFactoryMap.put(element, parentFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 25 times.">    <span class="keyword">void</span> resolveElementTypes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 25 times.">        Iterator iterator = typedElementMap.keySet().iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: statement executed 25 times.">        <span class="keyword">while</span> (iterator.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 3 times.">            Element element = (Element) iterator.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: statement executed 3 times.">            QName elementQName = getQNameOfSchemaElement(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 3 times.">            QName type = (QName) typedElementMap.get(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 3 times.">            <span class="keyword">if</span> (complexTypeMap.containsKey(type)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 2 times.">                DocumentFactory factory = (DocumentFactory) complexTypeMap</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .get(type);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 68: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 68: statement executed 2 times.">                elementQName.setDocumentFactory(factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: expression evaluated to true 1 time, false 0 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (simpleTypeMap.containsKey(type)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 1 time.">                XSDatatype datatype = (XSDatatype) simpleTypeMap.get(type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: statement executed 1 time.">                DocumentFactory factory = (DocumentFactory) elementFactoryMap</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .get(element);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: expression evaluated to true 1 time, false 0 times.">                <span class="keyword">if</span> (factory <span class="keyword">instanceof</span> DatatypeElementFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: statement executed 1 time.">                    ((DatatypeElementFactory) factory)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .setChildElementXSDatatype(elementQName, datatype);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: method entered 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: method entered 25 times.">    <span class="keyword">void</span> resolveNamedTypes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: statement executed 25 times.">        resolveElementTypes();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: method entered 3 times.">    <span class="keyword">private</span> QName getQNameOfSchemaElement(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 87: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 87: statement executed 3 times.">        String name = element.attributeValue(<span class="string">"name"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: statement executed 3 times.">        <span class="keyword">return</span> getQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: method entered 3 times.">    <span class="keyword">private</span> QName getQName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 3 times.">        <span class="keyword">return</span> documentFactory.createQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/datatype/SchemaParser.html b/docs/clover/org/dom4j/datatype/SchemaParser.html
new file mode 100644
index 0000000..6974f19
--- /dev/null
+++ b/docs/clover/org/dom4j/datatype/SchemaParser.html
@@ -0,0 +1,2705 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ datatype\ SchemaParser.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SchemaParser.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">607</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">18</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">324</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SchemaParser.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">67,6%</TD>
+    <TD class="graphPercent" align="center">71,6%</TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>71,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="142" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="58" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.datatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.xsd.DatatypeFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.xsd.TypeIncubator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> com.sun.msv.datatype.xsd.XSDatatype;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.SAXReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.util.AttributeHelper;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.relaxng.datatype.DatatypeException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.relaxng.datatype.ValidationContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.EntityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>SchemaParser</code> reads an XML Schema Document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Yuxin Ruan</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.19 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SchemaParser"> 42</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> SchemaParser {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final Namespace XSD_NAMESPACE = Namespace.get(<span class="string">"xsd"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://www.w3.org/2001/XMLSchema"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Use QNames for the elements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSD_ELEMENT = QName</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            .get(<span class="string">"element"</span>, XSD_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSD_ATTRIBUTE = QName.get(<span class="string">"attribute"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XSD_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSD_SIMPLETYPE = QName.get(<span class="string">"simpleType"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XSD_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSD_COMPLEXTYPE = QName.get(<span class="string">"complexType"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XSD_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSD_RESTRICTION = QName.get(<span class="string">"restriction"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XSD_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSD_SEQUENCE = QName.get(<span class="string">"sequence"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XSD_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSD_CHOICE = QName.get(<span class="string">"choice"</span>, XSD_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSD_ALL = QName.get(<span class="string">"all"</span>, XSD_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final QName XSD_INCLUDE = QName</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            .get(<span class="string">"include"</span>, XSD_NAMESPACE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Document factory used to register Element specific factories */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DatatypeDocumentFactory documentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Cache of <code>XSDatatype</code> instances loaded or created during</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this build</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map dataTypeCache = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** NamedTypeResolver */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> NamedTypeResolver namedTypeResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** target namespace */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Namespace targetNamespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: method not entered.">    <span class="keyword">public</span> SchemaParser() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">        <span class="keyword">this</span>(DatatypeDocumentFactory.singleton);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: method entered 27 times."> 27</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: method entered 27 times.">    <span class="keyword">public</span> SchemaParser(DatatypeDocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 27 times."> 27</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 27 times.">        <span class="keyword">this</span>.documentFactory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 27 times."> 27</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 27 times.">        <span class="keyword">this</span>.namedTypeResolver = <span class="keyword">new</span> NamedTypeResolver(documentFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the given schema document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> schemaDocument</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the document of the XML Schema</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: method entered 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: method entered 22 times.">    <span class="keyword">public</span> <span class="keyword">void</span> build(Document schemaDocument) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 22 times.">        <span class="keyword">this</span>.targetNamespace = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 22 times.">        internalBuild(schemaDocument);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">void</span> build(Document schemaDocument, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 3 times.">        <span class="keyword">this</span>.targetNamespace = namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: statement executed 3 times.">        internalBuild(schemaDocument);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: method entered 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: method entered 25 times.">    <span class="keyword">private</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> internalBuild(Document schemaDocument) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: statement executed 25 times.">        Element root = schemaDocument.getRootElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: expression evaluated to true 25 times, false 0 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: expression evaluated to true 25 times, false 0 times.">        <span class="keyword">if</span> (root != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// handle schema includes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 25 times.">            Iterator includeIter = root.elementIterator(XSD_INCLUDE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: expression evaluated to true 0 times, false 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: expression evaluated to true 0 times, false 25 times.">            <span class="keyword">while</span> (includeIter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">                Element includeElement = (Element) includeIter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">                String inclSchemaInstanceURI = includeElement</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .attributeValue(<span class="string">"schemaLocation"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">                EntityResolver resolver = schemaDocument.getEntityResolver();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">                <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">                    <span class="keyword">if</span> (resolver == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">                        String msg = <span class="string">"No EntityResolver available"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">                        <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">                    InputSource inputSource = resolver.resolveEntity(<span class="keyword">null</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            inclSchemaInstanceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">                    <span class="keyword">if</span> (inputSource == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">                        String msg = <span class="string">"Could not resolve the schema URI: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + inclSchemaInstanceURI;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">                        <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: statement not executed.">                    SAXReader reader = <span class="keyword">new</span> SAXReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">                    Document inclSchemaDocument = reader.read(inputSource);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">                    build(inclSchemaDocument);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">                    System.out.println(<span class="string">"Failed to load schema: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + inclSchemaInstanceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">                    System.out.println(<span class="string">"Caught: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: statement not executed.">                    e.printStackTrace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(<span class="string">"Failed to load schema: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + inclSchemaInstanceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// handle elements</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 25 times.">            Iterator iter = root.elementIterator(XSD_ELEMENT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 25 times.">            <span class="keyword">while</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: statement executed 180 times."> 180</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: statement executed 180 times.">                onDatatypeElement((Element) iter.next(), documentFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// handle named simple types</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: statement executed 25 times.">            iter = root.elementIterator(XSD_SIMPLETYPE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: statement executed 25 times.">            <span class="keyword">while</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 1 time.">                onNamedSchemaSimpleType((Element) iter.next());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// hanlde named complex types</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 168: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 168: statement executed 25 times.">            iter = root.elementIterator(XSD_COMPLEXTYPE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 170: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 170: statement executed 25 times.">            <span class="keyword">while</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 2 times.">                onNamedSchemaComplexType((Element) iter.next());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 174: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 174: statement executed 25 times.">            namedTypeResolver.resolveNamedTypes();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * processes an XML Schema &lt;element&gt; tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xsdElement</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parentFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: method entered 406 times."> 406</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: method entered 406 times.">    <span class="keyword">private</span> <span class="keyword">void</span> onDatatypeElement(Element xsdElement,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            DocumentFactory parentFactory) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: statement executed 406 times."> 406</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: statement executed 406 times.">        String name = xsdElement.attributeValue(<span class="string">"name"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: statement executed 406 times."> 406</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 406 times.">        String type = xsdElement.attributeValue(<span class="string">"type"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 193: statement executed 406 times."> 406</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: statement executed 406 times.">        QName qname = getQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: statement executed 406 times."> 406</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: statement executed 406 times.">        DatatypeElementFactory factory = getDatatypeElementFactory(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 197: statement executed 406 times."> 406</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 197: statement executed 406 times.">        <span class="keyword">if</span> (type != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// register type with this element name</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 146 times."> 146</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 146 times.">            XSDatatype dataType = getTypeByName(type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: statement executed 146 times."> 146</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 146 times.">            <span class="keyword">if</span> (dataType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 143 times."> 143</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 143 times.">                factory.setChildElementXSDatatype(qname, dataType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 204: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 204: statement executed 3 times.">                QName typeQName = getQName(type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 205: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 205: statement executed 3 times.">                namedTypeResolver.registerTypedElement(xsdElement, typeQName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        parentFactory);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 209: statement executed 146 times."> 146</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 209: statement executed 146 times.">            <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// handle element types derrived from simpleTypes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 213: statement executed 260 times."> 260</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 213: statement executed 260 times.">        Element xsdSimpleType = xsdElement.element(XSD_SIMPLETYPE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 215: expression evaluated to true 0 times, false 260 times."> 260</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 215: expression evaluated to true 0 times, false 260 times.">        <span class="keyword">if</span> (xsdSimpleType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">            XSDatatype dataType = loadXSDatatypeFromSimpleType(xsdSimpleType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 218: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 218: statement not executed.">            <span class="keyword">if</span> (dataType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 219: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 219: statement not executed.">                factory.setChildElementXSDatatype(qname, dataType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 223: statement executed 260 times."> 260</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 223: statement executed 260 times.">        Element schemaComplexType = xsdElement.element(XSD_COMPLEXTYPE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: statement executed 260 times."> 260</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: statement executed 260 times.">        <span class="keyword">if</span> (schemaComplexType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 226: statement executed 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 226: statement executed 107 times.">            onSchemaComplexType(schemaComplexType, factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 229: statement executed 260 times."> 260</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 229: statement executed 260 times.">        Iterator iter = xsdElement.elementIterator(XSD_ATTRIBUTE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 231: expression evaluated to true 0 times, false 260 times."> 260</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 231: expression evaluated to true 0 times, false 260 times.">        <span class="keyword">if</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 232: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 232: statement not executed.">            <span class="keyword">do</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: statement not executed.">                onDatatypeAttribute(xsdElement, factory, (Element) iter</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .next());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: expression evaluated to true 0 times, false 0 times."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: expression evaluated to true 0 times, false 0 times.">            } <span class="keyword">while</span> (iter.hasNext());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * processes an named XML Schema &lt;complexTypegt; tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> schemaComplexType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 245: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 245: method entered 2 times.">    <span class="keyword">private</span> <span class="keyword">void</span> onNamedSchemaComplexType(Element schemaComplexType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 246: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 246: statement executed 2 times.">        Attribute nameAttr = schemaComplexType.attribute(<span class="string">"name"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: expression evaluated to true 0 times, false 2 times.">        <span class="keyword">if</span> (nameAttr == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 249: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: statement not executed.">            <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 252: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 252: statement executed 2 times.">        String name = nameAttr.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 253: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 253: statement executed 2 times.">        QName qname = getQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 255: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: statement executed 2 times.">        DatatypeElementFactory factory = getDatatypeElementFactory(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 257: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 2 times.">        onSchemaComplexType(schemaComplexType, factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 258: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 258: statement executed 2 times.">        namedTypeResolver.registerComplexType(qname, factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * processes an XML Schema &lt;complexTypegt; tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> schemaComplexType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 269: method entered 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 269: method entered 109 times.">    <span class="keyword">private</span> <span class="keyword">void</span> onSchemaComplexType(Element schemaComplexType,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            DatatypeElementFactory elementFactory) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: statement executed 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: statement executed 109 times.">        Iterator iter = schemaComplexType.elementIterator(XSD_ATTRIBUTE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 273: statement executed 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 273: statement executed 109 times.">        <span class="keyword">while</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 274: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 274: statement executed 265 times.">            Element xsdAttribute = (Element) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 275: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 275: statement executed 265 times.">            String name = xsdAttribute.attributeValue(<span class="string">"name"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 276: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 276: statement executed 265 times.">            QName qname = getQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 278: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 278: statement executed 265 times.">            XSDatatype dataType = dataTypeForXsdAttribute(xsdAttribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 280: expression evaluated to true 265 times, false 0 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 280: expression evaluated to true 265 times, false 0 times.">            <span class="keyword">if</span> (dataType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// register the XSDatatype for the given Attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// #### should both these be done?</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// elementFactory.setChildElementXSDatatype( qname, dataType );</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 284: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 284: statement executed 265 times.">                elementFactory.setAttributeXSDatatype(qname, dataType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// handle sequence definition</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 289</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 289: statement executed 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 289: statement executed 109 times.">        Element schemaSequence = schemaComplexType.element(XSD_SEQUENCE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 291: statement executed 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 291: statement executed 109 times.">        <span class="keyword">if</span> (schemaSequence != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 292: statement executed 49 times."> 49</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 292: statement executed 49 times.">            onChildElements(schemaSequence, elementFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// handle choice definition</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 296: statement executed 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 296: statement executed 109 times.">        Element schemaChoice = schemaComplexType.element(XSD_CHOICE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 298: expression evaluated to true 0 times, false 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 298: expression evaluated to true 0 times, false 109 times.">        <span class="keyword">if</span> (schemaChoice != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 299: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 299: statement not executed.">            onChildElements(schemaChoice, elementFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// handle all definition</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 303</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 303: statement executed 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 303: statement executed 109 times.">        Element schemaAll = schemaComplexType.element(XSD_ALL);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 305: statement executed 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 305: statement executed 109 times.">        <span class="keyword">if</span> (schemaAll != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 306</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 306: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 306: statement executed 19 times.">            onChildElements(schemaAll, elementFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 310: method entered 68 times."> 68</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 310: method entered 68 times.">    <span class="keyword">private</span> <span class="keyword">void</span> onChildElements(Element element, DatatypeElementFactory fact) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 311</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 311: statement executed 68 times."> 68</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 311: statement executed 68 times.">        Iterator iter = element.elementIterator(XSD_ELEMENT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 313: statement executed 68 times."> 68</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 313: statement executed 68 times.">        <span class="keyword">while</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 314: statement executed 226 times."> 226</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 314: statement executed 226 times.">            Element xsdElement = (Element) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 315: statement executed 226 times."> 226</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 315: statement executed 226 times.">            onDatatypeElement(xsdElement, fact);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * processes an XML Schema &lt;attribute&gt; tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xsdElement</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xsdAttribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 329</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 329: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 329: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> onDatatypeAttribute(Element xsdElement,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            DatatypeElementFactory elementFactory, Element xsdAttribute) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 331</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 331: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 331: statement not executed.">        String name = xsdAttribute.attributeValue(<span class="string">"name"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 332</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 332: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 332: statement not executed.">        QName qname = getQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 333</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 333: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 333: statement not executed.">        XSDatatype dataType = dataTypeForXsdAttribute(xsdAttribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 335</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 335: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 335: statement not executed.">        <span class="keyword">if</span> (dataType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// register the XSDatatype for the given Attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 337: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 337: statement not executed.">            elementFactory.setAttributeXSDatatype(qname, dataType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 339: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 339: statement not executed.">            String type = xsdAttribute.attributeValue(<span class="string">"type"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 340: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: statement not executed.">            System.out.println(<span class="string">"Warning: Couldn't find XSDatatype for type: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + type + <span class="string">" attribute: "</span> + name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * processes an XML Schema &lt;attribute&gt; tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xsdAttribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> InvalidSchemaException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 356</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 356: method entered 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 356: method entered 265 times.">    <span class="keyword">private</span> XSDatatype dataTypeForXsdAttribute(Element xsdAttribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 357</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 357: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 357: statement executed 265 times.">        String type = xsdAttribute.attributeValue(<span class="string">"type"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 358</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 358: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 358: statement executed 265 times.">        XSDatatype dataType = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 360: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 360: statement executed 265 times.">        <span class="keyword">if</span> (type != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 361</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 361: statement executed 209 times."> 209</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 361: statement executed 209 times.">            dataType = getTypeByName(type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// must parse the <simpleType> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 364</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 364: statement executed 56 times."> 56</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 364: statement executed 56 times.">            Element xsdSimpleType = xsdAttribute.element(XSD_SIMPLETYPE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 366: expression evaluated to true 0 times, false 56 times."> 56</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 366: expression evaluated to true 0 times, false 56 times.">            <span class="keyword">if</span> (xsdSimpleType == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 367</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 367: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 367: statement not executed.">                String name = xsdAttribute.attributeValue(<span class="string">"name"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 368: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 368: statement not executed.">                String msg = <span class="string">"The attribute: "</span> + name</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">" has no type attribute and does not contain a "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">"<simpleType/> element"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 371</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 371: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 371: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 374: statement executed 56 times."> 56</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 374: statement executed 56 times.">            dataType = loadXSDatatypeFromSimpleType(xsdSimpleType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 377</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 377: statement executed 265 times."> 265</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 377: statement executed 265 times.">        <span class="keyword">return</span> dataType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * processes an named XML Schema &lt;simpleTypegt; tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> schemaSimpleType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 386: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 386: method entered 1 time.">    <span class="keyword">private</span> <span class="keyword">void</span> onNamedSchemaSimpleType(Element schemaSimpleType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 387: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 387: statement executed 1 time.">        Attribute nameAttr = schemaSimpleType.attribute(<span class="string">"name"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 389</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 389: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 389: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> (nameAttr == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 390</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 390: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 390: statement not executed.">            <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 393</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 393: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 393: statement executed 1 time.">        String name = nameAttr.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 394</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 394: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 394: statement executed 1 time.">        QName qname = getQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 395</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 395: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 395: statement executed 1 time.">        XSDatatype datatype = loadXSDatatypeFromSimpleType(schemaSimpleType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 396</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 396: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 396: statement executed 1 time.">        namedTypeResolver.registerSimpleType(qname, datatype);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Loads a XSDatatype object from a &lt;simpleType&gt; attribute schema</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xsdSimpleType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 408</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 408: method entered 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 408: method entered 57 times.">    <span class="keyword">private</span> XSDatatype loadXSDatatypeFromSimpleType(Element xsdSimpleType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 409</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 409: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 409: statement executed 57 times.">        Element xsdRestriction = xsdSimpleType.element(XSD_RESTRICTION);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 411</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 411: expression evaluated to true 57 times, false 0 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 411: expression evaluated to true 57 times, false 0 times.">        <span class="keyword">if</span> (xsdRestriction != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 412: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 412: statement executed 57 times.">            String base = xsdRestriction.attributeValue(<span class="string">"base"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 414</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 414: expression evaluated to true 57 times, false 0 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 414: expression evaluated to true 57 times, false 0 times.">            <span class="keyword">if</span> (base != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 415: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 415: statement executed 57 times.">                XSDatatype baseType = getTypeByName(base);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 417</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 417: expression evaluated to true 0 times, false 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 417: expression evaluated to true 0 times, false 57 times.">                <span class="keyword">if</span> (baseType == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 418</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 418: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 418: statement not executed.">                    onSchemaError(<span class="string">"Invalid base type: "</span> + base</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">" when trying to build restriction: "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + xsdRestriction);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 422</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 422: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 422: statement executed 57 times.">                    <span class="keyword">return</span> deriveSimpleType(baseType, xsdRestriction);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// simpleType and base are mutually exclusive and you</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// must have one within a <restriction> tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 427</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 427: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 427: statement not executed.">                Element xsdSubType = xsdSimpleType.element(XSD_SIMPLETYPE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 429</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 429: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 429: statement not executed.">                <span class="keyword">if</span> (xsdSubType == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 430</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 430: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 430: statement not executed.">                    String msg = <span class="string">"The simpleType element: "</span> + xsdSimpleType</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">" must contain a base attribute or simpleType"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">" element"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 433</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 433: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 433: statement not executed.">                    onSchemaError(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 435</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 435: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 435: statement not executed.">                    <span class="keyword">return</span> loadXSDatatypeFromSimpleType(xsdSubType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 439: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 439: statement not executed.">            onSchemaError(<span class="string">"No <restriction>. Could not create XSDatatype for"</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">" simpleType: "</span> + xsdSimpleType);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 443</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 443: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 443: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Derives a new type from a base type and a set of restrictions</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> baseType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xsdRestriction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 456</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 456: method entered 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 456: method entered 57 times.">    <span class="keyword">private</span> XSDatatype deriveSimpleType(XSDatatype baseType,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Element xsdRestriction) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 458</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 458: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 458: statement executed 57 times.">        TypeIncubator incubator = <span class="keyword">new</span> TypeIncubator(baseType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 459</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 459: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 459: statement executed 57 times.">        ValidationContext context = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 461</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 461: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 461: statement executed 57 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 462</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 462: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 462: statement executed 57 times.">            <span class="keyword">for</span> (Iterator iter = xsdRestriction.elementIterator(); iter</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .hasNext();) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 464</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 464: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 464: statement executed 103 times.">                Element element = (Element) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 465</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 465: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 465: statement executed 103 times.">                String name = element.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 466</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 466: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 466: statement executed 103 times.">                String value = element.attributeValue(<span class="string">"value"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 467</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 467: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 467: statement executed 103 times.">                <span class="keyword">boolean</span> fixed = AttributeHelper.booleanValue(element, <span class="string">"fixed"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// add facet</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 470</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 470: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 470: statement executed 103 times.">                incubator.addFacet(name, value, fixed, context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// derive a new type by those facets</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 474</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 474: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 474: statement executed 57 times.">            String newTypeName = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 476</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 476: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 476: statement executed 57 times.">            <span class="keyword">return</span> incubator.derive(<span class="string">""</span>, newTypeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (DatatypeException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 478</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 478: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 478: statement not executed.">            onSchemaError(<span class="string">"Invalid restriction: "</span> + e.getMessage()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">" when trying to build restriction: "</span> + xsdRestriction);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 481</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 481: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 481: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The name of the element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>DatatypeElementFactory</code> for the given element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         QName, creating one if it does not already exist</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 494</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 494: method entered 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 494: method entered 408 times.">    <span class="keyword">private</span> DatatypeElementFactory getDatatypeElementFactory(QName name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 495</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 495: statement executed 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 495: statement executed 408 times.">        DatatypeElementFactory factory = documentFactory</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getElementFactory(name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 498</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 498: statement executed 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 498: statement executed 408 times.">        <span class="keyword">if</span> (factory == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 499</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 499: statement executed 403 times."> 403</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 499: statement executed 403 times.">            factory = <span class="keyword">new</span> DatatypeElementFactory(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 500</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 500: statement executed 403 times."> 403</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 500: statement executed 403 times.">            name.setDocumentFactory(factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 503</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 503: statement executed 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 503: statement executed 408 times.">        <span class="keyword">return</span> factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 506</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 506: method entered 412 times."> 412</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 506: method entered 412 times.">    <span class="keyword">private</span> XSDatatype getTypeByName(String type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 507</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 507: statement executed 412 times."> 412</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 507: statement executed 412 times.">        XSDatatype dataType = (XSDatatype) dataTypeCache.get(type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 509</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 509: statement executed 412 times."> 412</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 509: statement executed 412 times.">        <span class="keyword">if</span> (dataType == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// first check to see if it is a built-in type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// maybe a prefix is being used</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 512</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 512: statement executed 190 times."> 190</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 512: statement executed 190 times.">            <span class="keyword">int</span> idx = type.indexOf(':');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 514</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 514: statement executed 190 times."> 190</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 514: statement executed 190 times.">            <span class="keyword">if</span> (idx >= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 515</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 515: statement executed 50 times."> 50</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 515: statement executed 50 times.">                String localName = type.substring(idx + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 517</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 517: statement executed 50 times."> 50</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 517: statement executed 50 times.">                <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 518</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 518: statement executed 50 times."> 50</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 518: statement executed 50 times.">                    dataType = DatatypeFactory.getTypeByName(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">catch</span> (DatatypeException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 523</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 523: statement executed 190 times."> 190</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 523: statement executed 190 times.">            <span class="keyword">if</span> (dataType == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 524</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 524: statement executed 140 times."> 140</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 524: statement executed 140 times.">                <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 525</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 525: statement executed 140 times."> 140</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 525: statement executed 140 times.">                    dataType = DatatypeFactory.getTypeByName(type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">catch</span> (DatatypeException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 530</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 530: statement executed 190 times."> 190</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 530: statement executed 190 times.">            <span class="keyword">if</span> (dataType == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// it's no built-in type, maybe it's a type we defined ourself</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 532</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 532: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 532: statement executed 3 times.">                QName typeQName = getQName(type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 533</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 533: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 533: statement executed 3 times.">                dataType = (XSDatatype) namedTypeResolver.simpleTypeMap</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .get(typeQName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 537</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 537: statement executed 190 times."> 190</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 537: statement executed 190 times.">            <span class="keyword">if</span> (dataType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// store in cache for later</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 539</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 539: statement executed 187 times."> 187</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 539: statement executed 187 times.">                dataTypeCache.put(type, dataType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 543</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 543: statement executed 412 times."> 412</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 543: statement executed 412 times.">        <span class="keyword">return</span> dataType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 546</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 546: method entered 680 times."> 680</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 546: method entered 680 times.">    <span class="keyword">private</span> QName getQName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 547</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 547: statement executed 680 times."> 680</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 547: statement executed 680 times.">        <span class="keyword">if</span> (targetNamespace == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 548</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 548: statement executed 596 times."> 596</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 548: statement executed 596 times.">            <span class="keyword">return</span> documentFactory.createQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 550</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 550: statement executed 84 times."> 84</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 550: statement executed 84 times.">            <span class="keyword">return</span> documentFactory.createQName(name, targetNamespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called when there is a problem with the schema and the builder cannot</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * handle the XML Schema Data Types correctly</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> message</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> InvalidSchemaException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 564</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 564: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 564: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> onSchemaError(String message) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Some users may wish to disable exception throwing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// and instead use some kind of listener for errors and continue</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// System.out.println( "WARNING: " + message );</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 568</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 568: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 568: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> InvalidSchemaException(message);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 600</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 603</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 604</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/datatype/pkg-classes.html b/docs/clover/org/dom4j/datatype/pkg-classes.html
new file mode 100644
index 0000000..69021ee
--- /dev/null
+++ b/docs/clover/org/dom4j/datatype/pkg-classes.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.datatype">org.dom4j.datatype</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="DatatypeAttribute.html" title="DatatypeAttribute">DatatypeAttribute</A>
+    	    <i>(38,5%)</i><BR>
+    
+                <A target="classPane" href="DatatypeDocumentFactory.html" title="DatatypeDocumentFactory">DatatypeDocumentFactory</A>
+    	    <i>(50%)</i><BR>
+    
+                <A target="classPane" href="DatatypeElement.html" title="DatatypeElement">DatatypeElement</A>
+    	    <i>(54,7%)</i><BR>
+    
+                <A target="classPane" href="DatatypeElementFactory.html" title="DatatypeElementFactory">DatatypeElementFactory</A>
+    	    <i>(91,7%)</i><BR>
+    
+                <A target="classPane" href="InvalidSchemaException.html" title="InvalidSchemaException">InvalidSchemaException</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="NamedTypeResolver.html" title="NamedTypeResolver">NamedTypeResolver</A>
+    	    <i>(94,7%)</i><BR>
+    
+                <A target="classPane" href="SchemaParser.html" title="SchemaParser">SchemaParser</A>
+    	    <i>(71,3%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/datatype/pkg-summary.html b/docs/clover/org/dom4j/datatype/pkg-summary.html
new file mode 100644
index 0000000..390ff9b
--- /dev/null
+++ b/docs/clover/org/dom4j/datatype/pkg-summary.html
@@ -0,0 +1,258 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.629</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">79</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">763</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">7</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.datatype
+	    </TD>
+   
+    <TD class="graphPercent" align="center">58,3%</TD>
+    <TD class="graphPercent" align="center">65,7%</TD>
+    <TD class="graphPercent" align="center">69,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>64,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="129" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="71" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="InvalidSchemaException.html" title="InvalidSchemaException">InvalidSchemaException</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DatatypeAttribute.html" title="DatatypeAttribute">DatatypeAttribute</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">8,3%</TD>
+    <TD class="graphPercent" align="center">41,3%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>38,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="76" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="124" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DatatypeDocumentFactory.html" title="DatatypeDocumentFactory">DatatypeDocumentFactory</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">45%</TD>
+    <TD class="graphPercent" align="center">45,8%</TD>
+    <TD class="graphPercent" align="center">87,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>50%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DatatypeElement.html" title="DatatypeElement">DatatypeElement</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">40%</TD>
+    <TD class="graphPercent" align="center">60,5%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>54,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="109" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="91" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SchemaParser.html" title="SchemaParser">SchemaParser</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">67,6%</TD>
+    <TD class="graphPercent" align="center">71,6%</TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>71,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="142" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="58" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DatatypeElementFactory.html" title="DatatypeElementFactory">DatatypeElementFactory</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">87,5%</TD>
+    <TD class="graphPercent" align="center">95%</TD>
+    <TD class="graphPercent" align="center">87,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>91,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="183" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="17" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="NamedTypeResolver.html" title="NamedTypeResolver">NamedTypeResolver</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>94,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="189" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="11" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+   <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/dom/DOMAttribute.html b/docs/clover/org/dom4j/dom/DOMAttribute.html
new file mode 100644
index 0000000..7e95dd2
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMAttribute.html
@@ -0,0 +1,1032 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMAttribute.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMAttribute.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">219</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">31</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">116</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMAttribute.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">2,8%</TD>
+    <TD class="graphPercent" align="center">3,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>2,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="5" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="195" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultAttribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMAttribute</code> implements a doubly linked attribute which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * supports the W3C DOM API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.14 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMAttribute"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMAttribute <span class="keyword">extends</span> DefaultAttribute <span class="keyword">implements</span> org.w3c.dom.Attr {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 29: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 29: method not entered.">    <span class="keyword">public</span> DOMAttribute(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: statement not executed.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: method entered 114 times."> 114</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: method entered 114 times.">    <span class="keyword">public</span> DOMAttribute(QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: statement executed 114 times."> 114</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: statement executed 114 times.">        <span class="keyword">super</span>(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: method not entered.">    <span class="keyword">public</span> DOMAttribute(Element parent, QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">super</span>(parent, qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: method not entered.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        <span class="keyword">return</span> getQName().getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">return</span> getQName().getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">return</span> getQName().getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        <span class="keyword">return</span> getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: method not entered.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNodeValue(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        DOMNodeHelper.setNodeValue(<span class="keyword">this</span>, nodeValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Per http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-637646024</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// and the NIST conformance tests, Attr.getParentNode() should always</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// return null</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getFirstChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLastChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: method not entered.">    <span class="keyword">public</span> Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getOwnerDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> checkNewChildNode(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        final <span class="keyword">int</span> nodeType = newChild.getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">        <span class="keyword">if</span> (!((nodeType == org.w3c.dom.Node.TEXT_NODE) </A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == org.w3c.dom.Node.ENTITY_REFERENCE_NODE))) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"The node cannot be a child of attribute"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        DOMNodeHelper.normalize(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Attr interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public String getName();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> getSpecified() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public String getValue();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public void setValue(String value) throws DOMException;</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Element getOwnerElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMElement(getParent());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMAttributeNodeMap.html b/docs/clover/org/dom4j/dom/DOMAttributeNodeMap.html
new file mode 100644
index 0000000..abddc8f
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMAttributeNodeMap.html
@@ -0,0 +1,635 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMAttributeNodeMap.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMAttributeNodeMap.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">129</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">10</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">58</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMAttributeNodeMap.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">10%</TD>
+    <TD class="graphPercent" align="center">20%</TD>
+    <TD class="graphBarLeft" align="center"><B>10,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="21" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="179" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Attr;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMAttributeNodeMap</code> implements a W3C NameNodeMap for the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * attributes of an element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMAttributeNodeMap"> 23</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMAttributeNodeMap <span class="keyword">implements</span> org.w3c.dom.NamedNodeMap {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DOMElement element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 26</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 26: method entered 35 times."> 35</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 26: method entered 35 times.">    <span class="keyword">public</span> DOMAttributeNodeMap(DOMElement element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 27: statement executed 35 times."> 35</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 27: statement executed 35 times.">        <span class="keyword">this</span>.element = element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.NamedNodeMap interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> foo() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: statement not executed.">        DOMNodeHelper.notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: method not entered.">    <span class="keyword">public</span> Node getNamedItem(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: statement not executed.">        <span class="keyword">return</span> element.getAttributeNode(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: method not entered.">    <span class="keyword">public</span> Node setNamedItem(Node arg) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: statement not executed.">        <span class="keyword">if</span> (arg <span class="keyword">instanceof</span> Attr) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">            <span class="keyword">return</span> element.setAttributeNode((org.w3c.dom.Attr) arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NOT_SUPPORTED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"Node is not an Attr: "</span> + arg);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> Node removeNamedItem(String name) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        org.w3c.dom.Attr attr = element.getAttributeNode(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">if</span> (attr == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NOT_FOUND_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"No attribute named "</span> + name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: statement not executed.">        <span class="keyword">return</span> element.removeAttributeNode(attr);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: method not entered.">    <span class="keyword">public</span> Node item(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMAttr(element.attribute(index));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: method entered 35 times."> 35</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: method entered 35 times.">    <span class="keyword">public</span> <span class="keyword">int</span> getLength() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 35 times."> 35</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 35 times.">        <span class="keyword">return</span> element.attributeCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> Node getNamedItemNS(String namespaceURI, String localName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">return</span> element.getAttributeNodeNS(namespaceURI, localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> Node setNamedItemNS(Node arg) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">if</span> (arg <span class="keyword">instanceof</span> Attr) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">            <span class="keyword">return</span> element.setAttributeNodeNS((org.w3c.dom.Attr) arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NOT_SUPPORTED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"Node is not an Attr: "</span> + arg);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> Node removeNamedItemNS(String namespaceURI, String localName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        org.w3c.dom.Attr attr = element.getAttributeNodeNS(namespaceURI,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                localName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">if</span> (attr != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">            <span class="keyword">return</span> element.removeAttributeNode(attr);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">return</span> attr;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMCDATA.html b/docs/clover/org/dom4j/dom/DOMCDATA.html
new file mode 100644
index 0000000..e4f7d04
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMCDATA.html
@@ -0,0 +1,1238 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMCDATA.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMCDATA.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">265</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">38</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">154</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMCDATA.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultCDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.12 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMCDATA"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMCDATA <span class="keyword">extends</span> DefaultCDATA <span class="keyword">implements</span> org.w3c.dom.CDATASection {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 29: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 29: method not entered.">    <span class="keyword">public</span> DOMCDATA(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: statement not executed.">        <span class="keyword">super</span>(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: method not entered.">    <span class="keyword">public</span> DOMCDATA(Element parent, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: statement not executed.">        <span class="keyword">super</span>(parent, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNamespaceURI(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPrefix(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLocalName(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">return</span> <span class="string">"#cdata-section"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: method not entered.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNodeValue(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        DOMNodeHelper.setNodeValue(<span class="keyword">this</span>, nodeValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getParentNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getFirstChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLastChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: method not entered.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: method not entered.">    <span class="keyword">public</span> Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getOwnerDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> checkNewChildNode(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="string">"CDATASection nodes cannot have children"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: statement not executed.">        DOMNodeHelper.normalize(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.CharacterData interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: method not entered.">    <span class="keyword">public</span> String getData() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getData(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(String data) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">        DOMNodeHelper.setData(<span class="keyword">this</span>, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getLength() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLength(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: method not entered.">    <span class="keyword">public</span> String substringData(<span class="keyword">int</span> offset, <span class="keyword">int</span> count) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.substringData(<span class="keyword">this</span>, offset, count);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> appendData(String arg) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: statement not executed.">        DOMNodeHelper.appendData(<span class="keyword">this</span>, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> insertData(<span class="keyword">int</span> offset, String arg) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">        DOMNodeHelper.insertData(<span class="keyword">this</span>, offset, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 184: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 184: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> deleteData(<span class="keyword">int</span> offset, <span class="keyword">int</span> count) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 185: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 185: statement not executed.">        DOMNodeHelper.deleteData(<span class="keyword">this</span>, offset, count);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> replaceData(<span class="keyword">int</span> offset, <span class="keyword">int</span> count, String arg)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 190: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 190: statement not executed.">        DOMNodeHelper.replaceData(<span class="keyword">this</span>, offset, count, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Text interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Text splitText(<span class="keyword">int</span> offset) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">        <span class="keyword">if</span> (isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"CharacterData node is read only: "</span> + <span class="keyword">this</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 200: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 200: statement not executed.">            String text = getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 201: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 201: statement not executed.">            <span class="keyword">int</span> length = (text != <span class="keyword">null</span>) ? text.length() : 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 203: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 203: statement not executed.">            <span class="keyword">if</span> ((offset < 0) || (offset >= length)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 204: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 204: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INDEX_SIZE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="string">"No text at offset: "</span> + offset);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">                String start = text.substring(0, offset);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 208: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 208: statement not executed.">                String rest = text.substring(offset);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">                setText(start);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">                Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: statement not executed.">                CDATA newText = createCDATA(rest);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">                <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 215: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 215: statement not executed.">                    parent.add(newText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 218: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 218: statement not executed.">                <span class="keyword">return</span> DOMNodeHelper.asDOMText(newText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 225: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 225: method not entered.">    <span class="keyword">protected</span> CDATA createCDATA(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 226: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 226: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMCDATA(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMComment.html b/docs/clover/org/dom4j/dom/DOMComment.html
new file mode 100644
index 0000000..01eca4f
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMComment.html
@@ -0,0 +1,1072 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMComment.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMComment.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">227</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">36</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">127</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMComment.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">2,6%</TD>
+    <TD class="graphPercent" align="center">2,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>2,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="5" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="195" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultComment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMText</code> implements a Text node which supports the W3C DOM API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.12 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMComment"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMComment <span class="keyword">extends</span> DefaultComment <span class="keyword">implements</span> org.w3c.dom.Comment {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 27: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 27: method entered 12 times.">    <span class="keyword">public</span> DOMComment(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 28: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 28: statement executed 12 times.">        <span class="keyword">super</span>(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: method not entered.">    <span class="keyword">public</span> DOMComment(Element parent, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: statement not executed.">        <span class="keyword">super</span>(parent, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: method not entered.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNamespaceURI(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPrefix(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLocalName(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">return</span> <span class="string">"#comment"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: method not entered.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNodeValue(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        DOMNodeHelper.setNodeValue(<span class="keyword">this</span>, nodeValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getParentNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getFirstChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLastChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: method not entered.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: method not entered.">    <span class="keyword">public</span> Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getOwnerDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> checkNewChildNode(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="string">"Comment nodes cannot have children"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">        DOMNodeHelper.normalize(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.CharacterData interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: method not entered.">    <span class="keyword">public</span> String getData() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getData(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(String data) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">        DOMNodeHelper.setData(<span class="keyword">this</span>, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getLength() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLength(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: method not entered.">    <span class="keyword">public</span> String substringData(<span class="keyword">int</span> offset, <span class="keyword">int</span> count) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.substringData(<span class="keyword">this</span>, offset, count);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> appendData(String arg) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: statement not executed.">        DOMNodeHelper.appendData(<span class="keyword">this</span>, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 178: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 178: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> insertData(<span class="keyword">int</span> offset, String arg) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">        DOMNodeHelper.insertData(<span class="keyword">this</span>, offset, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 182: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 182: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> deleteData(<span class="keyword">int</span> offset, <span class="keyword">int</span> count) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 183: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 183: statement not executed.">        DOMNodeHelper.deleteData(<span class="keyword">this</span>, offset, count);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 186: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 186: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> replaceData(<span class="keyword">int</span> offset, <span class="keyword">int</span> count, String arg)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: statement not executed.">        DOMNodeHelper.replaceData(<span class="keyword">this</span>, offset, count, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMDocument.html b/docs/clover/org/dom4j/dom/DOMDocument.html
new file mode 100644
index 0000000..28fd57b
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMDocument.html
@@ -0,0 +1,1575 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMDocument.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMDocument.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">341</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">50</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">213</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMDocument.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">33,3%</TD>
+    <TD class="graphPercent" align="center">22,2%</TD>
+    <TD class="graphPercent" align="center">22%</TD>
+    <TD class="graphBarLeft" align="center"><B>22,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="45" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="155" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultDocument;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Attr;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.CDATASection;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.EntityReference;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMDocument</code> implements an XML document which supports the W3C</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * DOM API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.17 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMDocument"> 34</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMDocument <span class="keyword">extends</span> DefaultDocument <span class="keyword">implements</span> Document {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>DocumentFactory</code> instance used by default */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final DOMDocumentFactory DOCUMENT_FACTORY</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            = (DOMDocumentFactory) DOMDocumentFactory.getInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: method entered 8 times.">    <span class="keyword">public</span> DOMDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 8 times.">        init();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: method entered 2 times.">    <span class="keyword">public</span> DOMDocument(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: statement executed 2 times.">        <span class="keyword">super</span>(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: statement executed 2 times.">        init();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> DOMDocument(DOMElement rootElement) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">super</span>(rootElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        init();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> DOMDocument(DOMDocumentType docType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">super</span>(docType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: statement not executed.">        init();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: method not entered.">    <span class="keyword">public</span> DOMDocument(DOMElement rootElement, DOMDocumentType docType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        <span class="keyword">super</span>(rootElement, docType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        init();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: method not entered.">    <span class="keyword">public</span> DOMDocument(String name, DOMElement rootElement,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            DOMDocumentType docType) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        <span class="keyword">super</span>(name, rootElement, docType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        init();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: method entered 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: method entered 10 times.">    <span class="keyword">private</span> <span class="keyword">void</span> init() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 10 times.">        setDocumentFactory(DOCUMENT_FACTORY);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: method not entered.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNamespaceURI(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPrefix(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLocalName(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">        <span class="keyword">return</span> <span class="string">"#document"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: method not entered.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getParentNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: method not entered.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.createNodeList(content());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMNode(node(0));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMNode(node(nodeCount() - 1));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: method not entered.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: method entered 4 times.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: statement executed 4 times.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 4 times.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: method entered 4 times.">    <span class="keyword">private</span> <span class="keyword">void</span> checkNewChildNode(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: statement executed 4 times.">        final <span class="keyword">int</span> nodeType = newChild.getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: expression evaluated to true 0 times, false 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: expression evaluated to true 0 times, false 4 times.">        <span class="keyword">if</span> (!((nodeType == org.w3c.dom.Node.ELEMENT_NODE)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == org.w3c.dom.Node.COMMENT_NODE)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE) </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == org.w3c.dom.Node.DOCUMENT_TYPE_NODE))) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"Given node cannot be a child of document"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">        <span class="keyword">return</span> nodeCount() > 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: method entered 1 time.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 185: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: statement executed 1 time.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Document interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 198: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 198: method not entered.">    <span class="keyword">public</span> NodeList getElementsByTagName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">        ArrayList list = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 200: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 200: statement not executed.">        DOMNodeHelper.appendElementsByTagName(list, <span class="keyword">this</span>, name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 202: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 202: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.createNodeList(list);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 205: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 205: method not entered.">    <span class="keyword">public</span> NodeList getElementsByTagNameNS(String namespace, String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">        ArrayList list = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">        DOMNodeHelper.appendElementsByTagNameNS(list, <span class="keyword">this</span>, namespace, name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.createNodeList(list);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: method not entered.">    <span class="keyword">public</span> org.w3c.dom.DocumentType getDoctype() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMDocumentType(getDocType());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: method not entered.">    <span class="keyword">public</span> org.w3c.dom.DOMImplementation getImplementation() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">        <span class="keyword">if</span> (getDocumentFactory() <span class="keyword">instanceof</span> org.w3c.dom.DOMImplementation) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 218: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 218: statement not executed.">            <span class="keyword">return</span> (org.w3c.dom.DOMImplementation) getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 220: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 220: statement not executed.">            <span class="keyword">return</span> DOCUMENT_FACTORY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 224: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 224: method entered 3 times.">    <span class="keyword">public</span> org.w3c.dom.Element getDocumentElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: statement executed 3 times.">        <span class="keyword">return</span> DOMNodeHelper.asDOMElement(getRootElement());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 228: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 228: method entered 7 times.">    <span class="keyword">public</span> org.w3c.dom.Element createElement(String name) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 229: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 229: statement executed 7 times.">        <span class="keyword">return</span> (org.w3c.dom.Element) getDocumentFactory().createElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 232: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 232: method not entered.">    <span class="keyword">public</span> org.w3c.dom.DocumentFragment createDocumentFragment() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: statement not executed.">        DOMNodeHelper.notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 238: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 238: method entered 15 times.">    <span class="keyword">public</span> org.w3c.dom.Text createTextNode(String data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 239: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 239: statement executed 15 times.">        <span class="keyword">return</span> (org.w3c.dom.Text) getDocumentFactory().createText(data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 242: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 242: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Comment createComment(String data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 243: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 243: statement not executed.">        <span class="keyword">return</span> (org.w3c.dom.Comment) getDocumentFactory().createComment(data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: method not entered.">    <span class="keyword">public</span> CDATASection createCDATASection(String data) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: statement not executed.">        <span class="keyword">return</span> (CDATASection) getDocumentFactory().createCDATA(data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 250: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 250: method not entered.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(String target,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String data) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: statement not executed.">        <span class="keyword">return</span> (ProcessingInstruction) getDocumentFactory()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .createProcessingInstruction(target, data);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 256: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 256: method not entered.">    <span class="keyword">public</span> Attr createAttribute(String name) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 257: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 257: statement not executed.">        QName qname = getDocumentFactory().createQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: statement not executed.">        <span class="keyword">return</span> (Attr) getDocumentFactory().createAttribute(<span class="keyword">null</span>, qname, <span class="string">""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 262: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 262: method not entered.">    <span class="keyword">public</span> EntityReference createEntityReference(String name)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 264: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 264: statement not executed.">        <span class="keyword">return</span> (EntityReference) getDocumentFactory().createEntity(name, <span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 267: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 267: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node importNode(org.w3c.dom.Node importedNode,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">boolean</span> deep) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 269: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 269: statement not executed.">        DOMNodeHelper.notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 271: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 271: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 274: method entered 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 274: method entered 10 times.">    <span class="keyword">public</span> org.w3c.dom.Element createElementNS(String namespaceURI,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qualifiedName) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 276: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 276: statement executed 10 times.">        QName qname = getDocumentFactory().createQName(qualifiedName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                namespaceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 279: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 279: statement executed 10 times.">        <span class="keyword">return</span> (org.w3c.dom.Element) getDocumentFactory().createElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 282: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 282: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Attr createAttributeNS(String namespaceURI,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qualifiedName) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 284: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 284: statement not executed.">        QName qname = getDocumentFactory().createQName(qualifiedName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                namespaceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 287: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: statement not executed.">        <span class="keyword">return</span> (org.w3c.dom.Attr) getDocumentFactory().createAttribute(<span class="keyword">null</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                qname, <span class="keyword">null</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 291: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 291: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Element getElementById(String elementId) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 292: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 292: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMElement(elementByID(elementId));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 297: method entered 64 times."> 64</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 297: method entered 64 times.">    <span class="keyword">protected</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 298: expression evaluated to true 0 times, false 64 times."> 64</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 298: expression evaluated to true 0 times, false 64 times.">        <span class="keyword">if</span> (<span class="keyword">super</span>.getDocumentFactory() == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 299: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 299: statement not executed.">            <span class="keyword">return</span> DOCUMENT_FACTORY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 301</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 301: statement executed 64 times."> 64</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 301: statement executed 64 times.">            <span class="keyword">return</span> <span class="keyword">super</span>.getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMDocumentFactory.html b/docs/clover/org/dom4j/dom/DOMDocumentFactory.html
new file mode 100644
index 0000000..fd3ab7a
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMDocumentFactory.html
@@ -0,0 +1,1014 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMDocumentFactory.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMDocumentFactory.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">216</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">18</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">122</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMDocumentFactory.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">46,5%</TD>
+    <TD class="graphPercent" align="center">44,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>41,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="83" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="117" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.util.SingletonStrategy;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMDocumentFactory</code> is a factory of DOM4J objects which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implement the W3C DOM API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.21 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMDocumentFactory"> 36</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMDocumentFactory <span class="keyword">extends</span> DocumentFactory <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        org.w3c.dom.DOMImplementation {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Singleton instance */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> SingletonStrategy singleton = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">static</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 3 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: statement executed 3 times.">            String defaultSingletonClass = <span class="string">"org.dom4j.util.SimpleSingleton"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: statement executed 3 times.">            Class clazz = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: statement executed 3 times.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: statement executed 3 times.">                String singletonClass = defaultSingletonClass;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: statement executed 3 times.">                singletonClass = System.getProperty(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="string">"org.dom4j.dom.DOMDocumentFactory.singleton.strategy"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        singletonClass);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: statement executed 3 times.">                clazz = Class.forName(singletonClass);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Exception exc1) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">                <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">                    String singletonClass = defaultSingletonClass;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: statement not executed.">                    clazz = Class.forName(singletonClass);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">catch</span> (Exception exc2) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 3 times.">            singleton = (SingletonStrategy) clazz.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: statement executed 3 times.">            singleton.setSingletonClassName(DOMDocumentFactory.<span class="keyword">class</span>.getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception exc3) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Access to the singleton instance of this factory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default singleon instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 72: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 72: method entered 12 times.">    <span class="keyword">public</span> <span class="keyword">static</span> DocumentFactory getInstance() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 12 times.">        DOMDocumentFactory fact = (DOMDocumentFactory) singleton.instance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 12 times.">        <span class="keyword">return</span> fact;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Factory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 78: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: method entered 6 times.">    <span class="keyword">public</span> Document createDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: statement executed 6 times.">        DOMDocument answer = <span class="keyword">new</span> DOMDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 6 times.">        answer.setDocumentFactory(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 6 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> DocumentType createDocType(String name, String publicId,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String systemId) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMDocumentType(name, publicId, systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: method entered 151 times."> 151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: method entered 151 times.">    <span class="keyword">public</span> Element createElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: statement executed 151 times."> 151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: statement executed 151 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: method not entered.">    <span class="keyword">public</span> Element createElement(QName qname, <span class="keyword">int</span> attributeCount) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMElement(qname, attributeCount);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: method entered 114 times."> 114</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: method entered 114 times.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 114 times."> 114</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 114 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMAttribute(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: method not entered.">    <span class="keyword">public</span> CDATA createCDATA(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMCDATA(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: method entered 12 times.">    <span class="keyword">public</span> Comment createComment(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: statement executed 12 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMComment(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: method entered 307 times."> 307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: method entered 307 times.">    <span class="keyword">public</span> Text createText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 111: statement executed 307 times."> 307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 111: statement executed 307 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: method not entered.">    <span class="keyword">public</span> Entity createEntity(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMEntityReference(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: method not entered.">    <span class="keyword">public</span> Entity createEntity(String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMEntityReference(name, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: method entered 159 times."> 159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: method entered 159 times.">    <span class="keyword">public</span> Namespace createNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 159 times."> 159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 159 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: method entered 12 times.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(String target,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String data) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 12 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMProcessingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: method not entered.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(String target,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Map data) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMProcessingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.DOMImplementation interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasFeature(String feat, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">        <span class="keyword">if</span> (<span class="string">"XML"</span>.equalsIgnoreCase(feat) || <span class="string">"Core"</span>.equalsIgnoreCase(feat)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">            <span class="keyword">return</span> ((version == <span class="keyword">null</span>) || (version.length() == 0)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    || <span class="string">"1.0"</span>.equals(version) || <span class="string">"2.0"</span>.equals(version));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: method not entered.">    <span class="keyword">public</span> org.w3c.dom.DocumentType createDocumentType(String qualifiedName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String publicId, String systemId) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMDocumentType(qualifiedName, publicId, systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Document createDocument(String namespaceURI,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qualifiedName, org.w3c.dom.DocumentType docType)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> org.w3c.dom.DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">        DOMDocument document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">        <span class="keyword">if</span> (docType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: statement not executed.">            DOMDocumentType documentType = asDocumentType(docType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: statement not executed.">            document = <span class="keyword">new</span> DOMDocument(documentType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">            document = <span class="keyword">new</span> DOMDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">        document.addElement(createQName(qualifiedName, namespaceURI));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">        <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: method not entered.">    <span class="keyword">protected</span> DOMDocumentType asDocumentType(org.w3c.dom.DocumentType docType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: statement not executed.">        <span class="keyword">if</span> (docType <span class="keyword">instanceof</span> DOMDocumentType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">            <span class="keyword">return</span> (DOMDocumentType) docType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> DOMDocumentType(docType.getName(),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    docType.getPublicId(), docType.getSystemId());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMDocumentType.html b/docs/clover/org/dom4j/dom/DOMDocumentType.html
new file mode 100644
index 0000000..b641fca
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMDocumentType.html
@@ -0,0 +1,1023 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMDocumentType.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMDocumentType.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">217</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">34</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">118</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMDocumentType.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultDocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMDocumentType</code> implements a DocumentType node which supports</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the W3C DOM API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.11 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMDocumentType"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMDocumentType <span class="keyword">extends</span> DefaultDocumentType <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        org.w3c.dom.DocumentType {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 28: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 28: method not entered.">    <span class="keyword">public</span> DOMDocumentType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: method not entered.">    <span class="keyword">public</span> DOMDocumentType(String elementName, String systemID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: statement not executed.">        <span class="keyword">super</span>(elementName, systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: method not entered.">    <span class="keyword">public</span> DOMDocumentType(String name, String publicID, String systemID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        <span class="keyword">super</span>(name, publicID, systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNamespaceURI(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPrefix(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLocalName(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        <span class="keyword">return</span> getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getParentNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: method not entered.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getFirstChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLastChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: method not entered.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: method not entered.">    <span class="keyword">public</span> Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getOwnerDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> checkNewChildNode(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="string">"DocumentType nodes cannot have children"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">        DOMNodeHelper.normalize(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.DocumentType interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: method not entered.">    <span class="keyword">public</span> NamedNodeMap getEntities() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: method not entered.">    <span class="keyword">public</span> NamedNodeMap getNotations() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: method not entered.">    <span class="keyword">public</span> String getPublicId() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: statement not executed.">        <span class="keyword">return</span> getPublicID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: method not entered.">    <span class="keyword">public</span> String getSystemId() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: statement not executed.">        <span class="keyword">return</span> getSystemID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: method not entered.">    <span class="keyword">public</span> String getInternalSubset() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 178: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 178: statement not executed.">        <span class="keyword">return</span> getElementName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMElement.html b/docs/clover/org/dom4j/dom/DOMElement.html
new file mode 100644
index 0000000..aba0ae5
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMElement.html
@@ -0,0 +1,1970 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMElement.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMElement.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">429</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">50</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">279</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMElement.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">18,4%</TD>
+    <TD class="graphPercent" align="center">25,2%</TD>
+    <TD class="graphPercent" align="center">26%</TD>
+    <TD class="graphBarLeft" align="center"><B>24,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="48" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="152" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMElement</code> implements an XML element which supports the W3C</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * DOM API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.23 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMElement"> 34</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMElement <span class="keyword">extends</span> DefaultElement <span class="keyword">implements</span> org.w3c.dom.Element {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>DocumentFactory</code> instance used by default */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final DocumentFactory DOCUMENT_FACTORY = DOMDocumentFactory</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            .getInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> DOMElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: statement not executed.">        <span class="keyword">super</span>(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: method entered 151 times."> 151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: method entered 151 times.">    <span class="keyword">public</span> DOMElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: statement executed 151 times."> 151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: statement executed 151 times.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: method not entered.">    <span class="keyword">public</span> DOMElement(QName qname, <span class="keyword">int</span> attributeCount) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        <span class="keyword">super</span>(qname, attributeCount);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: method not entered.">    <span class="keyword">public</span> DOMElement(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">super</span>(name, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: method entered 5 times.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: statement executed 5 times.">        <span class="keyword">return</span> getQName().getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        <span class="keyword">return</span> getQName().getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">        <span class="keyword">return</span> getQName().getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: method not entered.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: method entered 15 times.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 15 times.">        <span class="keyword">return</span> DOMNodeHelper.getParentNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: method entered 34 times."> 34</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: method entered 34 times.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 34 times."> 34</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 34 times.">        <span class="keyword">return</span> DOMNodeHelper.createNodeList(content());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMNode(node(0));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMNode(node(nodeCount() - 1));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: method entered 35 times."> 35</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: method entered 35 times.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 35 times."> 35</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 35 times.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMAttributeNodeMap(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: method not entered.">    <span class="keyword">public</span> Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getOwnerDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: method entered 2 times.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 2 times.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 134: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 134: statement executed 2 times.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 142: method entered 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 142: method entered 26 times.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: statement executed 26 times.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 26 times.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: method entered 28 times.">    <span class="keyword">private</span> <span class="keyword">void</span> checkNewChildNode(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 28 times.">        final <span class="keyword">int</span> nodeType = newChild.getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: expression evaluated to true 0 times, false 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: expression evaluated to true 0 times, false 28 times.">        <span class="keyword">if</span> (!((nodeType == Node.ELEMENT_NODE) || (nodeType == Node.TEXT_NODE)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == Node.COMMENT_NODE)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == Node.PROCESSING_INSTRUCTION_NODE)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == Node.CDATA_SECTION_NODE) </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == Node.ENTITY_REFERENCE_NODE))) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"Given node cannot be a child of element"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">        <span class="keyword">return</span> nodeCount() > 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Element interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: method not entered.">    <span class="keyword">public</span> String getTagName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 182: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 182: statement not executed.">        <span class="keyword">return</span> getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 185: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 185: method not entered.">    <span class="keyword">public</span> String getAttribute(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 186: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 186: statement not executed.">        String answer = attributeValue(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: statement not executed.">        <span class="keyword">return</span> (answer != <span class="keyword">null</span>) ? answer : <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttribute(String name, String value) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 6 times.">        addAttribute(name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeAttribute(String name) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">        Attribute attribute = attribute(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 198: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 198: statement not executed.">        <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">            remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 203: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 203: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Attr getAttributeNode(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 204: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 204: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMAttr(attribute(name));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">this</span>.isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 210: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 210: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"No modification allowed"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">        Attribute attribute = attribute(newAttr);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">        <span class="keyword">if</span> (attribute != newAttr) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">            <span class="keyword">if</span> (newAttr.getOwnerElement() != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 218: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 218: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INUSE_ATTRIBUTE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="string">"Attribute is already in use"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 222: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 222: statement not executed.">            Attribute newAttribute = createAttribute(newAttr);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 224: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 224: statement not executed.">            <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 225: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 225: statement not executed.">                attribute.detach();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 228: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 228: statement not executed.">            add(newAttribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 231: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 231: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMAttr(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 234: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 234: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 236: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 236: statement not executed.">        Attribute attribute = attribute(oldAttr);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 238: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 238: statement not executed.">        <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 239: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 239: statement not executed.">            attribute.detach();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 241: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: statement not executed.">            <span class="keyword">return</span> DOMNodeHelper.asDOMAttr(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 243: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 243: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NOT_FOUND_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"No such attribute"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: method not entered.">    <span class="keyword">public</span> String getAttributeNS(String namespaceURI, String localName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 249: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: statement not executed.">        Attribute attribute = attribute(namespaceURI, localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 251: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 251: statement not executed.">        <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: statement not executed.">            String answer = attribute.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 254: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 254: statement not executed.">            <span class="keyword">if</span> (answer != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 255: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 255: statement not executed.">                <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: statement not executed.">        <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 262: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 262: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributeNS(String namespaceURI, String qualifiedName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String value) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 264: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 264: statement executed 4 times.">        Attribute attribute = attribute(namespaceURI, qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 266: expression evaluated to true 0 times, false 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 266: expression evaluated to true 0 times, false 4 times.">        <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 267: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 267: statement not executed.">            attribute.setValue(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 269: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 269: statement executed 4 times.">            QName qname = getQName(namespaceURI, qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: statement executed 4 times.">            addAttribute(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 274: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeAttributeNS(String namespaceURI, String localName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 276: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 276: statement not executed.">        Attribute attribute = attribute(namespaceURI, localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 278: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 278: statement not executed.">        <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 279: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: statement not executed.">            remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 283: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 283: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Attr getAttributeNodeNS(String namespaceURI,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String localName) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 285</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 285: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 285: statement not executed.">        Attribute attribute = attribute(namespaceURI, localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 287: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: statement not executed.">        <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 288: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 288: statement not executed.">            DOMNodeHelper.asDOMAttr(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 291: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 291: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 294</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 294: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 294: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr newAttr)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 296: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 296: statement not executed.">        Attribute attribute = attribute(newAttr.getNamespaceURI(), newAttr</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getLocalName());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 299: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 299: statement not executed.">        <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 300: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: statement not executed.">            attribute.setValue(newAttr.getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 302: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 302: statement not executed.">            attribute = createAttribute(newAttr);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 303</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 303: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 303: statement not executed.">            add(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 306</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 306: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 306: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.asDOMAttr(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 309</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 309: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 309: method not entered.">    <span class="keyword">public</span> NodeList getElementsByTagName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 310: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 310: statement not executed.">        ArrayList list = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 311</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 311: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 311: statement not executed.">        DOMNodeHelper.appendElementsByTagName(list, <span class="keyword">this</span>, name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 313: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 313: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.createNodeList(list);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 316</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 316: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 316: method not entered.">    <span class="keyword">public</span> NodeList getElementsByTagNameNS(String namespace, String lName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 317: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 317: statement not executed.">        ArrayList list = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 318: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 318: statement not executed.">        DOMNodeHelper.appendElementsByTagNameNS(list, <span class="keyword">this</span>, namespace, lName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 320: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 320: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.createNodeList(list);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 323</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 323: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 323: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttribute(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 324</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 324: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 324: statement not executed.">        <span class="keyword">return</span> attribute(name) != <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 327</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 327: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 327: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributeNS(String namespaceURI, String localName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 328: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 328: statement not executed.">        <span class="keyword">return</span> attribute(namespaceURI, localName) != <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 333</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 333: method entered 547 times."> 547</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 333: method entered 547 times.">    <span class="keyword">protected</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 334</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 334: statement executed 547 times."> 547</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 334: statement executed 547 times.">        DocumentFactory factory = getQName().getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 336: expression evaluated to true 547 times, false 0 times."> 547</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 336: expression evaluated to true 547 times, false 0 times.">        <span class="keyword">return</span> (factory != <span class="keyword">null</span>) ? factory : DOCUMENT_FACTORY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 339: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 339: method not entered.">    <span class="keyword">protected</span> Attribute attribute(org.w3c.dom.Attr attr) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 340: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: statement not executed.">        <span class="keyword">return</span> attribute(DOCUMENT_FACTORY.createQName(attr.getLocalName(), attr</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getPrefix(), attr.getNamespaceURI()));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 344</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 344: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 344: method entered 4 times.">    <span class="keyword">protected</span> Attribute attribute(String namespaceURI, String localName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 345</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 345: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 345: statement executed 4 times.">        List attributes = attributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 346</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 346: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 346: statement executed 4 times.">        <span class="keyword">int</span> size = attributes.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 348</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 348: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 348: statement executed 4 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 349</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 349: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 349: statement executed 3 times.">            Attribute attribute = (Attribute) attributes.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 351</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 351: expression evaluated to true 0 times, false 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 351: expression evaluated to true 0 times, false 3 times.">            <span class="keyword">if</span> (localName.equals(attribute.getName())</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    && (((namespaceURI == <span class="keyword">null</span> || namespaceURI.length() == 0)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                          && ((attribute.getNamespaceURI() == <span class="keyword">null</span>) </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                              || (attribute.getNamespaceURI().length() == 0)))</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                              || ((namespaceURI != <span class="keyword">null</span>) && namespaceURI</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                      .equals(attribute.getNamespaceURI())))) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 357</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 357: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 357: statement not executed.">                <span class="keyword">return</span> attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 361</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 361: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 361: statement executed 4 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 364</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 364: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 364: method not entered.">    <span class="keyword">protected</span> Attribute createAttribute(org.w3c.dom.Attr newAttr) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 365: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 365: statement not executed.">        QName qname = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 366: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 366: statement not executed.">        String name = newAttr.getLocalName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 368: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 368: statement not executed.">        <span class="keyword">if</span> (name != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 369</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 369: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 369: statement not executed.">            String prefix = newAttr.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 370: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 370: statement not executed.">            String uri = newAttr.getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 371</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 371: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 371: statement not executed.">            qname = getDocumentFactory().createQName(name, prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 373</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 373: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 373: statement not executed.">            name = newAttr.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 374: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 374: statement not executed.">            qname = getDocumentFactory().createQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 377</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 377: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 377: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMAttribute(qname, newAttr.getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 380</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 380: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 380: method entered 4 times.">    <span class="keyword">protected</span> QName getQName(String namespace, String qualifiedName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 381</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 381: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 381: statement executed 4 times.">        <span class="keyword">int</span> index = qualifiedName.indexOf(':');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 382</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 382: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 382: statement executed 4 times.">        String prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 383</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 383: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 383: statement executed 4 times.">        String localName = qualifiedName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 385</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 385: expression evaluated to true 0 times, false 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 385: expression evaluated to true 0 times, false 4 times.">        <span class="keyword">if</span> (index >= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">            prefix = qualifiedName.substring(0, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 387: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 387: statement not executed.">            localName = qualifiedName.substring(index + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 390</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 390: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 390: statement executed 4 times.">        <span class="keyword">return</span> getDocumentFactory().createQName(localName, prefix, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMEntityReference.html b/docs/clover/org/dom4j/dom/DOMEntityReference.html
new file mode 100644
index 0000000..74bc29e
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMEntityReference.html
@@ -0,0 +1,972 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMEntityReference.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMEntityReference.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">206</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">29</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">113</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMEntityReference.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultEntity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMEntity</code> implements a Entity node which supports the W3C DOM</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.12 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMEntityReference"> 27</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMEntityReference <span class="keyword">extends</span> DefaultEntity <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        org.w3c.dom.EntityReference {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 29: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 29: method not entered.">    <span class="keyword">public</span> DOMEntityReference(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: statement not executed.">        <span class="keyword">super</span>(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: method not entered.">    <span class="keyword">public</span> DOMEntityReference(String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: statement not executed.">        <span class="keyword">super</span>(name, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: method not entered.">    <span class="keyword">public</span> DOMEntityReference(Element parent, String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">super</span>(parent, name, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: method not entered.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNamespaceURI(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPrefix(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLocalName(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        <span class="keyword">return</span> getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: method not entered.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getParentNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getFirstChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLastChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getOwnerDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> checkNewChildNode(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        final <span class="keyword">int</span> nodeType = newChild.getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">        <span class="keyword">if</span> (!((nodeType == org.w3c.dom.Node.ELEMENT_NODE)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == org.w3c.dom.Node.TEXT_NODE)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == org.w3c.dom.Node.COMMENT_NODE)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == org.w3c.dom.Node.CDATA_SECTION_NODE) </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (nodeType == org.w3c.dom.Node.ENTITY_REFERENCE_NODE))) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"Given node cannot be a child of an entity "</span> + <span class="string">"reference"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        DOMNodeHelper.normalize(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMNamespace.html b/docs/clover/org/dom4j/dom/DOMNamespace.html
new file mode 100644
index 0000000..6bb7f89
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMNamespace.html
@@ -0,0 +1,861 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMNamespace.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMNamespace.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">180</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">26</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">91</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMNamespace.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">3,8%</TD>
+    <TD class="graphPercent" align="center">3,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>3,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="7" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="193" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultNamespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMNamespace</code> implements a Namespace that is compatable with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the DOM API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMNamespace"> 27</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMNamespace <span class="keyword">extends</span> DefaultNamespace <span class="keyword">implements</span> org.w3c.dom.Node {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 28: method entered 159 times."> 159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 28: method entered 159 times.">    <span class="keyword">public</span> DOMNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 29: statement executed 159 times."> 159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 29: statement executed 159 times.">        <span class="keyword">super</span>(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">public</span> DOMNamespace(Element parent, String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: statement not executed.">        <span class="keyword">super</span>(parent, prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNamespaceURI(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public String getPrefix() {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// return DOMNodeHelper.getPrefix(this);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// }</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLocalName(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">return</span> getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: method not entered.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNodeValue(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        DOMNodeHelper.setNodeValue(<span class="keyword">this</span>, nodeValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getParentNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getFirstChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLastChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: method not entered.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: method not entered.">    <span class="keyword">public</span> Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getOwnerDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">        DOMNodeHelper.normalize(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMNodeHelper.html b/docs/clover/org/dom4j/dom/DOMNodeHelper.html
new file mode 100644
index 0000000..b04a76d
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMNodeHelper.html
@@ -0,0 +1,2650 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMNodeHelper.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMNodeHelper.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">583</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">47</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">402</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">2</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMNodeHelper.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">11%</TD>
+    <TD class="graphPercent" align="center">15,4%</TD>
+    <TD class="graphPercent" align="center">21,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>14,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="29" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="171" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CharacterData;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMNodeHelper</code> contains a collection of utility methods for use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * across Node implementations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.20 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMNodeHelper"> 32</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMNodeHelper {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final NodeList EMPTY_NODE_LIST = <span class="keyword">new</span> EmptyNodeList();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: method not entered.">    <span class="keyword">protected</span> DOMNodeHelper() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Node API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> supports(Node node, String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String getNamespaceURI(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String getPrefix(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String getLocalName(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> setPrefix(Node node, String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: statement not executed.">        notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: method entered 73 times."> 73</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: method entered 73 times.">    <span class="keyword">public</span> <span class="keyword">static</span> String getNodeValue(Node node) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 73 times."> 73</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 73 times.">        <span class="keyword">return</span> node.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> setNodeValue(Node node, String nodeValue)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        node.setText(nodeValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: method entered 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: method entered 30 times.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node getParentNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 30 times.">        <span class="keyword">return</span> asDOMNode(node.getParent());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> NodeList getChildNodes(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">        <span class="keyword">return</span> EMPTY_NODE_LIST;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node getFirstChild(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node getLastChild(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node getPreviousSibling(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        Element parent = node.getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">        <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">            <span class="keyword">int</span> index = parent.indexOf(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">            <span class="keyword">if</span> (index > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">                Node previous = parent.node(index - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">                <span class="keyword">return</span> asDOMNode(previous);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node getNextSibling(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        Element parent = node.getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">        <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">            <span class="keyword">int</span> index = parent.indexOf(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">            <span class="keyword">if</span> (index >= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">                <span class="keyword">if</span> (++index < parent.nodeCount()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">                    Node next = parent.node(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">                    <span class="keyword">return</span> asDOMNode(next);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> NamedNodeMap getAttributes(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Document getOwnerDocument(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">        <span class="keyword">return</span> asDOMDocument(node.getDocument());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node insertBefore(Node node,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node newChild, org.w3c.dom.Node refChild)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">        <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Branch) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">            Branch branch = (Branch) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: statement not executed.">            List list = branch.content();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">            <span class="keyword">int</span> index = list.indexOf(refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">            <span class="keyword">if</span> (index < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">                branch.add((Node) newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">                list.add(index, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">            <span class="keyword">return</span> newChild;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"Children not allowed for this node: "</span> + node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node replaceChild(Node node,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Branch) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 2 times.">            Branch branch = (Branch) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 153: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 153: statement executed 2 times.">            List list = branch.content();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 2 times.">            <span class="keyword">int</span> index = list.indexOf(oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 2 times.">            <span class="keyword">if</span> (index < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: statement executed 1 time.">                <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NOT_FOUND_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="string">"Tried to replace a non existing child "</span> + <span class="string">"for node: "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: statement executed 1 time.">            list.set(index, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 1 time.">            <span class="keyword">return</span> oldChild;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"Children not allowed for this node: "</span> + node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node removeChild(Node node,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">        <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Branch) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: statement not executed.">            Branch branch = (Branch) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: statement not executed.">            branch.remove((Node) oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: statement not executed.">            <span class="keyword">return</span> oldChild;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="string">"Children not allowed for this node: "</span> + node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: method entered 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: method entered 30 times.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node appendChild(Node node,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node newChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 186: expression evaluated to true 30 times, false 0 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 186: expression evaluated to true 30 times, false 0 times.">        <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Branch) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 30 times.">            Branch branch = (Branch) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: statement executed 30 times.">            org.w3c.dom.Node previousParent = newChild.getParentNode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 190: expression evaluated to true 0 times, false 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 190: expression evaluated to true 0 times, false 30 times.">            <span class="keyword">if</span> (previousParent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 191: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 191: statement not executed.">                previousParent.removeChild(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 194: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 194: statement executed 30 times.">            branch.add((Node) newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 196: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 196: statement executed 30 times.">            <span class="keyword">return</span> newChild;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="string">"Children not allowed for this node: "</span> + node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 203: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 203: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> hasChildNodes(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 204: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 204: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 207: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 207: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node cloneNode(Node node, <span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 208: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 208: statement executed 1 time.">        <span class="keyword">return</span> asDOMNode((Node) node.clone());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> normalize(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: statement not executed.">        notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 215: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 215: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> isSupported(Node n, String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 219: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 219: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> hasAttributes(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 220: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 220: statement not executed.">        <span class="keyword">if</span> ((node != <span class="keyword">null</span>) && node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 221: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 221: statement not executed.">            <span class="keyword">return</span> ((Element) node).attributeCount() > 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 223: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 223: statement not executed.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// CharacterData API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 229: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 229: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String getData(CharacterData charData) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: statement not executed.">        <span class="keyword">return</span> charData.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> setData(CharacterData charData, String data)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: statement not executed.">        charData.setText(data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 238: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 238: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">int</span> getLength(CharacterData charData) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 239: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 239: statement not executed.">        String text = charData.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 241: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: statement not executed.">        <span class="keyword">return</span> (text != <span class="keyword">null</span>) ? text.length() : 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 244: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 244: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String substringData(CharacterData charData, <span class="keyword">int</span> offset,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">int</span> count) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: statement not executed.">        <span class="keyword">if</span> (count < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INDEX_SIZE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"Illegal value for count: "</span> + count);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 251: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 251: statement not executed.">        String text = charData.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: statement not executed.">        <span class="keyword">int</span> length = (text != <span class="keyword">null</span>) ? text.length() : 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 254: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 254: statement not executed.">        <span class="keyword">if</span> ((offset < 0) || (offset >= length)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 255: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 255: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INDEX_SIZE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"No text at offset: "</span> + offset);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: statement not executed.">        <span class="keyword">if</span> ((offset + count) > length) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: statement not executed.">            <span class="keyword">return</span> text.substring(offset);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 263: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 263: statement not executed.">        <span class="keyword">return</span> text.substring(offset, offset + count);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 266: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 266: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> appendData(CharacterData charData, String arg)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 268: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 268: statement not executed.">        <span class="keyword">if</span> (charData.isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 269: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 269: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"CharacterData node is read only: "</span> + charData);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 272: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 272: statement not executed.">            String text = charData.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 274: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: statement not executed.">            <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 275: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 275: statement not executed.">                charData.setText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 277: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 277: statement not executed.">                charData.setText(text + arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 282: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 282: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> insertData(CharacterData data, <span class="keyword">int</span> offset, String arg)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 284: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 284: statement not executed.">        <span class="keyword">if</span> (data.isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 285</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 285: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 285: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"CharacterData node is read only: "</span> + data);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 288: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 288: statement not executed.">            String text = data.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 290</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 290: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 290: statement not executed.">            <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 291: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 291: statement not executed.">                data.setText(arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 293</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 293: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 293: statement not executed.">                <span class="keyword">int</span> length = text.length();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 295: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 295: statement not executed.">                <span class="keyword">if</span> ((offset < 0) || (offset > length)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 296: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 296: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INDEX_SIZE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            <span class="string">"No text at offset: "</span> + offset);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 299: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 299: statement not executed.">                    StringBuffer buffer = <span class="keyword">new</span> StringBuffer(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 300: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: statement not executed.">                    buffer.insert(offset, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 301</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 301: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 301: statement not executed.">                    data.setText(buffer.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 307</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 307: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 307: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> deleteData(CharacterData charData, <span class="keyword">int</span> offset, <span class="keyword">int</span> count)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 309</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 309: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 309: statement not executed.">        <span class="keyword">if</span> (charData.isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 310: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 310: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"CharacterData node is read only: "</span> + charData);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 313: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 313: statement not executed.">            <span class="keyword">if</span> (count < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 314: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 314: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INDEX_SIZE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="string">"Illegal value for count: "</span> + count);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 318: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 318: statement not executed.">            String text = charData.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 320: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 320: statement not executed.">            <span class="keyword">if</span> (text != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 321</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 321: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 321: statement not executed.">                <span class="keyword">int</span> length = text.length();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 323</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 323: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 323: statement not executed.">                <span class="keyword">if</span> ((offset < 0) || (offset >= length)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 324</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 324: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 324: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INDEX_SIZE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            <span class="string">"No text at offset: "</span> + offset);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 327</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 327: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 327: statement not executed.">                    StringBuffer buffer = <span class="keyword">new</span> StringBuffer(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 328: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 328: statement not executed.">                    buffer.delete(offset, offset + count);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 329</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 329: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 329: statement not executed.">                    charData.setText(buffer.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 335</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 335: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 335: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> replaceData(CharacterData charData, <span class="keyword">int</span> offset,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">int</span> count, String arg) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 337: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 337: statement not executed.">        <span class="keyword">if</span> (charData.isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 338</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 338: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 338: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"CharacterData node is read only: "</span> + charData);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 341</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 341: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 341: statement not executed.">            <span class="keyword">if</span> (count < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 342: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 342: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INDEX_SIZE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="string">"Illegal value for count: "</span> + count);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 346</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 346: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 346: statement not executed.">            String text = charData.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 348</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 348: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 348: statement not executed.">            <span class="keyword">if</span> (text != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 349</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 349: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 349: statement not executed.">                <span class="keyword">int</span> length = text.length();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 351</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 351: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 351: statement not executed.">                <span class="keyword">if</span> ((offset < 0) || (offset >= length)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 352: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 352: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INDEX_SIZE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            <span class="string">"No text at offset: "</span> + offset);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 355</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 355: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 355: statement not executed.">                    StringBuffer buffer = <span class="keyword">new</span> StringBuffer(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 356</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 356: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 356: statement not executed.">                    buffer.replace(offset, offset + count, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 357</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 357: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 357: statement not executed.">                    charData.setText(buffer.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Branch API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 365: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 365: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> appendElementsByTagName(List list, Branch parent,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String name) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 367</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 367: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 367: statement not executed.">        final <span class="keyword">boolean</span> isStar = <span class="string">"*"</span>.equals(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 369</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 369: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 369: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = parent.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 370: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 370: statement not executed.">            Node node = parent.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 372: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 372: statement not executed.">            <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 373</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 373: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 373: statement not executed.">                Element element = (Element) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 375</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 375: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 375: statement not executed.">                <span class="keyword">if</span> (isStar || name.equals(element.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 376</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 376: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 376: statement not executed.">                    list.add(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 379</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 379: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 379: statement not executed.">                appendElementsByTagName(list, element, name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 384</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 384: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 384: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> appendElementsByTagNameNS(List list, Branch parent,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String namespace, String localName) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">        final <span class="keyword">boolean</span> isStarNS = <span class="string">"*"</span>.equals(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 387: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 387: statement not executed.">        final <span class="keyword">boolean</span> isStar = <span class="string">"*"</span>.equals(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 389</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 389: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 389: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = parent.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 390</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 390: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 390: statement not executed.">            Node node = parent.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 392</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 392: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 392: statement not executed.">            <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 393</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 393: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 393: statement not executed.">                Element element = (Element) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 395</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 395: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 395: statement not executed.">                <span class="keyword">if</span> ((isStarNS</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        || (((namespace == <span class="keyword">null</span>) </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                || (namespace.length() == 0)) && ((element</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                .getNamespaceURI() == <span class="keyword">null</span>) || (element</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                .getNamespaceURI().length() == 0))) </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                || ((namespace != <span class="keyword">null</span>) && namespace</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .equals(element.getNamespaceURI())))</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        && (isStar || localName.equals(element.getName()))) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 403</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 403: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 403: statement not executed.">                    list.add(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 406</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 406: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 406: statement not executed.">                appendElementsByTagNameNS(list, element, namespace, localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Helper methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 413</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 413: method entered 34 times."> 34</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 413: method entered 34 times.">    <span class="keyword">public</span> <span class="keyword">static</span> NodeList createNodeList(final List list) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 414</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 414: statement executed 34 times."> 34</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 414: statement executed 34 times.">        <span class="keyword">return</span> <span class="keyword">new</span> NodeList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 415: method entered 112 times."> 112</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 415: method entered 112 times.">            <span class="keyword">public</span> org.w3c.dom.Node item(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 416: expression evaluated to true 0 times, false 112 times."> 112</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 416: expression evaluated to true 0 times, false 112 times.">                <span class="keyword">if</span> (index >= getLength()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">                     * From the NodeList specification: If index is greater than</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">                     * or equal to the number of nodes in the list, this returns</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">                     * null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">                     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 422</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 422: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 422: statement not executed.">                    <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 424</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 424: statement executed 112 times."> 112</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 424: statement executed 112 times.">                    <span class="keyword">return</span> DOMNodeHelper.asDOMNode((Node) list.get(index));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 428</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 428: method entered 145 times."> 145</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 428: method entered 145 times.">            <span class="keyword">public</span> <span class="keyword">int</span> getLength() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 429</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 429: statement executed 145 times."> 145</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 429: statement executed 145 times.">                <span class="keyword">return</span> list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        };</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 434</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 434: method entered 143 times."> 143</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 434: method entered 143 times.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Node asDOMNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 435</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 435: statement executed 143 times."> 143</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 435: statement executed 143 times.">        <span class="keyword">if</span> (node == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 436</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 436: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 436: statement executed 30 times.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 439: expression evaluated to true 113 times, false 0 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 439: expression evaluated to true 113 times, false 0 times.">        <span class="keyword">if</span> (node <span class="keyword">instanceof</span> org.w3c.dom.Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 440</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 440: statement executed 113 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 440: statement executed 113 times.">            <span class="keyword">return</span> (org.w3c.dom.Node) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Use DOMWriter?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 443</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 443: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 443: statement not executed.">            System.out.println(<span class="string">"Cannot convert: "</span> + node</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">" into a W3C DOM Node"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 445</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 445: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 445: statement not executed.">            notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 447</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 447: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 447: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 451</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 451: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 451: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Document asDOMDocument(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 452</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 452: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 452: statement not executed.">        <span class="keyword">if</span> (document == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 453</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 453: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 453: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 456</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 456: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 456: statement not executed.">        <span class="keyword">if</span> (document <span class="keyword">instanceof</span> org.w3c.dom.Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 457</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 457: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 457: statement not executed.">            <span class="keyword">return</span> (org.w3c.dom.Document) document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Use DOMWriter?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 460</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 460: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 460: statement not executed.">            notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 462</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 462: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 462: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 466</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 466: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 466: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.DocumentType asDOMDocumentType(DocumentType dt) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 467</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 467: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 467: statement not executed.">        <span class="keyword">if</span> (dt == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 468</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 468: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 468: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 471</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 471: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 471: statement not executed.">        <span class="keyword">if</span> (dt <span class="keyword">instanceof</span> org.w3c.dom.DocumentType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 472</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 472: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 472: statement not executed.">            <span class="keyword">return</span> (org.w3c.dom.DocumentType) dt;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Use DOMWriter?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 475</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 475: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 475: statement not executed.">            notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 477</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 477: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 477: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 481</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 481: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 481: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Text asDOMText(CharacterData text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 482</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 482: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 482: statement not executed.">        <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 483</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 483: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 483: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 486</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 486: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 486: statement not executed.">        <span class="keyword">if</span> (text <span class="keyword">instanceof</span> org.w3c.dom.Text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 487</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 487: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 487: statement not executed.">            <span class="keyword">return</span> (org.w3c.dom.Text) text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Use DOMWriter?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 490</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 490: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 490: statement not executed.">            notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 492</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 492: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 492: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 496</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 496: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 496: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Element asDOMElement(Node element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 497</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 497: expression evaluated to true 0 times, false 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 497: expression evaluated to true 0 times, false 3 times.">        <span class="keyword">if</span> (element == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 498</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 498: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 498: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 501</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 501: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 501: expression evaluated to true 3 times, false 0 times.">        <span class="keyword">if</span> (element <span class="keyword">instanceof</span> org.w3c.dom.Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 502</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 502: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 502: statement executed 3 times.">            <span class="keyword">return</span> (org.w3c.dom.Element) element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Use DOMWriter?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 505</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 505: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 505: statement not executed.">            notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 507</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 507: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 507: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 511</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 511: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 511: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Attr asDOMAttr(Node attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 512</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 512: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 512: statement not executed.">        <span class="keyword">if</span> (attribute == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 513</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 513: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 513: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 516</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 516: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 516: statement not executed.">        <span class="keyword">if</span> (attribute <span class="keyword">instanceof</span> org.w3c.dom.Attr) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 517</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 517: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 517: statement not executed.">            <span class="keyword">return</span> (org.w3c.dom.Attr) attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Use DOMWriter?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 520</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 520: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 520: statement not executed.">            notSupported();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 522</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 522: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 522: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called when a method has not been implemented yet</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DOMException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 532</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 532: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 532: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> notSupported() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 533</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 533: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 533: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NOT_SUPPORTED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="string">"Not supported yet"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="EmptyNodeList"> 537</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class</span> EmptyNodeList <span class="keyword">implements</span> NodeList {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 538</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 538: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 538: method not entered.">        <span class="keyword">public</span> org.w3c.dom.Node item(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 539</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 539: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 539: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 542</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 542: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 542: method not entered.">        <span class="keyword">public</span> <span class="keyword">int</span> getLength() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 543</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 543: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 543: statement not executed.">            <span class="keyword">return</span> 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 546</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMProcessingInstruction.html b/docs/clover/org/dom4j/dom/DOMProcessingInstruction.html
new file mode 100644
index 0000000..aeaf107
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMProcessingInstruction.html
@@ -0,0 +1,1032 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMProcessingInstruction.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMProcessingInstruction.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">219</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">31</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">118</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMProcessingInstruction.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">2,8%</TD>
+    <TD class="graphPercent" align="center">3,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>2,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="5" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="195" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMProcessingInstruction</code> implements a ProcessingInstruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * node which supports the W3C DOM API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.12 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMProcessingInstruction"> 29</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMProcessingInstruction <span class="keyword">extends</span> DefaultProcessingInstruction</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">implements</span> org.w3c.dom.ProcessingInstruction {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: method not entered.">    <span class="keyword">public</span> DOMProcessingInstruction(String target, Map values) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: statement not executed.">        <span class="keyword">super</span>(target, values);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: method entered 12 times.">    <span class="keyword">public</span> DOMProcessingInstruction(String target, String values) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 12 times.">        <span class="keyword">super</span>(target, values);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> DOMProcessingInstruction(Element parent, String target, String val) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: statement not executed.">        <span class="keyword">super</span>(parent, target, val);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNamespaceURI(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPrefix(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLocalName(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        <span class="keyword">return</span> getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNodeValue(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        DOMNodeHelper.setNodeValue(<span class="keyword">this</span>, nodeValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getParentNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: method not entered.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getFirstChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLastChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: method not entered.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: method not entered.">    <span class="keyword">public</span> Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getOwnerDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> checkNewChildNode(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="string">"PI nodes cannot have children"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">        DOMNodeHelper.normalize(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.ProcessingInstruction interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public String getTarget();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: method not entered.">    <span class="keyword">public</span> String getData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">        <span class="keyword">return</span> getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(String data) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">        <span class="keyword">if</span> (isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"This ProcessingInstruction is read only"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: statement not executed.">            setText(data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/DOMText.html b/docs/clover/org/dom4j/dom/DOMText.html
new file mode 100644
index 0000000..3cffc5d
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/DOMText.html
@@ -0,0 +1,1237 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dom\ DOMText.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMText.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">264</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">38</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">154</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMText.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">5,6%</TD>
+    <TD class="graphPercent" align="center">7,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="12" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="188" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dom;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultText;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NamedNodeMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.NodeList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMText</code> implements a Text node which supports the W3C DOM API.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.12 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMText"> 27</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMText <span class="keyword">extends</span> DefaultText <span class="keyword">implements</span> org.w3c.dom.Text {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 28: method entered 307 times."> 307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 28: method entered 307 times.">    <span class="keyword">public</span> DOMText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 29: statement executed 307 times."> 307</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 29: statement executed 307 times.">        <span class="keyword">super</span>(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">public</span> DOMText(Element parent, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: statement not executed.">        <span class="keyword">super</span>(parent, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Node interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supports(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.supports(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNamespaceURI(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPrefix(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPrefix(String prefix) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        DOMNodeHelper.setPrefix(<span class="keyword">this</span>, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLocalName(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: method not entered.">    <span class="keyword">public</span> String getNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        <span class="keyword">return</span> <span class="string">"#text"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// already part of API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// public short getNodeType();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: method entered 73 times."> 73</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: method entered 73 times.">    <span class="keyword">public</span> String getNodeValue() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 73 times."> 73</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 73 times.">        <span class="keyword">return</span> DOMNodeHelper.getNodeValue(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNodeValue(String nodeValue) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        DOMNodeHelper.setNodeValue(<span class="keyword">this</span>, nodeValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: method entered 15 times.">    <span class="keyword">public</span> org.w3c.dom.Node getParentNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 15 times.">        <span class="keyword">return</span> DOMNodeHelper.getParentNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> NodeList getChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getFirstChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getFirstChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getLastChild() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLastChild(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getPreviousSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getPreviousSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node getNextSibling() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getNextSibling(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: method not entered.">    <span class="keyword">public</span> NamedNodeMap getAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> Document getOwnerDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getOwnerDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node refChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.insertBefore(<span class="keyword">this</span>, newChild, refChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node oldChild) <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.replaceChild(<span class="keyword">this</span>, newChild, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.removeChild(<span class="keyword">this</span>, oldChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">        checkNewChildNode(newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.appendChild(<span class="keyword">this</span>, newChild);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> checkNewChildNode(org.w3c.dom.Node newChild)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.HIERARCHY_REQUEST_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="string">"Text nodes cannot have children"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasChildNodes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasChildNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Node cloneNode(<span class="keyword">boolean</span> deep) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.cloneNode(<span class="keyword">this</span>, deep);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">        DOMNodeHelper.normalize(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSupported(String feature, String version) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.isSupported(<span class="keyword">this</span>, feature, version);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.hasAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.CharacterData interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: method not entered.">    <span class="keyword">public</span> String getData() <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getData(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(String data) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">        DOMNodeHelper.setData(<span class="keyword">this</span>, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getLength() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.getLength(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: method not entered.">    <span class="keyword">public</span> String substringData(<span class="keyword">int</span> offset, <span class="keyword">int</span> count) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">        <span class="keyword">return</span> DOMNodeHelper.substringData(<span class="keyword">this</span>, offset, count);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> appendData(String arg) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: statement not executed.">        DOMNodeHelper.appendData(<span class="keyword">this</span>, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> insertData(<span class="keyword">int</span> offset, String arg) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">        DOMNodeHelper.insertData(<span class="keyword">this</span>, offset, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 183: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 183: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> deleteData(<span class="keyword">int</span> offset, <span class="keyword">int</span> count) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 184: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 184: statement not executed.">        DOMNodeHelper.deleteData(<span class="keyword">this</span>, offset, count);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 187: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 187: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> replaceData(<span class="keyword">int</span> offset, <span class="keyword">int</span> count, String arg)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DOMException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">        DOMNodeHelper.replaceData(<span class="keyword">this</span>, offset, count, arg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// org.w3c.dom.Text interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Text splitText(<span class="keyword">int</span> offset) <span class="keyword">throws</span> DOMException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">        <span class="keyword">if</span> (isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"CharacterData node is read only: "</span> + <span class="keyword">this</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">            String text = getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 200: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 200: statement not executed.">            <span class="keyword">int</span> length = (text != <span class="keyword">null</span>) ? text.length() : 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 202: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 202: statement not executed.">            <span class="keyword">if</span> ((offset < 0) || (offset >= length)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 203: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 203: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> DOMException(DOMException.INDEX_SIZE_ERR,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="string">"No text at offset: "</span> + offset);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">                String start = text.substring(0, offset);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">                String rest = text.substring(offset);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 208: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 208: statement not executed.">                setText(start);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 210: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 210: statement not executed.">                Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">                Text newText = createText(rest);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: statement not executed.">                <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">                    parent.add(newText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">                <span class="keyword">return</span> DOMNodeHelper.asDOMText(newText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 224: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 224: method not entered.">    <span class="keyword">protected</span> Text createText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 225: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 225: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DOMText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dom/pkg-classes.html b/docs/clover/org/dom4j/dom/pkg-classes.html
new file mode 100644
index 0000000..3c3e9c7
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/pkg-classes.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.dom">org.dom4j.dom</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="DOMAttribute.html" title="DOMAttribute">DOMAttribute</A>
+    	    <i>(2,9%)</i><BR>
+    
+                <A target="classPane" href="DOMAttributeNodeMap.html" title="DOMAttributeNodeMap">DOMAttributeNodeMap</A>
+    	    <i>(10,5%)</i><BR>
+    
+                <A target="classPane" href="DOMCDATA.html" title="DOMCDATA">DOMCDATA</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="DOMComment.html" title="DOMComment">DOMComment</A>
+    	    <i>(2,7%)</i><BR>
+    
+                <A target="classPane" href="DOMDocument.html" title="DOMDocument">DOMDocument</A>
+    	    <i>(22,7%)</i><BR>
+    
+                <A target="classPane" href="DOMDocumentFactory.html" title="DOMDocumentFactory">DOMDocumentFactory</A>
+    	    <i>(41,8%)</i><BR>
+    
+                <A target="classPane" href="DOMDocumentType.html" title="DOMDocumentType">DOMDocumentType</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="DOMElement.html" title="DOMElement">DOMElement</A>
+    	    <i>(24,1%)</i><BR>
+    
+                <A target="classPane" href="DOMEntityReference.html" title="DOMEntityReference">DOMEntityReference</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="DOMNamespace.html" title="DOMNamespace">DOMNamespace</A>
+    	    <i>(3,8%)</i><BR>
+    
+                <A target="classPane" href="DOMNodeHelper.html" title="DOMNodeHelper">DOMNodeHelper</A>
+    	    <i>(15,1%)</i><BR>
+    
+                <A target="classPane" href="DOMNodeHelper.html#EmptyNodeList" title="DOMNodeHelper.EmptyNodeList">DOMNodeHelper.EmptyNodeList</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="DOMProcessingInstruction.html" title="DOMProcessingInstruction">DOMProcessingInstruction</A>
+    	    <i>(2,9%)</i><BR>
+    
+                <A target="classPane" href="DOMText.html" title="DOMText">DOMText</A>
+    	    <i>(6%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/dom/pkg-summary.html b/docs/clover/org/dom4j/dom/pkg-summary.html
new file mode 100644
index 0000000..929f209
--- /dev/null
+++ b/docs/clover/org/dom4j/dom/pkg-summary.html
@@ -0,0 +1,403 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">3.495</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">438</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">2.065</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">14</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">13</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.dom
+	    </TD>
+   
+    <TD class="graphPercent" align="center">11,1%</TD>
+    <TD class="graphPercent" align="center">13,7%</TD>
+    <TD class="graphPercent" align="center">11,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>12,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="25" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="175" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="DOMCDATA.html" title="DOMCDATA">DOMCDATA</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMDocumentType.html" title="DOMDocumentType">DOMDocumentType</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMEntityReference.html" title="DOMEntityReference">DOMEntityReference</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMNodeHelper.html#EmptyNodeList" title="DOMNodeHelper.EmptyNodeList">DOMNodeHelper.EmptyNodeList</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMComment.html" title="DOMComment">DOMComment</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">2,6%</TD>
+    <TD class="graphPercent" align="center">2,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>2,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="5" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="195" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMAttribute.html" title="DOMAttribute">DOMAttribute</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">2,8%</TD>
+    <TD class="graphPercent" align="center">3,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>2,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="5" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="195" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMProcessingInstruction.html" title="DOMProcessingInstruction">DOMProcessingInstruction</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">2,8%</TD>
+    <TD class="graphPercent" align="center">3,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>2,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="5" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="195" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMNamespace.html" title="DOMNamespace">DOMNamespace</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">3,8%</TD>
+    <TD class="graphPercent" align="center">3,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>3,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="7" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="193" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMText.html" title="DOMText">DOMText</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">5,6%</TD>
+    <TD class="graphPercent" align="center">7,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="12" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="188" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMAttributeNodeMap.html" title="DOMAttributeNodeMap">DOMAttributeNodeMap</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">10%</TD>
+    <TD class="graphPercent" align="center">20%</TD>
+    <TD class="graphBarLeft" align="center"><B>10,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="21" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="179" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMNodeHelper.html" title="DOMNodeHelper">DOMNodeHelper</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">11%</TD>
+    <TD class="graphPercent" align="center">15,6%</TD>
+    <TD class="graphPercent" align="center">22,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>15,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="30" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="170" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMDocument.html" title="DOMDocument">DOMDocument</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">33,3%</TD>
+    <TD class="graphPercent" align="center">22,2%</TD>
+    <TD class="graphPercent" align="center">22%</TD>
+    <TD class="graphBarLeft" align="center"><B>22,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="45" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="155" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMElement.html" title="DOMElement">DOMElement</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">18,4%</TD>
+    <TD class="graphPercent" align="center">25,2%</TD>
+    <TD class="graphPercent" align="center">26%</TD>
+    <TD class="graphBarLeft" align="center"><B>24,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="48" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="152" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMDocumentFactory.html" title="DOMDocumentFactory">DOMDocumentFactory</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">46,5%</TD>
+    <TD class="graphPercent" align="center">44,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>41,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="83" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="117" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+   <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/dtd/AttributeDecl.html b/docs/clover/org/dom4j/dtd/AttributeDecl.html
new file mode 100644
index 0000000..99abc45
--- /dev/null
+++ b/docs/clover/org/dom4j/dtd/AttributeDecl.html
@@ -0,0 +1,955 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dtd\ AttributeDecl.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AttributeDecl.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">205</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">13</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">71</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AttributeDecl.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">84,8%</TD>
+    <TD class="graphPercent" align="center">53,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>78%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="156" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="44" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dtd;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AttributeDecl</code> represents an attribute declaration in a DTD.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AttributeDecl"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> AttributeDecl {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property elementName. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String elementName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property attributeName. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String attributeName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property type. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String type;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property value. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String value;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property valueDefault. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String valueDefault;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: method not entered.">    <span class="keyword">public</span> AttributeDecl() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: method entered 8 times.">    <span class="keyword">public</span> AttributeDecl(String elementName, String attributeName, String type,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String valueDefault, String value) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 8 times.">        <span class="keyword">this</span>.elementName = elementName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 8 times.">        <span class="keyword">this</span>.attributeName = attributeName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: statement executed 8 times.">        <span class="keyword">this</span>.type = type;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: statement executed 8 times.">        <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 8 times.">        <span class="keyword">this</span>.valueDefault = valueDefault;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property elementName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property elementName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: method entered 7 times.">    <span class="keyword">public</span> String getElementName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 7 times.">        <span class="keyword">return</span> elementName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property elementName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property elementName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setElementName(String elementName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        <span class="keyword">this</span>.elementName = elementName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property attributeName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property attributeName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: method entered 7 times.">    <span class="keyword">public</span> String getAttributeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: statement executed 7 times.">        <span class="keyword">return</span> attributeName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property attributeName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attributeName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property attributeName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributeName(String attributeName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">this</span>.attributeName = attributeName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: method entered 7 times.">    <span class="keyword">public</span> String getType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 7 times.">        <span class="keyword">return</span> type;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setType(String type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">        <span class="keyword">this</span>.type = type;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: method entered 4 times.">    <span class="keyword">public</span> String getValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: statement executed 4 times.">        <span class="keyword">return</span> value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setValue(String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">        <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property valueDefault.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property valueDefault.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: method entered 7 times.">    <span class="keyword">public</span> String getValueDefault() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 7 times.">        <span class="keyword">return</span> valueDefault;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property valueDefault.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> valueDefault</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property valueDefault.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setValueDefault(String valueDefault) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">        <span class="keyword">this</span>.valueDefault = valueDefault;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: method entered 11 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 142: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 142: statement executed 11 times.">        StringBuffer buffer = <span class="keyword">new</span> StringBuffer(<span class="string">"<!ATTLIST "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: statement executed 11 times.">        buffer.append(elementName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: statement executed 11 times.">        buffer.append(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: statement executed 11 times.">        buffer.append(attributeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 11 times.">        buffer.append(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: statement executed 11 times.">        buffer.append(type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 11 times.">        buffer.append(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 11 times.">        <span class="keyword">if</span> (valueDefault != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 10 times.">            buffer.append(valueDefault);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 153: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 153: statement executed 10 times.">            <span class="keyword">if</span> (valueDefault.equals(<span class="string">"#FIXED"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 1 time.">                buffer.append(<span class="string">" \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: statement executed 1 time.">                buffer.append(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 1 time.">                buffer.append(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 159: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 159: statement executed 1 time.">            buffer.append(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: statement executed 1 time.">            buffer.append(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: statement executed 1 time.">            buffer.append(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 11 times.">        buffer.append(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 11 times.">        <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dtd/ElementDecl.html b/docs/clover/org/dom4j/dtd/ElementDecl.html
new file mode 100644
index 0000000..7b3c00e
--- /dev/null
+++ b/docs/clover/org/dom4j/dtd/ElementDecl.html
@@ -0,0 +1,547 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dtd\ ElementDecl.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ElementDecl.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">111</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">26</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ElementDecl.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">71,4%</TD>
+    <TD class="graphPercent" align="center">57,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>64,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="128" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="72" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dtd;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AttributeDecl</code> represents an element declaration in a DTD.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ElementDecl"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> ElementDecl {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property name. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String name;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property model. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String model;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 25</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 25: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 25: method not entered.">    <span class="keyword">public</span> ElementDecl() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 28: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 28: method entered 11 times.">    <span class="keyword">public</span> ElementDecl(String name, String model) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 29: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 29: statement executed 11 times.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: statement executed 11 times.">        <span class="keyword">this</span>.model = model;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: method entered 11 times.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 11 times.">        <span class="keyword">return</span> name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 11 times.">    <span class="keyword">public</span> String getModel() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 11 times.">        <span class="keyword">return</span> model;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> model</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setModel(String model) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">        <span class="keyword">this</span>.model = model;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: method entered 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: method entered 18 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 72: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 72: statement executed 18 times.">        <span class="keyword">return</span> <span class="string">"<!ELEMENT "</span> + name + <span class="string">" "</span> + model + <span class="string">">"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dtd/ExternalEntityDecl.html b/docs/clover/org/dom4j/dtd/ExternalEntityDecl.html
new file mode 100644
index 0000000..2df8101
--- /dev/null
+++ b/docs/clover/org/dom4j/dtd/ExternalEntityDecl.html
@@ -0,0 +1,774 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dtd\ ExternalEntityDecl.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ExternalEntityDecl.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">162</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">9</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">56</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ExternalEntityDecl.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">89,3%</TD>
+    <TD class="graphPercent" align="center">55,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>80%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="160" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="40" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dtd;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ExternalEntityDecl</code> represents an external entity declaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * in a DTD.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ExternalEntityDecl"> 19</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> ExternalEntityDecl {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property name. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String name;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property publicID. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String publicID;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property systemID. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String systemID;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 29: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 29: method not entered.">    <span class="keyword">public</span> ExternalEntityDecl() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: method entered 4 times.">    <span class="keyword">public</span> ExternalEntityDecl(String name, String publicID, String systemID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: statement executed 4 times.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: statement executed 4 times.">        <span class="keyword">this</span>.publicID = publicID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: statement executed 4 times.">        <span class="keyword">this</span>.systemID = systemID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: method entered 2 times.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: statement executed 2 times.">        <span class="keyword">return</span> name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property publicID.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property publicID.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: method entered 2 times.">    <span class="keyword">public</span> String getPublicID() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 2 times.">        <span class="keyword">return</span> publicID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property publicID.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> publicID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property publicID.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPublicID(String publicID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">this</span>.publicID = publicID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property systemID.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property systemID.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: method entered 2 times.">    <span class="keyword">public</span> String getSystemID() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 2 times.">        <span class="keyword">return</span> systemID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property systemID.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property systemID.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setSystemID(String systemID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">        <span class="keyword">this</span>.systemID = systemID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: method entered 4 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 4 times.">        StringBuffer buffer = <span class="keyword">new</span> StringBuffer(<span class="string">"<!ENTITY "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: statement executed 4 times.">        <span class="keyword">if</span> (name.startsWith(<span class="string">"%"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 1 time.">            buffer.append(<span class="string">"% "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: statement executed 1 time.">            buffer.append(name.substring(1));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 3 times.">            buffer.append(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 105: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: statement executed 4 times.">        <span class="keyword">if</span> (publicID != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: statement executed 1 time.">            buffer.append(<span class="string">" PUBLIC \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: statement executed 1 time.">            buffer.append(publicID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 1 time.">            buffer.append(<span class="string">"\" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: expression evaluated to true 1 time, false 0 times.">            <span class="keyword">if</span> (systemID != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 111: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 111: statement executed 1 time.">                buffer.append(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 1 time.">                buffer.append(systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: statement executed 1 time.">                buffer.append(<span class="string">"\" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: expression evaluated to true 3 times, false 0 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (systemID != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 3 times.">            buffer.append(<span class="string">" SYSTEM \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 3 times.">            buffer.append(systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 118: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: statement executed 3 times.">            buffer.append(<span class="string">"\" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 121: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 121: statement executed 4 times.">        buffer.append(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 4 times.">        <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dtd/InternalEntityDecl.html b/docs/clover/org/dom4j/dtd/InternalEntityDecl.html
new file mode 100644
index 0000000..ea866d6
--- /dev/null
+++ b/docs/clover/org/dom4j/dtd/InternalEntityDecl.html
@@ -0,0 +1,825 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ dtd\ InternalEntityDecl.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="InternalEntityDecl.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">172</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">8</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">67</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   InternalEntityDecl.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">70%</TD>
+    <TD class="graphPercent" align="center">62,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>70,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="140" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="60" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.dtd;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>InternalEntityDecl</code> represents an internal entity declaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * in a DTD.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="InternalEntityDecl"> 19</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> InternalEntityDecl {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property name. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String name;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property value. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String value;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 26</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 26: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 26: method not entered.">    <span class="keyword">public</span> InternalEntityDecl() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 29: method entered 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 29: method entered 19 times.">    <span class="keyword">public</span> InternalEntityDecl(String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: statement executed 19 times.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: statement executed 19 times.">        <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: method entered 6 times.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 6 times.">        <span class="keyword">return</span> name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: method entered 6 times.">    <span class="keyword">public</span> String getValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 6 times.">        <span class="keyword">return</span> value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setValue(String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 72: method entered 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 72: method entered 22 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 22 times.">        StringBuffer buffer = <span class="keyword">new</span> StringBuffer(<span class="string">"<!ENTITY "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: statement executed 22 times.">        <span class="keyword">if</span> (name.startsWith(<span class="string">"%"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 10 times.">            buffer.append(<span class="string">"% "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 77: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 77: statement executed 10 times.">            buffer.append(name.substring(1));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: statement executed 12 times.">            buffer.append(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 22 times.">        buffer.append(<span class="string">" \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: statement executed 22 times.">        buffer.append(escapeEntityValue(value));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 22 times.">        buffer.append(<span class="string">"\">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 22 times.">        <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: method entered 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: method entered 22 times.">    <span class="keyword">private</span> String escapeEntityValue(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 22 times.">        StringBuffer result = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 22 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < text.length(); i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 167 times."> 167</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 167 times.">            <span class="keyword">char</span> c = text.charAt(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: statement executed 167 times."> 167</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 167 times.">            <span class="keyword">switch</span> (c) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">                <span class="keyword">case</span> '<':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">                    result.append(<span class="string">"&#38;#60;"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: statement executed 1 time.">                <span class="keyword">case</span> '>':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 1 time.">                    result.append(<span class="string">"&#62;"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 1 time.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">                <span class="keyword">case</span> '&':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">                    result.append(<span class="string">"&#38;#38;"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">                <span class="keyword">case</span> '\'':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">                    result.append(<span class="string">"&#39;"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 1 time.">                <span class="keyword">case</span> '\"':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 1 time.">                    result.append(<span class="string">"&#34;"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 119: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 119: statement executed 1 time.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 121: statement executed 165 times."> 165</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 121: statement executed 165 times.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: expression evaluated to true 0 times, false 165 times."> 165</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: expression evaluated to true 0 times, false 165 times.">                    <span class="keyword">if</span> (c < 32) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">                        result.append(<span class="string">"&#"</span> + (<span class="keyword">int</span>) c + <span class="string">";"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: statement executed 165 times."> 165</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: statement executed 165 times.">                        result.append(c);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 165 times."> 165</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 165 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: statement executed 22 times.">        <span class="keyword">return</span> result.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/dtd/pkg-classes.html b/docs/clover/org/dom4j/dtd/pkg-classes.html
new file mode 100644
index 0000000..862b5fb
--- /dev/null
+++ b/docs/clover/org/dom4j/dtd/pkg-classes.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.dtd">org.dom4j.dtd</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="AttributeDecl.html" title="AttributeDecl">AttributeDecl</A>
+    	    <i>(78%)</i><BR>
+    
+                <A target="classPane" href="ElementDecl.html" title="ElementDecl">ElementDecl</A>
+    	    <i>(64,3%)</i><BR>
+    
+                <A target="classPane" href="ExternalEntityDecl.html" title="ExternalEntityDecl">ExternalEntityDecl</A>
+    	    <i>(80%)</i><BR>
+    
+                <A target="classPane" href="InternalEntityDecl.html" title="InternalEntityDecl">InternalEntityDecl</A>
+    	    <i>(70,4%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/dtd/pkg-summary.html b/docs/clover/org/dom4j/dtd/pkg-summary.html
new file mode 100644
index 0000000..245feb3
--- /dev/null
+++ b/docs/clover/org/dom4j/dtd/pkg-summary.html
@@ -0,0 +1,195 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">650</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">37</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">220</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">4</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.dtd
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">79,6%</TD>
+    <TD class="graphPercent" align="center">56,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>74,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="149" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="51" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="ElementDecl.html" title="ElementDecl">ElementDecl</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">71,4%</TD>
+    <TD class="graphPercent" align="center">57,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>64,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="128" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="72" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="InternalEntityDecl.html" title="InternalEntityDecl">InternalEntityDecl</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">70%</TD>
+    <TD class="graphPercent" align="center">62,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>70,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="140" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="60" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AttributeDecl.html" title="AttributeDecl">AttributeDecl</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">84,8%</TD>
+    <TD class="graphPercent" align="center">53,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>78%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="156" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="44" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ExternalEntityDecl.html" title="ExternalEntityDecl">ExternalEntityDecl</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">89,3%</TD>
+    <TD class="graphPercent" align="center">55,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>80%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="160" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="40" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+   <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/io/DOMReader.html b/docs/clover/org/dom4j/io/DOMReader.html
new file mode 100644
index 0000000..5753fdd
--- /dev/null
+++ b/docs/clover/org/dom4j/io/DOMReader.html
@@ -0,0 +1,1454 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ DOMReader.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMReader.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">313</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">11</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">173</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMReader.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">82,4%</TD>
+    <TD class="graphPercent" align="center">77,5%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>78,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="156" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="44" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.NamespaceStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMReader</code> navigates a W3C DOM tree and creates a DOM4J tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.17 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMReader"> 30</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMReader {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>DocumentFactory</code> used to create new document objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory factory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** stack of <code>Namespace</code> and <code>QName</code> objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> NamespaceStack namespaceStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: method entered 20 times.">    <span class="keyword">public</span> DOMReader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: statement executed 20 times.">        <span class="keyword">this</span>.factory = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 20 times.">        <span class="keyword">this</span>.namespaceStack = <span class="keyword">new</span> NamespaceStack(factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> DOMReader(DocumentFactory factory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">this</span>.factory = factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">this</span>.namespaceStack = <span class="keyword">new</span> NamespaceStack(factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>DocumentFactory</code> used to create document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: method entered 20 times.">    <span class="keyword">public</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 20 times.">        <span class="keyword">return</span> factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This sets the <code>DocumentFactory</code> used to create new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * documents. This method allows the building of custom DOM4J tree objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to be implemented easily using a custom derivation of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link DocumentFactory}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> docFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>DocumentFactory</code> used to create DOM4J objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory docFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">this</span>.factory = docFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        <span class="keyword">this</span>.namespaceStack.setDocumentFactory(factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: method entered 20 times.">    <span class="keyword">public</span> Document read(org.w3c.dom.Document domDocument) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: expression evaluated to true 0 times, false 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: expression evaluated to true 0 times, false 20 times.">        <span class="keyword">if</span> (domDocument <span class="keyword">instanceof</span> Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">            <span class="keyword">return</span> (Document) domDocument;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 78: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: statement executed 20 times.">        Document document = createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 20 times.">        clearNamespaceStack();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 20 times.">        org.w3c.dom.NodeList nodeList = domDocument.getChildNodes();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 20 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = nodeList.getLength(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: statement executed 26 times.">            readTree(nodeList.item(i), document);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: statement executed 20 times.">        <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: method entered 14094 times."> 14094</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: method entered 14094 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> readTree(org.w3c.dom.Node node, Branch current) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 14094 times."> 14094</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 14094 times.">        Element element = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 14094 times."> 14094</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 14094 times.">        Document document = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 14094 times."> 14094</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 14094 times.">        <span class="keyword">if</span> (current <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: statement executed 14068 times."> 14068</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: statement executed 14068 times.">            element = (Element) current;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 26 times.">            document = (Document) current;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 14094 times."> 14094</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 14094 times.">        <span class="keyword">switch</span> (node.getNodeType()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 5119 times.">            <span class="keyword">case</span> org.w3c.dom.Node.ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 5119 times.">                readElement(node, current);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: statement executed 5119 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 2 times.">            <span class="keyword">case</span> org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: expression evaluated to true 0 times, false 2 times.">                <span class="keyword">if</span> (current <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">                    Element currentEl = (Element) current;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">                    currentEl.addProcessingInstruction(node.getNodeName(), node</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getNodeValue());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 2 times.">                    Document currentDoc = (Document) current;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 2 times.">                    currentDoc.addProcessingInstruction(node.getNodeName(),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            node.getNodeValue());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 120: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 120: statement executed 2 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 70 times.">            <span class="keyword">case</span> org.w3c.dom.Node.COMMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: statement executed 70 times.">                <span class="keyword">if</span> (current <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: statement executed 66 times."> 66</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 66 times.">                    ((Element) current).addComment(node.getNodeValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 4 times.">                    ((Document) current).addComment(node.getNodeValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 70 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: statement not executed.">            <span class="keyword">case</span> org.w3c.dom.Node.DOCUMENT_TYPE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">                org.w3c.dom.DocumentType domDocType </A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        = (org.w3c.dom.DocumentType) node;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">                document.addDocType(domDocType.getName(), domDocType</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .getPublicId(), domDocType.getSystemId());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 8873 times."> 8873</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 8873 times.">            <span class="keyword">case</span> org.w3c.dom.Node.TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 142: statement executed 8873 times."> 8873</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 142: statement executed 8873 times.">                element.addText(node.getNodeValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: statement executed 8873 times."> 8873</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: statement executed 8873 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 30 times.">            <span class="keyword">case</span> org.w3c.dom.Node.CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: statement executed 30 times.">                element.addCDATA(node.getNodeValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: statement executed 30 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">            <span class="keyword">case</span> org.w3c.dom.Node.ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// is there a better way to get the value of an entity?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">                org.w3c.dom.Node firstChild = node.getFirstChild();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">                <span class="keyword">if</span> (firstChild != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: statement not executed.">                    element.addEntity(node.getNodeName(), firstChild</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getNodeValue());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">                    element.addEntity(node.getNodeName(), <span class="string">""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">            <span class="keyword">case</span> org.w3c.dom.Node.ENTITY_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: statement not executed.">                element.addEntity(node.getNodeName(), node.getNodeValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">                System.out.println(<span class="string">"WARNING: Unknown DOM node type: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + node.getNodeType());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: method entered 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: method entered 5119 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> readElement(org.w3c.dom.Node node, Branch current) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 5119 times.">        <span class="keyword">int</span> previouslyDeclaredNamespaces = namespaceStack.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 5119 times.">        String namespaceUri = node.getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 180: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: statement executed 5119 times.">        String elementPrefix = node.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 182: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 182: statement executed 5119 times.">        <span class="keyword">if</span> (elementPrefix == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 4751 times."> 4751</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 4751 times.">            elementPrefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 186: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 186: statement executed 5119 times.">        org.w3c.dom.NamedNodeMap attributeList = node.getAttributes();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: statement executed 5119 times.">        <span class="keyword">if</span> ((attributeList != <span class="keyword">null</span>) && (namespaceUri == <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// test if we have an "xmlns" attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 190: statement executed 4686 times."> 4686</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: statement executed 4686 times.">            org.w3c.dom.Node attribute = attributeList.getNamedItem(<span class="string">"xmlns"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: statement executed 4686 times."> 4686</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 4686 times.">            <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 193: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: statement executed 2 times.">                namespaceUri = attribute.getNodeValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 194: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 194: statement executed 2 times.">                elementPrefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: statement executed 5119 times.">        QName qName = namespaceStack.getQName(namespaceUri,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                node.getLocalName(), node.getNodeName());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 5119 times.">        Element element = current.addElement(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 202: expression evaluated to true 5119 times, false 0 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 202: expression evaluated to true 5119 times, false 0 times.">        <span class="keyword">if</span> (attributeList != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 203: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 203: statement executed 5119 times.">            <span class="keyword">int</span> size = attributeList.getLength();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 204: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 204: statement executed 5119 times.">            List attributes = <span class="keyword">new</span> ArrayList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 206: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 206: statement executed 5119 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 207: statement executed 2829 times."> 2829</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 207: statement executed 2829 times.">                org.w3c.dom.Node attribute = attributeList.item(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Define all namespaces first then process attributes later</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 210: statement executed 2829 times."> 2829</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: statement executed 2829 times.">                String name = attribute.getNodeName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: statement executed 2829 times."> 2829</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: statement executed 2829 times.">                <span class="keyword">if</span> (name.startsWith(<span class="string">"xmlns"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 213: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 213: statement executed 52 times.">                    String prefix = getPrefix(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 214: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 214: statement executed 52 times.">                    String uri = attribute.getNodeValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 216: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 216: statement executed 52 times.">                    Namespace namespace = namespaceStack.addNamespace(prefix,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            uri);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 218: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 218: statement executed 52 times.">                    element.add(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 220: statement executed 2777 times."> 2777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 220: statement executed 2777 times.">                    attributes.add(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// now add the attributes, the namespaces should be available</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: statement executed 5119 times.">            size = attributes.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 227: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 227: statement executed 5119 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 228: statement executed 2777 times."> 2777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 228: statement executed 2777 times.">                org.w3c.dom.Node attribute = (org.w3c.dom.Node) attributes</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .get(i);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 230: statement executed 2777 times."> 2777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 230: statement executed 2777 times.">                QName attributeQName = namespaceStack.getQName(attribute</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .getNamespaceURI(), attribute.getLocalName(), attribute</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .getNodeName());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 233: statement executed 2777 times."> 2777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 233: statement executed 2777 times.">                element.addAttribute(attributeQName, attribute.getNodeValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Recurse on child nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 238: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 238: statement executed 5119 times.">        org.w3c.dom.NodeList children = node.getChildNodes();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 240: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 240: statement executed 5119 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = children.getLength(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 241: statement executed 14068 times."> 14068</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 241: statement executed 14068 times.">            org.w3c.dom.Node child = children.item(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 242: statement executed 14068 times."> 14068</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 242: statement executed 14068 times.">            readTree(child, element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// pop namespaces from the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 246: statement executed 5119 times."> 5119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 246: statement executed 5119 times.">        <span class="keyword">while</span> (namespaceStack.size() > previouslyDeclaredNamespaces) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 247: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 247: statement executed 52 times.">            namespaceStack.pop();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 251: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 251: method not entered.">    <span class="keyword">protected</span> Namespace getNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: statement not executed.">        <span class="keyword">return</span> getDocumentFactory().createNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 255: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: method entered 20 times.">    <span class="keyword">protected</span> Document createDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 256: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 256: statement executed 20 times.">        <span class="keyword">return</span> getDocumentFactory().createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 259: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 259: method entered 20 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> clearNamespaceStack() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 260: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 260: statement executed 20 times.">        namespaceStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 262: expression evaluated to true 20 times, false 0 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 262: expression evaluated to true 20 times, false 0 times.">        <span class="keyword">if</span> (!namespaceStack.contains(Namespace.XML_NAMESPACE)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 263: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 263: statement executed 20 times.">            namespaceStack.push(Namespace.XML_NAMESPACE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 267: method entered 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 267: method entered 52 times.">    <span class="keyword">private</span> String getPrefix(String xmlnsDecl) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 268: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 268: statement executed 52 times.">        <span class="keyword">int</span> index = xmlnsDecl.indexOf(':', 5);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: statement executed 52 times.">        <span class="keyword">if</span> (index != -1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: statement executed 30 times.">            <span class="keyword">return</span> xmlnsDecl.substring(index + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 273: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 273: statement executed 22 times.">            <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/DOMWriter.html b/docs/clover/org/dom4j/io/DOMWriter.html
new file mode 100644
index 0000000..2a8defe
--- /dev/null
+++ b/docs/clover/org/dom4j/io/DOMWriter.html
@@ -0,0 +1,1840 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ DOMWriter.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DOMWriter.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">402</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">21</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">254</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DOMWriter.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">69,2%</TD>
+    <TD class="graphPercent" align="center">65,6%</TD>
+    <TD class="graphPercent" align="center">71,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>67,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="134" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="66" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.NamespaceStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.w3c.dom.DOMImplementation;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DOMWriter</code> takes a DOM4J tree and outputs it as a W3C DOM</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.17 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DOMWriter"> 35</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DOMWriter {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">boolean</span> loggedWarning = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String[] DEFAULT_DOM_DOCUMENT_CLASSES = {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"org.apache.xerces.dom.DocumentImpl"</span>, <span class="comment">// Xerces</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"gnu.xml.dom.DomDocument"</span>, <span class="comment">// GNU JAXP</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"org.apache.crimson.tree.XmlDocument"</span>, <span class="comment">// Crimson</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"com.sun.xml.tree.XmlDocument"</span>, <span class="comment">// Sun's Project X</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"oracle.xml.parser.v2.XMLDocument"</span>, <span class="comment">// Oracle V2</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"oracle.xml.parser.XMLDocument"</span>, <span class="comment">// Oracle V1</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"org.dom4j.dom.DOMDocument"</span> <span class="comment">// Internal DOM implementation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    };</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// the Class used to create new DOM Document instances</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Class domDocumentClass;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** stack of <code>Namespace</code> objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> NamespaceStack namespaceStack = <span class="keyword">new</span> NamespaceStack();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: method entered 14 times.">    <span class="keyword">public</span> DOMWriter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 2 times.">    <span class="keyword">public</span> DOMWriter(Class domDocumentClass) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 2 times.">        <span class="keyword">this</span>.domDocumentClass = domDocumentClass;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> Class getDomDocumentClass() <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        Class result = domDocumentClass;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        <span class="keyword">if</span> (result == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// lets try and find one in the classpath</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">            <span class="keyword">int</span> size = DEFAULT_DOM_DOCUMENT_CLASSES.length;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">                <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">                    String name = DEFAULT_DOM_DOCUMENT_CLASSES[i];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">                    result = Class.forName(name, <span class="keyword">true</span>, DOMWriter.<span class="keyword">class</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getClassLoader());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">                    <span class="keyword">if</span> (result != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">                        <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// could not load class correctly</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// lets carry on to the next one</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the DOM {@link org.w3c.dom.Document}implementation class used by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the writer when creating DOM documents.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> domDocumentClass</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Class implementing the {@linkorg.w3c.dom.Document}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDomDocumentClass(Class domDocumentClass) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">        <span class="keyword">this</span>.domDocumentClass = domDocumentClass;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the DOM {@link org.w3c.dom.Document}implementation class name used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * by the writer when creating DOM documents.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the Class implementing the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            org.w3c.dom.Document} interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the class could not be loaded</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDomDocumentClassName(String name) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">            <span class="keyword">this</span>.domDocumentClass = Class.forName(name, <span class="keyword">true</span>, DOMWriter.<span class="keyword">class</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .getClassLoader());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(<span class="string">"Could not load the DOM Document "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">"class: "</span> + name, e);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 120: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 120: method entered 16 times.">    <span class="keyword">public</span> org.w3c.dom.Document write(Document document)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 16 times.">        <span class="keyword">if</span> (document <span class="keyword">instanceof</span> org.w3c.dom.Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 1 time.">            <span class="keyword">return</span> (org.w3c.dom.Document) document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: statement executed 15 times.">        resetNamespaceStack();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 15 times.">        org.w3c.dom.Document domDocument = createDomDocument(document);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 15 times.">        appendDOMTree(domDocument, domDocument, document.content());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 15 times.">        namespaceStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 15 times.">        <span class="keyword">return</span> domDocument;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: method not entered.">    <span class="keyword">public</span> org.w3c.dom.Document write(Document document,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.DOMImplementation domImpl) <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">if</span> (document <span class="keyword">instanceof</span> org.w3c.dom.Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">            <span class="keyword">return</span> (org.w3c.dom.Document) document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        resetNamespaceStack();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">        org.w3c.dom.Document domDocument = createDomDocument(document, domImpl);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">        appendDOMTree(domDocument, domDocument, document.content());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">        namespaceStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: statement not executed.">        <span class="keyword">return</span> domDocument;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: method entered 4838 times."> 4838</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: method entered 4838 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> appendDOMTree(org.w3c.dom.Document domDocument,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node domCurrent, List content) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 4838 times."> 4838</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 4838 times.">        <span class="keyword">int</span> size = content.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 4838 times."> 4838</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 4838 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: statement executed 13249 times."> 13249</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: statement executed 13249 times.">            Object object = content.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: statement executed 13249 times."> 13249</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: statement executed 13249 times.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 158: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 158: statement executed 4823 times.">                appendDOMTree(domDocument, domCurrent, (Element) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: expression evaluated to true 0 times, false 8426 times."> 8426</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: expression evaluated to true 0 times, false 8426 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> String) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">                appendDOMTree(domDocument, domCurrent, (String) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: statement executed 8426 times."> 8426</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: statement executed 8426 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: statement executed 8293 times."> 8293</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: statement executed 8293 times.">                Text text = (Text) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: statement executed 8293 times."> 8293</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: statement executed 8293 times.">                appendDOMTree(domDocument, domCurrent, text.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 133 times."> 133</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 133 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> CDATA) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: statement executed 30 times.">                appendDOMTree(domDocument, domCurrent, (CDATA) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 103 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: statement executed 68 times."> 68</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: statement executed 68 times.">                appendDOMTree(domDocument, domCurrent, (Comment) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: expression evaluated to true 0 times, false 35 times."> 35</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: expression evaluated to true 0 times, false 35 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Entity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: statement not executed.">                appendDOMTree(domDocument, domCurrent, (Entity) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 170: statement executed 35 times."> 35</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 170: statement executed 35 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 2 times.">                appendDOMTree(domDocument, domCurrent,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        (ProcessingInstruction) object);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: method entered 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: method entered 4823 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> appendDOMTree(org.w3c.dom.Document domDocument,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node domCurrent, Element element) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 4823 times.">        String elUri = element.getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 180: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: statement executed 4823 times.">        String elName = element.getQualifiedName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 181: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 181: statement executed 4823 times.">        org.w3c.dom.Element domElement = domDocument.createElementNS(elUri,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                elName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: statement executed 4823 times.">        <span class="keyword">int</span> stackSize = namespaceStack.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// add the namespace of the element first</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 4823 times.">        Namespace elementNamespace = element.getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 4823 times.">        <span class="keyword">if</span> (isNamespaceDeclaration(elementNamespace)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 190: statement executed 27 times."> 27</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: statement executed 27 times.">            namespaceStack.push(elementNamespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: statement executed 27 times."> 27</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: statement executed 27 times.">            writeNamespace(domElement, elementNamespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// add the additional declared namespaces</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: statement executed 4823 times.">        List declaredNamespaces = element.declaredNamespaces();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 197: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 197: statement executed 4823 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = declaredNamespaces.size(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: statement executed 33 times.">            Namespace namespace = (Namespace) declaredNamespaces.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 33 times.">            <span class="keyword">if</span> (isNamespaceDeclaration(namespace)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 6 times.">                namespaceStack.push(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 6 times.">                writeNamespace(domElement, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// add the attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 207: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 207: statement executed 4823 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = element.attributeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 208: statement executed 2492 times."> 2492</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 208: statement executed 2492 times.">            Attribute attribute = (Attribute) element.attribute(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 209: statement executed 2492 times."> 2492</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 209: statement executed 2492 times.">            String attUri = attribute.getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 210: statement executed 2492 times."> 2492</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: statement executed 2492 times.">            String attName = attribute.getQualifiedName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 2492 times."> 2492</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 2492 times.">            String value = attribute.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: statement executed 2492 times."> 2492</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: statement executed 2492 times.">            domElement.setAttributeNS(attUri, attName, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// add content</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 216: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 216: statement executed 4823 times.">        appendDOMTree(domDocument, domElement, element.content());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 218: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 218: statement executed 4823 times.">        domCurrent.appendChild(domElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 220: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 220: statement executed 4823 times.">        <span class="keyword">while</span> (namespaceStack.size() > stackSize) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 221: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 221: statement executed 33 times.">            namespaceStack.pop();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: method entered 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: method entered 30 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> appendDOMTree(org.w3c.dom.Document domDocument,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node domCurrent, CDATA cdata) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 227: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 227: statement executed 30 times.">        org.w3c.dom.CDATASection domCDATA = domDocument</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .createCDATASection(cdata.getText());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 229: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 229: statement executed 30 times.">        domCurrent.appendChild(domCDATA);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 232: method entered 68 times."> 68</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 232: method entered 68 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> appendDOMTree(org.w3c.dom.Document domDocument,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node domCurrent, Comment comment) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 234: statement executed 68 times."> 68</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 234: statement executed 68 times.">        org.w3c.dom.Comment domComment = domDocument.createComment(comment</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getText());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 236: statement executed 68 times."> 68</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 236: statement executed 68 times.">        domCurrent.appendChild(domComment);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 239: method entered 8293 times."> 8293</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 239: method entered 8293 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> appendDOMTree(org.w3c.dom.Document domDocument,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node domCurrent, String text) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 241: statement executed 8293 times."> 8293</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 241: statement executed 8293 times.">        org.w3c.dom.Text domText = domDocument.createTextNode(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 242: statement executed 8293 times."> 8293</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 242: statement executed 8293 times.">        domCurrent.appendChild(domText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> appendDOMTree(org.w3c.dom.Document domDocument,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node domCurrent, Entity entity) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: statement not executed.">        org.w3c.dom.EntityReference domEntity = domDocument</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .createEntityReference(entity.getName());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 249: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: statement not executed.">        domCurrent.appendChild(domEntity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 252: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 252: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> appendDOMTree(org.w3c.dom.Document domDoc,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.w3c.dom.Node domCurrent, ProcessingInstruction pi) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 254: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: statement executed 2 times.">        org.w3c.dom.ProcessingInstruction domPI = domDoc</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .createProcessingInstruction(pi.getTarget(), pi.getText());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 256: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 256: statement executed 2 times.">        domCurrent.appendChild(domPI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 259: method entered 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 259: method entered 33 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeNamespace(org.w3c.dom.Element domElement,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Namespace namespace) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 261: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 261: statement executed 33 times.">        String attributeName = attributeNameForNamespace(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// domElement.setAttributeNS("", attributeName, namespace.getURI());</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 264: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 264: statement executed 33 times.">        domElement.setAttribute(attributeName, namespace.getURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 267: method entered 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 267: method entered 33 times.">    <span class="keyword">protected</span> String attributeNameForNamespace(Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 268: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 268: statement executed 33 times.">        String xmlns = <span class="string">"xmlns"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 269: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 269: statement executed 33 times.">        String prefix = namespace.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: statement executed 33 times.">        <span class="keyword">if</span> (prefix.length() > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 272: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 272: statement executed 22 times.">            <span class="keyword">return</span> xmlns + <span class="string">":"</span> + prefix;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 275: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 275: statement executed 11 times.">        <span class="keyword">return</span> xmlns;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 278: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 278: method entered 15 times.">    <span class="keyword">protected</span> org.w3c.dom.Document createDomDocument(Document document)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 280: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 280: statement executed 15 times.">        org.w3c.dom.Document result = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// use the given domDocumentClass (if not null)</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 283: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 283: statement executed 15 times.">        <span class="keyword">if</span> (domDocumentClass != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 284: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 284: statement executed 2 times.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 285</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 285: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 285: statement executed 2 times.">                result = (org.w3c.dom.Document) domDocumentClass.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 287: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="string">"Could not instantiate an instance "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + <span class="string">"of DOM Document with class: "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + domDocumentClass.getName(), e);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// lets try JAXP first before using the hardcoded default parsers</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 294</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 294: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 294: statement executed 13 times.">            result = createDomDocumentViaJAXP();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 296: expression evaluated to true 0 times, false 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 296: expression evaluated to true 0 times, false 13 times.">            <span class="keyword">if</span> (result == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 297: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 297: statement not executed.">                Class theClass = getDomDocumentClass();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 299: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 299: statement not executed.">                <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 300: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: statement not executed.">                    result = (org.w3c.dom.Document) theClass.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 302: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 302: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(<span class="string">"Could not instantiate an "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">"instance of DOM Document "</span> + <span class="string">"with class: "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + theClass.getName(), e);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 309</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 309: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 309: statement executed 15 times.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 312: method entered 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 312: method entered 13 times.">    <span class="keyword">protected</span> org.w3c.dom.Document createDomDocumentViaJAXP()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 314: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 314: statement executed 13 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 315: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 315: statement executed 13 times.">            <span class="keyword">return</span> JAXPHelper.createDocument(<span class="keyword">false</span>, <span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Throwable e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 317: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 317: statement not executed.">            <span class="keyword">if</span> (!loggedWarning) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 318: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 318: statement not executed.">                loggedWarning = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 320: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 320: statement not executed.">                <span class="keyword">if</span> (SAXHelper.isVerboseErrorReporting()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// log all exceptions as warnings and carry</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// on as we have a default SAX parser we can use</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 323</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 323: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 323: statement not executed.">                    System.out.println(<span class="string">"Warning: Caught exception attempting "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">"to use JAXP to create a W3C DOM "</span> + <span class="string">"document"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 325</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 325: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 325: statement not executed.">                    System.out.println(<span class="string">"Warning: Exception was: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 326</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 326: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 326: statement not executed.">                    e.printStackTrace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 328: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 328: statement not executed.">                    System.out.println(<span class="string">"Warning: Error occurred using JAXP to "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">"create a DOM document."</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 334</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 334: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 334: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 337: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 337: method not entered.">    <span class="keyword">protected</span> org.w3c.dom.Document createDomDocument(Document document,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            DOMImplementation domImpl) <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 339: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 339: statement not executed.">        String namespaceURI = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 340: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: statement not executed.">        String qualifiedName = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 341</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 341: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 341: statement not executed.">        org.w3c.dom.DocumentType docType = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 343</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 343: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 343: statement not executed.">        <span class="keyword">return</span> domImpl.createDocument(namespaceURI, qualifiedName, docType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 346</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 346: method entered 4856 times."> 4856</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 346: method entered 4856 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> isNamespaceDeclaration(Namespace ns) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 347</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 347: statement executed 4856 times."> 4856</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 347: statement executed 4856 times.">        <span class="keyword">if</span> ((ns != <span class="keyword">null</span>) && (ns != Namespace.NO_NAMESPACE)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                && (ns != Namespace.XML_NAMESPACE)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 349</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 349: statement executed 172 times."> 172</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 349: statement executed 172 times.">            String uri = ns.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 351</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 351: expression evaluated to true 172 times, false 0 times."> 172</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 351: expression evaluated to true 172 times, false 0 times.">            <span class="keyword">if</span> ((uri != <span class="keyword">null</span>) && (uri.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 352: statement executed 172 times."> 172</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 352: statement executed 172 times.">                <span class="keyword">if</span> (!namespaceStack.contains(ns)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 353: statement executed 33 times."> 33</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 353: statement executed 33 times.">                    <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 358</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 358: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 358: statement executed 4823 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 361</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 361: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 361: method entered 15 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> resetNamespaceStack() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 362: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 362: statement executed 15 times.">        namespaceStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 363</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 363: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 363: statement executed 15 times.">        namespaceStack.push(Namespace.XML_NAMESPACE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/DispatchHandler.html b/docs/clover/org/dom4j/io/DispatchHandler.html
new file mode 100644
index 0000000..5208e4b
--- /dev/null
+++ b/docs/clover/org/dom4j/io/DispatchHandler.html
@@ -0,0 +1,1159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ DispatchHandler.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DispatchHandler.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">255</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">11</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">84</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DispatchHandler.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">64,1%</TD>
+    <TD class="graphPercent" align="center">36,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>62,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="125" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="75" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DispatchHandler</code> implements the <code>ElementHandler</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * interface and provides a means to register multiple</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ElementHandler</code> instances to be used by an event based</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * processor. This is a special <code>ElementHandler</code> in that it's</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <b>onStart </b> and <b>onEnd </b> implementation methods are called for every</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * element encountered during the parse. It then delegates to other</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ElementHandler</code> instances registered with it to process the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * elements encountered.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:dwhite at equipecom.com">Dave White </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.11 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DispatchHandler"> 32</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> DispatchHandler <span class="keyword">implements</span> ElementHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Whether the parser is at the root element or not */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> atRoot;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The current path in the XML tree (i.e. /a/b/c) */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String path;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** maintains a stack of previously encountered paths */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ArrayList pathStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** maintains a stack of previously encountered handlers */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ArrayList handlerStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>HashMap</code> maintains the mapping between element paths and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * handlers</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> HashMap handlers;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>ElementHandler</code> to use by default for element paths with no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * handlers registered</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ElementHandler defaultHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 21 times.">    <span class="keyword">public</span> DispatchHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 21 times.">        atRoot = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 21 times.">        path = <span class="string">"/"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: statement executed 21 times.">        pathStack = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 21 times.">        handlerStack = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: statement executed 21 times.">        handlers = <span class="keyword">new</span> HashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the <code>ElementHandler</code> to be called when the specified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path is encounted.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handlerPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to be handled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: method entered 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: method entered 21 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addHandler(String handlerPath, ElementHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 21 times.">        handlers.put(handlerPath, handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the <code>ElementHandler</code> from the event based processor,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for the specified path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handlerPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to remove the <code>ElementHandler</code> for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: method not entered.">    <span class="keyword">public</span> ElementHandler removeHandler(String handlerPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">return</span> (ElementHandler) handlers.remove(handlerPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handlerPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true when an <code>ElementHandler</code> is registered for the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         specified path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> containsHandler(String handlerPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">return</span> handlers.containsKey(handlerPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Get the registered {@link ElementHandler}for the specified path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handlerPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            XML path to get the handler for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the registered handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: method not entered.">    <span class="keyword">public</span> ElementHandler getHandler(String handlerPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">        <span class="keyword">return</span> (ElementHandler) handlers.get(handlerPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the number of {@link ElementHandler}objects that are waiting for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * their elements closing tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> number of active handlers</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getActiveHandlerCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">        <span class="keyword">return</span> handlerStack.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * When multiple <code>ElementHandler</code> instances have been</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * registered, this will set a default <code>ElementHandler</code> to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * called for any path which does <b>NOT </b> have a handler registered.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDefaultHandler(ElementHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        defaultHandler = handler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Used to remove all the Element Handlers and return things back to the way</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * they were when object was created.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> resetHandlers() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">        atRoot = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">        path = <span class="string">"/"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: statement not executed.">        pathStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">        handlerStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">        handlers.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        defaultHandler = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the current path for the parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: method not entered.">    <span class="keyword">public</span> String getPath() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        <span class="keyword">return</span> path;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// The following methods implement the ElementHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: method entered 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: method entered 78 times.">    <span class="keyword">public</span> <span class="keyword">void</span> onStart(ElementPath elementPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 78 times.">        Element element = elementPath.getCurrent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Save the location of the last (i.e. parent) path</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: statement executed 78 times.">        pathStack.add(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Calculate the new path</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 170: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 170: statement executed 78 times.">        <span class="keyword">if</span> (atRoot) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 18 times.">            path = path + element.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 172: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 172: statement executed 18 times.">            atRoot = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 174: statement executed 60 times."> 60</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 174: statement executed 60 times.">            path = path + <span class="string">"/"</span> + element.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 78 times.">        <span class="keyword">if</span> ((handlers != <span class="keyword">null</span>) && (handlers.containsKey(path))) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// The current node has a handler associated with it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Find the handler and save it on the handler stack.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 180: statement executed 54 times."> 54</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: statement executed 54 times.">            ElementHandler handler = (ElementHandler) handlers.get(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 181: statement executed 54 times."> 54</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 181: statement executed 54 times.">            handlerStack.add(handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Call the handlers onStart method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: statement executed 54 times."> 54</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: statement executed 54 times.">            handler.onStart(elementPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// No handler is associated with this node, so use the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// defaultHandler it it exists.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: expression evaluated to true 0 times, false 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: expression evaluated to true 0 times, false 24 times.">            <span class="keyword">if</span> (handlerStack.isEmpty() && (defaultHandler != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">                defaultHandler.onStart(elementPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 194: method entered 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 194: method entered 78 times.">    <span class="keyword">public</span> <span class="keyword">void</span> onEnd(ElementPath elementPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: statement executed 78 times.">        <span class="keyword">if</span> ((handlers != <span class="keyword">null</span>) && (handlers.containsKey(path))) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// This node has a handler associated with it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Find the handler and pop it from the handler stack.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: statement executed 54 times."> 54</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: statement executed 54 times.">            ElementHandler handler = (ElementHandler) handlers.get(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 54 times."> 54</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 54 times.">            handlerStack.remove(handlerStack.size() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Call the handlers onEnd method</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 54 times."> 54</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 54 times.">            handler.onEnd(elementPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// No handler is associated with this node, so use the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// defaultHandler it it exists.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: expression evaluated to true 0 times, false 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: expression evaluated to true 0 times, false 24 times.">            <span class="keyword">if</span> (handlerStack.isEmpty() && (defaultHandler != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">                defaultHandler.onEnd(elementPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Set path back to its parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: statement executed 78 times.">        path = (String) pathStack.remove(pathStack.size() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 214: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 214: statement executed 78 times.">        <span class="keyword">if</span> (pathStack.size() == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 215: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 215: statement executed 18 times.">            atRoot = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/DocumentInputSource.html b/docs/clover/org/dom4j/io/DocumentInputSource.html
new file mode 100644
index 0000000..d49744e
--- /dev/null
+++ b/docs/clover/org/dom4j/io/DocumentInputSource.html
@@ -0,0 +1,703 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ DocumentInputSource.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DocumentInputSource.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">148</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">8</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">45</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DocumentInputSource.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">21,4%</TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphBarLeft" align="center"><B>22,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="45" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="155" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Reader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DocumentInputSource</code> implements a SAX {@link InputSource}for a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link Document}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DocumentInputSource"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> DocumentInputSource <span class="keyword">extends</span> InputSource {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The document source */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Document document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">public</span> DocumentInputSource() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: method entered 8 times.">    <span class="keyword">public</span> DocumentInputSource(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 8 times.">        <span class="keyword">this</span>.document = document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: statement executed 8 times.">        setSystemId(document.getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the document which is being used as the SAX {@link InputSource}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: method entered 8 times.">    <span class="keyword">public</span> Document getDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: statement executed 8 times.">        <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the document used as the SAX {@link InputSource}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocument(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        <span class="keyword">this</span>.document = document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        setSystemId(document.getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Overloaded methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is not supported as this source is always a {@linkDocument}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> characterStream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> UnsupportedOperationException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             as this method is unsupported</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setCharacterStream(Reader characterStream)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> UnsupportedOperationException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Note this method is quite inefficent, it turns the in memory XML tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * object model into a single block of text which can then be read by other</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XML parsers. Should only be used with care.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: method not entered.">    <span class="keyword">public</span> Reader getCharacterStream() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">            StringWriter out = <span class="keyword">new</span> StringWriter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">            XMLWriter writer = <span class="keyword">new</span> XMLWriter(out);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">            writer.write(document);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">            writer.flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> StringReader(out.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (final IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// this should never really happen</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// but for completeness we'll return a Reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// with the embedded exception inside it</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> Reader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">                <span class="keyword">public</span> <span class="keyword">int</span> read(<span class="keyword">char</span>[] ch, <span class="keyword">int</span> offset, <span class="keyword">int</span> length)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">                    <span class="keyword">throw</span> e;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: method not entered.">                <span class="keyword">public</span> <span class="keyword">void</span> close() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            };</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/DocumentResult.html b/docs/clover/org/dom4j/io/DocumentResult.html
new file mode 100644
index 0000000..aaaa245
--- /dev/null
+++ b/docs/clover/org/dom4j/io/DocumentResult.html
@@ -0,0 +1,505 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ DocumentResult.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DocumentResult.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">100</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">5</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">31</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DocumentResult.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">45,5%</TD>
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphBarLeft" align="center"><B>40%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="80" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="120" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.transform.sax.SAXResult;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ContentHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ext.LexicalHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DocumentResult</code> implements a JAXP {@link SAXResult}for a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link Document}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DocumentResult"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DocumentResult <span class="keyword">extends</span> SAXResult {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> SAXContentHandler contentHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 29: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 29: method entered 6 times.">    <span class="keyword">public</span> DocumentResult() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: statement executed 6 times.">        <span class="keyword">this</span>(<span class="keyword">new</span> SAXContentHandler());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: method entered 6 times.">    <span class="keyword">public</span> DocumentResult(SAXContentHandler contentHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: statement executed 6 times.">        <span class="keyword">this</span>.contentHandler = contentHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: statement executed 6 times.">        <span class="keyword">super</span>.setHandler(<span class="keyword">this</span>.contentHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 6 times.">        <span class="keyword">super</span>.setLexicalHandler(<span class="keyword">this</span>.contentHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the Document created by the transformation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: method entered 6 times.">    <span class="keyword">public</span> Document getDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: statement executed 6 times.">        <span class="keyword">return</span> contentHandler.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Overloaded methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setHandler(ContentHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">if</span> (handler <span class="keyword">instanceof</span> SAXContentHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">            <span class="keyword">this</span>.contentHandler = (SAXContentHandler) handler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">            <span class="keyword">super</span>.setHandler(<span class="keyword">this</span>.contentHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setLexicalHandler(LexicalHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">if</span> (handler <span class="keyword">instanceof</span> SAXContentHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">            <span class="keyword">this</span>.contentHandler = (SAXContentHandler) handler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">            <span class="keyword">super</span>.setLexicalHandler(<span class="keyword">this</span>.contentHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/DocumentSource.html b/docs/clover/org/dom4j/io/DocumentSource.html
new file mode 100644
index 0000000..5b06981
--- /dev/null
+++ b/docs/clover/org/dom4j/io/DocumentSource.html
@@ -0,0 +1,853 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ DocumentSource.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DocumentSource.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">184</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">56</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DocumentSource.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">14,3%</TD>
+    <TD class="graphPercent" align="center">42,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>16,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="33" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="167" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.transform.sax.SAXSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLFilter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DocumentSource</code> implements a JAXP {@link SAXSource}for a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@linkDocument}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DocumentSource"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DocumentSource <span class="keyword">extends</span> SAXSource {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If {@link javax.xml.transform.TransformerFactory#getFeature}returns</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>true</code> when passed this value as an argument then the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Transformer natively supports <i>dom4j </i>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final String DOM4J_FEATURE </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            = <span class="string">"http://org.dom4j.io.DoucmentSource/feature"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The XMLReader to use */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLReader xmlReader = <span class="keyword">new</span> SAXWriter();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a JAXP {@link SAXSource}for the given {@link Node}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">public</span> DocumentSource(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        setDocument(node.getDocument());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a JAXP {@link SAXSource}for the given {@link Document}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: method entered 8 times.">    <span class="keyword">public</span> DocumentSource(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 8 times.">        setDocument(document);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the document which is being used as the JAXP {@link SAXSource}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> Document getDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        DocumentInputSource source = (DocumentInputSource) getInputSource();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        <span class="keyword">return</span> source.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the document used as the JAXP {@link SAXSource}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocument(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 8 times.">        <span class="keyword">super</span>.setInputSource(<span class="keyword">new</span> DocumentInputSource(document));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Overloaded methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XMLReader to be used for the JAXP {@link SAXSource}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: method entered 8 times.">    <span class="keyword">public</span> XMLReader getXMLReader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 8 times.">        <span class="keyword">return</span> xmlReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is not supported as this source is always a {@linkDocument}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> inputSource</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> UnsupportedOperationException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             as this method is unsupported</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setInputSource(InputSource inputSource)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> UnsupportedOperationException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">        <span class="keyword">if</span> (inputSource <span class="keyword">instanceof</span> DocumentInputSource) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">            <span class="keyword">super</span>.setInputSource((DocumentInputSource) inputSource);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the XMLReader used for the JAXP {@link SAXSource}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> UnsupportedOperationException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLReader(XMLReader reader)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> UnsupportedOperationException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        <span class="keyword">if</span> (reader <span class="keyword">instanceof</span> SAXWriter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">            <span class="keyword">this</span>.xmlReader = (SAXWriter) reader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (reader <span class="keyword">instanceof</span> XMLFilter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">            XMLFilter filter = (XMLFilter) reader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">            <span class="keyword">while</span> (<span class="keyword">true</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">                XMLReader parent = filter.getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">                <span class="keyword">if</span> (parent <span class="keyword">instanceof</span> XMLFilter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">                    filter = (XMLFilter) parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// install filter in SAXWriter....</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">            filter.setParent(xmlReader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">            xmlReader = filter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/ElementModifier.html b/docs/clover/org/dom4j/io/ElementModifier.html
new file mode 100644
index 0000000..6233534
--- /dev/null
+++ b/docs/clover/org/dom4j/io/ElementModifier.html
@@ -0,0 +1,394 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ ElementModifier.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ElementModifier.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">77</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">5</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ElementModifier.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ElementModifier defines a modifier of {@link org.dom4j.Element}objects. <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * It can be used in the event based {@link org.dom4j.io.SAXModifier}, in order</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to modify elements on the fly, rather than waiting until the complete</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * document is parsed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ElementModifier"> 20</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> ElementModifier {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called by an event based processor when an elements closing tag is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * encountered. This method must return the modified version of the provided</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link org.dom4j.Element}or null if it has to be removed from the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document. <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The incoming {@link org.dom4j.Element}is disconnected from the DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * tree. This means that navigation to the elements parent {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.dom4j.Element} and {@link org.dom4j.Document}are not available. Only</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the element itself can be modified!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            {@link org.dom4j.Element}to be parsed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the modified {@link org.dom4j.Element}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             of any kind</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element modifyElement(Element element) <span class="keyword">throws</span> Exception;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/ElementStack.html b/docs/clover/org/dom4j/io/ElementStack.html
new file mode 100644
index 0000000..1cd3f4f
--- /dev/null
+++ b/docs/clover/org/dom4j/io/ElementStack.html
@@ -0,0 +1,1018 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ ElementStack.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ElementStack.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">218</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">17</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">92</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ElementStack.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphPercent" align="center">32,5%</TD>
+    <TD class="graphPercent" align="center">47,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>35,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="70" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="130" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ElementStack</code> is used internally inside the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SAXContentHandler} to maintain a stack of {@link Element}instances. It opens</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * an integration possibility allowing derivations to prune the tree when a node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * is complete.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.14 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ElementStack"> 25</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> ElementStack <span class="keyword">implements</span> ElementPath {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** stack of <code>Element</code> objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Element[] stack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** index of the item at the top of the stack or -1 if the stack is empty */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">int</span> lastElementIndex = -1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DispatchHandler handler = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: method entered 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: method entered 5811 times.">    <span class="keyword">public</span> ElementStack() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: statement executed 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: statement executed 5811 times.">        <span class="keyword">this</span>(50);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: method entered 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: method entered 5811 times.">    <span class="keyword">public</span> ElementStack(<span class="keyword">int</span> defaultCapacity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 5811 times.">        stack = <span class="keyword">new</span> Element[defaultCapacity];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: method entered 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: method entered 18 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDispatchHandler(DispatchHandler dispatchHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 18 times.">        <span class="keyword">this</span>.handler = dispatchHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">public</span> DispatchHandler getDispatchHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>.handler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Peeks at the top element on the stack without changing the contents of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the stack.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: method entered 11628 times."> 11628</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: method entered 11628 times.">    <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 11628 times."> 11628</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 11628 times.">        lastElementIndex = -1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Peeks at the top element on the stack without changing the contents of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the stack.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the current element on the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: method entered 86859 times."> 86859</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: method entered 86859 times.">    <span class="keyword">public</span> Element peekElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 86859 times."> 86859</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 86859 times.">        <span class="keyword">if</span> (lastElementIndex < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 5814 times.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 81045 times."> 81045</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 81045 times.">        <span class="keyword">return</span> stack[lastElementIndex];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Pops the element off the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the element that has just been popped off the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 77: method entered 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 77: method entered 86721 times.">    <span class="keyword">public</span> Element popElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: expression evaluated to true 0 times, false 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: expression evaluated to true 0 times, false 86721 times.">        <span class="keyword">if</span> (lastElementIndex < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 86721 times.">        <span class="keyword">return</span> stack[lastElementIndex--];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Pushes a new element onto the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: method entered 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: method entered 86721 times.">    <span class="keyword">public</span> <span class="keyword">void</span> pushElement(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 86721 times.">        <span class="keyword">int</span> length = stack.length;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: expression evaluated to true 0 times, false 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: expression evaluated to true 0 times, false 86721 times.">        <span class="keyword">if</span> (++lastElementIndex >= length) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">            reallocate(length * 2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: statement executed 86721 times.">        stack[lastElementIndex] = element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reallocates the stack to the given size</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> size</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> reallocate(<span class="keyword">int</span> size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">        Element[] oldStack = stack;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">        stack = <span class="keyword">new</span> Element[size];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">        System.arraycopy(oldStack, 0, stack, 0, oldStack.length);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// The ElementPath Interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> size() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        <span class="keyword">return</span> lastElementIndex + 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: method not entered.">    <span class="keyword">public</span> Element getElement(<span class="keyword">int</span> depth) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">        Element element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">            element = (Element) stack[depth];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (ArrayIndexOutOfBoundsException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">            element = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">        <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: method not entered.">    <span class="keyword">public</span> String getPath() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: statement not executed.">        <span class="keyword">if</span> (handler == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">            setDispatchHandler(<span class="keyword">new</span> DispatchHandler());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">        <span class="keyword">return</span> handler.getPath();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: method entered 138 times."> 138</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: method entered 138 times.">    <span class="keyword">public</span> Element getCurrent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: statement executed 138 times."> 138</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 138 times.">        <span class="keyword">return</span> peekElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addHandler(String path, ElementHandler elementHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">        <span class="keyword">this</span>.handler.addHandler(getHandlerPath(path), elementHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeHandler(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">        <span class="keyword">this</span>.handler.removeHandler(getHandlerPath(path));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true when an <code>ElementHandler</code> is registered for the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         specified path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> containsHandler(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>.handler.containsHandler(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: method not entered.">    <span class="keyword">private</span> String getHandlerPath(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">        String handlerPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">this</span>.handler == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">            setDispatchHandler(<span class="keyword">new</span> DispatchHandler());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">        <span class="keyword">if</span> (path.startsWith(<span class="string">"/"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">            handlerPath = path;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (getPath().equals(<span class="string">"/"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: statement not executed.">            handlerPath = getPath() + path;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: statement not executed.">            handlerPath = getPath() + <span class="string">"/"</span> + path;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">        <span class="keyword">return</span> handlerPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/HTMLWriter.html b/docs/clover/org/dom4j/io/HTMLWriter.html
new file mode 100644
index 0000000..f14b4a8
--- /dev/null
+++ b/docs/clover/org/dom4j/io/HTMLWriter.html
@@ -0,0 +1,3620 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ HTMLWriter.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="HTMLWriter.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">841</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">32</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">281</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">2</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   HTMLWriter.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">29,5%</TD>
+    <TD class="graphPercent" align="center">37%</TD>
+    <TD class="graphPercent" align="center">37,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>35,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="71" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="129" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.OutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.UnsupportedEncodingException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashSet;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Set;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Stack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentHelper;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>HTMLWriter</code> takes a DOM4J tree and formats it to a stream as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * HTML. This formatter is similar to XMLWriter but it outputs the text of CDATA</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and Entity sections rather than the serialised format as in XML, it has an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * XHTML mode, it retains whitespace in certain elements such as &lt;PRE&gt;,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and it supports certain elements which have no corresponding close tag such</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * as for &lt;BR&gt; and &lt;P&gt;.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The OutputFormat passed in to the constructor is checked for isXHTML() and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * isExpandEmptyElements(). See {@link OutputFormat OutputFormat}for details.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Here are the rules for <b>this class </b> based on an OutputFormat, "format",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * passed in to the constructor: <br/><br/></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <ul></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <li>If an element is in {@link #getOmitElementCloseSet()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * getOmitElementCloseSet}, then it is treated specially:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <ul></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <li>It never expands, since some browsers treat this as two separate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Horizontal Rules: &lt;HR&gt;&lt;/HR&gt;</li></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <li>If {@link org.dom4j.io.OutputFormat#isXHTML() format.isXHTML()}, then</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * it has a space before the closing single-tag slash, since Netscape 4.x-</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * treats this: &lt;HR /&gt; as an element named "HR" with an attribute named</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "/", but that's better than when it refuses to recognize this: &lt;hr/&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * which it thinks is an element named "HR/".</li></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </ul></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </li></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <li>If {@link org.dom4j.io.OutputFormat#isXHTML() format.isXHTML()}, all</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * elements must have either a close element, or be a closed single tag.</li></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <li>If {@link org.dom4j.io.OutputFormat#isExpandEmptyElements()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * format.isExpandEmptyElements()}() is true, all elements are expanded except</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * as above.</li></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </ul></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <b>Examples </b></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * If isXHTML == true, CDATA sections look like this:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <PRE></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <b>&lt;myelement&gt;&lt;![CDATA[My data]]&gt;&lt;/myelement&gt; </b></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </PRE></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Otherwise, they look like this:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <PRE></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <b>&lt;myelement&gt;My data&lt;/myelement&gt; </b></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </PRE></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Basically, {@link OutputFormat.isXHTML() OutputFormat.isXHTML()} ==</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>true</code> will produce valid XML, while {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * org.dom4j.io.OutputFormat#isExpandEmptyElements()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * format.isExpandEmptyElements()} determines whether empty elements are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * expanded if isXHTML is true, excepting the special HTML single tags.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Also, HTMLWriter handles tags whose contents should be preformatted, that is,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * whitespace-preserved. By default, this set includes the tags &lt;PRE&gt;,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;SCRIPT&gt;, &lt;STYLE&gt;, and &lt;TEXTAREA&gt;, case insensitively. It</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * does not include &lt;IFRAME&gt;. Other tags, such as &lt;CODE&gt;,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &lt;KBD&gt;, &lt;TT&gt;, &lt;VAR&gt;, are usually rendered in a different</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * font in most browsers, but don't preserve whitespace, so they also don't</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * appear in the default list. HTML Comments are always whitespace-preserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * However, the parser you use may store comments with linefeed-only text nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * (\n) even if your platform uses another line.separator character, and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * HTMLWriter outputs Comment nodes exactly as the DOM is set up by the parser.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See examples and discussion here: {@link#setPreformattedTags(java.util.Set)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * setPreformattedTags}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <b>Examples </b></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <blockquote></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <b>Pretty Printing </b></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This example shows how to pretty print a string containing a valid HTML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * document to a string. You can also just call the static methods of this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * class: <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #prettyPrintHTML(String) prettyPrintHTML(String)}or <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #prettyPrintHTML(String,boolean,boolean,boolean,boolean)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * prettyPrintHTML(String,boolean,boolean,boolean,boolean)} or, <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #prettyPrintXHTML(String) prettyPrintXHTML(String)}for XHTML (note</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the X)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * String testPrettyPrint(String html) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     StringWriter sw = new StringWriter();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     OutputFormat format = OutputFormat.createPrettyPrint();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     // These are the default values for createPrettyPrint,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     // so you needn't set them:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     // format.setNewlines(true);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     // format.setTrimText(true);&lt;/font&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setXHTML(true);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     HTMLWriter writer = new HTMLWriter(sw, format);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     Document document = DocumentHelper.parseText(html);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     writer.write(document);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     writer.flush();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     return sw.toString();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This example shows how to create a "squeezed" document, but one that will</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * work in browsers even if the browser line length is limited. No newlines are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * included, no extra whitespace at all, except where it it required by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #setPreformattedTags(java.util.Set) setPreformattedTags}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * String testCrunch(String html) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     StringWriter sw = new StringWriter();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     OutputFormat format = OutputFormat.createPrettyPrint();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setNewlines(false);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setTrimText(true);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setIndent(&quot;&quot;);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setXHTML(true);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setExpandEmptyElements(false);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     format.setNewLineAfterNTags(20);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     org.dom4j.io.HTMLWriter writer = new HTMLWriter(sw, format);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     org.dom4j.Document document = DocumentHelper.parseText(html);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     writer.write(document);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     writer.flush();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     return sw.toString();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </blockquote></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Laramie Crocker</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.21 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="HTMLWriter"> 181</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> HTMLWriter <span class="keyword">extends</span> XMLWriter {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> String lineSeparator = System.getProperty(<span class="string">"line.separator"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final HashSet DEFAULT_PREFORMATTED_TAGS;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">static</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// If you change this list, update the javadoc examples, above in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// class javadoc, in writeElement, and in setPreformattedTags().</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS = <span class="keyword">new</span> HashSet();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 190: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"PRE"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"SCRIPT"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"STYLE"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 193: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: statement executed 1 time.">        DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"TEXTAREA"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final OutputFormat DEFAULT_HTML_FORMAT;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">static</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 1 time.">        DEFAULT_HTML_FORMAT = <span class="keyword">new</span> OutputFormat(<span class="string">"  "</span>, <span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 1 time.">        DEFAULT_HTML_FORMAT.setTrimText(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 1 time.">        DEFAULT_HTML_FORMAT.setSuppressDeclaration(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Stack formatStack = <span class="keyword">new</span> Stack();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String lastText = <span class="string">""</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> tagsOuput = 0;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// legal values are 0+, but -1 signifies lazy initialization.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> newLineAfterNTags = -1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> HashSet preformattedTags = DEFAULT_PREFORMATTED_TAGS;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Used to store the qualified element names which should have no close</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> HashSet omitElementCloseSet;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 221: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 221: method entered 1 time.">    <span class="keyword">public</span> HTMLWriter(Writer writer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 222: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: statement executed 1 time.">        <span class="keyword">super</span>(writer, DEFAULT_HTML_FORMAT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: method entered 5 times.">    <span class="keyword">public</span> HTMLWriter(Writer writer, OutputFormat format) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 226: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 226: statement executed 5 times.">        <span class="keyword">super</span>(writer, format);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 229: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 229: method not entered.">    <span class="keyword">public</span> HTMLWriter() <span class="keyword">throws</span> UnsupportedEncodingException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: statement not executed.">        <span class="keyword">super</span>(DEFAULT_HTML_FORMAT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: method not entered.">    <span class="keyword">public</span> HTMLWriter(OutputFormat format) <span class="keyword">throws</span> UnsupportedEncodingException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 234: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 234: statement not executed.">        <span class="keyword">super</span>(format);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: method not entered.">    <span class="keyword">public</span> HTMLWriter(OutputStream out) <span class="keyword">throws</span> UnsupportedEncodingException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 238: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 238: statement not executed.">        <span class="keyword">super</span>(out, DEFAULT_HTML_FORMAT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 241: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: method not entered.">    <span class="keyword">public</span> HTMLWriter(OutputStream out, OutputFormat format)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> UnsupportedEncodingException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 243: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 243: statement not executed.">        <span class="keyword">super</span>(out, format);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startCDATA() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 249: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endCDATA() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Overloaded methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// added isXHTML() stuff so you get the CDATA brackets if you desire.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 254: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: method entered 1 time.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeCDATA(String text) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXX: Should we escape entities?</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// writer.write( escapeElementEntities( text ) );</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 257: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 257: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> (getOutputFormat().isXHTML()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 258: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 258: statement not executed.">            <span class="keyword">super</span>.writeCDATA(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 260: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 260: statement executed 1 time.">            writer.write(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 263: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 263: statement executed 1 time.">        lastOutputNodeType = Node.CDATA_SECTION_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 266: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 266: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeEntity(Entity entity) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 267: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 267: statement not executed.">        writer.write(entity.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 268: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 268: statement not executed.">        lastOutputNodeType = Node.ENTITY_REFERENCE_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: method entered 3 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeDeclaration() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 274: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 274: method entered 4 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeString(String text) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * DOM stores \n at the end of text nodes that are newlines. This is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * significant if we are in a PRE section. However, we only want to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * output the system line.separator, not \n. This is a little brittle,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * but this function appears to be called with these lineseparators as a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * separate TEXT_NODE. If we are in a preformatted section, output the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * right line.separator, otherwise ditch. If the single \n character is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * not the text, then do the super thing to output the text.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * Also, we store the last text that was not a \n since it may be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * by writeElement in this class to line up preformatted tags.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 287: expression evaluated to true 0 times, false 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: expression evaluated to true 0 times, false 4 times.">        <span class="keyword">if</span> (text.equals(<span class="string">"\n"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 288: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 288: statement not executed.">            <span class="keyword">if</span> (!formatStack.empty()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 289</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 289: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 289: statement not executed.">                <span class="keyword">super</span>.writeString(lineSeparator);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 292: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 292: statement not executed.">            <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: statement executed 4 times.">        lastText = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 297: expression evaluated to true 4 times, false 0 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 297: expression evaluated to true 4 times, false 0 times.">        <span class="keyword">if</span> (formatStack.empty()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 298: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 298: statement executed 4 times.">            <span class="keyword">super</span>.writeString(text.trim());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 300: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: statement not executed.">            <span class="keyword">super</span>.writeString(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Overriden method to not close certain element names to avoid wierd</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * behaviour from browsers for versions up to 5.x</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 314: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 314: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeClose(String qualifiedName) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 315: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 315: statement not executed.">        <span class="keyword">if</span> (!omitElementClose(qualifiedName)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 316</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 316: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 316: statement not executed.">            <span class="keyword">super</span>.writeClose(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 320: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 320: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeEmptyElementClose(String qualifiedName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 322</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 322: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 322: expression evaluated to true 0 times, false 2 times.">        <span class="keyword">if</span> (getOutputFormat().isXHTML()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// xhtml, always check with format object whether to expand or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 324</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 324: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 324: statement not executed.">            <span class="keyword">if</span> (omitElementClose(qualifiedName)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// it was a special omit tag, do it the XHTML way: "<br/>",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// ignoring the expansion option, since <br></br> is OK XML,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// but produces twice the linefeeds desired in the browser.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// for netscape 4.7, though all are fine with it, write a space</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// before the close slash.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 330</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 330: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 330: statement not executed.">                writer.write(<span class="string">" />"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 332</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 332: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 332: statement not executed.">                <span class="keyword">super</span>.writeEmptyElementClose(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// html, not xhtml</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 336: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 336: statement executed 2 times.">            <span class="keyword">if</span> (omitElementClose(qualifiedName)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// it was a special omit tag, do it the old html way: "<br>".</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 338</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 338: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 338: statement executed 1 time.">                writer.write(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// it was NOT a special omit tag, check with format object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// whether to expand or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 342: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 342: statement executed 1 time.">                <span class="keyword">super</span>.writeEmptyElementClose(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 347</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 347: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 347: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> omitElementClose(String qualifiedName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 348</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 348: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 348: statement executed 2 times.">        <span class="keyword">return</span> internalGetOmitElementCloseSet().contains(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                qualifiedName.toUpperCase());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 352: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 352: method entered 2 times.">    <span class="keyword">private</span> HashSet internalGetOmitElementCloseSet() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 353: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 353: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> (omitElementCloseSet == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 354</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 354: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 354: statement executed 2 times.">            omitElementCloseSet = <span class="keyword">new</span> HashSet();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 355</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 355: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 355: statement executed 2 times.">            loadOmitElementCloseSet(omitElementCloseSet);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 358</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 358: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 358: statement executed 2 times.">        <span class="keyword">return</span> omitElementCloseSet;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// If you change this, change the javadoc for getOmitElementCloseSet.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 362: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 362: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> loadOmitElementCloseSet(Set set) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 363</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 363: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 363: statement executed 2 times.">        set.add(<span class="string">"AREA"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 364</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 364: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 364: statement executed 2 times.">        set.add(<span class="string">"BASE"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 365: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 365: statement executed 2 times.">        set.add(<span class="string">"BR"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 366: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 366: statement executed 2 times.">        set.add(<span class="string">"COL"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 367</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 367: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 367: statement executed 2 times.">        set.add(<span class="string">"HR"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 368: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 368: statement executed 2 times.">        set.add(<span class="string">"IMG"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 369</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 369: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 369: statement executed 2 times.">        set.add(<span class="string">"INPUT"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 370: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 370: statement executed 2 times.">        set.add(<span class="string">"LINK"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 371</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 371: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 371: statement executed 2 times.">        set.add(<span class="string">"META"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 372: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 372: statement executed 2 times.">        set.add(<span class="string">"P"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 373</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 373: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 373: statement executed 2 times.">        set.add(<span class="string">"PARAM"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// let the people see the set, but not modify it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A clone of the Set of elements that can have their close-tags omitted. By</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * default it should be "AREA", "BASE", "BR", "COL", "HR", "IMG", "INPUT",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * "LINK", "META", "P", "PARAM"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> A clone of the Set.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 385</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 385: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 385: method not entered.">    <span class="keyword">public</span> Set getOmitElementCloseSet() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">        <span class="keyword">return</span> (Set) (internalGetOmitElementCloseSet().clone());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * To use the empty set, pass an empty Set, or null:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       setOmitElementCloseSet(new HashSet());</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *     or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       setOmitElementCloseSet(null);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newSet</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 405</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 405: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 405: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setOmitElementCloseSet(Set newSet) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// resets, and safely empties it out if newSet is null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 407</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 407: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 407: statement not executed.">        omitElementCloseSet = <span class="keyword">new</span> HashSet();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 409</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 409: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 409: statement not executed.">        <span class="keyword">if</span> (newSet != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 410</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 410: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 410: statement not executed.">            omitElementCloseSet = <span class="keyword">new</span> HashSet();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 412: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 412: statement not executed.">            Object aTag;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 413</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 413: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 413: statement not executed.">            Iterator iter = newSet.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 415: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 415: statement not executed.">            <span class="keyword">while</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 416: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 416: statement not executed.">                aTag = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 418</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 418: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 418: statement not executed.">                <span class="keyword">if</span> (aTag != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 419</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 419: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 419: statement not executed.">                    omitElementCloseSet.add(aTag.toString().toUpperCase());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #setPreformattedTags(java.util.Set) setPreformattedTags</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 428</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 428: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 428: method not entered.">    <span class="keyword">public</span> Set getPreformattedTags() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 429</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 429: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 429: statement not executed.">        <span class="keyword">return</span> (Set) (preformattedTags.clone());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Override the default set, which includes PRE, SCRIPT, STYLE, and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * TEXTAREA, case insensitively.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <b>Setting Preformatted Tags </b></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Pass in a Set of Strings, one for each tag name that should be treated</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * like a PRE tag. You may pass in null or an empty Set to assign the empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * set, in which case no tags will be treated as preformatted, except that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * HTML Comments will continue to be preformatted. If a tag is included in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the set of preformatted tags, all whitespace within the tag will be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * preserved, including whitespace on the same line preceding the close tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will generally make the close tag not line up with the start tag,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * but it preserves the intention of the whitespace within the tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The browser considers leading whitespace before the close tag to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * significant, but leading whitespace before the open tag to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * insignificant. For example, if the HTML author doesn't put the close</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * TEXTAREA tag flush to the left margin, then the TEXTAREA control in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * browser will have spaces on the last line inside the control. This may be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the HTML author's intent. Similarly, in a PRE, the browser treats a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * flushed left close PRE tag as different from a close tag with leading</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * whitespace. Again, this must be left up to the HTML author.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <b>Examples </b></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <blockquote></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Here is an example of how you can set the PreformattedTags list using</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * setPreformattedTags to include IFRAME, as well as the default set, if you</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * have an instance of this class named myHTMLWriter:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Set current = myHTMLWriter.getPreformattedTags();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * current.add(&quot;IFRAME&quot;);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * myHTMLWriter.setPreformattedTags(current);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * //The set is now &lt;b&gt;PRE, SCRIPT, STYLE, TEXTAREA, IFRAME&lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Similarly, you can simply replace it with your own:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       HashSet newset = new HashSet();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       newset.add(&quot;PRE&quot;);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       newset.add(&quot;TEXTAREA&quot;);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       myHTMLWriter.setPreformattedTags(newset);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       //The set is now &lt;b&gt;{PRE, TEXTAREA}&lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * You can remove all tags from the preformatted tags list, with an empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * set, like this:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       myHTMLWriter.setPreformattedTags(new HashSet());</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       //The set is now &lt;b&gt;{}&lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or with null, like this:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       myHTMLWriter.setPreformattedTags(null);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *       //The set is now &lt;b&gt;{}&lt;/b&gt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </blockquote></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newSet</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 529</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 529: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 529: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPreformattedTags(Set newSet) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// no fancy merging, just set it, assuming they did a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// getExcludeTrimTags() first if they wanted to preserve the default</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// set.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// resets, and safely empties it out if newSet is null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 534</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 534: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 534: statement not executed.">        preformattedTags = <span class="keyword">new</span> HashSet();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 536</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 536: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 536: statement not executed.">        <span class="keyword">if</span> (newSet != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 537</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 537: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 537: statement not executed.">            Object aTag;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 538</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 538: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 538: statement not executed.">            Iterator iter = newSet.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 540</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 540: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 540: statement not executed.">            <span class="keyword">while</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 541</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 541: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 541: statement not executed.">                aTag = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 543</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 543: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 543: statement not executed.">                <span class="keyword">if</span> (aTag != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 544</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 544: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 544: statement not executed.">                    preformattedTags.add(aTag.toString().toUpperCase());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 546</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the qualifiedName passed in matched (case-insensitively)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         a tag in the preformattedTags set, or false if not found or if</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         the set is empty or null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #setPreformattedTags(java.util.Set) setPreformattedTags</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 562</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 562: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 562: method entered 9 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isPreformattedTag(String qualifiedName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// A null set implies that the user called setPreformattedTags(null),</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// which means they want no tags to be preformatted.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 565</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 565: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 565: statement executed 9 times.">        <span class="keyword">return</span> (preformattedTags != <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                && (preformattedTags.contains(qualifiedName.toUpperCase()));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This override handles any elements that should not remove whitespace,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * such as &lt;PRE&gt;, &lt;SCRIPT&gt;, &lt;STYLE&gt;, and &lt;TEXTAREA&gt;.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Note: the close tags won't line up with the open tag, but we can't alter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * that. See javadoc note at setPreformattedTags.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             When the stream could not be written to.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #setPreformattedTags(java.util.Set) setPreformattedTags</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 583</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 583: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 583: method entered 9 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeElement(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 584</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 584: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 584: statement executed 9 times.">        <span class="keyword">if</span> (newLineAfterNTags == -1) { <span class="comment">// lazy initialization check</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 585</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 585: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 585: statement executed 3 times.">            lazyInitNewLinesAfterNTags();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 588</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 588: expression evaluated to true 0 times, false 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 588: expression evaluated to true 0 times, false 9 times.">        <span class="keyword">if</span> (newLineAfterNTags > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 589</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 589: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 589: statement not executed.">            <span class="keyword">if</span> ((tagsOuput > 0) && ((tagsOuput % newLineAfterNTags) == 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 590</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 590: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 590: statement not executed.">                <span class="keyword">super</span>.writer.write(lineSeparator);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 594</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 594: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 594: statement executed 9 times.">        tagsOuput++;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 596</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 596: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 596: statement executed 9 times.">        String qualifiedName = element.getQualifiedName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 597</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 597: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 597: statement executed 9 times.">        String saveLastText = lastText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 598</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 598: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 598: statement executed 9 times.">        <span class="keyword">int</span> size = element.nodeCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 600</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 600: expression evaluated to true 0 times, false 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 600: expression evaluated to true 0 times, false 9 times.">        <span class="keyword">if</span> (isPreformattedTag(qualifiedName)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 601</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 601: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 601: statement not executed.">            OutputFormat currentFormat = getOutputFormat();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 602</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 602: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 602: statement not executed.">            <span class="keyword">boolean</span> saveNewlines = currentFormat.isNewlines();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 603</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 603: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 603: statement not executed.">            <span class="keyword">boolean</span> saveTrimText = currentFormat.isTrimText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 604</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 604: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 604: statement not executed.">            String currentIndent = currentFormat.getIndent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// You could have nested PREs, or SCRIPTS within PRE... etc.,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// therefore use push and pop.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 608</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 608: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 608: statement not executed.">            formatStack.push(<span class="keyword">new</span> FormatState(saveNewlines, saveTrimText,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 609</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    currentIndent));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 610</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 611</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 611: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 611: statement not executed.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// do this manually, since it won't be done while outputting</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 613</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// the tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 614</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 614: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 614: statement not executed.">                <span class="keyword">super</span>.writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 616</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 616: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 616: statement not executed.">                <span class="keyword">if</span> ((saveLastText.trim().length() == 0)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 617</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        && (currentIndent != <span class="keyword">null</span>)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        && (currentIndent.length() > 0)) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// We are indenting, but we want to line up with the close</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 620</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// tag. lastText was the indent (whitespace, no \n) before</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 621</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// the preformatted start tag. So write it out instead of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 622</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// the current indent level. This makes it line up with its</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// close tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 624</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 624: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 624: statement not executed.">                    <span class="keyword">super</span>.writer.write(justSpaces(saveLastText));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 625</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 626</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 627</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// actually, newlines are handled in this class by writeString,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 628</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// depending on if the stack is empty.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 629</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 629: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 629: statement not executed.">                currentFormat.setNewlines(<span class="keyword">false</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 630</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 630: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 630: statement not executed.">                currentFormat.setTrimText(<span class="keyword">false</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 631</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 631: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 631: statement not executed.">                currentFormat.setIndent(<span class="string">""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 633</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// This line is the recursive one:</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 634</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 634: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 634: statement not executed.">                <span class="keyword">super</span>.writeElement(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">finally</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 636</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 636: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 636: statement not executed.">                FormatState state = (FormatState) formatStack.pop();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 637</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 637: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 637: statement not executed.">                currentFormat.setNewlines(state.isNewlines());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 638</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 638: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 638: statement not executed.">                currentFormat.setTrimText(state.isTrimText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 639</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 639: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 639: statement not executed.">                currentFormat.setIndent(state.getIndent());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 642</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 642: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 642: statement executed 9 times.">            <span class="keyword">super</span>.writeElement(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 643</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 644</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 645</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 646</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 646: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 646: method not entered.">    <span class="keyword">private</span> String justSpaces(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 647</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 647: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 647: statement not executed.">        <span class="keyword">int</span> size = text.length();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 648</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 648: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 648: statement not executed.">        StringBuffer res = <span class="keyword">new</span> StringBuffer(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 649</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 649: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 649: statement not executed.">        <span class="keyword">char</span> c;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 651</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 651: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 651: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 652</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 652: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 652: statement not executed.">            c = text.charAt(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 654</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 654: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 654: statement not executed.">            <span class="keyword">switch</span> (c) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 655</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 655: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 655: statement not executed.">                <span class="keyword">case</span> '\r':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 656</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 656: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 656: statement not executed.">                <span class="keyword">case</span> '\n':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 658</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 658: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 658: statement not executed.">                    <span class="keyword">continue</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 660</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 660: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 660: statement not executed.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 661</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 661: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 661: statement not executed.">                    res.append(c);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 663</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 664</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 665</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 665: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 665: statement not executed.">        <span class="keyword">return</span> res.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 667</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 668</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 668: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 668: method entered 3 times.">    <span class="keyword">private</span> <span class="keyword">void</span> lazyInitNewLinesAfterNTags() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 669</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 669: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 669: statement executed 3 times.">        <span class="keyword">if</span> (getOutputFormat().isNewlines()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// don't bother, newlines are going to happen anyway.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 671</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 671: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 671: statement executed 2 times.">            newLineAfterNTags = 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 672</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 673</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 673: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 673: statement executed 1 time.">            newLineAfterNTags = getOutputFormat().getNewLineAfterNTags();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 676</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 677</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Convenience methods, static, with bunch-o-defaults</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 679</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 680</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Convenience method to just get a String result.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 681</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 682</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> html</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 683</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 685</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a pretty printed String from the source string, preserving</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 686</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         whitespace in the defaultPreformattedTags set, and leaving the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 687</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         close tags off of the default omitElementCloseSet set. Use one of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 688</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         the write methods if you want stream output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 689</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 690</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 691</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.UnsupportedEncodingException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 692</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> org.dom4j.DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 693</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 694</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 694: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 694: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String prettyPrintHTML(String html)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 695</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> java.io.IOException, java.io.UnsupportedEncodingException,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 696</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.dom4j.DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 697</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 697: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 697: statement not executed.">        <span class="keyword">return</span> prettyPrintHTML(html, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>, <span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 698</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 699</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 700</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 701</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Convenience method to just get a String result, but <b>As XHTML </b>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 702</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 703</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> html</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 704</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 705</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 706</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a pretty printed String from the source string, preserving</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 707</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         whitespace in the defaultPreformattedTags set, but conforming to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 708</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         XHTML: no close tags are omitted (though if empty, they will be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 709</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         converted to XHTML empty tags: &lt;HR/&gt; Use one of the write</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 710</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         methods if you want stream output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 711</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 712</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 713</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.UnsupportedEncodingException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 714</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> org.dom4j.DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 715</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 716</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 716: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 716: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String prettyPrintXHTML(String html)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 717</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> java.io.IOException, java.io.UnsupportedEncodingException,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 718</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.dom4j.DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 719</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 719: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 719: statement not executed.">        <span class="keyword">return</span> prettyPrintHTML(html, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 720</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 721</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 722</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 723</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 724</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 725</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> html</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 727</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newlines</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 728</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 729</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> trim</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 730</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 731</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> isXHTML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 732</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 733</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> expandEmpty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 734</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 735</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 736</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a pretty printed String from the source string, preserving</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 737</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         whitespace in the defaultPreformattedTags set, and leaving the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 738</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         close tags off of the default omitElementCloseSet set. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 739</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         override allows you to specify various formatter options. Use one</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 740</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         of the write methods if you want stream output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 741</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 742</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 743</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> java.io.UnsupportedEncodingException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 744</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> org.dom4j.DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 745</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 746</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 746: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 746: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> String prettyPrintHTML(String html, <span class="keyword">boolean</span> newlines,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 747</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">boolean</span> trim, <span class="keyword">boolean</span> isXHTML, <span class="keyword">boolean</span> expandEmpty)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 748</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> java.io.IOException, java.io.UnsupportedEncodingException,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 749</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.dom4j.DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 750</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 750: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 750: statement not executed.">        StringWriter sw = <span class="keyword">new</span> StringWriter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 751</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 751: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 751: statement not executed.">        OutputFormat format = OutputFormat.createPrettyPrint();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 752</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 752: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 752: statement not executed.">        format.setNewlines(newlines);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 753</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 753: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 753: statement not executed.">        format.setTrimText(trim);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 754</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 754: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 754: statement not executed.">        format.setXHTML(isXHTML);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 755</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 755: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 755: statement not executed.">        format.setExpandEmptyElements(expandEmpty);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 757</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 757: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 757: statement not executed.">        HTMLWriter writer = <span class="keyword">new</span> HTMLWriter(sw, format);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 758</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 758: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 758: statement not executed.">        Document document = DocumentHelper.parseText(html);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 759</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 759: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 759: statement not executed.">        writer.write(document);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 760</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 760: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 760: statement not executed.">        writer.flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 761</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 762</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 762: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 762: statement not executed.">        <span class="keyword">return</span> sw.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 763</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 764</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 765</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Allows us to the current state of the format in this struct on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 766</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// formatStack.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="FormatState"> 767</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> FormatState {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 768</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> <span class="keyword">boolean</span> newlines = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 769</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 770</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> <span class="keyword">boolean</span> trimText = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 771</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 772</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> String indent = <span class="string">""</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 773</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 774</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 774: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 774: method not entered.">        <span class="keyword">public</span> FormatState(<span class="keyword">boolean</span> newLines, <span class="keyword">boolean</span> trimText, String indent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 775</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 775: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 775: statement not executed.">            <span class="keyword">this</span>.newlines = newLines;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 776</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 776: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 776: statement not executed.">            <span class="keyword">this</span>.trimText = trimText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 777</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 777: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 777: statement not executed.">            <span class="keyword">this</span>.indent = indent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 778</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 779</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 780</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 780: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 780: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> isNewlines() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 781</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 781: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 781: statement not executed.">            <span class="keyword">return</span> newlines;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 782</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 783</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 784</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 784: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 784: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> isTrimText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 785</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 785: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 785: statement not executed.">            <span class="keyword">return</span> trimText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 786</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 787</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 788</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 788: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 788: method not entered.">        <span class="keyword">public</span> String getIndent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 789</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 789: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 789: statement not executed.">            <span class="keyword">return</span> indent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 790</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 791</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 792</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 793</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 794</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 795</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <html> <head> <title>My Title </title> <style> .foo { text-align: Right; }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 796</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </style> <script> function mojo(){ return "bar"; } </script> <script</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 797</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * language="JavaScript"> <!-- //this is the canonical javascript hiding.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 798</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * function foo(){ return "foo"; } //--> </script> </head> <!-- this is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 799</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * comment --> <body bgcolor="#A4BFDD" mojo="&amp;"> entities: &#160; &amp;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 800</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * &quot; &lt; &gt; %23 <p></p> <mojo> </mojo> <foo /> <table border="1"> <tr></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 801</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <td><pre> line0 <hr /> line1 <b>line2, should line up, indent-wise </b> line</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 802</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3 line 4 </pre></td><td></td></tr> </table> <myCDATAElement> <![CDATA[My</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 803</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * data]]> </myCDATAElement> </body> </html></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 804</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 805</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 806</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 807</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 808</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 809</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 810</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 811</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 812</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 813</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 814</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 815</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 816</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 817</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 818</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 819</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 820</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 821</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 822</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 823</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 824</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 825</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 826</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 827</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 828</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 829</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 830</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 831</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 832</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 833</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 834</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 835</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 836</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 837</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 838</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 839</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 840</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 841</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/JAXPHelper.html b/docs/clover/org/dom4j/io/JAXPHelper.html
new file mode 100644
index 0000000..343f9f1
--- /dev/null
+++ b/docs/clover/org/dom4j/io/JAXPHelper.html
@@ -0,0 +1,510 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ JAXPHelper.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="JAXPHelper.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">102</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">26</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   JAXPHelper.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>92,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="184" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="16" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.parsers.DocumentBuilder;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.parsers.DocumentBuilderFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.parsers.SAXParser;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.parsers.SAXParserFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>JAXPHelper</code> contains some helper methods for working with JAXP.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * These methods are kept in a seperate class to avoid class loading issues,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * such that dom4j can work without JAXP on the CLASSPATH</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="JAXPHelper"> 25</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> JAXPHelper {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 26</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 26: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 26: method not entered.">    <span class="keyword">protected</span> JAXPHelper() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method attempts to use JAXP to locate the SAX2 XMLReader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * implementation. This method uses reflection to avoid being dependent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * directly on the JAXP classes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> validating</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceAware</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: method entered 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: method entered 5764 times.">    <span class="keyword">public</span> <span class="keyword">static</span> XMLReader createXMLReader(<span class="keyword">boolean</span> validating,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">boolean</span> namespaceAware) <span class="keyword">throws</span> Exception {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: statement executed 5764 times.">        SAXParserFactory factory = SAXParserFactory.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: statement executed 5764 times.">        factory.setValidating(validating);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: statement executed 5764 times.">        factory.setNamespaceAware(namespaceAware);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 5764 times.">        SAXParser parser = factory.newSAXParser();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 5764 times.">        <span class="keyword">return</span> parser.getXMLReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: method entered 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: method entered 13 times.">    <span class="keyword">public</span> <span class="keyword">static</span> org.w3c.dom.Document createDocument(<span class="keyword">boolean</span> validating,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">boolean</span> namespaceAware) <span class="keyword">throws</span> Exception {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 13 times.">        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 13 times.">        factory.setValidating(validating);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 13 times.">        factory.setNamespaceAware(namespaceAware);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 13 times.">        DocumentBuilder builder = factory.newDocumentBuilder();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 13 times.">        <span class="keyword">return</span> builder.newDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/OutputFormat.html b/docs/clover/org/dom4j/io/OutputFormat.html
new file mode 100644
index 0000000..18b391f
--- /dev/null
+++ b/docs/clover/org/dom4j/io/OutputFormat.html
@@ -0,0 +1,2568 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ OutputFormat.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="OutputFormat.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">591</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">35</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">178</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   OutputFormat.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">17,6%</TD>
+    <TD class="graphPercent" align="center">55%</TD>
+    <TD class="graphPercent" align="center">77,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>51,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="103" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="97" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>OutputFormat</code> represents the format configuration used by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@linkXMLWriter}and its base classes to format the XML output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.17 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="OutputFormat"> 19</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> OutputFormat <span class="keyword">implements</span> Cloneable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** standard value to indent by, if we are indenting */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final String STANDARD_INDENT = <span class="string">"  "</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Whether or not to suppress the XML declaration - default is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>false</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> suppressDeclaration = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Whether or not to print new line after the XML declaration - default is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>true</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> newLineAfterDeclaration = <span class="keyword">true</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The encoding format */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String encoding = <span class="string">"UTF-8"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Whether or not to output the encoding in the XML declaration - default is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>false</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> omitEncoding = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The default indent is no spaces (as original document) */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String indent = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Whether or not to expand empty elements to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &lt;tagName&gt;&lt;/tagName&gt; - default is <code>false</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> expandEmptyElements = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The default new line flag, set to do new lines only as in original</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> newlines = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** New line separator */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String lineSeparator = <span class="string">"\n"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** should we preserve whitespace or not in text nodes? */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> trimText = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** pad string-element boundaries with whitespace */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> padText = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Whether or not to use XHTML standard. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> doXHTML = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Controls when to output a line.separtor every so many tags in case of no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * lines and total text trimming.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> newLineAfterNTags = 0; <span class="comment">// zero means don't bother.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Quote character to use when writing attributes. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">char</span> attributeQuoteChar = '\"';</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates an <code>OutputFormat</code> with no additional whitespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * (indent or new lines) added. The whitespace from the element text content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is fully preserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: method entered 2159 times."> 2159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: method entered 2159 times.">    <span class="keyword">public</span> OutputFormat() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates an <code>OutputFormat</code> with the given indent added but no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * new lines added. All whitespace from element text will be included.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> indent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the indent string to be used for indentation (usually a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            number of spaces).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: method not entered.">    <span class="keyword">public</span> OutputFormat(String indent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">        <span class="keyword">this</span>.indent = indent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates an <code>OutputFormat</code> with the given indent added with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * optional newlines between the Elements. All whitespace from element text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be included.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> indent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the indent string to be used for indentation (usually a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            number of spaces).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newlines</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            whether new lines are added to layout the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 111: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 111: method entered 4 times.">    <span class="keyword">public</span> OutputFormat(String indent, <span class="keyword">boolean</span> newlines) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 4 times.">        <span class="keyword">this</span>.indent = indent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: statement executed 4 times.">        <span class="keyword">this</span>.newlines = newlines;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates an <code>OutputFormat</code> with the given indent added with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * optional newlines between the Elements and the given encoding format.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> indent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the indent string to be used for indentation (usually a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            number of spaces).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newlines</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            whether new lines are added to layout the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> encoding</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text encoding to use for writing the XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: method entered 4 times.">    <span class="keyword">public</span> OutputFormat(String indent, <span class="keyword">boolean</span> newlines, String encoding) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 4 times.">        <span class="keyword">this</span>.indent = indent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 4 times.">        <span class="keyword">this</span>.newlines = newlines;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: statement executed 4 times.">        <span class="keyword">this</span>.encoding = encoding;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 134: method entered 468 times."> 468</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 134: method entered 468 times.">    <span class="keyword">public</span> String getLineSeparator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 468 times."> 468</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 468 times.">        <span class="keyword">return</span> lineSeparator;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will set the new-line separator. The default is <code>\n</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Note that if the "newlines" property is false, this value is irrelevant.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * To make it output the system default line ending string, call</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>setLineSeparator(System.getProperty("line.separator"))</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> separator</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>String</code> line separator to use.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #setNewlines(boolean)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setLineSeparator(String separator) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">        lineSeparator = separator;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: method entered 25477 times."> 25477</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: method entered 25477 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isNewlines() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 25477 times."> 25477</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 25477 times.">        <span class="keyword">return</span> newlines;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newlines</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>true</code> indicates new lines should be printed,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            else new lines are ignored (compacted).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #setLineSeparator(String)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 168: method entered 38 times."> 38</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 168: method entered 38 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setNewlines(<span class="keyword">boolean</span> newlines) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: statement executed 38 times."> 38</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: statement executed 38 times.">        <span class="keyword">this</span>.newlines = newlines;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 172: method entered 2286 times."> 2286</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 172: method entered 2286 times.">    <span class="keyword">public</span> String getEncoding() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 173: statement executed 2286 times."> 2286</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 173: statement executed 2286 times.">        <span class="keyword">return</span> encoding;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> encoding</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            encoding format</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 182: method entered 74 times."> 74</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 182: method entered 74 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setEncoding(String encoding) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 74 times."> 74</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 74 times.">        <span class="keyword">if</span> (encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: statement executed 54 times."> 54</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: statement executed 54 times.">            <span class="keyword">this</span>.encoding = encoding;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: method entered 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: method entered 110 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isOmitEncoding() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 110 times.">        <span class="keyword">return</span> omitEncoding;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will set whether the XML declaration (<code>&lt;?xml version="1.0"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * encoding="UTF-8"?&gt;</code>)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * includes the encoding of the document. It is common to suppress this in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * protocols such as WML and SOAP.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> omitEncoding</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>boolean</code> indicating whether or not the XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            declaration should indicate the document encoding.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 204: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 204: method entered 7 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setOmitEncoding(<span class="keyword">boolean</span> omitEncoding) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 205: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 205: statement executed 7 times.">        <span class="keyword">this</span>.omitEncoding = omitEncoding;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will set whether the XML declaration (<code>&lt;?xml version="1.0"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * encoding="UTF-8"?&gt;</code>)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is included or not. It is common to suppress this in protocols such as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * WML and SOAP.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> suppressDeclaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>boolean</code> indicating whether or not the XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            declaration should be suppressed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 220: method entered 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 220: method entered 10 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setSuppressDeclaration(<span class="keyword">boolean</span> suppressDeclaration) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 221: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 221: statement executed 10 times.">        <span class="keyword">this</span>.suppressDeclaration = suppressDeclaration;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the output of the XML declaration (<code>&lt;?xml</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         version="1.0"?&gt;</code>)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         should be suppressed else false.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 231: method entered 114 times."> 114</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 231: method entered 114 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isSuppressDeclaration() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 232: statement executed 114 times."> 114</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 232: statement executed 114 times.">        <span class="keyword">return</span> suppressDeclaration;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will set whether a new line is printed after the XML declaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * (assuming it is not supressed.)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> newLineAfterDeclaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>boolean</code> indicating whether or not to print new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            line following the XML declaration. The default is true.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNewLineAfterDeclaration(<span class="keyword">boolean</span> newLineAfterDeclaration) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: statement not executed.">        <span class="keyword">this</span>.newLineAfterDeclaration = newLineAfterDeclaration;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if a new line should be printed following XML declaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 254: method entered 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: method entered 110 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isNewLineAfterDeclaration() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 255: statement executed 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: statement executed 110 times.">        <span class="keyword">return</span> newLineAfterDeclaration;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 258: method entered 299 times."> 299</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 258: method entered 299 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isExpandEmptyElements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 259: statement executed 299 times."> 299</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 259: statement executed 299 times.">        <span class="keyword">return</span> expandEmptyElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will set whether empty elements are expanded from</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>&lt;tagName&gt;</code> to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>&lt;tagName&gt;&lt;/tagName&gt;</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> expandEmptyElements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>boolean</code> indicating whether or not empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            elements should be expanded.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 273: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 273: method entered 11 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setExpandEmptyElements(<span class="keyword">boolean</span> expandEmptyElements) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 274: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 274: statement executed 11 times.">        <span class="keyword">this</span>.expandEmptyElements = expandEmptyElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 277: method entered 19843 times."> 19843</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 277: method entered 19843 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isTrimText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 278: statement executed 19843 times."> 19843</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 278: statement executed 19843 times.">        <span class="keyword">return</span> trimText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will set whether the text is output verbatim (false) or with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * whitespace stripped as per <code>{@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.dom4j.Element#getTextTrim()}</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Default: false</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> trimText</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>boolean</code> true=>trim the whitespace, false=>use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            text verbatim</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 299: method entered 40 times."> 40</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 299: method entered 40 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setTrimText(<span class="keyword">boolean</span> trimText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 300: statement executed 40 times."> 40</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 300: statement executed 40 times.">        <span class="keyword">this</span>.trimText = trimText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 303</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 303: method entered 16696 times."> 16696</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 303: method entered 16696 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isPadText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 304</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 304: statement executed 16696 times."> 16696</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 304: statement executed 16696 times.">        <span class="keyword">return</span> padText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Ensure that text immediately preceded by or followed by an element will</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * be "padded" with a single space. This is used to allow make</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * browser-friendly HTML, avoiding trimText's transformation of, e.g.,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>The quick &lt;b&gt;brown&lt;/b&gt; fox</code> into <code>The</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * quick&lt;b&gt;brown&lt;/b&gt;fox</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * (the latter will run the three separate words together into a single</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * word). This setting is not too useful if you haven't also called</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link #setTrimText}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The padding string will only be added if the text itself starts or ends</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * with some whitespace characters.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Default: false</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> padText</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>boolean</code> if true, pad string-element boundaries</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 331</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 331: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 331: method entered 20 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setPadText(<span class="keyword">boolean</span> padText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 332</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 332: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 332: statement executed 20 times.">        <span class="keyword">this</span>.padText = padText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 335</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 335: method entered 24916 times."> 24916</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 335: method entered 24916 times.">    <span class="keyword">public</span> String getIndent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 336: statement executed 24916 times."> 24916</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 336: statement executed 24916 times.">        <span class="keyword">return</span> indent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will set the indent <code>String</code> to use; this is usually a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>String</code> of empty spaces. If you pass null, or the empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * string (""), then no indentation will happen.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Default: none (null)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> indent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>String</code> to use for indentation.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 350</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 350: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 350: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setIndent(String indent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// nullify empty string to void unnecessary indentation code</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 352: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 352: statement not executed.">        <span class="keyword">if</span> ((indent != <span class="keyword">null</span>) && (indent.length() <= 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 353: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 353: statement not executed.">            indent = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 356</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 356: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 356: statement not executed.">        <span class="keyword">this</span>.indent = indent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Set the indent on or off. If setting on, will use the value of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * STANDARD_INDENT, which is usually two spaces.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> doIndent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            if true, set indenting on; if false, set indenting off</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 366: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 366: method entered 15 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setIndent(<span class="keyword">boolean</span> doIndent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 367</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 367: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 367: statement executed 15 times.">        <span class="keyword">if</span> (doIndent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 368: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 368: statement executed 5 times.">            <span class="keyword">this</span>.indent = STANDARD_INDENT;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 370: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 370: statement executed 10 times.">            <span class="keyword">this</span>.indent = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will set the indent <code>String</code>'s size; an indentSize of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * 4 would result in the indention being equivalent to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>String</code> "&nbsp;&nbsp;&nbsp;&nbsp;" (four space characters).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> indentSize</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>int</code> number of spaces in indentation.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 384</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 384: method entered 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 384: method entered 22 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setIndentSize(<span class="keyword">int</span> indentSize) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 385</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 385: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 385: statement executed 22 times.">        StringBuffer indentBuffer = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 387: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 387: statement executed 22 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < indentSize; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 388</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 388: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 388: statement executed 52 times.">            indentBuffer.append(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 391</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 391: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 391: statement executed 22 times.">        <span class="keyword">this</span>.indent = indentBuffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Whether or not to use the XHTML standard: like HTML but passes an XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parser with real, closed tags. Also, XHTML CDATA sections will be output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * with the CDATA delimiters: ( &quot; <b>&lt;![CDATA[ </b>&quot; and &quot;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <b>]]&gt; </b>&quot; ) otherwise, the class HTMLWriter will output the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * CDATA text, but not the delimiters.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Default is <code>false</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 409</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 409: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 409: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isXHTML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 410</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 410: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 410: statement executed 3 times.">        <span class="keyword">return</span> doXHTML;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will set whether or not to use the XHTML standard: like HTML but</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * passes an XML parser with real, closed tags. Also, XHTML CDATA sections</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be output with the CDATA delimiters: ( &quot; <b>&lt;[CDATA[</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </b>&quot; and &quot; <b>]]&lt; </b>) otherwise, the class HTMLWriter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will output the CDATA text, but not the delimiters.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Default: false</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xhtml</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>boolean</code> true=>conform to XHTML, false=>conform</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            to HTML, can have unclosed tags, etc.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 430</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 430: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 430: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXHTML(<span class="keyword">boolean</span> xhtml) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 431</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 431: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 431: statement not executed.">        doXHTML = xhtml;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 434</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 434: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 434: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">int</span> getNewLineAfterNTags() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 435</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 435: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 435: statement executed 1 time.">        <span class="keyword">return</span> newLineAfterNTags;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Controls output of a line.separator every tagCount tags when isNewlines</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is false. If tagCount equals zero, it means don't do anything special. If</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * greater than zero, then a line.separator will be output after tagCount</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * tags have been output. Used when you would like to squeeze the html as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * much as possible, but some browsers don't like really long lines. A tag</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * count of 10 would produce a line.separator in the output after 10 close</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * tags (including single tags).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> tagCount</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 450</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 450: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 450: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNewLineAfterNTags(<span class="keyword">int</span> tagCount) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 451</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 451: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 451: statement not executed.">        newLineAfterNTags = tagCount;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 454</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 454: method entered 8554 times."> 8554</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 454: method entered 8554 times.">    <span class="keyword">public</span> <span class="keyword">char</span> getAttributeQuoteCharacter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 455</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 455: statement executed 8554 times."> 8554</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 455: statement executed 8554 times.">        <span class="keyword">return</span> attributeQuoteChar;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the character used to quote attribute values. The specified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * character must be a valid XML attribute quote character, otherwise an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>IllegalArgumentException</code> will be thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> quoteChar</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The character to use when quoting attribute values.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IllegalArgumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If the specified character is not a valid XML attribute quote</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             character.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 470</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 470: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 470: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributeQuoteCharacter(<span class="keyword">char</span> quoteChar) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 471</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 471: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 471: statement not executed.">        <span class="keyword">if</span> ((quoteChar == '\'') || (quoteChar == '<span class="string">"')) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 472</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 472: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 472: statement not executed.">            attributeQuoteChar = quoteChar;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 474</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 474: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 474: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"Invalid attribute quote "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">"character ("</span> + quoteChar + <span class="string">")"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses command line arguments of the form <code>-omitEncoding</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * -indentSize 3 -newlines -trimText</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> args</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the array of command line arguments</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> i</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the index in args to start parsing options</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the index of first parameter that we didn't understand</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 490</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 490: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 490: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> parseOptions(String[] args, <span class="keyword">int</span> i) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 491</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 491: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 491: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> size = args.length; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 492</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 492: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 492: statement not executed.">            <span class="keyword">if</span> (args[i].equals(<span class="string">"-suppressDeclaration"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 493</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 493: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 493: statement not executed.">                setSuppressDeclaration(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 494</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 494: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 494: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].equals(<span class="string">"-omitEncoding"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 495</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 495: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 495: statement not executed.">                setOmitEncoding(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 496</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 496: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 496: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].equals(<span class="string">"-indent"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 497</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 497: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 497: statement not executed.">                setIndent(args[++i]);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 498</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 498: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 498: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].equals(<span class="string">"-indentSize"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 499</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 499: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 499: statement not executed.">                setIndentSize(Integer.parseInt(args[++i]));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 500</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 500: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 500: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].startsWith(<span class="string">"-expandEmpty"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 501</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 501: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 501: statement not executed.">                setExpandEmptyElements(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 502</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 502: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 502: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].equals(<span class="string">"-encoding"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 503</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 503: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 503: statement not executed.">                setEncoding(args[++i]);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 504</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 504: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 504: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].equals(<span class="string">"-newlines"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 505</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 505: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 505: statement not executed.">                setNewlines(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 506</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 506: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 506: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].equals(<span class="string">"-lineSeparator"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 507</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 507: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 507: statement not executed.">                setLineSeparator(args[++i]);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 508</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 508: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 508: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].equals(<span class="string">"-trimText"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 509</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 509: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 509: statement not executed.">                setTrimText(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 510</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 510: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 510: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].equals(<span class="string">"-padText"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 511</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 511: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 511: statement not executed.">                setPadText(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 512</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 512: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 512: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (args[i].startsWith(<span class="string">"-xhtml"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 513</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 513: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 513: statement not executed.">                setXHTML(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 515</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 515: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 515: statement not executed.">                <span class="keyword">return</span> i;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 519</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 519: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 519: statement not executed.">        <span class="keyword">return</span> i;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A static helper method to create the default pretty printing format. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * format consists of an indent of 2 spaces, newlines after each element and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * all other whitespace trimmed, and XMTML is false.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 529</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 529: method entered 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 529: method entered 18 times.">    <span class="keyword">public</span> <span class="keyword">static</span> OutputFormat createPrettyPrint() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 530</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 530: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 530: statement executed 18 times.">        OutputFormat format = <span class="keyword">new</span> OutputFormat();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 531</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 531: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 531: statement executed 18 times.">        format.setIndentSize(2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 532</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 532: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 532: statement executed 18 times.">        format.setNewlines(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 533</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 533: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 533: statement executed 18 times.">        format.setTrimText(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 534</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 534: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 534: statement executed 18 times.">        format.setPadText(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 536</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 536: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 536: statement executed 18 times.">        <span class="keyword">return</span> format;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A static helper method to create the default compact format. This format</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * does not have any indentation or newlines after an alement and all other</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * whitespace trimmed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 546</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 546: method entered 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 546: method entered 10 times.">    <span class="keyword">public</span> <span class="keyword">static</span> OutputFormat createCompactFormat() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 547</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 547: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 547: statement executed 10 times.">        OutputFormat format = <span class="keyword">new</span> OutputFormat();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 548</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 548: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 548: statement executed 10 times.">        format.setIndent(<span class="keyword">false</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 549</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 549: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 549: statement executed 10 times.">        format.setNewlines(<span class="keyword">false</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 550</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 550: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 550: statement executed 10 times.">        format.setTrimText(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 552</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 552: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 552: statement executed 10 times.">        <span class="keyword">return</span> format;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/PruningDispatchHandler.html b/docs/clover/org/dom4j/io/PruningDispatchHandler.html
new file mode 100644
index 0000000..2c7b976
--- /dev/null
+++ b/docs/clover/org/dom4j/io/PruningDispatchHandler.html
@@ -0,0 +1,346 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ PruningDispatchHandler.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="PruningDispatchHandler.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">64</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">1</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">10</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   PruningDispatchHandler.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This extension on the {@link DispatchHandler}prunes the current {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * org.dom4j.Element} when there are no {@link ElementHandler}objects active</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne keysers (Realsoftware)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="PruningDispatchHandler"> 19</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> PruningDispatchHandler <span class="keyword">extends</span> DispatchHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 20</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 20: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 20: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> onEnd(ElementPath elementPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 21</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 21: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 21: statement not executed.">        <span class="keyword">super</span>.onEnd(elementPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 23</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 23: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 23: statement not executed.">        <span class="keyword">if</span> (getActiveHandlerCount() == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 24: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 24: statement not executed.">            elementPath.getCurrent().detach();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/PruningElementStack.html b/docs/clover/org/dom4j/io/PruningElementStack.html
new file mode 100644
index 0000000..845a5f6
--- /dev/null
+++ b/docs/clover/org/dom4j/io/PruningElementStack.html
@@ -0,0 +1,739 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ PruningElementStack.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="PruningElementStack.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">154</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">6</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">62</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   PruningElementStack.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>PruningElementStack</code> is a stack of {@link Element}instances</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * which will prune the tree when a path expression is reached. This is useful</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * for parsing very large documents where children of the root element can be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * processed individually rather than keeping them all in memory at the same</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * time.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.11 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="PruningElementStack"> 25</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> PruningElementStack <span class="keyword">extends</span> ElementStack {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** ElementHandler to call when pruning occurs */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ElementHandler elementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the element name path which denotes the node to remove from its parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * when it is complete (i.e. when it is popped from the stack). The first</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * entry in the path will be a child of the root node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String[] path;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The level at which a path match can occur. We match when we have popped</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the selected node so the and the lastElementIndex points to its parent so</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this value should be path.length - 2</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> matchingElementIndex;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> PruningElementStack(String[] path, ElementHandler elementHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">this</span>.path = path;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">this</span>.elementHandler = elementHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        checkPath();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> PruningElementStack(String[] path, ElementHandler elementHandler,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">int</span> defaultCapacity) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">super</span>(defaultCapacity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">this</span>.path = path;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">        <span class="keyword">this</span>.elementHandler = elementHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        checkPath();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> Element popElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        Element answer = <span class="keyword">super</span>.popElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">if</span> ((lastElementIndex == matchingElementIndex)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                && (lastElementIndex >= 0)) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// we are popping the correct level in the tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// lets check if the path fits</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// NOTE: this is an inefficient way of doing it - we could</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// maintain a history of which parts matched?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">            <span class="keyword">if</span> (validElement(answer, lastElementIndex + 1)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">                Element parent = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">                <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i <= lastElementIndex; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">                    parent = stack[i];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">                    <span class="keyword">if</span> (!validElement(parent, i)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">                        parent = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">                        <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">                <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">                    pathMatches(parent, answer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> pathMatches(Element parent, Element selectedNode) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        elementHandler.onEnd(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">        parent.remove(selectedNode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: method not entered.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> validElement(Element element, <span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        String requiredName = path[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">        String name = element.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">if</span> (requiredName == name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">if</span> ((requiredName != <span class="keyword">null</span>) && (name != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">            <span class="keyword">return</span> requiredName.equals(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: method not entered.">    <span class="keyword">private</span> <span class="keyword">void</span> checkPath() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">        <span class="keyword">if</span> (path.length < 2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(<span class="string">"Invalid path of length: "</span> + path.length</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">" it must be greater than 2"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        matchingElementIndex = path.length - 2;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXContentHandler.html b/docs/clover/org/dom4j/io/SAXContentHandler.html
new file mode 100644
index 0000000..ceb7e10
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXContentHandler.html
@@ -0,0 +1,4360 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXContentHandler.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXContentHandler.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.006</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">55</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">449</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXContentHandler.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">64,4%</TD>
+    <TD class="graphPercent" align="center">79,2%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>73,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="147" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="53" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.lang.reflect.Method;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.dtd.AttributeDecl;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.dtd.ElementDecl;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.dtd.ExternalEntityDecl;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.dtd.InternalEntityDecl;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.AbstractElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.NamespaceStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.DTDHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.EntityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Locator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXParseException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ext.DeclHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ext.LexicalHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.DefaultHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>SAXContentHandler</code> builds a dom4j tree via SAX events.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.61 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXContentHandler"> 50</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> SAXContentHandler <span class="keyword">extends</span> DefaultHandler <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        LexicalHandler, DeclHandler, DTDHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The factory used to create new <code>Document</code> instances */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory documentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The document that is being built */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Document document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** stack of <code>Element</code> objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ElementStack elementStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** stack of <code>Namespace</code> and <code>QName</code> objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> NamespaceStack namespaceStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** the <code>ElementHandler</code> called as the elements are complete */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ElementHandler elementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** the Locator */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Locator locator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The name of the current entity */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Flag used to indicate that we are inside a DTD section */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> insideDTDSection;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Flag used to indicate that we are inside a CDATA section */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> insideCDATASection;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * buffer to hold contents of cdata section across multiple characters</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> StringBuffer cdataText;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** namespaces that are available for use */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map availableNamespaceMap = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** declared namespaces that are not yet available for use */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List declaredNamespaceList = <span class="keyword">new</span> ArrayList();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** internal DTD declarations */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List internalDTDDeclarations;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** external DTD declarations */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List externalDTDDeclarations;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The number of namespaces that are declared in the current scope */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> declaredNamespaceIndex;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The entity resolver */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> EntityResolver entityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> InputSource inputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The current element we are on */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element currentElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Should internal DTD declarations be expanded into a List in the DTD */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> includeInternalDTDDeclarations = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Should external DTD declarations be expanded into a List in the DTD */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> includeExternalDTDDeclarations = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The number of levels deep we are inside a startEntity/endEntity call */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> entityLevel;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Are we in an internal DTD subset? */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> internalDTDsubset = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Whether adjacent text nodes should be merged */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> mergeAdjacentText = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Have we added text to the buffer */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> textInTextBuffer = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Should we ignore comments */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> ignoreComments = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Buffer used to concatenate text together */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> StringBuffer textBuffer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property stripWhitespaceText. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> stripWhitespaceText = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: method entered 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: method entered 19 times.">    <span class="keyword">public</span> SAXContentHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 136: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 136: statement executed 19 times.">        <span class="keyword">this</span>(DocumentFactory.getInstance());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: method entered 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: method entered 19 times.">    <span class="keyword">public</span> SAXContentHandler(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 19 times.">        <span class="keyword">this</span>(documentFactory, <span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: method entered 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: method entered 5811 times.">    <span class="keyword">public</span> SAXContentHandler(DocumentFactory documentFactory,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            ElementHandler elementHandler) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: statement executed 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: statement executed 5811 times.">        <span class="keyword">this</span>(documentFactory, elementHandler, <span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 5811 times.">        <span class="keyword">this</span>.elementStack = createElementStack();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: method entered 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: method entered 5811 times.">    <span class="keyword">public</span> SAXContentHandler(DocumentFactory documentFactory,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            ElementHandler elementHandler, ElementStack elementStack) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 5811 times.">        <span class="keyword">this</span>.documentFactory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 5811 times.">        <span class="keyword">this</span>.elementHandler = elementHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 153: statement executed 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 153: statement executed 5811 times.">        <span class="keyword">this</span>.elementStack = elementStack;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 5811 times.">        <span class="keyword">this</span>.namespaceStack = <span class="keyword">new</span> NamespaceStack(documentFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the document that has been or is being built</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: method entered 11692 times."> 11692</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: method entered 11692 times.">    <span class="keyword">public</span> Document getDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: statement executed 11692 times."> 11692</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: statement executed 11692 times.">        <span class="keyword">if</span> (document == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 5814 times.">            document = createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: statement executed 11692 times."> 11692</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: statement executed 11692 times.">        <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// ContentHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 172: method entered 5813 times."> 5813</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 172: method entered 5813 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentLocator(Locator documentLocator) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 173: statement executed 5813 times."> 5813</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 173: statement executed 5813 times.">        <span class="keyword">this</span>.locator = documentLocator;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: method entered 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: method entered 23 times.">    <span class="keyword">public</span> <span class="keyword">void</span> processingInstruction(String target, String data)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 178: expression evaluated to true 0 times, false 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 178: expression evaluated to true 0 times, false 23 times.">        <span class="keyword">if</span> (mergeAdjacentText && textInTextBuffer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">            completeCurrentTextNode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 182: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 182: statement executed 23 times.">        <span class="keyword">if</span> (currentElement != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 1 time.">            currentElement.addProcessingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 185: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: statement executed 22 times.">            getDocument().addProcessingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: method entered 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: method entered 5884 times.">    <span class="keyword">public</span> <span class="keyword">void</span> startPrefixMapping(String prefix, String uri)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: statement executed 5884 times.">        namespaceStack.push(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 194: method entered 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 194: method entered 5884 times.">    <span class="keyword">public</span> <span class="keyword">void</span> endPrefixMapping(String prefix) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: statement executed 5884 times.">        namespaceStack.pop(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 196: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 196: statement executed 5884 times.">        declaredNamespaceIndex = namespaceStack.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: method entered 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: method entered 5814 times.">    <span class="keyword">public</span> <span class="keyword">void</span> startDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// document = createDocument();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 5814 times.">        document = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 5814 times.">        currentElement = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 204: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 204: statement executed 5814 times.">        elementStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 206: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 206: statement executed 5814 times.">        <span class="keyword">if</span> ((elementHandler != <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                && (elementHandler <span class="keyword">instanceof</span> DispatchHandler)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 208: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 208: statement executed 18 times.">            elementStack.setDispatchHandler((DispatchHandler) elementHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 5814 times.">        namespaceStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: statement executed 5814 times.">        declaredNamespaceIndex = 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 214: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 214: statement executed 5814 times.">        <span class="keyword">if</span> (mergeAdjacentText && (textBuffer == <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 215: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 215: statement executed 4 times.">            textBuffer = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 218: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 218: statement executed 5814 times.">        textInTextBuffer = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 221: method entered 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 221: method entered 5814 times.">    <span class="keyword">public</span> <span class="keyword">void</span> endDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 222: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: statement executed 5814 times.">        namespaceStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 223: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 223: statement executed 5814 times.">        elementStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 224: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 224: statement executed 5814 times.">        currentElement = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: statement executed 5814 times.">        textBuffer = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 228: method entered 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 228: method entered 86721 times.">    <span class="keyword">public</span> <span class="keyword">void</span> startElement(String namespaceURI, String localName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qualifiedName, Attributes attributes) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 230: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 230: statement executed 86721 times.">        <span class="keyword">if</span> (mergeAdjacentText && textInTextBuffer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 231: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 231: statement executed 1 time.">            completeCurrentTextNode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 234: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 234: statement executed 86721 times.">        QName qName = namespaceStack.getQName(namespaceURI, localName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                qualifiedName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 237: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 237: statement executed 86721 times.">        Branch branch = currentElement;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 239: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 239: statement executed 86721 times.">        <span class="keyword">if</span> (branch == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 240: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 240: statement executed 5814 times.">            branch = getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 243: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 243: statement executed 86721 times.">        Element element = branch.addElement(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// add all declared namespaces</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 246: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 246: statement executed 86721 times.">        addDeclaredNamespaces(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// now lets add all attribute values</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 249: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 249: statement executed 86721 times.">        addAttributes(element, attributes);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 251: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 251: statement executed 86721 times.">        elementStack.pushElement(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 252: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 252: statement executed 86721 times.">        currentElement = element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 254: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: statement executed 86721 times.">        entity = <span class="keyword">null</span>; <span class="comment">// fixes bug527062</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 256: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 256: statement executed 86721 times.">        <span class="keyword">if</span> (elementHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 257: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 78 times.">            elementHandler.onStart(elementStack);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 261: method entered 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 261: method entered 86721 times.">    <span class="keyword">public</span> <span class="keyword">void</span> endElement(String namespaceURI, String localName, String qName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 263: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 263: statement executed 86721 times.">        <span class="keyword">if</span> (mergeAdjacentText && textInTextBuffer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 264: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 264: statement executed 5 times.">            completeCurrentTextNode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 267: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 267: statement executed 86721 times.">        <span class="keyword">if</span> ((elementHandler != <span class="keyword">null</span>) && (currentElement != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 268: statement executed 78 times."> 78</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 268: statement executed 78 times.">            elementHandler.onEnd(elementStack);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: statement executed 86721 times.">        elementStack.popElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 272: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 272: statement executed 86721 times.">        currentElement = elementStack.peekElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 275: method entered 109454 times."> 109454</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 275: method entered 109454 times.">    <span class="keyword">public</span> <span class="keyword">void</span> characters(<span class="keyword">char</span>[] ch, <span class="keyword">int</span> start, <span class="keyword">int</span> end) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 276: expression evaluated to true 0 times, false 109454 times."> 109454</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 276: expression evaluated to true 0 times, false 109454 times.">        <span class="keyword">if</span> (end == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 277: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 277: statement not executed.">            <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 280: expression evaluated to true 109454 times, false 0 times."> 109454</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 280: expression evaluated to true 109454 times, false 0 times.">        <span class="keyword">if</span> (currentElement != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 281: statement executed 109454 times."> 109454</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 281: statement executed 109454 times.">            <span class="keyword">if</span> (entity != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 282: expression evaluated to true 0 times, false 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 282: expression evaluated to true 0 times, false 4 times.">                <span class="keyword">if</span> (mergeAdjacentText && textInTextBuffer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 283: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 283: statement not executed.">                    completeCurrentTextNode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 286</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 286: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 286: statement executed 4 times.">                currentElement.addEntity(entity, <span class="keyword">new</span> String(ch, start, end));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 287: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 287: statement executed 4 times.">                entity = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 288: statement executed 109450 times."> 109450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 288: statement executed 109450 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (insideCDATASection) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 289</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 289: statement executed 200 times."> 200</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 289: statement executed 200 times.">                <span class="keyword">if</span> (mergeAdjacentText && textInTextBuffer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 290</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 290: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 290: statement executed 1 time.">                    completeCurrentTextNode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 293</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 293: statement executed 200 times."> 200</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 293: statement executed 200 times.">                cdataText.append(<span class="keyword">new</span> String(ch, start, end));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: statement executed 109250 times."> 109250</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: statement executed 109250 times.">                <span class="keyword">if</span> (mergeAdjacentText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 296: statement executed 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 296: statement executed 32 times.">                    textBuffer.append(ch, start, end);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 297: statement executed 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 297: statement executed 32 times.">                    textInTextBuffer = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 299: statement executed 109218 times."> 109218</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 299: statement executed 109218 times.">                    currentElement.addText(<span class="keyword">new</span> String(ch, start, end));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// ErrorHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is called when a warning occurs during the parsing of the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document. This method does nothing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 318: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 318: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> warning(SAXParseException exception) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// ignore warnings by default</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is called when an error is detected during parsing such as a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * validation error. This method rethrows the exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 332</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 332: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 332: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> error(SAXParseException exception) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 333</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 333: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 333: statement not executed.">        <span class="keyword">throw</span> exception;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is called when a fatal error occurs during parsing. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * method rethrows the exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 346</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 346: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 346: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> fatalError(SAXParseException exception) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 347</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 347: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 347: statement not executed.">        <span class="keyword">throw</span> exception;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// LexicalHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 352: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 352: method entered 11 times.">    <span class="keyword">public</span> <span class="keyword">void</span> startDTD(String name, String publicId, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 354</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 354: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 354: statement executed 11 times.">        getDocument().addDocType(name, publicId, systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 355</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 355: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 355: statement executed 11 times.">        insideDTDSection = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 356</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 356: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 356: statement executed 11 times.">        internalDTDsubset = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 359</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 359: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 359: method entered 11 times.">    <span class="keyword">public</span> <span class="keyword">void</span> endDTD() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 360: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 360: statement executed 11 times.">        insideDTDSection = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 362: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 362: statement executed 11 times.">        DocumentType docType = getDocument().getDocType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 364</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 364: expression evaluated to true 11 times, false 0 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 364: expression evaluated to true 11 times, false 0 times.">        <span class="keyword">if</span> (docType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 365: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 365: statement executed 11 times.">            <span class="keyword">if</span> (internalDTDDeclarations != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 366: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 366: statement executed 4 times.">                docType.setInternalDeclarations(internalDTDDeclarations);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 369</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 369: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 369: statement executed 11 times.">            <span class="keyword">if</span> (externalDTDDeclarations != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 370: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 370: statement executed 3 times.">                docType.setExternalDeclarations(externalDTDDeclarations);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 374: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 374: statement executed 11 times.">        internalDTDDeclarations = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 375</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 375: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 375: statement executed 11 times.">        externalDTDDeclarations = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 378</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 378: method entered 433 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 378: method entered 433 times.">    <span class="keyword">public</span> <span class="keyword">void</span> startEntity(String name) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 379</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 379: statement executed 433 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 379: statement executed 433 times.">        ++entityLevel;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Ignore DTD references</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 382</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 382: statement executed 433 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 382: statement executed 433 times.">        entity = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 384</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 384: statement executed 433 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 384: statement executed 433 times.">        <span class="keyword">if</span> (!insideDTDSection) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 385</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 385: statement executed 429 times."> 429</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 385: statement executed 429 times.">            <span class="keyword">if</span> (!isIgnorableEntity(name)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 386: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 386: statement executed 5 times.">                entity = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// internal DTD subsets can only appear outside of a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// startEntity/endEntity block</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// see the startDTD method in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// http://dom4j.org/javadoc/org/xml/sax/ext/LexicalHandler.html</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 394</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 394: statement executed 433 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 394: statement executed 433 times.">        internalDTDsubset = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 397</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 397: method entered 433 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 397: method entered 433 times.">    <span class="keyword">public</span> <span class="keyword">void</span> endEntity(String name) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 398</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 398: statement executed 433 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 398: statement executed 433 times.">        --entityLevel;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 399</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 399: statement executed 433 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 399: statement executed 433 times.">        entity = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 401</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 401: expression evaluated to true 433 times, false 0 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 401: expression evaluated to true 433 times, false 0 times.">        <span class="keyword">if</span> (entityLevel == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 402</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 402: statement executed 433 times."> 433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 402: statement executed 433 times.">            internalDTDsubset = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 406</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 406: method entered 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 406: method entered 70 times.">    <span class="keyword">public</span> <span class="keyword">void</span> startCDATA() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 407</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 407: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 407: statement executed 70 times.">        insideCDATASection = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 408</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 408: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 408: statement executed 70 times.">        cdataText = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 411</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 411: method entered 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 411: method entered 70 times.">    <span class="keyword">public</span> <span class="keyword">void</span> endCDATA() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 412: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 412: statement executed 70 times.">        insideCDATASection = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 413</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 413: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 413: statement executed 70 times.">        currentElement.addCDATA(cdataText.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 416: method entered 445 times."> 445</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 416: method entered 445 times.">    <span class="keyword">public</span> <span class="keyword">void</span> comment(<span class="keyword">char</span>[] ch, <span class="keyword">int</span> start, <span class="keyword">int</span> end) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 417</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 417: expression evaluated to true 445 times, false 0 times."> 445</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 417: expression evaluated to true 445 times, false 0 times.">        <span class="keyword">if</span> (!ignoreComments) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 418</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 418: statement executed 445 times."> 445</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 418: statement executed 445 times.">            <span class="keyword">if</span> (mergeAdjacentText && textInTextBuffer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 419</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 419: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 419: statement executed 1 time.">                completeCurrentTextNode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 422</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 422: statement executed 445 times."> 445</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 422: statement executed 445 times.">            String text = <span class="keyword">new</span> String(ch, start, end);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 424</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 424: statement executed 445 times."> 445</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 424: statement executed 445 times.">            <span class="keyword">if</span> (!insideDTDSection && (text.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 425</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 425: statement executed 442 times."> 442</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 425: statement executed 442 times.">                <span class="keyword">if</span> (currentElement != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 426</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 426: statement executed 422 times."> 422</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 426: statement executed 422 times.">                    currentElement.addComment(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 428</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 428: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 428: statement executed 20 times.">                    getDocument().addComment(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// DeclHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Report an element type declaration.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The content model will consist of the string "EMPTY", the string "ANY",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or a parenthesised group, optionally followed by an occurrence indicator.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The model will be normalized so that all parameter entities are fully</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * resolved and all whitespace is removed,and will include the enclosing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parentheses. Other normalization (such as removing redundant parentheses</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or simplifying occurrence indicators) is at the discretion of the parser.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The element type name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> model</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The content model as a normalized string.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                The application may raise an exception.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 457</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 457: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 457: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">void</span> elementDecl(String name, String model) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 458</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 458: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 458: statement executed 6 times.">        <span class="keyword">if</span> (internalDTDsubset) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 459</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 459: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 459: expression evaluated to true 3 times, false 0 times.">            <span class="keyword">if</span> (includeInternalDTDDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 460</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 460: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 460: statement executed 3 times.">                addDTDDeclaration(<span class="keyword">new</span> ElementDecl(name, model));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 463</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 463: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 463: expression evaluated to true 3 times, false 0 times.">            <span class="keyword">if</span> (includeExternalDTDDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 464</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 464: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 464: statement executed 3 times.">                addExternalDTDDeclaration(<span class="keyword">new</span> ElementDecl(name, model));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Report an attribute type declaration.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Only the effective (first) declaration for an attribute will be reported.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The type will be one of the strings "CDATA", "ID", "IDREF", "IDREFS",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", a parenthesized token group</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * with the separator "|" and all whitespace removed, or the word "NOTATION"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * followed by a space followed by a parenthesized token group with all</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * whitespace removed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Any parameter entities in the attribute value will be expanded, but</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * general entities will not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> eName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The name of the associated element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> aName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The name of the attribute.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            A string representing the attribute type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> valueDefault</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            A string representing the attribute default ("#IMPLIED",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            "#REQUIRED", or "#FIXED") or null if none of these applies.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> val</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            A string representing the attribute's default value, or null</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            if there is none.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                The application may raise an exception.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 502</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 502: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 502: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">void</span> attributeDecl(String eName, String aName, String type,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String valueDefault, String val) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 504</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 504: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 504: expression evaluated to true 3 times, false 0 times.">        <span class="keyword">if</span> (internalDTDsubset) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 505</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 505: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 505: expression evaluated to true 3 times, false 0 times.">            <span class="keyword">if</span> (includeInternalDTDDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 506</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 506: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 506: statement executed 3 times.">                addDTDDeclaration(<span class="keyword">new</span> AttributeDecl(eName, aName, type,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        valueDefault, val));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 510</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 510: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 510: statement not executed.">            <span class="keyword">if</span> (includeExternalDTDDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 511</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 511: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 511: statement not executed.">                addExternalDTDDeclaration(<span class="keyword">new</span> AttributeDecl(eName, aName, type,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        valueDefault, val));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Report an internal entity declaration.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Only the effective (first) declaration for each entity will be reported.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * All parameter entities in the value will be expanded, but general</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * entities will not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The name of the entity. If it is a parameter entity, the name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            will begin with '%'.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The replacement text of the entity.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                The application may raise an exception.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #externalEntityDecl</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> org.xml.sax.DTDHandler#unparsedEntityDecl</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 538</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 538: method entered 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 538: method entered 13 times.">    <span class="keyword">public</span> <span class="keyword">void</span> internalEntityDecl(String name, String value)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 540</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 540: expression evaluated to true 13 times, false 0 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 540: expression evaluated to true 13 times, false 0 times.">        <span class="keyword">if</span> (internalDTDsubset) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 541</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 541: expression evaluated to true 13 times, false 0 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 541: expression evaluated to true 13 times, false 0 times.">            <span class="keyword">if</span> (includeInternalDTDDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 542</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 542: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 542: statement executed 13 times.">                addDTDDeclaration(<span class="keyword">new</span> InternalEntityDecl(name, value));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 545</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 545: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 545: statement not executed.">            <span class="keyword">if</span> (includeExternalDTDDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 546</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 546: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 546: statement not executed.">                addExternalDTDDeclaration(<span class="keyword">new</span> InternalEntityDecl(name, value));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Report a parsed external entity declaration.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Only the effective (first) declaration for each entity will be reported.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The name of the entity. If it is a parameter entity, the name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            will begin with '%'.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> publicId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The declared public identifier of the entity, or null if none</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            was declared.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> sysId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The declared system identifier of the entity.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                The application may raise an exception.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #internalEntityDecl</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> org.xml.sax.DTDHandler#unparsedEntityDecl</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 573</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 573: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 573: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> externalEntityDecl(String name, String publicId, String sysId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 575</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 575: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 575: statement not executed.">        ExternalEntityDecl declaration = <span class="keyword">new</span> ExternalEntityDecl(name, publicId,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                sysId);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 578</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 578: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 578: statement not executed.">        <span class="keyword">if</span> (internalDTDsubset) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 579</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 579: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 579: statement not executed.">            <span class="keyword">if</span> (includeInternalDTDDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 580</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 580: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 580: statement not executed.">                addDTDDeclaration(declaration);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 583</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 583: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 583: statement not executed.">            <span class="keyword">if</span> (includeExternalDTDDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 584</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 584: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 584: statement not executed.">                addExternalDTDDeclaration(declaration);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// DTDHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Receive notification of a notation declaration event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * It is up to the application to record the notation for later reference,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * if necessary.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 600</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * At least one of publicId and systemId must be non-null. If a system</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * identifier is present, and it is a URL, the SAX parser must resolve it</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 603</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * fully before passing it to the application through this event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 604</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * There is no guarantee that the notation declaration will be reported</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 608</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * before any unparsed entities that use it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 609</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 610</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 611</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The notation name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 613</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> publicId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 614</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The notation's public identifier, or null if none was given.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 616</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The notation's system identifier, or null if none was given.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 617</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                Any SAX exception, possibly wrapping another exception.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 620</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 621</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #unparsedEntityDecl</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 622</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> org.xml.sax.AttributeList</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 624</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 624: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 624: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> notationDecl(String name, String publicId, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 625</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 626</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// #### not supported yet!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 627</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 628</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 629</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 630</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Receive notification of an unparsed entity declaration event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 633</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Note that the notation name corresponds to a notation reported by the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 634</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link #notationDecl notationDecl}event. It is up to the application to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * record the entity for later reference, if necessary.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 637</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 638</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 639</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If the system identifier is a URL, the parser must resolve it fully</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * before passing it to the application.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 642</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 643</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 644</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The unparsed entity's name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 645</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> publicId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The entity's public identifier, or null if none was given.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 648</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The entity's system identifier.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 649</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> notationName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The name of the associated notation.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 652</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                Any SAX exception, possibly wrapping another exception.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 654</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 655</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #notationDecl</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 656</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> org.xml.sax.AttributeList</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 658</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 658: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 658: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> unparsedEntityDecl(String name, String publicId,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String systemId, String notationName) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 660</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// #### not supported yet!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 661</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 663</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 664</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 665</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 665: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 665: method not entered.">    <span class="keyword">public</span> ElementStack getElementStack() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 666</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 666: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 666: statement not executed.">        <span class="keyword">return</span> elementStack;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 667</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 668</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 669</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 669: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 669: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setElementStack(ElementStack elementStack) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 670</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 670: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 670: statement not executed.">        <span class="keyword">this</span>.elementStack = elementStack;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 672</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 673</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 673: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 673: method not entered.">    <span class="keyword">public</span> EntityResolver getEntityResolver() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 674</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 674: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 674: statement not executed.">        <span class="keyword">return</span> entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 676</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 677</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 677: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 677: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setEntityResolver(EntityResolver entityResolver) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 678</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 678: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 678: statement executed 5792 times.">        <span class="keyword">this</span>.entityResolver = entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 679</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 680</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 681</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 681: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 681: method not entered.">    <span class="keyword">public</span> InputSource getInputSource() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 682</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 682: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 682: statement not executed.">        <span class="keyword">return</span> inputSource;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 683</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 685</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 685: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 685: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setInputSource(InputSource inputSource) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 686</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 686: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 686: statement executed 5792 times.">        <span class="keyword">this</span>.inputSource = inputSource;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 687</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 688</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 689</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 690</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 691</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 692</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> whether internal DTD declarations should be expanded into the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 693</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         DocumentType object or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 694</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 695</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 695: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 695: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isIncludeInternalDTDDeclarations() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 696</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 696: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 696: statement not executed.">        <span class="keyword">return</span> includeInternalDTDDeclarations;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 697</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 698</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 699</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 700</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether internal DTD declarations should be expanded into the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 701</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DocumentType object or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 702</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 703</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> include</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 704</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            whether or not DTD declarations should be expanded and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 705</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            included into the DocumentType object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 706</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 707</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 707: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 707: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setIncludeInternalDTDDeclarations(<span class="keyword">boolean</span> include) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 708</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 708: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 708: statement executed 5792 times.">        <span class="keyword">this</span>.includeInternalDTDDeclarations = include;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 709</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 710</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 711</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 712</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 713</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 714</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> whether external DTD declarations should be expanded into the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 715</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         DocumentType object or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 716</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 717</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 717: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 717: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isIncludeExternalDTDDeclarations() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 718</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 718: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 718: statement not executed.">        <span class="keyword">return</span> includeExternalDTDDeclarations;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 719</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 720</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 721</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 722</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether DTD external declarations should be expanded into the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 723</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DocumentType object or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 724</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 725</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> include</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            whether or not DTD declarations should be expanded and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 727</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            included into the DocumentType object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 728</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 729</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 729: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 729: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setIncludeExternalDTDDeclarations(<span class="keyword">boolean</span> include) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 730</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 730: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 730: statement executed 5792 times.">        <span class="keyword">this</span>.includeExternalDTDDeclarations = include;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 731</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 732</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 733</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 734</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns whether adjacent text nodes should be merged together.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 735</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 736</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property mergeAdjacentText.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 737</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 738</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 738: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 738: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isMergeAdjacentText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 739</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 739: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 739: statement not executed.">        <span class="keyword">return</span> mergeAdjacentText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 740</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 741</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 742</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 743</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether or not adjacent text nodes should be merged together when</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 744</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 745</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 746</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> mergeAdjacentText</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 747</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property mergeAdjacentText.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 748</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 749</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 749: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 749: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setMergeAdjacentText(<span class="keyword">boolean</span> mergeAdjacentText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 750</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 750: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 750: statement executed 5792 times.">        <span class="keyword">this</span>.mergeAdjacentText = mergeAdjacentText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 751</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 752</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 753</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 754</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether whitespace between element start and end tags should be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 755</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ignored</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 757</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property stripWhitespaceText.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 758</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 759</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 759: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 759: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isStripWhitespaceText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 760</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 760: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 760: statement not executed.">        <span class="keyword">return</span> stripWhitespaceText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 761</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 762</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 763</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 764</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether whitespace between element start and end tags should be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 765</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ignored.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 766</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 767</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> stripWhitespaceText</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 768</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property stripWhitespaceText.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 769</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 770</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 770: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 770: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setStripWhitespaceText(<span class="keyword">boolean</span> stripWhitespaceText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 771</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 771: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 771: statement executed 5792 times.">        <span class="keyword">this</span>.stripWhitespaceText = stripWhitespaceText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 772</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 773</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 774</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 775</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns whether we should ignore comments or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 776</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 777</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> boolean</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 778</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 779</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 779: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 779: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isIgnoreComments() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 780</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 780: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 780: statement not executed.">        <span class="keyword">return</span> ignoreComments;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 781</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 782</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 783</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 784</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether we should ignore comments or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 785</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 786</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> ignoreComments</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 787</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            whether we should ignore comments or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 788</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 789</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 789: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 789: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setIgnoreComments(<span class="keyword">boolean</span> ignoreComments) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 790</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 790: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 790: statement executed 5792 times.">        <span class="keyword">this</span>.ignoreComments = ignoreComments;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 791</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 792</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 793</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 794</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 795</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 796</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 797</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If the current text buffer contains any text then create a new text node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 798</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * with it and add it to the current element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 799</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 800</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 800: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 800: method entered 8 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> completeCurrentTextNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 801</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 801: expression evaluated to true 0 times, false 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 801: expression evaluated to true 0 times, false 8 times.">        <span class="keyword">if</span> (stripWhitespaceText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 802</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 802: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 802: statement not executed.">            <span class="keyword">boolean</span> whitespace = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 803</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 804</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 804: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 804: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = textBuffer.length(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 805</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 805: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 805: statement not executed.">                <span class="keyword">if</span> (!Character.isWhitespace(textBuffer.charAt(i))) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 806</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 806: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 806: statement not executed.">                    whitespace = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 807</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 808</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 808: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 808: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 809</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 810</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 811</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 812</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 812: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 812: statement not executed.">            <span class="keyword">if</span> (!whitespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 813</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 813: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 813: statement not executed.">                currentElement.addText(textBuffer.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 814</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 815</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 816</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 816: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 816: statement executed 8 times.">            currentElement.addText(textBuffer.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 817</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 818</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 819</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 819: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 819: statement executed 8 times.">        textBuffer.setLength(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 820</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 820: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 820: statement executed 8 times.">        textInTextBuffer = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 821</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 822</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 823</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 824</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 825</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 826</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the current document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 827</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 828</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 828: method entered 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 828: method entered 5814 times.">    <span class="keyword">protected</span> Document createDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 829</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 829: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 829: statement executed 5814 times.">        String encoding = getEncoding();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 830</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 830: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 830: statement executed 5814 times.">        Document doc = documentFactory.createDocument(encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 831</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 832</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// set the EntityResolver</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 833</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 833: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 833: statement executed 5814 times.">        doc.setEntityResolver(entityResolver);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 834</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 835</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 835: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 835: statement executed 5814 times.">        <span class="keyword">if</span> (inputSource != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 836</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 836: statement executed 5791 times."> 5791</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 836: statement executed 5791 times.">            doc.setName(inputSource.getSystemId());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 837</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 838</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 839</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 839: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 839: statement executed 5814 times.">        <span class="keyword">return</span> doc;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 840</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 841</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 842</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 842: method entered 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 842: method entered 5814 times.">    <span class="keyword">private</span> String getEncoding() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 843</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 843: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 843: statement executed 5814 times.">        <span class="keyword">if</span> (locator == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 844</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 844: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 844: statement executed 1 time.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 845</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 846</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 847</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// use reflection to avoid dependency on Locator2</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 848</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// or other locator implemenations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 849</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 849: statement executed 5813 times."> 5813</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 849: statement executed 5813 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 850</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 850: statement executed 5813 times."> 5813</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 850: statement executed 5813 times.">            Method m = locator.getClass().getMethod(<span class="string">"getEncoding"</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 851</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="keyword">new</span> Class[] {});</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 852</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 853</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 853: expression evaluated to true 5801 times, false 0 times."> 5801</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 853: expression evaluated to true 5801 times, false 0 times.">            <span class="keyword">if</span> (m != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 854</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 854: statement executed 5801 times."> 5801</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 854: statement executed 5801 times.">                <span class="keyword">return</span> (String) m.invoke(locator, <span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 855</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 856</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 857</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// do nothing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 858</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 859</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 860</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// couldn't determine encoding, returning null...</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 861</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 861: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 861: statement executed 12 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 862</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 863</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 864</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 865</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * a Strategy Method to determine if a given entity name is ignorable</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 866</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 867</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 868</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 869</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 870</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 871</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 872</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 872: method entered 429 times."> 429</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 872: method entered 429 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> isIgnorableEntity(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 873</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 873: statement executed 429 times."> 429</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 873: statement executed 429 times.">        <span class="keyword">return</span> <span class="string">"amp"</span>.equals(name) || <span class="string">"apos"</span>.equals(name) || <span class="string">"gt"</span>.equals(name)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 874</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || <span class="string">"lt"</span>.equals(name) || <span class="string">"quot"</span>.equals(name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 875</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 876</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 877</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 878</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Add all namespaces declared before the startElement() SAX event to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 879</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * current element so that they are available to child elements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 880</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 881</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 882</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 883</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 884</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 885</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 885: method entered 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 885: method entered 86721 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addDeclaredNamespaces(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 886</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 886: statement executed 86701 times."> 86701</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 886: statement executed 86701 times.">        Namespace elementNamespace = element.getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 887</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 888</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 888: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 888: statement executed 86721 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> size = namespaceStack.size(); declaredNamespaceIndex < size; </A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 889</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                declaredNamespaceIndex++) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 890</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 890: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 890: statement executed 5884 times.">            Namespace namespace = namespaceStack</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 891</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .getNamespace(declaredNamespaceIndex);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 892</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 893</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// if ( namespace != elementNamespace ) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 894</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 894: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 894: statement executed 5884 times.">            element.add(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 895</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 896</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 897</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 898</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 899</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 900</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 901</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Add all the attributes to the given elements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 902</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 903</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 904</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 905</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 906</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 907</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 908</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 908: method entered 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 908: method entered 86721 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addAttributes(Element element, Attributes attributes) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 909</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXXX: as an optimisation, we could deduce this value from the current</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 910</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// SAX parser settings, the SAX namespaces-prefixes feature</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 911</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 911: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 911: statement executed 86721 times.">        <span class="keyword">boolean</span> noNamespaceAttributes = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 912</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 913</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 913: expression evaluated to true 86721 times, false 0 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 913: expression evaluated to true 86721 times, false 0 times.">        <span class="keyword">if</span> (element <span class="keyword">instanceof</span> AbstractElement) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 914</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// optimised method</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 915</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 915: statement executed 86700 times."> 86700</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 915: statement executed 86700 times.">            AbstractElement baseElement = (AbstractElement) element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 916</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 916: statement executed 86721 times."> 86721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 916: statement executed 86721 times.">            baseElement.setAttributes(attributes, namespaceStack,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 917</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    noNamespaceAttributes);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 918</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 919</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 919: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 919: statement not executed.">            <span class="keyword">int</span> size = attributes.getLength();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 920</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 921</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 921: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 921: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 922</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 922: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 922: statement not executed.">                String attributeQName = attributes.getQName(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 923</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 924</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 924: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 924: statement not executed.">                <span class="keyword">if</span> (noNamespaceAttributes</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 925</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        || !attributeQName.startsWith(<span class="string">"xmlns"</span>)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 926</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 926: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 926: statement not executed.">                    String attributeURI = attributes.getURI(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 927</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 927: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 927: statement not executed.">                    String attributeLocalName = attributes.getLocalName(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 928</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 928: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 928: statement not executed.">                    String attributeValue = attributes.getValue(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 929</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 930</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 930: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 930: statement not executed.">                    QName qName = namespaceStack.getAttributeQName(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 931</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            attributeURI, attributeLocalName, attributeQName);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 932</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 932: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 932: statement not executed.">                    element.addAttribute(qName, attributeValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 933</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 934</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 935</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 936</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 937</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 938</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 939</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds an internal DTD declaration to the list of declarations</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 940</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 941</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> declaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 942</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 943</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 944</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 944: method entered 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 944: method entered 19 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addDTDDeclaration(Object declaration) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 945</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 945: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 945: statement executed 19 times.">        <span class="keyword">if</span> (internalDTDDeclarations == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 946</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 946: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 946: statement executed 4 times.">            internalDTDDeclarations = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 947</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 948</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 949</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 949: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 949: statement executed 19 times.">        internalDTDDeclarations.add(declaration);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 950</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 951</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 952</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 953</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds an external DTD declaration to the list of declarations</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 954</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 955</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> declaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 956</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 957</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 958</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 958: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 958: method entered 3 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addExternalDTDDeclaration(Object declaration) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 959</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 959: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 959: expression evaluated to true 3 times, false 0 times.">        <span class="keyword">if</span> (externalDTDDeclarations == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 960</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 960: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 960: statement executed 3 times.">            externalDTDDeclarations = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 961</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 962</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 963</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 963: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 963: statement executed 3 times.">        externalDTDDeclarations.add(declaration);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 964</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 965</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 966</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 966: method entered 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 966: method entered 5811 times.">    <span class="keyword">protected</span> ElementStack createElementStack() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 967</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 967: statement executed 5811 times."> 5811</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 967: statement executed 5811 times.">        <span class="keyword">return</span> <span class="keyword">new</span> ElementStack();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 968</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 969</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 970</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 971</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 972</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 973</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 974</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 975</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 976</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 977</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 978</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 979</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 980</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 981</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 982</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 983</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 984</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 985</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 986</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 987</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 988</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 989</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 990</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 991</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 992</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 993</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 994</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 995</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 996</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 997</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 998</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 999</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1000</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1001</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1002</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1003</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1004</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1005</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1006</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXEventRecorder.html b/docs/clover/org/dom4j/io/SAXEventRecorder.html
new file mode 100644
index 0000000..041de73
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXEventRecorder.html
@@ -0,0 +1,2739 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXEventRecorder.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXEventRecorder.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">603</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">29</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">383</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">2</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXEventRecorder.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Externalizable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.ObjectInput;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.ObjectOutput;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ContentHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.DTDHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ext.DeclHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ext.LexicalHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.AttributesImpl;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.DefaultHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Records SAX events such that they may be "replayed" at a later time. Provides</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * an alternative serialization approach when externalizing a DOM4J document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Rather than serializing a document as text and re-parsing, the sax events may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * be serialized instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Example usage:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         SAXEventRecorder recorder = new SAXEventRecorder();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         SAXWriter saxWriter = new SAXWriter(recorder, recorder);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         saxWriter.write(document);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         out.writeObject(recorder);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         ...</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         SAXEventRecorder recorder = (SAXEventRecorder)in.readObject();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         SAXContentHandler saxContentHandler = new SAXContentHandler();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         recorder.replay(saxContentHandler);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         Document document = saxContentHandler.getDocument();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *   </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Todd Wolff (Bluestem Software)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXEventRecorder"> 60</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> SAXEventRecorder <span class="keyword">extends</span> DefaultHandler <span class="keyword">implements</span> LexicalHandler,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        DeclHandler, DTDHandler, Externalizable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final <span class="keyword">long</span> serialVersionUID = 1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final <span class="keyword">byte</span> STRING = 0;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final <span class="keyword">byte</span> OBJECT = 1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final <span class="keyword">byte</span> NULL = 2;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List events = <span class="keyword">new</span> ArrayList();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map prefixMappings = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String XMLNS = <span class="string">"xmlns"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String EMPTY_STRING = <span class="string">""</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> SAXEventRecorder() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> replay(ContentHandler handler) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        SAXEvent saxEvent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        Iterator itr = events.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">        <span class="keyword">while</span> (itr.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">            saxEvent = (SAXEvent) itr.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">            <span class="keyword">switch</span> (saxEvent.event) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// replay to ContentHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">                <span class="keyword">case</span> SAXEvent.PROCESSING_INSTRUCTION:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">                    handler.processingInstruction((String) saxEvent.getParm(0),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            (String) saxEvent.getParm(1));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">                <span class="keyword">case</span> SAXEvent.START_PREFIX_MAPPING:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">                    handler.startPrefixMapping((String) saxEvent.getParm(0),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            (String) saxEvent.getParm(1));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">                <span class="keyword">case</span> SAXEvent.END_PREFIX_MAPPING:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">                    handler.endPrefixMapping((String) saxEvent.getParm(0));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">                <span class="keyword">case</span> SAXEvent.START_DOCUMENT:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">                    handler.startDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">                <span class="keyword">case</span> SAXEvent.END_DOCUMENT:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: statement not executed.">                    handler.endDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: statement not executed.">                <span class="keyword">case</span> SAXEvent.START_ELEMENT:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">                    AttributesImpl attributes = <span class="keyword">new</span> AttributesImpl();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">                    List attParmList = (List) saxEvent.getParm(3);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">                    <span class="keyword">if</span> (attParmList != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">                        Iterator attsItr = attParmList.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">                        <span class="keyword">while</span> (attsItr.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">                            String[] attParms = (String[]) attsItr.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">                            attributes.addAttribute(attParms[0], attParms[1],</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    attParms[2], attParms[3], attParms[4]);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: statement not executed.">                    handler.startElement((String) saxEvent.getParm(0),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            (String) saxEvent.getParm(1), (String) saxEvent</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    .getParm(2), attributes);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">                <span class="keyword">case</span> SAXEvent.END_ELEMENT:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">                    handler.endElement((String) saxEvent.getParm(0),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            (String) saxEvent.getParm(1), (String) saxEvent</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    .getParm(2));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">                <span class="keyword">case</span> SAXEvent.CHARACTERS:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: statement not executed.">                    <span class="keyword">char</span>[] chars = (<span class="keyword">char</span>[]) saxEvent.getParm(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">                    <span class="keyword">int</span> start = ((Integer) saxEvent.getParm(1)).intValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">                    <span class="keyword">int</span> end = ((Integer) saxEvent.getParm(2)).intValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">                    handler.characters(chars, start, end);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// replay to LexicalHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">                <span class="keyword">case</span> SAXEvent.START_DTD:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">                    ((LexicalHandler) handler).startDTD((String) saxEvent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getParm(0), (String) saxEvent.getParm(1),</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            (String) saxEvent.getParm(2));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: statement not executed.">                <span class="keyword">case</span> SAXEvent.END_DTD:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">                    ((LexicalHandler) handler).endDTD();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">                <span class="keyword">case</span> SAXEvent.START_ENTITY:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">                    ((LexicalHandler) handler).startEntity((String) saxEvent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getParm(0));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">                <span class="keyword">case</span> SAXEvent.END_ENTITY:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: statement not executed.">                    ((LexicalHandler) handler).endEntity((String) saxEvent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getParm(0));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">                <span class="keyword">case</span> SAXEvent.START_CDATA:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">                    ((LexicalHandler) handler).startCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 182: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 182: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 184: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 184: statement not executed.">                <span class="keyword">case</span> SAXEvent.END_CDATA:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 185: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 185: statement not executed.">                    ((LexicalHandler) handler).endCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 187: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 187: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">                <span class="keyword">case</span> SAXEvent.COMMENT:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 191: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 191: statement not executed.">                    <span class="keyword">char</span>[] cchars = (<span class="keyword">char</span>[]) saxEvent.getParm(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: statement not executed.">                    <span class="keyword">int</span> cstart = ((Integer) saxEvent.getParm(1)).intValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: statement not executed.">                    <span class="keyword">int</span> cend = ((Integer) saxEvent.getParm(2)).intValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: statement not executed.">                    ((LexicalHandler) handler).comment(cchars, cstart, cend);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// replay to DeclHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">                <span class="keyword">case</span> SAXEvent.ELEMENT_DECL:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 200: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 200: statement not executed.">                    ((DeclHandler) handler).elementDecl((String) saxEvent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getParm(0), (String) saxEvent.getParm(1));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 203: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 203: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 205: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 205: statement not executed.">                <span class="keyword">case</span> SAXEvent.ATTRIBUTE_DECL:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">                    ((DeclHandler) handler).attributeDecl((String) saxEvent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getParm(0), (String) saxEvent.getParm(1),</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            (String) saxEvent.getParm(2), (String) saxEvent</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    .getParm(3), (String) saxEvent.getParm(4));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: statement not executed.">                <span class="keyword">case</span> SAXEvent.INTERNAL_ENTITY_DECL:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">                    ((DeclHandler) handler).internalEntityDecl(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            (String) saxEvent.getParm(0), (String) saxEvent</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    .getParm(1));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 218: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 218: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 220: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 220: statement not executed.">                <span class="keyword">case</span> SAXEvent.EXTERNAL_ENTITY_DECL:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 221: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 221: statement not executed.">                    ((DeclHandler) handler).externalEntityDecl(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            (String) saxEvent.getParm(0), (String) saxEvent</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    .getParm(1), (String) saxEvent.getParm(2));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 225: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 225: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 227: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 227: statement not executed.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 228: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 228: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> SAXException(<span class="string">"Unrecognized event: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + saxEvent.event);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// ContentHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 236: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 236: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> processingInstruction(String target, String data)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 238: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 238: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.PROCESSING_INSTRUCTION);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 239: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 239: statement not executed.">        saxEvent.addParm(target);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 240: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 240: statement not executed.">        saxEvent.addParm(data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 241: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 244: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 244: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startPrefixMapping(String prefix, String uri)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.START_PREFIX_MAPPING);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: statement not executed.">        saxEvent.addParm(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: statement not executed.">        saxEvent.addParm(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 249: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endPrefixMapping(String prefix) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 253: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 253: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.END_PREFIX_MAPPING);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 254: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 254: statement not executed.">        saxEvent.addParm(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 255: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 255: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 258: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 258: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.START_DOCUMENT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 263: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 263: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 264: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 264: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.END_DOCUMENT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 265</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 265: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 265: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 268: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 268: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startElement(String namespaceURI, String localName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qualifiedName, Attributes attributes) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 270: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 270: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.START_ELEMENT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 271: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 271: statement not executed.">        saxEvent.addParm(namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 272: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 272: statement not executed.">        saxEvent.addParm(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 273: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 273: statement not executed.">        saxEvent.addParm(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 275: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 275: statement not executed.">        QName qName = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 276: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 276: statement not executed.">        <span class="keyword">if</span> (namespaceURI != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 277: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 277: statement not executed.">            qName = <span class="keyword">new</span> QName(localName, Namespace.get(namespaceURI));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 279: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: statement not executed.">            qName = <span class="keyword">new</span> QName(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 282: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 282: statement not executed.">        <span class="keyword">if</span> ((attributes != <span class="keyword">null</span>) && (attributes.getLength() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 283: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 283: statement not executed.">            List attParmList = <span class="keyword">new</span> ArrayList(attributes.getLength());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 284: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 284: statement not executed.">            String[] attParms = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 286</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 286: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 286: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < attributes.getLength(); i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 288: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 288: statement not executed.">                String attLocalName = attributes.getLocalName(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 290</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 290: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 290: statement not executed.">                <span class="keyword">if</span> (attLocalName.startsWith(XMLNS)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// if SAXWriter is writing a DOMDocument, namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// decls are treated as attributes. record a start</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// prefix mapping event</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 295: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 295: statement not executed.">                    String prefix = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 296: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 296: statement not executed.">                    <span class="keyword">if</span> (attLocalName.length() > 5) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 297: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 297: statement not executed.">                        prefix = attLocalName.substring(6);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 299: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 299: statement not executed.">                        prefix = EMPTY_STRING;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 302: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 302: statement not executed.">                    SAXEvent prefixEvent = <span class="keyword">new</span> SAXEvent(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            SAXEvent.START_PREFIX_MAPPING);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 304</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 304: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 304: statement not executed.">                    prefixEvent.addParm(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 305: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 305: statement not executed.">                    prefixEvent.addParm(attributes.getValue(i));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 306</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 306: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 306: statement not executed.">                    events.add(prefixEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// 'register' the prefix so that we can generate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// an end prefix mapping event within endElement</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 310: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 310: statement not executed.">                    List prefixes = (List) prefixMappings.get(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 311</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 311: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 311: statement not executed.">                    <span class="keyword">if</span> (prefixes == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 312: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 312: statement not executed.">                        prefixes = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 313: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 313: statement not executed.">                        prefixMappings.put(qName, prefixes);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 315: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 315: statement not executed.">                    prefixes.add(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 319</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 319: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 319: statement not executed.">                    attParms = <span class="keyword">new</span> String[5];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 320: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 320: statement not executed.">                    attParms[0] = attributes.getURI(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 321</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 321: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 321: statement not executed.">                    attParms[1] = attLocalName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 322</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 322: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 322: statement not executed.">                    attParms[2] = attributes.getQName(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 323</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 323: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 323: statement not executed.">                    attParms[3] = attributes.getType(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 324</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 324: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 324: statement not executed.">                    attParms[4] = attributes.getValue(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 325</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 325: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 325: statement not executed.">                    attParmList.add(attParms);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 331</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 331: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 331: statement not executed.">            saxEvent.addParm(attParmList);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 334</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 334: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 334: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 337: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 337: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endElement(String namespaceURI, String localName, String qName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 340: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.END_ELEMENT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 341</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 341: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 341: statement not executed.">        saxEvent.addParm(namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 342: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 342: statement not executed.">        saxEvent.addParm(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 343</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 343: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 343: statement not executed.">        saxEvent.addParm(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 344</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 344: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 344: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// check to see if a we issued a start prefix mapping event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// for DOMDocument namespace decls</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 349</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 349: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 349: statement not executed.">        QName elementName = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 350</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 350: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 350: statement not executed.">        <span class="keyword">if</span> (namespaceURI != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 351</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 351: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 351: statement not executed.">            elementName = <span class="keyword">new</span> QName(localName, Namespace.get(namespaceURI));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 353: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 353: statement not executed.">            elementName = <span class="keyword">new</span> QName(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 356</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 356: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 356: statement not executed.">        List prefixes = (List) prefixMappings.get(elementName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 357</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 357: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 357: statement not executed.">        <span class="keyword">if</span> (prefixes != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 358</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 358: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 358: statement not executed.">            Iterator itr = prefixes.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 359</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 359: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 359: statement not executed.">            <span class="keyword">while</span> (itr.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 360: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 360: statement not executed.">                SAXEvent prefixEvent = </A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="keyword">new</span> SAXEvent(SAXEvent.END_PREFIX_MAPPING);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 362: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 362: statement not executed.">                prefixEvent.addParm(itr.next());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 363</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 363: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 363: statement not executed.">                events.add(prefixEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 369</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 369: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 369: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> characters(<span class="keyword">char</span>[] ch, <span class="keyword">int</span> start, <span class="keyword">int</span> end) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 370: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 370: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.CHARACTERS);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 371</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 371: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 371: statement not executed.">        saxEvent.addParm(ch);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 372: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 372: statement not executed.">        saxEvent.addParm(<span class="keyword">new</span> Integer(start));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 373</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 373: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 373: statement not executed.">        saxEvent.addParm(<span class="keyword">new</span> Integer(end));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 374: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 374: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// LexicalHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 379</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 379: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 379: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startDTD(String name, String publicId, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 381</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 381: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 381: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.START_DTD);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 382</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 382: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 382: statement not executed.">        saxEvent.addParm(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 383</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 383: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 383: statement not executed.">        saxEvent.addParm(publicId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 384</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 384: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 384: statement not executed.">        saxEvent.addParm(systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 385</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 385: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 385: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 388</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 388: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 388: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endDTD() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 389</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 389: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 389: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.END_DTD);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 390</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 390: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 390: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 393</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 393: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 393: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startEntity(String name) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 394</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 394: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 394: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.START_ENTITY);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 395</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 395: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 395: statement not executed.">        saxEvent.addParm(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 396</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 396: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 396: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 399</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 399: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 399: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endEntity(String name) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 400</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 400: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 400: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.END_ENTITY);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 401</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 401: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 401: statement not executed.">        saxEvent.addParm(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 402</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 402: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 402: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 405</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 405: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 405: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startCDATA() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 406</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 406: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 406: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.START_CDATA);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 407</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 407: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 407: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 410</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 410: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 410: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endCDATA() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 411</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 411: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 411: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.END_CDATA);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 412: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 412: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 415: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 415: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> comment(<span class="keyword">char</span>[] ch, <span class="keyword">int</span> start, <span class="keyword">int</span> end) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 416: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 416: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.COMMENT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 417</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 417: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 417: statement not executed.">        saxEvent.addParm(ch);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 418</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 418: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 418: statement not executed.">        saxEvent.addParm(<span class="keyword">new</span> Integer(start));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 419</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 419: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 419: statement not executed.">        saxEvent.addParm(<span class="keyword">new</span> Integer(end));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 420</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 420: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 420: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// DeclHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 425</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 425: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 425: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> elementDecl(String name, String model) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 426</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 426: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 426: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.ELEMENT_DECL);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 427</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 427: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 427: statement not executed.">        saxEvent.addParm(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 428</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 428: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 428: statement not executed.">        saxEvent.addParm(model);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 429</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 429: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 429: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 432</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 432: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 432: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> attributeDecl(String eName, String aName, String type,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String valueDefault, String value) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 434</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 434: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 434: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.ATTRIBUTE_DECL);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 435</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 435: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 435: statement not executed.">        saxEvent.addParm(eName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 436</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 436: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 436: statement not executed.">        saxEvent.addParm(aName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 437</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 437: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 437: statement not executed.">        saxEvent.addParm(type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 438</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 438: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 438: statement not executed.">        saxEvent.addParm(valueDefault);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 439: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 439: statement not executed.">        saxEvent.addParm(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 440</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 440: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 440: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 443</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 443: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 443: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> internalEntityDecl(String name, String value)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 445</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 445: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 445: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.INTERNAL_ENTITY_DECL);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 446</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 446: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 446: statement not executed.">        saxEvent.addParm(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 447</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 447: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 447: statement not executed.">        saxEvent.addParm(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 448</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 448: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 448: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 451</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 451: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 451: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> externalEntityDecl(String name, String publicId, String sysId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 453</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 453: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 453: statement not executed.">        SAXEvent saxEvent = <span class="keyword">new</span> SAXEvent(SAXEvent.EXTERNAL_ENTITY_DECL);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 454</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 454: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 454: statement not executed.">        saxEvent.addParm(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 455</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 455: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 455: statement not executed.">        saxEvent.addParm(publicId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 456</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 456: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 456: statement not executed.">        saxEvent.addParm(sysId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 457</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 457: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 457: statement not executed.">        events.add(saxEvent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 460</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 460: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 460: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeExternal(ObjectOutput out) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 461</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 461: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 461: statement not executed.">        <span class="keyword">if</span> (events == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 462</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 462: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 462: statement not executed.">            out.writeByte(NULL);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 464</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 464: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 464: statement not executed.">            out.writeByte(OBJECT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 465</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 465: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 465: statement not executed.">            out.writeObject(events);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 469</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 469: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 469: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> readExternal(ObjectInput in) <span class="keyword">throws</span> ClassNotFoundException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 471</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 471: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 471: statement not executed.">        <span class="keyword">if</span> (in.readByte() != NULL) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 472</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 472: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 472: statement not executed.">            events = (List) in.readObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// SAXEvent inner class</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXEvent"> 478</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">static</span> <span class="keyword">class</span> SAXEvent <span class="keyword">implements</span> Externalizable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">public</span> <span class="keyword">static</span> final <span class="keyword">long</span> serialVersionUID = 1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> PROCESSING_INSTRUCTION = 1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> START_PREFIX_MAPPING = 2;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> END_PREFIX_MAPPING = 3;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> START_DOCUMENT = 4;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> END_DOCUMENT = 5;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> START_ELEMENT = 6;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> END_ELEMENT = 7;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> CHARACTERS = 8;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> START_DTD = 9;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> END_DTD = 10;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> START_ENTITY = 11;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> END_ENTITY = 12;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> START_CDATA = 13;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> END_CDATA = 14;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> COMMENT = 15;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> ELEMENT_DECL = 16;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> ATTRIBUTE_DECL = 17;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> INTERNAL_ENTITY_DECL = 18;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">static</span> final <span class="keyword">byte</span> EXTERNAL_ENTITY_DECL = 19;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> <span class="keyword">byte</span> event;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> List parms;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 523</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 523: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 523: method not entered.">        <span class="keyword">public</span> SAXEvent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 526</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 526: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 526: method not entered.">        SAXEvent(<span class="keyword">byte</span> event) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 527</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 527: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 527: statement not executed.">            <span class="keyword">this</span>.event = event;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 530</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 530: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 530: method not entered.">        <span class="keyword">void</span> addParm(Object parm) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 531</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 531: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 531: statement not executed.">            <span class="keyword">if</span> (parms == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 532</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 532: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 532: statement not executed.">                parms = <span class="keyword">new</span> ArrayList(3);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 535</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 535: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 535: statement not executed.">            parms.add(parm);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 538</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 538: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 538: method not entered.">        Object getParm(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 539</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 539: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 539: statement not executed.">            <span class="keyword">if</span> ((parms != <span class="keyword">null</span>) && (index < parms.size())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 540</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 540: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 540: statement not executed.">                <span class="keyword">return</span> parms.get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 542</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 542: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 542: statement not executed.">                <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 546</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 546: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 546: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> writeExternal(ObjectOutput out) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 547</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 547: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 547: statement not executed.">            out.writeByte(event);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 549</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 549: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 549: statement not executed.">            <span class="keyword">if</span> (parms == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 550</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 550: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 550: statement not executed.">                out.writeByte(NULL);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 552</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 552: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 552: statement not executed.">                out.writeByte(OBJECT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 553</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 553: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 553: statement not executed.">                out.writeObject(parms);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 557</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 557: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 557: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> readExternal(ObjectInput in) <span class="keyword">throws</span> ClassNotFoundException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 559</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 559: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 559: statement not executed.">            event = in.readByte();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 561</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 561: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 561: statement not executed.">            <span class="keyword">if</span> (in.readByte() != NULL) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 562</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 562: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 562: statement not executed.">                parms = (List) in.readObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 600</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 603</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXHelper.html b/docs/clover/org/dom4j/io/SAXHelper.html
new file mode 100644
index 0000000..2f66978
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXHelper.html
@@ -0,0 +1,912 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXHelper.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXHelper.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">195</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">6</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">86</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXHelper.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">21,4%</TD>
+    <TD class="graphPercent" align="center">43,2%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>40,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="80" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="120" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXNotRecognizedException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXNotSupportedException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.XMLReaderFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>SAXHelper</code> contains some helper methods for working with SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and XMLReader objects.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.18 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXHelper"> 25</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> SAXHelper {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">boolean</span> loggedWarning = <span class="keyword">true</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 28: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 28: method not entered.">    <span class="keyword">protected</span> SAXHelper() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: method entered 11590 times."> 11590</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: method entered 11590 times.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> setParserProperty(XMLReader reader,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String propertyName, Object value) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: statement executed 11590 times."> 11590</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: statement executed 11590 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: statement executed 11590 times."> 11590</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: statement executed 11590 times.">            reader.setProperty(propertyName, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 5798 times."> 5798</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 5798 times.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXNotSupportedException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// ignore</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXNotRecognizedException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// ignore</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 5792 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: method entered 23168 times."> 23168</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: method entered 23168 times.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> setParserFeature(XMLReader reader,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String featureName, <span class="keyword">boolean</span> value) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: statement executed 23168 times."> 23168</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: statement executed 23168 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: statement executed 23168 times."> 23168</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: statement executed 23168 times.">            reader.setFeature(featureName, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: statement executed 17376 times."> 17376</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: statement executed 17376 times.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXNotSupportedException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// ignore</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXNotRecognizedException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// ignore</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 5792 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creats a default XMLReader via the org.xml.sax.driver system property or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * JAXP if the system property is not set.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> validating</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: method entered 5758 times."> 5758</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: method entered 5758 times.">    <span class="keyword">public</span> <span class="keyword">static</span> XMLReader createXMLReader(<span class="keyword">boolean</span> validating)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: statement executed 5764 times.">        XMLReader reader = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: expression evaluated to true 5764 times, false 0 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: expression evaluated to true 5764 times, false 0 times.">        <span class="keyword">if</span> (reader == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 78: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: statement executed 5764 times.">            reader = createXMLReaderViaJAXP(validating, <span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: expression evaluated to true 0 times, false 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: expression evaluated to true 0 times, false 5764 times.">        <span class="keyword">if</span> (reader == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">                reader = XMLReaderFactory.createXMLReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">                <span class="keyword">if</span> (isVerboseErrorReporting()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// log all exceptions as warnings and carry</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// on as we have a default SAX parser we can use</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">                    System.out.println(<span class="string">"Warning: Caught exception attempting "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">"to use SAX to load a SAX XMLReader "</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">                    System.out.println(<span class="string">"Warning: Exception was: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">                    System.out</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .println(<span class="string">"Warning: I will print the stack trace "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    + <span class="string">"then carry on using the default "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    + <span class="string">"SAX parser"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">                    e.printStackTrace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> SAXException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: expression evaluated to true 0 times, false 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: expression evaluated to true 0 times, false 5764 times.">        <span class="keyword">if</span> (reader == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> SAXException(<span class="string">"Couldn't create SAX reader"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: statement executed 5764 times.">        <span class="keyword">return</span> reader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method attempts to use JAXP to locate the SAX2 XMLReader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * implementation. This method uses reflection to avoid being dependent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * directly on the JAXP classes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> validating</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceAware</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 121: method entered 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 121: method entered 5764 times.">    <span class="keyword">protected</span> <span class="keyword">static</span> XMLReader createXMLReaderViaJAXP(<span class="keyword">boolean</span> validating,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">boolean</span> namespaceAware) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// try use JAXP to load the XMLReader...</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: statement executed 5764 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 5764 times.">            <span class="keyword">return</span> JAXPHelper.createXMLReader(validating, namespaceAware);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Throwable e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">            <span class="keyword">if</span> (!loggedWarning) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">                loggedWarning = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">                <span class="keyword">if</span> (isVerboseErrorReporting()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// log all exceptions as warnings and carry</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// on as we have a default SAX parser we can use</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">                    System.out.println(<span class="string">"Warning: Caught exception attempting "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">"to use JAXP to load a SAX XMLReader"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">                    System.out.println(<span class="string">"Warning: Exception was: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">                    e.printStackTrace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: method not entered.">    <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">boolean</span> isVerboseErrorReporting() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">            String flag = System.getProperty(<span class="string">"org.dom4j.verbose"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">            <span class="keyword">if</span> ((flag != <span class="keyword">null</span>) && flag.equalsIgnoreCase(<span class="string">"true"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">                <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// in case a security exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// happens in an applet or similar JVM</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXModifier.html b/docs/clover/org/dom4j/io/SAXModifier.html
new file mode 100644
index 0000000..ac7a4e8
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXModifier.html
@@ -0,0 +1,2010 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXModifier.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXModifier.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">459</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">23</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">157</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXModifier.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.File;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Reader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.net.URL;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The SAXModifier reads, modifies and writes XML documents using SAX.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Registered {@link ElementModifier}objects can provide modifications to (part</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * of) the xml tree, while the document is still being processed. This makes it</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * possible to change large xml documents without having them in memory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The modified document is written when the {@link XMLWriter}is specified.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> org.dom4j.io.SAXReader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> org.dom4j.io.XMLWriter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXModifier"> 44</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> SAXModifier {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLWriter xmlWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLReader xmlReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> pruneElements;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> SAXModifyReader modifyReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> HashMap modifiers = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new modifier. <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The XMLReader to parse the source will be created via the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.xml.sax.driver system property or JAXP if the system property is not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * set.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> SAXModifier() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new modifier. <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The XMLReader to parse the source will be created via the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.xml.sax.driver system property or JAXP if the system property is not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * set.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pruneElements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            Set to true when the modified document must NOT be kept in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            memory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: method not entered.">    <span class="keyword">public</span> SAXModifier(<span class="keyword">boolean</span> pruneElements) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        <span class="keyword">this</span>.pruneElements = pruneElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new modifier that will the specified {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.xml.sax.XMLReader} to parse the source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xmlReader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The XMLReader to use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> SAXModifier(XMLReader xmlReader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">this</span>.xmlReader = xmlReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new modifier that will the specified {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.xml.sax.XMLReader} to parse the source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xmlReader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The XMLReader to use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pruneElements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            Set to true when the modified document must NOT be kept in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            memory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: method not entered.">    <span class="keyword">public</span> SAXModifier(XMLReader xmlReader, <span class="keyword">boolean</span> pruneElements) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">        <span class="keyword">this</span>.xmlReader = xmlReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given {@link java.io.File}and writes it to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified {@link XMLWriter}using SAX. Registered {@linkElementModifier}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * objects are invoked on the fly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>File</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DocumentException org.dom4j.DocumentException} if an error</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: method not entered.">    <span class="keyword">public</span> Document modify(File source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">            <span class="keyword">return</span> installModifyReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXModifyException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given {@link org.xml.sax.InputSource}and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * writes it to the specified {@link XMLWriter}using SAX. Registered</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link ElementModifier}objects are invoked on the fly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>org.xml.sax.InputSource</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DocumentException org.dom4j.DocumentException} if an error</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: method not entered.">    <span class="keyword">public</span> Document modify(InputSource source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">            <span class="keyword">return</span> installModifyReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXModifyException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given {@link java.io.InputStream}and writes it</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to the specified {@link XMLWriter}using SAX. Registered {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ElementModifier} objects are invoked on the fly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>java.io.InputStream</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DocumentException org.dom4j.DocumentException} if an error</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: method not entered.">    <span class="keyword">public</span> Document modify(InputStream source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">            <span class="keyword">return</span> installModifyReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXModifyException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given {@link java.io.InputStream}and writes it</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to the specified {@link XMLWriter}using SAX. Registered {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ElementModifier} objects are invoked on the fly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>java.io.InputStream</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DocumentException org.dom4j.DocumentException} if an error</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: method not entered.">    <span class="keyword">public</span> Document modify(InputStream source, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 190: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 190: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 191: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 191: statement not executed.">            <span class="keyword">return</span> installModifyReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXModifyException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given {@link java.io.Reader}and writes it to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the specified {@link XMLWriter}using SAX. Registered {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ElementModifier} objects are invoked on the fly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>java.io.Reader</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DocumentException org.dom4j.DocumentException} if an error</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: method not entered.">    <span class="keyword">public</span> Document modify(Reader source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">            <span class="keyword">return</span> installModifyReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXModifyException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given {@link java.io.Reader}and writes it to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the specified {@link XMLWriter}using SAX. Registered {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ElementModifier} objects are invoked on the fly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>java.io.Reader</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DocumentException org.dom4j.DocumentException} if an error</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: method not entered.">    <span class="keyword">public</span> Document modify(Reader source, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 239: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 239: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 240: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 240: statement not executed.">            <span class="keyword">return</span> installModifyReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXModifyException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 242: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 242: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 243: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 243: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given {@link java.net.URL}and writes it to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified {@link XMLWriter}using SAX. Registered {@linkElementModifier}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * objects are invoked on the fly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>java.net.URL</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DocumentException org.dom4j.DocumentException} if an error</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 261: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 261: method not entered.">    <span class="keyword">public</span> Document modify(URL source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 262: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 262: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 263: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 263: statement not executed.">            <span class="keyword">return</span> installModifyReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXModifyException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 265</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 265: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 265: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 266: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 266: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given URL or filename and writes it to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified {@link XMLWriter}using SAX. Registered {@linkElementModifier}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * objects are invoked on the fly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URL or filename to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DocumentException org.dom4j.DocumentException} if an error</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 284: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 284: method not entered.">    <span class="keyword">public</span> Document modify(String source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 285</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 285: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 285: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 286</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 286: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 286: statement not executed.">            <span class="keyword">return</span> installModifyReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXModifyException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 288: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 288: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 289</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 289: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 289: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the {@link ElementModifier}to be called when the specified element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path is encounted while parsing the source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The element path to be handled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> modifier</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link ElementModifier}to be called by the event based</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 303</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 303: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 303: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addModifier(String path, ElementModifier modifier) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 304</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 304: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 304: statement not executed.">        <span class="keyword">this</span>.modifiers.put(path, modifier);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes all registered {@link ElementModifier}instances from the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 311</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 311: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 311: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> resetModifiers() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 312: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 312: statement not executed.">        <span class="keyword">this</span>.modifiers.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 313: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 313: statement not executed.">        getSAXModifyReader().resetHandlers();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the {@link ElementModifier}from the event based processor, for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the specified element path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The path to remove the {@link ElementModifier}for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 323</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 323: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 323: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeModifier(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 324</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 324: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 324: statement not executed.">        <span class="keyword">this</span>.modifiers.remove(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 325</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 325: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 325: statement not executed.">        getSAXModifyReader().removeHandler(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Get the {@link org.dom4j.DocumentFactory}used to create the DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document structure</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> <code>DocumentFactory</code> that will be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 334</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 334: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 334: method not entered.">    <span class="keyword">public</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 335</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 335: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 335: statement not executed.">        <span class="keyword">return</span> getSAXModifyReader().getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the {@link org.dom4j.DocumentFactory}used to create the DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> factory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>DocumentFactory</code> to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 345</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 345: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 345: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory factory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 346</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 346: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 346: statement not executed.">        getSAXModifyReader().setDocumentFactory(factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the current {@link XMLWriter}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> XMLWriter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 354</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 354: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 354: method not entered.">    <span class="keyword">public</span> XMLWriter getXMLWriter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 355</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 355: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 355: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>.xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the {@link XMLWriter}used to write the modified document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> writer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The writer to use.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 364</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 364: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 364: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLWriter(XMLWriter writer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 365: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 365: statement not executed.">        <span class="keyword">this</span>.xmlWriter = writer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns true when xml elements are not kept in memory while parsing. The</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link org.dom4j.Document}returned by the modify methods will be null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Returns the pruneElements.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 374: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 374: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isPruneElements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 375</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 375: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 375: statement not executed.">        <span class="keyword">return</span> pruneElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 378</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 378: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 378: method not entered.">    <span class="keyword">private</span> SAXReader installModifyReader() <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 379</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 379: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 379: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 380</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 380: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 380: statement not executed.">            SAXModifyReader reader = getSAXModifyReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 382</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 382: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 382: statement not executed.">            <span class="keyword">if</span> (isPruneElements()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 383</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 383: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 383: statement not executed.">                modifyReader.setDispatchHandler(<span class="keyword">new</span> PruningDispatchHandler());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">            reader.resetHandlers();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 388</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 388: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 388: statement not executed.">            Iterator modifierIt = <span class="keyword">this</span>.modifiers.entrySet().iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 390</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 390: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 390: statement not executed.">            <span class="keyword">while</span> (modifierIt.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 391</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 391: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 391: statement not executed.">                Map.Entry entry = (Map.Entry) modifierIt.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 393</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 393: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 393: statement not executed.">                SAXModifyElementHandler handler = <span class="keyword">new</span> SAXModifyElementHandler(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        (ElementModifier) entry.getValue());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 395</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 395: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 395: statement not executed.">                reader.addHandler((String) entry.getKey(), handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 398</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 398: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 398: statement not executed.">            reader.setXMLWriter(getXMLWriter());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 399</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 399: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 399: statement not executed.">            reader.setXMLReader(getXMLReader());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 401</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 401: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 401: statement not executed.">            <span class="keyword">return</span> reader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 403</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 403: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 403: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(ex.getMessage(), ex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 407</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 407: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 407: method not entered.">    <span class="keyword">private</span> XMLReader getXMLReader() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 408</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 408: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 408: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">this</span>.xmlReader == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 409</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 409: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 409: statement not executed.">            xmlReader = SAXHelper.createXMLReader(<span class="keyword">false</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 412: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 412: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>.xmlReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 415: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 415: method not entered.">    <span class="keyword">private</span> SAXModifyReader getSAXModifyReader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 416: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 416: statement not executed.">        <span class="keyword">if</span> (modifyReader == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 417</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 417: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 417: statement not executed.">            modifyReader = <span class="keyword">new</span> SAXModifyReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 420</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 420: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 420: statement not executed.">        <span class="keyword">return</span> modifyReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXModifyContentHandler.html b/docs/clover/org/dom4j/io/SAXModifyContentHandler.html
new file mode 100644
index 0000000..2a8c09d
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXModifyContentHandler.html
@@ -0,0 +1,1337 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXModifyContentHandler.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXModifyContentHandler.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">287</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">27</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">180</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXModifyContentHandler.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Locator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This extension of the SAXContentHandler writes SAX events immediately to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * provided XMLWriter, unless some {@link org.dom4.ElementHandler}is still</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * handling the current Element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> org.dom4j.io.SAXContentHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXModifyContentHandler"> 29</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> SAXModifyContentHandler <span class="keyword">extends</span> SAXContentHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLWriter xmlWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">public</span> SAXModifyContentHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: method not entered.">    <span class="keyword">public</span> SAXModifyContentHandler(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        <span class="keyword">super</span>(documentFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> SAXModifyContentHandler(DocumentFactory documentFactory,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            ElementHandler elementHandler) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: statement not executed.">        <span class="keyword">super</span>(documentFactory, elementHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> SAXModifyContentHandler(DocumentFactory documentFactory,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            ElementHandler elementHandler, ElementStack elementStack) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">super</span>(documentFactory, elementHandler, elementStack);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLWriter(XMLWriter writer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">this</span>.xmlWriter = writer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startCDATA() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">super</span>.startCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: statement not executed.">        <span class="keyword">if</span> (!activeHandlers() && (xmlWriter != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: statement not executed.">            xmlWriter.startCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startDTD(String name, String publicId, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        <span class="keyword">super</span>.startDTD(name, publicId, systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">            xmlWriter.startDTD(name, publicId, systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endDTD() <span class="keyword">throws</span> org.xml.sax.SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        <span class="keyword">super</span>.endDTD();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">            xmlWriter.endDTD();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> comment(<span class="keyword">char</span>[] characters, <span class="keyword">int</span> parm2, <span class="keyword">int</span> parm3)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        <span class="keyword">super</span>.comment(characters, parm2, parm3);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">if</span> (!activeHandlers() && (xmlWriter != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">            xmlWriter.comment(characters, parm2, parm3);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startEntity(String name) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">        <span class="keyword">super</span>.startEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">            xmlWriter.startEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endCDATA() <span class="keyword">throws</span> org.xml.sax.SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">        <span class="keyword">super</span>.endCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">if</span> (!activeHandlers() && (xmlWriter != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">            xmlWriter.endCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endEntity(String name) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">        <span class="keyword">super</span>.endEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">            xmlWriter.endEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> unparsedEntityDecl(String name, String publicId,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String systemId, String notation) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: statement not executed.">        <span class="keyword">super</span>.unparsedEntityDecl(name, publicId, systemId, notation);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        <span class="keyword">if</span> (!activeHandlers() && (xmlWriter != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">            xmlWriter.unparsedEntityDecl(name, publicId, systemId, notation);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> notationDecl(String name, String publicId, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">        <span class="keyword">super</span>.notationDecl(name, publicId, systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">            xmlWriter.notationDecl(name, publicId, systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startElement(String uri, String localName, String qName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Attributes atts) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">        <span class="keyword">super</span>.startElement(uri, localName, qName, atts);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">        <span class="keyword">if</span> (!activeHandlers() && (xmlWriter != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">            xmlWriter.startElement(uri, localName, qName, atts);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">        <span class="keyword">super</span>.startDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">            xmlWriter.startDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> ignorableWhitespace(<span class="keyword">char</span>[] parm1, <span class="keyword">int</span> parm2, <span class="keyword">int</span> parm3)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">        <span class="keyword">super</span>.ignorableWhitespace(parm1, parm2, parm3);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        <span class="keyword">if</span> (!activeHandlers() && (xmlWriter != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">            xmlWriter.ignorableWhitespace(parm1, parm2, parm3);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> processingInstruction(String target, String data)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: statement not executed.">        <span class="keyword">super</span>.processingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        <span class="keyword">if</span> (!activeHandlers() && (xmlWriter != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">            xmlWriter.processingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentLocator(Locator locator) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">        <span class="keyword">super</span>.setDocumentLocator(locator);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">            xmlWriter.setDocumentLocator(locator);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> skippedEntity(String name) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">        <span class="keyword">super</span>.skippedEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: statement not executed.">        <span class="keyword">if</span> (!activeHandlers() && (xmlWriter != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: statement not executed.">            xmlWriter.skippedEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">        <span class="keyword">super</span>.endDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 183: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 183: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 184: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 184: statement not executed.">            xmlWriter.endDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startPrefixMapping(String prefix, String uri)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 190: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 190: statement not executed.">        <span class="keyword">super</span>.startPrefixMapping(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: statement not executed.">            xmlWriter.startPrefixMapping(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endElement(String uri, String localName, String qName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">        ElementHandler currentHandler = getElementStack().getDispatchHandler()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getHandler(getElementStack().getPath());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 202: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 202: statement not executed.">        <span class="keyword">super</span>.endElement(uri, localName, qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 204: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 204: statement not executed.">        <span class="keyword">if</span> (!activeHandlers()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 205: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 205: statement not executed.">            <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">                <span class="keyword">if</span> (currentHandler == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">                    xmlWriter.endElement(uri, localName, qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 208: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 208: statement not executed.">                } <span class="keyword">else</span> <span class="keyword">if</span> (currentHandler <span class="keyword">instanceof</span> SAXModifyElementHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">                    SAXModifyElementHandler modifyHandler </A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            = (SAXModifyElementHandler) currentHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">                    Element modifiedElement = modifyHandler</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getModifiedElement();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">                    <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 215: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 215: statement not executed.">                        xmlWriter.write(modifiedElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">catch</span> (IOException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">                        <span class="keyword">throw</span> <span class="keyword">new</span> SAXModifyException(ex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 224: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 224: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endPrefixMapping(String prefix) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 225: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 225: statement not executed.">        <span class="keyword">super</span>.endPrefixMapping(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 227: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 227: statement not executed.">        <span class="keyword">if</span> (xmlWriter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 228: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 228: statement not executed.">            xmlWriter.endPrefixMapping(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 232: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 232: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> characters(<span class="keyword">char</span>[] parm1, <span class="keyword">int</span> parm2, <span class="keyword">int</span> parm3)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 234: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 234: statement not executed.">        <span class="keyword">super</span>.characters(parm1, parm2, parm3);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 236: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 236: statement not executed.">        <span class="keyword">if</span> (!activeHandlers() && (xmlWriter != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: statement not executed.">            xmlWriter.characters(parm1, parm2, parm3);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 241: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: method not entered.">    <span class="keyword">protected</span> XMLWriter getXMLWriter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 242: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 242: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>.xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: method not entered.">    <span class="keyword">private</span> <span class="keyword">boolean</span> activeHandlers() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: statement not executed.">        DispatchHandler handler = getElementStack().getDispatchHandler();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: statement not executed.">        <span class="keyword">return</span> handler.getActiveHandlerCount() > 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXModifyElementHandler.html b/docs/clover/org/dom4j/io/SAXModifyElementHandler.html
new file mode 100644
index 0000000..3136640
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXModifyElementHandler.html
@@ -0,0 +1,694 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXModifyElementHandler.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXModifyElementHandler.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">144</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">53</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXModifyElementHandler.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This {@link org.dom4j.ElementHandler}is used to trigger {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ElementModifier} objects in order to modify (parts of) the Document on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * fly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * When an element is completely parsed, a copy is handed to the associated (if</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * any) {@link ElementModifier}that on his turn returns the modified element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * that has to come in the tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXModifyElementHandler"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> SAXModifyElementHandler <span class="keyword">implements</span> ElementHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ElementModifier elemModifier;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element modifiedElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: method not entered.">    <span class="keyword">public</span> SAXModifyElementHandler(ElementModifier elemModifier) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: statement not executed.">        <span class="keyword">this</span>.elemModifier = elemModifier;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> onStart(ElementPath elementPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">this</span>.modifiedElement = elementPath.getCurrent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> onEnd(ElementPath elementPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">            Element origElement = elementPath.getCurrent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">            Element currentParent = origElement.getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">            <span class="keyword">if</span> (currentParent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Clone sets parent + document to null</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">                Element clonedElem = (Element) origElement.clone();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Ask for modified element</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">                modifiedElement = elemModifier.modifyElement(clonedElem);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">                <span class="keyword">if</span> (modifiedElement != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// Restore parent + document</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: statement not executed.">                    modifiedElement.setParent(origElement.getParent());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: statement not executed.">                    modifiedElement.setDocument(origElement.getDocument());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// Replace old with new element in parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">                    <span class="keyword">int</span> contentIndex = currentParent.indexOf(origElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">                    currentParent.content().set(contentIndex, modifiedElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Remove the old element</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">                origElement.detach();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">                <span class="keyword">if</span> (origElement.isRootElement()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// Clone sets parent + document to null</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">                    Element clonedElem = (Element) origElement.clone();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// Ask for modified element</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">                    modifiedElement = elemModifier.modifyElement(clonedElem);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">                    <span class="keyword">if</span> (modifiedElement != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// Restore parent + document</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">                        modifiedElement.setDocument(origElement.getDocument());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// Replace old with new element in parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">                        Document doc = origElement.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">                        doc.setRootElement(modifiedElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// Remove the old element</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">                    origElement.detach();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Put the new element on the ElementStack, it might get pruned by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// the PruningDispatchHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">            <span class="keyword">if</span> (elementPath <span class="keyword">instanceof</span> ElementStack) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">                ElementStack elementStack = ((ElementStack) elementPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">                elementStack.popElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">                elementStack.pushElement(modifiedElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> SAXModifyException(ex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Returns the modified Element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: method not entered.">    <span class="keyword">protected</span> Element getModifiedElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">        <span class="keyword">return</span> modifiedElement;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXModifyException.html b/docs/clover/org/dom4j/io/SAXModifyException.html
new file mode 100644
index 0000000..d0be852
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXModifyException.html
@@ -0,0 +1,344 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXModifyException.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXModifyException.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">64</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">1</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">6</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXModifyException.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Exception internally thrown by the SAX Modification classes. This is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * RuntimeException since the {@link org.dom4j.ElementHandler}methods do not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * throw Exceptions.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXModifyException"> 17</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> SAXModifyException <span class="keyword">extends</span> RuntimeException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> cause</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The causing {@link java.lang.Throwable}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 24: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 24: method not entered.">    <span class="keyword">protected</span> SAXModifyException(Throwable cause) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 25</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 25: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 25: statement not executed.">        <span class="keyword">super</span>(cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXModifyReader.html b/docs/clover/org/dom4j/io/SAXModifyReader.html
new file mode 100644
index 0000000..5006ce9
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXModifyReader.html
@@ -0,0 +1,613 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXModifyReader.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXModifyReader.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">125</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">13</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">50</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXModifyReader.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The SAXModifier parses, updates and writes an XML document. <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The input that is parsed is directly written to the specified output, unless</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the current xml element has an associated ElementHandler. <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The {@link org.dom4j.ElementHandler}objects make it possible to update the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * document on the fly, without having read tje complete document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> org.dom4j.io.SAXReader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> org.dom4j.io.XMLWriters</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXModifyReader"> 27</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> SAXModifyReader <span class="keyword">extends</span> SAXReader {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLWriter xmlWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> pruneElements;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">public</span> SAXModifyReader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: method not entered.">    <span class="keyword">public</span> SAXModifyReader(<span class="keyword">boolean</span> validating) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        <span class="keyword">super</span>(validating);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> SAXModifyReader(DocumentFactory factory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: statement not executed.">        <span class="keyword">super</span>(factory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> SAXModifyReader(DocumentFactory factory, <span class="keyword">boolean</span> validating) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">super</span>(factory, validating);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: method not entered.">    <span class="keyword">public</span> SAXModifyReader(XMLReader xmlReader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        <span class="keyword">super</span>(xmlReader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: method not entered.">    <span class="keyword">public</span> SAXModifyReader(XMLReader xmlReader, <span class="keyword">boolean</span> validating) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">super</span>(xmlReader, validating);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: method not entered.">    <span class="keyword">public</span> SAXModifyReader(String xmlReaderClassName) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: statement not executed.">        <span class="keyword">super</span>(xmlReaderClassName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: method not entered.">    <span class="keyword">public</span> SAXModifyReader(String xmlReaderClassName, <span class="keyword">boolean</span> validating)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">        <span class="keyword">super</span>(xmlReaderClassName, validating);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLWriter(XMLWriter writer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        <span class="keyword">this</span>.xmlWriter = writer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isPruneElements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">return</span> pruneElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPruneElements(<span class="keyword">boolean</span> pruneElements) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">this</span>.pruneElements = pruneElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">protected</span> SAXContentHandler createContentHandler(XMLReader reader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        SAXModifyContentHandler handler = <span class="keyword">new</span> SAXModifyContentHandler(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                getDocumentFactory(), getDispatchHandler());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        handler.setXMLWriter(xmlWriter);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> handler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">protected</span> XMLWriter getXMLWriter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>.xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXReader.html b/docs/clover/org/dom4j/io/SAXReader.html
new file mode 100644
index 0000000..b28b69d
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXReader.html
@@ -0,0 +1,4478 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXReader.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXReader.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.042</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">58</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">382</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">2</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXReader.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">51,9%</TD>
+    <TD class="graphPercent" align="center">62,6%</TD>
+    <TD class="graphPercent" align="center">58,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>59,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="119" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="81" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.File;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileInputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileNotFoundException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Reader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.net.URL;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.EntityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ErrorHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXParseException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLFilter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.DefaultHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.XMLReaderFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>SAXReader</code> creates a DOM4J tree from SAX parsing events.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * The actual SAX parser that is used by this class is configurable so you can</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * use your favourite SAX parser if you wish. DOM4J comes configured with its</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * own SAX parser so you do not need to worry about configuring the SAX parser.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * To explicitly configure the SAX parser that is used via Java code you can use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * a constructor or use the {@link #setXMLReader(XMLReader)}or {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * #setXMLReaderClassName(String)} methods.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * If the parser is not specified explicitly then the standard SAX policy of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * using the <code>org.xml.sax.driver</code> system property is used to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * determine the implementation class of {@link XMLReader}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * If the <code>org.xml.sax.driver</code> system property is not defined then</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * JAXP is used via reflection (so that DOM4J is not explicitly dependent on the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * JAXP classes) to load the JAXP configured SAXParser. If there is any error</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * creating a JAXP SAXParser an informational message is output and then the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * default (Aelfred) SAX parser is used instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * If you are trying to use JAXP to explicitly set your SAX parser and are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * experiencing problems, you can turn on verbose error reporting by defining</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the system property <code>org.dom4j.verbose</code> to be "true" which will</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * output a more detailed description of why JAXP could not find a SAX parser</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * For more information on JAXP please go to <a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * href="http://java.sun.com/xml/">Sun's Java &amp; XML site </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.58 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXReader"> 79</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> SAXReader {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String SAX_STRING_INTERNING = </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/features/string-interning"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String SAX_NAMESPACE_PREFIXES = </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/features/namespace-prefixes"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String SAX_NAMESPACES = </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/features/namespaces"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String SAX_DECL_HANDLER = </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/properties/declaration-handler"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String SAX_LEXICAL_HANDLER = </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/properties/lexical-handler"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String SAX_LEXICALHANDLER = </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/handlers/LexicalHandler"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>DocumentFactory</code> used to create new document objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory factory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>XMLReader</code> used to parse the SAX events */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLReader xmlReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Whether validation should occur */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> validating;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** DispatchHandler to call when each <code>Element</code> is encountered */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DispatchHandler dispatchHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** ErrorHandler class to use */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ErrorHandler errorHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The entity resolver */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> EntityResolver entityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Should element & attribute names and namespace URIs be interned? */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> stringInternEnabled = <span class="keyword">true</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Should internal DTD declarations be expanded into a List in the DTD */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> includeInternalDTDDeclarations = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Should external DTD declarations be expanded into a List in the DTD */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> includeExternalDTDDeclarations = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Whether adjacent text nodes should be merged */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> mergeAdjacentText = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property stripWhitespaceText. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> stripWhitespaceText = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Should we ignore comments */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> ignoreComments = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Encoding of InputSource - null means system default encoding */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String encoding = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// private boolean includeExternalGeneralEntities = false;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// private boolean includeExternalParameterEntities = false;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The SAX filter used to filter SAX events */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLFilter xmlFilter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 138: method entered 5741 times."> 5741</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 138: method entered 5741 times.">    <span class="keyword">public</span> SAXReader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: method entered 1 time.">    <span class="keyword">public</span> SAXReader(<span class="keyword">boolean</span> validating) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 142: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 142: statement executed 1 time.">        <span class="keyword">this</span>.validating = validating;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: method entered 55 times."> 55</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: method entered 55 times.">    <span class="keyword">public</span> SAXReader(DocumentFactory factory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 55 times."> 55</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 55 times.">        <span class="keyword">this</span>.factory = factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: method not entered.">    <span class="keyword">public</span> SAXReader(DocumentFactory factory, <span class="keyword">boolean</span> validating) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        <span class="keyword">this</span>.factory = factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">        <span class="keyword">this</span>.validating = validating;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: method not entered.">    <span class="keyword">public</span> SAXReader(XMLReader xmlReader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">        <span class="keyword">this</span>.xmlReader = xmlReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: method not entered.">    <span class="keyword">public</span> SAXReader(XMLReader xmlReader, <span class="keyword">boolean</span> validating) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        <span class="keyword">this</span>.xmlReader = xmlReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">        <span class="keyword">this</span>.validating = validating;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: method entered 1 time.">    <span class="keyword">public</span> SAXReader(String xmlReaderClassName) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: expression evaluated to true 1 time, false 0 times.">        <span class="keyword">if</span> (xmlReaderClassName != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: statement executed 1 time.">            <span class="keyword">this</span>.xmlReader = XMLReaderFactory</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .createXMLReader(xmlReaderClassName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: method not entered.">    <span class="keyword">public</span> SAXReader(String xmlReaderClassName, <span class="keyword">boolean</span> validating)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">        <span class="keyword">if</span> (xmlReaderClassName != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">            <span class="keyword">this</span>.xmlReader = XMLReaderFactory</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .createXMLReader(xmlReaderClassName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: statement not executed.">        <span class="keyword">this</span>.validating = validating;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Allows a SAX property to be set on the underlying SAX parser. This can be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * useful to set parser-specific properties such as the location of schema</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or DTD resources. Though use this method with caution as it has the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * possibility of breaking the standard behaviour. An alternative to calling</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this method is to correctly configure an XMLReader object instance and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * call the {@link #setXMLReader(XMLReader)}method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the SAX property name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the value of the SAX property</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the XMLReader could not be created or the property could</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             not be changed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setProperty(String name, Object value) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 198: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 198: statement not executed.">        getXMLReader().setProperty(name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets a SAX feature on the underlying SAX parser. This can be useful to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * set parser-specific features. Though use this method with caution as it</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * has the possibility of breaking the standard behaviour. An alternative to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * calling this method is to correctly configure an XMLReader object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instance and call the {@link #setXMLReader(XMLReader)}method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the SAX feature name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the value of the SAX feature</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the XMLReader could not be created or the feature could</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             not be changed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setFeature(String name, <span class="keyword">boolean</span> value) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 218: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 218: statement not executed.">        getXMLReader().setFeature(name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>File</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> file</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>File</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 234: method entered 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 234: method entered 204 times.">    <span class="keyword">public</span> Document read(File file) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 235: statement executed 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 235: statement executed 204 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * We cannot convert the file to an URL because if the filename</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * contains '#' characters, there will be problems with the URL in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * the InputSource (because a URL like</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * http://myhost.com/index#anchor is treated the same as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * http://myhost.com/index) Thanks to Christian Oetterli</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 243: statement executed 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 243: statement executed 204 times.">            InputSource source = <span class="keyword">new</span> InputSource(<span class="keyword">new</span> FileInputStream(file));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 244: expression evaluated to true 0 times, false 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 244: expression evaluated to true 0 times, false 204 times.">            <span class="keyword">if</span> (<span class="keyword">this</span>.encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: statement not executed.">                source.setEncoding(<span class="keyword">this</span>.encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 247: statement executed 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 247: statement executed 204 times.">            String path = file.getAbsolutePath();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 249: expression evaluated to true 204 times, false 0 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: expression evaluated to true 204 times, false 0 times.">            <span class="keyword">if</span> (path != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Code taken from Ant FileUtils</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 251: statement executed 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 251: statement executed 204 times.">                StringBuffer sb = <span class="keyword">new</span> StringBuffer(<span class="string">"file://"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// add an extra slash for filesystems with drive-specifiers</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 254: expression evaluated to true 204 times, false 0 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 254: expression evaluated to true 204 times, false 0 times.">                <span class="keyword">if</span> (!path.startsWith(File.separator)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 255: statement executed 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: statement executed 204 times.">                    sb.append(<span class="string">"/"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 258: statement executed 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 258: statement executed 204 times.">                path = path.replace('\\', '/');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 259: statement executed 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 259: statement executed 204 times.">                sb.append(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 261: statement executed 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 261: statement executed 204 times.">                source.setSystemId(sb.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 264: statement executed 204 times."> 204</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 264: statement executed 204 times.">            <span class="keyword">return</span> read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (FileNotFoundException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 266: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 266: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(e.getMessage(), e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>URL</code> using SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> url</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>URL</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 283: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 283: method not entered.">    <span class="keyword">public</span> Document read(URL url) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 284: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 284: statement not executed.">        String systemID = url.toExternalForm();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 286</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 286: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 286: statement not executed.">        InputSource source = <span class="keyword">new</span> InputSource(systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 287: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">this</span>.encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 288: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 288: statement not executed.">            source.setEncoding(<span class="keyword">this</span>.encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 291: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 291: statement not executed.">        <span class="keyword">return</span> read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given URL or filename using SAX.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If the systemId contains a <code>':'</code> character then it is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * assumed to be a URL otherwise its assumed to be a file name. If you want</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * finer grained control over this mechansim then please explicitly pass in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * either a {@link URL}or a {@link File}instance instead of a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * String} to denote the source of the document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is a URL for a document or a file name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 315: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 315: method entered 1 time.">    <span class="keyword">public</span> Document read(String systemId) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 316</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 316: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 316: statement executed 1 time.">        InputSource source = <span class="keyword">new</span> InputSource(systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 317: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 317: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> (<span class="keyword">this</span>.encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 318: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 318: statement not executed.">            source.setEncoding(<span class="keyword">this</span>.encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 321</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 321: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 321: statement executed 1 time.">        <span class="keyword">return</span> read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given stream using SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>InputStream</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 337: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 337: method entered 1 time.">    <span class="keyword">public</span> Document read(InputStream in) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 338</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 338: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 338: statement executed 1 time.">        InputSource source = <span class="keyword">new</span> InputSource(in);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 339: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 339: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> (<span class="keyword">this</span>.encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 340: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: statement not executed.">            source.setEncoding(<span class="keyword">this</span>.encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 343</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 343: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 343: statement executed 1 time.">        <span class="keyword">return</span> read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>Reader</code> using SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the reader for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 359</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 359: method entered 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 359: method entered 31 times.">    <span class="keyword">public</span> Document read(Reader reader) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 360: statement executed 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 360: statement executed 31 times.">        InputSource source = <span class="keyword">new</span> InputSource(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 361</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 361: statement executed 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 361: statement executed 31 times.">        <span class="keyword">if</span> (<span class="keyword">this</span>.encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 362: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 362: statement executed 1 time.">            source.setEncoding(<span class="keyword">this</span>.encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 365: statement executed 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 365: statement executed 31 times.">        <span class="keyword">return</span> read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given stream using SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>InputStream</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 383</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 383: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 383: method not entered.">    <span class="keyword">public</span> Document read(InputStream in, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 385</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 385: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 385: statement not executed.">        InputSource source = <span class="keyword">new</span> InputSource(in);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">        source.setSystemId(systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 387: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 387: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">this</span>.encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 388</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 388: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 388: statement not executed.">            source.setEncoding(<span class="keyword">this</span>.encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 391</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 391: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 391: statement not executed.">        <span class="keyword">return</span> read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>Reader</code> using SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the reader for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 409</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 409: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 409: method not entered.">    <span class="keyword">public</span> Document read(Reader reader, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 411</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 411: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 411: statement not executed.">        InputSource source = <span class="keyword">new</span> InputSource(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 412: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 412: statement not executed.">        source.setSystemId(systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 413</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 413: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 413: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">this</span>.encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 414</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 414: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 414: statement not executed.">            source.setEncoding(<span class="keyword">this</span>.encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 417</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 417: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 417: statement not executed.">        <span class="keyword">return</span> read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>InputSource</code> using SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>InputSource</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 433</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 433: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 433: method entered 5792 times.">    <span class="keyword">public</span> Document read(InputSource in) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 434</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 434: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 434: statement executed 5792 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 435</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 435: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 435: statement executed 5792 times.">            XMLReader reader = getXMLReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 437</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 437: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 437: statement executed 5792 times.">            reader = installXMLFilter(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 439: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 439: statement executed 5792 times.">            EntityResolver thatEntityResolver = <span class="keyword">this</span>.entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 441</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 441: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 441: statement executed 5792 times.">            <span class="keyword">if</span> (thatEntityResolver == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 442</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 442: statement executed 5762 times."> 5762</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 442: statement executed 5762 times.">                thatEntityResolver = createDefaultEntityResolver(in</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .getSystemId());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 444</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 444: statement executed 5762 times."> 5762</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 444: statement executed 5762 times.">                <span class="keyword">this</span>.entityResolver = thatEntityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 447</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 447: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 447: statement executed 5792 times.">            reader.setEntityResolver(thatEntityResolver);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 449</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 449: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 449: statement executed 5792 times.">            SAXContentHandler contentHandler = createContentHandler(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 450</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 450: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 450: statement executed 5792 times.">            contentHandler.setEntityResolver(thatEntityResolver);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 451</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 451: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 451: statement executed 5792 times.">            contentHandler.setInputSource(in);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 453</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 453: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 453: statement executed 5792 times.">            <span class="keyword">boolean</span> internal = isIncludeInternalDTDDeclarations();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 454</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 454: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 454: statement executed 5792 times.">            <span class="keyword">boolean</span> external = isIncludeExternalDTDDeclarations();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 456</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 456: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 456: statement executed 5792 times.">            contentHandler.setIncludeInternalDTDDeclarations(internal);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 457</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 457: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 457: statement executed 5792 times.">            contentHandler.setIncludeExternalDTDDeclarations(external);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 458</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 458: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 458: statement executed 5792 times.">            contentHandler.setMergeAdjacentText(isMergeAdjacentText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 459</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 459: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 459: statement executed 5792 times.">            contentHandler.setStripWhitespaceText(isStripWhitespaceText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 460</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 460: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 460: statement executed 5792 times.">            contentHandler.setIgnoreComments(isIgnoreComments());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 461</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 461: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 461: statement executed 5792 times.">            reader.setContentHandler(contentHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 463</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 463: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 463: statement executed 5792 times.">            configureReader(reader, contentHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 465</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 465: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 465: statement executed 5792 times.">            reader.parse(in);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 467</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 467: statement executed 5791 times."> 5791</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 467: statement executed 5791 times.">            <span class="keyword">return</span> contentHandler.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 469</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 469: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 469: expression evaluated to true 0 times, false 1 time.">            <span class="keyword">if</span> (e <span class="keyword">instanceof</span> SAXParseException) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// e.printStackTrace();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 471</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 471: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 471: statement not executed.">                SAXParseException parseException = (SAXParseException) e;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 472</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 472: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 472: statement not executed.">                String systemId = parseException.getSystemId();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 474</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 474: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 474: statement not executed.">                <span class="keyword">if</span> (systemId == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 475</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 475: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 475: statement not executed.">                    systemId = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 478</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 478: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 478: statement not executed.">                String message = <span class="string">"Error on line "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + parseException.getLineNumber() + <span class="string">" of document "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + systemId + <span class="string">" : "</span> + parseException.getMessage();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 482</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 482: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 482: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(message, e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 484</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 484: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 484: statement executed 1 time.">                <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(e.getMessage(), e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the validation mode, true if validating will be done otherwise</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         false.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 498</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 498: method entered 11556 times."> 11556</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 498: method entered 11556 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isValidating() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 499</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 499: statement executed 11556 times."> 11556</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 499: statement executed 11556 times.">        <span class="keyword">return</span> validating;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the validation mode.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> validation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            indicates whether or not validation should occur.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 508</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 508: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 508: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setValidation(<span class="keyword">boolean</span> validation) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 509</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 509: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 509: statement not executed.">        <span class="keyword">this</span>.validating = validation;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> whether internal DTD declarations should be expanded into the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         DocumentType object or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 518</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 518: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 518: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isIncludeInternalDTDDeclarations() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 519</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 519: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 519: statement executed 5792 times.">        <span class="keyword">return</span> includeInternalDTDDeclarations;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether internal DTD declarations should be expanded into the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DocumentType object or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> include</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            whether or not DTD declarations should be expanded and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            included into the DocumentType object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 530</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 530: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 530: method entered 5 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setIncludeInternalDTDDeclarations(<span class="keyword">boolean</span> include) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 531</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 531: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 531: statement executed 5 times.">        <span class="keyword">this</span>.includeInternalDTDDeclarations = include;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> whether external DTD declarations should be expanded into the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         DocumentType object or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 540</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 540: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 540: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isIncludeExternalDTDDeclarations() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 541</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 541: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 541: statement executed 5792 times.">        <span class="keyword">return</span> includeExternalDTDDeclarations;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether DTD external declarations should be expanded into the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 546</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DocumentType object or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> include</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            whether or not DTD declarations should be expanded and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            included into the DocumentType object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 552</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 552: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 552: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setIncludeExternalDTDDeclarations(<span class="keyword">boolean</span> include) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 553</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 553: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 553: statement executed 4 times.">        <span class="keyword">this</span>.includeExternalDTDDeclarations = include;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether String interning is enabled or disabled for element &</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * attribute names and namespace URIs. This proprety is enabled by default.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 562</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 562: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 562: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isStringInternEnabled() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 563</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 563: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 563: statement executed 5792 times.">        <span class="keyword">return</span> stringInternEnabled;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether String interning is enabled or disabled for element &</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * attribute names and namespace URIs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> stringInternEnabled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 573</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 573: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 573: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setStringInternEnabled(<span class="keyword">boolean</span> stringInternEnabled) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 574</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 574: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 574: statement not executed.">        <span class="keyword">this</span>.stringInternEnabled = stringInternEnabled;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns whether adjacent text nodes should be merged together.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property mergeAdjacentText.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 582</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 582: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 582: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isMergeAdjacentText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 583</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 583: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 583: statement executed 5792 times.">        <span class="keyword">return</span> mergeAdjacentText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether or not adjacent text nodes should be merged together when</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> mergeAdjacentText</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property mergeAdjacentText.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 593</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 593: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 593: method entered 7 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setMergeAdjacentText(<span class="keyword">boolean</span> mergeAdjacentText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 594</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 594: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 594: statement executed 7 times.">        <span class="keyword">this</span>.mergeAdjacentText = mergeAdjacentText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether whitespace between element start and end tags should be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ignored</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 600</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property stripWhitespaceText.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 603</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 603: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 603: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isStripWhitespaceText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 604</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 604: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 604: statement executed 5792 times.">        <span class="keyword">return</span> stripWhitespaceText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 608</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether whitespace between element start and end tags should be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 609</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ignored.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 610</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 611</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> stripWhitespaceText</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property stripWhitespaceText.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 613</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 614</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 614: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 614: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setStripWhitespaceText(<span class="keyword">boolean</span> stripWhitespaceText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 615</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 615: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 615: statement not executed.">        <span class="keyword">this</span>.stripWhitespaceText = stripWhitespaceText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 616</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 617</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns whether we should ignore comments or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 620</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 621</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> boolean</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 622</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 623</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 623: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 623: method entered 5792 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isIgnoreComments() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 624</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 624: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 624: statement executed 5792 times.">        <span class="keyword">return</span> ignoreComments;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 625</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 626</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 627</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 628</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether we should ignore comments or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 629</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 630</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> ignoreComments</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            whether we should ignore comments or not.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 633</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 633: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 633: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setIgnoreComments(<span class="keyword">boolean</span> ignoreComments) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 634</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 634: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 634: statement not executed.">        <span class="keyword">this</span>.ignoreComments = ignoreComments;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 637</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 638</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 639</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>DocumentFactory</code> used to create document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 642</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 643</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 643: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 643: method entered 5792 times.">    <span class="keyword">public</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 644</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 644: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 644: statement executed 5792 times.">        <span class="keyword">if</span> (factory == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 645</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 645: statement executed 5702 times."> 5702</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 645: statement executed 5702 times.">            factory = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 648</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 648: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 648: statement executed 5792 times.">        <span class="keyword">return</span> factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 649</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 652</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This sets the <code>DocumentFactory</code> used to create new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 654</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * documents. This method allows the building of custom DOM4J tree objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 655</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to be implemented easily using a custom derivation of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 656</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link DocumentFactory}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 658</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> documentFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 660</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>DocumentFactory</code> used to create DOM4J objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 661</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 662</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 662: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 662: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 663</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 663: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 663: statement executed 8 times.">        <span class="keyword">this</span>.factory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 664</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 665</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 667</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 668</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 669</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>ErrorHandler</code> used by SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 671</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 671: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 671: method not entered.">    <span class="keyword">public</span> ErrorHandler getErrorHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 672</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 672: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 672: statement not executed.">        <span class="keyword">return</span> errorHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 673</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 676</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>ErrorHandler</code> used by the SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 677</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>XMLReader</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 679</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> errorHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 680</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ErrorHandler</code> used by SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 681</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 682</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 682: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 682: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setErrorHandler(ErrorHandler errorHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 683</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 683: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 683: statement not executed.">        <span class="keyword">this</span>.errorHandler = errorHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 685</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 686</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 687</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the current entity resolver used to resolve entities</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 688</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 689</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 690</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 691</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 691: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 691: method not entered.">    <span class="keyword">public</span> EntityResolver getEntityResolver() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 692</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 692: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 692: statement not executed.">        <span class="keyword">return</span> entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 693</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 694</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 695</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 696</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the entity resolver used to resolve entities.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 697</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 698</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entityResolver</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 699</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 700</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 701</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 701: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 701: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setEntityResolver(EntityResolver entityResolver) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 702</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 702: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 702: statement executed 3 times.">        <span class="keyword">this</span>.entityResolver = entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 703</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 704</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 705</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 706</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 707</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 708</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>XMLReader</code> used to parse SAX events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 709</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 710</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 711</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 712</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 713</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 713: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 713: method entered 5792 times.">    <span class="keyword">public</span> XMLReader getXMLReader() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 714</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 714: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 714: statement executed 5792 times.">        <span class="keyword">if</span> (xmlReader == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 715</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 715: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 715: statement executed 5764 times.">            xmlReader = createXMLReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 716</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 717</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 718</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 718: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 718: statement executed 5792 times.">        <span class="keyword">return</span> xmlReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 719</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 720</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 721</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 722</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>XMLReader</code> used to parse SAX events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 723</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 724</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 725</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>XMLReader</code> to parse SAX events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 727</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 727: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 727: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLReader(XMLReader reader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 728</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 728: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 728: statement not executed.">        <span class="keyword">this</span>.xmlReader = reader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 729</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 730</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 731</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 732</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns encoding used for InputSource (null means system default</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 733</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * encoding)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 734</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 735</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> encoding used for InputSource</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 736</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 737</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 738</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 738: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 738: method not entered.">    <span class="keyword">public</span> String getEncoding() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 739</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 739: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 739: statement not executed.">        <span class="keyword">return</span> encoding;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 740</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 741</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 742</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 743</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets encoding used for InputSource (null means system default encoding)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 744</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 745</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> encoding</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 746</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is encoding used for InputSource</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 747</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 748</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 748: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 748: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setEncoding(String encoding) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 749</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 749: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 749: statement executed 1 time.">        <span class="keyword">this</span>.encoding = encoding;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 750</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 751</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 752</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 753</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the class name of the <code>XMLReader</code> to be used to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 754</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * SAX events.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 755</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xmlReaderClassName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 757</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the class name of the <code>XMLReader</code> to parse SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 758</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 759</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 760</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 761</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 762</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 763</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 763: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 763: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLReaderClassName(String xmlReaderClassName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 764</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 765</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 765: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 765: statement not executed.">        setXMLReader(XMLReaderFactory.createXMLReader(xmlReaderClassName));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 766</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 767</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 768</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 769</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the <code>ElementHandler</code> to be called when the specified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 770</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path is encounted.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 771</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 772</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 773</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to be handled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 774</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 775</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 776</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 777</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 778</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 778: method entered 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 778: method entered 21 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addHandler(String path, ElementHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 779</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 779: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 779: statement executed 21 times.">        getDispatchHandler().addHandler(path, handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 780</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 781</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 782</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 783</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the <code>ElementHandler</code> from the event based processor,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 784</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for the specified path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 785</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 786</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 787</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to remove the <code>ElementHandler</code> for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 788</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 789</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 789: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 789: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeHandler(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 790</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 790: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 790: statement not executed.">        getDispatchHandler().removeHandler(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 791</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 792</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 793</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 794</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * When multiple <code>ElementHandler</code> instances have been</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 795</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * registered, this will set a default <code>ElementHandler</code> to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 796</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * called for any path which does <b>NOT </b> have a handler registered.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 797</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 798</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 799</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 800</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 801</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 802</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 802: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 802: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDefaultHandler(ElementHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 803</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 803: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 803: statement not executed.">        getDispatchHandler().setDefaultHandler(handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 804</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 805</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 806</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 807</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method clears out all the existing handlers and default handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 808</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * setting things back as if no handler existed. Useful when reusing an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 809</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * object instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 810</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 811</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 811: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 811: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> resetHandlers() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 812</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 812: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 812: statement not executed.">        getDispatchHandler().resetHandlers();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 813</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 814</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 815</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 816</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the SAX filter being used to filter SAX events.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 817</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 818</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the SAX filter being used or null if no SAX filter is installed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 819</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 820</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 820: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 820: method entered 5792 times.">    <span class="keyword">public</span> XMLFilter getXMLFilter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 821</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 821: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 821: statement executed 5792 times.">        <span class="keyword">return</span> xmlFilter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 822</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 823</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 824</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 825</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the SAX filter to be used when filtering SAX events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 826</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 827</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> filter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 828</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the SAX filter to use or null to disable filtering</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 829</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 830</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 830: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 830: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLFilter(XMLFilter filter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 831</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 831: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 831: statement not executed.">        <span class="keyword">this</span>.xmlFilter = filter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 832</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 833</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 834</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 835</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 836</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 837</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 838</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Installs any XMLFilter objects required to allow the SAX event stream to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 839</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * be filtered and preprocessed before it gets to dom4j.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 840</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 841</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 842</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 843</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 844</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the new XMLFilter if applicable or the original XMLReader if no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 845</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         filter is being used.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 846</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 847</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 847: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 847: method entered 5792 times.">    <span class="keyword">protected</span> XMLReader installXMLFilter(XMLReader reader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 848</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 848: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 848: statement executed 5792 times.">        XMLFilter filter = getXMLFilter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 849</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 850</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 850: expression evaluated to true 0 times, false 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 850: expression evaluated to true 0 times, false 5792 times.">        <span class="keyword">if</span> (filter != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 851</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// find the root XMLFilter</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 852</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 852: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 852: statement not executed.">            XMLFilter root = filter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 853</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 854</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 854: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 854: statement not executed.">            <span class="keyword">while</span> (<span class="keyword">true</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 855</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 855: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 855: statement not executed.">                XMLReader parent = root.getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 856</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 857</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 857: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 857: statement not executed.">                <span class="keyword">if</span> (parent <span class="keyword">instanceof</span> XMLFilter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 858</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 858: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 858: statement not executed.">                    root = (XMLFilter) parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 859</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 860</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 860: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 860: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 861</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 862</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 863</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 864</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 864: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 864: statement not executed.">            root.setParent(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 865</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 866</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 866: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 866: statement not executed.">            <span class="keyword">return</span> filter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 867</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 868</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 869</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 869: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 869: statement executed 5792 times.">        <span class="keyword">return</span> reader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 870</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 871</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 872</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 872: method entered 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 872: method entered 21 times.">    <span class="keyword">protected</span> DispatchHandler getDispatchHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 873</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 873: expression evaluated to true 21 times, false 0 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 873: expression evaluated to true 21 times, false 0 times.">        <span class="keyword">if</span> (dispatchHandler == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 874</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 874: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 874: statement executed 21 times.">            dispatchHandler = <span class="keyword">new</span> DispatchHandler();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 875</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 876</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 877</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 877: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 877: statement executed 21 times.">        <span class="keyword">return</span> dispatchHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 878</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 879</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 880</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 880: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 880: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> setDispatchHandler(DispatchHandler dispatchHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 881</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 881: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 881: statement not executed.">        <span class="keyword">this</span>.dispatchHandler = dispatchHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 882</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 883</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 884</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 885</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory Method to allow alternate methods of creating and configuring</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 886</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XMLReader objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 887</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 888</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 889</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 890</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 891</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 892</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 893</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 893: method entered 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 893: method entered 5764 times.">    <span class="keyword">protected</span> XMLReader createXMLReader() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 894</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 894: statement executed 5764 times."> 5764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 894: statement executed 5764 times.">        <span class="keyword">return</span> SAXHelper.createXMLReader(isValidating());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 895</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 896</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 897</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 898</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Configures the XMLReader before use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 899</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 900</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 901</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 902</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 903</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 904</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 905</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 906</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 907</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 908</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 908: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 908: method entered 5792 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> configureReader(XMLReader reader, DefaultHandler handler)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 909</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 910</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// configure lexical handling</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 911</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 911: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 911: statement executed 5792 times.">        SAXHelper.setParserProperty(reader, SAX_LEXICALHANDLER, handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 912</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 913</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// try alternate property just in case</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 914</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 914: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 914: statement executed 5792 times.">        SAXHelper.setParserProperty(reader, SAX_LEXICAL_HANDLER, handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 915</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 916</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// register the DeclHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 917</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 917: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 917: statement executed 5792 times.">        <span class="keyword">if</span> (includeInternalDTDDeclarations || includeExternalDTDDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 918</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 918: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 918: statement executed 6 times.">            SAXHelper.setParserProperty(reader, SAX_DECL_HANDLER, handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 919</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 920</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 921</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// configure namespace support</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 922</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 922: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 922: statement executed 5792 times.">        SAXHelper.setParserFeature(reader, SAX_NAMESPACES, <span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 923</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 924</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 924: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 924: statement executed 5792 times.">        SAXHelper.setParserFeature(reader, SAX_NAMESPACE_PREFIXES, <span class="keyword">false</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 925</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 926</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// string interning</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 927</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 927: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 927: statement executed 5792 times.">        SAXHelper.setParserFeature(reader, SAX_STRING_INTERNING,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 928</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                isStringInternEnabled());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 929</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 930</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// external entites</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 931</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 932</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * SAXHelper.setParserFeature( reader,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 933</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * "http://xml.org/sax/properties/external-general-entities",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 934</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * includeExternalGeneralEntities ); SAXHelper.setParserFeature( reader,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 935</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * "http://xml.org/sax/properties/external-parameter-entities",</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 936</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * includeExternalParameterEntities );</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 937</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 938</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// use Locator2 if possible</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 939</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 939: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 939: statement executed 5792 times.">        SAXHelper.setParserFeature(reader,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 940</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="string">"http://xml.org/sax/features/use-locator2"</span>, <span class="keyword">true</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 941</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 942</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 942: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 942: statement executed 5792 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 943</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// configure validation support</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 944</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 944: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 944: statement executed 5792 times.">            reader.setFeature(<span class="string">"http://xml.org/sax/features/validation"</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 945</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    isValidating());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 946</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 947</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 947: expression evaluated to true 0 times, false 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 947: expression evaluated to true 0 times, false 5792 times.">            <span class="keyword">if</span> (errorHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 948</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 948: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 948: statement not executed.">                reader.setErrorHandler(errorHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 949</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 950</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 950: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 950: statement executed 5792 times.">                reader.setErrorHandler(handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 951</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 952</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 953</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 953: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 953: statement not executed.">            <span class="keyword">if</span> (isValidating()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 954</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 954: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 954: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(<span class="string">"Validation not supported for"</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 955</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">" XMLReader: "</span> + reader, e);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 956</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 957</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 958</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 959</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 960</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 961</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory Method to allow user derived SAXContentHandler objects to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 962</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 963</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 964</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 965</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 966</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 967</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 968</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 968: method entered 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 968: method entered 5792 times.">    <span class="keyword">protected</span> SAXContentHandler createContentHandler(XMLReader reader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 969</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 969: statement executed 5792 times."> 5792</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 969: statement executed 5792 times.">        <span class="keyword">return</span> <span class="keyword">new</span> SAXContentHandler(getDocumentFactory(), dispatchHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 970</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 971</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 972</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 972: method entered 5762 times."> 5762</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 972: method entered 5762 times.">    <span class="keyword">protected</span> EntityResolver createDefaultEntityResolver(String systemId) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 973</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 973: statement executed 5762 times."> 5762</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 973: statement executed 5762 times.">        String prefix = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 974</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 975</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 975: statement executed 5762 times."> 5762</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 975: statement executed 5762 times.">        <span class="keyword">if</span> ((systemId != <span class="keyword">null</span>) && (systemId.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 976</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 976: statement executed 179 times."> 179</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 976: statement executed 179 times.">            <span class="keyword">int</span> idx = systemId.lastIndexOf('/');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 977</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 978</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 978: statement executed 179 times."> 179</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 978: statement executed 179 times.">            <span class="keyword">if</span> (idx > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 979</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 979: statement executed 178 times."> 178</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 979: statement executed 178 times.">                prefix = systemId.substring(0, idx + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 980</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 981</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 982</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 983</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 983: statement executed 5762 times."> 5762</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 983: statement executed 5762 times.">        <span class="keyword">return</span> <span class="keyword">new</span> SAXEntityResolver(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 984</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 985</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXEntityResolver"> 986</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">class</span> SAXEntityResolver <span class="keyword">implements</span> EntityResolver,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 987</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 988</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> String uriPrefix;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 989</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 990</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 990: method entered 5762 times."> 5762</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 990: method entered 5762 times.">        <span class="keyword">public</span> SAXEntityResolver(String uriPrefix) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 991</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 991: statement executed 5762 times."> 5762</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 991: statement executed 5762 times.">            <span class="keyword">this</span>.uriPrefix = uriPrefix;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 992</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 993</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 994</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 994: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 994: method entered 5 times.">        <span class="keyword">public</span> InputSource resolveEntity(String publicId, String systemId) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 995</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// try create a relative URI reader...</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 996</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 996: expression evaluated to true 5 times, false 0 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 996: expression evaluated to true 5 times, false 0 times.">            <span class="keyword">if</span> ((systemId != <span class="keyword">null</span>) && (systemId.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 997</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 997: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 997: statement executed 5 times.">                <span class="keyword">if</span> ((uriPrefix != <span class="keyword">null</span>) && (systemId.indexOf(':') <= 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 998</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 998: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 998: statement executed 2 times.">                    systemId = uriPrefix + systemId;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 999</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1000</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1001</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1002</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1002: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1002: statement executed 5 times.">            <span class="keyword">return</span> <span class="keyword">new</span> InputSource(systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1003</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1004</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1005</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1006</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1007</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1008</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1009</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1010</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1011</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1012</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1013</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1014</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1015</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1016</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1017</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1018</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1019</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1020</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1021</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1022</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1023</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1024</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1025</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1026</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1027</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1028</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1029</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1030</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1031</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1032</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1033</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1034</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1035</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1036</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1037</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1038</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1039</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1040</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1041</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1042</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXValidator.html b/docs/clover/org/dom4j/io/SAXValidator.html
new file mode 100644
index 0000000..a25bb00
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXValidator.html
@@ -0,0 +1,930 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXValidator.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXValidator.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">203</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">9</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">61</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXValidator.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ContentHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ErrorHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.DefaultHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>SAXValidator</code> validates an XML document by writing the document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to a text buffer and parsing it with a validating SAX parser. This could be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implemented much more efficiently by validating against the dom4j object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * model directly but at least allows the reuse of existing SAX based validating</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * parsers.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXValidator"> 32</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> SAXValidator {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>XMLReader</code> used to parse the SAX events */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLReader xmlReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** ErrorHandler class to use */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ErrorHandler errorHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> SAXValidator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> SAXValidator(XMLReader xmlReader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">this</span>.xmlReader = xmlReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Validates the given <code>Document</code> by writing it to a validating</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * SAX Parser.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Document to validate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if a validation error occurs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> RuntimeException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> validate(Document document) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        <span class="keyword">if</span> (document != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">            XMLReader reader = getXMLReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">            <span class="keyword">if</span> (errorHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">                reader.setErrorHandler(errorHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">                reader.parse(<span class="keyword">new</span> DocumentInputSource(document));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(<span class="string">"Caught and exception that should "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">"never happen: "</span> + e);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>XMLReader</code> used to parse SAX events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: method not entered.">    <span class="keyword">public</span> XMLReader getXMLReader() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">        <span class="keyword">if</span> (xmlReader == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">            xmlReader = createXMLReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">            configureReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">        <span class="keyword">return</span> xmlReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>XMLReader</code> used to parse SAX events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>XMLReader</code> to parse SAX events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLReader(XMLReader reader) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">        <span class="keyword">this</span>.xmlReader = reader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        configureReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>ErrorHandler</code> used by SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: method not entered.">    <span class="keyword">public</span> ErrorHandler getErrorHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        <span class="keyword">return</span> errorHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>ErrorHandler</code> used by the SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>XMLReader</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> errorHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ErrorHandler</code> used by SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setErrorHandler(ErrorHandler errorHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">        <span class="keyword">this</span>.errorHandler = errorHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory Method to allow alternate methods of creating and configuring</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XMLReader objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: method not entered.">    <span class="keyword">protected</span> XMLReader createXMLReader() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">        <span class="keyword">return</span> SAXHelper.createXMLReader(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Configures the XMLReader before use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> configureReader() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">        ContentHandler handler = xmlReader.getContentHandler();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">        <span class="keyword">if</span> (handler == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">            xmlReader.setContentHandler(<span class="keyword">new</span> DefaultHandler());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// configure validation support</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        xmlReader.setFeature(<span class="string">"http://xml.org/sax/features/validation"</span>, <span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// configure namespace support</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: statement not executed.">        xmlReader.setFeature(<span class="string">"http://xml.org/sax/features/namespaces"</span>, <span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">        xmlReader.setFeature(<span class="string">"http://xml.org/sax/features/namespace-prefixes"</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="keyword">false</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/SAXWriter.html b/docs/clover/org/dom4j/io/SAXWriter.html
new file mode 100644
index 0000000..30bae90
--- /dev/null
+++ b/docs/clover/org/dom4j/io/SAXWriter.html
@@ -0,0 +1,4134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ SAXWriter.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SAXWriter.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">945</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">48</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">436</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SAXWriter.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">65,5%</TD>
+    <TD class="graphPercent" align="center">62,2%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>63,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="127" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="73" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CharacterData;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.NamespaceStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ContentHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.DTDHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.EntityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ErrorHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXNotRecognizedException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXNotSupportedException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ext.LexicalHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.AttributesImpl;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.LocatorImpl;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>SAXWriter</code> writes a DOM4J tree to a SAX ContentHandler.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.24 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SAXWriter"> 53</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> SAXWriter <span class="keyword">implements</span> XMLReader {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final String[] LEXICAL_HANDLER_NAMES = {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/properties/lexical-handler"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/handlers/LexicalHandler"</span> };</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final String FEATURE_NAMESPACE_PREFIXES </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            = <span class="string">"http://xml.org/sax/features/namespace-prefixes"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final String FEATURE_NAMESPACES </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            = <span class="string">"http://xml.org/sax/features/namespaces"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>ContentHandler</code> to which SAX events are raised */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ContentHandler contentHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>DTDHandler</code> fired when a document has a DTD */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DTDHandler dtdHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>EntityResolver</code> fired when a document has a DTD */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> EntityResolver entityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ErrorHandler errorHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>LexicalHandler</code> fired on Entity and CDATA sections */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> LexicalHandler lexicalHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>AttributesImpl</code> used when generating the Attributes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> AttributesImpl attributes = <span class="keyword">new</span> AttributesImpl();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Stores the features */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map features = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Stores the properties */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map properties = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Whether namespace declarations are exported as attributes or not */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> declareNamespaceAttributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: method entered 20 times.">    <span class="keyword">public</span> SAXWriter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: statement executed 20 times.">        properties.put(FEATURE_NAMESPACE_PREFIXES, Boolean.FALSE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 20 times.">        properties.put(FEATURE_NAMESPACE_PREFIXES, Boolean.TRUE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: method not entered.">    <span class="keyword">public</span> SAXWriter(ContentHandler contentHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">        <span class="keyword">this</span>();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">        <span class="keyword">this</span>.contentHandler = contentHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: method not entered.">    <span class="keyword">public</span> SAXWriter(ContentHandler contentHandler,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            LexicalHandler lexicalHandler) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">this</span>();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">        <span class="keyword">this</span>.contentHandler = contentHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">        <span class="keyword">this</span>.lexicalHandler = lexicalHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: method entered 12 times.">    <span class="keyword">public</span> SAXWriter(ContentHandler contentHandler,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            LexicalHandler lexicalHandler, EntityResolver entityResolver) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: statement executed 12 times.">        <span class="keyword">this</span>();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: statement executed 12 times.">        <span class="keyword">this</span>.contentHandler = contentHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 111: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 111: statement executed 12 times.">        <span class="keyword">this</span>.lexicalHandler = lexicalHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 12 times.">        <span class="keyword">this</span>.entityResolver = entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A polymorphic method to write any Node to this SAX stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: method entered 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: method entered 39 times.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Node node) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 39 times.">        <span class="keyword">int</span> nodeType = node.getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 39 times.">        <span class="keyword">switch</span> (nodeType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">            <span class="keyword">case</span> Node.ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">                write((Element) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">            <span class="keyword">case</span> Node.ATTRIBUTE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">                write((Attribute) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">            <span class="keyword">case</span> Node.TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">                write(node.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">            <span class="keyword">case</span> Node.CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">                write((CDATA) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">            <span class="keyword">case</span> Node.ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">                write((Entity) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">            <span class="keyword">case</span> Node.PROCESSING_INSTRUCTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">                write((ProcessingInstruction) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: statement not executed.">            <span class="keyword">case</span> Node.COMMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">                write((Comment) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">            <span class="keyword">case</span> Node.DOCUMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">                write((Document) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">            <span class="keyword">case</span> Node.DOCUMENT_TYPE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: statement not executed.">                write((DocumentType) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 173: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 173: statement executed 39 times.">            <span class="keyword">case</span> Node.NAMESPACE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Will be output with attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// write((Namespace) node);</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 39 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> SAXException(<span class="string">"Invalid node type: "</span> + node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Generates SAX events for the given Document and all its content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Document to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if there is a SAX error processing the events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 193: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: method entered 20 times.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Document document) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: expression evaluated to true 20 times, false 0 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: expression evaluated to true 20 times, false 0 times.">        <span class="keyword">if</span> (document != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: statement executed 20 times.">            checkForNullHandlers();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 197: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 197: statement executed 20 times.">            documentLocator(document);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: statement executed 20 times.">            startDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 20 times.">            entityResolver(document);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 20 times.">            dtdHandler(document);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 20 times.">            writeContent(document, <span class="keyword">new</span> NamespaceStack());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 203: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 203: statement executed 20 times.">            endDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Generates SAX events for the given Element and all its content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Element to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if there is a SAX error processing the events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Element element) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">        write(element, <span class="keyword">new</span> NamespaceStack());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the opening tag of an {@link Element}, including its {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Attribute}s but without its content.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Element</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 232: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 232: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeOpen(Element element) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: statement not executed.">        startElement(element, <span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the closing tag of an {@link Element}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Element</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeClose(Element element) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: statement not executed.">        endElement(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Generates SAX events for the given text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text to send to the SAX ContentHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if there is a SAX error processing the events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 260: method entered 12162 times."> 12162</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 260: method entered 12162 times.">    <span class="keyword">public</span> <span class="keyword">void</span> write(String text) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 261: expression evaluated to true 12162 times, false 0 times."> 12162</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 261: expression evaluated to true 12162 times, false 0 times.">        <span class="keyword">if</span> (text != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 262: statement executed 12162 times."> 12162</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 262: statement executed 12162 times.">            <span class="keyword">char</span>[] chars = text.toCharArray();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 263: statement executed 12162 times."> 12162</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 263: statement executed 12162 times.">            contentHandler.characters(chars, 0, chars.length);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Generates SAX events for the given CDATA</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> cdata</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the CDATA to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if there is a SAX error processing the events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 276: method entered 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 276: method entered 30 times.">    <span class="keyword">public</span> <span class="keyword">void</span> write(CDATA cdata) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 277: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 277: statement executed 30 times.">        String text = cdata.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 279: expression evaluated to true 30 times, false 0 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: expression evaluated to true 30 times, false 0 times.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 280: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 280: statement executed 30 times.">            lexicalHandler.startCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 281: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 281: statement executed 30 times.">            write(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 282: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 282: statement executed 30 times.">            lexicalHandler.endCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 284: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 284: statement not executed.">            write(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Generates SAX events for the given Comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Comment to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if there is a SAX error processing the events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 297: method entered 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 297: method entered 71 times.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Comment comment) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 298: expression evaluated to true 71 times, false 0 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 298: expression evaluated to true 71 times, false 0 times.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 299: statement executed 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 299: statement executed 71 times.">            String text = comment.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 300: statement executed 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 300: statement executed 71 times.">            <span class="keyword">char</span>[] chars = text.toCharArray();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 301</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 301: statement executed 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 301: statement executed 71 times.">            lexicalHandler.comment(chars, 0, chars.length);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Generates SAX events for the given Entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Entity to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if there is a SAX error processing the events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 314: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 314: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Entity entity) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 315: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 315: statement not executed.">        String text = entity.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 317: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 317: statement not executed.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 318: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 318: statement not executed.">            String name = entity.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 319</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 319: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 319: statement not executed.">            lexicalHandler.startEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 320: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 320: statement not executed.">            write(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 321</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 321: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 321: statement not executed.">            lexicalHandler.endEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 323</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 323: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 323: statement not executed.">            write(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Generates SAX events for the given ProcessingInstruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pi</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the ProcessingInstruction to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if there is a SAX error processing the events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 336: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 336: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> write(ProcessingInstruction pi) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 337: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 337: statement executed 2 times.">        String target = pi.getTarget();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 338</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 338: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 338: statement executed 2 times.">        String text = pi.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 339: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 339: statement executed 2 times.">        contentHandler.processingInstruction(target, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Should namespace declarations be converted to "xmlns" attributes. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * property defaults to <code>false</code> as per the SAX specification.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This property is set via the SAX feature</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * "http://xml.org/sax/features/namespace-prefixes"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 350</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 350: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 350: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isDeclareNamespaceAttributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 351</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 351: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 351: statement not executed.">        <span class="keyword">return</span> declareNamespaceAttributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether namespace declarations should be exported as "xmlns"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * attributes or not. This property is set from the SAX feature</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * "http://xml.org/sax/features/namespace-prefixes"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> declareNamespaceAttrs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 362: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 362: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDeclareNamespaceAttributes(<span class="keyword">boolean</span> declareNamespaceAttrs) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 363</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 363: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 363: statement executed 8 times.">        <span class="keyword">this</span>.declareNamespaceAttributes = declareNamespaceAttrs;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// XMLReader methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>ContentHandler</code> called when SAX events are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         raised</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 375</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 375: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 375: method not entered.">    <span class="keyword">public</span> ContentHandler getContentHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 376</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 376: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 376: statement not executed.">        <span class="keyword">return</span> contentHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>ContentHandler</code> called when SAX events are raised</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contentHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ContentHandler</code> called when SAX events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            are raised</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 386: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 386: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setContentHandler(ContentHandler contentHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 387: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 387: statement executed 8 times.">        <span class="keyword">this</span>.contentHandler = contentHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>DTDHandler</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 395</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 395: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 395: method not entered.">    <span class="keyword">public</span> DTDHandler getDTDHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 396</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 396: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 396: statement not executed.">        <span class="keyword">return</span> dtdHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>DTDHandler</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 405</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 405: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 405: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDTDHandler(DTDHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 406</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 406: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 406: statement executed 8 times.">        <span class="keyword">this</span>.dtdHandler = handler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>ErrorHandler</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 414</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 414: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 414: method entered 1 time.">    <span class="keyword">public</span> ErrorHandler getErrorHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 415: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 415: statement executed 1 time.">        <span class="keyword">return</span> errorHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>ErrorHandler</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> errorHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 424</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 424: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 424: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setErrorHandler(ErrorHandler errorHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 425</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 425: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 425: statement executed 1 time.">        <span class="keyword">this</span>.errorHandler = errorHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>EntityResolver</code> used when a Document contains a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         DTD</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 434</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 434: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 434: method not entered.">    <span class="keyword">public</span> EntityResolver getEntityResolver() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 435</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 435: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 435: statement not executed.">        <span class="keyword">return</span> entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>EntityResolver</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entityResolver</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>EntityResolver</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 444</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 444: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 444: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setEntityResolver(EntityResolver entityResolver) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 445</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 445: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 445: statement not executed.">        <span class="keyword">this</span>.entityResolver = entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>LexicalHandler</code> used when a Document contains a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         DTD</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 454</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 454: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 454: method not entered.">    <span class="keyword">public</span> LexicalHandler getLexicalHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 455</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 455: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 455: statement not executed.">        <span class="keyword">return</span> lexicalHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>LexicalHandler</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> lexicalHandler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>LexicalHandler</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 464</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 464: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 464: method entered 15 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setLexicalHandler(LexicalHandler lexicalHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 465</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 465: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 465: statement executed 15 times.">        <span class="keyword">this</span>.lexicalHandler = lexicalHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>XMLReader</code> used to write SAX events to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xmlReader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>XMLReader</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 474</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 474: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 474: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLReader(XMLReader xmlReader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 475</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 475: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 475: statement not executed.">        setContentHandler(xmlReader.getContentHandler());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 476</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 476: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 476: statement not executed.">        setDTDHandler(xmlReader.getDTDHandler());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 477</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 477: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 477: statement not executed.">        setEntityResolver(xmlReader.getEntityResolver());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 478</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 478: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 478: statement not executed.">        setErrorHandler(xmlReader.getErrorHandler());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Looks up the value of a feature.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXNotRecognizedException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXNotSupportedException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 494</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 494: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 494: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> getFeature(String name) <span class="keyword">throws</span> SAXNotRecognizedException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            SAXNotSupportedException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 496</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 496: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 496: statement not executed.">        Boolean answer = (Boolean) features.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 498</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 498: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 498: statement not executed.">        <span class="keyword">return</span> (answer != <span class="keyword">null</span>) && answer.booleanValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This implementation does actually use any features but just stores them</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for later retrieval</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXNotRecognizedException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXNotSupportedException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 515</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 515: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 515: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setFeature(String name, <span class="keyword">boolean</span> value)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXNotRecognizedException, SAXNotSupportedException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 517</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 517: expression evaluated to true 8 times, false 0 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 517: expression evaluated to true 8 times, false 0 times.">        <span class="keyword">if</span> (FEATURE_NAMESPACE_PREFIXES.equals(name)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 518</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 518: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 518: statement executed 8 times.">            setDeclareNamespaceAttributes(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 519</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 519: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 519: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (FEATURE_NAMESPACE_PREFIXES.equals(name)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 520</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 520: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 520: statement not executed.">            <span class="keyword">if</span> (!value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 521</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 521: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 521: statement not executed.">                String msg = <span class="string">"Namespace feature is always supported in dom4j"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 522</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 522: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 522: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> SAXNotSupportedException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 526</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 526: expression evaluated to true 8 times, false 0 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 526: expression evaluated to true 8 times, false 0 times.">        features.put(name, (value) ? Boolean.TRUE : Boolean.FALSE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the given SAX property</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 537</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 537: method entered 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 537: method entered 29 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setProperty(String name, Object value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 538</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 538: statement executed 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 538: statement executed 29 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 539</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 539: statement executed 50 times."> 50</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 539: statement executed 50 times.">            <span class="keyword">if</span> (LEXICAL_HANDLER_NAMES[i].equals(name)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 540</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 540: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 540: statement executed 15 times.">                setLexicalHandler((LexicalHandler) value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 542</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 542: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 542: statement executed 15 times.">                <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 546</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 546: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 546: statement executed 14 times.">        properties.put(name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Gets the given SAX property</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXNotRecognizedException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXNotSupportedException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 562</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 562: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 562: method not entered.">    <span class="keyword">public</span> Object getProperty(String name) <span class="keyword">throws</span> SAXNotRecognizedException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            SAXNotSupportedException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 564</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 564: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 564: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 565</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 565: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 565: statement not executed.">            <span class="keyword">if</span> (LEXICAL_HANDLER_NAMES[i].equals(name)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 566</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 566: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 566: statement not executed.">                <span class="keyword">return</span> getLexicalHandler();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 570</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 570: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 570: statement not executed.">        <span class="keyword">return</span> properties.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is not supported.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXNotSupportedException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 582</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 582: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 582: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> parse(String systemId) <span class="keyword">throws</span> SAXNotSupportedException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 583</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 583: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 583: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> SAXNotSupportedException(<span class="string">"This XMLReader can only accept"</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">" <dom4j> InputSource objects"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses an XML document. This method can only accept DocumentInputSource</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * inputs otherwise a {@link SAXNotSupportedException}exception is thrown.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXNotSupportedException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the input source is not wrapping a dom4j document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 599</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 599: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 599: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> parse(InputSource input) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 600</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 600: expression evaluated to true 8 times, false 0 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 600: expression evaluated to true 8 times, false 0 times.">        <span class="keyword">if</span> (input <span class="keyword">instanceof</span> DocumentInputSource) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 601</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 601: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 601: statement executed 8 times.">            DocumentInputSource documentInput = (DocumentInputSource) input;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 602</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 602: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 602: statement executed 8 times.">            Document document = documentInput.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 603</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 603: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 603: statement executed 8 times.">            write(document);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 604</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 605</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 605: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 605: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> SAXNotSupportedException(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"This XMLReader can only accept "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">"<dom4j> InputSource objects"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 608</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 609</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 610</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 611</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 613</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 613: method entered 4973 times."> 4973</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 613: method entered 4973 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeContent(Branch branch, NamespaceStack namespaceStack)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 614</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 615</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 615: statement executed 4973 times."> 4973</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 615: statement executed 4973 times.">        <span class="keyword">for</span> (Iterator iter = branch.nodeIterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 616</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 616: statement executed 17227 times."> 17227</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 616: statement executed 17227 times.">            Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 617</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 618</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 618: statement executed 17227 times."> 17227</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 618: statement executed 17227 times.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 619</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 619: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 619: statement executed 4953 times.">                write((Element) object, namespaceStack);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 620</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 620: statement executed 12274 times."> 12274</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 620: statement executed 12274 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> CharacterData) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 621</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 621: statement executed 12233 times."> 12233</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 621: statement executed 12233 times.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 622</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 622: statement executed 12132 times."> 12132</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 622: statement executed 12132 times.">                    Text text = (Text) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 623</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 623: statement executed 12132 times."> 12132</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 623: statement executed 12132 times.">                    write(text.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 624</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 624: statement executed 101 times."> 101</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 624: statement executed 101 times.">                } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> CDATA) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 625</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 625: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 625: statement executed 30 times.">                    write((CDATA) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 626</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 626: expression evaluated to true 71 times, false 0 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 626: expression evaluated to true 71 times, false 0 times.">                } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 627</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 627: statement executed 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 627: statement executed 71 times.">                    write((Comment) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 628</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 629</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 629: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 629: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> SAXException(<span class="string">"Invalid Node in DOM4J content: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 630</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + object + <span class="string">" of type: "</span> + object.getClass());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 632</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 632: expression evaluated to true 0 times, false 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 632: expression evaluated to true 0 times, false 41 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> String) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 633</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 633: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 633: statement not executed.">                write((String) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 634</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 634: expression evaluated to true 0 times, false 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 634: expression evaluated to true 0 times, false 41 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Entity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 635</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 635: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 635: statement not executed.">                write((Entity) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 636</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 636: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 636: statement executed 41 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 637</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 637: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 637: statement executed 2 times.">                write((ProcessingInstruction) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 638</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 638: expression evaluated to true 39 times, false 0 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 638: expression evaluated to true 39 times, false 0 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 639</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 639: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 639: statement executed 39 times.">                write((Namespace) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 641</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 641: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 641: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> SAXException(<span class="string">"Invalid Node in DOM4J content: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 642</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + object);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 643</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 644</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 645</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 648</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The {@link org.xml.sax.Locator}is only really useful when parsing a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 649</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * textual document as its main purpose is to identify the line and column</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * number. Since we are processing an in memory tree which will probably</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * have its line number information removed, we'll just use -1 for the line</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 652</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * and column numbers.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 654</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 655</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 656</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 658</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 660</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 660: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 660: method entered 20 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> documentLocator(Document document) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 661</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 661: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 661: statement executed 20 times.">        LocatorImpl locator = <span class="keyword">new</span> LocatorImpl();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 663</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 663: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 663: statement executed 20 times.">        String publicID = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 664</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 664: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 664: statement executed 20 times.">        String systemID = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 665</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 665: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 665: statement executed 20 times.">        DocumentType docType = document.getDocType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 667</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 667: expression evaluated to true 0 times, false 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 667: expression evaluated to true 0 times, false 20 times.">        <span class="keyword">if</span> (docType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 668</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 668: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 668: statement not executed.">            publicID = docType.getPublicID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 669</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 669: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 669: statement not executed.">            systemID = docType.getSystemID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 672</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 672: expression evaluated to true 0 times, false 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 672: expression evaluated to true 0 times, false 20 times.">        <span class="keyword">if</span> (publicID != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 673</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 673: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 673: statement not executed.">            locator.setPublicId(publicID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 676</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 676: expression evaluated to true 0 times, false 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 676: expression evaluated to true 0 times, false 20 times.">        <span class="keyword">if</span> (systemID != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 677</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 677: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 677: statement not executed.">            locator.setSystemId(systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 679</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 680</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 680: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 680: statement executed 20 times.">        locator.setLineNumber(-1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 681</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 681: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 681: statement executed 20 times.">        locator.setColumnNumber(-1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 682</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 683</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 683: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 683: statement executed 20 times.">        contentHandler.setDocumentLocator(locator);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 685</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 686</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 686: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 686: method entered 20 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> entityResolver(Document document) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 687</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 687: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 687: statement executed 20 times.">        <span class="keyword">if</span> (entityResolver != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 688</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 688: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 688: statement executed 12 times.">            DocumentType docType = document.getDocType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 689</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 690</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 690: expression evaluated to true 0 times, false 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 690: expression evaluated to true 0 times, false 12 times.">            <span class="keyword">if</span> (docType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 691</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 691: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 691: statement not executed.">                String publicID = docType.getPublicID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 692</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 692: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 692: statement not executed.">                String systemID = docType.getSystemID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 693</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 694</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 694: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 694: statement not executed.">                <span class="keyword">if</span> ((publicID != <span class="keyword">null</span>) || (systemID != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 695</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 695: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 695: statement not executed.">                    <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 696</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 696: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 696: statement not executed.">                        entityResolver.resolveEntity(publicID, systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 697</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 698</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 698: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 698: statement not executed.">                        <span class="keyword">throw</span> <span class="keyword">new</span> SAXException(<span class="string">"Could not resolve publicID: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 699</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + publicID + <span class="string">" systemID: "</span> + systemID, e);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 700</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 701</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 702</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 703</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 704</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 705</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 706</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 707</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * We do not yet support DTD or XML Schemas so this method does nothing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 708</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * right now.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 709</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 710</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 711</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 712</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 713</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 714</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 715</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 716</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 716: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 716: method entered 20 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> dtdHandler(Document document) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 717</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 718</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 719</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 719: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 719: method entered 20 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> startDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 720</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 720: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 720: statement executed 20 times.">        contentHandler.startDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 721</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 722</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 723</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 723: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 723: method entered 20 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> endDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 724</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 724: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 724: statement executed 20 times.">        contentHandler.endDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 725</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 727</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 727: method entered 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 727: method entered 4953 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> write(Element element, NamespaceStack namespaceStack)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 728</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 729</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 729: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 729: statement executed 4953 times.">        <span class="keyword">int</span> stackSize = namespaceStack.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 730</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 730: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 730: statement executed 4953 times.">        AttributesImpl namespaceAttributes = startPrefixMapping(element,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 731</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                namespaceStack);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 732</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 732: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 732: statement executed 4953 times.">        startElement(element, namespaceAttributes);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 733</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 733: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 733: statement executed 4953 times.">        writeContent(element, namespaceStack);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 734</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 734: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 734: statement executed 4953 times.">        endElement(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 735</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 735: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 735: statement executed 4953 times.">        endPrefixMapping(namespaceStack, stackSize);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 736</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 737</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 738</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 739</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Fires a SAX startPrefixMapping event for all the namespaceStack which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 740</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * have just come into scope</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 741</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 742</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 743</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 744</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceStack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 745</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 746</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 747</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 748</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 749</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 750</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 751</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 752</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 752: method entered 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 752: method entered 4953 times.">    <span class="keyword">protected</span> AttributesImpl startPrefixMapping(Element element,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 753</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            NamespaceStack namespaceStack) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 754</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 754: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 754: statement executed 4953 times.">        AttributesImpl namespaceAttributes = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 755</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// start with the namespace of the element</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 757</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 757: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 757: statement executed 4953 times.">        Namespace elementNamespace = element.getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 758</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 759</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 759: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 759: statement executed 4953 times.">        <span class="keyword">if</span> ((elementNamespace != <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 760</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                && !isIgnoreableNamespace(elementNamespace, namespaceStack)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 761</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 761: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 761: statement executed 36 times.">            namespaceStack.push(elementNamespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 762</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 762: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 762: statement executed 36 times.">            contentHandler.startPrefixMapping(elementNamespace.getPrefix(),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 763</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    elementNamespace.getURI());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 764</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 764: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 764: statement executed 36 times.">            namespaceAttributes = addNamespaceAttribute(namespaceAttributes,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 765</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    elementNamespace);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 766</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 767</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 768</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 768: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 768: statement executed 4953 times.">        List declaredNamespaces = element.declaredNamespaces();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 769</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 770</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 770: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 770: statement executed 4953 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = declaredNamespaces.size(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 771</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 771: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 771: statement executed 39 times.">            Namespace namespace = (Namespace) declaredNamespaces.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 772</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 773</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 773: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 773: statement executed 39 times.">            <span class="keyword">if</span> (!isIgnoreableNamespace(namespace, namespaceStack)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 774</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 774: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 774: statement executed 3 times.">                namespaceStack.push(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 775</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 775: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 775: statement executed 3 times.">                contentHandler.startPrefixMapping(namespace.getPrefix(),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 776</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        namespace.getURI());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 777</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 777: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 777: statement executed 3 times.">                namespaceAttributes = addNamespaceAttribute(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 778</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        namespaceAttributes, namespace);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 779</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 780</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 781</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 782</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 782: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 782: statement executed 4953 times.">        <span class="keyword">return</span> namespaceAttributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 783</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 784</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 785</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 786</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Fires a SAX endPrefixMapping event for all the namespaceStack which have</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 787</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * gone out of scope</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 788</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 789</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 790</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 791</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> stackSize</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 792</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 793</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 794</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 795</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 796</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 797</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 797: method entered 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 797: method entered 4953 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> endPrefixMapping(NamespaceStack stack, <span class="keyword">int</span> stackSize)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 798</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 799</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 799: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 799: statement executed 4953 times.">        <span class="keyword">while</span> (stack.size() > stackSize) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 800</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 800: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 800: statement executed 39 times.">            Namespace namespace = stack.pop();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 801</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 802</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 802: expression evaluated to true 39 times, false 0 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 802: expression evaluated to true 39 times, false 0 times.">            <span class="keyword">if</span> (namespace != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 803</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 803: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 803: statement executed 39 times.">                contentHandler.endPrefixMapping(namespace.getPrefix());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 804</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 805</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 806</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 807</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 808</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 808: method entered 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 808: method entered 4953 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> startElement(Element element,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 809</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            AttributesImpl namespaceAttributes) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 810</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 810: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 810: statement executed 4953 times.">        contentHandler.startElement(element.getNamespaceURI(), element</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 811</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getName(), element.getQualifiedName(), createAttributes(</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 812</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                element, namespaceAttributes));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 813</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 814</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 815</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 815: method entered 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 815: method entered 4953 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> endElement(Element element) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 816</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 816: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 816: statement executed 4953 times.">        contentHandler.endElement(element.getNamespaceURI(), element.getName(),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 817</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                element.getQualifiedName());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 818</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 819</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 820</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 820: method entered 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 820: method entered 4953 times.">    <span class="keyword">protected</span> Attributes createAttributes(Element element,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 821</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Attributes namespaceAttributes) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 822</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 822: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 822: statement executed 4953 times.">        attributes.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 823</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 824</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 824: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 824: statement executed 4953 times.">        <span class="keyword">if</span> (namespaceAttributes != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 825</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 825: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 825: statement executed 12 times.">            attributes.setAttributes(namespaceAttributes);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 826</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 827</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 828</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 828: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 828: statement executed 4953 times.">        <span class="keyword">for</span> (Iterator iter = element.attributeIterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 829</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 829: statement executed 2609 times."> 2609</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 829: statement executed 2609 times.">            Attribute attribute = (Attribute) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 830</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 830: statement executed 2609 times."> 2609</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 830: statement executed 2609 times.">            attributes.addAttribute(attribute.getNamespaceURI(), attribute</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 831</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .getName(), attribute.getQualifiedName(), <span class="string">"CDATA"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 832</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    attribute.getValue());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 833</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 834</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 835</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 835: statement executed 4953 times."> 4953</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 835: statement executed 4953 times.">        <span class="keyword">return</span> attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 836</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 837</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 838</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 839</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If isDelcareNamespaceAttributes() is enabled then this method will add</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 840</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the given namespace declaration to the supplied attributes object,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 841</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * creating one if it does not exist.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 842</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 843</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attrs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 844</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 845</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 846</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 847</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 848</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 849</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 850</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 850: method entered 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 850: method entered 39 times.">    <span class="keyword">protected</span> AttributesImpl addNamespaceAttribute(AttributesImpl attrs,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 851</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Namespace namespace) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 852</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 852: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 852: statement executed 39 times.">        <span class="keyword">if</span> (declareNamespaceAttributes) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 853</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 853: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 853: statement executed 13 times.">            <span class="keyword">if</span> (attrs == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 854</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 854: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 854: statement executed 12 times.">                attrs = <span class="keyword">new</span> AttributesImpl();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 855</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 856</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 857</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 857: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 857: statement executed 13 times.">            String prefix = namespace.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 858</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 858: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 858: statement executed 13 times.">            String qualifiedName = <span class="string">"xmlns"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 859</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 860</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 860: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 860: statement executed 13 times.">            <span class="keyword">if</span> ((prefix != <span class="keyword">null</span>) && (prefix.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 861</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 861: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 861: statement executed 8 times.">                qualifiedName = <span class="string">"xmlns:"</span> + prefix;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 862</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 863</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 864</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 864: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 864: statement executed 13 times.">            String uri = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 865</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 865: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 865: statement executed 13 times.">            String localName = prefix;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 866</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 866: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 866: statement executed 13 times.">            String type = <span class="string">"CDATA"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 867</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 867: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 867: statement executed 13 times.">            String value = namespace.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 868</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 869</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 869: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 869: statement executed 13 times.">            attrs.addAttribute(uri, localName, qualifiedName, type, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 870</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 871</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 872</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 872: statement executed 39 times."> 39</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 872: statement executed 39 times.">        <span class="keyword">return</span> attrs;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 873</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 874</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 875</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 876</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 877</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 878</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 879</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 880</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceStack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 881</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 882</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 883</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the given namespace is an ignorable namespace (such as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 884</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         Namespace.NO_NAMESPACE or Namespace.XML_NAMESPACE) or if the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 885</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         namespace has already been declared in the current scope</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 886</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 887</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 887: method entered 4992 times."> 4992</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 887: method entered 4992 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> isIgnoreableNamespace(Namespace namespace,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 888</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            NamespaceStack namespaceStack) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 889</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 889: statement executed 4992 times."> 4992</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 889: statement executed 4992 times.">        <span class="keyword">if</span> (namespace.equals(Namespace.NO_NAMESPACE)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 890</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || namespace.equals(Namespace.XML_NAMESPACE)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 891</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 891: statement executed 4761 times."> 4761</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 891: statement executed 4761 times.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 892</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 893</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 894</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 894: statement executed 231 times."> 231</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 894: statement executed 231 times.">        String uri = namespace.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 895</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 896</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 896: expression evaluated to true 0 times, false 231 times."> 231</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 896: expression evaluated to true 0 times, false 231 times.">        <span class="keyword">if</span> ((uri == <span class="keyword">null</span>) || (uri.length() <= 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 897</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 897: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 897: statement not executed.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 898</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 899</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 900</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 900: statement executed 231 times."> 231</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 900: statement executed 231 times.">        <span class="keyword">return</span> namespaceStack.contains(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 901</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 902</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 903</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 904</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Ensures non-null content handlers?</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 905</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 906</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 906: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 906: method entered 20 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> checkForNullHandlers() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 907</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 908</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 909</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 910</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 911</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 912</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 913</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 914</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 915</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 916</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 917</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 918</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 919</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 920</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 921</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 922</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 923</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 924</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 925</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 926</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 927</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 928</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 929</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 930</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 931</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 932</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 933</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 934</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 935</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 936</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 937</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 938</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 939</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 940</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 941</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 942</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 943</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 944</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 945</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/STAXEventReader.html b/docs/clover/org/dom4j/io/STAXEventReader.html
new file mode 100644
index 0000000..b69671d
--- /dev/null
+++ b/docs/clover/org/dom4j/io/STAXEventReader.html
@@ -0,0 +1,2955 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ STAXEventReader.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="STAXEventReader.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">679</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">24</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">270</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   STAXEventReader.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">32,7%</TD>
+    <TD class="graphPercent" align="center">47,6%</TD>
+    <TD class="graphPercent" align="center">41,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>43,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="86" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="114" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Reader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.namespace.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.XMLEventReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.XMLInputFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.XMLStreamConstants;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.XMLStreamException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.Characters;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.EndElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.EntityReference;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.StartDocument;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.StartElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.XMLEvent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CharacterData;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Reads a DOM4J {@link Document}, as well as other {@link Node}s, from a StAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link XMLEventReader}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Christian Niles</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="STAXEventReader"> 43</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> STAXEventReader {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Reference to the DocumentFactory used to build DOM4J nodes. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory factory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A StAX input factory, used to construct streams from IO streams. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLInputFactory inputFactory = XMLInputFactory.newInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a default <code>STAXEventReader</code> instance with a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * default {@link DocumentFactory}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: method entered 1 time.">    <span class="keyword">public</span> STAXEventReader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 1 time.">        <span class="keyword">this</span>.factory = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a <code>STAXEventReader</code> instance that uses the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified {@link DocumentFactory}to construct DOM4J {@link Node}s.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> factory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The DocumentFactory to use when constructing DOM4J nodes, or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>null</code> if a default should be used.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: method not entered.">    <span class="keyword">public</span> STAXEventReader(DocumentFactory factory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        <span class="keyword">if</span> (factory != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">            <span class="keyword">this</span>.factory = factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">            <span class="keyword">this</span>.factory = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the DocumentFactory to be used when constructing DOM4J nodes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> documentFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The DocumentFactory to use when constructing DOM4J nodes, or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>null</code> if a default should be used.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">if</span> (documentFactory != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">            <span class="keyword">this</span>.factory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">            <span class="keyword">this</span>.factory = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a StAX event stream from the provided I/O stream and reads a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOM4J document from it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The I/O stream from which the Document will be read.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Document that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs reading content from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> Document readDocument(InputStream is) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">return</span> readDocument(is, <span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a StAX event stream from the provided I/O character stream and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * reads a DOM4J document from it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The character stream from which the Document will be read.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Document that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs reading content from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: method entered 1 time.">    <span class="keyword">public</span> Document readDocument(Reader reader) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 118: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: statement executed 1 time.">        <span class="keyword">return</span> readDocument(reader, <span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a StAX event stream from the provided I/O stream and reads a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOM4J document from it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The I/O stream from which the Document will be read.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            A system id used to resolve entities.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Document that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs reading content from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: method not entered.">    <span class="keyword">public</span> Document readDocument(InputStream is, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        XMLEventReader eventReader = inputFactory.createXMLEventReader(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                systemId, is);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">            <span class="keyword">return</span> readDocument(eventReader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">finally</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">            eventReader.close();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a StAX event stream from the provided I/O character stream and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * reads a DOM4J document from it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The character stream from which the Document will be read.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            A system id used to resolve entities.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Document that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs reading content from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: method entered 1 time.">    <span class="keyword">public</span> Document readDocument(Reader reader, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: statement executed 1 time.">        XMLEventReader eventReader = inputFactory.createXMLEventReader(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                systemId, reader);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 1 time.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: statement executed 1 time.">            <span class="keyword">return</span> readDocument(eventReader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">finally</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: statement executed 1 time.">            eventReader.close();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a {@link Node}from the event stream. If the next event is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link StartElement}, all events until the closing {@link EndElement}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * will be read, and the resulting nodes will be added to the returned</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link Element}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <strong>Pre-Conditions </strong>: The stream must be positioned before an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * event other than an <code>EndElement</code>,<code>EndDocument</code>,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or any DTD-related events, which are not currently supported.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The reader from which events will be read.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> A DOM4J {@link Node}constructed from the read events.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs reading from the stream, or the stream was</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             positioned before an unsupported event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 194: method entered 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 194: method entered 24 times.">    <span class="keyword">public</span> Node readNode(XMLEventReader reader) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: statement executed 24 times.">        XMLEvent event = reader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 197: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 197: statement executed 24 times.">        <span class="keyword">if</span> (event.isStartElement()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: statement executed 8 times.">            <span class="keyword">return</span> readElement(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: expression evaluated to true 16 times, false 0 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: expression evaluated to true 16 times, false 0 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (event.isCharacters()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 16 times.">            <span class="keyword">return</span> readCharacters(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 201: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 201: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (event.isStartDocument()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 202: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 202: statement not executed.">            <span class="keyword">return</span> readDocument(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 203: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 203: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (event.isProcessingInstruction()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 204: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 204: statement not executed.">            <span class="keyword">return</span> readProcessingInstruction(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 205: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 205: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (event.isEntityReference()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">            <span class="keyword">return</span> readEntityReference(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (event.isAttribute()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 208: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 208: statement not executed.">            <span class="keyword">return</span> readAttribute(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (event.isNamespace()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 210: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 210: statement not executed.">            <span class="keyword">return</span> readNamespace(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Unsupported event: "</span> + event);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a DOM4J {@link Document}from the provided stream. The stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * should be positioned at the start of a document, or before a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * StartElement} event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event stream from which to read the {@link Document}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The {@link Document}that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs reading events from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 229: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 229: method entered 1 time.">    <span class="keyword">public</span> Document readDocument(XMLEventReader reader)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 231: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 231: statement executed 1 time.">        Document doc = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 233: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 233: statement executed 1 time.">        <span class="keyword">while</span> (reader.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 234: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 234: statement executed 5 times.">            XMLEvent nextEvent = reader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 235: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 235: statement executed 5 times.">            <span class="keyword">int</span> type = nextEvent.getEventType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 237: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 237: statement executed 5 times.">            <span class="keyword">switch</span> (type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 238: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 238: statement executed 1 time.">                <span class="keyword">case</span> XMLStreamConstants.START_DOCUMENT:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 240: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 240: statement executed 1 time.">                    StartDocument event = (StartDocument) reader.nextEvent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 242: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 242: expression evaluated to true 1 time, false 0 times.">                    <span class="keyword">if</span> (doc == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// create document</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 244: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 244: expression evaluated to true 1 time, false 0 times.">                        <span class="keyword">if</span> (event.encodingSet()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 245: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 245: statement executed 1 time.">                            String encodingScheme = event</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    .getCharacterEncodingScheme();</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 247: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 247: statement executed 1 time.">                            doc = factory.createDocument(encodingScheme);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 249: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: statement not executed.">                            doc = factory.createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// duplicate or misplaced xml declaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 253: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 253: statement not executed.">                        String msg = <span class="string">"Unexpected StartDocument event"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 254: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 254: statement not executed.">                        <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(msg, event.getLocation());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 257: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 1 time.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 259: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 259: statement executed 1 time.">                <span class="keyword">case</span> XMLStreamConstants.END_DOCUMENT:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: statement not executed.">                <span class="keyword">case</span> XMLStreamConstants.SPACE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 261: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 261: statement executed 2 times.">                <span class="keyword">case</span> XMLStreamConstants.CHARACTERS:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// skip end document and space outside the root element</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 264: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 264: statement executed 3 times.">                    reader.nextEvent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 266: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 266: statement executed 3 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 268: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 268: statement executed 1 time.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 270: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 270: expression evaluated to true 0 times, false 1 time.">                    <span class="keyword">if</span> (doc == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// create document</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 272: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 272: statement not executed.">                        doc = factory.createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 275: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 275: statement executed 1 time.">                    Node n = readNode(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 276: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 276: statement executed 1 time.">                    doc.add(n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 280: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 280: statement executed 1 time.">        <span class="keyword">return</span> doc;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a DOM4J Element from the provided event stream. The stream must be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * positioned before an {@link StartElement}event. In addition to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * initial start event, all events up to and including the closing {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * EndElement} will be read, and included with the returned element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> eventReader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event stream from which to read the Element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Element that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occured reading events from the stream, or the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             stream was not positioned before a {@linkStartElement}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 298: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 298: method entered 8 times.">    <span class="keyword">public</span> Element readElement(XMLEventReader eventReader)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 300: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 300: statement executed 8 times.">        XMLEvent event = eventReader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 302: expression evaluated to true 8 times, false 0 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 302: expression evaluated to true 8 times, false 0 times.">        <span class="keyword">if</span> (event.isStartElement()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// advance the reader and get the StartElement event</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 304</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 304: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 304: statement executed 8 times.">            StartElement startTag = eventReader.nextEvent().asStartElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 305: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 305: statement executed 8 times.">            Element elem = createElement(startTag);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// read element content</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 308</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 308: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 308: statement executed 8 times.">            <span class="keyword">while</span> (<span class="keyword">true</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 309</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 309: expression evaluated to true 0 times, false 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 309: expression evaluated to true 0 times, false 31 times.">                <span class="keyword">if</span> (!eventReader.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 310: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 310: statement not executed.">                    String msg = <span class="string">"Unexpected end of stream while reading"</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">" element content"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 312: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 312: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 315: statement executed 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 315: statement executed 31 times.">                XMLEvent nextEvent = eventReader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 317: statement executed 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 317: statement executed 31 times.">                <span class="keyword">if</span> (nextEvent.isEndElement()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 318: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 318: statement executed 8 times.">                    EndElement endElem = eventReader.nextEvent().asEndElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 320: expression evaluated to true 0 times, false 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 320: expression evaluated to true 0 times, false 8 times.">                    <span class="keyword">if</span> (!endElem.getName().equals(startTag.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 321</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 321: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 321: statement not executed.">                        <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Expected "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + startTag.getName() + <span class="string">" end-tag, but found"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + endElem.getName());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 326</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 326: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 326: statement executed 8 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 329</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 329: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 329: statement executed 23 times.">                Node child = readNode(eventReader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 330</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 330: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 330: statement executed 23 times.">                elem.add(child);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 333</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 333: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 333: statement executed 8 times.">            <span class="keyword">return</span> elem;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 335</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 335: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 335: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Expected Element event, found: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + event);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a DOM4J Attribute from the provided event stream. The stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * must be positioned before an {@link Attribute}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event stream from which to read the Attribute.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Attribute that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occured reading events from the stream, or the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             stream was not positioned before an {@linkAttribute}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 353: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 353: method not entered.">    <span class="keyword">public</span> org.dom4j.Attribute readAttribute(XMLEventReader reader)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 355</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 355: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 355: statement not executed.">        XMLEvent event = reader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 357</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 357: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 357: statement not executed.">        <span class="keyword">if</span> (event.isAttribute()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 358</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 358: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 358: statement not executed.">            Attribute attr = (Attribute) reader.nextEvent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 360: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 360: statement not executed.">            <span class="keyword">return</span> createAttribute(<span class="keyword">null</span>, attr);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 362: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 362: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Expected Attribute event, found: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + event);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a DOM4J Namespace from the provided event stream. The stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * must be positioned before a {@link Namespace}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event stream from which to read the Namespace.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Namespace that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occured reading events from the stream, or the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             stream was not positioned before a {@linkNamespace}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 380</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 380: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 380: method not entered.">    <span class="keyword">public</span> org.dom4j.Namespace readNamespace(XMLEventReader reader)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 382</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 382: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 382: statement not executed.">        XMLEvent event = reader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 384</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 384: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 384: statement not executed.">        <span class="keyword">if</span> (event.isNamespace()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 385</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 385: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 385: statement not executed.">            Namespace ns = (Namespace) reader.nextEvent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 387: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 387: statement not executed.">            <span class="keyword">return</span> createNamespace(ns);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 389</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 389: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 389: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Expected Namespace event, found: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + event);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a DOM4J Text or CDATA section from the provided event stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The stream must be positioned before a {@link Characters}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event stream from which to read the Text or CDATA.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Text or CDATA that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occured reading events from the stream, or the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             stream was not positioned before a {@linkCharacters}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 407</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 407: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 407: method entered 16 times.">    <span class="keyword">public</span> CharacterData readCharacters(XMLEventReader reader)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 409</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 409: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 409: statement executed 16 times.">        XMLEvent event = reader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 411</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 411: expression evaluated to true 16 times, false 0 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 411: expression evaluated to true 16 times, false 0 times.">        <span class="keyword">if</span> (event.isCharacters()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 412: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 412: statement executed 16 times.">            Characters characters = reader.nextEvent().asCharacters();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 414</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 414: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 414: statement executed 16 times.">            <span class="keyword">return</span> createCharacterData(characters);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 416: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 416: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Expected Characters event, found: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + event);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a DOM4J Comment from the provided event stream. The stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * must be positioned before a {@link Comment}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event stream from which to read the Comment.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Comment that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occured reading events from the stream, or the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             stream was not positioned before a {@linkComment}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 434</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 434: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 434: method not entered.">    <span class="keyword">public</span> org.dom4j.Comment readComment(XMLEventReader reader)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 436</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 436: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 436: statement not executed.">        XMLEvent event = reader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 438</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 438: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 438: statement not executed.">        <span class="keyword">if</span> (event <span class="keyword">instanceof</span> Comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 439: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 439: statement not executed.">            <span class="keyword">return</span> createComment((Comment) reader.nextEvent());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 441</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 441: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 441: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Expected Comment event, found: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + event);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a DOM4J Entity from the provided event stream. The stream must</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * be positioned before an {@link EntityReference}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event stream from which to read the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            EntityReference}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The {@link org.dom4j.Entity}that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occured reading events from the stream, or the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             stream was not positioned before an {@linkEntityReference}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 461</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 461: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 461: method not entered.">    <span class="keyword">public</span> Entity readEntityReference(XMLEventReader reader)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 463</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 463: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 463: statement not executed.">        XMLEvent event = reader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 465</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 465: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 465: statement not executed.">        <span class="keyword">if</span> (event.isEntityReference()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 466</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 466: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 466: statement not executed.">            EntityReference entityRef = (EntityReference) reader.nextEvent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 468</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 468: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 468: statement not executed.">            <span class="keyword">return</span> createEntity(entityRef);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 470</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 470: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 470: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Expected EntityRef event, found: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + event);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a DOM4J ProcessingInstruction from the provided event stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The stream must be positioned before a {@link ProcessingInstruction}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event stream from which to read the ProcessingInstruction.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The ProcessingInstruction that was read from the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occured reading events from the stream, or the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             stream was not positioned before a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             ProcessingInstruction} event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 490</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 490: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 490: method not entered.">    <span class="keyword">public</span> org.dom4j.ProcessingInstruction readProcessingInstruction(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XMLEventReader reader) <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 492</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 492: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 492: statement not executed.">        XMLEvent event = reader.peek();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 494</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 494: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 494: statement not executed.">        <span class="keyword">if</span> (event.isProcessingInstruction()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 495</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 495: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 495: statement not executed.">            ProcessingInstruction pi = (ProcessingInstruction) reader</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .nextEvent();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 498</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 498: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 498: statement not executed.">            <span class="keyword">return</span> createProcessingInstruction(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 500</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 500: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 500: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Expected PI event, found: "</span> + event);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new DOM4J Element from the provided StartElement event. All</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * attributes and namespaces will be added to the returned element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> startEvent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The StartElement event from which to construct the new DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            Element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Element constructed from the provided StartElement event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 514</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 514: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 514: method entered 8 times.">    <span class="keyword">public</span> Element createElement(StartElement startEvent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 515</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 515: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 515: statement executed 8 times.">        QName qname = startEvent.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 516</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 516: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 516: statement executed 8 times.">        org.dom4j.QName elemName = createQName(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 518</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 518: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 518: statement executed 8 times.">        Element elem = factory.createElement(elemName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// create attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 521</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 521: expression evaluated to true 0 times, false 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 521: expression evaluated to true 0 times, false 8 times.">        <span class="keyword">for</span> (Iterator i = startEvent.getAttributes(); i.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 522</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 522: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 522: statement not executed.">            Attribute attr = (Attribute) i.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 523</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 523: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 523: statement not executed.">            elem.addAttribute(createQName(attr.getName()), attr.getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// create namespaces</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 527</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 527: expression evaluated to true 0 times, false 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 527: expression evaluated to true 0 times, false 8 times.">        <span class="keyword">for</span> (Iterator i = startEvent.getNamespaces(); i.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 528</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 528: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 528: statement not executed.">            Namespace ns = (Namespace) i.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 529</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 529: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 529: statement not executed.">            elem.addNamespace(ns.getPrefix(), ns.getNamespaceURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 532</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 532: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 532: statement executed 8 times.">        <span class="keyword">return</span> elem;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new DOM4J Attribute from the provided StAX Attribute event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elem</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attr</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The Attribute event from which to construct the new DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            Attribute.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Attribute constructed from the provided Attribute event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 546</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 546: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 546: method not entered.">    <span class="keyword">public</span> org.dom4j.Attribute createAttribute(Element elem, Attribute attr) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 547</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 547: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 547: statement not executed.">        <span class="keyword">return</span> factory.createAttribute(elem, createQName(attr.getName()), attr</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getValue());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new DOM4J Namespace from the provided StAX Namespace event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> ns</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The Namespace event from which to construct the new DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            Namespace.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Namespace constructed from the provided Namespace event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 560</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 560: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 560: method not entered.">    <span class="keyword">public</span> org.dom4j.Namespace createNamespace(Namespace ns) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 561</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 561: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 561: statement not executed.">        <span class="keyword">return</span> factory.createNamespace(ns.getPrefix(), ns.getNamespaceURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new DOM4J Text or CDATA object from the provided Characters</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> characters</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The Characters event from which to construct the new DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            Text or CDATA object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Text or CDATA object constructed from the provided Characters</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 575</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 575: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 575: method entered 16 times.">    <span class="keyword">public</span> CharacterData createCharacterData(Characters characters) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 576</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 576: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 576: statement executed 16 times.">        String data = characters.getData();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 578</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 578: expression evaluated to true 0 times, false 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 578: expression evaluated to true 0 times, false 16 times.">        <span class="keyword">if</span> (characters.isCData()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 579</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 579: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 579: statement not executed.">            <span class="keyword">return</span> factory.createCDATA(data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 581</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 581: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 581: statement executed 16 times.">            <span class="keyword">return</span> factory.createText(data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new DOM4J Comment from the provided StAX Comment event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The Comment event from which to construct the new DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            Comment.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Comment constructed from the provided Comment event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 594</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 594: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 594: method not entered.">    <span class="keyword">public</span> org.dom4j.Comment createComment(Comment comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 595</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 595: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 595: statement not executed.">        <span class="keyword">return</span> factory.createComment(comment.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new DOM4J Entity from the provided StAX EntityReference</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 600</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entityRef</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 603</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The EntityReference event from which to construct the new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 604</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOM4J Entity.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The Entity constructed from the provided EntityReference event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 608</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 608: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 608: method not entered.">    <span class="keyword">public</span> org.dom4j.Entity createEntity(EntityReference entityRef) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 609</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 609: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 609: statement not executed.">        <span class="keyword">return</span> factory.createEntity(entityRef.getName(), entityRef</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 610</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getDeclaration().getReplacementText());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 611</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 613</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 614</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new DOM4J ProcessingInstruction from the provided StAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ProcessingInstruction event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 616</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 617</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pi</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The ProcessingInstruction event from which to construct the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            new DOM4J ProcessingInstruction.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 620</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 621</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The ProcessingInstruction constructed from the provided</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 622</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         ProcessingInstruction event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 624</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 624: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 624: method not entered.">    <span class="keyword">public</span> org.dom4j.ProcessingInstruction createProcessingInstruction(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 625</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            ProcessingInstruction pi) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 626</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 626: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 626: statement not executed.">        <span class="keyword">return</span> factory</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 627</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .createProcessingInstruction(pi.getTarget(), pi.getData());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 628</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 629</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 630</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new DOM4J QName from the provided JAXP QName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 633</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 634</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The JAXP QName from which to create a DOM4J QName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The newly constructed DOM4J QName.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 637</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 638</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 638: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 638: method entered 8 times.">    <span class="keyword">public</span> org.dom4j.QName createQName(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 639</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 639: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 639: statement executed 8 times.">        <span class="keyword">return</span> factory.createQName(qname.getLocalPart(), qname.getPrefix(),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                qname.getNamespaceURI());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 642</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 643</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 644</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 645</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 648</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 649</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 652</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 654</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 655</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 656</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 658</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 660</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 661</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 663</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 664</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 665</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 667</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 668</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 669</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 672</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 673</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 676</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 677</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 679</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/STAXEventWriter.html b/docs/clover/org/dom4j/io/STAXEventWriter.html
new file mode 100644
index 0000000..d1b38f2
--- /dev/null
+++ b/docs/clover/org/dom4j/io/STAXEventWriter.html
@@ -0,0 +1,2974 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ STAXEventWriter.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="STAXEventWriter.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">685</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">42</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">242</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">3</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   STAXEventWriter.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">34%</TD>
+    <TD class="graphPercent" align="center">38,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>36,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="72" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="128" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.File;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.OutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.namespace.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.XMLEventFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.XMLOutputFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.XMLStreamException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.Characters;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.DTD;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.EndDocument;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.EndElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.EntityReference;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.StartDocument;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.events.StartElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.stream.util.XMLEventConsumer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Writes DOM4J {@link Node}s to a StAX event stream. In addition the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>createXXX</code> methods are provided to directly create STAX events</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from DOM4J nodes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Christian Niles</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="STAXEventWriter"> 51</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> STAXEventWriter {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The event stream to which events are written. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLEventConsumer consumer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The event factory used to construct events. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLEventFactory factory = XMLEventFactory.newInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: method not entered.">    <span class="keyword">public</span> STAXEventWriter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a <code>STAXEventWriter</code> that writes events to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * provided file.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> file</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The file to which events will be written.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs creating an event writer from the file.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs openin the file for writing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: method not entered.">    <span class="keyword">public</span> STAXEventWriter(File file) <span class="keyword">throws</span> XMLStreamException, IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">        consumer = outputFactory.createXMLEventWriter(<span class="keyword">new</span> FileWriter(file));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a <code>STAXEventWriter</code> that writes events to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * provided character stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> writer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The character stream to which events will be written.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs constructing an event writer from the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             character stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: method entered 1 time.">    <span class="keyword">public</span> STAXEventWriter(Writer writer) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: statement executed 1 time.">        consumer = outputFactory.createXMLEventWriter(writer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a <code>STAXEventWriter</code> that writes events to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * provided stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The output stream to which events will be written.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs constructing an event writer from the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> STAXEventWriter(OutputStream stream) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        consumer = outputFactory.createXMLEventWriter(stream);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a <code>STAXEventWriter</code> that writes events to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * provided event stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> consumer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event stream to which events will be written.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: method not entered.">    <span class="keyword">public</span> STAXEventWriter(XMLEventConsumer consumer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: statement not executed.">        <span class="keyword">this</span>.consumer = consumer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a reference to the underlying event consumer to which events are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * written.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The underlying event consumer to which events are written.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: method not entered.">    <span class="keyword">public</span> XMLEventConsumer getConsumer() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        <span class="keyword">return</span> consumer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the underlying event consumer to which events are written.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> consumer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The event consumer to which events should be written.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setConsumer(XMLEventConsumer consumer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">this</span>.consumer = consumer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a reference to the event factory used to construct STAX events.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The event factory used to construct STAX events.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: method not entered.">    <span class="keyword">public</span> XMLEventFactory getEventFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">        <span class="keyword">return</span> factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the event factory used to construct STAX events.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> eventFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The new event factory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setEventFactory(XMLEventFactory eventFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">        <span class="keyword">this</span>.factory = eventFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link Node}to the stream. This method is simply a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * gateway to the overloaded methods such as {@link#writeElement(Element)}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> n</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The DOM4J {@link Node}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: method entered 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: method entered 24 times.">    <span class="keyword">public</span> <span class="keyword">void</span> writeNode(Node n) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 170: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 170: statement executed 24 times.">        <span class="keyword">switch</span> (n.getNodeType()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 8 times.">            <span class="keyword">case</span> Node.ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 172: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 172: statement executed 8 times.">                writeElement((Element) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 174: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 174: statement executed 8 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: statement executed 16 times.">            <span class="keyword">case</span> Node.TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 16 times.">                writeText((Text) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 16 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">            <span class="keyword">case</span> Node.ATTRIBUTE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 182: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 182: statement not executed.">                writeAttribute((Attribute) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 184: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 184: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 186: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 186: statement not executed.">            <span class="keyword">case</span> Node.NAMESPACE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 187: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 187: statement not executed.">                writeNamespace((Namespace) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 191: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 191: statement not executed.">            <span class="keyword">case</span> Node.COMMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: statement not executed.">                writeComment((Comment) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">            <span class="keyword">case</span> Node.CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">                writeCDATA((CDATA) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 201: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 201: statement not executed.">            <span class="keyword">case</span> Node.PROCESSING_INSTRUCTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 202: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 202: statement not executed.">                writeProcessingInstruction((org.dom4j.ProcessingInstruction) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 204: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 204: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">            <span class="keyword">case</span> Node.ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">                writeEntity((Entity) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">            <span class="keyword">case</span> Node.DOCUMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: statement not executed.">                writeDocument((Document) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">            <span class="keyword">case</span> Node.DOCUMENT_TYPE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">                writeDocumentType((DocumentType) n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 219: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 219: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 221: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 221: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 222: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 222: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> XMLStreamException(<span class="string">"Unsupported DOM4J Node: "</span> + n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes each child node within the provided {@link Branch}instance. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * method simply iterates through the {@link Branch}'s nodes and calls</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link #writeNode(Node)}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> branch</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The node whose children will be written to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 237: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 237: method entered 9 times.">    <span class="keyword">public</span> <span class="keyword">void</span> writeChildNodes(Branch branch) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 238: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 238: statement executed 9 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, s = branch.nodeCount(); i < s; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 239: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 239: statement executed 24 times.">            Node n = branch.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 240: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 240: statement executed 24 times.">            writeNode(n);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link Element}node and its children to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elem</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Element}node to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 253: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 253: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> writeElement(Element elem) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 254: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: statement executed 8 times.">        consumer.add(createStartElement(elem));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 255: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: statement executed 8 times.">        writeChildNodes(elem);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 256: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 256: statement executed 8 times.">        consumer.add(createEndElement(elem));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link StartElement}event from a DOM4J {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Element}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elem</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Element}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The newly constructed {@link StartElement}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 268: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 268: method entered 8 times.">    <span class="keyword">public</span> StartElement createStartElement(Element elem) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// create name</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: statement executed 8 times.">        QName tagName = createQName(elem.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// create attribute & namespace iterators</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 273: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 273: statement executed 8 times.">        Iterator attrIter = <span class="keyword">new</span> AttributeIterator(elem.attributeIterator());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 274: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 274: statement executed 8 times.">        Iterator nsIter = <span class="keyword">new</span> NamespaceIterator(elem.declaredNamespaces()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .iterator());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// create start event</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 278: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 278: statement executed 8 times.">        <span class="keyword">return</span> factory.createStartElement(tagName, attrIter, nsIter);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link EndElement}event from a DOM4J {@link Element}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elem</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Element}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The newly constructed {@link EndElement}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 289</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 289: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 289: method entered 8 times.">    <span class="keyword">public</span> EndElement createEndElement(Element elem) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 290</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 290: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 290: statement executed 8 times.">        QName tagName = createQName(elem.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 291: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 291: statement executed 8 times.">        Iterator nsIter = <span class="keyword">new</span> NamespaceIterator(elem.declaredNamespaces()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .iterator());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 294</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 294: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 294: statement executed 8 times.">        <span class="keyword">return</span> factory.createEndElement(tagName, nsIter);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link Attribute}to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attr</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Attribute}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 306</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 306: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 306: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeAttribute(Attribute attr) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 307</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 307: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 307: statement not executed.">        consumer.add(createAttribute(attr));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link javax.xml.stream.events.Attribute}event from a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOM4J {@link Attribute}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attr</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Attribute}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The newly constructed {@link javax.xml.stream.events.Attribute}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 320: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 320: method not entered.">    <span class="keyword">public</span> javax.xml.stream.events.Attribute createAttribute(Attribute attr) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 321</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 321: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 321: statement not executed.">        QName attrName = createQName(attr.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 322</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 322: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 322: statement not executed.">        String value = attr.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 324</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 324: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 324: statement not executed.">        <span class="keyword">return</span> factory.createAttribute(attrName, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link Namespace}to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> ns</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Namespace}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 336: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 336: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeNamespace(Namespace ns) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 337: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 337: statement not executed.">        consumer.add(createNamespace(ns));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link javax.xml.stream.events.Namespace}event from a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOM4J {@link Namespace}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> ns</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Namespace}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The constructed {@link javax.xml.stream.events.Namespace}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 349</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 349: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 349: method not entered.">    <span class="keyword">public</span> javax.xml.stream.events.Namespace createNamespace(Namespace ns) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 350</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 350: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 350: statement not executed.">        String prefix = ns.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 351</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 351: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 351: statement not executed.">        String uri = ns.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 353: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 353: statement not executed.">        <span class="keyword">return</span> factory.createNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link Text}to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Text}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 365: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 365: method entered 16 times.">    <span class="keyword">public</span> <span class="keyword">void</span> writeText(Text text) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 366: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 366: statement executed 16 times.">        consumer.add(createCharacters(text));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link Characters}event from a DOM4J {@link Text}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Text}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The constructed {@link Characters}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 377</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 377: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 377: method entered 16 times.">    <span class="keyword">public</span> Characters createCharacters(Text text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 378</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 378: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 378: statement executed 16 times.">        <span class="keyword">return</span> factory.createCharacters(text.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link CDATA}to the event stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> cdata</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link CDATA}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 390</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 390: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 390: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeCDATA(CDATA cdata) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 391</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 391: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 391: statement not executed.">        consumer.add(createCharacters(cdata));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link Characters}event from a DOM4J {@link CDATA}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> cdata</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link CDATA}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The newly constructed {@link Characters}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 402</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 402: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 402: method not entered.">    <span class="keyword">public</span> Characters createCharacters(CDATA cdata) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 403</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 403: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 403: statement not executed.">        <span class="keyword">return</span> factory.createCData(cdata.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link Comment}to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Comment}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 415: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 415: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeComment(Comment comment) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 416: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 416: statement not executed.">        consumer.add(createComment(comment));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link javax.xml.stream.events.Comment}event from a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOM4J {@link Comment}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Comment}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The constructed {@link javax.xml.stream.events.Comment}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 428</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 428: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 428: method not entered.">    <span class="keyword">public</span> javax.xml.stream.events.Comment createComment(Comment comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 429</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 429: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 429: statement not executed.">        <span class="keyword">return</span> factory.createComment(comment.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link ProcessingInstruction}to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pi</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link ProcessingInstruction}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 441</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 441: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 441: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeProcessingInstruction(org.dom4j.ProcessingInstruction pi)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 443</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 443: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 443: statement not executed.">        consumer.add(createProcessingInstruction(pi));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link javax.xml.stream.events.ProcessingInstruction}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * event from a DOM4J {@link ProcessingInstruction}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pi</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link ProcessingInstruction}from which to construct the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The constructed {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         javax.xml.stream.events.ProcessingInstruction} event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 457</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 457: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 457: method not entered.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            org.dom4j.ProcessingInstruction pi) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 459</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 459: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 459: statement not executed.">        String target = pi.getTarget();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 460</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 460: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 460: statement not executed.">        String data = pi.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 462</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 462: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 462: statement not executed.">        <span class="keyword">return</span> factory.createProcessingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link Entity}to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Entity}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 474</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 474: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 474: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeEntity(Entity entity) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 475</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 475: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 475: statement not executed.">        consumer.add(createEntityReference(entity));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link EntityReference}event from a DOM4J {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Entity}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Entity}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The constructed {@link EntityReference}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 487</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 487: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 487: method not entered.">    <span class="keyword">private</span> EntityReference createEntityReference(Entity entity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 488</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 488: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 488: statement not executed.">        <span class="keyword">return</span> factory.createEntityReference(entity.getName(), <span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link DocumentType}to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> docType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link DocumentType}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 500</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 500: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 500: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeDocumentType(DocumentType docType)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XMLStreamException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 502</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 502: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 502: statement not executed.">        consumer.add(createDTD(docType));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link DTD}event from a DOM4J {@link DocumentType}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> docType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link DocumentType}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The constructed {@link DTD}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> RuntimeException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 516</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 516: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 516: method not entered.">    <span class="keyword">public</span> DTD createDTD(DocumentType docType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 517</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 517: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 517: statement not executed.">        StringWriter decl = <span class="keyword">new</span> StringWriter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 519</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 519: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 519: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 520</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 520: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 520: statement not executed.">            docType.write(decl);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 522</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 522: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 522: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(<span class="string">"Error writing DTD"</span>, e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 525</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 525: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 525: statement not executed.">        <span class="keyword">return</span> factory.createDTD(decl.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes a DOM4J {@link Document}node, and all its contents, to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> doc</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Document}to write to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XMLStreamException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             If an error occurs writing to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 538</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 538: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 538: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> writeDocument(Document doc) <span class="keyword">throws</span> XMLStreamException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 539</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 539: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 539: statement executed 1 time.">        consumer.add(createStartDocument(doc));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 541</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 541: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 541: statement executed 1 time.">        writeChildNodes(doc);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 543</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 543: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 543: statement executed 1 time.">        consumer.add(createEndDocument(doc));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 545</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 546</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link StartDocument}event from a DOM4J {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Document}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> doc</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Document}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The constructed {@link StartDocument}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 555</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 555: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 555: method entered 1 time.">    <span class="keyword">public</span> StartDocument createStartDocument(Document doc) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 556</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 556: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 556: statement executed 1 time.">        String encoding = doc.getXMLEncoding();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 558</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 558: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 558: expression evaluated to true 1 time, false 0 times.">        <span class="keyword">if</span> (encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 559</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 559: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 559: statement executed 1 time.">            <span class="keyword">return</span> factory.createStartDocument(encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 561</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 561: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 561: statement not executed.">            <span class="keyword">return</span> factory.createStartDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link EndDocument}event from a DOM4J {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Document}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> doc</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link Document}from which to construct the event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The constructed {@link EndDocument}event.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 574</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 574: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 574: method entered 1 time.">    <span class="keyword">public</span> EndDocument createEndDocument(Document doc) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 575</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 575: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 575: statement executed 1 time.">        <span class="keyword">return</span> factory.createEndDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a STAX {@link QName}from a DOM4J {@link org.dom4j.QName}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The {@link org.dom4j.QName}from which to construct the STAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            {@link QName}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The constructed {@link QName}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 587</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 587: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 587: method entered 16 times.">    <span class="keyword">public</span> QName createQName(org.dom4j.QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 588</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 588: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 588: statement executed 16 times.">        <span class="keyword">return</span> <span class="keyword">new</span> QName(qname.getNamespaceURI(), qname.getName(), qname</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getNamespacePrefix());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Internal {@link Iterator}implementation used to pass DOM4J {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Attribute}s to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AttributeIterator"> 596</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> AttributeIterator <span class="keyword">implements</span> Iterator {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/** The underlying DOm4J attribute iterator. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> Iterator iter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 600</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 600: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 600: method entered 8 times.">        <span class="keyword">public</span> AttributeIterator(Iterator iter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 601</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 601: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 601: statement executed 8 times.">            <span class="keyword">this</span>.iter = iter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 603</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 604</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 604: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 604: method entered 8 times.">        <span class="keyword">public</span> <span class="keyword">boolean</span> hasNext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 605</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 605: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 605: statement executed 8 times.">            <span class="keyword">return</span> iter.hasNext();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 608</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 608: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 608: method not entered.">        <span class="keyword">public</span> Object next() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 609</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 609: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 609: statement not executed.">            Attribute attr = (Attribute) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 610</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 610: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 610: statement not executed.">            QName attrName = createQName(attr.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 611</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 611: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 611: statement not executed.">            String value = attr.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 613</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 613: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 613: statement not executed.">            <span class="keyword">return</span> factory.createAttribute(attrName, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 614</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 616</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 616: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 616: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> remove() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 617</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 617: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 617: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 620</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 621</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 622</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Internal {@link Iterator}implementation used to pass DOM4J {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Namespace}s to the stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 624</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NamespaceIterator"> 625</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> NamespaceIterator <span class="keyword">implements</span> Iterator {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 626</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> Iterator iter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 627</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 628</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 628: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 628: method entered 16 times.">        <span class="keyword">public</span> NamespaceIterator(Iterator iter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 629</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 629: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 629: statement executed 16 times.">            <span class="keyword">this</span>.iter = iter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 630</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 632</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 632: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 632: method entered 16 times.">        <span class="keyword">public</span> <span class="keyword">boolean</span> hasNext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 633</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 633: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 633: statement executed 16 times.">            <span class="keyword">return</span> iter.hasNext();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 634</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 636</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 636: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 636: method not entered.">        <span class="keyword">public</span> Object next() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 637</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 637: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 637: statement not executed.">            Namespace ns = (Namespace) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 638</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 638: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 638: statement not executed.">            String prefix = ns.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 639</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 639: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 639: statement not executed.">            String nsURI = ns.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 641</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 641: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 641: statement not executed.">            <span class="keyword">return</span> factory.createNamespace(prefix, nsURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 642</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 643</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 644</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 644: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 644: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> remove() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 645</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 645: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 645: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 648</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 649</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 652</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 654</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 655</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 656</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 658</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 660</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 661</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 663</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 664</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 665</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 667</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 668</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 669</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 672</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 673</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 676</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 677</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 679</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 680</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 681</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 682</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 683</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 685</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/XMLResult.html b/docs/clover/org/dom4j/io/XMLResult.html
new file mode 100644
index 0000000..9891cd1
--- /dev/null
+++ b/docs/clover/org/dom4j/io/XMLResult.html
@@ -0,0 +1,565 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ XMLResult.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XMLResult.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">113</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">10</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">45</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XMLResult.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">42,9%</TD>
+    <TD class="graphPercent" align="center">40%</TD>
+    <TD class="graphBarLeft" align="center"><B>41,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="83" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="117" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.OutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.UnsupportedEncodingException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.transform.sax.SAXResult;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ContentHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ext.LexicalHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XMLResult</code> implements a JAXP {@link SAXResult}for an output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * stream with support for pretty printing and control over how the XML is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * formatted.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XMLResult"> 29</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XMLResult <span class="keyword">extends</span> SAXResult {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLWriter xmlWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">public</span> XMLResult() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: statement not executed.">        <span class="keyword">this</span>(<span class="keyword">new</span> XMLWriter());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: method not entered.">    <span class="keyword">public</span> XMLResult(Writer writer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: statement not executed.">        <span class="keyword">this</span>(<span class="keyword">new</span> XMLWriter(writer));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: method entered 1 time.">    <span class="keyword">public</span> XMLResult(Writer writer, OutputFormat format) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: statement executed 1 time.">        <span class="keyword">this</span>(<span class="keyword">new</span> XMLWriter(writer, format));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> XMLResult(OutputStream out) <span class="keyword">throws</span> UnsupportedEncodingException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">this</span>(<span class="keyword">new</span> XMLWriter(out));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> XMLResult(OutputStream out, OutputFormat format)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> UnsupportedEncodingException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">this</span>(<span class="keyword">new</span> XMLWriter(out, format));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: method entered 1 time.">    <span class="keyword">public</span> XMLResult(XMLWriter xmlWriter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 1 time.">        <span class="keyword">super</span>(xmlWriter);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 1 time.">        <span class="keyword">this</span>.xmlWriter = xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 1 time.">        setLexicalHandler(xmlWriter);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: method not entered.">    <span class="keyword">public</span> XMLWriter getXMLWriter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">return</span> xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLWriter(XMLWriter writer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        <span class="keyword">this</span>.xmlWriter = writer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        setHandler(xmlWriter);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        setLexicalHandler(xmlWriter);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: method entered 1 time.">    <span class="keyword">public</span> ContentHandler getHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 1 time.">        <span class="keyword">return</span> xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: method entered 1 time.">    <span class="keyword">public</span> LexicalHandler getLexicalHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 1 time.">        <span class="keyword">return</span> xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/XMLWriter.html b/docs/clover/org/dom4j/io/XMLWriter.html
new file mode 100644
index 0000000..98b5a1f
--- /dev/null
+++ b/docs/clover/org/dom4j/io/XMLWriter.html
@@ -0,0 +1,8570 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ XMLWriter.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XMLWriter.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.934</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">93</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">1.101</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XMLWriter.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">59,5%</TD>
+    <TD class="graphPercent" align="center">64,3%</TD>
+    <TD class="graphPercent" align="center">57%</TD>
+    <TD class="graphBarLeft" align="center"><B>62,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="124" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="76" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.BufferedWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.OutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.OutputStreamWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.UnsupportedEncodingException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.StringTokenizer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.NamespaceStack;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Locator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXNotRecognizedException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXNotSupportedException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.XMLReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ext.LexicalHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.helpers.XMLFilterImpl;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XMLWriter</code> takes a DOM4J tree and formats it to a stream as</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * XML. It can also take SAX events too so can be used by SAX clients as this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * object implements the {@link org.xml.sax.ContentHandler}and {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LexicalHandler} interfaces. as well. This formatter performs typical document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * formatting. The XML declaration and processing instructions are always on</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * their own lines. An {@link OutputFormat}object can be used to define how</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * whitespace is handled when printing and allows various configuration options,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * such as to allow suppression of the XML declaration, the encoding declaration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * or whether empty documents are collapsed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * There are <code>write(...)</code> methods to print any of the standard</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * DOM4J classes, including <code>Document</code> and <code>Element</code>,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to either a <code>Writer</code> or an <code>OutputStream</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Warning: using your own <code>Writer</code> may cause the writer's</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * preferred character encoding to be ignored. If you use encodings other than</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * UTF8, we recommend using the method that takes an OutputStream instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Joseph Bowbeer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.83.2.2 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XMLWriter"> 71</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XMLWriter <span class="keyword">extends</span> XMLFilterImpl <span class="keyword">implements</span> LexicalHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String PAD_TEXT = <span class="string">" "</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final String[] LEXICAL_HANDLER_NAMES = {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/properties/lexical-handler"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"http://xml.org/sax/handlers/LexicalHandler"</span>};</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final OutputFormat DEFAULT_FORMAT = <span class="keyword">new</span> OutputFormat();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Should entityRefs by resolved when writing ? */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> resolveEntityRefs = <span class="keyword">true</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Stores the last type of node written so algorithms can refer to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * previous node type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">int</span> lastOutputNodeType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Stores if the last written element node was a closing tag or an opening</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * tag.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> lastElementClosed = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Stores the xml:space attribute value of preserve for whitespace flag */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">boolean</span> preserve = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Writer used to output to */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Writer writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Stack of namespaceStack written so far */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> NamespaceStack namespaceStack = <span class="keyword">new</span> NamespaceStack();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The format used by this writer */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> OutputFormat format;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** whether we should escape text */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> escapeText = <span class="keyword">true</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The initial number of indentations (so you can print a whole document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * indented, if you like)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> indentLevel = 0;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** buffer used when escaping strings */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> StringBuffer buffer = <span class="keyword">new</span> StringBuffer();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * whether we have added characters before from the same chunk of characters</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> charsAdded = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">char</span> lastChar;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Whether a flush should occur after writing a document */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> autoFlush;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Lexical handler we should delegate to */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> LexicalHandler lexicalHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Whether comments should appear inside DTD declarations - defaults to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * false</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> showCommentsInDTDs;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Is the writer curerntly inside a DTD definition? */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> inDTD;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The namespaces used for the current element when consuming SAX events */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map namespacesMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * what is the maximum allowed character code such as 127 in US-ASCII (7</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * bit) or 255 in ISO- (8 bit) or -1 to not escape any characters (other</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * than the special XML characters like &lt; &gt; &amp;)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> maximumAllowedCharacter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: method entered 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: method entered 18 times.">    <span class="keyword">public</span> XMLWriter(Writer writer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 18 times.">        <span class="keyword">this</span>(writer, DEFAULT_FORMAT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: method entered 2143 times."> 2143</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: method entered 2143 times.">    <span class="keyword">public</span> XMLWriter(Writer writer, OutputFormat format) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 2143 times."> 2143</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 2143 times.">        <span class="keyword">this</span>.writer = writer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: statement executed 2143 times."> 2143</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: statement executed 2143 times.">        <span class="keyword">this</span>.format = format;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 158: statement executed 2143 times."> 2143</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 158: statement executed 2143 times.">        namespaceStack.push(Namespace.NO_NAMESPACE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: method entered 2 times.">    <span class="keyword">public</span> XMLWriter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: statement executed 2 times.">        <span class="keyword">this</span>.format = DEFAULT_FORMAT;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: statement executed 2 times.">        <span class="keyword">this</span>.writer = <span class="keyword">new</span> BufferedWriter(<span class="keyword">new</span> OutputStreamWriter(System.out));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 2 times.">        <span class="keyword">this</span>.autoFlush = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: statement executed 2 times.">        namespaceStack.push(Namespace.NO_NAMESPACE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 168: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 168: method entered 2 times.">    <span class="keyword">public</span> XMLWriter(OutputStream out) <span class="keyword">throws</span> UnsupportedEncodingException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: statement executed 2 times.">        <span class="keyword">this</span>.format = DEFAULT_FORMAT;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 170: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 170: statement executed 2 times.">        <span class="keyword">this</span>.writer = createWriter(out, format.getEncoding());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 2 times.">        <span class="keyword">this</span>.autoFlush = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 172: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 172: statement executed 2 times.">        namespaceStack.push(Namespace.NO_NAMESPACE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 175: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 175: method entered 7 times.">    <span class="keyword">public</span> XMLWriter(OutputStream out, OutputFormat format)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> UnsupportedEncodingException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 7 times.">        <span class="keyword">this</span>.format = format;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 178: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 178: statement executed 7 times.">        <span class="keyword">this</span>.writer = createWriter(out, format.getEncoding());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 7 times.">        <span class="keyword">this</span>.autoFlush = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 180: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: statement executed 7 times.">        namespaceStack.push(Namespace.NO_NAMESPACE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: method entered 8 times.">    <span class="keyword">public</span> XMLWriter(OutputFormat format) <span class="keyword">throws</span> UnsupportedEncodingException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: statement executed 8 times.">        <span class="keyword">this</span>.format = format;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 185: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: statement executed 8 times.">        <span class="keyword">this</span>.writer = createWriter(System.out, format.getEncoding());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 186: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 186: statement executed 8 times.">        <span class="keyword">this</span>.autoFlush = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 8 times.">        namespaceStack.push(Namespace.NO_NAMESPACE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 190: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setWriter(Writer writer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: statement executed 2 times.">        <span class="keyword">this</span>.writer = writer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 2 times.">        <span class="keyword">this</span>.autoFlush = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setOutputStream(OutputStream out)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> UnsupportedEncodingException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 197: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 197: statement executed 8 times.">        <span class="keyword">this</span>.writer = createWriter(out, format.getEncoding());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: statement executed 8 times.">        <span class="keyword">this</span>.autoFlush = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if text thats output should be escaped. This is enabled by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         default. It could be disabled if the output format is textual,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         like in XSLT where we can have xml, html or text output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 208: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 208: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isEscapeText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">        <span class="keyword">return</span> escapeText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets whether text output should be escaped or not. This is enabled by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * default. It could be disabled if the output format is textual, like in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * XSLT where we can have xml, html or text output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> escapeText</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 220: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 220: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setEscapeText(<span class="keyword">boolean</span> escapeText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 221: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 221: statement executed 1 time.">        <span class="keyword">this</span>.escapeText = escapeText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Set the initial indentation level. This can be used to output a document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * (or, more likely, an element) starting at a given indent level, so it's</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * not always flush against the left margin. Default: 0</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> indentLevel</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the number of indents to start with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 232: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 232: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setIndentLevel(<span class="keyword">int</span> indentLevel) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: statement not executed.">        <span class="keyword">this</span>.indentLevel = indentLevel;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the maximum allowed character code that should be allowed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * bit).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 243: method entered 484095 times."> 484095</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 243: method entered 484095 times.">    <span class="keyword">public</span> <span class="keyword">int</span> getMaximumAllowedCharacter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 244: statement executed 484095 times."> 484095</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 244: statement executed 484095 times.">        <span class="keyword">if</span> (maximumAllowedCharacter == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 245: statement executed 2147 times."> 2147</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 245: statement executed 2147 times.">            maximumAllowedCharacter = defaultMaximumAllowedCharacter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 248: statement executed 484095 times."> 484095</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 248: statement executed 484095 times.">        <span class="keyword">return</span> maximumAllowedCharacter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the maximum allowed character code that should be allowed unescaped</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * such as 127 in US-ASCII (7 bit) or 255 in ISO- (8 bit) or -1 to not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * escape any characters (other than the special XML characters like &lt;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * &gt; &amp;) If this is not explicitly set then it is defaulted from the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * encoding.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> maximumAllowedCharacter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The maximumAllowedCharacter to set</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 261: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 261: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setMaximumAllowedCharacter(<span class="keyword">int</span> maximumAllowedCharacter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 262: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 262: statement executed 1 time.">        <span class="keyword">this</span>.maximumAllowedCharacter = maximumAllowedCharacter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Flushes the underlying Writer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: method entered 2119 times."> 2119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: method entered 2119 times.">    <span class="keyword">public</span> <span class="keyword">void</span> flush() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 272: statement executed 2119 times."> 2119</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 272: statement executed 2119 times.">        writer.flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Closes the underlying Writer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 281: method entered 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 281: method entered 21 times.">    <span class="keyword">public</span> <span class="keyword">void</span> close() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 282: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 282: statement executed 21 times.">        writer.close();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the new line text to the underlying Writer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 291: method entered 113 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 291: method entered 113 times.">    <span class="keyword">public</span> <span class="keyword">void</span> println() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 292: statement executed 113 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 292: statement executed 113 times.">        writer.write(format.getLineSeparator());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given {@link Attribute}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Attribute</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 304</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 304: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 304: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Attribute attribute) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 305: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 305: statement not executed.">        writeAttribute(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 307</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 307: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 307: statement not executed.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 308</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 308: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 308: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will print the <code>Document</code> to the current Writer.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Warning: using your own Writer may cause the writer's preferred character</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * encoding to be ignored. If you use encodings other than UTF8, we</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * recommend using the method that takes an OutputStream instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Note: as with all Writers, you may need to flush() yours after this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * method returns.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> doc</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Document</code> to format.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if there's any problem writing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 334</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 334: method entered 113 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 334: method entered 113 times.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Document doc) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 335</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 335: statement executed 113 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 335: statement executed 113 times.">        writeDeclaration();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 337: statement executed 113 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 337: statement executed 113 times.">        <span class="keyword">if</span> (doc.getDocType() != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 338</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 338: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 338: statement executed 1 time.">            indent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 339: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 339: statement executed 1 time.">            writeDocType(doc.getDocType());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 342: statement executed 113 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 342: statement executed 113 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = doc.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 343</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 343: statement executed 116 times."> 116</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 343: statement executed 116 times.">            Node node = doc.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 344</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 344: statement executed 116 times."> 116</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 344: statement executed 116 times.">            writeNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 347</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 347: statement executed 113 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 347: statement executed 113 times.">        writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 349</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 349: statement executed 113 times."> 113</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 349: statement executed 113 times.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 350</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 350: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 350: statement executed 16 times.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the <code>{@link Element}</code>, including its <code>{@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Attribute}</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * s, and its value, and all its content (child nodes) to the current</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writer.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Element</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 368: method entered 2043 times."> 2043</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 368: method entered 2043 times.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 369</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 369: statement executed 2043 times."> 2043</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 369: statement executed 2043 times.">        writeElement(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 371</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 371: statement executed 2043 times."> 2043</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 371: statement executed 2043 times.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 372: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 372: statement executed 2 times.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given {@link CDATA}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> cdata</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>CDATA</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 385</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 385: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 385: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(CDATA cdata) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">        writeCDATA(cdata.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 388</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 388: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 388: statement not executed.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 389</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 389: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 389: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given {@link Comment}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> comment</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Comment</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 402</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 402: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 402: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Comment comment) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 403</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 403: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 403: statement not executed.">        writeComment(comment.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 405</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 405: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 405: statement not executed.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 406</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 406: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 406: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given {@link DocumentType}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> docType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>DocumentType</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 419</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 419: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 419: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(DocumentType docType) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 420</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 420: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 420: statement not executed.">        writeDocType(docType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 422</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 422: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 422: statement not executed.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 423</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 423: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 423: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given {@link Entity}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Entity</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 436</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 436: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 436: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Entity entity) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 437</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 437: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 437: statement not executed.">        writeEntity(entity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 439: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 439: statement not executed.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 440</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 440: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 440: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given {@link Namespace}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Namespace</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 453</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 453: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 453: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Namespace namespace) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 454</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 454: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 454: statement not executed.">        writeNamespace(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 456</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 456: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 456: statement not executed.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 457</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 457: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 457: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given {@link ProcessingInstruction}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> processingInstruction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>ProcessingInstruction</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 470</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 470: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 470: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(ProcessingInstruction processingInstruction)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 472</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 472: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 472: statement not executed.">        writeProcessingInstruction(processingInstruction);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 474</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 474: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 474: statement not executed.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 475</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 475: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 475: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Print out a {@link String}, Perfoms the necessary entity escaping and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * whitespace stripping.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text to output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 491</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 491: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 491: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(String text) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 492</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 492: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 492: statement not executed.">        writeString(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 494</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 494: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 494: statement not executed.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 495</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 495: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 495: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given {@link Text}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Text</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 508</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 508: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 508: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Text text) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 509</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 509: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 509: statement not executed.">        writeString(text.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 511</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 511: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 511: statement not executed.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 512</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 512: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 512: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given {@link Node}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Node</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 525</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 525: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 525: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Node node) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 526</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 526: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 526: statement executed 1 time.">        writeNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 528</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 528: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 528: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 529</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 529: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 529: statement not executed.">            flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the given object which should be a String, a Node or a List of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Nodes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the object to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 543</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 543: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 543: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Object object) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 544</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 544: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 544: expression evaluated to true 1 time, false 0 times.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 545</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 545: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 545: statement executed 1 time.">            write((Node) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 546</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 546: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 546: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> String) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 547</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 547: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 547: statement not executed.">            write((String) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 548</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 548: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 548: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 549</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 549: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 549: statement not executed.">            List list = (List) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 551</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 551: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 551: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = list.size(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 552</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 552: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 552: statement not executed.">                write(list.get(i));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 554</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 554: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 554: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (object != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 555</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 555: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 555: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"Invalid object: "</span> + object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the opening tag of an {@link Element}, including its {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Attribute}s but without its content.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Element</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 571</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 571: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 571: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeOpen(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 572</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 572: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 572: statement not executed.">        writer.write(<span class="string">"<"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 573</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 573: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 573: statement not executed.">        writer.write(element.getQualifiedName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 574</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 574: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 574: statement not executed.">        writeAttributes(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 575</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 575: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 575: statement not executed.">        writer.write(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the closing tag of an {@link Element}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Element</code> to output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 589</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 589: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 589: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeClose(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 590</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 590: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 590: statement not executed.">        writeClose(element.getQualifiedName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// XMLFilterImpl methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 595</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 595: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 595: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> parse(InputSource source) <span class="keyword">throws</span> IOException, SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 596</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 596: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 596: statement not executed.">        installLexicalHandler();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 597</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 597: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 597: statement not executed.">        <span class="keyword">super</span>.parse(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 600</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 600: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 600: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setProperty(String name, Object value)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXNotRecognizedException, SAXNotSupportedException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 602</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 602: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 602: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 603</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 603: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 603: statement not executed.">            <span class="keyword">if</span> (LEXICAL_HANDLER_NAMES[i].equals(name)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 604</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 604: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 604: statement not executed.">                setLexicalHandler((LexicalHandler) value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 606</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 606: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 606: statement not executed.">                <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 608</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 609</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 610</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 610: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 610: statement not executed.">        <span class="keyword">super</span>.setProperty(name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 611</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 613</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 613: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 613: method not entered.">    <span class="keyword">public</span> Object getProperty(String name) <span class="keyword">throws</span> SAXNotRecognizedException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 614</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            SAXNotSupportedException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 615</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 615: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 615: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 616</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 616: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 616: statement not executed.">            <span class="keyword">if</span> (LEXICAL_HANDLER_NAMES[i].equals(name)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 617</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 617: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 617: statement not executed.">                <span class="keyword">return</span> getLexicalHandler();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 620</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 621</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 621: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 621: statement not executed.">        <span class="keyword">return</span> <span class="keyword">super</span>.getProperty(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 622</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 624</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 624: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 624: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setLexicalHandler(LexicalHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 625</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 625: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 625: statement not executed.">        <span class="keyword">if</span> (handler == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 626</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 626: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 626: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> NullPointerException(<span class="string">"Null lexical handler"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 627</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 628</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 628: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 628: statement not executed.">            <span class="keyword">this</span>.lexicalHandler = handler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 629</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 630</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 632</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 632: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 632: method not entered.">    <span class="keyword">public</span> LexicalHandler getLexicalHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 633</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 633: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 633: statement not executed.">        <span class="keyword">return</span> lexicalHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 634</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// ContentHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 637</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 638</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 638: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 638: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentLocator(Locator locator) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 639</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 639: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 639: statement executed 1 time.">        <span class="keyword">super</span>.setDocumentLocator(locator);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 642</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 642: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 642: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> startDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 643</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 643: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 643: statement executed 4 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 644</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 644: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 644: statement executed 4 times.">            writeDeclaration();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 645</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 645: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 645: statement executed 4 times.">            <span class="keyword">super</span>.startDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 647</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 647: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 647: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 648</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 649</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 651</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 651: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 651: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> endDocument() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 652</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 652: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 652: statement executed 4 times.">        <span class="keyword">super</span>.endDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 654</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 654: expression evaluated to true 0 times, false 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 654: expression evaluated to true 0 times, false 4 times.">        <span class="keyword">if</span> (autoFlush) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 655</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 655: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 655: statement not executed.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 656</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 656: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 656: statement not executed.">                flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 658</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 660</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 661</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 662</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 662: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 662: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startPrefixMapping(String prefix, String uri)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 663</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 664</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 664: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 664: statement not executed.">        <span class="keyword">if</span> (namespacesMap == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 665</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 665: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 665: statement not executed.">            namespacesMap = <span class="keyword">new</span> HashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 667</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 668</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 668: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 668: statement not executed.">        namespacesMap.put(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 669</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 669: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 669: statement not executed.">        <span class="keyword">super</span>.startPrefixMapping(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 672</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 672: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 672: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endPrefixMapping(String prefix) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 673</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 673: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 673: statement not executed.">        <span class="keyword">super</span>.endPrefixMapping(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 676</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 676: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 676: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> startElement(String namespaceURI, String localName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 677</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qName, Attributes attributes) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 678</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 678: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 678: statement executed 8 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 679</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 679: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 679: statement executed 8 times.">            charsAdded = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 680</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 681</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 681: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 681: statement executed 8 times.">            writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 682</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 682: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 682: statement executed 8 times.">            indent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 683</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 683: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 683: statement executed 8 times.">            writer.write(<span class="string">"<"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 684</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 684: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 684: statement executed 8 times.">            writer.write(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 685</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 685: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 685: statement executed 8 times.">            writeNamespaces();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 686</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 686: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 686: statement executed 8 times.">            writeAttributes(attributes);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 687</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 687: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 687: statement executed 8 times.">            writer.write(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 688</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 688: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 688: statement executed 8 times.">            ++indentLevel;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 689</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 689: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 689: statement executed 8 times.">            lastOutputNodeType = Node.ELEMENT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 690</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 690: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 690: statement executed 8 times.">            lastElementClosed = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 691</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 692</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 692: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 692: statement executed 8 times.">            <span class="keyword">super</span>.startElement(namespaceURI, localName, qName, attributes);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 693</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 694</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 694: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 694: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 695</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 696</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 697</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 698</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 698: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 698: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> endElement(String namespaceURI, String localName, String qName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 699</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 700</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 700: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 700: statement executed 8 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 701</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 701: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 701: statement executed 8 times.">            charsAdded = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 702</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 702: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 702: statement executed 8 times.">            --indentLevel;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 703</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 704</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 704: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 704: statement executed 8 times.">            <span class="keyword">if</span> (lastElementClosed) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 705</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 705: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 705: statement executed 4 times.">                writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 706</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 706: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 706: statement executed 4 times.">                indent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 707</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 708</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 709</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// XXXX: need to determine this using a stack and checking for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 710</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// content / children</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 711</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 711: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 711: statement executed 8 times.">            <span class="keyword">boolean</span> hadContent = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 712</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 713</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 713: expression evaluated to true 8 times, false 0 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 713: expression evaluated to true 8 times, false 0 times.">            <span class="keyword">if</span> (hadContent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 714</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 714: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 714: statement executed 8 times.">                writeClose(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 715</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 716</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 716: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 716: statement not executed.">                writeEmptyElementClose(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 717</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 718</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 719</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 719: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 719: statement executed 8 times.">            lastOutputNodeType = Node.ELEMENT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 720</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 720: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 720: statement executed 8 times.">            lastElementClosed = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 721</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 722</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 722: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 722: statement executed 8 times.">            <span class="keyword">super</span>.endElement(namespaceURI, localName, qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 723</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 724</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 724: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 724: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 725</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 727</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 728</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 728: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 728: method entered 16 times.">    <span class="keyword">public</span> <span class="keyword">void</span> characters(<span class="keyword">char</span>[] ch, <span class="keyword">int</span> start, <span class="keyword">int</span> length)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 729</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 730</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 730: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 730: statement executed 16 times.">        <span class="keyword">if</span> ((ch == <span class="keyword">null</span>) || (ch.length == 0) || (length <= 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 731</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 731: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 731: statement executed 1 time.">            <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 732</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 733</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 734</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 734: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 734: statement executed 15 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 735</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 736</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * we can't use the writeString method here because it's possible we</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 737</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * don't receive all characters at once and calling writeString</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 738</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * would cause unwanted spaces to be added in between these chunks</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 739</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * of character arrays.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 740</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 741</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 741: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 741: statement executed 15 times.">            String string = String.valueOf(ch, start, length);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 742</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 743</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 743: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 743: statement executed 15 times.">            <span class="keyword">if</span> (escapeText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 744</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 744: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 744: statement executed 14 times.">                string = escapeElementEntities(string);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 745</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 746</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 747</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 747: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 747: statement executed 15 times.">            <span class="keyword">if</span> (format.isTrimText()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 748</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 748: expression evaluated to true 0 times, false 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 748: expression evaluated to true 0 times, false 14 times.">                <span class="keyword">if</span> ((lastOutputNodeType == Node.TEXT_NODE) && !charsAdded) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 749</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 749: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 749: statement not executed.">                    writer.write(' ');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 750</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 750: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 750: statement executed 14 times.">                } <span class="keyword">else</span> <span class="keyword">if</span> (charsAdded && Character.isWhitespace(lastChar)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 751</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 751: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 751: statement executed 1 time.">                    writer.write(' ');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 752</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 752: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 752: statement executed 13 times.">                } <span class="keyword">else</span> <span class="keyword">if</span> (lastOutputNodeType == Node.ELEMENT_NODE</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 753</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        && format.isPadText() && lastElementClosed</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 754</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        && Character.isWhitespace(ch[0])) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 755</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 755: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 755: statement executed 1 time.">                    writer.write(PAD_TEXT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 757</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 758</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 758: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 758: statement executed 14 times.">                String delim = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 759</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 759: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 759: statement executed 14 times.">                StringTokenizer tokens = <span class="keyword">new</span> StringTokenizer(string);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 760</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 761</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 761: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 761: statement executed 14 times.">                <span class="keyword">while</span> (tokens.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 762</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 762: statement executed 17 times."> 17</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 762: statement executed 17 times.">                    writer.write(delim);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 763</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 763: statement executed 17 times."> 17</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 763: statement executed 17 times.">                    writer.write(tokens.nextToken());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 764</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 764: statement executed 17 times."> 17</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 764: statement executed 17 times.">                    delim = <span class="string">" "</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 765</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 766</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 767</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 767: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 767: statement executed 1 time.">                writer.write(string);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 768</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 769</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 770</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 770: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 770: statement executed 15 times.">            charsAdded = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 771</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 771: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 771: statement executed 15 times.">            lastChar = ch[(start + length) - 1];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 772</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 772: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 772: statement executed 15 times.">            lastOutputNodeType = Node.TEXT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 773</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 774</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 774: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 774: statement executed 15 times.">            <span class="keyword">super</span>.characters(ch, start, length);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 775</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 776</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 776: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 776: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 777</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 778</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 779</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 780</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 780: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 780: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> ignorableWhitespace(<span class="keyword">char</span>[] ch, <span class="keyword">int</span> start, <span class="keyword">int</span> length)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 781</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 782</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 782: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 782: statement not executed.">        <span class="keyword">super</span>.ignorableWhitespace(ch, start, length);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 783</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 784</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 785</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 785: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 785: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> processingInstruction(String target, String data)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 786</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 787</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 787: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 787: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 788</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 788: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 788: statement not executed.">            indent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 789</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 789: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 789: statement not executed.">            writer.write(<span class="string">"<?"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 790</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 790: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 790: statement not executed.">            writer.write(target);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 791</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 791: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 791: statement not executed.">            writer.write(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 792</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 792: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 792: statement not executed.">            writer.write(data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 793</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 793: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 793: statement not executed.">            writer.write(<span class="string">"?>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 794</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 794: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 794: statement not executed.">            writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 795</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 795: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 795: statement not executed.">            lastOutputNodeType = Node.PROCESSING_INSTRUCTION_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 796</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 797</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 797: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 797: statement not executed.">            <span class="keyword">super</span>.processingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 798</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 799</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 799: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 799: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 800</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 801</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 802</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 803</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// DTDHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 804</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 805</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 805: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 805: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> notationDecl(String name, String publicID, String systemID)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 806</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 807</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 807: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 807: statement not executed.">        <span class="keyword">super</span>.notationDecl(name, publicID, systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 808</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 809</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 810</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 810: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 810: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> unparsedEntityDecl(String name, String publicID,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 811</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String systemID, String notationName) <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 812</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 812: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 812: statement not executed.">        <span class="keyword">super</span>.unparsedEntityDecl(name, publicID, systemID, notationName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 813</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 814</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 815</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// LexicalHandler interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 816</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 817</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 817: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 817: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startDTD(String name, String publicID, String systemID)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 818</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> SAXException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 819</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 819: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 819: statement not executed.">        inDTD = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 820</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 821</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 821: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 821: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 822</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 822: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 822: statement not executed.">            writeDocType(name, publicID, systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 823</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 824</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 824: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 824: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 825</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 826</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 827</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 827: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 827: statement not executed.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 828</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 828: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 828: statement not executed.">            lexicalHandler.startDTD(name, publicID, systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 829</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 830</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 831</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 832</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 832: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 832: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endDTD() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 833</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 833: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 833: statement not executed.">        inDTD = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 834</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 835</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 835: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 835: statement not executed.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 836</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 836: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 836: statement not executed.">            lexicalHandler.endDTD();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 837</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 838</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 839</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 840</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 840: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 840: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startCDATA() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 841</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 841: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 841: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 842</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 842: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 842: statement not executed.">            writer.write(<span class="string">"<![CDATA["</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 843</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 844</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 844: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 844: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 845</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 846</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 847</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 847: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 847: statement not executed.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 848</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 848: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 848: statement not executed.">            lexicalHandler.startCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 849</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 850</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 851</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 852</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 852: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 852: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endCDATA() <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 853</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 853: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 853: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 854</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 854: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 854: statement not executed.">            writer.write(<span class="string">"]]>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 855</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 856</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 856: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 856: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 857</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 858</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 859</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 859: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 859: statement not executed.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 860</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 860: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 860: statement not executed.">            lexicalHandler.endCDATA();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 861</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 862</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 863</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 864</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 864: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 864: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startEntity(String name) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 865</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 865: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 865: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 866</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 866: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 866: statement not executed.">            writeEntityRef(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 867</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 868</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 868: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 868: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 869</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 870</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 871</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 871: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 871: statement not executed.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 872</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 872: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 872: statement not executed.">            lexicalHandler.startEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 873</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 874</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 875</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 876</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 876: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 876: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endEntity(String name) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 877</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 877: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 877: statement not executed.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 878</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 878: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 878: statement not executed.">            lexicalHandler.endEntity(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 879</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 880</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 881</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 882</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 882: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 882: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> comment(<span class="keyword">char</span>[] ch, <span class="keyword">int</span> start, <span class="keyword">int</span> length) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 883</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 883: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 883: statement not executed.">        <span class="keyword">if</span> (showCommentsInDTDs || !inDTD) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 884</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 884: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 884: statement not executed.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 885</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 885: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 885: statement not executed.">                charsAdded = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 886</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 886: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 886: statement not executed.">                writeComment(<span class="keyword">new</span> String(ch, start, length));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 887</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 888</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 888: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 888: statement not executed.">                handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 889</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 890</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 891</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 892</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 892: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 892: statement not executed.">        <span class="keyword">if</span> (lexicalHandler != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 893</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 893: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 893: statement not executed.">            lexicalHandler.comment(ch, start, length);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 894</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 895</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 896</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 897</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 898</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 899</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 899: method entered 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 899: method entered 20077 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeElement(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 900</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 900: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 900: statement executed 20077 times.">        <span class="keyword">int</span> size = element.nodeCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 901</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 901: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 901: statement executed 20077 times.">        String qualifiedName = element.getQualifiedName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 902</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 903</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 903: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 903: statement executed 20077 times.">        writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 904</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 904: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 904: statement executed 20077 times.">        indent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 905</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 906</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 906: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 906: statement executed 20077 times.">        writer.write(<span class="string">"<"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 907</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 907: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 907: statement executed 20077 times.">        writer.write(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 908</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 909</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 909: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 909: statement executed 20077 times.">        <span class="keyword">int</span> previouslyDeclaredNamespaces = namespaceStack.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 910</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 910: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 910: statement executed 20077 times.">        Namespace ns = element.getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 911</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 912</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 912: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 912: statement executed 20077 times.">        <span class="keyword">if</span> (isNamespaceDeclaration(ns)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 913</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 913: statement executed 602 times."> 602</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 913: statement executed 602 times.">            namespaceStack.push(ns);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 914</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 914: statement executed 602 times."> 602</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 914: statement executed 602 times.">            writeNamespace(ns);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 915</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 916</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 917</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Print out additional namespace declarations</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 918</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 918: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 918: statement executed 20077 times.">        <span class="keyword">boolean</span> textOnly = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 919</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 920</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 920: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 920: statement executed 20077 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 921</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 921: statement executed 56305 times."> 56305</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 921: statement executed 56305 times.">            Node node = element.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 922</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 923</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 923: statement executed 56305 times."> 56305</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 923: statement executed 56305 times.">            <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 924</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 924: statement executed 198 times."> 198</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 924: statement executed 198 times.">                Namespace additional = (Namespace) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 925</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 926</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 926: statement executed 198 times."> 198</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 926: statement executed 198 times.">                <span class="keyword">if</span> (isNamespaceDeclaration(additional)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 927</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 927: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 927: statement executed 16 times.">                    namespaceStack.push(additional);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 928</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 928: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 928: statement executed 16 times.">                    writeNamespace(additional);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 929</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 930</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 930: statement executed 56107 times."> 56107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 930: statement executed 56107 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 931</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 931: statement executed 17921 times."> 17921</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 931: statement executed 17921 times.">                textOnly = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 932</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 932: statement executed 38186 times."> 38186</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 932: statement executed 38186 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 933</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 933: statement executed 445 times."> 445</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 933: statement executed 445 times.">                textOnly = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 934</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 935</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 936</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 937</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 937: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 937: statement executed 20077 times.">        writeAttributes(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 938</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 939</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 939: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 939: statement executed 20077 times.">        lastOutputNodeType = Node.ELEMENT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 940</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 941</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 941: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 941: statement executed 20077 times.">        <span class="keyword">if</span> (size <= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 942</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 942: statement executed 300 times."> 300</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 942: statement executed 300 times.">            writeEmptyElementClose(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 943</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 944</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 944: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 944: statement executed 19777 times.">            writer.write(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 945</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 946</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 946: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 946: statement executed 19777 times.">            <span class="keyword">if</span> (textOnly) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 947</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// we have at least one text node so lets assume</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 948</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// that its non-empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 949</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 949: statement executed 14954 times."> 14954</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 949: statement executed 14954 times.">                writeElementContent(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 950</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 951</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// we know it's not null or empty from above</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 952</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 952: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 952: statement executed 4823 times.">                ++indentLevel;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 953</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 954</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 954: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 954: statement executed 4823 times.">                writeElementContent(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 955</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 956</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 956: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 956: statement executed 4823 times.">                --indentLevel;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 957</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 958</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 958: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 958: statement executed 4823 times.">                writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 959</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 959: statement executed 4823 times."> 4823</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 959: statement executed 4823 times.">                indent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 960</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 961</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 962</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 962: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 962: statement executed 19777 times.">            writer.write(<span class="string">"</"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 963</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 963: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 963: statement executed 19777 times.">            writer.write(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 964</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 964: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 964: statement executed 19777 times.">            writer.write(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 965</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 966</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 967</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// remove declared namespaceStack from stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 968</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 968: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 968: statement executed 20077 times.">        <span class="keyword">while</span> (namespaceStack.size() > previouslyDeclaredNamespaces) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 969</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 969: statement executed 620 times."> 620</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 969: statement executed 620 times.">            namespaceStack.pop();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 970</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 971</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 972</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 972: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 972: statement executed 20077 times.">        lastOutputNodeType = Node.ELEMENT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 973</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 974</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 975</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 976</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Determines if element is a special case of XML elements where it contains</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 977</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * an xml:space attribute of "preserve". If it does, then retain whitespace.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 978</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 979</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 980</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 981</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 982</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 983</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 984</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 984: method entered 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 984: method entered 93 times.">    <span class="keyword">protected</span> final <span class="keyword">boolean</span> isElementSpacePreserved(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 985</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 985: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 985: statement executed 93 times.">        final Attribute attr = (Attribute) element.attribute(<span class="string">"space"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 986</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 986: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 986: statement executed 93 times.">        <span class="keyword">boolean</span> preserveFound = preserve; <span class="comment">// default to global state</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 987</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 988</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 988: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 988: statement executed 93 times.">        <span class="keyword">if</span> (attr != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 989</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 989: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 989: statement executed 5 times.">            <span class="keyword">if</span> (<span class="string">"xml"</span>.equals(attr.getNamespacePrefix())</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 990</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    && <span class="string">"preserve"</span>.equals(attr.getText())) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 991</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 991: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 991: statement executed 4 times.">                preserveFound = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 992</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 993</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 993: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 993: statement executed 1 time.">                preserveFound = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 994</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 995</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 996</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 997</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 997: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 997: statement executed 93 times.">        <span class="keyword">return</span> preserveFound;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 998</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 999</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1000</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1001</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Outputs the content of the given element. If whitespace trimming is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1002</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * enabled then all adjacent text nodes are appended together before the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1003</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * whitespace trimming occurs to avoid problems with multiple text nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1004</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * being created due to text content that spans parser buffers in a SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1005</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parser.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1006</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1007</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1008</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1009</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1010</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1011</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1012</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1013</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1013: method entered 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1013: method entered 19777 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeElementContent(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1014</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1014: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1014: statement executed 19777 times.">        <span class="keyword">boolean</span> trim = format.isTrimText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1015</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1015: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1015: statement executed 19777 times.">        <span class="keyword">boolean</span> oldPreserve = preserve;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1016</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1017</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1017: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1017: statement executed 19777 times.">        <span class="keyword">if</span> (trim) { <span class="comment">// verify we have to before more expensive test</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1018</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1018: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1018: statement executed 93 times.">            preserve = isElementSpacePreserved(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1019</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1019: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1019: statement executed 93 times.">            trim = !preserve;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1020</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1021</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1022</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1022: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1022: statement executed 19777 times.">        <span class="keyword">if</span> (trim) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1023</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// concatenate adjacent text nodes together</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1024</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// so that whitespace trimming works properly</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1025</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1025: statement executed 82 times."> 82</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1025: statement executed 82 times.">            Text lastTextNode = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1026</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1026: statement executed 82 times."> 82</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1026: statement executed 82 times.">            StringBuffer buff = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1027</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1027: statement executed 82 times."> 82</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1027: statement executed 82 times.">            <span class="keyword">boolean</span> textOnly = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1028</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1029</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1029: statement executed 82 times."> 82</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1029: statement executed 82 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = element.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1030</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1030: statement executed 146 times."> 146</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1030: statement executed 146 times.">                Node node = element.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1031</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1032</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1032: statement executed 146 times."> 146</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1032: statement executed 146 times.">                <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1033</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1033: statement executed 76 times."> 76</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1033: statement executed 76 times.">                    <span class="keyword">if</span> (lastTextNode == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1034</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1034: statement executed 53 times."> 53</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1034: statement executed 53 times.">                        lastTextNode = (Text) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1035</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1036</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1036: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1036: statement executed 23 times.">                        <span class="keyword">if</span> (buff == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1037</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1037: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1037: statement executed 9 times.">                            buff = <span class="keyword">new</span> StringBuffer(lastTextNode.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1038</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1039</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1040</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1040: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1040: statement executed 23 times.">                        buff.append(((Text) node).getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1041</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1042</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1043</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1043: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1043: statement executed 70 times.">                    <span class="keyword">if</span> (!textOnly && format.isPadText()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1044</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// only add the PAD_TEXT if the text itself starts with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1045</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// whitespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1046</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1046: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1046: statement executed 7 times.">                        <span class="keyword">char</span> firstChar = 'a';</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1047</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1047: expression evaluated to true 0 times, false 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1047: expression evaluated to true 0 times, false 7 times.">                        <span class="keyword">if</span> (buff != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1048</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1048: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1048: statement not executed.">                            firstChar = buff.charAt(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1049</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1049: expression evaluated to true 0 times, false 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1049: expression evaluated to true 0 times, false 7 times.">                        } <span class="keyword">else</span> <span class="keyword">if</span> (lastTextNode != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1050</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1050: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1050: statement not executed.">                            firstChar = lastTextNode.getText().charAt(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1051</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1052</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1053</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1053: expression evaluated to true 0 times, false 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1053: expression evaluated to true 0 times, false 7 times.">                        <span class="keyword">if</span> (Character.isWhitespace(firstChar)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1054</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1054: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1054: statement not executed.">                            writer.write(PAD_TEXT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1055</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1056</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1057</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1058</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1058: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1058: statement executed 70 times.">                    <span class="keyword">if</span> (lastTextNode != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1059</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1059: statement executed 17 times."> 17</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1059: statement executed 17 times.">                        <span class="keyword">if</span> (buff != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1060</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1060: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1060: statement executed 2 times.">                            writeString(buff.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1061</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1061: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1061: statement executed 2 times.">                            buff = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1062</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1063</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1063: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1063: statement executed 15 times.">                            writeString(lastTextNode.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1064</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1065</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1066</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1066: statement executed 17 times."> 17</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1066: statement executed 17 times.">                        <span class="keyword">if</span> (format.isPadText()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1067</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            <span class="comment">// only add the PAD_TEXT if the text itself ends</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1068</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            <span class="comment">// with whitespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1069</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1069: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1069: statement executed 10 times.">                            <span class="keyword">char</span> lastTextChar = 'a';</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1070</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1070: expression evaluated to true 0 times, false 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1070: expression evaluated to true 0 times, false 10 times.">                            <span class="keyword">if</span> (buff != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1071</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1071: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1071: statement not executed.">                                lastTextChar = buff.charAt(buff.length() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1072</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1072: expression evaluated to true 10 times, false 0 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1072: expression evaluated to true 10 times, false 0 times.">                            } <span class="keyword">else</span> <span class="keyword">if</span> (lastTextNode != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1073</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1073: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1073: statement executed 10 times.">                                String txt = lastTextNode.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1074</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1074: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1074: statement executed 10 times.">                                lastTextChar = txt.charAt(txt.length() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1075</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1076</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1077</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1077: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1077: statement executed 10 times.">                            <span class="keyword">if</span> (Character.isWhitespace(lastTextChar)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1078</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1078: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1078: statement executed 1 time.">                                writer.write(PAD_TEXT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1079</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1080</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1081</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1082</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1082: statement executed 17 times."> 17</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1082: statement executed 17 times.">                        lastTextNode = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1083</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1084</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1085</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1085: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1085: statement executed 70 times.">                    textOnly = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1086</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1086: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1086: statement executed 70 times.">                    writeNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1087</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1088</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1089</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1090</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1090: statement executed 82 times."> 82</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1090: statement executed 82 times.">            <span class="keyword">if</span> (lastTextNode != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1091</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1091: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1091: statement executed 36 times.">                <span class="keyword">if</span> (!textOnly && format.isPadText()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1092</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// only add the PAD_TEXT if the text itself starts with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1093</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// whitespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1094</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1094: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1094: statement executed 3 times.">                    <span class="keyword">char</span> firstChar = 'a';</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1095</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1095: expression evaluated to true 0 times, false 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1095: expression evaluated to true 0 times, false 3 times.">                    <span class="keyword">if</span> (buff != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1096</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1096: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1096: statement not executed.">                        firstChar = buff.charAt(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1097</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1098</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1098: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1098: statement executed 3 times.">                        firstChar = lastTextNode.getText().charAt(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1099</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1101: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1101: statement executed 3 times.">                    <span class="keyword">if</span> (Character.isWhitespace(firstChar)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1102: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1102: statement executed 2 times.">                        writer.write(PAD_TEXT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1106: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1106: statement executed 36 times.">                <span class="keyword">if</span> (buff != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1107: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1107: statement executed 7 times.">                    writeString(buff.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1108: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1108: statement executed 7 times.">                    buff = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1110: statement executed 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1110: statement executed 29 times.">                    writeString(lastTextNode.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1113: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1113: statement executed 36 times.">                lastTextNode = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1116: statement executed 19695 times."> 19695</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1116: statement executed 19695 times.">            Node lastTextNode = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1118: statement executed 19695 times."> 19695</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1118: statement executed 19695 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = element.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1119: statement executed 56159 times."> 56159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1119: statement executed 56159 times.">                Node node = element.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1121</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1121: statement executed 56159 times."> 56159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1121: statement executed 56159 times.">                <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1122: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1122: statement executed 37643 times.">                    writeNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1123: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1123: statement executed 37643 times.">                    lastTextNode = node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1125: expression evaluated to true 0 times, false 18516 times."> 18516</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1125: expression evaluated to true 0 times, false 18516 times.">                    <span class="keyword">if</span> ((lastTextNode != <span class="keyword">null</span>) && format.isPadText()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// only add the PAD_TEXT if the text itself ends with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// whitespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1128: statement not executed.">                        String txt = lastTextNode.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1129: statement not executed.">                        <span class="keyword">char</span> lastTextChar = txt.charAt(txt.length() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1131: statement not executed.">                        <span class="keyword">if</span> (Character.isWhitespace(lastTextChar)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1132: statement not executed.">                            writer.write(PAD_TEXT);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1136</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1136: statement executed 18516 times."> 18516</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1136: statement executed 18516 times.">                    writeNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// if ((lastTextNode != null) && format.isPadText()) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// writer.write(PAD_TEXT);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1142</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1142: statement executed 18516 times."> 18516</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1142: statement executed 18516 times.">                    lastTextNode = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1147: statement executed 19777 times."> 19777</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1147: statement executed 19777 times.">        preserve = oldPreserve;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1150: method entered 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1150: method entered 21 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeCDATA(String text) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1151: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1151: statement executed 21 times.">        writer.write(<span class="string">"<![CDATA["</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1153</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1153: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1153: statement executed 21 times.">        <span class="keyword">if</span> (text != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1154: statement executed 17 times."> 17</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1154: statement executed 17 times.">            writer.write(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1157: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1157: statement executed 21 times.">        writer.write(<span class="string">"]]>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1159</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1159: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1159: statement executed 21 times.">        lastOutputNodeType = Node.CDATA_SECTION_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1162: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1162: method entered 1 time.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeDocType(DocumentType docType) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1163: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1163: expression evaluated to true 1 time, false 0 times.">        <span class="keyword">if</span> (docType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1164: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1164: statement executed 1 time.">            docType.write(writer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1165: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1165: statement executed 1 time.">            writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1169: method entered 618 times."> 618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1169: method entered 618 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeNamespace(Namespace namespace) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1170: expression evaluated to true 618 times, false 0 times."> 618</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1170: expression evaluated to true 618 times, false 0 times.">        <span class="keyword">if</span> (namespace != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1171: statement executed 618 times."> 618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1171: statement executed 618 times.">            writeNamespace(namespace.getPrefix(), namespace.getURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the SAX namepsaces</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1181</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1181: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1181: method entered 8 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeNamespaces() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1182: expression evaluated to true 0 times, false 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1182: expression evaluated to true 0 times, false 8 times.">        <span class="keyword">if</span> (namespacesMap != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1183</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1183: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1183: statement not executed.">            <span class="keyword">for</span> (Iterator iter = namespacesMap.entrySet().iterator(); iter</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .hasNext();) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1185</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1185: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1185: statement not executed.">                Map.Entry entry = (Map.Entry) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1186</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1186: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1186: statement not executed.">                String prefix = (String) entry.getKey();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1187</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1187: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1187: statement not executed.">                String uri = (String) entry.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1188: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1188: statement not executed.">                writeNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1191: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1191: statement not executed.">            namespacesMap = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the SAX namepsaces</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the namespace uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1205</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1205: method entered 620 times."> 620</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1205: method entered 620 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeNamespace(String prefix, String uri) </A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1207: statement executed 620 times."> 620</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1207: statement executed 620 times.">        <span class="keyword">if</span> ((prefix != <span class="keyword">null</span>) && (prefix.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1208</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1208: statement executed 566 times."> 566</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1208: statement executed 566 times.">            writer.write(<span class="string">" xmlns:"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1209: statement executed 566 times."> 566</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1209: statement executed 566 times.">            writer.write(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1210: statement executed 566 times."> 566</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1210: statement executed 566 times.">            writer.write(<span class="string">"=\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1212: statement executed 54 times."> 54</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1212: statement executed 54 times.">            writer.write(<span class="string">" xmlns=\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1215</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1215: statement executed 620 times."> 620</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1215: statement executed 620 times.">        writer.write(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1216</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1216: statement executed 620 times."> 620</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1216: statement executed 620 times.">        writer.write(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1219</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1219: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1219: method entered 1 time.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeProcessingInstruction(ProcessingInstruction pi)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// indent();</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1222: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1222: statement executed 1 time.">        writer.write(<span class="string">"<?"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1223: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1223: statement executed 1 time.">        writer.write(pi.getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1224</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1224: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1224: statement executed 1 time.">        writer.write(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1225: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1225: statement executed 1 time.">        writer.write(pi.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1226</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1226: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1226: statement executed 1 time.">        writer.write(<span class="string">"?>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1227</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1227: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1227: statement executed 1 time.">        writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1229</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1229: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1229: statement executed 1 time.">        lastOutputNodeType = Node.PROCESSING_INSTRUCTION_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1232</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1232: method entered 53 times."> 53</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1232: method entered 53 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeString(String text) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1233</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1233: statement executed 53 times."> 53</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1233: statement executed 53 times.">        <span class="keyword">if</span> ((text != <span class="keyword">null</span>) && (text.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1234: expression evaluated to true 51 times, false 0 times."> 51</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1234: expression evaluated to true 51 times, false 0 times.">            <span class="keyword">if</span> (escapeText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1235</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1235: statement executed 51 times."> 51</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1235: statement executed 51 times.">                text = escapeElementEntities(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// if (format.isPadText()) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// if (lastOutputNodeType == Node.ELEMENT_NODE) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// writer.write(PAD_TEXT);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// }</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1243</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1243: expression evaluated to true 51 times, false 0 times."> 51</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1243: expression evaluated to true 51 times, false 0 times.">            <span class="keyword">if</span> (format.isTrimText()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1244</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1244: statement executed 51 times."> 51</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1244: statement executed 51 times.">                <span class="keyword">boolean</span> first = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1245: statement executed 51 times."> 51</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1245: statement executed 51 times.">                StringTokenizer tokenizer = <span class="keyword">new</span> StringTokenizer(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1247</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1247: statement executed 51 times."> 51</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1247: statement executed 51 times.">                <span class="keyword">while</span> (tokenizer.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1248</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1248: statement executed 134 times."> 134</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1248: statement executed 134 times.">                    String token = tokenizer.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1250</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1250: statement executed 134 times."> 134</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1250: statement executed 134 times.">                    <span class="keyword">if</span> (first) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1251</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1251: statement executed 47 times."> 47</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1251: statement executed 47 times.">                        first = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1253</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1253: expression evaluated to true 0 times, false 47 times."> 47</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1253: expression evaluated to true 0 times, false 47 times.">                        <span class="keyword">if</span> (lastOutputNodeType == Node.TEXT_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1254</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1254: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1254: statement not executed.">                            writer.write(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1257: statement executed 87 times."> 87</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1257: statement executed 87 times.">                        writer.write(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1260</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1260: statement executed 134 times."> 134</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1260: statement executed 134 times.">                    writer.write(token);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1261</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1261: statement executed 134 times."> 134</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1261: statement executed 134 times.">                    lastOutputNodeType = Node.TEXT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1262</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1262: statement executed 134 times."> 134</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1262: statement executed 134 times.">                    lastChar = token.charAt(token.length() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1265</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1265: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1265: statement not executed.">                lastOutputNodeType = Node.TEXT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1266</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1266: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1266: statement not executed.">                writer.write(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1267</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1267: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1267: statement not executed.">                lastChar = text.charAt(text.length() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method is used to write out Nodes that contain text and still allow</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for xml:space to be handled properly.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1282</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1282: method entered 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1282: method entered 37643 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeNodeText(Node node) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1283</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1283: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1283: statement executed 37643 times.">        String text = node.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1285</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1285: expression evaluated to true 37643 times, false 0 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1285: expression evaluated to true 37643 times, false 0 times.">        <span class="keyword">if</span> ((text != <span class="keyword">null</span>) && (text.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1286</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1286: expression evaluated to true 37643 times, false 0 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1286: expression evaluated to true 37643 times, false 0 times.">            <span class="keyword">if</span> (escapeText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1287</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1287: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1287: statement executed 37643 times.">                text = escapeElementEntities(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1290</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1290: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1290: statement executed 37643 times.">            lastOutputNodeType = Node.TEXT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1291</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1291: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1291: statement executed 37643 times.">            writer.write(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1292</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1292: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1292: statement executed 37643 times.">            lastChar = text.charAt(text.length() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1296</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1296: method entered 56346 times."> 56346</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1296: method entered 56346 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeNode(Node node) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1297</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1297: statement executed 56346 times."> 56346</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1297: statement executed 56346 times.">        <span class="keyword">int</span> nodeType = node.getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1299</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1299: statement executed 56346 times."> 56346</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1299: statement executed 56346 times.">        <span class="keyword">switch</span> (nodeType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1300</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1300: statement executed 18034 times."> 18034</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1300: statement executed 18034 times.">            <span class="keyword">case</span> Node.ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1301</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1301: statement executed 18034 times."> 18034</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1301: statement executed 18034 times.">                writeElement((Element) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1303</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1303: statement executed 18034 times."> 18034</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1303: statement executed 18034 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1305</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1305: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1305: statement not executed.">            <span class="keyword">case</span> Node.ATTRIBUTE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1306</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1306: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1306: statement not executed.">                writeAttribute((Attribute) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1308</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1308: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1308: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1310</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1310: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1310: statement executed 37643 times.">            <span class="keyword">case</span> Node.TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1311</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1311: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1311: statement executed 37643 times.">                writeNodeText(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// write((Text) node);</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1314</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1314: statement executed 37643 times."> 37643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1314: statement executed 37643 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1316</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1316: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1316: statement executed 22 times.">            <span class="keyword">case</span> Node.CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1317</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1317: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1317: statement executed 22 times.">                writeCDATA(node.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1319</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1319: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1319: statement executed 22 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1321</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1321: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1321: statement not executed.">            <span class="keyword">case</span> Node.ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1322</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1322: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1322: statement not executed.">                writeEntity((Entity) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1324</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1324: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1324: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1326</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1326: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1326: statement executed 1 time.">            <span class="keyword">case</span> Node.PROCESSING_INSTRUCTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1327</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1327: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1327: statement executed 1 time.">                writeProcessingInstruction((ProcessingInstruction) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1329</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1329: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1329: statement executed 1 time.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1331</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1331: statement executed 447 times."> 447</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1331: statement executed 447 times.">            <span class="keyword">case</span> Node.COMMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1332</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1332: statement executed 447 times."> 447</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1332: statement executed 447 times.">                writeComment(node.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1334</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1334: statement executed 447 times."> 447</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1334: statement executed 447 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1336</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1336: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1336: statement executed 1 time.">            <span class="keyword">case</span> Node.DOCUMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1337</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1337: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1337: statement executed 1 time.">                write((Document) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1339</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1339: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1339: statement executed 1 time.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1341</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1341: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1341: statement not executed.">            <span class="keyword">case</span> Node.DOCUMENT_TYPE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1342</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1342: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1342: statement not executed.">                writeDocType((DocumentType) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1344</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1344: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1344: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1346</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1346: statement executed 198 times."> 198</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1346: statement executed 198 times.">            <span class="keyword">case</span> Node.NAMESPACE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Will be output with attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// write((Namespace) node);</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1350</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1350: statement executed 198 times."> 198</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1350: statement executed 198 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1352</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1352: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1352: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1353</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1353: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1353: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"Invalid node type: "</span> + node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1357</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1357: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1357: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> installLexicalHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1358</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1358: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1358: statement not executed.">        XMLReader parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1360</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1360: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1360: statement not executed.">        <span class="keyword">if</span> (parent == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1361</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1361: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1361: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> NullPointerException(<span class="string">"No parent for filter"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// try to register for lexical events</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1365</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1365: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1365: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1366</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1366: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1366: statement not executed.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1367</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1367: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1367: statement not executed.">                parent.setProperty(LEXICAL_HANDLER_NAMES[i], <span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1369</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1369: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1369: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (SAXNotRecognizedException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// ignore</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (SAXNotSupportedException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// ignore</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1378</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1378: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1378: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeDocType(String name, String publicID, String systemID)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1380</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1380: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1380: statement not executed.">        <span class="keyword">boolean</span> hasPublic = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1382</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1382: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1382: statement not executed.">        writer.write(<span class="string">"<!DOCTYPE "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1383</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1383: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1383: statement not executed.">        writer.write(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1385</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1385: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1385: statement not executed.">        <span class="keyword">if</span> ((publicID != <span class="keyword">null</span>) && (!publicID.equals(<span class="string">""</span>))) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1386: statement not executed.">            writer.write(<span class="string">" PUBLIC \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1387</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1387: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1387: statement not executed.">            writer.write(publicID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1388</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1388: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1388: statement not executed.">            writer.write(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1389</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1389: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1389: statement not executed.">            hasPublic = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1392</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1392: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1392: statement not executed.">        <span class="keyword">if</span> ((systemID != <span class="keyword">null</span>) && (!systemID.equals(<span class="string">""</span>))) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1393</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1393: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1393: statement not executed.">            <span class="keyword">if</span> (!hasPublic) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1394</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1394: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1394: statement not executed.">                writer.write(<span class="string">" SYSTEM"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1397</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1397: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1397: statement not executed.">            writer.write(<span class="string">" \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1398</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1398: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1398: statement not executed.">            writer.write(systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1399</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1399: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1399: statement not executed.">            writer.write(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1402</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1402: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1402: statement not executed.">        writer.write(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1403</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1403: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1403: statement not executed.">        writePrintln();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1406</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1406: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1406: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeEntity(Entity entity) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1407</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1407: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1407: statement not executed.">        <span class="keyword">if</span> (!resolveEntityRefs()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1408</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1408: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1408: statement not executed.">            writeEntityRef(entity.getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1410</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1410: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1410: statement not executed.">            writer.write(entity.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1414</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1414: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1414: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeEntityRef(String name) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1415</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1415: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1415: statement not executed.">        writer.write(<span class="string">"&"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1416: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1416: statement not executed.">        writer.write(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1417</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1417: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1417: statement not executed.">        writer.write(<span class="string">";"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1419</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1419: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1419: statement not executed.">        lastOutputNodeType = Node.ENTITY_REFERENCE_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1422</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1422: method entered 447 times."> 447</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1422: method entered 447 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeComment(String text) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1423</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1423: statement executed 447 times."> 447</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1423: statement executed 447 times.">        <span class="keyword">if</span> (format.isNewlines()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1424</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1424: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1424: statement executed 3 times.">            println();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1425</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1425: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1425: statement executed 3 times.">            indent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1428</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1428: statement executed 447 times."> 447</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1428: statement executed 447 times.">        writer.write(<span class="string">"<!--"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1429</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1429: statement executed 447 times."> 447</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1429: statement executed 447 times.">        writer.write(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1430</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1430: statement executed 447 times."> 447</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1430: statement executed 447 times.">        writer.write(<span class="string">"-->"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1432</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1432: statement executed 447 times."> 447</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1432: statement executed 447 times.">        lastOutputNodeType = Node.COMMENT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the attributes of the given element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1444</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1444: method entered 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1444: method entered 20077 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeAttributes(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// I do not yet handle the case where the same prefix maps to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// two different URIs. For attributes on the same element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// this is illegal; but as yet we don't throw an exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// if someone tries to do this</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1449</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1449: statement executed 20077 times."> 20077</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1449: statement executed 20077 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = element.attributeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1450</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1450: statement executed 4276 times."> 4276</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1450: statement executed 4276 times.">            Attribute attribute = element.attribute(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1451</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1451: statement executed 4276 times."> 4276</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1451: statement executed 4276 times.">            Namespace ns = attribute.getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1453</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1453: statement executed 4276 times."> 4276</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1453: statement executed 4276 times.">            <span class="keyword">if</span> ((ns != <span class="keyword">null</span>) && (ns != Namespace.NO_NAMESPACE)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    && (ns != Namespace.XML_NAMESPACE)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1455</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1455: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1455: statement executed 14 times.">                String prefix = ns.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1456</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1456: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1456: statement executed 14 times.">                String uri = namespaceStack.getURI(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1458</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1458: expression evaluated to true 0 times, false 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1458: expression evaluated to true 0 times, false 14 times.">                <span class="keyword">if</span> (!ns.getURI().equals(uri)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1459</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1459: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1459: statement not executed.">                    writeNamespace(ns);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1460</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1460: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1460: statement not executed.">                    namespaceStack.push(ns);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// If the attribute is a namespace declaration, check if we have</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// already written that declaration elsewhere (if that's the case,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// it must be in the namespace stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1467</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1467: statement executed 4276 times."> 4276</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1467: statement executed 4276 times.">            String attName = attribute.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1469</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1469: statement executed 4276 times."> 4276</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1469: statement executed 4276 times.">            <span class="keyword">if</span> (attName.startsWith(<span class="string">"xmlns:"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1470</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1470: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1470: statement executed 3 times.">                String prefix = attName.substring(6);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1472</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1472: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1472: statement executed 3 times.">                <span class="keyword">if</span> (namespaceStack.getNamespaceForPrefix(prefix) == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1473</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1473: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1473: statement executed 2 times.">                    String uri = attribute.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1474</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1474: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1474: statement executed 2 times.">                    namespaceStack.push(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1475</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1475: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1475: statement executed 2 times.">                    writeNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1477</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1477: statement executed 4273 times."> 4273</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1477: statement executed 4273 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (attName.equals(<span class="string">"xmlns"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1478</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1478: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1478: expression evaluated to true 0 times, false 1 time.">                <span class="keyword">if</span> (namespaceStack.getDefaultNamespace() == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1479</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1479: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1479: statement not executed.">                    String uri = attribute.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1480</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1480: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1480: statement not executed.">                    namespaceStack.push(<span class="keyword">null</span>, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1481</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1481: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1481: statement not executed.">                    writeNamespace(<span class="keyword">null</span>, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1484</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1484: statement executed 4272 times."> 4272</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1484: statement executed 4272 times.">                <span class="keyword">char</span> quote = format.getAttributeQuoteCharacter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1485</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1485: statement executed 4272 times."> 4272</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1485: statement executed 4272 times.">                writer.write(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1486</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1486: statement executed 4272 times."> 4272</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1486: statement executed 4272 times.">                writer.write(attribute.getQualifiedName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1487</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1487: statement executed 4272 times."> 4272</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1487: statement executed 4272 times.">                writer.write(<span class="string">"="</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1488</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1488: statement executed 4272 times."> 4272</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1488: statement executed 4272 times.">                writer.write(quote);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1489</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1489: statement executed 4272 times."> 4272</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1489: statement executed 4272 times.">                writeEscapeAttributeEntities(attribute.getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1490</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1490: statement executed 4272 times."> 4272</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1490: statement executed 4272 times.">                writer.write(quote);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1495</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1495: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1495: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeAttribute(Attribute attribute) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1496</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1496: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1496: statement not executed.">        writer.write(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1497</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1497: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1497: statement not executed.">        writer.write(attribute.getQualifiedName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1498</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1498: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1498: statement not executed.">        writer.write(<span class="string">"="</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1500</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1500: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1500: statement not executed.">        <span class="keyword">char</span> quote = format.getAttributeQuoteCharacter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1501</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1501: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1501: statement not executed.">        writer.write(quote);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1503</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1503: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1503: statement not executed.">        writeEscapeAttributeEntities(attribute.getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1505</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1505: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1505: statement not executed.">        writer.write(quote);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1506</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1506: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1506: statement not executed.">        lastOutputNodeType = Node.ATTRIBUTE_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1509</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1509: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1509: method entered 8 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeAttributes(Attributes attributes) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1510</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1510: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1510: statement executed 8 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = attributes.getLength(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1511</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1511: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1511: statement executed 5 times.">            writeAttribute(attributes, i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1515</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1515: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1515: method entered 5 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeAttribute(Attributes attributes, <span class="keyword">int</span> index)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1517</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1517: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1517: statement executed 5 times.">        <span class="keyword">char</span> quote = format.getAttributeQuoteCharacter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1518</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1518: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1518: statement executed 5 times.">        writer.write(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1519</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1519: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1519: statement executed 5 times.">        writer.write(attributes.getQName(index));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1520</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1520: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1520: statement executed 5 times.">        writer.write(<span class="string">"="</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1521</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1521: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1521: statement executed 5 times.">        writer.write(quote);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1522</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1522: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1522: statement executed 5 times.">        writeEscapeAttributeEntities(attributes.getValue(index));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1523</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1523: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1523: statement executed 5 times.">        writer.write(quote);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1526</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1526: method entered 24916 times."> 24916</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1526: method entered 24916 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> indent() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1527</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1527: statement executed 24916 times."> 24916</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1527: statement executed 24916 times.">        String indent = format.getIndent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1529</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1529: statement executed 24916 times."> 24916</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1529: statement executed 24916 times.">        <span class="keyword">if</span> ((indent != <span class="keyword">null</span>) && (indent.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1530</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1530: statement executed 151 times."> 151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1530: statement executed 151 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < indentLevel; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1531</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1531: statement executed 172 times."> 172</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1531: statement executed 172 times.">                writer.write(indent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will print a new line only if the newlines flag was set to true</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1544</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1544: method entered 25027 times."> 25027</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1544: method entered 25027 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writePrintln() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1545</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1545: statement executed 25027 times."> 25027</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1545: statement executed 25027 times.">        <span class="keyword">if</span> (format.isNewlines()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1546</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1546: statement executed 179 times."> 179</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1546: statement executed 179 times.">            String seperator = format.getLineSeparator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1547</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1547: statement executed 179 times."> 179</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1547: statement executed 179 times.">            <span class="keyword">if</span> (lastChar != seperator.charAt(seperator.length() - 1)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1548</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1548: statement executed 176 times."> 176</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1548: statement executed 176 times.">                writer.write(format.getLineSeparator());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1552</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1554</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Get an OutputStreamWriter, use preferred encoding.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> outStream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> encoding</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> UnsupportedEncodingException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1566</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1566: method entered 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1566: method entered 25 times.">    <span class="keyword">protected</span> Writer createWriter(OutputStream outStream, String encoding)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> UnsupportedEncodingException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1568</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1568: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1568: statement executed 25 times.">        <span class="keyword">return</span> <span class="keyword">new</span> BufferedWriter(<span class="keyword">new</span> OutputStreamWriter(outStream, encoding));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will write the declaration to the given Writer. Assumes XML version</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * 1.0 since we don't directly know.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1580</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1580: method entered 114 times."> 114</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1580: method entered 114 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeDeclaration() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1581</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1581: statement executed 114 times."> 114</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1581: statement executed 114 times.">        String encoding = format.getEncoding();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Only print of declaration is not suppressed</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1584</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1584: statement executed 114 times."> 114</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1584: statement executed 114 times.">        <span class="keyword">if</span> (!format.isSuppressDeclaration()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Assume 1.0 version</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1586</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1586: expression evaluated to true 0 times, false 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1586: expression evaluated to true 0 times, false 110 times.">            <span class="keyword">if</span> (encoding.equals(<span class="string">"UTF8"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1587</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1587: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1587: statement not executed.">                writer.write(<span class="string">"<?xml version=\"1.0\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1589</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1589: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1589: statement not executed.">                <span class="keyword">if</span> (!format.isOmitEncoding()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1590</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1590: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1590: statement not executed.">                    writer.write(<span class="string">" encoding=\"UTF-8\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1593</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1593: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1593: statement not executed.">                writer.write(<span class="string">"?>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1595</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1595: statement executed 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1595: statement executed 110 times.">                writer.write(<span class="string">"<?xml version=\"1.0\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1597</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1597: expression evaluated to true 110 times, false 0 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1597: expression evaluated to true 110 times, false 0 times.">                <span class="keyword">if</span> (!format.isOmitEncoding()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1598</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1598: statement executed 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1598: statement executed 110 times.">                    writer.write(<span class="string">" encoding=\""</span> + encoding + <span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1600</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1601</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1601: statement executed 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1601: statement executed 110 times.">                writer.write(<span class="string">"?>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1603</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1604</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1604: expression evaluated to true 110 times, false 0 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1604: expression evaluated to true 110 times, false 0 times.">            <span class="keyword">if</span> (format.isNewLineAfterDeclaration()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1605</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1605: statement executed 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1605: statement executed 110 times.">                println();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1608</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1609</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1610</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1610: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1610: method entered 8 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeClose(String qualifiedName) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1611</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1611: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1611: statement executed 8 times.">        writer.write(<span class="string">"</"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1612</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1612: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1612: statement executed 8 times.">        writer.write(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1613</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1613: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1613: statement executed 8 times.">        writer.write(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1614</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1616</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1616: method entered 299 times."> 299</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1616: method entered 299 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeEmptyElementClose(String qualifiedName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1617</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Simply close up</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1619</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1619: statement executed 299 times."> 299</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1619: statement executed 299 times.">        <span class="keyword">if</span> (!format.isExpandEmptyElements()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1620</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1620: statement executed 295 times."> 295</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1620: statement executed 295 times.">            writer.write(<span class="string">"/>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1621</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1622</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1622: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1622: statement executed 4 times.">            writer.write(<span class="string">"></"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1623</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1623: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1623: statement executed 4 times.">            writer.write(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1624</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1624: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1624: statement executed 4 times.">            writer.write(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1625</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1626</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1627</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1628</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1628: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1628: method not entered.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> isExpandEmptyElements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1629</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1629: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1629: statement not executed.">        <span class="keyword">return</span> format.isExpandEmptyElements();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1630</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1633</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will take the pre-defined entities in XML 1.0 and convert their</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1634</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * character representation to the appropriate entity reference, suitable</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for XML attributes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1637</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1638</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1639</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1642</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1642: method entered 37708 times."> 37708</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1642: method entered 37708 times.">    <span class="keyword">protected</span> String escapeElementEntities(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1643</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1643: statement executed 37708 times."> 37708</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1643: statement executed 37708 times.">        <span class="keyword">char</span>[] block = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1644</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1644: statement executed 37708 times."> 37708</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1644: statement executed 37708 times.">        <span class="keyword">int</span> i;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1645</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1645: statement executed 37708 times."> 37708</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1645: statement executed 37708 times.">        <span class="keyword">int</span> last = 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1646</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1646: statement executed 37708 times."> 37708</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1646: statement executed 37708 times.">        <span class="keyword">int</span> size = text.length();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1648</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1648: statement executed 37708 times."> 37708</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1648: statement executed 37708 times.">        <span class="keyword">for</span> (i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1649</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1649: statement executed 467325 times."> 467325</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1649: statement executed 467325 times.">            String entity = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1650</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1650: statement executed 467325 times."> 467325</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1650: statement executed 467325 times.">            <span class="keyword">char</span> c = text.charAt(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1652</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1652: statement executed 467325 times."> 467325</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1652: statement executed 467325 times.">            <span class="keyword">switch</span> (c) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1653</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1653: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1653: statement executed 93 times.">                <span class="keyword">case</span> '<':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1654</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1654: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1654: statement executed 93 times.">                    entity = <span class="string">"&lt;"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1655</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1656</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1656: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1656: statement executed 93 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1658</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1658: statement executed 84 times."> 84</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1658: statement executed 84 times.">                <span class="keyword">case</span> '>':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1659</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1659: statement executed 84 times."> 84</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1659: statement executed 84 times.">                    entity = <span class="string">"&gt;"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1660</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1661</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1661: statement executed 84 times."> 84</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1661: statement executed 84 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1663</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1663: statement executed 63 times."> 63</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1663: statement executed 63 times.">                <span class="keyword">case</span> '&':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1664</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1664: statement executed 63 times."> 63</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1664: statement executed 63 times.">                    entity = <span class="string">"&amp;"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1665</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1666</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1666: statement executed 63 times."> 63</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1666: statement executed 63 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1667</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1668</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1668: statement executed 3455 times."> 3455</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1668: statement executed 3455 times.">                <span class="keyword">case</span> '\t':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1669</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1669: statement executed 27550 times."> 27550</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1669: statement executed 27550 times.">                <span class="keyword">case</span> '\n':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1670</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1670: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1670: statement not executed.">                <span class="keyword">case</span> '\r':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1672</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// don't encode standard whitespace characters</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1673</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1673: statement executed 31005 times."> 31005</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1673: statement executed 31005 times.">                    <span class="keyword">if</span> (preserve) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1674</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1674: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1674: statement executed 2 times.">                        entity = String.valueOf(c);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1676</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1677</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1677: statement executed 31005 times."> 31005</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1677: statement executed 31005 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1679</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1679: statement executed 436080 times."> 436080</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1679: statement executed 436080 times.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1680</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1681</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1681: statement executed 436080 times."> 436080</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1681: statement executed 436080 times.">                    <span class="keyword">if</span> ((c < 32) || shouldEncodeChar(c)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1682</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1682: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1682: statement executed 1 time.">                        entity = <span class="string">"&#"</span> + (<span class="keyword">int</span>) c + <span class="string">";"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1683</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1685</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1685: statement executed 436080 times."> 436080</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1685: statement executed 436080 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1686</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1687</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1688</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1688: statement executed 467325 times."> 467325</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1688: statement executed 467325 times.">            <span class="keyword">if</span> (entity != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1689</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1689: statement executed 243 times."> 243</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1689: statement executed 243 times.">                <span class="keyword">if</span> (block == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1690</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1690: statement executed 145 times."> 145</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1690: statement executed 145 times.">                    block = text.toCharArray();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1691</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1692</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1693</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1693: statement executed 243 times."> 243</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1693: statement executed 243 times.">                buffer.append(block, last, i - last);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1694</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1694: statement executed 243 times."> 243</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1694: statement executed 243 times.">                buffer.append(entity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1695</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1695: statement executed 243 times."> 243</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1695: statement executed 243 times.">                last = i + 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1696</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1697</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1698</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1699</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1699: statement executed 37708 times."> 37708</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1699: statement executed 37708 times.">        <span class="keyword">if</span> (last == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1700</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1700: statement executed 37563 times."> 37563</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1700: statement executed 37563 times.">            <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1701</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1702</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1703</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1703: statement executed 145 times."> 145</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1703: statement executed 145 times.">        <span class="keyword">if</span> (last < size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1704</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1704: expression evaluated to true 0 times, false 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1704: expression evaluated to true 0 times, false 93 times.">            <span class="keyword">if</span> (block == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1705</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1705: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1705: statement not executed.">                block = text.toCharArray();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1706</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1707</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1708</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1708: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1708: statement executed 93 times.">            buffer.append(block, last, i - last);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1709</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1710</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1711</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1711: statement executed 145 times."> 145</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1711: statement executed 145 times.">        String answer = buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1712</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1712: statement executed 145 times."> 145</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1712: statement executed 145 times.">        buffer.setLength(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1713</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1714</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1714: statement executed 145 times."> 145</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1714: statement executed 145 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1715</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1716</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1717</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1717: method entered 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1717: method entered 4277 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> writeEscapeAttributeEntities(String txt) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1718</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1718: expression evaluated to true 4277 times, false 0 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1718: expression evaluated to true 4277 times, false 0 times.">        <span class="keyword">if</span> (txt != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1719</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1719: statement executed 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1719: statement executed 4277 times.">            String escapedText = escapeAttributeEntities(txt);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1720</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1720: statement executed 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1720: statement executed 4277 times.">            writer.write(escapedText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1721</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1722</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1723</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1724</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1725</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will take the pre-defined entities in XML 1.0 and convert their</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * character representation to the appropriate entity reference, suitable</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1727</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for XML attributes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1728</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1729</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1730</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1731</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1732</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1733</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1734</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1734: method entered 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1734: method entered 4277 times.">    <span class="keyword">protected</span> String escapeAttributeEntities(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1735</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1735: statement executed 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1735: statement executed 4277 times.">        <span class="keyword">char</span> quote = format.getAttributeQuoteCharacter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1736</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1737</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1737: statement executed 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1737: statement executed 4277 times.">        <span class="keyword">char</span>[] block = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1738</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1738: statement executed 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1738: statement executed 4277 times.">        <span class="keyword">int</span> i;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1739</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1739: statement executed 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1739: statement executed 4277 times.">        <span class="keyword">int</span> last = 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1740</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1740: statement executed 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1740: statement executed 4277 times.">        <span class="keyword">int</span> size = text.length();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1741</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1742</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1742: statement executed 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1742: statement executed 4277 times.">        <span class="keyword">for</span> (i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1743</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1743: statement executed 48016 times."> 48016</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1743: statement executed 48016 times.">            String entity = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1744</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1744: statement executed 48016 times."> 48016</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1744: statement executed 48016 times.">            <span class="keyword">char</span> c = text.charAt(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1745</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1746</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1746: statement executed 48016 times."> 48016</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1746: statement executed 48016 times.">            <span class="keyword">switch</span> (c) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1747</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1747: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1747: statement not executed.">                <span class="keyword">case</span> '<':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1748</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1748: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1748: statement not executed.">                    entity = <span class="string">"&lt;"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1749</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1750</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1750: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1750: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1751</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1752</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1752: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1752: statement not executed.">                <span class="keyword">case</span> '>':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1753</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1753: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1753: statement not executed.">                    entity = <span class="string">"&gt;"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1754</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1755</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1755: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1755: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1757</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1757: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1757: statement executed 1 time.">                <span class="keyword">case</span> '\'':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1758</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1759</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1759: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1759: expression evaluated to true 0 times, false 1 time.">                    <span class="keyword">if</span> (quote == '\'') {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1760</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1760: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1760: statement not executed.">                        entity = <span class="string">"&apos;"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1761</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1762</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1763</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1763: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1763: statement executed 1 time.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1764</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1765</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1765: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1765: statement not executed.">                <span class="keyword">case</span> '\"':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1766</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1767</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1767: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1767: statement not executed.">                    <span class="keyword">if</span> (quote == '\"') {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1768</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1768: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1768: statement not executed.">                        entity = <span class="string">"&quot;"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1769</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1770</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1771</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1771: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1771: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1772</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1773</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1773: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1773: statement not executed.">                <span class="keyword">case</span> '&':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1774</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1774: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1774: statement not executed.">                    entity = <span class="string">"&amp;"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1775</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1776</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1776: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1776: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1777</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1778</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1778: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1778: statement not executed.">                <span class="keyword">case</span> '\t':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1779</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1779: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1779: statement not executed.">                <span class="keyword">case</span> '\n':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1780</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1780: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1780: statement not executed.">                <span class="keyword">case</span> '\r':</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1781</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1782</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// don't encode standard whitespace characters</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1783</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1783: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1783: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1784</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1785</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1785: statement executed 48015 times."> 48015</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1785: statement executed 48015 times.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1786</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1787</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1787: expression evaluated to true 0 times, false 48015 times."> 48015</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1787: expression evaluated to true 0 times, false 48015 times.">                    <span class="keyword">if</span> ((c < 32) || shouldEncodeChar(c)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1788</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1788: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1788: statement not executed.">                        entity = <span class="string">"&#"</span> + (<span class="keyword">int</span>) c + <span class="string">";"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1789</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1790</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1791</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1791: statement executed 48015 times."> 48015</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1791: statement executed 48015 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1792</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1793</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1794</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1794: expression evaluated to true 0 times, false 48016 times."> 48016</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1794: expression evaluated to true 0 times, false 48016 times.">            <span class="keyword">if</span> (entity != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1795</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1795: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1795: statement not executed.">                <span class="keyword">if</span> (block == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1796</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1796: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1796: statement not executed.">                    block = text.toCharArray();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1797</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1798</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1799</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1799: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1799: statement not executed.">                buffer.append(block, last, i - last);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1800</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1800: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1800: statement not executed.">                buffer.append(entity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1801</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1801: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1801: statement not executed.">                last = i + 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1802</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1803</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1804</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1805</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1805: expression evaluated to true 4277 times, false 0 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1805: expression evaluated to true 4277 times, false 0 times.">        <span class="keyword">if</span> (last == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1806</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1806: statement executed 4277 times."> 4277</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1806: statement executed 4277 times.">            <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1807</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1808</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1809</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1809: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1809: statement not executed.">        <span class="keyword">if</span> (last < size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1810</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1810: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1810: statement not executed.">            <span class="keyword">if</span> (block == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1811</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1811: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1811: statement not executed.">                block = text.toCharArray();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1812</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1813</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1814</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1814: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1814: statement not executed.">            buffer.append(block, last, i - last);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1815</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1816</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1817</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1817: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1817: statement not executed.">        String answer = buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1818</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1818: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1818: statement not executed.">        buffer.setLength(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1819</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1820</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1820: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1820: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1821</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1822</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1823</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1824</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Should the given character be escaped. This depends on the encoding of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1825</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1826</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1827</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> c</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1828</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1829</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1830</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> boolean</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1831</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1832</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1832: method entered 484095 times."> 484095</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1832: method entered 484095 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> shouldEncodeChar(<span class="keyword">char</span> c) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1833</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1833: statement executed 484095 times."> 484095</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1833: statement executed 484095 times.">        <span class="keyword">int</span> max = getMaximumAllowedCharacter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1834</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1835</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1835: statement executed 484095 times."> 484095</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1835: statement executed 484095 times.">        <span class="keyword">return</span> (max > 0) && (c > max);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1836</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1837</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1838</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1839</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the maximum allowed character code that should be allowed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1840</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1841</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * bit).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1842</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1843</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1844</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1845</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1845: method entered 2147 times."> 2147</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1845: method entered 2147 times.">    <span class="keyword">protected</span> <span class="keyword">int</span> defaultMaximumAllowedCharacter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1846</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1846: statement executed 2147 times."> 2147</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1846: statement executed 2147 times.">        String encoding = format.getEncoding();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1847</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1848</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1848: expression evaluated to true 2147 times, false 0 times."> 2147</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1848: expression evaluated to true 2147 times, false 0 times.">        <span class="keyword">if</span> (encoding != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1849</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1849: expression evaluated to true 0 times, false 2147 times."> 2147</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1849: expression evaluated to true 0 times, false 2147 times.">            <span class="keyword">if</span> (encoding.equals(<span class="string">"US-ASCII"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1850</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1850: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1850: statement not executed.">                <span class="keyword">return</span> 127;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1851</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1852</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1853</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1854</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// no encoding for things like ISO-*, UTF-8 or UTF-16</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1855</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1855: statement executed 2147 times."> 2147</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1855: statement executed 2147 times.">        <span class="keyword">return</span> -1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1856</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1857</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1858</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1858: method entered 20275 times."> 20275</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1858: method entered 20275 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> isNamespaceDeclaration(Namespace ns) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1859</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1859: expression evaluated to true 20275 times, false 0 times."> 20275</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1859: expression evaluated to true 20275 times, false 0 times.">        <span class="keyword">if</span> ((ns != <span class="keyword">null</span>) && (ns != Namespace.XML_NAMESPACE)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1860</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1860: statement executed 20275 times."> 20275</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1860: statement executed 20275 times.">            String uri = ns.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1861</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1862</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1862: expression evaluated to true 20275 times, false 0 times."> 20275</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1862: expression evaluated to true 20275 times, false 0 times.">            <span class="keyword">if</span> (uri != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1863</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1863: statement executed 20275 times."> 20275</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1863: statement executed 20275 times.">                <span class="keyword">if</span> (!namespaceStack.contains(ns)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1864</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1864: statement executed 618 times."> 618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1864: statement executed 618 times.">                    <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1865</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1866</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1867</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1868</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1869</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1869: statement executed 19657 times."> 19657</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1869: statement executed 19657 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1870</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1871</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1872</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1872: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1872: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> handleException(IOException e) <span class="keyword">throws</span> SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1873</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1873: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1873: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> SAXException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1874</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1875</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1876</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Laramie Crocker 4/8/2002 10:38AM</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1877</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1878</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1879</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Lets subclasses get at the current format object, so they can call</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1880</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * setTrimText, setNewLines, etc. Put in to support the HTMLWriter, in the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1881</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * way that it pushes the current newline/trim state onto a stack and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1882</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * overrides the state within preformatted tags.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1883</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1884</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1885</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1886</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1886: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1886: method entered 7 times.">    <span class="keyword">protected</span> OutputFormat getOutputFormat() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1887</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1887: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1887: statement executed 7 times.">        <span class="keyword">return</span> format;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1888</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1889</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1890</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1890: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1890: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> resolveEntityRefs() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1891</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1891: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1891: statement not executed.">        <span class="keyword">return</span> resolveEntityRefs;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1892</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1893</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1894</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1894: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1894: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setResolveEntityRefs(<span class="keyword">boolean</span> resolve) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1895</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1895: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1895: statement not executed.">        <span class="keyword">this</span>.resolveEntityRefs = resolve;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1896</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1897</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1898</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1899</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1900</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1901</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1902</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1903</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1904</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1905</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1906</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1907</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1908</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1909</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1910</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1911</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1912</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1913</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1914</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1915</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1916</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1917</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1918</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1919</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1920</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1921</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1922</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1923</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1924</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1925</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1926</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1927</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1928</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1929</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1930</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1931</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1932</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1933</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1934</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/XPP3Reader.html b/docs/clover/org/dom4j/io/XPP3Reader.html
new file mode 100644
index 0000000..328b8ba
--- /dev/null
+++ b/docs/clover/org/dom4j/io/XPP3Reader.html
@@ -0,0 +1,2373 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ XPP3Reader.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XPP3Reader.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">541</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">22</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">213</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XPP3Reader.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">34,4%</TD>
+    <TD class="graphPercent" align="center">53,1%</TD>
+    <TD class="graphPercent" align="center">36,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>46,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="93" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="107" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.BufferedReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.CharArrayReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.File;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStreamReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Reader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.net.URL;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xmlpull.v1.XmlPullParser;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xmlpull.v1.XmlPullParserException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xmlpull.v1.XmlPullParserFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XPP3Reader</code> is a Reader of DOM4J documents that uses the fast</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <a href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 3.x </a>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * It is very fast for use in SOAP style environments.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:pelle at neubia.com">Pelle Braendgaard </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.3 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XPP3Reader"> 42</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XPP3Reader {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>DocumentFactory</code> used to create new document objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory factory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>XmlPullParser</code> used to parse XML */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XmlPullParser xppParser;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>XmlPullParser</code> used to parse XML */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XmlPullParserFactory xppFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** DispatchHandler to call when each <code>Element</code> is encountered */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DispatchHandler dispatchHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: method entered 2 times.">    <span class="keyword">public</span> XPP3Reader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: method not entered.">    <span class="keyword">public</span> XPP3Reader(DocumentFactory factory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        <span class="keyword">this</span>.factory = factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>File</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> file</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>File</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if a URL could not be made for the given File</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: method entered 2 times.">    <span class="keyword">public</span> Document read(File file) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 2 times.">        String systemID = file.getAbsolutePath();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: statement executed 2 times.">        <span class="keyword">return</span> read(<span class="keyword">new</span> BufferedReader(<span class="keyword">new</span> FileReader(file)), systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>URL</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> url</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>URL</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: method not entered.">    <span class="keyword">public</span> Document read(URL url) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">        String systemID = url.toExternalForm();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">        <span class="keyword">return</span> read(createReader(url.openStream()), systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given URL or filename.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If the systemID contains a <code>':'</code> character then it is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * assumed to be a URL otherwise its assumed to be a file name. If you want</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * finer grained control over this mechansim then please explicitly pass in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * either a {@link URL}or a {@link File}instance instead of a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * String} to denote the source of the document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is a URL for a document or a file name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if a URL could not be made for the given File</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: method not entered.">    <span class="keyword">public</span> Document read(String systemID) <span class="keyword">throws</span> DocumentException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            IOException, XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">if</span> (systemID.indexOf(':') >= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// lets assume its a URL</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">            <span class="keyword">return</span> read(<span class="keyword">new</span> URL(systemID));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// lets assume that we are given a file name</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">            <span class="keyword">return</span> read(<span class="keyword">new</span> File(systemID));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>InputStream</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: method not entered.">    <span class="keyword">public</span> Document read(InputStream in) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">        <span class="keyword">return</span> read(createReader(in));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>Reader</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the reader for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 185: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: method entered 2 times.">    <span class="keyword">public</span> Document read(Reader reader) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 2 times.">        getXPPParser().setInput(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 2 times.">        <span class="keyword">return</span> parseDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given array of characters</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: method not entered.">    <span class="keyword">public</span> Document read(<span class="keyword">char</span>[] text) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">        getXPPParser().setInput(<span class="keyword">new</span> CharArrayReader(text));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: statement not executed.">        <span class="keyword">return</span> parseDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>InputStream</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: method not entered.">    <span class="keyword">public</span> Document read(InputStream in, String systemID)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException, IOException, XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: statement not executed.">        <span class="keyword">return</span> read(createReader(in), systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>Reader</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the reader for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 259: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 259: method entered 2 times.">    <span class="keyword">public</span> Document read(Reader reader, String systemID)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException, IOException, XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 261: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 261: statement executed 2 times.">        Document document = read(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 262: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 262: statement executed 2 times.">        document.setName(systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 264: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 264: statement executed 2 times.">        <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 269: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 269: method entered 4 times.">    <span class="keyword">public</span> XmlPullParser getXPPParser() <span class="keyword">throws</span> XmlPullParserException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: statement executed 4 times.">        <span class="keyword">if</span> (xppParser == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: statement executed 2 times.">            xppParser = getXPPFactory().newPullParser();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 274: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 274: statement executed 4 times.">        <span class="keyword">return</span> xppParser;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 277: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 277: method entered 2 times.">    <span class="keyword">public</span> XmlPullParserFactory getXPPFactory() <span class="keyword">throws</span> XmlPullParserException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 278: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 278: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> (xppFactory == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 279: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 279: statement executed 2 times.">            xppFactory = XmlPullParserFactory.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 282: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 282: statement executed 2 times.">        xppFactory.setNamespaceAware(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 284: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 284: statement executed 2 times.">        <span class="keyword">return</span> xppFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 287: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXPPFactory(XmlPullParserFactory xPPfactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 288: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 288: statement not executed.">        <span class="keyword">this</span>.xppFactory = xPPfactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>DocumentFactory</code> used to create document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 297: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 297: method entered 2 times.">    <span class="keyword">public</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 298: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 298: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> (factory == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 299: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 299: statement executed 2 times.">            factory = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 302: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 302: statement executed 2 times.">        <span class="keyword">return</span> factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This sets the <code>DocumentFactory</code> used to create new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * documents. This method allows the building of custom DOM4J tree objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to be implemented easily using a custom derivation of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link DocumentFactory}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> documentFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>DocumentFactory</code> used to create DOM4J objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 316</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 316: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 316: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 317: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 317: statement not executed.">        <span class="keyword">this</span>.factory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the <code>ElementHandler</code> to be called when the specified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path is encounted.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to be handled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 330</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 330: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 330: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addHandler(String path, ElementHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 331</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 331: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 331: statement not executed.">        getDispatchHandler().addHandler(path, handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the <code>ElementHandler</code> from the event based processor,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for the specified path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to remove the <code>ElementHandler</code> for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 341</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 341: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 341: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeHandler(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 342: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 342: statement not executed.">        getDispatchHandler().removeHandler(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * When multiple <code>ElementHandler</code> instances have been</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * registered, this will set a default <code>ElementHandler</code> to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * called for any path which does <b>NOT </b> have a handler registered.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 354</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 354: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 354: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDefaultHandler(ElementHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 355</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 355: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 355: statement not executed.">        getDispatchHandler().setDefaultHandler(handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 360: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 360: method entered 2 times.">    <span class="keyword">protected</span> Document parseDocument() <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 362: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 362: statement executed 2 times.">        DocumentFactory df = getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 363</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 363: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 363: statement executed 2 times.">        Document document = df.createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 364</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 364: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 364: statement executed 2 times.">        Element parent = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 365: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 365: statement executed 2 times.">        XmlPullParser pp = getXPPParser();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 366: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 366: statement executed 2 times.">        pp.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, <span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 368: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 368: statement executed 2 times.">        <span class="keyword">while</span> (<span class="keyword">true</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 369</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 369: statement executed 72 times."> 72</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 369: statement executed 72 times.">            <span class="keyword">int</span> type = pp.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 371</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 371: statement executed 72 times."> 72</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 371: statement executed 72 times.">            <span class="keyword">switch</span> (type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 372: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 372: statement not executed.">                <span class="keyword">case</span> XmlPullParser.PROCESSING_INSTRUCTION: {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 373</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 373: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 373: statement not executed.">                    String text = pp.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 374: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 374: statement not executed.">                    <span class="keyword">int</span> loc = text.indexOf(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 376</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 376: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 376: statement not executed.">                    <span class="keyword">if</span> (loc >= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 377</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 377: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 377: statement not executed.">                        String target = text.substring(0, loc);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 378</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 378: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 378: statement not executed.">                        String txt = text.substring(loc + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 379</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 379: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 379: statement not executed.">                        document.addProcessingInstruction(target, txt);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 381</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 381: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 381: statement not executed.">                        document.addProcessingInstruction(text, <span class="string">""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 384</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 384: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 384: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 387: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 387: statement not executed.">                <span class="keyword">case</span> XmlPullParser.COMMENT: {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 388</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 388: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 388: statement not executed.">                    <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 389</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 389: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 389: statement not executed.">                        parent.addComment(pp.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 391</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 391: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 391: statement not executed.">                        document.addComment(pp.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 394</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 394: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 394: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 397</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 397: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 397: statement not executed.">                <span class="keyword">case</span> XmlPullParser.CDSECT: {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 398</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 398: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 398: statement not executed.">                    <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 399</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 399: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 399: statement not executed.">                        parent.addCDATA(pp.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 401</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 401: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 401: statement not executed.">                        String msg = <span class="string">"Cannot have text content outside of the "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + <span class="string">"root document"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 403</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 403: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 403: statement not executed.">                        <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 406</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 406: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 406: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 409</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 409: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 409: statement executed 2 times.">                <span class="keyword">case</span> XmlPullParser.ENTITY_REF:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 410</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 410: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 410: statement executed 2 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 412: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 412: statement executed 2 times.">                <span class="keyword">case</span> XmlPullParser.END_DOCUMENT:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 413</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 413: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 413: statement executed 2 times.">                    <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 415: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 415: statement executed 16 times.">                <span class="keyword">case</span> XmlPullParser.START_TAG: {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 416: expression evaluated to true 16 times, false 0 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 416: expression evaluated to true 16 times, false 0 times.">                    QName qname = (pp.getPrefix() == <span class="keyword">null</span>) ? df.createQName(pp</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getName(), pp.getNamespace()) : df.createQName(pp</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .getName(), pp.getPrefix(), pp.getNamespace());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 419</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 419: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 419: statement executed 16 times.">                    Element newElement = df.createElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 420</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 420: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 420: statement executed 16 times.">                    <span class="keyword">int</span> nsStart = pp.getNamespaceCount(pp.getDepth() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 421</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 421: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 421: statement executed 16 times.">                    <span class="keyword">int</span> nsEnd = pp.getNamespaceCount(pp.getDepth());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 423</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 423: expression evaluated to true 0 times, false 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 423: expression evaluated to true 0 times, false 16 times.">                    <span class="keyword">for</span> (<span class="keyword">int</span> i = nsStart; i < nsEnd; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 424</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 424: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 424: statement not executed.">                        <span class="keyword">if</span> (pp.getNamespacePrefix(i) != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 425</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 425: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 425: statement not executed.">                            newElement.addNamespace(pp.getNamespacePrefix(i),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    pp.getNamespaceUri(i));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 430</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 430: expression evaluated to true 0 times, false 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 430: expression evaluated to true 0 times, false 16 times.">                    <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < pp.getAttributeCount(); i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 431</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 431: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 431: statement not executed.">                        QName qa = (pp.getAttributePrefix(i) == <span class="keyword">null</span>) ? df</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                .createQName(pp.getAttributeName(i)) : df</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                .createQName(pp.getAttributeName(i), pp</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                        .getAttributePrefix(i), pp</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                        .getAttributeNamespace(i));</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 436</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 436: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 436: statement not executed.">                        newElement.addAttribute(qa, pp.getAttributeValue(i));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 439: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 439: statement executed 16 times.">                    <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 440</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 440: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 440: statement executed 14 times.">                        parent.add(newElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 442</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 442: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 442: statement executed 2 times.">                        document.add(newElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 445</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 445: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 445: statement executed 16 times.">                    parent = newElement;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 447</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 447: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 447: statement executed 16 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 450</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 450: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 450: statement executed 16 times.">                <span class="keyword">case</span> XmlPullParser.END_TAG: {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 451</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 451: expression evaluated to true 16 times, false 0 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 451: expression evaluated to true 16 times, false 0 times.">                    <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 452</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 452: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 452: statement executed 16 times.">                        parent = parent.getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 455</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 455: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 455: statement executed 16 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 458</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 458: statement executed 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 458: statement executed 32 times.">                <span class="keyword">case</span> XmlPullParser.TEXT: {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 459</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 459: statement executed 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 459: statement executed 32 times.">                    String text = pp.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 461</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 461: expression evaluated to true 32 times, false 0 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 461: expression evaluated to true 32 times, false 0 times.">                    <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 462</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 462: statement executed 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 462: statement executed 32 times.">                        parent.addText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 464</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 464: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 464: statement not executed.">                        String msg = <span class="string">"Cannot have text content outside of the "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + <span class="string">"root document"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 466</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 466: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 466: statement not executed.">                        <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 469</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 469: statement executed 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 469: statement executed 32 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 472</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 472: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 472: statement executed 4 times.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 473</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 473: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 473: statement executed 4 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 478</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 478: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 478: method not entered.">    <span class="keyword">protected</span> DispatchHandler getDispatchHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 479</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 479: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 479: statement not executed.">        <span class="keyword">if</span> (dispatchHandler == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 480</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 480: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 480: statement not executed.">            dispatchHandler = <span class="keyword">new</span> DispatchHandler();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 483</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 483: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 483: statement not executed.">        <span class="keyword">return</span> dispatchHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 486</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 486: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 486: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> setDispatchHandler(DispatchHandler dispatchHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 487</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 487: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 487: statement not executed.">        <span class="keyword">this</span>.dispatchHandler = dispatchHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create a Reader from the given InputStream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 501</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 501: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 501: method not entered.">    <span class="keyword">protected</span> Reader createReader(InputStream in) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 502</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 502: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 502: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> BufferedReader(<span class="keyword">new</span> InputStreamReader(in));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/XPPReader.html b/docs/clover/org/dom4j/io/XPPReader.html
new file mode 100644
index 0000000..3361086
--- /dev/null
+++ b/docs/clover/org/dom4j/io/XPPReader.html
@@ -0,0 +1,2113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ io\ XPPReader.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XPPReader.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">484</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">22</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">164</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XPPReader.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.io;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.BufferedReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.File;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStreamReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Reader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.net.URL;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.xpp.ProxyXmlStartTag;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.gjt.xpp.XmlEndTag;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.gjt.xpp.XmlPullParser;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.gjt.xpp.XmlPullParserException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.gjt.xpp.XmlPullParserFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XPPReader</code> is a Reader of DOM4J documents that uses the fast <a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 2.x </a>. It</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * does not currently support comments, CDATA or ProcessingInstructions or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * validation but it is very fast for use in SOAP style environments.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XPPReader"> 42</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XPPReader {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>DocumentFactory</code> used to create new document objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory factory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>XmlPullParser</code> used to parse XML */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XmlPullParser xppParser;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** <code>XmlPullParser</code> used to parse XML */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XmlPullParserFactory xppFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** DispatchHandler to call when each <code>Element</code> is encountered */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DispatchHandler dispatchHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: method not entered.">    <span class="keyword">public</span> XPPReader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: method not entered.">    <span class="keyword">public</span> XPPReader(DocumentFactory factory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        <span class="keyword">this</span>.factory = factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>File</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> file</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>File</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if a URL could not be made for the given File</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: method not entered.">    <span class="keyword">public</span> Document read(File file) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        String systemID = file.getAbsolutePath();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        <span class="keyword">return</span> read(<span class="keyword">new</span> BufferedReader(<span class="keyword">new</span> FileReader(file)), systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>URL</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> url</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>URL</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: method not entered.">    <span class="keyword">public</span> Document read(URL url) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">        String systemID = url.toExternalForm();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">        <span class="keyword">return</span> read(createReader(url.openStream()), systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given URL or filename.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If the systemID contains a <code>':'</code> character then it is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * assumed to be a URL otherwise its assumed to be a file name. If you want</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * finer grained control over this mechansim then please explicitly pass in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * either a {@link URL}or a {@link File}instance instead of a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * String} to denote the source of the document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is a URL for a document or a file name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if a URL could not be made for the given File</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: method not entered.">    <span class="keyword">public</span> Document read(String systemID) <span class="keyword">throws</span> DocumentException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            IOException, XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">if</span> (systemID.indexOf(':') >= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// lets assume its a URL</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">            <span class="keyword">return</span> read(<span class="keyword">new</span> URL(systemID));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// lets assume that we are given a file name</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">            <span class="keyword">return</span> read(<span class="keyword">new</span> File(systemID));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>InputStream</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: method not entered.">    <span class="keyword">public</span> Document read(InputStream in) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">        <span class="keyword">return</span> read(createReader(in));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>Reader</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the reader for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 185: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 185: method not entered.">    <span class="keyword">public</span> Document read(Reader reader) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 187: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 187: statement not executed.">        getXPPParser().setInput(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">        <span class="keyword">return</span> parseDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given array of characters</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: method not entered.">    <span class="keyword">public</span> Document read(<span class="keyword">char</span>[] text) <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">        getXPPParser().setInput(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: statement not executed.">        <span class="keyword">return</span> parseDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given stream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>InputStream</code> to read from.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: method not entered.">    <span class="keyword">public</span> Document read(InputStream in, String systemID)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException, IOException, XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: statement not executed.">        <span class="keyword">return</span> read(createReader(in), systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reads a Document from the given <code>Reader</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the reader for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the newly created Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occurs during parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: method not entered.">    <span class="keyword">public</span> Document read(Reader reader, String systemID)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException, IOException, XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 261: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 261: statement not executed.">        Document document = read(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 262: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 262: statement not executed.">        document.setName(systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 264: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 264: statement not executed.">        <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 269: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 269: method not entered.">    <span class="keyword">public</span> XmlPullParser getXPPParser() <span class="keyword">throws</span> XmlPullParserException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 270: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 270: statement not executed.">        <span class="keyword">if</span> (xppParser == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 271: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 271: statement not executed.">            xppParser = getXPPFactory().newPullParser();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 274: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: statement not executed.">        <span class="keyword">return</span> xppParser;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 277: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 277: method not entered.">    <span class="keyword">public</span> XmlPullParserFactory getXPPFactory() <span class="keyword">throws</span> XmlPullParserException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 278: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 278: statement not executed.">        <span class="keyword">if</span> (xppFactory == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 279: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: statement not executed.">            xppFactory = XmlPullParserFactory.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 282: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 282: statement not executed.">        <span class="keyword">return</span> xppFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 285</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 285: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 285: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXPPFactory(XmlPullParserFactory xPPFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 286</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 286: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 286: statement not executed.">        <span class="keyword">this</span>.xppFactory = xPPFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>DocumentFactory</code> used to create document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 295: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 295: method not entered.">    <span class="keyword">public</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 296: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 296: statement not executed.">        <span class="keyword">if</span> (factory == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 297: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 297: statement not executed.">            factory = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 300: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: statement not executed.">        <span class="keyword">return</span> factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This sets the <code>DocumentFactory</code> used to create new</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * documents. This method allows the building of custom DOM4J tree objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to be implemented easily using a custom derivation of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link DocumentFactory}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> documentFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>DocumentFactory</code> used to create DOM4J objects</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 314: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 314: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 315: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 315: statement not executed.">        <span class="keyword">this</span>.factory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the <code>ElementHandler</code> to be called when the specified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path is encounted.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to be handled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 328: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 328: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addHandler(String path, ElementHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 329</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 329: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 329: statement not executed.">        getDispatchHandler().addHandler(path, handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the <code>ElementHandler</code> from the event based processor,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for the specified path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to remove the <code>ElementHandler</code> for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 339: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 339: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeHandler(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 340: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: statement not executed.">        getDispatchHandler().removeHandler(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * When multiple <code>ElementHandler</code> instances have been</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * registered, this will set a default <code>ElementHandler</code> to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * called for any path which does <b>NOT </b> have a handler registered.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 352: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 352: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDefaultHandler(ElementHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 353: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 353: statement not executed.">        getDispatchHandler().setDefaultHandler(handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 358</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 358: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 358: method not entered.">    <span class="keyword">protected</span> Document parseDocument() <span class="keyword">throws</span> DocumentException, IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 360: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 360: statement not executed.">        Document document = getDocumentFactory().createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 361</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 361: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 361: statement not executed.">        Element parent = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 362: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 362: statement not executed.">        XmlPullParser parser = getXPPParser();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 363</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 363: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 363: statement not executed.">        parser.setNamespaceAware(<span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 365: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 365: statement not executed.">        ProxyXmlStartTag startTag = <span class="keyword">new</span> ProxyXmlStartTag();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 366: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 366: statement not executed.">        XmlEndTag endTag = xppFactory.newEndTag();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 368: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 368: statement not executed.">        <span class="keyword">while</span> (<span class="keyword">true</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 369</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 369: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 369: statement not executed.">            <span class="keyword">int</span> type = parser.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 371</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 371: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 371: statement not executed.">            <span class="keyword">switch</span> (type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 372: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 372: statement not executed.">                <span class="keyword">case</span> XmlPullParser.END_DOCUMENT:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 373</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 373: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 373: statement not executed.">                    <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 375</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 375: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 375: statement not executed.">                <span class="keyword">case</span> XmlPullParser.START_TAG: {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 376</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 376: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 376: statement not executed.">                    parser.readStartTag(startTag);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 378</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 378: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 378: statement not executed.">                    Element newElement = startTag.getElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 380</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 380: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 380: statement not executed.">                    <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 381</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 381: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 381: statement not executed.">                        parent.add(newElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 383</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 383: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 383: statement not executed.">                        document.add(newElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">                    parent = newElement;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 388</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 388: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 388: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 391</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 391: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 391: statement not executed.">                <span class="keyword">case</span> XmlPullParser.END_TAG: {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 392</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 392: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 392: statement not executed.">                    parser.readEndTag(endTag);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 394</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 394: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 394: statement not executed.">                    <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 395</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 395: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 395: statement not executed.">                        parent = parent.getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 398</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 398: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 398: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 401</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 401: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 401: statement not executed.">                <span class="keyword">case</span> XmlPullParser.CONTENT: {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 402</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 402: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 402: statement not executed.">                    String text = parser.readContent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 404</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 404: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 404: statement not executed.">                    <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 405</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 405: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 405: statement not executed.">                        parent.addText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 407</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 407: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 407: statement not executed.">                        String msg = <span class="string">"Cannot have text content outside of the "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                + <span class="string">"root document"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 409</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 409: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 409: statement not executed.">                        <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 412: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 412: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 415: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 415: statement not executed.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 416: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 416: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(<span class="string">"Error: unknown type: "</span> + type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 421</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 421: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 421: method not entered.">    <span class="keyword">protected</span> DispatchHandler getDispatchHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 422</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 422: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 422: statement not executed.">        <span class="keyword">if</span> (dispatchHandler == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 423</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 423: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 423: statement not executed.">            dispatchHandler = <span class="keyword">new</span> DispatchHandler();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 426</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 426: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 426: statement not executed.">        <span class="keyword">return</span> dispatchHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 429</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 429: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 429: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> setDispatchHandler(DispatchHandler dispatchHandler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 430</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 430: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 430: statement not executed.">        <span class="keyword">this</span>.dispatchHandler = dispatchHandler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create a Reader from the given InputStream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 444</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 444: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 444: method not entered.">    <span class="keyword">protected</span> Reader createReader(InputStream in) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 445</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 445: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 445: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> BufferedReader(<span class="keyword">new</span> InputStreamReader(in));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/io/pkg-classes.html b/docs/clover/org/dom4j/io/pkg-classes.html
new file mode 100644
index 0000000..6dba2aa
--- /dev/null
+++ b/docs/clover/org/dom4j/io/pkg-classes.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.io">org.dom4j.io</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="DOMReader.html" title="DOMReader">DOMReader</A>
+    	    <i>(78,2%)</i><BR>
+    
+                <A target="classPane" href="DOMWriter.html" title="DOMWriter">DOMWriter</A>
+    	    <i>(67,2%)</i><BR>
+    
+                <A target="classPane" href="DispatchHandler.html" title="DispatchHandler">DispatchHandler</A>
+    	    <i>(62,9%)</i><BR>
+    
+                <A target="classPane" href="DocumentInputSource.html" title="DocumentInputSource">DocumentInputSource</A>
+    	    <i>(22,7%)</i><BR>
+    
+                <A target="classPane" href="DocumentResult.html" title="DocumentResult">DocumentResult</A>
+    	    <i>(40%)</i><BR>
+    
+                <A target="classPane" href="DocumentSource.html" title="DocumentSource">DocumentSource</A>
+    	    <i>(16,7%)</i><BR>
+      
+                <A target="classPane" href="ElementStack.html" title="ElementStack">ElementStack</A>
+    	    <i>(35,2%)</i><BR>
+    
+                <A target="classPane" href="HTMLWriter.html" title="HTMLWriter">HTMLWriter</A>
+    	    <i>(37,3%)</i><BR>
+    
+                <A target="classPane" href="HTMLWriter.html#FormatState" title="HTMLWriter.FormatState">HTMLWriter.FormatState</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="JAXPHelper.html" title="JAXPHelper">JAXPHelper</A>
+    	    <i>(92,3%)</i><BR>
+    
+                <A target="classPane" href="OutputFormat.html" title="OutputFormat">OutputFormat</A>
+    	    <i>(51,7%)</i><BR>
+    
+                <A target="classPane" href="PruningDispatchHandler.html" title="PruningDispatchHandler">PruningDispatchHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="PruningElementStack.html" title="PruningElementStack">PruningElementStack</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SAXContentHandler.html" title="SAXContentHandler">SAXContentHandler</A>
+    	    <i>(73,8%)</i><BR>
+    
+                <A target="classPane" href="SAXEventRecorder.html" title="SAXEventRecorder">SAXEventRecorder</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SAXEventRecorder.html#SAXEvent" title="SAXEventRecorder.SAXEvent">SAXEventRecorder.SAXEvent</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SAXHelper.html" title="SAXHelper">SAXHelper</A>
+    	    <i>(40,4%)</i><BR>
+    
+                <A target="classPane" href="SAXModifier.html" title="SAXModifier">SAXModifier</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SAXModifyContentHandler.html" title="SAXModifyContentHandler">SAXModifyContentHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SAXModifyElementHandler.html" title="SAXModifyElementHandler">SAXModifyElementHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SAXModifyException.html" title="SAXModifyException">SAXModifyException</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SAXModifyReader.html" title="SAXModifyReader">SAXModifyReader</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SAXReader.html" title="SAXReader">SAXReader</A>
+    	    <i>(58,4%)</i><BR>
+    
+                <A target="classPane" href="SAXReader.html#SAXEntityResolver" title="SAXReader.SAXEntityResolver">SAXReader.SAXEntityResolver</A>
+    	    <i>(90,9%)</i><BR>
+    
+                <A target="classPane" href="SAXValidator.html" title="SAXValidator">SAXValidator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SAXWriter.html" title="SAXWriter">SAXWriter</A>
+    	    <i>(63,6%)</i><BR>
+    
+                <A target="classPane" href="STAXEventReader.html" title="STAXEventReader">STAXEventReader</A>
+    	    <i>(43,1%)</i><BR>
+    
+                <A target="classPane" href="STAXEventWriter.html" title="STAXEventWriter">STAXEventWriter</A>
+    	    <i>(36,2%)</i><BR>
+    
+                <A target="classPane" href="STAXEventWriter.html#AttributeIterator" title="STAXEventWriter.AttributeIterator">STAXEventWriter.AttributeIterator</A>
+    	    <i>(36,4%)</i><BR>
+    
+                <A target="classPane" href="STAXEventWriter.html#NamespaceIterator" title="STAXEventWriter.NamespaceIterator">STAXEventWriter.NamespaceIterator</A>
+    	    <i>(36,4%)</i><BR>
+    
+                <A target="classPane" href="XMLResult.html" title="XMLResult">XMLResult</A>
+    	    <i>(41,7%)</i><BR>
+    
+                <A target="classPane" href="XMLWriter.html" title="XMLWriter">XMLWriter</A>
+    	    <i>(62,3%)</i><BR>
+    
+                <A target="classPane" href="XPP3Reader.html" title="XPP3Reader">XPP3Reader</A>
+    	    <i>(46,7%)</i><BR>
+    
+                <A target="classPane" href="XPPReader.html" title="XPPReader">XPPReader</A>
+    	    <i>(0%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/io/pkg-summary.html b/docs/clover/org/dom4j/io/pkg-summary.html
new file mode 100644
index 0000000..15f83cc
--- /dev/null
+++ b/docs/clover/org/dom4j/io/pkg-summary.html
@@ -0,0 +1,819 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">12.958</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">643</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">5.575</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">35</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">30</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.io
+	    </TD>
+   
+    <TD class="graphPercent" align="center">46,3%</TD>
+    <TD class="graphPercent" align="center">47,8%</TD>
+    <TD class="graphPercent" align="center">44,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>46,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="93" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="107" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="HTMLWriter.html#FormatState" title="HTMLWriter.FormatState">HTMLWriter.FormatState</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="PruningDispatchHandler.html" title="PruningDispatchHandler">PruningDispatchHandler</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="PruningElementStack.html" title="PruningElementStack">PruningElementStack</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXEventRecorder.html" title="SAXEventRecorder">SAXEventRecorder</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXEventRecorder.html#SAXEvent" title="SAXEventRecorder.SAXEvent">SAXEventRecorder.SAXEvent</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXModifier.html" title="SAXModifier">SAXModifier</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXModifyContentHandler.html" title="SAXModifyContentHandler">SAXModifyContentHandler</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXModifyElementHandler.html" title="SAXModifyElementHandler">SAXModifyElementHandler</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXModifyException.html" title="SAXModifyException">SAXModifyException</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXModifyReader.html" title="SAXModifyReader">SAXModifyReader</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXValidator.html" title="SAXValidator">SAXValidator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="XPPReader.html" title="XPPReader">XPPReader</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DocumentSource.html" title="DocumentSource">DocumentSource</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">14,3%</TD>
+    <TD class="graphPercent" align="center">42,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>16,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="33" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="167" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DocumentInputSource.html" title="DocumentInputSource">DocumentInputSource</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">21,4%</TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphBarLeft" align="center"><B>22,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="45" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="155" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ElementStack.html" title="ElementStack">ElementStack</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphPercent" align="center">32,5%</TD>
+    <TD class="graphPercent" align="center">47,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>35,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="70" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="130" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="STAXEventWriter.html" title="STAXEventWriter">STAXEventWriter</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">34,8%</TD>
+    <TD class="graphPercent" align="center">35,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>36,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="72" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="128" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="STAXEventWriter.html#AttributeIterator" title="STAXEventWriter.AttributeIterator">STAXEventWriter.AttributeIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>36,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="72" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="128" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="STAXEventWriter.html#NamespaceIterator" title="STAXEventWriter.NamespaceIterator">STAXEventWriter.NamespaceIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>36,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="72" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="128" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="HTMLWriter.html" title="HTMLWriter">HTMLWriter</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">29,5%</TD>
+    <TD class="graphPercent" align="center">38,8%</TD>
+    <TD class="graphPercent" align="center">42,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>37,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="74" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="126" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DocumentResult.html" title="DocumentResult">DocumentResult</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">45,5%</TD>
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphBarLeft" align="center"><B>40%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="80" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="120" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXHelper.html" title="SAXHelper">SAXHelper</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">21,4%</TD>
+    <TD class="graphPercent" align="center">43,2%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>40,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="80" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="120" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="XMLResult.html" title="XMLResult">XMLResult</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">42,9%</TD>
+    <TD class="graphPercent" align="center">40%</TD>
+    <TD class="graphBarLeft" align="center"><B>41,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="83" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="117" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="STAXEventReader.html" title="STAXEventReader">STAXEventReader</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">32,7%</TD>
+    <TD class="graphPercent" align="center">47,6%</TD>
+    <TD class="graphPercent" align="center">41,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>43,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="86" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="114" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="XPP3Reader.html" title="XPP3Reader">XPP3Reader</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">34,4%</TD>
+    <TD class="graphPercent" align="center">53,1%</TD>
+    <TD class="graphPercent" align="center">36,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>46,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="93" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="107" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="OutputFormat.html" title="OutputFormat">OutputFormat</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">17,6%</TD>
+    <TD class="graphPercent" align="center">55%</TD>
+    <TD class="graphPercent" align="center">77,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>51,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="103" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="97" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXReader.html" title="SAXReader">SAXReader</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">61,4%</TD>
+    <TD class="graphPercent" align="center">57,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>58,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="116" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="84" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="XMLWriter.html" title="XMLWriter">XMLWriter</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">59,5%</TD>
+    <TD class="graphPercent" align="center">64,3%</TD>
+    <TD class="graphPercent" align="center">57%</TD>
+    <TD class="graphBarLeft" align="center"><B>62,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="124" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="76" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DispatchHandler.html" title="DispatchHandler">DispatchHandler</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">64,1%</TD>
+    <TD class="graphPercent" align="center">36,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>62,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="125" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="75" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXWriter.html" title="SAXWriter">SAXWriter</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">65,5%</TD>
+    <TD class="graphPercent" align="center">62,2%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>63,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="127" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="73" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMWriter.html" title="DOMWriter">DOMWriter</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">69,2%</TD>
+    <TD class="graphPercent" align="center">65,6%</TD>
+    <TD class="graphPercent" align="center">71,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>67,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="134" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="66" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXContentHandler.html" title="SAXContentHandler">SAXContentHandler</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">64,4%</TD>
+    <TD class="graphPercent" align="center">79,2%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>73,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="147" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="53" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DOMReader.html" title="DOMReader">DOMReader</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">82,4%</TD>
+    <TD class="graphPercent" align="center">77,5%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>78,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="156" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="44" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SAXReader.html#SAXEntityResolver" title="SAXReader.SAXEntityResolver">SAXReader.SAXEntityResolver</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>90,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="181" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="19" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="JAXPHelper.html" title="JAXPHelper">JAXPHelper</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>92,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="184" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="16" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+      <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/jaxb/JAXBModifier.html b/docs/clover/org/dom4j/jaxb/JAXBModifier.html
new file mode 100644
index 0000000..c03c683
--- /dev/null
+++ b/docs/clover/org/dom4j/jaxb/JAXBModifier.html
@@ -0,0 +1,2331 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ jaxb\ JAXBModifier.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="JAXBModifier.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">536</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">27</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">194</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">2</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   JAXBModifier.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.jaxb;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.File;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileInputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileNotFoundException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileOutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStreamReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.OutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Reader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.net.URL;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.nio.charset.Charset;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.ElementModifier;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.OutputFormat;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.SAXModifier;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.XMLWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Reads an XML document using SAX and writes its content to the provided</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link org.dom4j.io.XMLWriter}. Modifications must be provided by {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * org.dom4j.jaxb.JAXBObjectModifier} objects, which are called prior to writing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the XML fragment they are registered for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> org.dom4j.io.SAXModifier</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="JAXBModifier"> 45</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> JAXBModifier <span class="keyword">extends</span> JAXBSupport {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> SAXModifier modifier;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLWriter xmlWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> pruneElements;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> OutputFormat outputFormat;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> HashMap modifiers = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBModifier for the given JAXB context path. This is the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Java package where JAXB can find the generated XML classes. This package</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * MUST contain jaxb.properties!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            JAXB context path to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: method not entered.">    <span class="keyword">public</span> JAXBModifier(String contextPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        <span class="keyword">super</span>(contextPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">        <span class="keyword">this</span>.outputFormat = <span class="keyword">new</span> OutputFormat();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBModifier for the given JAXB context path, using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given {@link java.lang.ClassLoader}. This is the Java package where JAXB</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * can find the generated XML classes. This package MUST contain</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * jaxb.properties!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            JAXB context path to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> classloader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the classloader to use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: method not entered.">    <span class="keyword">public</span> JAXBModifier(String contextPath, ClassLoader classloader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">        <span class="keyword">super</span>(contextPath, classloader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">this</span>.outputFormat = <span class="keyword">new</span> OutputFormat();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBModifier for the given JAXB context path. The specified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link org.dom4j.io.OutputFormat}will be used while writing the XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            JAXB context path to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> outputFormat</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> JAXBModifier(String contextPath, OutputFormat outputFormat) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">super</span>(contextPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">        <span class="keyword">this</span>.outputFormat = outputFormat;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBModifier for the given JAXB context path, using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified {@link java.lang.Classloader}. The specified {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.dom4j.io.OutputFormat} will be used while writing the XML stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            JAXB context path to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> classloader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the class loader to be used to load JAXB</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> outputFormat</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: method not entered.">    <span class="keyword">public</span> JAXBModifier(String contextPath, ClassLoader classloader,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            OutputFormat outputFormat) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">        <span class="keyword">super</span>(contextPath, classloader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">        <span class="keyword">this</span>.outputFormat = outputFormat;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.File}with SAX</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the file to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while writing to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             org.dom4j.io.XMLWriter}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: method not entered.">    <span class="keyword">public</span> Document modify(File source) <span class="keyword">throws</span> DocumentException, IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        <span class="keyword">return</span> installModifier().modify(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.File}with SAX, using the given</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link java.nio.charset.Charset}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the file to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> charset</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the character set to use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while writing to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             org.dom4j.io.XMLWriter}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: method not entered.">    <span class="keyword">public</span> Document modify(File source, Charset charset)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException, IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">            Reader reader = <span class="keyword">new</span> InputStreamReader(<span class="keyword">new</span> FileInputStream(source),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    charset);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">            <span class="keyword">return</span> installModifier().modify(reader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (FileNotFoundException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(ex.getMessage(), ex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link org.xml.sax.InputSource}with SAX.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input source to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while writing to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             org.dom4j.io.XMLWriter}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 190: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 190: method not entered.">    <span class="keyword">public</span> Document modify(InputSource source) <span class="keyword">throws</span> DocumentException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: statement not executed.">            <span class="keyword">return</span> installModifier().modify(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.InputStream}with SAX.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the inputstream to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while writing to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             org.dom4j.io.XMLWriter}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: method not entered.">    <span class="keyword">public</span> Document modify(InputStream source) <span class="keyword">throws</span> DocumentException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">            <span class="keyword">return</span> installModifier().modify(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 219: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 219: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 220: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 220: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.InputStream}with SAX.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the inputstream to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the URI of the given inputstream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while writing to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             org.dom4j.io.XMLWriter}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 240: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 240: method not entered.">    <span class="keyword">public</span> Document modify(InputStream source, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException, IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 242: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 242: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 243: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 243: statement not executed.">            <span class="keyword">return</span> installModifier().modify(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.Reader}with SAX.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> r</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the reader to use for parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while writing to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             org.dom4j.io.XMLWriter}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 264: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 264: method not entered.">    <span class="keyword">public</span> Document modify(Reader r) <span class="keyword">throws</span> DocumentException, IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 265</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 265: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 265: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 266: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 266: statement not executed.">            <span class="keyword">return</span> installModifier().modify(r);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 268: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 268: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 269: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 269: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.Reader}with SAX.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the reader to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the URI of the given reader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while writing to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             org.dom4j.io.XMLWriter}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 289</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 289: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 289: method not entered.">    <span class="keyword">public</span> Document modify(Reader source, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException, IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 291: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 291: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 292: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 292: statement not executed.">            <span class="keyword">return</span> installModifier().modify(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 294</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 294: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 294: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 295: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 295: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the the given URL or filename.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> url</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the URL or filename to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while writing to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             org.dom4j.io.XMLWriter}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 313: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 313: method not entered.">    <span class="keyword">public</span> Document modify(String url) <span class="keyword">throws</span> DocumentException, IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 314: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 314: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 315: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 315: statement not executed.">            <span class="keyword">return</span> installModifier().modify(url);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 317: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 317: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 318: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 318: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the the given URL.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the URL to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while writing to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             org.dom4j.io.XMLWriter}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 336: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 336: method not entered.">    <span class="keyword">public</span> Document modify(URL source) <span class="keyword">throws</span> DocumentException, IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 337: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 337: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 338</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 338: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 338: statement not executed.">            <span class="keyword">return</span> installModifier().modify(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 340: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 341</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 341: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 341: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the Output to write the (modified) xml document to.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> file</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the {@link java.io.File}to write to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when the file cannot be found or when the outputformat</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 354</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 354: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 354: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setOutput(File file) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 355</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 355: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 355: statement not executed.">        createXMLWriter().setOutputStream(<span class="keyword">new</span> FileOutputStream(file));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the Output to write the (modified) xml document to.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> outputStream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the {@link java.io.OutputStream}to write to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 367</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 367: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 367: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setOutput(OutputStream outputStream) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 368: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 368: statement not executed.">        createXMLWriter().setOutputStream(outputStream);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the Output to write the (modified) xml document to.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> writer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the {@link java.io.Writer}to write to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 380</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 380: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 380: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setOutput(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 381</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 381: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 381: statement not executed.">        createXMLWriter().setWriter(writer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the {@link JAXBObjectModifier}to be called when the specified xml</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path is encounted while parsing the source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the element path to listen for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> mod</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the modifier to register</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 393</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 393: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 393: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addObjectModifier(String path, JAXBObjectModifier mod) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 394</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 394: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 394: statement not executed.">        modifiers.put(path, mod);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the {@link JAXBObjectModifier}from the event based processor,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for the specified element path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the xml path to remove the modifier for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 404</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 404: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 404: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeObjectModifier(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 405</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 405: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 405: statement not executed.">        modifiers.remove(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 406</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 406: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 406: statement not executed.">        getModifier().removeModifier(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes all registered {@link JAXBObjectModifier}instances from the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * event based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 413</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 413: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 413: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> resetObjectModifiers() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 414</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 414: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 414: statement not executed.">        modifiers.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 415: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 415: statement not executed.">        getModifier().resetModifiers();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns true when the modified {@link org.dom4j.Document}is not kept in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * memory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Returns true if elements are pruned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 424</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 424: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 424: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isPruneElements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 425</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 425: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 425: statement not executed.">        <span class="keyword">return</span> pruneElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Define whether the modified {@link org.dom4j.Document}must only be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * written to the output and pruned from the DOM4J tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pruneElements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            When true, elements will not be kept in memory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 435</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 435: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 435: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPruneElements(<span class="keyword">boolean</span> pruneElements) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 436</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 436: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 436: statement not executed.">        <span class="keyword">this</span>.pruneElements = pruneElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 439: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 439: method not entered.">    <span class="keyword">private</span> SAXModifier installModifier() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 440</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 440: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 440: statement not executed.">        modifier = <span class="keyword">new</span> SAXModifier(isPruneElements());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 442</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 442: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 442: statement not executed.">        modifier.resetModifiers();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 444</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 444: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 444: statement not executed.">        Iterator modifierIt = modifiers.entrySet().iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 446</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 446: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 446: statement not executed.">        <span class="keyword">while</span> (modifierIt.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 447</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 447: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 447: statement not executed.">            Map.Entry entry = (Map.Entry) modifierIt.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 448</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 448: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 448: statement not executed.">            ElementModifier mod = <span class="keyword">new</span> JAXBElementModifier(<span class="keyword">this</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    (JAXBObjectModifier) entry.getValue());</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 450</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 450: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 450: statement not executed.">            getModifier().addModifier((String) entry.getKey(), mod);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 453</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 453: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 453: statement not executed.">        modifier.setXMLWriter(getXMLWriter());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 455</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 455: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 455: statement not executed.">        <span class="keyword">return</span> modifier;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 458</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 458: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 458: method not entered.">    <span class="keyword">private</span> SAXModifier getModifier() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 459</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 459: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 459: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">this</span>.modifier == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 460</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 460: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 460: statement not executed.">            modifier = <span class="keyword">new</span> SAXModifier(isPruneElements());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 463</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 463: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 463: statement not executed.">        <span class="keyword">return</span> modifier;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 466</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 466: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 466: method not entered.">    <span class="keyword">private</span> XMLWriter getXMLWriter() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 467</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 467: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 467: statement not executed.">        <span class="keyword">return</span> xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 470</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 470: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 470: method not entered.">    <span class="keyword">private</span> XMLWriter createXMLWriter() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 471</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 471: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 471: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">this</span>.xmlWriter == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 472</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 472: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 472: statement not executed.">            xmlWriter = <span class="keyword">new</span> XMLWriter(outputFormat);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 475</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 475: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 475: statement not executed.">        <span class="keyword">return</span> xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="JAXBElementModifier"> 478</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> JAXBElementModifier <span class="keyword">implements</span> ElementModifier {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> JAXBModifier jaxbModifier;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> JAXBObjectModifier objectModifier;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 483</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 483: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 483: method not entered.">        <span class="keyword">public</span> JAXBElementModifier(JAXBModifier jaxbModifier,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                JAXBObjectModifier objectModifier) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 485</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 485: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 485: statement not executed.">            <span class="keyword">this</span>.jaxbModifier = jaxbModifier;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 486</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 486: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 486: statement not executed.">            <span class="keyword">this</span>.objectModifier = objectModifier;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 489</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 489: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 489: method not entered.">        <span class="keyword">public</span> org.dom4j.Element modifyElement(org.dom4j.Element element)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="keyword">throws</span> Exception {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 491</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 491: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 491: statement not executed.">            javax.xml.bind.Element originalObject = jaxbModifier</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .unmarshal(element);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 493</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 493: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 493: statement not executed.">            javax.xml.bind.Element modifiedObject = objectModifier</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .modifyObject(originalObject);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 496</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 496: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 496: statement not executed.">            <span class="keyword">return</span> jaxbModifier.marshal(modifiedObject);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 507</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 512</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 521</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/jaxb/JAXBObjectHandler.html b/docs/clover/org/dom4j/jaxb/JAXBObjectHandler.html
new file mode 100644
index 0000000..0c507b9
--- /dev/null
+++ b/docs/clover/org/dom4j/jaxb/JAXBObjectHandler.html
@@ -0,0 +1,362 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ jaxb\ JAXBObjectHandler.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="JAXBObjectHandler.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">69</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">5</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   JAXBObjectHandler.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.jaxb;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.bind.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * JAXBObjectHandler implementations can be registered with the JAXB Reader in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * order to receive unmarshalled XML fragments.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="JAXBObjectHandler"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> JAXBObjectHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called when the {@link JAXBReader}has finished parsing the xml path the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * handler was registered for. The provided object is the unmarshalled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * representation of the XML path. It can be casted to the appropriate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * implementation class that is generated by the JAXB compiler.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> jaxbElement</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the unmarshalled JAXB object to handle</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             of any kind, thrown by the implementation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> handleObject(Element jaxbElement) <span class="keyword">throws</span> Exception;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/jaxb/JAXBObjectModifier.html b/docs/clover/org/dom4j/jaxb/JAXBObjectModifier.html
new file mode 100644
index 0000000..0713ca6
--- /dev/null
+++ b/docs/clover/org/dom4j/jaxb/JAXBObjectModifier.html
@@ -0,0 +1,378 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ jaxb\ JAXBObjectModifier.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="JAXBObjectModifier.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">73</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">5</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   JAXBObjectModifier.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.jaxb;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.bind.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * JAXBObjectHandler implementations can be registered with the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * JAXBModifier} in order to change unmarshalled XML fragments.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="JAXBObjectModifier"> 18</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> JAXBObjectModifier {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called when the {@link JAXBModifier}has finished parsing the xml path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the handler was registered for. The provided object is the unmarshalled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * representation of the XML fragment. It can be casted to the appropriate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * implementation class that is generated by the JAXB compiler. <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The modified JAXB element that returns from this method will be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * marshalled by the {@link JAXBModifier}and put in the DOM4J tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> jaxbElement</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the JAXB object to be modified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the modified JAXB object, or null when it must be removed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             possibly thrown by the implementation.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Element modifyObject(Element jaxbElement) <span class="keyword">throws</span> Exception;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/jaxb/JAXBReader.html b/docs/clover/org/dom4j/jaxb/JAXBReader.html
new file mode 100644
index 0000000..50bbecb
--- /dev/null
+++ b/docs/clover/org/dom4j/jaxb/JAXBReader.html
@@ -0,0 +1,1917 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ jaxb\ JAXBReader.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="JAXBReader.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">436</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">25</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">165</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">3</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   JAXBReader.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.jaxb;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.File;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileInputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileNotFoundException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.InputStreamReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Reader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.net.URL;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.nio.charset.Charset;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ElementPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.SAXReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.InputSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Reads an XML document and creates a DOM4J tree from SAX parsing events.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link JAXBObjectHandler}objects can be registered to automatically receive</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * unmarshalled XML fragments. Registered {@linkorg.dom4j.ElementHandler}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementations are notified when a certain element path is encountered</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> org.dom4j.io.SAXReader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="JAXBReader"> 39</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> JAXBReader <span class="keyword">extends</span> JAXBSupport {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> SAXReader reader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> pruneElements;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBReader for the given JAXB context path. This is the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Java package where JAXB can find the generated XML classes. This package</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * MUST contain jaxb.properties!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            context path to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: method not entered.">    <span class="keyword">public</span> JAXBReader(String contextPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: statement not executed.">        <span class="keyword">super</span>(contextPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBReader for the given JAXB context path, using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified {@link java.lang.Classloader}. This is the Java package where</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * JAXB can find the generated XML classes. This package MUST contain</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * jaxb.properties!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> classloader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: method not entered.">    <span class="keyword">public</span> JAXBReader(String contextPath, ClassLoader classloader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: statement not executed.">        <span class="keyword">super</span>(contextPath, classloader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.File}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the file to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: method not entered.">    <span class="keyword">public</span> Document read(File source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">        <span class="keyword">return</span> getReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.File}, using the given {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * java.nio.charset.Charset}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> file</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the file to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> charset</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the charset to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: method not entered.">    <span class="keyword">public</span> Document read(File file, Charset charset) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">            Reader xmlReader = <span class="keyword">new</span> InputStreamReader(<span class="keyword">new</span> FileInputStream(file),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    charset);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">            <span class="keyword">return</span> getReader().read(xmlReader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (FileNotFoundException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(ex.getMessage(), ex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link org.xml.sax.InputSource}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the source to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: method not entered.">    <span class="keyword">public</span> Document read(InputSource source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">            <span class="keyword">return</span> getReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.InputStream}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input stream to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: method not entered.">    <span class="keyword">public</span> Document read(InputStream source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">            <span class="keyword">return</span> getReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.InputStream}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input stream to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: method not entered.">    <span class="keyword">public</span> Document read(InputStream source, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: statement not executed.">            <span class="keyword">return</span> getReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.Reader}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input reader to use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: method not entered.">    <span class="keyword">public</span> Document read(Reader source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: statement not executed.">            <span class="keyword">return</span> getReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the specified {@link java.io.Reader}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input reader to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemId</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for the input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: method not entered.">    <span class="keyword">public</span> Document read(Reader source, String systemId)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> DocumentException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">            <span class="keyword">return</span> getReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 219: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 219: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 220: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 220: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the the given URL or filename.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the location to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: method not entered.">    <span class="keyword">public</span> Document read(String source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 236: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 236: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: statement not executed.">            <span class="keyword">return</span> getReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 239: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 239: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 240: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 240: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the the given URL.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the URL to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the resulting DOM4J document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> DocumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs while parsing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 255: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 255: method not entered.">    <span class="keyword">public</span> Document read(URL source) <span class="keyword">throws</span> DocumentException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 256: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 256: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 257: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 257: statement not executed.">            <span class="keyword">return</span> getReader().read(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JAXBRuntimeException ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: statement not executed.">            Throwable cause = ex.getCause();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> DocumentException(cause.getMessage(), cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Registers a {@link JAXBObjectHandler}that will be supplied with the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * unmarshalled representation of the xml fragment whenever the specified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path is encounted.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the path to listen for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the handler to be notified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 274: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addObjectHandler(String path, JAXBObjectHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 275: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 275: statement not executed.">        ElementHandler eHandler = <span class="keyword">new</span> UnmarshalElementHandler(<span class="keyword">this</span>, handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 276: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 276: statement not executed.">        getReader().addHandler(path, eHandler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the {@link JAXBObjectHandler}from the event based processor, for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the specified element path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The path to remove the {@link JAXBObjectHandler}for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 286</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 286: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 286: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeObjectHandler(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 287: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: statement not executed.">        getReader().removeHandler(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the <code>ElementHandler</code> to be called when the specified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * path is encounted.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to be handled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> handler</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>ElementHandler</code> to be called by the event</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 300: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addHandler(String path, ElementHandler handler) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 301</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 301: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 301: statement not executed.">        getReader().addHandler(path, handler);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the <code>ElementHandler</code> from the event based processor,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for the specified path.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> path</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the path to remove the <code>ElementHandler</code> for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 311</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 311: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 311: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeHandler(String path) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 312: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 312: statement not executed.">        getReader().removeHandler(path);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes all registered {@link JAXBObjectHandler}and {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.dom4j.ElementHandler} instances from the event based processor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 319</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 319: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 319: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> resetHandlers() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 320: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 320: statement not executed.">        getReader().resetHandlers();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * When 'true', the DOM4J document will not be kept in memory while parsing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Returns the pruneElements.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 328: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 328: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isPruneElements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 329</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 329: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 329: statement not executed.">        <span class="keyword">return</span> pruneElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Set to true when DOM4J elements must immediately be pruned from the tree.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The {@link Document}will not be available afterwards!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pruneElements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 338</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 338: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 338: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPruneElements(<span class="keyword">boolean</span> pruneElements) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 339: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 339: statement not executed.">        <span class="keyword">this</span>.pruneElements = pruneElements;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 341</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 341: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 341: statement not executed.">        <span class="keyword">if</span> (pruneElements) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 342: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 342: statement not executed.">            getReader().setDefaultHandler(<span class="keyword">new</span> PruningElementHandler());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 346</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 346: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 346: method not entered.">    <span class="keyword">private</span> SAXReader getReader() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 347</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 347: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 347: statement not executed.">        <span class="keyword">if</span> (reader == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 348</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 348: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 348: statement not executed.">            reader = <span class="keyword">new</span> SAXReader();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 351</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 351: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 351: statement not executed.">        <span class="keyword">return</span> reader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="UnmarshalElementHandler"> 354</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> UnmarshalElementHandler <span class="keyword">implements</span> ElementHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> JAXBReader jaxbReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">private</span> JAXBObjectHandler handler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 359</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 359: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 359: method not entered.">        <span class="keyword">public</span> UnmarshalElementHandler(JAXBReader documentReader,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                JAXBObjectHandler handler) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 361</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 361: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 361: statement not executed.">            <span class="keyword">this</span>.jaxbReader = documentReader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 362: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 362: statement not executed.">            <span class="keyword">this</span>.handler = handler;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 365: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 365: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> onStart(ElementPath elementPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 368: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 368: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> onEnd(ElementPath elementPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 369</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 369: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 369: statement not executed.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 370: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 370: statement not executed.">                org.dom4j.Element elem = elementPath.getCurrent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 372: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 372: statement not executed.">                javax.xml.bind.Element jaxbObject </A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        = (javax.xml.bind.Element) jaxbReader.unmarshal(elem);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 375</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 375: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 375: statement not executed.">                <span class="keyword">if</span> (jaxbReader.isPruneElements()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 376</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 376: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 376: statement not executed.">                    elem.detach();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 379</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 379: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 379: statement not executed.">                handler.handleObject(jaxbObject);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Exception ex) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 381</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 381: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 381: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> JAXBRuntimeException(ex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="PruningElementHandler"> 386</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> PruningElementHandler <span class="keyword">implements</span> ElementHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 387: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 387: method not entered.">        <span class="keyword">public</span> PruningElementHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 390</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 390: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 390: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> onStart(ElementPath parm1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 393</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 393: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 393: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> onEnd(ElementPath elementPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 394</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 394: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 394: statement not executed.">            Element elem = elementPath.getCurrent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 395</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 395: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 395: statement not executed.">            elem.detach();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 396</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 396: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 396: statement not executed.">            elem = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/jaxb/JAXBRuntimeException.html b/docs/clover/org/dom4j/jaxb/JAXBRuntimeException.html
new file mode 100644
index 0000000..635f0c2
--- /dev/null
+++ b/docs/clover/org/dom4j/jaxb/JAXBRuntimeException.html
@@ -0,0 +1,344 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ jaxb\ JAXBRuntimeException.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="JAXBRuntimeException.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">64</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">1</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">6</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   JAXBRuntimeException.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.jaxb;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Exception internally thrown by the JAXBReader classes. This is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * RuntimeException since the {@link org.dom4j.ElementHandler}methods do not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * throw Exceptions.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="JAXBRuntimeException"> 17</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> JAXBRuntimeException <span class="keyword">extends</span> RuntimeException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> cause</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            The causing {@link java.lang.Throwable}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 24: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 24: method not entered.">    <span class="keyword">protected</span> JAXBRuntimeException(Throwable cause) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 25</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 25: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 25: statement not executed.">        <span class="keyword">super</span>(cause);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/jaxb/JAXBSupport.html b/docs/clover/org/dom4j/jaxb/JAXBSupport.html
new file mode 100644
index 0000000..4844e19
--- /dev/null
+++ b/docs/clover/org/dom4j/jaxb/JAXBSupport.html
@@ -0,0 +1,708 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ jaxb\ JAXBSupport.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="JAXBSupport.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">149</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">56</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   JAXBSupport.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.jaxb;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringReader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.bind.JAXBContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.bind.JAXBException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.bind.Marshaller;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.bind.Unmarshaller;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.transform.Source;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.transform.stream.StreamSource;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.dom.DOMDocument;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="JAXBSupport"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">abstract <span class="keyword">class</span> JAXBSupport {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String contextPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ClassLoader classloader;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> JAXBContext jaxbContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Marshaller marshaller;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Unmarshaller unmarshaller;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: method not entered.">    <span class="keyword">public</span> JAXBSupport(String contextPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">this</span>.contextPath = contextPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: method not entered.">    <span class="keyword">public</span> JAXBSupport(String contextPath, ClassLoader classloader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">        <span class="keyword">this</span>.contextPath = contextPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">this</span>.classloader = classloader;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Marshals the given {@link javax.xml.bind.Element}in to its DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * counterpart.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            JAXB Element to be marshalled</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the marshalled DOM4J {@link org.dom4j.Element}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> JAXBException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: method not entered.">    <span class="keyword">protected</span> org.dom4j.Element marshal(javax.xml.bind.Element element)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> JAXBException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        DOMDocument doc = <span class="keyword">new</span> DOMDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">        getMarshaller().marshal(element, doc);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        <span class="keyword">return</span> doc.getRootElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Unmarshalls the specified DOM4J {@link org.dom4j.Element}into a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * javax.xml.bind.Element}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the DOM4J element to unmarshall</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the unmarshalled JAXB object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> JAXBException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occurs</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">protected</span> javax.xml.bind.Element unmarshal(org.dom4j.Element element)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> JAXBException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        Source source = <span class="keyword">new</span> StreamSource(<span class="keyword">new</span> StringReader(element.asXML()));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> (javax.xml.bind.Element) getUnmarshaller().unmarshal(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">private</span> Marshaller getMarshaller() <span class="keyword">throws</span> JAXBException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">if</span> (marshaller == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">            marshaller = getContext().createMarshaller();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">return</span> marshaller;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: method not entered.">    <span class="keyword">private</span> Unmarshaller getUnmarshaller() <span class="keyword">throws</span> JAXBException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">        <span class="keyword">if</span> (unmarshaller == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">            unmarshaller = getContext().createUnmarshaller();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">return</span> unmarshaller;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">private</span> JAXBContext getContext() <span class="keyword">throws</span> JAXBException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">if</span> (jaxbContext == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">            <span class="keyword">if</span> (classloader == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">                jaxbContext = JAXBContext.newInstance(contextPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">                jaxbContext = JAXBContext.newInstance(contextPath, classloader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">        <span class="keyword">return</span> jaxbContext;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/jaxb/JAXBWriter.html b/docs/clover/org/dom4j/jaxb/JAXBWriter.html
new file mode 100644
index 0000000..4d8ae35
--- /dev/null
+++ b/docs/clover/org/dom4j/jaxb/JAXBWriter.html
@@ -0,0 +1,1431 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ jaxb\ JAXBWriter.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="JAXBWriter.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">326</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">17</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">80</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   JAXBWriter.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.jaxb;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.File;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.FileOutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.OutputStream;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.xml.bind.JAXBException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.OutputFormat;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.XMLWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Writes {@link javax.xml.bind.Element}objects to an XML stream. {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * javax.xml.bind.Element} instances can be created using the ObjectFactory that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * is generated by the JAXB compiler.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wonne Keysers (Realsoftware.be)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> org.dom4j.io.XMLWriter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="JAXBWriter"> 34</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> JAXBWriter <span class="keyword">extends</span> JAXBSupport {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLWriter xmlWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> OutputFormat outputFormat;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBWriter for the given JAXB context path. This is the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Java package where JAXB can find the generated XML classes. This package</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * MUST contain jaxb.properties!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            JAXB context path to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> JAXBWriter(String contextPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">super</span>(contextPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        outputFormat = <span class="keyword">new</span> OutputFormat();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBWriter for the given JAXB context path. The specied</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link org.dom4j.io.OutputFormat}will be used for writing the XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            JAXB context path to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> outputFormat</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: method not entered.">    <span class="keyword">public</span> JAXBWriter(String contextPath, OutputFormat outputFormat) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        <span class="keyword">super</span>(contextPath);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">        <span class="keyword">this</span>.outputFormat = outputFormat;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBWriter for the given JAXB context path, using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified {@link java.lang.Classloader}. (This is the Java package where</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * JAXB can find the generated XML classes. This package MUST contain</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * jaxb.properties!)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            JAXB context path to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> classloader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the classloader to be used for loading JAXB</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: method not entered.">    <span class="keyword">public</span> JAXBWriter(String contextPath, ClassLoader classloader) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">        <span class="keyword">super</span>(contextPath, classloader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new JAXBWriter for the given JAXB context path, using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified {@link java.lang.Classloader}. The specied {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * org.dom4j.io.OutputFormat} will be used while writing the XML stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> contextPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            JAXB context path to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> classloader</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the class loader to be used to load JAXB</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> outputFormat</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> javax.xml.bind.JAXBContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: method not entered.">    <span class="keyword">public</span> JAXBWriter(String contextPath, ClassLoader classloader,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            OutputFormat outputFormat) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">        <span class="keyword">super</span>(contextPath, classloader);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">        <span class="keyword">this</span>.outputFormat = outputFormat;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the OutputFormat that will be used when writing the XML stream.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Returns the output format.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: method not entered.">    <span class="keyword">public</span> OutputFormat getOutputFormat() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">        <span class="keyword">return</span> outputFormat;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Defines to write the resulting output to the specified {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * java.io.File}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> file</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            file to write to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when the file cannot be found</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setOutput(File file) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">        getWriter().setOutputStream(<span class="keyword">new</span> FileOutputStream(file));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Defines to write the resulting output to the specified {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * java.io.OutputStream}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> outputStream</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            outputStream to write to.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setOutput(OutputStream outputStream) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">        getWriter().setOutputStream(outputStream);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Defines to write the resulting output to the specified {@link Writer}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> writer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            writer to write to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setOutput(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">        getWriter().setWriter(writer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Start a document by writing the initial XML declaration to the output.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This must be done prior to writing any other elements.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occured while writing the output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             thrown by the underlying SAX driver</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> startDocument() <span class="keyword">throws</span> IOException, SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">        getWriter().startDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Stop writing the document to the output. This must be done when all other</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * elements are finished.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occured while writing the output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> SAXException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             thrown by the underlying SAX driver</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> endDocument() <span class="keyword">throws</span> IOException, SAXException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">        getWriter().endDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the specified {@link javax.xml.bind.Element}to the document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link javax.xml.bind.Element}instances can be created using the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ObjectFactory that is generated by the JAXB compiler.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> jaxbObject</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occured while writing the output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> JAXBException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occured while marshalling the jaxbObject</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(javax.xml.bind.Element jaxbObject) <span class="keyword">throws</span> IOException,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            JAXBException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">        getWriter().write(marshal(jaxbObject));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the closing tag of the specified {@link javax.xml.bind.Element}to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the document. This method can be used for writing {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * javax.xml.bind.Element} instances can be created using the ObjectFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * that is generated by the JAXB compiler.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> jaxbObject</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the JAXB element to write</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occured while writing the output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> JAXBException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occured while marshalling the jaxbObject</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeClose(javax.xml.bind.Element jaxbObject)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException, JAXBException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">        getWriter().writeClose(marshal(jaxbObject));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the opening tag of the specified {@link javax.xml.bind.Element}to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the document. {@link javax.xml.bind.Element}instances can be created</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * using the ObjectFactory that is generated by the JAXB compiler.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> jaxbObject</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the JAXB element to write</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occured while writing the output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> JAXBException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             when an error occured while marshalling the jaxbObject</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 232: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 232: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeOpen(javax.xml.bind.Element jaxbObject)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException, JAXBException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 234: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 234: statement not executed.">        getWriter().writeOpen(marshal(jaxbObject));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the specified {@link org.dom4j.Element}to the document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the {@link org.dom4j.Element}to write</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occured while writing the output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeElement(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: statement not executed.">        getWriter().write(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the closing tag of the specified {@link org.dom4j.Element}to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the {@link org.dom4j.Element}to write</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occured while writing the output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeCloseElement(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 261: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 261: statement not executed.">        getWriter().writeClose(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Writes the opening tag of the specified {@link org.dom4j.Element}to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the {@link org.dom4j.Element}to write</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IOException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if an error occured while writing the output</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 274: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> writeOpenElement(Element element) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 275: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 275: statement not executed.">        getWriter().writeOpen(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 278: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 278: method not entered.">    <span class="keyword">private</span> XMLWriter getWriter() <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 279: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: statement not executed.">        <span class="keyword">if</span> (xmlWriter == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 280: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 280: statement not executed.">            <span class="keyword">if</span> (<span class="keyword">this</span>.outputFormat != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 281: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 281: statement not executed.">                xmlWriter = <span class="keyword">new</span> XMLWriter(outputFormat);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 283: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 283: statement not executed.">                xmlWriter = <span class="keyword">new</span> XMLWriter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 287: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: statement not executed.">        <span class="keyword">return</span> xmlWriter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/jaxb/pkg-classes.html b/docs/clover/org/dom4j/jaxb/pkg-classes.html
new file mode 100644
index 0000000..2424b60
--- /dev/null
+++ b/docs/clover/org/dom4j/jaxb/pkg-classes.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.jaxb">org.dom4j.jaxb</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="JAXBModifier.html" title="JAXBModifier">JAXBModifier</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="JAXBModifier.html#JAXBElementModifier" title="JAXBModifier.JAXBElementModifier">JAXBModifier.JAXBElementModifier</A>
+    	    <i>(0%)</i><BR>
+        
+                <A target="classPane" href="JAXBReader.html" title="JAXBReader">JAXBReader</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="JAXBReader.html#PruningElementHandler" title="JAXBReader.PruningElementHandler">JAXBReader.PruningElementHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="JAXBReader.html#UnmarshalElementHandler" title="JAXBReader.UnmarshalElementHandler">JAXBReader.UnmarshalElementHandler</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="JAXBRuntimeException.html" title="JAXBRuntimeException">JAXBRuntimeException</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="JAXBSupport.html" title="JAXBSupport">JAXBSupport</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="JAXBWriter.html" title="JAXBWriter">JAXBWriter</A>
+    	    <i>(0%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/jaxb/pkg-summary.html b/docs/clover/org/dom4j/jaxb/pkg-summary.html
new file mode 100644
index 0000000..bc30d4b
--- /dev/null
+++ b/docs/clover/org/dom4j/jaxb/pkg-summary.html
@@ -0,0 +1,256 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.653</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">77</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">511</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">10</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">7</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.jaxb
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="JAXBModifier.html" title="JAXBModifier">JAXBModifier</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="JAXBModifier.html#JAXBElementModifier" title="JAXBModifier.JAXBElementModifier">JAXBModifier.JAXBElementModifier</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="JAXBReader.html" title="JAXBReader">JAXBReader</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="JAXBReader.html#PruningElementHandler" title="JAXBReader.PruningElementHandler">JAXBReader.PruningElementHandler</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="JAXBReader.html#UnmarshalElementHandler" title="JAXBReader.UnmarshalElementHandler">JAXBReader.UnmarshalElementHandler</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="JAXBRuntimeException.html" title="JAXBRuntimeException">JAXBRuntimeException</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="JAXBSupport.html" title="JAXBSupport">JAXBSupport</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="JAXBWriter.html" title="JAXBWriter">JAXBWriter</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+         <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/pkg-classes.html b/docs/clover/org/dom4j/pkg-classes.html
new file mode 100644
index 0000000..66cd1a7
--- /dev/null
+++ b/docs/clover/org/dom4j/pkg-classes.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j">org.dom4j</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+              
+                <A target="classPane" href="DocumentException.html" title="DocumentException">DocumentException</A>
+    	    <i>(7,7%)</i><BR>
+    
+                <A target="classPane" href="DocumentFactory.html" title="DocumentFactory">DocumentFactory</A>
+    	    <i>(80,9%)</i><BR>
+    
+                <A target="classPane" href="DocumentHelper.html" title="DocumentHelper">DocumentHelper</A>
+    	    <i>(72,6%)</i><BR>
+              
+                <A target="classPane" href="IllegalAddException.html" title="IllegalAddException">IllegalAddException</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="InvalidXPathException.html" title="InvalidXPathException">InvalidXPathException</A>
+    	    <i>(33,3%)</i><BR>
+    
+                <A target="classPane" href="Namespace.html" title="Namespace">Namespace</A>
+    	    <i>(84,9%)</i><BR>
+          
+                <A target="classPane" href="QName.html" title="QName">QName</A>
+    	    <i>(73,4%)</i><BR>
+        
+                <A target="classPane" href="VisitorSupport.html" title="VisitorSupport">VisitorSupport</A>
+    	    <i>(0%)</i><BR>
+      
+                <A target="classPane" href="XPathException.html" title="XPathException">XPathException</A>
+    	    <i>(27,3%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/pkg-summary.html b/docs/clover/org/dom4j/pkg-summary.html
new file mode 100644
index 0000000..ebc4d0e
--- /dev/null
+++ b/docs/clover/org/dom4j/pkg-summary.html
@@ -0,0 +1,302 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">5.354</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">133</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">1.031</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">26</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">26</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j
+	    </TD>
+   
+    <TD class="graphPercent" align="center">69,6%</TD>
+    <TD class="graphPercent" align="center">72,1%</TD>
+    <TD class="graphPercent" align="center">61,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>69%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="137" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="63" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="VisitorSupport.html" title="VisitorSupport">VisitorSupport</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DocumentException.html" title="DocumentException">DocumentException</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">9,1%</TD>
+    <TD class="graphPercent" align="center">11,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>7,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="15" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="185" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="XPathException.html" title="XPathException">XPathException</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphBarLeft" align="center"><B>27,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="54" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="146" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="InvalidXPathException.html" title="InvalidXPathException">InvalidXPathException</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">33,3%</TD>
+    <TD class="graphPercent" align="center">33,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>33,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="66" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="134" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="IllegalAddException.html" title="IllegalAddException">IllegalAddException</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DocumentHelper.html" title="DocumentHelper">DocumentHelper</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">95%</TD>
+    <TD class="graphPercent" align="center">75,4%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>72,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="145" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="55" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="QName.html" title="QName">QName</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">61,8%</TD>
+    <TD class="graphPercent" align="center">76,8%</TD>
+    <TD class="graphPercent" align="center">81%</TD>
+    <TD class="graphBarLeft" align="center"><B>73,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="146" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="54" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DocumentFactory.html" title="DocumentFactory">DocumentFactory</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">78,9%</TD>
+    <TD class="graphPercent" align="center">86,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>80,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="161" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="39" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="Namespace.html" title="Namespace">Namespace</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">81,8%</TD>
+    <TD class="graphPercent" align="center">86,8%</TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>84,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../img/trans.gif"
+                   width="169" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../img/trans.gif"
+                   width="31" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+                                                      <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/rule/Action.html b/docs/clover/org/dom4j/rule/Action.html
new file mode 100644
index 0000000..76428f8
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/Action.html
@@ -0,0 +1,326 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ Action.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Action.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">60</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">5</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Action.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Action</code> represents some default action which should occur when</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * a rule matches a node in the XSLT processing model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Action"> 21</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Action {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> run(Node node) <span class="keyword">throws</span> Exception;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/Mode.html b/docs/clover/org/dom4j/rule/Mode.html
new file mode 100644
index 0000000..b07c56c
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/Mode.html
@@ -0,0 +1,1414 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ Mode.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Mode.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">306</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">10</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">159</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Mode.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">39,2%</TD>
+    <TD class="graphPercent" align="center">47,3%</TD>
+    <TD class="graphPercent" align="center">70%</TD>
+    <TD class="graphBarLeft" align="center"><B>45,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="90" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="110" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Mode</code> manages a number of RuleSet instances for the mode in a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * stylesheet. It is responsible for finding the correct rule for a given DOM4J</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Node using the XSLT processing model uses the smallest possible RuleSet to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * reduce the number of Rule evaluations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Mode"> 29</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> Mode {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> RuleSet[] ruleSets = <span class="keyword">new</span> RuleSet[Pattern.NUMBER_OF_TYPES];</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Map of exact (local) element names to RuleSet instances */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map elementNameRuleSets;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Map of exact (local) attribute names to RuleSet instances */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map attributeNameRuleSets;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: method entered 4 times.">    <span class="keyword">public</span> Mode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Runs the actions associated with the given node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: method entered 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: method entered 30 times.">    <span class="keyword">public</span> <span class="keyword">void</span> fireRule(Node node) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: expression evaluated to true 30 times, false 0 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: expression evaluated to true 30 times, false 0 times.">        <span class="keyword">if</span> (node != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 30 times.">            Rule rule = getMatchingRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 30 times.">            <span class="keyword">if</span> (rule != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 28 times.">                Action action = rule.getAction();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: expression evaluated to true 28 times, false 0 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: expression evaluated to true 28 times, false 0 times.">                <span class="keyword">if</span> (action != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 28 times.">                    action.run(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: method entered 5 times.">    <span class="keyword">public</span> <span class="keyword">void</span> applyTemplates(Element element) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 5 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = element.attributeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 1 time.">            Attribute attribute = element.attribute(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: statement executed 1 time.">            fireRule(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 5 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = element.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: statement executed 13 times.">            Node node = element.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 72: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 72: statement executed 13 times.">            fireRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> applyTemplates(Document document) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 77: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 77: statement executed 1 time.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = document.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 78: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: statement executed 1 time.">            Node node = document.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: statement executed 1 time.">            fireRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: method entered 28 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addRule(Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 28 times.">        <span class="keyword">int</span> matchType = rule.getMatchType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: statement executed 28 times.">        String name = rule.getMatchesNodeName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: expression evaluated to true 0 times, false 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: expression evaluated to true 0 times, false 28 times.">        <span class="keyword">if</span> (name != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">            <span class="keyword">if</span> (matchType == Node.ELEMENT_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">                elementNameRuleSets = addToNameMap(elementNameRuleSets, name,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        rule);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (matchType == Node.ATTRIBUTE_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">                attributeNameRuleSets = addToNameMap(attributeNameRuleSets,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        name, rule);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: expression evaluated to true 0 times, false 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: expression evaluated to true 0 times, false 28 times.">        <span class="keyword">if</span> (matchType >= Pattern.NUMBER_OF_TYPES) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">            matchType = Pattern.ANY_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: expression evaluated to true 0 times, false 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: expression evaluated to true 0 times, false 28 times.">        <span class="keyword">if</span> (matchType == Pattern.ANY_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// add rule to all other RuleSets if they exist</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 1, size = ruleSets.length; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">                RuleSet ruleSet = ruleSets[i];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">                <span class="keyword">if</span> (ruleSet != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">                    ruleSet.addRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 28 times.">        getRuleSet(matchType).addRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeRule(Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        <span class="keyword">int</span> matchType = rule.getMatchType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: statement not executed.">        String name = rule.getMatchesNodeName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">        <span class="keyword">if</span> (name != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">            <span class="keyword">if</span> (matchType == Node.ELEMENT_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">                removeFromNameMap(elementNameRuleSets, name, rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (matchType == Node.ATTRIBUTE_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">                removeFromNameMap(attributeNameRuleSets, name, rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        <span class="keyword">if</span> (matchType >= Pattern.NUMBER_OF_TYPES) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">            matchType = Pattern.ANY_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">        getRuleSet(matchType).removeRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">        <span class="keyword">if</span> (matchType != Pattern.ANY_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">            getRuleSet(Pattern.ANY_NODE).removeRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Performs an XSLT processing model match for the rule which matches the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given Node the best.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the DOM4J Node to match against</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the matching Rule or no rule if none matched</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: method entered 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: method entered 30 times.">    <span class="keyword">public</span> Rule getMatchingRule(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 30 times.">        <span class="keyword">int</span> matchType = node.getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 30 times.">        <span class="keyword">if</span> (matchType == Node.ELEMENT_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: expression evaluated to true 0 times, false 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: expression evaluated to true 0 times, false 12 times.">            <span class="keyword">if</span> (elementNameRuleSets != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">                String name = node.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">                RuleSet ruleSet = (RuleSet) elementNameRuleSets.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">                <span class="keyword">if</span> (ruleSet != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">                    Rule answer = ruleSet.getMatchingRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: statement not executed.">                    <span class="keyword">if</span> (answer != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">                        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: statement executed 18 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (matchType == Node.ATTRIBUTE_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: expression evaluated to true 0 times, false 1 time.">            <span class="keyword">if</span> (attributeNameRuleSets != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">                String name = node.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: statement not executed.">                RuleSet ruleSet = (RuleSet) attributeNameRuleSets.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">                <span class="keyword">if</span> (ruleSet != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: statement not executed.">                    Rule answer = ruleSet.getMatchingRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">                    <span class="keyword">if</span> (answer != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">                        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 178: expression evaluated to true 0 times, false 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 178: expression evaluated to true 0 times, false 30 times.">        <span class="keyword">if</span> ((matchType < 0) || (matchType >= ruleSets.length)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">            matchType = Pattern.ANY_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 182: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 182: statement executed 30 times.">        Rule answer = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 30 times.">        RuleSet ruleSet = ruleSets[matchType];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 185: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: statement executed 30 times.">        <span class="keyword">if</span> (ruleSet != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// try rules that match this kind of node first</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 28 times.">            answer = ruleSet.getMatchingRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 190: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: statement executed 30 times.">        <span class="keyword">if</span> ((answer == <span class="keyword">null</span>) && (matchType != Pattern.ANY_NODE)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// try general rules that match any kind of node</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 2 times.">            ruleSet = ruleSets[Pattern.ANY_NODE];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: expression evaluated to true 0 times, false 2 times.">            <span class="keyword">if</span> (ruleSet != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">                answer = ruleSet.getMatchingRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 30 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> matchType</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the RuleSet for the given matching type. This method will never</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         return null, a new instance will be created.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: method entered 28 times.">    <span class="keyword">protected</span> RuleSet getRuleSet(<span class="keyword">int</span> matchType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: statement executed 28 times.">        RuleSet ruleSet = ruleSets[matchType];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 214: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 214: statement executed 28 times.">        <span class="keyword">if</span> (ruleSet == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 215: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 215: statement executed 14 times.">            ruleSet = <span class="keyword">new</span> RuleSet();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 216: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 216: statement executed 14 times.">            ruleSets[matchType] = ruleSet;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// add the patterns that match any node</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 219: expression evaluated to true 14 times, false 0 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 219: expression evaluated to true 14 times, false 0 times.">            <span class="keyword">if</span> (matchType != Pattern.ANY_NODE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 220: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 220: statement executed 14 times.">                RuleSet allRules = ruleSets[Pattern.ANY_NODE];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 222: expression evaluated to true 0 times, false 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 222: expression evaluated to true 0 times, false 14 times.">                <span class="keyword">if</span> (allRules != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 223: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 223: statement not executed.">                    ruleSet.addAll(allRules);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 228: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 228: statement executed 28 times.">        <span class="keyword">return</span> ruleSet;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the Rule to a RuleSet for the given name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> map</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> rule</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the Map (which will be created if the given map was null</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 243: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 243: method not entered.">    <span class="keyword">protected</span> Map addToNameMap(Map map, String name, Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 244: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 244: statement not executed.">        <span class="keyword">if</span> (map == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: statement not executed.">            map = <span class="keyword">new</span> HashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: statement not executed.">        RuleSet ruleSet = (RuleSet) map.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 250: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 250: statement not executed.">        <span class="keyword">if</span> (ruleSet == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 251: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 251: statement not executed.">            ruleSet = <span class="keyword">new</span> RuleSet();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: statement not executed.">            map.put(name, ruleSet);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 255: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 255: statement not executed.">        ruleSet.addRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 257: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 257: statement not executed.">        <span class="keyword">return</span> map;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> removeFromNameMap(Map map, String name, Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 261: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 261: statement not executed.">        <span class="keyword">if</span> (map != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 262: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 262: statement not executed.">            RuleSet ruleSet = (RuleSet) map.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 264: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 264: statement not executed.">            <span class="keyword">if</span> (ruleSet != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 265</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 265: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 265: statement not executed.">                ruleSet.removeRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/NullAction.html b/docs/clover/org/dom4j/rule/NullAction.html
new file mode 100644
index 0000000..f3e14a2
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/NullAction.html
@@ -0,0 +1,339 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ NullAction.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="NullAction.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">63</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">1</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">7</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   NullAction.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>NullAction</code> represents an empty action that does nothing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NullAction"> 20</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> NullAction <span class="keyword">implements</span> Action {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Singleton instance */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final NullAction SINGLETON = <span class="keyword">new</span> NullAction();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 24: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 24: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> run(Node node) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/Pattern.html b/docs/clover/org/dom4j/rule/Pattern.html
new file mode 100644
index 0000000..3139b80
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/Pattern.html
@@ -0,0 +1,586 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ Pattern.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Pattern.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">125</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">14</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Pattern.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.NodeFilter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Pattern</code> defines the behaviour for pattern in the XSLT</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * processing model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Pattern"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> Pattern <span class="keyword">extends</span> NodeFilter {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// These node numbers are compatable with DOM4J's Node types</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches any node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> ANY_NODE = 0;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Matches no nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> NONE = 9999;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Count of the number of node types */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> NUMBER_OF_TYPES = Node.UNKNOWN_NODE;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * According to the <a href="http://www.w3.org/TR/xslt11/#conflict">spec</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </a> we should return 0.5 if we cannot determine the priority</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">double</span> DEFAULT_PRIORITY = 0.5;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the pattern matches the given DOM4J node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">boolean</span> matches(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the default resolution policy of the pattern according to the <a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * spec </a>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">double</span> getPriority();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If this pattern is a union pattern then this method should return an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * array of patterns which describe the union pattern, which should contain</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * more than one pattern. Otherwise this method should return null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an array of the patterns which make up this union pattern or null</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         if this pattern is not a union pattern</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Pattern[] getUnionPatterns();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the type of node the pattern matches which by default should</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         return ANY_NODE if it can match any kind of node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">short</span> getMatchType();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this pattern may return the name of the element or attribute it matches.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This allows a more efficient rule matching algorithm to be performed,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * rather than a brute force approach of evaluating every pattern for a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given Node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the name of the element or attribute this pattern matches or null</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         if this pattern matches any or more than one name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    String getMatchesNodeName();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/Rule.html b/docs/clover/org/dom4j/rule/Rule.html
new file mode 100644
index 0000000..9509392
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/Rule.html
@@ -0,0 +1,1486 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ Rule.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Rule.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">331</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">25</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">115</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Rule.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">52,1%</TD>
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphBarLeft" align="center"><B>54,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="108" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="92" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Rule</code> matches against DOM4J Node so that some action can be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * performed such as in the XSLT processing model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Rule"> 21</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> Rule <span class="keyword">implements</span> Comparable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property mode. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String mode;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property importPrecedence. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> importPrecedence;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property priority. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">double</span> priority;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property appearenceCount. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> appearenceCount;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property pattern. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Pattern pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property action. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Action action;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: method not entered.">    <span class="keyword">public</span> Rule() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: statement not executed.">        <span class="keyword">this</span>.priority = Pattern.DEFAULT_PRIORITY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: method entered 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: method entered 32 times.">    <span class="keyword">public</span> Rule(Pattern pattern) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: statement executed 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: statement executed 32 times.">        <span class="keyword">this</span>.pattern = pattern;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: statement executed 32 times."> 32</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: statement executed 32 times.">        <span class="keyword">this</span>.priority = pattern.getPriority();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 28 times.">    <span class="keyword">public</span> Rule(Pattern pattern, Action action) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 28 times.">        <span class="keyword">this</span>(pattern);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: statement executed 28 times.">        <span class="keyword">this</span>.action = action;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new Rule with the same instance data as the given rule but a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * different pattern.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pattern</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: method not entered.">    <span class="keyword">public</span> Rule(Rule that, Pattern pattern) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        <span class="keyword">this</span>.mode = that.mode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        <span class="keyword">this</span>.importPrecedence = that.importPrecedence;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        <span class="keyword">this</span>.priority = that.priority;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        <span class="keyword">this</span>.appearenceCount = that.appearenceCount;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">        <span class="keyword">this</span>.action = that.action;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">this</span>.pattern = pattern;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> equals(Object that) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">if</span> (that <span class="keyword">instanceof</span> Rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">            <span class="keyword">return</span> compareTo((Rule) that) == 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">int</span> hashCode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 2 times.">        <span class="keyword">return</span> importPrecedence + appearenceCount;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: method entered 11 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compareTo(Object that) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: expression evaluated to true 11 times, false 0 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: expression evaluated to true 11 times, false 0 times.">        <span class="keyword">if</span> (that <span class="keyword">instanceof</span> Rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 11 times.">            <span class="keyword">return</span> compareTo((Rule) that);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">return</span> getClass().getName().compareTo(that.getClass().getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Compares two rules in XSLT processing model order assuming that the modes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * are equal.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: method entered 12 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compareTo(Rule that) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 12 times.">        <span class="keyword">int</span> answer = <span class="keyword">this</span>.importPrecedence - that.importPrecedence;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 12 times.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 105: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: statement executed 9 times.">            answer = (<span class="keyword">int</span>) Math.round(<span class="keyword">this</span>.priority - that.priority);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: statement executed 9 times.">            <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 7 times.">                answer = <span class="keyword">this</span>.appearenceCount - that.appearenceCount;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 12 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: method entered 2 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 2 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">"[ pattern: "</span> + getPattern() + <span class="string">" action: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + getAction() + <span class="string">" ]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the pattern matches the given DOM4J node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: method entered 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: method entered 52 times.">    <span class="keyword">public</span> final <span class="keyword">boolean</span> matches(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 52 times.">        <span class="keyword">return</span> pattern.matches(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If this rule contains a union pattern then this method should return an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * array of Rules which describe the union rule, which should contain more</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * than one rule. Otherwise this method should return null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an array of the rules which make up this union rule or null if</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         this rule is not a union rule</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: method entered 14 times.">    <span class="keyword">public</span> Rule[] getUnionRules() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 14 times.">        Pattern[] patterns = pattern.getUnionPatterns();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: expression evaluated to true 14 times, false 0 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: expression evaluated to true 14 times, false 0 times.">        <span class="keyword">if</span> (patterns == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: statement executed 14 times.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: statement not executed.">        <span class="keyword">int</span> size = patterns.length;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">        Rule[] answer = <span class="keyword">new</span> Rule[size];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">            answer[i] = <span class="keyword">new</span> Rule(<span class="keyword">this</span>, patterns[i]);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the type of node the pattern matches which by default should</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         return ANY_NODE if it can match any kind of node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: method entered 28 times.">    <span class="keyword">public</span> final <span class="keyword">short</span> getMatchType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 28 times.">        <span class="keyword">return</span> pattern.getMatchType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this pattern may return the name of the element or attribute it matches.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This allows a more efficient rule matching algorithm to be performed,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * rather than a brute force approach of evaluating every pattern for a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given Node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the name of the element or attribute this pattern matches or null</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         if this pattern matches any or more than one name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: method entered 28 times.">    <span class="keyword">public</span> final String getMatchesNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 178: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 178: statement executed 28 times.">        <span class="keyword">return</span> pattern.getMatchesNodeName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property mode.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property mode.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 186: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 186: method entered 14 times.">    <span class="keyword">public</span> String getMode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 14 times.">        <span class="keyword">return</span> mode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property mode.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> mode</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property mode.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setMode(String mode) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">        <span class="keyword">this</span>.mode = mode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property importPrecedence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property importPrecedence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 205: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 205: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getImportPrecedence() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">        <span class="keyword">return</span> importPrecedence;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property importPrecedence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> importPrecedence</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property importPrecedence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 215: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 215: method entered 14 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setImportPrecedence(<span class="keyword">int</span> importPrecedence) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 216: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 216: statement executed 14 times.">        <span class="keyword">this</span>.importPrecedence = importPrecedence;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property priority.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property priority.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 224: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 224: method not entered.">    <span class="keyword">public</span> <span class="keyword">double</span> getPriority() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 225: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 225: statement not executed.">        <span class="keyword">return</span> priority;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property priority.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> priority</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property priority.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 234: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 234: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPriority(<span class="keyword">double</span> priority) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: statement not executed.">        <span class="keyword">this</span>.priority = priority;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property appearenceCount.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property appearenceCount.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 243: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 243: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getAppearenceCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 244: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 244: statement not executed.">        <span class="keyword">return</span> appearenceCount;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property appearenceCount.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> appearenceCount</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property appearenceCount.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 253: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 253: method entered 14 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setAppearenceCount(<span class="keyword">int</span> appearenceCount) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 254: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: statement executed 14 times.">        <span class="keyword">this</span>.appearenceCount = appearenceCount;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property pattern.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property pattern.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 262: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 262: method entered 2 times.">    <span class="keyword">public</span> Pattern getPattern() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 263: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 263: statement executed 2 times.">        <span class="keyword">return</span> pattern;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property pattern.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> pattern</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property pattern.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 272: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 272: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPattern(Pattern pattern) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 273: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 273: statement not executed.">        <span class="keyword">this</span>.pattern = pattern;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property action.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property action.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 281: method entered 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 281: method entered 30 times.">    <span class="keyword">public</span> Action getAction() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 282: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 282: statement executed 30 times.">        <span class="keyword">return</span> action;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property action.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> action</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property action.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 291: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 291: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setAction(Action action) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 292: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 292: statement not executed.">        <span class="keyword">this</span>.action = action;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/RuleManager.html b/docs/clover/org/dom4j/rule/RuleManager.html
new file mode 100644
index 0000000..0959f05
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/RuleManager.html
@@ -0,0 +1,1088 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ RuleManager.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="RuleManager.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">235</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">13</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">95</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   RuleManager.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">44,4%</TD>
+    <TD class="graphPercent" align="center">67,4%</TD>
+    <TD class="graphPercent" align="center">76,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>63,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="127" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="73" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.rule.pattern.NodeTypePattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>RuleManager</code> manages a set of rules such that a rule can be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * found for a given DOM4J Node using the XSLT processing model.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="RuleManager"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> RuleManager {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Map of modes indexed by mode */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> HashMap modes = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A counter so that rules can be ordered by the order in which they were</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * added to the rule base</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> appearenceCount;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property valueOfAction. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Action valueOfAction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: method entered 5 times.">    <span class="keyword">public</span> RuleManager() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> modeName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the Mode instance for the given mode name. If one does not exist</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         then it will be created.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: method entered 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: method entered 25 times.">    <span class="keyword">public</span> Mode getMode(String modeName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 25 times.">        Mode mode = (Mode) modes.get(modeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 25 times.">        <span class="keyword">if</span> (mode == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 4 times.">            mode = createMode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 4 times.">            modes.put(modeName, mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 25 times.">        <span class="keyword">return</span> mode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: method entered 14 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addRule(Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 14 times.">        rule.setAppearenceCount(++appearenceCount);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 14 times.">        Mode mode = getMode(rule.getMode());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 14 times.">        Rule[] childRules = rule.getUnionRules();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: expression evaluated to true 0 times, false 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: expression evaluated to true 0 times, false 14 times.">        <span class="keyword">if</span> (childRules != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = childRules.length; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">                mode.addRule(childRules[i]);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 14 times.">            mode.addRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeRule(Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        Mode mode = getMode(rule.getMode());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        Rule[] childRules = rule.getUnionRules();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">if</span> (childRules != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = childRules.length; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">                mode.removeRule(childRules[i]);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">            mode.removeRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Performs an XSLT processing model match for the rule which matches the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given Node the best.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> modeName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the mode associated with the rule if any</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the DOM4J Node to match against</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the matching Rule or no rule if none matched</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> Rule getMatchingRule(String modeName, Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        Mode mode = (Mode) modes.get(modeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">        <span class="keyword">if</span> (mode != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">            <span class="keyword">return</span> mode.getMatchingRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">            System.out.println(<span class="string">"Warning: No Mode for mode: "</span> + mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">        modes.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        appearenceCount = 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default value-of action which is used in the default rules</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         for the pattern "text()|&#64;"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: method entered 4 times.">    <span class="keyword">public</span> Action getValueOfAction() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 4 times.">        <span class="keyword">return</span> valueOfAction;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the default value-of action which is used in the default rules for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the pattern "text()|&#64;"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> valueOfAction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 138: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 138: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setValueOfAction(Action valueOfAction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: statement executed 4 times.">        <span class="keyword">this</span>.valueOfAction = valueOfAction;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A factory method to return a new {@link Mode}instance which should add</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the necessary default rules</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: method entered 4 times.">    <span class="keyword">protected</span> Mode createMode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 4 times.">        Mode mode = <span class="keyword">new</span> Mode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 153: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 153: statement executed 4 times.">        addDefaultRules(mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: statement executed 4 times.">        <span class="keyword">return</span> mode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the default stylesheet rules to the given {@link Mode}instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> mode</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: method entered 4 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addDefaultRules(final Mode mode) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// add an apply templates rule</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 4 times.">        Action applyTemplates = <span class="keyword">new</span> Action() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: method entered 6 times.">            <span class="keyword">public</span> <span class="keyword">void</span> run(Node node) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 168: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 168: statement executed 6 times.">                <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: statement executed 5 times.">                    mode.applyTemplates((Element) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: expression evaluated to true 1 time, false 0 times.">                } <span class="keyword">else</span> <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 1 time.">                    mode.applyTemplates((Document) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        };</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: statement executed 4 times.">        Action valueOf = getValueOfAction();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 178: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 178: statement executed 4 times.">        addDefaultRule(mode, NodeTypePattern.ANY_DOCUMENT, applyTemplates);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 4 times.">        addDefaultRule(mode, NodeTypePattern.ANY_ELEMENT, applyTemplates);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 181: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 181: statement executed 4 times.">        <span class="keyword">if</span> (valueOf != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 182: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 182: statement executed 3 times.">            addDefaultRule(mode, NodeTypePattern.ANY_ATTRIBUTE, valueOf);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 3 times.">            addDefaultRule(mode, NodeTypePattern.ANY_TEXT, valueOf);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: method entered 14 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addDefaultRule(Mode mode, Pattern pattern, Action action) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: statement executed 14 times.">        Rule rule = createDefaultRule(pattern, action);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 14 times.">        mode.addRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: method entered 14 times.">    <span class="keyword">protected</span> Rule createDefaultRule(Pattern pattern, Action action) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 193: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: statement executed 14 times.">        Rule rule = <span class="keyword">new</span> Rule(pattern, action);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 194: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 194: statement executed 14 times.">        rule.setImportPrecedence(-1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 196: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 196: statement executed 14 times.">        <span class="keyword">return</span> rule;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/RuleSet.html b/docs/clover/org/dom4j/rule/RuleSet.html
new file mode 100644
index 0000000..e3aec03
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/RuleSet.html
@@ -0,0 +1,667 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ RuleSet.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="RuleSet.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">138</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">44</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   RuleSet.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">68,4%</TD>
+    <TD class="graphPercent" align="center">57,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>68,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="137" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="63" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Collections;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>RuleSet</code> manages a set of rules which are sorted in order of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * relevance according to the XSLT defined conflict resolution policy. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * makes finding the correct rule for a DOM4J Node using the XSLT processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * model efficient as the rules can be evaluated in order of priority.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="RuleSet"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> RuleSet {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** An unordered list of Rule objects */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ArrayList rules = <span class="keyword">new</span> ArrayList();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A lazily evaluated and cached array of rules sorted */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Rule[] ruleArray;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: method entered 14 times.">    <span class="keyword">public</span> RuleSet() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: method not entered.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: statement not executed.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [RuleSet: "</span> + rules + <span class="string">" ]"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Performs an XSLT processing model match for the rule which matches the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * given Node the best.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the DOM4J Node to match against</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the matching Rule or no rule if none matched</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 28 times.">    <span class="keyword">public</span> Rule getMatchingRule(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 28 times.">        Rule[] matches = getRuleArray();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: expression evaluated to true 49 times, false 0 times."> 49</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: expression evaluated to true 49 times, false 0 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = matches.length - 1; i >= 0; i--) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: statement executed 49 times."> 49</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: statement executed 49 times.">            Rule rule = matches[i];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 49 times."> 49</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 49 times.">            <span class="keyword">if</span> (rule.matches(node)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 28 times.">                <span class="keyword">return</span> rule;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: method entered 28 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addRule(Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: statement executed 28 times.">        rules.add(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 28 times.">        ruleArray = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeRule(Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        rules.remove(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        ruleArray = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds all the rules to this RuleSet from the given other rule set.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addAll(RuleSet that) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        rules.addAll(that.rules);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        ruleArray = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns an array of sorted rules.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the rules as a sorted array in ascending precendence so that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         rules at the end of the array should be used first</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: method entered 28 times.">    <span class="keyword">protected</span> Rule[] getRuleArray() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: statement executed 28 times.">        <span class="keyword">if</span> (ruleArray == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 8 times.">            Collections.sort(rules);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 8 times.">            <span class="keyword">int</span> size = rules.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 8 times.">            ruleArray = <span class="keyword">new</span> Rule[size];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 8 times.">            rules.toArray(ruleArray);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 28 times.">        <span class="keyword">return</span> ruleArray;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/Stylesheet.html b/docs/clover/org/dom4j/rule/Stylesheet.html
new file mode 100644
index 0000000..7024b30
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/Stylesheet.html
@@ -0,0 +1,1499 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ Stylesheet.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="Stylesheet.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">334</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">20</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">118</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Stylesheet.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">32,1%</TD>
+    <TD class="graphPercent" align="center">44,4%</TD>
+    <TD class="graphPercent" align="center">45%</TD>
+    <TD class="graphBarLeft" align="center"><B>41,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="82" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="118" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.XPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>Stylesheet</code> implements an XSLT stylesheet such that rules can</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * be added to the stylesheet and the stylesheet can be applied to a source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * document or node.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.14 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Stylesheet"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> Stylesheet {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> RuleManager ruleManager = <span class="keyword">new</span> RuleManager();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property mode. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String modeName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a new empty stylesheet.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: method entered 5 times.">    <span class="keyword">public</span> Stylesheet() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Add a rule to this stylesheet.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> rule</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the rule to add</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: method entered 14 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addRule(Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: statement executed 14 times.">        ruleManager.addRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the specified rule from this stylesheet.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> rule</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the rule to remove</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeRule(Rule rule) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: statement not executed.">        ruleManager.removeRule(rule);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Runs this stylesheet on the given input which should be either a Node or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * a List of Node objects.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input to run this stylesheet on</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if something goes wrong</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> run(Object input) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        run(input, <span class="keyword">this</span>.modeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> run(Object input, String mode) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        <span class="keyword">if</span> (input <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">            run((Node) input, mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (input <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">            run((List) input, mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> run(List list) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        run(list, <span class="keyword">this</span>.modeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> run(List list, String mode) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = list.size(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">                run((Node) object, mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> run(Node node) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: statement executed 2 times.">        run(node, <span class="keyword">this</span>.modeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> run(Node node, String mode) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: statement executed 2 times.">        Mode mod = ruleManager.getMode(mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 2 times.">        mod.fireRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Processes the result of the xpath expression. The xpath expression is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * evaluated against the provided input object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the xpath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if something goes wrong</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> applyTemplates(Object input, XPath xpath) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 1 time.">        applyTemplates(input, xpath, <span class="keyword">this</span>.modeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Processes the result of the xpath expression in the given mode. The xpath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression is evaluated against the provided input object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the xpath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> mode</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the mode</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if something goes wrong</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> applyTemplates(Object input, XPath xpath, String mode)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> Exception {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 1 time.">        Mode mod = ruleManager.getMode(mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 137: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 137: statement executed 1 time.">        List list = xpath.selectNodes(input);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 138: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 138: statement executed 1 time.">        Iterator it = list.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: statement executed 1 time.">        <span class="keyword">while</span> (it.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 2 times.">            Node current = (Node) it.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 2 times.">            mod.fireRule(current);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Processes the result of the xpath expression. The xpath expression is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * evaluated against the provided input object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the xpath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if something goes wrong</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@deprecated</span> Use {@link Stylesheet#applyTemplates(Object, XPath)}instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> applyTemplates(Object input, org.jaxen.XPath xpath)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> Exception {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        applyTemplates(input, xpath, <span class="keyword">this</span>.modeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Processes the result of the xpath expression in the given mode. The xpath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression is evaluated against the provided input object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xpath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the xpath expression</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> mode</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the mode</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if something goes wrong</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@deprecated</span> Use {@link Stylesheet#applyTemplates(Object, XPath, String)}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> applyTemplates(Object input, org.jaxen.XPath xpath, String mode)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> Exception {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">        Mode mod = ruleManager.getMode(mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">        List list = xpath.selectNodes(input);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 182: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 182: statement not executed.">        Iterator it = list.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 183: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 183: statement not executed.">        <span class="keyword">while</span> (it.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 184: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 184: statement not executed.">            Node current = (Node) it.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 185: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 185: statement not executed.">            mod.fireRule(current);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If input is a <code>Node</code>, this will processes all of the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * children of that node. If input is a <code>List</code> of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Nodes</code>s, these nodes will be iterated and all children of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * each node will be processed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input object, this can either be a <code>Node</code> or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            a <code>List</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if something goes wrong</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> applyTemplates(Object input) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 8 times.">        applyTemplates(input, <span class="keyword">this</span>.modeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Processes the input object in the given mode. If input is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Node</code>, this will processes all of the children of that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * node. If input is a <code>List</code> of <code>Nodes</code>s, these</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * nodes will be iterated and all children of each node will be processed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> input</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the input object, this can either be a <code>Node</code> or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            a <code>List</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> mode</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the mode</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> Exception</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if something goes wrong</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 219: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 219: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> applyTemplates(Object input, String mode) <span class="keyword">throws</span> Exception {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 220: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 220: statement executed 8 times.">        Mode mod = ruleManager.getMode(mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 222: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: statement executed 8 times.">        <span class="keyword">if</span> (input <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// iterate through all children</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 224: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 224: statement executed 7 times.">            Element element = (Element) input;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: statement executed 7 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = element.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 226: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 226: statement executed 10 times.">                Node node = element.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 227: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 227: statement executed 10 times.">                mod.fireRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 229: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 229: expression evaluated to true 1 time, false 0 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (input <span class="keyword">instanceof</span> Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// iterate through all children</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 231: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 231: statement executed 1 time.">            Document document = (Document) input;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 232: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 232: statement executed 1 time.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = document.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 233: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 233: statement executed 1 time.">                Node node = document.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 234: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 234: statement executed 1 time.">                mod.fireRule(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 236: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 236: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (input <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: statement not executed.">            List list = (List) input;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 239: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 239: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = list.size(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 240: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 240: statement not executed.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 242: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 242: statement not executed.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 243: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 243: statement not executed.">                    applyTemplates((Element) object, mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 244: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 244: statement not executed.">                } <span class="keyword">else</span> <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: statement not executed.">                    applyTemplates((Document) object, mode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 251: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 251: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: statement not executed.">        ruleManager.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the name of the mode the stylesheet uses by default</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 263: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 263: method not entered.">    <span class="keyword">public</span> String getModeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 264: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 264: statement not executed.">        <span class="keyword">return</span> modeName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the name of the mode that the stylesheet uses by default.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> modeName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 273: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 273: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setModeName(String modeName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 274: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: statement not executed.">        <span class="keyword">this</span>.modeName = modeName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default value-of action which is used in the default rules</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         for the pattern "text()|&#64;"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 283: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 283: method not entered.">    <span class="keyword">public</span> Action getValueOfAction() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 284: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 284: statement not executed.">        <span class="keyword">return</span> ruleManager.getValueOfAction();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the default value-of action which is used in the default rules for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the pattern "text()|&#64;"</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> valueOfAction</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 294</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 294: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 294: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setValueOfAction(Action valueOfAction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: statement executed 4 times.">        ruleManager.setValueOfAction(valueOfAction);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/pattern/DefaultPattern.html b/docs/clover/org/dom4j/rule/pattern/DefaultPattern.html
new file mode 100644
index 0000000..c222536
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/pattern/DefaultPattern.html
@@ -0,0 +1,458 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ pattern\ DefaultPattern.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultPattern.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">90</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">6</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">25</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultPattern.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule.pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.NodeFilter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.rule.Pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultPattern</code> a default implementation of Pattern which can</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * take any XPath implementation or NodeFilter for defining the pattern.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <b>WARNING </b> this implementation causes a worst case, brute force XSLT</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * rule evaluation to be performed. Wherever possible the methods {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * #getPriority}, {@link #getMatchType}and {@link #getMatchesNodeName}should</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * be overloaded to allow more rule filtering to occur.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultPattern"> 27</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultPattern <span class="keyword">implements</span> Pattern {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> NodeFilter filter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: method not entered.">    <span class="keyword">public</span> DefaultPattern(NodeFilter filter) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: statement not executed.">        <span class="keyword">this</span>.filter = filter;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> matches(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: statement not executed.">        <span class="keyword">return</span> filter.matches(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: method not entered.">    <span class="keyword">public</span> <span class="keyword">double</span> getPriority() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: statement not executed.">        <span class="keyword">return</span> Pattern.DEFAULT_PRIORITY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> Pattern[] getUnionPatterns() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">public</span> <span class="keyword">short</span> getMatchType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">return</span> ANY_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: method not entered.">    <span class="keyword">public</span> String getMatchesNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/pattern/NodeTypePattern.html b/docs/clover/org/dom4j/rule/pattern/NodeTypePattern.html
new file mode 100644
index 0000000..9aee5be
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/pattern/NodeTypePattern.html
@@ -0,0 +1,537 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ rule\ pattern\ NodeTypePattern.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="NodeTypePattern.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">109</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">6</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">36</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   NodeTypePattern.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>83,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../../img/trans.gif"
+                   width="166" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../../img/trans.gif"
+                   width="34" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.rule.pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.rule.Pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>NodeTypePattern</code> implements a Pattern which matches any node of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the given node type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NodeTypePattern"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> NodeTypePattern <span class="keyword">implements</span> Pattern {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A pattern which matches any Attribute node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final NodeTypePattern ANY_ATTRIBUTE = <span class="keyword">new</span> NodeTypePattern(</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Node.ATTRIBUTE_NODE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A pattern which matches any Comment node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final NodeTypePattern ANY_COMMENT = <span class="keyword">new</span> NodeTypePattern(</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Node.COMMENT_NODE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A pattern which matches any Document node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final NodeTypePattern ANY_DOCUMENT = <span class="keyword">new</span> NodeTypePattern(</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Node.DOCUMENT_NODE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A pattern which matches any Element node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final NodeTypePattern ANY_ELEMENT = <span class="keyword">new</span> NodeTypePattern(</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Node.ELEMENT_NODE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A pattern which matches any ProcessingInstruction node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final NodeTypePattern ANY_PROCESSING_INSTRUCTION = </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">new</span> NodeTypePattern(Node.PROCESSING_INSTRUCTION_NODE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A pattern which matches any Text node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final NodeTypePattern ANY_TEXT = <span class="keyword">new</span> NodeTypePattern(</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Node.TEXT_NODE);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">short</span> nodeType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 6 times.">    <span class="keyword">public</span> NodeTypePattern(<span class="keyword">short</span> nodeType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 6 times.">        <span class="keyword">this</span>.nodeType = nodeType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: method entered 20 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> matches(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 20 times.">        <span class="keyword">return</span> node.getNodeType() == nodeType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 14 times.">    <span class="keyword">public</span> <span class="keyword">double</span> getPriority() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 14 times.">        <span class="keyword">return</span> Pattern.DEFAULT_PRIORITY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> Pattern[] getUnionPatterns() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: method entered 14 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getMatchType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 14 times.">        <span class="keyword">return</span> nodeType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: method entered 14 times.">    <span class="keyword">public</span> String getMatchesNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 14 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/rule/pattern/pkg-classes.html b/docs/clover/org/dom4j/rule/pattern/pkg-classes.html
new file mode 100644
index 0000000..8fbd653
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/pattern/pkg-classes.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.rule.pattern">org.dom4j.rule.pattern</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="DefaultPattern.html" title="DefaultPattern">DefaultPattern</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="NodeTypePattern.html" title="NodeTypePattern">NodeTypePattern</A>
+    	    <i>(83,3%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/rule/pattern/pkg-summary.html b/docs/clover/org/dom4j/rule/pattern/pkg-summary.html
new file mode 100644
index 0000000..d0dba9d
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/pattern/pkg-summary.html
@@ -0,0 +1,148 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">199</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">12</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">61</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">2</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">2</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.rule.pattern
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">41,7%</TD>
+    <TD class="graphPercent" align="center">41,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>41,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../../img/trans.gif"
+                   width="83" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../../img/trans.gif"
+                   width="117" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultPattern.html" title="DefaultPattern">DefaultPattern</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="NodeTypePattern.html" title="NodeTypePattern">NodeTypePattern</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>83,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../../img/trans.gif"
+                   width="166" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../../img/trans.gif"
+                   width="34" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+   <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/rule/pkg-classes.html b/docs/clover/org/dom4j/rule/pkg-classes.html
new file mode 100644
index 0000000..e79c021
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/pkg-classes.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.rule">org.dom4j.rule</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+    
+                <A target="classPane" href="Mode.html" title="Mode">Mode</A>
+    	    <i>(45,1%)</i><BR>
+    
+                <A target="classPane" href="NullAction.html" title="NullAction">NullAction</A>
+    	    <i>(0%)</i><BR>
+      
+                <A target="classPane" href="Rule.html" title="Rule">Rule</A>
+    	    <i>(54,1%)</i><BR>
+    
+                <A target="classPane" href="RuleManager.html" title="RuleManager">RuleManager</A>
+    	    <i>(63,6%)</i><BR>
+    
+                <A target="classPane" href="RuleSet.html" title="RuleSet">RuleSet</A>
+    	    <i>(68,8%)</i><BR>
+    
+                <A target="classPane" href="Stylesheet.html" title="Stylesheet">Stylesheet</A>
+    	    <i>(41,2%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/rule/pkg-summary.html b/docs/clover/org/dom4j/rule/pkg-summary.html
new file mode 100644
index 0000000..e61acb8
--- /dev/null
+++ b/docs/clover/org/dom4j/rule/pkg-summary.html
@@ -0,0 +1,236 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.592</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">76</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">557</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">8</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">8</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.rule
+	    </TD>
+   
+    <TD class="graphPercent" align="center">41,3%</TD>
+    <TD class="graphPercent" align="center">52,7%</TD>
+    <TD class="graphPercent" align="center">59,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>50,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="NullAction.html" title="NullAction">NullAction</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="Stylesheet.html" title="Stylesheet">Stylesheet</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">32,1%</TD>
+    <TD class="graphPercent" align="center">44,4%</TD>
+    <TD class="graphPercent" align="center">45%</TD>
+    <TD class="graphBarLeft" align="center"><B>41,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="82" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="118" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="Mode.html" title="Mode">Mode</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">39,2%</TD>
+    <TD class="graphPercent" align="center">47,3%</TD>
+    <TD class="graphPercent" align="center">70%</TD>
+    <TD class="graphBarLeft" align="center"><B>45,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="90" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="110" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="Rule.html" title="Rule">Rule</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">52,1%</TD>
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphBarLeft" align="center"><B>54,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="108" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="92" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="RuleManager.html" title="RuleManager">RuleManager</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">44,4%</TD>
+    <TD class="graphPercent" align="center">67,4%</TD>
+    <TD class="graphPercent" align="center">76,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>63,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="127" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="73" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="RuleSet.html" title="RuleSet">RuleSet</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">68,4%</TD>
+    <TD class="graphPercent" align="center">57,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>68,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="137" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="63" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+         <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/swing/BranchTreeNode.html b/docs/clover/org/dom4j/swing/BranchTreeNode.html
new file mode 100644
index 0000000..2a59b62
--- /dev/null
+++ b/docs/clover/org/dom4j/swing/BranchTreeNode.html
@@ -0,0 +1,918 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ swing\ BranchTreeNode.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="BranchTreeNode.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">196</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">16</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">84</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   BranchTreeNode.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.swing;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Enumeration;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.swing.tree.TreeNode;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CharacterData;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>BranchTreeNode</code> implements the Swing TreeNode interface to bind</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * dom4j XML Branch nodes (i.e. Document and Element nodes) to a Swing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * TreeModel.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Jakob Jenkov</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="BranchTreeNode"> 31</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> BranchTreeNode <span class="keyword">extends</span> LeafTreeNode {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Stores the child tree nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> List children;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: method not entered.">    <span class="keyword">public</span> BranchTreeNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: method not entered.">    <span class="keyword">public</span> BranchTreeNode(Branch xmlNode) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: statement not executed.">        <span class="keyword">super</span>(xmlNode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> BranchTreeNode(TreeNode parent, Branch xmlNode) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">super</span>(parent, xmlNode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// TreeNode methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> Enumeration children() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> Enumeration() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">private</span> <span class="keyword">int</span> index = -1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: method not entered.">            <span class="keyword">public</span> <span class="keyword">boolean</span> hasMoreElements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">                <span class="keyword">return</span> (index + 1) < getChildCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: method not entered.">            <span class="keyword">public</span> Object nextElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: statement not executed.">                <span class="keyword">return</span> getChildAt(++index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        };</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> getAllowsChildren() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: method not entered.">    <span class="keyword">public</span> TreeNode getChildAt(<span class="keyword">int</span> childIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        <span class="keyword">return</span> (TreeNode) getChildList().get(childIndex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getChildCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        <span class="keyword">return</span> getChildList().size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getIndex(TreeNode node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        <span class="keyword">return</span> getChildList().indexOf(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isLeaf() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">return</span> getXmlBranch().nodeCount() <= 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: method not entered.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        <span class="keyword">return</span> xmlNode.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Uses Lazy Initialization pattern to create a List of children</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: method not entered.">    <span class="keyword">protected</span> List getChildList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// for now lets just create the children once, the first time they</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// are asked for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXXX - we may wish to detect inconsistencies here....</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">if</span> (children == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">            children = createChildList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">return</span> children;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create List of children TreeNodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: method not entered.">    <span class="keyword">protected</span> List createChildList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// add attributes and content as children?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">        Branch branch = getXmlBranch();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: statement not executed.">        <span class="keyword">int</span> size = branch.nodeCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">        List childList = <span class="keyword">new</span> ArrayList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: statement not executed.">            Node node = branch.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// ignore whitespace text nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">            <span class="keyword">if</span> (node <span class="keyword">instanceof</span> CharacterData) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">                String text = node.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">                <span class="keyword">if</span> (text == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">                    <span class="keyword">continue</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">                text = text.trim();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">                <span class="keyword">if</span> (text.length() <= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">                    <span class="keyword">continue</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">            childList.add(createChildTreeNode(node));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">return</span> childList;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create child tree nodes for a given XML node type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xmlNode</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: method not entered.">    <span class="keyword">protected</span> TreeNode createChildTreeNode(Node xmlNode) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">        <span class="keyword">if</span> (xmlNode <span class="keyword">instanceof</span> Branch) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> BranchTreeNode(<span class="keyword">this</span>, (Branch) xmlNode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> LeafTreeNode(<span class="keyword">this</span>, xmlNode);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: method not entered.">    <span class="keyword">protected</span> Branch getXmlBranch() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: statement not executed.">        <span class="keyword">return</span> (Branch) xmlNode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/swing/DocumentTreeModel.html b/docs/clover/org/dom4j/swing/DocumentTreeModel.html
new file mode 100644
index 0000000..38159cd
--- /dev/null
+++ b/docs/clover/org/dom4j/swing/DocumentTreeModel.html
@@ -0,0 +1,470 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ swing\ DocumentTreeModel.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DocumentTreeModel.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">94</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">17</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DocumentTreeModel.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.swing;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.swing.tree.DefaultTreeModel;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DocumentTreeModel</code> implements a Swing TreeModel for a dom4j XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Jakob Jenkov</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DocumentTreeModel"> 24</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DocumentTreeModel <span class="keyword">extends</span> DefaultTreeModel {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The document for this model */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Document document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 28: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 28: method not entered.">    <span class="keyword">public</span> DocumentTreeModel(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 29: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 29: statement not executed.">        <span class="keyword">super</span>(<span class="keyword">new</span> BranchTreeNode(document));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: statement not executed.">        <span class="keyword">this</span>.document = document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the <code>Document</code> instance that this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         <code>TreeModel</code> is based on</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> Document getDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the <code>Document</code> instance that this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>TreeModel</code> is based on</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocument(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">this</span>.document = document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: statement not executed.">        setRoot(<span class="keyword">new</span> BranchTreeNode(document));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/swing/LeafTreeNode.html b/docs/clover/org/dom4j/swing/LeafTreeNode.html
new file mode 100644
index 0000000..3b2edf0
--- /dev/null
+++ b/docs/clover/org/dom4j/swing/LeafTreeNode.html
@@ -0,0 +1,697 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ swing\ LeafTreeNode.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="LeafTreeNode.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">145</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">15</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">56</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   LeafTreeNode.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.swing;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Enumeration;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.swing.tree.TreeNode;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>LeafTreeNode</code> implements the Swing TreeNode interface to bind a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * leaf XML nodes to a Swing TreeModel.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Jakob Jenkov</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="LeafTreeNode"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> LeafTreeNode <span class="keyword">implements</span> TreeNode {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final Enumeration EMPTY_ENUMERATION = <span class="keyword">new</span> Enumeration() {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 28: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 28: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> hasMoreElements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 29: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 29: statement not executed.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">        <span class="keyword">public</span> Object nextElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    };</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The parent node of this TreeNode */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> TreeNode parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The dom4j Node which contains the */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Node xmlNode;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> LeafTreeNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">public</span> LeafTreeNode(Node xmlNode) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">this</span>.xmlNode = xmlNode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: method not entered.">    <span class="keyword">public</span> LeafTreeNode(TreeNode parent, Node xmlNode) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">this</span>.xmlNode = xmlNode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// TreeNode methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> Enumeration children() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">return</span> EMPTY_ENUMERATION;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> getAllowsChildren() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: method not entered.">    <span class="keyword">public</span> TreeNode getChildAt(<span class="keyword">int</span> childIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getChildCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        <span class="keyword">return</span> 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getIndex(TreeNode node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">        <span class="keyword">return</span> -1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> TreeNode getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isLeaf() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// should maybe do things differently based on content?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">        String text = xmlNode.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">return</span> (text != <span class="keyword">null</span>) ? text.trim() : <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the parent of this node but doesn't change the parents children</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(LeafTreeNode parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> Node getXmlNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> xmlNode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/swing/XMLTableColumnDefinition.html b/docs/clover/org/dom4j/swing/XMLTableColumnDefinition.html
new file mode 100644
index 0000000..63dd19f
--- /dev/null
+++ b/docs/clover/org/dom4j/swing/XMLTableColumnDefinition.html
@@ -0,0 +1,1103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ swing\ XMLTableColumnDefinition.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XMLTableColumnDefinition.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">238</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">17</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">98</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XMLTableColumnDefinition.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">24,4%</TD>
+    <TD class="graphPercent" align="center">29,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>25,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="51" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="149" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.swing;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentHelper;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.XPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XMLTableColumnDefinition</code> a column within a table definition.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XMLTableColumnDefinition"> 24</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XMLTableColumnDefinition <span class="keyword">implements</span> Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final <span class="keyword">int</span> OBJECT_TYPE = 0;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final <span class="keyword">int</span> STRING_TYPE = 1;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final <span class="keyword">int</span> NUMBER_TYPE = 2;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final <span class="keyword">int</span> NODE_TYPE = 3;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property type. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">int</span> type;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property name. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String name;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property xpath. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XPath xpath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds the XPath used for the column name */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XPath columnNameXPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> XMLTableColumnDefinition() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> XMLTableColumnDefinition(String name, String expression, <span class="keyword">int</span> type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">this</span>.type = type;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">this</span>.xpath = createXPath(expression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: method entered 6 times.">    <span class="keyword">public</span> XMLTableColumnDefinition(String name, XPath xpath, <span class="keyword">int</span> type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 6 times.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 6 times.">        <span class="keyword">this</span>.xpath = xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 6 times.">        <span class="keyword">this</span>.type = type;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: method not entered.">    <span class="keyword">public</span> XMLTableColumnDefinition(XPath columnXPath, XPath xpath, <span class="keyword">int</span> type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">        <span class="keyword">this</span>.xpath = xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        <span class="keyword">this</span>.columnNameXPath = columnXPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        <span class="keyword">this</span>.type = type;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">int</span> parseType(String typeName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: expression evaluated to true 3 times, false 0 times.">        <span class="keyword">if</span> ((typeName != <span class="keyword">null</span>) && (typeName.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: expression evaluated to true 3 times, false 0 times.">            <span class="keyword">if</span> (typeName.equals(<span class="string">"string"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 3 times.">                <span class="keyword">return</span> STRING_TYPE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (typeName.equals(<span class="string">"number"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">                <span class="keyword">return</span> NUMBER_TYPE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (typeName.equals(<span class="string">"node"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">                <span class="keyword">return</span> NODE_TYPE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        <span class="keyword">return</span> OBJECT_TYPE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: method not entered.">    <span class="keyword">public</span> Class getColumnClass() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">switch</span> (type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">            <span class="keyword">case</span> STRING_TYPE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">                <span class="keyword">return</span> String.<span class="keyword">class</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">            <span class="keyword">case</span> NUMBER_TYPE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">                <span class="keyword">return</span> Number.<span class="keyword">class</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">            <span class="keyword">case</span> NODE_TYPE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">                <span class="keyword">return</span> Node.<span class="keyword">class</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">                <span class="keyword">return</span> Object.<span class="keyword">class</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: method entered 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: method entered 16 times.">    <span class="keyword">public</span> Object getValue(Object row) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: statement executed 16 times.">        <span class="keyword">switch</span> (type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: statement executed 16 times.">            <span class="keyword">case</span> STRING_TYPE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 16 times.">                <span class="keyword">return</span> xpath.valueOf(row);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: statement not executed.">            <span class="keyword">case</span> NUMBER_TYPE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">                <span class="keyword">return</span> xpath.numberValueOf(row);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">            <span class="keyword">case</span> NODE_TYPE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">                <span class="keyword">return</span> xpath.selectSingleNode(row);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">                <span class="keyword">return</span> xpath.evaluate(row);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">        <span class="keyword">return</span> type;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setType(<span class="keyword">int</span> type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">        <span class="keyword">this</span>.type = type;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: method entered 12 times.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 12 times.">        <span class="keyword">return</span> name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property xpath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property xpath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: method not entered.">    <span class="keyword">public</span> XPath getXPath() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        <span class="keyword">return</span> xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property xpath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> xPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property xpath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setXPath(XPath xPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: statement not executed.">        <span class="keyword">this</span>.xpath = xPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XPath used to create the column name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: method entered 6 times.">    <span class="keyword">public</span> XPath getColumnNameXPath() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 178: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 178: statement executed 6 times.">        <span class="keyword">return</span> columnNameXPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property columnNameXPath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> columnNameXPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property xpath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 187: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 187: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setColumnNameXPath(XPath columnNameXPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: statement not executed.">        <span class="keyword">this</span>.columnNameXPath = columnNameXPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: method not entered.">    <span class="keyword">protected</span> XPath createXPath(String expression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: statement not executed.">        <span class="keyword">return</span> DocumentHelper.createXPath(expression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> handleException(Exception e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// #### should use jakarta commons-logging</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">        System.out.println(<span class="string">"Caught: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/swing/XMLTableDefinition.html b/docs/clover/org/dom4j/swing/XMLTableDefinition.html
new file mode 100644
index 0000000..d013902
--- /dev/null
+++ b/docs/clover/org/dom4j/swing/XMLTableDefinition.html
@@ -0,0 +1,1448 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ swing\ XMLTableDefinition.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XMLTableDefinition.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">317</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">27</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">150</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XMLTableDefinition.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">78,1%</TD>
+    <TD class="graphPercent" align="center">70,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>76,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="153" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="47" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.swing;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentHelper;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.XPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.VariableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XMLTableDefinition</code> represents a table definition based on</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * XPath expression evaluated on an XML document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XMLTableDefinition"> 33</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XMLTableDefinition <span class="keyword">implements</span> Serializable, VariableContext {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property rowXPath. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XPath rowXPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The columns to display in this table */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List columns = <span class="keyword">new</span> ArrayList();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** integer index array cache */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLTableColumnDefinition[] columnArray;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** name index cache */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map columnNameIndex;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** for cross-row variables */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> VariableContext variableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** stores the current row value for the variableContext */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object rowValue;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: method entered 2 times.">    <span class="keyword">public</span> XMLTableDefinition() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Loads an XML table definition from an XML definition document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> definition</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">static</span> XMLTableDefinition load(Document definition) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: statement executed 1 time.">        <span class="keyword">return</span> load(definition.getRootElement());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Loads an XML table definition from an XML definition document</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> definition</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">static</span> XMLTableDefinition load(Element definition) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 1 time.">        XMLTableDefinition answer = <span class="keyword">new</span> XMLTableDefinition();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 77: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 77: statement executed 1 time.">        answer.setRowExpression(definition.attributeValue(<span class="string">"select"</span>));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: statement executed 1 time.">        <span class="keyword">for</span> (Iterator iter = definition.elementIterator(<span class="string">"column"</span>); iter</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .hasNext();) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 3 times.">            Element element = (Element) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 3 times.">            String expression = element.attributeValue(<span class="string">"select"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: statement executed 3 times.">            String name = element.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 3 times.">            String typeName = element.attributeValue(<span class="string">"type"</span>, <span class="string">"string"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: statement executed 3 times.">            String columnXPath = element.attributeValue(<span class="string">"columnNameXPath"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 3 times.">            <span class="keyword">int</span> type = XMLTableColumnDefinition.parseType(typeName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: expression evaluated to true 0 times, false 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: expression evaluated to true 0 times, false 3 times.">            <span class="keyword">if</span> (columnXPath != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">                answer.addColumnWithXPathName(columnXPath, expression, type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: statement executed 3 times.">                answer.addColumn(name, expression, type);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 1 time.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: method not entered.">    <span class="keyword">public</span> Class getColumnClass(<span class="keyword">int</span> columnIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">        <span class="keyword">return</span> getColumn(columnIndex).getColumnClass();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">int</span> getColumnCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 2 times.">        <span class="keyword">return</span> columns.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> columnIndex</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the static column name. This is used if there is no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         columnNameXPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: method entered 6 times.">    <span class="keyword">public</span> String getColumnName(<span class="keyword">int</span> columnIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 6 times.">        <span class="keyword">return</span> getColumn(columnIndex).getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> columnIndex</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XPath expression used to evaluate the value of cells in this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         column</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: method not entered.">    <span class="keyword">public</span> XPath getColumnXPath(<span class="keyword">int</span> columnIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">        <span class="keyword">return</span> getColumn(columnIndex).getXPath();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> columnIndex</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XPath expresssion used to create the column name, if there is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         one or null if there is no XPath expression to name the column.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: method entered 6 times.">    <span class="keyword">public</span> XPath getColumnNameXPath(<span class="keyword">int</span> columnIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 142: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 142: statement executed 6 times.">        <span class="keyword">return</span> getColumn(columnIndex).getColumnNameXPath();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: method entered 12 times.">    <span class="keyword">public</span> <span class="keyword">synchronized</span> Object getValueAt(Object row, <span class="keyword">int</span> columnIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 12 times.">        XMLTableColumnDefinition column = getColumn(columnIndex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: statement executed 12 times.">        Object answer = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: statement executed 12 times.">        <span class="keyword">synchronized</span> (<span class="keyword">this</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 12 times.">            <span class="keyword">this</span>.rowValue = row;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 12 times.">            answer = column.getValue(row);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 12 times.">            <span class="keyword">this</span>.rowValue = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: statement executed 12 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addColumn(String name, String expression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        addColumn(name, expression, XMLTableColumnDefinition.OBJECT_TYPE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addColumn(String name, String expression, <span class="keyword">int</span> type) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: statement executed 6 times.">        XPath xpath = createColumnXPath(expression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 6 times.">        addColumn(<span class="keyword">new</span> XMLTableColumnDefinition(name, xpath, type));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addColumnWithXPathName(String columnNameXPathExpression,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String expression, <span class="keyword">int</span> type) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: statement not executed.">        XPath columnNameXPath = createColumnXPath(columnNameXPathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: statement not executed.">        XPath xpath = createColumnXPath(expression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">        addColumn(<span class="keyword">new</span> XMLTableColumnDefinition(columnNameXPath, xpath, type));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 174: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 174: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addStringColumn(String name, String expression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 175: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 175: statement executed 3 times.">        addColumn(name, expression, XMLTableColumnDefinition.STRING_TYPE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 178: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 178: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addNumberColumn(String name, String expression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">        addColumn(name, expression, XMLTableColumnDefinition.NUMBER_TYPE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 182: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 182: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addColumn(XMLTableColumnDefinition column) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 6 times.">        clearCaches();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: statement executed 6 times.">        columns.add(column);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 187: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 187: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeColumn(XMLTableColumnDefinition column) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: statement not executed.">        clearCaches();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">        columns.remove(column);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: statement not executed.">        clearCaches();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: statement not executed.">        columns.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 197: method entered 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 197: method entered 24 times.">    <span class="keyword">public</span> XMLTableColumnDefinition getColumn(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: statement executed 24 times.">        <span class="keyword">if</span> (columnArray == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 2 times.">            columnArray = <span class="keyword">new</span> XMLTableColumnDefinition[columns.size()];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 2 times.">            columns.toArray(columnArray);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 203: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 203: statement executed 24 times.">        <span class="keyword">return</span> columnArray[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 206: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 206: method entered 4 times.">    <span class="keyword">public</span> XMLTableColumnDefinition getColumn(String columnName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 207: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 207: statement executed 4 times.">        <span class="keyword">if</span> (columnNameIndex == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 208: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 208: statement executed 2 times.">            columnNameIndex = <span class="keyword">new</span> HashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 210: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: statement executed 2 times.">            <span class="keyword">for</span> (Iterator it = columns.iterator(); it.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 6 times.">                XMLTableColumnDefinition column = (XMLTableColumnDefinition) it</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        .next();</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 213: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 213: statement executed 6 times.">                columnNameIndex.put(column.getName(), column);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 217: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 217: statement executed 4 times.">        <span class="keyword">return</span> (XMLTableColumnDefinition) columnNameIndex.get(columnName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property rowXPath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property rowXPath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: method entered 2 times.">    <span class="keyword">public</span> XPath getRowXPath() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 226: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 226: statement executed 2 times.">        <span class="keyword">return</span> rowXPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property rowXPath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> rowXPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property rowXPath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 235: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 235: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setRowXPath(XPath rowXPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 236: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 236: statement executed 2 times.">        <span class="keyword">this</span>.rowXPath = rowXPath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 239: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 239: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setRowExpression(String xpath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 240: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 240: statement executed 2 times.">        setRowXPath(createXPath(xpath));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// VariableContext interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 245: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 245: method entered 4 times.">    <span class="keyword">public</span> Object getVariableValue(String namespaceURI, String prefix,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String localName) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 247: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 247: statement executed 4 times.">        XMLTableColumnDefinition column = getColumn(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 249: expression evaluated to true 4 times, false 0 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: expression evaluated to true 4 times, false 0 times.">        <span class="keyword">if</span> (column != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 250: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 250: statement executed 4 times.">            <span class="keyword">return</span> column.getValue(rowValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 253: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 253: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 258: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 258: method entered 8 times.">    <span class="keyword">protected</span> XPath createXPath(String expression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 259: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 259: statement executed 8 times.">        <span class="keyword">return</span> DocumentHelper.createXPath(expression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 262: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 262: method entered 6 times.">    <span class="keyword">protected</span> XPath createColumnXPath(String expression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 263: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 263: statement executed 6 times.">        XPath xpath = createXPath(expression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// associate my variable context</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 266: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 266: statement executed 6 times.">        xpath.setVariableContext(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 268: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 268: statement executed 6 times.">        <span class="keyword">return</span> xpath;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: method entered 6 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> clearCaches() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 272: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 272: statement executed 6 times.">        columnArray = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 273: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 273: statement executed 6 times.">        columnNameIndex = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 276: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 276: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> handleException(Exception e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// #### should use jakarta commons-logging</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 278: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 278: statement not executed.">        System.out.println(<span class="string">"Caught: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/swing/XMLTableModel.html b/docs/clover/org/dom4j/swing/XMLTableModel.html
new file mode 100644
index 0000000..7e2de5d
--- /dev/null
+++ b/docs/clover/org/dom4j/swing/XMLTableModel.html
@@ -0,0 +1,943 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ swing\ XMLTableModel.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XMLTableModel.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">203</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">15</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">73</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XMLTableModel.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">55,6%</TD>
+    <TD class="graphPercent" align="center">53,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>56,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="113" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="87" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.swing;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> javax.swing.table.AbstractTableModel;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.XPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XMLTableDefinition</code> repro.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XMLTableModel"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XMLTableModel <span class="keyword">extends</span> AbstractTableModel {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property definition. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XMLTableDefinition definition;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property source. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object source;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The rows evaluated from the row XPath expression */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List rows;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a TableModel from an XML table definition document and an XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> tableDefinition</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> XMLTableModel(Element tableDefinition, Object source) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">this</span>(XMLTableDefinition.load(tableDefinition), source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates a TableModel from an XML table definition document and an XML</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> tableDefinition</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: method entered 1 time.">    <span class="keyword">public</span> XMLTableModel(Document tableDefinition, Object source) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 1 time.">        <span class="keyword">this</span>(XMLTableDefinition.load(tableDefinition), source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: method entered 2 times.">    <span class="keyword">public</span> XMLTableModel(XMLTableDefinition definition, Object source) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 2 times.">        <span class="keyword">this</span>.definition = definition;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: statement executed 2 times.">        <span class="keyword">this</span>.source = source;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: method entered 12 times.">    <span class="keyword">public</span> Object getRowValue(<span class="keyword">int</span> rowIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 68: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 68: statement executed 12 times.">        <span class="keyword">return</span> getRows().get(rowIndex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: method entered 14 times.">    <span class="keyword">public</span> List getRows() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 72: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 72: statement executed 14 times.">        <span class="keyword">if</span> (rows == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 2 times.">            rows = definition.getRowXPath().selectNodes(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 14 times.">        <span class="keyword">return</span> rows;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// TableModel interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> Class getColumnClass(<span class="keyword">int</span> columnIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> definition.getColumnClass(columnIndex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">int</span> getColumnCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 2 times.">        <span class="keyword">return</span> definition.getColumnCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: method entered 6 times.">    <span class="keyword">public</span> String getColumnName(<span class="keyword">int</span> columnIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 6 times.">        XPath xpath = definition.getColumnNameXPath(columnIndex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: expression evaluated to true 0 times, false 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: expression evaluated to true 0 times, false 6 times.">        <span class="keyword">if</span> (xpath != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">            System.out.println(<span class="string">"Evaluating column xpath: "</span> + xpath + <span class="string">" value: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + xpath.valueOf(source));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">            <span class="keyword">return</span> xpath.valueOf(source);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 6 times.">        <span class="keyword">return</span> definition.getColumnName(columnIndex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: method entered 12 times.">    <span class="keyword">public</span> Object getValueAt(<span class="keyword">int</span> rowIndex, <span class="keyword">int</span> columnIndex) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 12 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 12 times.">            Object row = getRowValue(rowIndex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: statement executed 12 times.">            <span class="keyword">return</span> definition.getValueAt(row, columnIndex);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Exception e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">            handleException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">int</span> getRowCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 2 times.">        <span class="keyword">return</span> getRows().size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for property definition.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property definition.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: method not entered.">    <span class="keyword">public</span> XMLTableDefinition getDefinition() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        <span class="keyword">return</span> definition;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for property definition.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> definition</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property definition.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDefinition(XMLTableDefinition definition) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">this</span>.definition = definition;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Getter for the XML source, which is usually a Node or List of nodes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Value of property source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: method not entered.">    <span class="keyword">public</span> Object getSource() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">        <span class="keyword">return</span> source;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Setter for the XML source, which is usually a Node or List of nodes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> source</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            New value of property source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setSource(Object source) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">        <span class="keyword">this</span>.source = source;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: statement not executed.">        <span class="keyword">this</span>.rows = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> handleException(Exception e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// #### should use jakarta commons-logging</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">        System.out.println(<span class="string">"Caught: "</span> + e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/swing/pkg-classes.html b/docs/clover/org/dom4j/swing/pkg-classes.html
new file mode 100644
index 0000000..6d97f97
--- /dev/null
+++ b/docs/clover/org/dom4j/swing/pkg-classes.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.swing">org.dom4j.swing</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="BranchTreeNode.html" title="BranchTreeNode">BranchTreeNode</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="DocumentTreeModel.html" title="DocumentTreeModel">DocumentTreeModel</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="LeafTreeNode.html" title="LeafTreeNode">LeafTreeNode</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="XMLTableColumnDefinition.html" title="XMLTableColumnDefinition">XMLTableColumnDefinition</A>
+    	    <i>(25,7%)</i><BR>
+    
+                <A target="classPane" href="XMLTableDefinition.html" title="XMLTableDefinition">XMLTableDefinition</A>
+    	    <i>(76,7%)</i><BR>
+    
+                <A target="classPane" href="XMLTableModel.html" title="XMLTableModel">XMLTableModel</A>
+    	    <i>(56,5%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/swing/pkg-summary.html b/docs/clover/org/dom4j/swing/pkg-summary.html
new file mode 100644
index 0000000..eb62049
--- /dev/null
+++ b/docs/clover/org/dom4j/swing/pkg-summary.html
@@ -0,0 +1,230 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.193</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">93</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">478</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">6</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">6</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.swing
+	    </TD>
+   
+    <TD class="graphPercent" align="center">39,5%</TD>
+    <TD class="graphPercent" align="center">40,2%</TD>
+    <TD class="graphPercent" align="center">34,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>38,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="76" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="124" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="BranchTreeNode.html" title="BranchTreeNode">BranchTreeNode</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DocumentTreeModel.html" title="DocumentTreeModel">DocumentTreeModel</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="LeafTreeNode.html" title="LeafTreeNode">LeafTreeNode</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="XMLTableColumnDefinition.html" title="XMLTableColumnDefinition">XMLTableColumnDefinition</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">24,4%</TD>
+    <TD class="graphPercent" align="center">29,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>25,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="51" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="149" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="XMLTableModel.html" title="XMLTableModel">XMLTableModel</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">55,6%</TD>
+    <TD class="graphPercent" align="center">53,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>56,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="113" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="87" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="XMLTableDefinition.html" title="XMLTableDefinition">XMLTableDefinition</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">78,1%</TD>
+    <TD class="graphPercent" align="center">70,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>76,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="153" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="47" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+   <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/tree/AbstractAttribute.html b/docs/clover/org/dom4j/tree/AbstractAttribute.html
new file mode 100644
index 0000000..e25c5be
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractAttribute.html
@@ -0,0 +1,918 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractAttribute.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractAttribute.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">191</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">19</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">104</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractAttribute.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">71,7%</TD>
+    <TD class="graphPercent" align="center">57,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Visitor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractNamespace</code> is an abstract base class for tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementors to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.21 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractAttribute"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractAttribute <span class="keyword">extends</span> AbstractNode <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        Attribute {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: method entered 15 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: statement executed 15 times.">        <span class="keyword">return</span> ATTRIBUTE_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNamespace(Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: statement not executed.">        String msg = <span class="string">"This Attribute is read only and cannot be changed"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: method entered 305 times."> 305</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: method entered 305 times.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 305 times."> 305</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 305 times.">        <span class="keyword">return</span> getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        setValue(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setValue(String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        String msg = <span class="string">"This Attribute is read only and cannot be changed"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(msg);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: method not entered.">    <span class="keyword">public</span> Object getData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">        <span class="keyword">return</span> getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: statement not executed.">        setValue((data == <span class="keyword">null</span>) ? <span class="keyword">null</span> : data.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: method entered 52550 times."> 52550</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: method entered 52550 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 52550 times."> 52550</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 52550 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Attribute: name "</span> + getQualifiedName()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">" value \""</span> + getValue() + <span class="string">"\"]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: method entered 9 times.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 9 times.">        <span class="keyword">return</span> getQualifiedName() + <span class="string">"=\""</span> + getValue() + <span class="string">"\""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        writer.write(getQualifiedName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        writer.write(<span class="string">"=\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: statement not executed.">        writer.write(getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        writer.write(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// QName methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: method entered 4320 times."> 4320</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: method entered 4320 times.">    <span class="keyword">public</span> Namespace getNamespace() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 4320 times."> 4320</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 4320 times.">        <span class="keyword">return</span> getQName().getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: method entered 10975 times."> 10975</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: method entered 10975 times.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 10975 times."> 10975</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 10975 times.">        <span class="keyword">return</span> getQName().getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: method entered 15 times.">    <span class="keyword">public</span> String getNamespacePrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 15 times.">        <span class="keyword">return</span> getQName().getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: method entered 5153 times."> 5153</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: method entered 5153 times.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 5153 times."> 5153</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 5153 times.">        <span class="keyword">return</span> getQName().getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: method entered 61936 times."> 61936</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: method entered 61936 times.">    <span class="keyword">public</span> String getQualifiedName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: statement executed 61936 times."> 61936</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: statement executed 61936 times.">        <span class="keyword">return</span> getQName().getQualifiedName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: method entered 5 times.">    <span class="keyword">public</span> String getPath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 5 times.">        StringBuffer result = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 5 times.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: expression evaluated to true 5 times, false 0 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: expression evaluated to true 5 times, false 0 times.">        <span class="keyword">if</span> ((parent != <span class="keyword">null</span>) && (parent != context)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: statement executed 5 times.">            result.append(parent.getPath(context));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 5 times.">            result.append(<span class="string">"/"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 111: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 111: statement executed 5 times.">        result.append(<span class="string">"@"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: statement executed 5 times.">        String uri = getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: statement executed 5 times.">        String prefix = getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 5 times.">        <span class="keyword">if</span> ((uri == <span class="keyword">null</span>) || (uri.length() == 0) || (prefix == <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (prefix.length() == 0)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 118: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: statement executed 4 times.">            result.append(getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 120: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 120: statement executed 1 time.">            result.append(getQualifiedName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 5 times.">        <span class="keyword">return</span> result.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: method entered 5 times.">    <span class="keyword">public</span> String getUniquePath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 5 times.">        StringBuffer result = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 5 times.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: expression evaluated to true 5 times, false 0 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: expression evaluated to true 5 times, false 0 times.">        <span class="keyword">if</span> ((parent != <span class="keyword">null</span>) && (parent != context)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 5 times.">            result.append(parent.getUniquePath(context));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: statement executed 5 times.">            result.append(<span class="string">"/"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 136: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 136: statement executed 5 times.">        result.append(<span class="string">"@"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 138: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 138: statement executed 5 times.">        String uri = getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: statement executed 5 times.">        String prefix = getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 5 times.">        <span class="keyword">if</span> ((uri == <span class="keyword">null</span>) || (uri.length() == 0) || (prefix == <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                || (prefix.length() == 0)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: statement executed 4 times.">            result.append(getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: statement executed 1 time.">            result.append(getQualifiedName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 5 times.">        <span class="keyword">return</span> result.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: method not entered.">    <span class="keyword">protected</span> Node createXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultAttribute(parent, getQName(), getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractBranch.html b/docs/clover/org/dom4j/tree/AbstractBranch.html
new file mode 100644
index 0000000..17b72ae
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractBranch.html
@@ -0,0 +1,2228 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractBranch.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractBranch.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">493</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">35</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">250</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractBranch.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">65%</TD>
+    <TD class="graphPercent" align="center">65,2%</TD>
+    <TD class="graphPercent" align="center">74,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.StringTokenizer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.IllegalAddException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractBranch</code> is an abstract base class for tree implementors</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.44 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractBranch"> 33</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractBranch <span class="keyword">extends</span> AbstractNode <span class="keyword">implements</span> Branch {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final <span class="keyword">int</span> DEFAULT_CONTENT_LIST_SIZE = 5;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: method entered 102292 times."> 102292</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: method entered 102292 times.">    <span class="keyword">public</span> AbstractBranch() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: method entered 138 times."> 138</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: method entered 138 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 138 times."> 138</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 138 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasContent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">return</span> nodeCount() > 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: method entered 4891 times."> 4891</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: method entered 4891 times.">    <span class="keyword">public</span> List content() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: statement executed 4891 times."> 4891</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: statement executed 4891 times.">        List backingList = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 4891 times."> 4891</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 4891 times.">        <span class="keyword">return</span> <span class="keyword">new</span> ContentListFacade(<span class="keyword">this</span>, backingList);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: method entered 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: method entered 80 times.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 80 times.">        List content = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: expression evaluated to true 80 times, false 0 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: expression evaluated to true 80 times, false 0 times.">        <span class="keyword">if</span> (content != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 80 times.">            <span class="keyword">int</span> size = content.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: expression evaluated to true 80 times, false 0 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: expression evaluated to true 80 times, false 0 times.">            <span class="keyword">if</span> (size >= 1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: statement executed 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: statement executed 80 times.">                Object first = content.get(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 80 times.">                String firstText = getContentAsText(first);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 80 times.">                <span class="keyword">if</span> (size == 1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// optimised to avoid StringBuffer creation</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 68 times."> 68</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 68 times.">                    <span class="keyword">return</span> firstText;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: statement executed 12 times.">                    StringBuffer buffer = <span class="keyword">new</span> StringBuffer(firstText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 12 times.">                    <span class="keyword">for</span> (<span class="keyword">int</span> i = 1; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 29 times.">                        Object node = content.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: statement executed 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: statement executed 29 times.">                        buffer.append(getContentAsText(node));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 12 times.">                    <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the text value of the given content object as text which returns</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         the text value of CDATA, Entity or Text nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: method entered 202 times."> 202</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: method entered 202 times.">    <span class="keyword">protected</span> String getContentAsText(Object content) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: expression evaluated to true 202 times, false 0 times."> 202</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: expression evaluated to true 202 times, false 0 times.">        <span class="keyword">if</span> (content <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 202 times."> 202</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 202 times.">            Node node = (Node) content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: statement executed 202 times."> 202</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 202 times.">            <span class="keyword">switch</span> (node.getNodeType()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 2 times.">                <span class="keyword">case</span> CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// case ENTITY_NODE:</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">                <span class="keyword">case</span> ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: statement executed 195 times."> 195</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: statement executed 195 times.">                <span class="keyword">case</span> TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: statement executed 197 times."> 197</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: statement executed 197 times.">                    <span class="keyword">return</span> node.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 5 times.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 5 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (content <span class="keyword">instanceof</span> String) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">            <span class="keyword">return</span> (String) content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: statement executed 5 times.">        <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the XPath defined string-value of the given content object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 121: method entered 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 121: method entered 13 times.">    <span class="keyword">protected</span> String getContentAsStringValue(Object content) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: expression evaluated to true 13 times, false 0 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: expression evaluated to true 13 times, false 0 times.">        <span class="keyword">if</span> (content <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 13 times.">            Node node = (Node) content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 13 times.">            <span class="keyword">switch</span> (node.getNodeType()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">                <span class="keyword">case</span> CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// case ENTITY_NODE:</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">                <span class="keyword">case</span> ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 11 times.">                <span class="keyword">case</span> TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: statement executed 2 times.">                <span class="keyword">case</span> ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 13 times.">                    <span class="keyword">return</span> node.getStringValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (content <span class="keyword">instanceof</span> String) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">            <span class="keyword">return</span> (String) content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: method entered 77 times."> 77</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: method entered 77 times.">    <span class="keyword">public</span> String getTextTrim() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: statement executed 77 times."> 77</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: statement executed 77 times.">        String text = getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: statement executed 77 times."> 77</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: statement executed 77 times.">        StringBuffer textContent = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: statement executed 77 times."> 77</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 77 times.">        StringTokenizer tokenizer = <span class="keyword">new</span> StringTokenizer(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 77 times."> 77</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 77 times.">        <span class="keyword">while</span> (tokenizer.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 99 times."> 99</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 99 times.">            String str = tokenizer.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 99 times."> 99</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 99 times.">            textContent.append(str);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 99 times."> 99</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 99 times.">            <span class="keyword">if</span> (tokenizer.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: statement executed 23 times.">                textContent.append(<span class="string">" "</span>); <span class="comment">// separator</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 159: statement executed 77 times."> 77</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 159: statement executed 77 times.">        <span class="keyword">return</span> textContent.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setProcessingInstructions(List listOfPIs) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">        <span class="keyword">for</span> (Iterator iter = listOfPIs.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">            ProcessingInstruction pi = (ProcessingInstruction) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">            addNode(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: method not entered.">    <span class="keyword">public</span> Element addElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: statement not executed.">        Element node = getDocumentFactory().createElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">        add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">        <span class="keyword">return</span> node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: method entered 2 times.">    <span class="keyword">public</span> Element addElement(String qualifiedName, String namespaceURI) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 2 times.">        Element node = getDocumentFactory().createElement(qualifiedName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                namespaceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 2 times.">        add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 181: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 181: statement executed 2 times.">        <span class="keyword">return</span> node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: method entered 86007 times."> 86007</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: method entered 86007 times.">    <span class="keyword">public</span> Element addElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 185: statement executed 86007 times."> 86007</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: statement executed 86007 times.">        Element node = getDocumentFactory().createElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 186: statement executed 86007 times."> 86007</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 186: statement executed 86007 times.">        add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: statement executed 86007 times."> 86007</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: statement executed 86007 times.">        <span class="keyword">return</span> node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 191: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 191: method not entered.">    <span class="keyword">public</span> Element addElement(String name, String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: statement not executed.">        Namespace namespace = Namespace.get(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: statement not executed.">        QName qName = getDocumentFactory().createQName(name, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">        <span class="keyword">return</span> addElement(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// polymorphic node methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: method entered 14 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 14 times.">        <span class="keyword">switch</span> (node.getNodeType()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 14 times.">            <span class="keyword">case</span> ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 14 times.">                add((Element) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 204: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 204: statement executed 14 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">            <span class="keyword">case</span> COMMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">                add((Comment) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">            <span class="keyword">case</span> PROCESSING_INSTRUCTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: statement not executed.">                add((ProcessingInstruction) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">                invalidNodeTypeAddException(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 221: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 221: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 222: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: statement executed 2 times.">        <span class="keyword">switch</span> (node.getNodeType()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 223: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 223: statement executed 2 times.">            <span class="keyword">case</span> ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 224: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 224: statement executed 2 times.">                <span class="keyword">return</span> remove((Element) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 226: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 226: statement not executed.">            <span class="keyword">case</span> COMMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 227: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 227: statement not executed.">                <span class="keyword">return</span> remove((Comment) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 229: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 229: statement not executed.">            <span class="keyword">case</span> PROCESSING_INSTRUCTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: statement not executed.">                <span class="keyword">return</span> remove((ProcessingInstruction) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 232: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 232: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: statement not executed.">                invalidNodeTypeAddException(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: statement not executed.">                <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// typesafe versions using node classes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 240: method entered 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 240: method entered 24 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Comment comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 241: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 241: statement executed 24 times.">        addNode(comment);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 244: method entered 6291 times."> 6291</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 244: method entered 6291 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 245: statement executed 6291 times."> 6291</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 245: statement executed 6291 times.">        addNode(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 248: method entered 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 248: method entered 25 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(ProcessingInstruction pi) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 249: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 249: statement executed 25 times.">        addNode(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Comment comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 253: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 253: statement not executed.">        <span class="keyword">return</span> removeNode(comment);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 256: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 256: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 257: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 2 times.">        <span class="keyword">return</span> removeNode(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(ProcessingInstruction pi) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 261: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 261: statement not executed.">        <span class="keyword">return</span> removeNode(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 264: method entered 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 264: method entered 13 times.">    <span class="keyword">public</span> Element elementByID(String elementID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 265</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 265: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 265: statement executed 13 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 266: statement executed 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 266: statement executed 31 times.">            Node node = node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 268: statement executed 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 268: statement executed 31 times.">            <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 269: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 269: statement executed 12 times.">                Element element = (Element) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: statement executed 12 times.">                String id = elementID(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 272: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 272: statement executed 12 times.">                <span class="keyword">if</span> ((id != <span class="keyword">null</span>) && id.equals(elementID)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 273: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 273: statement executed 1 time.">                    <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 275: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 275: statement executed 11 times.">                    element = element.elementByID(elementID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 277: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 277: statement executed 11 times.">                    <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 278: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 278: statement executed 2 times.">                        <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 284: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 284: statement executed 10 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 287: method entered 143 times."> 143</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 287: method entered 143 times.">    <span class="keyword">public</span> <span class="keyword">void</span> appendContent(Branch branch) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 288: statement executed 143 times."> 143</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 288: statement executed 143 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = branch.nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 289</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 289: statement executed 330 times."> 330</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 289: statement executed 330 times.">            Node node = branch.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 290</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 290: statement executed 330 times."> 330</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 290: statement executed 330 times.">            add((Node) node.clone());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 294</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 294: method entered 435 times."> 435</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 294: method entered 435 times.">    <span class="keyword">public</span> Node node(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: statement executed 435 times."> 435</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: statement executed 435 times.">        Object object = contentList().get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 297: expression evaluated to true 435 times, false 0 times."> 435</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 297: expression evaluated to true 435 times, false 0 times.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 298: statement executed 435 times."> 435</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 298: statement executed 435 times.">            <span class="keyword">return</span> (Node) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 301</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 301: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 301: statement not executed.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> String) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 302: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 302: statement not executed.">            <span class="keyword">return</span> getDocumentFactory().createText(object.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 305: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 305: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 308</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 308: method entered 360 times."> 360</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 308: method entered 360 times.">    <span class="keyword">public</span> <span class="keyword">int</span> nodeCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 309</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 309: statement executed 360 times."> 360</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 309: statement executed 360 times.">        <span class="keyword">return</span> contentList().size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 312: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 312: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> indexOf(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 313: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 313: statement not executed.">        <span class="keyword">return</span> contentList().indexOf(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 316</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 316: method entered 313 times."> 313</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 316: method entered 313 times.">    <span class="keyword">public</span> Iterator nodeIterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 317: statement executed 313 times."> 313</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 317: statement executed 313 times.">        <span class="keyword">return</span> contentList().iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the ID of the given <code>Element</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 330</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 330: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 330: method entered 12 times.">    <span class="keyword">protected</span> String elementID(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXX: there will be other ways of finding the ID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// XXX: should probably have an IDResolver or something</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 333</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 333: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 333: statement executed 12 times.">        <span class="keyword">return</span> element.attributeValue(<span class="string">"ID"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the internal List used to manage the content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract List contentList();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method pattern which creates a List implementation used to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * store content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 349</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 349: method entered 57260 times."> 57260</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 349: method entered 57260 times.">    <span class="keyword">protected</span> List createContentList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 350</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 350: statement executed 57260 times."> 57260</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 350: statement executed 57260 times.">        <span class="keyword">return</span> <span class="keyword">new</span> ArrayList(DEFAULT_CONTENT_LIST_SIZE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method pattern which creates a List implementation used to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * store content</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> size</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 362: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 362: method entered 3 times.">    <span class="keyword">protected</span> List createContentList(<span class="keyword">int</span> size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 363</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 363: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 363: statement executed 3 times.">        <span class="keyword">return</span> <span class="keyword">new</span> ArrayList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method pattern which creates a BackedList implementation used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to store results of a filtered content query.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 372: method entered 24169 times."> 24169</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 372: method entered 24169 times.">    <span class="keyword">protected</span> BackedList createResultList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 373</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 373: statement executed 24169 times."> 24169</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 373: statement executed 24169 times.">        <span class="keyword">return</span> <span class="keyword">new</span> BackedList(<span class="keyword">this</span>, contentList());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method pattern which creates a BackedList implementation which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * contains a single result</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> result</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 385</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 385: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 385: method not entered.">    <span class="keyword">protected</span> List createSingleResultList(Object result) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">        BackedList list = <span class="keyword">new</span> BackedList(<span class="keyword">this</span>, contentList(), 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 387</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 387: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 387: statement not executed.">        list.addLocal(result);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 389</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 389: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 389: statement not executed.">        <span class="keyword">return</span> list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method pattern which creates an empty a BackedList</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * implementation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 398</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 398: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 398: method entered 2 times.">    <span class="keyword">protected</span> List createEmptyList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 399</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 399: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 399: statement executed 2 times.">        <span class="keyword">return</span> <span class="keyword">new</span> BackedList(<span class="keyword">this</span>, contentList(), 0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract <span class="keyword">void</span> addNode(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract <span class="keyword">void</span> addNode(<span class="keyword">int</span> index, Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract <span class="keyword">boolean</span> removeNode(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called when a new child node has been added to me to allow any parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * relationships to be created or events to be fired.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract <span class="keyword">void</span> childAdded(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called when a child node has been removed to allow any parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * relationships to be deleted or events to be fired.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract <span class="keyword">void</span> childRemoved(Node node);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called when the given List content has been removed so each node should</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * have its parent and document relationships cleared</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 430</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 430: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 430: method entered 8 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> contentRemoved() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 431</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 431: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 431: statement executed 8 times.">        List content = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 433</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 433: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 433: statement executed 8 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = content.size(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 434</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 434: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 434: statement executed 8 times.">            Object object = content.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 436</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 436: expression evaluated to true 8 times, false 0 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 436: expression evaluated to true 8 times, false 0 times.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 437</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 437: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 437: statement executed 8 times.">                childRemoved((Node) object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called when an invalid node has been added. Throws an {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * IllegalAddException}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IllegalAddException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 451</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 452</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 452: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 452: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> invalidNodeTypeAddException(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 453</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 453: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 453: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="string">"Invalid node type. Cannot add node: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + node + <span class="string">" to this branch: "</span> + <span class="keyword">this</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractCDATA.html b/docs/clover/org/dom4j/tree/AbstractCDATA.html
new file mode 100644
index 0000000..e5541fb
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractCDATA.html
@@ -0,0 +1,510 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractCDATA.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractCDATA.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">101</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">6</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">35</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractCDATA.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">90,9%</TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>89,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="178" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="22" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Visitor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractCDATA</code> is an abstract base class for tree implementors</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.12 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractCDATA"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractCDATA <span class="keyword">extends</span> AbstractCharacterData <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        CDATA {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 28: method entered 105 times."> 105</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 28: method entered 105 times.">    <span class="keyword">public</span> AbstractCDATA() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: method entered 386 times."> 386</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: method entered 386 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: statement executed 386 times."> 386</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: statement executed 386 times.">        <span class="keyword">return</span> CDATA_SECTION_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: method entered 180 times."> 180</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: method entered 180 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 180 times."> 180</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 180 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [CDATA: \""</span> + getText() + <span class="string">"\"]"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: method entered 2 times.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 2 times.">        StringWriter writer = <span class="keyword">new</span> StringWriter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: statement executed 2 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 2 times.">            write(writer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// will not happen since we are using a StringWriter!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: statement executed 2 times.">        <span class="keyword">return</span> writer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 2 times.">        writer.write(<span class="string">"<![CDATA["</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 2 times.">        <span class="keyword">if</span> (getText() != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 1 time.">            writer.write(getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 2 times.">        writer.write(<span class="string">"]]>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractCharacterData.html b/docs/clover/org/dom4j/tree/AbstractCharacterData.html
new file mode 100644
index 0000000..e51add3
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractCharacterData.html
@@ -0,0 +1,422 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractCharacterData.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractCharacterData.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">81</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">21</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractCharacterData.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">20%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>23,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="46" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="154" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CharacterData;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractCharacterData</code> is an abstract base class for tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementors to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.12 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractCharacterData"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractCharacterData <span class="keyword">extends</span> AbstractNode <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        CharacterData {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 24: method entered 122383 times."> 122383</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 24: method entered 122383 times.">    <span class="keyword">public</span> AbstractCharacterData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 27: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 27: method not entered.">    <span class="keyword">public</span> String getPath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 28: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 28: statement not executed.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: statement not executed.">        <span class="keyword">return</span> ((parent != <span class="keyword">null</span>) && (parent != context)) ? (parent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getPath(context) + <span class="string">"/text()"</span>) : <span class="string">"text()"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: method not entered.">    <span class="keyword">public</span> String getUniquePath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: statement not executed.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: statement not executed.">        <span class="keyword">return</span> ((parent != <span class="keyword">null</span>) && (parent != context)) ? (parent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getUniquePath(context) + <span class="string">"/text()"</span>) : <span class="string">"text()"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: method entered 12026 times."> 12026</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: method entered 12026 times.">    <span class="keyword">public</span> <span class="keyword">void</span> appendText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: statement executed 12026 times."> 12026</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: statement executed 12026 times.">        setText(getText() + text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractComment.html b/docs/clover/org/dom4j/tree/AbstractComment.html
new file mode 100644
index 0000000..44f2069
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractComment.html
@@ -0,0 +1,520 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractComment.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractComment.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">103</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">8</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">38</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractComment.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">18,2%</TD>
+    <TD class="graphPercent" align="center">37,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>21,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="43" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="157" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Visitor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractComment</code> is an abstract base class for tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementors to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.13 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractComment"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractComment <span class="keyword">extends</span> AbstractCharacterData <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        Comment {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 28: method entered 515 times."> 515</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 28: method entered 515 times.">    <span class="keyword">public</span> AbstractComment() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: method entered 2085 times."> 2085</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: method entered 2085 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: statement executed 2085 times."> 2085</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: statement executed 2085 times.">        <span class="keyword">return</span> COMMENT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: method not entered.">    <span class="keyword">public</span> String getPath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">return</span> ((parent != <span class="keyword">null</span>) && (parent != context)) ? (parent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getPath(context) + <span class="string">"/comment()"</span>) : <span class="string">"comment()"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> String getUniquePath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">return</span> ((parent != <span class="keyword">null</span>) && (parent != context)) ? (parent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getUniquePath(context) + <span class="string">"/comment()"</span>) : <span class="string">"comment()"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 816 times."> 816</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 816 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 816 times."> 816</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 816 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Comment: \""</span> + getText() + <span class="string">"\"]"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">return</span> <span class="string">"<!--"</span> + getText() + <span class="string">"-->"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        writer.write(<span class="string">"<!--"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        writer.write(getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        writer.write(<span class="string">"-->"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractDocument.html b/docs/clover/org/dom4j/tree/AbstractDocument.html
new file mode 100644
index 0000000..60ba8c2
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractDocument.html
@@ -0,0 +1,1376 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractDocument.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractDocument.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">296</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">26</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">174</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractDocument.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">31,8%</TD>
+    <TD class="graphPercent" align="center">66,2%</TD>
+    <TD class="graphPercent" align="center">76,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>62,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="124" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="76" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.IllegalAddException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Visitor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.OutputFormat;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.XMLWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractDocument</code> is an abstract base class for tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementors to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.33 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractDocument"> 39</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractDocument <span class="keyword">extends</span> AbstractBranch <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        Document {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The encoding of this document as stated in the XML declaration */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String encoding;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: method entered 6283 times."> 6283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: method entered 6283 times.">    <span class="keyword">public</span> AbstractDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: method entered 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: method entered 25 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: statement executed 25 times.">        <span class="keyword">return</span> DOCUMENT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: method entered 1 time.">    <span class="keyword">public</span> String getPath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: statement executed 1 time.">        <span class="keyword">return</span> <span class="string">"/"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: method entered 1 time.">    <span class="keyword">public</span> String getUniquePath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 1 time.">        <span class="keyword">return</span> <span class="string">"/"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: method entered 6459 times."> 6459</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: method entered 6459 times.">    <span class="keyword">public</span> Document getDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 6459 times."> 6459</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 6459 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: method not entered.">    <span class="keyword">public</span> String getXMLEncoding() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> String getStringValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        Element root = getRootElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        <span class="keyword">return</span> (root != <span class="keyword">null</span>) ? root.getStringValue() : <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: method entered 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: method entered 58 times.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: statement executed 58 times.">        OutputFormat format = <span class="keyword">new</span> OutputFormat();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 58 times.">        format.setEncoding(encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        </SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 78: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: statement executed 58 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: statement executed 58 times.">            StringWriter out = <span class="keyword">new</span> StringWriter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 58 times.">            XMLWriter writer = <span class="keyword">new</span> XMLWriter(out, format);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 58 times.">            writer.write(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 58 times.">            writer.flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 58 times.">            <span class="keyword">return</span> out.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(<span class="string">"IOException while generating textual "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">"representation: "</span> + e.getMessage());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer out) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">        OutputFormat format = <span class="keyword">new</span> OutputFormat();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">        format.setEncoding(encoding);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        </SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        XMLWriter writer = <span class="keyword">new</span> XMLWriter(out, format);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">        writer.write(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>accept</code> method is the <code>Visitor Pattern</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> visitor</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Visitor</code> is the visitor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 109: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">        DocumentType docType = getDocType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: statement not executed.">        <span class="keyword">if</span> (docType != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">            visitor.visit(docType);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// visit content</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">        List content = content();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">        <span class="keyword">if</span> (content != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">            <span class="keyword">for</span> (Iterator iter = content.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">                Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> String) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">                    Text text = getDocumentFactory()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            .createText((String) object);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">                    visitor.visit(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">                    Node node = (Node) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">                    node.accept(visitor);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 136: method entered 159 times."> 159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 136: method entered 159 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 137: statement executed 159 times."> 159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 137: statement executed 159 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Document: name "</span> + getName() + <span class="string">"]"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: method entered 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: method entered 110 times.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 110 times.">        Element element = getRootElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: expression evaluated to true 110 times, false 0 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: expression evaluated to true 110 times, false 0 times.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: statement executed 110 times."> 110</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: statement executed 110 times.">            element.normalize();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: method entered 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: method entered 24 times.">    <span class="keyword">public</span> Document addComment(String comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: statement executed 24 times.">        Comment node = getDocumentFactory().createComment(comment);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 24 times.">        add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 24 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: method entered 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: method entered 25 times.">    <span class="keyword">public</span> Document addProcessingInstruction(String target, String data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 25 times.">        ProcessingInstruction node = getDocumentFactory()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .createProcessingInstruction(target, data);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 158: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 158: statement executed 25 times.">        add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: statement executed 25 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: method not entered.">    <span class="keyword">public</span> Document addProcessingInstruction(String target, Map data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">        ProcessingInstruction node = getDocumentFactory()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .createProcessingInstruction(target, data);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: statement not executed.">        add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: method entered 434 times."> 434</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: method entered 434 times.">    <span class="keyword">public</span> Element addElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 172: statement executed 434 times."> 434</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 172: statement executed 434 times.">        Element element = getDocumentFactory().createElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 173: statement executed 434 times."> 434</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 173: statement executed 434 times.">        add(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 175: statement executed 434 times."> 434</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 175: statement executed 434 times.">        <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 178: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 178: method entered 2 times.">    <span class="keyword">public</span> Element addElement(String qualifiedName, String namespaceURI) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 2 times.">        Element element = getDocumentFactory().createElement(qualifiedName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                namespaceURI);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 181: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 181: statement executed 2 times.">        add(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 2 times.">        <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 186: method entered 5835 times."> 5835</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 186: method entered 5835 times.">    <span class="keyword">public</span> Element addElement(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 5835 times."> 5835</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 5835 times.">        Element element = getDocumentFactory().createElement(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: statement executed 5835 times."> 5835</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: statement executed 5835 times.">        add(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 190: statement executed 5835 times."> 5835</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: statement executed 5835 times.">        <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 193: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setRootElement(Element rootElement) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 194: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 194: statement executed 4 times.">        clearContent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: expression evaluated to true 4 times, false 0 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: expression evaluated to true 4 times, false 0 times.">        <span class="keyword">if</span> (rootElement != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 197: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 197: statement executed 4 times.">            <span class="keyword">super</span>.add(rootElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: statement executed 4 times.">            rootElementAdded(rootElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: method entered 6288 times."> 6288</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: method entered 6288 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 203: statement executed 6288 times."> 6288</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 203: statement executed 6288 times.">        checkAddElementAllowed(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 204: statement executed 6287 times."> 6287</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 204: statement executed 6287 times.">        <span class="keyword">super</span>.add(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 205: statement executed 6287 times."> 6287</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 205: statement executed 6287 times.">        rootElementAdded(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 208: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 208: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 209: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 209: statement executed 2 times.">        <span class="keyword">boolean</span> answer = <span class="keyword">super</span>.remove(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 210: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: statement executed 2 times.">        Element root = getRootElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: expression evaluated to true 0 times, false 2 times.">        <span class="keyword">if</span> ((root != <span class="keyword">null</span>) && answer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: statement not executed.">            setRootElement(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 216: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 216: statement executed 2 times.">        element.setDocument(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 218: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 218: statement executed 2 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 221: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 221: method not entered.">    <span class="keyword">public</span> Node asXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 222: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 222: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: method entered 6341 times."> 6341</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: method entered 6341 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> childAdded(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 226: expression evaluated to true 6341 times, false 0 times."> 6341</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 226: expression evaluated to true 6341 times, false 0 times.">        <span class="keyword">if</span> (node != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 227: statement executed 6341 times."> 6341</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 227: statement executed 6341 times.">            node.setDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 231: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 231: method entered 4 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> childRemoved(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 232: expression evaluated to true 4 times, false 0 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 232: expression evaluated to true 4 times, false 0 times.">        <span class="keyword">if</span> (node != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 233: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 233: statement executed 4 times.">            node.setDocument(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 237: method entered 6288 times."> 6288</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 237: method entered 6288 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> checkAddElementAllowed(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 238: statement executed 6288 times."> 6288</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 238: statement executed 6288 times.">        Element root = getRootElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 240: statement executed 6288 times."> 6288</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 240: statement executed 6288 times.">        <span class="keyword">if</span> (root != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 241: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 241: statement executed 1 time.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="keyword">this</span>, element,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"Cannot add another element to this "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">"Document as it already has a root "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">"element of: "</span> + root.getQualifiedName());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called to set the root element variable</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> rootElement</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract <span class="keyword">void</span> rootElementAdded(Element rootElement);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 256: method entered 11346 times."> 11346</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 256: method entered 11346 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setXMLEncoding(String enc) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 257: statement executed 11346 times."> 11346</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 11346 times.">        <span class="keyword">this</span>.encoding = enc;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractDocumentType.html b/docs/clover/org/dom4j/tree/AbstractDocumentType.html
new file mode 100644
index 0000000..a6268c4
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractDocumentType.html
@@ -0,0 +1,975 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractDocumentType.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractDocumentType.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">203</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">11</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">107</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractDocumentType.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">40,9%</TD>
+    <TD class="graphPercent" align="center">52,4%</TD>
+    <TD class="graphPercent" align="center">54,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>50%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Visitor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractDocumentType</code> is an abstract base class for tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementors to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.17 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractDocumentType"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractDocumentType <span class="keyword">extends</span> AbstractNode <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        DocumentType {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: method entered 14 times.">    <span class="keyword">public</span> AbstractDocumentType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: statement executed 1 time.">        <span class="keyword">return</span> DOCUMENT_TYPE_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: method entered 2 times.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: statement executed 2 times.">        <span class="keyword">return</span> getElementName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">        setElementName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> String getPath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// not available in XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: method not entered.">    <span class="keyword">public</span> String getUniquePath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// not available in XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the text format of the declarations if applicable, or the empty</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * String</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        List list = getInternalDeclarations();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        <span class="keyword">if</span> ((list != <span class="keyword">null</span>) && (list.size() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">            StringBuffer buffer = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">            Iterator iter = list.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">            <span class="keyword">if</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">                Object decl = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">                buffer.append(decl.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: statement not executed.">                <span class="keyword">while</span> (iter.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">                    decl = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">                    buffer.append(<span class="string">"\n"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">                    buffer.append(decl.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">            <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: method entered 6 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 6 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [DocumentType: "</span> + asXML() + <span class="string">"]"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: method entered 6 times.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 6 times.">        StringBuffer buffer = <span class="keyword">new</span> StringBuffer(<span class="string">"<!DOCTYPE "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: statement executed 6 times.">        buffer.append(getElementName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 6 times.">        <span class="keyword">boolean</span> hasPublicID = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 6 times.">        String publicID = getPublicID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: expression evaluated to true 0 times, false 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: expression evaluated to true 0 times, false 6 times.">        <span class="keyword">if</span> ((publicID != <span class="keyword">null</span>) && (publicID.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">            buffer.append(<span class="string">" PUBLIC \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">            buffer.append(publicID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">            buffer.append(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">            hasPublicID = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 6 times.">        String systemID = getSystemID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 105: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: statement executed 6 times.">        <span class="keyword">if</span> ((systemID != <span class="keyword">null</span>) && (systemID.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: expression evaluated to true 4 times, false 0 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: expression evaluated to true 4 times, false 0 times.">            <span class="keyword">if</span> (!hasPublicID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: statement executed 4 times.">                buffer.append(<span class="string">" SYSTEM"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: statement executed 4 times.">            buffer.append(<span class="string">" \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 111: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 111: statement executed 4 times.">            buffer.append(systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 4 times.">            buffer.append(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 6 times.">        buffer.append(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 6 times.">        <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 120: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 120: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 121: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 121: statement executed 1 time.">        writer.write(<span class="string">"<!DOCTYPE "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 1 time.">        writer.write(getElementName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: statement executed 1 time.">        <span class="keyword">boolean</span> hasPublicID = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 1 time.">        String publicID = getPublicID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> ((publicID != <span class="keyword">null</span>) && (publicID.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">            writer.write(<span class="string">" PUBLIC \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">            writer.write(publicID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">            writer.write(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">            hasPublicID = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 134: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 134: statement executed 1 time.">        String systemID = getSystemID();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> ((systemID != <span class="keyword">null</span>) && (systemID.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">            <span class="keyword">if</span> (!hasPublicID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">                writer.write(<span class="string">" SYSTEM"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">            writer.write(<span class="string">" \""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">            writer.write(systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">            writer.write(<span class="string">"\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 1 time.">        List list = getInternalDeclarations();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: expression evaluated to true 1 time, false 0 times.">        <span class="keyword">if</span> ((list != <span class="keyword">null</span>) && (list.size() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: statement executed 1 time.">            writer.write(<span class="string">" ["</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 1 time.">            <span class="keyword">for</span> (Iterator iter = list.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 10 times.">                Object decl = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 153: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 153: statement executed 10 times.">                writer.write(<span class="string">"\n  "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 10 times.">                writer.write(decl.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: statement executed 1 time.">            writer.write(<span class="string">"\n]"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: statement executed 1 time.">        writer.write(<span class="string">">"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractElement.html b/docs/clover/org/dom4j/tree/AbstractElement.html
new file mode 100644
index 0000000..3ed834d
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractElement.html
@@ -0,0 +1,7526 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractElement.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractElement.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.684</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">115</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">1.027</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractElement.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">38,2%</TD>
+    <TD class="graphPercent" align="center">48,1%</TD>
+    <TD class="graphPercent" align="center">53%</TD>
+    <TD class="graphBarLeft" align="center"><B>45,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="91" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="109" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.StringWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Collections;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CharacterData;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.IllegalAddException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Visitor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.OutputFormat;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.io.XMLWriter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.Attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractElement</code> is an abstract base class for tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementors to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.80 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractElement"> 48</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractElement <span class="keyword">extends</span> AbstractBranch <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        org.dom4j.Element {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>DocumentFactory</code> instance used by default */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final DocumentFactory DOCUMENT_FACTORY = DocumentFactory</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            .getInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final List EMPTY_LIST = Collections.EMPTY_LIST;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final Iterator EMPTY_ITERATOR = EMPTY_LIST.iterator();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final <span class="keyword">boolean</span> VERBOSE_TOSTRING = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final <span class="keyword">boolean</span> USE_STRINGVALUE_SEPARATOR = <span class="keyword">false</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: method entered 96009 times."> 96009</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: method entered 96009 times.">    <span class="keyword">public</span> AbstractElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: method entered 105403 times."> 105403</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: method entered 105403 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 105403 times."> 105403</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 105403 times.">        <span class="keyword">return</span> ELEMENT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isRootElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        Document document = getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: statement not executed.">        <span class="keyword">if</span> (document != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">            Element root = document.getRootElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">            <span class="keyword">if</span> (root == <span class="keyword">this</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">                <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 1 time.">        setQName(getDocumentFactory().createQName(name));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setNamespace(Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">        setQName(getDocumentFactory().createQName(getName(), namespace));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the XPath expression to match this Elements name which is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * getQualifiedName() if there is a namespace prefix defined or if no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * namespace is present then it is getName() or if a namespace is defined</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * with no prefix then the expression is [name()='X'] where X = getName().</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: method entered 66 times."> 66</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: method entered 66 times.">    <span class="keyword">public</span> String getXPathNameStep() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: statement executed 66 times."> 66</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: statement executed 66 times.">        String uri = getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 66 times."> 66</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 66 times.">        <span class="keyword">if</span> ((uri == <span class="keyword">null</span>) || (uri.length() == 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 56 times."> 56</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 56 times.">            <span class="keyword">return</span> getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: statement executed 10 times.">        String prefix = getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 10 times.">        <span class="keyword">if</span> ((prefix == <span class="keyword">null</span>) || (prefix.length() == 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: statement executed 8 times.">            <span class="keyword">return</span> <span class="string">"*[name()='"</span> + getName() + <span class="string">"']"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 2 times.">        <span class="keyword">return</span> getQualifiedName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: method entered 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: method entered 31 times.">    <span class="keyword">public</span> String getPath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 31 times."> 31</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 31 times.">        <span class="keyword">if</span> (<span class="keyword">this</span> == context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 1 time.">            <span class="keyword">return</span> <span class="string">"."</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 120: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 120: statement executed 30 times.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 30 times.">        <span class="keyword">if</span> (parent == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 11 times.">            <span class="keyword">return</span> <span class="string">"/"</span> + getXPathNameStep();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: statement executed 19 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (parent == context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 7 times.">            <span class="keyword">return</span> getXPathNameStep();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 12 times.">        <span class="keyword">return</span> parent.getPath(context) + <span class="string">"/"</span> + getXPathNameStep();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: method entered 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: method entered 36 times.">    <span class="keyword">public</span> String getUniquePath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 36 times.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 134: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 134: statement executed 36 times.">        <span class="keyword">if</span> (parent == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 13 times.">            <span class="keyword">return</span> <span class="string">"/"</span> + getXPathNameStep();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 138: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 138: statement executed 23 times.">        StringBuffer buffer = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 23 times.">        <span class="keyword">if</span> (parent != context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 16 times.">            buffer.append(parent.getUniquePath(context));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: statement executed 16 times.">            buffer.append(<span class="string">"/"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 23 times.">        buffer.append(getXPathNameStep());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 23 times.">        List mySiblings = parent.elements(getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 23 times.">        <span class="keyword">if</span> (mySiblings.size() > 1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 13 times.">            <span class="keyword">int</span> idx = mySiblings.indexOf(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: expression evaluated to true 13 times, false 0 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: expression evaluated to true 13 times, false 0 times.">            <span class="keyword">if</span> (idx >= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 13 times.">                buffer.append(<span class="string">"["</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 13 times.">                buffer.append(Integer.toString(++idx));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 158: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 158: statement executed 13 times.">                buffer.append(<span class="string">"]"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: statement executed 23 times.">        <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: method entered 2041 times."> 2041</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: method entered 2041 times.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 2041 times."> 2041</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 2041 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: statement executed 2041 times."> 2041</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: statement executed 2041 times.">            StringWriter out = <span class="keyword">new</span> StringWriter();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 168: statement executed 2041 times."> 2041</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 168: statement executed 2041 times.">            XMLWriter writer = <span class="keyword">new</span> XMLWriter(out, <span class="keyword">new</span> OutputFormat());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 170: statement executed 2041 times."> 2041</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 170: statement executed 2041 times.">            writer.write(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 2041 times."> 2041</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 2041 times.">            writer.flush();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 173: statement executed 2041 times."> 2041</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 173: statement executed 2041 times.">            <span class="keyword">return</span> out.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (IOException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(<span class="string">"IOException while generating "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">"textual representation: "</span> + e.getMessage());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer out) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">        XMLWriter writer = <span class="keyword">new</span> XMLWriter(out, <span class="keyword">new</span> OutputFormat());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 182: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 182: statement not executed.">        writer.write(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>accept</code> method is the <code>Visitor Pattern</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> visitor</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>Visitor</code> is the visitor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// visit attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 198: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 198: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = attributeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">            Attribute attribute = attribute(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 201: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 201: statement not executed.">            visitor.visit(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// visit content</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 205: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 205: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = nodeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">            Node node = node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 208: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 208: statement not executed.">            node.accept(visitor);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: method entered 85700 times."> 85700</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: method entered 85700 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 213: statement executed 85700 times."> 85700</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 213: statement executed 85700 times.">        String uri = getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 215: statement executed 85700 times."> 85700</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 215: statement executed 85700 times.">        <span class="keyword">if</span> ((uri != <span class="keyword">null</span>) && (uri.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 216: expression evaluated to true 0 times, false 2512 times."> 2512</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 216: expression evaluated to true 0 times, false 2512 times.">            <span class="keyword">if</span> (VERBOSE_TOSTRING) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: statement not executed.">                <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Element: <"</span> + getQualifiedName()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">" uri: "</span> + uri + <span class="string">" attributes: "</span> + attributeList()</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">" content: "</span> + contentList() + <span class="string">" />]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 221: statement executed 2512 times."> 2512</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 221: statement executed 2512 times.">                <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Element: <"</span> + getQualifiedName()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">" uri: "</span> + uri + <span class="string">" attributes: "</span> + attributeList()</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">"/>]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 226: expression evaluated to true 0 times, false 83188 times."> 83188</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 226: expression evaluated to true 0 times, false 83188 times.">            <span class="keyword">if</span> (VERBOSE_TOSTRING) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 227: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 227: statement not executed.">                <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Element: <"</span> + getQualifiedName()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">" attributes: "</span> + attributeList() + <span class="string">" content: "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + contentList() + <span class="string">" />]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 231: statement executed 83188 times."> 83188</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 231: statement executed 83188 times.">                <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Element: <"</span> + getQualifiedName()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">" attributes: "</span> + attributeList() + <span class="string">"/>]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// QName methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 239: method entered 120477 times."> 120477</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 239: method entered 120477 times.">    <span class="keyword">public</span> Namespace getNamespace() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 240: statement executed 120477 times."> 120477</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 240: statement executed 120477 times.">        <span class="keyword">return</span> getQName().getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 243: method entered 84347 times."> 84347</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 243: method entered 84347 times.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 244: statement executed 84347 times."> 84347</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 244: statement executed 84347 times.">        <span class="keyword">return</span> getQName().getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 247: method entered 8774 times."> 8774</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 247: method entered 8774 times.">    <span class="keyword">public</span> String getNamespacePrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 248: statement executed 8774 times."> 8774</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 248: statement executed 8774 times.">        <span class="keyword">return</span> getQName().getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 251: method entered 172894 times."> 172894</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 251: method entered 172894 times.">    <span class="keyword">public</span> String getNamespaceURI() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 252: statement executed 172894 times."> 172894</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 252: statement executed 172894 times.">        <span class="keyword">return</span> getQName().getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 255: method entered 120578 times."> 120578</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: method entered 120578 times.">    <span class="keyword">public</span> String getQualifiedName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 256: statement executed 120578 times."> 120578</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 256: statement executed 120578 times.">        <span class="keyword">return</span> getQName().getQualifiedName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: method not entered.">    <span class="keyword">public</span> Object getData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: statement not executed.">        <span class="keyword">return</span> getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 263: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 263: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// ignore this method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Node methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 269: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 269: method not entered.">    <span class="keyword">public</span> Node node(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 270: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 270: statement not executed.">        <span class="keyword">if</span> (index >= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 271: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 271: statement not executed.">            List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 273: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 273: statement not executed.">            <span class="keyword">if</span> (index >= list.size()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 274: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: statement not executed.">                <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 277: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 277: statement not executed.">            Object node = list.get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 279: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: statement not executed.">            <span class="keyword">if</span> (node != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 280: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 280: statement not executed.">                <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 281: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 281: statement not executed.">                    <span class="keyword">return</span> (Node) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 283: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 283: statement not executed.">                    <span class="keyword">return</span> getDocumentFactory().createText(node.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 288: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 288: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 291: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 291: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> indexOf(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 292: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 292: statement not executed.">        <span class="keyword">return</span> contentList().indexOf(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">int</span> nodeCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 296: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 296: statement executed 1 time.">        <span class="keyword">return</span> contentList().size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 299: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 299: method not entered.">    <span class="keyword">public</span> Iterator nodeIterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 300: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: statement not executed.">        <span class="keyword">return</span> contentList().iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Element methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 305: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 305: method not entered.">    <span class="keyword">public</span> Element element(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 306</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 306: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 306: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 308</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 308: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 308: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 310: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 310: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 311</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 311: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 311: statement not executed.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 313: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 313: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 314: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 314: statement not executed.">                Element element = (Element) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 316</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 316: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 316: statement not executed.">                <span class="keyword">if</span> (name.equals(element.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 317: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 317: statement not executed.">                    <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 322</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 322: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 322: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 325</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 325: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 325: method not entered.">    <span class="keyword">public</span> Element element(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 326</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 326: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 326: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 328: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 328: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 330</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 330: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 330: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 331</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 331: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 331: statement not executed.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 333</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 333: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 333: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 334</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 334: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 334: statement not executed.">                Element element = (Element) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 336: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 336: statement not executed.">                <span class="keyword">if</span> (qName.equals(element.getQName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 337: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 337: statement not executed.">                    <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 342: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 342: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 345</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 345: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 345: method not entered.">    <span class="keyword">public</span> Element element(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 346</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 346: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 346: statement not executed.">        <span class="keyword">return</span> element(getDocumentFactory().createQName(name, namespace));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 349</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 349: method entered 79 times."> 79</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 349: method entered 79 times.">    <span class="keyword">public</span> List elements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 350</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 350: statement executed 79 times."> 79</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 350: statement executed 79 times.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 352: statement executed 79 times."> 79</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 352: statement executed 79 times.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 354</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 354: statement executed 79 times."> 79</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 354: statement executed 79 times.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 356</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 356: statement executed 79 times."> 79</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 356: statement executed 79 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 357</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 357: statement executed 354 times."> 354</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 357: statement executed 354 times.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 359</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 359: statement executed 354 times."> 354</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 359: statement executed 354 times.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 360: statement executed 145 times."> 145</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 360: statement executed 145 times.">                answer.addLocal(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 364</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 364: statement executed 79 times."> 79</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 364: statement executed 79 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 367</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 367: method entered 201 times."> 201</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 367: method entered 201 times.">    <span class="keyword">public</span> List elements(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 368: statement executed 201 times."> 201</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 368: statement executed 201 times.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 370: statement executed 201 times."> 201</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 370: statement executed 201 times.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 372: statement executed 201 times."> 201</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 372: statement executed 201 times.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 374: statement executed 201 times."> 201</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 374: statement executed 201 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 375</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 375: statement executed 1975 times."> 1975</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 375: statement executed 1975 times.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 377</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 377: statement executed 1975 times."> 1975</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 377: statement executed 1975 times.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 378</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 378: statement executed 901 times."> 901</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 378: statement executed 901 times.">                Element element = (Element) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 380</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 380: statement executed 901 times."> 901</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 380: statement executed 901 times.">                <span class="keyword">if</span> (name.equals(element.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 381</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 381: statement executed 336 times."> 336</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 381: statement executed 336 times.">                    answer.addLocal(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 386: statement executed 201 times."> 201</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 386: statement executed 201 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 389</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 389: method entered 13972 times."> 13972</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 389: method entered 13972 times.">    <span class="keyword">public</span> List elements(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 390</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 390: statement executed 13972 times."> 13972</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 390: statement executed 13972 times.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 392</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 392: statement executed 13972 times."> 13972</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 392: statement executed 13972 times.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 394</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 394: statement executed 13972 times."> 13972</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 394: statement executed 13972 times.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 396</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 396: statement executed 13972 times."> 13972</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 396: statement executed 13972 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 397</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 397: statement executed 42383 times."> 42383</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 397: statement executed 42383 times.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 399</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 399: statement executed 42383 times."> 42383</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 399: statement executed 42383 times.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 400</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 400: statement executed 14661 times."> 14661</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 400: statement executed 14661 times.">                Element element = (Element) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 402</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 402: statement executed 14661 times."> 14661</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 402: statement executed 14661 times.">                <span class="keyword">if</span> (qName.equals(element.getQName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 403</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 403: statement executed 3653 times."> 3653</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 403: statement executed 3653 times.">                    answer.addLocal(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 408</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 408: statement executed 13972 times."> 13972</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 408: statement executed 13972 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 411</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 411: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 411: method not entered.">    <span class="keyword">public</span> List elements(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 412: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 412: statement not executed.">        <span class="keyword">return</span> elements(getDocumentFactory().createQName(name, namespace));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 415: method entered 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 415: method entered 59 times.">    <span class="keyword">public</span> Iterator elementIterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 416: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 416: statement executed 59 times.">        List list = elements();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 418</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 418: statement executed 59 times."> 59</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 418: statement executed 59 times.">        <span class="keyword">return</span> list.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 421</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 421: method entered 191 times."> 191</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 421: method entered 191 times.">    <span class="keyword">public</span> Iterator elementIterator(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 422</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 422: statement executed 191 times."> 191</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 422: statement executed 191 times.">        List list = elements(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 424</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 424: statement executed 191 times."> 191</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 424: statement executed 191 times.">        <span class="keyword">return</span> list.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 427</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 427: method entered 13948 times."> 13948</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 427: method entered 13948 times.">    <span class="keyword">public</span> Iterator elementIterator(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 428</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 428: statement executed 13948 times."> 13948</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 428: statement executed 13948 times.">        List list = elements(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 429</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 430</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 430: statement executed 13948 times."> 13948</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 430: statement executed 13948 times.">        <span class="keyword">return</span> list.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 433</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 433: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 433: method not entered.">    <span class="keyword">public</span> Iterator elementIterator(String name, Namespace ns) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 434</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 434: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 434: statement not executed.">        <span class="keyword">return</span> elementIterator(getDocumentFactory().createQName(name, ns));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Attribute methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 439: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 439: method not entered.">    <span class="keyword">public</span> List attributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 440</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 440: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 440: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> ContentListFacade(<span class="keyword">this</span>, attributeList());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 443</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 443: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 443: method not entered.">    <span class="keyword">public</span> Iterator attributeIterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 444</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 444: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 444: statement not executed.">        <span class="keyword">return</span> attributeList().iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 447</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 447: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 447: method not entered.">    <span class="keyword">public</span> Attribute attribute(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 448</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 448: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 448: statement not executed.">        <span class="keyword">return</span> (Attribute) attributeList().get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 451</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 451: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 451: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">int</span> attributeCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 452</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 452: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 452: statement executed 1 time.">        <span class="keyword">return</span> attributeList().size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 455</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 455: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 455: method not entered.">    <span class="keyword">public</span> Attribute attribute(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 456</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 456: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 456: statement not executed.">        List list = attributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 458</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 458: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 458: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 460</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 460: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 460: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 461</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 461: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 461: statement not executed.">            Attribute attribute = (Attribute) list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 463</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 463: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 463: statement not executed.">            <span class="keyword">if</span> (name.equals(attribute.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 464</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 464: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 464: statement not executed.">                <span class="keyword">return</span> attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 468</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 468: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 468: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 471</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 471: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 471: method not entered.">    <span class="keyword">public</span> Attribute attribute(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 472</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 472: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 472: statement not executed.">        List list = attributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 474</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 474: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 474: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 476</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 476: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 476: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 477</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 477: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 477: statement not executed.">            Attribute attribute = (Attribute) list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 479</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 479: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 479: statement not executed.">            <span class="keyword">if</span> (qName.equals(attribute.getQName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 480</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 480: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 480: statement not executed.">                <span class="keyword">return</span> attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 484</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 484: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 484: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 487</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 487: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 487: method not entered.">    <span class="keyword">public</span> Attribute attribute(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 488</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 488: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 488: statement not executed.">        <span class="keyword">return</span> attribute(getDocumentFactory().createQName(name, namespace));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This method provides a more optimal way of setting all the attributes on</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * an Element particularly for use in {@link org.dom4j.io.SAXReader}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceStack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> noNamespaceAttributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 502</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 502: method entered 86719 times."> 86719</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 502: method entered 86719 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributes(Attributes attributes,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            NamespaceStack namespaceStack, <span class="keyword">boolean</span> noNamespaceAttributes) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// now lets add all attribute values</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 505</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 505: statement executed 86719 times."> 86719</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 505: statement executed 86719 times.">        <span class="keyword">int</span> size = attributes.getLength();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 507</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 507: statement executed 86719 times."> 86719</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 507: statement executed 86719 times.">        <span class="keyword">if</span> (size > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 508</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 508: statement executed 7896 times."> 7896</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 508: statement executed 7896 times.">            DocumentFactory factory = getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 510</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 510: statement executed 7896 times."> 7896</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 510: statement executed 7896 times.">            <span class="keyword">if</span> (size == 1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// allow lazy construction of the List of Attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 512</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 512: statement executed 6278 times."> 6278</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 512: statement executed 6278 times.">                String name = attributes.getQName(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 514</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 514: statement executed 6278 times."> 6278</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 514: statement executed 6278 times.">                <span class="keyword">if</span> (noNamespaceAttributes || !name.startsWith(<span class="string">"xmlns"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 515</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 515: statement executed 6270 times."> 6270</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 515: statement executed 6270 times.">                    String attributeURI = attributes.getURI(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 517</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 517: statement executed 6270 times."> 6270</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 517: statement executed 6270 times.">                    String attributeLocalName = attributes.getLocalName(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 518</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 519</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 519: statement executed 6270 times."> 6270</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 519: statement executed 6270 times.">                    String attributeValue = attributes.getValue(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 521</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 521: statement executed 6270 times."> 6270</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 521: statement executed 6270 times.">                    QName attributeQName = namespaceStack.getAttributeQName(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            attributeURI, attributeLocalName, name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 524</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 524: statement executed 6270 times."> 6270</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 524: statement executed 6270 times.">                    add(factory.createAttribute(<span class="keyword">this</span>, attributeQName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            attributeValue));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 528</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 528: statement executed 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 528: statement executed 1618 times.">                List list = attributeList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 530</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 530: statement executed 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 530: statement executed 1618 times.">                list.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 532</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 532: statement executed 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 532: statement executed 1618 times.">                <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// optimised to avoid the call to attribute(QName) to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// lookup an attribute for a given QName</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 535</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 535: statement executed 4190 times."> 4190</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 535: statement executed 4190 times.">                    String attributeName = attributes.getQName(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 537</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 537: statement executed 4190 times."> 4190</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 537: statement executed 4190 times.">                    <span class="keyword">if</span> (noNamespaceAttributes</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            || !attributeName.startsWith(<span class="string">"xmlns"</span>)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 539</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 539: statement executed 4185 times."> 4185</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 539: statement executed 4185 times.">                        String attributeURI = attributes.getURI(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 541</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 541: statement executed 4185 times."> 4185</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 541: statement executed 4185 times.">                        String attributeLocalName = attributes.getLocalName(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 543</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 543: statement executed 4185 times."> 4185</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 543: statement executed 4185 times.">                        String attributeValue = attributes.getValue(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 545</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 545: statement executed 4185 times."> 4185</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 545: statement executed 4185 times.">                        QName attributeQName = namespaceStack</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 546</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                .getAttributeQName(attributeURI,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                        attributeLocalName, attributeName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 549</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 549: statement executed 4185 times."> 4185</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 549: statement executed 4185 times.">                        Attribute attribute = factory.createAttribute(<span class="keyword">this</span>,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                attributeQName, attributeValue);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 552</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 552: statement executed 4185 times."> 4185</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 552: statement executed 4185 times.">                        list.add(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 554</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 554: statement executed 4185 times."> 4185</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 554: statement executed 4185 times.">                        childAdded(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 561</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 561: method entered 1984 times."> 1984</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 561: method entered 1984 times.">    <span class="keyword">public</span> String attributeValue(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 562</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 562: statement executed 1984 times."> 1984</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 562: statement executed 1984 times.">        Attribute attrib = attribute(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 564</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 564: statement executed 1984 times."> 1984</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 564: statement executed 1984 times.">        <span class="keyword">if</span> (attrib == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 565</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 565: statement executed 586 times."> 586</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 565: statement executed 586 times.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 567</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 567: statement executed 1398 times."> 1398</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 567: statement executed 1398 times.">            <span class="keyword">return</span> attrib.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 571</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 571: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 571: method entered 4 times.">    <span class="keyword">public</span> String attributeValue(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 572</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 572: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 572: statement executed 4 times.">        Attribute attrib = attribute(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 574</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 574: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 574: statement executed 4 times.">        <span class="keyword">if</span> (attrib == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 575</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 575: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 575: statement executed 2 times.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 577</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 577: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 577: statement executed 2 times.">            <span class="keyword">return</span> attrib.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 581</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 581: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 581: method entered 7 times.">    <span class="keyword">public</span> String attributeValue(String name, String defaultValue) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 582</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 582: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 582: statement executed 7 times.">        String answer = attributeValue(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 584</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 584: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 584: statement executed 7 times.">        <span class="keyword">return</span> (answer != <span class="keyword">null</span>) ? answer : defaultValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 587</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 587: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 587: method not entered.">    <span class="keyword">public</span> String attributeValue(QName qName, String defaultValue) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 588</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 588: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 588: statement not executed.">        String answer = attributeValue(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 590</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 590: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 590: statement not executed.">        <span class="keyword">return</span> (answer != <span class="keyword">null</span>) ? answer : defaultValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 600</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@deprecated</span> As of version 0.5. Please use {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             #addAttribute(String,String)} instead. WILL BE REMOVED IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 603</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 604</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 605</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 605: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 605: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributeValue(String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 606</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 606: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 606: statement not executed.">        addAttribute(name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 608</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 609</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 610</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 611</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 613</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 614</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 616</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 617</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@deprecated</span> As of version 0.5. Please use {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             #addAttribute(String,String)} instead. WILL BE REMOVED IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 620</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 621</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 621: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 621: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributeValue(QName qName, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 622</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 622: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 622: statement not executed.">        addAttribute(qName, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 624</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 625</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 625: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 625: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Attribute attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 626</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 626: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 626: statement not executed.">        <span class="keyword">if</span> (attribute.getParent() != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 627</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 627: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 627: statement not executed.">            String message = <span class="string">"The Attribute already has an existing parent \""</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 628</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + attribute.getParent().getQualifiedName() + <span class="string">"\""</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 629</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 630</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 630: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 630: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="keyword">this</span>, attribute, message);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 633</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 633: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 633: statement not executed.">        <span class="keyword">if</span> (attribute.getValue() == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 634</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// try remove a previous attribute with the same</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// name since adding an attribute with a null value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// is equivalent to removing it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 637</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 637: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 637: statement not executed.">            Attribute oldAttribute = attribute(attribute.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 638</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 639</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 639: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 639: statement not executed.">            <span class="keyword">if</span> (oldAttribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 640</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 640: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 640: statement not executed.">                remove(oldAttribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 642</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 643</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 643: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 643: statement not executed.">            attributeList().add(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 644</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 645</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 645: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 645: statement not executed.">            childAdded(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 648</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 649</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 649: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 649: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Attribute attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 650</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 650: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 650: statement not executed.">        List list = attributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 652</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 652: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 652: statement not executed.">        <span class="keyword">boolean</span> answer = list.remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 654</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 654: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 654: statement not executed.">        <span class="keyword">if</span> (answer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 655</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 655: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 655: statement not executed.">            childRemoved(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 656</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// we may have a copy of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 658</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 658: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 658: statement not executed.">            Attribute copy = attribute(attribute.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 660</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 660: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 660: statement not executed.">            <span class="keyword">if</span> (copy != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 661</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 661: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 661: statement not executed.">                list.remove(copy);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 663</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 663: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 663: statement not executed.">                answer = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 664</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 665</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 667</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 667: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 667: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 668</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 669</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Processing instruction API</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 672</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 672: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 672: method not entered.">    <span class="keyword">public</span> List processingInstructions() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 673</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 673: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 673: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 675</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 675: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 675: statement not executed.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 676</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 677</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 677: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 677: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 679</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 679: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 679: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 680</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 680: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 680: statement not executed.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 681</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 682</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 682: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 682: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 683</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 683: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 683: statement not executed.">                answer.addLocal(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 685</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 686</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 687</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 687: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 687: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 688</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 689</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 690</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 690: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 690: method not entered.">    <span class="keyword">public</span> List processingInstructions(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 691</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 691: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 691: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 692</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 693</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 693: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 693: statement not executed.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 694</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 695</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 695: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 695: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 696</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 697</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 697: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 697: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 698</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 698: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 698: statement not executed.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 699</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 700</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 700: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 700: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 701</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 701: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 701: statement not executed.">                ProcessingInstruction pi = (ProcessingInstruction) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 702</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 703</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 703: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 703: statement not executed.">                <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 704</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 704: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 704: statement not executed.">                    answer.addLocal(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 705</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 706</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 707</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 708</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 709</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 709: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 709: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 710</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 711</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 712</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 712: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 712: method not entered.">    <span class="keyword">public</span> ProcessingInstruction processingInstruction(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 713</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 713: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 713: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 714</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 715</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 715: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 715: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 716</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 717</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 717: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 717: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 718</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 718: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 718: statement not executed.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 719</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 720</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 720: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 720: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 721</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 721: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 721: statement not executed.">                ProcessingInstruction pi = (ProcessingInstruction) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 722</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 723</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 723: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 723: statement not executed.">                <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 724</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 724: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 724: statement not executed.">                    <span class="keyword">return</span> pi;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 725</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 727</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 728</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 729</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 729: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 729: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 730</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 731</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 732</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 732: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 732: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> removeProcessingInstruction(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 733</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 733: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 733: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 734</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 735</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 735: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 735: statement not executed.">        <span class="keyword">for</span> (Iterator iter = list.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 736</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 736: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 736: statement not executed.">            Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 737</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 738</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 738: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 738: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 739</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 739: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 739: statement not executed.">                ProcessingInstruction pi = (ProcessingInstruction) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 740</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 741</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 741: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 741: statement not executed.">                <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 742</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 742: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 742: statement not executed.">                    iter.remove();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 743</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 744</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 744: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 744: statement not executed.">                    <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 745</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 746</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 747</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 748</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 749</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 749: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 749: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 750</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 751</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 752</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Content Model methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 753</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 754</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 754: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 754: method entered 2 times.">    <span class="keyword">public</span> Node getXPathResult(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 755</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 755: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 755: statement executed 2 times.">        Node answer = node(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 757</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 757: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 757: expression evaluated to true 0 times, false 2 times.">        <span class="keyword">if</span> ((answer != <span class="keyword">null</span>) && !answer.supportsParent()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 758</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 758: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 758: statement not executed.">            <span class="keyword">return</span> answer.asXPathResult(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 759</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 760</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 761</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 761: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 761: statement executed 2 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 762</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 763</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 764</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 764: method entered 1631 times."> 1631</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 764: method entered 1631 times.">    <span class="keyword">public</span> Element addAttribute(String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 765</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// adding a null value is equivalent to removing the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 766</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 766: statement executed 1631 times."> 1631</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 766: statement executed 1631 times.">        Attribute attribute = attribute(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 767</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 768</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 768: statement executed 1631 times."> 1631</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 768: statement executed 1631 times.">        <span class="keyword">if</span> (value != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 769</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 769: statement executed 1628 times."> 1628</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 769: statement executed 1628 times.">            <span class="keyword">if</span> (attribute == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 770</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 770: statement executed 1627 times."> 1627</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 770: statement executed 1627 times.">                add(getDocumentFactory().createAttribute(<span class="keyword">this</span>, name, value));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 771</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 771: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 771: expression evaluated to true 0 times, false 1 time.">            } <span class="keyword">else</span> <span class="keyword">if</span> (attribute.isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 772</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 772: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 772: statement not executed.">                remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 773</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 774</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 774: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 774: statement not executed.">                add(getDocumentFactory().createAttribute(<span class="keyword">this</span>, name, value));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 775</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 776</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 776: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 776: statement executed 1 time.">                attribute.setValue(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 777</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 778</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 778: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 778: statement executed 3 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 779</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 779: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 779: statement executed 2 times.">            remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 780</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 781</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 782</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 782: statement executed 1631 times."> 1631</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 782: statement executed 1631 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 783</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 784</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 785</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 785: method entered 2845 times."> 2845</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 785: method entered 2845 times.">    <span class="keyword">public</span> Element addAttribute(QName qName, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 786</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// adding a null value is equivalent to removing the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 787</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 787: statement executed 2845 times."> 2845</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 787: statement executed 2845 times.">        Attribute attribute = attribute(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 788</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 789</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 789: statement executed 2845 times."> 2845</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 789: statement executed 2845 times.">        <span class="keyword">if</span> (value != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 790</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 790: expression evaluated to true 2843 times, false 0 times."> 2843</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 790: expression evaluated to true 2843 times, false 0 times.">            <span class="keyword">if</span> (attribute == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 791</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 791: statement executed 2843 times."> 2843</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 791: statement executed 2843 times.">                add(getDocumentFactory().createAttribute(<span class="keyword">this</span>, qName, value));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 792</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 792: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 792: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (attribute.isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 793</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 793: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 793: statement not executed.">                remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 794</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 795</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 795: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 795: statement not executed.">                add(getDocumentFactory().createAttribute(<span class="keyword">this</span>, qName, value));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 796</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 797</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 797: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 797: statement not executed.">                attribute.setValue(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 798</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 799</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 799: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 799: statement executed 2 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 800</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 800: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 800: statement executed 1 time.">            remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 801</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 802</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 803</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 803: statement executed 2845 times."> 2845</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 803: statement executed 2845 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 804</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 805</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 806</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 806: method entered 102 times."> 102</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 806: method entered 102 times.">    <span class="keyword">public</span> Element addCDATA(String cdata) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 807</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 807: statement executed 102 times."> 102</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 807: statement executed 102 times.">        CDATA node = getDocumentFactory().createCDATA(cdata);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 808</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 809</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 809: statement executed 102 times."> 102</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 809: statement executed 102 times.">        addNewNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 810</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 811</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 811: statement executed 102 times."> 102</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 811: statement executed 102 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 812</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 813</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 814</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 814: method entered 491 times."> 491</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 814: method entered 491 times.">    <span class="keyword">public</span> Element addComment(String comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 815</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 815: statement executed 491 times."> 491</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 815: statement executed 491 times.">        Comment node = getDocumentFactory().createComment(comment);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 816</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 817</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 817: statement executed 491 times."> 491</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 817: statement executed 491 times.">        addNewNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 818</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 819</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 819: statement executed 491 times."> 491</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 819: statement executed 491 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 820</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 821</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 822</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 822: method entered 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 822: method entered 1654 times.">    <span class="keyword">public</span> Element addElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 823</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 823: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 823: statement executed 1654 times.">        DocumentFactory factory = getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 824</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 825</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 825: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 825: statement executed 1654 times.">        <span class="keyword">int</span> index = name.indexOf(<span class="string">":"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 826</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 827</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 827: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 827: statement executed 1654 times.">        String prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 828</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 829</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 829: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 829: statement executed 1654 times.">        String localName = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 830</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 831</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 831: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 831: statement executed 1654 times.">        Namespace namespace = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 832</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 833</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 833: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 833: statement executed 1654 times.">        <span class="keyword">if</span> (index > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 834</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 834: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 834: statement executed 2 times.">            prefix = name.substring(0, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 835</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 836</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 836: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 836: statement executed 2 times.">            localName = name.substring(index + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 837</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 838</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 838: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 838: statement executed 2 times.">            namespace = getNamespaceForPrefix(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 839</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 840</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 840: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 840: expression evaluated to true 0 times, false 2 times.">            <span class="keyword">if</span> (namespace == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 841</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 841: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 841: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="string">"No such namespace prefix: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 842</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + prefix + <span class="string">" is in scope on: "</span> + <span class="keyword">this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 843</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + <span class="string">" so cannot add element: "</span> + name);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 844</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 845</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 846</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 846: statement executed 1652 times."> 1652</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 846: statement executed 1652 times.">            namespace = getNamespaceForPrefix(<span class="string">""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 847</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 848</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 849</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 849: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 849: statement executed 1654 times.">        Element node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 850</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 851</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 851: expression evaluated to true 1654 times, false 0 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 851: expression evaluated to true 1654 times, false 0 times.">        <span class="keyword">if</span> (namespace != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 852</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 852: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 852: statement executed 1654 times.">            QName qname = factory.createQName(localName, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 853</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 854</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 854: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 854: statement executed 1654 times.">            node = factory.createElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 855</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 856</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 856: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 856: statement not executed.">            node = factory.createElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 857</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 858</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 859</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 859: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 859: statement executed 1654 times.">        addNewNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 860</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 861</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 861: statement executed 1654 times."> 1654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 861: statement executed 1654 times.">        <span class="keyword">return</span> node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 862</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 863</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 864</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 864: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 864: method entered 4 times.">    <span class="keyword">public</span> Element addEntity(String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 865</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 865: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 865: statement executed 4 times.">        Entity node = getDocumentFactory().createEntity(name, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 866</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 867</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 867: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 867: statement executed 4 times.">        addNewNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 868</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 869</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 869: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 869: statement executed 4 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 870</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 871</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 872</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 872: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 872: method entered 11 times.">    <span class="keyword">public</span> Element addNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 873</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 873: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 873: statement executed 11 times.">        Namespace node = getDocumentFactory().createNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 874</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 875</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 875: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 875: statement executed 11 times.">        addNewNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 876</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 877</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 877: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 877: statement executed 11 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 878</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 879</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 880</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 880: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 880: method entered 1 time.">    <span class="keyword">public</span> Element addProcessingInstruction(String target, String data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 881</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 881: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 881: statement executed 1 time.">        ProcessingInstruction node = getDocumentFactory()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 882</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .createProcessingInstruction(target, data);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 883</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 884</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 884: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 884: statement executed 1 time.">        addNewNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 885</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 886</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 886: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 886: statement executed 1 time.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 887</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 888</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 889</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 889: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 889: method not entered.">    <span class="keyword">public</span> Element addProcessingInstruction(String target, Map data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 890</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 890: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 890: statement not executed.">        ProcessingInstruction node = getDocumentFactory()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 891</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .createProcessingInstruction(target, data);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 892</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 893</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 893: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 893: statement not executed.">        addNewNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 894</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 895</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 895: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 895: statement not executed.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 896</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 897</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 898</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 898: method entered 121732 times."> 121732</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 898: method entered 121732 times.">    <span class="keyword">public</span> Element addText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 899</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 899: statement executed 121732 times."> 121732</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 899: statement executed 121732 times.">        Text node = getDocumentFactory().createText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 900</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 901</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 901: statement executed 121732 times."> 121732</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 901: statement executed 121732 times.">        addNewNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 902</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 903</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 903: statement executed 121732 times."> 121732</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 903: statement executed 121732 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 904</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 905</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 906</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// polymorphic node methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 907</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 907: method entered 370 times."> 370</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 907: method entered 370 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 908</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 908: statement executed 370 times."> 370</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 908: statement executed 370 times.">        <span class="keyword">switch</span> (node.getNodeType()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 909</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 909: statement executed 128 times."> 128</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 909: statement executed 128 times.">            <span class="keyword">case</span> ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 910</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 910: statement executed 128 times."> 128</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 910: statement executed 128 times.">                add((Element) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 911</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 912</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 912: statement executed 128 times."> 128</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 912: statement executed 128 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 913</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 914</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 914: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 914: statement not executed.">            <span class="keyword">case</span> ATTRIBUTE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 915</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 915: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 915: statement not executed.">                add((Attribute) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 916</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 917</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 917: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 917: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 918</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 919</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 919: statement executed 231 times."> 231</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 919: statement executed 231 times.">            <span class="keyword">case</span> TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 920</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 920: statement executed 231 times."> 231</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 920: statement executed 231 times.">                add((Text) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 921</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 922</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 922: statement executed 231 times."> 231</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 922: statement executed 231 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 923</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 924</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 924: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 924: statement not executed.">            <span class="keyword">case</span> CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 925</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 925: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 925: statement not executed.">                add((CDATA) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 926</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 927</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 927: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 927: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 928</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 929</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 929: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 929: statement not executed.">            <span class="keyword">case</span> ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 930</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 930: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 930: statement not executed.">                add((Entity) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 931</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 932</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 932: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 932: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 933</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 934</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 934: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 934: statement not executed.">            <span class="keyword">case</span> PROCESSING_INSTRUCTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 935</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 935: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 935: statement not executed.">                add((ProcessingInstruction) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 936</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 937</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 937: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 937: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 938</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 939</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 939: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 939: statement executed 3 times.">            <span class="keyword">case</span> COMMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 940</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 940: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 940: statement executed 3 times.">                add((Comment) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 941</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 942</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 942: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 942: statement executed 3 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 943</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 944</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 945</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * XXXX: to do! case DOCUMENT_TYPE_NODE: add((DocumentType) node);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 946</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * break;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 947</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 948</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 948: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 948: statement executed 8 times.">            <span class="keyword">case</span> NAMESPACE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 949</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 949: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 949: statement executed 8 times.">                add((Namespace) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 950</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 951</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 951: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 951: statement executed 8 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 952</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 953</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 953: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 953: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 954</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 954: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 954: statement not executed.">                invalidNodeTypeAddException(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 955</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 956</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 957</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 958</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 958: method entered 1515 times."> 1515</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 958: method entered 1515 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 959</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 959: statement executed 1515 times."> 1515</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 959: statement executed 1515 times.">        <span class="keyword">switch</span> (node.getNodeType()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 960</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 960: statement executed 1513 times."> 1513</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 960: statement executed 1513 times.">            <span class="keyword">case</span> ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 961</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 961: statement executed 1513 times."> 1513</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 961: statement executed 1513 times.">                <span class="keyword">return</span> remove((Element) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 962</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 963</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 963: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 963: statement executed 2 times.">            <span class="keyword">case</span> ATTRIBUTE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 964</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 964: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 964: statement executed 2 times.">                <span class="keyword">return</span> remove((Attribute) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 965</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 966</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 966: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 966: statement not executed.">            <span class="keyword">case</span> TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 967</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 967: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 967: statement not executed.">                <span class="keyword">return</span> remove((Text) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 968</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 969</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 969: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 969: statement not executed.">            <span class="keyword">case</span> CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 970</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 970: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 970: statement not executed.">                <span class="keyword">return</span> remove((CDATA) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 971</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 972</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 972: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 972: statement not executed.">            <span class="keyword">case</span> ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 973</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 973: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 973: statement not executed.">                <span class="keyword">return</span> remove((Entity) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 974</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 975</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 975: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 975: statement not executed.">            <span class="keyword">case</span> PROCESSING_INSTRUCTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 976</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 976: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 976: statement not executed.">                <span class="keyword">return</span> remove((ProcessingInstruction) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 977</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 978</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 978: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 978: statement not executed.">            <span class="keyword">case</span> COMMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 979</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 979: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 979: statement not executed.">                <span class="keyword">return</span> remove((Comment) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 980</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 981</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 982</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * case DOCUMENT_TYPE_NODE: return remove((DocumentType) node);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 983</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 984</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 984: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 984: statement not executed.">            <span class="keyword">case</span> NAMESPACE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 985</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 985: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 985: statement not executed.">                <span class="keyword">return</span> remove((Namespace) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 986</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 987</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 987: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 987: statement not executed.">            <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 988</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 988: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 988: statement not executed.">                <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 989</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 990</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 991</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 992</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// typesafe versions using node classes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 993</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 993: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 993: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> add(CDATA cdata) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 994</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 994: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 994: statement not executed.">        addNode(cdata);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 995</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 996</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 997</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 997: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 997: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Comment comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 998</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 998: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 998: statement executed 3 times.">        addNode(comment);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 999</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1000</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1001</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1001: method entered 89668 times."> 89668</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1001: method entered 89668 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1002</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1002: statement executed 89668 times."> 89668</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1002: statement executed 89668 times.">        addNode(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1003</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1004</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1005</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1005: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1005: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Entity entity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1006</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1006: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1006: statement not executed.">        addNode(entity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1007</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1008</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1009</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1009: method entered 5944 times."> 5944</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1009: method entered 5944 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1010</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1010: statement executed 5944 times."> 5944</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1010: statement executed 5944 times.">        addNode(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1011</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1012</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1013</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1013: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1013: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> add(ProcessingInstruction pi) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1014</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1014: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1014: statement not executed.">        addNode(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1015</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1016</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1017</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1017: method entered 231 times."> 231</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1017: method entered 231 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Text text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1018</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1018: statement executed 231 times."> 231</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1018: statement executed 231 times.">        addNode(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1019</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1020</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1021</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1021: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1021: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(CDATA cdata) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1022</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1022: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1022: statement not executed.">        <span class="keyword">return</span> removeNode(cdata);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1023</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1024</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1025</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1025: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1025: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Comment comment) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1026</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1026: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1026: statement not executed.">        <span class="keyword">return</span> removeNode(comment);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1027</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1028</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1029</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1029: method entered 1513 times."> 1513</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1029: method entered 1513 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1030</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1030: statement executed 1513 times."> 1513</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1030: statement executed 1513 times.">        <span class="keyword">return</span> removeNode(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1031</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1032</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1033</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1033: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1033: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Entity entity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1034</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1034: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1034: statement not executed.">        <span class="keyword">return</span> removeNode(entity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1035</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1036</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1037</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1037: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1037: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1038</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1038: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1038: statement executed 3 times.">        <span class="keyword">return</span> removeNode(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1039</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1040</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1041</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1041: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1041: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(ProcessingInstruction pi) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1042</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1042: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1042: statement not executed.">        <span class="keyword">return</span> removeNode(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1043</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1044</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1045</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1045: method entered 12026 times."> 12026</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1045: method entered 12026 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Text text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1046</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1046: statement executed 12026 times."> 12026</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1046: statement executed 12026 times.">        <span class="keyword">return</span> removeNode(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1047</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1048</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1049</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Helper methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1050</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1051</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1051: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1051: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasMixedContent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1052</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1052: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1052: statement not executed.">        List content = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1053</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1054</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1054: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1054: statement not executed.">        <span class="keyword">if</span> ((content == <span class="keyword">null</span>) || content.isEmpty() || (content.size() < 2)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1055</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1055: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1055: statement not executed.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1056</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1057</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1058</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1058: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1058: statement not executed.">        Class prevClass = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1059</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1060</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1060: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1060: statement not executed.">        <span class="keyword">for</span> (Iterator iter = content.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1061</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1061: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1061: statement not executed.">            Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1062</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1063</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1063: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1063: statement not executed.">            Class newClass = object.getClass();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1064</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1065</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1065: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1065: statement not executed.">            <span class="keyword">if</span> (newClass != prevClass) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1066</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1066: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1066: statement not executed.">                <span class="keyword">if</span> (prevClass != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1067</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1067: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1067: statement not executed.">                    <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1068</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1069</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1070</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1070: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1070: statement not executed.">                prevClass = newClass;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1071</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1072</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1073</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1074</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1074: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1074: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1075</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1076</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1077</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1077: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1077: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isTextOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1078</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1078: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1078: statement executed 2 times.">        List content = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1079</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1080</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1080: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1080: expression evaluated to true 0 times, false 2 times.">        <span class="keyword">if</span> ((content == <span class="keyword">null</span>) || content.isEmpty()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1081</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1081: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1081: statement not executed.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1082</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1083</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1084</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1084: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1084: statement executed 2 times.">        <span class="keyword">for</span> (Iterator iter = content.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1085</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1085: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1085: statement executed 2 times.">            Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1086</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1087</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1087: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1087: statement executed 2 times.">            <span class="keyword">if</span> (!(object <span class="keyword">instanceof</span> CharacterData)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1088</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    && !(object <span class="keyword">instanceof</span> String)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1089</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1089: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1089: statement executed 1 time.">                <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1090</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1091</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1092</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1093</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1093: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1093: statement executed 1 time.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1094</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1095</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1096</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1096: method entered 2017 times."> 2017</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1096: method entered 2017 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1097</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/* remove all text nodes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1098</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1098: statement executed 2017 times."> 2017</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1098: statement executed 2017 times.">        List allContent = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1099</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1100: expression evaluated to true 2017 times, false 0 times."> 2017</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1100: expression evaluated to true 2017 times, false 0 times.">        <span class="keyword">if</span> (allContent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1101: statement executed 2017 times."> 2017</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1101: statement executed 2017 times.">            Iterator it = allContent.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1103: statement executed 2017 times."> 2017</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1103: statement executed 2017 times.">            <span class="keyword">while</span> (it.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1104: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1104: statement executed 9 times.">                Node node = (Node) it.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1106: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1106: statement executed 9 times.">                <span class="keyword">switch</span> (node.getNodeType()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1107: statement not executed.">                    <span class="keyword">case</span> CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// case ENTITY_NODE:</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1110: statement not executed.">                    <span class="keyword">case</span> ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1111</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1111: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1111: statement executed 8 times.">                    <span class="keyword">case</span> TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1112: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1112: statement executed 8 times.">                        it.remove();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1114: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1114: statement executed 1 time.">                    <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1115: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1115: statement executed 9 times.">                        <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1120</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1120: statement executed 2017 times."> 2017</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1120: statement executed 2017 times.">        addText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1123: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1123: method not entered.">    <span class="keyword">public</span> String getStringValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1124: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1126: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1128: statement not executed.">        <span class="keyword">if</span> (size > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1129: statement not executed.">            <span class="keyword">if</span> (size == 1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// optimised to avoid StringBuffer creation</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1131: statement not executed.">                <span class="keyword">return</span> getContentAsStringValue(list.get(0));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1133: statement not executed.">                StringBuffer buffer = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1135: statement not executed.">                <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1136: statement not executed.">                    Object node = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1138: statement not executed.">                    String string = getContentAsStringValue(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1140: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1140: statement not executed.">                    <span class="keyword">if</span> (string.length() > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1141: statement not executed.">                        <span class="keyword">if</span> (USE_STRINGVALUE_SEPARATOR) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1142: statement not executed.">                            <span class="keyword">if</span> (buffer.length() > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1143: statement not executed.">                                buffer.append(' ');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1147: statement not executed.">                        buffer.append(string);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1151: statement not executed.">                <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1155: statement not executed.">        <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Puts all <code>Text</code> nodes in the full depth of the sub-tree</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * underneath this <code>Node</code>, including attribute nodes, into a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * "normal" form where only structure (e.g., elements, comments, processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instructions, CDATA sections, and entity references) separates</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Text</code> nodes, i.e., there are neither adjacent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>Text</code> nodes nor empty <code>Text</code> nodes. This can</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * be used to ensure that the DOM view of a document is the same as if it</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * were saved and re-loaded, and is useful when operations (such as XPointer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * lookups) that depend on a particular document tree structure are to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * used.In cases where the document contains <code>CDATASections</code>,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the normalize operation alone may not be sufficient, since XPointers do</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * not differentiate between <code>Text</code> nodes and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>CDATASection</code> nodes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@since</span> DOM Level 2</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1175</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1175: method entered 42766 times."> 42766</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1175: method entered 42766 times.">    <span class="keyword">public</span> <span class="keyword">void</span> normalize() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1176: statement executed 42766 times."> 42766</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1176: statement executed 42766 times.">        List content = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1178</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1178: statement executed 42766 times."> 42766</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1178: statement executed 42766 times.">        Text previousText = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1180: statement executed 42766 times."> 42766</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1180: statement executed 42766 times.">        <span class="keyword">int</span> i = 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1182</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1182: statement executed 42766 times."> 42766</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1182: statement executed 42766 times.">        <span class="keyword">while</span> (i < content.size()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1183: statement executed 133130 times."> 133130</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1183: statement executed 133130 times.">            Node node = (Node) content.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1185: statement executed 133130 times."> 133130</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1185: statement executed 133130 times.">            <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1186</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1186: statement executed 89266 times."> 89266</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1186: statement executed 89266 times.">                Text text = (Text) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1188: statement executed 89266 times."> 89266</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1188: statement executed 89266 times.">                <span class="keyword">if</span> (previousText != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1189: statement executed 12026 times."> 12026</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1189: statement executed 12026 times.">                    previousText.appendText(text.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1191: statement executed 12026 times."> 12026</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1191: statement executed 12026 times.">                    remove(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1193: statement executed 77240 times."> 77240</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1193: statement executed 77240 times.">                    String value = text.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// only remove empty Text nodes, not whitespace nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// if ( value == null || value.trim().length() <= 0 ) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1197: expression evaluated to true 0 times, false 77240 times."> 77240</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1197: expression evaluated to true 0 times, false 77240 times.">                    <span class="keyword">if</span> ((value == <span class="keyword">null</span>) || (value.length() <= 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1198</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1198: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1198: statement not executed.">                        remove(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1200: statement executed 77240 times."> 77240</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1200: statement executed 77240 times.">                        previousText = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1202: statement executed 77240 times."> 77240</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1202: statement executed 77240 times.">                        i++;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1206</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1206: statement executed 43864 times."> 43864</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1206: statement executed 43864 times.">                <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1207: statement executed 42656 times."> 42656</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1207: statement executed 42656 times.">                    Element element = (Element) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1209: statement executed 42656 times."> 42656</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1209: statement executed 42656 times.">                    element.normalize();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1212: statement executed 43864 times."> 43864</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1212: statement executed 43864 times.">                previousText = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1214</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1214: statement executed 43864 times."> 43864</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1214: statement executed 43864 times.">                i++;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1219: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1219: method not entered.">    <span class="keyword">public</span> String elementText(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1220</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1220: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1220: statement not executed.">        Element element = element(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1222</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1222: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1222: statement not executed.">        <span class="keyword">return</span> (element != <span class="keyword">null</span>) ? element.getText() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1225</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1225: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1225: method not entered.">    <span class="keyword">public</span> String elementText(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1226: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1226: statement not executed.">        Element element = element(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1228</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1228: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1228: statement not executed.">        <span class="keyword">return</span> (element != <span class="keyword">null</span>) ? element.getText() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1231</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1231: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1231: method not entered.">    <span class="keyword">public</span> String elementTextTrim(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1232: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1232: statement not executed.">        Element element = element(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1234: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1234: statement not executed.">        <span class="keyword">return</span> (element != <span class="keyword">null</span>) ? element.getTextTrim() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1237: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1237: method not entered.">    <span class="keyword">public</span> String elementTextTrim(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1238: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1238: statement not executed.">        Element element = element(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1240</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1240: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1240: statement not executed.">        <span class="keyword">return</span> (element != <span class="keyword">null</span>) ? element.getTextTrim() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// add to me content from another element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// analagous to the addAll(collection) methods in Java 2 collections</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1245: method entered 134 times."> 134</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1245: method entered 134 times.">    <span class="keyword">public</span> <span class="keyword">void</span> appendAttributes(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1246</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1246: statement executed 134 times."> 134</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1246: statement executed 134 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = element.attributeCount(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1247</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1247: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1247: statement executed 58 times.">            Attribute attribute = element.attribute(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1249: expression evaluated to true 58 times, false 0 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1249: expression evaluated to true 58 times, false 0 times.">            <span class="keyword">if</span> (attribute.supportsParent()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1250</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1250: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1250: statement executed 58 times.">                addAttribute(attribute.getQName(), attribute.getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1252: statement not executed.">                add(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This returns a deep clone of this element. The new element is detached</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * from its parent, and getParent() on the clone will return null.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the clone of this element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * public Object clone() { Element clone = createElement(getQName());</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * clone.appendAttributes(this); clone.appendContent(this); return clone; }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1270: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1270: method entered 5 times.">    <span class="keyword">public</span> Element createCopy() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1271: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1271: statement executed 5 times.">        Element clone = createElement(getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1273</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1273: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1273: statement executed 5 times.">        clone.appendAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1275</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1275: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1275: statement executed 5 times.">        clone.appendContent(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1277</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1277: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1277: statement executed 5 times.">        <span class="keyword">return</span> clone;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1280</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1280: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1280: method not entered.">    <span class="keyword">public</span> Element createCopy(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1281</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1281: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1281: statement not executed.">        Element clone = createElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1283: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1283: statement not executed.">        clone.appendAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1285</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1285: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1285: statement not executed.">        clone.appendContent(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1287: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1287: statement not executed.">        <span class="keyword">return</span> clone;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1290</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1290: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1290: method not entered.">    <span class="keyword">public</span> Element createCopy(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1291</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1291: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1291: statement not executed.">        Element clone = createElement(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1293</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1293: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1293: statement not executed.">        clone.appendAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1295</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1295: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1295: statement not executed.">        clone.appendContent(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1297</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1297: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1297: statement not executed.">        <span class="keyword">return</span> clone;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1300</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1300: method entered 7005 times."> 7005</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1300: method entered 7005 times.">    <span class="keyword">public</span> QName getQName(String qualifiedName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1301</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1301: statement executed 7005 times."> 7005</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1301: statement executed 7005 times.">        String prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1303</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1303: statement executed 7005 times."> 7005</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1303: statement executed 7005 times.">        String localName = qualifiedName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1305</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1305: statement executed 7005 times."> 7005</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1305: statement executed 7005 times.">        <span class="keyword">int</span> index = qualifiedName.indexOf(<span class="string">":"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1307</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1307: statement executed 7005 times."> 7005</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1307: statement executed 7005 times.">        <span class="keyword">if</span> (index > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1308</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1308: statement executed 5004 times."> 5004</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1308: statement executed 5004 times.">            prefix = qualifiedName.substring(0, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1310</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1310: statement executed 5004 times."> 5004</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1310: statement executed 5004 times.">            localName = qualifiedName.substring(index + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1313</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1313: statement executed 7005 times."> 7005</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1313: statement executed 7005 times.">        Namespace namespace = getNamespaceForPrefix(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1315</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1315: expression evaluated to true 7005 times, false 0 times."> 7005</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1315: expression evaluated to true 7005 times, false 0 times.">        <span class="keyword">if</span> (namespace != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1316</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1316: statement executed 7005 times."> 7005</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1316: statement executed 7005 times.">            <span class="keyword">return</span> getDocumentFactory().createQName(localName, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1318</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1318: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1318: statement not executed.">            <span class="keyword">return</span> getDocumentFactory().createQName(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1322</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1322: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1322: method not entered.">    <span class="keyword">public</span> Namespace getNamespaceForPrefix(String prefix) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1323</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1323: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1323: statement not executed.">        <span class="keyword">if</span> (prefix == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1324</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1324: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1324: statement not executed.">            prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1327</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1327: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1327: statement not executed.">        <span class="keyword">if</span> (prefix.equals(getNamespacePrefix())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1328</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1328: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1328: statement not executed.">            <span class="keyword">return</span> getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1329</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1329: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1329: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (prefix.equals(<span class="string">"xml"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1330</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1330: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1330: statement not executed.">            <span class="keyword">return</span> Namespace.XML_NAMESPACE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1332</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1332: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1332: statement not executed.">            List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1334</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1334: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1334: statement not executed.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1336</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1336: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1336: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1337</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1337: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1337: statement not executed.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1339</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1339: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1339: statement not executed.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1340: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1340: statement not executed.">                    Namespace namespace = (Namespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1342</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1342: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1342: statement not executed.">                    <span class="keyword">if</span> (prefix.equals(namespace.getPrefix())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1343</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1343: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1343: statement not executed.">                        <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1349</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1349: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1349: statement not executed.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1351</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1351: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1351: statement not executed.">        <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1352</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1352: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1352: statement not executed.">            Namespace answer = parent.getNamespaceForPrefix(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1354</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1354: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1354: statement not executed.">            <span class="keyword">if</span> (answer != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1355</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1355: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1355: statement not executed.">                <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1359</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1359: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1359: statement not executed.">        <span class="keyword">if</span> ((prefix == <span class="keyword">null</span>) || (prefix.length() <= 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1360</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1360: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1360: statement not executed.">            <span class="keyword">return</span> Namespace.NO_NAMESPACE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1363</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1363: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1363: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1366</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1366: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1366: method not entered.">    <span class="keyword">public</span> Namespace getNamespaceForURI(String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1367</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1367: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1367: statement not executed.">        <span class="keyword">if</span> ((uri == <span class="keyword">null</span>) || (uri.length() <= 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1368</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1368: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1368: statement not executed.">            <span class="keyword">return</span> Namespace.NO_NAMESPACE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1369</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1369: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1369: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (uri.equals(getNamespaceURI())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1370</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1370: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1370: statement not executed.">            <span class="keyword">return</span> getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1372</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1372: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1372: statement not executed.">            List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1374</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1374: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1374: statement not executed.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1376</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1376: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1376: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1377</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1377: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1377: statement not executed.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1379</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1379: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1379: statement not executed.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1380</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1380: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1380: statement not executed.">                    Namespace namespace = (Namespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1382</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1382: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1382: statement not executed.">                    <span class="keyword">if</span> (uri.equals(namespace.getURI())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1383</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1383: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1383: statement not executed.">                        <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1388</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1388: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1388: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1392</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1392: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1392: method entered 1 time.">    <span class="keyword">public</span> List getNamespacesForURI(String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1393</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1393: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1393: statement executed 1 time.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// if (getNamespaceURI().equals(uri)) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// answer.addLocal(getNamespace());</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// }</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1400</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1400: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1400: statement executed 1 time.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1402</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1402: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1402: statement executed 1 time.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1404</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1404: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1404: statement executed 1 time.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1405</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1405: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1405: statement executed 4 times.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1407</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1407: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1407: statement executed 4 times.">            <span class="keyword">if</span> ((object <span class="keyword">instanceof</span> Namespace)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    && ((Namespace) object).getURI().equals(uri)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1409</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1409: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1409: statement executed 2 times.">                answer.addLocal(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1413</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1413: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1413: statement executed 1 time.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1416</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1416: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1416: method not entered.">    <span class="keyword">public</span> List declaredNamespaces() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1417</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1417: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1417: statement not executed.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// if (getNamespaceURI().length() > 0) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// answer.addLocal(getNamespace());</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1425</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1425: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1425: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1427</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1427: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1427: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1429</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1429: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1429: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1430</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1430: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1430: statement not executed.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1432</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1432: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1432: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1433</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1433: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1433: statement not executed.">                answer.addLocal(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1437</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1437: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1437: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1440</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1440: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1440: method not entered.">    <span class="keyword">public</span> List additionalNamespaces() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1441</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1441: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1441: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1443</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1443: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1443: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1445</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1445: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1445: statement not executed.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1446</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1447</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1447: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1447: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1448</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1448: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1448: statement not executed.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1450</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1450: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1450: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1451</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1451: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1451: statement not executed.">                Namespace namespace = (Namespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1453</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1453: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1453: statement not executed.">                <span class="keyword">if</span> (!namespace.equals(getNamespace())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1454</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1454: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1454: statement not executed.">                    answer.addLocal(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1459</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1459: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1459: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1462</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1462: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1462: method not entered.">    <span class="keyword">public</span> List additionalNamespaces(String defaultNamespaceURI) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1463</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1463: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1463: statement not executed.">        List list = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1465</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1465: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1465: statement not executed.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1467</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1467: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1467: statement not executed.">        <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1469</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1469: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1469: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1470</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1470: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1470: statement not executed.">            Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1472</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1472: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1472: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1473</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1473: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1473: statement not executed.">                Namespace namespace = (Namespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1475</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1475: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1475: statement not executed.">                <span class="keyword">if</span> (!defaultNamespaceURI.equals(namespace.getURI())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1476</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1476: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1476: statement not executed.">                    answer.addLocal(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1481</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1481: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1481: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation helper methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Ensures that the list of attributes has the given size</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> minCapacity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1493</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1493: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1493: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> ensureAttributesCapacity(<span class="keyword">int</span> minCapacity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1494</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1494: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1494: statement not executed.">        <span class="keyword">if</span> (minCapacity > 1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1495</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1495: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1495: statement not executed.">            List list = attributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1497</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1497: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1497: statement not executed.">            <span class="keyword">if</span> (list <span class="keyword">instanceof</span> ArrayList) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1498</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1498: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1498: statement not executed.">                ArrayList arrayList = (ArrayList) list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1500</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1500: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1500: statement not executed.">                arrayList.ensureCapacity(minCapacity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1506</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1507</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1507: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1507: method not entered.">    <span class="keyword">protected</span> Element createElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1508</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1508: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1508: statement not executed.">        <span class="keyword">return</span> getDocumentFactory().createElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1510</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1511</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1511: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1511: method entered 4 times.">    <span class="keyword">protected</span> Element createElement(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1512</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1512: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1512: statement executed 4 times.">        <span class="keyword">return</span> getDocumentFactory().createElement(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1515</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1515: method entered 95996 times."> 95996</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1515: method entered 95996 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1516</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1516: statement executed 95996 times."> 95996</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1516: statement executed 95996 times.">        <span class="keyword">if</span> (node.getParent() != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1517</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// XXX: could clone here</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1518</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1518: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1518: statement executed 1 time.">            String message = <span class="string">"The Node already has an existing parent of \""</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + node.getParent().getQualifiedName() + <span class="string">"\""</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1521</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1521: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1521: statement executed 1 time.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="keyword">this</span>, node, message);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1523</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1524</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1524: statement executed 95995 times."> 95995</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1524: statement executed 95995 times.">        addNewNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1527</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1527: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1527: method entered 8 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addNode(<span class="keyword">int</span> index, Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1528</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1528: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1528: statement executed 8 times.">        <span class="keyword">if</span> (node.getParent() != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// XXX: could clone here</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1530</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1530: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1530: statement executed 1 time.">            String message = <span class="string">"The Node already has an existing parent of \""</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + node.getParent().getQualifiedName() + <span class="string">"\""</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1533</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1533: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1533: statement executed 1 time.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="keyword">this</span>, node, message);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1536</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1536: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1536: statement executed 7 times.">        addNewNode(index, node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1540</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Like addNode() but does not require a parent check</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1542</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1543</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1545</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1545: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1545: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> addNewNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1546</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1546: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1546: statement not executed.">        contentList().add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1548</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1548: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1548: statement not executed.">        childAdded(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1551</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1551: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1551: method entered 7 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addNewNode(<span class="keyword">int</span> index, Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1552</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1552: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1552: statement executed 7 times.">        contentList().add(index, node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1554</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1554: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1554: statement executed 7 times.">        childAdded(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1555</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1557</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1557: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1557: method not entered.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> removeNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1558</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1558: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1558: statement not executed.">        <span class="keyword">boolean</span> answer = contentList().remove(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1560</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1560: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1560: statement not executed.">        <span class="keyword">if</span> (answer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1561</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1561: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1561: statement not executed.">            childRemoved(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1564</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1564: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1564: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Called when a new child node is added to create any parent relationships</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1569</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1571</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1572</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1573</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1573: method entered 234937 times."> 234937</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1573: method entered 234937 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> childAdded(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1574</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1574: expression evaluated to true 234937 times, false 0 times."> 234937</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1574: expression evaluated to true 234937 times, false 0 times.">        <span class="keyword">if</span> (node != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1575</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1575: statement executed 234937 times."> 234937</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1575: statement executed 234937 times.">            node.setParent(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1577</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1578</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1579</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1579: method entered 13560 times."> 13560</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1579: method entered 13560 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> childRemoved(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1580</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1580: expression evaluated to true 13560 times, false 0 times."> 13560</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1580: expression evaluated to true 13560 times, false 0 times.">        <span class="keyword">if</span> (node != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1581</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1581: statement executed 13560 times."> 13560</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1581: statement executed 13560 times.">            node.setParent(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1583</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1583: statement executed 13560 times."> 13560</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1583: statement executed 13560 times.">            node.setDocument(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the internal List used to store attributes or creates one if one</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         is not available</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract List attributeList();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1596</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> attributeCount</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1599</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1600</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the internal List used to store attributes or creates one with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         the specified size if one is not available</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1603</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1604</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract List attributeList(<span class="keyword">int</span> attributeCount);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1606</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1606: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1606: method entered 1 time.">    <span class="keyword">protected</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1607</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1607: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1607: statement executed 1 time.">        QName qName = getQName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1608</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1609</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// QName might be null as we might not have been constructed yet</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1610</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1610: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1610: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> (qName != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1611</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1611: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1611: statement not executed.">            DocumentFactory factory = qName.getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1613</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1613: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1613: statement not executed.">            <span class="keyword">if</span> (factory != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1614</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1614: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1614: statement not executed.">                <span class="keyword">return</span> factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1616</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1617</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1618</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1618: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1618: statement executed 1 time.">        <span class="keyword">return</span> DOCUMENT_FACTORY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1620</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1621</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1622</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method pattern which creates a List implementation used to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * store attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1624</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1625</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1626</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1627</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1627: method entered 28757 times."> 28757</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1627: method entered 28757 times.">    <span class="keyword">protected</span> List createAttributeList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1628</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1628: statement executed 28757 times."> 28757</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1628: statement executed 28757 times.">        <span class="keyword">return</span> createAttributeList(DEFAULT_CONTENT_LIST_SIZE);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1629</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1630</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method pattern which creates a List implementation used to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1633</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * store attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1634</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> size</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1637</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1638</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1639</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1640</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1640: method entered 30375 times."> 30375</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1640: method entered 30375 times.">    <span class="keyword">protected</span> List createAttributeList(<span class="keyword">int</span> size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1641</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1641: statement executed 30375 times."> 30375</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1641: statement executed 30375 times.">        <span class="keyword">return</span> <span class="keyword">new</span> ArrayList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1642</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1643</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1644</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1644: method entered 62118 times."> 62118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1644: method entered 62118 times.">    <span class="keyword">protected</span> Iterator createSingleIterator(Object result) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1645</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1645: statement executed 62118 times."> 62118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1645: statement executed 62118 times.">        <span class="keyword">return</span> <span class="keyword">new</span> SingleIterator(result);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1648</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1649</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1652</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1654</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1655</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1656</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1658</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1660</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1661</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1663</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1664</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1665</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1667</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1668</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1669</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1672</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1673</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1675</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1676</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1677</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1679</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1680</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1681</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1682</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1683</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractEntity.html b/docs/clover/org/dom4j/tree/AbstractEntity.html
new file mode 100644
index 0000000..7a32d01
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractEntity.html
@@ -0,0 +1,542 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractEntity.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractEntity.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">108</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">9</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">40</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractEntity.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">8,3%</TD>
+    <TD class="graphPercent" align="center">22,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>12%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="24" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="176" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Visitor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractEntity</code> is an abstract base class for tree implementors</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.15 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractEntity"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractEntity <span class="keyword">extends</span> AbstractNode <span class="keyword">implements</span> Entity {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 27: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 27: method entered 4 times.">    <span class="keyword">public</span> AbstractEntity() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: statement executed 2 times.">        <span class="keyword">return</span> ENTITY_REFERENCE_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: method not entered.">    <span class="keyword">public</span> String getPath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// From XPaths perspective, entities are included in text</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">return</span> ((parent != <span class="keyword">null</span>) && (parent != context)) ? (parent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getPath(context) + <span class="string">"/text()"</span>) : <span class="string">"text()"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> String getUniquePath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// From XPaths perspective, entities are included in text</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">return</span> ((parent != <span class="keyword">null</span>) && (parent != context)) ? (parent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getUniquePath(context) + <span class="string">"/text()"</span>) : <span class="string">"text()"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: method not entered.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Entity: &"</span> + getName() + <span class="string">";]"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: method not entered.">    <span class="keyword">public</span> String getStringValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: statement not executed.">        <span class="keyword">return</span> <span class="string">"&"</span> + getName() + <span class="string">";"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: method not entered.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        <span class="keyword">return</span> <span class="string">"&"</span> + getName() + <span class="string">";"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        writer.write(<span class="string">"&"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        writer.write(getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        writer.write(<span class="string">";"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractNode.html b/docs/clover/org/dom4j/tree/AbstractNode.html
new file mode 100644
index 0000000..b2fb372
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractNode.html
@@ -0,0 +1,1267 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractNode.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractNode.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">271</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">34</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">161</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractNode.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">70%</TD>
+    <TD class="graphPercent" align="center">61,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>67,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="135" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="65" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.NodeFilter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.XPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.rule.Pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractNode</code> is an abstract base class for tree implementors</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.31 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractNode"> 32</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractNode <span class="keyword">implements</span> Node, Cloneable, Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final String[] NODE_TYPE_NAMES = {<span class="string">"Node"</span>, <span class="string">"Element"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"Attribute"</span>, <span class="string">"Text"</span>, <span class="string">"CDATA"</span>, <span class="string">"Entity"</span>, <span class="string">"Entity"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"ProcessingInstruction"</span>, <span class="string">"Comment"</span>, <span class="string">"Document"</span>, <span class="string">"DocumentType"</span>,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="string">"DocumentFragment"</span>, <span class="string">"Notation"</span>, <span class="string">"Namespace"</span>, <span class="string">"Unknown"</span> };</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>DocumentFactory</code> instance used by default */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final DocumentFactory DOCUMENT_FACTORY = DocumentFactory</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            .getInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: method entered 250254 times."> 250254</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: method entered 250254 times.">    <span class="keyword">public</span> AbstractNode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">return</span> UNKNOWN_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 130 times."> 130</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 130 times.">    <span class="keyword">public</span> String getNodeTypeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 130 times."> 130</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 130 times.">        <span class="keyword">int</span> type = getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: expression evaluated to true 0 times, false 130 times."> 130</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: expression evaluated to true 0 times, false 130 times.">        <span class="keyword">if</span> ((type < 0) || (type >= NODE_TYPE_NAMES.length)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">            <span class="keyword">return</span> <span class="string">"Unknown"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 130 times."> 130</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 130 times.">        <span class="keyword">return</span> NODE_TYPE_NAMES[type];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: method entered 94 times."> 94</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: method entered 94 times.">    <span class="keyword">public</span> Document getDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: statement executed 94 times."> 94</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: statement executed 94 times.">        Element element = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: statement executed 94 times."> 94</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: statement executed 94 times.">        <span class="keyword">return</span> (element != <span class="keyword">null</span>) ? element.getDocument() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: method entered 12305 times."> 12305</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: method entered 12305 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocument(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 68: method entered 12545 times."> 12545</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 68: method entered 12545 times.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 12545 times."> 12545</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 12545 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 72: method entered 6102 times."> 6102</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 72: method entered 6102 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: method entered 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: method entered 107 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 107 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: method entered 7 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 7 times.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasContent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 87: method entered 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 87: method entered 18 times.">    <span class="keyword">public</span> String getPath() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: statement executed 18 times."> 18</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: statement executed 18 times.">        <span class="keyword">return</span> getPath(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: method entered 20 times.">    <span class="keyword">public</span> String getUniquePath() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 20 times.">        <span class="keyword">return</span> getUniquePath(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: method entered 349 times."> 349</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: method entered 349 times.">    <span class="keyword">public</span> Object clone() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 349 times."> 349</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 349 times.">        <span class="keyword">if</span> (isReadOnly()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: statement executed 7 times.">            <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 342 times."> 342</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 342 times.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: statement executed 342 times."> 342</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: statement executed 342 times.">                Node answer = (Node) <span class="keyword">super</span>.clone();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: statement executed 342 times."> 342</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: statement executed 342 times.">                answer.setParent(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 342 times."> 342</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 342 times.">                answer.setDocument(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 342 times."> 342</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 342 times.">                <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (CloneNotSupportedException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// should never happen</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(<span class="string">"This should never happen. Caught: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + e);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: method entered 1517 times."> 1517</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: method entered 1517 times.">    <span class="keyword">public</span> Node detach() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: statement executed 1517 times."> 1517</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: statement executed 1517 times.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 1517 times."> 1517</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 1517 times.">        <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 1515 times."> 1515</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 1515 times.">            parent.remove(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 119: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 119: statement executed 2 times.">            Document document = getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: expression evaluated to true 2 times, false 0 times.">            <span class="keyword">if</span> (document != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 2 times.">                document.remove(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: statement executed 1517 times."> 1517</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: statement executed 1517 times.">        setParent(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 1517 times."> 1517</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 1517 times.">        setDocument(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 1517 times."> 1517</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 1517 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: method not entered.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 133: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"This node cannot be modified"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: method not entered.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: method entered 1538 times."> 1538</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: method entered 1538 times.">    <span class="keyword">public</span> String getStringValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: statement executed 1538 times."> 1538</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: statement executed 1538 times.">        <span class="keyword">return</span> getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"This node cannot be modified"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">        writer.write(asXML());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// XPath methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: method entered 4 times.">    <span class="keyword">public</span> Object selectObject(String xpathExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 158: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 158: statement executed 4 times.">        XPath xpath = createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: statement executed 2 times.">        <span class="keyword">return</span> xpath.evaluate(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: method entered 227 times."> 227</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: method entered 227 times.">    <span class="keyword">public</span> List selectNodes(String xpathExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 227 times."> 227</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 227 times.">        XPath xpath = createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 227 times."> 227</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 227 times.">        <span class="keyword">return</span> xpath.selectNodes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: method entered 1 time.">    <span class="keyword">public</span> List selectNodes(String xpathExpression,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String comparisonXPathExpression) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 1 time.">        <span class="keyword">return</span> selectNodes(xpathExpression, comparisonXPathExpression, <span class="keyword">false</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 174: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 174: method entered 2 times.">    <span class="keyword">public</span> List selectNodes(String xpathExpression,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String comparisonXPathExpression, <span class="keyword">boolean</span> removeDuplicates) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: statement executed 2 times.">        XPath xpath = createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 2 times.">        XPath sortBy = createXPath(comparisonXPathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 2 times.">        <span class="keyword">return</span> xpath.selectNodes(<span class="keyword">this</span>, sortBy, removeDuplicates);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 182: method entered 66 times."> 66</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 182: method entered 66 times.">    <span class="keyword">public</span> Node selectSingleNode(String xpathExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 66 times."> 66</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 66 times.">        XPath xpath = createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 185: statement executed 66 times."> 66</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 185: statement executed 66 times.">        <span class="keyword">return</span> xpath.selectSingleNode(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: method entered 81 times."> 81</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: method entered 81 times.">    <span class="keyword">public</span> String valueOf(String xpathExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 81 times."> 81</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 81 times.">        XPath xpath = createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: statement executed 81 times."> 81</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: statement executed 81 times.">        <span class="keyword">return</span> xpath.valueOf(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: method not entered.">    <span class="keyword">public</span> Number numberValueOf(String xpathExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">        XPath xpath = createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">        <span class="keyword">return</span> xpath.numberValueOf(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 200: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 200: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> matches(String patternText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 201: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 201: statement not executed.">        NodeFilter filter = createXPathFilter(patternText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 203: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 203: statement not executed.">        <span class="keyword">return</span> filter.matches(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 206: method entered 526 times."> 526</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 206: method entered 526 times.">    <span class="keyword">public</span> XPath createXPath(String xpathExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 207: statement executed 526 times."> 526</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 207: statement executed 526 times.">        <span class="keyword">return</span> getDocumentFactory().createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 210: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 210: method not entered.">    <span class="keyword">public</span> NodeFilter createXPathFilter(String patternText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">        <span class="keyword">return</span> getDocumentFactory().createXPathFilter(patternText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: method not entered.">    <span class="keyword">public</span> Pattern createPattern(String patternText) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 215: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 215: statement not executed.">        <span class="keyword">return</span> getDocumentFactory().createPattern(patternText);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 218: method entered 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 218: method entered 107 times.">    <span class="keyword">public</span> Node asXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 219: expression evaluated to true 0 times, false 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 219: expression evaluated to true 0 times, false 107 times.">        <span class="keyword">if</span> (supportsParent()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 220: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 220: statement not executed.">            <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 223: statement executed 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 223: statement executed 107 times.">        <span class="keyword">return</span> createXPathResult(parent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 226: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 226: method not entered.">    <span class="keyword">protected</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 227: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 227: statement not executed.">        <span class="keyword">return</span> DOCUMENT_FACTORY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: method not entered.">    <span class="keyword">protected</span> Node createXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 231: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 231: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(<span class="string">"asXPathResult() not yet implemented fully "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">"for: "</span> + <span class="keyword">this</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractProcessingInstruction.html b/docs/clover/org/dom4j/tree/AbstractProcessingInstruction.html
new file mode 100644
index 0000000..0a69143
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractProcessingInstruction.html
@@ -0,0 +1,1102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractProcessingInstruction.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractProcessingInstruction.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">235</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">17</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">121</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractProcessingInstruction.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">35,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>49,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="98" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="102" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.StringTokenizer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Visitor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractProcessingInstruction</code> is an abstract base class for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * tree implementors to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.17 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractProcessingInstruction"> 30</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractProcessingInstruction <span class="keyword">extends</span> AbstractNode</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">implements</span> ProcessingInstruction {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: method entered 28 times.">    <span class="keyword">public</span> AbstractProcessingInstruction() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: method entered 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: method entered 26 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 26 times.">        <span class="keyword">return</span> PROCESSING_INSTRUCTION_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> String getPath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: statement not executed.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">        <span class="keyword">return</span> ((parent != <span class="keyword">null</span>) && (parent != context)) ? (parent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getPath(context) + <span class="string">"/processing-instruction()"</span>)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                : <span class="string">"processing-instruction()"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: method not entered.">    <span class="keyword">public</span> String getUniquePath(Element context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">return</span> ((parent != <span class="keyword">null</span>) && (parent != context)) ? (parent</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getUniquePath(context) + <span class="string">"/processing-instruction()"</span>)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                : <span class="string">"processing-instruction()"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: method not entered.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: statement not executed.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [ProcessingInstruction: &"</span> + getName()</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">";]"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: method not entered.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">        <span class="keyword">return</span> <span class="string">"<?"</span> + getName() + <span class="string">" "</span> + getText() + <span class="string">"?>"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        writer.write(<span class="string">"<?"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        writer.write(getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        writer.write(<span class="string">" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">        writer.write(getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        writer.write(<span class="string">"?>"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setValue(String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"This PI is read-only and "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">"cannot be modified"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setValues(Map data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"This PI is read-only and "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">"cannot be modified"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: method entered 1 time.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 87: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 87: statement executed 1 time.">        <span class="keyword">return</span> getTarget();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">        setTarget(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> removeValue(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Helper methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will convert the Map to a string representation.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is a <code>Map</code> of PI data to convert</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: method not entered.">    <span class="keyword">protected</span> String toString(Map values) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">        StringBuffer buffer = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: statement not executed.">        <span class="keyword">for</span> (Iterator iter = values.entrySet().iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">            Map.Entry entry = (Map.Entry) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">            String name = (String) entry.getKey();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">            String value = (String) entry.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">            buffer.append(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">            buffer.append(<span class="string">"=\""</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">            buffer.append(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">            buffer.append(<span class="string">"\" "</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// remove the last space</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        buffer.setLength(buffer.length() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Parses the raw data of PI as a <code>Map</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            <code>String</code> PI data to parse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: method entered 28 times.">    <span class="keyword">protected</span> Map parseValues(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 28 times.">        Map data = <span class="keyword">new</span> HashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: statement executed 28 times.">        StringTokenizer s = <span class="keyword">new</span> StringTokenizer(text, <span class="string">" =\'\""</span>, <span class="keyword">true</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: statement executed 28 times.">        <span class="keyword">while</span> (s.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 48 times."> 48</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 48 times.">            String name = getName(s);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 148: statement executed 48 times."> 48</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 148: statement executed 48 times.">            <span class="keyword">if</span> (s.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: statement executed 41 times.">                String value = getValue(s);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 41 times.">                data.put(name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 28 times.">        <span class="keyword">return</span> data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: method entered 48 times."> 48</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: method entered 48 times.">    <span class="keyword">private</span> String getName(StringTokenizer tokenizer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 158: statement executed 48 times."> 48</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 158: statement executed 48 times.">        String token = tokenizer.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 159: statement executed 48 times."> 48</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 159: statement executed 48 times.">        StringBuffer name = <span class="keyword">new</span> StringBuffer(token);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: statement executed 48 times."> 48</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: statement executed 48 times.">        <span class="keyword">while</span> (tokenizer.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: statement executed 169 times."> 169</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: statement executed 169 times.">            token = tokenizer.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: statement executed 169 times."> 169</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: statement executed 169 times.">            <span class="keyword">if</span> (!token.equals(<span class="string">"="</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: statement executed 128 times."> 128</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: statement executed 128 times.">                name.append(token);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: statement executed 41 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 48 times."> 48</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 48 times.">        <span class="keyword">return</span> name.toString().trim();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 174: method entered 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 174: method entered 41 times.">    <span class="keyword">private</span> String getValue(StringTokenizer tokenizer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 175: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 175: statement executed 41 times.">        String token = tokenizer.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: statement executed 41 times.">        StringBuffer value = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/* get the quote */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: expression evaluated to true 0 times, false 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: expression evaluated to true 0 times, false 41 times.">        <span class="keyword">while</span> (tokenizer.hasMoreTokens() && !token.equals(<span class="string">"\'"</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                && !token.equals(<span class="string">"\""</span>)) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">            token = tokenizer.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: statement executed 41 times.">        String quote = token;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 186: expression evaluated to true 93 times, false 0 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 186: expression evaluated to true 93 times, false 0 times.">        <span class="keyword">while</span> (tokenizer.hasMoreTokens()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 93 times.">            token = tokenizer.nextToken();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 93 times.">            <span class="keyword">if</span> (!quote.equals(token)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 190: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 190: statement executed 52 times.">                value.append(token);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 41 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 196: statement executed 41 times."> 41</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 196: statement executed 41 times.">        <span class="keyword">return</span> value.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/AbstractText.html b/docs/clover/org/dom4j/tree/AbstractText.html
new file mode 100644
index 0000000..182006d
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/AbstractText.html
@@ -0,0 +1,440 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ AbstractText.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AbstractText.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">85</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">6</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">24</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AbstractText.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>63,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="127" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="73" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Writer;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Visitor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AbstractText</code> is an abstract base class for tree implementors</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to use for implementation inheritence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AbstractText"> 24</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> AbstractText <span class="keyword">extends</span> AbstractCharacterData <span class="keyword">implements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        org.dom4j.Text {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 26</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 26: method entered 121763 times."> 121763</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 26: method entered 121763 times.">    <span class="keyword">public</span> AbstractText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 29: method entered 192772 times."> 192772</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 29: method entered 192772 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getNodeType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: statement executed 192772 times."> 192772</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: statement executed 192772 times.">        <span class="keyword">return</span> TEXT_NODE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: method entered 77268 times."> 77268</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: method entered 77268 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: statement executed 77268 times."> 77268</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: statement executed 77268 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" [Text: \""</span> + getText() + <span class="string">"\"]"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: method entered 2 times.">    <span class="keyword">public</span> String asXML() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: statement executed 2 times.">        <span class="keyword">return</span> getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> write(Writer writer) <span class="keyword">throws</span> IOException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">        writer.write(getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> accept(Visitor visitor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        visitor.visit(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/BackedList.html b/docs/clover/org/dom4j/tree/BackedList.html
new file mode 100644
index 0000000..ca65bc9
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/BackedList.html
@@ -0,0 +1,995 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ BackedList.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="BackedList.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">209</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">13</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">110</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   BackedList.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">37,5%</TD>
+    <TD class="graphPercent" align="center">49,1%</TD>
+    <TD class="graphPercent" align="center">61,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>47,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="95" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="105" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Collection;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.IllegalAddException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>BackedList</code> represents a list of content of a {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * org.dom4j.Branch}. Changes to the list will be reflected in the branch,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * though changes to the branch will not be reflected in this list.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.14 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="BackedList"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> BackedList <span class="keyword">extends</span> ArrayList {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The content of the Branch which is modified if I am modified */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List branchContent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>AbstractBranch</code> instance which owns the content */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> AbstractBranch branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: method entered 24169 times."> 24169</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: method entered 24169 times.">    <span class="keyword">public</span> BackedList(AbstractBranch branch, List branchContent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 24169 times."> 24169</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 24169 times.">        <span class="keyword">this</span>(branch, branchContent, branchContent.size());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: method entered 24171 times."> 24171</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: method entered 24171 times.">    <span class="keyword">public</span> BackedList(AbstractBranch branch, List branchContent, <span class="keyword">int</span> capacity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 24171 times."> 24171</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 24171 times.">        <span class="keyword">super</span>(capacity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: statement executed 24171 times."> 24171</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: statement executed 24171 times.">        <span class="keyword">this</span>.branch = branch;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: statement executed 24171 times."> 24171</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: statement executed 24171 times.">        <span class="keyword">this</span>.branchContent = branchContent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> BackedList(AbstractBranch branch, List branchContent,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            List initialContent) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">super</span>(initialContent);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        <span class="keyword">this</span>.branch = branch;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">this</span>.branchContent = branchContent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: method entered 150 times."> 150</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: method entered 150 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> add(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: statement executed 150 times."> 150</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: statement executed 150 times.">        branch.addNode(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 150 times."> 150</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 150 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.add(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(<span class="keyword">int</span> index, Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 8 times.">        <span class="keyword">int</span> size = size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: expression evaluated to true 0 times, false 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: expression evaluated to true 0 times, false 8 times.">        <span class="keyword">if</span> (index < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IndexOutOfBoundsException(<span class="string">"Index value: "</span> + index</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">" is less than zero"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: expression evaluated to true 0 times, false 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: expression evaluated to true 0 times, false 8 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (index > size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IndexOutOfBoundsException(<span class="string">"Index value: "</span> + index</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">" cannot be greater than "</span> + <span class="string">"the size: "</span> + size);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 8 times.">        <span class="keyword">int</span> realIndex;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: expression evaluated to true 0 times, false 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: expression evaluated to true 0 times, false 8 times.">        <span class="keyword">if</span> (size == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: statement not executed.">            realIndex = branchContent.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 8 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (index < size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 5 times.">            realIndex = branchContent.indexOf(get(index));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 3 times.">            realIndex = branchContent.indexOf(get(size - 1)) + 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: statement executed 8 times.">        branch.addNode(realIndex, asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 7 times.">        <span class="keyword">super</span>.add(index, object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: method not entered.">    <span class="keyword">public</span> Object set(<span class="keyword">int</span> index, Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">        <span class="keyword">int</span> realIndex = branchContent.indexOf(get(index));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">if</span> (realIndex < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">            realIndex = (index == 0) ? 0 : Integer.MAX_VALUE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">if</span> (realIndex < branchContent.size()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">            branch.removeNode(asNode(get(index)));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">            branch.addNode(realIndex, asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">            branch.removeNode(asNode(get(index)));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">            branch.addNode(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        branch.childAdded(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">        <span class="keyword">return</span> <span class="keyword">super</span>.set(index, object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">        branch.removeNode(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> <span class="keyword">super</span>.remove(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: method entered 3 times.">    <span class="keyword">public</span> Object remove(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: statement executed 3 times.">        Object object = <span class="keyword">super</span>.remove(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: expression evaluated to true 3 times, false 0 times.">        <span class="keyword">if</span> (object != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: statement executed 3 times.">            branch.removeNode(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 3 times.">        <span class="keyword">return</span> object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> addAll(Collection collection) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">        ensureCapacity(size() + collection.size());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: statement not executed.">        <span class="keyword">int</span> count = size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">        <span class="keyword">for</span> (Iterator iter = collection.iterator(); iter.hasNext(); count--) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">            add(iter.next());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">        <span class="keyword">return</span> count != 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> addAll(<span class="keyword">int</span> index, Collection collection) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: statement not executed.">        ensureCapacity(size() + collection.size());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">        <span class="keyword">int</span> count = size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">        <span class="keyword">for</span> (Iterator iter = collection.iterator(); iter.hasNext(); count--) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">            add(index++, iter.next());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: statement not executed.">        <span class="keyword">return</span> count != 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: statement executed 3 times.">        <span class="keyword">for</span> (Iterator iter = iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: statement executed 3 times.">            Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 3 times.">            branchContent.remove(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: statement executed 3 times.">            branch.childRemoved(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 3 times.">        <span class="keyword">super</span>.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Performs a local addition which is not forward through to the Branch or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * backing list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: method entered 4970 times."> 4970</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: method entered 4970 times.">    <span class="keyword">public</span> <span class="keyword">void</span> addLocal(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: statement executed 4970 times."> 4970</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: statement executed 4970 times.">        <span class="keyword">super</span>.add(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 164: method entered 164 times."> 164</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 164: method entered 164 times.">    <span class="keyword">protected</span> Node asNode(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: expression evaluated to true 164 times, false 0 times."> 164</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: expression evaluated to true 164 times, false 0 times.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 164 times."> 164</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 164 times.">            <span class="keyword">return</span> (Node) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 168: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="string">"This list must contain instances "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">"of Node. Invalid type: "</span> + object);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/BaseElement.html b/docs/clover/org/dom4j/tree/BaseElement.html
new file mode 100644
index 0000000..345bb14
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/BaseElement.html
@@ -0,0 +1,899 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ BaseElement.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="BaseElement.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">189</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">17</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">93</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   BaseElement.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">10%</TD>
+    <TD class="graphPercent" align="center">21,6%</TD>
+    <TD class="graphPercent" align="center">23,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>18,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="37" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="163" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>BaseElement</code> is a useful base class for implemementation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * inheritence of an XML element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="BaseElement"> 27</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> BaseElement <span class="keyword">extends</span> AbstractElement {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>QName</code> for this element */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName qname;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Stores the parent branch of this node which is either a Document if this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element is the root element in a document, or another Element if it is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * child of the root document, or null if it has not been added to a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document yet.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Branch parentBranch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** List of content nodes. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> List content;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** list of attributes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> List attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: method entered 1 time.">    <span class="keyword">public</span> BaseElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: statement executed 1 time.">        <span class="keyword">this</span>.qname = getDocumentFactory().createQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> BaseElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">this</span>.qname = qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> BaseElement(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">this</span>.qname = getDocumentFactory().createQName(name, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        Element result = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">            result = (Element) parentBranch;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">        <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Element || (parent != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">            parentBranch = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: method not entered.">    <span class="keyword">public</span> Document getDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">        <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">            <span class="keyword">return</span> (Document) parentBranch;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">            Element parent = (Element) parentBranch;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">            <span class="keyword">return</span> parent.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocument(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Document || (document != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">            parentBranch = document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: method entered 3 times.">    <span class="keyword">public</span> QName getQName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 3 times.">        <span class="keyword">return</span> qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setQName(QName name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">        <span class="keyword">this</span>.qname = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> clearContent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 104: statement not executed.">        contentList().clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setContent(List content) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">        <span class="keyword">this</span>.content = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">        <span class="keyword">if</span> (content <span class="keyword">instanceof</span> ContentListFacade) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">            <span class="keyword">this</span>.content = ((ContentListFacade) content).getBackingList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributes(List attributes) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        <span class="keyword">this</span>.attributes = attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">        <span class="keyword">if</span> (attributes <span class="keyword">instanceof</span> ContentListFacade) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">            <span class="keyword">this</span>.attributes = ((ContentListFacade) attributes).getBackingList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: method entered 1 time.">    <span class="keyword">protected</span> List contentList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: expression evaluated to true 1 time, false 0 times.">        <span class="keyword">if</span> (content == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 1 time.">            content = createContentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 1 time.">        <span class="keyword">return</span> content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: method entered 1 time.">    <span class="keyword">protected</span> List attributeList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: expression evaluated to true 1 time, false 0 times.">        <span class="keyword">if</span> (attributes == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 1 time.">            attributes = createAttributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 138: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 138: statement executed 1 time.">        <span class="keyword">return</span> attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: method not entered.">    <span class="keyword">protected</span> List attributeList(<span class="keyword">int</span> size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">        <span class="keyword">if</span> (attributes == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">            attributes = createAttributeList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">        <span class="keyword">return</span> attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> setAttributeList(List attributeList) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        <span class="keyword">this</span>.attributes = attributeList;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/ConcurrentReaderHashMap.html b/docs/clover/org/dom4j/tree/ConcurrentReaderHashMap.html
new file mode 100644
index 0000000..1505934
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/ConcurrentReaderHashMap.html
@@ -0,0 +1,5588 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ ConcurrentReaderHashMap.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ConcurrentReaderHashMap.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.284</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">63</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">535</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">9</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ConcurrentReaderHashMap.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">27,8%</TD>
+    <TD class="graphPercent" align="center">29,7%</TD>
+    <TD class="graphPercent" align="center">17,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>27,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="55" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="145" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> File: ConcurrentReaderHashMap</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> Written by Doug Lea. Adapted and released, under explicit</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> permission, from JDK1.2 HashMap.java and Hashtable.java which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> carries the following copyright:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 1997 by Sun Microsystems, Inc.,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * All rights reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is the confidential and proprietary information</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * of Sun Microsystems, Inc. ("Confidential Information").  You</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * shall not disclose such Confidential Information and shall use</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * it only in accordance with the terms of the license agreement</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * you entered into with Sun.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> History:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> Date       Who                What</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> 28oct1999  dl               Created</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> 14dec1999  dl               jmm snapshot</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> 19apr2000  dl               use barrierLock</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> 12jan2001  dl               public release</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> 17nov2001  dl               Minor tunings</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> 20may2002  dl               BarrierLock can now be serialized.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> 09dec2002  dl               Fix interference checks.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.IOException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.AbstractCollection;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.AbstractMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.AbstractSet;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Collection;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Enumeration;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.NoSuchElementException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Set;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * A version of Hashtable that supports mostly-concurrent reading, but exclusive</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * writing. Because reads are not limited to periods without writes, a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * concurrent reader policy is weaker than a classic reader/writer policy, but</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * is generally faster and allows more concurrency. This class is a good choice</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * especially for tables that are mainly created by one thread during the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * start-up phase of a program, and from then on, are mainly read (with perhaps</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * occasional additions or removals) in many threads. If you also need</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * concurrency among writes, consider instead using ConcurrentHashMap.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Successful retrievals using get(key) and containsKey(key) usually run without</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * locking. Unsuccessful ones (i.e., when the key is not present) do involve</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * brief synchronization (locking). Also, the size and isEmpty methods are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * always synchronized.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Because retrieval operations can ordinarily overlap with writing operations</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * (i.e., put, remove, and their derivatives), retrievals can only be guaranteed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * to return the results of the most recently <em>completed</em> operations</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * holding upon their onset. Retrieval operations may or may not return results</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * reflecting in-progress writing operations. However, the retrieval operations</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * do always return consistent results -- either those holding before any single</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * modification or after it, but never a nonsense result. For aggregate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * operations such as putAll and clear, concurrent reads may reflect insertion</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * or removal of only some entries. In those rare contexts in which you use a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * hash table to synchronize operations across threads (for example, to prevent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * reads until after clears), you should either encase operations in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * synchronized blocks, or instead use java.util.Hashtable.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This class also supports optional guaranteed exclusive reads, simply by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * surrounding a call within a synchronized block, as in <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ConcurrentReaderHashMap t; ... Object v; <br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * synchronized(t) { v = t.get(k); } </code><br></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * But this is not usually necessary in practice. For example, it is generally</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * inefficient to write:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     ConcurrentReaderHashMap t; ...            // Inefficient version</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     Object key; ...</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     Object value; ...</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     synchronized(t) { </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *       if (!t.containsKey(key))</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         t.put(key, value);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         // other code if not previously present</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *       }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *       else {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *         // other code if it was previously present</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *       }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Instead, if the values are intended to be the same in each case, just take</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * advantage of the fact that put returns null if the key was not previously</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * present:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     ConcurrentReaderHashMap t; ...                // Use this instead</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     Object key; ...</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     Object value; ...</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     Object oldValue = t.put(key, value);</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     if (oldValue == null) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *       // other code if not previously present</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     else {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *       // other code if it was previously present</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *     }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *  </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </pre></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Iterators and Enumerations (i.e., those returned by keySet().iterator(),</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * entrySet().iterator(), values().iterator(), keys(), and elements()) return</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * elements reflecting the state of the hash table at some point at or since the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * creation of the iterator/enumeration. They will return at most one instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * of each element (via next()/nextElement()), but might or might not reflect</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * puts and removes that have been processed since they were created. They do</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <em>not</em> throw ConcurrentModificationException. However, these</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * iterators are designed to be used by only one thread at a time. Sharing an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * iterator across multiple threads may lead to unpredictable results if the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * table is being concurrently modified. Again, you can ensure interference-free</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * iteration by enclosing the iteration in a synchronized block.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This class may be used as a direct replacement for any use of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * java.util.Hashtable that does not depend on readers being blocked during</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * updates. Like Hashtable but unlike java.util.HashMap, this class does NOT</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * allow <tt>null</tt> to be used as a key or value. This class is also</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * typically faster than ConcurrentHashMap when there is usually only one thread</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * updating the table, but possibly many retrieving values from it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Implementation note: A slightly faster implementation of this class will be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * possible once planned Java Memory Model revisions are in place.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p>[ <a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * href="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html"></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Introduction to this package. </a>]</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ConcurrentReaderHashMap"> 155</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">class</span> ConcurrentReaderHashMap <span class="keyword">extends</span> AbstractMap <span class="keyword">implements</span> Map, Cloneable,</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The basic strategy is an optimistic-style scheme based on the guarantee</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * that the hash table and its lists are always kept in a consistent enough</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * state to be read without locking:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Read operations first proceed without locking, by traversing the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * apparently correct list of the apparently correct bin. If an entry is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * found, but not invalidated (value field null), it is returned. If not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * found, operations must recheck (after a memory barrier) to make sure they</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * are using both the right list and the right table (which can change under</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * resizes). If invalidated, reads must acquire main update lock to wait out</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the update, and then re-traverse.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * All list additions are at the front of each bin, making it easy to check</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * changes, and also fast to traverse. Entry next pointers are never</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * assigned. Remove() builds new nodes when necessary to preserve this.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Remove() (also clear()) invalidates removed nodes to alert read</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * operations that they must wait out the full modifications.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** A Serializable class for barrier lock * */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="BarrierLock"> 181</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">class</span> BarrierLock <span class="keyword">implements</span> java.io.Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Lock used only for its memory effects.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> final BarrierLock barrierLock = <span class="keyword">new</span> BarrierLock();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * field written to only to guarantee lock ordering.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">transient</span> Object lastWrite;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Force a memory synchronization that will cause all readers to see table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Call only when already holding main synch lock.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: method entered 20624 times."> 20624</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: method entered 20624 times.">    <span class="keyword">protected</span> final <span class="keyword">void</span> recordModification(Object x) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 20624 times."> 20624</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 20624 times.">        <span class="keyword">synchronized</span> (barrierLock) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: statement executed 20624 times."> 20624</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 20624 times.">            lastWrite = x;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Get ref to table; the reference and the cells it accesses will be at</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * least as fresh as from last use of barrierLock</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 209: method entered 41248 times."> 41248</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 209: method entered 41248 times.">    <span class="keyword">protected</span> final Entry[] getTableForReading() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 210: statement executed 41248 times."> 41248</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: statement executed 41248 times.">        <span class="keyword">synchronized</span> (barrierLock) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 41248 times."> 41248</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 41248 times.">            <span class="keyword">return</span> table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The default initial number of table slots for this table (32). Used when</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * not otherwise specified in constructor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">int</span> DEFAULT_INITIAL_CAPACITY = 32;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The minimum capacity, used if a lower value is implicitly specified by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * either of the constructors with arguments. MUST be a power of two.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final <span class="keyword">int</span> MINIMUM_CAPACITY = 4;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The maximum capacity, used if a higher value is implicitly specified by</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * either of the constructors with arguments. MUST be a power of two <= 1 <</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <30.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final <span class="keyword">int</span> MAXIMUM_CAPACITY = 1 << 30;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The default load factor for this table (1.0). Used when not otherwise</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified in constructor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">public</span> <span class="keyword">static</span> final <span class="keyword">float</span> DEFAULT_LOAD_FACTOR = 0.75f;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The hash table data.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">transient</span> Entry[] table;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The total number of mappings in the hash table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">transient</span> <span class="keyword">int</span> count;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The table is rehashed when its size exceeds this threshold. (The value of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this field is always (int)(capacity * loadFactor).)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@serial</span></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">int</span> threshold;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The load factor for the hash table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@serial</span></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">float</span> loadFactor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the appropriate capacity (power of two) for the specified initial</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * capacity argument.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: method entered 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: method entered 10476 times.">    <span class="keyword">private</span> <span class="keyword">int</span> p2capacity(<span class="keyword">int</span> initialCapacity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: statement executed 10476 times.">        <span class="keyword">int</span> cap = initialCapacity;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Compute the appropriate capacity</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 274: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 274: statement executed 10476 times.">        <span class="keyword">int</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 275: expression evaluated to true 0 times, false 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 275: expression evaluated to true 0 times, false 10476 times.">        <span class="keyword">if</span> (cap > MAXIMUM_CAPACITY || cap < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 276: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 276: statement not executed.">            result = MAXIMUM_CAPACITY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 278: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 278: statement executed 10476 times.">            result = MINIMUM_CAPACITY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 279: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 279: statement executed 10476 times.">            <span class="keyword">while</span> (result < cap)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 280: statement executed 31428 times."> 31428</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 280: statement executed 31428 times.">                result <<= 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 282: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 282: statement executed 10476 times.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Return hash code for Object x. Since we are using power-of-two tables, it</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * is worth the effort to improve hashcode via the same multiplicative</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * scheme as used in IdentityHashMap.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 290</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 290: method entered 2283990 times."> 2283990</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 290: method entered 2283990 times.">    <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">int</span> hash(Object x) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 291: statement executed 2283990 times."> 2283990</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 291: statement executed 2283990 times.">        <span class="keyword">int</span> h = x.hashCode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Multiply by 127 (quickly, via shifts), and mix in some high</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// bits to help guard against bunching of codes that are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// consecutive or equally spaced.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: statement executed 2283990 times."> 2283990</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: statement executed 2283990 times.">        <span class="keyword">return</span> ((h << 7) - h + (h >>> 9) + (h >>> 17));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Check for equality of non-null references x and y.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 301</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 301: method entered 2222118 times."> 2222118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 301: method entered 2222118 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> eq(Object x, Object y) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 302: statement executed 2222118 times."> 2222118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 302: statement executed 2222118 times.">        <span class="keyword">return</span> x == y || x.equals(y);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new, empty map with the specified initial capacity and the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified load factor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> initialCapacity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the initial capacity The actual initial capacity is rounded to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the nearest power of two.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> loadFactor</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the load factor of the ConcurrentReaderHashMap</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IllegalArgumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the initial maximum number of elements is less than zero,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             or if the load factor is nonpositive.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 319</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 319: method entered 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 319: method entered 10476 times.">    <span class="keyword">public</span> ConcurrentReaderHashMap(<span class="keyword">int</span> initialCapacity, <span class="keyword">float</span> loadFactor) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 320</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 320: expression evaluated to true 0 times, false 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 320: expression evaluated to true 0 times, false 10476 times.">        <span class="keyword">if</span> (loadFactor <= 0)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 321</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 321: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 321: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"Illegal Load factor: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + loadFactor);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 323</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 323: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 323: statement executed 10476 times.">        <span class="keyword">this</span>.loadFactor = loadFactor;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 325</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 325: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 325: statement executed 10476 times.">        <span class="keyword">int</span> cap = p2capacity(initialCapacity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 327</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 327: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 327: statement executed 10476 times.">        table = <span class="keyword">new</span> Entry[cap];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 328: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 328: statement executed 10476 times.">        threshold = (<span class="keyword">int</span>) (cap * loadFactor);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new, empty map with the specified initial capacity and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * default load factor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> initialCapacity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the initial capacity of the ConcurrentReaderHashMap.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> IllegalArgumentException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             if the initial maximum number of elements is less than zero.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 341</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 341: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 341: method not entered.">    <span class="keyword">public</span> ConcurrentReaderHashMap(<span class="keyword">int</span> initialCapacity) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 342: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 342: statement not executed.">        <span class="keyword">this</span>(initialCapacity, DEFAULT_LOAD_FACTOR);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new, empty map with a default initial capacity and load</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * factor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 350</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 350: method entered 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 350: method entered 10476 times.">    <span class="keyword">public</span> ConcurrentReaderHashMap() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 351</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 351: statement executed 10476 times."> 10476</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 351: statement executed 10476 times.">        <span class="keyword">this</span>(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Constructs a new map with the same mappings as the given map. The map is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * created with a capacity of twice the number of mappings in the given map</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or 16 (whichever is greater), and a default load factor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 360: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 360: method not entered.">    <span class="keyword">public</span> ConcurrentReaderHashMap(Map t) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 361</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 361: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 361: statement not executed.">        <span class="keyword">this</span>(Math.max((<span class="keyword">int</span>) (t.size() / DEFAULT_LOAD_FACTOR) + 1, 16),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                DEFAULT_LOAD_FACTOR);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 363</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 363: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 363: statement not executed.">        putAll(t);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the number of key-value mappings in this map.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the number of key-value mappings in this map.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 372: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 372: method not entered.">    <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">int</span> size() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 373</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 373: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 373: statement not executed.">        <span class="keyword">return</span> count;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 374</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns <tt>true</tt> if this map contains no key-value mappings.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> <tt>true</tt> if this map contains no key-value mappings.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 382</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 382: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 382: method not entered.">    <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">boolean</span> isEmpty() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 383</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 383: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 383: statement not executed.">        <span class="keyword">return</span> count == 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns the value to which the specified key is mapped in this table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> key</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            a key in the table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value to which the key is mapped in this table;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         <code>null</code> if the key is not mapped to any value in this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> NullPointerException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                if the key is <code>null</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #put(Object, Object)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 399</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 399: method entered 2263360 times."> 2263360</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 399: method entered 2263360 times.">    <span class="keyword">public</span> Object get(Object key) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// throw null pointer exception if key null</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 402</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 402: statement executed 2263360 times."> 2263360</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 402: statement executed 2263360 times.">        <span class="keyword">int</span> hash = hash(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * Start off at the apparently correct bin. If entry is found, we need</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * to check after a barrier anyway. If not found, we need a barrier to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * check if we are actually in right bin. So either way, we encounter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * only one barrier unless we need to retry. And we only need to fully</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * synchronize if there have been concurrent modifications.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 412: statement executed 2263360 times."> 2263360</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 412: statement executed 2263360 times.">        Entry[] tab = table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 413</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 413: statement executed 2263360 times."> 2263360</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 413: statement executed 2263360 times.">        <span class="keyword">int</span> index = hash & (tab.length - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 414</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 414: statement executed 2263360 times."> 2263360</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 414: statement executed 2263360 times.">        Entry first = tab[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 415: statement executed 2263360 times."> 2263360</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 415: statement executed 2263360 times.">        Entry e = first;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 417</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 417: statement executed 2263360 times."> 2263360</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 417: statement executed 2263360 times.">        <span class="keyword">for</span> (;;) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 418</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 418: statement executed 2272846 times."> 2272846</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 418: statement executed 2272846 times.">            <span class="keyword">if</span> (e == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// If key apparently not there, check to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 421</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// make sure this was a valid read</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 423</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 423: statement executed 41248 times."> 41248</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 423: statement executed 41248 times.">                Entry[] reread = getTableForReading();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 424</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 424: expression evaluated to true 41248 times, false 0 times."> 41248</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 424: expression evaluated to true 41248 times, false 0 times.">                <span class="keyword">if</span> (tab == reread && first == tab[index])</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 425</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 425: statement executed 41248 times."> 41248</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 425: statement executed 41248 times.">                    <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// Wrong list -- must restart traversal at new first</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 428</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 428: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 428: statement not executed.">                    tab = reread;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 429</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 429: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 429: statement not executed.">                    e = first = tab[index = hash & (tab.length - 1)];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 434</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 434: statement executed 2231598 times."> 2231598</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 434: statement executed 2231598 times.">            <span class="keyword">else</span> <span class="keyword">if</span> (e.hash == hash && eq(key, e.key)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 435</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 435: statement executed 2222112 times."> 2222112</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 435: statement executed 2222112 times.">                Object value = e.value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 436</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 436: expression evaluated to true 2222112 times, false 0 times."> 2222112</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 436: expression evaluated to true 2222112 times, false 0 times.">                <span class="keyword">if</span> (value != <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 437</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 437: statement executed 2222112 times."> 2222112</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 437: statement executed 2222112 times.">                    <span class="keyword">return</span> value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Entry was invalidated during deletion. But it could</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 440</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// have been re-inserted, so we must retraverse.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// To avoid useless contention, get lock to wait out</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 442</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// modifications</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 443</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// before retraversing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 445</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 445: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 445: statement not executed.">                <span class="keyword">synchronized</span> (<span class="keyword">this</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 446</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 446: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 446: statement not executed.">                    tab = table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 448</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 448: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 448: statement not executed.">                e = first = tab[index = hash & (tab.length - 1)];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 451</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 451: statement executed 9486 times."> 9486</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 451: statement executed 9486 times.">                e = e.next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 453</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 454</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 456</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Tests if the specified object is a key in this table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> key</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            possible key.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> <code>true</code> if and only if the specified object is a key</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         in this table, as determined by the <tt>equals</tt> method;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         <code>false</code> otherwise.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> NullPointerException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                if the key is <code>null</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 465</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #contains(Object)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 468</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 468: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 468: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> containsKey(Object key) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 469</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 469: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 469: statement not executed.">        <span class="keyword">return</span> get(key) != <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Maps the specified <code>key</code> to the specified <code>value</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * in this table. Neither the key nor the value can be <code>null</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The value can be retrieved by calling the <code>get</code> method with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * a key that is equal to the original key.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> key</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the table key.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the previous value of the specified key in this table, or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         <code>null</code> if it did not have one.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> NullPointerException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                if the key or value is <code>null</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> Object#equals(Object)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #get(Object)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 492</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 492: method entered 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 492: method entered 20630 times.">    <span class="keyword">public</span> Object put(Object key, Object value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 493</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 493: expression evaluated to true 0 times, false 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 493: expression evaluated to true 0 times, false 20630 times.">        <span class="keyword">if</span> (value == <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 494</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 494: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 494: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> NullPointerException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 496</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 496: statement executed 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 496: statement executed 20630 times.">        <span class="keyword">int</span> hash = hash(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 497</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 497: statement executed 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 497: statement executed 20630 times.">        Entry[] tab = table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 498</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 498: statement executed 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 498: statement executed 20630 times.">        <span class="keyword">int</span> index = hash & (tab.length - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 499</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 499: statement executed 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 499: statement executed 20630 times.">        Entry first = tab[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 500</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 500: statement executed 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 500: statement executed 20630 times.">        Entry e;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 502</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 502: statement executed 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 502: statement executed 20630 times.">        <span class="keyword">for</span> (e = first; e != <span class="keyword">null</span>; e = e.next)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 503</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 503: statement executed 4289 times."> 4289</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 503: statement executed 4289 times.">            <span class="keyword">if</span> (e.hash == hash && eq(key, e.key))</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 504</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 504: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 504: statement executed 6 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 506</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 506: statement executed 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 506: statement executed 20630 times.">        <span class="keyword">synchronized</span> (<span class="keyword">this</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 507</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 507: expression evaluated to true 20630 times, false 0 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 507: expression evaluated to true 20630 times, false 0 times.">            <span class="keyword">if</span> (tab == table) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 508</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 508: statement executed 20630 times."> 20630</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 508: statement executed 20630 times.">                <span class="keyword">if</span> (e == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 509</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// make sure we are adding to correct list</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 510</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 510: expression evaluated to true 20624 times, false 0 times."> 20624</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 510: expression evaluated to true 20624 times, false 0 times.">                    <span class="keyword">if</span> (first == tab[index]) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="comment">// Add to front of list</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 512</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 512: statement executed 20624 times."> 20624</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 512: statement executed 20624 times.">                        Entry newEntry = <span class="keyword">new</span> Entry(hash, key, value, first);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 513</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 513: statement executed 20624 times."> 20624</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 513: statement executed 20624 times.">                        tab[index] = newEntry;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 514</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 514: statement executed 20624 times."> 20624</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 514: statement executed 20624 times.">                        <span class="keyword">if</span> (++count >= threshold)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 515</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 515: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 515: statement executed 9 times.">                            rehash();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        <span class="keyword">else</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 517</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 517: statement executed 20615 times."> 20615</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 517: statement executed 20615 times.">                            recordModification(newEntry);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 518</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 518: statement executed 20624 times."> 20624</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 518: statement executed 20624 times.">                        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 520</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 521</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 521: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 521: statement executed 6 times.">                    Object oldValue = e.value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 522</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 522: expression evaluated to true 6 times, false 0 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 522: expression evaluated to true 6 times, false 0 times.">                    <span class="keyword">if</span> (first == tab[index] && oldValue != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 523</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 523: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 523: statement executed 6 times.">                        e.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 524</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 524: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 524: statement executed 6 times.">                        <span class="keyword">return</span> oldValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 528</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// retry if wrong list or lost race against concurrent remove</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 530</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 530: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 530: statement not executed.">            <span class="keyword">return</span> sput(key, value, hash);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 531</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 532</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 534</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 535</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Continuation of put(), called only when synch lock is held and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * interference has been detected.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 537</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 538</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 538: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 538: method not entered.">    <span class="keyword">protected</span> Object sput(Object key, Object value, <span class="keyword">int</span> hash) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 539</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 540</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 540: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 540: statement not executed.">        Entry[] tab = table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 541</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 541: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 541: statement not executed.">        <span class="keyword">int</span> index = hash & (tab.length - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 542</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 542: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 542: statement not executed.">        Entry first = tab[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 543</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 543: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 543: statement not executed.">        Entry e = first;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 545</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 545: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 545: statement not executed.">        <span class="keyword">for</span> (;;) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 546</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 546: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 546: statement not executed.">            <span class="keyword">if</span> (e == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 547</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 547: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 547: statement not executed.">                Entry newEntry = <span class="keyword">new</span> Entry(hash, key, value, first);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 548</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 548: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 548: statement not executed.">                tab[index] = newEntry;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 549</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 549: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 549: statement not executed.">                <span class="keyword">if</span> (++count >= threshold)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 550</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 550: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 550: statement not executed.">                    rehash();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 551</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="keyword">else</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 552</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 552: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 552: statement not executed.">                    recordModification(newEntry);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 553</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 553: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 553: statement not executed.">                <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 554</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 554: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 554: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (e.hash == hash && eq(key, e.key)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 555</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 555: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 555: statement not executed.">                Object oldValue = e.value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 556</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 556: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 556: statement not executed.">                e.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 557</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 557: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 557: statement not executed.">                <span class="keyword">return</span> oldValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 559</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 559: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 559: statement not executed.">                e = e.next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 560</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 563</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 564</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Rehashes the contents of this map into a new table with a larger</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * capacity. This method is called automatically when the number of keys in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 566</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * this map exceeds its capacity and load factor.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 567</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 568</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 568: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 568: method entered 9 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> rehash() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 569</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 569: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 569: statement executed 9 times.">        Entry[] oldTable = table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 570</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 570: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 570: statement executed 9 times.">        <span class="keyword">int</span> oldCapacity = oldTable.length;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 571</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 571: expression evaluated to true 0 times, false 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 571: expression evaluated to true 0 times, false 9 times.">        <span class="keyword">if</span> (oldCapacity >= MAXIMUM_CAPACITY) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 572</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 572: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 572: statement not executed.">            threshold = Integer.MAX_VALUE; <span class="comment">// avoid retriggering</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 573</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 573: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 573: statement not executed.">            <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 574</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 575</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 576</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 576: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 576: statement executed 9 times.">        <span class="keyword">int</span> newCapacity = oldCapacity << 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 577</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 577: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 577: statement executed 9 times.">        <span class="keyword">int</span> mask = newCapacity - 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 578</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 578: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 578: statement executed 9 times.">        threshold = (<span class="keyword">int</span>) (newCapacity * loadFactor);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 580</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 580: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 580: statement executed 9 times.">        Entry[] newTable = <span class="keyword">new</span> Entry[newCapacity];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * Reclassify nodes in each list to new Map. Because we are using</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 583</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * power-of-two expansion, the elements from each bin must either stay</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 584</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * at same index, or move to oldCapacity+index. We also eliminate</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * unnecessary node creation by catching cases where old nodes can be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 586</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * reused because their next fields won't change. Statistically, at the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 587</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * default threshhold, only about one-sixth of them need cloning. (The</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * nodes they replace will be garbage collectable as soon as they are no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * longer referenced by any reader thread that may be in the midst of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * traversing table right now.)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 592</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 593</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 593: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 593: statement executed 9 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < oldCapacity; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// We need to guarantee that any existing reads of old Map can</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 595</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// proceed. So we cannot yet null out each bin.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 596</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 596: statement executed 16352 times."> 16352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 596: statement executed 16352 times.">            Entry e = oldTable[i];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 598</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 598: statement executed 16352 times."> 16352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 598: statement executed 16352 times.">            <span class="keyword">if</span> (e != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 599</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 599: statement executed 8821 times."> 8821</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 599: statement executed 8821 times.">                <span class="keyword">int</span> idx = e.hash & mask;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 600</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 600: statement executed 8821 times."> 8821</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 600: statement executed 8821 times.">                Entry next = e.next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 602</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Single node on list</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 603</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 603: statement executed 8821 times."> 8821</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 603: statement executed 8821 times.">                <span class="keyword">if</span> (next == <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 604</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 604: statement executed 5980 times."> 5980</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 604: statement executed 5980 times.">                    newTable[idx] = e;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 606</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 607</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// Reuse trailing consecutive sequence of all same bit</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 608</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 608: statement executed 2841 times."> 2841</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 608: statement executed 2841 times.">                    Entry lastRun = e;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 609</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 609: statement executed 2841 times."> 2841</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 609: statement executed 2841 times.">                    <span class="keyword">int</span> lastIdx = idx;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 610</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 610: statement executed 2841 times."> 2841</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 610: statement executed 2841 times.">                    <span class="keyword">for</span> (Entry last = next; last != <span class="keyword">null</span>; last = last.next) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 611</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 611: statement executed 3443 times."> 3443</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 611: statement executed 3443 times.">                        <span class="keyword">int</span> k = last.hash & mask;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 612</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 612: statement executed 3443 times."> 3443</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 612: statement executed 3443 times.">                        <span class="keyword">if</span> (k != lastIdx) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 613</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 613: statement executed 1921 times."> 1921</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 613: statement executed 1921 times.">                            lastIdx = k;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 614</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 614: statement executed 1921 times."> 1921</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 614: statement executed 1921 times.">                            lastRun = last;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 616</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 617</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 617: statement executed 2841 times."> 2841</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 617: statement executed 2841 times.">                    newTable[lastIdx] = lastRun;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 618</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// Clone all remaining nodes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 620</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 620: statement executed 2841 times."> 2841</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 620: statement executed 2841 times.">                    <span class="keyword">for</span> (Entry p = e; p != lastRun; p = p.next) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 621</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 621: statement executed 2116 times."> 2116</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 621: statement executed 2116 times.">                        <span class="keyword">int</span> k = p.hash & mask;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 622</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 622: statement executed 2116 times."> 2116</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 622: statement executed 2116 times.">                        newTable[k] = <span class="keyword">new</span> Entry(p.hash, p.key, p.value,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                newTable[k]);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 624</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 625</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 626</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 627</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 628</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 629</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 629: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 629: statement executed 9 times.">        table = newTable;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 630</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 630: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 630: statement executed 9 times.">        recordModification(newTable);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 633</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 634</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the key (and its corresponding value) from this table. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * method does nothing if the key is not in the table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 637</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> key</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 638</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the key that needs to be removed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 639</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the value to which the key had been mapped in this table, or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 640</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         <code>null</code> if the key did not have a mapping.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> NullPointerException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 642</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                if the key is <code>null</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 643</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 644</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 645</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 645: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 645: method not entered.">    <span class="keyword">public</span> Object remove(Object key) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 646</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 647</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * Find the entry, then 1. Set value field to null, to force get() to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 648</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * retry 2. Rebuild the list without this entry. All entries following</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 649</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * removed node can stay in list, but all preceeding ones need to be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * cloned. Traversals rely on this strategy to ensure that elements will</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 651</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * not be repeated during iteration.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 652</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 654</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 654: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 654: statement not executed.">        <span class="keyword">int</span> hash = hash(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 655</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 655: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 655: statement not executed.">        Entry[] tab = table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 656</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 656: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 656: statement not executed.">        <span class="keyword">int</span> index = hash & (tab.length - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 657</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 657: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 657: statement not executed.">        Entry first = tab[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 658</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 658: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 658: statement not executed.">        Entry e = first;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 660</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 660: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 660: statement not executed.">        <span class="keyword">for</span> (e = first; e != <span class="keyword">null</span>; e = e.next)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 661</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 661: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 661: statement not executed.">            <span class="keyword">if</span> (e.hash == hash && eq(key, e.key))</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 662</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 662: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 662: statement not executed.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 663</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 664</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 664: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 664: statement not executed.">        <span class="keyword">synchronized</span> (<span class="keyword">this</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 665</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 665: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 665: statement not executed.">            <span class="keyword">if</span> (tab == table) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 666</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 666: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 666: statement not executed.">                <span class="keyword">if</span> (e == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 667</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 667: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 667: statement not executed.">                    <span class="keyword">if</span> (first == tab[index])</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 668</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 668: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 668: statement not executed.">                        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 669</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 670</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 670: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 670: statement not executed.">                    Object oldValue = e.value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 671</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 671: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 671: statement not executed.">                    <span class="keyword">if</span> (first == tab[index] && oldValue != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 672</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 672: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 672: statement not executed.">                        e.value = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 673</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 673: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 673: statement not executed.">                        count--;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 675</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 675: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 675: statement not executed.">                        Entry head = e.next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 676</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 676: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 676: statement not executed.">                        <span class="keyword">for</span> (Entry p = first; p != e; p = p.next)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 677</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 677: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 677: statement not executed.">                            head = <span class="keyword">new</span> Entry(p.hash, p.key, p.value, head);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 678</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 679</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 679: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 679: statement not executed.">                        tab[index] = head;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 680</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 680: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 680: statement not executed.">                        recordModification(head);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 681</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 681: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 681: statement not executed.">                        <span class="keyword">return</span> oldValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 682</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 683</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 684</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 685</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 686</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// Wrong list or interference</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 687</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 687: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 687: statement not executed.">            <span class="keyword">return</span> sremove(key, hash);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 688</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 689</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 690</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 691</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 692</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Continuation of remove(), called only when synch lock is held and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 693</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * interference has been detected.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 694</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 695</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 696</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 696: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 696: method not entered.">    <span class="keyword">protected</span> Object sremove(Object key, <span class="keyword">int</span> hash) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 697</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 697: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 697: statement not executed.">        Entry[] tab = table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 698</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 698: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 698: statement not executed.">        <span class="keyword">int</span> index = hash & (tab.length - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 699</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 699: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 699: statement not executed.">        Entry first = tab[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 700</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 701</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 701: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 701: statement not executed.">        <span class="keyword">for</span> (Entry e = first; e != <span class="keyword">null</span>; e = e.next) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 702</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 702: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 702: statement not executed.">            <span class="keyword">if</span> (e.hash == hash && eq(key, e.key)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 703</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 703: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 703: statement not executed.">                Object oldValue = e.value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 704</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 704: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 704: statement not executed.">                e.value = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 705</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 705: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 705: statement not executed.">                count--;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 706</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 706: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 706: statement not executed.">                Entry head = e.next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 707</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 707: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 707: statement not executed.">                <span class="keyword">for</span> (Entry p = first; p != e; p = p.next)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 708</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 708: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 708: statement not executed.">                    head = <span class="keyword">new</span> Entry(p.hash, p.key, p.value, head);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 709</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 710</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 710: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 710: statement not executed.">                tab[index] = head;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 711</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 711: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 711: statement not executed.">                recordModification(head);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 712</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 712: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 712: statement not executed.">                <span class="keyword">return</span> oldValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 713</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 714</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 715</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 715: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 715: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 716</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 717</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 718</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 719</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns <tt>true</tt> if this map maps one or more keys to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 720</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * specified value. Note: This method requires a full internal traversal of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 721</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the hash table, and so is much slower than method <tt>containsKey</tt>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 722</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 723</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 724</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            value whose presence in this map is to be tested.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 725</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> <tt>true</tt> if this map maps one or more keys to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         specified value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 727</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> NullPointerException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 728</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                if the value is <code>null</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 729</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 730</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 731</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 731: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 731: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> containsValue(Object value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 732</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 732: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 732: statement not executed.">        <span class="keyword">if</span> (value == <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 733</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 733: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 733: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> NullPointerException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 734</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 735</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 735: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 735: statement not executed.">        Entry tab[] = getTableForReading();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 736</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 737</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 737: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 737: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < tab.length; ++i) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 738</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 738: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 738: statement not executed.">            <span class="keyword">for</span> (Entry e = tab[i]; e != <span class="keyword">null</span>; e = e.next)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 739</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 739: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 739: statement not executed.">                <span class="keyword">if</span> (value.equals(e.value))</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 740</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 740: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 740: statement not executed.">                    <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 741</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 742</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 743</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 743: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 743: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 744</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 745</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 746</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 747</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Tests if some key maps into the specified value in this table. This</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 748</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * operation is more expensive than the <code>containsKey</code> method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 749</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 750</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 751</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Note that this method is identical in functionality to containsValue,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 752</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * (which is part of the Map interface in the collections framework).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 753</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 754</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 755</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            a value to search for.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> <code>true</code> if and only if some key maps to the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 757</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         <code>value</code> argument in this table as determined by the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 758</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         <tt>equals</tt> method; <code>false</code> otherwise.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 759</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@exception</span> NullPointerException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 760</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *                if the value is <code>null</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 761</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #containsKey(Object)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 762</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #containsValue(Object)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 763</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> Map</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 764</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 765</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 766</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 766: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 766: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> contains(Object value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 767</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 767: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 767: statement not executed.">        <span class="keyword">return</span> containsValue(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 768</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 769</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 770</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 771</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Copies all of the mappings from the specified map to this one.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 772</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 773</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * These mappings replace any mappings that this map had for any of the keys</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 774</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * currently in the specified Map.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 775</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 776</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> t</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 777</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            Mappings to be stored in this map.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 778</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 779</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 780</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 780: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 780: method not entered.">    <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> putAll(Map t) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 781</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 781: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 781: statement not executed.">        <span class="keyword">int</span> n = t.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 782</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 782: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 782: statement not executed.">        <span class="keyword">if</span> (n == 0)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 783</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 783: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 783: statement not executed.">            <span class="keyword">return</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 784</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 785</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Expand enough to hold at least n elements without resizing.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 786</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// We can only resize table by factor of two at a time.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 787</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// It is faster to rehash with fewer elements, so do it now.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 788</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 788: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 788: statement not executed.">        <span class="keyword">while</span> (n >= threshold)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 789</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 789: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 789: statement not executed.">            rehash();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 790</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 791</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 791: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 791: statement not executed.">        <span class="keyword">for</span> (Iterator it = t.entrySet().iterator(); it.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 792</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 792: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 792: statement not executed.">            Map.Entry entry = (Map.Entry) it.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 793</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 793: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 793: statement not executed.">            Object key = entry.getKey();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 794</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 794: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 794: statement not executed.">            Object value = entry.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 795</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 795: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 795: statement not executed.">            put(key, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 796</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 797</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 798</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 799</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 800</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes all mappings from this map.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 801</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 802</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 802: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 802: method not entered.">    <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 803</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 803: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 803: statement not executed.">        Entry tab[] = table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 804</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 804: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 804: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < tab.length; ++i) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 805</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 806</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// must invalidate all to force concurrent get's to wait and then</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 807</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// retry</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 808</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 808: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 808: statement not executed.">            <span class="keyword">for</span> (Entry e = tab[i]; e != <span class="keyword">null</span>; e = e.next)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 809</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 809: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 809: statement not executed.">                e.value = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 810</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 811</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 811: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 811: statement not executed.">            tab[i] = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 812</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 813</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 813: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 813: statement not executed.">        count = 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 814</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 814: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 814: statement not executed.">        recordModification(tab);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 815</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 816</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 817</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 818</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a shallow copy of this <tt>ConcurrentReaderHashMap</tt></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 819</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * instance: the keys and values themselves are not cloned.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 820</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 821</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a shallow copy of this map.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 822</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 823</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 824</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 824: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 824: method not entered.">    <span class="keyword">public</span> <span class="keyword">synchronized</span> Object clone() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 825</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 825: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 825: statement not executed.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 826</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 826: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 826: statement not executed.">            ConcurrentReaderHashMap t = (ConcurrentReaderHashMap) <span class="keyword">super</span>.clone();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 827</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 828</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 828: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 828: statement not executed.">            t.keySet = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 829</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 829: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 829: statement not executed.">            t.entrySet = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 830</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 830: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 830: statement not executed.">            t.values = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 831</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 832</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 832: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 832: statement not executed.">            Entry[] tab = table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 833</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 833: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 833: statement not executed.">            t.table = <span class="keyword">new</span> Entry[tab.length];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 834</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 834: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 834: statement not executed.">            Entry[] ttab = t.table;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 835</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 836</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 836: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 836: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < tab.length; ++i) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 837</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 837: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 837: statement not executed.">                Entry first = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 838</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 838: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 838: statement not executed.">                <span class="keyword">for</span> (Entry e = tab[i]; e != <span class="keyword">null</span>; e = e.next)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 839</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 839: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 839: statement not executed.">                    first = <span class="keyword">new</span> Entry(e.hash, e.key, e.value, first);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 840</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 840: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 840: statement not executed.">                ttab[i] = first;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 841</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 842</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 843</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 843: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 843: statement not executed.">            <span class="keyword">return</span> t;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 844</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (CloneNotSupportedException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 845</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// this shouldn't happen, since we are Cloneable</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 846</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 846: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 846: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> InternalError();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 847</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 848</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 849</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 850</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Views</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 851</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 852</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">transient</span> Set keySet = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 853</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 854</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">transient</span> Set entrySet = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 855</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 856</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">transient</span> Collection values = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 857</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 858</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 859</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a set view of the keys contained in this map. The set is backed</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 860</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * by the map, so changes to the map are reflected in the set, and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 861</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * vice-versa. The set supports element removal, which removes the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 862</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * corresponding mapping from this map, via the <tt>Iterator.remove</tt>,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 863</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>Set.remove</tt>,<tt>removeAll</tt>,<tt>retainAll</tt>, and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 864</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>clear</tt> operations. It does not support the <tt>add</tt> or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 865</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>addAll</tt> operations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 866</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 867</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a set view of the keys contained in this map.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 868</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 869</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 870</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 870: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 870: method not entered.">    <span class="keyword">public</span> Set keySet() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 871</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 871: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 871: statement not executed.">        Set ks = keySet;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 872</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 872: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 872: statement not executed.">        <span class="keyword">return</span> (ks != <span class="keyword">null</span>) ? ks : (keySet = <span class="keyword">new</span> KeySet());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 873</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 874</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="KeySet"> 875</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> KeySet <span class="keyword">extends</span> AbstractSet {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 876</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 876: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 876: method not entered.">        <span class="keyword">public</span> Iterator iterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 877</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 877: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 877: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> KeyIterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 878</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 879</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 880</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 880: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 880: method not entered.">        <span class="keyword">public</span> <span class="keyword">int</span> size() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 881</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 881: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 881: statement not executed.">            <span class="keyword">return</span> ConcurrentReaderHashMap.<span class="keyword">this</span>.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 882</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 883</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 884</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 884: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 884: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> contains(Object o) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 885</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 885: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 885: statement not executed.">            <span class="keyword">return</span> ConcurrentReaderHashMap.<span class="keyword">this</span>.containsKey(o);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 886</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 887</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 888</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 888: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 888: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Object o) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 889</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 889: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 889: statement not executed.">            <span class="keyword">return</span> ConcurrentReaderHashMap.<span class="keyword">this</span>.remove(o) != <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 890</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 891</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 892</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 892: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 892: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 893</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 893: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 893: statement not executed.">            ConcurrentReaderHashMap.<span class="keyword">this</span>.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 894</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 895</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 896</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 897</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 898</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a collection view of the values contained in this map. The</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 899</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * collection is backed by the map, so changes to the map are reflected in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 900</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the collection, and vice-versa. The collection supports element removal,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 901</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * which removes the corresponding mapping from this map, via the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 902</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>Iterator.remove</tt>,<tt>Collection.remove</tt>,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 903</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>removeAll</tt>,<tt>retainAll</tt>, and <tt>clear</tt></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 904</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * operations. It does not support the <tt>add</tt> or <tt>addAll</tt></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 905</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * operations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 906</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 907</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a collection view of the values contained in this map.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 908</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 909</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 910</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 910: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 910: method not entered.">    <span class="keyword">public</span> Collection values() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 911</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 911: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 911: statement not executed.">        Collection vs = values;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 912</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 912: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 912: statement not executed.">        <span class="keyword">return</span> (vs != <span class="keyword">null</span>) ? vs : (values = <span class="keyword">new</span> Values());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 913</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 914</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Values"> 915</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> Values <span class="keyword">extends</span> AbstractCollection {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 916</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 916: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 916: method not entered.">        <span class="keyword">public</span> Iterator iterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 917</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 917: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 917: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> ValueIterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 918</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 919</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 920</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 920: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 920: method not entered.">        <span class="keyword">public</span> <span class="keyword">int</span> size() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 921</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 921: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 921: statement not executed.">            <span class="keyword">return</span> ConcurrentReaderHashMap.<span class="keyword">this</span>.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 922</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 923</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 924</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 924: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 924: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> contains(Object o) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 925</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 925: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 925: statement not executed.">            <span class="keyword">return</span> ConcurrentReaderHashMap.<span class="keyword">this</span>.containsValue(o);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 926</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 927</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 928</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 928: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 928: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 929</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 929: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 929: statement not executed.">            ConcurrentReaderHashMap.<span class="keyword">this</span>.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 930</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 931</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 932</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 933</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 934</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a collection view of the mappings contained in this map. Each</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 935</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element in the returned collection is a <tt>Map.Entry</tt>. The</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 936</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * collection is backed by the map, so changes to the map are reflected in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 937</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the collection, and vice-versa. The collection supports element removal,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 938</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * which removes the corresponding mapping from the map, via the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 939</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>Iterator.remove</tt>,<tt>Collection.remove</tt>,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 940</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>removeAll</tt>,<tt>retainAll</tt>, and <tt>clear</tt></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 941</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * operations. It does not support the <tt>add</tt> or <tt>addAll</tt></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 942</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * operations.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 943</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 944</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a collection view of the mappings contained in this map.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 945</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 946</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 947</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 947: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 947: method not entered.">    <span class="keyword">public</span> Set entrySet() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 948</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 948: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 948: statement not executed.">        Set es = entrySet;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 949</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 949: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 949: statement not executed.">        <span class="keyword">return</span> (es != <span class="keyword">null</span>) ? es : (entrySet = <span class="keyword">new</span> EntrySet());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 950</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 951</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="EntrySet"> 952</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">class</span> EntrySet <span class="keyword">extends</span> AbstractSet {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 953</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 953: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 953: method not entered.">        <span class="keyword">public</span> Iterator iterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 954</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 954: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 954: statement not executed.">            <span class="keyword">return</span> <span class="keyword">new</span> HashIterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 955</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 956</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 957</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 957: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 957: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> contains(Object o) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 958</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 958: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 958: statement not executed.">            <span class="keyword">if</span> (!(o <span class="keyword">instanceof</span> Map.Entry))</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 959</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 959: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 959: statement not executed.">                <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 960</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 960: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 960: statement not executed.">            Map.Entry entry = (Map.Entry) o;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 961</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 961: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 961: statement not executed.">            Object v = ConcurrentReaderHashMap.<span class="keyword">this</span>.get(entry.getKey());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 962</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 962: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 962: statement not executed.">            <span class="keyword">return</span> v != <span class="keyword">null</span> && v.equals(entry.getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 963</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 964</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 965</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 965: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 965: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Object o) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 966</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 966: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 966: statement not executed.">            <span class="keyword">if</span> (!(o <span class="keyword">instanceof</span> Map.Entry))</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 967</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 967: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 967: statement not executed.">                <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 968</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 968: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 968: statement not executed.">            <span class="keyword">return</span> ConcurrentReaderHashMap.<span class="keyword">this</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 969</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .findAndRemoveEntry((Map.Entry) o);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 970</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 971</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 972</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 972: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 972: method not entered.">        <span class="keyword">public</span> <span class="keyword">int</span> size() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 973</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 973: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 973: statement not executed.">            <span class="keyword">return</span> ConcurrentReaderHashMap.<span class="keyword">this</span>.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 974</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 975</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 976</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 976: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 976: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 977</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 977: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 977: statement not executed.">            ConcurrentReaderHashMap.<span class="keyword">this</span>.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 978</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 979</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 980</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 981</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 982</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Helper method for entrySet.remove</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 983</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 984</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 984: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 984: method not entered.">    <span class="keyword">protected</span> <span class="keyword">synchronized</span> <span class="keyword">boolean</span> findAndRemoveEntry(Map.Entry entry) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 985</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 985: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 985: statement not executed.">        Object key = entry.getKey();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 986</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 986: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 986: statement not executed.">        Object v = get(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 987</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 987: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 987: statement not executed.">        <span class="keyword">if</span> (v != <span class="keyword">null</span> && v.equals(entry.getValue())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 988</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 988: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 988: statement not executed.">            remove(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 989</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 989: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 989: statement not executed.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 990</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 991</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 991: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 991: statement not executed.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 992</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 993</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 994</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 995</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns an enumeration of the keys in this table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 996</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 997</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an enumeration of the keys in this table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 998</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> Enumeration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 999</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #elements()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1000</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #keySet()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1001</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> Map</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1002</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1003</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1003: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1003: method not entered.">    <span class="keyword">public</span> Enumeration keys() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1004</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1004: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1004: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> KeyIterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1005</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1006</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1007</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1008</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns an enumeration of the values in this table. Use the Enumeration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1009</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * methods on the returned object to fetch the elements sequentially.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1010</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1011</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> an enumeration of the values in this table.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1012</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> java.util.Enumeration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1013</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #keys()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1014</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> #values()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1015</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@see</span> Map</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1016</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1017</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1018</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1018: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1018: method not entered.">    <span class="keyword">public</span> Enumeration elements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1019</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1019: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1019: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> ValueIterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1020</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1021</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1022</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1023</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * ConcurrentReaderHashMap collision list entry.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1024</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1025</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="Entry"> 1026</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">class</span> Entry <span class="keyword">implements</span> Map.Entry {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1027</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1028</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1029</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * The use of volatile for value field ensures that we can detect status</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1030</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * changes without synchronization. The other fields are never changed,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1031</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * and are marked as final.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1032</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1033</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1034</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> final <span class="keyword">int</span> hash;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1035</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1036</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> final Object key;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1037</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1038</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> final Entry next;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1039</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1040</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> <span class="keyword">volatile</span> Object value;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1041</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1042</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1042: method entered 22740 times."> 22740</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1042: method entered 22740 times.">        Entry(<span class="keyword">int</span> hash, Object key, Object value, Entry next) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1043</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1043: statement executed 22740 times."> 22740</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1043: statement executed 22740 times.">            <span class="keyword">this</span>.hash = hash;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1044</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1044: statement executed 22740 times."> 22740</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1044: statement executed 22740 times.">            <span class="keyword">this</span>.key = key;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1045</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1045: statement executed 22740 times."> 22740</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1045: statement executed 22740 times.">            <span class="keyword">this</span>.next = next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1046</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1046: statement executed 22740 times."> 22740</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1046: statement executed 22740 times.">            <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1047</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1048</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1049</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Map.Entry Ops</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1050</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1051</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1051: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1051: method not entered.">        <span class="keyword">public</span> Object getKey() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1052</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1052: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1052: statement not executed.">            <span class="keyword">return</span> key;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1053</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1054</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1055</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1056</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * Get the value. Note: In an entrySet or entrySet.iterator, unless the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1057</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * set or iterator is used under synchronization of the table as a whole</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1058</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * (or you can otherwise guarantee lack of concurrent modification),</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1059</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * <tt>getValue</tt> <em>might</em> return null, reflecting the fact</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1060</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * that the entry has been concurrently removed. However, there are no</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1061</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * assurances that concurrent removals will be reflected using this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1062</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * method.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1063</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1064</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * <span class="javadoc">@return</span> the current value, or null if the entry has been detectably</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1065</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         *         removed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1066</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1067</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1067: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1067: method not entered.">        <span class="keyword">public</span> Object getValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1068</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1068: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1068: statement not executed.">            <span class="keyword">return</span> value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1069</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1070</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1071</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1072</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * Set the value of this entry. Note: In an entrySet or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1073</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * entrySet.iterator), unless the set or iterator is used under</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1074</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * synchronization of the table as a whole (or you can otherwise</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1075</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * guarantee lack of concurrent modification), <tt>setValue</tt> is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1076</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * not strictly guaranteed to actually replace the value field obtained</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1077</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * via the <tt>get</tt> operation of the underlying hash table in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1078</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * multithreaded applications. If iterator-wide synchronization is not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1079</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * used, and any other concurrent <tt>put</tt> or <tt>remove</tt></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1080</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * operations occur, sometimes even to <em>other</em> entries, then</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1081</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * this change is not guaranteed to be reflected in the hash table. (It</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1082</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * might, or it might not. There are no assurances either way.)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1083</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1084</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1085</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         *            the new value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1086</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * <span class="javadoc">@return</span> the previous value, or null if entry has been detectably</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1087</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         *         removed.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1088</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * <span class="javadoc">@exception</span> NullPointerException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1089</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         *                if the value is <code>null</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1090</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1091</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">         */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1092</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1093</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1093: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1093: method not entered.">        <span class="keyword">public</span> Object setValue(Object value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1094</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1094: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1094: statement not executed.">            <span class="keyword">if</span> (value == <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1095</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1095: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1095: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> NullPointerException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1096</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1096: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1096: statement not executed.">            Object oldValue = <span class="keyword">this</span>.value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1097</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1097: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1097: statement not executed.">            <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1098</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1098: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1098: statement not executed.">            <span class="keyword">return</span> oldValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1099</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1101: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> equals(Object o) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1102: statement not executed.">            <span class="keyword">if</span> (!(o <span class="keyword">instanceof</span> Map.Entry))</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1103: statement not executed.">                <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1104</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1104: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1104: statement not executed.">            Map.Entry e = (Map.Entry) o;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1105: statement not executed.">            <span class="keyword">return</span> (key.equals(e.getKey()) && value.equals(e.getValue()));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1108: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1108: method not entered.">        <span class="keyword">public</span> <span class="keyword">int</span> hashCode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1109</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1109: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1109: statement not executed.">            <span class="keyword">return</span> key.hashCode() ^ value.hashCode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1112: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1112: method not entered.">        <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1113: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1113: statement not executed.">            <span class="keyword">return</span> key + <span class="string">"="</span> + value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="HashIterator"> 1118</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">class</span> HashIterator <span class="keyword">implements</span> Iterator, Enumeration {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> final Entry[] tab; <span class="comment">// snapshot of table</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> <span class="keyword">int</span> index; <span class="comment">// current slot</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> Entry entry = <span class="keyword">null</span>; <span class="comment">// current node of slot</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> Object currentKey; <span class="comment">// key for current node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> Object currentValue; <span class="comment">// value for current node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="keyword">protected</span> Entry lastReturned = <span class="keyword">null</span>; <span class="comment">// last node returned by next</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1131: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1131: method not entered.">        <span class="keyword">protected</span> HashIterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1132: statement not executed.">            tab = ConcurrentReaderHashMap.<span class="keyword">this</span>.getTableForReading();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1133</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1133: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1133: statement not executed.">            index = tab.length - 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1136: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1136: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> hasMoreElements() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1137: statement not executed.">            <span class="keyword">return</span> hasNext();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1140: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1140: method not entered.">        <span class="keyword">public</span> Object nextElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1141: statement not executed.">            <span class="keyword">return</span> next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1144: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1144: method not entered.">        <span class="keyword">public</span> <span class="keyword">boolean</span> hasNext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * currentkey and currentValue are set here to ensure that next()</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * returns normally if hasNext() returns true. This avoids surprises</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * especially when final element is removed during traversal --</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             * instead, we just ignore the removal during current traversal.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">             */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1153: statement not executed.">            <span class="keyword">for</span> (;;) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1154: statement not executed.">                <span class="keyword">if</span> (entry != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1155: statement not executed.">                    Object v = entry.value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1156: statement not executed.">                    <span class="keyword">if</span> (v != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1157: statement not executed.">                        currentKey = entry.key;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1158: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1158: statement not executed.">                        currentValue = v;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1159: statement not executed.">                        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    } <span class="keyword">else</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1161: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1161: statement not executed.">                        entry = entry.next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1164: statement not executed.">                <span class="keyword">while</span> (entry == <span class="keyword">null</span> && index >= 0)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1165: statement not executed.">                    entry = tab[index--];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1167: statement not executed.">                <span class="keyword">if</span> (entry == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1168</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1168: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1168: statement not executed.">                    currentKey = currentValue = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1169: statement not executed.">                    <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1174: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1174: method not entered.">        <span class="keyword">protected</span> Object returnValueOfNext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1175: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1175: statement not executed.">            <span class="keyword">return</span> entry;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1178</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1178: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1178: method not entered.">        <span class="keyword">public</span> Object next() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1179: statement not executed.">            <span class="keyword">if</span> (currentKey == <span class="keyword">null</span> && !hasNext())</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1180: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> NoSuchElementException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1182</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1182: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1182: statement not executed.">            Object result = returnValueOfNext();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1183</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1183: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1183: statement not executed.">            lastReturned = entry;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1184: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1184: statement not executed.">            currentKey = currentValue = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1185</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1185: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1185: statement not executed.">            entry = entry.next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1186</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1186: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1186: statement not executed.">            <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1189: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1189: method not entered.">        <span class="keyword">public</span> <span class="keyword">void</span> remove() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1190</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1190: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1190: statement not executed.">            <span class="keyword">if</span> (lastReturned == <span class="keyword">null</span>)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1191: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1191: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> IllegalStateException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1192: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1192: statement not executed.">            ConcurrentReaderHashMap.<span class="keyword">this</span>.remove(lastReturned.key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1193: statement not executed.">            lastReturned = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="KeyIterator"> 1198</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">class</span> KeyIterator <span class="keyword">extends</span> HashIterator {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1199: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1199: method not entered.">        <span class="keyword">protected</span> Object returnValueOfNext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1200</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1200: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1200: statement not executed.">            <span class="keyword">return</span> currentKey;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ValueIterator"> 1204</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">class</span> ValueIterator <span class="keyword">extends</span> HashIterator {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1205: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1205: method not entered.">        <span class="keyword">protected</span> Object returnValueOfNext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1206: statement not executed.">            <span class="keyword">return</span> currentValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Save the state of the <tt>ConcurrentReaderHashMap</tt> instance to a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * stream (i.e., serialize it).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * @serialData The <i>capacity </i> of the ConcurrentReaderHashMap (the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             length of the bucket array) is emitted (int), followed by the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             <i>size </i> of the ConcurrentReaderHashMap (the number of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             key-value mappings), followed by the key (Object) and value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             (Object) for each key-value mapping represented by the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             ConcurrentReaderHashMap The key-value mappings are emitted in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             no particular order.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1223</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1223: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1223: method not entered.">    <span class="keyword">private</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> writeObject(java.io.ObjectOutputStream s)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Write out the threshold, loadfactor, and any hidden stuff</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1226: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1226: statement not executed.">        s.defaultWriteObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Write out number of buckets</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1229</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1229: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1229: statement not executed.">        s.writeInt(table.length);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Write out size (number of Mappings)</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1232</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1232: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1232: statement not executed.">        s.writeInt(count);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Write out keys and values (alternating)</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1235: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1235: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> index = table.length - 1; index >= 0; index--) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1236</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1236: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1236: statement not executed.">            Entry entry = table[index];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1238: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1238: statement not executed.">            <span class="keyword">while</span> (entry != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1239</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1239: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1239: statement not executed.">                s.writeObject(entry.key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1240</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1240: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1240: statement not executed.">                s.writeObject(entry.value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1241: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1241: statement not executed.">                entry = entry.next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Reconstitute the <tt>ConcurrentReaderHashMap</tt> instance from a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * stream (i.e., deserialize it).</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1250</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1250: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1250: method not entered.">    <span class="keyword">private</span> <span class="keyword">synchronized</span> <span class="keyword">void</span> readObject(java.io.ObjectInputStream s)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> IOException, ClassNotFoundException {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Read in the threshold, loadfactor, and any hidden stuff</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1253</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1253: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1253: statement not executed.">        s.defaultReadObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Read in number of buckets and allocate the bucket array;</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1256</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1256: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1256: statement not executed.">        <span class="keyword">int</span> numBuckets = s.readInt();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1257</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1257: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1257: statement not executed.">        table = <span class="keyword">new</span> Entry[numBuckets];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Read in size (number of Mappings)</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1260: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1260: statement not executed.">        <span class="keyword">int</span> size = s.readInt();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// Read the keys and values, and put the mappings in the table</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1263</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1263: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1263: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1264</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1264: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1264: statement not executed.">            Object key = s.readObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1265</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1265: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1265: statement not executed.">            Object value = s.readObject();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1266</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1266: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1266: statement not executed.">            put(key, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Return the number of slots in this table</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1274: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1274: method not entered.">    <span class="keyword">public</span> <span class="keyword">synchronized</span> <span class="keyword">int</span> capacity() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1275</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1275: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1275: statement not executed.">        <span class="keyword">return</span> table.length;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Return the load factor</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1281</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1281: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1281: method not entered.">    <span class="keyword">public</span> <span class="keyword">float</span> loadFactor() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1282</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1282: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1282: statement not executed.">        <span class="keyword">return</span> loadFactor;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/ContentListFacade.html b/docs/clover/org/dom4j/tree/ContentListFacade.html
new file mode 100644
index 0000000..57f98c4
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/ContentListFacade.html
@@ -0,0 +1,953 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ ContentListFacade.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ContentListFacade.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">200</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">21</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">105</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ContentListFacade.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">8,3%</TD>
+    <TD class="graphPercent" align="center">27,9%</TD>
+    <TD class="graphPercent" align="center">38,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>27,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="55" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="145" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.AbstractList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Collection;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.IllegalAddException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ContentListFacade</code> represents a facade of the content of a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link org.dom4j.Branch} which is returned via calls to the {@link</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * org.dom4j.Branch#content}  method to allow users to modify the content of a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link org.dom4j.Branch} directly using the {@link List} interface. This list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * is backed by the branch such that changes to the list will be reflected in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the branch and changes to the branch will be reflected in this list.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.11 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ContentListFacade"> 31</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> ContentListFacade <span class="keyword">extends</span> AbstractList {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The content of the Branch which is modified if I am modified */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List branchContent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>AbstractBranch</code> instance which owns the content */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> AbstractBranch branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: method entered 5000 times."> 5000</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: method entered 5000 times.">    <span class="keyword">public</span> ContentListFacade(AbstractBranch branch, List branchContent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 5000 times."> 5000</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 5000 times.">        <span class="keyword">this</span>.branch = branch;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 5000 times."> 5000</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 5000 times.">        <span class="keyword">this</span>.branchContent = branchContent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> add(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        branch.childAdded(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">return</span> branchContent.add(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(<span class="keyword">int</span> index, Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 6 times.">        branch.childAdded(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: statement executed 6 times.">        branchContent.add(index, object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: method entered 1 time.">    <span class="keyword">public</span> Object set(<span class="keyword">int</span> index, Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 1 time.">        branch.childAdded(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 1 time.">        <span class="keyword">return</span> branchContent.set(index, object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">        branch.childRemoved(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        <span class="keyword">return</span> branchContent.remove(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: method not entered.">    <span class="keyword">public</span> Object remove(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        Object object = branchContent.remove(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">if</span> (object != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">            branch.childRemoved(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">return</span> object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> addAll(Collection collection) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        <span class="keyword">int</span> count = branchContent.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">for</span> (Iterator iter = collection.iterator(); iter.hasNext(); count++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">            add(iter.next());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        <span class="keyword">return</span> count == branchContent.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> addAll(<span class="keyword">int</span> index, Collection collection) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">        <span class="keyword">int</span> count = branchContent.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">for</span> (Iterator iter = collection.iterator(); iter.hasNext(); count--) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">            add(index++, iter.next());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">        <span class="keyword">return</span> count == branchContent.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">        <span class="keyword">for</span> (Iterator iter = iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">            Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">            branch.childRemoved(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        branchContent.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> removeAll(Collection c) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">for</span> (Iterator iter = c.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">            Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">            branch.childRemoved(asNode(object));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">        <span class="keyword">return</span> branchContent.removeAll(c);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: method entered 5168 times."> 5168</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: method entered 5168 times.">    <span class="keyword">public</span> <span class="keyword">int</span> size() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 5168 times."> 5168</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 5168 times.">        <span class="keyword">return</span> branchContent.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isEmpty() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">        <span class="keyword">return</span> branchContent.isEmpty();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 122: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 122: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> contains(Object o) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">        <span class="keyword">return</span> branchContent.contains(o);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: method not entered.">    <span class="keyword">public</span> Object[] toArray() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        <span class="keyword">return</span> branchContent.toArray();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: method not entered.">    <span class="keyword">public</span> Object[] toArray(Object[] a) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: statement not executed.">        <span class="keyword">return</span> branchContent.toArray(a);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> containsAll(Collection c) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">        <span class="keyword">return</span> branchContent.containsAll(c);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 138: method entered 13434 times."> 13434</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 138: method entered 13434 times.">    <span class="keyword">public</span> Object get(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 139: statement executed 13434 times."> 13434</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 139: statement executed 13434 times.">        <span class="keyword">return</span> branchContent.get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 142: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 142: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">int</span> indexOf(Object o) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: statement executed 3 times.">        <span class="keyword">return</span> branchContent.indexOf(o);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> lastIndexOf(Object o) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: statement not executed.">        <span class="keyword">return</span> branchContent.lastIndexOf(o);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: method entered 7 times.">    <span class="keyword">protected</span> Node asNode(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: expression evaluated to true 7 times, false 0 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: expression evaluated to true 7 times, false 0 times.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 7 times.">            <span class="keyword">return</span> (Node) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"This list must contain instances of "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + <span class="string">"Node. Invalid type: "</span> + object);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: method entered 3 times.">    <span class="keyword">protected</span> List getBackingList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: statement executed 3 times.">        <span class="keyword">return</span> branchContent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultAttribute.html b/docs/clover/org/dom4j/tree/DefaultAttribute.html
new file mode 100644
index 0000000..5cf1bfc
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultAttribute.html
@@ -0,0 +1,685 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultAttribute.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultAttribute.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">143</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">11</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">43</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultAttribute.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">46,2%</TD>
+    <TD class="graphPercent" align="center">54,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>50%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultAttribute</code> implements a doubly linked node which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * supports the parent relationship and is mutable.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.13 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultAttribute"> 23</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultAttribute <span class="keyword">extends</span> FlyweightAttribute {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The parent of this node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 27: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 27: method not entered.">    <span class="keyword">public</span> DefaultAttribute(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 28: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 28: statement not executed.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: method entered 14283 times."> 14283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: method entered 14283 times.">    <span class="keyword">public</span> DefaultAttribute(QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: statement executed 14283 times."> 14283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: statement executed 14283 times.">        <span class="keyword">super</span>(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: method not entered.">    <span class="keyword">public</span> DefaultAttribute(Element parent, QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        <span class="keyword">super</span>(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Attribute</code> with the specified local name and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the value of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> DefaultAttribute(String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">super</span>(name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Attribute</code> with the specified local name, value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * and <code>Namespace</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the value of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the namespace of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: method not entered.">    <span class="keyword">public</span> DefaultAttribute(String name, String value, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        <span class="keyword">super</span>(name, value, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Attribute</code> with the specified local name, value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * and <code>Namespace</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the parent element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the value of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the namespace of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> DefaultAttribute(Element parent, String name, String value,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Namespace namespace) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        <span class="keyword">super</span>(name, value, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 87: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 87: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setValue(String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: statement executed 1 time.">        <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: method entered 10781 times."> 10781</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: method entered 10781 times.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 10781 times."> 10781</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 10781 times.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: method entered 14289 times."> 14289</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: method entered 14289 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 14289 times."> 14289</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 14289 times.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: method entered 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: method entered 70 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: statement executed 70 times."> 70</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: statement executed 70 times.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 1 time.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultCDATA.html b/docs/clover/org/dom4j/tree/DefaultCDATA.html
new file mode 100644
index 0000000..9f93824
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultCDATA.html
@@ -0,0 +1,524 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultCDATA.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultCDATA.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">105</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">27</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultCDATA.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>26,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="53" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="147" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultCDATA</code> is the default CDATA implementation. It is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * doubly linked node which supports the parent relationship and can be modified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * in place.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.12 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultCDATA"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultCDATA <span class="keyword">extends</span> FlyweightCDATA {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The parent of this node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the CDATA text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: method entered 105 times."> 105</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: method entered 105 times.">    <span class="keyword">public</span> DefaultCDATA(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: statement executed 105 times."> 105</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: statement executed 105 times.">        <span class="keyword">super</span>(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the parent element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the CDATA text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> DefaultCDATA(Element parent, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">super</span>(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: method not entered.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 102 times."> 102</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 102 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 102 times."> 102</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 102 times.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultComment.html b/docs/clover/org/dom4j/tree/DefaultComment.html
new file mode 100644
index 0000000..729153d
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultComment.html
@@ -0,0 +1,524 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultComment.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultComment.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">105</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">27</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultComment.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">57,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>53,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="106" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="94" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultComment</code> is the default Comment implementation. It is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * doubly linked node which supports the parent relationship and can be modified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * in place.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.11 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultComment"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultComment <span class="keyword">extends</span> FlyweightComment {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The parent of this node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Comment text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: method entered 515 times."> 515</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: method entered 515 times.">    <span class="keyword">public</span> DefaultComment(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: statement executed 515 times."> 515</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: statement executed 515 times.">        <span class="keyword">super</span>(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the parent element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Comment text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> DefaultComment(Element parent, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">super</span>(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: method entered 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: method entered 58 times.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 58 times.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 497 times."> 497</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 497 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 497 times."> 497</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 497 times.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: method entered 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: method entered 3 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 3 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultDocument.html b/docs/clover/org/dom4j/tree/DefaultDocument.html
new file mode 100644
index 0000000..255dd87
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultDocument.html
@@ -0,0 +1,1707 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultDocument.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultDocument.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">369</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">29</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">229</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultDocument.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">30,8%</TD>
+    <TD class="graphPercent" align="center">52,2%</TD>
+    <TD class="graphPercent" align="center">72,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>49,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="98" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="102" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Collections;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.IllegalAddException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.EntityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultDocument</code> is the default DOM4J default implementation of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * an XML document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.34 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultDocument"> 33</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultDocument <span class="keyword">extends</span> AbstractDocument {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final List EMPTY_LIST = Collections.EMPTY_LIST;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final Iterator EMPTY_ITERATOR = EMPTY_LIST.iterator();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The name of the document */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String name;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The root element of this document */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element rootElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Store the contents of the document as a lazily created <code>List</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List content;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The document type for this document */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentType docType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The document factory used by default */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory documentFactory = DocumentFactory.getInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The resolver of URIs */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">transient</span> EntityResolver entityResolver;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: method entered 6280 times."> 6280</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: method entered 6280 times.">    <span class="keyword">public</span> DefaultDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: method entered 2 times.">    <span class="keyword">public</span> DefaultDocument(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: statement executed 2 times.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: method entered 1 time.">    <span class="keyword">public</span> DefaultDocument(Element rootElement) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 1 time.">        <span class="keyword">this</span>.rootElement = rootElement;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: method not entered.">    <span class="keyword">public</span> DefaultDocument(DocumentType docType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        <span class="keyword">this</span>.docType = docType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: method not entered.">    <span class="keyword">public</span> DefaultDocument(Element rootElement, DocumentType docType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">        <span class="keyword">this</span>.rootElement = rootElement;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        <span class="keyword">this</span>.docType = docType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> DefaultDocument(String name, Element rootElement,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            DocumentType docType) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">this</span>.rootElement = rootElement;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">this</span>.docType = docType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: method entered 213 times."> 213</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: method entered 213 times.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 213 times."> 213</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 213 times.">        <span class="keyword">return</span> name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: method entered 5846 times."> 5846</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: method entered 5846 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 5846 times."> 5846</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 5846 times.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: method entered 12696 times."> 12696</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: method entered 12696 times.">    <span class="keyword">public</span> Element getRootElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 12696 times."> 12696</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 12696 times.">        <span class="keyword">return</span> rootElement;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: method entered 399 times."> 399</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: method entered 399 times.">    <span class="keyword">public</span> DocumentType getDocType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: statement executed 399 times."> 399</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: statement executed 399 times.">        <span class="keyword">return</span> docType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: method entered 11 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocType(DocumentType docType) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 11 times.">        <span class="keyword">this</span>.docType = docType;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 105: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: method entered 11 times.">    <span class="keyword">public</span> Document addDocType(String docTypeName, String publicId,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String systemId) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: statement executed 11 times.">        setDocType(getDocumentFactory().createDocType(docTypeName, publicId,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                systemId));</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: statement executed 11 times.">        <span class="keyword">return</span> <span class="keyword">this</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: method entered 5563 times."> 5563</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: method entered 5563 times.">    <span class="keyword">public</span> String getXMLEncoding() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: statement executed 5563 times."> 5563</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: statement executed 5563 times.">        <span class="keyword">return</span> encoding;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: method entered 2 times.">    <span class="keyword">public</span> EntityResolver getEntityResolver() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 118: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: statement executed 2 times.">        <span class="keyword">return</span> entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 121: method entered 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 121: method entered 5814 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setEntityResolver(EntityResolver entityResolver) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 5814 times."> 5814</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 5814 times.">        <span class="keyword">this</span>.entityResolver = entityResolver;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: method entered 9 times.">    <span class="keyword">public</span> Object clone() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: statement executed 9 times.">        DefaultDocument document = (DefaultDocument) <span class="keyword">super</span>.clone();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 9 times.">        document.rootElement = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 9 times.">        document.content = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 9 times.">        document.appendContent(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: statement executed 9 times.">        <span class="keyword">return</span> document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: method not entered.">    <span class="keyword">public</span> List processingInstructions() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">        List source = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">        List answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">int</span> size = source.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: statement not executed.">            Object object = source.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: statement not executed.">                answer.add(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: method not entered.">    <span class="keyword">public</span> List processingInstructions(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 151: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 151: statement not executed.">        List source = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">        List answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">        <span class="keyword">int</span> size = source.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">            Object object = source.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 158: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 158: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">                ProcessingInstruction pi = (ProcessingInstruction) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: statement not executed.">                <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: statement not executed.">                    answer.add(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 167: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 167: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: method not entered.">    <span class="keyword">public</span> ProcessingInstruction processingInstruction(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 171: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 171: statement not executed.">        List source = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">        <span class="keyword">int</span> size = source.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: statement not executed.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: statement not executed.">            Object object = source.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 178: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 178: statement not executed.">                ProcessingInstruction pi = (ProcessingInstruction) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">                <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">                    <span class="keyword">return</span> pi;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 186: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 186: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> removeProcessingInstruction(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 190: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 190: statement not executed.">        List source = contentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 192: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 192: statement not executed.">        <span class="keyword">for</span> (Iterator iter = source.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 193: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 193: statement not executed.">            Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">            <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">                ProcessingInstruction pi = (ProcessingInstruction) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 198: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 198: statement not executed.">                <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">                    iter.remove();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 201: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 201: statement not executed.">                    <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 209: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 209: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setContent(List content) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 210: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: statement executed 1 time.">        rootElement = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 1 time.">        contentRemoved();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: expression evaluated to true 1 time, false 0 times.">        <span class="keyword">if</span> (content <span class="keyword">instanceof</span> ContentListFacade) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 214: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 214: statement executed 1 time.">            content = ((ContentListFacade) content).getBackingList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 217: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 217: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> (content == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 218: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 218: statement not executed.">            <span class="keyword">this</span>.content = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 220: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 220: statement executed 1 time.">            <span class="keyword">int</span> size = content.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 221: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 221: statement executed 1 time.">            List newContent = createContentList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 223: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 223: statement executed 1 time.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 224: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 224: statement executed 1 time.">                Object object = content.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 226: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 226: expression evaluated to true 1 time, false 0 times.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 227: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 227: statement executed 1 time.">                    Node node = (Node) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 228: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 228: statement executed 1 time.">                    Document doc = node.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: expression evaluated to true 1 time, false 0 times.">                    <span class="keyword">if</span> ((doc != <span class="keyword">null</span>) && (doc != <span class="keyword">this</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 231: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 231: statement executed 1 time.">                        node = (Node) node.clone();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 234: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 234: expression evaluated to true 1 time, false 0 times.">                    <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: expression evaluated to true 1 time, false 0 times.">                        <span class="keyword">if</span> (rootElement == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 236: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 236: statement executed 1 time.">                            rootElement = (Element) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 238: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 238: statement not executed.">                            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                    <span class="string">"A document may only "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                            + <span class="string">"contain one root "</span> + <span class="string">"element: "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                            + content);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 245: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 245: statement executed 1 time.">                    newContent.add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 246: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 246: statement executed 1 time.">                    childAdded(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 250: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 250: statement executed 1 time.">            <span class="keyword">this</span>.content = newContent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 254: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 254: method entered 5 times.">    <span class="keyword">public</span> <span class="keyword">void</span> clearContent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 255: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: statement executed 5 times.">        contentRemoved();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 256: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 256: statement executed 5 times.">        content = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 257: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 5 times.">        rootElement = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 260: method entered 6286 times."> 6286</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 260: method entered 6286 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 261: statement executed 6286 times."> 6286</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 261: statement executed 6286 times.">        <span class="keyword">this</span>.documentFactory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 266: method entered 7474 times."> 7474</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 266: method entered 7474 times.">    <span class="keyword">protected</span> List contentList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 267: statement executed 7474 times."> 7474</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 267: statement executed 7474 times.">        <span class="keyword">if</span> (content == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 268: statement executed 6296 times."> 6296</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 268: statement executed 6296 times.">            content = createContentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: statement executed 6296 times."> 6296</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: statement executed 6296 times.">            <span class="keyword">if</span> (rootElement != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: statement executed 1 time.">                content.add(rootElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 275: statement executed 7474 times."> 7474</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 275: statement executed 7474 times.">        <span class="keyword">return</span> content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 278: method entered 6340 times."> 6340</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 278: method entered 6340 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 279: expression evaluated to true 6340 times, false 0 times."> 6340</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: expression evaluated to true 6340 times, false 0 times.">        <span class="keyword">if</span> (node != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 280: statement executed 6340 times."> 6340</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 280: statement executed 6340 times.">            Document document = node.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 282: expression evaluated to true 0 times, false 6340 times."> 6340</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 282: expression evaluated to true 0 times, false 6340 times.">            <span class="keyword">if</span> ((document != <span class="keyword">null</span>) && (document != <span class="keyword">this</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// XXX: could clone here</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 284: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 284: statement not executed.">                String message = <span class="string">"The Node already has an existing document: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + document;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 286</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 286: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 286: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="keyword">this</span>, node, message);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 289</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 289: statement executed 6340 times."> 6340</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 289: statement executed 6340 times.">            contentList().add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 290</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 290: statement executed 6340 times."> 6340</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 290: statement executed 6340 times.">            childAdded(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 294</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 294: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 294: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> addNode(<span class="keyword">int</span> index, Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 295: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 295: statement not executed.">        <span class="keyword">if</span> (node != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 296: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 296: statement not executed.">            Document document = node.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 298: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 298: statement not executed.">            <span class="keyword">if</span> ((document != <span class="keyword">null</span>) && (document != <span class="keyword">this</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// XXX: could clone here</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 300: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: statement not executed.">                String message = <span class="string">"The Node already has an existing document: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        + document;</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 302: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 302: statement not executed.">                <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="keyword">this</span>, node, message);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 305: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 305: statement not executed.">            contentList().add(index, node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 306</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 306: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 306: statement not executed.">            childAdded(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 310: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 310: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> removeNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 311</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 311: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 311: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> (node == rootElement) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 312: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 312: statement executed 2 times.">            rootElement = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 315: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 315: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> (contentList().remove(node)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 316</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 316: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 316: statement executed 2 times.">            childRemoved(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 318: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 318: statement executed 2 times.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 321</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 321: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 321: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 324</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 324: method entered 6291 times."> 6291</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 324: method entered 6291 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> rootElementAdded(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 325</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 325: statement executed 6291 times."> 6291</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 325: statement executed 6291 times.">        <span class="keyword">this</span>.rootElement = element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 326</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 326: statement executed 6291 times."> 6291</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 326: statement executed 6291 times.">        element.setDocument(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 329</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 329: method entered 6797 times."> 6797</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 329: method entered 6797 times.">    <span class="keyword">protected</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 330</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 330: statement executed 6797 times."> 6797</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 330: statement executed 6797 times.">        <span class="keyword">return</span> documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 368</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultDocumentType.html b/docs/clover/org/dom4j/tree/DefaultDocumentType.html
new file mode 100644
index 0000000..bfb1384
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultDocumentType.html
@@ -0,0 +1,813 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultDocumentType.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultDocumentType.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">174</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">13</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">51</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultDocumentType.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">73,3%</TD>
+    <TD class="graphPercent" align="center">76,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>75%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="150" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="50" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultDocumentType</code> is the DOM4J default implementation of an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * XML document type.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultDocumentType"> 21</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultDocumentType <span class="keyword">extends</span> AbstractDocumentType {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The root element name of the document typ */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String elementName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property publicID. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String publicID;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Holds value of property systemID. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String systemID;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The internal DTD declarations */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List internalDeclarations;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The external DTD declarations */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> List externalDeclarations;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: method entered 1 time.">    <span class="keyword">public</span> DefaultDocumentType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will create a new <code>DocumentType</code> with a reference to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the external DTD</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the root element name of the document type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the system ID of the external DTD</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: method not entered.">    <span class="keyword">public</span> DefaultDocumentType(String elementName, String systemID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">this</span>.elementName = elementName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">        <span class="keyword">this</span>.systemID = systemID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will create a new <code>DocumentType</code> with a reference to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * the external DTD</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> elementName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the root element name of the document type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> publicID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the public ID of the DTD</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the system ID of the DTD</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: method entered 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: method entered 13 times.">    <span class="keyword">public</span> DefaultDocumentType(String elementName, String publicID,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String systemID) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: statement executed 13 times.">        <span class="keyword">this</span>.elementName = elementName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 72: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 72: statement executed 13 times.">        <span class="keyword">this</span>.publicID = publicID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 13 times.">        <span class="keyword">this</span>.systemID = systemID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: method entered 9 times.">    <span class="keyword">public</span> String getElementName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 77: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 77: statement executed 9 times.">        <span class="keyword">return</span> elementName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setElementName(String elementName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 1 time.">        <span class="keyword">this</span>.elementName = elementName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the public ID of the document type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: method entered 9 times.">    <span class="keyword">public</span> String getPublicID() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 9 times.">        <span class="keyword">return</span> publicID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the public ID of the document type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> publicID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setPublicID(String publicID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">        <span class="keyword">this</span>.publicID = publicID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the system ID of the document type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: method entered 9 times.">    <span class="keyword">public</span> String getSystemID() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: statement executed 9 times.">        <span class="keyword">return</span> systemID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sets the system ID of the document type</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> systemID</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setSystemID(String systemID) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">        <span class="keyword">this</span>.systemID = systemID;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: method entered 8 times.">    <span class="keyword">public</span> List getInternalDeclarations() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 8 times.">        <span class="keyword">return</span> internalDeclarations;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setInternalDeclarations(List internalDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 6 times.">        <span class="keyword">this</span>.internalDeclarations = internalDeclarations;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: method entered 6 times.">    <span class="keyword">public</span> List getExternalDeclarations() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: statement executed 6 times.">        <span class="keyword">return</span> externalDeclarations;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 134: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 134: method entered 5 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setExternalDeclarations(List externalDeclarations) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 5 times.">        <span class="keyword">this</span>.externalDeclarations = externalDeclarations;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultElement.html b/docs/clover/org/dom4j/tree/DefaultElement.html
new file mode 100644
index 0000000..df97af6
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultElement.html
@@ -0,0 +1,4799 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultElement.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultElement.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.055</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">49</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">727</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultElement.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">59,8%</TD>
+    <TD class="graphPercent" align="center">68,3%</TD>
+    <TD class="graphPercent" align="center">75,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>65,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="131" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="69" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.IllegalAddException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultElement</code> is the default DOM4J default implementation of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * an XML element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.59 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultElement"> 34</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultElement <span class="keyword">extends</span> AbstractElement {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>DocumentFactory</code> instance used by default */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final <span class="keyword">transient</span> DocumentFactory DOCUMENT_FACTORY = </SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            DocumentFactory.getInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>QName</code> for this element */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName qname;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Stores the parent branch of this node which is either a Document if this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * element is the root element in a document, or another Element if it is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * child of the root document, or null if it has not been added to a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * document yet.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Branch parentBranch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Stores null for no content, a Node for a single content node or a List</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for multiple content nodes. The List will be lazily constructed when</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * required.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object content;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Lazily constructes list of attributes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object attributes;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: method entered 1 time.">    <span class="keyword">public</span> DefaultElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 1 time.">        <span class="keyword">this</span>.qname = DOCUMENT_FACTORY.createQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: method entered 96007 times."> 96007</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: method entered 96007 times.">    <span class="keyword">public</span> DefaultElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 96007 times."> 96007</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 96007 times.">        <span class="keyword">this</span>.qname = qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> DefaultElement(QName qname, <span class="keyword">int</span> attributeCount) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">this</span>.qname = qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        <span class="keyword">if</span> (attributeCount > 1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: statement not executed.">            <span class="keyword">this</span>.attributes = <span class="keyword">new</span> ArrayList(attributeCount);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: method not entered.">    <span class="keyword">public</span> DefaultElement(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: statement not executed.">        <span class="keyword">this</span>.qname = DOCUMENT_FACTORY.createQName(name, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: method entered 131539 times."> 131539</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: method entered 131539 times.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 131539 times."> 131539</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 131539 times.">        Element result = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: statement executed 131539 times."> 131539</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: statement executed 131539 times.">        <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 35288 times."> 35288</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 35288 times.">            result = (Element) parentBranch;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 87: statement executed 131539 times."> 131539</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 87: statement executed 131539 times.">        <span class="keyword">return</span> result;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: method entered 94507 times."> 94507</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: method entered 94507 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: statement executed 94507 times."> 94507</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: statement executed 94507 times.">        <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Element || (parent != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 92978 times."> 92978</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 92978 times.">            parentBranch = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: method entered 13010 times."> 13010</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: method entered 13010 times.">    <span class="keyword">public</span> Document getDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: statement executed 13010 times."> 13010</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: statement executed 13010 times.">        <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: statement executed 6597 times."> 6597</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: statement executed 6597 times.">            <span class="keyword">return</span> (Document) parentBranch;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 6413 times."> 6413</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 6413 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: statement executed 117 times."> 117</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: statement executed 117 times.">            Element parent = (Element) parentBranch;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 117 times."> 117</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 117 times.">            <span class="keyword">return</span> parent.getDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 105: statement executed 6296 times."> 6296</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 105: statement executed 6296 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: method entered 15752 times."> 15752</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: method entered 15752 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocument(Document document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 109</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 109: statement executed 15752 times."> 15752</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 109: statement executed 15752 times.">        <span class="keyword">if</span> (parentBranch <span class="keyword">instanceof</span> Document || (document != <span class="keyword">null</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: statement executed 12600 times."> 12600</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: statement executed 12600 times.">            parentBranch = document;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: method entered 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: method entered 10 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 10 times.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 118: method entered 619575 times."> 619575</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: method entered 619575 times.">    <span class="keyword">public</span> QName getQName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 119: statement executed 619575 times."> 619575</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 119: statement executed 619575 times.">        <span class="keyword">return</span> qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: method entered 1502 times."> 1502</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: method entered 1502 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setQName(QName name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 1502 times."> 1502</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 1502 times.">        <span class="keyword">this</span>.qname = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: method entered 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: method entered 183 times.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 183 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 183 times.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 80 times.">            <span class="keyword">return</span> <span class="keyword">super</span>.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 103 times.">            <span class="keyword">if</span> (contentShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: statement executed 93 times."> 93</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: statement executed 93 times.">                <span class="keyword">return</span> getContentAsText(contentShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 10 times.">                <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: method entered 8 times.">    <span class="keyword">public</span> String getStringValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 8 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 143: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 143: statement executed 8 times.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 144: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 144: statement executed 6 times.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 6 times.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: expression evaluated to true 6 times, false 0 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: expression evaluated to true 6 times, false 0 times.">            <span class="keyword">if</span> (size > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: statement executed 6 times.">                <span class="keyword">if</span> (size == 1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="comment">// optimised to avoid StringBuffer creation</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 4 times.">                    <span class="keyword">return</span> getContentAsStringValue(list.get(0));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 153: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 153: statement executed 2 times.">                    StringBuffer buffer = <span class="keyword">new</span> StringBuffer();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: statement executed 2 times.">                    <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 9 times.">                        Object node = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 158: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 158: statement executed 9 times.">                        String string = getContentAsStringValue(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 160: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 160: statement executed 9 times.">                        <span class="keyword">if</span> (string.length() > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: expression evaluated to true 0 times, false 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: expression evaluated to true 0 times, false 7 times.">                            <span class="keyword">if</span> (USE_STRINGVALUE_SEPARATOR) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: statement not executed.">                                <span class="keyword">if</span> (buffer.length() > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 163: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 163: statement not executed.">                                    buffer.append(' ');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: statement executed 7 times.">                            buffer.append(string);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 2 times.">                    <span class="keyword">return</span> buffer.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: expression evaluated to true 0 times, false 2 times.">            <span class="keyword">if</span> (contentShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: statement not executed.">                <span class="keyword">return</span> getContentAsStringValue(contentShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 180: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: statement executed 2 times.">        <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: method entered 129 times."> 129</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: method entered 129 times.">    <span class="keyword">public</span> Object clone() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: statement executed 129 times."> 129</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: statement executed 129 times.">        DefaultElement answer = (DefaultElement) <span class="keyword">super</span>.clone();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 186: expression evaluated to true 129 times, false 0 times."> 129</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 186: expression evaluated to true 129 times, false 0 times.">        <span class="keyword">if</span> (answer != <span class="keyword">this</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 129 times."> 129</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 129 times.">            answer.content = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 129 times."> 129</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 129 times.">            answer.attributes = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: statement executed 129 times."> 129</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: statement executed 129 times.">            answer.appendAttributes(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 193: statement executed 129 times."> 129</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: statement executed 129 times.">            answer.appendContent(<span class="keyword">this</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 196: statement executed 129 times."> 129</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 196: statement executed 129 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: method entered 8764 times."> 8764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: method entered 8764 times.">    <span class="keyword">public</span> Namespace getNamespaceForPrefix(String prefix) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 8764 times."> 8764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 8764 times.">        <span class="keyword">if</span> (prefix == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 9 times.">            prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 204: statement executed 8764 times."> 8764</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 204: statement executed 8764 times.">        <span class="keyword">if</span> (prefix.equals(getNamespacePrefix())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 205: statement executed 3721 times."> 3721</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 205: statement executed 3721 times.">            <span class="keyword">return</span> getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 206: expression evaluated to true 0 times, false 5043 times."> 5043</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 206: expression evaluated to true 0 times, false 5043 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (prefix.equals(<span class="string">"xml"</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">            <span class="keyword">return</span> Namespace.XML_NAMESPACE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 209: statement executed 5043 times."> 5043</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 209: statement executed 5043 times.">            final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 5043 times."> 5043</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 5043 times.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: statement executed 5040 times."> 5040</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: statement executed 5040 times.">                List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 214: statement executed 5040 times."> 5040</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 214: statement executed 5040 times.">                <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 216: statement executed 5040 times."> 5040</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 216: statement executed 5040 times.">                <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 217</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 217: statement executed 5100 times."> 5100</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 217: statement executed 5100 times.">                    Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 219: statement executed 5100 times."> 5100</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 219: statement executed 5100 times.">                    <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 220: statement executed 5055 times."> 5055</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 220: statement executed 5055 times.">                        Namespace namespace = (Namespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 222: statement executed 5055 times."> 5055</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: statement executed 5055 times.">                        <span class="keyword">if</span> (prefix.equals(namespace.getPrefix())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 223: statement executed 5023 times."> 5023</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 223: statement executed 5023 times.">                            <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 227: expression evaluated to true 0 times, false 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 227: expression evaluated to true 0 times, false 3 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 228: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 228: statement not executed.">                Namespace namespace = (Namespace) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: statement not executed.">                <span class="keyword">if</span> (prefix.equals(namespace.getPrefix())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 231: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 231: statement not executed.">                    <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 236: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 236: statement executed 20 times.">        Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 238: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 238: statement executed 20 times.">        <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 239: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 239: statement executed 19 times.">            Namespace answer = parent.getNamespaceForPrefix(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 241: expression evaluated to true 19 times, false 0 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: expression evaluated to true 19 times, false 0 times.">            <span class="keyword">if</span> (answer != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 242: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 242: statement executed 19 times.">                <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: expression evaluated to true 0 times, false 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: expression evaluated to true 0 times, false 1 time.">        <span class="keyword">if</span> ((prefix == <span class="keyword">null</span>) || (prefix.length() <= 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: statement not executed.">            <span class="keyword">return</span> Namespace.NO_NAMESPACE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 250: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 250: statement executed 1 time.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 253: method entered 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 253: method entered 9 times.">    <span class="keyword">public</span> Namespace getNamespaceForURI(String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 254: expression evaluated to true 0 times, false 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 254: expression evaluated to true 0 times, false 9 times.">        <span class="keyword">if</span> ((uri == <span class="keyword">null</span>) || (uri.length() <= 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 255: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 255: statement not executed.">            <span class="keyword">return</span> Namespace.NO_NAMESPACE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 256: expression evaluated to true 0 times, false 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 256: expression evaluated to true 0 times, false 9 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (uri.equals(getNamespaceURI())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 257: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 257: statement not executed.">            <span class="keyword">return</span> getNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 259: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 259: statement executed 9 times.">            final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 261: expression evaluated to true 9 times, false 0 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 261: expression evaluated to true 9 times, false 0 times.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 262: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 262: statement executed 9 times.">                List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 264: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 264: statement executed 9 times.">                <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 266: statement executed 9 times."> 9</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 266: statement executed 9 times.">                <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 267: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 267: statement executed 21 times.">                    Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 269: statement executed 21 times."> 21</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 269: statement executed 21 times.">                    <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: statement executed 12 times.">                        Namespace namespace = (Namespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 272: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 272: statement executed 12 times.">                        <span class="keyword">if</span> (uri.equals(namespace.getURI())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 273: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 273: statement executed 6 times.">                            <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 277: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 277: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 278: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 278: statement not executed.">                Namespace namespace = (Namespace) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 280: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 280: statement not executed.">                <span class="keyword">if</span> (uri.equals(namespace.getURI())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 281: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 281: statement not executed.">                    <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 285</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 285: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 285: statement executed 3 times.">            Element parent = getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 287: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 287: expression evaluated to true 3 times, false 0 times.">            <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 288</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 288: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 288: statement executed 3 times.">                <span class="keyword">return</span> parent.getNamespaceForURI(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 291: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 291: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: method entered 9903 times."> 9903</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: method entered 9903 times.">    <span class="keyword">public</span> List declaredNamespaces() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 296: statement executed 9903 times."> 9903</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 296: statement executed 9903 times.">        BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// if (getNamespaceURI().length() > 0) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// answer.addLocal(getNamespace());</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">//</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// }</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 303</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 303: statement executed 9903 times."> 9903</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 303: statement executed 9903 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 305: expression evaluated to true 9903 times, false 0 times."> 9903</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 305: expression evaluated to true 9903 times, false 0 times.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 306</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 306: statement executed 9903 times."> 9903</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 306: statement executed 9903 times.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 308</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 308: statement executed 9903 times."> 9903</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 308: statement executed 9903 times.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 310: statement executed 9903 times."> 9903</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 310: statement executed 9903 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 311</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 311: statement executed 31929 times."> 31929</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 311: statement executed 31929 times.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 313: statement executed 31929 times."> 31929</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 313: statement executed 31929 times.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 314</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 314: statement executed 821 times."> 821</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 314: statement executed 821 times.">                    answer.addLocal(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 318</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 318: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 318: statement not executed.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 319</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 319: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 319: statement not executed.">                answer.addLocal(contentShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 323</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 323: statement executed 9903 times."> 9903</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 323: statement executed 9903 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 326</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 326: method entered 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 326: method entered 15 times.">    <span class="keyword">public</span> List additionalNamespaces() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 327</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 327: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 327: statement executed 15 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 329</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 329: statement executed 15 times."> 15</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 329: statement executed 15 times.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 330</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 330: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 330: statement executed 13 times.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 332</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 332: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 332: statement executed 13 times.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 334</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 334: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 334: statement executed 13 times.">            BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 336: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 336: statement executed 13 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 337: statement executed 89 times."> 89</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 337: statement executed 89 times.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 339: statement executed 89 times."> 89</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 339: statement executed 89 times.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 340: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 340: statement executed 25 times.">                    Namespace namespace = (Namespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 342</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 342: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 342: statement executed 25 times.">                    <span class="keyword">if</span> (!namespace.equals(getNamespace())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 343</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 343: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 343: statement executed 13 times.">                        answer.addLocal(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 348</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 348: statement executed 13 times."> 13</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 348: statement executed 13 times.">            <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 350</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 350: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 350: statement executed 2 times.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 351</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 351: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 351: statement executed 1 time.">                Namespace namespace = (Namespace) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 353: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 353: expression evaluated to true 1 time, false 0 times.">                <span class="keyword">if</span> (namespace.equals(getNamespace())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 354</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 354: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 354: statement executed 1 time.">                    <span class="keyword">return</span> createEmptyList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 357</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 357: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 357: statement not executed.">                <span class="keyword">return</span> createSingleResultList(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 359</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 359: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 359: statement executed 1 time.">                <span class="keyword">return</span> createEmptyList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 364</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 364: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 364: method not entered.">    <span class="keyword">public</span> List additionalNamespaces(String defaultNamespaceURI) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 365</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 365: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 365: statement not executed.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 367</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 367: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 367: statement not executed.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 368: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 368: statement not executed.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 370: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 370: statement not executed.">            BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 372: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 372: statement not executed.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 374: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 374: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 375</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 375: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 375: statement not executed.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 377</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 377: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 377: statement not executed.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 378</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 378: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 378: statement not executed.">                    Namespace namespace = (Namespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 380</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 380: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 380: statement not executed.">                    <span class="keyword">if</span> (!defaultNamespaceURI.equals(namespace.getURI())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 381</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 381: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 381: statement not executed.">                        answer.addLocal(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 386</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 386: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 386: statement not executed.">            <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 388</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 388: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 388: statement not executed.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> Namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 389</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 389: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 389: statement not executed.">                Namespace namespace = (Namespace) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 391</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 391: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 391: statement not executed.">                <span class="keyword">if</span> (!defaultNamespaceURI.equals(namespace.getURI())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 392</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 392: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 392: statement not executed.">                    <span class="keyword">return</span> createSingleResultList(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 397</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 397: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 397: statement not executed.">        <span class="keyword">return</span> createEmptyList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Processing instruction API</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 401</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 401: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 401: method not entered.">    <span class="keyword">public</span> List processingInstructions() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 402</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 402: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 402: statement not executed.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 404</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 404: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 404: statement not executed.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 405</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 405: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 405: statement not executed.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 407</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 407: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 407: statement not executed.">            BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 409</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 409: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 409: statement not executed.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 411</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 411: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 411: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 412</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 412: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 412: statement not executed.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 414</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 414: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 414: statement not executed.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 415</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 415: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 415: statement not executed.">                    answer.addLocal(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 416</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 417</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 418</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 419</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 419: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 419: statement not executed.">            <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 420</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 421</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 421: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 421: statement not executed.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 422</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 422: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 422: statement not executed.">                <span class="keyword">return</span> createSingleResultList(contentShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 423</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 424</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 425</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 425: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 425: statement not executed.">            <span class="keyword">return</span> createEmptyList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 429</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 429: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 429: method not entered.">    <span class="keyword">public</span> List processingInstructions(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 430</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 430: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 430: statement not executed.">        final Object shadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 432</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 432: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 432: statement not executed.">        <span class="keyword">if</span> (shadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 433</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 433: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 433: statement not executed.">            List list = (List) shadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 435</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 435: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 435: statement not executed.">            BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 437</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 437: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 437: statement not executed.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 439</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 439: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 439: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 440</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 440: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 440: statement not executed.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 441</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 442</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 442: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 442: statement not executed.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 443</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 443: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 443: statement not executed.">                    ProcessingInstruction pi = (ProcessingInstruction) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 444</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 445</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 445: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 445: statement not executed.">                    <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 446</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 446: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 446: statement not executed.">                        answer.addLocal(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 449</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 450</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 451</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 451: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 451: statement not executed.">            <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 453</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 453: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 453: statement not executed.">            <span class="keyword">if</span> (shadow <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 454</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 454: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 454: statement not executed.">                ProcessingInstruction pi = (ProcessingInstruction) shadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 456</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 456: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 456: statement not executed.">                <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 457</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 457: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 457: statement not executed.">                    <span class="keyword">return</span> createSingleResultList(pi);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 458</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 459</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 460</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 461</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 461: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 461: statement not executed.">            <span class="keyword">return</span> createEmptyList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 465</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 465: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 465: method not entered.">    <span class="keyword">public</span> ProcessingInstruction processingInstruction(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 466</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 466: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 466: statement not executed.">        final Object shadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 468</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 468: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 468: statement not executed.">        <span class="keyword">if</span> (shadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 469</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 469: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 469: statement not executed.">            List list = (List) shadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 471</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 471: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 471: statement not executed.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 473</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 473: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 473: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 474</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 474: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 474: statement not executed.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 476</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 476: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 476: statement not executed.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 477</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 477: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 477: statement not executed.">                    ProcessingInstruction pi = (ProcessingInstruction) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 479</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 479: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 479: statement not executed.">                    <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 480</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 480: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 480: statement not executed.">                        <span class="keyword">return</span> pi;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 485</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 485: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 485: statement not executed.">            <span class="keyword">if</span> (shadow <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 486</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 486: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 486: statement not executed.">                ProcessingInstruction pi = (ProcessingInstruction) shadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 488</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 488: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 488: statement not executed.">                <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 489</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 489: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 489: statement not executed.">                    <span class="keyword">return</span> pi;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 494</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 494: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 494: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 497</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 497: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 497: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> removeProcessingInstruction(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 498</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 498: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 498: statement not executed.">        final Object shadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 500</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 500: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 500: statement not executed.">        <span class="keyword">if</span> (shadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 501</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 501: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 501: statement not executed.">            List list = (List) shadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 503</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 503: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 503: statement not executed.">            <span class="keyword">for</span> (Iterator iter = list.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 504</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 504: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 504: statement not executed.">                Object object = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 505</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 506</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 506: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 506: statement not executed.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 507</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 507: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 507: statement not executed.">                    ProcessingInstruction pi = (ProcessingInstruction) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 508</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 509</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 509: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 509: statement not executed.">                    <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 510</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 510: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 510: statement not executed.">                        iter.remove();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 511</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 512</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 512: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 512: statement not executed.">                        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 513</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 514</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 515</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 516</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 517</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 517: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 517: statement not executed.">            <span class="keyword">if</span> (shadow <span class="keyword">instanceof</span> ProcessingInstruction) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 518</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 518: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 518: statement not executed.">                ProcessingInstruction pi = (ProcessingInstruction) shadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 519</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 520</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 520: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 520: statement not executed.">                <span class="keyword">if</span> (target.equals(pi.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 521</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 521: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 521: statement not executed.">                    <span class="keyword">this</span>.content = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 522</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 523</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 523: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 523: statement not executed.">                    <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 524</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 525</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 526</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 527</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 528</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 528: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 528: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 529</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 530</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 531</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 531: method entered 125 times."> 125</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 531: method entered 125 times.">    <span class="keyword">public</span> Element element(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 532</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 532: statement executed 125 times."> 125</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 532: statement executed 125 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 533</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 534</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 534: statement executed 125 times."> 125</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 534: statement executed 125 times.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 535</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 535: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 535: statement executed 30 times.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 536</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 537</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 537: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 537: statement executed 30 times.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 538</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 539</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 539: expression evaluated to true 82 times, false 0 times."> 82</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 539: expression evaluated to true 82 times, false 0 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 540</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 540: statement executed 82 times."> 82</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 540: statement executed 82 times.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 541</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 542</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 542: statement executed 82 times."> 82</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 542: statement executed 82 times.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 543</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 543: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 543: statement executed 36 times.">                    Element element = (Element) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 544</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 545</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 545: statement executed 36 times."> 36</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 545: statement executed 36 times.">                    <span class="keyword">if</span> (name.equals(element.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 546</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 546: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 546: statement executed 30 times.">                        <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 547</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 548</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 549</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 550</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 551</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 551: statement executed 95 times."> 95</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 551: statement executed 95 times.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 552</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 552: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 552: statement executed 6 times.">                Element element = (Element) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 553</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 554</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 554: expression evaluated to true 6 times, false 0 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 554: expression evaluated to true 6 times, false 0 times.">                <span class="keyword">if</span> (name.equals(element.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 555</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 555: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 555: statement executed 6 times.">                    <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 556</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 557</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 558</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 559</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 560</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 560: statement executed 89 times."> 89</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 560: statement executed 89 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 561</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 562</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 563</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 563: method entered 2965 times."> 2965</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 563: method entered 2965 times.">    <span class="keyword">public</span> Element element(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 564</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 564: statement executed 2965 times."> 2965</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 564: statement executed 2965 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 565</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 566</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 566: statement executed 2965 times."> 2965</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 566: statement executed 2965 times.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 567</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 567: statement executed 2705 times."> 2705</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 567: statement executed 2705 times.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 568</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 569</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 569: statement executed 2705 times."> 2705</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 569: statement executed 2705 times.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 570</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 571</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 571: statement executed 2705 times."> 2705</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 571: statement executed 2705 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 572</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 572: statement executed 21262 times."> 21262</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 572: statement executed 21262 times.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 573</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 574</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 574: statement executed 21262 times."> 21262</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 574: statement executed 21262 times.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 575</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 575: statement executed 11680 times."> 11680</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 575: statement executed 11680 times.">                    Element element = (Element) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 576</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 577</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 577: statement executed 11680 times."> 11680</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 577: statement executed 11680 times.">                    <span class="keyword">if</span> (qName.equals(element.getQName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 578</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 578: statement executed 2290 times."> 2290</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 578: statement executed 2290 times.">                        <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 579</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 580</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 581</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 582</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 583</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 583: statement executed 260 times."> 260</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 583: statement executed 260 times.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 584</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 584: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 584: statement executed 1 time.">                Element element = (Element) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 585</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 586</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 586: expression evaluated to true 1 time, false 0 times."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 586: expression evaluated to true 1 time, false 0 times.">                <span class="keyword">if</span> (qName.equals(element.getQName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 587</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 587: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 587: statement executed 1 time.">                    <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 588</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 589</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 590</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 591</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 592</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 592: statement executed 674 times."> 674</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 592: statement executed 674 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 593</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 594</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 595</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 595: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 595: method not entered.">    <span class="keyword">public</span> Element element(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 596</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 596: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 596: statement not executed.">        <span class="keyword">return</span> element(getDocumentFactory().createQName(name, namespace));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 597</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 598</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 599</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 599: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 599: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setContent(List content) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 600</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 600: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 600: statement executed 2 times.">        contentRemoved();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 601</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 602</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 602: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 602: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> (content <span class="keyword">instanceof</span> ContentListFacade) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 603</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 603: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 603: statement executed 2 times.">            content = ((ContentListFacade) content).getBackingList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 604</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 605</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 606</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 606: expression evaluated to true 0 times, false 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 606: expression evaluated to true 0 times, false 2 times.">        <span class="keyword">if</span> (content == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 607</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 607: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 607: statement not executed.">            <span class="keyword">this</span>.content = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 608</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 609</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 609: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 609: statement executed 2 times.">            <span class="keyword">int</span> size = content.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 610</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 611</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 611: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 611: statement executed 2 times.">            List newContent = createContentList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 612</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 613</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 613: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 613: statement executed 2 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 614</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 614: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 614: statement executed 7 times.">                Object object = content.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 615</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 616</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 616: expression evaluated to true 7 times, false 0 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 616: expression evaluated to true 7 times, false 0 times.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 617</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 617: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 617: statement executed 7 times.">                    Node node = (Node) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 618</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 618: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 618: statement executed 7 times.">                    Element parent = node.getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 619</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 620</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 620: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 620: statement executed 7 times.">                    <span class="keyword">if</span> ((parent != <span class="keyword">null</span>) && (parent != <span class="keyword">this</span>)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 621</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 621: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 621: statement executed 2 times.">                        node = (Node) node.clone();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 622</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 623</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 624</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 624: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 624: statement executed 7 times.">                    newContent.add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 625</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 625: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 625: statement executed 7 times.">                    childAdded(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 626</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 626: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 626: statement not executed.">                } <span class="keyword">else</span> <span class="keyword">if</span> (object != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 627</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 627: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 627: statement not executed.">                    String text = object.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 628</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 628: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 628: statement not executed.">                    Node node = getDocumentFactory().createText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 629</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 629: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 629: statement not executed.">                    newContent.add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 630</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 630: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 630: statement not executed.">                    childAdded(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 631</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 632</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 633</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 634</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 634: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 634: statement executed 2 times.">            <span class="keyword">this</span>.content = newContent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 635</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 636</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 637</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 638</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 638: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 638: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> clearContent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 639</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 639: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 639: statement not executed.">        <span class="keyword">if</span> (content != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 640</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 640: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 640: statement not executed.">            contentRemoved();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 641</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 642</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 642: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 642: statement not executed.">            content = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 643</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 644</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 645</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 646</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 646: method entered 355275 times."> 355275</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 646: method entered 355275 times.">    <span class="keyword">public</span> Node node(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 647</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 647: expression evaluated to true 355275 times, false 0 times."> 355275</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 647: expression evaluated to true 355275 times, false 0 times.">        <span class="keyword">if</span> (index >= 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 648</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 648: statement executed 355275 times."> 355275</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 648: statement executed 355275 times.">            final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 649</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 649: statement executed 355275 times."> 355275</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 649: statement executed 355275 times.">            Object node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 650</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 651</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 651: statement executed 355275 times."> 355275</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 651: statement executed 355275 times.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 652</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 652: statement executed 333677 times."> 333677</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 652: statement executed 333677 times.">                List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 653</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 654</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 654: expression evaluated to true 0 times, false 333677 times."> 333677</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 654: expression evaluated to true 0 times, false 333677 times.">                <span class="keyword">if</span> (index >= list.size()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 655</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 655: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 655: statement not executed.">                    <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 656</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 657</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 658</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 658: statement executed 333677 times."> 333677</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 658: statement executed 333677 times.">                node = list.get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 659</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 660</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 660: expression evaluated to true 21598 times, false 0 times."> 21598</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 660: expression evaluated to true 21598 times, false 0 times.">                node = (index == 0) ? contentShadow : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 661</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 662</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 663</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 663: expression evaluated to true 355275 times, false 0 times."> 355275</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 663: expression evaluated to true 355275 times, false 0 times.">            <span class="keyword">if</span> (node != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 664</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 664: expression evaluated to true 355275 times, false 0 times."> 355275</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 664: expression evaluated to true 355275 times, false 0 times.">                <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 665</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 665: statement executed 355275 times."> 355275</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 665: statement executed 355275 times.">                    <span class="keyword">return</span> (Node) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 666</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 667</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 667: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 667: statement not executed.">                    <span class="keyword">return</span> <span class="keyword">new</span> DefaultText(node.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 668</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 669</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 670</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 671</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 672</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 672: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 672: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 673</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 674</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 675</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 675: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 675: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> indexOf(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 676</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 676: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 676: statement not executed.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 677</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 678</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 678: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 678: statement not executed.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 679</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 679: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 679: statement not executed.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 680</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 681</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 681: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 681: statement not executed.">            <span class="keyword">return</span> list.indexOf(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 682</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 683</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 683: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 683: statement not executed.">            <span class="keyword">if</span> ((contentShadow != <span class="keyword">null</span>) && contentShadow.equals(node)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 684</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 684: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 684: statement not executed.">                <span class="keyword">return</span> 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 685</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 686</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 686: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 686: statement not executed.">                <span class="keyword">return</span> -1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 687</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 688</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 689</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 690</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 691</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 691: method entered 125606 times."> 125606</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 691: method entered 125606 times.">    <span class="keyword">public</span> <span class="keyword">int</span> nodeCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 692</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 692: statement executed 125606 times."> 125606</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 692: statement executed 125606 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 693</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 694</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 694: statement executed 125606 times."> 125606</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 694: statement executed 125606 times.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 695</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 695: statement executed 103856 times."> 103856</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 695: statement executed 103856 times.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 696</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 697</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 697: statement executed 103856 times."> 103856</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 697: statement executed 103856 times.">            <span class="keyword">return</span> list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 698</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 699</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 699: statement executed 21750 times."> 21750</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 699: statement executed 21750 times.">            <span class="keyword">return</span> (contentShadow != <span class="keyword">null</span>) ? 1 : 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 700</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 701</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 702</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 703</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 703: method entered 94704 times."> 94704</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 703: method entered 94704 times.">    <span class="keyword">public</span> Iterator nodeIterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 704</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 704: statement executed 94704 times."> 94704</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 704: statement executed 94704 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 705</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 706</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 706: statement executed 94704 times."> 94704</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 706: statement executed 94704 times.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 707</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 707: statement executed 33208 times."> 33208</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 707: statement executed 33208 times.">            List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 708</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 709</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 709: statement executed 33208 times."> 33208</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 709: statement executed 33208 times.">            <span class="keyword">return</span> list.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 710</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 711</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 711: statement executed 61496 times."> 61496</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 711: statement executed 61496 times.">            <span class="keyword">if</span> (contentShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 712</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 712: statement executed 61120 times."> 61120</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 712: statement executed 61120 times.">                <span class="keyword">return</span> createSingleIterator(contentShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 713</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 714</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 714: statement executed 376 times."> 376</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 714: statement executed 376 times.">                <span class="keyword">return</span> EMPTY_ITERATOR;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 715</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 716</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 717</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 718</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 719</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 719: method entered 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 719: method entered 109 times.">    <span class="keyword">public</span> List attributes() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 720</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 720: statement executed 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 720: statement executed 109 times.">        <span class="keyword">return</span> <span class="keyword">new</span> ContentListFacade(<span class="keyword">this</span>, attributeList());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 721</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 722</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 723</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 723: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 723: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setAttributes(List attributes) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 724</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 724: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 724: statement not executed.">        <span class="keyword">if</span> (attributes <span class="keyword">instanceof</span> ContentListFacade) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 725</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 725: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 725: statement not executed.">            attributes = ((ContentListFacade) attributes).getBackingList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 726</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 727</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 728</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 728: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 728: statement not executed.">        <span class="keyword">this</span>.attributes = attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 729</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 730</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 731</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 731: method entered 5028 times."> 5028</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 731: method entered 5028 times.">    <span class="keyword">public</span> Iterator attributeIterator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 732</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 732: statement executed 5028 times."> 5028</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 732: statement executed 5028 times.">        final Object attributesShadow = <span class="keyword">this</span>.attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 733</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 734</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 734: statement executed 5028 times."> 5028</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 734: statement executed 5028 times.">        <span class="keyword">if</span> (attributesShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 735</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 735: statement executed 2596 times."> 2596</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 735: statement executed 2596 times.">            List list = (List) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 736</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 737</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 737: statement executed 2596 times."> 2596</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 737: statement executed 2596 times.">            <span class="keyword">return</span> list.iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 738</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 738: statement executed 2432 times."> 2432</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 738: statement executed 2432 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (attributesShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 739</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 739: statement executed 998 times."> 998</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 739: statement executed 998 times.">            <span class="keyword">return</span> createSingleIterator(attributesShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 740</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 741</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 741: statement executed 1434 times."> 1434</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 741: statement executed 1434 times.">            <span class="keyword">return</span> EMPTY_ITERATOR;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 742</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 743</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 744</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 745</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 745: method entered 24324 times."> 24324</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 745: method entered 24324 times.">    <span class="keyword">public</span> Attribute attribute(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 746</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 746: statement executed 24324 times."> 24324</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 746: statement executed 24324 times.">        final Object attributesShadow = <span class="keyword">this</span>.attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 747</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 748</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 748: statement executed 24324 times."> 24324</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 748: statement executed 24324 times.">        <span class="keyword">if</span> (attributesShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 749</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 749: statement executed 22129 times."> 22129</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 749: statement executed 22129 times.">            List list = (List) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 750</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 751</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 751: statement executed 22129 times."> 22129</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 751: statement executed 22129 times.">            <span class="keyword">return</span> (Attribute) list.get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 752</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 752: expression evaluated to true 2195 times, false 0 times."> 2195</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 752: expression evaluated to true 2195 times, false 0 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> ((attributesShadow != <span class="keyword">null</span>) && (index == 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 753</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 753: statement executed 2195 times."> 2195</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 753: statement executed 2195 times.">            <span class="keyword">return</span> (Attribute) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 754</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 755</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 755: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 755: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 756</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 757</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 758</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 759</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 759: method entered 110652 times."> 110652</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 759: method entered 110652 times.">    <span class="keyword">public</span> <span class="keyword">int</span> attributeCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 760</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 760: statement executed 110652 times."> 110652</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 760: statement executed 110652 times.">        final Object attributesShadow = <span class="keyword">this</span>.attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 761</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 762</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 762: statement executed 110652 times."> 110652</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 762: statement executed 110652 times.">        <span class="keyword">if</span> (attributesShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 763</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 763: statement executed 65626 times."> 65626</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 763: statement executed 65626 times.">            List list = (List) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 764</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 765</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 765: statement executed 65626 times."> 65626</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 765: statement executed 65626 times.">            <span class="keyword">return</span> list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 766</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 767</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 767: statement executed 45026 times."> 45026</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 767: statement executed 45026 times.">            <span class="keyword">return</span> (attributesShadow != <span class="keyword">null</span>) ? 1 : 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 768</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 769</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 770</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 771</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 771: method entered 3958 times."> 3958</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 771: method entered 3958 times.">    <span class="keyword">public</span> Attribute attribute(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 772</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 772: statement executed 3958 times."> 3958</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 772: statement executed 3958 times.">        final Object attributesShadow = <span class="keyword">this</span>.attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 773</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 774</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 774: statement executed 3958 times."> 3958</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 774: statement executed 3958 times.">        <span class="keyword">if</span> (attributesShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 775</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 775: statement executed 1292 times."> 1292</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 775: statement executed 1292 times.">            List list = (List) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 776</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 777</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 777: statement executed 1292 times."> 1292</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 777: statement executed 1292 times.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 778</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 779</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 779: statement executed 1292 times."> 1292</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 779: statement executed 1292 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 780</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 780: statement executed 2294 times."> 2294</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 780: statement executed 2294 times.">                Attribute attribute = (Attribute) list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 781</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 782</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 782: statement executed 2294 times."> 2294</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 782: statement executed 2294 times.">                <span class="keyword">if</span> (name.equals(attribute.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 783</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 783: statement executed 974 times."> 974</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 783: statement executed 974 times.">                    <span class="keyword">return</span> attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 784</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 785</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 786</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 786: statement executed 2666 times."> 2666</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 786: statement executed 2666 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (attributesShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 787</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 787: statement executed 1729 times."> 1729</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 787: statement executed 1729 times.">            Attribute attribute = (Attribute) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 788</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 789</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 789: statement executed 1729 times."> 1729</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 789: statement executed 1729 times.">            <span class="keyword">if</span> (name.equals(attribute.getName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 790</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 790: statement executed 575 times."> 575</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 790: statement executed 575 times.">                <span class="keyword">return</span> attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 791</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 792</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 793</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 794</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 794: statement executed 2409 times."> 2409</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 794: statement executed 2409 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 795</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 796</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 797</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 797: method entered 20997 times."> 20997</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 797: method entered 20997 times.">    <span class="keyword">public</span> Attribute attribute(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 798</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 798: statement executed 20997 times."> 20997</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 798: statement executed 20997 times.">        final Object attributesShadow = <span class="keyword">this</span>.attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 799</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 800</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 800: statement executed 20997 times."> 20997</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 800: statement executed 20997 times.">        <span class="keyword">if</span> (attributesShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 801</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 801: statement executed 17846 times."> 17846</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 801: statement executed 17846 times.">            List list = (List) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 802</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 803</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 803: statement executed 17846 times."> 17846</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 803: statement executed 17846 times.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 804</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 805</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 805: statement executed 17846 times."> 17846</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 805: statement executed 17846 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 806</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 806: statement executed 20862 times."> 20862</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 806: statement executed 20862 times.">                Attribute attribute = (Attribute) list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 807</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 808</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 808: statement executed 20862 times."> 20862</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 808: statement executed 20862 times.">                <span class="keyword">if</span> (qName.equals(attribute.getQName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 809</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 809: statement executed 17696 times."> 17696</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 809: statement executed 17696 times.">                    <span class="keyword">return</span> attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 810</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 811</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 812</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 812: statement executed 3151 times."> 3151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 812: statement executed 3151 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (attributesShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 813</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 813: statement executed 618 times."> 618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 813: statement executed 618 times.">            Attribute attribute = (Attribute) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 814</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 815</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 815: statement executed 618 times."> 618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 815: statement executed 618 times.">            <span class="keyword">if</span> (qName.equals(attribute.getQName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 816</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 816: statement executed 231 times."> 231</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 816: statement executed 231 times.">                <span class="keyword">return</span> attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 817</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 818</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 819</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 820</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 820: statement executed 3070 times."> 3070</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 820: statement executed 3070 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 821</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 822</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 823</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 823: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 823: method not entered.">    <span class="keyword">public</span> Attribute attribute(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 824</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 824: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 824: statement not executed.">        <span class="keyword">return</span> attribute(getDocumentFactory().createQName(name, namespace));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 825</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 826</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 827</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 827: method entered 10743 times."> 10743</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 827: method entered 10743 times.">    <span class="keyword">public</span> <span class="keyword">void</span> add(Attribute attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 828</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 828: expression evaluated to true 0 times, false 10743 times."> 10743</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 828: expression evaluated to true 0 times, false 10743 times.">        <span class="keyword">if</span> (attribute.getParent() != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 829</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 829: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 829: statement not executed.">            String message = <span class="string">"The Attribute already has an existing parent \""</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 830</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + attribute.getParent().getQualifiedName() + <span class="string">"\""</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 831</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 832</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 832: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 832: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> IllegalAddException(<span class="keyword">this</span>, attribute, message);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 833</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 834</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 835</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 835: statement executed 10743 times."> 10743</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 835: statement executed 10743 times.">        <span class="keyword">if</span> (attribute.getValue() == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 836</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// try remove a previous attribute with the same</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 837</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// name since adding an attribute with a null value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 838</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// is equivalent to removing it.</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 839</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 839: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 839: statement executed 2 times.">            Attribute oldAttribute = attribute(attribute.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 840</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 841</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 841: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 841: statement executed 2 times.">            <span class="keyword">if</span> (oldAttribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 842</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 842: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 842: statement executed 1 time.">                remove(oldAttribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 843</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 844</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 845</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 845: statement executed 10741 times."> 10741</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 845: statement executed 10741 times.">            <span class="keyword">if</span> (attributes == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 846</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 846: statement executed 9433 times."> 9433</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 846: statement executed 9433 times.">                attributes = attribute;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 847</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 848</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 848: statement executed 1308 times."> 1308</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 848: statement executed 1308 times.">                attributeList().add(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 849</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 850</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 851</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 851: statement executed 10741 times."> 10741</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 851: statement executed 10741 times.">            childAdded(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 852</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 853</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 854</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 855</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 855: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 855: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> remove(Attribute attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 856</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 856: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 856: statement executed 6 times.">        <span class="keyword">boolean</span> answer = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 857</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 857: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 857: statement executed 6 times.">        final Object attributesShadow = <span class="keyword">this</span>.attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 858</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 859</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 859: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 859: statement executed 6 times.">        <span class="keyword">if</span> (attributesShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 860</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 860: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 860: statement executed 3 times.">            List list = (List) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 861</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 862</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 862: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 862: statement executed 3 times.">            answer = list.remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 863</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 864</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 864: expression evaluated to true 0 times, false 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 864: expression evaluated to true 0 times, false 3 times.">            <span class="keyword">if</span> (!answer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 865</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// we may have a copy of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 866</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 866: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 866: statement not executed.">                Attribute copy = attribute(attribute.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 867</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 868</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 868: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 868: statement not executed.">                <span class="keyword">if</span> (copy != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 869</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 869: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 869: statement not executed.">                    list.remove(copy);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 870</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 871</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 871: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 871: statement not executed.">                    answer = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 872</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 873</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 874</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 874: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 874: expression evaluated to true 3 times, false 0 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (attributesShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 875</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 875: expression evaluated to true 3 times, false 0 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 875: expression evaluated to true 3 times, false 0 times.">            <span class="keyword">if</span> (attribute.equals(attributesShadow)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 876</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 876: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 876: statement executed 3 times.">                <span class="keyword">this</span>.attributes = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 877</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 878</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 878: statement executed 3 times."> 3</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 878: statement executed 3 times.">                answer = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 879</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 880</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// we may have a copy of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 881</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 881: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 881: statement not executed.">                Attribute other = (Attribute) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 882</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 883</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 883: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 883: statement not executed.">                <span class="keyword">if</span> (attribute.getQName().equals(other.getQName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 884</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 884: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 884: statement not executed.">                    attributes = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 885</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 886</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 886: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 886: statement not executed.">                    answer = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 887</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 888</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 889</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 890</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 891</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 891: expression evaluated to true 6 times, false 0 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 891: expression evaluated to true 6 times, false 0 times.">        <span class="keyword">if</span> (answer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 892</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 892: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 892: statement executed 6 times.">            childRemoved(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 893</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 894</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 895</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 895: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 895: statement executed 6 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 896</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 897</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 898</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 899</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 900</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 900: method entered 219990 times."> 219990</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 900: method entered 219990 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> addNewNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 901</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 901: statement executed 219990 times."> 219990</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 901: statement executed 219990 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 902</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 903</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 903: statement executed 219990 times."> 219990</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 903: statement executed 219990 times.">        <span class="keyword">if</span> (contentShadow == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 904</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 904: statement executed 92043 times."> 92043</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 904: statement executed 92043 times.">            <span class="keyword">this</span>.content = node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 905</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 906</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 906: statement executed 127947 times."> 127947</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 906: statement executed 127947 times.">            <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 907</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 907: statement executed 103858 times."> 103858</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 907: statement executed 103858 times.">                List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 908</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 909</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 909: statement executed 103858 times."> 103858</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 909: statement executed 103858 times.">                list.add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 910</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 911</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 911: statement executed 24089 times."> 24089</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 911: statement executed 24089 times.">                List list = createContentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 912</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 913</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 913: statement executed 24089 times."> 24089</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 913: statement executed 24089 times.">                list.add(contentShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 914</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 915</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 915: statement executed 24089 times."> 24089</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 915: statement executed 24089 times.">                list.add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 916</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 917</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 917: statement executed 24089 times."> 24089</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 917: statement executed 24089 times.">                <span class="keyword">this</span>.content = list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 918</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 919</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 920</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 921</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 921: statement executed 219990 times."> 219990</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 921: statement executed 219990 times.">        childAdded(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 922</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 923</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 924</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 924: method entered 13545 times."> 13545</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 924: method entered 13545 times.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> removeNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 925</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 925: statement executed 13545 times."> 13545</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 925: statement executed 13545 times.">        <span class="keyword">boolean</span> answer = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 926</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 926: statement executed 13545 times."> 13545</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 926: statement executed 13545 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 927</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 928</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 928: expression evaluated to true 13545 times, false 0 times."> 13545</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 928: expression evaluated to true 13545 times, false 0 times.">        <span class="keyword">if</span> (contentShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 929</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 929: statement executed 13545 times."> 13545</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 929: statement executed 13545 times.">            <span class="keyword">if</span> (contentShadow == node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 930</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 930: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 930: statement executed 1 time.">                <span class="keyword">this</span>.content = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 931</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 932</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 932: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 932: statement executed 1 time.">                answer = <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 933</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 933: expression evaluated to true 13544 times, false 0 times."> 13544</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 933: expression evaluated to true 13544 times, false 0 times.">            } <span class="keyword">else</span> <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 934</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 934: statement executed 13544 times."> 13544</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 934: statement executed 13544 times.">                List list = (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 935</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 936</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 936: statement executed 13544 times."> 13544</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 936: statement executed 13544 times.">                answer = list.remove(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 937</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 938</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 939</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 940</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 940: expression evaluated to true 13545 times, false 0 times."> 13545</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 940: expression evaluated to true 13545 times, false 0 times.">        <span class="keyword">if</span> (answer) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 941</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 941: statement executed 13545 times."> 13545</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 941: statement executed 13545 times.">            childRemoved(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 942</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 943</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 944</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 944: statement executed 13545 times."> 13545</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 944: statement executed 13545 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 945</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 946</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 947</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 947: method entered 88171 times."> 88171</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 947: method entered 88171 times.">    <span class="keyword">protected</span> List contentList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 948</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 948: statement executed 88171 times."> 88171</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 948: statement executed 88171 times.">        final Object contentShadow = content;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 949</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 950</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 950: statement executed 88171 times."> 88171</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 950: statement executed 88171 times.">        <span class="keyword">if</span> (contentShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 951</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 951: statement executed 61297 times."> 61297</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 951: statement executed 61297 times.">            <span class="keyword">return</span> (List) contentShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 952</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 953</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 953: statement executed 26874 times."> 26874</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 953: statement executed 26874 times.">            List list = createContentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 954</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 955</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 955: statement executed 26874 times."> 26874</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 955: statement executed 26874 times.">            <span class="keyword">if</span> (contentShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 956</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 956: statement executed 23679 times."> 23679</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 956: statement executed 23679 times.">                list.add(contentShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 957</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 958</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 959</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 959: statement executed 26874 times."> 26874</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 959: statement executed 26874 times.">            <span class="keyword">this</span>.content = list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 960</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 961</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 961: statement executed 26874 times."> 26874</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 961: statement executed 26874 times.">            <span class="keyword">return</span> list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 962</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 963</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 964</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 965</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 965: method entered 87124 times."> 87124</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 965: method entered 87124 times.">    <span class="keyword">protected</span> List attributeList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 966</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 966: statement executed 87124 times."> 87124</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 966: statement executed 87124 times.">        final Object attributesShadow = <span class="keyword">this</span>.attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 967</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 968</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 968: statement executed 87124 times."> 87124</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 968: statement executed 87124 times.">        <span class="keyword">if</span> (attributesShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 969</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 969: statement executed 58366 times."> 58366</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 969: statement executed 58366 times.">            <span class="keyword">return</span> (List) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 970</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 970: statement executed 28758 times."> 28758</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 970: statement executed 28758 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (attributesShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 971</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 971: statement executed 9093 times."> 9093</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 971: statement executed 9093 times.">            List list = createAttributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 972</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 973</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 973: statement executed 9093 times."> 9093</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 973: statement executed 9093 times.">            list.add(attributesShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 974</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 975</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 975: statement executed 9093 times."> 9093</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 975: statement executed 9093 times.">            <span class="keyword">this</span>.attributes = list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 976</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 977</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 977: statement executed 9093 times."> 9093</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 977: statement executed 9093 times.">            <span class="keyword">return</span> list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 978</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 979</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 979: statement executed 19665 times."> 19665</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 979: statement executed 19665 times.">            List list = createAttributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 980</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 981</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 981: statement executed 19665 times."> 19665</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 981: statement executed 19665 times.">            <span class="keyword">this</span>.attributes = list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 982</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 983</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 983: statement executed 19665 times."> 19665</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 983: statement executed 19665 times.">            <span class="keyword">return</span> list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 984</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 985</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 986</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 987</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 987: method entered 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 987: method entered 1618 times.">    <span class="keyword">protected</span> List attributeList(<span class="keyword">int</span> size) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 988</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 988: statement executed 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 988: statement executed 1618 times.">        final Object attributesShadow = <span class="keyword">this</span>.attributes;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 989</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 990</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 990: expression evaluated to true 0 times, false 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 990: expression evaluated to true 0 times, false 1618 times.">        <span class="keyword">if</span> (attributesShadow <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 991</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 991: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 991: statement not executed.">            <span class="keyword">return</span> (List) attributesShadow;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 992</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 992: expression evaluated to true 0 times, false 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 992: expression evaluated to true 0 times, false 1618 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (attributesShadow != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 993</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 993: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 993: statement not executed.">            List list = createAttributeList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 994</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 995</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 995: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 995: statement not executed.">            list.add(attributesShadow);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 996</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 997</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 997: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 997: statement not executed.">            <span class="keyword">this</span>.attributes = list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 998</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 999</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 999: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 999: statement not executed.">            <span class="keyword">return</span> list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1000</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1001</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1001: statement executed 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1001: statement executed 1618 times.">            List list = createAttributeList(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1002</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1003</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1003: statement executed 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1003: statement executed 1618 times.">            <span class="keyword">this</span>.attributes = list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1004</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1005</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1005: statement executed 1618 times."> 1618</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1005: statement executed 1618 times.">            <span class="keyword">return</span> list;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1006</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1007</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1008</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1009</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1009: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1009: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> setAttributeList(List attributeList) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1010</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1010: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1010: statement executed 2 times.">        <span class="keyword">this</span>.attributes = attributeList;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1011</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1012</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1013</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1013: method entered 228999 times."> 228999</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1013: method entered 228999 times.">    <span class="keyword">protected</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1014</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 1014: statement executed 228999 times."> 228999</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 1014: statement executed 228999 times.">        DocumentFactory factory = qname.getDocumentFactory();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1015</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 1016</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 1016: expression evaluated to true 228999 times, false 0 times."> 228999</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 1016: expression evaluated to true 228999 times, false 0 times.">        <span class="keyword">return</span> (factory != <span class="keyword">null</span>) ? factory : DOCUMENT_FACTORY;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1017</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1018</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1019</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1020</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1021</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1022</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1023</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1024</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1025</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1026</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1027</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1028</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1029</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1030</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1031</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1032</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1033</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1034</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1035</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1036</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1037</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1038</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1039</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1040</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1041</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1042</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1043</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1044</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1045</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1046</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1047</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1048</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1049</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1050</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1051</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1052</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1053</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1054</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 1055</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultEntity.html b/docs/clover/org/dom4j/tree/DefaultEntity.html
new file mode 100644
index 0000000..339ae7b
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultEntity.html
@@ -0,0 +1,600 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultEntity.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultEntity.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">123</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">9</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">33</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultEntity.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">20%</TD>
+    <TD class="graphPercent" align="center">22,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>21,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="42" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="158" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultEntity</code> is the default Entity implementation. It is a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * doubly linked node which supports the parent relationship and can be modified</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * in place.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.11 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultEntity"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultEntity <span class="keyword">extends</span> FlyweightEntity {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The parent of this node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Entity</code> with the specified name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">public</span> DefaultEntity(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: statement not executed.">        <span class="keyword">super</span>(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Entity</code> with the specified name and text.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: method entered 4 times.">    <span class="keyword">public</span> DefaultEntity(String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: statement executed 4 times.">        <span class="keyword">super</span>(name, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Entity</code> with the specified name and text.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the parent element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: method not entered.">    <span class="keyword">public</span> DefaultEntity(Element parent, String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        <span class="keyword">super</span>(name, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: method not entered.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: statement not executed.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 4 times.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultNamespace.html b/docs/clover/org/dom4j/tree/DefaultNamespace.html
new file mode 100644
index 0000000..31d9b1a
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultNamespace.html
@@ -0,0 +1,703 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultNamespace.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultNamespace.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">147</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">9</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">44</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultNamespace.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">94,1%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>90,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="181" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="19" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultNamespace</code> implements a doubly linked node which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * supports the parent relationship and is mutable. It is useful when returning</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * results from XPath expressions.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.16 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultNamespace"> 23</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultNamespace <span class="keyword">extends</span> Namespace {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The parent of this node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the prefix for this namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for this namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: method entered 159 times."> 159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: method entered 159 times.">    <span class="keyword">public</span> DefaultNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 159 times."> 159</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 159 times.">        <span class="keyword">super</span>(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the parent element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the prefix for this namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the URI for this namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 107 times.">    <span class="keyword">public</span> DefaultNamespace(Element parent, String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 107 times.">        <span class="keyword">super</span>(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: statement executed 107 times."> 107</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: statement executed 107 times.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the hash code based on the qualified name and the URI of the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         namespace and the hashCode() of the parent element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 60: method entered 170 times."> 170</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 60: method entered 170 times.">    <span class="keyword">protected</span> <span class="keyword">int</span> createHashCode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: statement executed 170 times."> 170</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: statement executed 170 times.">        <span class="keyword">int</span> hashCode = <span class="keyword">super</span>.createHashCode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 170 times."> 170</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 170 times.">        <span class="keyword">if</span> (parent != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: statement executed 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: statement executed 29 times.">            hashCode ^= parent.hashCode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: statement executed 170 times."> 170</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: statement executed 170 times.">        <span class="keyword">return</span> hashCode;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Implements an identity based comparsion using the parent element as well</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * as the prefix and URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: method entered 137 times."> 137</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: method entered 137 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> equals(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: expression evaluated to true 137 times, false 0 times."> 137</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: expression evaluated to true 137 times, false 0 times.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> DefaultNamespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 137 times."> 137</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 137 times.">            DefaultNamespace that = (DefaultNamespace) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: expression evaluated to true 137 times, false 0 times."> 137</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: expression evaluated to true 137 times, false 0 times.">            <span class="keyword">if</span> (that.parent == parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 137 times."> 137</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 137 times.">                <span class="keyword">return</span> <span class="keyword">super</span>.equals(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 91: method entered 448 times."> 448</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 91: method entered 448 times.">    <span class="keyword">public</span> <span class="keyword">int</span> hashCode() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 448 times."> 448</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 448 times.">        <span class="keyword">return</span> <span class="keyword">super</span>.hashCode();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: method entered 581 times."> 581</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: method entered 581 times.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 581 times."> 581</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 581 times.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: method entered 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: method entered 20 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: statement executed 20 times.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: method entered 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: method entered 29 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 104</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 104: statement executed 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 104: statement executed 29 times.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    </SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 1 time.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultProcessingInstruction.html b/docs/clover/org/dom4j/tree/DefaultProcessingInstruction.html
new file mode 100644
index 0000000..da99fae
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultProcessingInstruction.html
@@ -0,0 +1,694 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultProcessingInstruction.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultProcessingInstruction.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">145</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">11</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">44</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultProcessingInstruction.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">21,4%</TD>
+    <TD class="graphPercent" align="center">27,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>24%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="48" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="152" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultProcessingInstruction</code> is the default Processing</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Instruction implementation. It is a doubly linked node which supports the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * parent relationship and can be modified in place.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.13 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultProcessingInstruction"> 24</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultProcessingInstruction <span class="keyword">extends</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        org.dom4j.tree.FlyweightProcessingInstruction {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The parent of this node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will create a new PI with the given target and values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Map</code> values for the PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">public</span> DefaultProcessingInstruction(String target, Map values) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: statement not executed.">        <span class="keyword">super</span>(target, values);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will create a new PI with the given target and values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the values for the PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: method entered 28 times.">    <span class="keyword">public</span> DefaultProcessingInstruction(String target, String values) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 28 times.">        <span class="keyword">super</span>(target, values);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will create a new PI with the given target and values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the parent element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the values for the PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: method not entered.">    <span class="keyword">public</span> DefaultProcessingInstruction(Element parent, String target,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String values) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">        <span class="keyword">super</span>(target, values);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setTarget(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">        <span class="keyword">this</span>.target = target;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        <span class="keyword">this</span>.values = parseValues(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setValues(Map values) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">        <span class="keyword">this</span>.values = values;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">this</span>.text = toString(values);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setValue(String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        values.put(name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: method entered 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: method entered 25 times.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 25 times."> 25</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 25 times.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: method entered 1 time.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: statement executed 1 time.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/DefaultText.html b/docs/clover/org/dom4j/tree/DefaultText.html
new file mode 100644
index 0000000..d2e288a
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/DefaultText.html
@@ -0,0 +1,524 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ DefaultText.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultText.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">105</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">27</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultText.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">85,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>80%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="160" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="40" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultText</code> is the default Text implementation. It is a doubly</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * linked node which supports the parent relationship and can be modified in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * place.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.11 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultText"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultText <span class="keyword">extends</span> FlyweightText {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The parent of this node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element parent;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Text text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: method entered 121763 times."> 121763</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: method entered 121763 times.">    <span class="keyword">public</span> DefaultText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: statement executed 121763 times."> 121763</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: statement executed 121763 times.">        <span class="keyword">super</span>(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> parent</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the parent element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Text text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> DefaultText(Element parent, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">super</span>(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 49: method entered 12026 times."> 12026</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 49: method entered 12026 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: statement executed 12026 times."> 12026</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: statement executed 12026 times.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: method entered 266 times."> 266</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: method entered 266 times.">    <span class="keyword">public</span> Element getParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 266 times."> 266</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 266 times.">        <span class="keyword">return</span> parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 134189 times."> 134189</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 134189 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setParent(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 134189 times."> 134189</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 134189 times.">        <span class="keyword">this</span>.parent = parent;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 61: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 61: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> supportsParent() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: statement executed 6 times.">        <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: method entered 200 times."> 200</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: method entered 200 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isReadOnly() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 200 times."> 200</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 200 times.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/ElementIterator.html b/docs/clover/org/dom4j/tree/ElementIterator.html
new file mode 100644
index 0000000..a6a11c8
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/ElementIterator.html
@@ -0,0 +1,406 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ ElementIterator.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ElementIterator.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">79</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">2</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">11</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ElementIterator.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ElementIterator</code> is a filtering {@link Iterator}which filters</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * out objects which do not implement the {@link Element}interface.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@deprecated</span> THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ElementIterator"> 25</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> ElementIterator <span class="keyword">extends</span> FilterIterator {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 26</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 26: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 26: method not entered.">    <span class="keyword">public</span> ElementIterator(Iterator proxy) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 27: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 27: statement not executed.">        <span class="keyword">super</span>(proxy);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the given element implements the {@link Element}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: method not entered.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> matches(Object element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: statement not executed.">        <span class="keyword">return</span> element <span class="keyword">instanceof</span> Element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/ElementNameIterator.html b/docs/clover/org/dom4j/tree/ElementNameIterator.html
new file mode 100644
index 0000000..3109856
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/ElementNameIterator.html
@@ -0,0 +1,450 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ ElementNameIterator.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ElementNameIterator.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">89</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">2</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">17</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ElementNameIterator.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ElementNameIterator</code> is a filtering {@link Iterator}which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * filters out objects which do not implement the {@link Element}interface and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * are not of the correct element name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.11 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@deprecated</span> THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ElementNameIterator"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> ElementNameIterator <span class="keyword">extends</span> FilterIterator {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String name;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 29: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 29: method not entered.">    <span class="keyword">public</span> ElementNameIterator(Iterator proxy, String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: statement not executed.">        <span class="keyword">super</span>(proxy);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: statement not executed.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the given element implements the {@link Element}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> matches(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">            Element element = (Element) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">            <span class="keyword">return</span> name.equals(element.getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/ElementQNameIterator.html b/docs/clover/org/dom4j/tree/ElementQNameIterator.html
new file mode 100644
index 0000000..037aa2f
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/ElementQNameIterator.html
@@ -0,0 +1,454 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ ElementQNameIterator.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ElementQNameIterator.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">90</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">2</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">18</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ElementQNameIterator.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ElementQNameIterator</code> is a filtering {@link Iterator}which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * filters out objects which do not implement the {@link Element}interface and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * are not of the correct fully qualified element name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@deprecated</span> THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ElementQNameIterator"> 27</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> ElementQNameIterator <span class="keyword">extends</span> FilterIterator {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName qName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: method not entered.">    <span class="keyword">public</span> ElementQNameIterator(Iterator proxy, QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: statement not executed.">        <span class="keyword">super</span>(proxy);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: statement not executed.">        <span class="keyword">this</span>.qName = qName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the given element implements the {@link Element}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         interface and matches the given {@link QName}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> matches(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">            Element element = (Element) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">            <span class="keyword">return</span> qName.equals(element.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/FilterIterator.html b/docs/clover/org/dom4j/tree/FilterIterator.html
new file mode 100644
index 0000000..0446812
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/FilterIterator.html
@@ -0,0 +1,625 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ FilterIterator.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="FilterIterator.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">129</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">5</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">42</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   FilterIterator.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.NoSuchElementException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>FilterIterator</code> is an abstract base class which is useful for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementors of {@link Iterator}which filter an existing iterator.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@deprecated</span> THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="FilterIterator"> 24</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> FilterIterator <span class="keyword">implements</span> Iterator {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Iterator proxy;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object next;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> first = <span class="keyword">true</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: method not entered.">    <span class="keyword">public</span> FilterIterator(Iterator proxy) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: statement not executed.">        <span class="keyword">this</span>.proxy = proxy;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasNext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: statement not executed.">        <span class="keyword">if</span> (first) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: statement not executed.">            next = findNext();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">            first = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: statement not executed.">        <span class="keyword">return</span> next != <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> Object next() <span class="keyword">throws</span> NoSuchElementException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">if</span> (!hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> NoSuchElementException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        Object answer = <span class="keyword">this</span>.next;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">        <span class="keyword">this</span>.next = findNext();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Always throws UnsupportedOperationException as this class does look-ahead</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * with its internal iterator.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> UnsupportedOperationException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             always</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> remove() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Filter method to perform some matching on the given element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the given element matches the filter and should be appear</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         in the iteration</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> abstract <span class="keyword">boolean</span> matches(Object element);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">protected</span> Object findNext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">if</span> (proxy != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">            <span class="keyword">while</span> (proxy.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">                Object nextObject = proxy.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">                <span class="keyword">if</span> ((nextObject != <span class="keyword">null</span>) && matches(nextObject)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">                    <span class="keyword">return</span> nextObject;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">            proxy = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/FlyweightAttribute.html b/docs/clover/org/dom4j/tree/FlyweightAttribute.html
new file mode 100644
index 0000000..493a39c
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/FlyweightAttribute.html
@@ -0,0 +1,572 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ FlyweightAttribute.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="FlyweightAttribute.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">117</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">6</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">28</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   FlyweightAttribute.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">44,4%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>46,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="93" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="107" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * singly linked, read-only XML Attribute.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This node could be shared across documents and elements though it does not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * support the parent relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="FlyweightAttribute"> 27</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> FlyweightAttribute <span class="keyword">extends</span> AbstractAttribute {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The <code>QName</code> for this element */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName qname;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The value of the <code>Attribute</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String value;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 34: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 34: method not entered.">    <span class="keyword">public</span> FlyweightAttribute(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: statement not executed.">        <span class="keyword">this</span>.qname = qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: method entered 14283 times."> 14283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: method entered 14283 times.">    <span class="keyword">public</span> FlyweightAttribute(QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 14283 times."> 14283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 14283 times.">        <span class="keyword">this</span>.qname = qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 14283 times."> 14283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 14283 times.">        <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Attribute</code> with the specified local name and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * value.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the value of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: method not entered.">    <span class="keyword">public</span> FlyweightAttribute(String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">        <span class="keyword">this</span>.qname = getDocumentFactory().createQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Attribute</code> with the specified local name, value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * and <code>Namespace</code>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the value of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the namespace of the attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> FlyweightAttribute(String name, String value, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">this</span>.qname = getDocumentFactory().createQName(name, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        <span class="keyword">this</span>.value = value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: method entered 109420 times."> 109420</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: method entered 109420 times.">    <span class="keyword">public</span> String getValue() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 109420 times."> 109420</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 109420 times.">        <span class="keyword">return</span> value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 77: method entered 156154 times."> 156154</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 77: method entered 156154 times.">    <span class="keyword">public</span> QName getQName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 78: statement executed 156154 times."> 156154</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: statement executed 156154 times.">        <span class="keyword">return</span> qname;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/FlyweightCDATA.html b/docs/clover/org/dom4j/tree/FlyweightCDATA.html
new file mode 100644
index 0000000..76a460d
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/FlyweightCDATA.html
@@ -0,0 +1,439 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ FlyweightCDATA.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="FlyweightCDATA.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">86</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">16</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   FlyweightCDATA.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * singly linked, read-only XML CDATA.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This node could be shared across documents and elements though it does not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * support the parent relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="FlyweightCDATA"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> FlyweightCDATA <span class="keyword">extends</span> AbstractCDATA <span class="keyword">implements</span> CDATA {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Text of the <code>CDATA</code> node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the CDATA text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: method entered 105 times."> 105</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: method entered 105 times.">    <span class="keyword">public</span> FlyweightCDATA(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 105 times."> 105</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 105 times.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: method entered 627 times."> 627</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: method entered 627 times.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 627 times."> 627</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 627 times.">        <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">protected</span> Node createXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultCDATA(parent, getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/FlyweightComment.html b/docs/clover/org/dom4j/tree/FlyweightComment.html
new file mode 100644
index 0000000..3b8ac9f
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/FlyweightComment.html
@@ -0,0 +1,439 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ FlyweightComment.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="FlyweightComment.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">86</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">16</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   FlyweightComment.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>FlyweightComment</code> is a Flyweight pattern implementation of a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * singly linked, read-only XML Comment.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This node could be shared across documents and elements though it does not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * support the parent relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="FlyweightComment"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> FlyweightComment <span class="keyword">extends</span> AbstractComment <span class="keyword">implements</span> Comment {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Text of the <code>Comment</code> node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Comment text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: method entered 515 times."> 515</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: method entered 515 times.">    <span class="keyword">public</span> FlyweightComment(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 515 times."> 515</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 515 times.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: method entered 3034 times."> 3034</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: method entered 3034 times.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 3034 times."> 3034</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 3034 times.">        <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">protected</span> Node createXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultComment(parent, getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/FlyweightEntity.html b/docs/clover/org/dom4j/tree/FlyweightEntity.html
new file mode 100644
index 0000000..1d55be8
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/FlyweightEntity.html
@@ -0,0 +1,693 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ FlyweightEntity.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="FlyweightEntity.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">147</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">7</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">33</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   FlyweightEntity.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">22,2%</TD>
+    <TD class="graphPercent" align="center">14,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>16,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="33" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="167" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>FlyweightEntity</code> is a Flyweight pattern implementation of a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * singly linked, read-only XML entity.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This node could be shared across documents and elements though it does not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * support the parent relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Often this node needs to be created and then the text content added later</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * (for example in SAX) so this implementation allows a call to {@link#setText}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * providing the entity has no text already.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.6 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="FlyweightEntity"> 33</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> FlyweightEntity <span class="keyword">extends</span> AbstractEntity {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The name of the <code>Entity</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String name;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The text of the <code>Entity</code> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A default constructor for implementors to use.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">protected</span> FlyweightEntity() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Entity</code> with the specified name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: method not entered.">    <span class="keyword">public</span> FlyweightEntity(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Creates the <code>Entity</code> with the specified name and text.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the text of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: method entered 4 times.">    <span class="keyword">public</span> FlyweightEntity(String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 4 times.">        <span class="keyword">this</span>.name = name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 4 times.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the name of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: method not entered.">    <span class="keyword">public</span> String getName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        <span class="keyword">return</span> name;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the text of the entity</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: method not entered.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">        <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * sets the value of the entity if it is not defined yet otherwise an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>UnsupportedOperationException</code> is thrown as this class is</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * read only.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> UnsupportedOperationException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">this</span>.text != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">            <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="string">"This Entity is read-only. "</span> + <span class="string">"It cannot be modified"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: method not entered.">    <span class="keyword">protected</span> Node createXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultEntity(parent, getName(), getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/FlyweightProcessingInstruction.html b/docs/clover/org/dom4j/tree/FlyweightProcessingInstruction.html
new file mode 100644
index 0000000..2cbf4a3
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/FlyweightProcessingInstruction.html
@@ -0,0 +1,697 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ FlyweightProcessingInstruction.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="FlyweightProcessingInstruction.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">146</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">9</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">46</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   FlyweightProcessingInstruction.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">55,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>57,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="115" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="85" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Collections;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>FlyweightProcessingInstruction</code> is a Flyweight pattern</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * implementation of a singly linked, read-only XML Processing Instruction.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This node could be shared across documents and elements though it does not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * support the parent relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="FlyweightProcessingInstruction"> 30</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> FlyweightProcessingInstruction <span class="keyword">extends</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        AbstractProcessingInstruction {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The target of the PI */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String target;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The values for the PI as a String */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The values for the PI in name/value pairs */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Map values;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A default constructor for implementors to use.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> FlyweightProcessingInstruction() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will create a new PI with the given target and values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Map</code> of the values for the PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> FlyweightProcessingInstruction(String target, Map values) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        <span class="keyword">this</span>.target = target;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        <span class="keyword">this</span>.values = values;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">        <span class="keyword">this</span>.text = toString(values);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * This will create a new PI with the given target and values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> target</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the name of the PI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the values for the PI as text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: method entered 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: method entered 28 times.">    <span class="keyword">public</span> FlyweightProcessingInstruction(String target, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 28 times.">        <span class="keyword">this</span>.target = target;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 75: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 75: statement executed 28 times.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 76: statement executed 28 times."> 28</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 76: statement executed 28 times.">        <span class="keyword">this</span>.values = parseValues(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: method entered 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: method entered 29 times.">    <span class="keyword">public</span> String getTarget() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 29 times.">        <span class="keyword">return</span> target;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setTarget(String target) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"This PI is read-only and "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">"cannot be modified"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: method entered 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: method entered 29 times.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: statement executed 29 times."> 29</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: statement executed 29 times.">        <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: method entered 4 times.">    <span class="keyword">public</span> String getValue(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 4 times.">        String answer = (String) values.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: expression evaluated to true 0 times, false 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: expression evaluated to true 0 times, false 4 times.">        <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">            <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 4 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: method entered 1 time.">    <span class="keyword">public</span> Map getValues() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 1 time.">        <span class="keyword">return</span> Collections.unmodifiableMap(values);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: method not entered.">    <span class="keyword">protected</span> Node createXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultProcessingInstruction(parent, getTarget(), getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/FlyweightText.html b/docs/clover/org/dom4j/tree/FlyweightText.html
new file mode 100644
index 0000000..3d37954
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/FlyweightText.html
@@ -0,0 +1,439 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ FlyweightText.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="FlyweightText.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">86</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">16</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   FlyweightText.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>FlyweightText</code> is a Flyweight pattern implementation of a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * singly linked, read-only XML Text.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This node could be shared across documents and elements though it does not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * support the parent relationship.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="FlyweightText"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> FlyweightText <span class="keyword">extends</span> AbstractText <span class="keyword">implements</span> Text {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Text of the <code>Text</code> node */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> String text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the Text text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: method entered 121763 times."> 121763</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: method entered 121763 times.">    <span class="keyword">public</span> FlyweightText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 121763 times."> 121763</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 121763 times.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: method entered 392739 times."> 392739</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: method entered 392739 times.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 392739 times."> 392739</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 392739 times.">        <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">protected</span> Node createXPathResult(Element parent) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> DefaultText(parent, getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/NamespaceCache.html b/docs/clover/org/dom4j/tree/NamespaceCache.html
new file mode 100644
index 0000000..186443d
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/NamespaceCache.html
@@ -0,0 +1,1004 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ NamespaceCache.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="NamespaceCache.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">216</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">89</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   NamespaceCache.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">80%</TD>
+    <TD class="graphPercent" align="center">87,2%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>85,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="171" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="29" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.lang.ref.WeakReference;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.lang.reflect.Constructor;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>NamespaceCache</code> caches instances of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultNamespace</code> for reuse both across documents and within</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * documents.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Maarten Coene</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Brett Finnell</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.15 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NamespaceCache"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> NamespaceCache {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">static</span> final String CONCURRENTREADERHASHMAP_CLASS</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            = <span class="string">"EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap"</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Cache of {@link Map}instances indexed by URI which contain caches of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * {@link Namespace}for each prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> Map cache;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Cache of {@link Namespace}instances indexed by URI for default</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * namespaces with no prefixes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> Map noPrefixCache;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">static</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">/* Try the java.util.concurrent.ConcurrentHashMap first. */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: statement executed 90 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: statement executed 90 times.">            Class clazz = Class</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    .forName(<span class="string">"java.util.concurrent.ConcurrentHashMap"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">            Constructor construct = clazz.getConstructor(<span class="keyword">new</span> Class[] {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    Integer.TYPE, Float.TYPE, Integer.TYPE });</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">            cache = (Map) construct.newInstance(<span class="keyword">new</span> Object[] {<span class="keyword">new</span> Integer(11),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="keyword">new</span> Float(0.75f), <span class="keyword">new</span> Integer(1) });</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">            noPrefixCache = (Map) construct.newInstance(<span class="keyword">new</span> Object[] {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    <span class="keyword">new</span> Integer(11), <span class="keyword">new</span> Float(0.75f), <span class="keyword">new</span> Integer(1) });</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Throwable t1) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">/* Try to use the util.concurrent library (if in classpath) */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 90 times.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 90 times.">                Class clazz = Class.forName(CONCURRENTREADERHASHMAP_CLASS);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">                cache = (Map) clazz.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: statement not executed.">                noPrefixCache = (Map) clazz.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Throwable t2) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">/* If previous implementations fail, use internal one */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 90 times.">                cache = <span class="keyword">new</span> ConcurrentReaderHashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: statement executed 90 times.">                noPrefixCache = <span class="keyword">new</span> ConcurrentReaderHashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the namespace for the given prefix and uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 79: method entered 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 79: method entered 1121352 times.">    <span class="keyword">public</span> Namespace get(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 80: statement executed 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 80: statement executed 1121352 times.">        Map uriCache = getURICache(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: statement executed 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: statement executed 1121352 times.">        WeakReference ref = (WeakReference) uriCache.get(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 1121352 times.">        Namespace answer = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 1121352 times.">        <span class="keyword">if</span> (ref != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: statement executed 1111030 times."> 1111030</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: statement executed 1111030 times.">            answer = (Namespace) ref.get();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: statement executed 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: statement executed 1121352 times.">        <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: statement executed 10328 times."> 10328</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: statement executed 10328 times.">            <span class="keyword">synchronized</span> (uriCache) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 10328 times."> 10328</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 10328 times.">                ref = (WeakReference) uriCache.get(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: statement executed 10328 times."> 10328</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: statement executed 10328 times.">                <span class="keyword">if</span> (ref != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 6 times.">                    answer = (Namespace) ref.get();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: expression evaluated to true 10328 times, false 0 times."> 10328</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: expression evaluated to true 10328 times, false 0 times.">                <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 97: statement executed 10328 times."> 10328</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 97: statement executed 10328 times.">                    answer = createNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 98: statement executed 10328 times."> 10328</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 98: statement executed 10328 times.">                    uriCache.put(prefix, <span class="keyword">new</span> WeakReference(answer));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 1121352 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the name model for the given name and namepsace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: method entered 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: method entered 26 times.">    <span class="keyword">public</span> Namespace get(String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 26 times.">        WeakReference ref = (WeakReference) noPrefixCache.get(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 26 times.">        Namespace answer = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 118: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: statement executed 26 times.">        <span class="keyword">if</span> (ref != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 119: statement executed 20 times."> 20</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 119: statement executed 20 times.">            answer = (Namespace) ref.get();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 26 times.">        <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 6 times.">            <span class="keyword">synchronized</span> (noPrefixCache) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: statement executed 6 times.">                ref = (WeakReference) noPrefixCache.get(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: expression evaluated to true 0 times, false 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: expression evaluated to true 0 times, false 6 times.">                <span class="keyword">if</span> (ref != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">                    answer = (Namespace) ref.get();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: expression evaluated to true 6 times, false 0 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: expression evaluated to true 6 times, false 0 times.">                <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 131: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 131: statement executed 6 times.">                    answer = createNamespace(<span class="string">""</span>, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 6 times.">                    noPrefixCache.put(uri, <span class="keyword">new</span> WeakReference(answer));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 137: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 137: statement executed 26 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the cache for the given namespace URI. If one does not currently</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         exist it is created.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: method entered 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: method entered 1121352 times.">    <span class="keyword">protected</span> Map getURICache(String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 1121352 times.">        Map answer = (Map) cache.get(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 1121352 times.">        <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 153: statement executed 10296 times."> 10296</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 153: statement executed 10296 times.">            <span class="keyword">synchronized</span> (cache) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 154: statement executed 10296 times."> 10296</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 154: statement executed 10296 times.">                answer = (Map) cache.get(uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: expression evaluated to true 10296 times, false 0 times."> 10296</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: expression evaluated to true 10296 times, false 0 times.">                <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: statement executed 10296 times."> 10296</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: statement executed 10296 times.">                    answer = <span class="keyword">new</span> ConcurrentReaderHashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 158</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 158: statement executed 10296 times."> 10296</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 158: statement executed 10296 times.">                    cache.put(uri, answer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: statement executed 1121352 times."> 1121352</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: statement executed 1121352 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A factory method to create {@link Namespace}instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a newly created {@link Namespace}instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: method entered 10334 times."> 10334</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: method entered 10334 times.">    <span class="keyword">protected</span> Namespace createNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 10334 times."> 10334</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 10334 times.">        <span class="keyword">return</span> <span class="keyword">new</span> Namespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 211</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/NamespaceStack.html b/docs/clover/org/dom4j/tree/NamespaceStack.html
new file mode 100644
index 0000000..9fcd7f1
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/NamespaceStack.html
@@ -0,0 +1,2255 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ NamespaceStack.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="NamespaceStack.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">504</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">25</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">229</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   NamespaceStack.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">77,9%</TD>
+    <TD class="graphPercent" align="center">88%</TD>
+    <TD class="graphPercent" align="center">88%</TD>
+    <TD class="graphBarLeft" align="center"><B>84,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="169" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="31" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * NamespaceStack implements a stack of namespaces and optionally maintains a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * cache of all the fully qualified names (<code>QName</code>) which are in</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * scope. This is useful when building or navigating a <i>dom4j </i> document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.13 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NamespaceStack"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> NamespaceStack {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The factory used to create new <code>Namespace</code> instances */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory documentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Stack of namespaces */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ArrayList namespaceStack = <span class="keyword">new</span> ArrayList();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The cache of qualifiedNames to QNames per namespace context */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ArrayList namespaceCacheList = <span class="keyword">new</span> ArrayList();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A cache of current namespace context cache of mapping from qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * to QName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map currentNamespaceCache;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A cache of mapping from qualifiedName to QName before any namespaces are</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * declared</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map rootNamespaceCache = <span class="keyword">new</span> HashMap();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Caches the default namespace defined via xmlns="" */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Namespace defaultNamespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: method entered 2198 times."> 2198</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: method entered 2198 times.">    <span class="keyword">public</span> NamespaceStack() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 2198 times."> 2198</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 2198 times.">        <span class="keyword">this</span>.documentFactory = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: method entered 5831 times."> 5831</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: method entered 5831 times.">    <span class="keyword">public</span> NamespaceStack(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 5831 times."> 5831</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 5831 times.">        <span class="keyword">this</span>.documentFactory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Pushes the given namespace onto the stack so that its prefix becomes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * available.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the <code>Namespace</code> to add to the stack.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: method entered 8825 times."> 8825</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: method entered 8825 times.">    <span class="keyword">public</span> <span class="keyword">void</span> push(Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: statement executed 8825 times."> 8825</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: statement executed 8825 times.">        namespaceStack.add(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 68: statement executed 8825 times."> 8825</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 68: statement executed 8825 times.">        namespaceCacheList.add(<span class="keyword">null</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 8825 times."> 8825</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 8825 times.">        currentNamespaceCache = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: statement executed 8825 times."> 8825</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: statement executed 8825 times.">        String prefix = namespace.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 8825 times."> 8825</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 8825 times.">        <span class="keyword">if</span> ((prefix == <span class="keyword">null</span>) || (prefix.length() == 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 74: statement executed 2374 times."> 2374</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 74: statement executed 2374 times.">            defaultNamespace = namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Pops the most recently used <code>Namespace</code> from the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> Namespace popped from the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: method entered 744 times."> 744</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: method entered 744 times.">    <span class="keyword">public</span> Namespace pop() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: statement executed 744 times."> 744</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: statement executed 744 times.">        <span class="keyword">return</span> remove(namespaceStack.size() - 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the number of namespaces on the stackce stack.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 92: method entered 163293 times."> 163293</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 92: method entered 163293 times.">    <span class="keyword">public</span> <span class="keyword">int</span> size() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 163293 times."> 163293</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 163293 times.">        <span class="keyword">return</span> namespaceStack.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Clears the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: method entered 11678 times."> 11678</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: method entered 11678 times.">    <span class="keyword">public</span> <span class="keyword">void</span> clear() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 100: statement executed 11678 times."> 11678</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 100: statement executed 11678 times.">        namespaceStack.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 101: statement executed 11678 times."> 11678</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 101: statement executed 11678 times.">        namespaceCacheList.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: statement executed 11678 times."> 11678</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: statement executed 11678 times.">        rootNamespaceCache.clear();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 11678 times."> 11678</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 11678 times.">        currentNamespaceCache = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> index</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the namespace at the specified index on the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: method entered 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: method entered 5884 times.">    <span class="keyword">public</span> Namespace getNamespace(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 5884 times.">        <span class="keyword">return</span> (Namespace) namespaceStack.get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the namespace for the given prefix or null if it could not be</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         found.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: method entered 2140 times."> 2140</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: method entered 2140 times.">    <span class="keyword">public</span> Namespace getNamespaceForPrefix(String prefix) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: expression evaluated to true 0 times, false 2140 times."> 2140</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: expression evaluated to true 0 times, false 2140 times.">        <span class="keyword">if</span> (prefix == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">            prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 2140 times."> 2140</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 2140 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = namespaceStack.size() - 1; i >= 0; i--) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: statement executed 2767 times."> 2767</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: statement executed 2767 times.">            Namespace namespace = (Namespace) namespaceStack.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 2767 times."> 2767</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 2767 times.">            <span class="keyword">if</span> (prefix.equals(namespace.getPrefix())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 136: statement executed 1532 times."> 1532</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 136: statement executed 1532 times.">                <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 140: statement executed 608 times."> 608</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 140: statement executed 608 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the URI for the given prefix or null if it could not be found.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: method entered 14 times.">    <span class="keyword">public</span> String getURI(String prefix) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 14 times.">        Namespace namespace = getNamespaceForPrefix(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: expression evaluated to true 14 times, false 0 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: expression evaluated to true 14 times, false 0 times.">        <span class="keyword">return</span> (namespace != <span class="keyword">null</span>) ? namespace.getURI() : <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> true if the given prefix is in the stack.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: method entered 20698 times."> 20698</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: method entered 20698 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> contains(Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 20698 times."> 20698</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 20698 times.">        String prefix = namespace.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 167</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 167: statement executed 20698 times."> 20698</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 167: statement executed 20698 times.">        Namespace current = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: statement executed 20698 times."> 20698</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: statement executed 20698 times.">        <span class="keyword">if</span> ((prefix == <span class="keyword">null</span>) || (prefix.length() == 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 170: statement executed 18575 times."> 18575</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 170: statement executed 18575 times.">            current = getDefaultNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 172: statement executed 2123 times."> 2123</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 172: statement executed 2123 times.">            current = getNamespaceForPrefix(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 175: statement executed 20698 times."> 20698</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 175: statement executed 20698 times.">        <span class="keyword">if</span> (current == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: statement executed 622 times."> 622</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: statement executed 622 times.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: statement executed 20076 times."> 20076</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: statement executed 20076 times.">        <span class="keyword">if</span> (current == namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 180: statement executed 19967 times."> 19967</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: statement executed 19967 times.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 109 times."> 109</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 109 times.">        <span class="keyword">return</span> namespace.getURI().equals(current.getURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 186: method entered 94617 times."> 94617</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 186: method entered 94617 times.">    <span class="keyword">public</span> QName getQName(String namespaceURI, String localName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qualifiedName) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 188: statement executed 94577 times."> 94577</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 188: statement executed 94577 times.">        <span class="keyword">if</span> (localName == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 189: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 189: statement executed 11 times.">            localName = qualifiedName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 190: expression evaluated to true 0 times, false 94606 times."> 94606</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 190: expression evaluated to true 0 times, false 94606 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (qualifiedName == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 191: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 191: statement not executed.">            qualifiedName = localName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 194: statement executed 94617 times."> 94617</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 194: statement executed 94617 times.">        <span class="keyword">if</span> (namespaceURI == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: statement executed 7455 times."> 7455</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: statement executed 7455 times.">            namespaceURI = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: statement executed 94577 times."> 94577</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: statement executed 94577 times.">        String prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 94617 times."> 94617</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 94617 times.">        <span class="keyword">int</span> index = qualifiedName.indexOf(<span class="string">":"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 201: statement executed 94617 times."> 94617</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 201: statement executed 94617 times.">        <span class="keyword">if</span> (index > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 13475 times."> 13475</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 13475 times.">            prefix = qualifiedName.substring(0, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 204: expression evaluated to true 0 times, false 13475 times."> 13475</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 204: expression evaluated to true 0 times, false 13475 times.">            <span class="keyword">if</span> (localName.trim().length() == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 205: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 205: statement not executed.">                localName = qualifiedName.substring(index + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: expression evaluated to true 0 times, false 81142 times."> 81142</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: expression evaluated to true 0 times, false 81142 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (localName.trim().length() == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 208: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 208: statement not executed.">            localName = qualifiedName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 94617 times."> 94617</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 94617 times.">        Namespace namespace = createNamespace(prefix, namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 213: statement executed 94617 times."> 94617</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 213: statement executed 94617 times.">        <span class="keyword">return</span> pushQName(localName, qualifiedName, namespace, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 216</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 216: method entered 10455 times."> 10455</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 216: method entered 10455 times.">    <span class="keyword">public</span> QName getAttributeQName(String namespaceURI, String localName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qualifiedName) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 218: expression evaluated to true 0 times, false 10455 times."> 10455</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 218: expression evaluated to true 0 times, false 10455 times.">        <span class="keyword">if</span> (qualifiedName == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 219: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 219: statement not executed.">            qualifiedName = localName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 222: statement executed 10455 times."> 10455</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: statement executed 10455 times.">        Map map = getNamespaceCache();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 223: statement executed 10455 times."> 10455</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 223: statement executed 10455 times.">        QName answer = (QName) map.get(qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: statement executed 10455 times."> 10455</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: statement executed 10455 times.">        <span class="keyword">if</span> (answer != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 226: statement executed 9424 times."> 9424</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 226: statement executed 9424 times.">            <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 229: expression evaluated to true 0 times, false 1031 times."> 1031</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 229: expression evaluated to true 0 times, false 1031 times.">        <span class="keyword">if</span> (localName == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: statement not executed.">            localName = qualifiedName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: expression evaluated to true 0 times, false 1031 times."> 1031</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: expression evaluated to true 0 times, false 1031 times.">        <span class="keyword">if</span> (namespaceURI == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 234: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 234: statement not executed.">            namespaceURI = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 237: statement executed 1031 times."> 1031</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 237: statement executed 1031 times.">        Namespace namespace = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 238: statement executed 1031 times."> 1031</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 238: statement executed 1031 times.">        String prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 239: statement executed 1031 times."> 1031</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 239: statement executed 1031 times.">        <span class="keyword">int</span> index = qualifiedName.indexOf(<span class="string">":"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 241: statement executed 1031 times."> 1031</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 241: statement executed 1031 times.">        <span class="keyword">if</span> (index > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 242: statement executed 99 times."> 99</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 242: statement executed 99 times.">            prefix = qualifiedName.substring(0, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 243: statement executed 99 times."> 99</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 243: statement executed 99 times.">            namespace = createNamespace(prefix, namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: expression evaluated to true 0 times, false 99 times."> 99</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: expression evaluated to true 0 times, false 99 times.">            <span class="keyword">if</span> (localName.trim().length() == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 246: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 246: statement not executed.">                localName = qualifiedName.substring(index + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// attributes with no prefix have no namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 250: statement executed 932 times."> 932</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 250: statement executed 932 times.">            namespace = Namespace.NO_NAMESPACE;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: expression evaluated to true 0 times, false 932 times."> 932</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: expression evaluated to true 0 times, false 932 times.">            <span class="keyword">if</span> (localName.trim().length() == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 253: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 253: statement not executed.">                localName = qualifiedName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 257: statement executed 1031 times."> 1031</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 1031 times.">        answer = pushQName(localName, qualifiedName, namespace, prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 258: statement executed 1031 times."> 1031</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 258: statement executed 1031 times.">        map.put(qualifiedName, answer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 260: statement executed 1031 times."> 1031</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 260: statement executed 1031 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a namepace to the stack with the given prefix and URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 271</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 271: method entered 5886 times."> 5886</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 271: method entered 5886 times.">    <span class="keyword">public</span> <span class="keyword">void</span> push(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 272: expression evaluated to true 0 times, false 5886 times."> 5886</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 272: expression evaluated to true 0 times, false 5886 times.">        <span class="keyword">if</span> (uri == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 273: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 273: statement not executed.">            uri = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 276: statement executed 5886 times."> 5886</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 276: statement executed 5886 times.">        Namespace namespace = createNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 277: statement executed 5886 times."> 5886</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 277: statement executed 5886 times.">        push(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds a new namespace to the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> uri</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 290</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 290: method entered 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 290: method entered 52 times.">    <span class="keyword">public</span> Namespace addNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 291</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 291: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 291: statement executed 52 times.">        Namespace namespace = createNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 292: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 292: statement executed 52 times.">        push(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 294</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 294: statement executed 52 times."> 52</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 294: statement executed 52 times.">        <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Pops a namepace from the stack with the given prefix and URI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 305: method entered 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 305: method entered 5884 times.">    <span class="keyword">public</span> Namespace pop(String prefix) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 306</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 306: expression evaluated to true 0 times, false 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 306: expression evaluated to true 0 times, false 5884 times.">        <span class="keyword">if</span> (prefix == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 307</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 307: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 307: statement not executed.">            prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 310: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 310: statement executed 5884 times.">        Namespace namespace = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 312: expression evaluated to true 5986 times, false 0 times."> 5986</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 312: expression evaluated to true 5986 times, false 0 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = namespaceStack.size() - 1; i >= 0; i--) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 313</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 313: statement executed 5986 times."> 5986</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 313: statement executed 5986 times.">            Namespace ns = (Namespace) namespaceStack.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 315</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 315: statement executed 5986 times."> 5986</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 315: statement executed 5986 times.">            <span class="keyword">if</span> (prefix.equals(ns.getPrefix())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 316</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 316: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 316: statement executed 5884 times.">                remove(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 317</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 317: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 317: statement executed 5884 times.">                namespace = ns;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 319</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 319: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 319: statement executed 5884 times.">                <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 323</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 323: expression evaluated to true 0 times, false 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 323: expression evaluated to true 0 times, false 5884 times.">        <span class="keyword">if</span> (namespace == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 324</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 324: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 324: statement not executed.">            System.out.println(<span class="string">"Warning: missing namespace prefix ignored: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + prefix);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 328: statement executed 5884 times."> 5884</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 328: statement executed 5884 times.">        <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 331</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 331: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 331: method not entered.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 332</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 332: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 332: statement not executed.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" Stack: "</span> + namespaceStack.toString();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 335</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 335: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 335: method not entered.">    <span class="keyword">public</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 336: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 336: statement not executed.">        <span class="keyword">return</span> documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 339: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 339: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 340</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 340: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 340: statement not executed.">        <span class="keyword">this</span>.documentFactory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 343</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 343: method entered 18576 times."> 18576</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 343: method entered 18576 times.">    <span class="keyword">public</span> Namespace getDefaultNamespace() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 344</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 344: statement executed 18576 times."> 18576</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 344: statement executed 18576 times.">        <span class="keyword">if</span> (defaultNamespace == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 345</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 345: statement executed 46 times."> 46</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 345: statement executed 46 times.">            defaultNamespace = findDefaultNamespace();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 348</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 348: statement executed 18576 times."> 18576</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 348: statement executed 18576 times.">        <span class="keyword">return</span> defaultNamespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 352</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 353</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the QName to the stack of available QNames</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 356</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 357</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> localName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 358</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 360</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 362</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 366</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 367</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 368: method entered 95648 times."> 95648</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 368: method entered 95648 times.">    <span class="keyword">protected</span> QName pushQName(String localName, String qualifiedName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Namespace namespace, String prefix) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 370</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 370: statement executed 95648 times."> 95648</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 370: statement executed 95648 times.">        <span class="keyword">if</span> ((prefix == <span class="keyword">null</span>) || (prefix.length() == 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 371</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 371: statement executed 82074 times."> 82074</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 371: statement executed 82074 times.">            <span class="keyword">this</span>.defaultNamespace = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 372</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 374: statement executed 95648 times."> 95648</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 374: statement executed 95648 times.">        <span class="keyword">return</span> createQName(localName, qualifiedName, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to creeate new QName instances. By default this method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * interns the QName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> localName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 390</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 390: method entered 95648 times."> 95648</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 390: method entered 95648 times.">    <span class="keyword">protected</span> QName createQName(String localName, String qualifiedName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Namespace namespace) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 392</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 392: statement executed 95648 times."> 95648</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 392: statement executed 95648 times.">        <span class="keyword">return</span> documentFactory.createQName(localName, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to creeate new Namespace instances. By default this method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * interns the Namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> prefix</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceURI</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 406</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 406: method entered 100654 times."> 100654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 406: method entered 100654 times.">    <span class="keyword">protected</span> Namespace createNamespace(String prefix, String namespaceURI) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 407</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 407: statement executed 100654 times."> 100654</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 407: statement executed 100654 times.">        <span class="keyword">return</span> documentFactory.createNamespace(prefix, namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Attempts to find the current default namespace on the stack right now or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * returns null if one could not be found</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 414</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 415</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 416</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 416: method entered 46 times."> 46</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 416: method entered 46 times.">    <span class="keyword">protected</span> Namespace findDefaultNamespace() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 417</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 417: statement executed 46 times."> 46</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 417: statement executed 46 times.">        <span class="keyword">for</span> (<span class="keyword">int</span> i = namespaceStack.size() - 1; i >= 0; i--) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 418</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 418: statement executed 91 times."> 91</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 418: statement executed 91 times.">            Namespace namespace = (Namespace) namespaceStack.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 419</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 420</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 420: expression evaluated to true 91 times, false 0 times."> 91</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 420: expression evaluated to true 91 times, false 0 times.">            <span class="keyword">if</span> (namespace != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 421</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 421: statement executed 91 times."> 91</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 421: statement executed 91 times.">                String prefix = namespace.getPrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 422</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 423</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 423: statement executed 91 times."> 91</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 423: statement executed 91 times.">                <span class="keyword">if</span> ((prefix == <span class="keyword">null</span>) || (namespace.getPrefix().length() == 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 424</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 424: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 424: statement executed 30 times.">                    <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 425</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 426</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 427</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 428</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 429</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 429: statement executed 16 times."> 16</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 429: statement executed 16 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 430</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 431</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 432</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 433</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes the namespace at the given index of the stack</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 434</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 435</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> index</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 436</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 437</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 438</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 439</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 440</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 440: method entered 6628 times."> 6628</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 440: method entered 6628 times.">    <span class="keyword">protected</span> Namespace remove(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 441</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 441: statement executed 6628 times."> 6628</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 441: statement executed 6628 times.">        Namespace namespace = (Namespace) namespaceStack.remove(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 442</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 442: statement executed 6628 times."> 6628</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 442: statement executed 6628 times.">        namespaceCacheList.remove(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 443</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 443: statement executed 6628 times."> 6628</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 443: statement executed 6628 times.">        defaultNamespace = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 444</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 444: statement executed 6628 times."> 6628</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 444: statement executed 6628 times.">        currentNamespaceCache = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 445</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 446</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 446: statement executed 6628 times."> 6628</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 446: statement executed 6628 times.">        <span class="keyword">return</span> namespace;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 447</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 448</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 449</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 449: method entered 10455 times."> 10455</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 449: method entered 10455 times.">    <span class="keyword">protected</span> Map getNamespaceCache() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 450</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 450: statement executed 10455 times."> 10455</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 450: statement executed 10455 times.">        <span class="keyword">if</span> (currentNamespaceCache == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 451</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 451: statement executed 320 times."> 320</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 451: statement executed 320 times.">            <span class="keyword">int</span> index = namespaceStack.size() - 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 452</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 453</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 453: statement executed 320 times."> 320</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 453: statement executed 320 times.">            <span class="keyword">if</span> (index < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 454</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 454: statement executed 76 times."> 76</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 454: statement executed 76 times.">                currentNamespaceCache = rootNamespaceCache;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 455</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 456</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 456: statement executed 244 times."> 244</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 456: statement executed 244 times.">                currentNamespaceCache = (Map) namespaceCacheList.get(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 457</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 458</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 458: statement executed 244 times."> 244</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 458: statement executed 244 times.">                <span class="keyword">if</span> (currentNamespaceCache == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 459</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 459: statement executed 212 times."> 212</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 459: statement executed 212 times.">                    currentNamespaceCache = <span class="keyword">new</span> HashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 460</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 460: statement executed 212 times."> 212</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 460: statement executed 212 times.">                    namespaceCacheList.set(index, currentNamespaceCache);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 461</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 462</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 463</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 464</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 465</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 465: statement executed 10455 times."> 10455</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 465: statement executed 10455 times.">        <span class="keyword">return</span> currentNamespaceCache;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 466</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 467</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 468</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 469</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 470</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 471</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 472</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 473</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 474</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 475</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 476</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 477</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 478</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 479</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 480</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 481</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 482</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 483</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 484</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 485</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 486</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 487</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 488</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 489</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 490</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 491</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 492</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 493</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 494</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 495</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 496</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 497</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 498</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 499</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 500</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 501</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 502</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 503</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 504</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/QNameCache.html b/docs/clover/org/dom4j/tree/QNameCache.html
new file mode 100644
index 0000000..4ca7ba6
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/QNameCache.html
@@ -0,0 +1,1398 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ QNameCache.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="QNameCache.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">310</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">13</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">117</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   QNameCache.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">77,3%</TD>
+    <TD class="graphPercent" align="center">78,6%</TD>
+    <TD class="graphPercent" align="center">76,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>78%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="156" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="44" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Collections;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.WeakHashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>QNameCache</code> caches instances of <code>QName</code> for reuse</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * both across documents and within documents.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p>< < < < < < < QNameCache.java</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.16 $ =======</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.16 $ >>>>>>> 1.15</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="QNameCache"> 34</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> QNameCache {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Cache of {@link QName}instances with no namespace */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Map noNamespaceCache = Collections</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            .synchronizedMap(<span class="keyword">new</span> WeakHashMap());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Cache of {@link Map}instances indexed by namespace which contain caches</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * of {@link QName}for each name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> Map namespaceCache = Collections</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            .synchronizedMap(<span class="keyword">new</span> WeakHashMap());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The document factory associated with new QNames instances in this cache</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or null if no instances should be associated by default</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory documentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: method entered 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: method entered 90 times.">    <span class="keyword">public</span> QNameCache() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: method entered 544 times."> 544</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: method entered 544 times.">    <span class="keyword">public</span> QNameCache(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 544 times."> 544</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 544 times.">        <span class="keyword">this</span>.documentFactory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Returns a list of all the QName instances currently used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: method entered 1 time.">    <span class="keyword">public</span> List getQNames() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 1 time.">        List answer = <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 1 time.">        answer.addAll(noNamespaceCache.values());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 68: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 68: statement executed 1 time.">        <span class="keyword">for</span> (Iterator it = namespaceCache.values().iterator(); it.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 10 times.">            Map map = (Map) it.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: statement executed 10 times."> 10</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: statement executed 10 times.">            answer.addAll(map.values());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 73: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 73: statement executed 1 time.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the QName for the given name and no namepsace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 84: method entered 26755 times."> 26755</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 84: method entered 26755 times.">    <span class="keyword">public</span> QName get(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: statement executed 26755 times."> 26755</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: statement executed 26755 times.">        QName answer = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 87: statement executed 26755 times."> 26755</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 87: statement executed 26755 times.">        <span class="keyword">if</span> (name != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 88: statement executed 26631 times."> 26631</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 88: statement executed 26631 times.">            answer = (QName) noNamespaceCache.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 124 times."> 124</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 124 times.">            name = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: statement executed 26755 times."> 26755</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: statement executed 26755 times.">        <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 1065 times."> 1065</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 1065 times.">            answer = createQName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: statement executed 1065 times."> 1065</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 1065 times.">            answer.setDocumentFactory(documentFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 96: statement executed 1065 times."> 1065</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 96: statement executed 1065 times.">            noNamespaceCache.put(name, answer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 26755 times."> 26755</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 26755 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the QName for the given local name and namepsace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: method entered 105078 times."> 105078</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: method entered 105078 times.">    <span class="keyword">public</span> QName get(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: statement executed 105078 times."> 105078</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: statement executed 105078 times.">        Map cache = getNamespaceCache(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: statement executed 105078 times."> 105078</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: statement executed 105078 times.">        QName answer = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 105078 times."> 105078</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 105078 times.">        <span class="keyword">if</span> (name != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 105054 times."> 105054</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 105054 times.">            answer = (QName) cache.get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 119: statement executed 24 times."> 24</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 119: statement executed 24 times.">            name = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 105078 times."> 105078</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 105078 times.">        <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 1595 times."> 1595</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 1595 times.">            answer = createQName(name, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: statement executed 1595 times."> 1595</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: statement executed 1595 times.">            answer.setDocumentFactory(documentFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 125: statement executed 1595 times."> 1595</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 125: statement executed 1595 times.">            cache.put(name, answer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: statement executed 105078 times."> 105078</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: statement executed 105078 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> localName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the QName for the given local name, qualified name and namepsace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 143</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 143: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 143: method not entered.">    <span class="keyword">public</span> QName get(String localName, Namespace namespace, String qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">        Map cache = getNamespaceCache(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">        QName answer = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 147: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 147: statement not executed.">        <span class="keyword">if</span> (localName != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">            answer = (QName) cache.get(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">            localName = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">        <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">            answer = createQName(localName, namespace, qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">            answer.setDocumentFactory(documentFactory);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">            cache.put(localName, answer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: method entered 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: method entered 30 times.">    <span class="keyword">public</span> QName get(String qualifiedName, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 163</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 163: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 163: statement executed 30 times.">        <span class="keyword">int</span> index = qualifiedName.indexOf(':');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: statement executed 30 times."> 30</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: statement executed 30 times.">        <span class="keyword">if</span> (index < 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 166: statement executed 26 times."> 26</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 166: statement executed 26 times.">            <span class="keyword">return</span> get(qualifiedName, Namespace.get(uri));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 168: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 168: statement executed 4 times.">            String name = qualifiedName.substring(index + 1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 169: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 169: statement executed 4 times.">            String prefix = qualifiedName.substring(0, index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: statement executed 4 times.">            <span class="keyword">return</span> get(name, Namespace.get(prefix, uri));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the cached QName instance if there is one or adds the given qname</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         to the cache if not</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 184: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 184: method not entered.">    <span class="keyword">public</span> QName intern(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 185: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 185: statement not executed.">        <span class="keyword">return</span> get(qname.getName(), qname.getNamespace(), qname</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                .getQualifiedName());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the cache for the given namespace. If one does not currently</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         exist it is created.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: method entered 105078 times."> 105078</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: method entered 105078 times.">    <span class="keyword">protected</span> Map getNamespaceCache(Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 105078 times."> 105078</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 105078 times.">        <span class="keyword">if</span> (namespace == Namespace.NO_NAMESPACE) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 200</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 200: statement executed 84795 times."> 84795</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 200: statement executed 84795 times.">            <span class="keyword">return</span> noNamespaceCache;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 203: statement executed 20283 times."> 20283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 203: statement executed 20283 times.">        Map answer = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 205: expression evaluated to true 20283 times, false 0 times."> 20283</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 205: expression evaluated to true 20283 times, false 0 times.">        <span class="keyword">if</span> (namespace != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 206</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 206: statement executed 20283 times."> 20283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 206: statement executed 20283 times.">            answer = (Map) namespaceCache.get(namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 209: statement executed 20283 times."> 20283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 209: statement executed 20283 times.">        <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 210</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 210: statement executed 167 times."> 167</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 210: statement executed 167 times.">            answer = createMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 211: statement executed 167 times."> 167</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 211: statement executed 167 times.">            namespaceCache.put(namespace, answer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 214: statement executed 20283 times."> 20283</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 214: statement executed 20283 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A factory method</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a newly created {@link Map}instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 222: method entered 167 times."> 167</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: method entered 167 times.">    <span class="keyword">protected</span> Map createMap() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 223: statement executed 167 times."> 167</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 223: statement executed 167 times.">        <span class="keyword">return</span> Collections.synchronizedMap(<span class="keyword">new</span> HashMap());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create a new QName object which can be overloaded to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * create derived QName instances</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 235: method entered 1065 times."> 1065</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 235: method entered 1065 times.">    <span class="keyword">protected</span> QName createQName(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 236</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 236: statement executed 1065 times."> 1065</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 236: statement executed 1065 times.">        <span class="keyword">return</span> <span class="keyword">new</span> QName(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create a new QName object which can be overloaded to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * create derived QName instances</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 245</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 248</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 250: method entered 1595 times."> 1595</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 250: method entered 1595 times.">    <span class="keyword">protected</span> QName createQName(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 251: statement executed 1595 times."> 1595</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 251: statement executed 1595 times.">        <span class="keyword">return</span> <span class="keyword">new</span> QName(name, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 255</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to create a new QName object which can be overloaded to</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * create derived QName instances</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> name</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> qualifiedName</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 267: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 267: method not entered.">    <span class="keyword">protected</span> QName createQName(String name, Namespace namespace,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String qualifiedName) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 269: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 269: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> QName(name, namespace, qualifiedName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/SingleIterator.html b/docs/clover/org/dom4j/tree/SingleIterator.html
new file mode 100644
index 0000000..5c24b5d
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/SingleIterator.html
@@ -0,0 +1,432 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ tree\ SingleIterator.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SingleIterator.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">83</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">22</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SingleIterator.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">85,7%</TD>
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphBarLeft" align="center"><B>81,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="163" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="37" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.tree;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>SingleIterator</code> is an {@link Iterator}over a single object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SingleIterator"> 21</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> SingleIterator <span class="keyword">implements</span> Iterator {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> <span class="keyword">boolean</span> first = <span class="keyword">true</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object object;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 26</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 26: method entered 62118 times."> 62118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 26: method entered 62118 times.">    <span class="keyword">public</span> SingleIterator(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 27: statement executed 62118 times."> 62118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 27: statement executed 62118 times.">        <span class="keyword">this</span>.object = object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: method entered 185329 times."> 185329</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: method entered 185329 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> hasNext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: statement executed 185329 times."> 185329</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: statement executed 185329 times.">        <span class="keyword">return</span> first;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: method entered 62118 times."> 62118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: method entered 62118 times.">    <span class="keyword">public</span> Object next() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: statement executed 62118 times."> 62118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: statement executed 62118 times.">        Object answer = object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 62118 times."> 62118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 62118 times.">        object = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: statement executed 62118 times."> 62118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: statement executed 62118 times.">        first = <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 62118 times."> 62118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 62118 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> remove() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> UnsupportedOperationException(<span class="string">"remove() is not supported by "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                + <span class="string">"this iterator"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/tree/pkg-classes.html b/docs/clover/org/dom4j/tree/pkg-classes.html
new file mode 100644
index 0000000..8336086
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/pkg-classes.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.tree">org.dom4j.tree</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="AbstractAttribute.html" title="AbstractAttribute">AbstractAttribute</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="AbstractBranch.html" title="AbstractBranch">AbstractBranch</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="AbstractCDATA.html" title="AbstractCDATA">AbstractCDATA</A>
+    	    <i>(89,5%)</i><BR>
+    
+                <A target="classPane" href="AbstractCharacterData.html" title="AbstractCharacterData">AbstractCharacterData</A>
+    	    <i>(23,1%)</i><BR>
+    
+                <A target="classPane" href="AbstractComment.html" title="AbstractComment">AbstractComment</A>
+    	    <i>(21,7%)</i><BR>
+    
+                <A target="classPane" href="AbstractDocument.html" title="AbstractDocument">AbstractDocument</A>
+    	    <i>(62,4%)</i><BR>
+    
+                <A target="classPane" href="AbstractDocumentType.html" title="AbstractDocumentType">AbstractDocumentType</A>
+    	    <i>(50%)</i><BR>
+    
+                <A target="classPane" href="AbstractElement.html" title="AbstractElement">AbstractElement</A>
+    	    <i>(45,9%)</i><BR>
+    
+                <A target="classPane" href="AbstractEntity.html" title="AbstractEntity">AbstractEntity</A>
+    	    <i>(12%)</i><BR>
+    
+                <A target="classPane" href="AbstractNode.html" title="AbstractNode">AbstractNode</A>
+    	    <i>(67,9%)</i><BR>
+    
+                <A target="classPane" href="AbstractProcessingInstruction.html" title="AbstractProcessingInstruction">AbstractProcessingInstruction</A>
+    	    <i>(49,5%)</i><BR>
+    
+                <A target="classPane" href="AbstractText.html" title="AbstractText">AbstractText</A>
+    	    <i>(63,6%)</i><BR>
+    
+                <A target="classPane" href="BackedList.html" title="BackedList">BackedList</A>
+    	    <i>(47,9%)</i><BR>
+    
+                <A target="classPane" href="BaseElement.html" title="BaseElement">BaseElement</A>
+    	    <i>(18,9%)</i><BR>
+    
+                <A target="classPane" href="ConcurrentReaderHashMap.html" title="ConcurrentReaderHashMap">ConcurrentReaderHashMap</A>
+    	    <i>(35%)</i><BR>
+      
+                <A target="classPane" href="ConcurrentReaderHashMap.html#Entry" title="ConcurrentReaderHashMap.Entry">ConcurrentReaderHashMap.Entry</A>
+    	    <i>(17,9%)</i><BR>
+    
+                <A target="classPane" href="ConcurrentReaderHashMap.html#EntrySet" title="ConcurrentReaderHashMap.EntrySet">ConcurrentReaderHashMap.EntrySet</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="ConcurrentReaderHashMap.html#HashIterator" title="ConcurrentReaderHashMap.HashIterator">ConcurrentReaderHashMap.HashIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="ConcurrentReaderHashMap.html#KeyIterator" title="ConcurrentReaderHashMap.KeyIterator">ConcurrentReaderHashMap.KeyIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="ConcurrentReaderHashMap.html#KeySet" title="ConcurrentReaderHashMap.KeySet">ConcurrentReaderHashMap.KeySet</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="ConcurrentReaderHashMap.html#ValueIterator" title="ConcurrentReaderHashMap.ValueIterator">ConcurrentReaderHashMap.ValueIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="ConcurrentReaderHashMap.html#Values" title="ConcurrentReaderHashMap.Values">ConcurrentReaderHashMap.Values</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="ContentListFacade.html" title="ContentListFacade">ContentListFacade</A>
+    	    <i>(27,6%)</i><BR>
+    
+                <A target="classPane" href="DefaultAttribute.html" title="DefaultAttribute">DefaultAttribute</A>
+    	    <i>(50%)</i><BR>
+    
+                <A target="classPane" href="DefaultCDATA.html" title="DefaultCDATA">DefaultCDATA</A>
+    	    <i>(26,7%)</i><BR>
+    
+                <A target="classPane" href="DefaultComment.html" title="DefaultComment">DefaultComment</A>
+    	    <i>(53,3%)</i><BR>
+    
+                <A target="classPane" href="DefaultDocument.html" title="DefaultDocument">DefaultDocument</A>
+    	    <i>(49,5%)</i><BR>
+    
+                <A target="classPane" href="DefaultDocumentType.html" title="DefaultDocumentType">DefaultDocumentType</A>
+    	    <i>(75%)</i><BR>
+    
+                <A target="classPane" href="DefaultElement.html" title="DefaultElement">DefaultElement</A>
+    	    <i>(65,5%)</i><BR>
+    
+                <A target="classPane" href="DefaultEntity.html" title="DefaultEntity">DefaultEntity</A>
+    	    <i>(21,1%)</i><BR>
+    
+                <A target="classPane" href="DefaultNamespace.html" title="DefaultNamespace">DefaultNamespace</A>
+    	    <i>(90,6%)</i><BR>
+    
+                <A target="classPane" href="DefaultProcessingInstruction.html" title="DefaultProcessingInstruction">DefaultProcessingInstruction</A>
+    	    <i>(24%)</i><BR>
+    
+                <A target="classPane" href="DefaultText.html" title="DefaultText">DefaultText</A>
+    	    <i>(80%)</i><BR>
+    
+                <A target="classPane" href="ElementIterator.html" title="ElementIterator">ElementIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="ElementNameIterator.html" title="ElementNameIterator">ElementNameIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="ElementQNameIterator.html" title="ElementQNameIterator">ElementQNameIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="FilterIterator.html" title="FilterIterator">FilterIterator</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="FlyweightAttribute.html" title="FlyweightAttribute">FlyweightAttribute</A>
+    	    <i>(46,7%)</i><BR>
+    
+                <A target="classPane" href="FlyweightCDATA.html" title="FlyweightCDATA">FlyweightCDATA</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="FlyweightComment.html" title="FlyweightComment">FlyweightComment</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="FlyweightEntity.html" title="FlyweightEntity">FlyweightEntity</A>
+    	    <i>(16,7%)</i><BR>
+    
+                <A target="classPane" href="FlyweightProcessingInstruction.html" title="FlyweightProcessingInstruction">FlyweightProcessingInstruction</A>
+    	    <i>(57,7%)</i><BR>
+    
+                <A target="classPane" href="FlyweightText.html" title="FlyweightText">FlyweightText</A>
+    	    <i>(66,7%)</i><BR>
+    
+                <A target="classPane" href="NamespaceCache.html" title="NamespaceCache">NamespaceCache</A>
+    	    <i>(85,9%)</i><BR>
+    
+                <A target="classPane" href="NamespaceStack.html" title="NamespaceStack">NamespaceStack</A>
+    	    <i>(84,9%)</i><BR>
+    
+                <A target="classPane" href="QNameCache.html" title="QNameCache">QNameCache</A>
+    	    <i>(78%)</i><BR>
+    
+                <A target="classPane" href="SingleIterator.html" title="SingleIterator">SingleIterator</A>
+    	    <i>(81,8%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/tree/pkg-summary.html b/docs/clover/org/dom4j/tree/pkg-summary.html
new file mode 100644
index 0000000..63bb54a
--- /dev/null
+++ b/docs/clover/org/dom4j/tree/pkg-summary.html
@@ -0,0 +1,1111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">10.372</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">644</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">4.897</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">48</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">40</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.tree
+	    </TD>
+   
+    <TD class="graphPercent" align="center">47%</TD>
+    <TD class="graphPercent" align="center">54,6%</TD>
+    <TD class="graphPercent" align="center">54,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>52,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="105" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="95" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="ConcurrentReaderHashMap.html#EntrySet" title="ConcurrentReaderHashMap.EntrySet">ConcurrentReaderHashMap.EntrySet</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ConcurrentReaderHashMap.html#HashIterator" title="ConcurrentReaderHashMap.HashIterator">ConcurrentReaderHashMap.HashIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ConcurrentReaderHashMap.html#KeyIterator" title="ConcurrentReaderHashMap.KeyIterator">ConcurrentReaderHashMap.KeyIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ConcurrentReaderHashMap.html#KeySet" title="ConcurrentReaderHashMap.KeySet">ConcurrentReaderHashMap.KeySet</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ConcurrentReaderHashMap.html#ValueIterator" title="ConcurrentReaderHashMap.ValueIterator">ConcurrentReaderHashMap.ValueIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ConcurrentReaderHashMap.html#Values" title="ConcurrentReaderHashMap.Values">ConcurrentReaderHashMap.Values</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ElementIterator.html" title="ElementIterator">ElementIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ElementNameIterator.html" title="ElementNameIterator">ElementNameIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ElementQNameIterator.html" title="ElementQNameIterator">ElementQNameIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="FilterIterator.html" title="FilterIterator">FilterIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractEntity.html" title="AbstractEntity">AbstractEntity</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">8,3%</TD>
+    <TD class="graphPercent" align="center">22,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>12%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="24" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="176" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="FlyweightEntity.html" title="FlyweightEntity">FlyweightEntity</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">22,2%</TD>
+    <TD class="graphPercent" align="center">14,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>16,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="33" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="167" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ConcurrentReaderHashMap.html#Entry" title="ConcurrentReaderHashMap.Entry">ConcurrentReaderHashMap.Entry</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">23,5%</TD>
+    <TD class="graphPercent" align="center">14,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>17,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="35" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="165" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="BaseElement.html" title="BaseElement">BaseElement</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">10%</TD>
+    <TD class="graphPercent" align="center">21,6%</TD>
+    <TD class="graphPercent" align="center">23,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>18,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="37" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="163" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultEntity.html" title="DefaultEntity">DefaultEntity</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">20%</TD>
+    <TD class="graphPercent" align="center">22,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>21,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="42" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="158" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractComment.html" title="AbstractComment">AbstractComment</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">18,2%</TD>
+    <TD class="graphPercent" align="center">37,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>21,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="43" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="157" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractCharacterData.html" title="AbstractCharacterData">AbstractCharacterData</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">20%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>23,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="46" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="154" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultProcessingInstruction.html" title="DefaultProcessingInstruction">DefaultProcessingInstruction</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">21,4%</TD>
+    <TD class="graphPercent" align="center">27,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>24%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="48" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="152" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultCDATA.html" title="DefaultCDATA">DefaultCDATA</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">28,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>26,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="53" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="147" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ContentListFacade.html" title="ContentListFacade">ContentListFacade</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">8,3%</TD>
+    <TD class="graphPercent" align="center">27,9%</TD>
+    <TD class="graphPercent" align="center">38,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>27,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="55" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="145" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ConcurrentReaderHashMap.html" title="ConcurrentReaderHashMap">ConcurrentReaderHashMap</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">33%</TD>
+    <TD class="graphPercent" align="center">36,6%</TD>
+    <TD class="graphPercent" align="center">30,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>35%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="70" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="130" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractElement.html" title="AbstractElement">AbstractElement</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">38,2%</TD>
+    <TD class="graphPercent" align="center">48,1%</TD>
+    <TD class="graphPercent" align="center">53%</TD>
+    <TD class="graphBarLeft" align="center"><B>45,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="91" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="109" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="FlyweightAttribute.html" title="FlyweightAttribute">FlyweightAttribute</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">44,4%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>46,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="93" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="107" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="BackedList.html" title="BackedList">BackedList</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">37,5%</TD>
+    <TD class="graphPercent" align="center">49,1%</TD>
+    <TD class="graphPercent" align="center">61,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>47,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="95" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="105" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractProcessingInstruction.html" title="AbstractProcessingInstruction">AbstractProcessingInstruction</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">35,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>49,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="98" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="102" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultDocument.html" title="DefaultDocument">DefaultDocument</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">30,8%</TD>
+    <TD class="graphPercent" align="center">52,2%</TD>
+    <TD class="graphPercent" align="center">72,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>49,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="98" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="102" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractDocumentType.html" title="AbstractDocumentType">AbstractDocumentType</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">40,9%</TD>
+    <TD class="graphPercent" align="center">52,4%</TD>
+    <TD class="graphPercent" align="center">54,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>50%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultAttribute.html" title="DefaultAttribute">DefaultAttribute</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">46,2%</TD>
+    <TD class="graphPercent" align="center">54,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>50%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="100" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultComment.html" title="DefaultComment">DefaultComment</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">57,1%</TD>
+    <TD class="graphBarLeft" align="center"><B>53,3%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="106" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="94" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="FlyweightProcessingInstruction.html" title="FlyweightProcessingInstruction">FlyweightProcessingInstruction</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">55,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>57,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="115" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="85" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractDocument.html" title="AbstractDocument">AbstractDocument</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">31,8%</TD>
+    <TD class="graphPercent" align="center">66,2%</TD>
+    <TD class="graphPercent" align="center">76,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>62,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="124" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="76" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractText.html" title="AbstractText">AbstractText</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>63,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="127" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="73" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultElement.html" title="DefaultElement">DefaultElement</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">59,8%</TD>
+    <TD class="graphPercent" align="center">68,3%</TD>
+    <TD class="graphPercent" align="center">75,5%</TD>
+    <TD class="graphBarLeft" align="center"><B>65,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="131" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="69" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractAttribute.html" title="AbstractAttribute">AbstractAttribute</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">71,7%</TD>
+    <TD class="graphPercent" align="center">57,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractBranch.html" title="AbstractBranch">AbstractBranch</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">65%</TD>
+    <TD class="graphPercent" align="center">65,2%</TD>
+    <TD class="graphPercent" align="center">74,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="FlyweightCDATA.html" title="FlyweightCDATA">FlyweightCDATA</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="FlyweightComment.html" title="FlyweightComment">FlyweightComment</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="FlyweightText.html" title="FlyweightText">FlyweightText</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>66,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="133" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="67" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractNode.html" title="AbstractNode">AbstractNode</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">70%</TD>
+    <TD class="graphPercent" align="center">61,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>67,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="135" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="65" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultDocumentType.html" title="DefaultDocumentType">DefaultDocumentType</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">73,3%</TD>
+    <TD class="graphPercent" align="center">76,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>75%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="150" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="50" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="QNameCache.html" title="QNameCache">QNameCache</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">77,3%</TD>
+    <TD class="graphPercent" align="center">78,6%</TD>
+    <TD class="graphPercent" align="center">76,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>78%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="156" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="44" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultText.html" title="DefaultText">DefaultText</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">85,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>80%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="160" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="40" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SingleIterator.html" title="SingleIterator">SingleIterator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">85,7%</TD>
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphBarLeft" align="center"><B>81,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="163" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="37" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="NamespaceStack.html" title="NamespaceStack">NamespaceStack</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">77,9%</TD>
+    <TD class="graphPercent" align="center">88%</TD>
+    <TD class="graphPercent" align="center">88%</TD>
+    <TD class="graphBarLeft" align="center"><B>84,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="169" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="31" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="NamespaceCache.html" title="NamespaceCache">NamespaceCache</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">80%</TD>
+    <TD class="graphPercent" align="center">87,2%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>85,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="171" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="29" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AbstractCDATA.html" title="AbstractCDATA">AbstractCDATA</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">90,9%</TD>
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>89,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="178" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="22" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultNamespace.html" title="DefaultNamespace">DefaultNamespace</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">94,1%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>90,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="181" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="19" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+      <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/util/AttributeHelper.html b/docs/clover/org/dom4j/util/AttributeHelper.html
new file mode 100644
index 0000000..ca29d3f
--- /dev/null
+++ b/docs/clover/org/dom4j/util/AttributeHelper.html
@@ -0,0 +1,460 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ AttributeHelper.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="AttributeHelper.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">89</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">28</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   AttributeHelper.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">16,7%</TD>
+    <TD class="graphPercent" align="center">27,3%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>28,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="57" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="143" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>AttributeHelper</code> a number of helper methods for working with</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * attribute values.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="AttributeHelper"> 23</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> AttributeHelper {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 24: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 24: method not entered.">    <span class="keyword">protected</span> AttributeHelper() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 27: method entered 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 27: method entered 103 times.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> booleanValue(Element element, String attributeName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 28</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 28: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 28: statement executed 103 times.">        <span class="keyword">return</span> booleanValue(element.attribute(attributeName));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> booleanValue(Element element, QName attributeQName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: statement not executed.">        <span class="keyword">return</span> booleanValue(element.attribute(attributeQName));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: method entered 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: method entered 103 times.">    <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">boolean</span> booleanValue(Attribute attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: expression evaluated to true 103 times, false 0 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: expression evaluated to true 103 times, false 0 times.">        <span class="keyword">if</span> (attribute == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: statement executed 103 times."> 103</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: statement executed 103 times.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: statement not executed.">        Object value = attribute.getData();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">        <span class="keyword">if</span> (value == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (value <span class="keyword">instanceof</span> Boolean) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">            Boolean b = (Boolean) value;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">            <span class="keyword">return</span> b.booleanValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">            <span class="keyword">return</span> <span class="string">"true"</span>.equalsIgnoreCase(value.toString());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/IndexedDocumentFactory.html b/docs/clover/org/dom4j/util/IndexedDocumentFactory.html
new file mode 100644
index 0000000..7bc6e94
--- /dev/null
+++ b/docs/clover/org/dom4j/util/IndexedDocumentFactory.html
@@ -0,0 +1,440 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ IndexedDocumentFactory.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="IndexedDocumentFactory.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">87</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">17</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   IndexedDocumentFactory.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>IndexedDocumentFactory</code> is a factory of XML objects which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * create indexed Element implementations to allow quicker lookup via name of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Element and Attributes though at the expense of more memory used to create</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the name indexes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="IndexedDocumentFactory"> 25</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> IndexedDocumentFactory <span class="keyword">extends</span> DocumentFactory {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Singleton instance */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">transient</span> IndexedDocumentFactory singleton</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            = <span class="keyword">new</span> IndexedDocumentFactory();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Access to the singleton instance of this factory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default singleon instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> DocumentFactory getInstance() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">return</span> singleton;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// DocumentFactory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> Element createElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> IndexedElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: method not entered.">    <span class="keyword">public</span> Element createElement(QName qname, <span class="keyword">int</span> attributeCount) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> IndexedElement(qname, attributeCount);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/IndexedElement.html b/docs/clover/org/dom4j/util/IndexedElement.html
new file mode 100644
index 0000000..e289613
--- /dev/null
+++ b/docs/clover/org/dom4j/util/IndexedElement.html
@@ -0,0 +1,1489 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ IndexedElement.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="IndexedElement.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">321</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">28</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">182</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   IndexedElement.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.BackedList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>IndexedElement</code> is an implementation of {@link Element}which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * maintains an index of the attributes and elements it contains to optimise</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * lookups via name.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="IndexedElement"> 33</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> IndexedElement <span class="keyword">extends</span> DefaultElement {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Lazily constructed index for elements */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map elementIndex;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Lazily constructed index for attributes */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Map attributeIndex;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: method not entered.">    <span class="keyword">public</span> IndexedElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: statement not executed.">        <span class="keyword">super</span>(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> IndexedElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> IndexedElement(QName qname, <span class="keyword">int</span> attributeCount) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">super</span>(qname, attributeCount);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: method not entered.">    <span class="keyword">public</span> Attribute attribute(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">        <span class="keyword">return</span> (Attribute) attributeIndex().get(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: method not entered.">    <span class="keyword">public</span> Attribute attribute(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: statement not executed.">        <span class="keyword">return</span> (Attribute) attributeIndex().get(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: method not entered.">    <span class="keyword">public</span> Element element(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">        <span class="keyword">return</span> asElement(elementIndex().get(name));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: method not entered.">    <span class="keyword">public</span> Element element(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 65: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 65: statement not executed.">        <span class="keyword">return</span> asElement(elementIndex().get(qName));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: method not entered.">    <span class="keyword">public</span> List elements(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: statement not executed.">        <span class="keyword">return</span> asElementList(elementIndex().get(name));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 72</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 72: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 72: method not entered.">    <span class="keyword">public</span> List elements(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">        <span class="keyword">return</span> asElementList(elementIndex().get(qName));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">protected</span> Element asElement(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">            <span class="keyword">return</span> (Element) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (object != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">            List list = (List) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: statement not executed.">            <span class="keyword">if</span> (list.size() >= 1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">                <span class="keyword">return</span> (Element) list.get(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: method not entered.">    <span class="keyword">protected</span> List asElementList(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">        <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">            <span class="keyword">return</span> createSingleResultList(object);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (object != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">            List list = (List) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: statement not executed.">            BackedList answer = createResultList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0, size = list.size(); i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">                answer.addLocal(list.get(i));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">            <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">        <span class="keyword">return</span> createEmptyList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@deprecated</span> WILL BE REMOVED IN dom4j-1.6 !!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: method not entered.">    <span class="keyword">protected</span> Iterator asElementIterator(Object object) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">        <span class="keyword">return</span> asElementList(object).iterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// #### could we override the add(Element) remove(Element methods?</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> addNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        <span class="keyword">super</span>.addNode(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: statement not executed.">        <span class="keyword">if</span> ((elementIndex != <span class="keyword">null</span>) && node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">            addToElementIndex((Element) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> ((attributeIndex != <span class="keyword">null</span>) && node <span class="keyword">instanceof</span> Attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">            addToAttributeIndex((Attribute) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: method not entered.">    <span class="keyword">protected</span> <span class="keyword">boolean</span> removeNode(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">        <span class="keyword">if</span> (<span class="keyword">super</span>.removeNode(node)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">            <span class="keyword">if</span> ((elementIndex != <span class="keyword">null</span>) && node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">                removeFromElementIndex((Element) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">            } <span class="keyword">else</span> <span class="keyword">if</span> ((attributeIndex != <span class="keyword">null</span>) && node <span class="keyword">instanceof</span> Attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">                removeFromAttributeIndex((Attribute) node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">            <span class="keyword">return</span> <span class="keyword">true</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: method not entered.">    <span class="keyword">protected</span> Map attributeIndex() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">        <span class="keyword">if</span> (attributeIndex == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">            attributeIndex = createAttributeIndex();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">            <span class="keyword">for</span> (Iterator iter = attributeIterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">                addToAttributeIndex((Attribute) iter.next());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: statement not executed.">        <span class="keyword">return</span> attributeIndex;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: method not entered.">    <span class="keyword">protected</span> Map elementIndex() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: statement not executed.">        <span class="keyword">if</span> (elementIndex == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: statement not executed.">            elementIndex = createElementIndex();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: statement not executed.">            <span class="keyword">for</span> (Iterator iter = elementIterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">                addToElementIndex((Element) iter.next());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: statement not executed.">        <span class="keyword">return</span> elementIndex;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method to create the index for attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 177: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 177: method not entered.">    <span class="keyword">protected</span> Map createAttributeIndex() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 178: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 178: statement not executed.">        Map answer = createIndex();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * A Factory Method to create the index for elements</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 188</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 188: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 188: method not entered.">    <span class="keyword">protected</span> Map createElementIndex() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">        Map answer = createIndex();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 191: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 191: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> addToElementIndex(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 195: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 195: statement not executed.">        QName qName = element.getQName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">        String name = qName.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">        addToElementIndex(qName, element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 198: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 198: statement not executed.">        addToElementIndex(name, element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 201: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 201: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> addToElementIndex(Object key, Element value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 202: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 202: statement not executed.">        Object oldValue = elementIndex.get(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 204: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 204: statement not executed.">        <span class="keyword">if</span> (oldValue == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 205: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 205: statement not executed.">            elementIndex.put(key, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: statement not executed.">            <span class="keyword">if</span> (oldValue <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 208: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 208: statement not executed.">                List list = (List) oldValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">                list.add(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">                List list = createList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: statement not executed.">                list.add(oldValue);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: statement not executed.">                list.add(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 214</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 214: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 214: statement not executed.">                elementIndex.put(key, list);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 219: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 219: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> removeFromElementIndex(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 220</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 220: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 220: statement not executed.">        QName qName = element.getQName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 221: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 221: statement not executed.">        String name = qName.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 222: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 222: statement not executed.">        removeFromElementIndex(qName, element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 223</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 223: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 223: statement not executed.">        removeFromElementIndex(name, element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 225</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 226: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 226: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> removeFromElementIndex(Object key, Element value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 227</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 227: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 227: statement not executed.">        Object oldValue = elementIndex.get(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 229: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 229: statement not executed.">        <span class="keyword">if</span> (oldValue <span class="keyword">instanceof</span> List) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: statement not executed.">            List list = (List) oldValue;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 231</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 231: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 231: statement not executed.">            list.remove(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: statement not executed.">            elementIndex.remove(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> addToAttributeIndex(Attribute attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 238: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 238: statement not executed.">        QName qName = attribute.getQName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 239: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 239: statement not executed.">        String name = qName.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 240: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 240: statement not executed.">        addToAttributeIndex(qName, attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 241: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: statement not executed.">        addToAttributeIndex(name, attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 242</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 244: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 244: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> addToAttributeIndex(Object key, Attribute value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: statement not executed.">        Object oldValue = attributeIndex.get(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: statement not executed.">        <span class="keyword">if</span> (oldValue != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: statement not executed.">            attributeIndex.put(key, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> removeFromAttributeIndex(Attribute attribute) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 253</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 253: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 253: statement not executed.">        QName qName = attribute.getQName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 254</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 254: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 254: statement not executed.">        String name = qName.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 255: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 255: statement not executed.">        removeFromAttributeIndex(qName, attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 256: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 256: statement not executed.">        removeFromAttributeIndex(name, attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 258</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> removeFromAttributeIndex(Object key, Attribute value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: statement not executed.">        Object oldValue = attributeIndex.get(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 262: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 262: statement not executed.">        <span class="keyword">if</span> ((oldValue != <span class="keyword">null</span>) && oldValue.equals(value)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 263: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 263: statement not executed.">            attributeIndex.remove(key);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to return a new map implementation for indices</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 269</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 272: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 272: method not entered.">    <span class="keyword">protected</span> Map createIndex() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 273: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 273: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> HashMap();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Factory method to return a list implementation for indices</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 281: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 281: method not entered.">    <span class="keyword">protected</span> List createList() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 282: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 282: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> ArrayList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 283</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/NodeComparator.html b/docs/clover/org/dom4j/util/NodeComparator.html
new file mode 100644
index 0000000..a1fa134
--- /dev/null
+++ b/docs/clover/org/dom4j/util/NodeComparator.html
@@ -0,0 +1,1593 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ NodeComparator.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="NodeComparator.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">344</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">13</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">190</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   NodeComparator.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">67,8%</TD>
+    <TD class="graphPercent" align="center">92,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>64%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="127" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="73" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Comparator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Branch;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CharacterData;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>NodeComparator</code> is a {@link Comparator}of Node instances which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * is capable of comparing Nodes for equality based on their values.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.10 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NodeComparator"> 36</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> NodeComparator <span class="keyword">implements</span> Comparator {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Compares its two arguments for order. Returns a negative integer, zero,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * or a positive integer as the first argument is less than, equal to, or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * greater than the second.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The implementor must ensure that <tt>sgn(compare(x, y)) ==</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * -sgn(compare(y, x))</tt></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * for all <tt>x</tt> and <tt>y</tt>. (This implies that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>compare(x, y)</tt> must throw an exception if and only if</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>compare(y, x)</tt> throws an exception.)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * The implementor must also ensure that the relation is transitive:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>((compare(x, y)&gt;0) &amp;&amp; (compare(y, z)&gt;0))</tt> implies</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>compare(x, z)&gt;0</tt>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Finally, the implementer must ensure that <tt>compare(x, y)==0</tt></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * implies that <tt>sgn(compare(x, z))==sgn(compare(y, z))</tt> for all</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>z</tt>.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * It is generally the case, but <i>not </i> strictly required that</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <tt>(compare(x, y)==0) == (x.equals(y))</tt>. Generally speaking, any</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * comparator that violates this condition should clearly indicate this</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * fact. The recommended language is "Note: this comparator imposes</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * orderings that are inconsistent with equals."</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> o1</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the first object to be compared.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> o2</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            the second object to be compared.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> a negative integer, zero, or a positive integer as the first</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *         argument is less than, equal to, or greater than the second.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 78: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 78: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(Object o1, Object o2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: expression evaluated to true 0 times, false 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: expression evaluated to true 0 times, false 6 times.">        <span class="keyword">if</span> (o1 == o2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">            <span class="keyword">return</span> 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: expression evaluated to true 0 times, false 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: expression evaluated to true 0 times, false 6 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (o1 == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// null is less</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">            <span class="keyword">return</span> -1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 84</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 84: expression evaluated to true 0 times, false 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 84: expression evaluated to true 0 times, false 6 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (o2 == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">            <span class="keyword">return</span> 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: expression evaluated to true 6 times, false 0 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: expression evaluated to true 6 times, false 0 times.">        <span class="keyword">if</span> (o1 <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: expression evaluated to true 6 times, false 0 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: expression evaluated to true 6 times, false 0 times.">            <span class="keyword">if</span> (o2 <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 6 times.">                <span class="keyword">return</span> compare((Node) o1, (Node) o2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Node implementations are greater</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">                <span class="keyword">return</span> 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">            <span class="keyword">if</span> (o2 <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="comment">// Node implementations are greater</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">                <span class="keyword">return</span> -1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 100</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 100: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 100: statement not executed.">                <span class="keyword">if</span> (o1 <span class="keyword">instanceof</span> Comparable) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: statement not executed.">                    Comparable c1 = (Comparable) o1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">                    <span class="keyword">return</span> c1.compareTo(o2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: statement not executed.">                    String name1 = o1.getClass().getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: statement not executed.">                    String name2 = o2.getClass().getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">                    <span class="keyword">return</span> name1.compareTo(name2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: method entered 60643 times."> 60643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: method entered 60643 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(Node n1, Node n2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 60643 times."> 60643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 60643 times.">        <span class="keyword">int</span> nodeType1 = n1.getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 60643 times."> 60643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 60643 times.">        <span class="keyword">int</span> nodeType2 = n2.getNodeType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 117: statement executed 60643 times."> 60643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 117: statement executed 60643 times.">        <span class="keyword">int</span> answer = nodeType1 - nodeType2;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: expression evaluated to true 0 times, false 60643 times."> 60643</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: expression evaluated to true 0 times, false 60643 times.">        <span class="keyword">if</span> (answer != 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">            <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 122</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 122: statement executed 60643 times."> 60643</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 122: statement executed 60643 times.">            <span class="keyword">switch</span> (nodeType1) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 123: statement executed 21394 times."> 21394</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 123: statement executed 21394 times.">                <span class="keyword">case</span> Node.ELEMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 124: statement executed 21394 times."> 21394</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 124: statement executed 21394 times.">                    <span class="keyword">return</span> compare((Element) n1, (Element) n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 126: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 126: statement executed 4 times.">                <span class="keyword">case</span> Node.DOCUMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 127: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 127: statement executed 4 times.">                    <span class="keyword">return</span> compare((Document) n1, (Document) n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">                <span class="keyword">case</span> Node.ATTRIBUTE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 130: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 130: statement not executed.">                    <span class="keyword">return</span> compare((Attribute) n1, (Attribute) n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 38623 times."> 38623</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 38623 times.">                <span class="keyword">case</span> Node.TEXT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 133</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 133: statement executed 38623 times."> 38623</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 133: statement executed 38623 times.">                    <span class="keyword">return</span> compare((Text) n1, (Text) n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 135: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 135: statement executed 90 times.">                <span class="keyword">case</span> Node.CDATA_SECTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 136: statement executed 90 times."> 90</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 136: statement executed 90 times.">                    <span class="keyword">return</span> compare((CDATA) n1, (CDATA) n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">                <span class="keyword">case</span> Node.ENTITY_REFERENCE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 139</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 139: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 139: statement not executed.">                    <span class="keyword">return</span> compare((Entity) n1, (Entity) n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 141: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 141: statement executed 6 times.">                <span class="keyword">case</span> Node.PROCESSING_INSTRUCTION_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 142: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 142: statement executed 6 times.">                    <span class="keyword">return</span> compare((ProcessingInstruction) n1,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            (ProcessingInstruction) n2);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 145: statement executed 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 145: statement executed 408 times.">                <span class="keyword">case</span> Node.COMMENT_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 146: statement executed 408 times."> 408</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 146: statement executed 408 times.">                    <span class="keyword">return</span> compare((Comment) n1, (Comment) n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: statement not executed.">                <span class="keyword">case</span> Node.DOCUMENT_TYPE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">                    <span class="keyword">return</span> compare((DocumentType) n1, (DocumentType) n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 151</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 151: statement executed 118 times."> 118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 151: statement executed 118 times.">                <span class="keyword">case</span> Node.NAMESPACE_NODE:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 118 times."> 118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 118 times.">                    <span class="keyword">return</span> compare((Namespace) n1, (Namespace) n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 154</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 154: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 154: statement not executed.">                <span class="keyword">default</span>:</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: statement not executed.">                    <span class="keyword">throw</span> <span class="keyword">new</span> RuntimeException(<span class="string">"Invalid node types. node1: "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                            + n1 + <span class="string">" and node2: "</span> + n2);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 161: method entered 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 161: method entered 58 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(Document n1, Document n2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: statement executed 58 times.">        <span class="keyword">int</span> answer = compare(n1.getDocType(), n2.getDocType());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 164</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 164: expression evaluated to true 58 times, false 0 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 164: expression evaluated to true 58 times, false 0 times.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 165: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 165: statement executed 58 times.">            answer = compareContent(n1, n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 168</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 168: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 168: statement executed 58 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 171</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 171: method entered 21394 times."> 21394</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 171: method entered 21394 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(Element n1, Element n2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 172: statement executed 21394 times."> 21394</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 172: statement executed 21394 times.">        <span class="keyword">int</span> answer = compare(n1.getQName(), n2.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 174</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 174: expression evaluated to true 21394 times, false 0 times."> 21394</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 174: expression evaluated to true 21394 times, false 0 times.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// lets compare attributes</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 176: statement executed 21394 times."> 21394</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 176: statement executed 21394 times.">            <span class="keyword">int</span> c1 = n1.attributeCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 177</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 177: statement executed 21394 times."> 21394</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 177: statement executed 21394 times.">            <span class="keyword">int</span> c2 = n2.attributeCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 178</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 178: statement executed 21394 times."> 21394</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 178: statement executed 21394 times.">            answer = c1 - c2;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 180: statement executed 21394 times."> 21394</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: statement executed 21394 times.">            <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 181: statement executed 21393 times."> 21393</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 181: statement executed 21393 times.">                <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < c1; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 182</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 182: statement executed 8747 times."> 8747</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 182: statement executed 8747 times.">                    Attribute a1 = n1.attribute(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 8747 times."> 8747</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 8747 times.">                    Attribute a2 = n2.attribute(a1.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 184: statement executed 8747 times."> 8747</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 184: statement executed 8747 times.">                    answer = compare(a1, a2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 186</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 186: statement executed 8747 times."> 8747</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 186: statement executed 8747 times.">                    <span class="keyword">if</span> (answer != 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 187: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 187: statement executed 1 time.">                        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: statement executed 21392 times."> 21392</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: statement executed 21392 times.">                answer = compareContent(n1, n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: statement executed 21393 times."> 21393</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: statement executed 21393 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 198: method entered 8747 times."> 8747</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 198: method entered 8747 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(Attribute n1, Attribute n2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 199: statement executed 8747 times."> 8747</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 199: statement executed 8747 times.">        <span class="keyword">int</span> answer = compare(n1.getQName(), n2.getQName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 201</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 201: expression evaluated to true 8747 times, false 0 times."> 8747</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 201: expression evaluated to true 8747 times, false 0 times.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 202</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 202: statement executed 8747 times."> 8747</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 202: statement executed 8747 times.">            answer = compare(n1.getValue(), n2.getValue());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 205: statement executed 8747 times."> 8747</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 205: statement executed 8747 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 207</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 208: method entered 30141 times."> 30141</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 208: method entered 30141 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(QName n1, QName n2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 209: statement executed 30141 times."> 30141</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 209: statement executed 30141 times.">        <span class="keyword">int</span> answer = compare(n1.getNamespaceURI(), n2.getNamespaceURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: expression evaluated to true 30141 times, false 0 times."> 30141</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: expression evaluated to true 30141 times, false 0 times.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 212: statement executed 30141 times."> 30141</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 212: statement executed 30141 times.">            answer = compare(n1.getQualifiedName(), n2.getQualifiedName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 215</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 215: statement executed 30141 times."> 30141</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 215: statement executed 30141 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 218</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 218: method entered 118 times."> 118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 218: method entered 118 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(Namespace n1, Namespace n2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 219</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 219: statement executed 118 times."> 118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 219: statement executed 118 times.">        <span class="keyword">int</span> answer = compare(n1.getURI(), n2.getURI());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 221: expression evaluated to true 118 times, false 0 times."> 118</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 221: expression evaluated to true 118 times, false 0 times.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 222: statement executed 118 times."> 118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 222: statement executed 118 times.">            answer = compare(n1.getPrefix(), n2.getPrefix());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 225: statement executed 118 times."> 118</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 225: statement executed 118 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 228</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 228: method entered 39121 times."> 39121</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 228: method entered 39121 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(CharacterData t1, CharacterData t2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 229: statement executed 39121 times."> 39121</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 229: statement executed 39121 times.">        <span class="keyword">return</span> compare(t1.getText(), t2.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 232</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 232: method entered 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 232: method entered 58 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(DocumentType o1, DocumentType o2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: expression evaluated to true 58 times, false 0 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: expression evaluated to true 58 times, false 0 times.">        <span class="keyword">if</span> (o1 == o2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 234: statement executed 58 times."> 58</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 234: statement executed 58 times.">            <span class="keyword">return</span> 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 235</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 235: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 235: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (o1 == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// null is less</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: statement not executed.">            <span class="keyword">return</span> -1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 238: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 238: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (o2 == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 239</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 239: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 239: statement not executed.">            <span class="keyword">return</span> 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 241</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 242: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 242: statement not executed.">        <span class="keyword">int</span> answer = compare(o1.getPublicID(), o2.getPublicID());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 244</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 244: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 244: statement not executed.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: statement not executed.">            answer = compare(o1.getSystemID(), o2.getSystemID());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: statement not executed.">            <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: statement not executed.">                answer = compare(o1.getName(), o2.getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 249</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 250</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 255: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 255: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(Entity n1, Entity n2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 256</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 256: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 256: statement not executed.">        <span class="keyword">int</span> answer = compare(n1.getName(), n2.getName());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 257</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 258: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 258: statement not executed.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: statement not executed.">            answer = compare(n1.getText(), n2.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 262: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 262: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 263</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 264</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 265</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 265: method entered 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 265: method entered 6 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(ProcessingInstruction n1, ProcessingInstruction n2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 266</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 266: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 266: statement executed 6 times.">        <span class="keyword">int</span> answer = compare(n1.getTarget(), n2.getTarget());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 267</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 268</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 268: expression evaluated to true 6 times, false 0 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 268: expression evaluated to true 6 times, false 0 times.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 269: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 269: statement executed 6 times.">            answer = compare(n1.getText(), n2.getText());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 272: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 272: statement executed 6 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 275: method entered 21450 times."> 21450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 275: method entered 21450 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compareContent(Branch b1, Branch b2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 276: statement executed 21450 times."> 21450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 276: statement executed 21450 times.">        <span class="keyword">int</span> c1 = b1.nodeCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 277</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 277: statement executed 21450 times."> 21450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 277: statement executed 21450 times.">        <span class="keyword">int</span> c2 = b2.nodeCount();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 278: statement executed 21450 times."> 21450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 278: statement executed 21450 times.">        <span class="keyword">int</span> answer = c1 - c2;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 279</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 280</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 280: statement executed 21450 times."> 21450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 280: statement executed 21450 times.">        <span class="keyword">if</span> (answer == 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 281: statement executed 21448 times."> 21448</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 281: statement executed 21448 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < c1; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 282: statement executed 60637 times."> 60637</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 282: statement executed 60637 times.">                Node n1 = b1.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 283: statement executed 60637 times."> 60637</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 283: statement executed 60637 times.">                Node n2 = b2.node(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 284</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 284: statement executed 60637 times."> 60637</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 284: statement executed 60637 times.">                answer = compare(n1, n2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 286</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 286: statement executed 60637 times."> 60637</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 286: statement executed 60637 times.">                <span class="keyword">if</span> (answer != 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 287</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 287: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 287: statement executed 6 times.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 292</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 292: statement executed 21450 times."> 21450</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 292: statement executed 21450 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: method entered 108398 times."> 108398</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: method entered 108398 times.">    <span class="keyword">public</span> <span class="keyword">int</span> compare(String o1, String o2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 296: statement executed 108398 times."> 108398</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 296: statement executed 108398 times.">        <span class="keyword">if</span> (o1 == o2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 297: statement executed 66175 times."> 66175</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 297: statement executed 66175 times.">            <span class="keyword">return</span> 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 298: expression evaluated to true 0 times, false 42223 times."> 42223</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 298: expression evaluated to true 0 times, false 42223 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (o1 == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// null is less</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 300</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 300: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 300: statement not executed.">            <span class="keyword">return</span> -1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 301</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 301: expression evaluated to true 0 times, false 42223 times."> 42223</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 301: expression evaluated to true 0 times, false 42223 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (o2 == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 302: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 302: statement not executed.">            <span class="keyword">return</span> 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 305</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 305: statement executed 42223 times."> 42223</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 305: statement executed 42223 times.">        <span class="keyword">return</span> o1.compareTo(o2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 328</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 330</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 332</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 333</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 334</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 336</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 337</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 339</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/NonLazyDocumentFactory.html b/docs/clover/org/dom4j/util/NonLazyDocumentFactory.html
new file mode 100644
index 0000000..e9cdad4
--- /dev/null
+++ b/docs/clover/org/dom4j/util/NonLazyDocumentFactory.html
@@ -0,0 +1,422 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ NonLazyDocumentFactory.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="NonLazyDocumentFactory.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">83</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">2</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">14</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   NonLazyDocumentFactory.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>NonLazyDocumentFactory</code> is a factory of XML objects which avoid</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * using the lazy creation pattern. This results in a slower creation of a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Document and uses more memory but it means that the same Document instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * can be shared across threads provided it is not modified.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.9 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NonLazyDocumentFactory"> 25</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> NonLazyDocumentFactory <span class="keyword">extends</span> DocumentFactory {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Singleton instance */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">transient</span> NonLazyDocumentFactory singleton</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            = <span class="keyword">new</span> NonLazyDocumentFactory();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Access to the singleton instance of this factory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default singleon instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: method not entered.">    <span class="keyword">public</span> <span class="keyword">static</span> DocumentFactory getInstance() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">return</span> singleton;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// DocumentFactory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: method not entered.">    <span class="keyword">public</span> Element createElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">return</span> <span class="keyword">new</span> NonLazyElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/NonLazyElement.html b/docs/clover/org/dom4j/util/NonLazyElement.html
new file mode 100644
index 0000000..c31a5f9
--- /dev/null
+++ b/docs/clover/org/dom4j/util/NonLazyElement.html
@@ -0,0 +1,438 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ NonLazyElement.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="NonLazyElement.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">84</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">26</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   NonLazyElement.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.BaseElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>NonLazyElement</code> is the default DOM4J default implementation of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * an XML element.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="NonLazyElement"> 23</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> NonLazyElement <span class="keyword">extends</span> BaseElement {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 24</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 24: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 24: method not entered.">    <span class="keyword">public</span> NonLazyElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 25</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 25: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 25: statement not executed.">        <span class="keyword">super</span>(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 26</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 26: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 26: statement not executed.">        <span class="keyword">this</span>.attributes = createAttributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 27: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 27: statement not executed.">        <span class="keyword">this</span>.content = createContentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: method not entered.">    <span class="keyword">public</span> NonLazyElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: statement not executed.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: statement not executed.">        <span class="keyword">this</span>.attributes = createAttributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: statement not executed.">        <span class="keyword">this</span>.content = createContentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 36: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 36: method not entered.">    <span class="keyword">public</span> NonLazyElement(String name, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: statement not executed.">        <span class="keyword">super</span>(name, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">this</span>.attributes = createAttributeList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 39: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 39: statement not executed.">        <span class="keyword">this</span>.content = createContentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: method not entered.">    <span class="keyword">public</span> NonLazyElement(QName qname, <span class="keyword">int</span> attributeCount) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">        <span class="keyword">this</span>.attributes = createAttributeList(attributeCount);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">this</span>.content = createContentList();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/PerThreadSingleton.html b/docs/clover/org/dom4j/util/PerThreadSingleton.html
new file mode 100644
index 0000000..4f6c7be
--- /dev/null
+++ b/docs/clover/org/dom4j/util/PerThreadSingleton.html
@@ -0,0 +1,520 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ PerThreadSingleton.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="PerThreadSingleton.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">103</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">36</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   PerThreadSingleton.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">73,3%</TD>
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphBarLeft" align="center"><B>76,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="152" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="48" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.lang.ref.WeakReference;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>PerThreadSingleton</code> is an implementation of the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SingletonStrategy used to provide common factory access to a single object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * instance based on an implementation strategy for one object instance per</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * thread. This is useful in replace of the ThreadLocal usage.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:ddlucas at users.sourceforge.net">David Lucas </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.3 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="PerThreadSingleton"> 24</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> PerThreadSingleton <span class="keyword">implements</span> SingletonStrategy {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String singletonClassName = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> ThreadLocal perThreadCache = <span class="keyword">new</span> ThreadLocal();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 29: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 29: method entered 2 times.">    <span class="keyword">public</span> PerThreadSingleton() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 32: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 32: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> reset() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 33: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 33: statement not executed.">        perThreadCache = <span class="keyword">new</span> ThreadLocal();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: method entered 1003 times."> 1003</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: method entered 1003 times.">    <span class="keyword">public</span> Object instance() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: statement executed 1003 times."> 1003</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: statement executed 1003 times.">        Object singletonInstancePerThread = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// use weak reference to prevent cyclic reference during GC</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 1003 times."> 1003</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 1003 times.">        WeakReference ref = (WeakReference) perThreadCache.get();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// singletonInstancePerThread=perThreadCache.get();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// if (singletonInstancePerThread==null) {</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: statement executed 1003 times."> 1003</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: statement executed 1003 times.">        <span class="keyword">if</span> (ref == <span class="keyword">null</span> || ref.get() == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 6 times.">            Class clazz = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 44: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 44: statement executed 6 times.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 45: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 45: statement executed 6 times.">                clazz = Thread.currentThread().getContextClassLoader().loadClass(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        singletonClassName);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: statement executed 6 times.">                singletonInstancePerThread = clazz.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Exception ignore) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">                <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: statement not executed.">                    clazz = Class.forName(singletonClassName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">                    singletonInstancePerThread = clazz.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">catch</span> (Exception ignore2) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 6 times.">            perThreadCache.set(<span class="keyword">new</span> WeakReference(singletonInstancePerThread));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 997 times."> 997</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 997 times.">            singletonInstancePerThread = ref.get();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 1003 times."> 1003</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 1003 times.">        <span class="keyword">return</span> singletonInstancePerThread;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setSingletonClassName(String singletonClassName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 2 times.">        <span class="keyword">this</span>.singletonClassName = singletonClassName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/ProxyDocumentFactory.html b/docs/clover/org/dom4j/util/ProxyDocumentFactory.html
new file mode 100644
index 0000000..546bef6
--- /dev/null
+++ b/docs/clover/org/dom4j/util/ProxyDocumentFactory.html
@@ -0,0 +1,958 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ ProxyDocumentFactory.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ProxyDocumentFactory.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">204</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">27</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">110</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ProxyDocumentFactory.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.CDATA;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Comment;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentType;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Entity;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.NodeFilter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.ProcessingInstruction;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.XPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.rule.Pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.VariableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ProxyDocumentFactory</code> implements a proxy to a DocumentFactory</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * which is useful for implementation inheritence, allowing the pipelining of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * various factory implementations. For example an EncodingDocumentFactory which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * takes care of encoding strings outside of allowable XML ranges could be used</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * with a DatatypeDocumentFactory which is XML Schema Data Type aware.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.13 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ProxyDocumentFactory"> 42</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> abstract <span class="keyword">class</span> ProxyDocumentFactory {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory proxy;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: method not entered.">    <span class="keyword">public</span> ProxyDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// use default factory</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">this</span>.proxy = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: method not entered.">    <span class="keyword">public</span> ProxyDocumentFactory(DocumentFactory proxy) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">this</span>.proxy = proxy;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Factory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: method not entered.">    <span class="keyword">public</span> Document createDocument() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: statement not executed.">        <span class="keyword">return</span> proxy.createDocument();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 60</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 60: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 60: method not entered.">    <span class="keyword">public</span> Document createDocument(Element rootElement) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 61</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 61: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 61: statement not executed.">        <span class="keyword">return</span> proxy.createDocument(rootElement);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: method not entered.">    <span class="keyword">public</span> DocumentType createDocType(String name, String publicId,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String systemId) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: statement not executed.">        <span class="keyword">return</span> proxy.createDocType(name, publicId, systemId);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: method not entered.">    <span class="keyword">public</span> Element createElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        <span class="keyword">return</span> proxy.createElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: method not entered.">    <span class="keyword">public</span> Element createElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">        <span class="keyword">return</span> proxy.createElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> proxy.createAttribute(owner, qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, String name, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        <span class="keyword">return</span> proxy.createAttribute(owner, name, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> CDATA createCDATA(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">return</span> proxy.createCDATA(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: method not entered.">    <span class="keyword">public</span> Comment createComment(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">        <span class="keyword">return</span> proxy.createComment(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: method not entered.">    <span class="keyword">public</span> Text createText(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: statement not executed.">        <span class="keyword">return</span> proxy.createText(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 97</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 97: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 97: method not entered.">    <span class="keyword">public</span> Entity createEntity(String name, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">        <span class="keyword">return</span> proxy.createEntity(name, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 101</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 101: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 101: method not entered.">    <span class="keyword">public</span> Namespace createNamespace(String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 102: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 102: statement not executed.">        <span class="keyword">return</span> proxy.createNamespace(prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 105</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 105: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 105: method not entered.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(String target,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String data) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">        <span class="keyword">return</span> proxy.createProcessingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: method not entered.">    <span class="keyword">public</span> ProcessingInstruction createProcessingInstruction(String target,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            Map data) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 112: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 112: statement not executed.">        <span class="keyword">return</span> proxy.createProcessingInstruction(target, data);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: method not entered.">    <span class="keyword">public</span> QName createQName(String localName, Namespace namespace) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 116: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 116: statement not executed.">        <span class="keyword">return</span> proxy.createQName(localName, namespace);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: method not entered.">    <span class="keyword">public</span> QName createQName(String localName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">        <span class="keyword">return</span> proxy.createQName(localName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: method not entered.">    <span class="keyword">public</span> QName createQName(String name, String prefix, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">        <span class="keyword">return</span> proxy.createQName(name, prefix, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 127</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 127: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 127: method not entered.">    <span class="keyword">public</span> QName createQName(String qualifiedName, String uri) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 128: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 128: statement not executed.">        <span class="keyword">return</span> proxy.createQName(qualifiedName, uri);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 131</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 131: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 131: method not entered.">    <span class="keyword">public</span> XPath createXPath(String xpathExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: statement not executed.">        <span class="keyword">return</span> proxy.createXPath(xpathExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: method not entered.">    <span class="keyword">public</span> XPath createXPath(String xpathExpression,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            VariableContext variableContext) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 137</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 137: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 137: statement not executed.">        <span class="keyword">return</span> proxy.createXPath(xpathExpression, variableContext);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: method not entered.">    <span class="keyword">public</span> NodeFilter createXPathFilter(String xpathFilterExpression,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            VariableContext variableContext) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">        <span class="keyword">return</span> proxy.createXPathFilter(xpathFilterExpression, variableContext);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: method not entered.">    <span class="keyword">public</span> NodeFilter createXPathFilter(String xpathFilterExpression) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 146</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 146: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 146: statement not executed.">        <span class="keyword">return</span> proxy.createXPathFilter(xpathFilterExpression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: method not entered.">    <span class="keyword">public</span> Pattern createPattern(String xpathPattern) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">        <span class="keyword">return</span> proxy.createPattern(xpathPattern);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 155: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 155: method not entered.">    <span class="keyword">protected</span> DocumentFactory getProxy() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 156: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 156: statement not executed.">        <span class="keyword">return</span> proxy;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 159: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 159: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> setProxy(DocumentFactory proxy) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 160</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 160: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 160: statement not executed.">        <span class="keyword">if</span> (proxy == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// use default factory</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 162: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 162: statement not executed.">            proxy = DocumentFactory.getInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">        <span class="keyword">this</span>.proxy = proxy;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 173</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 179</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 180</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 181</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 183</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 187</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 197</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/SimpleSingleton.html b/docs/clover/org/dom4j/util/SimpleSingleton.html
new file mode 100644
index 0000000..94a1a42
--- /dev/null
+++ b/docs/clover/org/dom4j/util/SimpleSingleton.html
@@ -0,0 +1,480 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ SimpleSingleton.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SimpleSingleton.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">94</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">30</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SimpleSingleton.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>76,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="152" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="48" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>SimpleSingleton</code> is an implementation of the SingletonStrategy</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * interface used to provide common factory access for the same object instance.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This implementation will create a new instance from the class specified and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * will not create a new one unless it is reset.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:ddlucas at users.sourceforge.net">David Lucas </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.3 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SimpleSingleton"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> SimpleSingleton <span class="keyword">implements</span> SingletonStrategy {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String singletonClassName = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object singletonInstance = <span class="keyword">null</span>;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 27</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 27: method entered 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 27: method entered 183 times.">    <span class="keyword">public</span> SimpleSingleton() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 30: method entered 41671 times."> 41671</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 30: method entered 41671 times.">    <span class="keyword">public</span> Object instance() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: statement executed 41671 times."> 41671</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: statement executed 41671 times.">        <span class="keyword">return</span> singletonInstance;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: method entered 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: method entered 183 times.">    <span class="keyword">public</span> <span class="keyword">void</span> reset() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 35: expression evaluated to true 183 times, false 0 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 35: expression evaluated to true 183 times, false 0 times.">        <span class="keyword">if</span> (singletonClassName != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 183 times.">            Class clazz = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 37: statement executed 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 37: statement executed 183 times.">            <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: statement executed 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: statement executed 183 times.">                clazz = Thread.currentThread().getContextClassLoader().loadClass(</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        singletonClassName);</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: statement executed 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: statement executed 183 times.">                singletonInstance = clazz.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">catch</span> (Exception ignore) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">                <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">                    clazz = Class.forName(singletonClassName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">                    singletonInstance = clazz.newInstance();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">catch</span> (Exception ignore2) {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: method entered 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: method entered 183 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setSingletonClassName(String singletonClassName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 53: statement executed 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 53: statement executed 183 times.">        <span class="keyword">this</span>.singletonClassName = singletonClassName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 183 times."> 183</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 183 times.">        reset();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/SingletonStrategy.html b/docs/clover/org/dom4j/util/SingletonStrategy.html
new file mode 100644
index 0000000..a7483b3
--- /dev/null
+++ b/docs/clover/org/dom4j/util/SingletonStrategy.html
@@ -0,0 +1,390 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ SingletonStrategy.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="SingletonStrategy.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">76</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">0</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">6</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   SingletonStrategy.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphBarLeft" align="center"><B> - </B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="empty"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>SingletonStrategy</code> is an interface used to provide common</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * factory access for the same object based on an implementation strategy for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * singleton. Right now there are two that accompany this interface:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SimpleSingleton and PerThreadSingleton. This will replace previous usage of</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ThreadLocal to allow for alternate strategies.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:ddlucas at users.sourceforge.net">David Lucas </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.2 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="SingletonStrategy"> 22</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">interface</span> SingletonStrategy {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * return a singleton instance of the class specified in setSingletonClass</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    Object instance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * reset the instance to a new instance for the implemented strategy</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> reset();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * set a singleton class name that will be used to create the singleton</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * based on the strategy implementation of this interface. The default</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * constructor of the class will be used and must be public.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">void</span> setSingletonClassName(String singletonClassName);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/UserDataAttribute.html b/docs/clover/org/dom4j/util/UserDataAttribute.html
new file mode 100644
index 0000000..b4da376
--- /dev/null
+++ b/docs/clover/org/dom4j/util/UserDataAttribute.html
@@ -0,0 +1,421 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ UserDataAttribute.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="UserDataAttribute.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">81</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">4</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">18</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   UserDataAttribute.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphBarLeft" align="center"><B>25%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="50" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="150" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultAttribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>UserDataAttribute</code> support the adornment of a user data object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * on an Element or Attribute instance such that the methods {@link#getData}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #setData(Object)}will get and set the values of a user data object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This can be useful for developers wishing to create XML trees and adorn the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * trees with user defined objects.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.8 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="UserDataAttribute"> 25</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> UserDataAttribute <span class="keyword">extends</span> DefaultAttribute {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The user data object */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object data;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 29</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 29: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 29: method not entered.">    <span class="keyword">public</span> UserDataAttribute(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: statement not executed.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 33</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 33: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 33: method entered 4 times.">    <span class="keyword">public</span> UserDataAttribute(QName qname, String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: statement executed 4 times.">        <span class="keyword">super</span>(qname, text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: method not entered.">    <span class="keyword">public</span> Object getData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 38: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 38: statement not executed.">        <span class="keyword">return</span> data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 42: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 42: statement not executed.">        <span class="keyword">this</span>.data = data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/UserDataDocumentFactory.html b/docs/clover/org/dom4j/util/UserDataDocumentFactory.html
new file mode 100644
index 0000000..4fa22bd
--- /dev/null
+++ b/docs/clover/org/dom4j/util/UserDataDocumentFactory.html
@@ -0,0 +1,452 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ UserDataDocumentFactory.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="UserDataDocumentFactory.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">90</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">18</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   UserDataDocumentFactory.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>100%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="fullcover"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>UserDataDocumentFactory</code> is a factory of XML objects which</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * support the adornment of a user data object on an Element or Attribute</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * instance such that the methods <code>getData()</code> and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>setData()</code> will get and set the values of a user data object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This can be useful for developers wishing to create XML trees and adorn the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * trees with user defined objects.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.11 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="UserDataDocumentFactory"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> UserDataDocumentFactory <span class="keyword">extends</span> DocumentFactory {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The Singleton instance */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> <span class="keyword">transient</span> UserDataDocumentFactory singleton</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            = <span class="keyword">new</span> UserDataDocumentFactory();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Access to the singleton instance of this factory.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the default singleon instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 40: method entered 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 40: method entered 5 times.">    <span class="keyword">public</span> <span class="keyword">static</span> DocumentFactory getInstance() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: statement executed 5 times."> 5</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: statement executed 5 times.">        <span class="keyword">return</span> singleton;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// DocumentFactory methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: method entered 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: method entered 80 times.">    <span class="keyword">public</span> Element createElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: statement executed 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: statement executed 80 times.">        <span class="keyword">return</span> <span class="keyword">new</span> UserDataElement(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: method entered 4 times.">    <span class="keyword">public</span> Attribute createAttribute(Element owner, QName qname, String value) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: statement executed 4 times.">        <span class="keyword">return</span> <span class="keyword">new</span> UserDataAttribute(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/UserDataElement.html b/docs/clover/org/dom4j/util/UserDataElement.html
new file mode 100644
index 0000000..e020719
--- /dev/null
+++ b/docs/clover/org/dom4j/util/UserDataElement.html
@@ -0,0 +1,626 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ UserDataElement.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="UserDataElement.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">128</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">9</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">42</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   UserDataElement.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">77,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>74,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="148" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="52" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.DefaultElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>UserDataElement</code> support the adornment of a user data object on</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * an Element or Attribute instance such that the methods {@link#getData}</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * {@link #setData(Object)}will get and set the values of a user data object.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This can be useful for developers wishing to create XML trees and adorn the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * trees with user defined objects.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:james.strachan at metastuff.com">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.12 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="UserDataElement"> 26</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> UserDataElement <span class="keyword">extends</span> DefaultElement {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The user data object */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Object data;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 30</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 30: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 30: method not entered.">    <span class="keyword">public</span> UserDataElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 31: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 31: statement not executed.">        <span class="keyword">super</span>(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 34</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 34: method entered 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 34: method entered 80 times.">    <span class="keyword">public</span> UserDataElement(QName qname) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: statement executed 80 times."> 80</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: statement executed 80 times.">        <span class="keyword">super</span>(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: method entered 4 times.">    <span class="keyword">public</span> Object getData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 4 times.">        <span class="keyword">return</span> data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setData(Object data) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 43: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 43: statement executed 2 times.">        <span class="keyword">this</span>.data = data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 46: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 46: method entered 1 time.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 47: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 47: statement executed 1 time.">        <span class="keyword">return</span> <span class="keyword">super</span>.toString() + <span class="string">" userData: "</span> + data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: method entered 56 times."> 56</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: method entered 56 times.">    <span class="keyword">public</span> Object clone() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: statement executed 56 times."> 56</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: statement executed 56 times.">        UserDataElement answer = (UserDataElement) <span class="keyword">super</span>.clone();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: expression evaluated to true 56 times, false 0 times."> 56</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: expression evaluated to true 56 times, false 0 times.">        <span class="keyword">if</span> (answer != <span class="keyword">this</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 56 times."> 56</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 56 times.">            answer.data = getCopyOfUserData();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: statement executed 56 times."> 56</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: statement executed 56 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 59</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 63</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * If a deep copy of user data is required whenever the clone() or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * createCopy() methods are called on this element then this method should</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * return a clone of the user data</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 70: method entered 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 70: method entered 57 times.">    <span class="keyword">protected</span> Object getCopyOfUserData() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 71: statement executed 57 times."> 57</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 71: statement executed 57 times.">        <span class="keyword">return</span> data;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: method not entered.">    <span class="keyword">protected</span> Element createElement(String name) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        Element answer = getDocumentFactory().createElement(name);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 76</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 76: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 76: statement not executed.">        answer.setData(getCopyOfUserData());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: method entered 1 time.">    <span class="keyword">protected</span> Element createElement(QName qName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 1 time.">        Element answer = getDocumentFactory().createElement(qName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 83: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 83: statement executed 1 time.">        answer.setData(getCopyOfUserData());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: statement executed 1 time.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// protected DocumentFactory getDocumentFactory() {</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// return DOCUMENT_FACTORY;</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// }</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/XMLErrorHandler.html b/docs/clover/org/dom4j/util/XMLErrorHandler.html
new file mode 100644
index 0000000..1fc401f
--- /dev/null
+++ b/docs/clover/org/dom4j/util/XMLErrorHandler.html
@@ -0,0 +1,797 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ util\ XMLErrorHandler.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XMLErrorHandler.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">168</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">14</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">70</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XMLErrorHandler.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.util;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentHelper;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.ErrorHandler;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.xml.sax.SAXParseException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XMLErrorHandler</code> is a SAX {@link ErrorHandler}which turns the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SAX parsing errors into XML so that the output can be formatted using XSLT or</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * the errors can be included in a SOAP message.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.7 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XMLErrorHandler"> 25</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XMLErrorHandler <span class="keyword">implements</span> ErrorHandler {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final QName ERROR_QNAME = QName.get(<span class="string">"error"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final QName FATALERROR_QNAME = QName.get(<span class="string">"fatalError"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">protected</span> <span class="keyword">static</span> final QName WARNING_QNAME = QName.get(<span class="string">"warning"</span>);</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** Stores the errors that occur during a SAX parse */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element errors;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** QName used for error elements */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName errorQName = ERROR_QNAME;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** QName used for fatalerror elements */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName fatalErrorQName = FATALERROR_QNAME;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** QName used for warning elements */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> QName warningQName = WARNING_QNAME;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> XMLErrorHandler() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">this</span>.errors = DocumentHelper.createElement(<span class="string">"errors"</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 48: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 48: method not entered.">    <span class="keyword">public</span> XMLErrorHandler(Element errors) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 49</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 49: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 49: statement not executed.">        <span class="keyword">this</span>.errors = errors;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 52: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 52: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> error(SAXParseException e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 53</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 53: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 53: statement not executed.">        Element element = errors.addElement(errorQName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: statement not executed.">        addException(element, e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> fatalError(SAXParseException e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">        Element element = errors.addElement(fatalErrorQName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">        addException(element, e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 62: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 62: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> warning(SAXParseException e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        Element element = errors.addElement(warningQName);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 64: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 64: statement not executed.">        addException(element, e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 69: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 69: method not entered.">    <span class="keyword">public</span> Element getErrors() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">        <span class="keyword">return</span> errors;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setErrors(Element errors) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">        <span class="keyword">this</span>.errors = errors;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Allow the QNames used to create subelements to be changed</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> QName getErrorQName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">return</span> errorQName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setErrorQName(QName errorQName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">        <span class="keyword">this</span>.errorQName = errorQName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: method not entered.">    <span class="keyword">public</span> QName getFatalErrorQName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 87</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 87: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 87: statement not executed.">        <span class="keyword">return</span> fatalErrorQName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setFatalErrorQName(QName fatalErrorQName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">        <span class="keyword">this</span>.fatalErrorQName = fatalErrorQName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: method not entered.">    <span class="keyword">public</span> QName getWarningQName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        <span class="keyword">return</span> warningQName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setWarningQName(QName warningQName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">        <span class="keyword">this</span>.warningQName = warningQName;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 103</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 106</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Adds the given parse exception information to the given element instance</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 107</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> element</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 110</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> e</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 113: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 113: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> addException(Element element, SAXParseException e) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 114: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 114: statement not executed.">        element.addAttribute(<span class="string">"column"</span>, Integer.toString(e.getColumnNumber()));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        element.addAttribute(<span class="string">"line"</span>, Integer.toString(e.getLineNumber()));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 117</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 117: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 117: statement not executed.">        String publicID = e.getPublicId();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 118</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">        <span class="keyword">if</span> ((publicID != <span class="keyword">null</span>) && (publicID.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">            element.addAttribute(<span class="string">"publicID"</span>, publicID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">        String systemID = e.getSystemId();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 124</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        <span class="keyword">if</span> ((systemID != <span class="keyword">null</span>) && (systemID.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">            element.addAttribute(<span class="string">"systemID"</span>, systemID);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">        element.addText(e.getMessage());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/util/pkg-classes.html b/docs/clover/org/dom4j/util/pkg-classes.html
new file mode 100644
index 0000000..8c94e9e
--- /dev/null
+++ b/docs/clover/org/dom4j/util/pkg-classes.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.util">org.dom4j.util</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="AttributeHelper.html" title="AttributeHelper">AttributeHelper</A>
+    	    <i>(28,6%)</i><BR>
+    
+                <A target="classPane" href="IndexedDocumentFactory.html" title="IndexedDocumentFactory">IndexedDocumentFactory</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="IndexedElement.html" title="IndexedElement">IndexedElement</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="NodeComparator.html" title="NodeComparator">NodeComparator</A>
+    	    <i>(64%)</i><BR>
+    
+                <A target="classPane" href="NonLazyDocumentFactory.html" title="NonLazyDocumentFactory">NonLazyDocumentFactory</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="NonLazyElement.html" title="NonLazyElement">NonLazyElement</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="PerThreadSingleton.html" title="PerThreadSingleton">PerThreadSingleton</A>
+    	    <i>(76,2%)</i><BR>
+    
+                <A target="classPane" href="ProxyDocumentFactory.html" title="ProxyDocumentFactory">ProxyDocumentFactory</A>
+    	    <i>(0%)</i><BR>
+    
+                <A target="classPane" href="SimpleSingleton.html" title="SimpleSingleton">SimpleSingleton</A>
+    	    <i>(76,5%)</i><BR>
+      
+                <A target="classPane" href="UserDataAttribute.html" title="UserDataAttribute">UserDataAttribute</A>
+    	    <i>(25%)</i><BR>
+    
+                <A target="classPane" href="UserDataDocumentFactory.html" title="UserDataDocumentFactory">UserDataDocumentFactory</A>
+    	    <i>(100%)</i><BR>
+    
+                <A target="classPane" href="UserDataElement.html" title="UserDataElement">UserDataElement</A>
+    	    <i>(74,1%)</i><BR>
+    
+                <A target="classPane" href="XMLErrorHandler.html" title="XMLErrorHandler">XMLErrorHandler</A>
+    	    <i>(0%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/util/pkg-summary.html b/docs/clover/org/dom4j/util/pkg-summary.html
new file mode 100644
index 0000000..6503d6e
--- /dev/null
+++ b/docs/clover/org/dom4j/util/pkg-summary.html
@@ -0,0 +1,372 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">1.952</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">119</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">787</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">14</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">14</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.util
+	    </TD>
+   
+    <TD class="graphPercent" align="center">29,3%</TD>
+    <TD class="graphPercent" align="center">34,4%</TD>
+    <TD class="graphPercent" align="center">26,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>31,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="63" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="137" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="IndexedDocumentFactory.html" title="IndexedDocumentFactory">IndexedDocumentFactory</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="IndexedElement.html" title="IndexedElement">IndexedElement</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="NonLazyDocumentFactory.html" title="NonLazyDocumentFactory">NonLazyDocumentFactory</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="NonLazyElement.html" title="NonLazyElement">NonLazyElement</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="ProxyDocumentFactory.html" title="ProxyDocumentFactory">ProxyDocumentFactory</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="XMLErrorHandler.html" title="XMLErrorHandler">XMLErrorHandler</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="UserDataAttribute.html" title="UserDataAttribute">UserDataAttribute</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphBarLeft" align="center"><B>25%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="50" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="150" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="AttributeHelper.html" title="AttributeHelper">AttributeHelper</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">16,7%</TD>
+    <TD class="graphPercent" align="center">27,3%</TD>
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphBarLeft" align="center"><B>28,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="57" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="143" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="NodeComparator.html" title="NodeComparator">NodeComparator</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">67,8%</TD>
+    <TD class="graphPercent" align="center">92,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>64%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="127" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="73" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="UserDataElement.html" title="UserDataElement">UserDataElement</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphPercent" align="center">77,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>74,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="148" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="52" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="PerThreadSingleton.html" title="PerThreadSingleton">PerThreadSingleton</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">73,3%</TD>
+    <TD class="graphPercent" align="center">75%</TD>
+    <TD class="graphBarLeft" align="center"><B>76,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="152" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="48" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="SimpleSingleton.html" title="SimpleSingleton">SimpleSingleton</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">50%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>76,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="152" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="48" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="UserDataDocumentFactory.html" title="UserDataDocumentFactory">UserDataDocumentFactory</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>100%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="fullcover"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+      <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/xpath/DefaultNamespaceContext.html b/docs/clover/org/dom4j/xpath/DefaultNamespaceContext.html
new file mode 100644
index 0000000..421ff41
--- /dev/null
+++ b/docs/clover/org/dom4j/xpath/DefaultNamespaceContext.html
@@ -0,0 +1,517 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ xpath\ DefaultNamespaceContext.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultNamespaceContext.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">102</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">37</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultNamespaceContext.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">82,4%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>78,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="156" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="44" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.xpath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Document;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Namespace;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.NamespaceContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>DefaultNamespaceContext</code> implements a Jaxen NamespaceContext</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * such that a context node is used to determine the current XPath namespace</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * prefixes and namespace URIs available.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultNamespaceContext"> 28</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultNamespaceContext <span class="keyword">implements</span> NamespaceContext, Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> final Element element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 31</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 31: method entered 2561 times."> 2561</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 31: method entered 2561 times.">    <span class="keyword">public</span> DefaultNamespaceContext(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 32</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 32: statement executed 2561 times."> 2561</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 32: statement executed 2561 times.">        <span class="keyword">this</span>.element = element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 35</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 35: method entered 2561 times."> 2561</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 35: method entered 2561 times.">    <span class="keyword">public</span> <span class="keyword">static</span> DefaultNamespaceContext create(Object node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 36</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 36: statement executed 2561 times."> 2561</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 36: statement executed 2561 times.">        Element element = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 38</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 38: statement executed 2561 times."> 2561</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 38: statement executed 2561 times.">        <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 39</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 39: statement executed 2169 times."> 2169</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 39: statement executed 2169 times.">            element = (Element) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: expression evaluated to true 392 times, false 0 times."> 392</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: expression evaluated to true 392 times, false 0 times.">        } <span class="keyword">else</span> <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Document) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 41: statement executed 392 times."> 392</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 41: statement executed 392 times.">            Document doc = (Document) node;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 42</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 42: statement executed 392 times."> 392</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 42: statement executed 392 times.">            element = doc.getRootElement();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 43</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 43: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 43: statement not executed.">        } <span class="keyword">else</span> <span class="keyword">if</span> (node <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: statement not executed.">            element = ((Node) node).getParent();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: expression evaluated to true 2561 times, false 0 times."> 2561</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: expression evaluated to true 2561 times, false 0 times.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 48</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 48: statement executed 2561 times."> 2561</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 48: statement executed 2561 times.">            <span class="keyword">return</span> <span class="keyword">new</span> DefaultNamespaceContext(element);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: method entered 854 times."> 854</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: method entered 854 times.">    <span class="keyword">public</span> String translateNamespacePrefixToUri(String prefix) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 854 times."> 854</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 854 times.">        <span class="keyword">if</span> ((prefix != <span class="keyword">null</span>) && (prefix.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 56: statement executed 55 times."> 55</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 56: statement executed 55 times.">            Namespace ns = element.getNamespaceForPrefix(prefix);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 55 times."> 55</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 55 times.">            <span class="keyword">if</span> (ns != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 54 times."> 54</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 54 times.">                <span class="keyword">return</span> ns.getURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 800 times."> 800</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 800 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 78</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 82</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 85</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 86</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 99</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/xpath/DefaultXPath.html b/docs/clover/org/dom4j/xpath/DefaultXPath.html
new file mode 100644
index 0000000..efef139
--- /dev/null
+++ b/docs/clover/org/dom4j/xpath/DefaultXPath.html
@@ -0,0 +1,1879 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ xpath\ DefaultXPath.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="DefaultXPath.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">413</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">29</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">229</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   DefaultXPath.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">61,8%</TD>
+    <TD class="graphPercent" align="center">69,7%</TD>
+    <TD class="graphPercent" align="center">72,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>68,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="137" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="63" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.xpath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.io.Serializable;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Collections;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Comparator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashMap;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.HashSet;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.List;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Map;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.InvalidXPathException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.NodeFilter;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.XPathException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.FunctionContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.JaxenException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.NamespaceContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.SimpleNamespaceContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.VariableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.XPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.dom4j.Dom4jXPath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Default implementation of {@link org.dom4j.XPath}which uses the <a</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * href="http://jaxen.org">Jaxen </a> project.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 37</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> bob mcwhirter</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="DefaultXPath"> 41</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> DefaultXPath <span class="keyword">implements</span> org.dom4j.XPath, NodeFilter, Serializable {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> XPath xpath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 46</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> NamespaceContext namespaceContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 47</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Construct an XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 50</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 51</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> text</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 54</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> InvalidXPathException</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 55</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *             DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 57: method entered 592 times."> 592</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 57: method entered 592 times.">    <span class="keyword">public</span> DefaultXPath(String text) <span class="keyword">throws</span> InvalidXPathException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 58: statement executed 592 times."> 592</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 58: statement executed 592 times.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 59: statement executed 592 times."> 592</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 59: statement executed 592 times.">        <span class="keyword">this</span>.xpath = parse(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 62</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 62: method entered 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 62: method entered 11 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: statement executed 11 times."> 11</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: statement executed 11 times.">        <span class="keyword">return</span> <span class="string">"[XPath: "</span> + xpath + <span class="string">"]"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 66</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// XPath interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 67</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Retrieve the textual XPath string used to initialize this Object</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 71</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> The XPath string</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: method not entered.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 74</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 74: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 74: statement not executed.">        <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> FunctionContext getFunctionContext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> xpath.getFunctionContext();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 81: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 81: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setFunctionContext(FunctionContext functionContext) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">        xpath.setFunctionContext(functionContext);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: method not entered.">    <span class="keyword">public</span> NamespaceContext getNamespaceContext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">        <span class="keyword">return</span> namespaceContext;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 89: method entered 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 89: method entered 4 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setNamespaceURIs(Map map) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 90: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 90: statement executed 4 times.">        setNamespaceContext(<span class="keyword">new</span> SimpleNamespaceContext(map));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 93: method entered 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 93: method entered 8 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setNamespaceContext(NamespaceContext namespaceContext) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 94: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 94: statement executed 8 times.">        <span class="keyword">this</span>.namespaceContext = namespaceContext;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 95: statement executed 8 times."> 8</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 95: statement executed 8 times.">        xpath.setNamespaceContext(namespaceContext);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 96</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: method not entered.">    <span class="keyword">public</span> VariableContext getVariableContext() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">        <span class="keyword">return</span> xpath.getVariableContext();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: method entered 7 times.">    <span class="keyword">public</span> <span class="keyword">void</span> setVariableContext(VariableContext variableContext) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 7 times.">        xpath.setVariableContext(variableContext);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: method entered 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: method entered 7 times.">    <span class="keyword">public</span> Object evaluate(Object context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: statement executed 7 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 108: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 108: statement executed 7 times.">            setNSContext(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 110: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 110: statement executed 7 times.">            List answer = xpath.selectNodes(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 111</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 112</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 112: statement executed 7 times."> 7</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 112: statement executed 7 times.">            <span class="keyword">if</span> ((answer != <span class="keyword">null</span>) && (answer.size() == 1)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 113</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 113: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 113: statement executed 6 times.">                <span class="keyword">return</span> answer.get(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 115</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 116</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 116: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 116: statement executed 1 time.">            <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JaxenException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: statement not executed.">            handleJaxenException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 119</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: method not entered.">    <span class="keyword">public</span> Object selectObject(Object context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 125</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 125: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 125: statement not executed.">        <span class="keyword">return</span> evaluate(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 128</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 128: method entered 289 times."> 289</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 128: method entered 289 times.">    <span class="keyword">public</span> List selectNodes(Object context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 129: statement executed 289 times."> 289</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 129: statement executed 289 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 130</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 130: statement executed 289 times."> 289</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 130: statement executed 289 times.">            setNSContext(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 132: statement executed 289 times."> 289</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 132: statement executed 289 times.">            <span class="keyword">return</span> xpath.selectNodes(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JaxenException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 134: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 134: statement executed 1 time.">            handleJaxenException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">            <span class="keyword">return</span> Collections.EMPTY_LIST;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: method not entered.">    <span class="keyword">public</span> List selectNodes(Object context, org.dom4j.XPath sortXPath) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 141</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 141: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 141: statement not executed.">        List answer = selectNodes(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 142</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 142: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 142: statement not executed.">        sortXPath.sort(answer);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 144</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 144: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 144: statement not executed.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 147</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 147: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 147: method entered 2 times.">    <span class="keyword">public</span> List selectNodes(Object context, org.dom4j.XPath sortXPath,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">boolean</span> distinct) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 149: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 149: statement executed 2 times.">        List answer = selectNodes(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 150: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 150: statement executed 2 times.">        sortXPath.sort(answer, distinct);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 152: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 152: statement executed 2 times.">        <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 155</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 155: method entered 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 155: method entered 71 times.">    <span class="keyword">public</span> Node selectSingleNode(Object context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 156</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 156: statement executed 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 156: statement executed 71 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 157: statement executed 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 157: statement executed 71 times.">            setNSContext(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 159</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 159: statement executed 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 159: statement executed 71 times.">            Object answer = xpath.selectSingleNode(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 161</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 161: expression evaluated to true 71 times, false 0 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 161: expression evaluated to true 71 times, false 0 times.">            <span class="keyword">if</span> (answer <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 162</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 162: statement executed 71 times."> 71</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 162: statement executed 71 times.">                <span class="keyword">return</span> (Node) answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 165</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 165: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 165: statement not executed.">            <span class="keyword">if</span> (answer == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 166</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 166: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 166: statement not executed.">                <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 169</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 169: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 169: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> XPathException(<span class="string">"The result of the XPath expression is "</span></A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 170</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + <span class="string">"not a Node. It was: "</span> + answer + <span class="string">" of type: "</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                    + answer.getClass().getName());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 172</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JaxenException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">            handleJaxenException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 175</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 175: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 175: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 176</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 179: method entered 2151 times."> 2151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 179: method entered 2151 times.">    <span class="keyword">public</span> String valueOf(Object context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 180: statement executed 2151 times."> 2151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 180: statement executed 2151 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 181: statement executed 2151 times."> 2151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 181: statement executed 2151 times.">            setNSContext(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 183: statement executed 2151 times."> 2151</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 183: statement executed 2151 times.">            <span class="keyword">return</span> xpath.stringValueOf(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 184</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JaxenException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 185</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 185: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 185: statement not executed.">            handleJaxenException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 187: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 187: statement not executed.">            <span class="keyword">return</span> <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 189</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 190</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 191</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 191: method entered 38 times."> 38</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 191: method entered 38 times.">    <span class="keyword">public</span> Number numberValueOf(Object context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 192</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 192: statement executed 38 times."> 38</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 192: statement executed 38 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 193</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 193: statement executed 38 times."> 38</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 193: statement executed 38 times.">            setNSContext(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 194</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 195</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 195: statement executed 38 times."> 38</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 195: statement executed 38 times.">            <span class="keyword">return</span> xpath.numberValueOf(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 196</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JaxenException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">            handleJaxenException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 198</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 199</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 199: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 199: statement not executed.">            <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 203</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 203: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 203: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> booleanValueOf(Object context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 204</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 204: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 204: statement executed 2 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 205</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 205: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 205: statement executed 2 times.">            setNSContext(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 207: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 207: statement executed 2 times.">            <span class="keyword">return</span> xpath.booleanValueOf(context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 208</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JaxenException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 209</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 209: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 209: statement not executed.">            handleJaxenException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: statement not executed.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 212</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 213</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>sort</code> sorts the given List of Nodes using this XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression as a {@link Comparator}.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 221</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 222</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the list of Nodes to sort</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 224</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 224: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 224: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> sort(List list) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 225: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 225: statement not executed.">        sort(list, <span class="keyword">false</span>);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 226</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 229</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 230</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <code>sort</code> sorts the given List of Nodes using this XPath</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * expression as a {@link Comparator}and optionally removing duplicates.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 233</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 234</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            is the list of Nodes to sort</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> distinct</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 237</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            if true then duplicate values (using the sortXPath for</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 238</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            comparisions) will be removed from the List</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 240</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 240: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 240: method entered 2 times.">    <span class="keyword">public</span> <span class="keyword">void</span> sort(List list, <span class="keyword">boolean</span> distinct) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 241: expression evaluated to true 2 times, false 0 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: expression evaluated to true 2 times, false 0 times.">        <span class="keyword">if</span> ((list != <span class="keyword">null</span>) && !list.isEmpty()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 242: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 242: statement executed 2 times.">            <span class="keyword">int</span> size = list.size();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 243</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 243: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 243: statement executed 2 times.">            HashMap sortValues = <span class="keyword">new</span> HashMap(size);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 245: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 245: statement executed 2 times.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 246</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 246: statement executed 1958 times."> 1958</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 246: statement executed 1958 times.">                Object object = list.get(i);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 247</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: expression evaluated to true 1958 times, false 0 times."> 1958</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: expression evaluated to true 1958 times, false 0 times.">                <span class="keyword">if</span> (object <span class="keyword">instanceof</span> Node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 249: statement executed 1958 times."> 1958</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 249: statement executed 1958 times.">                    Node node = (Node) object;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 250: statement executed 1958 times."> 1958</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 250: statement executed 1958 times.">                    Object expression = getCompareValue(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 251</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 251: statement executed 1958 times."> 1958</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 251: statement executed 1958 times.">                    sortValues.put(node, expression);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 252</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 255: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 255: statement executed 2 times.">            sort(list, sortValues);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 257: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 257: statement executed 2 times.">            <span class="keyword">if</span> (distinct) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 258: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 258: statement executed 1 time.">                removeDuplicates(list, sortValues);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 259</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 260</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 261</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 262</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 263: method entered 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 263: method entered 12 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> matches(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 264: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 264: statement executed 12 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 265</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 265: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 265: statement executed 12 times.">            setNSContext(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 267: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 267: statement executed 12 times.">            List answer = xpath.selectNodes(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 269: statement executed 12 times."> 12</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 269: statement executed 12 times.">            <span class="keyword">if</span> ((answer != <span class="keyword">null</span>) && (answer.size() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 270</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 270: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 270: statement executed 6 times.">                Object item = answer.get(0);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 272</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 272: expression evaluated to true 0 times, false 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 272: expression evaluated to true 0 times, false 6 times.">                <span class="keyword">if</span> (item <span class="keyword">instanceof</span> Boolean) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 273</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 273: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 273: statement not executed.">                    <span class="keyword">return</span> ((Boolean) item).booleanValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 274</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 275</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 276</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 276: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 276: statement executed 6 times.">                <span class="keyword">return</span> answer.contains(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 278</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 279: statement executed 6 times."> 6</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 279: statement executed 6 times.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JaxenException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 281</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 281: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 281: statement not executed.">            handleJaxenException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 282</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 283: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 283: statement not executed.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Sorts the list based on the sortValues for each node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> sortValues</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 295</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 295: method entered 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 295: method entered 2 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> sort(List list, final Map sortValues) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 296</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 296: statement executed 2 times."> 2</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 296: statement executed 2 times.">        Collections.sort(list, <span class="keyword">new</span> Comparator() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 297</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 297: method entered 9366 times."> 9366</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 297: method entered 9366 times.">            <span class="keyword">public</span> <span class="keyword">int</span> compare(Object o1, Object o2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 298</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 298: statement executed 9366 times."> 9366</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 298: statement executed 9366 times.">                o1 = sortValues.get(o1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 299</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 299: statement executed 9366 times."> 9366</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 299: statement executed 9366 times.">                o2 = sortValues.get(o2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 301</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 301: statement executed 9366 times."> 9366</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 301: statement executed 9366 times.">                <span class="keyword">if</span> (o1 == o2) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 302</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 302: statement executed 978 times."> 978</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 302: statement executed 978 times.">                    <span class="keyword">return</span> 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 303</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 303: expression evaluated to true 8388 times, false 0 times."> 8388</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 303: expression evaluated to true 8388 times, false 0 times.">                } <span class="keyword">else</span> <span class="keyword">if</span> (o1 <span class="keyword">instanceof</span> Comparable) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 304</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 304: statement executed 8388 times."> 8388</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 304: statement executed 8388 times.">                    Comparable c1 = (Comparable) o1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 306</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 306: statement executed 8388 times."> 8388</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 306: statement executed 8388 times.">                    <span class="keyword">return</span> c1.compareTo(o2);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 307</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 307: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 307: statement not executed.">                } <span class="keyword">else</span> <span class="keyword">if</span> (o1 == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 308</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 308: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 308: statement not executed.">                    <span class="keyword">return</span> 1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 309</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 309: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 309: statement not executed.">                } <span class="keyword">else</span> <span class="keyword">if</span> (o2 == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 310</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 310: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 310: statement not executed.">                    <span class="keyword">return</span> -1;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 312</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 312: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 312: statement not executed.">                    <span class="keyword">return</span> o1.equals(o2) ? 0 : (-1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        });</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Implementation methods</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Removes items from the list which have duplicate values</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 323</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> list</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 324</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 325</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> sortValues</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 326</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 327</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 328</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 328: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 328: method entered 1 time.">    <span class="keyword">protected</span> <span class="keyword">void</span> removeDuplicates(List list, Map sortValues) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 329</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        <span class="comment">// remove distinct</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 330</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 330: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 330: statement executed 1 time.">        HashSet distinctValues = <span class="keyword">new</span> HashSet();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 331</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 332</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 332: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 332: statement executed 1 time.">        <span class="keyword">for</span> (Iterator iter = list.iterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 333</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 333: statement executed 979 times."> 979</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 333: statement executed 979 times.">            Object node = iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 334</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 334: statement executed 979 times."> 979</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 334: statement executed 979 times.">            Object value = sortValues.get(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 335</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 336</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 336: statement executed 979 times."> 979</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 336: statement executed 979 times.">            <span class="keyword">if</span> (distinctValues.contains(value)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 337</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 337: statement executed 956 times."> 956</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 337: statement executed 956 times.">                iter.remove();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 338</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 339</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 339: statement executed 23 times."> 23</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 339: statement executed 23 times.">                distinctValues.add(value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 340</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 341</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 342</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 343</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 344</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 345</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 346</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 347</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> node</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 348</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     *            DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 349</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 350</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@return</span> the node expression used for sorting comparisons</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 351</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 352</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 352: method entered 1958 times."> 1958</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 352: method entered 1958 times.">    <span class="keyword">protected</span> Object getCompareValue(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 353</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 353: statement executed 1958 times."> 1958</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 353: statement executed 1958 times.">        <span class="keyword">return</span> valueOf(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 354</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 355</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 356</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 356: method entered 592 times."> 592</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 356: method entered 592 times.">    <span class="keyword">protected</span> <span class="keyword">static</span> XPath parse(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 357</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 357: statement executed 592 times."> 592</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 357: statement executed 592 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 358</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 358: statement executed 592 times."> 592</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 358: statement executed 592 times.">            <span class="keyword">return</span> <span class="keyword">new</span> Dom4jXPath(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 359</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JaxenException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 360</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 360: statement executed 4 times."> 4</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 360: statement executed 4 times.">            <span class="keyword">throw</span> <span class="keyword">new</span> InvalidXPathException(text, e.getMessage());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 361</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Throwable t) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 362</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 362: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 362: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> InvalidXPathException(text, t);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 363</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 364</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 365</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 366</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 366: method entered 2570 times."> 2570</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 366: method entered 2570 times.">    <span class="keyword">protected</span> <span class="keyword">void</span> setNSContext(Object context) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 367</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 367: statement executed 2570 times."> 2570</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 367: statement executed 2570 times.">        <span class="keyword">if</span> (namespaceContext == <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 368</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 368: statement executed 2561 times."> 2561</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 368: statement executed 2561 times.">            xpath.setNamespaceContext(DefaultNamespaceContext.create(context));</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 369</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 370</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 371</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 372</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 372: method entered 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 372: method entered 1 time.">    <span class="keyword">protected</span> <span class="keyword">void</span> handleJaxenException(JaxenException exception)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 373</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XPathException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 374</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 374: statement executed 1 time."> 1</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 374: statement executed 1 time.">        <span class="keyword">throw</span> <span class="keyword">new</span> XPathException(text, exception);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 375</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 376</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 377</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 378</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 379</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 380</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 381</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 382</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 383</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 384</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 385</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 386</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 387</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 388</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 389</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 390</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 391</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 392</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 393</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 394</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 395</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 396</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 397</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 398</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 399</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 400</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 401</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 402</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 403</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 404</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 405</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 406</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 407</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 408</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 409</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 410</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 411</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 412</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 413</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/xpath/XPathPattern.html b/docs/clover/org/dom4j/xpath/XPathPattern.html
new file mode 100644
index 0000000..32c9d7e
--- /dev/null
+++ b/docs/clover/org/dom4j/xpath/XPathPattern.html
@@ -0,0 +1,793 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ xpath\ XPathPattern.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="XPathPattern.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">165</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">12</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">87</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   XPathPattern.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">53,1%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>54,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="108" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="92" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.xpath;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.InvalidXPathException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Node;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.XPathException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.Context;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.ContextSupport;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.JaxenException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.SimpleNamespaceContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.SimpleVariableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.VariableContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.XPathFunctionContext;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.dom4j.DocumentNavigator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.pattern.Pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.pattern.PatternParser;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.jaxen.saxpath.SAXPathException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 30</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>XPathPattern</code> is an implementation of Pattern which uses an</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * XPath xpath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </p></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> <a href="mailto:jstrachan at apache.org">James Strachan </a></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@version</span> $Revision: 1.18.2.1 $</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="XPathPattern"> 37</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> XPathPattern <span class="keyword">implements</span> org.dom4j.rule.Pattern {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> String text;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 40</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Pattern pattern;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 41</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Context context;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 44</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 44: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 44: method not entered.">    <span class="keyword">public</span> XPathPattern(Pattern pattern) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 45</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 45: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 45: statement not executed.">        <span class="keyword">this</span>.pattern = pattern;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: statement not executed.">        <span class="keyword">this</span>.text = pattern.getText();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">this</span>.context = <span class="keyword">new</span> Context(getContextSupport());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 50: method entered 37 times."> 37</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 50: method entered 37 times.">    <span class="keyword">public</span> XPathPattern(String text) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 51: statement executed 37 times."> 37</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 51: statement executed 37 times.">        <span class="keyword">this</span>.text = text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 52</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 52: statement executed 37 times."> 37</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 52: statement executed 37 times.">        <span class="keyword">this</span>.context = <span class="keyword">new</span> Context(getContextSupport());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 54: statement executed 37 times."> 37</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 54: statement executed 37 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 55: statement executed 37 times."> 37</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 55: statement executed 37 times.">            <span class="keyword">this</span>.pattern = PatternParser.parse(text);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 56</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (SAXPathException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 57</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 57: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 57: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> InvalidXPathException(text, e.getMessage());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 58</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (Throwable t) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">            <span class="keyword">throw</span> <span class="keyword">new</span> InvalidXPathException(text, t);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 63: method entered 47 times."> 47</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 63: method entered 47 times.">    <span class="keyword">public</span> <span class="keyword">boolean</span> matches(Node node) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 64</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 64: statement executed 47 times."> 47</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 64: statement executed 47 times.">        <span class="keyword">try</span> {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 65</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 65: statement executed 47 times."> 47</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 65: statement executed 47 times.">            ArrayList list = <span class="keyword">new</span> ArrayList(1);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 66: statement executed 47 times."> 47</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 66: statement executed 47 times.">            list.add(node);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 67: statement executed 47 times."> 47</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 67: statement executed 47 times.">            context.setNodeSet(list);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 68</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 69</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 69: statement executed 47 times."> 47</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 69: statement executed 47 times.">            <span class="keyword">return</span> pattern.matches(node, context);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 70</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">catch</span> (JaxenException e) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">            handleJaxenException(e);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 73</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 73: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 73: statement not executed.">            <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 75</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 77</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 77: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 77: method not entered.">    <span class="keyword">public</span> String getText() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: statement not executed.">        <span class="keyword">return</span> text;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 79</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 80</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 81</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 81: method entered 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 81: method entered 22 times.">    <span class="keyword">public</span> <span class="keyword">double</span> getPriority() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 82: statement executed 22 times."> 22</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 82: statement executed 22 times.">        <span class="keyword">return</span> pattern.getPriority();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 83</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 85: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 85: method entered 14 times.">    <span class="keyword">public</span> org.dom4j.rule.Pattern[] getUnionPatterns() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 86: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 86: statement executed 14 times.">        Pattern[] patterns = pattern.getUnionPatterns();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 88</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 88: expression evaluated to true 0 times, false 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 88: expression evaluated to true 0 times, false 14 times.">        <span class="keyword">if</span> (patterns != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 89</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 89: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 89: statement not executed.">            <span class="keyword">int</span> size = patterns.length;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 90</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 90: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 90: statement not executed.">            XPathPattern[] answer = <span class="keyword">new</span> XPathPattern[size];</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 91</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 92</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 92: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 92: statement not executed.">            <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < size; i++) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 93</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 93: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 93: statement not executed.">                answer[i] = <span class="keyword">new</span> XPathPattern(patterns[i]);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 94</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 95</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">            <span class="keyword">return</span> answer;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 98</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 99: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 99: statement executed 14 times.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 102</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 102: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 102: method entered 14 times.">    <span class="keyword">public</span> <span class="keyword">short</span> getMatchType() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 103: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 103: statement executed 14 times.">        <span class="keyword">return</span> pattern.getMatchType();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 106: method entered 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 106: method entered 14 times.">    <span class="keyword">public</span> String getMatchesNodeName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 107: statement executed 14 times."> 14</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 107: statement executed 14 times.">        <span class="keyword">return</span> pattern.getMatchesNodeName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 108</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setVariableContext(VariableContext variableContext) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">        context.getContextSupport().setVariableContext(variableContext);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 114</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 114: method entered 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 114: method entered 19 times.">    <span class="keyword">public</span> String toString() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 115: statement executed 19 times."> 19</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 115: statement executed 19 times.">        <span class="keyword">return</span> <span class="string">"[XPathPattern: text: "</span> + text + <span class="string">" Pattern: "</span> + pattern + <span class="string">"]"</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 118: method entered 37 times."> 37</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 118: method entered 37 times.">    <span class="keyword">protected</span> ContextSupport getContextSupport() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="lineCountHilight">
+<A title="Line 119: statement executed 37 times."> 37</A>
+</TD><TD class="srcCell"><SPAN class="srcLine"><A title="Line 119: statement executed 37 times.">        <span class="keyword">return</span> <span class="keyword">new</span> ContextSupport(<span class="keyword">new</span> SimpleNamespaceContext(),</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 120</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                XPathFunctionContext.getInstance(),</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 121</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                <span class="keyword">new</span> SimpleVariableContext(), DocumentNavigator.getInstance());</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 123</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: method not entered.">    <span class="keyword">protected</span> <span class="keyword">void</span> handleJaxenException(JaxenException exception)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XPathException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 126</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 126: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 126: statement not executed.">        <span class="keyword">throw</span> <span class="keyword">new</span> XPathException(text, exception);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 129</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 132</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 134</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 135</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 136</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 138</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 140</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 145</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 148</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 149</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 150</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 152</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 153</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 157</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/xpath/pkg-classes.html b/docs/clover/org/dom4j/xpath/pkg-classes.html
new file mode 100644
index 0000000..5f790b8
--- /dev/null
+++ b/docs/clover/org/dom4j/xpath/pkg-classes.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.xpath">org.dom4j.xpath</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="DefaultNamespaceContext.html" title="DefaultNamespaceContext">DefaultNamespaceContext</A>
+    	    <i>(78,1%)</i><BR>
+    
+                <A target="classPane" href="DefaultXPath.html" title="DefaultXPath">DefaultXPath</A>
+    	    <i>(68,6%)</i><BR>
+    
+                <A target="classPane" href="XPathPattern.html" title="XPathPattern">XPathPattern</A>
+    	    <i>(54,2%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/xpath/pkg-summary.html b/docs/clover/org/dom4j/xpath/pkg-summary.html
new file mode 100644
index 0000000..8fa2165
--- /dev/null
+++ b/docs/clover/org/dom4j/xpath/pkg-summary.html
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">680</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">44</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">353</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">3</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">3</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.xpath
+	    </TD>
+   
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">67,7%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>67,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="134" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="66" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="XPathPattern.html" title="XPathPattern">XPathPattern</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">25%</TD>
+    <TD class="graphPercent" align="center">53,1%</TD>
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>54,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="108" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="92" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultXPath.html" title="DefaultXPath">DefaultXPath</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">61,8%</TD>
+    <TD class="graphPercent" align="center">69,7%</TD>
+    <TD class="graphPercent" align="center">72,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>68,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="137" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="63" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+            <TR>
+    <TD class="graphItem">
+        	  <A href="DefaultNamespaceContext.html" title="DefaultNamespaceContext">DefaultNamespaceContext</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">66,7%</TD>
+    <TD class="graphPercent" align="center">82,4%</TD>
+    <TD class="graphPercent" align="center">100%</TD>
+    <TD class="graphBarLeft" align="center"><B>78,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="156" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif"
+                   width="44" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+   <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/xpp/ProxyXmlStartTag.html b/docs/clover/org/dom4j/xpp/ProxyXmlStartTag.html
new file mode 100644
index 0000000..9618a65
--- /dev/null
+++ b/docs/clover/org/dom4j/xpp/ProxyXmlStartTag.html
@@ -0,0 +1,1489 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+<TABLE cellspacing="0" cellpadding="2"><TBODY>
+    <!-- C:\ Projects\ dom4j_1.x_branch\ dom4j\ src\ java\ org\ dom4j\ xpp\ ProxyXmlStartTag.java -->
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <a href="pkg-summary.html"><b>Package</b></a>   <font class="navBarCurrent">File</font></DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="ProxyXmlStartTag.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>file stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">322</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">28</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">193</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Source file</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   ProxyXmlStartTag.java
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+</TBODY></TABLE><TABLE cellspacing="0" cellpadding="0" class="srcView"><TBODY>
+<TR><TD align="right" class="lineCount">
+ 1</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 2</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 3</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> *</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 4</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * This software is open source.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 5</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * See the bottom of this file for the licence.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 6</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 7</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 8</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">package</span> org.dom4j.xpp;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 9</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 10</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.ArrayList;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 11</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> java.util.Iterator;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 12</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 13</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Attribute;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 14</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.DocumentFactory;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 15</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.Element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 16</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.QName;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 17</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.dom4j.tree.AbstractElement;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 18</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 19</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.gjt.xpp.XmlPullParserException;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 20</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">import</span> org.gjt.xpp.XmlStartTag;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 21</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 22</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 23</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <code>ProxyXmlStartTag</code> implements the XPP <code>XmlSmartTag</code></span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 24</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * interface while creating a dom4j <code>Element</code> underneath.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 25</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 26</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> James Strachan</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 27</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Maarten Coene</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 28</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * <span class="javadoc">@author</span> Wolfgang Baer</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 29</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+<A name="ProxyXmlStartTag"> 30</A></TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="keyword">public</span> <span class="keyword">class</span> ProxyXmlStartTag <span class="keyword">implements</span> XmlStartTag {</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 31</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The element being constructed */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 32</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> Element element;</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 33</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 34</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/** The factory used to create new elements */</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 35</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="keyword">private</span> DocumentFactory factory = DocumentFactory.getInstance();</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 36</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 37</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 37: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 37: method not entered.">    <span class="keyword">public</span> ProxyXmlStartTag() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 38</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 39</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 40</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 40: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 40: method not entered.">    <span class="keyword">public</span> ProxyXmlStartTag(Element element) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 41</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 41: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 41: statement not executed.">        <span class="keyword">this</span>.element = element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 42</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 43</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 44</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// XmlStartTag interface</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 45</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 46</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 46: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 46: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> resetStartTag() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 47</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 47: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 47: statement not executed.">        <span class="keyword">this</span>.element = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 48</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 49</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 50</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 50: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 50: method not entered.">    <span class="keyword">public</span> <span class="keyword">int</span> getAttributeCount() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 51</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 51: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 51: statement not executed.">        <span class="keyword">return</span> (element != <span class="keyword">null</span>) ? element.attributeCount() : 0;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 52</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 53</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 54</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 54: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 54: method not entered.">    <span class="keyword">public</span> String getAttributeNamespaceUri(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 55</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 55: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 55: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 56</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 56: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 56: statement not executed.">            Attribute attribute = element.attribute(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 57</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 58</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 58: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 58: statement not executed.">            <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 59</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 59: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 59: statement not executed.">                <span class="keyword">return</span> attribute.getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 60</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 61</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 62</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 63</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 63: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 63: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 64</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 65</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 66</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 66: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 66: method not entered.">    <span class="keyword">public</span> String getAttributeLocalName(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 67</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 67: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 67: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 68</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 68: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 68: statement not executed.">            Attribute attribute = element.attribute(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 69</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 70</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 70: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 70: statement not executed.">            <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 71</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 71: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 71: statement not executed.">                <span class="keyword">return</span> attribute.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 72</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 73</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 74</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 75</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 75: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 75: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 76</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 77</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 78</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 78: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 78: method not entered.">    <span class="keyword">public</span> String getAttributePrefix(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 79</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 79: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 79: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 80</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 80: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 80: statement not executed.">            Attribute attribute = element.attribute(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 81</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 82</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 82: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 82: statement not executed.">            <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 83</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 83: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 83: statement not executed.">                String prefix = attribute.getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 84</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 85</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 85: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 85: statement not executed.">                <span class="keyword">if</span> ((prefix != <span class="keyword">null</span>) && (prefix.length() > 0)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 86</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 86: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 86: statement not executed.">                    <span class="keyword">return</span> prefix;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 87</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 88</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 89</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 90</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 91</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 91: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 91: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 92</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 93</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 94</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 94: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 94: method not entered.">    <span class="keyword">public</span> String getAttributeRawName(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 95</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 95: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 95: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 96</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 96: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 96: statement not executed.">            Attribute attribute = element.attribute(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 97</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 98</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 98: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 98: statement not executed.">            <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 99</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 99: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 99: statement not executed.">                <span class="keyword">return</span> attribute.getQualifiedName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 100</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 101</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 102</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 103</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 103: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 103: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 104</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 105</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 106</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 106: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 106: method not entered.">    <span class="keyword">public</span> String getAttributeValue(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 107</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 107: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 107: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 108</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 108: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 108: statement not executed.">            Attribute attribute = element.attribute(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 109</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 110</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 110: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 110: statement not executed.">            <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 111</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 111: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 111: statement not executed.">                <span class="keyword">return</span> attribute.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 112</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 113</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 114</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 115</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 115: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 115: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 116</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 117</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 118</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 118: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 118: method not entered.">    <span class="keyword">public</span> String getAttributeValueFromRawName(String rawName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 119</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 119: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 119: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 120</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 120: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 120: statement not executed.">            <span class="keyword">for</span> (Iterator iter = element.attributeIterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 121</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 121: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 121: statement not executed.">                Attribute attribute = (Attribute) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 122</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 123</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 123: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 123: statement not executed.">                <span class="keyword">if</span> (rawName.equals(attribute.getQualifiedName())) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 124</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 124: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 124: statement not executed.">                    <span class="keyword">return</span> attribute.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 125</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 126</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 127</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 128</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 129</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 129: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 129: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 130</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 131</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 132</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 132: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 132: method not entered.">    <span class="keyword">public</span> String getAttributeValueFromName(String namespaceURI,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 133</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String localName) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 134</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 134: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 134: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 135</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 135: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 135: statement not executed.">            <span class="keyword">for</span> (Iterator iter = element.attributeIterator(); iter.hasNext();) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 136</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 136: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 136: statement not executed.">                Attribute attribute = (Attribute) iter.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 137</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 138</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 138: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 138: statement not executed.">                <span class="keyword">if</span> (namespaceURI.equals(attribute.getNamespaceURI())</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 139</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                        && localName.equals(attribute.getName())) {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 140</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 140: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 140: statement not executed.">                    <span class="keyword">return</span> attribute.getValue();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 141</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 142</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 143</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 144</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 145</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 145: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 145: statement not executed.">        <span class="keyword">return</span> <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 146</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 147</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 148</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 148: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 148: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> isAttributeNamespaceDeclaration(<span class="keyword">int</span> index) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 149</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 149: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 149: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 150</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 150: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 150: statement not executed.">            Attribute attribute = element.attribute(index);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 151</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 152</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 152: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 152: statement not executed.">            <span class="keyword">if</span> (attribute != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 153</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 153: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 153: statement not executed.">                <span class="keyword">return</span> <span class="string">"xmlns"</span>.equals(attribute.getNamespacePrefix());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 154</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 155</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 156</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 157</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 157: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 157: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 158</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 159</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 160</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 161</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * parameters modeled after SAX2 attribute approach</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 162</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 163</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> namespaceURI DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 164</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> localName DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 165</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> rawName DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 166</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@param</span> value DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 167</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 168</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@throws</span> XmlPullParserException DOCUMENT ME!</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 169</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 170</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 170: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 170: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addAttribute(String namespaceURI, String localName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 171</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String rawName, String value) <span class="keyword">throws</span> XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 172</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 172: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 172: statement not executed.">        QName qname = QName.get(rawName, namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 173</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 173: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 173: statement not executed.">        element.addAttribute(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 174</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 175</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 176</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 176: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 176: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> addAttribute(String namespaceURI, String localName,</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 177</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            String rawName, String value, <span class="keyword">boolean</span> isNamespaceDeclaration)</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 178</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 179</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 179: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 179: statement not executed.">        <span class="keyword">if</span> (isNamespaceDeclaration) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 180</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 180: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 180: statement not executed.">            String prefix = <span class="string">""</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 181</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 181: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 181: statement not executed.">            <span class="keyword">int</span> idx = rawName.indexOf(':');</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 182</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 183</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 183: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 183: statement not executed.">            <span class="keyword">if</span> (idx > 0) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 184</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 184: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 184: statement not executed.">                prefix = rawName.substring(0, idx);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 185</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 186</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 187</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 187: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 187: statement not executed.">            element.addNamespace(prefix, namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 188</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        } <span class="keyword">else</span> {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 189</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 189: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 189: statement not executed.">            QName qname = QName.get(rawName, namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 190</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 190: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 190: statement not executed.">            element.addAttribute(qname, value);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 191</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 192</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 193</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 194</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 194: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 194: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> ensureAttributesCapacity(<span class="keyword">int</span> minCapacity)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 195</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 196</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 196: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 196: statement not executed.">        <span class="keyword">if</span> (element <span class="keyword">instanceof</span> AbstractElement) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 197</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 197: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 197: statement not executed.">            AbstractElement elementImpl = (AbstractElement) element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 198</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 198: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 198: statement not executed.">            elementImpl.ensureAttributesCapacity(minCapacity);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 199</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 200</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 201</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 202</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">/**</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 203</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * Remove all atributes.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 204</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 205</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     * <span class="javadoc">@deprecated</span> Use {@link #removeAttributes()} instead.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 206</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">     */</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 207</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 207: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 207: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeAtttributes() <span class="keyword">throws</span> XmlPullParserException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 208</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 208: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 208: statement not executed.">        removeAttributes();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 209</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 210</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 211</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 211: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 211: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> removeAttributes() <span class="keyword">throws</span> XmlPullParserException {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 212</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 212: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 212: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 213</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 213: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 213: statement not executed.">            element.setAttributes(<span class="keyword">new</span> ArrayList());</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 214</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 215</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// ##### FIXME</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 216</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// adding this method would be nice...</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 217</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="comment">// element.clearAttributes();</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 218</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 219</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 220</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 221</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 221: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 221: method not entered.">    <span class="keyword">public</span> String getLocalName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 222</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 222: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 222: statement not executed.">        <span class="keyword">return</span> element.getName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 223</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 224</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 225</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 225: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 225: method not entered.">    <span class="keyword">public</span> String getNamespaceUri() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 226</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 226: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 226: statement not executed.">        <span class="keyword">return</span> element.getNamespaceURI();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 227</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 228</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 229</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 229: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 229: method not entered.">    <span class="keyword">public</span> String getPrefix() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 230</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 230: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 230: statement not executed.">        <span class="keyword">return</span> element.getNamespacePrefix();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 231</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 232</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 233</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 233: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 233: method not entered.">    <span class="keyword">public</span> String getRawName() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 234</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 234: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 234: statement not executed.">        <span class="keyword">return</span> element.getQualifiedName();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 235</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 236</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 237</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 237: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 237: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> modifyTag(String namespaceURI, String lName, String rawName) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 238</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 238: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 238: statement not executed.">        <span class="keyword">this</span>.element = factory.createElement(rawName, namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 239</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 240</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 241</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 241: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 241: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> resetTag() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 242</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 242: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 242: statement not executed.">        <span class="keyword">this</span>.element = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 243</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 244</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 245</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 245: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 245: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> removeAttributeByName(String namespaceURI, String localName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 246</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 247</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 247: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 247: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 248</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 248: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 248: statement not executed.">            QName qname = QName.get(localName, namespaceURI);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 249</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 249: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 249: statement not executed.">            Attribute attribute = element.attribute(qname);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 250</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 250: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 250: statement not executed.">            <span class="keyword">return</span> element.remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 251</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 252</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 252: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 252: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 253</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 254</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 255</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 255: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 255: method not entered.">    <span class="keyword">public</span> <span class="keyword">boolean</span> removeAttributeByRawName(String rawName)</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 256</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            <span class="keyword">throws</span> XmlPullParserException {</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 257</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 257: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 257: statement not executed.">        <span class="keyword">if</span> (element != <span class="keyword">null</span>) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 258</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 258: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 258: statement not executed.">            Attribute attribute = <span class="keyword">null</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 259</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 259: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 259: statement not executed.">            Iterator it = element.attributeIterator();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 260</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 260: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 260: statement not executed.">            <span class="keyword">while</span> (it.hasNext()) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 261</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 261: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 261: statement not executed.">                Attribute current = (Attribute) it.next();</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 262</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 262: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 262: statement not executed.">                <span class="keyword">if</span> (current.getQualifiedName().equals(rawName)) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 263</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 263: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 263: statement not executed.">                    attribute = current;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 264</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 264: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 264: statement not executed.">                    <span class="keyword">break</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 265</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">                }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 266</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">            }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 267</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 267: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 267: statement not executed.">            <span class="keyword">return</span> element.remove(attribute);</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 268</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">        }</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 269</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 269: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 269: statement not executed.">        <span class="keyword">return</span> <span class="keyword">false</span>;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 270</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 271</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 272</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// Properties</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 273</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    <span class="comment">// -------------------------------------------------------------------------</span></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 274</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 274: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 274: method not entered.">    <span class="keyword">public</span> DocumentFactory getDocumentFactory() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 275</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 275: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 275: statement not executed.">        <span class="keyword">return</span> factory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 276</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 277</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 278</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 278: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 278: method not entered.">    <span class="keyword">public</span> <span class="keyword">void</span> setDocumentFactory(DocumentFactory documentFactory) {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 279</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 279: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 279: statement not executed.">        <span class="keyword">this</span>.factory = documentFactory;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 280</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 281</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 282</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 282: method not entered."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 282: method not entered.">    <span class="keyword">public</span> Element getElement() {</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCountHilight">
+ 283</TD>
+<TD align="right" class="coverageCountHilight">
+<A title="Line 283: statement not executed."> 0</A>
+</TD><TD class="srcCell"><SPAN class="srcLineHilight"><A title="Line 283: statement not executed.">        <span class="keyword">return</span> element;</A>
+</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 284</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">    }</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 285</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine">}</SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 286</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 287</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment">/*</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 288</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Redistribution and use of this software and associated documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 289</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ("Software"), with or without modification, are permitted provided that the</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 290</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * following conditions are met:</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 291</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 292</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 1. Redistributions of source code must retain copyright statements and</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 293</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * notices. Redistributions must also contain a copy of this document.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 294</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 295</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 296</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * this list of conditions and the following disclaimer in the documentation</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 297</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * and/or other materials provided with the distribution.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 298</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 299</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 300</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 301</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * written permission, please contact dom4j-info at metastuff.com.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 302</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 303</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 304</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 305</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 306</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 307</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 308</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 309</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 310</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 311</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 312</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 313</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 314</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 315</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 316</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 317</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 318</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 319</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 320</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * </span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 321</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</span></SPAN></TD></TR><TR><TD align="right" class="lineCount">
+ 322</TD>
+<TD align="right" class="coverageCount">
+  
+</TD><TD class="srcCell"><SPAN class="srcLine"><span class="comment"> */</span></SPAN></TD></TR></TBODY></TABLE>
+<TABLE width="100%"><TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TABLE>
diff --git a/docs/clover/org/dom4j/xpp/pkg-classes.html b/docs/clover/org/dom4j/xpp/pkg-classes.html
new file mode 100644
index 0000000..9545e17
--- /dev/null
+++ b/docs/clover/org/dom4j/xpp/pkg-classes.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+  <HEAD>
+   <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <TITLE>dom4j - 1.6.1</TITLE>
+   <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</HEAD>
+  <BODY bgColor="white">
+    <span class="titleText">
+      <A HREF="pkg-summary.html" TARGET="classPane" title="org.dom4j.xpp">org.dom4j.xpp</A>
+    </span><BR>
+    <span class="titleText">Classes</span><BR>
+    <TABLE width="100%" border="0">
+      <TBODY>
+        <TR>
+	  <TD noWrap class="itemList">
+  
+                <A target="classPane" href="ProxyXmlStartTag.html" title="ProxyXmlStartTag">ProxyXmlStartTag</A>
+    	    <i>(0%)</i><BR>
+  	  </TD>
+	</TR>
+      </TBODY>
+    </TABLE>
+  </BODY>
+</HTML>
\ No newline at end of file
diff --git a/docs/clover/org/dom4j/xpp/pkg-summary.html b/docs/clover/org/dom4j/xpp/pkg-summary.html
new file mode 100644
index 0000000..7c73e34
--- /dev/null
+++ b/docs/clover/org/dom4j/xpp/pkg-summary.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall pkg coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><a href="../../../pkgs-summary.html"><b>Overview</b></a>   <font class="navBarCurrent">Package</font>   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="../../../index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkg-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>package stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">322</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">28</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">193</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">1</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">1</td>
+           <td width="10%"> </td> 
+             <td></td>
+           <td></td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> Package</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   org.dom4j.xpp
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <!-- render list of class coverage graphs -->
+         <TR>
+    <TD class="graphHeaderLeft"><b> Classes</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="ProxyXmlStartTag.html" title="ProxyXmlStartTag">ProxyXmlStartTag</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="../../../img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+   <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="../../../img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/pkgs-summary.html b/docs/clover/pkgs-summary.html
new file mode 100644
index 0000000..391bbce
--- /dev/null
+++ b/docs/clover/pkgs-summary.html
@@ -0,0 +1,409 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dom4j - 1.6.1</title>
+<LINK REL ="stylesheet" TYPE="text/css" HREF="style.css" TITLE="Style">
+</head>
+<body>
+  <!-- render overall summary coverage graph -->
+<TABLE cellspacing="0" cellpadding="2">
+  <TBODY>
+  <TR>
+    <TD colspan="6" class="reportHeader">
+    <TABLE width="100%"><TR>
+    <TD valign="top" class="titleText">Clover coverage report -   dom4j - 1.6.1 <DIV class="timestamp"><b>Coverage timestamp:</b> ma mei 16 2005 14:23:01 GMT+01:00</DIV>
+            <DIV class="navBar"><font class="navBarCurrent">Overview</font>   Package   File</DIV>
+    
+<DIV class="navBarLink">
+   
+    <A HREF="index.html" TARGET="_top">FRAMES</A>  
+<A HREF="pkgs-summary.html" TARGET="_top">NO FRAMES</A>  
+    </DIV>
+
+</TD>
+         <td class="headerStats" valign="top" width="40%" align="right">
+        <table align="right">
+         <tr>
+           <td nowrap><b>project stats:</b></td>
+           <td align="right"><b>LOC:</b></td>
+           <td align="right">42.863</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Methods:</b></td>
+           <td align="right">2.481</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>NCLOC:</b></td>
+           <td align="right">17.854</td>
+           <td width="10%"> </td>
+           <td align="right"><b>Classes:</b></td>
+           <td align="right">183</td>
+         </tr>
+         <tr>
+           <td></td>
+           <td align="right"><b>Files:</b></td>
+           <td align="right">166</td>
+           <td width="10%"> </td> 
+             <td align="right"><b>Packages:</b></td>
+           <td align="right">14</td>
+           </tr>
+      </table>
+     </td>
+    </TR></TABLE>
+   </TD>
+  </TR>
+
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+  <TR>
+    <TD class="graphHeaderLeft"><b> </b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	   Project
+	    </TD>
+   
+    <TD class="graphPercent" align="center">43,8%</TD>
+    <TD class="graphPercent" align="center">47,1%</TD>
+    <TD class="graphPercent" align="center">41%</TD>
+    <TD class="graphBarLeft" align="center"><B>45,2%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="90" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="110" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+<TR><TD class="hbreak" colspan="6"> </TD></TR>
+<!-- render list of package coverage graphs -->
+          <TR>
+    <TD class="graphHeaderLeft"><b> Packages</b></TD>
+    <TD class="graphHeader">Conditionals</TD>
+    <TD class="graphHeader">Statements</TD>
+    <TD class="graphHeader">Methods</TD>
+    <TD class="graphHeader" align="left" colspan="2"><B>TOTAL</B></TD>
+  </TR>   
+  <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/jaxb/pkg-summary.html" title="org.dom4j.jaxb">org.dom4j.jaxb</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/xpp/pkg-summary.html" title="org.dom4j.xpp">org.dom4j.xpp</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphPercent" align="center">0%</TD>
+    <TD class="graphBarLeft" align="center"><B>0%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	   	    <TD class="uncovered"><img alt="coverage" src="img/trans.gif" width="200" height="12"></TD> 
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/dom/pkg-summary.html" title="org.dom4j.dom">org.dom4j.dom</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">11,1%</TD>
+    <TD class="graphPercent" align="center">13,7%</TD>
+    <TD class="graphPercent" align="center">11,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>12,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="25" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="175" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/util/pkg-summary.html" title="org.dom4j.util">org.dom4j.util</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">29,3%</TD>
+    <TD class="graphPercent" align="center">34,4%</TD>
+    <TD class="graphPercent" align="center">26,9%</TD>
+    <TD class="graphBarLeft" align="center"><B>31,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="63" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="137" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/swing/pkg-summary.html" title="org.dom4j.swing">org.dom4j.swing</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">39,5%</TD>
+    <TD class="graphPercent" align="center">40,2%</TD>
+    <TD class="graphPercent" align="center">34,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>38,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="76" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="124" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/rule/pattern/pkg-summary.html" title="org.dom4j.rule.pattern">org.dom4j.rule.pattern</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center"> - </TD>
+    <TD class="graphPercent" align="center">41,7%</TD>
+    <TD class="graphPercent" align="center">41,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>41,7%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="83" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="117" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/io/pkg-summary.html" title="org.dom4j.io">org.dom4j.io</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">46,3%</TD>
+    <TD class="graphPercent" align="center">47,8%</TD>
+    <TD class="graphPercent" align="center">44,3%</TD>
+    <TD class="graphBarLeft" align="center"><B>46,9%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="93" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="107" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/bean/pkg-summary.html" title="org.dom4j.bean">org.dom4j.bean</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">42,9%</TD>
+    <TD class="graphPercent" align="center">52%</TD>
+    <TD class="graphPercent" align="center">41,4%</TD>
+    <TD class="graphBarLeft" align="center"><B>48%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="95" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="105" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/rule/pkg-summary.html" title="org.dom4j.rule">org.dom4j.rule</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">41,3%</TD>
+    <TD class="graphPercent" align="center">52,7%</TD>
+    <TD class="graphPercent" align="center">59,2%</TD>
+    <TD class="graphBarLeft" align="center"><B>50,4%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="100" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="100" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/tree/pkg-summary.html" title="org.dom4j.tree">org.dom4j.tree</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">47%</TD>
+    <TD class="graphPercent" align="center">54,6%</TD>
+    <TD class="graphPercent" align="center">54,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>52,6%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="105" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="95" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/datatype/pkg-summary.html" title="org.dom4j.datatype">org.dom4j.datatype</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">58,3%</TD>
+    <TD class="graphPercent" align="center">65,7%</TD>
+    <TD class="graphPercent" align="center">69,6%</TD>
+    <TD class="graphBarLeft" align="center"><B>64,5%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="129" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="71" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/xpath/pkg-summary.html" title="org.dom4j.xpath">org.dom4j.xpath</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">60%</TD>
+    <TD class="graphPercent" align="center">67,7%</TD>
+    <TD class="graphPercent" align="center">72,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>67,1%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="134" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="66" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/pkg-summary.html" title="org.dom4j">org.dom4j</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">69,6%</TD>
+    <TD class="graphPercent" align="center">72,1%</TD>
+    <TD class="graphPercent" align="center">61,7%</TD>
+    <TD class="graphBarLeft" align="center"><B>69%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="137" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="63" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+             <TR>
+    <TD class="graphItem">
+        	  <A href="org/dom4j/dtd/pkg-summary.html" title="org.dom4j.dtd">org.dom4j.dtd</A>
+	    </TD>
+   
+    <TD class="graphPercent" align="center">83,3%</TD>
+    <TD class="graphPercent" align="center">79,6%</TD>
+    <TD class="graphPercent" align="center">56,8%</TD>
+    <TD class="graphBarLeft" align="center"><B>74,8%</B></TD>
+    <TD class="graphBar">
+            <TABLE class="barGraph" cellspacing="0">
+        <TBODY>
+          <TR>
+	               <TD class="covered"><img alt="coverage" src="img/trans.gif"
+                   width="149" height="12"></TD>
+            <TD class="uncovered"><img alt="coverage" src="img/trans.gif"
+                   width="51" height="12"></TD>
+	   	  </TR>
+	</TBODY>
+      </TABLE>
+          </TD>
+  </TR> 
+   <TR><TD class="hbreak" colspan="6"> </TD></TR>
+<TR><TD class="footer" colspan="6">
+<table>
+<tr>
+ <td><a target="_new" href="http://www.cenqua.com/clover"><img alt="Clover" src="img/logo.gif" border="0"></a></td><td nowrap><i>Report generated by </i><a target="_new" href="http://www.cenqua.com/clover">Clover Code Coverage v1.3.5</a><i><BR>ma mei 16 2005 14:23:02 GMT+01:00</i>.</td>
+<td> </td><td style="BORDER-LEFT: #9c9c9c 1px solid;"> </td><td>Open Source License registered to the dom4j Project. This license of Clover is provided to support the development of dom4j only. </td>
+</tr>
+</table>
+</td>
+</tr></TBODY></TABLE>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/clover/style.css b/docs/clover/style.css
new file mode 100644
index 0000000..6412fd2
--- /dev/null
+++ b/docs/clover/style.css
@@ -0,0 +1,208 @@
+BODY {
+	FONT-FAMILY: verdana, arial, sans-serif; background-color: #ffffff;
+}
+
+TABLE {
+	FONT-SIZE: 9px
+}
+
+.navBar {
+    Font-weight: normal; Font-size: 12px;
+}
+
+TD.itemList {
+ Font-weight: normal; Font-size: 12px; FONT-FAMILY: arial, sans-serif	
+}
+
+DIV.navBar {
+ padding-top:4px; 
+}
+
+DIV.navBarLink {
+    Font-weight: normal; Font-size: 10px; padding-top:4px;
+}
+
+FONT.navBarCurrent {
+    padding: 2px; font-weight: bold; color: #FFFFFF; background-color:#00008B;
+}
+
+TD.reportHeader {
+	 BACKGROUND: #eff7ff; PADDING: 5px; FONT-WEIGHT: bold; FONT-SIZE: 12px; BORDER: #dcdcdc 1px solid;}
+
+.titleText {
+ FONT-WEIGHT: bold; FONT-SIZE: 12px;
+}
+
+TD.titleText {
+	 BACKGROUND: #eff7ff; PADDING-left: 5px;
+}
+
+TD.headerStats {
+	BORDER-LEFT: #dcdcdc 1px solid;
+}
+
+TD.chart {
+  padding: 4px; BORDER: #dcdcdc 1px solid;
+}
+
+TD.chartHeader {
+  padding: 4px; BORDER: #dcdcdc 1px solid; BACKGROUND: #eff7ff;  FONT-WEIGHT: bold; FONT-SIZE: 12px;
+}
+SPAN.subtitle {
+  FONT-SIZE: 9px; font-weight: normal; 
+}
+
+TD.graphHeaderLeft {
+         BACKGROUND: #eff7ff; BORDER: #dcdcdc 1px solid;
+}
+
+TD.graphHeader {
+         BACKGROUND: #eff7ff; BORDER-BOTTOM: #dcdcdc 1px solid; BORDER-TOP: #dcdcdc 1px solid;BORDER-RIGHT: #dcdcdc 1px solid;
+}
+
+TD.graphItem {
+         BACKGROUND: #ffffff; BORDER-BOTTOM: #dcdcdc 1px solid; BORDER-LEFT: #dcdcdc 1px solid; BORDER-RIGHT: #dcdcdc 1px solid; PADDING-LEFT: 15px; PADDING-RIGHT: 15px; FONT-WEIGHT: bold; FONT-SIZE: 12px; 
+}
+
+TD.graphPercent {
+         BACKGROUND: #ffffff; BORDER-BOTTOM: #dcdcdc 1px solid; BORDER-RIGHT: #dcdcdc 1px solid;
+}
+TD.graphBarLeft {
+	BACKGROUND: #ffffff; BORDER-BOTTOM: #dcdcdc 1px solid;  
+} 
+TD.graphBar {
+	BACKGROUND: #ffffff; BORDER-BOTTOM: #dcdcdc 1px solid; BORDER-RIGHT: #dcdcdc 1px solid; WIDTH: 50%;
+} 
+
+TD.hspacer {
+	BORDER-BOTTOM:#dcdcdc 1px solid; BORDER-TOP:#dcdcdc 1px solid;
+}
+
+TD.mover {
+	BORDER:#dcdcdc 1px solid;
+}
+
+TABLE.barGraph {
+	WIDTH: 100%;
+}
+TD.empty {
+	FONT-SIZE: 2px; BACKGROUND: #c0c0c0; BORDER:#9c9c9c 1px solid;
+}
+TD.fullcover {
+	FONT-SIZE: 2px; BACKGROUND: #00df00; BORDER:#9c9c9c 1px solid;
+}
+TD.covered {
+	FONT-SIZE: 2px; BACKGROUND: #00df00; BORDER-LEFT:#9c9c9c 1px solid;BORDER-TOP:#9c9c9c 1px solid;BORDER-BOTTOM:#9c9c9c 1px solid;
+}
+TD.uncovered {
+	FONT-SIZE: 2px; BACKGROUND: #df0000; BORDER:#9c9c9c 1px solid;
+}
+TD.tabText {
+	PADDING-RIGHT: 12px; 
+}
+
+DIV.timestamp {
+	FONT-SIZE: 9px; font-weight: normal; padding-left: 1px;
+}
+SPAN.srcFile {
+	FONT-SIZE: 9px
+}
+
+TABLE.srcView {
+	FONT-SIZE: 12px; BORDER-LEFT:#dcdcdc 1px solid;BORDER-RIGHT:#dcdcdc 1px solid; BORDER-BOTTOM:#dcdcdc 1px solid;
+}
+
+TD.lineCount {
+  BACKGROUND: #F0F0F0; BORDER-RIGHT:#dcdcdc 1px solid;  PADDING-RIGHT: 3px;
+}
+TD.lineCountHilight {
+  BACKGROUND: #C8C8F0; BORDER-RIGHT:#dcdcdc 1px solid; PADDING-RIGHT: 3px;
+}
+
+SPAN.Hilight {
+  BACKGROUND: #C8C8F0;
+}
+
+
+
+TD.coverageCount {
+  BACKGROUND: #F0F0F0; BORDER-RIGHT:#dcdcdc 1px solid; PADDING-RIGHT: 3px;
+}
+
+TD.coverageCountHilight {
+  BACKGROUND: #F0C8C8; BORDER-RIGHT:#dcdcdc 1px solid; PADDING-RIGHT: 3px;
+}
+
+TD.srcLineClassStart {
+   WIDTH: 100%; BORDER-TOP:#dcdcdc 1px solid; FONT-WEIGHT: bold;	
+}
+
+.srcCell
+{
+    background: #ffffff;
+    padding-right: 10px;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    font-family: Courier New, Monospace;
+}
+
+.srcLine
+{
+    display: inline;
+    white-space: pre;
+    padding-left: 10px;
+}
+
+.srcLineHilight {
+  background: #F0C8C8;
+  display: inline;
+  white-space: pre;
+  padding-left: 10px;
+}
+
+TD.lineWarning {
+  BACKGROUND: #FFFFA0; BORDER-RIGHT:#dcdcdc 1px solid;  PADDING-RIGHT: 3px;
+}
+
+
+.keyword {
+    color: #2020BF;
+}
+
+.string {
+    color: #BC8F8F;
+}
+
+.javadoc {
+    color: #6060FF; font-style: normal;
+}
+
+.comment {
+    color: #B22222; font-style: italic;
+}
+
+.warning { 
+  border: solid 1px #000000; color: #000000; 
+  margin-top: 10px;
+  margin-bottom: 10px;
+  font-family: verdana, arial, sans-serif;
+  font-size: 12pt;
+  width: 80%;
+}
+
+.warning .title {
+  background-color: #ffff60;
+  padding: 5px;
+  font-weight: bold;
+  text-align: left;
+}
+
+.warning .message { 
+  background-color: #ffffe0; color: #000000;
+  padding-left: 30px; padding-top: 10px; padding-bottom: 10px; padding-right: 30px;
+  text-align: left;
+}
+
+TD.footer {
+  BORDER-TOP:#dcdcdc 1px solid;	 FONT-SIZE: 9px
+}
diff --git a/docs/compare.html b/docs/compare.html
new file mode 100644
index 0000000..f4df3fb
--- /dev/null
+++ b/docs/compare.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - XML Object Model Comparisons</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="James Strachan"></meta><meta name="email" content="jstrachan at apache.org"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://source [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><strong><a href="compare.html">Comparison</a></strong></li><li class="none"> [...]
+        models and compare and contrast their features.
+        The information in this table is correct to the best of our knowledge
+        and we will try and keep this information as up to date as possible.
+        If you think there's anything wrong, please let us know 
+        <a href="mailto:dom4j-dev at lists.sourceforge.net">here</a>.
+      </p><table class="bodyTable"><tr class="a"><th align="left">Feature</th><th align="left"><a href="http://www.w3.org/DOM/" class="externalLink" title="External Link">WC3 DOM</a></th><th align="left"><a href="http://www.dom4j.org" class="externalLink" title="External Link"><i>DOM4J 1.5</i></a></th><th align="left"><a href="http://www.jdom.org" class="externalLink" title="External Link">JDOM 1.0</a></th><th align="left"><a href="http://www.cafeconleche.org/XOM/" class="externalLink" t [...]
+        which compares the performance of a 
+        variety of XML document models for the Java platform including dom4j.
+        You can find the very interesting results 
+        <a href="http://www-106.ibm.com/developerworks/xml/library/x-injava/index.html" class="externalLink" title="External Link">here</a>.
+      </p><p>
+        Also you might find these new <a href="benchmarks/xpath/index.html">Performance Benchmarks</a> 
+        interesting comparing dom4j and Jaxen against Xerces and Xalan. 
+      </p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/cookbook.html b/docs/cookbook.html
new file mode 100644
index 0000000..a721d72
--- /dev/null
+++ b/docs/cookbook.html
@@ -0,0 +1,1577 @@
+<book>
+<b></b> <i>pub. September 2001</i>
+<title></title>
+<authorgroup>
+  <author email="">Mr. Tobias Rademacher</author>
+  <author email="">Mr. James Strachan</author>
+</authorgroup>
+<div class="section"><a name="Revision_History"></a><h2>Revision History</h2><p>Revision 0.1.0 
+          (02-05-09)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (tradem)</li></ul><p>Revision 0.0.9 
+          (02-05-01)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (tradem)</li></ul><p>Revision 0.0.8 
+          (01-09-25)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (tradem)</li></ul><p>Revision 0.0.7 
+          (01-09-03)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (tradem)</li></ul><p>Revision 0.0.6 
+          (01-08-03)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (jstrachan)</li></ul><p>Revision 0.0.5 
+          (01-07-09)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (tradem)</li></ul><p>Revision 0.0.4 
+          (01-07-06)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (tradem)</li></ul><p>Revision 0.0.3 
+          (01-06-20)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (tradem)</li></ul><p>Revision 0.0.2 
+          (01-06-06)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (tradem)</li></ul><p>Revision 0.0.1 
+          (01-06-02)
+        </p><ul><li><img src="images/update.jpg" border="0" alt="changed" align="absmiddle"></img> (tradem)</li></ul></div>
+
+<abstract>
+  <p>This document provides a practical introduction to dom4j. It guides you through by using a lot of examples and is based on dom4j v1.0</p>
+</abstract>
+
+<preface>
+  <title></title>
+<p>
+</p>
+</preface>
+<chapter>
+<title></title>
+<p>
+<application>dom4j</application> is a object model representing an XML Tree in memory.
+<application>dom4j</application> offers a easy-to-use API that provides a powerful set of
+features to process, manipulate or navigate XML and work with XPath and XSLT as well as integrate with SAX, JAXP and DOM.
+</p>
+<p>
+<application>dom4j</application> is designed to be interface-based in order to provide highly configurable implementation strategies.
+You are able to create your own XML tree implementations by simply providing a DocumentFactory implementation.
+This makes it very simple to reuse much of the dom4j code while extending it to provide whatever implementation features you wish.
+</p>
+<p>
+This
+document will guide you through <application>dom4j</application>'s features in a practical way
+using a lot of examples with source code. The document is
+also designed as a reference so that you don't have to read the entire document at once. This guide concentrates on daily work with
+<application>dom4j</application> and is therefore called <em>cookbook</em>.
+</p>
+</chapter>
+<chapter>
+<title></title>
+<p>
+Normally all starts with a set of xml-files or a single xml file that you want to process, manipulate or navigate through to extract some
+values necessary in your application. Most Java Open-Source projects using XML for deployment or as a replacement for property files in order
+to get easily readable property data.
+</p>
+
+<div class="section"><a name="Reading_XML_data"></a><h2>Reading XML data</h2><title></title><p>
+How does <application>dom4j</application> help you to get at the data stored in XML?
+<application>dom4j</application> comes with a set of
+builder classes that parse the xml data and create
+a tree-like object structure in memory.
+You can easily manipulate and navigate through that model.
+The following example shows how you can
+read your data using <application>dom4j</application> API.
+
+
+    <div class="source"><pre>
+import java.io.File;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+
+public class DeployFileLoaderSample {
+
+  /** dom4j object model representation of a xml document. Note: We use the interface(!) not its implementation */
+  private Document doc;
+
+  /**
+   * Loads a document from a file.
+   *
+   * @throw a org.dom4j.DocumentException occurs whenever the buildprocess fails.
+   */
+  public void parseWithSAX(File aFile) throws DocumentException {
+    SAXReader xmlReader = new SAXReader();
+    this.doc = xmlReader.read(aFile);
+  }
+}
+</pre></div>
+  
+
+</p><p>
+The above example code should clarify the use of <code>org.dom4j.io.SAXReader</code> to
+build a complete <application>dom4j</application> tree from a given file.
+The org.dom4j.io package contains a set of classes
+for creation and serialization of <acronym>XML</acronym> objects.
+The read() method
+is overloaded so that you able to pass different kind of object that represents a source.
+</p><ul>
+  <li><p><code>java.lang.String</code> - a SystemId is a String that contains a URI e.g. a URL to a XML file</p></li>
+  <li><p><code>java.net.URL</code> - represents a Uniform Resource Loader or a Uniform Resource Identifier. Encapsulates a URL.</p></li>
+  <li><p><code>java.io.InputStream</code> - an open input stream that transports xml data</p></li>
+  <li><p><code>java.io.Reader</code> - more compatible. Has abilitiy to specify encoding scheme</p></li>
+  <li><p><code>org.sax.InputSource</code> - a single input source for a <acronym>XML</acronym> entity.</p></li>
+</ul><p>
+Lets add more more flexibility to our <code>DeployFileLoaderSample</code> by adding new methods.
+</p>
+    <div class="source"><pre>
+import java.io.File;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+
+public class DeployFileLoaderSample {
+
+  /** dom4j object model representation of a xml document. Note: We use the interface(!) not its implementation */
+  private Document doc;
+
+  /**
+   * Loads a document from a file.
+   *
+   * @param aFile the data source
+   * @throw a org.dom4j.DocumentExcepiton occurs on parsing failure.
+   */
+  public void parseWithSAX(File aFile) throws DocumentException {
+    SAXReader xmlReader = new SAXReader();
+    this.doc = xmlReader.read(aFile);
+  }
+
+  /**
+   * Loads a document from a file.
+   *
+   * @param aURL the data source
+   * @throw a org.dom4j.DocumentExcepiton occurs on parsing failure.
+   */
+  public void parseWithSAX(URL aURL) throws DocumentException {
+    SAXReader xmlReader = new SAXReader();
+    this.doc = xmlReader.read(aURL);
+  }
+
+
+}
+</pre></div>
+  </div>
+
+<div class="section"><a name="Integrating_with_other_XML_APIs"></a><h2>Integrating with other XML APIs</h2><title></title><p>
+<application>dom4j</application> also offers classes for integration with
+the two original XML processing APIs - SAX and DOM.
+So far we have been talking about reading a document with SAX.
+The <code>org.dom4j.SAXContentHandler</code> class implements several
+SAX interfaces directly (such as ContentHandler) so that you can embed <application>dom4j</application>
+directly inside any SAX application.
+You can also use this class to implement your own specific SAX-based Reader class if you need to.
+</p><p>
+The <code>DOMReader</code> class allows you to convert an existing <acronym>DOM</acronym> tree
+into a <application>dom4j</application> tree.
+This could be useful if you already used DOM and want to replace it step by step
+with <application>dom4j</application> or if you just needs some of <acronym>DOM</acronym>'s
+behavior and want to save memory resources by transforming it in a <application>dom4j</application> Model.
+You are able to transform a DOM Document, a <acronym>DOM</acronym> node branch and a single element.
+</p>
+    <div class="source"><pre>
+import org.sax.Document;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.DOMReader;
+
+public class DOMIntegratorSample {
+
+  /** converts a W3C DOM document into a dom4j document */
+  public Document buildDocment(org.w3c.dom.Document domDocument) {
+    DOMReader xmlReader = new DOMReader();
+    return xmlReader.read(domDocument);
+  }
+}
+
+</pre></div>
+  </div>
+
+<div class="section"><a name="The_secret_of_DocumentFactory"></a><h2>The secret of DocumentFactory</h2><title></title><code>org.dom4j.DocumentFactory</code><acronym>XPath</acronym><code>DocumentFactory</code></div>
+
+
+    <div class="source"><pre>
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileCreator {
+
+  private DocumentFactory factory = DocumentFactory.getInstance();
+  private Document doc;
+
+  public void generateDoc(String aRootElement) {
+    doc = DocumentFactory.getInstance().createDocument();
+    Element root = doc.addElement(aRootElement);
+  }
+
+}
+
+</pre></div>
+  
+
+<p>
+The listing shows how to generate a new Document from scratch.
+The method <code>generateDoc(String aRootElement)</code> takes a String parameter.
+The string value contains the name of the root element of the new document.
+As you can see <code>org.dom4j.DocumentFactory</code> is a singleton
+accessible via <code>getInstance()</code>.
+
+The <code>DocumentFactory</code> methods follow the <em>createXXX()</em> naming convention.
+For example, if you want to create a Attribute you would
+call <em>createAttribute()</em>.
+If your class often calls <code>DocumentFactory</code> or uses a different DocumentFactory instance
+you could add it as a member variable and initiate it via <em>getInstance</em> in your constructor.
+</p>
+
+
+    <div class="source"><pre>
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class GranuatedDeployFileCreator {
+
+ private DocumentFactory factory;
+ private Document doc;
+
+ public GranuatedDeployFileCreator() {
+   this.factory = DocumentFactory.getInstance();
+ }
+
+ public void generateDoc(String aRootElement) {
+    doc = factory.createDocument();
+    Element root = doc.addElement(aRootElement);
+ }
+
+}
+
+</pre></div>
+  
+
+
+
+<p>
+The <code>Document</code> and <code>Element</code>
+interfaces have a number of helper methods for creating an XML document programmatically
+in a simple way.
+</p>
+
+
+    <div class="source"><pre>
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+public class Foo {
+
+  public Document createDocument() {
+    Document document = DocumentHelper.createDocument();
+    Element root = document.addElement( "root" );
+
+    Element author2 = root.addElement( "author" )
+      .addAttribute( "name", "Toby" )
+      .addAttribute( "location", "Germany" )
+      .addText( "Tobias Rademacher" );
+
+    Element author1 = root.addElement( "author" )
+      .addAttribute( "name", "James" )
+      .addAttribute( "location", "UK" )
+      .addText( "James Strachan" );
+
+    return document;
+  }
+}
+
+</pre></div>
+  
+
+
+
+<p>
+As mentioned earlier <application>dom4j</application> is an interface based API.
+This means that DocumentFactory and the reader classes in the org.dom4j.io package always use the org.dom4j interfaces
+rather than any concrete implementation classes.
+The Collection API and <acronym>W3C</acronym>'s <acronym>DOM</acronym> are other examples of APIs that
+use this design approach.
+This widespread design is described by <citation>BillVenners</citation>.
+</p>
+
+</chapter>
+
+<chapter>
+<title></title>
+
+<p>
+Once you parsed or created a document you want to serialize it to disk or
+into a plain (or encrypted) stream. <application>dom4j</application> provides a set of classes to serialize
+your dom4j tree in four ways:
+</p>
+
+<ul>
+  <li><p>XML</p></li>
+  <li><p>HTML</p></li>
+  <li><p>DOM</p></li>
+  <li><p>SAX Events</p></li>
+</ul>
+
+<div class="section"><a name="Serializing_to_XML"></a><h2>Serializing to XML</h2><title></title><code>org.dom4j.io.XMLWriter</code><application>dom4j</application><acronym>XML</acronym><acronym>XML</acronym><code>java.io.OutputStream</code><code>java.io.Writer</code><code>setOutputStream()</code><code>setReader()</code>
+    <div class="source"><pre>
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+
+ public void serializetoXML(OutputStream out, String aEncodingScheme) throws Exception {
+   OutputFormat outformat = OutputFormat.createPrettyPrint();
+   outformat.setEncoding(aEncodingScheme);
+   XMLWriter writer = new XMLWriter(out, outformat);
+   writer.write(this.doc);
+   writer.flush();
+ }
+
+}
+</pre></div>
+  <p>
+We use the <code>XMLWriter</code> constructor  to pass
+<code>OutputStream</code> along with the required character encoding.
+It is easier to use a <code>Writer</code> rather than an <code>OutputStream</code>,
+because the <code>Writer</code> is String based and so has less
+character encoding issues.
+The write() methods of <code>Writer</code> are overloaded so that you can write all of the dom4j objects individually if required.
+</p><div class="subsection"><a name="Customizing_the_output_format"></a><h3>Customizing the output format</h3><title></title><p>
+The default output format is to write the XML document as-is.
+If you want to change the output format then there is a class
+<code>org.dom4j.io.OutputFormat</code> which allows you to define pretty-printing options,
+suppress output of XML declaration, change line ending and so on.
+There is also a helper method <code>OutputFormat.createPrettyPrint()</code> which
+creates a default pretty-printing format that you can further customize if you wish.
+</p>
+    <div class="source"><pre>
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+
+  public void serializetoXML(OutputStream out, String aEncodingScheme) throws Exception {
+   OutputFormat outformat = OutputFormat.createPrettyPrint();
+   outformat.setEncoding(aEncodingScheme);
+   XMLWriter writer = new XMLWriter(out, outformat);
+   writer.write(this.doc);
+   writer.flush();
+ }
+
+
+}
+</pre></div>
+  <p>
+An interesting feature of <code>OutputFormat</code> is the ability to set
+character encoding. It is a good idiom to use this mechansim for setting the encoding
+for XMLWriter to use this encoding to create an OutputStream as well
+as to output XML declaration.
+</p><p>
+The <code>close()</code> method closes the underlying <code>Writer</code>.
+</p>
+    <div class="source"><pre>
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+ private OutputFormat outFormat;
+
+ public DeployFileCreator() {
+   this.outFormat = OuputFormat.getPrettyPrinting();
+ }
+
+ public DeployFileCreator(OutputFormat outFormat) {
+   this.outFormat = outFormat;
+ }
+
+ public void writeAsXML(OutputStream out) throws Exception {
+   XMLWriter writer = new XMLWriter(outFormat, this.outFormat);
+   writer.write(this.doc);
+ }
+
+ public void writeAsXML(OutputStream out, String encoding) throws Exception {
+   this.outFormat.setEncoding(encoding);
+   this.writeAsXML(out);
+ }
+
+}
+</pre></div>
+  <p>
+The serialization methods in our little example  set encoding using <code>OutputFormat</code>.
+The default encoding if none is specifed is <acronym>UTF-8</acronym>.
+If you need a simple output on screen for debugging or testing you can omit setting of
+a <code>Writer</code> or an <code>OutputStream</code> completely
+as <code>XMLWriter</code> will default to <code>System.out</code>.
+</p></div></div>
+
+<div class="section"><a name="Printing_HTML"></a><h2>Printing HTML</h2><title></title><p>
+<code>HTMLWriter</code> takes a <application>dom4j</application> tree
+and formats it to a stream as <acronym>HTML</acronym>. This formatter is similar to
+<code>XMLWriter</code> but outputs the text of CDATA and Entity sections rather than the serialized
+format as in <acronym>XML</acronym> and also supports many HTML element which have no corresponding close tag
+such as for <BR> and <P>
+</p>
+    <div class="source"><pre>
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.HTMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+ private OutputFormat outFormat;
+
+ public DeployFileCreator() {
+   this.outFormat = OuputFormat.getPrettyPrinting();
+ }
+
+ public DeployFileCreator(OutputFormat outFormat) {
+   this.outFormat = outFormat;
+ }
+
+ public void writeAsHTML(OutputStream out) throws Exception {
+   HTMLWriter writer = new HTMLWriter(outFormat, this.outFormat);
+   writer.write(this.doc);
+   writer.flush();
+ }
+
+}
+</pre></div>
+  </div>
+
+<div class="section"><a name="Building_a_DOM_tree"></a><h2>Building a DOM tree</h2><title></title><p>
+Sometimes it's necessary to transform your <application>dom4j</application> tree
+into a <acronym>DOM</acronym> tree, because you are currently refactoring your application.
+<application>dom4j</application> is very convenient for integration with older <acronym>XML</acronym>
+<acronym>API</acronym>'s like <acronym>DOM</acronym> or <acronym>SAX</acronym>
+(see <anchor id="dom4j2SAX">Generating SAX Events</anchor>). Let's move to an example:
+</p>
+    <div class="source"><pre>
+import org.w3c.dom.Document;
+
+import org.dom4j.Document;
+import org.dom4j.io.DOMWriter;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+
+  public org.w3c.dom.Document transformtoDOM() {
+    DOMWriter writer = new DOMWriter();
+    return writer.write(this.doc);
+  }
+}
+
+</pre></div>
+  </div>
+
+<a name="dom4j2SAX"></a><div class="section"><a name="Generating_SAX_Events"></a><h2>Generating SAX Events</h2><title></title><p>
+If you want to output a document as sax events in order to integrate with some existing SAX
+code, you can use the <code>org.dom4j.SAXWriter</code> class.
+</p>
+    <div class="source"><pre>
+import org.xml.ConentHandler;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXWriter;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+
+  public void transformtoSAX(ContentHandler ctxHandler) {
+     SAXWriter writer = new SAXWriter();
+     writer.setContentHandler(ctxHandler);
+     writer.write(doc);
+  }
+}
+
+</pre></div>
+  <p>
+As you can see using <code>SAXWriter</code> is fairly easy.
+You can also pass <code>org.dom.Element</code> so
+you are able to process a single element branch or even a single node with <acronym>SAX</acronym>.
+</p></div>
+</chapter>
+
+<chapter>
+<title></title>
+<p>
+dom4j offers several powerful mechanisms for navigating through a document:
+</p>
+
+<ul>
+  <li><p>Using Iterators</p></li>
+  <li><p>Fast index based navigation</p></li>
+  <li><p>Using a backed List</p></li>
+  <li><p>Using XPath</p></li>
+  <li><p>In-Build GOF Visitor Pattern</p></li>
+</ul>
+
+<div class="section"><a name="Using_Iterator"></a><h2>Using Iterator</h2><title></title><p>
+Most Java developers used java.util.Iterator or it's ancestor
+<code>java.util.Enumeration</code>.
+Both classes are part of the Collection API and used
+to visit elements of a collection.
+Here is an example of using Iterator:
+</p></div>
+
+
+    <div class="source"><pre>
+
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void iterateRootChildren() {
+    root = this.doc.getRootElement();
+    Iterator elementIterator = root.elementIterator();
+    while(elementIterator.hasNext()){
+      Element elmeent = (Element)elementIterator.next();
+      System.out.println(element.getName());
+    }
+  }
+}
+</pre></div>
+  
+
+<p>
+The above example might be a little bit confusing if you are not familiar with the Collections API.
+Casting is necessary when you want to access the object. In JDK 1.5 Java Generics solve this problem .
+</p>
+
+
+    <div class="source"><pre>
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void iterateRootChildren(String aFilterElementName) {
+    root = this.doc.getRootElement();
+    Iterator elementIterator = root.elementIterator(aFilterElementName);
+    while(elementIterator.hasNext()){
+      Element elmeent = (Element)elementIterator.next();
+      System.out.println(element.getName());
+    }
+  }
+}
+</pre></div>
+  
+
+<p>
+Now the the method iterates on such Elements that have the <em>same name</em> as the parameterized String only. This can be used as a kind of
+filter applied on top of Collection API's Iterator.
+</p>
+
+<div class="section"><a name="Fast_index_based_Navigation"></a><h2>Fast index based Navigation</h2><title></title><p>
+Sometimes if you need to walk a large tree very quickly, creating an <code>java.io.Iterator</code>
+instance to loop through each <code>Element</code>'s children can be too expensive.
+To help this situation, <application>dom4j</application> provides a fast index based looping as follows.
+</p>
+    <div class="source"><pre>
+  public void treeWalk(Document document) {
+    treeWalk( document.getRootElement() );
+  }
+
+  public void treeWalk(Element element) {
+    for ( int i = 0, size = element.nodeCount(); i < size; i++ ) {
+      Node node = element.node(i);
+      if ( node instanceof Element ) {
+        treeWalk( (Element) node );
+      }
+      else {
+        // do something....
+      }
+    }
+  }
+</pre></div>
+  <div class="subsection"><a name="Using_a_backed_List"></a><h3>Using a backed List</h3><title></title><p>
+You can navigate through an <code>Element</code>'s children
+using a backed <code>List</code> so the modifications to the
+<code>List</code> are reflected back into the <code>Element</code>.
+All of the methods on <code>List</code> can be used.
+</p>
+    <div class="source"><pre>
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+
+  public void iterateRootChildren() {
+    Element root = doc.getRootElement();
+
+    List elements = root.elements;
+
+    // we have access to the size() and other List methods
+    if ( elements.size() > 4 ) {
+      // now lets remove a range of elements
+      elements.subList( 3, 4 ).clear();
+    }
+  }
+}
+</pre></div>
+  </div><div class="subsection"><a name="Using_XPath"></a><h3>Using XPath</h3><title></title><p>
+<acronym>XPath</acronym> is is one of the most useful features of <application>dom4j</application>.
+You can use it to retrieve nodes from any location as well as evaluating complex expressions.
+A good XPath reference can be found in Michael Kay's XSLT book <citation>XSLTReference</citation>
+along with the <citation>Zvon</citation> Zvon tutorial.
+</p></div>
+    <div class="source"><pre>
+import java.util.Iterator;
+
+import org.dom4j.Documet;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.XPath;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void browseRootChildren() {
+
+    /* 
+      Let's look how many "James" are in our XML Document an iterate them  
+      ( Yes, there are three James in this project ;) )
+    */
+      
+    XPath xpathSelector = DocumentHelper.createXPath("/people/person[@name='James']");
+    List results = xpathSelector.selectNodes(doc);
+    for ( Iterator iter = result.iterator(); iter.hasNext(); ) {
+      Element element = (Element) iter.next();
+      System.out.println(element.getName();
+    }
+
+    // select all children of address element having person element with attribute and value "Toby" as parent
+    String address = doc.valueOf( "//person[@name='Toby']/address" );
+
+    // Bob's hobby
+    String hobby = doc.valueOf( "//person[@name='Bob']/hobby/@name" );
+
+    // the second person living in UK
+    String name = doc.value( "/people[@country='UK']/person[2]" );
+    
+    // select people elements which have location attriute with the value "London"
+    Number count = doc.numberValueOf( "//people[@location='London']" );
+   
+  }
+
+}
+</pre></div>
+  <p>
+As selectNodes returns a List we can apply <code>Iterator</code>
+or any other operation avalilable on <code>java.util.List</code>.
+You can also select a single node via <code>selectSingleNode()</code>
+as well as to select a String expression via <code>valueOf()</code>
+or Number
+value of an XPath expression via <code>numberValueOf()</code>.
+</p><div class="subsection"><a name="Using_Visitor_Pattern"></a><h3>Using Visitor Pattern</h3><title></title><p>
+The visitor pattern has a recursive behavior and acts like <acronym>SAX</acronym>
+in the way that partial traversal is <em>not</em> possible.
+This means complete document or complete branch will be visited.
+ You should carefully consider situations when you want to use Visitor pattern, but then it
+offers a powerful and elegant way of navigation.
+This document doesn't explain Vistor Pattern in depth,
+<citation>GoF98</citation> covers more information.
+</p>
+    <div class="source"><pre>
+import java.util.Iterator;
+
+import org.dom4j.Visitor;
+import org.dom4j.VisitorSupport;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class VisitorSample {
+
+  public void demo(Document doc) {
+
+    Visitor visitor = new VisitorSupport() {
+      public void visit(Element element) {
+        System.out.println(
+          "Entity name: " + element.getName()  + "text " + element.getText();
+        );
+      }
+    };
+
+    doc.accept( visitor );
+  }
+}
+
+</pre></div>
+  <p>
+As you can see we used anonymous inner class to override the
+<code>VisitorSupport</code> callback adapter method
+visit(Element element) and the accept() method starts
+the visitor mechanism.
+</p></div></div>
+</chapter>
+
+
+<chapter><title></title>
+<p>
+Accessing XML content statically alone would not very special. Thus dom4j offers several methods for manipulation a documents content.
+</p>
+
+<div class="section"><a name="What_org_dom4j_Document_provides"></a><h2>What org.dom4j.Document provides</h2><title></title><p>
+A <code>org.dom4j.Document</code> allows you to configure and retrieve the root element.
+You are also able to set the DOCTYPE or a SAX based <code>EntityResolver</code>.
+An empty <code>Document</code> should be created via <code>org.dom4j.DocumentFactory</code>.
+</p></div>
+
+<div class="section"><a name="Working_with_org_dom4j_Element"></a><h2>Working with org.dom4j.Element</h2><title></title><p>
+<code>org.dom4j.Element</code> is a powerful interface providing many methods for manipulating Element.
+</p>
+    <div class="source"><pre>
+
+  public void changeElementName(String aName) {
+    this.element.setName(aName);
+  }
+
+  public void changeElementText(String aText) {
+    this.element.setText(aText);
+  }
+
+</pre></div>
+  </div>
+
+
+  <div class="section"><a name="Qualified_Names"></a><h2>Qualified Names</h2><title></title><p>
+  An XML Element should have a qualified name. Normally qualified name consists normally of a Namespace and
+  local name. It's recommended to use <code>org.dom4j.DocumentFactory</code> to create Qualified
+  Names that are provided by <code>org.dom4j.QName</code> instances.
+  </p>
+    <div class="source"><pre>
+
+  import org.dom4j.Element;
+  import org.dom4j.Document;
+  import org.dom4j.DocumentFactory;
+  import org.dom4j.QName;
+
+  public class DeployFileCreator {
+
+   protected Document deployDoc;
+   protected Element root;
+
+   public void DeployFileCreator()
+   {
+     QName rootName = DocumentFactory.getInstance().createQName("preferences", "", "http://java.sun.com/dtd/preferences.dtd");
+     this.root = DocumentFactory.getInstance().createElement(rootName);
+     this.deployDoc = DocumentFactory.getInstance().createDocument(this.root);
+   }
+  }
+
+  </pre></div>
+  </div>
+
+  <div class="section"><a name="Inserting_elements"></a><h2>Inserting elements</h2><title></title><p>
+  Sometimes it's necessary to insert an element in a existing XML Tree. This is easy to do using dom4j Collection API.
+  </p>
+    <div class="source"><pre>
+
+    public void insertElementAt(Element newElement, int index) {
+      Element parent = this.element.getParent();
+      List list = parent.content();
+      list.add(index, newElement);
+    }
+
+    public void testInsertElementAt() {
+
+    //insert an clone of current element after the current element
+      Element newElement = this.element.clone();
+      this.insertElementAt(newElement, this.root.indexOf(this.element)+1);
+
+    // insert an clone of current element before the current element
+      this.insertElementAt(newElement, this.root.indexOf(this.element));
+    }
+  </pre></div>
+  </div>
+
+<div class="section"><a name="Cloning_-_How_many_sheep_do_you_need_"></a><h2>Cloning - How many sheep do you need?</h2><title></title><p>
+  Elements can be cloned. Usually cloning is supported in Java with clone() method that is derived from <code>Object</code>. The cloneable Object has to
+  implement interface <code>Cloneable</code>. By default clone() method performs shallow copying. dom4j implements  deep cloning
+  because shallow copies would not make sense in context of an XML object model. This means that cloning can take a while because the complete tree branch or event the document
+  will be cloned. Now have a short look <em>how</em> dom4j cloning mechanism is used.
+  </p>
+    <div class="source"><pre>
+
+  import org.dom4j.Document;
+  import org.dom4j.Element;
+
+  public class DeployFileCreator {
+
+
+   private Element cloneElement(String name) {
+    return this.root.element(name).clone();
+   }
+
+   private Element cloneDetachElement(String name) {
+     return this.root.createCopy(name);
+   }
+
+   public class TestElement extends junit.framework.TestCase {
+
+     public void testCloning() throws junit.framwork.AssertionFailedException {
+       assert("Test cloning with clone() failed!", this.creator.cloneElement("Key") != null);
+       assert("Test cloning with createCopy() failed!", this.creator.cloneDetachElement() != null);
+     }
+   }
+  }
+  </pre></div>
+  <p>
+  The difference between <em>createCopy(...)</em> and <em>clone()</em> is that first method creates a <em>detached</em> deep copy whereas <em>clone()</em> returns exact copy of the current document or element.
+  </p><caution><title></title>
+   <p>
+   Cloning might be useful when you want to build element pool. Memory consumpsion should be carefully considered during design of such pool.
+   Alternatively you can consider to use Reference API <citation>Pawlan98</citation>
+    or Dave Millers approach <citation>JavaWorldTip76</citation>.
+  </p>
+  </caution></div>
+</chapter>
+
+<chapter><title></title>
+<p>
+With eXtensible Stylesheet Language XML got a powerfull method of transformation. XML XSL greately simplified job of developing export filters for different data formats. The transformation is done by XSL Processor. XSL covers following subjects:
+</p>
+
+<ul>
+  <li><p>XSL Style Sheet</p></li>
+  <li><p>XSL Processor for XSLT</p></li>
+  <li><p>FOP Processor for FOP</p></li>
+  <li><p>An XML source</p></li>
+</ul>
+
+<p>
+Since JaXP 1.1 TraX is the common API for proceeding a XSL Stylesheet inside of Java. You start with a <code>TransformerFactory</code>, specify <code>Result</code> and <code>Source</code>. <code>Source</code> contains source xml file that should be transformed. <code>Result</code> contains result of the transformation. dom4j offers <code>org.dom4j.io.DocumentResult</code> and <code>org.dom4j.io.DocumenSource</code> for TrAX compatibility.
+Whereas <code>org.dom4j.io.DocumentResult</code> contains a <code>org.dom4j.Document</code> as result tree, <code>DocumentSource</code> takes dom4j <code>Document</code>s and prepares them for transformation. Both classes are build on top of TraX own SAX classes. This approach has much better performance than a DOM adaptation. The following example explains the use of XSLT with TraX and dom4j.
+</p>
+
+
+    <div class="source"><pre>
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+
+import org.dom4j.Document;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+
+public class DocumentStyler
+{
+    private Transformer transformer;
+
+    public DocumentStyler(Source aStyleSheet) throws Exception {
+        // create transformer
+        TransformerFactory factory = TransformerFactory.newInstance();
+        transformer = factory.newTransformer( aStyleSheet );
+    }
+
+    public Document transform(Document aDocument, Source aStyleSheet) throws Exception {
+
+        // perform transformation
+        DocumentSource source = new DocumentSource( aDocument );
+        DocumentResult result = new DocumentResult();
+        transformer.transform(source, result);
+
+        // return resulting document
+        return result.getDocument();
+    }
+}
+
+</pre></div>
+  
+
+<p>
+One could use XSLT to process a XML Schema and generate an empty template xml file according the schema constraints. The code above shows how easy to do that with dom4j and its TraX support. TemplateGenerator can be shared but for this example I avoided this for simplicity. More information about TraX is provided  <a href="http://java.sun.com/xml/" class="externalLink" title="External Link">here</a>.
+</p>
+
+</chapter>
+
+<chapter>
+<title></title>
+
+<p>
+First way to describe XML document structure is as old as XML itself.
+Document Type Definitions are used since publishing of the XML specification.
+Many applications use DTD to describe and validate documents. Unfortunately
+the DTD Syntax was not that powerful. Written in SGML, DTDs are also not as easy to handle as
+XML.
+</p>
+
+<p>
+Since then other, more powerful ways to describe XML format were invented.
+The W3C published XML Schema Specification which provides significant improvements over DTD.
+XML Schemas are described using XML.
+A growing group of people use XML Schema now. But XML Schema isn't perfect.
+So a few people swear by Relax or Relax NG. The reader of this document is able to choose one of
+the following technologies:
+</p>
+
+<ul>
+  <li><p>Relax NG (Regular Language description for XML Next Generation)<citation>RelaxNG</citation></p></li>
+  <li><p>Relax (Regular Language description for XML)<citation>Relax</citation></p></li>
+  <li><p>TREX<citation>TREX</citation></p></li>
+  <li><p>XML DTDs<citation>DTD</citation></p></li>
+  <li><p>XML Schema<citation>XSD</citation></p></li>
+</ul>
+
+<div class="section"><a name="Using_XML_Schema_Data_Types_in_dom4j"></a><h2>Using XML Schema Data Types in dom4j</h2><title></title><p>
+dom4j currently supports only XML Schema Data Types <citation>DataTypes</citation>.
+The dom4j implementation is based on top of MSV. Earlier dom4j releases are built
+on top of Sun Tranquilo (xsdlib.jar) library but later moved to MSV now, because MSV
+provides the same Tranquilo plus exciting additional features we will discuss later.
+</p>
+    <div class="source"><pre>
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.XPath;
+import org.dom4j.io.SAXReader;
+import org.dom4j.dataType.DataTypeElement;
+
+public class SchemaTypeDemo {
+
+public static void main(String[] args) {
+
+  SAXReader reader = new SAXReader();
+  reader.setDocumentFactory( DatatypeDocumentFactory.getInstance() );
+  Document schema =  return reader.read(xmlFile)
+  XPath xpathSelector = DocumentHelper.createXPath("xsd:schema/xsd:complexType[@name='Address']/xsd:structure/xsd:element[@type]");
+  List xsdElements = xpathSelector.selectNodes(schema);
+
+  for (int i=0; i < xsdElements.size(); i++) {
+    DataElement tempXsdElement = (DatatypeElement)xsdElements.get(i);
+
+    if (tempXsdElement.getData() instanceof Integer) {
+       tempXsdElement.setData(new Integer(23));
+     }
+  }
+}
+</pre></div>
+  <caution><title></title>
+<p>
+Note that the Data Type support is still alpha. If you find any bug, please report it to
+the mailing list. This helps us to make more stable Data Type support.
+</p>
+</caution></div>
+
+
+<div class="section"><a name="Validation"></a><h2>Validation</h2><title></title><p>
+Currently dom4j does not come with a validation engine. You are forced to use a external validator.
+In the past we recommended Xerces, but now you are
+able to use Sun Multi-Schema XML Validator. Xerces is able to validate against DTDs and
+XML Schema, but not against TREX or Relax. The Suns Multi Schema Validator supports all mentioned
+kinds of validation.
+</p><caution><title></title>
+<p>
+Validation consumes valuable resources. Use it wisely.
+</p>
+</caution><div class="subsection"><a name="Using_Apaches_Xerces_1_4_x_and_dom4j_for_validation"></a><h3>Using Apaches Xerces 1.4.x and dom4j for validation</h3><title></title><p>
+It is easy to use Xerces 1.4.x for validation. Download
+Xerces from Apaches XML web sites. Experience shows that the newest version
+is not always the best.
+View Xerces mailing lists in order to find out issues with specific versions.
+Xerces provides Schema support strarting from 1.4.0.
+</p><ul>
+  <li><p>Turn on validation mode - which is false for default - using a SAXReader instance</p></li>
+  <li><p>Set the following Xerces property http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation using the schema URI.</p></li>
+  <li><p>Create a SAX XMLErrorHandler and install it to your SAXReader instance.</p></li>
+  <li><p>Parse and validate the Document.</p></li>
+  <li><p>Output Validation/Parsing errors.</p></li>
+</ul>
+    <div class="source"><pre>
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.util.XMLErrorHandler;
+
+
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXParseException
+
+public class SimpleValidationDemo {
+
+public static void main(String[] args) {
+  SAXReader reader = new SAXReader();
+
+  reader.setValidation(true);
+
+  // specify the schema to use
+  reader.setProperty(
+   "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
+   "prices.xsd"
+  );
+
+  // add error handler which turns any errors into XML
+   XMLErrorHandler errorHandler = new XMLErrorHandler();
+   reader.setErrorHandler( errorHandler );
+
+  // parse the document
+  Document document = reader.read(args[0]);
+
+ // output the errors XML
+  XMLWriter writer = new XMLWriter( OutputFormat.createPrettyPrint() );
+  writer.write( errorHandler.getErrors() );
+}
+
+</pre></div>
+  <caution><title></title>
+<p>
+Both, Xerecs and Crimson, are JaXPable parsers. Be careful while using
+Crimson and Xerces in same class path. Xerces will work correctly only when it is
+specified in class path <em>before</em> Crimson. At this time I
+recommend that you should either Xereces <em>or</em> Crimson.
+</p>
+</caution></div><div class="subsection"><a name="A_perfect_team_-_Multi_Schema_ValidatorMSV_and_dom4j_"></a><h3>A perfect team - Multi Schema ValidatorMSV and dom4j </h3><title></title><p>
+Kohsuke Kawaguchi a developer from Sun created a extremly usefull tool for XML validation.
+Multi Schema Validator (MSV) supports following specifications:
+</p><ul>
+  <li><p>Relax NG</p></li>
+  <li><p>Relax </p></li>
+  <li><p>TREX</p></li>
+  <li><p>XML DTDs</p></li>
+  <li><p>XML Schema</p></li>
+</ul><p>
+Currently its not clear whether XML Schema will be the next standard for validation. Relax NG has an ever more growing
+lobby. If you want to build a open application that is not fixed to a specific XML parser and specific type of XML validation you should use this powerfull
+tool. As  usage of MSV is not trivial the next section shows how to use it in simpler way.
+</p></div><div class="subsection"><a name="Simplified_Multi-Schema_Validation_by_using_Java_API_for_RELAX_Verifiers__JARV_"></a><h3>Simplified Multi-Schema Validation by using Java API for RELAX Verifiers (JARV)</h3><title></title><p>
+The Java API for RELAX Verifiers <citation>JARV</citation> defines a set of Interfaces and provide
+a schemata and vendor neutral API for validation of XML documents. The above explained
+MSV offers a Factory that supports JARV. So you can use the JARV API on top of MSV and dom4j
+to validate a dom4j documents.
+</p>
+    <div class="source"><pre>
+import org.iso_relax.verifier.Schema;
+import org.iso_relax.verifier.Verifier;
+import org.iso_relax.verifier.VerifierFactory;
+import org.iso_relax.verifier.VerifierHandler;
+
+import com.sun.msv.verifier.jarv.TheFactoryImpl;
+
+import org.apache.log4j.Category;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXWriter;
+
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXParseException;
+
+public class Validator {
+
+  private final static CATEGORY = Category.getInstance(Validator.class);
+  private String schemaURI;
+  private Document document;
+
+  public Validator(Document document, String schemaURI) {
+    this.schemaURI = schemaURI;
+    this.document = document;
+  }
+  
+  public boolean validate() throws Exception {
+  
+    // (1) use autodetection of schemas
+    VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
+    Schema schema = factory.compileSchema( schemaURI );
+    
+    // (2) configure a Vertifier
+    Verifier verifier = schema.newVerifier();
+        verifier.setErrorHandler(
+            new ErrorHandler() {
+                public void error(SAXParseException saxParseEx) {
+                   CATEGORY.error( "Error during validation.", saxParseEx);
+                }
+                
+                public void fatalError(SAXParseException saxParseEx) {
+                   CATEGORY.fatal( "Fatal error during validation.", saxParseEx);
+                }
+                
+                public void warning(SAXParseException saxParseEx) {
+                   CATEGORY.warn( saxParseEx );
+                }
+            }
+        );    
+        
+    // (3) starting validation by resolving the dom4j document into sax     
+    VerifierHandler handler = verifier.getVerifierHandler();
+    SAXWriter writer = new SAXWriter( handler );
+    writer.write( document );   
+    
+    return handler.isValid();
+  }
+  
+  }
+  
+}
+</pre></div>
+  <p>
+The whole work in the above example is done in <methodname>validate()</methodname> method.
+Foremost the we create a <em>Factory</em> instance and use it to create a JAVR 
+<code>org.iso_relax.verifier.Schema</code> instance.
+In second step we create and configure a <code>org.iso_relax.verifier.Verifier</code>
+using a <code>org.sax.ErrorHandler</code>. I use Apaches Log4j API
+to log possible errors. You can also use <methodname>System.out.println()</methodname>
+or, depending of the applications desired robustness, any other method to provide information about
+failures. Third and last step resolves the <code>org.dom4j.Document</code>
+instance using SAX in order to start the validation. Finally we return a boolean
+value that informs about success of the validation. 
+</p><p>
+Using teamwork of dom4j, MSV, JAVR and good old SAX simplifies the usage
+of multi schemata validation while gaining the power of MSV.
+</p></div></div>
+</chapter>
+
+<chapter><title></title>
+<p>
+XSLT defines a declarative rule-based way to transform XML tree into
+plain text, HTML, FO or any other text-based format. XSLT is very powerful.
+Ironically it does not need variables to hold data.
+As Michael Kay <citation>XSLTReference</citation> says: "This style of coding without assignment statements, is
+called <em>Functional Programming</em>. The earliest and most
+famous functional programming language was Lisp ..., while modern examples
+include ML and Scheme." In XSLT you define a so called <em>template</em>
+that matches a certain XPath expression. The XSLT Processor traverse the
+source tree using a recursive tree descent algorithm and performs the commands you defined when a specific tree branch
+matches the template rule.
+</p>
+
+<p>
+dom4j offers an API that supports XSLT similar rule based processing. The
+API can be found in <code>org.dom4j.rule</code> package and this 
+chapter will introduce you to this powerful feature of dom4j.
+</p>
+
+<div class="section"><a name="Introducing_dom4j_s_declarative_rule_processing"></a><h2>Introducing dom4j's declarative rule processing</h2><title></title><p>
+  This section will demonstrate the usage of dom4j's rule API by example.
+  Consider we have the following XML document, but that we want to transform
+  into another XML document containing less information.  
+  </p>
+    <div class="source"><pre>
+  
+    <?xml version="1.0" encoding="UTF-8" ?>
+    <Songs>
+     <song>
+       <mp3 kbs="128" size="6128">
+         <id3>
+          <title>Simon</title>
+          <artist>Lifehouse</artist>
+          <album>No Name Face</album>
+          <year>2000</year>
+          <genre>Alternative Rock</genre>
+          <track>6</track>     
+         </id3>
+       </mp3>
+      </song>
+      <song>
+       <mp3 kbs="128" size="6359">
+         <id3>
+          <title>Hands Clean</title>
+          <artist>Alanis Morrisette</artist>
+          <album>Under Rug Swept</album>
+          <year>2002</year>
+          <genre>Alternative Rock</genre>
+          <track>3</track>
+         </id3>
+       </mp3>
+      </song>
+      <song>
+       <mp3 kbs="256" size="6460">
+         <id3>
+          <title>Alive</title>
+          <artist>Payable On Deatch</artist>
+          <album>Satellit</album>
+          <year>2002</year>
+          <genre>Metal</genre>
+          <track/>
+         </id3>
+       </mp3>
+       <mp3 kbs="256" size="4203">
+         <id3>
+          <title>Crawling In The Dark</title>
+          <artist>Hoobastank</artist>
+          <album>Hoobastank (Selftitled)</album>
+          <year>2002</year>
+          <genre>Alternative Rock</genre>
+          <track/>
+         </id3>
+       </mp3>
+     </song>
+    </Songs>
+  
+  </pre></div>
+  <p>
+   A common method to transform one XML document into another is XSLT. It's quite
+   powerful but it is very different from Java and uses paradigms different from OO.
+   Such style sheet may look like
+   this. 
+  </p>
+    <div class="source"><pre>
+    
+      <xsl:stylesheet version="1.0"
+           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"    
+           xmlns:fo="http://www.w3.org/1999/XSL/Format"
+       >    
+        <xsl:output method="xml" indent="yes"/>
+
+        <xsl:template match="/">
+         <Song-Titles>
+           <xsl:apply-templates/>
+         </Song-Tiltes>
+        </xsl:template>
+        
+        <xsl:template match="/Songs/song/mp3">     
+          <Song>
+            <xsl:apply-template/>
+          </Song>
+        </xsl:template>
+    
+        <xsl:template match="/Songs/song/mp3/title">
+          <xsl:text> <xsl:value-of select="."/> </xsl:text>
+        </xsl:template> 
+   
+      </xsl:stylesheet> 
+     
+   </pre></div>
+  <p>
+  This stylesheet filters all song titles and creates a xml wrapper for it.
+  After applying the stylesheet with XSLT processor you will
+  get the following xml document.
+  </p>
+    <div class="source"><pre>
+    
+      <?xml version="1.0" encoding="UTF-8" ?>
+      <Song-Titles>
+ 	<song>Simon</song>
+	<song>Hands Clean</song>
+        <song>Alive</song>
+        <song>Crawling in the Dark</song>
+      </Song-Titles>
+     
+   </pre></div>
+  <p>
+   Okay. Now it's time to present a possible solution using dom4j's rule API. As you
+   will see this API is very compact. The Classes you have to write are neither complex nor
+   extremely hard to understand. We want to get the same result as your former stylesheet.
+ </p><programlistingco>
+   <areaspec>
+     <areaset id="example.rule.step1" coord="">
+       <area id="example.rule.root" coords="32"></area>
+       <area id="example.rule.doc" coords="33"></area>
+     </areaset>
+     <areaset id="example.rule.step2">
+       <area id="example.rule.rule1" coords="35"></area>
+       <area id="example.rule.rule2" coords="39"></area>
+     </areaset>
+     <areaset id="example.rule.step3">
+       <area id="example.rule.pattern1" coords="36"></area>
+       <area id="example.rule.action1" coords="37"></area>
+       <area id="example.rule.pattern2" coords="40"></area>
+       <area id="example.rule.action2" coords="41"></area>
+     </areaset>
+     <areaset id="example.rule.step4">
+       <area id="example.rule.actionclass1" coords="55"></area>
+       <area id="example.rule.actionclass2" coords="64"></area>
+     </areaset>
+     <area id="example.rule.step5" coords="43"></area>
+     <area id="example.rule.step6" coords="47"></area>
+   </areaspec> 
+ 
+    <div class="source"><pre>
+  import java.io.File;
+
+  import org.dom4j.DocumentHelper;
+  import org.dom4j.Document;
+  import org.dom4j.DocumentException;
+  import org.dom4j.Element;
+  import org.dom4j.Node;
+
+  import org.dom4j.io.SAXReader;
+  import org.dom4j.io.XMLWriter;
+  import org.dom4j.io.OutputFormat;
+
+  import org.dom4j.rule.Action;
+  import org.dom4j.rule.Pattern;
+  import org.dom4j.rule.Stylesheet;
+  import org.dom4j.rule.Rule;
+
+  public class SongFilter {
+    
+    private Document resultDoc;
+    private Element songElement;
+    private Element currentSongElement;
+    private Stylesheet style;
+    
+
+    public SongFilter() {
+        this.songElement = DocumentHelper.createElement( "song" );
+    }
+
+    
+    public Document filtering(org.dom4j.Document doc) throws Exception {
+        Element resultRoot = DocumentHelper.createElement( "Song-Titles" );
+        this.resultDoc = DocumentHelper.createDocument( resultRoot );               
+        
+        Rule songElementRule = new Rule();
+        songElementRule.setPattern( DocumentHelper.createPattern( "/Songs/song/mp3/id3" ) );
+        songElementRule.setAction( new SongElementBuilder() );
+        
+        Rule titleTextNodeFilter = new Rule();
+        titleTextNodeFilter.setPattern( DocumentHelper.createPattern( "/Songs/song/mp3/id3/title" ) );
+        titleTextNodeFilter.setAction( new NodeTextFilter() );
+        
+        this.style = new Stylesheet();
+        this.style.addRule( songElementRule );
+        this.style.addRule( titleTextNodeFilter );
+        
+        style.run( doc );
+        
+        return this.resultDoc;
+    }
+    
+    
+    
+    
+    private class SongElementBuilder implements Action {
+        public void run(Node node) throws Exception {
+           currentSongElement = songElement.createCopy();
+           resultDoc.getRootElement().add ( currentSongElement );
+           
+           style.applyTemplates(node);
+        }
+    }
+    
+    private class NodeTextFilter implements Action {       
+        public void run(Node node) throws Exception {
+          if ( currentSongElement != null )
+          {
+            currentSongElement.setText( node.getText() );
+          }
+        }        
+    }
+        
+      
+}
+ </pre></div>
+  
+ <calloutlist>
+   <callout arearefs="example.rule.step1">
+     <p>Define the root element or another container element for the filtered out information.</p> 
+   </callout>
+   <callout arearefs="example.rule.step2">
+     <p>Create as many instances of <code>org.dom4j.rule.Rule</code> as needed.</p> 
+   </callout>
+   <callout arearefs="example.rule.step3">
+     <p>
+     Install for each rule a instance of <code>org.dom4j.rule.Pattern</code> and 
+     <code>org.dom4j.rule.Action</code>. A <code>org.dom4j.rule.Pattern</code>
+     consists of a XPath Expression, which is used for Node matching.
+     </p>
+   </callout>
+   <callout arearefs="example.rule.step4">
+     <p>A <code>org.dom4j.rule.Action</code> defines the process if a matching occured.</p> 
+   </callout>
+   <callout arearefs="example.rule.step5">
+     <p>Create a instance of <code>org.dom4j.rule.Stylesheet</code></p> 
+   </callout>
+   <callout arearefs="example.rule.step6">
+     <p>Start the processing</p> 
+   </callout>
+</calloutlist>
+</programlistingco><p>
+   If you are familiar with Java Threads you may encounter usage similarities between <code>java.lang.Runnable</code> and <code>org.dom4j.rule.Action</code>.
+   Both act as a plugin or listener. And this Observer Pattern has a wide
+   usage in OO and especially in Java.
+   We implemented observers here as private inner classes. You may decide to declare them as outer classes as well. 
+   However if you do that, the design becomes more complex because you need to share instance of 
+   <code>org.dom4j.rule.StyleSheet</code>.
+ </p><note><title></title>
+ <p>
+  Moreover it's possible to create an anonymous inner class for <code>org.dom4j.rule.Action</code> interface.
+ </p>
+ </note></div>
+
+<div class="section"><a name="Understanding_dom4j_s_rule_API"></a><h2>Understanding dom4j's rule API</h2><title></title><p>
+<table class="bodyTable"><title></title><tr class="b"><th>Visitor</th><th>Declartive Rule Processing</th></tr><tr class="a"><td>Use of Interfaces in design</td><td>Use of Interfaces in design</td></tr><tr class="b"><td>Uncontrolled automatic recursive descent traversal</td><td>Rule controlled automatic recursive descent traversal</td></tr><tr class="a"><td>Needs knowledge of Visitor pattern to understand</td><td>Knowledge of Observer/Publish-Subscriber pattern (ligua franca pattern besid [...]
+</p><p>
+As shown above, dom4j's uses a very flexible OO-Representation of a XSLT Stylesheet. The smart handling of actions
+produces compact code.
+</p><p>
+The rule API is a OO representation of W3C XSLT. The API defines another way of traversing the in-memory dom4j tree.
+The traversal algorithm is called <em>recursive descent</em> and is the same as XSLT defines. Such algorithms 
+are also used in compiler construction and described in literature. 
+</p><p>
+XSLT defines a way of tree merging or filtering. If you output an eXtensible stylesheet result to another xml you merge an
+existing tree to another one using the instruction of the Stylesheet and if output to plain text a styling is used for
+filtering. First usage is addressed by this API. The second is also possible but not so easy to implement as in XSLT.
+</p><p>
+How does the rule API work? Each Stylesheet has a rule. A rule consists of an action and a pattern. Patterns are described
+with XPath. You start the processing of a Stylesheet on a specific source with must be a dom4j <code>Node</code>.
+Calling method <code>style.applyTemplates(node);</code> traverses the <code>Node</code> using 
+a recursive descent algorithm - branch after branch. If a pattern matches the assigned action is activated.
+</p><p>
+If you are interested more in the way a xml document is traversed by XSLT processors I recommend 
+Michael Kay's book <citation>XSLTReference</citation>.
+</p></div>
+
+</chapter>
+
+<bibliography>
+  <title></title>
+<bibliodiv><title></title>
+<biblioentry>
+  <abbrev>XSLTReference</abbrev>
+  <authorgroup>
+    <author email="">Michael Kay</author>
+  </authorgroup>
+  <p>Copyright �2001 by 
+      Worx Press, Inc..<br></br><i>All rights reserved.</i></p>
+  <isbn>1-861-005067</isbn>
+  <publisher>
+     <publishername>Worx Press</publishername>
+  </publisher>
+  <title></title>
+  <seriesinfo>
+    <title></title>
+    <publisher>
+      <publishername>Worx Press</publishername>
+    </publisher>
+  </seriesinfo>
+</biblioentry>
+<biblioentry>
+  <abbrev>GoF95</abbrev>
+  <authorgroup>
+    <author email="">Erich Gamma</author>
+    <author email="">Richard Helm</author>
+    <author email="">Ralph Johnson</author>
+    <author email="">John Vlissides</author>
+  </authorgroup>
+  <p>Copyright �1995 by 
+      Addison Wesley Pub, Co..<br></br><i>All rights reserved.</i></p>
+  <isbn>0-201-633-612</isbn>
+  <publisher>
+     <publishername>Addison-Wesley</publishername>
+  </publisher>
+  <title></title>
+</biblioentry>
+</bibliodiv>
+</bibliography>
+<bibliodiv><title></title>
+<biblioentry>
+  <abbrev>Pawlan98</abbrev>
+  <authorgroup>
+    <author email="">Monica Pawlan</author>
+  </authorgroup>
+  <p>Copyright �1998 by 
+      http://developer.java.sun.com/javatips/jw-tips76.html.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+<biblioentry>
+  <abbrev>JavaTip76</abbrev>
+  <authorgroup>
+    <author email="">Dave Miller</author>
+  </authorgroup>
+  <p>Copyright � by 
+      http://www.javaworld.com/javaworld/javatips/jw-javatip76.html.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+<biblioentry>
+  <abbrev>BillVenners</abbrev>
+  <authorgroup>
+    <author email="">Bill Venners</author>
+  </authorgroup>
+  <p>Copyright � by 
+      http://www.artima.com/designtechniques/interfaces.html.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+<biblioentry>
+  <abbrev>Zvon</abbrev>
+  <p>Copyright � by 
+      http://www.zvon.org/xxl/XPathTutorial/General/examples.html.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+<biblioentry>
+  <abbrev>RelaxNG</abbrev>
+  <p>Copyright � by 
+      http://www.oasis-open.org/committees/relax-ng/.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+<biblioentry>
+  <abbrev>Relax</abbrev>
+  <p>Copyright � by 
+      http://www.xml.gr.jp/relax/.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+<biblioentry>
+  <abbrev>TREX</abbrev>
+  <p>Copyright � by 
+      http://www.thaiopensource.com/trex/.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+<biblioentry>
+  <abbrev>DTD</abbrev>
+  <p>Copyright � by 
+      http://www.w3schools.com/dtd/default.asp.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+<biblioentry>
+  <abbrev>XSD</abbrev>
+  <p>Copyright � by 
+      http://www.w3.org/XML/Schema http://www.w3.org/XML/1998/06/xmlspec-report.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+<biblioentry>
+  <abbrev>JARV</abbrev>
+  <p>Copyright � by 
+      http://iso-relax.sourceforge.net/JARV/.<br></br><i>All rights reserved.</i></p>
+  <title></title>
+</biblioentry>
+</bibliodiv>
+</book>
\ No newline at end of file
diff --git a/docs/cvs-usage.html b/docs/cvs-usage.html
new file mode 100644
index 0000000..7a1b33d
--- /dev/null
+++ b/docs/cvs-usage.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - CVS</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+          <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/" class="externalLink" title="External Link">http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/</a>
+        </p></div><div class="section"><a name="Anonymous_Access_with_Maven"></a><h2>Anonymous Access with Maven</h2><p>
+          This project's CVS repository can be checked out through anonymous (pserver)
+          CVS with the following instruction on a single line.
+        </p>
+    <div class="source"><pre>
+          maven scm:checkout-project
+            -Dmaven.scm.method=cvs
+            -Dmaven.scm.cvs.module=dom4j
+            -Dmaven.scm.cvs.root=:pserver:anonymous at cvs.sourceforge.net:/cvsroot/dom4j
+            -Dmaven.scm.checkout.dir=.
+        </pre></div>
+  </div><div class="section"><a name="Anonymous_CVS_Access"></a><h2>Anonymous CVS Access</h2><p>
+          This project's CVS repository can be checked out through anonymous (pserver)
+          CVS with the following instruction set.
+          When prompted for a password for anonymous, simply press the Enter key.
+        </p><p>
+          cvs -d :pserver:anonymous at cvs.sourceforge.net:/cvsroot/dom4j login
+          <br></br>
+          cvs -z3 -d :pserver:anonymous at cvs.sourceforge.net:/cvsroot/dom4j co dom4j
+        </p><p>
+          Updates from within the module's directory do not need the -d parameter.
+        </p></div><div class="section"><a name="Developer_Access_with_Maven"></a><h2>Developer Access with Maven</h2><p>
+          Only project developers can access the CVS tree via this method.
+          Substitute <b>username</b> with the proper value.
+        </p>
+    <div class="source"><pre>
+          maven scm:checkout-project
+            -Dmaven.scm.method=cvs
+            -Dmaven.scm.cvs.module=dom4j
+            -Dmaven.scm.cvs.root=:ext:username at cvs.sourceforge.net:/cvsroot/dom4j
+            -Dmaven.scm.checkout.dir=.
+            -Dmaven.scm.cvs.rsh=ssh
+        </pre></div>
+  <p>
+          Remember to replace 'username' with your actual username on cvs.sourceforge.net.<br></br>
+          Also change <code>ssh</code> in <code>maven.scm.cvs.rsh=ssh</code> 
+          to the name of your ssh executable.
+        </p></div><div class="section"><a name="Developer_CVS_Access_via_SSH"></a><h2>Developer CVS Access via SSH</h2><p>
+          Only project developers can access the CVS tree via this method.
+          SSH1 must be installed on your client machine. Substitute   
+          <b>username</b> with the proper value. Enter your site password when prompted.
+        </p><p>
+          export CVS_RSH=ssh
+          <br></br>
+          cvs -z3 -d :ext:username at cvs.sourceforge.net:/cvsroot/dom4j co dom4j
+        </p><p>
+          Remember to replace 'username' with your actual username on cvs.sourceforge.net.
+        </p></div><div class="section"><a name="CVS_Access_behind_a_firewall"></a><h2>CVS Access behind a firewall</h2><p>
+              For those developers who are stuck behind a corporate
+              firewall, <a href="http://cvsgrab.sourceforge.net/" class="externalLink" title="External Link">CVSGrab</a>
+              can use the viewcvs web interface to checkout the source code.
+            </p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/dependencies.html b/docs/dependencies.html
new file mode 100644
index 0000000..f273d21
--- /dev/null
+++ b/docs/dependencies.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Dependencies</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        The following is a list of dependencies for this project.  These
+        dependencies are required to compile and run the application:
+      </p><table class="bodyTable"><thead>
+        <tr class="b"><th>Artifact ID</th><th>Type</th><th>Version</th><th>URL</th></tr>
+        </thead><tbody>
+                <tr class="a"><td>jaxen</td><td>jar</td><td>1.1-beta-6</td><td>
+                    <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">http://jaxen.codehaus.org/</a>
+                    </td></tr>
+                <tr class="b"><td>jaxme-api</td><td>jar</td><td>0.3</td><td>
+                    <a href="http://ws.apache.org/jaxme/index.html" class="externalLink" title="External Link">http://ws.apache.org/jaxme/index.html</a>
+                    </td></tr>
+                <tr class="a"><td>junitperf</td><td>jar</td><td>1.8</td><td>
+                    <a href="http://www.clarkware.com/software/JUnitPerf.html" class="externalLink" title="External Link">http://www.clarkware.com/software/JUnitPerf.html</a>
+                    </td></tr>
+                <tr class="b"><td>relaxngDatatype</td><td>jar</td><td>20030807</td><td>
+                    <a href="https://msv.dev.java.net/">https://msv.dev.java.net/</a>
+                    </td></tr>
+                <tr class="a"><td>xsdlib</td><td>jar</td><td>20030807</td><td>
+                    <a href="https://msv.dev.java.net/">https://msv.dev.java.net/</a>
+                    </td></tr>
+                <tr class="b"><td>pull-parser</td><td>jar</td><td>2</td><td>
+                    <a href="http://www.extreme.indiana.edu/xgws/xsoap/xpp/" class="externalLink" title="External Link">http://www.extreme.indiana.edu/xgws/xsoap/xpp/</a>
+                    </td></tr>
+                <tr class="a"><td>stax</td><td>jar</td><td>1.0</td><td>
+                    <a href="http://jcp.org/aboutJava/communityprocess/final/jsr173/index.html" class="externalLink" title="External Link">http://jcp.org/aboutJava/communityprocess/final/jsr173/index.html</a>
+                    </td></tr>
+                <tr class="b"><td>stax-ri</td><td>jar</td><td>1.0</td><td>
+                    <a href="http://dev2dev.bea.com/technologies/stax/index.jsp" class="externalLink" title="External Link">http://dev2dev.bea.com/technologies/stax/index.jsp</a>
+                    </td></tr>
+                <tr class="a"><td>xalan</td><td>jar</td><td>2.5.1</td><td>
+                    <a href="http://xml.apache.org/xalan-j/index.html" class="externalLink" title="External Link">http://xml.apache.org/xalan-j/index.html</a>
+                    </td></tr>
+                <tr class="b"><td>xercesImpl</td><td>jar</td><td>2.6.2</td><td>
+                    <a href="http://xml.apache.org/xerces2-j/index.html" class="externalLink" title="External Link">http://xml.apache.org/xerces2-j/index.html</a>
+                    </td></tr>
+                <tr class="a"><td>xml-apis</td><td>jar</td><td>2.0.2</td><td>
+                    <a href="http://xml.apache.org/xerces2-j/index.html" class="externalLink" title="External Link">http://xml.apache.org/xerces2-j/index.html</a>
+                    </td></tr>
+                <tr class="b"><td>xpp3</td><td>jar</td><td>1.1.3.3</td><td>
+                    <a href="http://www.extreme.indiana.edu/xgws/xsoap/xpp/" class="externalLink" title="External Link">http://www.extreme.indiana.edu/xgws/xsoap/xpp/</a>
+                    </td></tr>
+                </tbody></table></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/developer-activity-report.html b/docs/developer-activity-report.html
new file mode 100644
index 0000000..6d33883
--- /dev/null
+++ b/docs/developer-activity-report.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Developer Activity Analysis</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+            <a href="team-list.html#maartenc">Maarten Coene</a>
+          </td><td>11</td><td>25</td></tr></table></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/download.html b/docs/download.html
new file mode 100644
index 0000000..a4be9f9
--- /dev/null
+++ b/docs/download.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Download dom4j</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="James Strachan"></meta><meta name="email" content="jstrachan at apache.org"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://source [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        <a href="http://sourceforge.net/project/showfiles.php?group_id=16035" class="externalLink" title="External Link">SourceForge</a>
+      </p></div><div class="section"><a name="Download_a_snapshot_build"></a><h2>Download a snapshot build</h2><p>
+    		You can download an interim snapshot build from the 
+    		<a href="http://www.ibiblio.org/maven/dom4j/jars/" class="externalLink" title="External Link">Maven repository</a>
+    	</p></div><div class="section"><a name="Obtaining_the_latest_CVS_snapshot"></a><h2>Obtaining the latest CVS snapshot</h2><p>
+        You can browse the current CVS repository 
+        <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/" class="externalLink" title="External Link">here</a>
+      </p><p>To learn more about CVS go <a href="http://www.cvshome.org/" class="externalLink" title="External Link">here</a>.
+      </p><div class="section"><a name="Anonymous_CVS_Access"></a><h2>Anonymous CVS Access</h2><p>
+        This project's SourceForge CVS repository can be checked out through anonymous 
+        (pserver) <a href="http://www.cvshome.org/" class="externalLink" title="External Link">CVS</a> with the following instruction set. 
+        When prompted for a password for anonymous, simply press the Enter key. 
+        </p><pre>
+cvs -d:pserver:anonymous at cvs.dom4j.org:/cvsroot/dom4j login 
+
+cvs -d:pserver:anonymous at cvs.dom4j.org:/cvsroot/dom4j co dom4j
+        </pre><p>Updates from within the module's directory do not need the -d parameter.
+        </p></div><div class="section"><a name="Developer_CVS_Access_via_SSH"></a><h2>Developer CVS Access via SSH</h2><p>
+        Only project developers can access the CVS tree via this method. 
+        SSH1 must be installed on your client machine. 
+        Substitute developername with the proper values. 
+        Enter your site password when prompted.
+        </p><pre>
+export CVS_RSH=ssh 
+ 
+cvs -d:ext:developername at cvs.dom4j.org:/cvsroot/dom4j co dom4j
+        </pre></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/downloads.html b/docs/downloads.html
new file mode 100644
index 0000000..3d81a23
--- /dev/null
+++ b/docs/downloads.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Downloads</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        <code>maven.xdoc.distributionUrl</code>property if you wish to generate the download report.</p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/faq.html b/docs/faq.html
new file mode 100644
index 0000000..f0daff9
--- /dev/null
+++ b/docs/faq.html
@@ -0,0 +1,752 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Frequently Asked Questions</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><strong><a href="faq.html">FAQ</a></strong></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"> [...]
+              <strong>General</strong>
+            </p><ol>
+              
+              <li>
+                
+                
+                <a href="#whats-dom4j">
+                  What is dom4j?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#whats-license">
+                  What is the dom4j license?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#classpath">
+                  What do I need to add to my CLASSPATH?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#whats-dom4j-v-dom">
+                  How does dom4j relate to DOM?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#whats-dom4j-v-jdom">
+                  How does dom4j relate to JDOM?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#dom4j-sax">
+                  How does dom4j work with DOM and SAX?
+                </a>
+              </li>
+              
+            </ol><p>
+              <strong>Using dom4j</strong>
+            </p><ol>
+              
+              <li>
+                
+                
+                <a href="#dom4j-xslt">
+                  How can I use XSLT with dom4j?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#pretty-print">
+                  How can I pretty print my XML document?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#from-string">
+                  How can I parse a document from a String?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#compare-nodes">
+                  How do I compare 2 nodes for equality?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#large-doc">
+                  How does dom4j handle very large XML documents?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#visitor">
+                  Does dom4j support the Visitor Pattern?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#sort-select">
+                  Can I sort the List returned by Node.selectNodes()?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#whats-optional">
+                  What features are optional in dom4j?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#why-jaxp-warning">
+                  What does the following mean 'Warning: Error occurred using JAXP to load a SAXParser. Will use Aelfred instead'
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#what-parser">
+                  What XML parser does dom4j use?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#how-validate">
+                  How can I validate my document?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#import-vaj">
+                  How do I import dom4j into VAJ?
+                </a>
+              </li>
+              
+              <li>
+                
+                
+                <a href="#cannot-find-dtd">
+                  Cannot find DTD; how can I tell dom4j where to find the DTD from a DOCTYPE?
+                </a>
+              </li>
+              
+            </ol></div><div class="section"><a name="General"></a><h2>General</h2><title>General</title><dl>
+    <dt><a name="whats-dom4j">What is dom4j?</a></dt>
+    <dd>
+      <p><i>dom4j</i> is an Open Source XML framework for Java.
+      <i>dom4j</i> allows you to read, write, navigate, create and modify 
+      XML documents. 
+      <i>dom4j</i> integrates with DOM and SAX and is seamlessly integrated 
+      with full XPath support.
+      </p>
+    </dd>
+  </dl><dl>
+    <dt><a name="whats-license">What is the dom4j license?</a></dt>
+    <dd>
+      <p>We use an Apache-style open source license which is one of the least
+        restrictive licenses around, you can use <i>dom4j</i> to create new products
+        without them having to be open source.
+      </p>
+      <p>You can find a copy of the license <a href="license.html">here</a>.
+      </p>
+    </dd>
+  </dl><dl>
+    <dt><a name="classpath">What do I need to add to my CLASSPATH?</a></dt>
+    <dd>
+      <p>The dom4j.jar only contains the dom4j classes. If you want to use a SAX parser,
+         you'll have to include the SAX classes and the SAX parser of your choice to your
+         CLASSPATH. If you want to use XPath expressions, you also have to include the
+         jaxen.jar to your CLASSPATH.
+      </p>
+      <p><i>dom4j</i> can use your existing XML parser and/or DOM implementation 
+        (such as <a href="http://xml.apache.org/crimson/" class="externalLink" title="External Link">Crimson</a> or 
+        <a href="http://xml.apache.org/xerces-j/" class="externalLink" title="External Link">Xerces</a> if you want it to. <i>dom4j</i> can also use
+        <a href="http://java.sun.com/xml/" class="externalLink" title="External Link">JAXP</a> to configure which SAX Parser to use - just add the 
+        jaxp.jar to your CLASSPATH and whichever SAX parser you wish away you go.
+      </p>
+    </dd>
+  </dl><dl>
+    <dt><a name="whats-dom4j-v-dom">How does dom4j relate to DOM?</a></dt>
+    <dd>
+      <p>DOM is a quite large language independent API.
+        <i>dom4j</i> is a simpler, lightweight API making extensive use of standard Java APIs such as the 
+        Java 2 collections API.
+      </p>
+      <p>Remark that <i>dom4j</i> fully supports the DOM standard allowing both APIs to be 
+        used easily together.
+      </p>
+    </dd>
+  </dl><dl>
+    <dt><a name="whats-dom4j-v-jdom">How does dom4j relate to JDOM?</a></dt>
+    <dd>
+      <p><i>dom4j</i> is a different project and different API to JDOM
+        though they both have similar goals. They both attempt to make it easier
+        to use XML on the Java platform. 
+        They differ in their design, API and implementation.
+      </p>
+      <p><i>dom4j</i> is based on Java interfaces so that plug and play 
+        document object model implementations are allowed and encouraged
+        such as small, read only, quick to create implementations or 
+        bigger, highly indexed fast to naviagte implementations or 
+        implementations which read themselves lazily from a database or 
+        Java Beans etc.
+      </p>
+      <p><i>dom4j</i> uses polymorphism extensively such that all document object types 
+        implement the Node interface. 
+        Also both the Element and Document interfaces can be used polymorphically
+        as they both extend the Branch interface.
+      </p>
+
+      <p><i>dom4j</i> is fully integrated with XPath support throughout the API 
+        so doing XPath expressions is as easy as
+      </p>
+<pre>
+SAXReader reader = new SAXReader();
+Document document = reader.read( url );
+List links = document.selectNodes( "//a[@href]" );
+String title = document.valueOf( "/head/title" );
+</pre>
+      <p><i>dom4j</i> will soon provide a configuration option to
+        support the W3C DOM API natively to avoid unnecessary tree duplication
+        when using <i>dom4j</i> with XSLT engines etc.
+      </p>
+    </dd>
+  </dl><dl>
+    <dt><a name="dom4j-sax">How does dom4j work with DOM and SAX?</a></dt>
+    <dd>
+      <p>You can create <i>dom4j</i> documents from XML text, SAX events or existing 
+        DOM trees or you can write <i>dom4j</i> documents as SAX events, DOM trees 
+        or XML text.
+      </p>
+    </dd>
+  </dl></div><div class="section"><a name="Using_dom4j"></a><h2>Using dom4j</h2><title>Using dom4j</title><dl>
+    <dt><a name="dom4j-xslt">How can I use XSLT with dom4j?</a></dt>
+    <dd>
+      <p><i>dom4j</i> integrates with XSLT using the JAXP standard (TrAX) APIs.
+        A <i>dom4j</i> Document can be used as the source of XML to be styled or 
+        the source of the stylesheet. 
+        A <i>dom4j</i> Document can also be used as the result of a transformation. 
+      </p>
+      <p>First you'll need to use JAXP to load a Transformer.
+      </p>
+<pre>
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+import org.dom4j.Document;
+import org.dom4j.DocumentResult;
+import org.dom4j.DocumentSource;
+...
+
+TransformerFactory factory 
+  = TransformerFactory.newInstance();
+
+Transformer transformer 
+  = factory.newTransformer( new StreamSource( "foo.xsl" ) );
+</pre>
+      <p>Now that you have a transformer its easy to style a Document into 
+      a new Document.
+      </p>
+<pre>
+DocumentSource source = new DocumentSource( document );
+DocumentResult result = new DocumentResult();
+transformer.transform( source, result );
+
+Document transformedDoc = result.getDocument();
+</pre>
+      <p>If you want to transform a Document into XML text you can use JAXP as follows:-
+      </p>
+<pre>
+DocumentSource source = new DocumentSource( document );
+DocumentResult result = new StreamResult( new FileReader( "output.xml" ) );
+transformer.transform( source, result );
+</pre>
+      <p>For more information on JAXP and (TrAX) try 
+        <a href="http://java.sun.com/xml/" class="externalLink" title="External Link">Sun's JAXP site</a>.
+      </p>
+    </dd>
+  </dl><dl>
+    <dt><a name="pretty-print">How can I pretty print my XML document?</a></dt>
+    <dd>
+      <p>You can control the format of the XML text output by
+        <a href="apidocs/org/dom4j/io/XMLWriter.html">XMLWriter</a>
+        by using the
+        <a href="apidocs/org/dom4j/io/OutputFormat.html">OutputFormat</a>
+        object.
+        You can explicitly set the various formatting options via the 
+        properties methods of the OutputFormat object. There is also a helper
+        method <code>OutputFormat.createPrettyPrint()</code> which creates 
+        the default pretty-print format.
+      </p>
+      <p>So to pretty print some XML (trimming all whitespace and indenting nicely)
+        the following code should do the job...
+      </p>
+<pre>
+    OutputFormat format = OutputFormat.createPrettyPrint();
+    XMLWriter writer = new XMLWriter( out, format );
+    writer.write( document );
+    writer.close();
+</pre>
+    </dd>
+  </dl><dl>
+    <dt><a name="from-string">How can I parse a document from a String?</a></dt>
+    <dd>
+      <p>Sometimes you have a String (or StringBuffer) which contains the XML 
+        to be parsed. This can be parsed using <code>SAXReader</code>
+        and the <code>StringReader</code> from the JDK. For example:-
+      </p>
+      <pre>
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentHelper;
+
+public class Foo {
+
+    public Document getDocument() throws DocumentException {
+        return DocumentHelper.parseText( 
+            "<root> <child id='1'>James</child> </root>"
+        );
+    }
+}
+      </pre>
+    </dd>
+  </dl><dl>
+    <dt><a name="compare-nodes">How do I compare 2 nodes for equality?</a></dt>
+    <dd>
+      <p><i>dom4j</i> by default uses identity based equality for performance.
+        It avoids having to walk entire documents or document fragments when
+        putting nodes in collections.
+      </p>
+      <p>To compare 2 nodes (attributes, elements, documents etc) for equality
+      the <a href="apidocs/org/dom4j/util/NodeComparator.html">NodeComparator</a> can be
+      used.
+      </p>
+<pre>
+    Node node1 = ...;
+    Node node2 = ...;
+    NodeComparator comparator = new NodeComparator();
+    if ( comparator.compare( node1, node2 ) == 0 ) {
+        // nodes are equal!
+    }
+</pre>
+
+    <p>If you are having problems comparing documents that you think
+      are equal but the NodeComparator decides that they are different, 
+     you might find the following useful.
+    </p>
+
+    <p>In dom4j/test/src/org/dom4j/AbstractTestCase.java is-a JUnit TestCase and is
+      an abstract base class for dom4j test cases. It contains a whole bunch of
+      useful assertion helper methods for testing documents, nodes and fragments
+      being equal. The nice thing is that you get useful messages telling you
+      exactly why they are different, so its pretty easy to track down.
+      For example.
+    </p>
+<pre>    
+public MyTest extends AbstractTestCase {
+    ...
+    public void testSomething() {
+        Document doc1 = ...;
+        Document doc2 = ...;
+
+        assertDocumentsEqual( doc1, doc2 );
+        ...
+
+        assertNodesEqual( doc1.getRootElement(), doc2.getRootElement() );
+    }
+}
+</pre>
+    </dd>
+  </dl><dl>
+    <dt><a name="large-doc">How does dom4j handle very large XML documents?</a></dt>
+    <dd>
+      <p><i>dom4j</i> provides an event based model for processing XML documents.
+        Using this event based model allows developers to prune the XML tree
+        when parts of the document have been successfully processed avoiding
+        having to keep the entire document in memory.
+      </p>
+      <p>For example, imagine you need to process a very large XML file that is 
+        generated externally by some database process and looks something like 
+        the following (where N is a very large number).
+      </p>
+      <pre>
+<ROWSET>
+    <ROW id="1">
+        ...
+    </ROW>
+    <ROW id="2">
+        ...
+    </ROW>
+    ...
+    <ROW id="N">
+        ...
+    </ROW>
+</ROWSET>     
+      </pre>
+      <p>We can process each <ROW> at a time, there is no 
+        need to keep all of them in memory at once.
+        <i>dom4j</i> provides a <i>Event Based Mode</i> for this purpose. 
+        We can register an event handler for one or more path expressions.
+        These handlers will then be called on the start and end of each path
+        registered against a particular handler.  When the start tag of a 
+        path is found, the onStart method of the handler registered to the 
+        path is called.  When the end tag of a path if found, the onEnd method 
+        of the handler registered to that path is called.
+      </p>
+      <p>
+        The onStart and onEnd methods are passed an instance of an ElementPath,
+        which can be used to retrieve the current Element for the given path.
+        If the handler wishes to "prune" the tree being built in order to 
+        save memory use, it can simply call the detach() method of the current
+        Element being processed in the handlers onEnd() method.
+      </p>
+      <p>
+        So to process each <ROW> individually we can do the following.
+      </p>
+      <pre>
+// enable pruning mode to call me back as each ROW is complete
+SAXReader reader = new SAXReader();
+reader.addHandler( "/ROWSET/ROW", 
+    new ElementHandler() {
+        public void onStart(ElementPath path) {
+            // do nothing here...    
+        }
+        public void onEnd(ElementPath path) {
+            // process a ROW element
+            Element row = path.getCurrent();
+            Element rowSet = row.getParent();
+            Document document = row.getDocument();
+            ...
+            // prune the tree
+            row.detach();
+        }
+    }
+);
+
+Document document = reader.read(url);
+
+// The document will now be complete but all the ROW elements
+// will have been pruned.
+// We may want to do some final processing now
+...
+      </pre>
+    </dd>
+  </dl><dl>
+    <dt><a name="visitor">Does dom4j support the Visitor Pattern?</a></dt>
+    <dd>
+      <p>Yes. <i>dom4j</i> supports the visitor pattern via the 
+          <a href="apidocs/org/dom4j/Visitor.html">Visitor</a> interface.
+      </p>
+      <p>Here is an example.
+      </p>
+      <pre>
+protected void foo(Document doc) {
+  
+    // lets use the Visitor Pattern to 
+    // navigate the document for entities
+
+    Visitor visitor = new VisitorSupport() {
+        public void visit(Entity entity) {
+            System.out.println( 
+                "Entity name: " + entity.getName() 
+                + " text: " + entity.getText() 
+            );
+        }
+    };
+
+    doc.accept( visitor );
+}
+      </pre>
+    </dd>
+  </dl><dl>
+    <dt><a name="sort-select">Can I sort the List returned by Node.selectNodes()?</a></dt>
+    <dd>
+      <p>Yes. The selectNodes() is a really useful feature to allow nodes to be
+        selected from any object in the <i>dom4j</i> object model via an XPath expression. 
+        The List that is returned can be sorted by
+        specifying another XPath expression to use as the sorting comparator.
+      </p>
+      <p>
+      For example the following code parses an XML play and finds all the
+      SPEAKER elements sorted in name order. 
+      </p>
+      <pre>
+SAXReader reader = new SAXReader();
+Document document = reader.read( new File( "xml/much_ado.xml" ) );
+List speakers = document.selectNodes( "//SPEAKER", "." );
+      </pre>
+      <p>
+      In the above example the name of the SPEAKER is
+      defined by the XPath expression "." as the name is stored in the text 
+      of the SPEAKER element. 
+      If the name was defined by an attribute called "name" then 
+      the XPath expression "@name" should be used for sorting.
+      </p>
+      <p>
+      You may wish to remove duplicates while sorting such that (for example)
+      the distinct list of SPEAKER elements is returned, sorted by name.
+      To do this add an extra parameter to the selectNodes() method call.
+      </p>
+      <pre>
+List distinctSpeakers = document.selectNodes( "//SPEAKER", ".", true );
+      </pre>
+    </dd>
+  </dl><dl>
+    <dt><a name="whats-optional">What features are optional in dom4j?</a></dt>
+    <dd>
+      <p>In <i>dom4j</i> being able to navigate up a tree towards the parent
+        and to be able to change a tree are optional features. 
+        These features are optional so that an implementation
+        can create memory efficient read only document models which
+        conserve memory by sharing imutable objects (such as interning 
+        Atttributes).
+      </p>
+        
+      <p>There are some helper methods to determine if optional features are 
+        implemented. 
+        Here is some example code demonstrating their use.
+      </p>
+      <pre>
+protected void foo(Node node) {
+  
+    // can we do upward navigation?
+    if ( ! node.supportsParent() ) {
+        throw new UnsupportedOperationException(
+          "Cannot navigate upwards to parent"
+        );
+    }
+    Element parent = node.getParent();
+
+    System.out.println( "Node: " + node 
+        + " has parent: " + parent 
+    );
+
+    if ( parent != null ) {
+
+        // can I modify the parent?
+        if ( parent.isReadOnly() ) {
+            throw new UnsupportedOperationException(
+              "Cannot modify parent as it is read only"
+            );
+        }
+
+        parent.setAttributeValue( "bar", "modified" );
+    }
+}
+      </pre>
+    </dd>
+  </dl><dl>
+    <dt><a name="why-jaxp-warning">What does the following mean 'Warning: Error occurred using JAXP to load a SAXParser. Will use Aelfred instead'</a></dt>
+    <dd>
+      <p>
+        If dom4j detects JAXP on the classpath it tries to use it to load a SAX parser. 
+        If it can't load the SAX parser via JAXP it then tries to use the 
+        <code>org.xml.sax.driver</code> system property to denote the SAX parser to use.
+        If none of the above work dom4j outputs a warning and continues, using its own 
+        internal Aelfred2 parser instead. 
+      </p>
+      <p>
+        The following warning is a result of JAXP being in the classpath but either 
+        an old JAXP1.0 version
+        was found (rather than JAXP 1.1) or there is no JAXP configured parser 
+        (such as crimson.jar or xerces.jar) on the classpath. 
+      </p>
+<pre>
+Warning: Error occurred using JAXP to load a SAXParser. Will use Aelfred instead
+</pre>
+      <p>        
+        So the warning generally indicates an incomplete JAXP classpath and is 
+        nothing to worry excessively about.
+        If you'd like to see the full verbose reason why the load of a JAXP 
+        parser failed then you can try setting the system property 
+        <code>org.dom4j.verbose=true</code>. e.g.
+      </p>
+<pre>
+java -Dorg.dom4j.verbose=true MyApp
+</pre>
+      <p>And you should see a verbose list of why the load of a SAX parser 
+        via JAXP failed. 
+      </p>
+      
+      <p>
+        To avoid this warning happening either remove the jaxp.jar 
+        from your classpath or add a JAXP 1.1. jaxp.jar together with a JAXP 1.1
+        parser such as crimson.jar or xerces.jar
+        to your classpath.
+      </p>
+    </dd>
+  </dl><dl>
+    <dt><a name="what-parser">What XML parser does dom4j use?</a></dt>
+    <dd>
+      <p>dom4j works with any SAX parser via JAXP. So putting 
+        a recent distribution of crimson.jar or xerces.jar on 
+        the CLASSPATH will allow Crimson or Xerces's parser to be used.
+      </p>
+      <p>If no SAX parser is on the classpath via JAXP or the SAX
+        org.xml.sax.driver system property then the embedded Aelfred 
+        distribution will be used instead. Note that the embedded
+        Aelfred distribution is a non validating parser, though it is quite fast
+      </p>
+    </dd>
+  </dl><dl>
+    <dt><a name="how-validate">How can I validate my document?</a></dt>
+    <dd>
+      <p>If a recent version of crimson.jar or xerces.jar is on the CLASSPATH 
+      then dom4j will use that as the SAX parser via JAXP. 
+      If none of these are on the CLASSPATH then a bundled version of Aelfred is used, 
+      which does not validate.
+      </p>
+
+      <p>So to perform DTD validation when parsing put crimson.jar or xerces.jar on 
+        the CLASSPATH. If you wish to validate against an XML Schema then try xerces.jar.
+        Then use the following code.</p>
+
+<pre>
+// turn validation on
+SAXReader reader = new SAXReader(true);
+Document document = reader.read( "foo.xml" );
+</pre>
+
+		<p>
+		Note: if you want to validate against an XML Schema with xerces, 
+		you need to enable the XML Schema validation with the "setFeature" method.
+		For more information about
+		<a href="http://xml.apache.org/xerces2-j/features.html" class="externalLink" title="External Link">xerces features</a>
+		visit the xerces website.
+		Below is a code sample to enable XML Schema validation.
+		</p>
+
+<pre>
+// turn validation on
+SAXReader reader = new SAXReader(true);
+// request XML Schema validation
+reader.setFeature("http://apache.org/xml/features/validation/schema", true);
+Document document = reader.read( "foo.xml" );
+</pre>
+
+
+      <p>An alternative approach is to use Sun's MSV library for validation, 
+      which allows you to use DTD, XML Schema, Relax NG, Relax or TREX as the 
+      schema languages. 
+      There's an example in the daily build at dom4j/src/samples/validate/JARVDemo.java
+      </p>
+
+      <p>If you are validating an existing dom4j document then we recommend 
+      you try MSV as it avoids turning the document into text and then parsing 
+      it again - MSV can work purely off of SAX events generated from the dom4j document.
+      </p>
+
+      <p>Using this approach your code will actually be based on the 
+        <a href="http://iso-relax.sourceforge.net/JARV/" class="externalLink" title="External Link">JARV</a> API 
+        which allows alternative validation mechanisms to
+        be plugged into your code.
+      </p>		
+    </dd>
+  </dl><dl>
+    <dt><a name="import-vaj">How do I import dom4j into VAJ?</a></dt>
+    <dd>
+    
+    <p>VisualAge for Java checks all dependencies in a JAR and displays
+      warnings if there are any unresolved links.
+      To avoid any warnings the following steps should be followed
+      (thanks to Jan Haluza for this).
+    </p>
+    <ol>
+      <li>Uninstall all the packages having anything in common with the xml 
+        (com.ibm.xml* , org.w3c.dom ..) (these packages contains older
+        definitions DOM ver. 1 ...
+      </li>
+      <li>Install the following jars<pre>
+dom4j.jar
+xalan.jar
+PullParser.jar  
+relaxng.jar
+msv.jar
+isorelax.jar
+xsdlib.jar
+crimson.jar
+</pre>
+      </li>
+    </ol>
+    </dd>
+  </dl><dl>
+    <dt><a name="cannot-find-dtd">Cannot find DTD; how can I tell dom4j where to find the DTD from a DOCTYPE?</a></dt>
+    <dd>
+    
+	<p>
+A common way around this is to implement a SAX EntityResolver to load the
+DTD from somewhere else. e.g. you could include the DTD in your JAR with
+your java code and load it from there.
+	</p>
+
+<pre>
+EntityResolver resolver = new EntityResolver() {
+    public InputSource resolveEntity(String publicId, String systemId) {
+        if ( publicId.equals( "-//Acme//DTD Foo 1.2//EN" ) ) {
+            InputStream in = getClass().getResourceAsStream(
+                "com/acme/foo.dtd"
+            );
+            return new InputSource( in );
+        }
+        return null;
+    }
+};
+
+SAXReader reader = new SAXReader();
+reader.setEntityResolver( resolver );
+Document doc = reader.parse( "foo.xml" );
+</pre>
+    </dd>
+  </dl></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/file-activity-report.html b/docs/file-activity-report.html
new file mode 100644
index 0000000..537202f
--- /dev/null
+++ b/docs/file-activity-report.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - File Activity Analysis</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/pull-parser-2.1.10.jar" class="externalLink" title="External Link">lib/pull-parser-2.1.10.jar</a>
+          </td><td>2</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/test/junit-3.8.1.jar" class="externalLink" title="External Link">lib/test/junit-3.8.1.jar</a>
+          </td><td>2</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/project.properties" class="externalLink" title="External Link">project.properties</a>
+          </td><td>2</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/io/XMLWriter.java" class="externalLink" title="External Link">src/java/org/dom4j/io/XMLWriter.java</a>
+          </td><td>2</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/build.xml" class="externalLink" title="External Link">build.xml</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/jaxen-1.1-beta-4.jar" class="externalLink" title="External Link">lib/jaxen-1.1-beta-4.jar</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/jaxen-20050419.192021.jar" class="externalLink" title="External Link">lib/jaxen-20050419.192021.jar</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/lib/pull-parser-2.jar" class="externalLink" title="External Link">lib/pull-parser-2.jar</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/project.xml" class="externalLink" title="External Link">project.xml</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/DocumentFactory.java" class="externalLink" title="External Link">src/java/org/dom4j/DocumentFactory.java</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/InvalidXPathException.java" class="externalLink" title="External Link">src/java/org/dom4j/InvalidXPathException.java</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/QName.java" class="externalLink" title="External Link">src/java/org/dom4j/QName.java</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/dom/DOMDocumentFactory.java" class="externalLink" title="External Link">src/java/org/dom4j/dom/DOMDocumentFactory.java</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/util/PerThreadSingleton.java" class="externalLink" title="External Link">src/java/org/dom4j/util/PerThreadSingleton.java</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/util/SimpleSingleton.java" class="externalLink" title="External Link">src/java/org/dom4j/util/SimpleSingleton.java</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/xpath/DefaultXPath.java" class="externalLink" title="External Link">src/java/org/dom4j/xpath/DefaultXPath.java</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/xpath/XPathPattern.java" class="externalLink" title="External Link">src/java/org/dom4j/xpath/XPathPattern.java</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/java/org/dom4j/xpp/ProxyXmlStartTag.java" class="externalLink" title="External Link">src/java/org/dom4j/xpp/ProxyXmlStartTag.java</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/test/org/dom4j/XMLWriterTest.java" class="externalLink" title="External Link">src/test/org/dom4j/XMLWriterTest.java</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/src/test/org/dom4j/XPathExamplesTest.java" class="externalLink" title="External Link">src/test/org/dom4j/XPathExamplesTest.java</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/xml/test/xpath/tests.xml" class="externalLink" title="External Link">xml/test/xpath/tests.xml</a>
+          </td><td>1</td></tr></table></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/goals.html b/docs/goals.html
new file mode 100644
index 0000000..366df3d
--- /dev/null
+++ b/docs/goals.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Design Goals</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="James Strachan"></meta><meta name="email" content="jstrachan at apache.org"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://source [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><strong><a href=" [...]
+        and intuitive for a Java programmer.
+        We want to take the best features from DOM and SAX and put them 
+        together into a new unified API which is optimised the for the Java 
+        platform.
+      </p></div><div class="section"><a name="Standards_compliant"></a><h2>Standards compliant</h2><p>We want to fully support DOM and SAX together with existing 
+        Java platform standards such as the Java 2 Collections and J2EE.
+      </p></div><div class="section"><a name="Complete_XPath_integration"></a><h2>Complete XPath integration</h2><p>We want complete XPath support integrated into the API and for it to 
+        be very easy to use. XPath is the ideal technology for navigating 
+        around XML documents simply and easily without writing lines and lines 
+        of code.
+      </p></div><div class="section"><a name="Flexible_implementations"></a><h2>Flexible implementations</h2><p>We want to be able to support very flexible, performant and 
+        memory efficient implementations of XML documents.
+        So we want the API to be based on Java interfaces just like the Java 2 
+        Collections framework.
+      </p><p>Just as no single List implementation will suffice (the JDK comes 
+        with at least 3) we believe we need a framework allowing plug and play 
+        XML document implementations. 
+        For some users, using a LinkedList performs better than an ArrayList
+        because their usage characteristics differ. 
+        Others like to use a Vector as it is synchronized. 
+        We believe an XML model should have the same flexibility.
+      </p></div><div class="section"><a name="Handle_very_large_documents"></a><h2>Handle very large documents</h2><p>One of the primary goals of <i>dom4j</i> is to be a flexible XML
+        framework for Java which supports most users needs whether that be
+        fast and efficient parsing with small memory overhead, processing 
+        very large documents or using the latest XML features such as XPath, 
+        XSLT and XML Query.
+      </p><p>We found that we often needed to move from DOM to SAX to 
+        handle very large documents or to move from SAX to DOM to handle 
+        complex documents.
+        Our aim is for <i>dom4j</i> to be the only framework you really need 
+        on the Java platform and for it to be a good citizen supporting and 
+        integrating with existing standards fully.
+      </p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/guide.html b/docs/guide.html
new file mode 100644
index 0000000..f8fb7b7
--- /dev/null
+++ b/docs/guide.html
@@ -0,0 +1,226 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Quick Start Guide</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="James Strachan"></meta><meta name="email" content="jstrachan at apache.org"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://source [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><strong><a href="guide.html">Quick start</a></strong></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"> [...]
+        XML document of some kind. This is easy to do in <i>dom4j</i>.
+        The following code demonstrates how to this.
+      </p><pre>
+import java.net.URL;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+
+public class Foo {
+
+    public Document parse(URL url) throws DocumentException {
+        SAXReader reader = new SAXReader();
+        Document document = reader.read(url);
+        return document;
+    }
+}
+</pre></div><div class="section"><a name="Using_Iterators"></a><h2>Using Iterators</h2><p>A document can be navigated using a variety of methods that return
+        standard Java Iterators. For example
+      </p><pre>
+    public void bar(Document document) throws DocumentException {
+
+        Element root = document.getRootElement();
+
+        // iterate through child elements of root
+        for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
+            Element element = (Element) i.next();
+            // do something
+        }
+
+        // iterate through child elements of root with element name "foo"
+        for ( Iterator i = root.elementIterator( "foo" ); i.hasNext(); ) {
+            Element foo = (Element) i.next();
+            // do something
+        }
+
+        // iterate through attributes of root 
+        for ( Iterator i = root.attributeIterator(); i.hasNext(); ) {
+            Attribute attribute = (Attribute) i.next();
+            // do something
+        }
+     }
+</pre></div><div class="section"><a name="Powerful_Navigation_with_XPath"></a><h2>Powerful Navigation with XPath</h2><p>In <i>dom4j</i> XPath expressions can be evaluated on the Document 
+        or on any Node in the tree (such as Attribute, Element or 
+        ProcessingInstruction).
+        This allows complex navigation throughout the document with a single 
+        line of code. For example.
+      </p><pre>
+    public void bar(Document document) {
+        List list = document.selectNodes( "//foo/bar" );
+
+        Node node = document.selectSingleNode( "//foo/bar/author" );
+
+        String name = node.valueOf( "@name" );
+    }
+</pre><p>For example if you wish to find all the hypertext links in an XHTML document
+        the following code would do the trick.
+      </p><pre>
+    public void findLinks(Document document) throws DocumentException {
+
+        List list = document.selectNodes( "//a/@href" );
+
+        for (Iterator iter = list.iterator(); iter.hasNext(); ) {
+            Attribute attribute = (Attribute) iter.next();
+            String url = attribute.getValue();
+        }
+    }
+</pre><p>If you need any help learning the XPath language we highly recommend
+        the <a href="http://www.zvon.org/xxl/XPathTutorial/General/examples.html" class="externalLink" title="External Link">Zvon tutorial</a> 
+        which allows you to learn by example.
+      </p></div><div class="section"><a name="Fast_Looping"></a><h2>Fast Looping</h2><p>If you ever have to walk a large XML document tree
+        then for performance we recommend you use the fast 
+        looping method which avoids the cost of creating
+        an Iterator object for each loop. For example
+      </p><pre>
+    public void treeWalk(Document document) {
+        treeWalk( document.getRootElement() );
+    }
+
+    public void treeWalk(Element element) {
+        for ( int i = 0, size = element.nodeCount(); i < size; i++ ) {
+            Node node = element.node(i);
+            if ( node instanceof Element ) {
+                treeWalk( (Element) node );
+            }
+            else {
+                // do something....
+            }
+        }
+    }
+</pre></div><div class="section"><a name="Creating_a_new_XML_document"></a><h2>Creating a new XML document</h2><p>Often in <i>dom4j</i> you will need to create a new document
+        from scratch. Here's an example of doing that.
+      </p><pre>
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+public class Foo {
+
+    public Document createDocument() {
+        Document document = DocumentHelper.createDocument();
+        Element root = document.addElement( "root" );
+
+        Element author1 = root.addElement( "author" )
+            .addAttribute( "name", "James" )
+            .addAttribute( "location", "UK" )
+            .addText( "James Strachan" );
+        
+        Element author2 = root.addElement( "author" )
+            .addAttribute( "name", "Bob" )
+            .addAttribute( "location", "US" )
+            .addText( "Bob McWhirter" );
+
+        return document;
+    }
+}
+</pre></div><div class="section"><a name="Writing_a_document_to_a_file"></a><h2>Writing a document to a file</h2><p>A quick and easy way to write a Document (or any Node) to a Writer
+       is via the write() method.
+      </p><pre>
+  FileWriter out = new FileWriter( "foo.xml" );
+  document.write( out );
+</pre><p>If you want to be able to change the format of the output, such as pretty
+        printing or a compact format, or you want to be able to work with
+        Writer objects or OutputStream objects as the destination, then you can use the XMLWriter class.
+      </p><pre>
+import org.dom4j.Document;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+public class Foo {
+
+    public void write(Document document) throws IOException {
+
+        // lets write to a file
+        XMLWriter writer = new XMLWriter(
+            new FileWriter( "output.xml" )
+        );
+        writer.write( document );
+        writer.close();
+
+
+        // Pretty print the document to System.out
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        writer = new XMLWriter( System.out, format );
+        writer.write( document );
+
+        // Compact format to System.out
+        format = OutputFormat.createCompactFormat();
+        writer = new XMLWriter( System.out, format );
+        writer.write( document );
+    }
+}
+</pre></div><div class="section"><a name="Converting_to_and_from_Strings"></a><h2>Converting to and from Strings</h2><p>If you have a reference to a Document or any other Node such as an 
+        Attribute or Element, you can turn it into the default XML text
+        via the asXML() method.
+      </p><pre>
+        Document document = ...;
+        String text = document.asXML();
+</pre><p>If you have some XML as a String you can parse it
+        back into a Document again using the helper method 
+        DocumentHelper.parseText()
+      </p><pre>
+        String text = "<person> <name>James</name> </person>";
+        Document document = DocumentHelper.parseText(text);
+</pre></div><div class="section"><a name="Styling_a_Document_with_XSLT"></a><h2>Styling a Document with XSLT</h2><p>Applying XSLT on a Document is quite straightforward using the 
+        <a href="http://java.sun.com/xml/" class="externalLink" title="External Link">JAXP</a> API from Sun. 
+        This allows you to work against any XSLT engine such as Xalan or SAXON.
+        Here is an example of using JAXP to create a transformer and then 
+        applying it to a Document.
+      </p><pre>
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+
+import org.dom4j.Document;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+
+public class Foo {
+
+    public Document styleDocument(
+        Document document, 
+        String stylesheet
+    ) throws Exception {
+
+        // load the transformer using JAXP
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer( 
+            new StreamSource( stylesheet ) 
+        );
+
+        // now lets style the given document
+        DocumentSource source = new DocumentSource( document );
+        DocumentResult result = new DocumentResult();
+        transformer.transform( source, result );
+
+        // return the transformed document
+        Document transformedDoc = result.getDocument();
+        return transformedDoc;
+    }
+}
+</pre></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/images/add.gif b/docs/images/add.gif
new file mode 100644
index 0000000..ac0bdcc
Binary files /dev/null and b/docs/images/add.gif differ
diff --git a/docs/images/collapsed.gif b/docs/images/collapsed.gif
new file mode 100644
index 0000000..6e71084
Binary files /dev/null and b/docs/images/collapsed.gif differ
diff --git a/docs/images/expanded.gif b/docs/images/expanded.gif
new file mode 100644
index 0000000..0fef3d8
Binary files /dev/null and b/docs/images/expanded.gif differ
diff --git a/docs/images/external-classic.png b/docs/images/external-classic.png
new file mode 100644
index 0000000..09a5425
Binary files /dev/null and b/docs/images/external-classic.png differ
diff --git a/docs/images/external.png b/docs/images/external.png
new file mode 100644
index 0000000..3f999fc
Binary files /dev/null and b/docs/images/external.png differ
diff --git a/docs/images/file.gif b/docs/images/file.gif
new file mode 100644
index 0000000..72c13cc
Binary files /dev/null and b/docs/images/file.gif differ
diff --git a/docs/images/fix.gif b/docs/images/fix.gif
new file mode 100644
index 0000000..2585f13
Binary files /dev/null and b/docs/images/fix.gif differ
diff --git a/docs/images/folder-closed.gif b/docs/images/folder-closed.gif
new file mode 100644
index 0000000..2baed62
Binary files /dev/null and b/docs/images/folder-closed.gif differ
diff --git a/docs/images/folder-open.gif b/docs/images/folder-open.gif
new file mode 100644
index 0000000..3955d19
Binary files /dev/null and b/docs/images/folder-open.gif differ
diff --git a/docs/images/help_logo.gif b/docs/images/help_logo.gif
new file mode 100644
index 0000000..cc25c03
Binary files /dev/null and b/docs/images/help_logo.gif differ
diff --git a/docs/images/icon_alert.gif b/docs/images/icon_alert.gif
new file mode 100644
index 0000000..4968bca
Binary files /dev/null and b/docs/images/icon_alert.gif differ
diff --git a/docs/images/icon_alertsml.gif b/docs/images/icon_alertsml.gif
new file mode 100644
index 0000000..641308d
Binary files /dev/null and b/docs/images/icon_alertsml.gif differ
diff --git a/docs/images/icon_arrowfolder1_sml.gif b/docs/images/icon_arrowfolder1_sml.gif
new file mode 100644
index 0000000..89408af
Binary files /dev/null and b/docs/images/icon_arrowfolder1_sml.gif differ
diff --git a/docs/images/icon_arrowfolder2_sml.gif b/docs/images/icon_arrowfolder2_sml.gif
new file mode 100644
index 0000000..d9e7e1c
Binary files /dev/null and b/docs/images/icon_arrowfolder2_sml.gif differ
diff --git a/docs/images/icon_arrowfolderclosed1_sml.gif b/docs/images/icon_arrowfolderclosed1_sml.gif
new file mode 100644
index 0000000..c48e8b6
Binary files /dev/null and b/docs/images/icon_arrowfolderclosed1_sml.gif differ
diff --git a/docs/images/icon_arrowfolderopen2_sml.gif b/docs/images/icon_arrowfolderopen2_sml.gif
new file mode 100644
index 0000000..477e327
Binary files /dev/null and b/docs/images/icon_arrowfolderopen2_sml.gif differ
diff --git a/docs/images/icon_arrowmembers1_sml.gif b/docs/images/icon_arrowmembers1_sml.gif
new file mode 100644
index 0000000..b4dea83
Binary files /dev/null and b/docs/images/icon_arrowmembers1_sml.gif differ
diff --git a/docs/images/icon_arrowmembers2_sml.gif b/docs/images/icon_arrowmembers2_sml.gif
new file mode 100644
index 0000000..0e74357
Binary files /dev/null and b/docs/images/icon_arrowmembers2_sml.gif differ
diff --git a/docs/images/icon_arrowusergroups1_sml.gif b/docs/images/icon_arrowusergroups1_sml.gif
new file mode 100644
index 0000000..5177959
Binary files /dev/null and b/docs/images/icon_arrowusergroups1_sml.gif differ
diff --git a/docs/images/icon_arrowusergroups2_sml.gif b/docs/images/icon_arrowusergroups2_sml.gif
new file mode 100644
index 0000000..574bb45
Binary files /dev/null and b/docs/images/icon_arrowusergroups2_sml.gif differ
diff --git a/docs/images/icon_arrowwaste1_sml.gif b/docs/images/icon_arrowwaste1_sml.gif
new file mode 100644
index 0000000..25d75f7
Binary files /dev/null and b/docs/images/icon_arrowwaste1_sml.gif differ
diff --git a/docs/images/icon_arrowwaste2_sml.gif b/docs/images/icon_arrowwaste2_sml.gif
new file mode 100644
index 0000000..54dbf42
Binary files /dev/null and b/docs/images/icon_arrowwaste2_sml.gif differ
diff --git a/docs/images/icon_confirmsml.gif b/docs/images/icon_confirmsml.gif
new file mode 100644
index 0000000..ca3c810
Binary files /dev/null and b/docs/images/icon_confirmsml.gif differ
diff --git a/docs/images/icon_doc_lrg.gif b/docs/images/icon_doc_lrg.gif
new file mode 100644
index 0000000..b458267
Binary files /dev/null and b/docs/images/icon_doc_lrg.gif differ
diff --git a/docs/images/icon_doc_sml.gif b/docs/images/icon_doc_sml.gif
new file mode 100644
index 0000000..239bfaa
Binary files /dev/null and b/docs/images/icon_doc_sml.gif differ
diff --git a/docs/images/icon_error_lrg.gif b/docs/images/icon_error_lrg.gif
new file mode 100644
index 0000000..fccffd1
Binary files /dev/null and b/docs/images/icon_error_lrg.gif differ
diff --git a/docs/images/icon_error_sml.gif b/docs/images/icon_error_sml.gif
new file mode 100644
index 0000000..61132ef
Binary files /dev/null and b/docs/images/icon_error_sml.gif differ
diff --git a/docs/images/icon_folder_lrg.gif b/docs/images/icon_folder_lrg.gif
new file mode 100644
index 0000000..3683e75
Binary files /dev/null and b/docs/images/icon_folder_lrg.gif differ
diff --git a/docs/images/icon_folder_sml.gif b/docs/images/icon_folder_sml.gif
new file mode 100644
index 0000000..8e26f89
Binary files /dev/null and b/docs/images/icon_folder_sml.gif differ
diff --git a/docs/images/icon_help_lrg.gif b/docs/images/icon_help_lrg.gif
new file mode 100644
index 0000000..c216295
Binary files /dev/null and b/docs/images/icon_help_lrg.gif differ
diff --git a/docs/images/icon_help_sml.gif b/docs/images/icon_help_sml.gif
new file mode 100644
index 0000000..43bfd56
Binary files /dev/null and b/docs/images/icon_help_sml.gif differ
diff --git a/docs/images/icon_info_lrg.gif b/docs/images/icon_info_lrg.gif
new file mode 100644
index 0000000..b390fd4
Binary files /dev/null and b/docs/images/icon_info_lrg.gif differ
diff --git a/docs/images/icon_info_sml.gif b/docs/images/icon_info_sml.gif
new file mode 100644
index 0000000..c6cb9ad
Binary files /dev/null and b/docs/images/icon_info_sml.gif differ
diff --git a/docs/images/icon_infosml.gif b/docs/images/icon_infosml.gif
new file mode 100644
index 0000000..1aa2d30
Binary files /dev/null and b/docs/images/icon_infosml.gif differ
diff --git a/docs/images/icon_members_lrg.gif b/docs/images/icon_members_lrg.gif
new file mode 100644
index 0000000..7ba2df6
Binary files /dev/null and b/docs/images/icon_members_lrg.gif differ
diff --git a/docs/images/icon_members_sml.gif b/docs/images/icon_members_sml.gif
new file mode 100644
index 0000000..997e699
Binary files /dev/null and b/docs/images/icon_members_sml.gif differ
diff --git a/docs/images/icon_sortdown.gif b/docs/images/icon_sortdown.gif
new file mode 100644
index 0000000..9561bbe
Binary files /dev/null and b/docs/images/icon_sortdown.gif differ
diff --git a/docs/images/icon_sortleft.gif b/docs/images/icon_sortleft.gif
new file mode 100644
index 0000000..4fd21e8
Binary files /dev/null and b/docs/images/icon_sortleft.gif differ
diff --git a/docs/images/icon_sortright.gif b/docs/images/icon_sortright.gif
new file mode 100644
index 0000000..ea8076e
Binary files /dev/null and b/docs/images/icon_sortright.gif differ
diff --git a/docs/images/icon_sortup.gif b/docs/images/icon_sortup.gif
new file mode 100644
index 0000000..61942d6
Binary files /dev/null and b/docs/images/icon_sortup.gif differ
diff --git a/docs/images/icon_success_lrg.gif b/docs/images/icon_success_lrg.gif
new file mode 100644
index 0000000..9af317d
Binary files /dev/null and b/docs/images/icon_success_lrg.gif differ
diff --git a/docs/images/icon_success_sml.gif b/docs/images/icon_success_sml.gif
new file mode 100644
index 0000000..52e85a4
Binary files /dev/null and b/docs/images/icon_success_sml.gif differ
diff --git a/docs/images/icon_usergroups_lrg.gif b/docs/images/icon_usergroups_lrg.gif
new file mode 100644
index 0000000..3a4e356
Binary files /dev/null and b/docs/images/icon_usergroups_lrg.gif differ
diff --git a/docs/images/icon_usergroups_sml.gif b/docs/images/icon_usergroups_sml.gif
new file mode 100644
index 0000000..9236101
Binary files /dev/null and b/docs/images/icon_usergroups_sml.gif differ
diff --git a/docs/images/icon_warning_lrg.gif b/docs/images/icon_warning_lrg.gif
new file mode 100644
index 0000000..83359d8
Binary files /dev/null and b/docs/images/icon_warning_lrg.gif differ
diff --git a/docs/images/icon_warning_sml.gif b/docs/images/icon_warning_sml.gif
new file mode 100644
index 0000000..873bbb5
Binary files /dev/null and b/docs/images/icon_warning_sml.gif differ
diff --git a/docs/images/icon_waste_lrg.gif b/docs/images/icon_waste_lrg.gif
new file mode 100644
index 0000000..e5434aa
Binary files /dev/null and b/docs/images/icon_waste_lrg.gif differ
diff --git a/docs/images/icon_waste_sml.gif b/docs/images/icon_waste_sml.gif
new file mode 100644
index 0000000..6dd046d
Binary files /dev/null and b/docs/images/icon_waste_sml.gif differ
diff --git a/docs/images/logo.gif b/docs/images/logo.gif
new file mode 100644
index 0000000..14a71fe
Binary files /dev/null and b/docs/images/logo.gif differ
diff --git a/docs/images/logos/maven-bolt.png b/docs/images/logos/maven-bolt.png
new file mode 100644
index 0000000..d6e8fb7
Binary files /dev/null and b/docs/images/logos/maven-bolt.png differ
diff --git a/docs/images/logos/maven-brewed.png b/docs/images/logos/maven-brewed.png
new file mode 100644
index 0000000..34f81c9
Binary files /dev/null and b/docs/images/logos/maven-brewed.png differ
diff --git a/docs/images/logos/maven-build-successfull.png b/docs/images/logos/maven-build-successfull.png
new file mode 100644
index 0000000..988846f
Binary files /dev/null and b/docs/images/logos/maven-build-successfull.png differ
diff --git a/docs/images/logos/maven-built.png b/docs/images/logos/maven-built.png
new file mode 100644
index 0000000..ad0442a
Binary files /dev/null and b/docs/images/logos/maven-built.png differ
diff --git a/docs/images/logos/maven-bulldozer.png b/docs/images/logos/maven-bulldozer.png
new file mode 100644
index 0000000..d36f9c1
Binary files /dev/null and b/docs/images/logos/maven-bulldozer.png differ
diff --git a/docs/images/logos/maven-button-1.png b/docs/images/logos/maven-button-1.png
new file mode 100644
index 0000000..bccee1a
Binary files /dev/null and b/docs/images/logos/maven-button-1.png differ
diff --git a/docs/images/logos/maven-button-2.png b/docs/images/logos/maven-button-2.png
new file mode 100644
index 0000000..d8a8c18
Binary files /dev/null and b/docs/images/logos/maven-button-2.png differ
diff --git a/docs/images/logos/maven-button-3.png b/docs/images/logos/maven-button-3.png
new file mode 100644
index 0000000..d3a98d0
Binary files /dev/null and b/docs/images/logos/maven-button-3.png differ
diff --git a/docs/images/logos/maven-button-4.png b/docs/images/logos/maven-button-4.png
new file mode 100644
index 0000000..2ccbb37
Binary files /dev/null and b/docs/images/logos/maven-button-4.png differ
diff --git a/docs/images/logos/maven-button-5.png b/docs/images/logos/maven-button-5.png
new file mode 100644
index 0000000..a49903a
Binary files /dev/null and b/docs/images/logos/maven-button-5.png differ
diff --git a/docs/images/logos/maven-button-black.png b/docs/images/logos/maven-button-black.png
new file mode 100644
index 0000000..1ffee8b
Binary files /dev/null and b/docs/images/logos/maven-button-black.png differ
diff --git a/docs/images/logos/maven-button-blue.png b/docs/images/logos/maven-button-blue.png
new file mode 100644
index 0000000..1434c87
Binary files /dev/null and b/docs/images/logos/maven-button-blue.png differ
diff --git a/docs/images/logos/maven-button-copper.png b/docs/images/logos/maven-button-copper.png
new file mode 100644
index 0000000..2f1e487
Binary files /dev/null and b/docs/images/logos/maven-button-copper.png differ
diff --git a/docs/images/logos/maven-button-green.png b/docs/images/logos/maven-button-green.png
new file mode 100644
index 0000000..b3d94cc
Binary files /dev/null and b/docs/images/logos/maven-button-green.png differ
diff --git a/docs/images/logos/maven-button-pinky.png b/docs/images/logos/maven-button-pinky.png
new file mode 100644
index 0000000..0c96882
Binary files /dev/null and b/docs/images/logos/maven-button-pinky.png differ
diff --git a/docs/images/logos/maven-button-purple.png b/docs/images/logos/maven-button-purple.png
new file mode 100644
index 0000000..a4912bd
Binary files /dev/null and b/docs/images/logos/maven-button-purple.png differ
diff --git a/docs/images/logos/maven-button-teal.png b/docs/images/logos/maven-button-teal.png
new file mode 100644
index 0000000..b7f9bb7
Binary files /dev/null and b/docs/images/logos/maven-button-teal.png differ
diff --git a/docs/images/logos/maven-feather.png b/docs/images/logos/maven-feather.png
new file mode 100644
index 0000000..5beac16
Binary files /dev/null and b/docs/images/logos/maven-feather.png differ
diff --git a/docs/images/logos/maven-frankenstein.png b/docs/images/logos/maven-frankenstein.png
new file mode 100644
index 0000000..d9e3ade
Binary files /dev/null and b/docs/images/logos/maven-frankenstein.png differ
diff --git a/docs/images/logos/maven-mavenfactured.png b/docs/images/logos/maven-mavenfactured.png
new file mode 100644
index 0000000..741cb4c
Binary files /dev/null and b/docs/images/logos/maven-mavenfactured.png differ
diff --git a/docs/images/logos/maven-petesucks.png b/docs/images/logos/maven-petesucks.png
new file mode 100644
index 0000000..411f5b0
Binary files /dev/null and b/docs/images/logos/maven-petesucks.png differ
diff --git a/docs/images/logos/maven-propaganda-2.png b/docs/images/logos/maven-propaganda-2.png
new file mode 100644
index 0000000..61d97cf
Binary files /dev/null and b/docs/images/logos/maven-propaganda-2.png differ
diff --git a/docs/images/logos/maven-propaganda.png b/docs/images/logos/maven-propaganda.png
new file mode 100644
index 0000000..2caca65
Binary files /dev/null and b/docs/images/logos/maven-propaganda.png differ
diff --git a/docs/images/logos/maven-redgreen.png b/docs/images/logos/maven-redgreen.png
new file mode 100644
index 0000000..92dd644
Binary files /dev/null and b/docs/images/logos/maven-redgreen.png differ
diff --git a/docs/images/newwindow-classic.png b/docs/images/newwindow-classic.png
new file mode 100644
index 0000000..5987117
Binary files /dev/null and b/docs/images/newwindow-classic.png differ
diff --git a/docs/images/newwindow.png b/docs/images/newwindow.png
new file mode 100644
index 0000000..6287f72
Binary files /dev/null and b/docs/images/newwindow.png differ
diff --git a/docs/images/none.png b/docs/images/none.png
new file mode 100644
index 0000000..fef6d18
Binary files /dev/null and b/docs/images/none.png differ
diff --git a/docs/images/nw_maj.gif b/docs/images/nw_maj.gif
new file mode 100644
index 0000000..452296b
Binary files /dev/null and b/docs/images/nw_maj.gif differ
diff --git a/docs/images/nw_maj_hi.gif b/docs/images/nw_maj_hi.gif
new file mode 100644
index 0000000..54c3933
Binary files /dev/null and b/docs/images/nw_maj_hi.gif differ
diff --git a/docs/images/nw_maj_rond.gif b/docs/images/nw_maj_rond.gif
new file mode 100644
index 0000000..add42a4
Binary files /dev/null and b/docs/images/nw_maj_rond.gif differ
diff --git a/docs/images/nw_med.gif b/docs/images/nw_med.gif
new file mode 100644
index 0000000..d2b6d91
Binary files /dev/null and b/docs/images/nw_med.gif differ
diff --git a/docs/images/nw_med_hi.gif b/docs/images/nw_med_hi.gif
new file mode 100644
index 0000000..0c2db4c
Binary files /dev/null and b/docs/images/nw_med_hi.gif differ
diff --git a/docs/images/nw_med_rond.gif b/docs/images/nw_med_rond.gif
new file mode 100644
index 0000000..8aaa564
Binary files /dev/null and b/docs/images/nw_med_rond.gif differ
diff --git a/docs/images/nw_min.gif b/docs/images/nw_min.gif
new file mode 100644
index 0000000..bf4bc75
Binary files /dev/null and b/docs/images/nw_min.gif differ
diff --git a/docs/images/nw_min_036.gif b/docs/images/nw_min_036.gif
new file mode 100644
index 0000000..eb344a8
Binary files /dev/null and b/docs/images/nw_min_036.gif differ
diff --git a/docs/images/nw_min_hi.gif b/docs/images/nw_min_hi.gif
new file mode 100644
index 0000000..a8a30ab
Binary files /dev/null and b/docs/images/nw_min_hi.gif differ
diff --git a/docs/images/pdf.gif b/docs/images/pdf.gif
new file mode 100644
index 0000000..7bce338
Binary files /dev/null and b/docs/images/pdf.gif differ
diff --git a/docs/images/poweredby_036.gif b/docs/images/poweredby_036.gif
new file mode 100644
index 0000000..49d0345
Binary files /dev/null and b/docs/images/poweredby_036.gif differ
diff --git a/docs/images/product_logo.gif b/docs/images/product_logo.gif
new file mode 100644
index 0000000..327b838
Binary files /dev/null and b/docs/images/product_logo.gif differ
diff --git a/docs/images/remove.gif b/docs/images/remove.gif
new file mode 100644
index 0000000..ad4b238
Binary files /dev/null and b/docs/images/remove.gif differ
diff --git a/docs/images/rss.png b/docs/images/rss.png
new file mode 100644
index 0000000..d2b5af4
Binary files /dev/null and b/docs/images/rss.png differ
diff --git a/docs/images/se_maj_rond.gif b/docs/images/se_maj_rond.gif
new file mode 100644
index 0000000..da2510e
Binary files /dev/null and b/docs/images/se_maj_rond.gif differ
diff --git a/docs/images/strich.gif b/docs/images/strich.gif
new file mode 100644
index 0000000..a33e79d
Binary files /dev/null and b/docs/images/strich.gif differ
diff --git a/docs/images/sw_maj_rond.gif b/docs/images/sw_maj_rond.gif
new file mode 100644
index 0000000..110bdf4
Binary files /dev/null and b/docs/images/sw_maj_rond.gif differ
diff --git a/docs/images/sw_med_rond.gif b/docs/images/sw_med_rond.gif
new file mode 100644
index 0000000..6671c3d
Binary files /dev/null and b/docs/images/sw_med_rond.gif differ
diff --git a/docs/images/sw_min.gif b/docs/images/sw_min.gif
new file mode 100644
index 0000000..d96369d
Binary files /dev/null and b/docs/images/sw_min.gif differ
diff --git a/docs/images/update.gif b/docs/images/update.gif
new file mode 100644
index 0000000..71ca225
Binary files /dev/null and b/docs/images/update.gif differ
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..603fe3e
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - dom4j: the flexible XML framework for Java</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="James Strachan"></meta><meta name="email" content="jstrachan at apache.org"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://source [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><strong><a href="index.html">Home</a></strong></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"> [...]
+      <i>dom4j</i> is an easy to use, open source library for working with XML, XPath and
+      XSLT on the Java platform using the Java Collections Framework and with full
+      support for DOM, SAX and JAXP.
+      </p></div><div class="section"><a name="News"></a><h2>News</h2><ul>
+        <li>dom4j 1.6.1 has been relased! This is a bugfix relase. Take a look at the <a href="changes-report.html">changelog</a> to see what has changed.</li>
+        <li>dom4j 1.6 has been released! Take a look at the <a href="changes-report.html">changelog</a> to see what has changed.</li>
+        <li><a href="http://www.jetbrains.com/" class="externalLink" title="External Link">JetBrains</a> was so kind to provide an open-source license of its famous 
+            <a href="http://www.jetbrains.com/idea/index.html" class="externalLink" title="External Link">IntelliJ IDEA</a> product.</li>
+        <li>The internal Aelfred2 parser has been removed from the dom4j codebase due to an incompatible license. You can download a version
+            of dom4j without Aelfred2 from the downloads page.</li>
+        <li>A maintenance relase of dom4j is available. Click <a href="changes-report.html">here</a> to see what has changed in dom4j 1.5.1.</li>
+        <li>dom4j 1.5 is finally released! A list of changes can be found <a href="changes-report.html">here</a>.</li>
+        <li>dom4j now has an open source license for the use of <a href="http://www.cenqua.com/clover/" class="externalLink" title="External Link">Clover</a></li>
+        <li><a href="http://www.refactorit.com" class="externalLink" title="External Link">RefactorIT</a> has added dom4j to it's list of featured open source projects. This means that all 
+          the power of RefactorIT is available for the dom4j sources.
+        </li> 
+        <li>The new <a href="status.html">dom4j 1.4</a> release is finally out featuring numerous bug fixes and patches.
+        </li>
+        <li>Check out these new <a href="benchmarks/xpath/index.html">Performance Benchmarks</a> comparing dom4j and Jaxen against Xerces and Xalan. 
+        </li>
+        <li>The new <a href="status.html">dom4j 1.3</a> release is out featuring numerous bug fixes and patches.
+        </li>
+        <li>Check out Dennis Sosnoski's new <a href="http://www-106.ibm.com/developerworks/library/x-injava2/" class="externalLink" title="External Link">article</a> for IBM comparing various XML object models - its good stuff.
+        </li>
+        <li>The new <a href="status.html">dom4j 1.2</a> release is out featuring improved whitespace handling 
+          for more efficient parsing, a new Swing TableModel for displaying XML data in Swing and numerous bug fixes and patches.
+        </li>
+        <li>The <a href="http://jakarta.apache.org/velocity/index.html" class="externalLink" title="External Link">Velocity</a> projects new 
+          <a ref="http://jakarta.apache.org/velocity/dvsl/index.html">DVSL</a> technology uses dom4j.
+        </li>
+        <li>Interesting <a href="http://www.xml.com/pub/a/2001/11/14/dom-sax.html?page=2" class="externalLink" title="External Link">article</a>
+          outlining the social dominance of DOM and SAX and the importance of XPath. 
+        </li>
+        <li>The new <a href="status.html">dom4j 1.1</a> release is out featuring support for DTD declarations and
+          numerous bug fixes and patches.
+        </li>
+        <li>Read the latest performance <a href="http://www-106.ibm.com/developerworks/xml/library/x-injava/index.html" class="externalLink" title="External Link">benchmarks</a> 
+          on IBM's site comparing dom4j against all the other XML document models.
+        </li>
+        <li>The new <a href="status.html">dom4j 1.0</a> release is out featuring better SAX and <a href="http://jaxen.org" class="externalLink" title="External Link">Jaxen</a> support,
+          some performance tuning and numerous patches.
+        </li>
+        <li>Sun's reference implementation of <a href="http://developer.java.sun.com/developer/earlyAccess/xml/jaxm/" class="externalLink" title="External Link">JAXM</a>
+          (Java API for XML Messaging) is based on dom4j!
+        </li>
+        <li>The new <a href="status.html">dom4j 0.9</a> release is out featuring full <a href="http://jaxen.codehaus.org" class="externalLink" title="External Link">Jaxen</a> support!
+        </li>
+        <li>Toby's <a href="cookbook.html">cookbook</a> is now online!
+        </li>
+        <li>Updated the quick start <a href="guide.html">guide</a>
+        </li>
+      </ul></div><div class="section"><a name="Features"></a><h2>Features</h2><ul>
+        <li>designed for the Java platform with full support for the
+        <a href="http://java.sun.com/products/jdk/1.2/docs/guide/collections/index.html" class="externalLink" title="External Link">Java Collections Framework</a>
+        (Java 2 Collections)</li>
+        <li>full support for 
+        <a href="http://java.sun.com/xml/xml_jaxp.html" class="externalLink" title="External Link">JAXP</a>, 
+        <a href="http://java.sun.com/xml/xml_jaxp.html" class="externalLink" title="External Link">TrAX</a>, 
+        <a href="http://www.saxproject.org/" class="externalLink" title="External Link">SAX</a>, 
+        <a href="http://www.w3.org/DOM/" class="externalLink" title="External Link">DOM</a>, 
+        and <a href="http://www.w3.org/TR/xslt.html" class="externalLink" title="External Link">XSLT</a>        
+        </li>
+        <li>fully integrated 
+        <a href="http://www.w3.org/TR/xpath.html" class="externalLink" title="External Link">XPath</a> 
+        support for easy navigation of XML documents
+        </li>
+        <li>event based proccessing mode to support for massive documents or XML streams
+        </li>
+        <li>based on Java interfaces for flexible plug and play implementations.
+        </li>
+        <li>support for 
+         <a href="http://www.w3.org/TR/xmlschema-2/" class="externalLink" title="External Link">XML Schema Data Type</a>
+         support using Kohsuke Kawaguchi's excellent
+         <a href="http://www.sun.com/software/xml/developers/multischema/" class="externalLink" title="External Link">Multi Schema Validator</a> library
+        </li>
+      </ul></div><div class="section"><a name="Getting_Started"></a><h2>Getting Started</h2><p>You can download the current release 
+        or a snapshot build via the <a href="download.html">download page</a>.</p><p>For a quick overview of <i>dom4j</i> and how to use it try the reading the
+        <a href="guide.html">quick start guide</a> or browsing the
+        <a href="faq.html">FAQ</a> or the online 
+        <a href="apidocs/index.html">JavaDoc</a>.
+      </p><p>To see how <i>dom4j</i> compares to other XML object models you could try
+        reading our <a href="compare.html">comparison</a></p><p>Contributors are welcome to join this project. 
+        Once you've browsed the <a href="faq.html">FAQ</a> you could try
+        sending an email to one of the mailing lists below or check out the
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">project page</a>.</p></div><div class="section"><a name="Useful_Links"></a><h2>Useful Links</h2><p>We really like XPath and if you are working with XML we highly recommend
+        you try to experiment with it. If you need help learning XPath
+        try the excellent
+        <a href="http://www.zvon.org/xxl/XPathTutorial/General/examples.html" class="externalLink" title="External Link">Zvon tutorial</a> 
+        .</p><p>Alternatively you could try Elliotte Rusty Harold's great 
+        <a href="http://www.oreilly.com/catalog/xmlnut/chapter/ch09.html" class="externalLink" title="External Link">XML in a nutshell</a> 
+        .</p><p>Finally you could try reading the 
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath spec</a>.
+      </p></div><div class="section"><a name="Mailing_Lists"></a><h2>Mailing Lists</h2><p>For developers there is an email list at 
+        <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-dev" class="externalLink" title="External Link">
+          dom4j-dev
+        </a> 
+        where you can make requests for new features or changes to the API, 
+        discuss alternate implementation strategies, submit patches or just
+        talk about any relevant topic of the day.
+      </p><p>For <i>dom4j</i> users wanting help using dom4j there is an email list at
+        <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-user" class="externalLink" title="External Link">
+          dom4j-user
+        </a> 
+        where you can share ideas and experiences, ask for help, 
+        give us feedback or discuss your requirements.
+      </p><p>You can browse the archives for here
+        <a href="http://www.geocrawler.com/lists/3/SourceForge/8798/0/" class="externalLink" title="External Link">
+          dom4j-dev
+        </a> 
+        or here
+        <a href="http://www.mail-archive.com/dom4j-dev%40lists.sourceforge.net/" class="externalLink" title="External Link">
+          dom4j-dev
+        </a> 
+        and here
+        <a href="http://www.geocrawler.com/lists/3/SourceForge/8797/0/" class="externalLink" title="External Link">
+          dom4j-user
+        </a>
+        or here
+        <a href="http://www.mail-archive.com/dom4j-user%40lists.sourceforge.net/" class="externalLink" title="External Link">
+          dom4j-user
+        </a>
+      </p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/issue-tracking.html b/docs/issue-tracking.html
new file mode 100644
index 0000000..bcb28a1
--- /dev/null
+++ b/docs/issue-tracking.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Issue Tracking</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+                <a href="http://sourceforge.net/tracker/?group_id=16035" class="externalLink" title="External Link">http://sourceforge.net/tracker/?group_id=16035</a>
+      </p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/javadoc-warnings-report.html b/docs/javadoc-warnings-report.html
new file mode 100644
index 0000000..d8da65b
--- /dev/null
+++ b/docs/javadoc-warnings-report.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - JavaDoc Audit Results</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+            <a href="#org_dom4j_Element_java">org/dom4j/Element.java</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_bean_BeanAttribute_java">org/dom4j/bean/BeanAttribute.java</a>
+          </td><td>2</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_datatype_DatatypeAttribute_java">org/dom4j/datatype/DatatypeAttribute.java</a>
+          </td><td>2</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_io_DOMWriter_java">org/dom4j/io/DOMWriter.java</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_io_DocumentSource_java">org/dom4j/io/DocumentSource.java</a>
+          </td><td>2</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_io_HTMLWriter_java">org/dom4j/io/HTMLWriter.java</a>
+          </td><td>3</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_io_OutputFormat_java">org/dom4j/io/OutputFormat.java</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_io_SAXModifier_java">org/dom4j/io/SAXModifier.java</a>
+          </td><td>3</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_io_STAXEventReader_java">org/dom4j/io/STAXEventReader.java</a>
+          </td><td>6</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_io_STAXEventWriter_java">org/dom4j/io/STAXEventWriter.java</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_jaxb_JAXBReader_java">org/dom4j/jaxb/JAXBReader.java</a>
+          </td><td>1</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_tree_FlyweightEntity_java">org/dom4j/tree/FlyweightEntity.java</a>
+          </td><td>1</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_util_UserDataAttribute_java">org/dom4j/util/UserDataAttribute.java</a>
+          </td><td>3</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_util_UserDataElement_java">org/dom4j/util/UserDataElement.java</a>
+          </td><td>1</td></tr></table><div class="subsection"><a name="org_dom4j_Element_java"></a><h3>org/dom4j/Element.java</h3><table class="bodyTable"><tr class="b"><th>Error</th><th width="75">Line</th></tr><tr class="a"><td>@link#getDocument is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/Element.html#29">29</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_bean_BeanAttribute_java"></a><h3>org/dom4j/bean/BeanAttribute.java</h3><table class="bodyTable"><tr class="b"><th>Error</th><th width="75">Line</th></tr><tr class="a"><td>Tag @link: reference not found: Node#getText()</td><td>
+              <a href="xref/org/dom4j/bean/BeanAttribute.html#53">53</a>
+            </td></tr><tr class="b"><td>Tag @link: reference not found: Node#setText(String)</td><td>
+              <a href="xref/org/dom4j/bean/BeanAttribute.html#57">57</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_datatype_DatatypeAttribute_java"></a><h3>org/dom4j/datatype/DatatypeAttribute.java</h3><table class="bodyTable"><tr class="a"><th>Error</th><th width="75">Line</th></tr><tr class="b"><td>Tag @link: reference not found: Node#getText()</td><td>
+              <a href="xref/org/dom4j/datatype/DatatypeAttribute.html#146">146</a>
+            </td></tr><tr class="a"><td>Tag @link: reference not found: Node#setText(String)</td><td>
+              <a href="xref/org/dom4j/datatype/DatatypeAttribute.html#150">150</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_io_DOMWriter_java"></a><h3>org/dom4j/io/DOMWriter.java</h3><table class="bodyTable"><tr class="b"><th>Error</th><th width="75">Line</th></tr><tr class="a"><td>@linkorg.w3c.dom.Document is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/DOMWriter.html#95">95</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_io_DocumentSource_java"></a><h3>org/dom4j/io/DocumentSource.java</h3><table class="bodyTable"><tr class="b"><th>Error</th><th width="75">Line</th></tr><tr class="a"><td>@linkDocument is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/DocumentSource.html#28">28</a>
+            </td></tr><tr class="b"><td>@linkDocument is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/DocumentSource.html#105">105</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_io_HTMLWriter_java"></a><h3>org/dom4j/io/HTMLWriter.java</h3><table class="bodyTable"><tr class="a"><th>Error</th><th width="75">Line</th></tr><tr class="b"><td>Tag @link: missing #: "OutputFormat.isXHTML() OutputFormat.isXHTML()"</td><td>
+              <a href="xref/org/dom4j/io/HTMLWriter.html#181">181</a>
+            </td></tr><tr class="a"><td>Tag @link: can't find OutputFormat.isXHTML() in org.dom4j.io.HTMLWriter</td><td>
+              <a href="xref/org/dom4j/io/HTMLWriter.html#181">181</a>
+            </td></tr><tr class="b"><td>@link#setPreformattedTags(java.util.Set) is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/HTMLWriter.html#181">181</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_io_OutputFormat_java"></a><h3>org/dom4j/io/OutputFormat.java</h3><table class="bodyTable"><tr class="a"><th>Error</th><th width="75">Line</th></tr><tr class="b"><td>@linkXMLWriter is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/OutputFormat.html#19">19</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_io_SAXModifier_java"></a><h3>org/dom4j/io/SAXModifier.java</h3><table class="bodyTable"><tr class="a"><th>Error</th><th width="75">Line</th></tr><tr class="b"><td>@linkElementModifier is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/SAXModifier.html#117">117</a>
+            </td></tr><tr class="a"><td>@linkElementModifier is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/SAXModifier.html#261">261</a>
+            </td></tr><tr class="b"><td>@linkElementModifier is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/SAXModifier.html#284">284</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_io_STAXEventReader_java"></a><h3>org/dom4j/io/STAXEventReader.java</h3><table class="bodyTable"><tr class="a"><th>Error</th><th width="75">Line</th></tr><tr class="b"><td>@linkStartElement is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/STAXEventReader.html#298">298</a>
+            </td></tr><tr class="a"><td>@linkAttribute is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/STAXEventReader.html#353">353</a>
+            </td></tr><tr class="b"><td>@linkNamespace is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/STAXEventReader.html#380">380</a>
+            </td></tr><tr class="a"><td>@linkCharacters is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/STAXEventReader.html#407">407</a>
+            </td></tr><tr class="b"><td>@linkComment is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/STAXEventReader.html#434">434</a>
+            </td></tr><tr class="a"><td>@linkEntityReference is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/STAXEventReader.html#461">461</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_io_STAXEventWriter_java"></a><h3>org/dom4j/io/STAXEventWriter.java</h3><table class="bodyTable"><tr class="b"><th>Error</th><th width="75">Line</th></tr><tr class="a"><td>@link#writeElement(Element) is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/io/STAXEventWriter.html#169">169</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_jaxb_JAXBReader_java"></a><h3>org/dom4j/jaxb/JAXBReader.java</h3><table class="bodyTable"><tr class="b"><th>Error</th><th width="75">Line</th></tr><tr class="a"><td>@linkorg.dom4j.ElementHandler is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/jaxb/JAXBReader.html#39">39</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_tree_FlyweightEntity_java"></a><h3>org/dom4j/tree/FlyweightEntity.java</h3><table class="bodyTable"><tr class="b"><th>Error</th><th width="75">Line</th></tr><tr class="a"><td>@link#setText is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/tree/FlyweightEntity.html#33">33</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_util_UserDataAttribute_java"></a><h3>org/dom4j/util/UserDataAttribute.java</h3><table class="bodyTable"><tr class="b"><th>Error</th><th width="75">Line</th></tr><tr class="a"><td>@link#getData is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/util/UserDataAttribute.html#25">25</a>
+            </td></tr><tr class="b"><td>Tag @link: reference not found: Node#getText()</td><td>
+              <a href="xref/org/dom4j/util/UserDataAttribute.html#37">37</a>
+            </td></tr><tr class="a"><td>Tag @link: reference not found: Node#setText(String)</td><td>
+              <a href="xref/org/dom4j/util/UserDataAttribute.html#41">41</a>
+            </td></tr></table></div><div class="subsection"><a name="org_dom4j_util_UserDataElement_java"></a><h3>org/dom4j/util/UserDataElement.java</h3><table class="bodyTable"><tr class="b"><th>Error</th><th width="75">Line</th></tr><tr class="a"><td>@link#getData is an unknown tag.</td><td>
+              <a href="xref/org/dom4j/util/UserDataElement.html#26">26</a>
+            </td></tr></table></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/javadoc.html b/docs/javadoc.html
new file mode 100644
index 0000000..dde5fd9
--- /dev/null
+++ b/docs/javadoc.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Javadoc Report</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+    <div class="source"><pre>  Generating Javadoc
+  Javadoc execution
+  Loading source files for package org.dom4j...
+  Loading source files for package org.dom4j.bean...
+  Loading source files for package org.dom4j.datatype...
+  Loading source files for package org.dom4j.dom...
+  Loading source files for package org.dom4j.dtd...
+  Loading source files for package org.dom4j.io...
+  Loading source files for package org.dom4j.jaxb...
+  Loading source files for package org.dom4j.rule...
+  Loading source files for package org.dom4j.rule.pattern...
+  Loading source files for package org.dom4j.swing...
+  Loading source files for package org.dom4j.tree...
+  Loading source files for package org.dom4j.util...
+  Loading source files for package org.dom4j.xpath...
+  Loading source files for package org.dom4j.xpp...
+  Constructing Javadoc information...
+  Standard Doclet version 1.4.2_02
+  Generating C:\Projects\dom4j_1.x_branch\dom4j\target\docs\apidocs\constant-values.html...
+  Copying file C:\Documents and Settings\Maarten\.maven\cache\maven-javadoc-plugin-1.7\plugin-resources\stylesheet.css to file C:\Projects\dom4j_1.x_branch\dom4j\target\docs\apidocs\stylesheet.css...
+  Building tree for all the packages and classes...
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\OutputFormat.java:19: warning - @linkXMLWriter is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\OutputFormat.java:19: warning - @linkXMLWriter is an unknown tag.
+  Building index for all the packages and classes...
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\DocumentSource.java:28: warning - @linkDocument is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\OutputFormat.java:19: warning - @linkXMLWriter is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\DocumentSource.java:105: warning - @linkDocument is an unknown tag.
+  Building index for all classes...
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\DocumentSource.java:28: warning - @linkDocument is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\OutputFormat.java:19: warning - @linkXMLWriter is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\Element.java:29: warning - @link#getDocument is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\Element.java:29: warning - @link#getDocument is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\bean\BeanAttribute.java:53: warning - Tag @link: reference not found: Node#getText()
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\bean\BeanAttribute.java:57: warning - Tag @link: reference not found: Node#setText(String)
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\datatype\DatatypeAttribute.java:146: warning - Tag @link: reference not found: Node#getText()
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\datatype\DatatypeAttribute.java:150: warning - Tag @link: reference not found: Node#setText(String)
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\DocumentSource.java:28: warning - @linkDocument is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\DocumentSource.java:28: warning - @linkDocument is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\DocumentSource.java:105: warning - @linkDocument is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\DocumentSource.java:105: warning - @linkDocument is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\DocumentSource.java:105: warning - @linkDocument is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\DOMWriter.java:95: warning - @linkorg.w3c.dom.Document is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\HTMLWriter.java:181: warning - Tag @link: missing #: "OutputFormat.isXHTML() OutputFormat.isXHTML()"
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\HTMLWriter.java:181: warning - Tag @link: can't find OutputFormat.isXHTML() in org.dom4j.io.HTMLWriter
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\HTMLWriter.java:181: warning - Tag @link: missing #: "OutputFormat.isXHTML() OutputFormat.isXHTML()"
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\HTMLWriter.java:181: warning - Tag @link: can't find OutputFormat.isXHTML() in org.dom4j.io.HTMLWriter
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\HTMLWriter.java:181: warning - @link#setPreformattedTags(java.util.Set) is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\HTMLWriter.java:181: warning - Tag @link: missing #: "OutputFormat.isXHTML() OutputFormat.isXHTML()"
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\HTMLWriter.java:181: warning - Tag @link: can't find OutputFormat.isXHTML() in org.dom4j.io.HTMLWriter
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\HTMLWriter.java:181: warning - @link#setPreformattedTags(java.util.Set) is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\OutputFormat.java:19: warning - @linkXMLWriter is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\OutputFormat.java:19: warning - @linkXMLWriter is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\SAXModifier.java:117: warning - @linkElementModifier is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\SAXModifier.java:117: warning - @linkElementModifier is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\SAXModifier.java:261: warning - @linkElementModifier is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\SAXModifier.java:261: warning - @linkElementModifier is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\SAXModifier.java:284: warning - @linkElementModifier is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\SAXModifier.java:284: warning - @linkElementModifier is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\STAXEventReader.java:298: warning - @linkStartElement is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\STAXEventReader.java:353: warning - @linkAttribute is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\STAXEventReader.java:380: warning - @linkNamespace is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\STAXEventReader.java:407: warning - @linkCharacters is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\STAXEventReader.java:434: warning - @linkComment is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\STAXEventReader.java:461: warning - @linkEntityReference is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\STAXEventWriter.java:169: warning - @link#writeElement(Element) is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\io\STAXEventWriter.java:169: warning - @link#writeElement(Element) is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\jaxb\JAXBReader.java:39: warning - @linkorg.dom4j.ElementHandler is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\jaxb\JAXBReader.java:39: warning - @linkorg.dom4j.ElementHandler is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\tree\FlyweightEntity.java:33: warning - @link#setText is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\tree\FlyweightEntity.java:33: warning - @link#setText is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:25: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:37: warning - Tag @link: reference not found: Node#getText()
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataAttribute.java:41: warning - Tag @link: reference not found: Node#setText(String)
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  C:\Projects\dom4j_1.x_branch\dom4j\src\java\org\dom4j\util\UserDataElement.java:26: warning - @link#getData is an unknown tag.
+  Generating C:\Projects\dom4j_1.x_branch\dom4j\target\docs\apidocs\help-doc.html...
+  70 warnings
+</pre></div>
+  </div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/jdepend-report.html b/docs/jdepend-report.html
new file mode 100644
index 0000000..654318f
--- /dev/null
+++ b/docs/jdepend-report.html
@@ -0,0 +1,1504 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - JDepend Source Code Analysis</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><style type="text/css">.jdepend td ul, .jdepend td ul li { margin:0; padding:0; list-style-type: none; }</style></head><body class="jdepend"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourc [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        <a href="#Summary">summary</a>] [
+        <a href="#Packages">packages</a>] [
+        <a href="#Cycles">cycles</a>] [
+        <a href="#Explanations">explanations</a>]</p><p>The following document contains the results of a
+        <a href="http://www.clarkware.com/software/JDepend.html" class="externalLink" title="External Link">JDepend</a>metric analysis. The various metrics are defined at the bottom of this document.</p></div><div class="section"><a name="Summary"></a><h2>Summary</h2><p>[
+        <a href="#Summary">summary</a>] [
+        <a href="#Packages">packages</a>] [
+        <a href="#Cycles">cycles</a>] [
+        <a href="#Explanations">explanations</a>]</p><table class="bodyTable"><thead>
+          <tr class="b"><th title="Package">Package</th><th style="text-align:right">
+              <acronym title="Total Classes">TC</acronym>
+            </th><th style="text-align:right">
+              <acronym title="Abstract Classes">AC</acronym>
+            </th><th style="text-align:right">
+              <acronym title="Concrete Classes">CC</acronym>
+            </th><th style="text-align:right">
+              <acronym title="Afferent Couplings">AC</acronym>
+            </th><th style="text-align:right">
+              <acronym title="Efferent Couplings">EC</acronym>
+            </th><th style="text-align:right">
+              <acronym title="Abstractness">A</acronym>
+            </th><th style="text-align:right">
+              <acronym title="Instability">I</acronym>
+            </th><th style="text-align:right">
+              <acronym title="Distance">D</acronym>
+            </th></tr>
+        </thead><tbody>
+          <tr class="a"><td>
+              <a href="#org_dom4j">org.dom4j</a>
+            </td><td style="text-align:right">26</td><td style="text-align:right">18</td><td style="text-align:right">8</td><td style="text-align:right">12</td><td style="text-align:right">10</td><td style="text-align:right">0,69</td><td style="text-align:right">45%</td><td style="text-align:right">15%</td></tr>
+          <tr class="b"><td>
+              <a href="#org_dom4j_bean">org.dom4j.bean</a>
+            </td><td style="text-align:right">5</td><td style="text-align:right">0</td><td style="text-align:right">5</td><td style="text-align:right">0</td><td style="text-align:right">8</td><td style="text-align:right">0</td><td style="text-align:right">100%</td><td style="text-align:right">0%</td></tr>
+          <tr class="a"><td>
+              <a href="#org_dom4j_datatype">org.dom4j.datatype</a>
+            </td><td style="text-align:right">7</td><td style="text-align:right">0</td><td style="text-align:right">7</td><td style="text-align:right">0</td><td style="text-align:right">11</td><td style="text-align:right">0</td><td style="text-align:right">100%</td><td style="text-align:right">0%</td></tr>
+          <tr class="b"><td>
+              <a href="#org_dom4j_dom">org.dom4j.dom</a>
+            </td><td style="text-align:right">15</td><td style="text-align:right">0</td><td style="text-align:right">15</td><td style="text-align:right">1</td><td style="text-align:right">7</td><td style="text-align:right">0</td><td style="text-align:right">88%</td><td style="text-align:right">12%</td></tr>
+          <tr class="a"><td>
+              <a href="#org_dom4j_dtd">org.dom4j.dtd</a>
+            </td><td style="text-align:right">4</td><td style="text-align:right">0</td><td style="text-align:right">4</td><td style="text-align:right">1</td><td style="text-align:right">1</td><td style="text-align:right">0</td><td style="text-align:right">50%</td><td style="text-align:right">50%</td></tr>
+          <tr class="b"><td>
+              <a href="#org_dom4j_io">org.dom4j.io</a>
+            </td><td style="text-align:right">36</td><td style="text-align:right">1</td><td style="text-align:right">35</td><td style="text-align:right">4</td><td style="text-align:right">21</td><td style="text-align:right">0,03</td><td style="text-align:right">84%</td><td style="text-align:right">13%</td></tr>
+          <tr class="a"><td>
+              <a href="#org_dom4j_jaxb">org.dom4j.jaxb</a>
+            </td><td style="text-align:right">10</td><td style="text-align:right">3</td><td style="text-align:right">7</td><td style="text-align:right">0</td><td style="text-align:right">11</td><td style="text-align:right">0,3</td><td style="text-align:right">100%</td><td style="text-align:right">30%</td></tr>
+          <tr class="b"><td>
+              <a href="#org_dom4j_rule">org.dom4j.rule</a>
+            </td><td style="text-align:right">9</td><td style="text-align:right">2</td><td style="text-align:right">7</td><td style="text-align:right">5</td><td style="text-align:right">6</td><td style="text-align:right">0,22</td><td style="text-align:right">55%</td><td style="text-align:right">23%</td></tr>
+          <tr class="a"><td>
+              <a href="#org_dom4j_rule_pattern">org.dom4j.rule.pattern</a>
+            </td><td style="text-align:right">2</td><td style="text-align:right">0</td><td style="text-align:right">2</td><td style="text-align:right">1</td><td style="text-align:right">3</td><td style="text-align:right">0</td><td style="text-align:right">75%</td><td style="text-align:right">25%</td></tr>
+          <tr class="b"><td>
+              <a href="#org_dom4j_swing">org.dom4j.swing</a>
+            </td><td style="text-align:right">8</td><td style="text-align:right">0</td><td style="text-align:right">8</td><td style="text-align:right">0</td><td style="text-align:right">7</td><td style="text-align:right">0</td><td style="text-align:right">100%</td><td style="text-align:right">0%</td></tr>
+          <tr class="a"><td>
+              <a href="#org_dom4j_tree">org.dom4j.tree</a>
+            </td><td style="text-align:right">49</td><td style="text-align:right">13</td><td style="text-align:right">36</td><td style="text-align:right">7</td><td style="text-align:right">9</td><td style="text-align:right">0,27</td><td style="text-align:right">56%</td><td style="text-align:right">17%</td></tr>
+          <tr class="b"><td>
+              <a href="#org_dom4j_util">org.dom4j.util</a>
+            </td><td style="text-align:right">14</td><td style="text-align:right">2</td><td style="text-align:right">12</td><td style="text-align:right">3</td><td style="text-align:right">8</td><td style="text-align:right">0,14</td><td style="text-align:right">73%</td><td style="text-align:right">13%</td></tr>
+          <tr class="a"><td>
+              <a href="#org_dom4j_xpath">org.dom4j.xpath</a>
+            </td><td style="text-align:right">4</td><td style="text-align:right">0</td><td style="text-align:right">4</td><td style="text-align:right">1</td><td style="text-align:right">9</td><td style="text-align:right">0</td><td style="text-align:right">90%</td><td style="text-align:right">10%</td></tr>
+          <tr class="b"><td>
+              <a href="#org_dom4j_xpp">org.dom4j.xpp</a>
+            </td><td style="text-align:right">1</td><td style="text-align:right">0</td><td style="text-align:right">1</td><td style="text-align:right">1</td><td style="text-align:right">5</td><td style="text-align:right">0</td><td style="text-align:right">83%</td><td style="text-align:right">17%</td></tr>
+        </tbody></table></div><div class="section"><a name="Packages"></a><h2>Packages</h2><p>[
+        <a href="#Summary">summary</a>] [
+        <a href="#Packages">packages</a>] [
+        <a href="#Cycles">cycles</a>] [
+        <a href="#Explanations">explanations</a>]</p><div class="subsection"><a name="org_dom4j"></a><h3>org.dom4j</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>12</td><td>10</td><td>69%</td><td>45%</td><td>15%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/Attribute.html">Attribute</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/Branch.html">Branch</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/CDATA.html">CDATA</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/CharacterData.html">CharacterData</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/Comment.html">Comment</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/Document.html">Document</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/DocumentType.html">DocumentType</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/Element.html">Element</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/ElementHandler.html">ElementHandler</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/ElementPath.html">ElementPath</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/Entity.html">Entity</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/Node.html">Node</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/NodeFilter.html">NodeFilter</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/Text.html">Text</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/Visitor.html">Visitor</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/VisitorSupport.html">VisitorSupport</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/XPath.html">XPath</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/DocumentException.html">DocumentException</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/DocumentFactory.html">DocumentFactory</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/DocumentHelper.html">DocumentHelper</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/IllegalAddException.html">IllegalAddException</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/InvalidXPathException.html">InvalidXPathException</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/Namespace.html">Namespace</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/QName.html">QName</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/XPathException.html">XPathException</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j_bean">org.dom4j.bean</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_datatype">org.dom4j.datatype</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_dom">org.dom4j.dom</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_io">org.dom4j.io</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_jaxb">org.dom4j.jaxb</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_rule">org.dom4j.rule</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_rule_pattern">org.dom4j.rule.pattern</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_swing">org.dom4j.swing</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_util">org.dom4j.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_xpath">org.dom4j.xpath</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_xpp">org.dom4j.xpp</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_io">org.dom4j.io</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_rule">org.dom4j.rule</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_util">org.dom4j.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_xpath">org.dom4j.xpath</a>
+                  </li>
+                  <li>
+                    <a href="#org_jaxen">org.jaxen</a>
+                  </li>
+                  <li>
+                    <a href="#org_xml_sax">org.xml.sax</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_bean"></a><h3>org.dom4j.bean</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>0</td><td>8</td><td>0%</td><td>100%</td><td>0%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/bean/BeanAttribute.html">BeanAttribute</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/bean/BeanDocumentFactory.html">BeanDocumentFactory</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/bean/BeanElement.html">BeanElement</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/bean/BeanMetaData.html">BeanMetaData</a>
+                  </li>
+                </ul>
+              </td><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_beans">java.beans</a>
+                  </li>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang_reflect">java.lang.reflect</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_xml_sax">org.xml.sax</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_datatype"></a><h3>org.dom4j.datatype</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>0</td><td>11</td><td>0%</td><td>100%</td><td>0%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/datatype/DatatypeAttribute.html">DatatypeAttribute</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/datatype/DatatypeDocumentFactory.html">DatatypeDocumentFactory</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/datatype/DatatypeElement.html">DatatypeElement</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/datatype/NamedTypeResolver.html">NamedTypeResolver</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/datatype/SchemaParser.html">SchemaParser</a>
+                  </li>
+                </ul>
+              </td><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#com_sun_msv_datatype">com.sun.msv.datatype</a>
+                  </li>
+                  <li>
+                    <a href="#com_sun_msv_datatype_xsd">com.sun.msv.datatype.xsd</a>
+                  </li>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_io">org.dom4j.io</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_util">org.dom4j.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_relaxng_datatype">org.relaxng.datatype</a>
+                  </li>
+                  <li>
+                    <a href="#org_xml_sax">org.xml.sax</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_dom"></a><h3>org.dom4j.dom</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>1</td><td>7</td><td>0%</td><td>88%</td><td>12%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMAttribute.html">DOMAttribute</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMAttributeNodeMap.html">DOMAttributeNodeMap</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMCDATA.html">DOMCDATA</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMComment.html">DOMComment</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMDocument.html">DOMDocument</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMDocumentFactory.html">DOMDocumentFactory</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMElement.html">DOMElement</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMEntityReference.html">DOMEntityReference</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMNamespace.html">DOMNamespace</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMNodeHelper.html">DOMNodeHelper</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMNodeHelper.html">DOMNodeHelper$1</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMNodeHelper.html">DOMNodeHelper$EmptyNodeList</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMProcessingInstruction.html">DOMProcessingInstruction</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dom/DOMText.html">DOMText</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j_jaxb">org.dom4j.jaxb</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_util">org.dom4j.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_w3c_dom">org.w3c.dom</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_dtd"></a><h3>org.dom4j.dtd</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>1</td><td>1</td><td>0%</td><td>50%</td><td>50%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/dtd/AttributeDecl.html">AttributeDecl</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dtd/ElementDecl.html">ElementDecl</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dtd/ExternalEntityDecl.html">ExternalEntityDecl</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/dtd/InternalEntityDecl.html">InternalEntityDecl</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j_io">org.dom4j.io</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_io"></a><h3>org.dom4j.io</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>4</td><td>21</td><td>3%</td><td>84%</td><td>13%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/io/ElementModifier.html">ElementModifier</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/io/DOMReader.html">DOMReader</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/DOMWriter.html">DOMWriter</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/DispatchHandler.html">DispatchHandler</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/DocumentInputSource.html">DocumentInputSource</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/DocumentInputSource.html">DocumentInputSource$1</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/DocumentResult.html">DocumentResult</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/DocumentSource.html">DocumentSource</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/ElementStack.html">ElementStack</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/HTMLWriter.html">HTMLWriter</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/HTMLWriter.html">HTMLWriter$FormatState</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/JAXPHelper.html">JAXPHelper</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/OutputFormat.html">OutputFormat</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/PruningDispatchHandler.html">PruningDispatchHandler</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/PruningElementStack.html">PruningElementStack</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXEventRecorder.html">SAXEventRecorder</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXEventRecorder.html">SAXEventRecorder$SAXEvent</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXHelper.html">SAXHelper</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXModifier.html">SAXModifier</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXModifyContentHandler.html">SAXModifyContentHandler</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXModifyElementHandler.html">SAXModifyElementHandler</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXModifyException.html">SAXModifyException</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXReader.html">SAXReader</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXReader.html">SAXReader$SAXEntityResolver</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXValidator.html">SAXValidator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/SAXWriter.html">SAXWriter</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/STAXEventReader.html">STAXEventReader</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/STAXEventWriter.html">STAXEventWriter</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/STAXEventWriter.html">STAXEventWriter$AttributeIterator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/STAXEventWriter.html">STAXEventWriter$NamespaceIterator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/XMLResult.html">XMLResult</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/XMLWriter.html">XMLWriter</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/XPP3Reader.html">XPP3Reader</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/io/XPPReader.html">XPPReader</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_datatype">org.dom4j.datatype</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_jaxb">org.dom4j.jaxb</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang_reflect">java.lang.reflect</a>
+                  </li>
+                  <li>
+                    <a href="#java_net">java.net</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#javax_xml_namespace">javax.xml.namespace</a>
+                  </li>
+                  <li>
+                    <a href="#javax_xml_parsers">javax.xml.parsers</a>
+                  </li>
+                  <li>
+                    <a href="#javax_xml_stream">javax.xml.stream</a>
+                  </li>
+                  <li>
+                    <a href="#javax_xml_stream_events">javax.xml.stream.events</a>
+                  </li>
+                  <li>
+                    <a href="#javax_xml_stream_util">javax.xml.stream.util</a>
+                  </li>
+                  <li>
+                    <a href="#javax_xml_transform_sax">javax.xml.transform.sax</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_dtd">org.dom4j.dtd</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_xpp">org.dom4j.xpp</a>
+                  </li>
+                  <li>
+                    <a href="#org_gjt_xpp">org.gjt.xpp</a>
+                  </li>
+                  <li>
+                    <a href="#org_w3c_dom">org.w3c.dom</a>
+                  </li>
+                  <li>
+                    <a href="#org_xml_sax">org.xml.sax</a>
+                  </li>
+                  <li>
+                    <a href="#org_xml_sax_ext">org.xml.sax.ext</a>
+                  </li>
+                  <li>
+                    <a href="#org_xml_sax_helpers">org.xml.sax.helpers</a>
+                  </li>
+                  <li>
+                    <a href="#org_xmlpull_v1">org.xmlpull.v1</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_jaxb"></a><h3>org.dom4j.jaxb</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>0</td><td>11</td><td>30%</td><td>100%</td><td>30%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBObjectHandler.html">JAXBObjectHandler</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBObjectModifier.html">JAXBObjectModifier</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBSupport.html">JAXBSupport</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBModifier.html">JAXBModifier</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBModifier.html">JAXBModifier$JAXBElementModifier</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBReader.html">JAXBReader</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBReader.html">JAXBReader$PruningElementHandler</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBReader.html">JAXBReader$UnmarshalElementHandler</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBRuntimeException.html">JAXBRuntimeException</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/jaxb/JAXBWriter.html">JAXBWriter</a>
+                  </li>
+                </ul>
+              </td><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_net">java.net</a>
+                  </li>
+                  <li>
+                    <a href="#java_nio_charset">java.nio.charset</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#javax_xml_bind">javax.xml.bind</a>
+                  </li>
+                  <li>
+                    <a href="#javax_xml_transform_stream">javax.xml.transform.stream</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_dom">org.dom4j.dom</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_io">org.dom4j.io</a>
+                  </li>
+                  <li>
+                    <a href="#org_xml_sax">org.xml.sax</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_rule"></a><h3>org.dom4j.rule</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>5</td><td>6</td><td>22%</td><td>55%</td><td>23%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/rule/Action.html">Action</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/rule/Pattern.html">Pattern</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/rule/Mode.html">Mode</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/rule/NullAction.html">NullAction</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/rule/Rule.html">Rule</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/rule/RuleManager.html">RuleManager</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/rule/RuleManager.html">RuleManager$1</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/rule/RuleSet.html">RuleSet</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/rule/Stylesheet.html">Stylesheet</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_rule_pattern">org.dom4j.rule.pattern</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_util">org.dom4j.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_xpath">org.dom4j.xpath</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_rule_pattern">org.dom4j.rule.pattern</a>
+                  </li>
+                  <li>
+                    <a href="#org_jaxen">org.jaxen</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_rule_pattern"></a><h3>org.dom4j.rule.pattern</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>1</td><td>3</td><td>0%</td><td>75%</td><td>25%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/rule/pattern/DefaultPattern.html">DefaultPattern</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j_rule">org.dom4j.rule</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_rule">org.dom4j.rule</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_swing"></a><h3>org.dom4j.swing</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>0</td><td>7</td><td>0%</td><td>100%</td><td>0%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/swing/BranchTreeNode.html">BranchTreeNode</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/swing/BranchTreeNode.html">BranchTreeNode$1</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/swing/DocumentTreeModel.html">DocumentTreeModel</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/swing/LeafTreeNode.html">LeafTreeNode</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/swing/LeafTreeNode.html">LeafTreeNode$1</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/swing/XMLTableModel.html">XMLTableModel</a>
+                  </li>
+                </ul>
+              </td><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#javax_swing_table">javax.swing.table</a>
+                  </li>
+                  <li>
+                    <a href="#javax_swing_tree">javax.swing.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_jaxen">org.jaxen</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_tree"></a><h3>org.dom4j.tree</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>7</td><td>9</td><td>27%</td><td>56%</td><td>17%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractAttribute.html">AbstractAttribute</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractBranch.html">AbstractBranch</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractCDATA.html">AbstractCDATA</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractCharacterData.html">AbstractCharacterData</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractComment.html">AbstractComment</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractDocument.html">AbstractDocument</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractDocumentType.html">AbstractDocumentType</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractElement.html">AbstractElement</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractEntity.html">AbstractEntity</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractNode.html">AbstractNode</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractProcessingInstruction.html">AbstractProcessingInstruction</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/AbstractText.html">AbstractText</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/FilterIterator.html">FilterIterator</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/tree/BackedList.html">BackedList</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/BaseElement.html">BaseElement</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap$1</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap$BarrierLock</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap$Entry</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap$EntrySet</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap$HashIterator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap$KeyIterator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap$KeySet</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap$ValueIterator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap$Values</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ContentListFacade.html">ContentListFacade</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultCDATA.html">DefaultCDATA</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultComment.html">DefaultComment</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultDocument.html">DefaultDocument</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultDocumentType.html">DefaultDocumentType</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultElement.html">DefaultElement</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultEntity.html">DefaultEntity</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultNamespace.html">DefaultNamespace</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultProcessingInstruction.html">DefaultProcessingInstruction</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/DefaultText.html">DefaultText</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ElementIterator.html">ElementIterator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ElementNameIterator.html">ElementNameIterator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/ElementQNameIterator.html">ElementQNameIterator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/FlyweightAttribute.html">FlyweightAttribute</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/FlyweightCDATA.html">FlyweightCDATA</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/FlyweightComment.html">FlyweightComment</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/FlyweightEntity.html">FlyweightEntity</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/FlyweightProcessingInstruction.html">FlyweightProcessingInstruction</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/FlyweightText.html">FlyweightText</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/NamespaceCache.html">NamespaceCache</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/QNameCache.html">QNameCache</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/tree/SingleIterator.html">SingleIterator</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_bean">org.dom4j.bean</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_datatype">org.dom4j.datatype</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_dom">org.dom4j.dom</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_io">org.dom4j.io</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_util">org.dom4j.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_xpp">org.dom4j.xpp</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang_ref">java.lang.ref</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang_reflect">java.lang.reflect</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_io">org.dom4j.io</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_rule">org.dom4j.rule</a>
+                  </li>
+                  <li>
+                    <a href="#org_xml_sax">org.xml.sax</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_util"></a><h3>org.dom4j.util</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>3</td><td>8</td><td>14%</td><td>73%</td><td>13%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/util/ProxyDocumentFactory.html">ProxyDocumentFactory</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/SingletonStrategy.html">SingletonStrategy</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/util/AttributeHelper.html">AttributeHelper</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/IndexedDocumentFactory.html">IndexedDocumentFactory</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/IndexedElement.html">IndexedElement</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/NodeComparator.html">NodeComparator</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/NonLazyDocumentFactory.html">NonLazyDocumentFactory</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/NonLazyElement.html">NonLazyElement</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/PerThreadSingleton.html">PerThreadSingleton</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/SimpleSingleton.html">SimpleSingleton</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/UserDataAttribute.html">UserDataAttribute</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/UserDataDocumentFactory.html">UserDataDocumentFactory</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/UserDataElement.html">UserDataElement</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/util/XMLErrorHandler.html">XMLErrorHandler</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_datatype">org.dom4j.datatype</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_dom">org.dom4j.dom</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang_ref">java.lang.ref</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_rule">org.dom4j.rule</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_jaxen">org.jaxen</a>
+                  </li>
+                  <li>
+                    <a href="#org_xml_sax">org.xml.sax</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_xpath"></a><h3>org.dom4j.xpath</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>1</td><td>9</td><td>0%</td><td>90%</td><td>10%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/xpath/DefaultNamespaceContext.html">DefaultNamespaceContext</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/xpath/DefaultXPath.html">DefaultXPath</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/xpath/DefaultXPath.html">DefaultXPath$1</a>
+                  </li>
+                  <li>
+                    <a href="xref/org/dom4j/xpath/XPathPattern.html">XPathPattern</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_io">java.io</a>
+                  </li>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_rule">org.dom4j.rule</a>
+                  </li>
+                  <li>
+                    <a href="#org_jaxen">org.jaxen</a>
+                  </li>
+                  <li>
+                    <a href="#org_jaxen_dom4j">org.jaxen.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_jaxen_pattern">org.jaxen.pattern</a>
+                  </li>
+                  <li>
+                    <a href="#org_jaxen_saxpath">org.jaxen.saxpath</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div><div class="subsection"><a name="org_dom4j_xpp"></a><h3>org.dom4j.xpp</h3><table class="bodyTable"><thead>
+            <tr class="a"><th>Afferent Couplings</th><th>Efferent Couplings</th><th>Abstractness</th><th>Instability</th><th>Distance</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>1</td><td>5</td><td>0%</td><td>83%</td><td>17%</td></tr>
+          </tbody></table><table class="bodyTable"><thead>
+            <tr class="a"><th>Abstract Classes</th><th>Concrete Classes</th><th>Used by Packages</th><th>Uses Packages</th></tr>
+          </thead><tbody>
+            <tr class="b"><td>
+                <em>None</em>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="xref/org/dom4j/xpp/ProxyXmlStartTag.html">ProxyXmlStartTag</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#org_dom4j_io">org.dom4j.io</a>
+                  </li>
+                </ul>
+              </td><td>
+                <ul>
+                  <li>
+                    <a href="#java_lang">java.lang</a>
+                  </li>
+                  <li>
+                    <a href="#java_util">java.util</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j">org.dom4j</a>
+                  </li>
+                  <li>
+                    <a href="#org_dom4j_tree">org.dom4j.tree</a>
+                  </li>
+                  <li>
+                    <a href="#org_gjt_xpp">org.gjt.xpp</a>
+                  </li>
+                </ul>
+              </td></tr>
+          </tbody></table></div></div><div class="section"><a name="Cycles"></a><h2>Cycles</h2><p>[
+        <a href="#Summary">summary</a>] [
+        <a href="#Packages">packages</a>] [
+        <a href="#Cycles">cycles</a>] [
+        <a href="#Explanations">explanations</a>]</p><table class="bodyTable"><thead>
+          <tr class="a"><th>Package</th><th>Cyclic Dependencies</th></tr>
+        </thead><tbody>
+          <tr class="b"><td>org.dom4j</td><td>
+              <ul>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="a"><td>org.dom4j.bean</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="b"><td>org.dom4j.datatype</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="a"><td>org.dom4j.dom</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="b"><td>org.dom4j.io</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="a"><td>org.dom4j.jaxb</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="b"><td>org.dom4j.rule</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="a"><td>org.dom4j.rule.pattern</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="b"><td>org.dom4j.swing</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="a"><td>org.dom4j.tree</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="b"><td>org.dom4j.util</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+              </ul>
+            </td></tr>
+          <tr class="a"><td>org.dom4j.xpath</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+          <tr class="b"><td>org.dom4j.xpp</td><td>
+              <ul>
+                <li>org.dom4j</li>
+                <li>org.dom4j.util</li>
+                <li>org.dom4j</li>
+              </ul>
+            </td></tr>
+        </tbody></table></div><div class="section"><a name="Explanations"></a><h2>Explanations</h2><p>[
+        <a href="#Summary">summary</a>] [
+        <a href="#Packages">packages</a>] [
+        <a href="#Cycles">cycles</a>] [
+        <a href="#Explanations">explanations</a>]</p><p>The following explanations are for quick reference and are lifted directly from the original
+        <a href="http://www.clarkware.com/software/JDepend.html" class="externalLink" title="External Link">JDepend documentation</a>.</p><table class="bodyTable"><thead>
+          <tr class="a"><th>Term</th><th>Description</th></tr>
+        </thead><tbody>
+          <tr class="b"><td>Number of Classes</td><td>The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.</td></tr>
+          <tr class="a"><td>Afferent Couplings</td><td>The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.</td></tr>
+          <tr class="b"><td>Efferent Couplings</td><td>The number of other packages that the classes in the package depend upon is an indicator of the package's independence.</td></tr>
+          <tr class="a"><td>Abstractness</td><td>The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.</td></tr>
+          <tr class="b"><td>Instability</td><td>The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.</td></tr>
+          <tr class="a"><td>Distance</td><td>The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating  [...]
+          <tr class="b"><td>Cycles</td><td>Packages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques.</td></tr>
+        </tbody></table></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/junit-report.html b/docs/junit-report.html
new file mode 100644
index 0000000..2a94b19
--- /dev/null
+++ b/docs/junit-report.html
@@ -0,0 +1,1341 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - JUnit Test Results</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        <a href="#Summary">summary</a>] [
+        <a href="#Package_List">package list</a>] [
+        <a href="#Test_Cases">test cases</a>]</p><table class="bodyTable"><thead>
+          <tr class="a"><th>Tests</th><th>Errors</th><th>Failures</th><th>Success rate</th><th>Time(s)</th></tr>
+        </thead><tr class="b"><td>391</td><td>0</td><td>0</td><td>100,00%</td><td>56,79</td></tr></table><p>Note:
+        <i>failures</i>are anticipated and checked for with assertions while
+        <i>errors</i>are unanticipated.</p></div><div class="section"><a name="Package_List"></a><h2>Package List</h2><p>[
+        <a href="#Summary">summary</a>] [
+        <a href="#Package_List">package list</a>] [
+        <a href="#Test_Cases">test cases</a>]</p><table class="bodyTable"><thead>
+          <tr class="a"><th>Package</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+        </thead><tr class="b"><td>
+            <a href="#org_dom4j">org.dom4j</a>
+          </td><td>244</td><td>0</td><td>0</td><td>100,00%</td><td>31,27</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_bean">org.dom4j.bean</a>
+          </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>3,18</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_datatype">org.dom4j.datatype</a>
+          </td><td>53</td><td>0</td><td>0</td><td>100,00%</td><td>4,88</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_dom">org.dom4j.dom</a>
+          </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,49</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_dtd">org.dom4j.dtd</a>
+          </td><td>10</td><td>0</td><td>0</td><td>100,00%</td><td>1,20</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_io">org.dom4j.io</a>
+          </td><td>25</td><td>0</td><td>0</td><td>100,00%</td><td>3,68</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_rule">org.dom4j.rule</a>
+          </td><td>10</td><td>0</td><td>0</td><td>100,00%</td><td>1,34</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_swing">org.dom4j.swing</a>
+          </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,55</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_tree">org.dom4j.tree</a>
+          </td><td>19</td><td>0</td><td>0</td><td>100,00%</td><td>1,83</td></tr><tr class="a"><td>
+            <a href="#org_dom4j_util">org.dom4j.util</a>
+          </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,24</td></tr><tr class="b"><td>
+            <a href="#org_dom4j_xpath">org.dom4j.xpath</a>
+          </td><td>21</td><td>0</td><td>0</td><td>100,00%</td><td>8,13</td></tr></table><p>Note: package statistics are not computed recursively, they only sum up all of its testsuites numbers.</p><a name="org_dom4j">
+      </a><div class="subsection"><a name="org_dom4j"></a><h3>org.dom4j</h3><table class="bodyTable"><thead>
+            <tr class="a"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#AddAttributeTest">AddAttributeTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,470</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#AddNodeTest">AddNodeTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,451</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#AttributeDetachTest">AttributeDetachTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,400</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#BackedListTest">BackedListTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,440</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#CloneTest">CloneTest</a>
+            </td><td>10</td><td>0</td><td>0</td><td>100,00%</td><td>0,501</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ContentTest">ContentTest</a>
+            </td><td>8</td><td>0</td><td>0</td><td>100,00%</td><td>0,341</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#CopyTest">CopyTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,321</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DetachTest">DetachTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,300</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DocTypeTest">DocTypeTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,431</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ElementByIDTest">ElementByIDTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,460</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#EmbeddedHandlerTest">EmbeddedHandlerTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,431</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#GetQNamesTest">GetQNamesTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,361</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#GetXMLEncodingTest">GetXMLEncodingTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,431</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#HTMLWriterTest">HTMLWriterTest</a>
+            </td><td>5</td><td>0</td><td>0</td><td>100,00%</td><td>0,361</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#IndexedElementTest">IndexedElementTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,531</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#IsTextOnlyTest">IsTextOnlyTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,321</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#IteratorTest">IteratorTest</a>
+            </td><td>5</td><td>0</td><td>0</td><td>100,00%</td><td>0,281</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#LineFeedTest">LineFeedTest</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,351</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#MakeElementTest">MakeElementTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,381</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#MergeTextTest">MergeTextTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,341</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#NamespacesTest">NamespacesTest</a>
+            </td><td>8</td><td>0</td><td>0</td><td>100,00%</td><td>0,792</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#NamespaceTest">NamespaceTest</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,451</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#NodeTypeNameTest">NodeTypeNameTest</a>
+            </td><td>5</td><td>0</td><td>0</td><td>100,00%</td><td>0,391</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#NormalizeTest">NormalizeTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,441</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#NullAttributesTest">NullAttributesTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,260</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ParentTest">ParentTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,300</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ParseTextTest">ParseTextTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,440</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ProcessingInstructionTest">ProcessingInstructionTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,300</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#RoundTripTest">RoundTripTest</a>
+            </td><td>6</td><td>0</td><td>0</td><td>100,00%</td><td>2,904</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SAXContentHandlerTest">SAXContentHandlerTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,441</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SerializeTest">SerializeTest</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>2,464</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SetContentTest">SetContentTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,300</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SetTextTest">SetTextTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,390</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ThreadingTest">ThreadingTest</a>
+            </td><td>100</td><td>0</td><td>0</td><td>100,00%</td><td>8,302</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#UserDataTest">UserDataTest</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,371</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ValidationTest">ValidationTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,341</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#XMLResultTest">XMLResultTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,351</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#XMLSpaceAttributeTest">XMLSpaceAttributeTest</a>
+            </td><td>5</td><td>0</td><td>0</td><td>100,00%</td><td>0,541</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#XMLWriterTest">XMLWriterTest</a>
+            </td><td>22</td><td>0</td><td>0</td><td>100,00%</td><td>0,561</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#XPathBugTest">XPathBugTest</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,510</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#XPathExamplesTest">XPathExamplesTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>1,302</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#XPathTest">XPathTest</a>
+            </td><td>5</td><td>0</td><td>0</td><td>100,00%</td><td>0,511</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#XSLTTest">XSLTTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,701</td></tr></table></div><a name="org_dom4j_bean">
+      </a><div class="subsection"><a name="org_dom4j_bean"></a><h3>org.dom4j.bean</h3><table class="bodyTable"><thead>
+            <tr class="a"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#BeansTest">BeansTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>3,175</td></tr></table></div><a name="org_dom4j_datatype">
+      </a><div class="subsection"><a name="org_dom4j_datatype"></a><h3>org.dom4j.datatype</h3><table class="bodyTable"><thead>
+            <tr class="a"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#AutoSchemaTest">AutoSchemaTest</a>
+            </td><td>6</td><td>0</td><td>0</td><td>100,00%</td><td>0,721</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#Datatype2Test">Datatype2Test</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,591</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DataTypesTest">DataTypesTest</a>
+            </td><td>27</td><td>0</td><td>0</td><td>100,00%</td><td>0,931</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ManualSchemaPrefixTest">ManualSchemaPrefixTest</a>
+            </td><td>6</td><td>0</td><td>0</td><td>100,00%</td><td>0,711</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ManualSchemaTest">ManualSchemaTest</a>
+            </td><td>6</td><td>0</td><td>0</td><td>100,00%</td><td>0,811</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SchemaParseTest">SchemaParseTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,621</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SetDataTest">SetDataTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,490</td></tr></table></div><a name="org_dom4j_dom">
+      </a><div class="subsection"><a name="org_dom4j_dom"></a><h3>org.dom4j.dom</h3><table class="bodyTable"><thead>
+            <tr class="a"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DOMTest">DOMTest</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,491</td></tr></table></div><a name="org_dom4j_dtd">
+      </a><div class="subsection"><a name="org_dom4j_dtd"></a><h3>org.dom4j.dtd</h3><table class="bodyTable"><thead>
+            <tr class="a"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#AttributeDeclTest">AttributeDeclTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,310</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ElementDeclTest">ElementDeclTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,300</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ExternalEntityDeclTest">ExternalEntityDeclTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,300</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#InternalEntityDeclTest">InternalEntityDeclTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,290</td></tr></table></div><a name="org_dom4j_io">
+      </a><div class="subsection"><a name="org_dom4j_io"></a><h3>org.dom4j.io</h3><table class="bodyTable"><thead>
+            <tr class="b"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DispatchHandlerTest">DispatchHandlerTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,360</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DocumentSourceTest">DocumentSourceTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,440</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DOMReaderTest">DOMReaderTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,350</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DOMWriterTest">DOMWriterTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,400</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DTDTest">DTDTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,441</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SAXReaderTest">SAXReaderTest</a>
+            </td><td>7</td><td>0</td><td>0</td><td>100,00%</td><td>0,531</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#StaxTest">StaxTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,370</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#WriteUnmergedTextTest">WriteUnmergedTextTest</a>
+            </td><td>6</td><td>0</td><td>0</td><td>100,00%</td><td>0,420</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#XPP3ReaderTest">XPP3ReaderTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,371</td></tr></table></div><a name="org_dom4j_rule">
+      </a><div class="subsection"><a name="org_dom4j_rule"></a><h3>org.dom4j.rule</h3><table class="bodyTable"><thead>
+            <tr class="b"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#PriorityTest">PriorityTest</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,410</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#RuleTest">RuleTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,400</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#StylesheetTest">StylesheetTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,531</td></tr></table></div><a name="org_dom4j_swing">
+      </a><div class="subsection"><a name="org_dom4j_swing"></a><h3>org.dom4j.swing</h3><table class="bodyTable"><thead>
+            <tr class="b"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#TableModelTest">TableModelTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,551</td></tr></table></div><a name="org_dom4j_tree">
+      </a><div class="subsection"><a name="org_dom4j_tree"></a><h3>org.dom4j.tree</h3><table class="bodyTable"><thead>
+            <tr class="b"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#CDataTest">CDataTest</a>
+            </td><td>3</td><td>0</td><td>0</td><td>100,00%</td><td>0,400</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DefaultDocumentTest">DefaultDocumentTest</a>
+            </td><td>6</td><td>0</td><td>0</td><td>100,00%</td><td>0,370</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#DefaultElementTest">DefaultElementTest</a>
+            </td><td>6</td><td>0</td><td>0</td><td>100,00%</td><td>0,461</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#NamespaceCacheTest">NamespaceCacheTest</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,601</td></tr></table></div><a name="org_dom4j_util">
+      </a><div class="subsection"><a name="org_dom4j_util"></a><h3>org.dom4j.util</h3><table class="bodyTable"><thead>
+            <tr class="a"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SimpleSingletonTest">SimpleSingletonTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,240</td></tr></table></div><a name="org_dom4j_xpath">
+      </a><div class="subsection"><a name="org_dom4j_xpath"></a><h3>org.dom4j.xpath</h3><table class="bodyTable"><thead>
+            <tr class="a"><th colspan="2">Class</th><th>Tests</th><th>Errors</th><th>Failures</th><th>Success Rate</th><th>Time</th></tr>
+          </thead><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#AttributeTest">AttributeTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,551</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#BadPathTest">BadPathTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,400</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#BooleanTest">BooleanTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,431</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#FilterTest">FilterTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,591</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#GetPathTest">GetPathTest</a>
+            </td><td>4</td><td>0</td><td>0</td><td>100,00%</td><td>0,481</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#MatrixConcatTest">MatrixConcatTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,450</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#NamespaceTest">NamespaceTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,451</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#NumberTest">NumberTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,431</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ObjectTest">ObjectTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,401</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#PrefixTest">PrefixTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,451</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SelectSingleNodeTest">SelectSingleNodeTest</a>
+            </td><td>2</td><td>0</td><td>0</td><td>100,00%</td><td>0,530</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SortByTest">SortByTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,851</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#SubstringTest">SubstringTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,450</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#TextTest">TextTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,390</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#UriMapTest">UriMapTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,441</td></tr><tr class="a"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#ValueOfTest">ValueOfTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,461</td></tr><tr class="b"><td>
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td>
+              <a href="#VariableTest">VariableTest</a>
+            </td><td>1</td><td>0</td><td>0</td><td>100,00%</td><td>0,370</td></tr></table></div></div><div class="section"><a name="Test_Cases"></a><h2>Test Cases</h2><p>[
+        <a href="#Summary">summary</a>] [
+        <a href="#Package_List">package list</a>] [
+        <a href="#Test_Cases">test cases</a>]</p><a name="AddAttributeTest">
+      </a><div class="subsection"><a name="AddAttributeTest"></a><h3>AddAttributeTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAddAttributeNormalValue</td><td style="width:60px">0,18</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAddAttributeNullValue</td><td style="width:60px">0,00</td></tr></table></div><a name="AddNodeTest">
+      </a><div class="subsection"><a name="AddNodeTest"></a><h3>AddNodeTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDom4jAddNodeClone</td><td style="width:60px">0,18</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDom4jAddNodeCreateCopy</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDom4jAddNodeBug</td><td style="width:60px">0,00</td></tr></table></div><a name="AttributeDetachTest">
+      </a><div class="subsection"><a name="AttributeDetachTest"></a><h3>AttributeDetachTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDetachAttribute</td><td style="width:60px">0,16</td></tr></table></div><a name="BackedListTest">
+      </a><div class="subsection"><a name="BackedListTest"></a><h3>BackedListTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,18</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAddRemove</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAddWithIndex</td><td style="width:60px">0,01</td></tr></table></div><a name="BeansTest">
+      </a><div class="subsection"><a name="BeansTest"></a><h3>BeansTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testReadXML</td><td style="width:60px">2,96</td></tr></table></div><a name="CloneTest">
+      </a><div class="subsection"><a name="CloneTest"></a><h3>CloneTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug1148333</td><td style="width:60px">0,07</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testElementWithNamespaceClone</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDocumentClone</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAddCloneToOtherElement</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRootElementClone</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAuthorElementClone</td><td style="width:60px">0,11</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRootCompare1</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRootCompare2</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAuthorCompare1</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAuthorCompare2</td><td style="width:60px">0,00</td></tr></table></div><a name="ContentTest">
+      </a><div class="subsection"><a name="ContentTest"></a><h3>ContentTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRoot</td><td style="width:60px">0,05</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testContent</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetNode</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetXPathNode</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testOrderOfPI</td><td style="width:60px">0,05</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAddingInTheMiddle</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAddAtIndex</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAddAtIndex2</td><td style="width:60px">0,00</td></tr></table></div><a name="CopyTest">
+      </a><div class="subsection"><a name="CopyTest"></a><h3>CopyTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRoot</td><td style="width:60px">0,05</td></tr></table></div><a name="AutoSchemaTest">
+      </a><div class="subsection"><a name="AutoSchemaTest"></a><h3>AutoSchemaTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testIntAttribute</td><td style="width:60px">0,41</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testIntElement</td><td style="width:60px">0,03</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testString</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDate</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDateTime</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testInteger</td><td style="width:60px">0,01</td></tr></table></div><a name="Datatype2Test">
+      </a><div class="subsection"><a name="Datatype2Test"></a><h3>Datatype2Test</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSchema</td><td style="width:60px">0,26</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSchemaWithNamedComplexType</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSchemaWithReference</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSchemaWithNamedSimpleType</td><td style="width:60px">0,02</td></tr></table></div><a name="DataTypesTest">
+      </a><div class="subsection"><a name="DataTypesTest"></a><h3>DataTypesTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testgMonthDay</td><td style="width:60px">0,41</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testgDay</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testgMonth</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDate</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testTime</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDateTime</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testgYearMonth</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testgYear</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBoolean</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBase64Binary</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testHexBinary</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testFloat</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDouble</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDecimal</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testInteger</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNonPositiveInteger</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNegativeInteger</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testLong</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testInt</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testShort</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testByte</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNonNegativeInteger</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testUnsignedLong</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testUnsignedInt</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testUnsignedShort</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testUnsignedByte</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testPositiveInteger</td><td style="width:60px">0,01</td></tr></table></div><a name="ManualSchemaPrefixTest">
+      </a><div class="subsection"><a name="ManualSchemaPrefixTest"></a><h3>ManualSchemaPrefixTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testIntAttribute</td><td style="width:60px">0,36</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testIntElement</td><td style="width:60px">0,03</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testString</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDate</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDateTime</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testInteger</td><td style="width:60px">0,03</td></tr></table></div><a name="ManualSchemaTest">
+      </a><div class="subsection"><a name="ManualSchemaTest"></a><h3>ManualSchemaTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testIntAttribute</td><td style="width:60px">0,46</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testIntElement</td><td style="width:60px">0,03</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testString</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDate</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDateTime</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testInteger</td><td style="width:60px">0,03</td></tr></table></div><a name="SchemaParseTest">
+      </a><div class="subsection"><a name="SchemaParseTest"></a><h3>SchemaParseTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testParseSchema</td><td style="width:60px">0,36</td></tr></table></div><a name="SetDataTest">
+      </a><div class="subsection"><a name="SetDataTest"></a><h3>SetDataTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAttribute</td><td style="width:60px">0,19</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAttributeWithNamespace</td><td style="width:60px">0,03</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testElement</td><td style="width:60px">0,02</td></tr></table></div><a name="DetachTest">
+      </a><div class="subsection"><a name="DetachTest"></a><h3>DetachTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRoot</td><td style="width:60px">0,06</td></tr></table></div><a name="DocTypeTest">
+      </a><div class="subsection"><a name="DocTypeTest"></a><h3>DocTypeTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDocType</td><td style="width:60px">0,16</td></tr></table></div><a name="DOMTest">
+      </a><div class="subsection"><a name="DOMTest"></a><h3>DOMTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCount</td><td style="width:60px">0,19</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNamespace</td><td style="width:60px">0,03</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testClassCastBug</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testReplaceChild</td><td style="width:60px">0,00</td></tr></table></div><a name="AttributeDeclTest">
+      </a><div class="subsection"><a name="AttributeDeclTest"></a><h3>AttributeDeclTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testIdImpliedNone</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCDataFixedValue</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCDataNoneValue</td><td style="width:60px">0,00</td></tr></table></div><a name="ElementDeclTest">
+      </a><div class="subsection"><a name="ElementDeclTest"></a><h3>ElementDeclTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSimpleElementDecl</td><td style="width:60px">0,07</td></tr></table></div><a name="ExternalEntityDeclTest">
+      </a><div class="subsection"><a name="ExternalEntityDeclTest"></a><h3>ExternalEntityDeclTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testToString</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSystemId</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testPublicIdSystemId</td><td style="width:60px">0,00</td></tr></table></div><a name="InternalEntityDeclTest">
+      </a><div class="subsection"><a name="InternalEntityDeclTest"></a><h3>InternalEntityDeclTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testToString</td><td style="width:60px">0,06</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testParameterEntity</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGeneralEntity</td><td style="width:60px">0,00</td></tr></table></div><a name="ElementByIDTest">
+      </a><div class="subsection"><a name="ElementByIDTest"></a><h3>ElementByIDTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testElementByID</td><td style="width:60px">0,22</td></tr></table></div><a name="EmbeddedHandlerTest">
+      </a><div class="subsection"><a name="EmbeddedHandlerTest"></a><h3>EmbeddedHandlerTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testMainReader</td><td style="width:60px">0,15</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testOnEndReader</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBothReaders</td><td style="width:60px">0,02</td></tr></table></div><a name="GetQNamesTest">
+      </a><div class="subsection"><a name="GetQNamesTest"></a><h3>GetQNamesTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNames</td><td style="width:60px">0,13</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRename</td><td style="width:60px">0,00</td></tr></table></div><a name="GetXMLEncodingTest">
+      </a><div class="subsection"><a name="GetXMLEncodingTest"></a><h3>GetXMLEncodingTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXMLEncodingFromString</td><td style="width:60px">0,11</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXMLEncodingFromURL</td><td style="width:60px">0,05</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXMLEncodingFromStringWithHelper</td><td style="width:60px">0,00</td></tr></table></div><a name="HTMLWriterTest">
+      </a><div class="subsection"><a name="HTMLWriterTest"></a><h3>HTMLWriterTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWriter</td><td style="width:60px">0,11</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug923882</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug923882asWriter</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug923882asWriterWithEmptyCharArray</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug619415</td><td style="width:60px">0,02</td></tr></table></div><a name="IndexedElementTest">
+      </a><div class="subsection"><a name="IndexedElementTest"></a><h3>IndexedElementTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,19</td></tr></table></div><a name="DispatchHandlerTest">
+      </a><div class="subsection"><a name="DispatchHandlerTest"></a><h3>DispatchHandlerTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug611445</td><td style="width:60px">0,13</td></tr></table></div><a name="DocumentSourceTest">
+      </a><div class="subsection"><a name="DocumentSourceTest"></a><h3>DocumentSourceTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug555549</td><td style="width:60px">0,20</td></tr></table></div><a name="DOMReaderTest">
+      </a><div class="subsection"><a name="DOMReaderTest"></a><h3>DOMReaderTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug972737</td><td style="width:60px">0,11</td></tr></table></div><a name="DOMWriterTest">
+      </a><div class="subsection"><a name="DOMWriterTest"></a><h3>DOMWriterTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNamespaceBug</td><td style="width:60px">0,16</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug905745</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug926752</td><td style="width:60px">0,00</td></tr></table></div><a name="DTDTest">
+      </a><div class="subsection"><a name="DTDTest"></a><h3>DTDTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testInternalDTDSubset</td><td style="width:60px">0,19</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testExternalDTDSubset</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testMixedDTDSubset</td><td style="width:60px">0,01</td></tr></table></div><a name="SAXReaderTest">
+      </a><div class="subsection"><a name="SAXReaderTest"></a><h3>SAXReaderTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testReadFile</td><td style="width:60px">0,11</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testEncoding</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRussian</td><td style="width:60px">0,04</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRussian2</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug833765</td><td style="width:60px">0,03</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug527062</td><td style="width:60px">0,11</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testEscapedComment</td><td style="width:60px">0,00</td></tr></table></div><a name="StaxTest">
+      </a><div class="subsection"><a name="StaxTest"></a><h3>StaxTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testEncoding</td><td style="width:60px">0,13</td></tr></table></div><a name="WriteUnmergedTextTest">
+      </a><div class="subsection"><a name="WriteUnmergedTextTest"></a><h3>WriteUnmergedTextTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithoutFormatNonMerged</td><td style="width:60px">0,13</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithCompactFormatNonMerged</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithPrettyPrintFormatNonMerged</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithoutFormatMerged</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithCompactFormatMerged</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithPrettyPrintFormatMerged</td><td style="width:60px">0,00</td></tr></table></div><a name="XPP3ReaderTest">
+      </a><div class="subsection"><a name="XPP3ReaderTest"></a><h3>XPP3ReaderTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRussian</td><td style="width:60px">0,10</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRussian2</td><td style="width:60px">0,01</td></tr></table></div><a name="IsTextOnlyTest">
+      </a><div class="subsection"><a name="IsTextOnlyTest"></a><h3>IsTextOnlyTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDocument</td><td style="width:60px">0,06</td></tr></table></div><a name="IteratorTest">
+      </a><div class="subsection"><a name="IteratorTest"></a><h3>IteratorTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testElementCount</td><td style="width:60px">0,06</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testPlainIteration</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSkipAlternates</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNoHasNext</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testExtraHasNexts</td><td style="width:60px">0,00</td></tr></table></div><a name="LineFeedTest">
+      </a><div class="subsection"><a name="LineFeedTest"></a><h3>LineFeedTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testElement</td><td style="width:60px">0,10</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAttribute</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCDATA</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXmlWriter</td><td style="width:60px">0,01</td></tr></table></div><a name="MakeElementTest">
+      </a><div class="subsection"><a name="MakeElementTest"></a><h3>MakeElementTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testMakeElement</td><td style="width:60px">0,15</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testMakeQualifiedElement</td><td style="width:60px">0,00</td></tr></table></div><a name="MergeTextTest">
+      </a><div class="subsection"><a name="MergeTextTest"></a><h3>MergeTextTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNoAdjacentText</td><td style="width:60px">0,11</td></tr></table></div><a name="NamespacesTest">
+      </a><div class="subsection"><a name="NamespacesTest"></a><h3>NamespacesTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNamespaces</td><td style="width:60px">0,17</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNamespaceForPrefix</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNamespaceForDefaultPrefix</td><td style="width:60px">0,12</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAttributeDefaultPrefix</td><td style="width:60px">0,03</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNamespaceForURI</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRedeclareNamespaces</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDefaultNamespaceIssue</td><td style="width:60px">0,15</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDefaultNamespace</td><td style="width:60px">0,01</td></tr></table></div><a name="NamespaceTest">
+      </a><div class="subsection"><a name="NamespaceTest"></a><h3>NamespaceTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetElement</td><td style="width:60px">0,09</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetElements</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testElementIterator</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNamespaceUriMap</td><td style="width:60px">0,11</td></tr></table></div><a name="NodeTypeNameTest">
+      </a><div class="subsection"><a name="NodeTypeNameTest"></a><h3>NodeTypeNameTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDocument</td><td style="width:60px">0,05</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCDATA</td><td style="width:60px">0,04</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNamespaces</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testPI</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testInline</td><td style="width:60px">0,04</td></tr></table></div><a name="NormalizeTest">
+      </a><div class="subsection"><a name="NormalizeTest"></a><h3>NormalizeTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNormalize</td><td style="width:60px">0,21</td></tr></table></div><a name="NullAttributesTest">
+      </a><div class="subsection"><a name="NullAttributesTest"></a><h3>NullAttributesTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testStringNames</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNames</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAttributes</td><td style="width:60px">0,00</td></tr></table></div><a name="ParentTest">
+      </a><div class="subsection"><a name="ParentTest"></a><h3>ParentTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDocument</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testFragment</td><td style="width:60px">0,00</td></tr></table></div><a name="ParseTextTest">
+      </a><div class="subsection"><a name="ParseTextTest"></a><h3>ParseTextTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDocument</td><td style="width:60px">0,21</td></tr></table></div><a name="ProcessingInstructionTest">
+      </a><div class="subsection"><a name="ProcessingInstructionTest"></a><h3>ProcessingInstructionTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testParseValues</td><td style="width:60px">0,06</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug787428</td><td style="width:60px">0,00</td></tr></table></div><a name="RoundTripTest">
+      </a><div class="subsection"><a name="RoundTripTest"></a><h3>RoundTripTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testTextRoundTrip</td><td style="width:60px">0,23</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSAXRoundTrip</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDOMRoundTrip</td><td style="width:60px">0,08</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testJAXPRoundTrip</td><td style="width:60px">0,10</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testFullRoundTrip</td><td style="width:60px">0,14</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRoundTrip</td><td style="width:60px">2,06</td></tr></table></div><a name="PriorityTest">
+      </a><div class="subsection"><a name="PriorityTest"></a><h3>PriorityTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNameNode</td><td style="width:60px">0,16</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testFilter</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testURI</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAnyNode</td><td style="width:60px">0,00</td></tr></table></div><a name="RuleTest">
+      </a><div class="subsection"><a name="RuleTest"></a><h3>RuleTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testOrder</td><td style="width:60px">0,15</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDocument</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testTextMatchesCDATA</td><td style="width:60px">0,01</td></tr></table></div><a name="StylesheetTest">
+      </a><div class="subsection"><a name="StylesheetTest"></a><h3>StylesheetTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRules</td><td style="width:60px">0,23</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testLittleDoc</td><td style="width:60px">0,05</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testFireRuleForNode</td><td style="width:60px">0,01</td></tr></table></div><a name="SAXContentHandlerTest">
+      </a><div class="subsection"><a name="SAXContentHandlerTest"></a><h3>SAXContentHandlerTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSAXContentHandler</td><td style="width:60px">0,20</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug926713</td><td style="width:60px">0,01</td></tr></table></div><a name="SerializeTest">
+      </a><div class="subsection"><a name="SerializeTest"></a><h3>SerializeTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSerializePeriodicTable</td><td style="width:60px">0,98</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSerializeMuchAdo</td><td style="width:60px">0,97</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSerializeTestSchema</td><td style="width:60px">0,03</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSerializeXPath</td><td style="width:60px">0,17</td></tr></table></div><a name="SetContentTest">
+      </a><div class="subsection"><a name="SetContentTest"></a><h3>SetContentTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDocument</td><td style="width:60px">0,05</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRootElement</td><td style="width:60px">0,00</td></tr></table></div><a name="SetTextTest">
+      </a><div class="subsection"><a name="SetTextTest"></a><h3>SetTextTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSetText1</td><td style="width:60px">0,16</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSetText2</td><td style="width:60px">0,00</td></tr></table></div><a name="TableModelTest">
+      </a><div class="subsection"><a name="TableModelTest"></a><h3>TableModelTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testServletTable</td><td style="width:60px">0,30</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testServletTableViaXMLDescription</td><td style="width:60px">0,01</td></tr></table></div><a name="ThreadingTest">
+      </a><div class="subsection"><a name="ThreadingTest"></a><h3>ThreadingTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">
+            </td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">
+            </td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">
+            </td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">
+            </td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,24</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,03</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,07</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,09</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,06</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">
+            </td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,04</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,07</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,03</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,03</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,07</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,04</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,04</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,03</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCombo</td><td style="width:60px">0,04</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">
+            </td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">
+            </td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">
+            </td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">
+            </td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,66</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,06</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,06</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,80</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,05</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,21</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,09</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,37</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,10</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,46</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,04</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,15</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,20</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,29</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,03</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,16</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,23</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,09</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,02</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,04</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,14</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,24</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,02</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,15</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,08</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,24</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,23</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,07</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,26</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,04</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,17</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,03</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testQNameCache</td><td style="width:60px">0,40</td></tr></table></div><a name="CDataTest">
+      </a><div class="subsection"><a name="CDataTest"></a><h3>CDataTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNullTest</td><td style="width:60px">0,06</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNormal</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testLongCData</td><td style="width:60px">0,11</td></tr></table></div><a name="DefaultDocumentTest">
+      </a><div class="subsection"><a name="DefaultDocumentTest"></a><h3>DefaultDocumentTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDoubleRootElement</td><td style="width:60px">0,05</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug799656</td><td style="width:60px">0,05</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAsXMLWithEncoding</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug1156909</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAsXMLWithEncodingAndContent</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testEncoding</td><td style="width:60px">0,00</td></tr></table></div><a name="DefaultElementTest">
+      </a><div class="subsection"><a name="DefaultElementTest"></a><h3>DefaultElementTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testParentAfterSetContent</td><td style="width:60px">0,19</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetStringValue</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug894878</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetNamespacesForURI</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDeclaredNamespaces</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAdditionalNamespaces</td><td style="width:60px">0,01</td></tr></table></div><a name="NamespaceCacheTest">
+      </a><div class="subsection"><a name="NamespaceCacheTest"></a><h3>NamespaceCacheTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetSameNamespaceSingleThread</td><td style="width:60px">0,09</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetSameNamespaceMultiThread</td><td style="width:60px">0,06</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetNewNamespaceSingleThread</td><td style="width:60px">0,16</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetNewNamespaceMultiThread</td><td style="width:60px">0,07</td></tr></table></div><a name="UserDataTest">
+      </a><div class="subsection"><a name="UserDataTest"></a><h3>UserDataTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSetData</td><td style="width:60px">0,12</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCloneAttribute</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNewAdditions</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNewDocument</td><td style="width:60px">0,00</td></tr></table></div><a name="SimpleSingletonTest">
+      </a><div class="subsection"><a name="SimpleSingletonTest"></a><h3>SimpleSingletonTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testFirstInstance</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSecondInstance</td><td style="width:60px">0,00</td></tr></table></div><a name="ValidationTest">
+      </a><div class="subsection"><a name="ValidationTest"></a><h3>ValidationTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testValidation</td><td style="width:60px">0,09</td></tr></table></div><a name="XMLResultTest">
+      </a><div class="subsection"><a name="XMLResultTest"></a><h3>XMLResultTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWriter</td><td style="width:60px">0,10</td></tr></table></div><a name="XMLSpaceAttributeTest">
+      </a><div class="subsection"><a name="XMLSpaceAttributeTest"></a><h3>XMLSpaceAttributeTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithTextTrimOn</td><td style="width:60px">0,21</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithTextTrimOff</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithTextTrimOnFollow</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithTextTrimOnNested</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWithEscapeTextTrimOn</td><td style="width:60px">0,01</td></tr></table></div><a name="XMLWriterTest">
+      </a><div class="subsection"><a name="XMLWriterTest"></a><h3>XMLWriterTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug1180791</td><td style="width:60px">0,10</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug1119733</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug1119733WithSAXEvents</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWriter</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testEncodingFormats</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWritingEmptyElement</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWriterBug</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNamespaceBug</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testContentHandler</td><td style="width:60px">0,11</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWhitespaceBug</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWhitespaceBug2</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testPadding</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testPadding2</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testPrettyPrinting</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testAttributeQuotes</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug868408</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug923882</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testEscapeXML</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testWriteEntities</td><td style="width:60px">0,04</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testEscapeChars</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testEscapeText</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testNullCData</td><td style="width:60px">0,00</td></tr></table></div><a name="AttributeTest">
+      </a><div class="subsection"><a name="AttributeTest"></a><h3>AttributeTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,19</td></tr></table></div><a name="BadPathTest">
+      </a><div class="subsection"><a name="BadPathTest"></a><h3>BadPathTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBadPaths</td><td style="width:60px">0,10</td></tr></table></div><a name="BooleanTest">
+      </a><div class="subsection"><a name="BooleanTest"></a><h3>BooleanTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,19</td></tr></table></div><a name="FilterTest">
+      </a><div class="subsection"><a name="FilterTest"></a><h3>FilterTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,35</td></tr></table></div><a name="GetPathTest">
+      </a><div class="subsection"><a name="GetPathTest"></a><h3>GetPathTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testGetPath</td><td style="width:60px">0,07</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testDefaultNamespace</td><td style="width:60px">0,05</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug770410</td><td style="width:60px">0,13</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug569927</td><td style="width:60px">0,00</td></tr></table></div><a name="MatrixConcatTest">
+      </a><div class="subsection"><a name="MatrixConcatTest"></a><h3>MatrixConcatTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testMatrixConcat</td><td style="width:60px">0,22</td></tr></table></div><a name="NamespaceTest">
+      </a><div class="subsection"><a name="NamespaceTest"></a><h3>NamespaceTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,22</td></tr></table></div><a name="NumberTest">
+      </a><div class="subsection"><a name="NumberTest"></a><h3>NumberTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,20</td></tr></table></div><a name="ObjectTest">
+      </a><div class="subsection"><a name="ObjectTest"></a><h3>ObjectTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,17</td></tr></table></div><a name="PrefixTest">
+      </a><div class="subsection"><a name="PrefixTest"></a><h3>PrefixTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,21</td></tr></table></div><a name="SelectSingleNodeTest">
+      </a><div class="subsection"><a name="SelectSingleNodeTest"></a><h3>SelectSingleNodeTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSelectSingleNode</td><td style="width:60px">0,25</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSteensBug</td><td style="width:60px">0,04</td></tr></table></div><a name="SortByTest">
+      </a><div class="subsection"><a name="SortByTest"></a><h3>SortByTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,62</td></tr></table></div><a name="SubstringTest">
+      </a><div class="subsection"><a name="SubstringTest"></a><h3>SubstringTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testSubstring</td><td style="width:60px">0,21</td></tr></table></div><a name="TextTest">
+      </a><div class="subsection"><a name="TextTest"></a><h3>TextTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,15</td></tr></table></div><a name="UriMapTest">
+      </a><div class="subsection"><a name="UriMapTest"></a><h3>UriMapTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testURIMap</td><td style="width:60px">0,21</td></tr></table></div><a name="ValueOfTest">
+      </a><div class="subsection"><a name="ValueOfTest"></a><h3>ValueOfTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,21</td></tr></table></div><a name="VariableTest">
+      </a><div class="subsection"><a name="VariableTest"></a><h3>VariableTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,14</td></tr></table></div><a name="XPathBugTest">
+      </a><div class="subsection"><a name="XPathBugTest"></a><h3>XPathBugTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,25</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testRobLebowitz</td><td style="width:60px">0,01</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testStefan</td><td style="width:60px">0,01</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testMikeSkells</td><td style="width:60px">0,00</td></tr></table></div><a name="XPathExamplesTest">
+      </a><div class="subsection"><a name="XPathExamplesTest"></a><h3>XPathExamplesTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">1,07</td></tr></table></div><a name="XPathTest">
+      </a><div class="subsection"><a name="XPathTest"></a><h3>XPathTest</h3><table class="bodyTable"><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug1116471</td><td style="width:60px">0,20</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testXPaths</td><td style="width:60px">0,06</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testCreateXPathBug</td><td style="width:60px">0,00</td></tr><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBug857704</td><td style="width:60px">0,00</td></tr><tr class="b"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testBooleanValueOf</td><td style="width:60px">0,01</td></tr></table></div><a name="XSLTTest">
+      </a><div class="subsection"><a name="XSLTTest"></a><h3>XSLTTest</h3><table class="bodyTable"><tr class="a"><td style="width:20px">
+              <img width="15" height="15" src="images/icon_success_sml.gif" alt="Success"></img>
+            </td><td style="width:98%">testTransform</td><td style="width:60px">0,47</td></tr></table></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/license.html b/docs/license.html
new file mode 100644
index 0000000..44461e1
--- /dev/null
+++ b/docs/license.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - License</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="James Strachan"></meta><meta name="email" content="jstrachan at apache.org"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://source [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+ Redistribution and use of this software and associated documentation
+ ("Software"), with or without modification, are permitted provided
+ that the following conditions are met:
+</p><ol>
+<li>
+    Redistributions of source code must retain copyright
+    statements and notices.  Redistributions must also contain a
+    copy of this document.
+</li>
+<li> 
+    Redistributions in binary form must reproduce the
+    above copyright notice, this list of conditions and the
+    following disclaimer in the documentation and/or other
+    materials provided with the distribution.
+</li>
+<li> 
+    The name "DOM4J" must not be used to endorse or promote
+    products derived from this Software without prior written
+    permission of MetaStuff, Ltd.  For written permission,
+    please contact dom4j-info at metastuff.com.
+</li>
+<li> 
+    Products derived from this Software may not be called "DOM4J"
+    nor may "DOM4J" appear in their names without prior written
+    permission of MetaStuff, Ltd. DOM4J is a registered
+    trademark of MetaStuff, Ltd.
+</li>
+<li> 
+    Due credit should be given to the DOM4J Project - 
+    http://www.dom4j.org
+</li>
+</ol><p>
+ THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
+ ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ OF THE POSSIBILITY OF SUCH DAMAGE.
+</p><p>
+ Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+</p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/mail-lists.html b/docs/mail-lists.html
new file mode 100644
index 0000000..2ac8e98
--- /dev/null
+++ b/docs/mail-lists.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Mailing Lists</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        These are the mailing lists that have been established for this
+        project.  For each list, there is a subscribe, unsubscribe, and an
+        archive link.
+      </p><table class="bodyTable"><thead>
+        <tr class="b"><th>List Name</th><th>Subscribe</th><th>Unsubscribe</th><th>Archive</th></tr>
+        </thead><tbody>
+                <tr class="a"><td>dom4j user list</td><td>
+            <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-user" class="externalLink" title="External Link">Subscribe</a>
+      </td><td>
+            <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-user" class="externalLink" title="External Link">Unsubscribe</a>
+      </td><td>
+            <a href="http://www.mail-archive.com/dom4j-user%40lists.sourceforge.net/" class="externalLink" title="External Link">Archive</a>
+      </td></tr>
+                <tr class="b"><td>dom4j developer list</td><td>
+            <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-dev" class="externalLink" title="External Link">Subscribe</a>
+      </td><td>
+            <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-dev" class="externalLink" title="External Link">Unsubscribe</a>
+      </td><td>
+            <a href="http://www.mail-archive.com/dom4j-dev%40lists.sourceforge.net/" class="externalLink" title="External Link">Archive</a>
+      </td></tr>
+                <tr class="a"><td>dom4j commits list</td><td>
+            <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-commits" class="externalLink" title="External Link">Subscribe</a>
+      </td><td>
+            <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-commits" class="externalLink" title="External Link">Unsubscribe</a>
+      </td><td>
+      Not Available
+  </td></tr>
+                </tbody></table></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/maven-reports.html b/docs/maven-reports.html
new file mode 100644
index 0000000..df520d6
--- /dev/null
+++ b/docs/maven-reports.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Project Reports</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        This document provides an overview of the various reports that
+        are automatically generated by 
+        <a href="http://maven.apache.org/" class="externalLink" title="External Link">Maven</a>.
+        Each report is briefly described below.
+      </p><div class="subsection"><a name="Overview"></a><h3>Overview</h3><table class="bodyTable"><tr class="b"><th>Document</th><th>Description</th></tr><tr class="a"><td><a href="changelog-report.html">Change Log</a></td><td>Report on the source control changelog.</td></tr><tr class="b"><td><a href="changes-report.html">Changes</a></td><td>Report on the project changes.</td></tr><tr class="a"><td><a href="checkstyle-report.html">Checkstyle</a></td><td>Report on coding style convention [...]
\ No newline at end of file
diff --git a/docs/project-info.html b/docs/project-info.html
new file mode 100644
index 0000000..ad32b40
--- /dev/null
+++ b/docs/project-info.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Project Information</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" s [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        This document provides an overview of the various documents and
+        links that are part of this project's general information.  All
+        of this content is automatically generated by 
+        <a href="http://maven.apache.org/" class="externalLink" title="External Link">Maven</a> on
+        behalf of the project.
+      </p><div class="subsection"><a name="Overview"></a><h3>Overview</h3><table class="bodyTable"><tr class="b"><th>Document</th><th>Description</th></tr><tr class="a"><td><a href="mail-lists.html">Mailing Lists</a></td><td>
+              This document provides subscription and archive
+              information for this project's mailing lists.
+            </td></tr><tr class="b"><td><a href="team-list.html">Project Team</a></td><td>
+              This document provides information on the members of
+              this project.  These are the individuals who have
+              contributed to the project in one form or another.
+            </td></tr><tr class="a"><td><a href="dependencies.html">Dependencies</a></td><td>
+              This document lists the projects dependencies and provides
+              information on each dependency.
+            </td></tr><tr class="b"><td><a href="cvs-usage.html">Source Repository</a></td><td>
+              This is a link to the online source repository that can be
+              viewed via a web browser.
+            </td></tr><tr class="a"><td><a href="issue-tracking.html">Issue Tracking</a></td><td>
+              This is a link to the issue tracking system for this
+              project.  Issues (bugs, features, change requests) can be
+              created and queried using this link.
+            </td></tr></table></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/status.html b/docs/status.html
new file mode 100644
index 0000000..44758bb
--- /dev/null
+++ b/docs/status.html
@@ -0,0 +1,780 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Change History</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><meta name="author" content="James Strachan"></meta><meta name="email" content="jstrachan at apache.org"></meta></head><body class="composite"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://source [...]
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+           (contributed by Todd Wolff).</p><p>Fixed a ClassCastException bug in <code>BeanElement</code>.</p><p>Fixed a bug in <code>SAXContentHandler</code> which caused a <code>NullPointerException</code> in some 
+           situations.</p><p>Fixed bug which prevented an element's namespace prefix from being registered for use in xpath expressions (contributed by Todd Wolff).</p><p>Fixed bug in <code>XMLWriter</code> that caused duplication of the default namespace declaration (reported by Todd Wolff).</p><p>Added a bunch of patches to make the dom4j DOM classes more DOM compliant (contributed by Curt Arnold).</p><p>Fixed bug in <code>DispatchHandler</code> which made the handler not reusable (rep [...]
+        </p><p>Patched the DOMElement replaceChild method to return the correct Node and to throw a DOMException when trying to replace a non-existing child.
+        </p><p>Added patch to BackedList that could cause IndexOutOfBoundsExceptions to be thrown
+        	that was kindly supplied by Andy Yang - thanks Andy!	
+        </p><p>Update of Cookbook containing a chapter about rule API.
+        </p><p>Patched SAXWriter to not pass in null System or Public IDs which can cause problems in Saxon.
+        </p><p>Patched dom4j to work against Jaxen 1.0 RC1 or later build.
+        </p><p>Applied patch to bug found by Tom Oehser that XPath expressions using elements or attributes whose name starts 
+        with '_' were not being handled correctly. It turns out this was a SAXPath issue.
+        </p><p>Applied patch to bug found by Soumanjoy Das that creating a new DOMDocument then calling createElement() would generate
+          a ClassCastException.
+        </p><p>Applied patch supplied by James Dodd that fixes a MIME encoding issue in the embedded Aelfred parser
+        </p><p>Applied patch to fix bug found by David Frankson. Adding attributes with null values causes problems in XSLT engines
+            so now adding a null valued attribute is equivalent to removing the attribute. So null attribute values are silently ignored.
+            e.g.
+<pre>
+Element element = ...;
+element.addAttribute( "foo", "123" );
+...
+Attribute attribute = element.attribute( "foo" );
+assertTrue( attribute != null );
+...
+element.addAttribute( "foo", null );
+attribute = element.attribute( "foo" );
+assertTrue( attribute == null );
+</pre>
+        </p></div><div class="section"><a name="1_3_Release"></a><h2>1.3 Release</h2><div class="section"><a name="Patches"></a><h2>Patches</h2><p>Applied patch to bug found by Mike Skells that was causing XPath.matches() to return true for absolute XPaths which returned different nodes to the node provided to the XPath.
+        </p><p>Applied patch provided by Stefan that was causing IndexOutOfBoundsException when using the evaluate() method in DefaultXPath on an empty result set. Also added a test case to org.dom4j.TestXPathBug called testStefan().
+        </p><p>Applied patch suggested by Frank Walinsky, that XPath objects are now Serializable. 
+        </p><p>Applied patch provided by Bill Burton that fixes union pattern matching. 
+        </p></div></div><div class="section"><a name="1_2_Release"></a><h2>1.2 Release</h2><div class="section"><a name="New_Swing_TableModel_for_displaying_XML"></a><h2>New Swing TableModel for displaying XML</h2><p>Added a new Swing TableModel for displaying XML data in a Swing user interface. It uses
+          an XPath based model to define the rows and column values.
+          A table definition can be specified using a simple XML format and then loaded in a small amount of code.
+          e.g. here's an example of a table that will list the servlets used in a web.xml document
+        </p><pre>
+<table select="/web-app/servlet">
+  <column select="servlet-name">Name</column>
+  <column select="servlet-class">Class</column>
+  <column select="../servlet-mapping[servlet-name=$Name]/url-pattern">Mapping</column>
+</table>
+</pre><p>
+          Notice the use of the $Name XPath variable to access other cells on the row.
+          Here's the pseudo code to display a table for an XML document.
+          </p><pre>
+Document tableDefinition = ...;
+Document source = ...;
+TableModel tableModel = new XMLTableModel( tableDefinition, source );
+JTable table = new JTable( tableModel );
+</pre><p>
+          There is a sample program in samples/swing/JTableTool which will display any table definition
+          for a given source XML document. There is an example table definition for the periodic table
+          in xml/swing/tableForAtoms.xml.
+        </p></div><div class="section"><a name="Registering_Namespace_URIs_for_XPath"></a><h2>Registering Namespace URIs for XPath</h2><p>Added a new helper method to make it easier to create namespace contexts for doing
+          namespace aware XPath expressions. The new setNamespaceURIs(Map) method on XPath makes it easier
+          to pass in the prefixes and URIs you wish to use in an XPath expression. Here's an example of it in action
+        </p><pre>
+Map uris = new HashMap();
+uris.put( "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/" );
+uris.put( "m", "urn:xmethodsBabelFish" );        
+XPath xpath = document.createXPath( "/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish" );
+xpath.setNamespaceURIs( uris );        
+Node element = xpath.selectSingleNode( document );
+</pre><p>In addition DocumentFactory has a setXPathNamespaceURIs(Map) method so that common namespace URIs can be associated with
+          a DocumentFactory so namespace prefixes can be used across many XPath expressions in an easy way. e.g.
+        </p><pre>
+// register prefixes with my factory
+Map uris = new HashMap();
+uris.put( "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/" );
+uris.put( "m", "urn:xmethodsBabelFish" );        
+
+DocumentFactory factory = new DocumentFactory();
+factory.setXPathNamespaceURIs( uris );
+
+// now parse a document using my factory
+SAXReader reader = new SAXReader();
+reader.setDocumentFactory( factory );
+Document doc = reader.read( "soap.xml" );
+
+// now lets use the prefixes
+Node element = doc.selectSingleNode( "/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish" );
+</pre></div><div class="section"><a name="Whitespace_handling"></a><h2>Whitespace handling</h2><p>There is a new <i>mergeAdjacentText</i> option available on SAXReader 
+        to concatenate adjacent text nodes into a single Text node. 
+        </p><p>
+        In addition there is a new <i>stripWhitespaceText</i> option to strip text which occurs between 
+        start/end tags which only consists of whitespace. 
+        </p><p>
+        For example, parsing the following XML with the stripWhitespaceText option enabled
+        and the mergeAdjacentText option enabled
+        will result in a single child node of the parent element, rather than 3 (2 text nodes containing whitespace and one element).
+        </p><pre>
+<parent>
+  <child>foo</child>
+</parent>
+</pre><p>
+        Note that this option will not break most mixed content markup such as the following, 
+        since its only whitespace between tag start/ends that gets removed; non-whitespace strings are not trimmed.
+        </p><pre>
+<p>hello <b>James</b> how are you?</p>
+</pre><p>
+        Both these options together can improve the parsing performance by around 10-12% depending on the 
+        structure of the document. Though the whitespace layout of the XML document will be lost, so only
+        use these modes in data-centric applications like XML messaging and SOAP.
+        </p><p>
+        So a typical SOAP or XML messaging developer, who may care more about performance than
+        preserving exact whitespace layout, may use the following code to 
+        make the SAX parsing more optimal.
+        </p><pre>
+SAXReader reader = new SAXReader();
+reader.setMergeAdjacentText( true );
+reader.setStripWhitespaceText( true );
+Document doc = reader.read( "soap.xml" );
+</pre></div><div class="section"><a name="Patches"></a><h2>Patches</h2><p>Applied patch to HTMLWriter to fix bug found by Dominik Deimling that was not correctly outputting CDATA sections correctly.
+        </p><p>Patched the setName() method on Element so that elements can be renamed. Also added a new setQName() to the Element interface so that elements can be renamed in a namespace aware manner. Thanks to Robert Lebowitz for this.
+        </p><p>Applied fix to bug found by Manfred Lotz that XMLWriter in whitespace trimming mode would sometimes not correctly insert a space when text is seperated by newlines. The Test case testWhitespaceBug() in org.dom4j.TestXMLWriter reproduces the bug that has now been fixed.
+        </p><p>Applied patches supplied by Stefan Graeber that enhance the datatype support to support included schemata and derived element types.
+        </p><p>Applied patches suggested by Omer van der Horst Jansen to enable dom4j to fully work
+          properly on JDK1.1 platforms. There were some uses of java.util.Stack which have been changed to ArrayList.
+        </p><p>Applied patches supplied by Maarten Coene that fixes some issues with using the correct
+          DocumentFactory when using the DOM implementation.
+        </p><p>Updated the MSV support to comply with the latest MSV version, 1.12 (Nov 01 2001).
+          In addition the MSVDemo.java in dom4j/src/samples/validate has been replaced by
+          JARVDemo.java which now uses the <a href="http://iso-relax.sourceforge.net/JARV/" class="externalLink" title="External Link">JARV</a> API 
+          to validate a dom4j 
+          document using the <a href="http://wwws.sun.com/software/xml/developers/multischema/index.html/" class="externalLink" title="External Link">MSV</a> implementation.
+          This demo can validate any XML document against any DTD, XML Schema, Relax NG, Relax or Trex
+          schema - thanks to the excellent JARV API and MSV library.
+        </p><p>Applied patches supplied by Steen Lehmann that fixes handling of external DTD entities in SAXContentHandler 
+          and fix the XML output of the ExternalEntityDecl
+        </p><p>Applied patch to bug found by Steen Lehmann that XPath expressions on the root element
+          were not correctly handling namespaces correctly. The test case is demonstrated in
+          dom4j/src/test/org/dom4j/xpath/TestSelectSingleNode.java
+        </p><p>Added patch found by Howard Moore when using XTags that XPath string values which contained
+        strings with entities, such as the use of &amp; in a text, would result in redundant spaces
+        occuring, breaking URLs.
+        </p></div></div><div class="section"><a name="1_1_Release"></a><h2>1.1 Release</h2><div class="section"><a name="New_features"></a><h2>New features</h2><p>Added a new package, org.dom4j.dtd which contains some DTD declaration classes which are added to the DocumentType interfaces
+        List of declarations. This is useful for finding out details of the attribute or element delcarations inside either the 
+        internal or external DTD subset of a document. 
+        </p><p>To expand internal or external DTD subsets when parsing with SAXReader use the 2 properties on SAXReader (and SAXContentHandler). 
+        </p><pre>
+SAXReader reader = new SAXReader();
+reader.setIncludeInternalDTDDeclarations( true );
+reader.setIncludeExternalDTDDeclarations( true );
+Document doc = reader.read( "foo.xml" );
+
+DocumentType docType = doc.getDocType();
+List internalDecls = docType.getInternalDeclarations();
+List externalDecls = docType.getExternalDeclarations();
+</pre><p>This new feature means that XML documents which use internal DTD subsets, external DTDs or a mixture of internal and external
+        DTD subsets can now be properly round tripped.
+        </p><p>Note that there appears to be a bug in Crimson 1.1.3 which does not properly differentiate between internal or external DTD 
+        subsets. Refer to the <a href="http://dom4j.org/javadoc/org/xml/sax/ext/LexicalHandler.html#startDTD(java.lang.String,java.lang.String,java.lang.String)" class="externalLink" title="External Link">startDTD()</a>
+        method of <a href="http://dom4j.org/javadoc/org/xml/sax/ext/LexicalHandler.html" class="externalLink" title="External Link">LexicalHandler</a>
+        for details of how startEntity/endEntity is meant to demark external DTD subsets.
+        </p><p>
+        Its our intention to expand internal DTD subsets by default (so that documents can be properly round tripped by default)
+        but require external DTD subsets to be explicitly enabled via the property on the SAXReader (or SAXContentHandler). 
+        This bug in Crimson causes all DTD declarations to appear as internal DTD subsets, which both is a performance overhead
+        and breaks round tripping of documents which just use external DTD declarations. So until this matter is resolved
+        both internal and external declarations are not expanded by default.
+        </p><p>
+        Note that the code works perfectly against Xerces.
+        </p></div><div class="section"><a name="Patches"></a><h2>Patches</h2><p>Applied patch submitted by Yuxin Ruan which fixes some issues with XML Schema Data Type support
+        </p><p>Followed Dennis Sosnoski's suggestion, adding a null text String to an Element
+          now throws an IllegalArgumentException.
+          To ensure that the IllegalArgumentException is not thrown its advisable
+          to check for null first. For example...
+        </p><pre>
+Element element = ...;
+String text = ...;
+
+// might throw IllegalArgumentException
+// if text == null
+element.addText( text );
+
+// safer to do this
+if ( text != null ) {
+  element.addText( text );
+}
+</pre><p>Fixed problem found by Kesav Kumar Kolla whereby a deserialized Document could have problems if 
+          new elements were attempted to be added. The problem was an issue with DocumentFactory not correctly
+          deserializing itself properly.
+        </p><p>Fixed problem found by David Hooker with Ant build file for the 
+        binary and source distribution that was not including the manifest file
+        in the distribution. 
+        </p><p>Applied patch submitted by Lari Hotari that was causing the XMLWriter to fail when used as a 
+        SAX XMLFilter or ContentHandler to turn SAX events into XML text. Thanks Lari!
+        </p><p>Fixed bug found by Kohsuke Kawaguchi that there was a problem in XMLWriter during its serialization of
+        a document which redeclared the default namespace prefix. It turned out to be a bug in
+        org.dom4j.tree.NamespaceStack where redeclarations of namespace prefixes were not being handled properly
+        during serialization. The test cases in org.dom4j.TestXMLWriter and org.dom4j.TestNamespaces have been improved
+        to test these features more rigorously.
+        </p><p>Fixed bug found by Toby
+        that was causing a security exception in applets when using a DocumentFactory.
+        </p><p>Implemented the suggestion by Kesav Kumar, that the detach() method now returns the node (this) so that moving 
+        nodes from one part of a document to any another can now be one line of code. Here's an example of it in use.
+        </p><pre>
+Document doc1 = ...;
+Document doc2; = ...;
+Element destination = doc2.getRootElement();
+Element source = doc1.selectSingleNode( "//foo[@style='bar']" );
+
+// lets move the source to the destination
+destination.add( source.detach() );
+</pre><p>Added better checking in selectSingleNode() implementation so that XPath expressions which do not
+          return a Node throw a meaningful exception (not ClassCastException) informing the user of
+          why the XPath expression did not succeed.
+        </p><p>Added patch found by Kesav Kumar that a document containing null Strings would cause a NullPointerException
+          to be thrown if it was passed into SAXWriter (used by the JAXP - XSLT code). Now the SAXWriter will
+          quietly ignore null Strings, as will XMLWriter.
+        </p></div></div><div class="section"><a name="1_0_release"></a><h2>1.0 release</h2><div class="section"><a name="New_features"></a><h2>New features</h2><p>Added helper method setXMLFilter() to SAXReader making it easier to install SAX filters to filter or preprocess SAX events
+          before a dom4j Document is created. Also added a new sample program called sax.FilterDemo that demonstrates how to use a SAX filter
+          with dom4j.
+          </p><p>
+            Added full support for <a href="http://jaxen.org" class="externalLink" title="External Link">Jaxen</a> function, namespace and variable context interfaces.
+            This allows the XPath engine to be fully customized. e.g.
+<pre>
+XPath xpath = document.createXPath( "//foo[@code='123']" );
+
+// customize function, namespace and variable contexts
+xpath.setFunctionContext( myFunctionContext );
+xpath.setNamespaceContext( myNamespaceContext );
+xpath.setVariableContext( myVariableContext );
+
+List nodes = xpath.selectNodes( document );
+</pre>
+          </p><p>
+            Added new helper class <code>org.dom4j.util.XMLErrorHandler</code> which 
+            turns SAX ErrorHandler callbacks into XML that can then be output in a JAXM or SOAP message
+            or styled via XSLT or whatever.
+          </p><p>Added new helper method <code>DocumentHelper.makeElement(doc, "a/b/c")</code> which will
+            navigate from a document or element to the given simple path, creating new elements along the way if need be.
+            This allows elements to be found or created using a simple path expression mechansim.
+          </p><p>Added helper method getQName(String qualifiedName) to Element so that easier element name matching can be done. Here are some examples of it in use.
+<pre>
+// find all elements with a local name of "foo" 
+// in any namespace
+List list = element.elements( "foo" );
+
+// find all elements with a local name "foo" 
+// and the default namespace URI
+List list = element.elements( element.getQName( "foo" ) );
+
+// find all elements which match the local name "foo" 
+// and the namespace URI mapped to the "x" prefix
+List list = element.elements( element.getQName( "x:foo" ) );
+</pre>
+          </p><p>
+            Added helper method on <code>org.dom4j.DocumentFactory</code> called <code>getQNames</code>
+            that returns a List of all the QNames that were used to parse the documents.
+          </p><p>
+            Added an EntityResolver property to SAXReader to make it easier to configure a specific EntityResolver.
+          </p></div><div class="section"><a name="Patches"></a><h2>Patches</h2><p>Added patch so that patterns such as <code>@id='123'</code> and <code>name()='foo'</code> are now
+            working properly again. Also patterns such as <code>not(@id='123')</code> work now too.
+          </p><p>Patched the dynamic loading of classes to fix some ClassLoader issues found with some application servers.
+          </p><p>Ported the data type support to work with the latest MSV library from Sun
+          </p><p>Fixed bug spotted by Stefan Graeber that was causing a DocumentException to be thrown with Xerces
+            when turning validation mode on.
+          </p><p>Patched bug in QName which was using the qualified name rather than the local name along with the namespace URI
+            to determine equality.
+          </p><p>
+            Added patch kindly supplied by Michal Palicka that SAXReader was passing in the wrong name for the SAX string-interning feature. Thanks Michal!
+          </p><p>
+            Fixed the behaviour of DocumentFactory.createXPathFilter() to use XPath filtering
+            rather than XSLT style patterns. One of the major differences is that an XSLT pattern
+            (used in the <xsl:template match="pattern"/> element in XSLT) works slightly 
+            differently. An element <foo> would match an XSLT pattern "foo" whereas an
+            element <bar> could match an XPath filter "foo" if it contained a child <foo> 
+            element.
+          </p><p>
+            Patched the behaviour of Node.matches(String xpathExpression) so that it uses
+            XPath filters now rather than XSLT patterns.
+          </p><p>
+            Patched bug in XRule implementation in org.dom4j.rule that was causing ordering problems
+            when using stylesheets - the Rule precendence order was not being correctly used.
+          </p><p>
+            Backed out a previous patch added to 0.9 such that attributes with no namespace prefix are in
+            no namespace. An attribute does not inherit the default namespace - the only way to put an attribute
+            into a namespace is via a namespace prefix.
+          </p><p>
+            Patched XMLWriter to that a flush() is not required when using an OutputStream 
+            and the various sub-document write() methods 
+            are called such as write(Element), write(Attribute), write(Node), write(Namespace) etc.
+          </p><p>
+            Fixed bug in SAXReader that setEntityResolver() was not always behaving properly. 
+            Also the default entity resolver used to locate XML Schemas seems to work properly now.
+          </p><p>
+            Moved the XML Schema Data Type supporting classes in org.dom4j.schema.Schema* to
+            org.dom4j.datatype.Datatype*. This should avoid confusion and better describe the
+            intent of the classes, to implement Data typing, rather than schema validation.
+            We hope to use the <a href="http://www.sun.com/software/xml/developers/multischema/" class="externalLink" title="External Link">MSV</a> 
+            library for all of our schema validation requirements.
+          </p></div></div><div class="section"><a name="0_9_release"></a><h2>0.9 release</h2><div class="section"><a name="Full_support_for_the_Jaxen_XPath_engine"></a><h2>Full support for the Jaxen XPath engine</h2><p>The XPath engine in dom4j has been migrated to using <a href="http://jaxen.org" class="externalLink" title="External Link">Jaxen</a>.
+              This single XPath engine can be plugged into any model such that Jaxen will support
+              DOM, dom4j, EXML and JDOM. Hopefully we'll get Jaxen working on Java Beans too.
+            </p><p>
+              In general this will mean a much better, more compliant and more bug-free XPath
+              engine for dom4j as it will be used extensively across XML object models.
+            </p><p>
+              Already numerous irregularities have been fixed in the XPath support in dom4j.
+              We have donated the dom4j XPath test harness to Jaxen so that we now have a large
+              rigorous test harness to ensure correct XPath behaviour - this test harness is run
+              against all 4 current XML object models to ensure consistent behaviour and valid 
+              XPath compliance.             
+            </p><p>
+              We are also in the process of migrating over our XPath extension functions as 
+              well as adding additional XPath functions such as those defined in XSLT and XPointer.
+            </p></div><div class="section"><a name="New_features"></a><h2>New features</h2><p>New class org.dom4j.io.XMLResult which is-a JAXP Result which uses the same
+                org.dom4j.io.OutputFormat object to provide its formatting options 
+                to allow XML output from JAXP (such as via XSLT) to be pretty printed.
+            </p><p>XMLWriter now implements the SAX XMLFilter interface so that it can
+              be added to a SAX parsing filter chain to output the XML being parsed in a simple way.
+              Many thanks to Joseph Bowbeer for his help in this area.
+            </p><p>Added setProperty() and setFeature() methods to SAXReader to allow
+              the easy configuration of custom parser properties via SAXReader, such
+              as being able to specify the location of schema or DTD resources.
+            </p><p>Added new method OutputFormat.createCompactFormat() for those wishing
+              to output their XML in a compact format, such as in messaging systems.
+            </p></div><div class="section"><a name="Patches_and_bug_fixes"></a><h2>Patches and bug fixes</h2><p>Fixed bug in getNamespaceForPrefix() where if the prefix is null or ""
+               and there is a default namespace defined, this method was returning 
+               a namespace instance with the incorrect URI. 
+            </p><p>Patched DOM writer so that it uses JAXP if it is available on the CLASSPATH
+               using namespace aware mode by default.
+            </p><p>Fixed a number of issues relating to namespaces and the redefinition of namespace prefixes.
+              We now have a quite aggressive JUnit test harness to ensure that we handle namespace URIs
+              correctly when prefixes are mapped and unmapped.
+            </p><p>Applied patch from Andrew Wason for HTMLWriter to support the full
+              HTML 4.01 DTD elements which do not require proper XML element closes.
+              The new elements are PARAM, AREA, LINK, COL, BASE and META.
+            </p><p>Fixed bug found by Dennis Sosnoski that SAX warnings were causing
+              exceptions to be thrown by the SAXReader. Now warnings are silently ignored.
+              If you want to detect warnings then an ErrorHandler should be registered with the
+              SAXReader.
+            </p><p>Patched bug that was also found by Jonathan Doughty for the non-standard
+               behaviour of the FilterIterator. Also added Jonathan's JUnit test case
+               to the distribution so that this problem should not come back. 
+            </p><p>Fixed bug that when round tripping into JAXP and back again, sometimes
+              additional namespace attributes were appearing.
+              Now the TestRoundTrip JUnit test case includes JAXP round tripping.
+            </p><p>Fixed bug that attributes without a namespace prefix which are inside
+              an element with a default namespace declaration of the form xmlns="theURI", 
+              the attribute now correctly inherits the namespace URI.
+            </p><p>Applied patch found by Stefan Graeber that the UserDataFactory was not
+              correctly creating UserDataAttribute instances.
+            </p><p>Fixed bug that SAXWriter and DocumentSource were not correctly producing
+            lexical events such as entities, comments and DOCTYPE declarations.
+            Many thanks to Joseph Bowbeer for his help in this area.
+            </p></div></div><div class="section"><a name="0_8_release"></a><h2>0.8 release</h2><div class="section"><a name="New_methods"></a><h2>New methods</h2><pre>hasContent()</pre><p> has been added to the Node interface
+              so that it is easy to decide if a node is a leaf node or not.
+              This method was suggested by Dane Foster.
+              This method returns true if the node is a Branch (i.e. an Element or Document)
+              which contains at least one node.
+            </p><pre>getPath(Element context)</pre><pre>getUniquePath(Element context)</pre><p>These new methods 
+              allow paths and unique paths to be created relatively. Previously both
+              getPath() and getUniquePath() would create absolute XPath expressions. 
+              These new methods allow relative path expressions to be created by providing
+              an ancestor Element from which to make the path expression.
+              This method was suggested by Chris Nokleberg.
+            </p></div><div class="section"><a name="Patches_and_bug_fixes"></a><h2>Patches and bug fixes</h2><p>Fixed bug found by Chris Nokleberg when using the UserDataElement
+               that the clone() and createCopy() methods were not correctly 
+               copying the user data object. A JUnit test case has been added that
+               tests this fix (org.dom4j.TestUserData).
+               If any deep copying of user data objects is required then
+               UserDataElement now has a method getCopyOfUserData()
+               which can be overloaded to perform a deep copy of any user data
+               objects if required.               
+            </p><p>Minor patch for dom4j implementors wishing to create their own 
+              QName implementations. Previously the DocumentFactory class was
+              hardwired to use QNameCache internally which was hard wired to 
+              only create QName instances.
+              Now some factory methods have been added such that you can derive 
+              your own DocumentFactory which uses your own
+              QNameCache which creates your own QName classes.
+            </p><p>If JAXP can be found in the CLASSPATH then it is now used first by
+              the SAXReader to find the correct SAX parser class. 
+              We have found that sometimes (e.g. Tomcat 4.0 beta 6) the value
+              of the org.xml.sax.driver system property is set to a class which is not 
+              in the CLASSPATH but a valid JAXP parser is present. 
+              So now we try JAXP first, then the SAX system property then if all else fails
+              we use the bundled Aelfred SAX parser.
+            </p><p>Fixed XPath bug found by James Elson that the path /foo[@a and @b] or
+              /foo[@a='1' and @b='2'] was no longer working correctly. This is now fixed
+              and many tests of this nature have been added to the JUnit test harness.
+            </p><p>Fixed some namespace related bugs found by Steen Lehmann.
+              It appears that for a document of:-
+
+           </p><pre>
+<a xmlns="dummyNamespace">
+  <b>
+    <c>Hello</c>
+  </b>
+</a>
+</pre><p>Then the path /a/b/c will not find anything - this is correct according to the XPath spec.
+              Instead the path /*[name()='a']/*[name()='b']/*[name()='c'] is required.
+              These changes have been applied to getPath() and getUniquePath() such that
+              these methods now work, irrespectively of the namespaces used in a document.
+              Finally many new test cases have been added to validate a variety of XPath
+              expressions with various uses of namespaces.
+            </p><p>SAXWriter now fully supports the SAX feature "http://xml.org/sax/features/namespace-prefixes".
+              Failure to support this feature properly was causing problems
+              when outputting a dom4j Document using JAXP - the namespace declarations often did not appear correctly.
+            </p><p>Patched bug in XMLWriter which caused multiple duplicate namespace declarations to sometimes appear.
+            </p></div></div><div class="section"><a name="0_7_release"></a><h2>0.7 release</h2><div class="section"><a name="Integration_with_SAXPath"></a><h2>Integration with SAXPath</h2><p>The <a href="http://saxpath.org" class="externalLink" title="External Link">SAXPath</a> project is a 
+              Simple API for XPath parsing. Its analogous to
+              SAX in that the API abstracts away the details of parsing XPath 
+              expressions and provides a simple event based callback
+              interface. 
+             </p><p>
+              Originally dom4j was using a parser generated via the <a href="http://antlr.org" class="externalLink" title="External Link">Antlr</a> tool
+              which resulted in a considerably larger code base. 
+              Now dom4j uses SAXPath for its XPath parsing which results in faster XPath parsing 
+              and a much smaller code base. 
+             </p><p>
+              The dom4j.jar is now about 100 Kb smaller!
+              Also several XPath related bugs are now fixed. For example the numeric paths like '2 + count(//foo)' are now working.              
+             </p></div><div class="section"><a name="Patches_and_bug_fixes"></a><h2>Patches and bug fixes</h2><p>Fixed bug found by Tobias Rademacher that XML Schema Data Type support
+            wasn't working correctly when the XSD document used a namespace prefix.
+            The bug was hidden by a further bug in the JUnit test case that was not correctly
+            testing this case. Both these bugs are now fixed.
+            </p><p>Fixed bug found by Piero de Salvia that some invalid XPath expressions were not correctly
+            throwing exceptions. Now any attempt to use any invalid XPath expressions should result
+            in an 
+              <a href="apidocs/org/dom4j/InvalidXPathException.html">InvalidXPathException</a>
+            being thrown.
+            </p><p>Applied patch submitted by Theodor Schwarzinger that fixes the preceding-sibling and preceding axes.
+            </p><p>Fixed bug found my James Elson that the normalize() method was being quite agressive and removing 
+              all text nodes! New JUnit test case added to ensure this doesn't break again.
+            </p><p>Improved the setContent() semantics on Branch (and so Element and Document) such that the 
+              parent and document relationships are correctly removed for old content and added for new content.
+              As a helper method, the setContent() method will clone any content nodes which are already
+              part of an existing document. So for example the following code will clone the content of a document.
+<pre>
+    Document doc1 = ...;
+    Document doc2 = DocumentHelper.createDocument();  
+    doc2.setContent( doc1.content() );
+</pre>
+              Though this behaviour is much more useful when used with elements...
+<pre>
+    Element sourceElement;
+    Element destElement;
+
+    // copy the content of sourceElemenet
+    destElement.setContent( sourceElement.content() );
+</pre>
+            </p></div></div><div class="section"><a name="0_6_release"></a><h2>0.6 release</h2><div class="section"><a name="Serialization_support_added"></a><h2>Serialization support added</h2><p>Support has been added for Java Serialization so dom4j documents can be serialized over RMI or EJB calls.
+            Note that currently Serialization is <i>much</i> slower (by a factor of 2-5 times) than using the textual format of
+            XML so we recommend sending XML text over RMI rather than serialization if possible. Over time we will tune
+            the serialization implementation to be at least as fast as using the text format (even if that means under the 
+            covers we just use the text format).
+            </p></div><div class="section"><a name="Patches_and_bug_fixes"></a><h2>Patches and bug fixes</h2><p>Fixed bug in XPath engine found by Christophe Ponsard
+              for paths of the form /* which were not finding
+              anything. Now we have an extensible XPath test harness (in src/test/org/dom4j/TestXPathExamples.java)
+              which contains some test cases for these kinds of paths. We can extend these cases
+              to test other XPath expressions easily.
+            </p><p>Fixed bug in elementByID() method found by Thomas Nichols that was resulting in
+              the element not being found correctly.
+            </p><p>Fixed bug in IndexedElement reported by Kerstin Gr�nefeld that was causing
+              a null pointer exception when using XPath on an IndexedElement.
+            </p><p>Applied the patch supplied by Mike Skells that fix problems with the
+              getUniquePath() method not returning properly indexed elements
+            </p><p>Applied a fix to the problem found by Dane Foster when using dom4j with JTidy.
+              JTidy returns null for getLocalName() so DOMReader has been patched to handle
+              nulls returned from either getLocalName() or getName().
+            </p><p>Fixed bug reported anonymously to the Sourceforge Site
+              <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=436670&group_id=16035&atid=116035" class="externalLink" title="External Link">
+              here
+              </a>
+              that explicitly creating a Document from an existing Element could cause problems when
+              using XMLWriter.
+            </p><p>Assorted performance tunings of SAX parsing, avoiding unnecessary repeated code paths.
+            </p><p>Tidied factory and construction of Element code such that there are no longer
+            dependencies on the SAX Attributes class. This was originally added as a performance
+            enhancement, but after further refactoring this is now no longer needed.
+            This makes the process of creating new Element derivations or DocumentFactory
+            implementations easier.
+            </p></div></div><div class="section"><a name="0_5_release"></a><h2>0.5 release</h2><div class="section"><a name="NodeComparator_available"></a><h2>NodeComparator available</h2><p>For those wishing to do value based comparisons of Nodes, 
+              Element, Attributes, Documents or Document fragments
+              there is a new 
+              <a href="apidocs/org/dom4j/util/NodeComparator.html">NodeComparator</a>
+              class which implements the 
+              <a href="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html" class="externalLink" title="External Link">Comparator</a>
+              interface from the Java Collections Framework.
+            </p></div><div class="section"><a name="New_helper_method_DocumentHelper_parseText__"></a><h2>New helper method DocumentHelper.parseText()</h2><p>A new helper method has been added for parsing text.
+              For example:-
+            </p><pre>
+    Document document = DocumentHelper.parseText(
+        "<team> <author>James</author> </team>"
+    );
+</pre></div><div class="section"><a name="New_Branch_normalize___method"></a><h2>New Branch.normalize() method</h2><p>The Branch interface (and so Document and Element interfaces) has 
+              a new normalize() method that has the same semantics as the same method 
+              in the DOM API to remove empty Text nodes and merge adjacent Text nodes.
+            </p></div><div class="section"><a name="Easier_document_building_methods"></a><h2>Easier document building methods</h2><p>A document can now be constructed more easily now that the addXXX() methods
+              return a reference to the Document or Element which created them.
+              An example is shown below
+            </p><pre>
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+public class Foo {
+
+    public Document createDocument() {
+        Document document = DocumentHelper.createDocument();
+        Element root = document.addElement( "root" );
+
+        Element author1 = root.addElement( "author" )
+            .addAttribute( "name", "James" )
+            .addAttribute( "location", "UK" )
+            .addText( "James Strachan" );
+        
+        Element author2 = root.addElement( "author" )
+            .addAttribute( "name", "Bob" )
+            .addAttribute( "location", "Canada" )
+            .addText( "Bob McWhirter" );
+
+        return document;
+    }
+}
+</pre><p>
+              Note that the addElement() method returns the <b>new</b> child element
+              not the parent element.
+            </p><p>
+              To promote consistency, the Element.setAttributeValue() method is now deprecated
+              and should be replaced with Element.addAttribute().
+            </p></div><div class="section"><a name="Patches_and_bug_fixes"></a><h2>Patches and bug fixes</h2><p>Applied Theo's patch for cloning of Documents correctly 
+              together with JUnit test cases to ensure this keeps working.
+            </p><p>Applied Rob Wilson's patch that NullPointerExceptions 
+              were being thrown if a Document is output with the XMLWriter
+              and an attribute value is null.
+            </p><p>Fixed problem found by Nicolas Fonrose that XPath expressions
+              using namespace prefixes were not working correcty.
+            </p><p>Fixed problem found by Thomas Nichols whereby default namespaces
+              with no prefix were not being processed correctly. 
+              As a result of finding this bug we now have a rigorous JUnit round trip test 
+              harness in place which highlighted a number of issues with namespaces when
+              round tripping from dom4j to SAX to DOM to Text and back again.
+              These issues have now been fixed and should not show up again hopefully.
+            </p><p>Fixed some detach() bugs that were found with Attributes.
+            </p><p>Default encoding is now "UTF-8" rather than "UTF8". Thanks to
+              Thomas Nichols for spotting that one. Also the default 
+              line seperator when using XMLWriter is now "\n" rather than "\r\n"
+            </p><p>If an XMLWriter is used with an OutputStream then an explicit call to 
+            flush() is no longer required after calling write(Document)
+            </p><p>Some housekeeping was performed in the naming of some implementation classes.
+              The old XPathXXX.java classes in the org.dom4j.tree package 
+              where XXX = Attribute, CDATA, 
+              Comment, Entity, ProcessingInstruction and Text have been renamed to
+              DefaultXXX and the corresponding DefaultXXX has been renamed to
+              FlyweightXXX. This makes it clearer the purpose of these implementation
+              classes. The default implementations of the leaf nodes are mutable but cannot
+              be shared across elements. The FlyweightXXX implementations are immutable
+              and can be shared across nodes and documents.
+            </p></div></div><div class="section"><a name="0_4_release"></a><h2>0.4 release</h2><div class="section"><a name="Enhanced_event_notification_mechanism"></a><h2>Enhanced event notification mechanism</h2><p>A new enhanced event notification mechanism has been implemented
+              by David White.
+              Now you can register multple
+              <a href="apidocs/org/dom4j/ElementHandler.html">ElementHandler</a>
+              instances with a 
+              <a href="apidocs/org/dom4j/io/SAXReader.html">SAXReader</a>
+              object before you parse a document such that the different
+              handlers are notified when different paths are reached.
+            </p><p>
+              The <a href="apidocs/org/dom4j/ElementHandler.html">ElementHandler</a>
+              interface now has both <code>onStart()</code> and <code>onEnd()</code>
+              allowing more fine grained control over when you are called
+              and the ability to perform actions before or after the content
+              for an Element is populated.
+              The methods also take a reference to a 
+              <a href="apidocs/org/dom4j/ElementPath.html">ElementPath</a>
+              to allow more optimised and powerful access to the path to the specified document.
+            </p></div><div class="section"><a name="Early_alpha_release_of_XML_Schema_Data_Type_support"></a><h2>Early alpha release of XML Schema Data Type support</h2><p>This release contains an alpha release of XML Schema Data Type
+            support.  
+            The main class in question is the XML Schema Data Type aware
+            <a href="apidocs/org/dom4j/datatype/DatatypeDocumentFactory.html">DatatypeDocumentFactory</a>            
+            which will create an XML Schema Data Type aware XML object model.
+            </p><p>
+              The <code>getData()</code> and <code>setData(Object)</code> methods
+              on 
+              <a href="apidocs/org/dom4j/Attribute.html">Attribute</a> and            
+              <a href="apidocs/org/dom4j/Element.html">Element</a>            
+              allow access to the concrete data types such as Dates and Numbers.
+            </p></div><div class="section"><a name="Patches_and_bug_fixes"></a><h2>Patches and bug fixes</h2><p>Applied Theo's patch for the XPath <code>substring</code> function 
+              that was causing the incorrect string indexes to be returned.
+              The <code>substring</code> now returns the correct answer.
+            </p><p>Applied Theo's patch for incorrectly escaping of element text.
+            </p><p>Fixed bug in the XPath engine for absolute path expressions which 
+              now work correctly when applied to leaf nodes.
+            </p><p>Fixed bug
+              in the <code>name()</code> and <code>local-name()</code> 
+              functions such that the following expressions now work fine
+              <code>local-name(..), name(parent::*)</code>.
+            </p></div><p>A variety of minor performance tuning optimisations have been made.
+          </p></div><div class="section"><a name="0_3_release"></a><h2>0.3 release</h2><p>The <code>org.dom4j.io.OutputFormat</code> class now has a new helper
+            method to make it easier to create pretty print formatting objects.
+            The new method is <code>OutputFormat.createPrettyPrint()</code>.
+            So to pretty print some XML (trimming all whitespace and indenting nicely)
+            the following code should do the job...
+          </p><pre>
+    OutputFormat format = OutputFormat.createPrettyPrint();
+    XMLWriter writer = new XMLWriter( out, format );
+    writer.write( document );
+    writer.close();
+</pre><p><code>SAXReader.read(String url)</code> can now accept either 
+            a URL or a file name which makes things a little easier.
+            The logic uses the existence of a ':' in the url String to determine if
+            it should be treated as a URL or a File name. 
+          </p><p>For more explicit control over whether documents are Files or URLs
+            call <code>SAXReader.read(File file)</code> or <code>SAXReader.read(URL url)</code>
+          </p><p>A new extension function, <i>matrix-concat()</i> was submitted by 
+          James Pereira.
+          By default, doing <i>concat()</i> functions in XPath the 'string-value' is taken
+          for each argument.
+          So for a document:-</p><pre>
+<root project="dom4j">
+    <contributor>James Pereira</contributor>
+    <contributor>Bob McWhirter</contributor>
+</root;>
+</pre><p>Then the XPath</p><pre>
+concat( 'thanks ', /root/contributor )
+</pre><p>would return</p><pre>
+"thanks James Pereira"
+</pre><p>as the <i>/root/contributor</i> expression matches a node set of 2 
+      elements, but the "string-value" takes the first elements text.
+      Whereas <i>matrix-contact</i> will do a cartesian product of all the 
+      arguments and then do the concatenation of each combination of nodes. So
+      </p><pre>
+matrix-concat( 'thanks ', /root/contributor )
+</pre><p>will produce</p><pre>
+"thanks James Pereira"
+"thanks Bob McWhirter"
+</pre><p>The cartesian product is done such that multiple paths can be used.
+      </p><pre>
+matrix-concat( 'thanks ', /root/contributor, ' for working on ', '/@project' )
+</pre><p>will produce</p><pre>
+"thanks James Pereira for working on dom4j"
+"thanks Bob McWhirter for working on dom4j"
+</pre><p>Fixed bug where <code>XMLWriter.write(Object)</code> was not correctly
+        writing a Document instance.
+      </p><p>Finally, a couple of small issues with the build process have been fixed.
+      The dom4j.jar no longer contains any SAX or DOM classes (they are all in dom4j-full.jar)
+      And the Antlr grammar files for the XPath parser are now corrrectly 
+      included in the binary  distribution.
+      </p></div><div class="section"><a name="0_2_release"></a><h2>0.2 release</h2><p>There following new features were added:-
+          </p><ul>
+            <li>Clean integration with XSLT via JAXP / TrAX API.
+            </li>
+            <li>New SAXValidator to allow validation on prebuild Document instances
+            </li>
+            <li>XMLWriter and HTMLWriter rewritten so that they work at either 
+                the SAX level or the dom4j level. 
+                API much improved and more like Reader and Writer in the JDK.
+            </li>
+            <li>API modified to avoid clashes with WC3 DOM such that a dual 
+                implementation of dom4j and DOM is now possible. An early alpha
+                release of a DOM implementation of dom4j is available.
+            </li>
+            <li>New sorting method added to Node for easier selections of nodes
+              which are sorted via an XPath expression. The following
+              code sorts all CUSTOMER elements by their name attributes and 
+              removes duplicates:-
+              <pre>
+Document document 
+  = new SAXReader().read( new File( "customers.xml" ) );
+
+List customers 
+  = document.selectNodes( "//CUSTOMER", "@name", true );
+              </pre>
+            </li>
+            <li>The getText() and getStringValue() methods of Element now return
+              the textual values of CDATA, Entity and Text nodes. 
+              The previous version only returned Text node values.
+            </li>
+            <li>Refactored code and removed XPathEngine, XPathHelper and 
+                all the static newXXX() methods in DocumentFactory.
+                Added equivalent methods to DocumentHelper and DocumentFactory.
+            </li>
+          </ul><p>This release also includes full XPath source code.
+          </p></div><div class="section"><a name="0_1_release"></a><h2>0.1 release</h2><p>Initial release which comes complete with DOM, JAXP and SAX 
+            support and integrated XPath
+          </p></div><div class="section"><a name="To_Do_List"></a><h2>To Do List</h2><ul>
+        <li>The internal subset does not pass through DOMReader and DOMWriter. This needs patching!
+        </li>
+        <li>We should add support for Xerces XNI API via an XNIReader and XNIWriter. This would also allow
+          dom4j users to make good use of the NekoHTML parser thats layered on top of XNI.
+        </li>
+        <li>Better documentation and user guides
+        </li>
+        <li>A lazy parser; implement a special Element implementation (or probably a special List)
+          which allows the XPP (XML Pull Parser) to parse the document as it is navigated rather than
+          all up front.
+        </li>
+        <li>Build a dom4j validator based on top of Suns MSV library
+        </li>
+        <li>Ensure that the optional DOM implementation passes the DOM compliance tests
+        </li>
+        <li>Implement a ValidatingDocumentFactory and an EncodingDocumentFactory
+          which can be used by developers where invalid strings may be specified
+          allowing validation or encoding of names or text values to be
+          done in one place for use across parsers or application code.
+          This would avoid any performance hit by making this kind of validation 
+          the default behaviour.
+        </li>
+        <li>Implement a canonical XML processor
+        </li>
+        <li>Implement XML Signature
+        </li>
+        <li>Implement XPointer, XLink and XInclude
+        </li>
+        <li>Build a version of XMLC which uses the dom4j API rather than DOM which
+          could also make use of XPath, XSLT and Java 2 Collections support.
+        </li>
+        <li>
+          Consider adding support for 
+          <a href="http://developer.java.sun.com/developer/earlyAccess/adding_generics/" class="externalLink" title="External Link">Java Generics</a> 
+          such that typesafe Iterators can be used. For example
+          <pre>
+Iterator<Node> iter = element.nodeIterator();
+while ( iter.hasNext() ) {
+    Node node = iter.next();
+}
+
+Iterator<Element> iter2 = element.elementIterator( "foo" );
+while ( iter2.hasNext() ) {
+    Element foo = iter2.next();
+}
+          </pre>
+        </li>
+        <li>Implement XSLT engine on top of <i>dom4j</i>?
+        </li>
+        <li>XML Query implementation on top of <i>dom4j</i>?
+        </li>
+      </ul></div><div class="section"><a name="Known_problems"></a><h2>Known problems</h2><p>The following functions are not yet fully supported in the inbuilt
+        XPath engine</p><ul>
+        <li>id()</li>
+        <li>generate-id()</li>
+        <li>format-number()</li>
+      </ul><p>The optional W3C DOM implementation of the dom4j API is not yet at 
+      full DOM compliance</p></div><div class="section"><a name="Contributors"></a><h2>Contributors</h2><p>The following people have contributed to the dom4j project. 
+      Many thanks to you all!</p><ul>
+        <li>James Strachan</li>
+        <li>Bob McWhirter</li>
+        <li>James Dodd</li>
+        <li>James Elson</li>
+        <li>Jakob Jenkov</li>
+        <li>James Pereira</li>
+        <li>David White</li>
+        <li>Tobias Rademacher</li>
+        <li>Rashmi Mathew</li>
+        <li>Jonathan Doughty</li>
+        <li>Joseph Bowbeer</li>
+        <li>Michal Palicka</li>
+        <li>Yuxin Ruan</li>
+        <li>Steen Lehmann</li>
+        <li>Maarten Coene</li>
+        <li>Stefan Graeber</li>
+      </ul></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/style/maven-base.css b/docs/style/maven-base.css
new file mode 100644
index 0000000..62ffe8f
--- /dev/null
+++ b/docs/style/maven-base.css
@@ -0,0 +1,149 @@
+body {
+  margin: 0px;
+  padding: 0px 0px 10px 0px;
+}
+img {
+  border:none;
+}
+table {
+  padding:0px;
+  width: 100%;
+  margin-left: -2px;
+  margin-right: -2px;
+}
+acronym {
+  cursor: help;
+  border-bottom: 1px dotted #feb;
+}
+table.bodyTable th, table.bodyTable td {
+  padding: 2px 4px 2px 4px;
+  vertical-align: top;
+}
+div.clear{
+  clear:both;
+  visibility: hidden;
+}
+div.clear hr{
+  display: none;
+}
+#projectLogo {
+  font-size: xx-large; 
+  font-weight: bold;
+}
+#organizationLogo img, #projectLogo img, #projectLogo span{
+  margin: 8px;
+}
+#projectLogo span{
+    border: 1px solid;
+    padding: 4px 10px 4px 10px;
+    background-color: #eee;
+    cursor: pointer;
+}
+.xleft, #organizationLogo img{
+  float:left;
+} 
+.xright, #projectLogo img, #projectLogo span{
+  float:right;
+  text-shadow: #7CFC00;
+}
+#banner {
+  border-bottom: 1px solid #fff;
+}
+#banner img {
+  border: none;
+}
+#footer, #breadcrumbs {
+  padding: 3px 10px 3px 10px;
+}
+#leftColumn {
+ width: 18%;
+ float:left;
+}
+#bodyColumn {
+  margin-left: 20%;
+}
+#legend {
+  padding: 8px 0 8px 0;
+}
+#navcolumn {
+  padding: 8px 4px 0 8px;
+}
+#navcolumn h5, #navcolumn ul {
+  margin: 0;
+  padding: 0;
+  font-size: small;
+}
+#navcolumn li {
+  list-style-type: none;
+  background-image: none;
+  background-repeat: no-repeat;
+  background-position: 0 0.4em;
+  padding-left: 16px;
+  list-style-position: ouside;
+  line-height: 1.2em;
+  font-size: smaller;
+}
+#navcolumn li.expanded {
+  background-image: url(../images/expanded.gif);
+}
+#navcolumn li.collapsed {
+  background-image: url(../images/collapsed.gif);
+}
+#navcolumn img {
+  margin-top: 10px;
+  margin-bottom: 3px;
+}
+#poweredBy, #poweredByExternal {
+  text-align: center;
+}
+#poweredBy img {
+  display:block;
+  margin: 20px 0 20px 17px;
+  border: 1px solid black;
+  width: 90px;
+  height: 30px;
+}
+#poweredByExternal img {
+  display: block;
+  margin: 20px 0 20px 17px;
+}
+#search img {
+    margin: 0px;
+    display: block;
+}
+#search #q, #search #btnG {
+    border: 1px solid #999;
+    margin-bottom:10px;
+}
+#search form {
+    margin: 0px;
+}
+#lastPublished {
+  font-size: x-small;
+}
+.navSection {
+  margin-bottom: 2px;
+  padding: 8px;
+}
+.navSectionHead {
+  font-weight: bold;
+  font-size: x-small;
+}
+.section {
+  padding: 4px;
+}
+#footer {
+  font-size: x-small;
+}
+#breadcrumbs {
+  font-size: x-small;
+  margin: 0pt;
+}
+.source {
+  padding: 12px;
+  margin: 1em 7px 1em 7px;
+}
+.source pre {
+  margin: 0px;
+  padding: 0px;
+}
diff --git a/docs/style/maven-classic.css b/docs/style/maven-classic.css
new file mode 100644
index 0000000..97017cd
--- /dev/null
+++ b/docs/style/maven-classic.css
@@ -0,0 +1,874 @@
+body {
+ background: #fff;
+ color: #000;
+ }
+
+.contentBox h2 {
+ color: #fff;
+ background-color: #036;
+ }
+
+.contentBox h3 {
+ color: #fff;
+ background-color: #888;
+ }
+
+.a td { 
+ background: #ddd;
+ color: #000;
+ }
+
+.b td { 
+ background: #efefef;
+ color: #000;
+ }
+
+.contentBox th {
+ background-color: #bbb;
+ color: #fff;
+ }
+
+div#banner {
+ border-top: 1px solid #369;
+ border-bottom: 1px solid #003;
+ }
+
+#banner, #banner td { 
+ background: #fff;
+ color: #000;
+ }
+
+#leftColumn {
+ background: #eee;
+ color: #000;
+ border-right: 1px solid #aaa;
+ border-bottom: 1px solid #aaa;
+ border-top: 1px solid #fff;
+}
+
+#navcolumn {
+/* bad for IE
+ background: #eee;
+*/
+ color: #000;
+ border-right: none;
+ border-bottom: none;
+ border-top: none;
+ }
+
+#breadcrumbs {
+ background-color: #ddd;
+ color: #000;
+ border-top: 1px solid #fff;
+ border-bottom: 1px solid #aaa;
+ }
+
+.source {
+ background-color: #fff;
+ color: #000;
+ border-right: 1px solid #888; 
+ border-left: 1px solid #888; 
+ border-top: 1px solid #888; 
+ border-bottom: 1px solid #888; 
+ margin-right: 7px;
+ margin-left: 7px;
+ margin-top: 1em;
+ }
+
+.source pre {
+ margin-right: 7px;
+ margin-left: 7px;
+ }
+
+a[name]:hover, #leftColumn a[name]:hover {
+ color: inherit !important;
+ }
+
+a:link, #breadcrumbs a:visited, #navcolumn a:visited, .contentBox a:visited, .tasknav a:visited {
+ color: blue;
+ }
+
+a:active, a:hover, #leftColumn a:active, #leftColumn a:hover {
+ color: #f30 !important;
+ }
+
+a:link.selfref, a:visited.selfref {
+ color: #555 !important;
+ }
+
+#legend li.externalLink {
+  background: url(../images/external-classic.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external-classic.png) right center no-repeat;
+  padding-right: 18px;
+}
+
+#legend li.newWindow {
+  background: url(../images/newwindow-classic.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow-classic.png) right center no-repeat;
+  padding-right: 18px;
+}
+
+h2, h3 {
+ margin-top: 1em;
+ margin-bottom: 0;
+ }
+
+img.handle {
+ border: 0;
+ padding-right: 2px;
+}
+
+#navcolumn div div  {
+ background-image: none;
+ background-repeat: no-repeat;
+}
+
+#navcolumn div div {
+  padding-left: 10px;
+}
+/* $Id: maven-classic.css,v 1.4 2004/07/13 12:18:59 brett Exp $
+	
+	This file defines basic default formatting for HTML conforming to Tigris application style. To extend or override these rules for your instance, edit inst.css instead of this file. */
+
+/* colors, backgrounds, borders, link indication */
+.contentBox h2, .contentBox h3, .tabs td, .tabs th, .functnbar {
+	background-image: url(../images/nw_maj_rond.gif);
+	background-repeat: no-repeat;
+}
+
+.functnbar, .functnbar2 {
+	background-color: #aaa;
+}
+
+.functnbar2, .functnbar3 {
+	background-color: #aaa;
+	background-image: url(../images/sw_maj_rond.gif);
+	background-repeat: no-repeat;
+	background-position: bottom left;
+}
+
+.functnbar3 {
+	background-color: #ddd;
+	background-image: url(../images/sw_med_rond.gif);
+}
+
+.functnbar, .functnbar2, .functnbar3 {
+	color: #000;
+}
+
+.functnbar a, .functnbar2 a, .functnbar3 a {
+	color: #000;
+	text-decoration: underline;
+}
+
+#navcolumn .body div, body.docs #toc li li {
+	background-image: url(../images/strich.gif);
+	background-repeat: no-repeat;
+	background-position: .5em .5em;
+}
+
+#searchbox .body div, #navcolumn .body .heading {
+	background-image: none;
+}
+
+a:link.selfref, a:visited.selfref {
+	text-decoration: none;
+}
+
+#leftColumn a, #breadcrumbs a {
+	text-decoration: none;
+}
+
+/* Unsure of this. TODO */
+.contentBox h2 a:link, .contentBox h2 a:visited, .contentBox h3 a:link, .contentBox h3 a:visited {
+	color: #fff !important;
+	text-decoration: underline;
+}
+
+table, th, td {
+	border: none;
+}
+
+div.colbar {
+	background: #eee;
+	border-color: #999 #EEE #EEE #999;
+	border-width: 1px;
+	border-style: solid;
+}
+
+.toolgroup {
+	background: #efefef;
+}
+
+.toolgroup .label {
+	border-bottom: 1px solid #666;
+	border-right: 1px solid #666;
+	background: #ddd;
+	color: #555;
+}
+
+.toolgroup .body {
+	border-right: 1px solid #aaa;
+	border-bottom: 1px solid #aaa;
+}
+
+#main {
+	border-top: 1px solid #999;
+}
+
+#rightcol div.www, #rightcol div.help {
+	border: 1px solid #ddd;
+}
+
+body.docs div.docs {
+	background-color: #fff;
+	border-left: 1px solid #ddd;
+	border-top: 1px solid #ddd;
+}
+
+#helptext .label {
+	background-image: url(../images/icon_help_sml.gif);
+	background-repeat: no-repeat;
+	background-position: 97%;
+}
+
+body.docs {
+	background: #eee url(../images/help_logo.gif) top right no-repeat !important;
+}
+
+.docs h2, .docs h3 {
+	border-top: solid 1px #000;
+}
+
+#apphead h2 em {
+	color: #777;
+}
+
+.tabs th {
+	border-right: 1px solid #333;
+	background-color: #ddd;
+	color: #fff;
+	border-left: 1px solid #fff;
+}
+
+.tabs td {
+	background-color: #999;
+	border-bottom: 1px solid #fff;
+	border-right: 1px solid #fff;
+	border-left: 1px solid #fff;
+}
+
+.tabs {
+	border-bottom: 6px #ddd solid;
+}
+
+.tabs th, .tabs th a:link, .tabs th a:visited {
+	color: #555;
+}
+
+.tabs td, .tabs td a:link, .tabs td a:visited {
+	color: #fff;
+}
+
+.tabs a {
+	text-decoration: none;
+}
+
+.axial th {
+	background-color: #ddd;
+	color: black;
+}
+
+.alert {
+	background-color: #ff9;
+}
+
+.expandedwaste {
+	background: url(../images/icon_arrowwaste2_sml.gif) no-repeat;
+}
+
+.collapsedwaste {
+	background: url(../images/icon_arrowwaste1_sml.gif) no-repeat;
+}
+
+.filebrowse .expanded, .filebrowse-alt .expanded {
+	background-image: url(../images/icon_arrowfolderopen2_sml.gif);
+	background-repeat: no-repeat;
+}
+
+.filebrowse .collapsed, .filebrowse-alt .collapsed {
+	background-image: url(../images/icon_arrowfolderclosed1_sml.gif);
+	background-repeat: no-repeat;
+}
+
+.filebrowse .leafnode, .filebrowse-alt .leafnode {
+	background-image: url(../images/icon_folder_sml.gif);
+	background-repeat: no-repeat;
+}
+
+.filebrowse .leaf, .filebrowse-alt .leaf {
+	background-image: url(../images/icon_doc_sml.gif);
+	background-repeat: no-repeat;
+}
+
+.sortup {
+	background: url(../images/icon_sortup.gif) no-repeat;
+}
+
+.sortdown {
+	background: url(../images/icon_sortdown.gif) no-repeat;
+}
+
+.collapsedwaste {
+	background: url(../images/icon_arrowwaste1_sml.gif) no-repeat;
+}
+
+body .grid td {
+	border-top: 1px solid #ccc;
+	border-left: 1px solid #ccc;
+	background-color: transparent;
+}
+
+.confirm {
+	color: #090;
+}
+
+.info {
+	color: #069;
+}
+
+.errormessage, .warningmessage, .donemessage, .infomessage {
+	border-top: 5px solid #900;
+	border-left: 1px solid #900;
+	background-image: url(../images/icon_error_lrg.gif);
+	background-repeat: no-repeat;
+	background-position: 5px 1.33em;
+}
+
+.warningmessage {
+	background-image: url(../images/icon_warning_lrg.gif);
+	border-color: #c60;
+}
+
+.donemessage {
+	background-image: url(../images/icon_success_lrg.gif);
+	border-color: #090;
+}
+
+.infomessage {
+	background-image: url(../images/icon_info_lrg.gif);
+	border-color: #069;
+}
+
+.docinfo {
+	background: url(../images/icon_doc_lrg.gif) no-repeat;
+}
+
+.dirinfo {
+	background: url(../images/icon_folder_lrg.gif) no-repeat;
+}
+
+.memberinfo {
+	background: url(../images/icon_members_lrg.gif) no-repeat;
+}
+
+.usergroupinfo {
+	background: url(../images/icon_usergroups_lrg.gif) no-repeat;
+}
+
+.errormark, .warningmark, .donemark, .infomark {
+	background: url(../images/icon_error_sml.gif) no-repeat;
+}
+
+.warningmark {
+	background-image: url(../images/icon_warning_sml.gif);
+}
+
+.donemark {
+	background-image: url(../images/icon_success_sml.gif);
+}
+
+.infomark {
+	background-image: url(../images/icon_info_sml.gif);
+}
+
+.cvsdiff, .cvsblame {
+	background-color: #ccc;
+}
+
+.cvsdiffadd {
+	background-color: #afa;
+}
+
+.cvsdiffremove {
+	background-color: #faa;
+}
+
+.cvsdiffchanges1 {
+	background-color: #ff7;
+}
+
+.cvsdiffchanges2 {
+	background-color: #ff7;
+}
+
+li.selection ul a {
+	background: #fff;
+}
+
+.band1 {
+	color: #fff;
+	background-color: #663;
+}
+
+.band2 {
+	color: #fff;
+	background-color: #66C;
+}
+
+.band3 {
+	background-color: #C99;
+}
+
+.band4 {
+	background-color: #CFF;
+}
+
+.band5 {
+	color: #fff;
+	background-color: #336;
+}
+
+.band6 {
+	color: #fff;
+	background-color: #966;
+}
+
+.band7 {
+	background-color: #9CC;
+}
+
+.band8 {
+	background-color: #FFC;
+}
+
+.band9 {
+	color: #fff;
+	background-color: #633;
+}
+
+.band10 {
+	color: #fff;
+	background-color: #699;
+}
+
+.band11 {
+	background-color: #CC9;
+}
+
+.band12 {
+	background-color: #CCF;
+}
+
+.band13 {
+	color: #fff;
+	background-color: #366;
+}
+
+.band14 {
+	color: #fff;
+	background-color: #996;
+}
+
+.band15 {
+	background-color: #99C;
+}
+
+.band16 {
+	background-color: #FCC;
+}
+
+.contentBox .helplink, #helptext .helplink {
+	cursor: help;
+}
+
+.legend th, .bars th {
+	background-color: #fff;
+}
+
+/* font and text properties, exclusive of link indication, alignment, text-indent */
+body, th, td, input, select {
+	font-family: Verdana, Helvetica, Arial, sans-serif;
+}
+
+code, pre {
+	font-family: 'Andale Mono', Courier, monospace;
+}
+
+body, .contentBox h2, .contentBox h3, #rightcol h2, pre, code, #apphead h2 small, h3, th, td {
+	font-size: x-small;
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	font-size: small;
+}
+
+small, div#footer, div#login, div.tabs th, div.tabs td, input, select, .paginate, .functnbar, .functnbar2, .functnbar3, #breadcrumbs, .courtesylinks, #rightcol div.help, .colbar, .tasknav, body.docs div#toc, #leftColumn, .legend, .bars {
+	font-size: xx-small;
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	font-size: x-small;
+}
+
+.tabs td, .tabs th, dt, .tasknav .selfref, #login .username, .selection {
+	font-weight: bold;
+}
+
+li.selection ul {
+	font-weight: normal;
+}
+
+#apphead h2 em {
+	font-style: normal;
+}
+
+#banner h1 {
+	font-size: 1.25em;
+}
+
+/* box properties (exclusive of borders), positioning, alignments, list types, text-indent */
+#bodyColumn h2 {
+	margin-top: .3em;
+	margin-bottom: .5em;
+}
+
+p, ul, ol, dl, .bars table {
+	margin-top: .67em;
+	margin-bottom: .67em;
+}
+
+form {
+	margin: 0;
+}
+
+#bodyColumn {
+	padding-left: 12px;
+	padding-right: 12px;
+	width: 100%;
+	voice-family: "\"}\"";
+	voice-family: inherit;
+	width: auto;
+}
+
+html>body #bodyColumn {
+	width: auto;
+}
+
+.docs {
+	line-height: 1.4;
+}
+
+ol ol {
+	list-style-type: lower-alpha;
+}
+
+ol ol ol {
+	list-style-type: lower-roman;
+}
+
+.contentBox h2, .contentBox h3 {
+	padding: 5px;
+	margin-right: 2px;
+}
+
+.contentBox td, .contentBox th {
+	padding: 2px 3px;
+}
+
+.h2 p, .h3 p, .h2 dt, .h3 dt {
+	margin-right: 7px;
+	margin-left: 7px;
+}
+
+.tasknav {
+	margin-bottom: 1.33em;
+}
+
+div.colbar {
+	padding: 3px;
+	margin: 2px 2px 0;
+}
+
+.tabs {
+	margin-top: .67em;
+	margin-right: 2px;
+	margin-left: 2px;
+	padding-left: 8px;
+}
+
+.tabs td, .tabs th {
+	padding: 3px 9px;
+}
+
+#rightcol div.www, #rightcol div.help {
+	padding: 0 .5em;
+}
+
+body.docs #toc {
+	position: absolute;
+	top: 15px;
+	left: 0px;
+	width: 120px;
+	padding: 0 20px 0 0;
+}
+
+body.docs #toc ul, #toc ol {
+	margin-left: 0;
+	padding-left: 0;
+}
+
+body.docs #toc li {
+	margin-top: 7px;
+	padding-left: 10px;
+	list-style-type: none;
+}
+
+body.docs div.docs {
+	margin: 61px 0 0 150px;
+	padding: 1em 2em 1em 1em !important;
+}
+
+.docs p+p {
+	text-indent: 5%;
+	margin-top: -.67em;
+}
+
+.docs h2, .docs h3 {
+	margin-bottom: .1em;
+	padding-top: .3em;
+}
+
+.functnbar, .functnbar2, .functnbar3 {
+	padding: 5px;
+	margin: .67em 2px;
+}
+
+.functnbar3 {
+	margin-top: 0;
+}
+
+body {
+	padding: 1em;
+}
+
+body.composite, body.docs {
+	margin: 0;
+	padding: 0;
+}
+
+th, td {
+	text-align: left;
+	vertical-align: top;
+}
+
+.right {
+	text-align: right !important;
+}
+
+.center {
+	text-align: center !important;
+}
+
+.axial th, .axial th .strut {
+	text-align: right;
+}
+
+.contentBox .axial td th {
+	text-align: left;
+}
+
+body .stb {
+	margin-top: 1em;
+	text-indent: 0;
+}
+
+body .mtb {
+	margin-top: 2em;
+	text-indent: 0;
+}
+
+.courtesylinks {
+	margin-top: 1em;
+	padding-top: 1em;
+}
+
+dd {
+	margin-bottom: .67em;
+}
+
+.toolgroup {
+	margin-bottom: 6px;
+}
+
+.toolgroup .body {
+	padding: 4px 4px 4px 0;
+}
+
+.toolgroup .label {
+	padding: 4px;
+}
+
+.toolgroup .body div {
+	padding-bottom: .3em;
+	padding-left: 1em;
+}
+
+.toolgroup .body div div {
+	margin-top: .3em;
+	padding-bottom: 0;
+}
+
+.tier1 {
+	margin-left: 0;
+}
+
+.tier2 {
+	margin-left: 1.5em;
+}
+
+.tier3 {
+	margin-left: 3em;
+}
+
+.tier4 {
+	margin-left: 4.5em;
+}
+
+.tier5 {
+	margin-left: 6em;
+}
+
+.tier6 {
+	margin-left: 7.5em;
+}
+
+.tier7 {
+	margin-left: 9em;
+}
+
+.tier8 {
+	margin-left: 10.5em;
+}
+
+.tier9 {
+	margin-left: 12em;
+}
+
+.tier10 {
+	margin-left: 13.5em;
+}
+
+.filebrowse .expanded, .filebrowse .collapsed {
+	padding-left: 34px;
+}
+
+.filebrowse .leafnode, .filebrowse .leaf {
+	padding-left: 20px;
+}
+
+.messagechild {
+	padding-left: 34px;
+}
+
+.filebrowse-alt .expanded, .filebrowse-alt .collapsed, .filebrowse-alt .leaf, .filebrowse-alt .leafnode, .expandedwaste, .collapsedwaste, .sortup, .sortdown {
+	/* hide from macie5\*/
+	float: left;
+	/* resume */
+	display: inline-block;
+	height: 15px;
+	width: 34px;
+	padding-left: 0 !important;
+}
+
+.filebrowse-alt .leaf, .filebrowse-alt .leafnode, .sortup, .sortdown {
+	width: 20px;
+}
+
+.filebrowse ul, .filebrowse-alt ul {
+	list-style-type: none;
+	padding-left: 0;
+	margin-left: 0;
+}
+
+.filebrowse ul ul, .filebrowse-alt ul ul {
+	margin-left: 1.5em;
+	margin-top: 0;
+	padding-top: .67em;
+}
+
+.filebrowse li, .filebrowse-alt li {
+	margin-bottom: .67em;
+}
+
+td.filebrowse h2 {
+	margin-top: 0;
+}
+
+.errormessage, .warningmessage, .donemessage, .infomessage, .docinfo, .dirinfo, .memberinfo, .usergroupinfo {
+	margin: .67em 0;
+	padding: .33em 0 .67em 42px;
+	min-height: 32px;
+}
+
+.errormark, .warningmark, .donemark, .infomark {
+	padding-left: 20px;
+	min-height: 15px;
+}
+
+.alt {
+	display: none;
+}
+
+#banner h1 {
+	margin: 0;
+}
+
+.axial th, .axial th .strut, #leftColumn .strut {
+	width: 12em;
+}
+
+#breadcrumbs {
+	padding: 2px 8px;
+}
+
+/* Bad for IE
+.contentBox h2, .contentBox h3, .bars {
+	clear: both;
+}
+*/
+
+.legend {
+	float: right;
+}
+
+.legend th, .bars th {
+	text-align: right;
+	padding-left: 1em;
+}
+
+.bars table {
+	table-layout: fixed;
+}
+
+.bars th {
+	width: 12em;
+}
+
+#projectdocumentlist td.filebrowse-alt {
+	padding-right: .75em;
+}
diff --git a/docs/style/maven-theme.css b/docs/style/maven-theme.css
new file mode 100644
index 0000000..3da8119
--- /dev/null
+++ b/docs/style/maven-theme.css
@@ -0,0 +1,98 @@
+body, td, select, input, li{
+  font-family: Verdana, Helvetica, Arial, sans-serif;
+  font-size: 13px;
+}
+a {
+  text-decoration: none;
+}
+a:link {
+  color:#36a;
+}
+a:visited  {
+  color:#47a;
+}
+a:active, a:hover {
+  color:#69c;
+}
+#legend li.externalLink {
+  background: url(../images/external.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover {
+  background: url(../images/external.png) right center no-repeat;
+  padding-right: 18px;
+}
+#legend li.newWindow {
+  background: url(../images/newwindow.png) left top no-repeat;
+  padding-left: 18px;
+}
+a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover {
+  background: url(../images/newwindow.png) right center no-repeat;
+  padding-right: 18px;
+}
+h2 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #999;
+  color: #900;
+  background-color: #ddd;
+  font-weight:900;
+  font-size: x-large;
+}
+h3 {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
+p {
+  line-height: 1.3em;
+  font-size: small;
+}
+#breadcrumbs {
+  border-top: 1px solid #aaa;
+  border-bottom: 1px solid #aaa;
+  background-color: #ccc;
+}
+#leftColumn {
+  margin: 10px 0 0 5px;
+  border: 1px solid #999;
+  background-color: #eee;
+}
+#navcolumn h5 {
+  font-size: smaller;
+  border-bottom: 1px solid #aaaaaa;
+  padding-top: 2px;
+}
+
+table.bodyTable th {
+  color: white;
+  background-color: #bbb;
+  text-align: left;
+  font-weight: bold;
+}
+
+table.bodyTable th, table.bodyTable td {
+  font-size: 1em;
+}
+
+table.bodyTable tr.a {
+  background-color: #ddd;
+}
+
+table.bodyTable tr.b {
+  background-color: #eee;
+}
+
+.source {
+  border: 1px solid #999;
+}
+dt {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  color: #900;
+  background-color: #eee;
+  font-weight: normal;
+  font-size: large;
+}
diff --git a/docs/style/print.css b/docs/style/print.css
new file mode 100644
index 0000000..2b11058
--- /dev/null
+++ b/docs/style/print.css
@@ -0,0 +1,7 @@
+#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {
+	display: none;
+}
+#bodyColumn, body.docs div.docs {
+	margin: 0 !important;
+	border: none !important
+}
diff --git a/docs/team-list.html b/docs/team-list.html
new file mode 100644
index 0000000..cbb1a23
--- /dev/null
+++ b/docs/team-list.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>dom4j - Project Team</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><script type="text/javascript">
+  	  function offsetDate(id, offset) {
+
+            var now = new Date() ;
+            var nowTime = now.getTime() ;
+            var localOffset = now.getTimezoneOffset() ;
+            var developerTime = nowTime + (offset * 60 * 60 * 1000) + (localOffset * 60 * 1000) ;
+            var developerDate = new Date(developerTime) ;
+
+            document.getElementById(id).innerHTML = developerDate;
+          }
+  	
+  	  function init() {
+	    	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	         	               	       	   [...]
+    </script></head><body class="composite" onload="init();"><div id="banner"><a href="http://sourceforge.net/projects/dom4j" id="organizationLogo"><img alt="MetaStuff Ltd." src="http://sourceforge.net/sflogo.php?group_id=16035"></img></a><a href="http://dom4j.org" id="projectLogo"><img alt="dom4j" src="./images/logo.gif"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
+              Last published: 16 May 2005
+              <span class="separator">|</span>
+                Doc for 1.6.1
+              </div><div class="xright">
+        
+        <a href="http://www.w3.org/TR/xpath" class="externalLink" title="External Link">XPath Spec</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://jaxen.codehaus.org/" class="externalLink" title="External Link">Jaxen</a>
+      
+        
+          
+            <span class="separator">|</span>
+          
+        
+        <a href="http://sourceforge.net/projects/dom4j/" class="externalLink" title="External Link">dom4j at SourceForge</a>
+      </div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menudom4j"><h5>dom4j</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="guide.html">Quick start</a></li><li class="none"><a href="cookbook.html" class="newWindow" title="New Window" target="_blank">Cookbook</a></li><li class="none"><a href="compare.html">Comparison</a></li><li class="none"><a href="goals.ht [...]
+        A successful project requires many people to play many roles.
+        Some members write code or documentation, while others are
+        valuable as testers, submitting patches and suggestions.
+      </p><p>
+        The team is comprised of <a href="#Members">Members</a>
+        and <a href="#Contributors">Contributors</a>.  Members 
+        have direct access to the source of a project and actively
+        evolve the code-base.  Contributors improve the project
+        through submission of patches and suggestions to the Members.
+        The number of Contributors to the project is unbounded.
+        Get involved today.  All contributions to the project are
+        greatly appreciated.
+      </p><div class="subsection"><a name="Members"></a><h3>Members</h3><p>
+        The following is a list of developers with commit privileges that have 
+        directly contributed to the project in one way or another.  
+      </p><table class="bodyTable"><thead>
+        <tr class="b"><th>Name</th><th>Id</th><th>Email</th><th>Organization</th><th>Roles</th><th>TZ Offset</th><th>Time</th></tr>
+        </thead><tbody>
+                <tr class="a"><td>Curt Arnold</td><td><a name="carnold"></a>carnold</td><td><a href="mailto:carnold at users.sourceforge.net">carnold at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-carnold">Unknown</span></td></tr>
+                <tr class="b"><td>David Lucas</td><td><a name="ddlucas"></a>ddlucas</td><td><a href="mailto:ddlucas at users.sourceforge.net">ddlucas at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-ddlucas">Unknown</span></td></tr>
+                <tr class="a"><td>David White</td><td><a name="drwhite"></a>drwhite</td><td><a href="mailto:drwhite at users.sourceforge.net">drwhite at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-drwhite">Unknown</span></td></tr>
+                <tr class="b"><td>Jakob Jenkov</td><td><a name="jjenkov"></a>jjenkov</td><td><a href="mailto:jjenkov at users.sourceforge.net">jjenkov at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-jjenkov">Unknown</span></td></tr>
+                <tr class="a"><td>James Strachan</td><td><a name="jstrachan"></a>jstrachan</td><td><a href="mailto:jstrachan at apache.org">jstrachan at apache.org</a></td><td>SpiritSoft, Inc.</td><td>
+                    </td><td></td><td><span id="developer-jstrachan">Unknown</span></td></tr>
+                <tr class="b"><td>Laramie Crocker</td><td><a name="laramiec"></a>laramiec</td><td><a href="mailto:laramiec at users.sourceforge.net">laramiec at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-laramiec">Unknown</span></td></tr>
+                <tr class="a"><td>Maarten Coene</td><td><a name="maartenc"></a>maartenc</td><td><a href="mailto:maartenc at users.sourceforge.net">maartenc at users.sourceforge.net</a></td><td>Cronos</td><td>
+                    </td><td></td><td><span id="developer-maartenc">Unknown</span></td></tr>
+                <tr class="b"><td>Michael Skells</td><td><a name="mskells"></a>mskells</td><td><a href="mailto:mskells at users.sourceforge.net">mskells at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-mskells">Unknown</span></td></tr>
+                <tr class="a"><td>Nick Sanderson</td><td><a name="nicksanderson"></a>nicksanderson</td><td><a href="mailto:nicksanderson at users.sourceforge.net">nicksanderson at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-nicksanderson">Unknown</span></td></tr>
+                <tr class="b"><td>Steen Lehmann</td><td><a name="slehmann"></a>slehmann</td><td><a href="mailto:slehmann at users.sourceforge.net">slehmann at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-slehmann">Unknown</span></td></tr>
+                <tr class="a"><td>Tobias Rademacher</td><td><a name="tradem"></a>tradem</td><td><a href="mailto:tradem at users.sourceforge.net">tradem at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-tradem">Unknown</span></td></tr>
+                <tr class="b"><td>Bob McWhirter</td><td><a name="werken"></a>werken</td><td><a href="mailto:werken at users.sourceforge.net">werken at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-werken">Unknown</span></td></tr>
+                <tr class="a"><td>Todd Wolff</td><td><a name="wolfftw"></a>wolfftw</td><td><a href="mailto:wolfftw at users.sourceforge.net">wolfftw at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-wolfftw">Unknown</span></td></tr>
+                <tr class="b"><td>OuYang Chen</td><td><a name="yeekee"></a>yeekee</td><td><a href="mailto:yeekee at users.sourceforge.net">yeekee at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-yeekee">Unknown</span></td></tr>
+                <tr class="a"><td>Yuxin Ruan</td><td><a name="yruan2"></a>yruan2</td><td><a href="mailto:yruan2 at users.sourceforge.net">yruan2 at users.sourceforge.net</a></td><td></td><td>
+                    </td><td></td><td><span id="developer-yruan2">Unknown</span></td></tr>
+                </tbody></table></div><div class="subsection"><a name="Contributors"></a><h3>Contributors</h3><p>
+	    There are no contributors listed for this project. Please check
+ 	    back again later.
+ 	  </p></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">� 2001-2005, MetaStuff Ltd.</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file
diff --git a/docs/xref-test/allclasses-frame.html b/docs/xref-test/allclasses-frame.html
new file mode 100644
index 0000000..efc0584
--- /dev/null
+++ b/docs/xref-test/allclasses-frame.html
@@ -0,0 +1,391 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>All Classes</title>
+      <link rel="stylesheet" href="stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>All Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="org/dom4j/datatype/AbstractDataTypeTestCase.html" target="classFrame">AbstractDataTypeTestCase</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/AbstractTestCase.html" target="classFrame">AbstractTestCase</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/AddAttributeTest.html" target="classFrame">AddAttributeTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/AddNodeTest.html" target="classFrame">AddNodeTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/AttributeDeclTest.html" target="classFrame">AttributeDeclTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/AttributeDetachTest.html" target="classFrame">AttributeDetachTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/AttributeTest.html" target="classFrame">AttributeTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/AutoSchemaTest.html" target="classFrame">AutoSchemaTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/BackedListTest.html" target="classFrame">BackedListTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/BadPathTest.html" target="classFrame">BadPathTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/bean/BeansTest.html" target="classFrame">BeansTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/BooleanTest.html" target="classFrame">BooleanTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/CDataTest.html" target="classFrame">CDataTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/CloneTest.html" target="classFrame">CloneTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ContentTest.html" target="classFrame">ContentTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/CopyTest.html" target="classFrame">CopyTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DOMReaderTest.html" target="classFrame">DOMReaderTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMTest.html" target="classFrame">DOMTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DOMWriterTest.html" target="classFrame">DOMWriterTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DTDTest.html" target="classFrame">DTDTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/DataTypesTest.html" target="classFrame">DataTypesTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/Datatype2Test.html" target="classFrame">Datatype2Test</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultDocumentTest.html" target="classFrame">DefaultDocumentTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultElementTest.html" target="classFrame">DefaultElementTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/DetachTest.html" target="classFrame">DetachTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DispatchHandlerTest.html" target="classFrame">DispatchHandlerTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/DocTypeTest.html" target="classFrame">DocTypeTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DocumentSourceTest.html" target="classFrame">DocumentSourceTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ElementByIDTest.html" target="classFrame">ElementByIDTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/ElementDeclTest.html" target="classFrame">ElementDeclTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/EmbeddedHandlerTest.html" target="classFrame">EmbeddedHandlerTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/ExternalEntityDeclTest.html" target="classFrame">ExternalEntityDeclTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/FilterTest.html" target="classFrame">FilterTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/GetPathTest.html" target="classFrame">GetPathTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/GetQNamesTest.html" target="classFrame">GetQNamesTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/GetXMLEncodingTest.html" target="classFrame">GetXMLEncodingTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/HTMLWriterTest.html" target="classFrame">HTMLWriterTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/IndexedElementTest.html" target="classFrame">IndexedElementTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/InternalEntityDeclTest.html" target="classFrame">InternalEntityDeclTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/IsTextOnlyTest.html" target="classFrame">IsTextOnlyTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/IteratorTest.html" target="classFrame">IteratorTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/LineFeedTest.html" target="classFrame">LineFeedTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/MakeElementTest.html" target="classFrame">MakeElementTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/ManualSchemaPrefixTest.html" target="classFrame">ManualSchemaPrefixTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/ManualSchemaTest.html" target="classFrame">ManualSchemaTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/MatrixConcatTest.html" target="classFrame">MatrixConcatTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/MergeTextTest.html" target="classFrame">MergeTextTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/NamespaceCacheTest.html" target="classFrame">NamespaceCacheTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/NamespaceTest.html" target="classFrame">NamespaceTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/NamespacesTest.html" target="classFrame">NamespacesTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/NodeTypeNameTest.html" target="classFrame">NodeTypeNameTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/NormalizeTest.html" target="classFrame">NormalizeTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/NullAttributesTest.html" target="classFrame">NullAttributesTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/NumberTest.html" target="classFrame">NumberTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/ObjectTest.html" target="classFrame">ObjectTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ParentTest.html" target="classFrame">ParentTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ParseTextTest.html" target="classFrame">ParseTextTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/PerThreadSingletonTest.html" target="classFrame">PerThreadSingletonTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/PrefixTest.html" target="classFrame">PrefixTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/PriorityTest.html" target="classFrame">PriorityTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ProcessingInstructionTest.html" target="classFrame">ProcessingInstructionTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/RoundTripTest.html" target="classFrame">RoundTripTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/RuleTest.html" target="classFrame">RuleTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/SAXContentHandlerTest.html" target="classFrame">SAXContentHandlerTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXReaderTest.html" target="classFrame">SAXReaderTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/SchemaParseTest.html" target="classFrame">SchemaParseTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/SelectSingleNodeTest.html" target="classFrame">SelectSingleNodeTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/SerializeTest.html" target="classFrame">SerializeTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/SetContentTest.html" target="classFrame">SetContentTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/SetDataTest.html" target="classFrame">SetDataTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/SetTextTest.html" target="classFrame">SetTextTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/SimpleSingletonTest.html" target="classFrame">SimpleSingletonTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/SortByTest.html" target="classFrame">SortByTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/StaxTest.html" target="classFrame">StaxTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/StylesheetTest.html" target="classFrame">StylesheetTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/SubstringTest.html" target="classFrame">SubstringTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/swing/TableModelTest.html" target="classFrame">TableModelTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/TextTest.html" target="classFrame">TextTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ThreadingTest.html" target="classFrame">ThreadingTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/UriMapTest.html" target="classFrame">UriMapTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/UserDataTest.html" target="classFrame">UserDataTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ValidationTest.html" target="classFrame">ValidationTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/ValueOfTest.html" target="classFrame">ValueOfTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/VariableTest.html" target="classFrame">VariableTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/WriteUnmergedTextTest.html" target="classFrame">WriteUnmergedTextTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/XMLResultTest.html" target="classFrame">XMLResultTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/XMLSpaceAttributeTest.html" target="classFrame">XMLSpaceAttributeTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/XMLWriterTest.html" target="classFrame">XMLWriterTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/XPP3ReaderTest.html" target="classFrame">XPP3ReaderTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/XPathBugTest.html" target="classFrame">XPathBugTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/XPathExamplesTest.html" target="classFrame">XPathExamplesTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/XPathTest.html" target="classFrame">XPathTest</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/XSLTTest.html" target="classFrame">XSLTTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/index.html b/docs/xref-test/index.html
new file mode 100644
index 0000000..01d039e
--- /dev/null
+++ b/docs/xref-test/index.html
@@ -0,0 +1,22 @@
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference</title>
+    </head>
+    <frameset cols="20%,80%">
+      <frameset rows="30%,70%">
+        <frame name="packageListFrame" src="overview-frame.html"></frame>
+        <frame name="packageFrame" src="allclasses-frame.html"></frame>
+      </frameset>
+      <frame name="classFrame" src="overview-summary.html"></frame>
+    </frameset>
+    <noframes>
+      <h1>Frame Alert</h1>
+      <p>
+        You don't have frames. Go
+        <a href="overview-summary.html">here</a>
+      </p>
+    </noframes>
+  </html>
diff --git a/docs/xref-test/org/dom4j/AbstractTestCase.html b/docs/xref-test/org/dom4j/AbstractTestCase.html
new file mode 100644
index 0000000..7c9bbf6
--- /dev/null
+++ b/docs/xref-test/org/dom4j/AbstractTestCase.html
@@ -0,0 +1,325 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractTestCase xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.framework.TestCase;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.apache.xalan.processor.TransformerFactoryImpl;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.apache.xerces.jaxp.SAXParserFactoryImpl;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.util.NodeComparator;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * An abstract base class for some DOM4J test cases</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.24 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> <strong>extends</strong> TestCase {
+<a name="27" href="#27">27</a>      <strong>protected</strong> Document document;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>protected</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a>() {
+<a name="30" href="#30">30</a>          <strong>super</strong>();
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>protected</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a>(String name) {
+<a name="34" href="#34">34</a>          <strong>super</strong>(name);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>protected</strong> <strong>void</strong> log(String text) {
+<a name="38" href="#38">38</a>          System.out.println(text);
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>protected</strong> Document getDocument() {
+<a name="42" href="#42">42</a>          <strong>return</strong> document;
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>protected</strong> Document getDocument(String path) throws Exception {
+<a name="46" href="#46">46</a>          <strong>return</strong> getDocument(path, <strong>new</strong> SAXReader());
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>protected</strong> Document getDocument(String path, SAXReader reader)
+<a name="50" href="#50">50</a>              throws Exception {
+<a name="51" href="#51">51</a>          <strong>return</strong> reader.read(getFile(path));
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>protected</strong> File getFile(String path) {
+<a name="55" href="#55">55</a>          <strong>return</strong> <strong>new</strong> File(System.getProperty(<span class="string">"user.dir"</span>), path);
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> assertDocumentsEqual(Document doc1, Document doc2)
+<a name="59" href="#59">59</a>              throws Exception {
+<a name="60" href="#60">60</a>          <strong>try</strong> {
+<a name="61" href="#61">61</a>              assertTrue(<span class="string">"Doc1 not null"</span>, doc1 != <strong>null</strong>);
+<a name="62" href="#62">62</a>              assertTrue(<span class="string">"Doc2 not null"</span>, doc2 != <strong>null</strong>);
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>              doc1.normalize();
+<a name="65" href="#65">65</a>              doc2.normalize();
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>              assertNodesEqual(doc1, doc2);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>              NodeComparator comparator = <strong>new</strong> NodeComparator();
+<a name="70" href="#70">70</a>              assertTrue(<span class="string">"Documents are equal"</span>,
+<a name="71" href="#71">71</a>                      comparator.compare(doc1, doc2) == 0);
+<a name="72" href="#72">72</a>          } <strong>catch</strong> (Exception e) {
+<a name="73" href="#73">73</a>              log(<span class="string">"Failed during comparison of: "</span> + doc1 + <span class="string">" and: "</span> + doc2);
+<a name="74" href="#74">74</a>              <strong>throw</strong> e;
+<a name="75" href="#75">75</a>          }
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> <strong>void</strong> assertNodesEqual(Document n1, Document n2) {
+<a name="79" href="#79">79</a>          <em class="comment">// assertEquals( "Document names", n1.getName(), n2.getName() );</em>
+<a name="80" href="#80">80</a>          assertNodesEqual(n1.getDocType(), n2.getDocType());
+<a name="81" href="#81">81</a>          assertNodesEqualContent(n1, n2);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>public</strong> <strong>void</strong> assertNodesEqual(Element n1, Element n2) {
+<a name="85" href="#85">85</a>          assertNodesEqual(n1.getQName(), n2.getQName());
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>          <strong>int</strong> c1 = n1.attributeCount();
+<a name="88" href="#88">88</a>          <strong>int</strong> c2 = n2.attributeCount();
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          assertEquals(<span class="string">"Elements have same number of attributes ("</span> + c1 + <span class="string">", "</span>
+<a name="91" href="#91">91</a>                  + c2 + <span class="string">" for: "</span> + n1 + <span class="string">" and "</span> + n2, c1, c2);
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < c1; i++) {
+<a name="94" href="#94">94</a>              Attribute a1 = n1.attribute(i);
+<a name="95" href="#95">95</a>              Attribute a2 = n2.attribute(a1.getQName());
+<a name="96" href="#96">96</a>              assertNodesEqual(a1, a2);
+<a name="97" href="#97">97</a>          }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          assertNodesEqualContent(n1, n2);
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>void</strong> assertNodesEqual(Attribute n1, Attribute n2) {
+<a name="103" href="#103">103</a>         assertNodesEqual(n1.getQName(), n2.getQName());
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>         assertEquals(<span class="string">"Attribute values for: "</span> + n1 + <span class="string">" and "</span> + n2, n1
+<a name="106" href="#106">106</a>                 .getValue(), n2.getValue());
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>public</strong> <strong>void</strong> assertNodesEqual(QName n1, QName n2) {
+<a name="110" href="#110">110</a>         assertEquals(<span class="string">"URIs equal for: "</span> + n1.getQualifiedName() + <span class="string">" and "</span>
+<a name="111" href="#111">111</a>                 + n2.getQualifiedName(), n1.getNamespaceURI(), n2
+<a name="112" href="#112">112</a>                 .getNamespaceURI());
+<a name="113" href="#113">113</a>         assertEquals(<span class="string">"qualified names equal"</span>, n1.getQualifiedName(), n2
+<a name="114" href="#114">114</a>                 .getQualifiedName());
+<a name="115" href="#115">115</a>     }
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>     <strong>public</strong> <strong>void</strong> assertNodesEqual(CharacterData t1, CharacterData t2) {
+<a name="118" href="#118">118</a>         assertEquals(<span class="string">"Text equal for: "</span> + t1 + <span class="string">" and "</span> + t2, t1.getText(), t2
+<a name="119" href="#119">119</a>                 .getText());
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>     <strong>public</strong> <strong>void</strong> assertNodesEqual(DocumentType o1, DocumentType o2) {
+<a name="123" href="#123">123</a>         <strong>if</strong> (o1 != o2) {
+<a name="124" href="#124">124</a>             <strong>if</strong> (o1 == <strong>null</strong>) {
+<a name="125" href="#125">125</a>                 assertTrue(<span class="string">"Missing DocType: "</span> + o2, false);
+<a name="126" href="#126">126</a>             } <strong>else</strong> <strong>if</strong> (o2 == <strong>null</strong>) {
+<a name="127" href="#127">127</a>                 assertTrue(<span class="string">"Missing DocType: "</span> + o1, false);
+<a name="128" href="#128">128</a>             } <strong>else</strong> {
+<a name="129" href="#129">129</a>                 assertEquals(<span class="string">"DocType name equal"</span>, o1.getName(), o2.getName());
+<a name="130" href="#130">130</a>                 assertEquals(<span class="string">"DocType publicID equal"</span>, o1.getPublicID(), o2
+<a name="131" href="#131">131</a>                         .getPublicID());
+<a name="132" href="#132">132</a>                 assertEquals(<span class="string">"DocType systemID equal"</span>, o1.getSystemID(), o2
+<a name="133" href="#133">133</a>                         .getSystemID());
+<a name="134" href="#134">134</a>             }
+<a name="135" href="#135">135</a>         }
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <strong>public</strong> <strong>void</strong> assertNodesEqual(Entity o1, Entity o2) {
+<a name="139" href="#139">139</a>         assertEquals(<span class="string">"Entity names equal"</span>, o1.getName(), o2.getName());
+<a name="140" href="#140">140</a>         assertEquals(<span class="string">"Entity values equal"</span>, o1.getText(), o2.getText());
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <strong>public</strong> <strong>void</strong> assertNodesEqual(ProcessingInstruction n1,
+<a name="144" href="#144">144</a>             ProcessingInstruction n2) {
+<a name="145" href="#145">145</a>         assertEquals(<span class="string">"PI targets equal"</span>, n1.getTarget(), n2.getTarget());
+<a name="146" href="#146">146</a>         assertEquals(<span class="string">"PI text equal"</span>, n1.getText(), n2.getText());
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <strong>public</strong> <strong>void</strong> assertNodesEqual(Namespace n1, Namespace n2) {
+<a name="150" href="#150">150</a>         assertEquals(<span class="string">"Namespace prefixes not equal"</span>, n1.getPrefix(), n2
+<a name="151" href="#151">151</a>                 .getPrefix());
+<a name="152" href="#152">152</a>         assertEquals(<span class="string">"Namespace URIs not equal"</span>, n1.getURI(), n2.getURI());
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> <strong>void</strong> assertNodesEqualContent(Branch b1, Branch b2) {
+<a name="156" href="#156">156</a>         <strong>int</strong> c1 = b1.nodeCount();
+<a name="157" href="#157">157</a>         <strong>int</strong> c2 = b2.nodeCount();
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>         <strong>if</strong> (c1 != c2) {
+<a name="160" href="#160">160</a>             log(<span class="string">"Content of: "</span> + b1);
+<a name="161" href="#161">161</a>             log(<span class="string">"is: "</span> + b1.content());
+<a name="162" href="#162">162</a>             log(<span class="string">"Content of: "</span> + b2);
+<a name="163" href="#163">163</a>             log(<span class="string">"is: "</span> + b2.content());
+<a name="164" href="#164">164</a>         }
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>         assertEquals(<span class="string">"Branches have same number of children ("</span> + c1 + <span class="string">", "</span> + c2
+<a name="167" href="#167">167</a>                 + <span class="string">" for: "</span> + b1 + <span class="string">" and "</span> + b2, c1, c2);
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < c1; i++) {
+<a name="170" href="#170">170</a>             Node n1 = b1.node(i);
+<a name="171" href="#171">171</a>             Node n2 = b2.node(i);
+<a name="172" href="#172">172</a>             assertNodesEqual(n1, n2);
+<a name="173" href="#173">173</a>         }
+<a name="174" href="#174">174</a>     }
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>     <strong>public</strong> <strong>void</strong> assertNodesEqual(Node n1, Node n2) {
+<a name="177" href="#177">177</a>         <strong>int</strong> nodeType1 = n1.getNodeType();
+<a name="178" href="#178">178</a>         <strong>int</strong> nodeType2 = n2.getNodeType();
+<a name="179" href="#179">179</a>         assertTrue(<span class="string">"Nodes are of same type: "</span>, nodeType1 == nodeType2);
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>         <strong>switch</strong> (nodeType1) {
+<a name="182" href="#182">182</a>             <strong>case</strong> Node.ELEMENT_NODE:
+<a name="183" href="#183">183</a>                 assertNodesEqual((Element) n1, (Element) n2);
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>                 <strong>break</strong>;
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>             <strong>case</strong> Node.DOCUMENT_NODE:
+<a name="188" href="#188">188</a>                 assertNodesEqual((Document) n1, (Document) n2);
+<a name="189" href="#189">189</a> 
+<a name="190" href="#190">190</a>                 <strong>break</strong>;
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>             <strong>case</strong> Node.ATTRIBUTE_NODE:
+<a name="193" href="#193">193</a>                 assertNodesEqual((Attribute) n1, (Attribute) n2);
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>                 <strong>break</strong>;
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>             <strong>case</strong> Node.TEXT_NODE:
+<a name="198" href="#198">198</a>                 assertNodesEqual((Text) n1, (Text) n2);
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>                 <strong>break</strong>;
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>             <strong>case</strong> Node.CDATA_SECTION_NODE:
+<a name="203" href="#203">203</a>                 assertNodesEqual((CDATA) n1, (CDATA) n2);
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>                 <strong>break</strong>;
+<a name="206" href="#206">206</a> 
+<a name="207" href="#207">207</a>             <strong>case</strong> Node.ENTITY_REFERENCE_NODE:
+<a name="208" href="#208">208</a>                 assertNodesEqual((Entity) n1, (Entity) n2);
+<a name="209" href="#209">209</a> 
+<a name="210" href="#210">210</a>                 <strong>break</strong>;
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>             <strong>case</strong> Node.PROCESSING_INSTRUCTION_NODE:
+<a name="213" href="#213">213</a>                 assertNodesEqual((ProcessingInstruction) n1,
+<a name="214" href="#214">214</a>                         (ProcessingInstruction) n2);
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>                 <strong>break</strong>;
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>             <strong>case</strong> Node.COMMENT_NODE:
+<a name="219" href="#219">219</a>                 assertNodesEqual((Comment) n1, (Comment) n2);
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>                 <strong>break</strong>;
+<a name="222" href="#222">222</a> 
+<a name="223" href="#223">223</a>             <strong>case</strong> Node.DOCUMENT_TYPE_NODE:
+<a name="224" href="#224">224</a>                 assertNodesEqual((DocumentType) n1, (DocumentType) n2);
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>                 <strong>break</strong>;
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>             <strong>case</strong> Node.NAMESPACE_NODE:
+<a name="229" href="#229">229</a>                 assertNodesEqual((Namespace) n1, (Namespace) n2);
+<a name="230" href="#230">230</a> 
+<a name="231" href="#231">231</a>                 <strong>break</strong>;
+<a name="232" href="#232">232</a> 
+<a name="233" href="#233">233</a>             <strong>default</strong>:
+<a name="234" href="#234">234</a>                 assertTrue(<span class="string">"Invalid node types. node1: "</span> + n1 + <span class="string">" and node2: "</span>
+<a name="235" href="#235">235</a>                         + n2, false);
+<a name="236" href="#236">236</a>         }
+<a name="237" href="#237">237</a>     }
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>     <em class="comment">// Implementation methods</em>
+<a name="240" href="#240">240</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="241" href="#241">241</a>     <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="242" href="#242">242</a>         System.setProperty(<span class="string">"javax.xml.parsers.SAXParserFactory"</span>,
+<a name="243" href="#243">243</a>                 SAXParserFactoryImpl.<strong>class</strong>.getName());
+<a name="244" href="#244">244</a>         System.setProperty(<span class="string">"javax.xml.transform.TransformerFactory"</span>,
+<a name="245" href="#245">245</a>                 TransformerFactoryImpl.<strong>class</strong>.getName());
+<a name="246" href="#246">246</a>         document = DocumentHelper.createDocument();
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>         Element root = document.addElement(<span class="string">"root"</span>);
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>         Element author1 = root.addElement(<span class="string">"author"</span>).addAttribute(<span class="string">"name"</span>,
+<a name="251" href="#251">251</a>                 <span class="string">"James"</span>).addAttribute(<span class="string">"location"</span>, <span class="string">"UK"</span>).addText(
+<a name="252" href="#252">252</a>                 <span class="string">"James Strachan"</span>);
+<a name="253" href="#253">253</a> 
+<a name="254" href="#254">254</a>         Element url1 = author1.addElement(<span class="string">"url"</span>);
+<a name="255" href="#255">255</a>         url1.addText(<span class="string">"http://sourceforge.net/users/jstrachan/"</span>);
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>         Element author2 = root.addElement(<span class="string">"author"</span>).addAttribute(<span class="string">"name"</span>, <span class="string">"Bob"</span>)
+<a name="258" href="#258">258</a>                 .addAttribute(<span class="string">"location"</span>, <span class="string">"Canada"</span>).addText(<span class="string">"Bob McWhirter"</span>);
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>         Element url2 = author2.addElement(<span class="string">"url"</span>);
+<a name="261" href="#261">261</a>         url2.addText(<span class="string">"http://sourceforge.net/users/werken/"</span>);
+<a name="262" href="#262">262</a>     }
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>     <em>/**<em>*</em></em>
+<a name="265" href="#265">265</a> <em>     * DOCUMENT ME!</em>
+<a name="266" href="#266">266</a> <em>     * </em>
+<a name="267" href="#267">267</a> <em>     * @return the root element of the document</em>
+<a name="268" href="#268">268</a> <em>     */</em>
+<a name="269" href="#269">269</a>     <strong>protected</strong> Element getRootElement() {
+<a name="270" href="#270">270</a>         Element root = document.getRootElement();
+<a name="271" href="#271">271</a>         assertTrue(<span class="string">"Document has root element"</span>, root != <strong>null</strong>);
+<a name="272" href="#272">272</a> 
+<a name="273" href="#273">273</a>         <strong>return</strong> root;
+<a name="274" href="#274">274</a>     }
+<a name="275" href="#275">275</a> }
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a> <em class="comment">/*</em>
+<a name="278" href="#278">278</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="279" href="#279">279</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="280" href="#280">280</a> <em class="comment"> * following conditions are met:</em>
+<a name="281" href="#281">281</a> <em class="comment"> * </em>
+<a name="282" href="#282">282</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="283" href="#283">283</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="284" href="#284">284</a> <em class="comment"> * </em>
+<a name="285" href="#285">285</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="286" href="#286">286</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="287" href="#287">287</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="288" href="#288">288</a> <em class="comment"> * </em>
+<a name="289" href="#289">289</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="290" href="#290">290</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="291" href="#291">291</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="292" href="#292">292</a> <em class="comment"> * </em>
+<a name="293" href="#293">293</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="294" href="#294">294</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="295" href="#295">295</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="296" href="#296">296</a> <em class="comment"> * </em>
+<a name="297" href="#297">297</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="298" href="#298">298</a> <em class="comment"> * </em>
+<a name="299" href="#299">299</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="300" href="#300">300</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="301" href="#301">301</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="302" href="#302">302</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="303" href="#303">303</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="304" href="#304">304</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="305" href="#305">305</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="306" href="#306">306</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="307" href="#307">307</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="308" href="#308">308</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="309" href="#309">309</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="310" href="#310">310</a> <em class="comment"> * </em>
+<a name="311" href="#311">311</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="312" href="#312">312</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/AddAttributeTest.html b/docs/xref-test/org/dom4j/AddAttributeTest.html
new file mode 100644
index 0000000..2a725f2
--- /dev/null
+++ b/docs/xref-test/org/dom4j/AddAttributeTest.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AddAttributeTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * A test harness to test the addAttribute() methods on attributes</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:maartenc at users.sourceforge.net" target="alexandria_uri">mailto:maartenc at users.sourceforge.net</a>">Maarten Coene </a></em>
+<a name="16" href="#16">16</a>  <em> */</em>
+<a name="17" href="#17">17</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/AddAttributeTest.html">AddAttributeTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="18" href="#18">18</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="19" href="#19">19</a>          TestRunner.run(AddAttributeTest.<strong>class</strong>);
+<a name="20" href="#20">20</a>      }
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>      <em class="comment">// Test case(s)</em>
+<a name="23" href="#23">23</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>void</strong> testAddAttributeNormalValue() throws Exception {
+<a name="25" href="#25">25</a>          String testAttributeName = <span class="string">"testAtt"</span>;
+<a name="26" href="#26">26</a>          String testAttributeValue = <span class="string">"testValue"</span>;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>          Node authorNode = document.selectSingleNode(<span class="string">"//root/author[1]"</span>);
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>          assertTrue(authorNode instanceof Element);
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          Element authorEl = (Element) authorNode;
+<a name="33" href="#33">33</a>          authorEl.addAttribute(testAttributeName, testAttributeValue);
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          assertEquals(3, authorEl.attributeCount());
+<a name="36" href="#36">36</a>          assertEquals(testAttributeValue, authorEl
+<a name="37" href="#37">37</a>                  .attributeValue(testAttributeName));
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>void</strong> testAddAttributeNullValue() throws Exception {
+<a name="41" href="#41">41</a>          String testAttributeName = <span class="string">"location"</span>;
+<a name="42" href="#42">42</a>          String testAttributeValue = <strong>null</strong>;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          Node authorNode = document.selectSingleNode(<span class="string">"//root/author[1]"</span>);
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          assertTrue(authorNode instanceof Element);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          Element authorEl = (Element) authorNode;
+<a name="49" href="#49">49</a>          authorEl.addAttribute(testAttributeName, testAttributeValue);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          assertEquals(1, authorEl.attributeCount());
+<a name="52" href="#52">52</a>          assertNull(authorEl.attributeValue(testAttributeName));
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>  <em class="comment">/*</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * following conditions are met:</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="91" href="#91">91</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/AddNodeTest.html b/docs/xref-test/org/dom4j/AddNodeTest.html
new file mode 100644
index 0000000..81265f8
--- /dev/null
+++ b/docs/xref-test/org/dom4j/AddNodeTest.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AddNodeTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * A test harness to test the addNode() methods on node</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author Philippe Ombredanne</em>
+<a name="16" href="#16">16</a>  <em> */</em>
+<a name="17" href="#17">17</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/AddNodeTest.html">AddNodeTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="18" href="#18">18</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="19" href="#19">19</a>          TestRunner.run(AddNodeTest.<strong>class</strong>);
+<a name="20" href="#20">20</a>      }
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>      <em class="comment">// Test case(s)</em>
+<a name="23" href="#23">23</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>void</strong> testDom4jAddNodeClone() {
+<a name="25" href="#25">25</a>          Document maindoc = DocumentHelper.createDocument();
+<a name="26" href="#26">26</a>          Element docroot = maindoc.addElement(<span class="string">"document"</span>);
+<a name="27" href="#27">27</a>          Element header = docroot.addElement(<span class="string">"header"</span>).addText(<span class="string">"Some Text"</span>);
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>          Document subdoc = DocumentHelper.createDocument();
+<a name="30" href="#30">30</a>          Element docroot2 = subdoc.addElement(<span class="string">"document"</span>);
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          docroot2.add((Element) maindoc.selectSingleNode(<span class="string">"/document/header"</span>)
+<a name="33" href="#33">33</a>                  .clone());
+<a name="34" href="#34">34</a>          assertEquals(subdoc.asXML(), maindoc.asXML());
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <strong>void</strong> testDom4jAddNodeCreateCopy() {
+<a name="38" href="#38">38</a>          Document maindoc = DocumentHelper.createDocument();
+<a name="39" href="#39">39</a>          Element docroot = maindoc.addElement(<span class="string">"document"</span>);
+<a name="40" href="#40">40</a>          Element header = docroot.addElement(<span class="string">"header"</span>).addText(<span class="string">"Some Text"</span>);
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          Document subdoc = DocumentHelper.createDocument();
+<a name="43" href="#43">43</a>          Element docroot2 = subdoc.addElement(<span class="string">"document"</span>);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          docroot2.add(((Element) maindoc.selectSingleNode(<span class="string">"/document/header"</span>))
+<a name="46" href="#46">46</a>                  .createCopy());
+<a name="47" href="#47">47</a>          assertEquals(subdoc.asXML(), maindoc.asXML());
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <strong>void</strong> testDom4jAddNodeBug() {
+<a name="51" href="#51">51</a>          Document maindoc = DocumentHelper.createDocument();
+<a name="52" href="#52">52</a>          Element docroot = maindoc.addElement(<span class="string">"document"</span>);
+<a name="53" href="#53">53</a>          Element header = docroot.addElement(<span class="string">"header"</span>).addText(<span class="string">"Some Text"</span>);
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          Document subdoc = DocumentHelper.createDocument();
+<a name="56" href="#56">56</a>          Element subroot = subdoc.addElement(<span class="string">"document"</span>);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          <strong>try</strong> {
+<a name="59" href="#59">59</a>              <em class="comment">// add the header node from maindoc without clone... or createCopy</em>
+<a name="60" href="#60">60</a>              subroot.add((Element) maindoc.selectSingleNode(<span class="string">"/document/header"</span>));
+<a name="61" href="#61">61</a>              fail();
+<a name="62" href="#62">62</a>          } <strong>catch</strong> (IllegalAddException e) {
+<a name="63" href="#63">63</a>              <em class="comment">// the header already has a parent, this exception is normal</em>
+<a name="64" href="#64">64</a>          }
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>  <em class="comment">/*</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * following conditions are met:</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="103" href="#103">103</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/AttributeDetachTest.html b/docs/xref-test/org/dom4j/AttributeDetachTest.html
new file mode 100644
index 0000000..8f1301e
--- /dev/null
+++ b/docs/xref-test/org/dom4j/AttributeDetachTest.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AttributeDetachTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * A test harness to test the detach() method on attributes</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/AttributeDetachTest.html">AttributeDetachTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="22" href="#22">22</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="23" href="#23">23</a>          TestRunner.run(AttributeDetachTest.<strong>class</strong>);
+<a name="24" href="#24">24</a>      }
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em class="comment">// Test case(s)</em>
+<a name="27" href="#27">27</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>void</strong> testDetachAttribute() throws Exception {
+<a name="29" href="#29">29</a>          List attributes = document.selectNodes(<span class="string">"//@name"</span>);
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>          assertTrue(<span class="string">"Found more than one attribute: "</span>, attributes.size() > 0);
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>          <strong>for</strong> (Iterator iter = attributes.iterator(); iter.hasNext();) {
+<a name="34" href="#34">34</a>              Attribute attribute = (Attribute) iter.next();
+<a name="35" href="#35">35</a>              Element element = attribute.getParent();
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>              assertTrue(<span class="string">"Attribute: "</span> + attribute + <span class="string">" has parent: "</span> + element,
+<a name="38" href="#38">38</a>                      attribute.getParent() == element);
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>              QName qname = attribute.getQName();
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>              Attribute attribute2 = element.attribute(qname);
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>              String value = attribute.getValue();
+<a name="45" href="#45">45</a>              String value2 = element.attributeValue(qname);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>              assertEquals(<span class="string">"Attribute and Element have same attrbute value"</span>,
+<a name="48" href="#48">48</a>                      value, value2);
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>              attribute.detach();
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>              attribute2 = element.attribute(qname);
+<a name="53" href="#53">53</a>              value2 = element.attributeValue(qname);
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>              assertTrue(<span class="string">"Element now has no value: "</span> + value2, value2 == <strong>null</strong>);
+<a name="56" href="#56">56</a>              assertTrue(<span class="string">"Element now has no attribute: "</span> + attribute2,
+<a name="57" href="#57">57</a>                      attribute2 == <strong>null</strong>);
+<a name="58" href="#58">58</a>          }
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>  <em class="comment">/*</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * following conditions are met:</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="97" href="#97">97</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/BackedListTest.html b/docs/xref-test/org/dom4j/BackedListTest.html
new file mode 100644
index 0000000..822e672
--- /dev/null
+++ b/docs/xref-test/org/dom4j/BackedListTest.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BackedListTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * A test harness to test the backed list feature of DOM4J</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/BackedListTest.html">BackedListTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="23" href="#23">23</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="24" href="#24">24</a>          TestRunner.run(BackedListTest.<strong>class</strong>);
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em class="comment">// Test case(s)</em>
+<a name="28" href="#28">28</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="30" href="#30">30</a>          Element element = (Element) document.selectSingleNode(<span class="string">"/root"</span>);
+<a name="31" href="#31">31</a>          mutate(element);
+<a name="32" href="#32">32</a>          element = (Element) document.selectSingleNode(<span class="string">"//author"</span>);
+<a name="33" href="#33">33</a>          mutate(element);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> testAddRemove() throws Exception {
+<a name="37" href="#37">37</a>          Element parentElement = (Element) document.selectSingleNode(<span class="string">"/root"</span>);
+<a name="38" href="#38">38</a>          List children = parentElement.elements();
+<a name="39" href="#39">39</a>          <strong>int</strong> lastPos = children.size() - 1;
+<a name="40" href="#40">40</a>          Element child = (Element) children.get(lastPos);
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          <strong>try</strong> {
+<a name="43" href="#43">43</a>              <em class="comment">// should throw an exception cause we cannot add same child twice</em>
+<a name="44" href="#44">44</a>              children.add(0, child);
+<a name="45" href="#45">45</a>              fail();
+<a name="46" href="#46">46</a>          } <strong>catch</strong> (IllegalAddException e) {
+<a name="47" href="#47">47</a>          }
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <strong>void</strong> testAddWithIndex() throws Exception {
+<a name="51" href="#51">51</a>          DocumentFactory factory = DocumentFactory.getInstance();
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          Element root = (Element) document.selectSingleNode(<span class="string">"/root"</span>);
+<a name="54" href="#54">54</a>          List children = root.elements(); <em class="comment">// return a list of 2 author</em>
+<a name="55" href="#55">55</a>          <em class="comment">// elements</em>
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          assertEquals(2, children.size());
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          children.add(1, factory.createElement(<span class="string">"dummy1"</span>));
+<a name="60" href="#60">60</a>          children = root.elements();
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>          assertEquals(3, children.size());
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          children = root.elements(<span class="string">"author"</span>);
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          assertEquals(2, children.size());
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>          children.add(1, factory.createElement(<span class="string">"dummy2"</span>));
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          children = root.elements();
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>          assertEquals(4, children.size());
+<a name="73" href="#73">73</a>          assertEquals(<span class="string">"dummy1"</span>, ((Node) children.get(1)).getName());
+<a name="74" href="#74">74</a>          assertEquals(<span class="string">"dummy2"</span>, ((Node) children.get(2)).getName());
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          <em class="comment">/*</em>
+<a name="77" href="#77">77</a>  <em class="comment">         * Some tests for issue reported at <a href="http://tinyurl.com/4jxrc" target="alexandria_uri">http://tinyurl.com/4jxrc</a></em>
+<a name="78" href="#78">78</a>  <em class="comment">         */</em>
+<a name="79" href="#79">79</a>          children.add(children.size(), factory.createElement(<span class="string">"dummy3"</span>));
+<a name="80" href="#80">80</a>          children = root.elements(<span class="string">"author"</span>);
+<a name="81" href="#81">81</a>          children.add(children.size(), factory.createElement(<span class="string">"dummy4"</span>));
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <em class="comment">// Implementation methods</em>
+<a name="85" href="#85">85</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="86" href="#86">86</a>      <strong>protected</strong> <strong>void</strong> mutate(Element element) throws Exception {
+<a name="87" href="#87">87</a>          DocumentFactory factory = DocumentFactory.getInstance();
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          List list = element.elements();
+<a name="90" href="#90">90</a>          list.add(factory.createElement(<span class="string">"last"</span>));
+<a name="91" href="#91">91</a>          list.add(0, factory.createElement(<span class="string">"first"</span>));
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          List list2 = element.elements();
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>          assertTrue(<span class="string">"Both lists should contain same number of elements"</span>, list
+<a name="96" href="#96">96</a>                  .size() == list2.size());
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          XMLWriter writer = <strong>new</strong> XMLWriter(System.out);
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>         log(<span class="string">"Element content is now: "</span> + element.content());
+<a name="101" href="#101">101</a>         writer.write(element);
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a> <em class="comment">/*</em>
+<a name="106" href="#106">106</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="107" href="#107">107</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="108" href="#108">108</a> <em class="comment"> * following conditions are met:</em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="111" href="#111">111</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="112" href="#112">112</a> <em class="comment"> * </em>
+<a name="113" href="#113">113</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="114" href="#114">114</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="115" href="#115">115</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="116" href="#116">116</a> <em class="comment"> * </em>
+<a name="117" href="#117">117</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="118" href="#118">118</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="119" href="#119">119</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="120" href="#120">120</a> <em class="comment"> * </em>
+<a name="121" href="#121">121</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="122" href="#122">122</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="123" href="#123">123</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="124" href="#124">124</a> <em class="comment"> * </em>
+<a name="125" href="#125">125</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="126" href="#126">126</a> <em class="comment"> * </em>
+<a name="127" href="#127">127</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="128" href="#128">128</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="129" href="#129">129</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="130" href="#130">130</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="131" href="#131">131</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="132" href="#132">132</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="133" href="#133">133</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="134" href="#134">134</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="135" href="#135">135</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="136" href="#136">136</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="137" href="#137">137</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="140" href="#140">140</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/CloneTest.html b/docs/xref-test/org/dom4j/CloneTest.html
new file mode 100644
index 0000000..e2a7942
--- /dev/null
+++ b/docs/xref-test/org/dom4j/CloneTest.html
@@ -0,0 +1,191 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CloneTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Comparator;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.dom.DOMDocument;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.dom.DOMDocumentFactory;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.util.NodeComparator;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * A test harness to test the clone() methods on Nodes</em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/CloneTest.html">CloneTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="25" href="#25">25</a>      <strong>private</strong> Comparator comparator = <strong>new</strong> NodeComparator();
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="28" href="#28">28</a>          TestRunner.run(CloneTest.<strong>class</strong>);
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em class="comment">// Test case(s)</em>
+<a name="32" href="#32">32</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>void</strong> testBug1148333() {
+<a name="34" href="#34">34</a>          DOMDocumentFactory factory = (DOMDocumentFactory) DOMDocumentFactory
+<a name="35" href="#35">35</a>                  .getInstance();
+<a name="36" href="#36">36</a>          DOMDocument doc = (DOMDocument) factory.createDocument();
+<a name="37" href="#37">37</a>          Element el = doc.addElement(<span class="string">"root"</span>);
+<a name="38" href="#38">38</a>          el.addNamespace(<span class="string">"pref2"</span>, <span class="string">"uri2"</span>);
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          DOMDocument clone = (DOMDocument) doc.cloneNode(<strong>true</strong>);
+<a name="41" href="#41">41</a>          
+<a name="42" href="#42">42</a>          assertNotSame(doc, clone);
+<a name="43" href="#43">43</a>          assertNodesEqual(doc, clone);
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> testElementWithNamespaceClone() {
+<a name="47" href="#47">47</a>          Element element = DocumentFactory.getInstance()
+<a name="48" href="#48">48</a>                  .createElement(<span class="string">"element"</span>);
+<a name="49" href="#49">49</a>          element.addNamespace(<span class="string">"prefix"</span>, <span class="string">"uri"</span>);
+<a name="50" href="#50">50</a>          Element clone = (Element) element.clone();
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          assertNotSame(element, clone);
+<a name="53" href="#53">53</a>          assertNodesEqual(element, clone);
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>public</strong> <strong>void</strong> testDocumentClone() throws Exception {
+<a name="57" href="#57">57</a>          document.setName(<span class="string">"doc1"</span>);
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          Document doc2 = (Document) document.clone();
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          assertNotSame(document, doc2);
+<a name="62" href="#62">62</a>          assertNodesEqual(document, doc2);
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>void</strong> testAddCloneToOtherElement() {
+<a name="66" href="#66">66</a>          DocumentFactory factory = DocumentFactory.getInstance();
+<a name="67" href="#67">67</a>          Document doc = factory.createDocument();
+<a name="68" href="#68">68</a>          Element root = doc.addElement(<span class="string">"root"</span>);
+<a name="69" href="#69">69</a>          Element parent1 = root.addElement(<span class="string">"parent"</span>);
+<a name="70" href="#70">70</a>          Element child1 = parent1.addElement(<span class="string">"child"</span>);
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>          Element parent2 = (Element) parent1.clone();
+<a name="73" href="#73">73</a>          root.add(parent2);
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>          assertSame(<span class="string">"parent not correct"</span>, root, parent2.getParent());
+<a name="76" href="#76">76</a>          assertSame(<span class="string">"document not correct"</span>, doc, parent2.getDocument());
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          Element child2 = parent2.element(<span class="string">"child"</span>);
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>          assertNotSame(<span class="string">"child not cloned"</span>, child1, child2);
+<a name="81" href="#81">81</a>          assertSame(<span class="string">"parent not correct"</span>, parent2, child2.getParent());
+<a name="82" href="#82">82</a>          assertSame(<span class="string">"document not correct"</span>, doc, child2.getDocument());
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <strong>void</strong> testRootElementClone() throws Exception {
+<a name="86" href="#86">86</a>          testElementClone(document.getRootElement());
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> <strong>void</strong> testAuthorElementClone() throws Exception {
+<a name="90" href="#90">90</a>          testElementClone((Element) document.selectSingleNode(<span class="string">"//author"</span>));
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> <strong>void</strong> testRootCompare1() throws Exception {
+<a name="94" href="#94">94</a>          Document doc2 = (Document) document.clone();
+<a name="95" href="#95">95</a>          Element author = doc2.getRootElement();
+<a name="96" href="#96">96</a>          author.addAttribute(<span class="string">"foo"</span>, <span class="string">"bar"</span>);
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          assertTrue(<span class="string">"Documents are not equal"</span>, comparator
+<a name="99" href="#99">99</a>                  .compare(document, doc2) != 0);
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>void</strong> testRootCompare2() throws Exception {
+<a name="103" href="#103">103</a>         Document doc2 = (Document) document.clone();
+<a name="104" href="#104">104</a>         Element author = doc2.getRootElement();
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         author.addText(<span class="string">"foo"</span>);
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>         assertTrue(<span class="string">"Documents are not equal"</span>, comparator
+<a name="109" href="#109">109</a>                 .compare(document, doc2) != 0);
+<a name="110" href="#110">110</a>     }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <strong>public</strong> <strong>void</strong> testAuthorCompare1() throws Exception {
+<a name="113" href="#113">113</a>         Document doc2 = (Document) document.clone();
+<a name="114" href="#114">114</a>         Element author = (Element) doc2.selectSingleNode(<span class="string">"//author"</span>);
+<a name="115" href="#115">115</a>         author.addAttribute(<span class="string">"name"</span>, <span class="string">"James Strachan"</span>);
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         assertTrue(<span class="string">"Documents are not equal"</span>, comparator
+<a name="118" href="#118">118</a>                 .compare(document, doc2) != 0);
+<a name="119" href="#119">119</a>     }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <strong>public</strong> <strong>void</strong> testAuthorCompare2() throws Exception {
+<a name="122" href="#122">122</a>         Document doc2 = (Document) document.clone();
+<a name="123" href="#123">123</a>         Element author = (Element) doc2.selectSingleNode(<span class="string">"//author"</span>);
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>         author.addText(<span class="string">"foo"</span>);
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         assertTrue(<span class="string">"Documents are not equal"</span>, comparator
+<a name="128" href="#128">128</a>                 .compare(document, doc2) != 0);
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>protected</strong> <strong>void</strong> testElementClone(Element element) throws Exception {
+<a name="132" href="#132">132</a>         Element element2 = (Element) element.clone();
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>         assertTrue(<span class="string">"Returned a new Element"</span>, element2 != element);
+<a name="135" href="#135">135</a>         assertNull(<span class="string">"New element has no parent"</span>, element2.getParent());
+<a name="136" href="#136">136</a>         assertNull(<span class="string">"New element has no Document"</span>, element2.getDocument());
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>         assertTrue(<span class="string">"Element fragments are equal"</span>, comparator.compare(element,
+<a name="139" href="#139">139</a>                 element2) == 0);
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a> <em class="comment">/*</em>
+<a name="144" href="#144">144</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="145" href="#145">145</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="146" href="#146">146</a> <em class="comment"> * following conditions are met:</em>
+<a name="147" href="#147">147</a> <em class="comment"> * </em>
+<a name="148" href="#148">148</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="149" href="#149">149</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="150" href="#150">150</a> <em class="comment"> * </em>
+<a name="151" href="#151">151</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="152" href="#152">152</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="153" href="#153">153</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="154" href="#154">154</a> <em class="comment"> * </em>
+<a name="155" href="#155">155</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="156" href="#156">156</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="157" href="#157">157</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="158" href="#158">158</a> <em class="comment"> * </em>
+<a name="159" href="#159">159</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="160" href="#160">160</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="161" href="#161">161</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="162" href="#162">162</a> <em class="comment"> * </em>
+<a name="163" href="#163">163</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="164" href="#164">164</a> <em class="comment"> * </em>
+<a name="165" href="#165">165</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="166" href="#166">166</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="167" href="#167">167</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="168" href="#168">168</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="169" href="#169">169</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="170" href="#170">170</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="171" href="#171">171</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="172" href="#172">172</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="173" href="#173">173</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="174" href="#174">174</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="175" href="#175">175</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="176" href="#176">176</a> <em class="comment"> * </em>
+<a name="177" href="#177">177</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="178" href="#178">178</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/ContentTest.html b/docs/xref-test/org/dom4j/ContentTest.html
new file mode 100644
index 0000000..39a1e8c
--- /dev/null
+++ b/docs/xref-test/org/dom4j/ContentTest.html
@@ -0,0 +1,269 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ContentTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * A test harness to test the content API in DOM4J</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/ContentTest.html">ContentTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="22" href="#22">22</a>      <strong>protected</strong> DocumentFactory factory = <strong>new</strong> DocumentFactory();
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="25" href="#25">25</a>          TestRunner.run(ContentTest.<strong>class</strong>);
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em class="comment">// Test case(s)</em>
+<a name="29" href="#29">29</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>void</strong> testRoot() throws Exception {
+<a name="31" href="#31">31</a>          Element root = document.getRootElement();
+<a name="32" href="#32">32</a>          assertTrue(<span class="string">"Has root element"</span>, root != <strong>null</strong>);
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>          List authors = root.elements(<span class="string">"author"</span>);
+<a name="35" href="#35">35</a>          assertTrue(<span class="string">"Root has children"</span>, (authors != <strong>null</strong>)
+<a name="36" href="#36">36</a>                  && (authors.size() == 2));
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          Element author1 = (Element) authors.get(0);
+<a name="39" href="#39">39</a>          Element author2 = (Element) authors.get(1);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          assertTrue(<span class="string">"Author1 is James"</span>, author1.attributeValue(<span class="string">"name"</span>).equals(
+<a name="42" href="#42">42</a>                  <span class="string">"James"</span>));
+<a name="43" href="#43">43</a>          assertTrue(<span class="string">"Author2 is Bob"</span>, author2.attributeValue(<span class="string">"name"</span>).equals(
+<a name="44" href="#44">44</a>                  <span class="string">"Bob"</span>));
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          testGetAttributes(author1);
+<a name="47" href="#47">47</a>          testGetAttributes(author2);
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <strong>void</strong> testContent() throws Exception {
+<a name="51" href="#51">51</a>          Element root = document.getRootElement();
+<a name="52" href="#52">52</a>          assertTrue(<span class="string">"Has root element"</span>, root != <strong>null</strong>);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          List content = root.content();
+<a name="55" href="#55">55</a>          assertTrue(<span class="string">"Root has content"</span>, (content != <strong>null</strong>)
+<a name="56" href="#56">56</a>                  && (content.size() >= 2));
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          <strong>boolean</strong> iterated = false;
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>for</strong> (Iterator iter = content.iterator(); iter.hasNext();) {
+<a name="61" href="#61">61</a>              Object object = iter.next();
+<a name="62" href="#62">62</a>              assertTrue(<span class="string">"Content object is a node"</span>, object instanceof Node);
+<a name="63" href="#63">63</a>              iterated = <strong>true</strong>;
+<a name="64" href="#64">64</a>          }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          assertTrue(<span class="string">"Iteration completed"</span>, iterated);
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <strong>void</strong> testGetNode() throws Exception {
+<a name="70" href="#70">70</a>          Element root = document.getRootElement();
+<a name="71" href="#71">71</a>          assertTrue(<span class="string">"Has root element"</span>, root != <strong>null</strong>);
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          <strong>int</strong> count = root.nodeCount();
+<a name="74" href="#74">74</a>          assertTrue(<span class="string">"Root has correct node count"</span>, count == 2);
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          <strong>boolean</strong> iterated = false;
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < count; i++) {
+<a name="79" href="#79">79</a>              Node node = root.node(i);
+<a name="80" href="#80">80</a>              assertTrue(<span class="string">"Valid node returned from node()"</span>, node != <strong>null</strong>);
+<a name="81" href="#81">81</a>              iterated = <strong>true</strong>;
+<a name="82" href="#82">82</a>          }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          assertTrue(<span class="string">"Iteration completed"</span>, iterated);
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <strong>public</strong> <strong>void</strong> testGetXPathNode() throws Exception {
+<a name="88" href="#88">88</a>          Element root = document.getRootElement();
+<a name="89" href="#89">89</a>          assertTrue(<span class="string">"Has root element"</span>, root != <strong>null</strong>);
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>          <strong>int</strong> count = root.nodeCount();
+<a name="92" href="#92">92</a>          assertTrue(<span class="string">"Root has correct node count"</span>, count == 2);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          <strong>boolean</strong> iterated = false;
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < count; i++) {
+<a name="97" href="#97">97</a>              Node node = root.getXPathResult(i);
+<a name="98" href="#98">98</a>              assertTrue(<span class="string">"Valid node returned from node()"</span>, node != <strong>null</strong>);
+<a name="99" href="#99">99</a>              assertTrue(<span class="string">"Node supports the parent relationship"</span>, node
+<a name="100" href="#100">100</a>                     .supportsParent());
+<a name="101" href="#101">101</a>             iterated = <strong>true</strong>;
+<a name="102" href="#102">102</a>         }
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>         assertTrue(<span class="string">"Iteration completed"</span>, iterated);
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong>public</strong> <strong>void</strong> testOrderOfPI() throws Exception {
+<a name="108" href="#108">108</a>         Document document = factory.createDocument();
+<a name="109" href="#109">109</a>         document.addProcessingInstruction(<span class="string">"xml-stylesheet"</span>,
+<a name="110" href="#110">110</a>                 <span class="string">"type=\"text/xsl\" href=\"...\""</span>);
+<a name="111" href="#111">111</a>         document.addElement(<span class="string">"root"</span>);
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>         List list = document.content();
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         assertNotNull(list);
+<a name="116" href="#116">116</a>         assertEquals(2, list.size());
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>         Object pi = list.get(0);
+<a name="119" href="#119">119</a>         Object root = list.get(1);
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>         assertTrue(<span class="string">"First element is not a PI"</span>,
+<a name="122" href="#122">122</a>                 pi instanceof ProcessingInstruction);
+<a name="123" href="#123">123</a>         assertTrue(<span class="string">"Second element is an element"</span>, root instanceof Element);
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>         String xml = <span class="string">"<?xml version=\"1.0\" ?>\n"</span>
+<a name="126" href="#126">126</a>                 + <span class="string">"<?xml-stylesheet type=\"text/xsl\" href=\"foo\" ?>\n"</span>
+<a name="127" href="#127">127</a>                 + <span class="string">"<root/>"</span>;
+<a name="128" href="#128">128</a>         document = DocumentHelper.parseText(xml);
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>         list = document.content();
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         assertNotNull(list);
+<a name="133" href="#133">133</a>         assertEquals(2, list.size());
+<a name="134" href="#134">134</a>         pi = list.get(0);
+<a name="135" href="#135">135</a>         root = list.get(1);
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>         assertTrue(<span class="string">"First element is not a PI"</span>,
+<a name="138" href="#138">138</a>                 pi instanceof ProcessingInstruction);
+<a name="139" href="#139">139</a>         assertTrue(<span class="string">"Second element is an element"</span>, root instanceof Element);
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>     <strong>public</strong> <strong>void</strong> testAddingInTheMiddle() throws Exception {
+<a name="143" href="#143">143</a>         Document doc = factory.createDocument();
+<a name="144" href="#144">144</a>         Element root = doc.addElement(<span class="string">"html"</span>);
+<a name="145" href="#145">145</a>         Element header = root.addElement(<span class="string">"header"</span>);
+<a name="146" href="#146">146</a>         Element footer = root.addElement(<span class="string">"footer"</span>);
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>         <em class="comment">// now lets add <foo> in between header & footer</em>
+<a name="149" href="#149">149</a>         List list = root.content();
+<a name="150" href="#150">150</a>         Element foo = factory.createElement(<span class="string">"foo"</span>);
+<a name="151" href="#151">151</a>         list.add(1, foo);
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>         <em class="comment">// assertions</em>
+<a name="154" href="#154">154</a>         assertTrue(list.size() == 3);
+<a name="155" href="#155">155</a>         assertTrue(list.get(0) == header);
+<a name="156" href="#156">156</a>         assertTrue(list.get(1) == foo);
+<a name="157" href="#157">157</a>         assertTrue(list.get(2) == footer);
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <strong>public</strong> <strong>void</strong> testAddAtIndex() throws Exception {
+<a name="161" href="#161">161</a>         Document doc = factory.createDocument();
+<a name="162" href="#162">162</a>         Element root = doc.addElement(<span class="string">"html"</span>);
+<a name="163" href="#163">163</a>         Element header = root.addElement(<span class="string">"header"</span>);
+<a name="164" href="#164">164</a>         Element body = root.addElement(<span class="string">"body"</span>);
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>         Element foo = factory.createElement(<span class="string">"foo"</span>);
+<a name="167" href="#167">167</a>         Element bar = factory.createElement(<span class="string">"bar"</span>);
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>         List content = header.content();
+<a name="170" href="#170">170</a>         content.add(0, foo);
+<a name="171" href="#171">171</a>         content.add(0, bar);
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>         assertEquals(<span class="string">"foo"</span>, header.node(1).getName());
+<a name="174" href="#174">174</a>         assertEquals(<span class="string">"bar"</span>, header.node(0).getName());
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>         foo = factory.createElement(<span class="string">"foo"</span>);
+<a name="177" href="#177">177</a>         bar = factory.createElement(<span class="string">"bar"</span>);
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         content = body.content();
+<a name="180" href="#180">180</a>         content.add(0, foo);
+<a name="181" href="#181">181</a>         content.add(1, bar);
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>         assertEquals(<span class="string">"foo"</span>, body.node(0).getName());
+<a name="184" href="#184">184</a>         assertEquals(<span class="string">"bar"</span>, body.node(1).getName());
+<a name="185" href="#185">185</a>     }
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>     <strong>public</strong> <strong>void</strong> testAddAtIndex2() throws Exception {
+<a name="188" href="#188">188</a>         Document doc = factory.createDocument();
+<a name="189" href="#189">189</a>         Element parent = doc.addElement(<span class="string">"parent"</span>);
+<a name="190" href="#190">190</a>         Element child = parent.addElement(<span class="string">"child"</span>);
+<a name="191" href="#191">191</a>         Element anotherChild = factory.createElement(<span class="string">"child2"</span>);
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>         List elements = parent.elements();
+<a name="194" href="#194">194</a>         <strong>int</strong> index = elements.indexOf(child);
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>         assertEquals(0, index);
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>         elements.add(1, anotherChild);
+<a name="199" href="#199">199</a>         elements = parent.elements();
+<a name="200" href="#200">200</a>         assertEquals(child, elements.get(0));
+<a name="201" href="#201">201</a>         assertEquals(anotherChild, elements.get(1));
+<a name="202" href="#202">202</a>     }
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>     <em class="comment">// Implementation methods</em>
+<a name="205" href="#205">205</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="206" href="#206">206</a>     <strong>protected</strong> <strong>void</strong> testGetAttributes(Element author) throws Exception {
+<a name="207" href="#207">207</a>         String definedName = <span class="string">"name"</span>;
+<a name="208" href="#208">208</a>         String undefinedName = <span class="string">"undefined-attribute-name"</span>;
+<a name="209" href="#209">209</a>         String defaultValue = <span class="string">"** Default Value **"</span>;
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>         String value = author.attributeValue(definedName, defaultValue);
+<a name="212" href="#212">212</a>         assertTrue(<span class="string">"Defined value doesn't return specified default value"</span>,
+<a name="213" href="#213">213</a>                 value != defaultValue);
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>         value = author.attributeValue(undefinedName, defaultValue);
+<a name="216" href="#216">216</a>         assertTrue(<span class="string">"Undefined value returns specified default value"</span>,
+<a name="217" href="#217">217</a>                 value == defaultValue);
+<a name="218" href="#218">218</a>     }
+<a name="219" href="#219">219</a> }
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a> <em class="comment">/*</em>
+<a name="222" href="#222">222</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="223" href="#223">223</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="224" href="#224">224</a> <em class="comment"> * following conditions are met:</em>
+<a name="225" href="#225">225</a> <em class="comment"> * </em>
+<a name="226" href="#226">226</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="227" href="#227">227</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="228" href="#228">228</a> <em class="comment"> * </em>
+<a name="229" href="#229">229</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="230" href="#230">230</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="231" href="#231">231</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="232" href="#232">232</a> <em class="comment"> * </em>
+<a name="233" href="#233">233</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="234" href="#234">234</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="235" href="#235">235</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="236" href="#236">236</a> <em class="comment"> * </em>
+<a name="237" href="#237">237</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="238" href="#238">238</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="239" href="#239">239</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="240" href="#240">240</a> <em class="comment"> * </em>
+<a name="241" href="#241">241</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="242" href="#242">242</a> <em class="comment"> * </em>
+<a name="243" href="#243">243</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="244" href="#244">244</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="245" href="#245">245</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="246" href="#246">246</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="247" href="#247">247</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="248" href="#248">248</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="249" href="#249">249</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="250" href="#250">250</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="251" href="#251">251</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="252" href="#252">252</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="253" href="#253">253</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="254" href="#254">254</a> <em class="comment"> * </em>
+<a name="255" href="#255">255</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="256" href="#256">256</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/CopyTest.html b/docs/xref-test/org/dom4j/CopyTest.html
new file mode 100644
index 0000000..7d6e8d9
--- /dev/null
+++ b/docs/xref-test/org/dom4j/CopyTest.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CopyTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * A test harness to test the copy() methods on Element</em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="18" href="#18">18</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/CopyTest.html">CopyTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="21" href="#21">21</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="22" href="#22">22</a>          TestRunner.run(CopyTest.<strong>class</strong>);
+<a name="23" href="#23">23</a>      }
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <em class="comment">// Test case(s)</em>
+<a name="26" href="#26">26</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>void</strong> testRoot() throws Exception {
+<a name="28" href="#28">28</a>          document.setName(<span class="string">"doc1"</span>);
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>          Element root = document.getRootElement();
+<a name="31" href="#31">31</a>          List authors = root.elements(<span class="string">"author"</span>);
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>          assertTrue(<span class="string">"Should be at least 2 authors"</span>, authors.size() == 2);
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          Element author1 = (Element) authors.get(0);
+<a name="36" href="#36">36</a>          Element author2 = (Element) authors.get(1);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          testCopy(root);
+<a name="39" href="#39">39</a>          testCopy(author1);
+<a name="40" href="#40">40</a>          testCopy(author2);
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>void</strong> testCopy(Element element) throws Exception {
+<a name="44" href="#44">44</a>          assertTrue(<span class="string">"Not null"</span>, element != <strong>null</strong>);
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          <strong>int</strong> attributeCount = element.attributeCount();
+<a name="47" href="#47">47</a>          <strong>int</strong> nodeCount = element.nodeCount();
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          Element copy = element.createCopy();
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          assertEquals(<span class="string">"Node size not equal after copy"</span>, element.nodeCount(),
+<a name="52" href="#52">52</a>                  nodeCount);
+<a name="53" href="#53">53</a>          assertTrue(<span class="string">"Same attribute size after copy"</span>,
+<a name="54" href="#54">54</a>                  element.attributeCount() == attributeCount);
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          assertTrue(<span class="string">"Copy has same node size"</span>, copy.nodeCount() == nodeCount);
+<a name="57" href="#57">57</a>          assertTrue(<span class="string">"Copy has same attribute size"</span>,
+<a name="58" href="#58">58</a>                  copy.attributeCount() == attributeCount);
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < attributeCount; i++) {
+<a name="61" href="#61">61</a>              Attribute attr1 = element.attribute(i);
+<a name="62" href="#62">62</a>              Attribute attr2 = copy.attribute(i);
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>              assertTrue(<span class="string">"Attribute: "</span> + i + <span class="string">" name is equal"</span>, attr1.getName()
+<a name="65" href="#65">65</a>                      .equals(attr2.getName()));
+<a name="66" href="#66">66</a>              assertTrue(<span class="string">"Attribute: "</span> + i + <span class="string">" value is equal"</span>, attr1.getValue()
+<a name="67" href="#67">67</a>                      .equals(attr2.getValue()));
+<a name="68" href="#68">68</a>          }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < nodeCount; i++) {
+<a name="71" href="#71">71</a>              Node node1 = element.node(i);
+<a name="72" href="#72">72</a>              Node node2 = copy.node(i);
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>              assertTrue(<span class="string">"Node: "</span> + i + <span class="string">" type is equal"</span>,
+<a name="75" href="#75">75</a>                      node1.getNodeType() == node2.getNodeType());
+<a name="76" href="#76">76</a>              assertTrue(<span class="string">"Node: "</span> + i + <span class="string">" value is equal"</span>, node1.getText()
+<a name="77" href="#77">77</a>                      .equals(node2.getText()));
+<a name="78" href="#78">78</a>          }
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>  <em class="comment">/*</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * following conditions are met:</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * </em>
+<a name="94" href="#94">94</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="100" href="#100">100</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="105" href="#105">105</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="106" href="#106">106</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="108" href="#108">108</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="109" href="#109">109</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="110" href="#110">110</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="111" href="#111">111</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="112" href="#112">112</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="113" href="#113">113</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="114" href="#114">114</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="115" href="#115">115</a> <em class="comment"> * </em>
+<a name="116" href="#116">116</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="117" href="#117">117</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/DetachTest.html b/docs/xref-test/org/dom4j/DetachTest.html
new file mode 100644
index 0000000..d16f2c0
--- /dev/null
+++ b/docs/xref-test/org/dom4j/DetachTest.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DetachTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * A test harness to test the detach() method on root elements</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/DetachTest.html">DetachTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="19" href="#19">19</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="20" href="#20">20</a>          TestRunner.run(DetachTest.<strong>class</strong>);
+<a name="21" href="#21">21</a>      }
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <em class="comment">// Test case(s)</em>
+<a name="24" href="#24">24</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>void</strong> testRoot() throws Exception {
+<a name="26" href="#26">26</a>          document.setName(<span class="string">"doc1"</span>);
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>          Element root = document.getRootElement();
+<a name="29" href="#29">29</a>          assertTrue(<span class="string">"Has root element"</span>, root != <strong>null</strong>);
+<a name="30" href="#30">30</a>          assertTrue(<span class="string">"Root has no parent"</span>, root.getParent() == <strong>null</strong>);
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          root.detach();
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>          assertTrue(<span class="string">"Detached root now has no document"</span>,
+<a name="35" href="#35">35</a>                  root.getDocument() == <strong>null</strong>);
+<a name="36" href="#36">36</a>          assertTrue(<span class="string">"Original doc now has no root element"</span>, document
+<a name="37" href="#37">37</a>                  .getRootElement() == <strong>null</strong>);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          Document doc2 = DocumentHelper.createDocument();
+<a name="40" href="#40">40</a>          doc2.setName(<span class="string">"doc2"</span>);
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          assertTrue(<span class="string">"Doc2 has no root element"</span>, doc2.getRootElement() == <strong>null</strong>);
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          doc2.setRootElement(root);
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          assertTrue(<span class="string">"Doc2 has now has root element"</span>,
+<a name="47" href="#47">47</a>                  doc2.getRootElement() == root);
+<a name="48" href="#48">48</a>          assertTrue(<span class="string">"Root element now has document"</span>, root.getDocument() == doc2);
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          Document doc3 = DocumentHelper.createDocument();
+<a name="51" href="#51">51</a>          doc3.setName(<span class="string">"doc3"</span>);
+<a name="52" href="#52">52</a>          doc3.addElement(<span class="string">"foo"</span>);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          assertTrue(<span class="string">"Doc3 has root element"</span>, doc3.getRootElement() != <strong>null</strong>);
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          root = doc2.getRootElement();
+<a name="57" href="#57">57</a>          root.detach();
+<a name="58" href="#58">58</a>          doc3.setRootElement(root);
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          assertTrue(<span class="string">"Doc3 now has root element"</span>, doc3.getRootElement() == root);
+<a name="61" href="#61">61</a>          assertSame(<span class="string">"Root element now has a document"</span>, root.getDocument(), doc3);
+<a name="62" href="#62">62</a>          assertTrue(<span class="string">"Doc2 has no root element"</span>, doc2.getRootElement() == <strong>null</strong>);
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>  <em class="comment">/*</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * following conditions are met:</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * </em>
+<a name="100" href="#100">100</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="101" href="#101">101</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/DocTypeTest.html b/docs/xref-test/org/dom4j/DocTypeTest.html
new file mode 100644
index 0000000..07af931
--- /dev/null
+++ b/docs/xref-test/org/dom4j/DocTypeTest.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocTypeTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.dtd.ElementDecl;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * Tests the DocType functionality</em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/DocTypeTest.html">DocTypeTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="24" href="#24">24</a>      <em>/**<em>* Input XML file to read */</em></em>
+<a name="25" href="#25">25</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String INPUT_XML_FILE = <span class="string">"/xml/dtd/internal.xml"</span>;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="28" href="#28">28</a>          TestRunner.run(DocTypeTest.<strong>class</strong>);
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em class="comment">// Test case(s)</em>
+<a name="32" href="#32">32</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>void</strong> testDocType() throws Exception {
+<a name="34" href="#34">34</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="35" href="#35">35</a>          reader.setIncludeInternalDTDDeclarations(<strong>true</strong>);
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>          Document document = getDocument(INPUT_XML_FILE, reader);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          DocumentType docType = document.getDocType();
+<a name="40" href="#40">40</a>          assertTrue(<span class="string">"Has DOCTYPE"</span>, docType != <strong>null</strong>);
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          List declarations = docType.getInternalDeclarations();
+<a name="43" href="#43">43</a>          assertTrue(<span class="string">"DOCTYPE has declarations"</span>, (declarations != <strong>null</strong>)
+<a name="44" href="#44">44</a>                  && !declarations.isEmpty());
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          ElementDecl decl = (ElementDecl) declarations.get(0);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          assertEquals(<span class="string">"name is correct"</span>, <span class="string">"greeting"</span>, decl.getName());
+<a name="49" href="#49">49</a>          assertEquals(<span class="string">"model is correct"</span>, <span class="string">"(#PCDATA)"</span>, decl.getModel());
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          String expected = <span class="string">"<!ELEMENT "</span> + decl.getName() + <span class="string">" "</span> + decl.getModel()
+<a name="52" href="#52">52</a>                  + <span class="string">">"</span>;
+<a name="53" href="#53">53</a>          assertEquals(<span class="string">"toString() is correct"</span>, expected, decl.toString());
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>  <em class="comment">/*</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * following conditions are met:</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * </em>
+<a name="65" href="#65">65</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * </em>
+<a name="69" href="#69">69</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/ElementByIDTest.html b/docs/xref-test/org/dom4j/ElementByIDTest.html
new file mode 100644
index 0000000..4840550
--- /dev/null
+++ b/docs/xref-test/org/dom4j/ElementByIDTest.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementByIDTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * Tests the elementByID() method</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/ElementByIDTest.html">ElementByIDTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="19" href="#19">19</a>      <em>/**<em>* Input XML file to read */</em></em>
+<a name="20" href="#20">20</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String INPUT_XML_FILE = <span class="string">"xml/test/elementByID.xml"</span>;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="23" href="#23">23</a>          TestRunner.run(ElementByIDTest.<strong>class</strong>);
+<a name="24" href="#24">24</a>      }
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em class="comment">// Test case(s)</em>
+<a name="27" href="#27">27</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>void</strong> testElementByID() throws Exception {
+<a name="29" href="#29">29</a>          String id = <span class="string">"message"</span>;
+<a name="30" href="#30">30</a>          Document document = getDocument(INPUT_XML_FILE);
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          <em class="comment">// test XPath</em>
+<a name="33" href="#33">33</a>          Element element = (Element) document.selectSingleNode(<span class="string">"//*[@ID='"</span> + id
+<a name="34" href="#34">34</a>                  + <span class="string">"']"</span>);
+<a name="35" href="#35">35</a>          assertTrue(<span class="string">"Found element by ID: "</span> + id, element != <strong>null</strong>);
+<a name="36" href="#36">36</a>          assertEquals(<span class="string">"ID is equal"</span>, id, element.attributeValue(<span class="string">"ID"</span>));
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          <em class="comment">// test with elementByID</em>
+<a name="39" href="#39">39</a>          element = document.elementByID(id);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          assertTrue(<span class="string">"Found element by ID: "</span> + id, element != <strong>null</strong>);
+<a name="42" href="#42">42</a>          assertEquals(<span class="string">"ID is equal"</span>, id, element.attributeValue(<span class="string">"ID"</span>));
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          log(<span class="string">"Found element: "</span> + element.getText());
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          element = document.elementByID(<span class="string">"DoesNotExist"</span>);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          assertTrue(<span class="string">"Found no element"</span>, element == <strong>null</strong>);
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>  <em class="comment">/*</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * following conditions are met:</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/EmbeddedHandlerTest.html b/docs/xref-test/org/dom4j/EmbeddedHandlerTest.html
new file mode 100644
index 0000000..381bbbb
--- /dev/null
+++ b/docs/xref-test/org/dom4j/EmbeddedHandlerTest.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>EmbeddedHandlerTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * TestEmbeddedHandler</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:franz.beil at temis-group.com" target="alexandria_uri">mailto:franz.beil at temis-group.com</a>">FB </a></em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/EmbeddedHandlerTest.html">EmbeddedHandlerTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="22" href="#22">22</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MAIN_READER = 0;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> ON_END_READER = 1;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>protected</strong> String[] testDocuments = {<span class="string">"xml/test/FranzBeilMain.xml"</span>};
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <strong>private</strong> StringBuffer[] results = {<strong>new</strong> StringBuffer(), <strong>new</strong> StringBuffer()};
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>protected</strong> <strong>int</strong> test;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="33" href="#33">33</a>          TestRunner.run(EmbeddedHandlerTest.<strong>class</strong>);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em class="comment">// ---------------------------------------------</em>
+<a name="37" href="#37">37</a>      <em class="comment">// Test case(s)</em>
+<a name="38" href="#38">38</a>      <em class="comment">// ---------------------------------------------</em>
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>void</strong> testMainReader() throws Exception {
+<a name="40" href="#40">40</a>          test = MAIN_READER;
+<a name="41" href="#41">41</a>          readDocuments();
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <strong>void</strong> testOnEndReader() throws Exception {
+<a name="45" href="#45">45</a>          test = ON_END_READER;
+<a name="46" href="#46">46</a>          readDocuments();
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> testBothReaders() throws Exception {
+<a name="50" href="#50">50</a>          testMainReader();
+<a name="51" href="#51">51</a>          testOnEndReader();
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          <strong>if</strong> (!results[MAIN_READER].toString().equals(
+<a name="54" href="#54">54</a>                  results[ON_END_READER].toString())) {
+<a name="55" href="#55">55</a>              StringBuffer msg = <strong>new</strong> StringBuffer();
+<a name="56" href="#56">56</a>              msg.append(<span class="string">"Results of tests should be equal!\n"</span>);
+<a name="57" href="#57">57</a>              msg.append(<span class="string">"Results testMainReader():\n"</span>
+<a name="58" href="#58">58</a>                      + results[MAIN_READER].toString());
+<a name="59" href="#59">59</a>              msg.append(<span class="string">"Results testOnEndReader():\n"</span>
+<a name="60" href="#60">60</a>                      + results[ON_END_READER].toString());
+<a name="61" href="#61">61</a>              <strong>throw</strong> <strong>new</strong> Exception(msg.toString());
+<a name="62" href="#62">62</a>          }
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <em class="comment">// ---------------------------------------------</em>
+<a name="66" href="#66">66</a>      <em class="comment">// Implementation methods</em>
+<a name="67" href="#67">67</a>      <em class="comment">// ---------------------------------------------</em>
+<a name="68" href="#68">68</a>      <strong>private</strong> <strong>void</strong> readDocuments() throws Exception {
+<a name="69" href="#69">69</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < testDocuments.length; i++) {
+<a name="70" href="#70">70</a>              File testDoc = getFile(testDocuments[i]);
+<a name="71" href="#71">71</a>              String mainDir = testDoc.getParent();
+<a name="72" href="#72">72</a>              SAXReader reader = <strong>new</strong> SAXReader();
+<a name="73" href="#73">73</a>              ElementHandler mainHandler = <strong>new</strong> MainHandler(mainDir);
+<a name="74" href="#74">74</a>              reader.addHandler(<span class="string">"/main/import"</span>, mainHandler);
+<a name="75" href="#75">75</a>              getDocument(testDocuments[i], reader);
+<a name="76" href="#76">76</a>          }
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <em class="comment">// Handler classes</em>
+<a name="80" href="#80">80</a>      <em class="comment">// ---------------------------------------------</em>
+<a name="81" href="#81">81</a>      <strong>class</strong> MainHandler implements ElementHandler {
+<a name="82" href="#82">82</a>          <strong>private</strong> SAXReader mainReader;
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          <strong>private</strong> String mainDir;
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>          <strong>public</strong> MainHandler(String dir) {
+<a name="87" href="#87">87</a>              mainReader = <strong>new</strong> SAXReader();
+<a name="88" href="#88">88</a>              mainDir = dir;
+<a name="89" href="#89">89</a>              mainReader.addHandler(<span class="string">"/import/stuff"</span>, <strong>new</strong> EmbeddedHandler());
+<a name="90" href="#90">90</a>          }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          <strong>public</strong> <strong>void</strong> onStart(ElementPath path) {
+<a name="93" href="#93">93</a>          }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>          <strong>public</strong> <strong>void</strong> onEnd(ElementPath path) {
+<a name="96" href="#96">96</a>              String href = path.getCurrent().attribute(<span class="string">"href"</span>).getValue();
+<a name="97" href="#97">97</a>              Element importRef = path.getCurrent();
+<a name="98" href="#98">98</a>              Element parentElement = importRef.getParent();
+<a name="99" href="#99">99</a>              SAXReader onEndReader = <strong>new</strong> SAXReader();
+<a name="100" href="#100">100</a>             onEndReader.addHandler(<span class="string">"/import/stuff"</span>, <strong>new</strong> EmbeddedHandler());
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>             File file = <strong>new</strong> File(mainDir + File.separator + href);
+<a name="103" href="#103">103</a>             Element importElement = <strong>null</strong>;
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>             <strong>try</strong> {
+<a name="106" href="#106">106</a>                 <strong>if</strong> (test == MAIN_READER) {
+<a name="107" href="#107">107</a>                     importElement = mainReader.read(file).getRootElement();
+<a name="108" href="#108">108</a>                 } <strong>else</strong> <strong>if</strong> (test == ON_END_READER) {
+<a name="109" href="#109">109</a>                     importElement = onEndReader.read(file).getRootElement();
+<a name="110" href="#110">110</a>                 }
+<a name="111" href="#111">111</a>             } <strong>catch</strong> (Exception e) {
+<a name="112" href="#112">112</a>                 <em class="comment">// too bad that it's not possible to throw the exception at the</em>
+<a name="113" href="#113">113</a>                 <em class="comment">// caller</em>
+<a name="114" href="#114">114</a>                 e.printStackTrace();
+<a name="115" href="#115">115</a>             }
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>             <em class="comment">// prune and replace</em>
+<a name="118" href="#118">118</a>             importRef.detach();
+<a name="119" href="#119">119</a>             parentElement.add(importElement);
+<a name="120" href="#120">120</a>         }
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <strong>public</strong> <strong>class</strong> EmbeddedHandler implements ElementHandler {
+<a name="124" href="#124">124</a>         <strong>public</strong> <strong>void</strong> onStart(ElementPath path) {
+<a name="125" href="#125">125</a>             results[test].append(path.getCurrent().attribute(<span class="string">"name"</span>).getValue()
+<a name="126" href="#126">126</a>                     + <span class="string">"\n"</span>);
+<a name="127" href="#127">127</a>         }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         <strong>public</strong> <strong>void</strong> onEnd(ElementPath path) {
+<a name="130" href="#130">130</a>         }
+<a name="131" href="#131">131</a>     }
+<a name="132" href="#132">132</a> }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a> <em class="comment">/*</em>
+<a name="135" href="#135">135</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="136" href="#136">136</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="137" href="#137">137</a> <em class="comment"> * following conditions are met:</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="140" href="#140">140</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="141" href="#141">141</a> <em class="comment"> * </em>
+<a name="142" href="#142">142</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="143" href="#143">143</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="144" href="#144">144</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="145" href="#145">145</a> <em class="comment"> * </em>
+<a name="146" href="#146">146</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="147" href="#147">147</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="148" href="#148">148</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="149" href="#149">149</a> <em class="comment"> * </em>
+<a name="150" href="#150">150</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="151" href="#151">151</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="152" href="#152">152</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="153" href="#153">153</a> <em class="comment"> * </em>
+<a name="154" href="#154">154</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="155" href="#155">155</a> <em class="comment"> * </em>
+<a name="156" href="#156">156</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="157" href="#157">157</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="158" href="#158">158</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="159" href="#159">159</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="160" href="#160">160</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="161" href="#161">161</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="162" href="#162">162</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="163" href="#163">163</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="164" href="#164">164</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="165" href="#165">165</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="166" href="#166">166</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="167" href="#167">167</a> <em class="comment"> * </em>
+<a name="168" href="#168">168</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="169" href="#169">169</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/GetQNamesTest.html b/docs/xref-test/org/dom4j/GetQNamesTest.html
new file mode 100644
index 0000000..2d59d3a
--- /dev/null
+++ b/docs/xref-test/org/dom4j/GetQNamesTest.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>GetQNamesTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * A test harness to test the DocumentFactory.getQNames() method</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/GetQNamesTest.html">GetQNamesTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="23" href="#23">23</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="24" href="#24">24</a>          TestRunner.run(GetQNamesTest.<strong>class</strong>);
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em class="comment">// Test case(s)</em>
+<a name="28" href="#28">28</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>void</strong> testQNames() throws Exception {
+<a name="30" href="#30">30</a>          DocumentFactory factory = <strong>new</strong> DocumentFactory();
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="33" href="#33">33</a>          reader.setDocumentFactory(factory);
+<a name="34" href="#34">34</a>          getDocument(<span class="string">"/xml/test/soap2.xml"</span>, reader);
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          List qnames = factory.getQNames();
+<a name="37" href="#37">37</a>          assertEquals(<span class="string">"Number of QNames not correct"</span>, 15, qnames.size());
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * Test the element rename functionality which was lacking as spotted by Rob</em>
+<a name="42" href="#42">42</a>  <em>     * Lebowitz</em>
+<a name="43" href="#43">43</a>  <em>     * </em>
+<a name="44" href="#44">44</a>  <em>     * @throws Exception</em>
+<a name="45" href="#45">45</a>  <em>     *             DOCUMENT ME!</em>
+<a name="46" href="#46">46</a>  <em>     */</em>
+<a name="47" href="#47">47</a>      <strong>public</strong> <strong>void</strong> testRename() throws Exception {
+<a name="48" href="#48">48</a>          Document doc = DocumentHelper.createDocument();
+<a name="49" href="#49">49</a>          Element root = doc.addElement(<span class="string">"foo"</span>);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          assertEquals(<span class="string">"named correctly"</span>, <span class="string">"foo"</span>, root.getName());
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          root.setName(<span class="string">"bar"</span>);
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          assertEquals(<span class="string">"named correctly"</span>, <span class="string">"bar"</span>, root.getName());
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          QName xyz = root.getQName(<span class="string">"xyz"</span>);
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          root.setQName(xyz);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          assertEquals(<span class="string">"QNamed correctly"</span>, xyz, root.getQName());
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>  <em class="comment">/*</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * following conditions are met:</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * </em>
+<a name="99" href="#99">99</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="100" href="#100">100</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/GetXMLEncodingTest.html b/docs/xref-test/org/dom4j/GetXMLEncodingTest.html
new file mode 100644
index 0000000..9e8807a
--- /dev/null
+++ b/docs/xref-test/org/dom4j/GetXMLEncodingTest.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>GetXMLEncodingTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.ByteArrayInputStream;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.StringReader;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * DOCUMENT ME!</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author Maarten Coene</em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/GetXMLEncodingTest.html">GetXMLEncodingTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="27" href="#27">27</a>          TestRunner.run(GetXMLEncodingTest.<strong>class</strong>);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em class="comment">// Test case(s)</em>
+<a name="31" href="#31">31</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>void</strong> testXMLEncodingFromString() throws Exception {
+<a name="33" href="#33">33</a>          String xmlEnc = <span class="string">"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<root/>"</span>;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="36" href="#36">36</a>          InputSource source = <strong>new</strong> InputSource(<strong>new</strong> ByteArrayInputStream(xmlEnc
+<a name="37" href="#37">37</a>                  .getBytes(<span class="string">"UTF-8"</span>)));
+<a name="38" href="#38">38</a>          Document doc = reader.read(source);
+<a name="39" href="#39">39</a>          assertEquals(<span class="string">"UTF-8"</span>, doc.getXMLEncoding());
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          doc = reader.read(<strong>new</strong> StringReader(xmlEnc));
+<a name="42" href="#42">42</a>          assertNull(doc.getXMLEncoding());
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <strong>void</strong> testXMLEncodingFromURL() throws Exception {
+<a name="46" href="#46">46</a>          Document doc = getDocument(<span class="string">"/xml/test/encode.xml"</span>);
+<a name="47" href="#47">47</a>          assertEquals(<span class="string">"UTF-8"</span>, doc.getXMLEncoding());
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          doc = getDocument(<span class="string">"/xml/russArticle.xml"</span>);
+<a name="50" href="#50">50</a>          assertEquals(<span class="string">"koi8-r"</span>, doc.getXMLEncoding());
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <strong>void</strong> testXMLEncodingFromStringWithHelper() throws Exception {
+<a name="54" href="#54">54</a>          String xmlEnc = <span class="string">"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<root/>"</span>;
+<a name="55" href="#55">55</a>          String xmlNoEnc = <span class="string">"<root/>"</span>;
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          Document doc = DocumentHelper.parseText(xmlEnc);
+<a name="58" href="#58">58</a>          assertEquals(<span class="string">"UTF-8"</span>, doc.getXMLEncoding());
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          doc = DocumentHelper.parseText(xmlNoEnc);
+<a name="61" href="#61">61</a>          assertNull(doc.getXMLEncoding());
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>  <em class="comment">/*</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * following conditions are met:</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * </em>
+<a name="99" href="#99">99</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="100" href="#100">100</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/HTMLWriterTest.html b/docs/xref-test/org/dom4j/HTMLWriterTest.html
new file mode 100644
index 0000000..bfc917e
--- /dev/null
+++ b/docs/xref-test/org/dom4j/HTMLWriterTest.html
@@ -0,0 +1,184 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>HTMLWriterTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringWriter;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.io.HTMLWriter;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.io.OutputFormat;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * Test harness for the HTMLWriter</em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/HTMLWriterTest.html">HTMLWriterTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="25" href="#25">25</a>          TestRunner.run(HTMLWriterTest.<strong>class</strong>);
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em class="comment">// Test case(s)</em>
+<a name="29" href="#29">29</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>void</strong> testWriter() throws Exception {
+<a name="31" href="#31">31</a>          String xml = <span class="string">"<html> <body><![CDATA[First&nbsp;test]]></body> </html>"</span>;
+<a name="32" href="#32">32</a>          Document document = DocumentHelper.parseText(xml);
+<a name="33" href="#33">33</a>          StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="34" href="#34">34</a>          HTMLWriter writer = <strong>new</strong> HTMLWriter(buffer);
+<a name="35" href="#35">35</a>          writer.write(document);
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>          String output = buffer.toString();
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          String expects = <span class="string">"\n<html>\n  <body>First&nbsp;test</body>\n</html>\n"</span>;
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          System.out.println(<span class="string">"expects: "</span> + expects);
+<a name="42" href="#42">42</a>          System.out.println(<span class="string">"output: "</span> + output);
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          assertEquals(<span class="string">"Output is correct"</span>, expects, output);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> <strong>void</strong> testBug923882() throws Exception {
+<a name="48" href="#48">48</a>          Document doc = DocumentFactory.getInstance().createDocument();
+<a name="49" href="#49">49</a>          Element root = doc.addElement(<span class="string">"root"</span>);
+<a name="50" href="#50">50</a>          root.addText(<span class="string">"this is "</span>);
+<a name="51" href="#51">51</a>          root.addText(<span class="string">" sim"</span>);
+<a name="52" href="#52">52</a>          root.addText(<span class="string">"ple text "</span>);
+<a name="53" href="#53">53</a>          root.addElement(<span class="string">"child"</span>);
+<a name="54" href="#54">54</a>          root.addText(<span class="string">" contai"</span>);
+<a name="55" href="#55">55</a>          root.addText(<span class="string">"ning spaces and"</span>);
+<a name="56" href="#56">56</a>          root.addText(<span class="string">" multiple textnodes"</span>);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          OutputFormat format = <strong>new</strong> OutputFormat();
+<a name="59" href="#59">59</a>          format.setEncoding(<span class="string">"UTF-8"</span>);
+<a name="60" href="#60">60</a>          format.setIndentSize(4);
+<a name="61" href="#61">61</a>          format.setNewlines(<strong>true</strong>);
+<a name="62" href="#62">62</a>          format.setTrimText(<strong>true</strong>);
+<a name="63" href="#63">63</a>          format.setExpandEmptyElements(<strong>true</strong>);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="66" href="#66">66</a>          HTMLWriter writer = <strong>new</strong> HTMLWriter(buffer, format);
+<a name="67" href="#67">67</a>          writer.write(doc);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          String xml = buffer.toString();
+<a name="70" href="#70">70</a>          log(xml);
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>          <strong>int</strong> start = xml.indexOf(<span class="string">"<root"</span>);
+<a name="73" href="#73">73</a>          <strong>int</strong> end = xml.indexOf(<span class="string">"/root>"</span>) + 6;
+<a name="74" href="#74">74</a>          String eol = <span class="string">"\n"</span>; <em class="comment">// System.getProperty("line.separator");</em>
+<a name="75" href="#75">75</a>          String expected = <span class="string">"<root>this is simple text"</span> + eol
+<a name="76" href="#76">76</a>                  + <span class="string">"    <child></child>containing spaces and multiple textnodes"</span>
+<a name="77" href="#77">77</a>                  + eol + <span class="string">"</root>"</span>;
+<a name="78" href="#78">78</a>          System.out.println(<span class="string">"Expected:"</span>);
+<a name="79" href="#79">79</a>          System.out.println(expected);
+<a name="80" href="#80">80</a>          System.out.println(<span class="string">"Obtained:"</span>);
+<a name="81" href="#81">81</a>          System.out.println(xml.substring(start, end));
+<a name="82" href="#82">82</a>          assertEquals(expected, xml.substring(start, end));
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <strong>void</strong> testBug923882asWriter() throws Exception {
+<a name="86" href="#86">86</a>          <em class="comment">// use an the HTMLWriter sax-methods.</em>
+<a name="87" href="#87">87</a>          <em class="comment">//</em>
+<a name="88" href="#88">88</a>          StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="89" href="#89">89</a>          HTMLWriter writer = <strong>new</strong> HTMLWriter(buffer, OutputFormat
+<a name="90" href="#90">90</a>                  .createPrettyPrint());
+<a name="91" href="#91">91</a>          writer.characters(<span class="string">"wor"</span>.toCharArray(), 0, 3);
+<a name="92" href="#92">92</a>          writer.characters(<span class="string">"d-being-cut"</span>.toCharArray(), 0, 11);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          String expected = <span class="string">"word-being-cut"</span>;
+<a name="95" href="#95">95</a>          assertEquals(expected, buffer.toString());
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>          buffer = <strong>new</strong> StringWriter();
+<a name="98" href="#98">98</a>          writer = <strong>new</strong> HTMLWriter(buffer, OutputFormat.createPrettyPrint());
+<a name="99" href="#99">99</a>          writer.characters(<span class="string">"    wor"</span>.toCharArray(), 0, 7);
+<a name="100" href="#100">100</a>         writer.characters(<span class="string">"d being    "</span>.toCharArray(), 0, 11);
+<a name="101" href="#101">101</a>         writer.characters(<span class="string">"  cut"</span>.toCharArray(), 0, 5);
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         expected = <span class="string">"word being cut"</span>;
+<a name="104" href="#104">104</a>         assertEquals(expected, buffer.toString());
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong>public</strong> <strong>void</strong> testBug923882asWriterWithEmptyCharArray() throws Exception {
+<a name="108" href="#108">108</a>         <em class="comment">// use an the HTMLWriter sax-methods.</em>
+<a name="109" href="#109">109</a>         <em class="comment">//</em>
+<a name="110" href="#110">110</a>         StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="111" href="#111">111</a>         HTMLWriter writer = <strong>new</strong> HTMLWriter(buffer, OutputFormat
+<a name="112" href="#112">112</a>                 .createPrettyPrint());
+<a name="113" href="#113">113</a>         writer.characters(<span class="string">"wor"</span>.toCharArray(), 0, 3);
+<a name="114" href="#114">114</a>         writer.<strong>char</strong>acters(<strong>new</strong> <strong>char</strong>[0], 0, 0);
+<a name="115" href="#115">115</a>         writer.characters(<span class="string">"d-being-cut"</span>.toCharArray(), 0, 11);
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         String expected = <span class="string">"word-being-cut"</span>;
+<a name="118" href="#118">118</a>         assertEquals(expected, buffer.toString());
+<a name="119" href="#119">119</a>     }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <strong>public</strong> <strong>void</strong> testBug619415() throws Exception {
+<a name="122" href="#122">122</a>         Document doc = getDocument(<span class="string">"/xml/test/dosLineFeeds.xml"</span>);
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         StringWriter wr = <strong>new</strong> StringWriter();
+<a name="125" href="#125">125</a>         HTMLWriter writer = <strong>new</strong> HTMLWriter(wr, <strong>new</strong> OutputFormat(<span class="string">""</span>, false));
+<a name="126" href="#126">126</a>         writer.write(doc);
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         String result = wr.toString();
+<a name="129" href="#129">129</a>         System.out.println(result);
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>         assertTrue(result.indexOf(<span class="string">"Mary had a little lamb."</span>) > -1);
+<a name="132" href="#132">132</a>         assertTrue(result.indexOf(<span class="string">"Hello, this is a test."</span>) > -1);
+<a name="133" href="#133">133</a>     }
+<a name="134" href="#134">134</a> }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a> <em class="comment">/*</em>
+<a name="137" href="#137">137</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="138" href="#138">138</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="139" href="#139">139</a> <em class="comment"> * following conditions are met:</em>
+<a name="140" href="#140">140</a> <em class="comment"> * </em>
+<a name="141" href="#141">141</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="142" href="#142">142</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="143" href="#143">143</a> <em class="comment"> * </em>
+<a name="144" href="#144">144</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="145" href="#145">145</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="146" href="#146">146</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="147" href="#147">147</a> <em class="comment"> * </em>
+<a name="148" href="#148">148</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="149" href="#149">149</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="150" href="#150">150</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="151" href="#151">151</a> <em class="comment"> * </em>
+<a name="152" href="#152">152</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="153" href="#153">153</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="154" href="#154">154</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="155" href="#155">155</a> <em class="comment"> * </em>
+<a name="156" href="#156">156</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="157" href="#157">157</a> <em class="comment"> * </em>
+<a name="158" href="#158">158</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="159" href="#159">159</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="160" href="#160">160</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="161" href="#161">161</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="162" href="#162">162</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="163" href="#163">163</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="164" href="#164">164</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="165" href="#165">165</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="166" href="#166">166</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="167" href="#167">167</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="168" href="#168">168</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="169" href="#169">169</a> <em class="comment"> * </em>
+<a name="170" href="#170">170</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="171" href="#171">171</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/IndexedElementTest.html b/docs/xref-test/org/dom4j/IndexedElementTest.html
new file mode 100644
index 0000000..79f310e
--- /dev/null
+++ b/docs/xref-test/org/dom4j/IndexedElementTest.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>IndexedElementTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.util.IndexedDocumentFactory;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * A test harness for the IndexedElement implementation</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/IndexedElementTest.html">IndexedElementTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="23" href="#23">23</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="24" href="#24">24</a>          TestRunner.run(IndexedElementTest.<strong>class</strong>);
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em class="comment">// Test case(s)</em>
+<a name="28" href="#28">28</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="30" href="#30">30</a>          testXPath(<span class="string">"//author"</span>);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em class="comment">// Implementation methods</em>
+<a name="34" href="#34">34</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="35" href="#35">35</a>      <strong>protected</strong> <strong>void</strong> testXPath(String xpath) {
+<a name="36" href="#36">36</a>          List list = document.selectNodes(xpath);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          log(<span class="string">"Searched path: "</span> + xpath);
+<a name="39" href="#39">39</a>          log(<span class="string">"Found        : "</span> + list.size() + <span class="string">" result(s)"</span>);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          log(<span class="string">"Results"</span>);
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          <strong>if</strong> (list == <strong>null</strong>) {
+<a name="44" href="#44">44</a>              log(<span class="string">"null"</span>);
+<a name="45" href="#45">45</a>          } <strong>else</strong> {
+<a name="46" href="#46">46</a>              log(<span class="string">"["</span>);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>              <strong>for</strong> (<strong>int</strong> i = 0, size = list.size(); i < size; i++) {
+<a name="49" href="#49">49</a>                  Object object = list.get(i);
+<a name="50" href="#50">50</a>                  String text = <span class="string">"null"</span>;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>                  <strong>if</strong> (object instanceof Node) {
+<a name="53" href="#53">53</a>                      Node node = (Node) object;
+<a name="54" href="#54">54</a>                      text = node.asXML();
+<a name="55" href="#55">55</a>                  } <strong>else</strong> <strong>if</strong> (object != <strong>null</strong>) {
+<a name="56" href="#56">56</a>                      text = object.toString();
+<a name="57" href="#57">57</a>                  }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>                  log(<span class="string">"    "</span> + text);
+<a name="60" href="#60">60</a>              }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>              log(<span class="string">"]"</span>);
+<a name="63" href="#63">63</a>          }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          log(<span class="string">"..........................................."</span>);
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          assertTrue(<span class="string">"Found some results"</span>, list.size() > 0);
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>protected</strong> Document createDocument() {
+<a name="71" href="#71">71</a>          <strong>return</strong> IndexedDocumentFactory.getInstance().createDocument();
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>  <em class="comment">/*</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * following conditions are met:</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * </em>
+<a name="95" href="#95">95</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="102" href="#102">102</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="103" href="#103">103</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="104" href="#104">104</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="105" href="#105">105</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="106" href="#106">106</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="108" href="#108">108</a> <em class="comment"> * </em>
+<a name="109" href="#109">109</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="110" href="#110">110</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/IsTextOnlyTest.html b/docs/xref-test/org/dom4j/IsTextOnlyTest.html
new file mode 100644
index 0000000..c833f77
--- /dev/null
+++ b/docs/xref-test/org/dom4j/IsTextOnlyTest.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>IsTextOnlyTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * A test harness to test the parent relationship and use of the {@link</em>
+<a name="14" href="#14">14</a>  <em> * Node#asXPathResult} method.</em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="17" href="#17">17</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="18" href="#18">18</a>  <em> */</em>
+<a name="19" href="#19">19</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/IsTextOnlyTest.html">IsTextOnlyTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="20" href="#20">20</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="21" href="#21">21</a>          TestRunner.run(IsTextOnlyTest.<strong>class</strong>);
+<a name="22" href="#22">22</a>      }
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <em class="comment">// Test case(s)</em>
+<a name="25" href="#25">25</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>void</strong> testDocument() throws Exception {
+<a name="27" href="#27">27</a>          DocumentFactory factory = <strong>new</strong> DocumentFactory();
+<a name="28" href="#28">28</a>          Element root = factory.createElement(<span class="string">"root"</span>);
+<a name="29" href="#29">29</a>          Element first = root.addElement(<span class="string">"child"</span>);
+<a name="30" href="#30">30</a>          first.addText(<span class="string">"This is some text"</span>);
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          assertTrue(<span class="string">"Root node is not text only: "</span> + root, !root.isTextOnly());
+<a name="33" href="#33">33</a>          assertTrue(<span class="string">"First child is text only: "</span> + first, first.isTextOnly());
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>  <em class="comment">/*</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * following conditions are met:</em>
+<a name="41" href="#41">41</a>  <em class="comment"> * </em>
+<a name="42" href="#42">42</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * </em>
+<a name="45" href="#45">45</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * </em>
+<a name="53" href="#53">53</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="72" href="#72">72</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/IteratorTest.html b/docs/xref-test/org/dom4j/IteratorTest.html
new file mode 100644
index 0000000..12e0508
--- /dev/null
+++ b/docs/xref-test/org/dom4j/IteratorTest.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>IteratorTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * A test harness to test the Iterator API in DOM4J</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:jdoughty at jdoughty@cs.gmu.edu" target="alexandria_uri">mailto:jdoughty at jdoughty@cs.gmu.edu</a>">Jonathan Doughty </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/IteratorTest.html">IteratorTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="22" href="#22">22</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> NUMELE = 10;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>protected</strong> Document iterDocument;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="27" href="#27">27</a>          TestRunner.run(IteratorTest.<strong>class</strong>);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="31" href="#31">31</a>          <strong>super</strong>.setUp();
+<a name="32" href="#32">32</a>          iterDocument = DocumentHelper.createDocument();
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>          Element root = iterDocument.addElement(<span class="string">"root"</span>);
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < NUMELE; i++) {
+<a name="37" href="#37">37</a>              root.addElement(<span class="string">"iterator test"</span>).addAttribute(<span class="string">"instance"</span>,
+<a name="38" href="#38">38</a>                      Integer.toString(i));
+<a name="39" href="#39">39</a>          }
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em class="comment">// Test case(s)</em>
+<a name="43" href="#43">43</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="44" href="#44">44</a>      <strong>public</strong> <strong>void</strong> testElementCount() throws Exception {
+<a name="45" href="#45">45</a>          Element root = iterDocument.getRootElement();
+<a name="46" href="#46">46</a>          assertTrue(<span class="string">"Has root element"</span>, root != <strong>null</strong>);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          List elements = root.elements(<span class="string">"iterator test"</span>);
+<a name="49" href="#49">49</a>          <strong>int</strong> elementSize = elements.size();
+<a name="50" href="#50">50</a>          assertTrue(<span class="string">"Root has "</span> + elementSize + <span class="string">" children"</span>, (elements != <strong>null</strong>)
+<a name="51" href="#51">51</a>                  && (elementSize == NUMELE));
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> <strong>void</strong> testPlainIteration() throws Exception {
+<a name="55" href="#55">55</a>          Element root = iterDocument.getRootElement();
+<a name="56" href="#56">56</a>          List elements = root.elements(<span class="string">"iterator test"</span>);
+<a name="57" href="#57">57</a>          Iterator iter = root.elementIterator(<span class="string">"iterator test"</span>);
+<a name="58" href="#58">58</a>          <strong>int</strong> elementSize = elements.size();
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>int</strong> count = 0;
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>          <strong>for</strong> (; iter.hasNext();) {
+<a name="63" href="#63">63</a>              Element e = (Element) iter.next();
+<a name="64" href="#64">64</a>              assertEquals(<span class="string">"instance "</span> + e.attribute(<span class="string">"instance"</span>).getValue()
+<a name="65" href="#65">65</a>                      + <span class="string">" equals "</span> + count, e.attribute(<span class="string">"instance"</span>).getValue(),
+<a name="66" href="#66">66</a>                      Integer.toString(count));
+<a name="67" href="#67">67</a>              count++;
+<a name="68" href="#68">68</a>          }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          assertTrue(elementSize + <span class="string">" elements iterated"</span>, count == elementSize);
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <strong>void</strong> testSkipAlternates() throws Exception {
+<a name="74" href="#74">74</a>          Element root = iterDocument.getRootElement();
+<a name="75" href="#75">75</a>          List elements = root.elements(<span class="string">"iterator test"</span>);
+<a name="76" href="#76">76</a>          Iterator iter = root.elementIterator(<span class="string">"iterator test"</span>);
+<a name="77" href="#77">77</a>          <strong>int</strong> elementSize = elements.size();
+<a name="78" href="#78">78</a>          <strong>int</strong> count = 0;
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>          <strong>for</strong> (; iter.hasNext();) {
+<a name="81" href="#81">81</a>              Element e = (Element) iter.next();
+<a name="82" href="#82">82</a>              assertEquals(<span class="string">"instance "</span> + e.attribute(<span class="string">"instance"</span>).getValue()
+<a name="83" href="#83">83</a>                      + <span class="string">" equals "</span> + (count * 2), e.attribute(<span class="string">"instance"</span>)
+<a name="84" href="#84">84</a>                      .getValue(), Integer.toString(count * 2));
+<a name="85" href="#85">85</a>              iter.next();
+<a name="86" href="#86">86</a>              count++;
+<a name="87" href="#87">87</a>          }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          assertTrue((elementSize / 2) + <span class="string">" alternate elements iterated"</span>,
+<a name="90" href="#90">90</a>                  count == (elementSize / 2));
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> <strong>void</strong> testNoHasNext() throws Exception {
+<a name="94" href="#94">94</a>          Element root = iterDocument.getRootElement();
+<a name="95" href="#95">95</a>          List elements = root.elements(<span class="string">"iterator test"</span>);
+<a name="96" href="#96">96</a>          Iterator iter = root.elementIterator(<span class="string">"iterator test"</span>);
+<a name="97" href="#97">97</a>          <strong>int</strong> elementSize = elements.size();
+<a name="98" href="#98">98</a>          <strong>int</strong> count = 0;
+<a name="99" href="#99">99</a>          Element e = <strong>null</strong>;
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>         <strong>for</strong> (; count < elementSize;) {
+<a name="102" href="#102">102</a>             e = (Element) iter.next();
+<a name="103" href="#103">103</a>             assertEquals(<span class="string">"instance "</span> + e.attribute(<span class="string">"instance"</span>).getValue()
+<a name="104" href="#104">104</a>                     + <span class="string">" equals "</span> + count, e.attribute(<span class="string">"instance"</span>).getValue(),
+<a name="105" href="#105">105</a>                     Integer.toString(count));
+<a name="106" href="#106">106</a>             System.out.println(<span class="string">"instance "</span> + e.attribute(<span class="string">"instance"</span>).getValue()
+<a name="107" href="#107">107</a>                     + <span class="string">" equals "</span> + count);
+<a name="108" href="#108">108</a>             count++;
+<a name="109" href="#109">109</a>         }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         <strong>try</strong> {
+<a name="112" href="#112">112</a>             e = (Element) iter.next();
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>             <strong>if</strong> (e != <strong>null</strong>) {
+<a name="115" href="#115">115</a>                 <em class="comment">// Real Iterators wouldn't get here</em>
+<a name="116" href="#116">116</a>                 assertTrue(<span class="string">"no more elements,value instead is "</span>
+<a name="117" href="#117">117</a>                         + e.attribute(<span class="string">"instance"</span>).getValue(), e == <strong>null</strong>);
+<a name="118" href="#118">118</a>             }
+<a name="119" href="#119">119</a>         } <strong>catch</strong> (Exception exp) {
+<a name="120" href="#120">120</a>             assertTrue(<span class="string">"Real iterators throw NoSuchElementException"</span>,
+<a name="121" href="#121">121</a>                     exp instanceof java.util.NoSuchElementException);
+<a name="122" href="#122">122</a>         }
+<a name="123" href="#123">123</a>     }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>     <strong>public</strong> <strong>void</strong> testExtraHasNexts() throws Exception {
+<a name="126" href="#126">126</a>         Element root = iterDocument.getRootElement();
+<a name="127" href="#127">127</a>         List elements = root.elements(<span class="string">"iterator test"</span>);
+<a name="128" href="#128">128</a>         Iterator iter = root.elementIterator(<span class="string">"iterator test"</span>);
+<a name="129" href="#129">129</a>         <strong>int</strong> elementSize = elements.size();
+<a name="130" href="#130">130</a>         <strong>int</strong> count = 0;
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         <strong>for</strong> (; iter.hasNext();) {
+<a name="133" href="#133">133</a>             Element e = (Element) iter.next();
+<a name="134" href="#134">134</a>             assertEquals(<span class="string">"instance "</span> + e.attribute(<span class="string">"instance"</span>).getValue()
+<a name="135" href="#135">135</a>                     + <span class="string">" equals "</span> + count, e.attribute(<span class="string">"instance"</span>).getValue(),
+<a name="136" href="#136">136</a>                     Integer.toString(count));
+<a name="137" href="#137">137</a>             iter.hasNext();
+<a name="138" href="#138">138</a>             count++;
+<a name="139" href="#139">139</a>         }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>         assertTrue(elementSize + <span class="string">" elements iterated with extra hasNexts"</span>,
+<a name="142" href="#142">142</a>                 count == elementSize);
+<a name="143" href="#143">143</a>     }
+<a name="144" href="#144">144</a> }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a> <em class="comment">/*</em>
+<a name="147" href="#147">147</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="148" href="#148">148</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="149" href="#149">149</a> <em class="comment"> * following conditions are met:</em>
+<a name="150" href="#150">150</a> <em class="comment"> * </em>
+<a name="151" href="#151">151</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="152" href="#152">152</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="153" href="#153">153</a> <em class="comment"> * </em>
+<a name="154" href="#154">154</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="155" href="#155">155</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="156" href="#156">156</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="157" href="#157">157</a> <em class="comment"> * </em>
+<a name="158" href="#158">158</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="159" href="#159">159</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="160" href="#160">160</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="161" href="#161">161</a> <em class="comment"> * </em>
+<a name="162" href="#162">162</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="163" href="#163">163</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="164" href="#164">164</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="165" href="#165">165</a> <em class="comment"> * </em>
+<a name="166" href="#166">166</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="167" href="#167">167</a> <em class="comment"> * </em>
+<a name="168" href="#168">168</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="169" href="#169">169</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="170" href="#170">170</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="171" href="#171">171</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="172" href="#172">172</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="173" href="#173">173</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="174" href="#174">174</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="175" href="#175">175</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="176" href="#176">176</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="177" href="#177">177</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="178" href="#178">178</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="179" href="#179">179</a> <em class="comment"> * </em>
+<a name="180" href="#180">180</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="181" href="#181">181</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/LineFeedTest.html b/docs/xref-test/org/dom4j/LineFeedTest.html
new file mode 100644
index 0000000..f170742
--- /dev/null
+++ b/docs/xref-test/org/dom4j/LineFeedTest.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LineFeedTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringWriter;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.io.OutputFormat;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/LineFeedTest.html">LineFeedTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="18" href="#18">18</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String ATT_TEXT = <span class="string">"Hello&#xa;There&#xa;&lt;&gt;&amp;"</span>;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String TEXT = <span class="string">"Hello\nThere\n&lt;&gt;&amp;"</span>;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String EXPECTED_TEXT = <span class="string">"Hello\nThere\n<>&"</span>;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String EXPECTED_ATT_TEXT = <span class="string">"Hello There <>&"</span>;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="27" href="#27">27</a>          TestRunner.run(LineFeedTest.<strong>class</strong>);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>void</strong> testElement() throws Exception {
+<a name="31" href="#31">31</a>          Document doc = DocumentHelper.parseText(<span class="string">"<elem>"</span> + TEXT + <span class="string">"</elem>"</span>);
+<a name="32" href="#32">32</a>          Element elem = doc.getRootElement();
+<a name="33" href="#33">33</a>          assertEquals(EXPECTED_TEXT, elem.getText());
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> testAttribute() throws Exception {
+<a name="37" href="#37">37</a>          Document doc = DocumentHelper
+<a name="38" href="#38">38</a>                  .parseText(<span class="string">"<elem attr=\""</span> + TEXT + <span class="string">"\"/>"</span>);
+<a name="39" href="#39">39</a>          Element elem = doc.getRootElement();
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          <em class="comment">// System.out.println(elem.attributeValue("attr"));</em>
+<a name="42" href="#42">42</a>          assertEquals(EXPECTED_ATT_TEXT, elem.attributeValue(<span class="string">"attr"</span>));
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          doc = DocumentHelper.parseText(<span class="string">"<elem attr=\""</span> + ATT_TEXT + <span class="string">"\"/>"</span>);
+<a name="45" href="#45">45</a>          elem = doc.getRootElement();
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          <em class="comment">// System.out.println(elem.attributeValue("attr"));</em>
+<a name="48" href="#48">48</a>          assertEquals(EXPECTED_TEXT, elem.attributeValue(<span class="string">"attr"</span>));
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> testCDATA() throws Exception {
+<a name="52" href="#52">52</a>          Document doc = DocumentHelper.parseText(<span class="string">"<elem><![CDATA["</span>
+<a name="53" href="#53">53</a>                  + EXPECTED_TEXT + <span class="string">"]]></elem>"</span>);
+<a name="54" href="#54">54</a>          Element elem = doc.getRootElement();
+<a name="55" href="#55">55</a>          assertEquals(EXPECTED_TEXT, elem.getText());
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> testXmlWriter() throws Exception {
+<a name="59" href="#59">59</a>          Element elem = DocumentHelper.createElement(<span class="string">"elem"</span>);
+<a name="60" href="#60">60</a>          Document doc = DocumentHelper.createDocument(elem);
+<a name="61" href="#61">61</a>          elem.addCDATA(EXPECTED_TEXT);
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          StringWriter sw = <strong>new</strong> StringWriter();
+<a name="64" href="#64">64</a>          XMLWriter xWriter = <strong>new</strong> XMLWriter(sw, OutputFormat.createPrettyPrint());
+<a name="65" href="#65">65</a>          xWriter.write(doc);
+<a name="66" href="#66">66</a>          xWriter.close();
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>          String xmlString = sw.toString();
+<a name="69" href="#69">69</a>          doc = DocumentHelper.parseText(xmlString);
+<a name="70" href="#70">70</a>          elem = doc.getRootElement();
+<a name="71" href="#71">71</a>          assertEquals(EXPECTED_TEXT, elem.getText());
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>  <em class="comment">/*</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * following conditions are met:</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * </em>
+<a name="95" href="#95">95</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="102" href="#102">102</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="103" href="#103">103</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="104" href="#104">104</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="105" href="#105">105</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="106" href="#106">106</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="108" href="#108">108</a> <em class="comment"> * </em>
+<a name="109" href="#109">109</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="110" href="#110">110</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/MakeElementTest.html b/docs/xref-test/org/dom4j/MakeElementTest.html
new file mode 100644
index 0000000..821d754
--- /dev/null
+++ b/docs/xref-test/org/dom4j/MakeElementTest.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>MakeElementTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * A test harness to test the DocumentHelper.makeElement() methodt</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/MakeElementTest.html">MakeElementTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="19" href="#19">19</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="20" href="#20">20</a>          TestRunner.run(MakeElementTest.<strong>class</strong>);
+<a name="21" href="#21">21</a>      }
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <em class="comment">// Test case(s)</em>
+<a name="24" href="#24">24</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>void</strong> testMakeElement() throws Exception {
+<a name="26" href="#26">26</a>          Document doc = DocumentHelper.createDocument();
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>          Element c = DocumentHelper.makeElement(doc, <span class="string">"a/b/c"</span>);
+<a name="29" href="#29">29</a>          assertTrue(<span class="string">"Should return a valid element"</span>, c != <strong>null</strong>);
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>          Element c2 = DocumentHelper.makeElement(doc, <span class="string">"a/b/c"</span>);
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>          assertTrue(<span class="string">"Found same element again"</span>, c == c2);
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          c.addAttribute(<span class="string">"x"</span>, <span class="string">"123"</span>);
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>          Node found = doc.selectSingleNode(<span class="string">"/a/b/c[@x='123']"</span>);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          assertEquals(<span class="string">"Found same node via XPath"</span>, c, found);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          Element b = c.getParent();
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          Element e = DocumentHelper.makeElement(b, <span class="string">"c/d/e"</span>);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          assertTrue(<span class="string">"Should return a valid element"</span>, e != <strong>null</strong>);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          Element e2 = DocumentHelper.makeElement(b, <span class="string">"c/d/e"</span>);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          assertTrue(<span class="string">"Found same element again"</span>, e == e2);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          e.addAttribute(<span class="string">"y"</span>, <span class="string">"456"</span>);
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          found = b.selectSingleNode(<span class="string">"c/d/e[@y='456']"</span>);
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          assertEquals(<span class="string">"Found same node via XPath"</span>, e, found);
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> testMakeQualifiedElement() throws Exception {
+<a name="59" href="#59">59</a>          Document doc = DocumentHelper.createDocument();
+<a name="60" href="#60">60</a>          Element root = doc.addElement(<span class="string">"root"</span>);
+<a name="61" href="#61">61</a>          root.addNamespace(<span class="string">""</span>, <span class="string">"defaultURI"</span>);
+<a name="62" href="#62">62</a>          root.addNamespace(<span class="string">"foo"</span>, <span class="string">"fooURI"</span>);
+<a name="63" href="#63">63</a>          root.addNamespace(<span class="string">"bar"</span>, <span class="string">"barURI"</span>);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          Element c = DocumentHelper.makeElement(doc, <span class="string">"root/foo:b/bar:c"</span>);
+<a name="66" href="#66">66</a>          assertTrue(<span class="string">"Should return a valid element"</span>, c != <strong>null</strong>);
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>          assertEquals(<span class="string">"c has a valid namespace"</span>, <span class="string">"barURI"</span>, c.getNamespaceURI());
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          Element b = c.getParent();
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>          assertEquals(<span class="string">"b has a valid namespace"</span>, <span class="string">"fooURI"</span>, b.getNamespaceURI());
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>          log(<span class="string">"Created: "</span> + c);
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          Element c2 = DocumentHelper.makeElement(doc, <span class="string">"root/foo:b/bar:c"</span>);
+<a name="77" href="#77">77</a>          assertTrue(<span class="string">"Found same element again"</span>, c == c2);
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>  <em class="comment">/*</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * following conditions are met:</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="102" href="#102">102</a> <em class="comment"> * </em>
+<a name="103" href="#103">103</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="104" href="#104">104</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="105" href="#105">105</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="106" href="#106">106</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="108" href="#108">108</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="109" href="#109">109</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="110" href="#110">110</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="111" href="#111">111</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="112" href="#112">112</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="113" href="#113">113</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="114" href="#114">114</a> <em class="comment"> * </em>
+<a name="115" href="#115">115</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="116" href="#116">116</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/MergeTextTest.html b/docs/xref-test/org/dom4j/MergeTextTest.html
new file mode 100644
index 0000000..36056dd
--- /dev/null
+++ b/docs/xref-test/org/dom4j/MergeTextTest.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>MergeTextTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * A test harness for SAXReader option setMergeAdjacentText(true)</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:slehmann at novell.com" target="alexandria_uri">mailto:slehmann at novell.com</a>">Steen Lehmann </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/MergeTextTest.html">MergeTextTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="23" href="#23">23</a>      <em>/**<em>* Input XML file to read */</em></em>
+<a name="24" href="#24">24</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String INPUT_XML_FILE = <span class="string">"/xml/test/mergetext.xml"</span>;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="27" href="#27">27</a>          TestRunner.run(MergeTextTest.<strong>class</strong>);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em class="comment">// Test case(s)</em>
+<a name="31" href="#31">31</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>void</strong> testNoAdjacentText() throws Exception {
+<a name="33" href="#33">33</a>          <em class="comment">// After reading using SAXReader with mergeAdjacentText true,</em>
+<a name="34" href="#34">34</a>          <em class="comment">// no two Text objects should be adjacent to each other in the</em>
+<a name="35" href="#35">35</a>          <em class="comment">// document.</em>
+<a name="36" href="#36">36</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="37" href="#37">37</a>          reader.setMergeAdjacentText(<strong>true</strong>);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          Document document = getDocument(INPUT_XML_FILE, reader);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          checkNoAdjacent(document.getRootElement());
+<a name="42" href="#42">42</a>          log(<span class="string">"No adjacent Text nodes in "</span> + document.asXML());
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <em class="comment">// Implementation methods</em>
+<a name="46" href="#46">46</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="47" href="#47">47</a>      <strong>private</strong> <strong>void</strong> checkNoAdjacent(Element parent) {
+<a name="48" href="#48">48</a>          <em class="comment">// Check that no two Text nodes are adjacent in the parent's content</em>
+<a name="49" href="#49">49</a>          Node prev = <strong>null</strong>;
+<a name="50" href="#50">50</a>          Iterator iter = parent.nodeIterator();
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          <strong>while</strong> (iter.hasNext()) {
+<a name="53" href="#53">53</a>              Node n = (Node) iter.next();
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>              <strong>if</strong> (n instanceof Text && ((prev != <strong>null</strong>) && prev instanceof Text)) {
+<a name="56" href="#56">56</a>                  fail(<span class="string">"Node: "</span> + n + <span class="string">" is text and so is its "</span>
+<a name="57" href="#57">57</a>                          + <span class="string">"preceding sibling: "</span> + prev);
+<a name="58" href="#58">58</a>              } <strong>else</strong> <strong>if</strong> (n instanceof Element) {
+<a name="59" href="#59">59</a>                  checkNoAdjacent((Element) n);
+<a name="60" href="#60">60</a>              }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>              prev = n;
+<a name="63" href="#63">63</a>          }
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>  <em class="comment">/*</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * following conditions are met:</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="102" href="#102">102</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/NamespaceTest.html b/docs/xref-test/org/dom4j/NamespaceTest.html
new file mode 100644
index 0000000..847c61e
--- /dev/null
+++ b/docs/xref-test/org/dom4j/NamespaceTest.html
@@ -0,0 +1,188 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NamespaceTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.HashMap;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Iterator;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.List;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Map;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * A test harness to test the use of Namespaces.</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/NamespaceTest.html">NamespaceTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="26" href="#26">26</a>      <em>/**<em>* Input XML file to read */</em></em>
+<a name="27" href="#27">27</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String INPUT_XML_FILE = <span class="string">"/xml/namespaces.xml"</span>;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em>/**<em>* Namespace to use in tests */</em></em>
+<a name="30" href="#30">30</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> Namespace XSL_NAMESPACE = Namespace.get(<span class="string">"xsl"</span>,
+<a name="31" href="#31">31</a>              <span class="string">"http://www.w3.org/1999/XSL/Transform"</span>);
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> QName XSL_TEMPLATE = QName.get(<span class="string">"template"</span>,
+<a name="34" href="#34">34</a>              XSL_NAMESPACE);
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="37" href="#37">37</a>          TestRunner.run(NamespaceTest.<strong>class</strong>);
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em class="comment">// Test case(s)</em>
+<a name="41" href="#41">41</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> debugShowNamespaces() throws Exception {
+<a name="43" href="#43">43</a>          Element root = getRootElement();
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          <strong>for</strong> (Iterator iter = root.elementIterator(); iter.hasNext();) {
+<a name="46" href="#46">46</a>              Element element = (Element) iter.next();
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>              log(<span class="string">"Found element:    "</span> + element);
+<a name="49" href="#49">49</a>              log(<span class="string">"Namespace:        "</span> + element.getNamespace());
+<a name="50" href="#50">50</a>              log(<span class="string">"Namespace prefix: "</span> + element.getNamespacePrefix());
+<a name="51" href="#51">51</a>              log(<span class="string">"Namespace URI:    "</span> + element.getNamespaceURI());
+<a name="52" href="#52">52</a>          }
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> <strong>void</strong> testGetElement() throws Exception {
+<a name="56" href="#56">56</a>          Element root = getRootElement();
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          Element firstTemplate = root.element(XSL_TEMPLATE);
+<a name="59" href="#59">59</a>          assertTrue(
+<a name="60" href="#60">60</a>                  <span class="string">"Root element contains at least one <xsl:template/> element"</span>,
+<a name="61" href="#61">61</a>                  firstTemplate != <strong>null</strong>);
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          log(<span class="string">"Found element: "</span> + firstTemplate);
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <strong>public</strong> <strong>void</strong> testGetElements() throws Exception {
+<a name="67" href="#67">67</a>          Element root = getRootElement();
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          List list = root.elements(XSL_TEMPLATE);
+<a name="70" href="#70">70</a>          assertTrue(
+<a name="71" href="#71">71</a>                  <span class="string">"Root element contains at least one <xsl:template/> element"</span>,
+<a name="72" href="#72">72</a>                  list.size() > 0);
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>          log(<span class="string">"Found elements: "</span> + list);
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> <strong>void</strong> testElementIterator() throws Exception {
+<a name="78" href="#78">78</a>          Element root = getRootElement();
+<a name="79" href="#79">79</a>          Iterator iter = root.elementIterator(XSL_TEMPLATE);
+<a name="80" href="#80">80</a>          assertTrue(
+<a name="81" href="#81">81</a>                  <span class="string">"Root element contains at least one <xsl:template/> element"</span>,
+<a name="82" href="#82">82</a>                  iter.hasNext());
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          <strong>do</strong> {
+<a name="85" href="#85">85</a>              Element element = (Element) iter.next();
+<a name="86" href="#86">86</a>              log(<span class="string">"Found element: "</span> + element);
+<a name="87" href="#87">87</a>          } <strong>while</strong> (iter.hasNext());
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <em>/**<em>*</em></em>
+<a name="91" href="#91">91</a>  <em>     * Tests the use of namespace URI Mapping associated with a DocumentFactory</em>
+<a name="92" href="#92">92</a>  <em>     * </em>
+<a name="93" href="#93">93</a>  <em>     * @throws Exception</em>
+<a name="94" href="#94">94</a>  <em>     *             DOCUMENT ME!</em>
+<a name="95" href="#95">95</a>  <em>     */</em>
+<a name="96" href="#96">96</a>      <strong>public</strong> <strong>void</strong> testNamespaceUriMap() throws Exception {
+<a name="97" href="#97">97</a>          <em class="comment">// register namespace prefix->uri mappings with factory</em>
+<a name="98" href="#98">98</a>          Map uris = <strong>new</strong> HashMap();
+<a name="99" href="#99">99</a>          uris.put(<span class="string">"x"</span>, <span class="string">"fooNamespace"</span>);
+<a name="100" href="#100">100</a>         uris.put(<span class="string">"y"</span>, <span class="string">"barNamespace"</span>);
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         DocumentFactory factory = <strong>new</strong> DocumentFactory();
+<a name="103" href="#103">103</a>         factory.setXPathNamespaceURIs(uris);
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>         <em class="comment">// parse or create a document</em>
+<a name="106" href="#106">106</a>         SAXReader reader = <strong>new</strong> SAXReader();
+<a name="107" href="#107">107</a>         reader.setDocumentFactory(factory);
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>         Document doc = getDocument(<span class="string">"/xml/test/nestedNamespaces.xml"</span>, reader);
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         <em class="comment">// evaluate XPath using registered namespace prefixes</em>
+<a name="112" href="#112">112</a>         <em class="comment">// which do not appear in the document (though the URIs do!)</em>
+<a name="113" href="#113">113</a>         String value = doc.valueOf(<span class="string">"/x:pizza/y:cheese/x:pepper"</span>);
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         log(<span class="string">"Found value: "</span> + value);
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         assertEquals(<span class="string">"XPath used default namesapce URIS"</span>, <span class="string">"works"</span>, value);
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <em class="comment">// Implementation methods</em>
+<a name="121" href="#121">121</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="122" href="#122">122</a>     <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="123" href="#123">123</a>         <strong>super</strong>.setUp();
+<a name="124" href="#124">124</a>         document = getDocument(INPUT_XML_FILE);
+<a name="125" href="#125">125</a>     }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>     <em>/**<em>*</em></em>
+<a name="128" href="#128">128</a> <em>     * DOCUMENT ME!</em>
+<a name="129" href="#129">129</a> <em>     * </em>
+<a name="130" href="#130">130</a> <em>     * @return the root element of the document</em>
+<a name="131" href="#131">131</a> <em>     */</em>
+<a name="132" href="#132">132</a>     <strong>protected</strong> Element getRootElement() {
+<a name="133" href="#133">133</a>         Element root = document.getRootElement();
+<a name="134" href="#134">134</a>         assertTrue(<span class="string">"Document has root element"</span>, root != <strong>null</strong>);
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>         <strong>return</strong> root;
+<a name="137" href="#137">137</a>     }
+<a name="138" href="#138">138</a> }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a> <em class="comment">/*</em>
+<a name="141" href="#141">141</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="142" href="#142">142</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="143" href="#143">143</a> <em class="comment"> * following conditions are met:</em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="146" href="#146">146</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="147" href="#147">147</a> <em class="comment"> * </em>
+<a name="148" href="#148">148</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="149" href="#149">149</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="150" href="#150">150</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="151" href="#151">151</a> <em class="comment"> * </em>
+<a name="152" href="#152">152</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="153" href="#153">153</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="154" href="#154">154</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="155" href="#155">155</a> <em class="comment"> * </em>
+<a name="156" href="#156">156</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="157" href="#157">157</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="158" href="#158">158</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="159" href="#159">159</a> <em class="comment"> * </em>
+<a name="160" href="#160">160</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="161" href="#161">161</a> <em class="comment"> * </em>
+<a name="162" href="#162">162</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="163" href="#163">163</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="164" href="#164">164</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="165" href="#165">165</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="166" href="#166">166</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="167" href="#167">167</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="168" href="#168">168</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="169" href="#169">169</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="170" href="#170">170</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="171" href="#171">171</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="172" href="#172">172</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="173" href="#173">173</a> <em class="comment"> * </em>
+<a name="174" href="#174">174</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="175" href="#175">175</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/NamespacesTest.html b/docs/xref-test/org/dom4j/NamespacesTest.html
new file mode 100644
index 0000000..47a2fae
--- /dev/null
+++ b/docs/xref-test/org/dom4j/NamespacesTest.html
@@ -0,0 +1,369 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NamespacesTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringReader;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Iterator;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.List;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.parsers.DocumentBuilder;
+<a name="17" href="#17">17</a>  <strong>import</strong> javax.xml.parsers.DocumentBuilderFactory;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.io.DOMReader;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em> * Test the use of namespaces</em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/NamespacesTest.html">NamespacesTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="31" href="#31">31</a>          TestRunner.run(NamespacesTest.<strong>class</strong>);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em class="comment">// Test case(s)</em>
+<a name="35" href="#35">35</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> testNamespaces() throws Exception {
+<a name="37" href="#37">37</a>          testNamespaces(document);
+<a name="38" href="#38">38</a>          testNamespaces(saxRoundTrip(document));
+<a name="39" href="#39">39</a>          testNamespaces(domRoundTrip(document));
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> testNamespaces(Document document) throws Exception {
+<a name="43" href="#43">43</a>          Document doc2 = (Document) document.clone();
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          Element root = doc2.getRootElement();
+<a name="46" href="#46">46</a>          assertNamespace(root.getNamespace(), <span class="string">""</span>,
+<a name="47" href="#47">47</a>                  <span class="string">"http://www.w3.org/2001/XMLSchema"</span>);
+<a name="48" href="#48">48</a>          assertEquals(<span class="string">"xmlns=\"http://www.w3.org/2001/XMLSchema\""</span>, root
+<a name="49" href="#49">49</a>                  .getNamespace().asXML());
+<a name="50" href="#50">50</a>          assertEquals(<span class="string">"namespace::*[name()='']"</span>, root.getNamespace().getPath());
+<a name="51" href="#51">51</a>          assertEquals(<span class="string">"namespace::*[name()='']"</span>, root.getNamespace()
+<a name="52" href="#52">52</a>                  .getUniquePath());
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          List additionalNS = root.additionalNamespaces();
+<a name="55" href="#55">55</a>          assertTrue(<span class="string">"at least one additional namespace"</span>, (additionalNS != <strong>null</strong>)
+<a name="56" href="#56">56</a>                  && (additionalNS.size() > 0));
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          Namespace ns = (Namespace) additionalNS.get(0);
+<a name="59" href="#59">59</a>          assertNamespace(ns, <span class="string">"t"</span>, <span class="string">"http://www.w3.org/namespace/"</span>);
+<a name="60" href="#60">60</a>          assertEquals(<span class="string">"xmlns:t=\"http://www.w3.org/namespace/\""</span>, ns.asXML());
+<a name="61" href="#61">61</a>          assertEquals(<span class="string">"namespace::t"</span>, ns.getPath());
+<a name="62" href="#62">62</a>          assertEquals(<span class="string">"namespace::t"</span>, ns.getUniquePath());
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          Node node = root.node(0);
+<a name="65" href="#65">65</a>          assertTrue(<span class="string">"First node is a namespace"</span>, node instanceof Namespace);
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          <em class="comment">// now lets try change the namespace</em>
+<a name="68" href="#68">68</a>          root.remove(ns);
+<a name="69" href="#69">69</a>          root.addNamespace(<span class="string">"t"</span>, <span class="string">"myNewURI"</span>);
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          additionalNS = root.additionalNamespaces();
+<a name="72" href="#72">72</a>          assertTrue(<span class="string">"at least one additional namespace"</span>, (additionalNS != <strong>null</strong>)
+<a name="73" href="#73">73</a>                  && (additionalNS.size() > 0));
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>          ns = (Namespace) additionalNS.get(0);
+<a name="76" href="#76">76</a>          assertNamespace(ns, <span class="string">"t"</span>, <span class="string">"myNewURI"</span>);
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          <em class="comment">// lets test the list is backed</em>
+<a name="79" href="#79">79</a>          additionalNS.remove(0);
+<a name="80" href="#80">80</a>          additionalNS.add(Namespace.get(<span class="string">"t"</span>, <span class="string">"myNewURI-2"</span>));
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          additionalNS = root.additionalNamespaces();
+<a name="83" href="#83">83</a>          assertTrue(<span class="string">"at least one additional namespace"</span>, (additionalNS != <strong>null</strong>)
+<a name="84" href="#84">84</a>                  && (additionalNS.size() > 0));
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>          ns = (Namespace) additionalNS.get(0);
+<a name="87" href="#87">87</a>          assertNamespace(ns, <span class="string">"t"</span>, <span class="string">"myNewURI-2"</span>);
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          additionalNS.clear();
+<a name="90" href="#90">90</a>          root.addNamespace(<span class="string">"t"</span>, <span class="string">"myNewURI"</span>);
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          additionalNS = root.additionalNamespaces();
+<a name="93" href="#93">93</a>          assertTrue(<span class="string">"at least one additional namespace"</span>, (additionalNS != <strong>null</strong>)
+<a name="94" href="#94">94</a>                  && (additionalNS.size() > 0));
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>          ns = (Namespace) additionalNS.get(0);
+<a name="97" href="#97">97</a>          assertNamespace(ns, <span class="string">"t"</span>, <span class="string">"myNewURI"</span>);
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          log(<span class="string">"Namespaces: "</span> + additionalNS);
+<a name="100" href="#100">100</a>         log(<span class="string">"XML is now"</span>);
+<a name="101" href="#101">101</a>         log(root.asXML());
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <strong>public</strong> <strong>void</strong> testNamespaceForPrefix() throws Exception {
+<a name="105" href="#105">105</a>         testNamespaceForPrefix(document);
+<a name="106" href="#106">106</a>         testNamespaceForPrefix(saxRoundTrip(document));
+<a name="107" href="#107">107</a>         testNamespaceForPrefix(domRoundTrip(document));
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <strong>public</strong> <strong>void</strong> testNamespaceForPrefix(Document document) throws Exception {
+<a name="111" href="#111">111</a>         Element root = document.getRootElement();
+<a name="112" href="#112">112</a>         Namespace ns = root.getNamespaceForPrefix(<span class="string">"t"</span>);
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>         assertNamespace(ns, <span class="string">"t"</span>, <span class="string">"http://www.w3.org/namespace/"</span>);
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         Element element = (Element) root.elements().get(0);
+<a name="117" href="#117">117</a>         Namespace ns2 = element.getNamespaceForPrefix(<span class="string">"t"</span>);
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         assertNamespace(ns2, <span class="string">"t"</span>, <span class="string">"http://www.w3.org/namespace/"</span>);
+<a name="120" href="#120">120</a>         assertTrue(<span class="string">"Same namespace instance returned"</span>, ns == ns2);
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>         log(<span class="string">"found: "</span> + ns.asXML());
+<a name="123" href="#123">123</a>     }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>     <strong>public</strong> <strong>void</strong> testNamespaceForDefaultPrefix() throws Exception {
+<a name="126" href="#126">126</a>         Document document = getDocument(<span class="string">"/xml/test/defaultNamespace.xml"</span>);
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         testNamespaceForDefaultPrefix(document);
+<a name="129" href="#129">129</a>         testNamespaceForDefaultPrefix(saxRoundTrip(document));
+<a name="130" href="#130">130</a>         testNamespaceForDefaultPrefix(domRoundTrip(document));
+<a name="131" href="#131">131</a>     }
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>     <strong>public</strong> <strong>void</strong> testNamespaceForDefaultPrefix(Document document)
+<a name="134" href="#134">134</a>             throws Exception {
+<a name="135" href="#135">135</a>         List list = document.selectNodes(<span class="string">"//*"</span>);
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>         <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="138" href="#138">138</a>             Element element = (Element) iter.next();
+<a name="139" href="#139">139</a>             Namespace ns = element.getNamespaceForPrefix(<span class="string">""</span>);
+<a name="140" href="#140">140</a>             assertNamespace(ns, <span class="string">""</span>, <span class="string">"dummyNamespace"</span>);
+<a name="141" href="#141">141</a>             ns = element.getNamespaceForPrefix(<strong>null</strong>);
+<a name="142" href="#142">142</a>             assertNamespace(ns, <span class="string">""</span>, <span class="string">"dummyNamespace"</span>);
+<a name="143" href="#143">143</a>             log(<span class="string">"found: "</span> + ns.asXML());
+<a name="144" href="#144">144</a>         }
+<a name="145" href="#145">145</a>     }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>     <strong>public</strong> <strong>void</strong> testAttributeDefaultPrefix() throws Exception {
+<a name="148" href="#148">148</a>         Document document = getDocument(<span class="string">"/xml/test/soap3.xml"</span>);
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         testAttributeDefaultPrefix(document);
+<a name="151" href="#151">151</a>         testAttributeDefaultPrefix(saxRoundTrip(document));
+<a name="152" href="#152">152</a>         testAttributeDefaultPrefix(domRoundTrip(document));
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> <strong>void</strong> testAttributeDefaultPrefix(Document document) throws Exception {
+<a name="156" href="#156">156</a>         List list = document.selectNodes(<span class="string">"//@*[local-name()='actor']"</span>);
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>         assertTrue(<span class="string">"Matched at least one 'actor' attribute"</span>, list.size() > 0);
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>         <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="161" href="#161">161</a>             Attribute attribute = (Attribute) iter.next();
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>             log(<span class="string">"found: "</span> + attribute.asXML());
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>             Element element = attribute.getParent();
+<a name="166" href="#166">166</a>             assertTrue(<span class="string">"Attribute has a parent"</span>, element != <strong>null</strong>);
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>             Namespace ns = element.getNamespaceForPrefix(<span class="string">""</span>);
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>             String uri = <span class="string">"http://schemas.xmlsoap.org/soap/envelope/"</span>;
+<a name="171" href="#171">171</a>             assertNamespace(ns, <span class="string">""</span>, uri);
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>             Namespace ns2 = attribute.getNamespace();
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>             <em class="comment">// Note that namespaces do not inherit the default namespace!</em>
+<a name="176" href="#176">176</a>             assertNamespace(ns2, <span class="string">""</span>, <span class="string">""</span>);
+<a name="177" href="#177">177</a>         }
+<a name="178" href="#178">178</a>     }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>     <strong>public</strong> <strong>void</strong> testNamespaceForURI() throws Exception {
+<a name="181" href="#181">181</a>         testNamespaceForURI(document);
+<a name="182" href="#182">182</a>         testNamespaceForURI(saxRoundTrip(document));
+<a name="183" href="#183">183</a>         testNamespaceForURI(domRoundTrip(document));
+<a name="184" href="#184">184</a>     }
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>     <strong>public</strong> <strong>void</strong> testNamespaceForURI(Document document) throws Exception {
+<a name="187" href="#187">187</a>         Element root = document.getRootElement();
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>         Namespace ns = root.getNamespaceForURI(<span class="string">"http://www.w3.org/namespace/"</span>);
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>         assertNamespace(ns, <span class="string">"t"</span>, <span class="string">"http://www.w3.org/namespace/"</span>);
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>         Element element = (Element) root.elements().get(0);
+<a name="194" href="#194">194</a>         Namespace ns2 = element
+<a name="195" href="#195">195</a>                 .getNamespaceForURI(<span class="string">"http://www.w3.org/namespace/"</span>);
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>         assertNamespace(ns2, <span class="string">"t"</span>, <span class="string">"http://www.w3.org/namespace/"</span>);
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a>         assertTrue(<span class="string">"Same namespace instance returned"</span>, ns == ns2);
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>         log(<span class="string">"found: "</span> + ns.asXML());
+<a name="202" href="#202">202</a>     }
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>     <strong>public</strong> <strong>void</strong> testRedeclareNamespaces() throws Exception {
+<a name="205" href="#205">205</a>         Document document = getDocument(<span class="string">"/xml/test/soap2.xml"</span>);
+<a name="206" href="#206">206</a>         testRedeclareNamespaces(document);
+<a name="207" href="#207">207</a>         testRedeclareNamespaces(saxRoundTrip(document));
+<a name="208" href="#208">208</a>         testRedeclareNamespaces(domRoundTrip(document));
+<a name="209" href="#209">209</a>     }
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>     <strong>public</strong> <strong>void</strong> testRedeclareNamespaces(Document document) throws Exception {
+<a name="212" href="#212">212</a>         String uri = <span class="string">"http://schemas.xmlsoap.org/soap/envelope/"</span>;
+<a name="213" href="#213">213</a>         assertNamespaces(document.selectNodes(<span class="string">"//*[local-name()='Envelope']"</span>),
+<a name="214" href="#214">214</a>                 <span class="string">"SOAP-ENV"</span>, uri);
+<a name="215" href="#215">215</a>         assertNamespaces(document.selectNodes(<span class="string">"//*[local-name()='Body']"</span>),
+<a name="216" href="#216">216</a>                 <span class="string">"SOAP-ENV"</span>, uri);
+<a name="217" href="#217">217</a>         assertNamespaces(document.selectNodes(<span class="string">"//*[local-name()='bar']"</span>), <span class="string">"a"</span>,
+<a name="218" href="#218">218</a>                 <span class="string">"barURI"</span>);
+<a name="219" href="#219">219</a>         assertNamespaces(document.selectNodes(<span class="string">"//*[local-name()='newBar']"</span>),
+<a name="220" href="#220">220</a>                 <span class="string">"a"</span>, <span class="string">"newBarURI"</span>);
+<a name="221" href="#221">221</a>         assertNamespaces(document.selectNodes(<span class="string">"//*[local-name()='foo']"</span>), <span class="string">""</span>,
+<a name="222" href="#222">222</a>                 <span class="string">"fooURI"</span>);
+<a name="223" href="#223">223</a>         assertNamespaces(document.selectNodes(<span class="string">"//*[local-name()='newFoo']"</span>),
+<a name="224" href="#224">224</a>                 <span class="string">""</span>, <span class="string">"newFooURI"</span>);
+<a name="225" href="#225">225</a>     }
+<a name="226" href="#226">226</a> 
+<a name="227" href="#227">227</a>     <strong>public</strong> <strong>void</strong> testDefaultNamespaceIssue() throws Exception {
+<a name="228" href="#228">228</a>         Document document = getDocument(<span class="string">"/xml/test/defaultNamespaceIssue.xsd"</span>);
+<a name="229" href="#229">229</a>         testDefaultNamespaceIssue(document);
+<a name="230" href="#230">230</a>         testDefaultNamespaceIssue(saxRoundTrip(document));
+<a name="231" href="#231">231</a>         testDefaultNamespaceIssue(domRoundTrip(document));
+<a name="232" href="#232">232</a>     }
+<a name="233" href="#233">233</a> 
+<a name="234" href="#234">234</a>     <strong>public</strong> <strong>void</strong> testDefaultNamespaceIssue(Document document) throws Exception {
+<a name="235" href="#235">235</a>         <em class="comment">// When writing documents using a default namespace with XMLWriter</em>
+<a name="236" href="#236">236</a>         <em class="comment">// a redeclaration of the default namespace to "" was dropped in the</em>
+<a name="237" href="#237">237</a>         <em class="comment">// output. Test that</em>
+<a name="238" href="#238">238</a>         <em class="comment">// <xsd:schema><xsd:element><xsd:annotation><xsd:documentation><text></em>
+<a name="239" href="#239">239</a>         <em class="comment">// is in no namespace.</em>
+<a name="240" href="#240">240</a>         String expr 
+<a name="241" href="#241">241</a>             = <span class="string">"/xsd:schema/xsd:element/xsd:annotation/xsd:documentation/text"</span>;
+<a name="242" href="#242">242</a>         assertNotNull(<span class="string">"default namespace redeclaration"</span>, (Element) document
+<a name="243" href="#243">243</a>                 .selectSingleNode(expr));
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>         <em class="comment">// The test document has a default namespace declaration on the root</em>
+<a name="246" href="#246">246</a>         <em class="comment">// element ("schema"), but the element itself is not in the default</em>
+<a name="247" href="#247">247</a>         <em class="comment">// namespace. Test that declaredNamespaces on the root element also</em>
+<a name="248" href="#248">248</a>         <em class="comment">// returns the default namespace declaration.</em>
+<a name="249" href="#249">249</a>         Iterator iter = document.getRootElement().declaredNamespaces()
+<a name="250" href="#250">250</a>                 .iterator();
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>         <strong>while</strong> (iter.hasNext()) {
+<a name="253" href="#253">253</a>             Namespace ns = (Namespace) iter.next();
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>             <strong>if</strong> (<span class="string">"urn:wapforum:devicesheet"</span>.equals(ns.getURI())
+<a name="256" href="#256">256</a>                     && <span class="string">""</span>.equals(ns.getPrefix())) {
+<a name="257" href="#257">257</a>                 <strong>return</strong>;
+<a name="258" href="#258">258</a>             }
+<a name="259" href="#259">259</a>         }
+<a name="260" href="#260">260</a> 
+<a name="261" href="#261">261</a>         fail(<span class="string">"Default namespace declaration not present on root element"</span>);
+<a name="262" href="#262">262</a>     }
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>     <strong>public</strong> <strong>void</strong> testDefaultNamespace() throws Exception {
+<a name="265" href="#265">265</a>         Document doc = DocumentHelper.createDocument();
+<a name="266" href="#266">266</a>         Element processDef = doc.addElement(<span class="string">"process-definition"</span>,
+<a name="267" href="#267">267</a>                 <span class="string">"http://jbpm.org/statedefinition-2.0-beta3"</span>);
+<a name="268" href="#268">268</a>         Element startState = processDef.addElement(<span class="string">"start-state"</span>);
+<a name="269" href="#269">269</a>         startState.addAttribute(<span class="string">"name"</span>, <span class="string">"start"</span>);
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a>         Element transition = startState.addElement(<span class="string">"transition"</span>);
+<a name="272" href="#272">272</a>         transition.addAttribute(<span class="string">"to"</span>, <span class="string">"first"</span>);
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>         assertEquals(<span class="string">"http://jbpm.org/statedefinition-2.0-beta3"</span>, startState
+<a name="275" href="#275">275</a>                 .getNamespace().getURI());
+<a name="276" href="#276">276</a>         assertEquals(<span class="string">""</span>, startState.getNamespace().getPrefix());
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>         System.out.println(doc.asXML());
+<a name="279" href="#279">279</a>     }
+<a name="280" href="#280">280</a> 
+<a name="281" href="#281">281</a>     <em class="comment">// Implementation methods</em>
+<a name="282" href="#282">282</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="283" href="#283">283</a>     <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="284" href="#284">284</a>         <strong>super</strong>.setUp();
+<a name="285" href="#285">285</a>         document = getDocument(<span class="string">"/xml/test/test_schema.xml"</span>);
+<a name="286" href="#286">286</a>     }
+<a name="287" href="#287">287</a> 
+<a name="288" href="#288">288</a>     <strong>protected</strong> Document saxRoundTrip(Document document) throws Exception {
+<a name="289" href="#289">289</a>         <strong>return</strong> DocumentHelper.parseText(document.asXML());
+<a name="290" href="#290">290</a>     }
+<a name="291" href="#291">291</a> 
+<a name="292" href="#292">292</a>     <strong>protected</strong> Document domRoundTrip(Document document) throws Exception {
+<a name="293" href="#293">293</a>         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+<a name="294" href="#294">294</a>         factory.setNamespaceAware(<strong>true</strong>);
+<a name="295" href="#295">295</a> 
+<a name="296" href="#296">296</a>         DocumentBuilder builder = factory.newDocumentBuilder();
+<a name="297" href="#297">297</a>         org.w3c.dom.Document domDocument = builder.parse(<strong>new</strong> InputSource(
+<a name="298" href="#298">298</a>                 <strong>new</strong> StringReader(document.asXML())));
+<a name="299" href="#299">299</a> 
+<a name="300" href="#300">300</a>         <em class="comment">// now lets read it back as a DOM4J object</em>
+<a name="301" href="#301">301</a>         DOMReader domReader = <strong>new</strong> DOMReader();
+<a name="302" href="#302">302</a> 
+<a name="303" href="#303">303</a>         <strong>return</strong> domReader.read(domDocument);
+<a name="304" href="#304">304</a>     }
+<a name="305" href="#305">305</a> 
+<a name="306" href="#306">306</a>     <strong>protected</strong> <strong>void</strong> assertNamespaces(List elements, String prefix, String uri)
+<a name="307" href="#307">307</a>             throws Exception {
+<a name="308" href="#308">308</a>         <strong>for</strong> (Iterator iter = elements.iterator(); iter.hasNext();) {
+<a name="309" href="#309">309</a>             Element element = (Element) iter.next();
+<a name="310" href="#310">310</a>             assertNamespace(element.getNamespace(), prefix, uri);
+<a name="311" href="#311">311</a>         }
+<a name="312" href="#312">312</a>     }
+<a name="313" href="#313">313</a> 
+<a name="314" href="#314">314</a>     <strong>protected</strong> <strong>void</strong> assertNamespace(Namespace ns, String prefix, String uri)
+<a name="315" href="#315">315</a>             throws Exception {
+<a name="316" href="#316">316</a>         assertEquals(<span class="string">"namespace prefix"</span>, prefix, ns.getPrefix());
+<a name="317" href="#317">317</a>         assertEquals(<span class="string">"namespace URI"</span>, uri, ns.getURI());
+<a name="318" href="#318">318</a>     }
+<a name="319" href="#319">319</a> }
+<a name="320" href="#320">320</a> 
+<a name="321" href="#321">321</a> <em class="comment">/*</em>
+<a name="322" href="#322">322</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="323" href="#323">323</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="324" href="#324">324</a> <em class="comment"> * following conditions are met:</em>
+<a name="325" href="#325">325</a> <em class="comment"> * </em>
+<a name="326" href="#326">326</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="327" href="#327">327</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="328" href="#328">328</a> <em class="comment"> * </em>
+<a name="329" href="#329">329</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="330" href="#330">330</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="331" href="#331">331</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="332" href="#332">332</a> <em class="comment"> * </em>
+<a name="333" href="#333">333</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="334" href="#334">334</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="335" href="#335">335</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="336" href="#336">336</a> <em class="comment"> * </em>
+<a name="337" href="#337">337</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="338" href="#338">338</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="339" href="#339">339</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="340" href="#340">340</a> <em class="comment"> * </em>
+<a name="341" href="#341">341</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="342" href="#342">342</a> <em class="comment"> * </em>
+<a name="343" href="#343">343</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="344" href="#344">344</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="345" href="#345">345</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="346" href="#346">346</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="347" href="#347">347</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="348" href="#348">348</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="349" href="#349">349</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="350" href="#350">350</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="351" href="#351">351</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="352" href="#352">352</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="353" href="#353">353</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="354" href="#354">354</a> <em class="comment"> * </em>
+<a name="355" href="#355">355</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="356" href="#356">356</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/NodeTypeNameTest.html b/docs/xref-test/org/dom4j/NodeTypeNameTest.html
new file mode 100644
index 0000000..a06c685
--- /dev/null
+++ b/docs/xref-test/org/dom4j/NodeTypeNameTest.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NodeTypeNameTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * Tests the getNodeNameType() method</em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="18" href="#18">18</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/NodeTypeNameTest.html">NodeTypeNameTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="21" href="#21">21</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="22" href="#22">22</a>          TestRunner.run(NodeTypeNameTest.<strong>class</strong>);
+<a name="23" href="#23">23</a>      }
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <em class="comment">// Test case(s)</em>
+<a name="26" href="#26">26</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>void</strong> testDocument() throws Exception {
+<a name="28" href="#28">28</a>          testDocument(getDocument());
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>void</strong> testCDATA() throws Exception {
+<a name="32" href="#32">32</a>          testDocument(<span class="string">"/xml/cdata.xml"</span>);
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <strong>void</strong> testNamespaces() throws Exception {
+<a name="36" href="#36">36</a>          testDocument(<span class="string">"/xml/namespaces.xml"</span>);
+<a name="37" href="#37">37</a>          testDocument(<span class="string">"/xml/testNamespaces.xml"</span>);
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>void</strong> testPI() throws Exception {
+<a name="41" href="#41">41</a>          testDocument(<span class="string">"/xml/testPI.xml"</span>);
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <strong>void</strong> testInline() throws Exception {
+<a name="45" href="#45">45</a>          testDocument(<span class="string">"/xml/inline.xml"</span>);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <em class="comment">// Implementation methods</em>
+<a name="49" href="#49">49</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="50" href="#50">50</a>      <strong>protected</strong> <strong>void</strong> testDocument(String fileName) throws Exception {
+<a name="51" href="#51">51</a>          Document document = getDocument(fileName);
+<a name="52" href="#52">52</a>          testDocument(document);
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>protected</strong> <strong>void</strong> testDocument(Document document) throws Exception {
+<a name="56" href="#56">56</a>          assertEquals(document.getNodeTypeName(), <span class="string">"Document"</span>);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          DocumentType docType = document.getDocType();
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>if</strong> (docType != <strong>null</strong>) {
+<a name="61" href="#61">61</a>              assertEquals(docType.getNodeTypeName(), <span class="string">"DocumentType"</span>);
+<a name="62" href="#62">62</a>          }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          testElement(document.getRootElement());
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <strong>protected</strong> <strong>void</strong> testElement(Element element) {
+<a name="68" href="#68">68</a>          assertEquals(element.getNodeTypeName(), <span class="string">"Element"</span>);
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          <strong>for</strong> (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+<a name="71" href="#71">71</a>              Attribute attribute = (Attribute) iter.next();
+<a name="72" href="#72">72</a>              assertEquals(attribute.getNodeTypeName(), <span class="string">"Attribute"</span>);
+<a name="73" href="#73">73</a>          }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>          <strong>for</strong> (Iterator iter = element.nodeIterator(); iter.hasNext();) {
+<a name="76" href="#76">76</a>              Node node = (Node) iter.next();
+<a name="77" href="#77">77</a>              String nodeTypeName = node.getNodeTypeName();
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>              <strong>if</strong> (node instanceof Attribute) {
+<a name="80" href="#80">80</a>                  assertEquals(nodeTypeName, <span class="string">"Attribute"</span>);
+<a name="81" href="#81">81</a>              } <strong>else</strong> <strong>if</strong> (node instanceof CDATA) {
+<a name="82" href="#82">82</a>                  assertEquals(nodeTypeName, <span class="string">"CDATA"</span>);
+<a name="83" href="#83">83</a>              } <strong>else</strong> <strong>if</strong> (node instanceof Comment) {
+<a name="84" href="#84">84</a>                  assertEquals(nodeTypeName, <span class="string">"Comment"</span>);
+<a name="85" href="#85">85</a>              } <strong>else</strong> <strong>if</strong> (node instanceof Element) {
+<a name="86" href="#86">86</a>                  assertEquals(nodeTypeName, <span class="string">"Element"</span>);
+<a name="87" href="#87">87</a>                  testElement((Element) node);
+<a name="88" href="#88">88</a>              } <strong>else</strong> <strong>if</strong> (node instanceof Entity) {
+<a name="89" href="#89">89</a>                  assertEquals(nodeTypeName, <span class="string">"Entity"</span>);
+<a name="90" href="#90">90</a>              } <strong>else</strong> <strong>if</strong> (node instanceof Element) {
+<a name="91" href="#91">91</a>                  assertEquals(nodeTypeName, <span class="string">"Element"</span>);
+<a name="92" href="#92">92</a>              } <strong>else</strong> <strong>if</strong> (node instanceof Namespace) {
+<a name="93" href="#93">93</a>                  assertEquals(nodeTypeName, <span class="string">"Namespace"</span>);
+<a name="94" href="#94">94</a>              } <strong>else</strong> <strong>if</strong> (node instanceof ProcessingInstruction) {
+<a name="95" href="#95">95</a>                  assertEquals(nodeTypeName, <span class="string">"ProcessingInstruction"</span>);
+<a name="96" href="#96">96</a>              } <strong>else</strong> <strong>if</strong> (node instanceof Text) {
+<a name="97" href="#97">97</a>                  assertEquals(nodeTypeName, <span class="string">"Text"</span>);
+<a name="98" href="#98">98</a>              } <strong>else</strong> {
+<a name="99" href="#99">99</a>                  assertTrue(<span class="string">"Invalid node type: "</span> + nodeTypeName + <span class="string">" for node: "</span>
+<a name="100" href="#100">100</a>                         + node, false);
+<a name="101" href="#101">101</a>             }
+<a name="102" href="#102">102</a>         }
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a> <em class="comment">/*</em>
+<a name="107" href="#107">107</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="108" href="#108">108</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="109" href="#109">109</a> <em class="comment"> * following conditions are met:</em>
+<a name="110" href="#110">110</a> <em class="comment"> * </em>
+<a name="111" href="#111">111</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="112" href="#112">112</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="113" href="#113">113</a> <em class="comment"> * </em>
+<a name="114" href="#114">114</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="115" href="#115">115</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="116" href="#116">116</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="117" href="#117">117</a> <em class="comment"> * </em>
+<a name="118" href="#118">118</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="119" href="#119">119</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="120" href="#120">120</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="121" href="#121">121</a> <em class="comment"> * </em>
+<a name="122" href="#122">122</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="123" href="#123">123</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="124" href="#124">124</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="125" href="#125">125</a> <em class="comment"> * </em>
+<a name="126" href="#126">126</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="129" href="#129">129</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="130" href="#130">130</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="131" href="#131">131</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="132" href="#132">132</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="133" href="#133">133</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="134" href="#134">134</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="135" href="#135">135</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="136" href="#136">136</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="137" href="#137">137</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="138" href="#138">138</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="139" href="#139">139</a> <em class="comment"> * </em>
+<a name="140" href="#140">140</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="141" href="#141">141</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/NormalizeTest.html b/docs/xref-test/org/dom4j/NormalizeTest.html
new file mode 100644
index 0000000..127b7b5
--- /dev/null
+++ b/docs/xref-test/org/dom4j/NormalizeTest.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NormalizeTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * A test harness for the normalize() method</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/NormalizeTest.html">NormalizeTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="19" href="#19">19</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="20" href="#20">20</a>          TestRunner.run(NormalizeTest.<strong>class</strong>);
+<a name="21" href="#21">21</a>      }
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <em class="comment">// Test case(s)</em>
+<a name="24" href="#24">24</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>void</strong> testNormalize() throws Exception {
+<a name="26" href="#26">26</a>          String text = document.asXML();
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>          document.normalize();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>          String normalizedText = document.asXML();
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          log(<span class="string">"Initial: "</span> + text);
+<a name="33" href="#33">33</a>          log(<span class="string">"Normalized: "</span> + normalizedText);
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          String value = document.valueOf(<span class="string">"/dummy/full"</span>);
+<a name="36" href="#36">36</a>          assertEquals(<span class="string">"Should not trim text"</span>, <span class="string">" node "</span>, value);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em class="comment">// Implementation methods</em>
+<a name="40" href="#40">40</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="41" href="#41">41</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="42" href="#42">42</a>          <strong>super</strong>.setUp();
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          String xml = <span class="string">"<dummy> <full> node </full> with text "</span>
+<a name="45" href="#45">45</a>                  + <span class="string">"<and>another node</and> </dummy>"</span>;
+<a name="46" href="#46">46</a>          document = DocumentHelper.parseText(xml);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>  <em class="comment">/*</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * following conditions are met:</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/NullAttributesTest.html b/docs/xref-test/org/dom4j/NullAttributesTest.html
new file mode 100644
index 0000000..574b9b1
--- /dev/null
+++ b/docs/xref-test/org/dom4j/NullAttributesTest.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NullAttributesTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * Tests the use of null attribute values</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/NullAttributesTest.html">NullAttributesTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="19" href="#19">19</a>      <strong>protected</strong> DocumentFactory factory = DocumentFactory.getInstance();
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>      <strong>protected</strong> Document document = factory.createDocument();
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <strong>protected</strong> Element element = document.addElement(<span class="string">"root"</span>);
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="26" href="#26">26</a>          TestRunner.run(NullAttributesTest.<strong>class</strong>);
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em class="comment">// Test case(s)</em>
+<a name="30" href="#30">30</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>void</strong> testStringNames() throws Exception {
+<a name="32" href="#32">32</a>          element.addAttribute(<span class="string">"foo"</span>, <strong>null</strong>);
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>          Attribute attribute = element.attribute(<span class="string">"foo"</span>);
+<a name="35" href="#35">35</a>          assertTrue(attribute == <strong>null</strong>);
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>          element.addAttribute(<span class="string">"foo"</span>, <span class="string">"123"</span>);
+<a name="38" href="#38">38</a>          attribute = element.attribute(<span class="string">"foo"</span>);
+<a name="39" href="#39">39</a>          assertTrue(attribute != <strong>null</strong>);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          element.addAttribute(<span class="string">"foo"</span>, <strong>null</strong>);
+<a name="42" href="#42">42</a>          attribute = element.attribute(<span class="string">"foo"</span>);
+<a name="43" href="#43">43</a>          assertTrue(attribute == <strong>null</strong>);
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> testQNames() throws Exception {
+<a name="47" href="#47">47</a>          QName bar = QName.get(<span class="string">"bar"</span>);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          element.addAttribute(bar, <strong>null</strong>);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          Attribute attribute = element.attribute(bar);
+<a name="52" href="#52">52</a>          assertTrue(attribute == <strong>null</strong>);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          element.addAttribute(bar, <span class="string">"123"</span>);
+<a name="55" href="#55">55</a>          attribute = element.attribute(bar);
+<a name="56" href="#56">56</a>          assertTrue(attribute != <strong>null</strong>);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          element.addAttribute(bar, <strong>null</strong>);
+<a name="59" href="#59">59</a>          attribute = element.attribute(bar);
+<a name="60" href="#60">60</a>          assertTrue(attribute == <strong>null</strong>);
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> testAttributes() throws Exception {
+<a name="64" href="#64">64</a>          Attribute attribute = factory.createAttribute(element, <span class="string">"v"</span>, <strong>null</strong>);
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          assertTrue(attribute.getText() == <strong>null</strong>);
+<a name="67" href="#67">67</a>          assertTrue(attribute.getValue() == <strong>null</strong>);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          element.add(attribute);
+<a name="70" href="#70">70</a>          attribute = element.attribute(<span class="string">"v"</span>);
+<a name="71" href="#71">71</a>          assertTrue(attribute == <strong>null</strong>);
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          attribute = factory.createAttribute(element, <span class="string">"v"</span>, <span class="string">"123"</span>);
+<a name="74" href="#74">74</a>          element.add(attribute);
+<a name="75" href="#75">75</a>          attribute = element.attribute(<span class="string">"v"</span>);
+<a name="76" href="#76">76</a>          assertTrue(attribute != <strong>null</strong>);
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          attribute = factory.createAttribute(element, <span class="string">"v"</span>, <strong>null</strong>);
+<a name="79" href="#79">79</a>          element.add(attribute);
+<a name="80" href="#80">80</a>          attribute = element.attribute(<span class="string">"v"</span>);
+<a name="81" href="#81">81</a>          assertTrue(attribute == <strong>null</strong>);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>  <em class="comment">/*</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * following conditions are met:</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="102" href="#102">102</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="103" href="#103">103</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="104" href="#104">104</a> <em class="comment"> * </em>
+<a name="105" href="#105">105</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="106" href="#106">106</a> <em class="comment"> * </em>
+<a name="107" href="#107">107</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="108" href="#108">108</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="109" href="#109">109</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="110" href="#110">110</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="111" href="#111">111</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="112" href="#112">112</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="113" href="#113">113</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="114" href="#114">114</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="115" href="#115">115</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="116" href="#116">116</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="117" href="#117">117</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="118" href="#118">118</a> <em class="comment"> * </em>
+<a name="119" href="#119">119</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="120" href="#120">120</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/ParentTest.html b/docs/xref-test/org/dom4j/ParentTest.html
new file mode 100644
index 0000000..7e80561
--- /dev/null
+++ b/docs/xref-test/org/dom4j/ParentTest.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ParentTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * A test harness to test the parent relationship and use of the {@link</em>
+<a name="17" href="#17">17</a>  <em> * Node#asXPathResult} method.</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/ParentTest.html">ParentTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="23" href="#23">23</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="24" href="#24">24</a>          TestRunner.run(ParentTest.<strong>class</strong>);
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em class="comment">// Test case(s)</em>
+<a name="28" href="#28">28</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>void</strong> testDocument() throws Exception {
+<a name="30" href="#30">30</a>          testParentRelationship(document.getRootElement());
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>void</strong> testFragment() throws Exception {
+<a name="34" href="#34">34</a>          DocumentFactory factory = <strong>new</strong> DocumentFactory();
+<a name="35" href="#35">35</a>          Element root = factory.createElement(<span class="string">"root"</span>);
+<a name="36" href="#36">36</a>          Element first = root.addElement(<span class="string">"child"</span>);
+<a name="37" href="#37">37</a>          Element second = root.addElement(<span class="string">"child"</span>);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          testXPathNode(root, first);
+<a name="40" href="#40">40</a>          testXPathNode(root, second);
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em class="comment">// Implementation methods</em>
+<a name="44" href="#44">44</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="45" href="#45">45</a>      <strong>protected</strong> <strong>void</strong> testParentRelationship(Element parent, List content) {
+<a name="46" href="#46">46</a>          <strong>for</strong> (Iterator iter = content.iterator(); iter.hasNext();) {
+<a name="47" href="#47">47</a>              Object object = iter.next();
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>              <strong>if</strong> (object instanceof Element) {
+<a name="50" href="#50">50</a>                  testParentRelationship((Element) object);
+<a name="51" href="#51">51</a>              }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>              testXPathNode(parent, (Node) object);
+<a name="54" href="#54">54</a>          }
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>protected</strong> <strong>void</strong> testParentRelationship(Element element) {
+<a name="58" href="#58">58</a>          testParentRelationship(element, element.attributes());
+<a name="59" href="#59">59</a>          testParentRelationship(element, element.content());
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>protected</strong> <strong>void</strong> testXPathNode(Element parent, Node node) {
+<a name="63" href="#63">63</a>          <strong>if</strong> (node.supportsParent()) {
+<a name="64" href="#64">64</a>              log(<span class="string">"Node: "</span> + node);
+<a name="65" href="#65">65</a>              log(<span class="string">"Parent: "</span> + parent);
+<a name="66" href="#66">66</a>              log(<span class="string">"getParent(): "</span> + node.getParent());
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>              assertTrue(<span class="string">"getParent() returns parent for: "</span> + node, node
+<a name="69" href="#69">69</a>                      .getParent() == parent);
+<a name="70" href="#70">70</a>          } <strong>else</strong> {
+<a name="71" href="#71">71</a>              <em class="comment">// lets create an XPath node</em>
+<a name="72" href="#72">72</a>              Node xpathNode = node.asXPathResult(parent);
+<a name="73" href="#73">73</a>              assertTrue(<span class="string">"XPath Node supports parent for: "</span> + xpathNode,
+<a name="74" href="#74">74</a>                      xpathNode.supportsParent());
+<a name="75" href="#75">75</a>              assertTrue(<span class="string">"getParent() returns parent for: "</span> + xpathNode,
+<a name="76" href="#76">76</a>                      xpathNode.getParent() == parent);
+<a name="77" href="#77">77</a>          }
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>  <em class="comment">/*</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * following conditions are met:</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="102" href="#102">102</a> <em class="comment"> * </em>
+<a name="103" href="#103">103</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="104" href="#104">104</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="105" href="#105">105</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="106" href="#106">106</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="108" href="#108">108</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="109" href="#109">109</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="110" href="#110">110</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="111" href="#111">111</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="112" href="#112">112</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="113" href="#113">113</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="114" href="#114">114</a> <em class="comment"> * </em>
+<a name="115" href="#115">115</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="116" href="#116">116</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/ParseTextTest.html b/docs/xref-test/org/dom4j/ParseTextTest.html
new file mode 100644
index 0000000..fefe11d
--- /dev/null
+++ b/docs/xref-test/org/dom4j/ParseTextTest.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ParseTextTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * Tests the {@link DocumentHelper#parseText(String)}method.</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/ParseTextTest.html">ParseTextTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="19" href="#19">19</a>      <strong>protected</strong> String xmlText = 
+<a name="20" href="#20">20</a>          <span class="string">"<root><author name='James'><location>Paris</location></author></root>"</span>;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="23" href="#23">23</a>          TestRunner.run(ParseTextTest.<strong>class</strong>);
+<a name="24" href="#24">24</a>      }
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em class="comment">// Test case(s)</em>
+<a name="27" href="#27">27</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>void</strong> testDocument() throws Exception {
+<a name="29" href="#29">29</a>          assertTrue(<span class="string">"Document is not null"</span>, document != <strong>null</strong>);
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>          Element root = document.getRootElement();
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>          assertTrue(<span class="string">"Root element is not null"</span>, root != <strong>null</strong>);
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          Element author = root.element(<span class="string">"author"</span>);
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>          assertTrue(<span class="string">"Author element is not null"</span>, author != <strong>null</strong>);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          String name = author.attributeValue(<span class="string">"name"</span>);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          assertEquals(<span class="string">"Name attribute matches"</span>, name, <span class="string">"James"</span>);
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          String location = document.valueOf(<span class="string">"/root/author/location"</span>);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          assertEquals(<span class="string">"Location element matches"</span>, location, <span class="string">"Paris"</span>);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <em class="comment">// Implementation methods</em>
+<a name="49" href="#49">49</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="50" href="#50">50</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="51" href="#51">51</a>          <strong>super</strong>.setUp();
+<a name="52" href="#52">52</a>          document = DocumentHelper.parseText(xmlText);
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>  <em class="comment">/*</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * following conditions are met:</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="91" href="#91">91</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/ProcessingInstructionTest.html b/docs/xref-test/org/dom4j/ProcessingInstructionTest.html
new file mode 100644
index 0000000..c18a9a7
--- /dev/null
+++ b/docs/xref-test/org/dom4j/ProcessingInstructionTest.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ProcessingInstructionTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Map;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * DOCUMENT ME!</em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author kralik</em>
+<a name="18" href="#18">18</a>  <em> * @author Maarten Coene</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/ProcessingInstructionTest.html">ProcessingInstructionTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="21" href="#21">21</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="22" href="#22">22</a>          TestRunner.run(ProcessingInstructionTest.<strong>class</strong>);
+<a name="23" href="#23">23</a>      }
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>void</strong> testParseValues() {
+<a name="26" href="#26">26</a>          String data = <span class="string">" abc='123' def=\"2!=3\" ghi=' 4 = '"</span>;
+<a name="27" href="#27">27</a>          ProcessingInstruction pi = DocumentHelper.createProcessingInstruction(
+<a name="28" href="#28">28</a>                  <span class="string">"pi"</span>, data);
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>          Map values = pi.getValues();
+<a name="31" href="#31">31</a>          assertEquals(3, values.size());
+<a name="32" href="#32">32</a>          assertEquals(<span class="string">"123"</span>, pi.getValue(<span class="string">"abc"</span>));
+<a name="33" href="#33">33</a>          assertEquals(<span class="string">"2!=3"</span>, pi.getValue(<span class="string">"def"</span>));
+<a name="34" href="#34">34</a>          assertEquals(<span class="string">" 4 = "</span>, pi.getValue(<span class="string">"ghi"</span>));
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <strong>void</strong> testBug787428() {
+<a name="38" href="#38">38</a>          String data = <span class="string">"xpath=\"/abc/cde[@id='qqq']\""</span>;
+<a name="39" href="#39">39</a>          ProcessingInstruction pi = DocumentHelper.createProcessingInstruction(
+<a name="40" href="#40">40</a>                  <span class="string">"merge"</span>, data);
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          assertEquals(<span class="string">"/abc/cde[@id='qqq']"</span>, pi.getValue(<span class="string">"xpath"</span>));
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>  <em class="comment">/*</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * following conditions are met:</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * </em>
+<a name="51" href="#51">51</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/RoundTripTest.html b/docs/xref-test/org/dom4j/RoundTripTest.html
new file mode 100644
index 0000000..007d38f
--- /dev/null
+++ b/docs/xref-test/org/dom4j/RoundTripTest.html
@@ -0,0 +1,241 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RoundTripTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringReader;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.StringWriter;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> javax.xml.transform.Transformer;
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.transform.TransformerFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> javax.xml.transform.stream.StreamResult;
+<a name="18" href="#18">18</a>  <strong>import</strong> javax.xml.transform.stream.StreamSource;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.io.DOMReader;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.io.DOMWriter;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.io.DocumentResult;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.io.DocumentSource;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.io.SAXContentHandler;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.io.SAXWriter;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>  <em>/**<em>*</em></em>
+<a name="30" href="#30">30</a>  <em> * A test harness to test the the round trips of Documents.</em>
+<a name="31" href="#31">31</a>  <em> * </em>
+<a name="32" href="#32">32</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="33" href="#33">33</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="34" href="#34">34</a>  <em> */</em>
+<a name="35" href="#35">35</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/RoundTripTest.html">RoundTripTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="36" href="#36">36</a>      <strong>protected</strong> String[] testDocuments = {<span class="string">"/xml/test/encode.xml"</span>,
+<a name="37" href="#37">37</a>              <span class="string">"/xml/fibo.xml"</span>, <span class="string">"/xml/test/schema/personal-prefix.xsd"</span>,
+<a name="38" href="#38">38</a>              <span class="string">"/xml/test/soap2.xml"</span>, <span class="string">"/xml/test/test_schema.xml"</span>};
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="41" href="#41">41</a>          TestRunner.run(RoundTripTest.<strong>class</strong>);
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em class="comment">// Test case(s)</em>
+<a name="45" href="#45">45</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> testTextRoundTrip() throws Exception {
+<a name="47" href="#47">47</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = testDocuments.length; i < size; i++) {
+<a name="48" href="#48">48</a>              Document doc = getDocument(testDocuments[i]);
+<a name="49" href="#49">49</a>              roundTripText(doc);
+<a name="50" href="#50">50</a>          }
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <strong>void</strong> testSAXRoundTrip() throws Exception {
+<a name="54" href="#54">54</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = testDocuments.length; i < size; i++) {
+<a name="55" href="#55">55</a>              Document doc = getDocument(testDocuments[i]);
+<a name="56" href="#56">56</a>              roundTripSAX(doc);
+<a name="57" href="#57">57</a>          }
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> <strong>void</strong> testDOMRoundTrip() throws Exception {
+<a name="61" href="#61">61</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = testDocuments.length; i < size; i++) {
+<a name="62" href="#62">62</a>              Document doc = getDocument(testDocuments[i]);
+<a name="63" href="#63">63</a>              roundTripDOM(doc);
+<a name="64" href="#64">64</a>          }
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <strong>public</strong> <strong>void</strong> testJAXPRoundTrip() throws Exception {
+<a name="68" href="#68">68</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = testDocuments.length; i < size; i++) {
+<a name="69" href="#69">69</a>              Document doc = getDocument(testDocuments[i]);
+<a name="70" href="#70">70</a>              roundTripJAXP(doc);
+<a name="71" href="#71">71</a>          }
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>public</strong> <strong>void</strong> testFullRoundTrip() throws Exception {
+<a name="75" href="#75">75</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = testDocuments.length; i < size; i++) {
+<a name="76" href="#76">76</a>              Document doc = getDocument(testDocuments[i]);
+<a name="77" href="#77">77</a>              roundTripFull(doc);
+<a name="78" href="#78">78</a>          }
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>void</strong> testRoundTrip() throws Exception {
+<a name="82" href="#82">82</a>          Document document = getDocument(<span class="string">"/xml/xmlspec.xml"</span>);
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          <em class="comment">// Document doc1 = roundTripText( document );</em>
+<a name="85" href="#85">85</a>          Document doc1 = roundTripSAX(document);
+<a name="86" href="#86">86</a>          Document doc2 = roundTripDOM(doc1);
+<a name="87" href="#87">87</a>          Document doc3 = roundTripSAX(doc2);
+<a name="88" href="#88">88</a>          Document doc4 = roundTripText(doc3);
+<a name="89" href="#89">89</a>          Document doc5 = roundTripDOM(doc4);
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>          <em class="comment">// Document doc5 = roundTripDOM( doc3 );</em>
+<a name="92" href="#92">92</a>          assertDocumentsEqual(document, doc5);
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <em class="comment">// Implementation methods</em>
+<a name="96" href="#96">96</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="97" href="#97">97</a>      <strong>protected</strong> Document roundTripDOM(Document document) throws Exception {
+<a name="98" href="#98">98</a>          <em class="comment">// now lets make a DOM object</em>
+<a name="99" href="#99">99</a>          DOMWriter domWriter = <strong>new</strong> DOMWriter();
+<a name="100" href="#100">100</a>         org.w3c.dom.Document domDocument = domWriter.write(document);
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         <em class="comment">// now lets read it back as a DOM4J object</em>
+<a name="103" href="#103">103</a>         DOMReader domReader = <strong>new</strong> DOMReader();
+<a name="104" href="#104">104</a>         Document newDocument = domReader.read(domDocument);
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         <em class="comment">// lets ensure names are same</em>
+<a name="107" href="#107">107</a>         newDocument.setName(document.getName());
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>         assertDocumentsEqual(document, newDocument);
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         <strong>return</strong> newDocument;
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>protected</strong> Document roundTripJAXP(Document document) throws Exception {
+<a name="115" href="#115">115</a>         <em class="comment">// output the document to a text buffer via JAXP</em>
+<a name="116" href="#116">116</a>         TransformerFactory factory = TransformerFactory.newInstance();
+<a name="117" href="#117">117</a>         Transformer transformer = factory.newTransformer();
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="120" href="#120">120</a>         StreamResult streamResult = <strong>new</strong> StreamResult(buffer);
+<a name="121" href="#121">121</a>         DocumentSource documentSource = <strong>new</strong> DocumentSource(document);
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>         transformer.transform(documentSource, streamResult);
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>         <em class="comment">// now lets parse it back again via JAXP</em>
+<a name="126" href="#126">126</a>         DocumentResult documentResult = <strong>new</strong> DocumentResult();
+<a name="127" href="#127">127</a>         StreamSource streamSource = <strong>new</strong> StreamSource(<strong>new</strong> StringReader(buffer
+<a name="128" href="#128">128</a>                 .toString()));
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>         transformer.transform(streamSource, documentResult);
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         Document newDocument = documentResult.getDocument();
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>         <em class="comment">// lets ensure names are same</em>
+<a name="135" href="#135">135</a>         newDocument.setName(document.getName());
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>         assertDocumentsEqual(document, newDocument);
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>         <strong>return</strong> newDocument;
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>     <strong>protected</strong> Document roundTripSAX(Document document) throws Exception {
+<a name="143" href="#143">143</a>         <em class="comment">// now lets write it back as SAX events to</em>
+<a name="144" href="#144">144</a>         <em class="comment">// a SAX ContentHandler which should build up a new document</em>
+<a name="145" href="#145">145</a>         SAXContentHandler contentHandler = <strong>new</strong> SAXContentHandler();
+<a name="146" href="#146">146</a>         SAXWriter saxWriter = <strong>new</strong> SAXWriter(contentHandler, contentHandler,
+<a name="147" href="#147">147</a>                 contentHandler);
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>         saxWriter.write(document);
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>         Document newDocument = contentHandler.getDocument();
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>         <em class="comment">// lets ensure names are same</em>
+<a name="154" href="#154">154</a>         newDocument.setName(document.getName());
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>         assertDocumentsEqual(document, newDocument);
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>         <strong>return</strong> newDocument;
+<a name="159" href="#159">159</a>     }
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>     <strong>protected</strong> Document roundTripText(Document document) throws Exception {
+<a name="162" href="#162">162</a>         StringWriter out = <strong>new</strong> StringWriter();
+<a name="163" href="#163">163</a>         XMLWriter xmlWriter = <strong>new</strong> XMLWriter(out);
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>         xmlWriter.write(document);
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>         <em class="comment">// now lets read it back</em>
+<a name="168" href="#168">168</a>         String xml = out.toString();
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>         StringReader in = <strong>new</strong> StringReader(xml);
+<a name="171" href="#171">171</a>         SAXReader reader = <strong>new</strong> SAXReader();
+<a name="172" href="#172">172</a>         Document newDocument = reader.read(in);
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>         <em class="comment">// lets ensure names are same</em>
+<a name="175" href="#175">175</a>         newDocument.setName(document.getName());
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>         assertDocumentsEqual(document, newDocument);
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         <strong>return</strong> newDocument;
+<a name="180" href="#180">180</a>     }
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>     <strong>protected</strong> Document roundTripFull(Document document) throws Exception {
+<a name="183" href="#183">183</a>         Document doc2 = roundTripDOM(document);
+<a name="184" href="#184">184</a>         Document doc3 = roundTripSAX(doc2);
+<a name="185" href="#185">185</a>         Document doc4 = roundTripText(doc3);
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>         assertDocumentsEqual(document, doc4);
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>         <strong>return</strong> doc4;
+<a name="190" href="#190">190</a>     }
+<a name="191" href="#191">191</a> }
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a> <em class="comment">/*</em>
+<a name="194" href="#194">194</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="195" href="#195">195</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="196" href="#196">196</a> <em class="comment"> * following conditions are met:</em>
+<a name="197" href="#197">197</a> <em class="comment"> * </em>
+<a name="198" href="#198">198</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="199" href="#199">199</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="200" href="#200">200</a> <em class="comment"> * </em>
+<a name="201" href="#201">201</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="202" href="#202">202</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="203" href="#203">203</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="204" href="#204">204</a> <em class="comment"> * </em>
+<a name="205" href="#205">205</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="206" href="#206">206</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="207" href="#207">207</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="208" href="#208">208</a> <em class="comment"> * </em>
+<a name="209" href="#209">209</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="210" href="#210">210</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="211" href="#211">211</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="212" href="#212">212</a> <em class="comment"> * </em>
+<a name="213" href="#213">213</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="214" href="#214">214</a> <em class="comment"> * </em>
+<a name="215" href="#215">215</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="216" href="#216">216</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="217" href="#217">217</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="218" href="#218">218</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="219" href="#219">219</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="220" href="#220">220</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="221" href="#221">221</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="222" href="#222">222</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="223" href="#223">223</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="224" href="#224">224</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="225" href="#225">225</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="226" href="#226">226</a> <em class="comment"> * </em>
+<a name="227" href="#227">227</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="228" href="#228">228</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/SAXContentHandlerTest.html b/docs/xref-test/org/dom4j/SAXContentHandlerTest.html
new file mode 100644
index 0000000..6a195b0
--- /dev/null
+++ b/docs/xref-test/org/dom4j/SAXContentHandlerTest.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXContentHandlerTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> javax.xml.parsers.SAXParser;
+<a name="15" href="#15">15</a>  <strong>import</strong> javax.xml.parsers.SAXParserFactory;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.io.SAXContentHandler;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/SAXContentHandlerTest.html">SAXContentHandlerTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="22" href="#22">22</a>      <strong>private</strong> XMLReader xmlReader;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>protected</strong> String[] testDocuments = {<span class="string">"/xml/test/test_schema.xml"</span>,
+<a name="25" href="#25">25</a>              <span class="string">"/xml/test/encode.xml"</span>, <span class="string">"/xml/fibo.xml"</span>,
+<a name="26" href="#26">26</a>              <span class="string">"/xml/test/schema/personal-prefix.xsd"</span>, <span class="string">"/xml/test/soap2.xml"</span>};
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="29" href="#29">29</a>          TestRunner.run(SAXContentHandlerTest.<strong>class</strong>);
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="33" href="#33">33</a>          <strong>super</strong>.setUp();
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          SAXParserFactory spf = SAXParserFactory.newInstance();
+<a name="36" href="#36">36</a>          spf.setNamespaceAware(<strong>true</strong>);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          SAXParser parser = spf.newSAXParser();
+<a name="39" href="#39">39</a>          xmlReader = parser.getXMLReader();
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> testSAXContentHandler() throws Exception {
+<a name="43" href="#43">43</a>          SAXContentHandler contentHandler = <strong>new</strong> SAXContentHandler();
+<a name="44" href="#44">44</a>          xmlReader.setContentHandler(contentHandler);
+<a name="45" href="#45">45</a>          xmlReader.setDTDHandler(contentHandler);
+<a name="46" href="#46">46</a>          xmlReader.setProperty(<span class="string">"http://xml.org/sax/properties/lexical-handler"</span>,
+<a name="47" href="#47">47</a>                  contentHandler);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = testDocuments.length; i < size; i++) {
+<a name="50" href="#50">50</a>              Document docFromSAXReader = getDocument(testDocuments[i]);
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>              xmlReader.parse(getFile(testDocuments[i]).toString());
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>              Document docFromSAXContentHandler = contentHandler.getDocument();
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>              docFromSAXContentHandler.setName(docFromSAXReader.getName());
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>              assertDocumentsEqual(docFromSAXReader, docFromSAXContentHandler);
+<a name="59" href="#59">59</a>              assertEquals(docFromSAXReader.asXML(), docFromSAXContentHandler
+<a name="60" href="#60">60</a>                      .asXML());
+<a name="61" href="#61">61</a>          }
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <strong>void</strong> testBug926713() throws Exception {
+<a name="65" href="#65">65</a>          Document doc = getDocument(<span class="string">"/xml/test/cdata.xml"</span>);
+<a name="66" href="#66">66</a>          Element foo = doc.getRootElement();
+<a name="67" href="#67">67</a>          Element bar = foo.element(<span class="string">"bar"</span>);
+<a name="68" href="#68">68</a>          List content = bar.content();
+<a name="69" href="#69">69</a>          assertEquals(3, content.size());
+<a name="70" href="#70">70</a>          assertEquals(Node.TEXT_NODE, ((Node) content.get(0)).getNodeType());
+<a name="71" href="#71">71</a>          assertEquals(Node.CDATA_SECTION_NODE, ((Node) content.get(1))
+<a name="72" href="#72">72</a>                  .getNodeType());
+<a name="73" href="#73">73</a>          assertEquals(Node.TEXT_NODE, ((Node) content.get(2)).getNodeType());
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>  <em class="comment">/*</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * following conditions are met:</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="98" href="#98">98</a>  <em class="comment"> * </em>
+<a name="99" href="#99">99</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="100" href="#100">100</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="103" href="#103">103</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="104" href="#104">104</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="105" href="#105">105</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="106" href="#106">106</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="107" href="#107">107</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="108" href="#108">108</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="109" href="#109">109</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="110" href="#110">110</a> <em class="comment"> * </em>
+<a name="111" href="#111">111</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="112" href="#112">112</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/SerializeTest.html b/docs/xref-test/org/dom4j/SerializeTest.html
new file mode 100644
index 0000000..6be9b03
--- /dev/null
+++ b/docs/xref-test/org/dom4j/SerializeTest.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SerializeTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.ByteArrayInputStream;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.ByteArrayOutputStream;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.ObjectInputStream;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.ObjectOutputStream;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.HashMap;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.util.Map;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * Tests that a dom4j document is Serializable</em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/SerializeTest.html">SerializeTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="29" href="#29">29</a>          TestRunner.run(SerializeTest.<strong>class</strong>);
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em class="comment">// Test case(s)</em>
+<a name="33" href="#33">33</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>void</strong> testSerializePeriodicTable() throws Exception {
+<a name="35" href="#35">35</a>          testSerialize(<span class="string">"/xml/periodic_table.xml"</span>);
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <strong>void</strong> testSerializeMuchAdo() throws Exception {
+<a name="39" href="#39">39</a>          testSerialize(<span class="string">"/xml/much_ado.xml"</span>);
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> testSerializeTestSchema() throws Exception {
+<a name="43" href="#43">43</a>          testSerialize(<span class="string">"/xml/test/schema/personal.xsd"</span>);
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> testSerializeXPath() throws Exception {
+<a name="47" href="#47">47</a>          Map uris = <strong>new</strong> HashMap();
+<a name="48" href="#48">48</a>          uris.put(<span class="string">"SOAP-ENV"</span>, <span class="string">"http://schemas.xmlsoap.org/soap/envelope/"</span>);
+<a name="49" href="#49">49</a>          uris.put(<span class="string">"m"</span>, <span class="string">"urn:xmethodsBabelFish"</span>);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          DocumentFactory factory = <strong>new</strong> DocumentFactory();
+<a name="52" href="#52">52</a>          factory.setXPathNamespaceURIs(uris);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          <em class="comment">// now parse a document using my factory</em>
+<a name="55" href="#55">55</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="56" href="#56">56</a>          reader.setDocumentFactory(factory);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          Document doc = getDocument(<span class="string">"/xml/soap.xml"</span>, reader);
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <em class="comment">// now lets use the prefixes</em>
+<a name="61" href="#61">61</a>          String expr = <span class="string">"/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish"</span>;
+<a name="62" href="#62">62</a>          Node element = doc.selectSingleNode(expr);
+<a name="63" href="#63">63</a>          assertTrue(<span class="string">"Found valid element"</span>, element != <strong>null</strong>);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          XPath xpath = factory
+<a name="66" href="#66">66</a>                  .createXPath(<span class="string">"/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish"</span>);
+<a name="67" href="#67">67</a>          element = xpath.selectSingleNode(doc);
+<a name="68" href="#68">68</a>          assertTrue(<span class="string">"Found valid element"</span>, element != <strong>null</strong>);
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          <em class="comment">// now serialize</em>
+<a name="71" href="#71">71</a>          ByteArrayOutputStream bytesOut = <strong>new</strong> ByteArrayOutputStream();
+<a name="72" href="#72">72</a>          ObjectOutputStream out = <strong>new</strong> ObjectOutputStream(bytesOut);
+<a name="73" href="#73">73</a>          out.writeObject(xpath);
+<a name="74" href="#74">74</a>          out.close();
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          byte[] data = bytesOut.toByteArray();
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          ObjectInputStream in = <strong>new</strong> ObjectInputStream(<strong>new</strong> ByteArrayInputStream(
+<a name="79" href="#79">79</a>                  data));
+<a name="80" href="#80">80</a>          XPath xpath2 = (XPath) in.readObject();
+<a name="81" href="#81">81</a>          in.close();
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>          element = xpath2.selectSingleNode(doc);
+<a name="84" href="#84">84</a>          assertTrue(<span class="string">"Found valid element"</span>, element != <strong>null</strong>);
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <em class="comment">// Implementation methods</em>
+<a name="88" href="#88">88</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="89" href="#89">89</a>      <strong>protected</strong> <strong>void</strong> testSerialize(String xmlFile) throws Exception {
+<a name="90" href="#90">90</a>          Document document = getDocument(xmlFile);
+<a name="91" href="#91">91</a>          String text = document.asXML();
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          ByteArrayOutputStream bytesOut = <strong>new</strong> ByteArrayOutputStream();
+<a name="94" href="#94">94</a>          ObjectOutputStream out = <strong>new</strong> ObjectOutputStream(bytesOut);
+<a name="95" href="#95">95</a>          out.writeObject(document);
+<a name="96" href="#96">96</a>          out.close();
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          byte[] data = bytesOut.toByteArray();
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>         ObjectInputStream in = <strong>new</strong> ObjectInputStream(<strong>new</strong> ByteArrayInputStream(
+<a name="101" href="#101">101</a>                 data));
+<a name="102" href="#102">102</a>         Document doc2 = (Document) in.readObject();
+<a name="103" href="#103">103</a>         in.close();
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>         String text2 = doc2.asXML();
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>         assertEquals(<span class="string">"Documents text are equal"</span>, text, text2);
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>         assertTrue(<span class="string">"Read back document after serialization"</span>, (doc2 != <strong>null</strong>)
+<a name="110" href="#110">110</a>                 && doc2 instanceof Document);
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         assertDocumentsEqual(document, (Document) doc2);
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>         <em class="comment">// now lets try add something to the document...</em>
+<a name="115" href="#115">115</a>         doc2.getRootElement().addElement(<span class="string">"new"</span>);
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a> <em class="comment">/*</em>
+<a name="120" href="#120">120</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="121" href="#121">121</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="122" href="#122">122</a> <em class="comment"> * following conditions are met:</em>
+<a name="123" href="#123">123</a> <em class="comment"> * </em>
+<a name="124" href="#124">124</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="125" href="#125">125</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="126" href="#126">126</a> <em class="comment"> * </em>
+<a name="127" href="#127">127</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="128" href="#128">128</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="129" href="#129">129</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="132" href="#132">132</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="133" href="#133">133</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="136" href="#136">136</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="137" href="#137">137</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="140" href="#140">140</a> <em class="comment"> * </em>
+<a name="141" href="#141">141</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="142" href="#142">142</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="143" href="#143">143</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="144" href="#144">144</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="145" href="#145">145</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="146" href="#146">146</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="147" href="#147">147</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="148" href="#148">148</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="149" href="#149">149</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="150" href="#150">150</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="151" href="#151">151</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="152" href="#152">152</a> <em class="comment"> * </em>
+<a name="153" href="#153">153</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="154" href="#154">154</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/SetContentTest.html b/docs/xref-test/org/dom4j/SetContentTest.html
new file mode 100644
index 0000000..2c77f16
--- /dev/null
+++ b/docs/xref-test/org/dom4j/SetContentTest.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SetContentTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * Tests the setContent method</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/SetContentTest.html">SetContentTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="19" href="#19">19</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="20" href="#20">20</a>          TestRunner.run(SetContentTest.<strong>class</strong>);
+<a name="21" href="#21">21</a>      }
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <em class="comment">// Test case(s)</em>
+<a name="24" href="#24">24</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>void</strong> testDocument() throws Exception {
+<a name="26" href="#26">26</a>          document.setName(<span class="string">"doc1"</span>);
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>          Element oldRoot = document.getRootElement();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>          assertTrue(<span class="string">"Current root has document"</span>,
+<a name="31" href="#31">31</a>                  oldRoot.getDocument() == document);
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>          Document doc2 = DocumentHelper.createDocument();
+<a name="34" href="#34">34</a>          doc2.setName(<span class="string">"doc2"</span>);
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          assertTrue(<span class="string">"Doc2 has no root element"</span>, doc2.getRootElement() == <strong>null</strong>);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          doc2.setContent(document.content());
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          Element newRoot = doc2.getRootElement();
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          assertTrue(<span class="string">"Current root has document"</span>,
+<a name="43" href="#43">43</a>                  oldRoot.getDocument() == document);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          assertTrue(<span class="string">"Doc2 has now has root element"</span>, newRoot != <strong>null</strong>);
+<a name="46" href="#46">46</a>          assertTrue(<span class="string">"Doc2 has different root element"</span>, newRoot != oldRoot);
+<a name="47" href="#47">47</a>          assertTrue(<span class="string">"Root element now has document"</span>,
+<a name="48" href="#48">48</a>                  newRoot.getDocument() == doc2);
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          testParent(doc2.getRootElement());
+<a name="51" href="#51">51</a>          testDocument(doc2, doc2);
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          doc2.clearContent();
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          assertTrue(<span class="string">"New Doc has no root"</span>, doc2.getRootElement() == <strong>null</strong>);
+<a name="56" href="#56">56</a>          assertTrue(<span class="string">"New root has no document"</span>, newRoot.getDocument() == <strong>null</strong>);
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong>public</strong> <strong>void</strong> testRootElement() throws Exception {
+<a name="60" href="#60">60</a>          Document doc3 = DocumentHelper.createDocument();
+<a name="61" href="#61">61</a>          doc3.setName(<span class="string">"doc3"</span>);
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          Element root = doc3.addElement(<span class="string">"root"</span>);
+<a name="64" href="#64">64</a>          Element oldElement = root.addElement(<span class="string">"old"</span>);
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          assertTrue(<span class="string">"Doc3 has root element"</span>, root != <strong>null</strong>);
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>          root.setContent(document.getRootElement().content());
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          assertTrue(<span class="string">"Doc3's root now has content"</span>, root.nodeCount() > 0);
+<a name="71" href="#71">71</a>          assertTrue(<span class="string">"Old element has no parent now"</span>,
+<a name="72" href="#72">72</a>                  oldElement.getParent() == <strong>null</strong>);
+<a name="73" href="#73">73</a>          assertTrue(<span class="string">"Old element has no document now"</span>,
+<a name="74" href="#74">74</a>                  oldElement.getDocument() == <strong>null</strong>);
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          testParent(root);
+<a name="77" href="#77">77</a>          testDocument(root, doc3);
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <em>/**<em>*</em></em>
+<a name="81" href="#81">81</a>  <em>     * Tests all the children of the branch have the correct parent</em>
+<a name="82" href="#82">82</a>  <em>     * </em>
+<a name="83" href="#83">83</a>  <em>     * @param parent</em>
+<a name="84" href="#84">84</a>  <em>     *            DOCUMENT ME!</em>
+<a name="85" href="#85">85</a>  <em>     */</em>
+<a name="86" href="#86">86</a>      <strong>protected</strong> <strong>void</strong> testParent(Branch parent) {
+<a name="87" href="#87">87</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = parent.nodeCount(); i < size; i++) {
+<a name="88" href="#88">88</a>              Node node = parent.node(i);
+<a name="89" href="#89">89</a>              assertTrue(<span class="string">"Child node of root has parent of root"</span>, node
+<a name="90" href="#90">90</a>                      .getParent() == parent);
+<a name="91" href="#91">91</a>          }
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <em>/**<em>*</em></em>
+<a name="95" href="#95">95</a>  <em>     * Tests all the children of the branch have the correct document</em>
+<a name="96" href="#96">96</a>  <em>     * </em>
+<a name="97" href="#97">97</a>  <em>     * @param branch</em>
+<a name="98" href="#98">98</a>  <em>     *            DOCUMENT ME!</em>
+<a name="99" href="#99">99</a>  <em>     * @param doc</em>
+<a name="100" href="#100">100</a> <em>     *            DOCUMENT ME!</em>
+<a name="101" href="#101">101</a> <em>     */</em>
+<a name="102" href="#102">102</a>     <strong>protected</strong> <strong>void</strong> testDocument(Branch branch, Document doc) {
+<a name="103" href="#103">103</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = branch.nodeCount(); i < size; i++) {
+<a name="104" href="#104">104</a>             Node node = branch.node(i);
+<a name="105" href="#105">105</a>             assertTrue(<span class="string">"Node has correct document"</span>, node.getDocument() == doc);
+<a name="106" href="#106">106</a>         }
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a> <em class="comment">/*</em>
+<a name="111" href="#111">111</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="112" href="#112">112</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="113" href="#113">113</a> <em class="comment"> * following conditions are met:</em>
+<a name="114" href="#114">114</a> <em class="comment"> * </em>
+<a name="115" href="#115">115</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="116" href="#116">116</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="117" href="#117">117</a> <em class="comment"> * </em>
+<a name="118" href="#118">118</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="119" href="#119">119</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="120" href="#120">120</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="121" href="#121">121</a> <em class="comment"> * </em>
+<a name="122" href="#122">122</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="123" href="#123">123</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="124" href="#124">124</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="125" href="#125">125</a> <em class="comment"> * </em>
+<a name="126" href="#126">126</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="127" href="#127">127</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="128" href="#128">128</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="129" href="#129">129</a> <em class="comment"> * </em>
+<a name="130" href="#130">130</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="131" href="#131">131</a> <em class="comment"> * </em>
+<a name="132" href="#132">132</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="133" href="#133">133</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="134" href="#134">134</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="135" href="#135">135</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="136" href="#136">136</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="137" href="#137">137</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="138" href="#138">138</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="139" href="#139">139</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="140" href="#140">140</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="141" href="#141">141</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="142" href="#142">142</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="143" href="#143">143</a> <em class="comment"> * </em>
+<a name="144" href="#144">144</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="145" href="#145">145</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/SetTextTest.html b/docs/xref-test/org/dom4j/SetTextTest.html
new file mode 100644
index 0000000..fb38847
--- /dev/null
+++ b/docs/xref-test/org/dom4j/SetTextTest.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SetTextTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * Tests the setText method</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:maartenc at users.sourceforge.net" target="alexandria_uri">mailto:maartenc at users.sourceforge.net</a>">Maarten Coene </a></em>
+<a name="16" href="#16">16</a>  <em> */</em>
+<a name="17" href="#17">17</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/SetTextTest.html">SetTextTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="18" href="#18">18</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="19" href="#19">19</a>          TestRunner.run(SetTextTest.<strong>class</strong>);
+<a name="20" href="#20">20</a>      }
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>      <em class="comment">/*</em>
+<a name="23" href="#23">23</a>  <em class="comment">     * The structure of the test document is: [root] [author name="James"</em>
+<a name="24" href="#24">24</a>  <em class="comment">     * location="UK"] James Strachem</em>
+<a name="25" href="#25">25</a>  <em class="comment">     * [url]<a href="http://sourceforge.net/users/jstrachan/" target="alexandria_uri">http://sourceforge.net/users/jstrachan/</a>[/url] [/author] [author</em>
+<a name="26" href="#26">26</a>  <em class="comment">     * name="Bob" location="Canada"] Bob McWhirter</em>
+<a name="27" href="#27">27</a>  <em class="comment">     * [url]<a href="http://sourceforge.net/users/werken/" target="alexandria_uri">http://sourceforge.net/users/werken/</a>[/url] [/author] [/root]</em>
+<a name="28" href="#28">28</a>  <em class="comment">     */</em>
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>void</strong> testSetText1() throws Exception {
+<a name="30" href="#30">30</a>          String newURL = <span class="string">"newURL"</span>;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          Node urlNode = document.selectSingleNode(<span class="string">"//root/author[1]/url"</span>);
+<a name="33" href="#33">33</a>          urlNode.setText(newURL);
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          assertEquals(newURL, urlNode.getText());
+<a name="36" href="#36">36</a>          assertTrue(urlNode instanceof Element);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          Element urlElement = (Element) urlNode;
+<a name="39" href="#39">39</a>          assertEquals(0, urlElement.elements().size());
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> testSetText2() throws Exception {
+<a name="43" href="#43">43</a>          String newName = <span class="string">"Strachem James"</span>;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          Node authorNode = document.selectSingleNode(<span class="string">"//root/author[1]"</span>);
+<a name="46" href="#46">46</a>          authorNode.setText(newName);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          assertEquals(newName, authorNode.getText());
+<a name="49" href="#49">49</a>          assertTrue(authorNode instanceof Element);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          Element urlElement = (Element) authorNode;
+<a name="52" href="#52">52</a>          assertEquals(1, urlElement.elements().size());
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>  <em class="comment">/*</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * following conditions are met:</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="91" href="#91">91</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/ThreadingTest.html b/docs/xref-test/org/dom4j/ThreadingTest.html
new file mode 100644
index 0000000..cfc3b35
--- /dev/null
+++ b/docs/xref-test/org/dom4j/ThreadingTest.html
@@ -0,0 +1,358 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ThreadingTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> com.clarkware.junitperf.LoadTest;
+<a name="11" href="#11">11</a>  <strong>import</strong> com.clarkware.junitperf.TimedTest;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> junit.extensions.RepeatedTest;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> junit.framework.Test;
+<a name="16" href="#16">16</a>  <strong>import</strong> junit.framework.TestSuite;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> java.text.FieldPosition;
+<a name="21" href="#21">21</a>  <strong>import</strong> java.text.SimpleDateFormat;
+<a name="22" href="#22">22</a>  <strong>import</strong> java.util.Date;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <em>/**<em>*</em></em>
+<a name="25" href="#25">25</a>  <em> * A test harness to test the dom4j package in a threaded environment</em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * @author <a href="<a href="mailto:ddlucas at lse.com" target="alexandria_uri">mailto:ddlucas at lse.com</a>">David Lucas </a></em>
+<a name="28" href="#28">28</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="29" href="#29">29</a>  <em> */</em>
+<a name="30" href="#30">30</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/ThreadingTest.html">ThreadingTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="31" href="#31">31</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> ThreadLocal FORMATTER_CACHE = <strong>new</strong> ThreadLocal();
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String SEPERATOR = <span class="string">" - "</span>;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> FieldPosition FIELD_ZERO = <strong>new</strong> FieldPosition(0);
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <a href="../../org/dom4j/ThreadingTest.html">ThreadingTest</a>(String name) {
+<a name="38" href="#38">38</a>          <strong>super</strong>(name);
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>private</strong> <strong>static</strong> <strong>void</strong> preformat(StringBuffer strBuf, String context) {
+<a name="42" href="#42">42</a>          <strong>long</strong> now = System.currentTimeMillis();
+<a name="43" href="#43">43</a>          Date currentTime = <strong>new</strong> Date(now);
+<a name="44" href="#44">44</a>          SimpleDateFormat formatter = (SimpleDateFormat) FORMATTER_CACHE.get();
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          <strong>if</strong> (formatter == <strong>null</strong>) {
+<a name="47" href="#47">47</a>              formatter = <strong>new</strong> SimpleDateFormat(<span class="string">"yyyy-MM-dd HH:mm:ss.SSS zzz"</span>);
+<a name="48" href="#48">48</a>              FORMATTER_CACHE.set(formatter);
+<a name="49" href="#49">49</a>          }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          strBuf.append(<span class="string">"["</span>);
+<a name="52" href="#52">52</a>          formatter.format(currentTime, strBuf, FIELD_ZERO);
+<a name="53" href="#53">53</a>          strBuf.append(<span class="string">" ("</span>).append(now).append(<span class="string">") ]"</span>);
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          strBuf.append(SEPERATOR);
+<a name="56" href="#56">56</a>          strBuf.append(getThreadId());
+<a name="57" href="#57">57</a>          strBuf.append(SEPERATOR);
+<a name="58" href="#58">58</a>          strBuf.append(context);
+<a name="59" href="#59">59</a>          strBuf.append(SEPERATOR);
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>private</strong> <strong>static</strong> String getThreadId() {
+<a name="63" href="#63">63</a>          String tid = Thread.currentThread().getName();
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          <strong>return</strong> tid;
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <em>/**<em>*</em></em>
+<a name="69" href="#69">69</a>  <em>     * This test combines many different types of operations on DOM4J in a</em>
+<a name="70" href="#70">70</a>  <em>     * threaded environment. If a problem occurs with threading, the tests will</em>
+<a name="71" href="#71">71</a>  <em>     * fail. This was used to help isolate an internal threading issue.</em>
+<a name="72" href="#72">72</a>  <em>     * Unfortunately it may not always create the condition necessary to break</em>
+<a name="73" href="#73">73</a>  <em>     * un-thread-safe code. This is due to the nature of the machine, JVM, and</em>
+<a name="74" href="#74">74</a>  <em>     * application and if the conditions are right. Typically the problems of</em>
+<a name="75" href="#75">75</a>  <em>     * multithreading occur due to an unprotected HashMap or ArrayList in a</em>
+<a name="76" href="#76">76</a>  <em>     * class being used by more than one thread. Also, most developers think</em>
+<a name="77" href="#77">77</a>  <em>     * that their class or object instance will only be used by one thread. But</em>
+<a name="78" href="#78">78</a>  <em>     * if a factory or singleton caches a class or instance, it can quickly</em>
+<a name="79" href="#79">79</a>  <em>     * become an unsafe environment. Hence this test to assist in locating</em>
+<a name="80" href="#80">80</a>  <em>     * threading issues.</em>
+<a name="81" href="#81">81</a>  <em>     */</em>
+<a name="82" href="#82">82</a>      <strong>public</strong> <strong>void</strong> testCombo() {
+<a name="83" href="#83">83</a>          <strong>int</strong> loop = 10;
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>          <strong>try</strong> {
+<a name="86" href="#86">86</a>              <strong>long</strong> begin = System.currentTimeMillis();
+<a name="87" href="#87">87</a>              String value = <strong>null</strong>;
+<a name="88" href="#88">88</a>              String expected = <strong>null</strong>;
+<a name="89" href="#89">89</a>              String xml = <strong>null</strong>;
+<a name="90" href="#90">90</a>              Document doc = <strong>null</strong>;
+<a name="91" href="#91">91</a>              Element root = <strong>null</strong>;
+<a name="92" href="#92">92</a>              Element item = <strong>null</strong>;
+<a name="93" href="#93">93</a>              Element newItem = <strong>null</strong>;
+<a name="94" href="#94">94</a>              QName qn = <strong>null</strong>;
+<a name="95" href="#95">95</a>              Namespace ns = <strong>null</strong>;
+<a name="96" href="#96">96</a>              <strong>long</strong> now = 0;
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>              xml = <span class="string">"<ROOT xmlns:t0=\"http://www.lse.com/t0\" >"</span>
+<a name="99" href="#99">99</a>                      + <span class="string">"  <ctx><type>Context</type></ctx>"</span>
+<a name="100" href="#100">100</a>                     + <span class="string">"  <A><B><C><D>This is a TEST</D></C></B></A>"</span>
+<a name="101" href="#101">101</a>                     + <span class="string">"  <t0:Signon><A>xyz</A><t0:Cust>customer</t0:Cust>"</span>
+<a name="102" href="#102">102</a>                     + <span class="string">"</t0:Signon></ROOT>"</span>;
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < loop; i++) {
+<a name="105" href="#105">105</a>                 doc = DocumentHelper.parseText(xml);
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>                 root = doc.getRootElement();
+<a name="108" href="#108">108</a>                 ns = Namespace.get(<span class="string">"t0"</span>, <span class="string">"http://www.lse.com/t0"</span>);
+<a name="109" href="#109">109</a>                 qn = QName.get(<span class="string">"Signon"</span>, ns);
+<a name="110" href="#110">110</a>                 item = root.element(qn);
+<a name="111" href="#111">111</a>                 value = item.asXML();
+<a name="112" href="#112">112</a>                 expected = <span class="string">"<t0:Signon xmlns:t0=\"http://www.lse.com/t0\">"</span>
+<a name="113" href="#113">113</a>                         + <span class="string">"<A>xyz</A><t0:Cust>customer</t0:Cust></t0:Signon>"</span>;
+<a name="114" href="#114">114</a>                 assertEquals(<span class="string">"test t0:Signon "</span>, expected, value);
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>                 qn = root.getQName(<span class="string">"Test"</span>);
+<a name="117" href="#117">117</a>                 newItem = DocumentHelper.createElement(qn);
+<a name="118" href="#118">118</a>                 now = System.currentTimeMillis();
+<a name="119" href="#119">119</a>                 newItem.setText(String.valueOf(now));
+<a name="120" href="#120">120</a>                 root.add(newItem);
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>                 qn = root.getQName(<span class="string">"Test2"</span>);
+<a name="123" href="#123">123</a>                 newItem = DocumentHelper.createElement(qn);
+<a name="124" href="#124">124</a>                 now = System.currentTimeMillis();
+<a name="125" href="#125">125</a>                 newItem.setText(String.valueOf(now));
+<a name="126" href="#126">126</a>                 root.add(newItem);
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>                 item = root.element(qn);
+<a name="129" href="#129">129</a>                 item.detach();
+<a name="130" href="#130">130</a>                 item.setQName(qn);
+<a name="131" href="#131">131</a>                 root.add(item);
+<a name="132" href="#132">132</a>                 value = item.asXML();
+<a name="133" href="#133">133</a>                 expected = <span class="string">"<Test2>"</span> + now + <span class="string">"</Test2>"</span>;
+<a name="134" href="#134">134</a>                 assertEquals(<span class="string">"test Test2 "</span>, expected, value);
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>                 qn = root.getQName(<span class="string">"Test3"</span>);
+<a name="137" href="#137">137</a>                 newItem = DocumentHelper.createElement(qn);
+<a name="138" href="#138">138</a>                 now = System.currentTimeMillis();
+<a name="139" href="#139">139</a>                 newItem.setText(String.valueOf(now));
+<a name="140" href="#140">140</a>                 root.add(newItem);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>                 item = root.element(qn);
+<a name="143" href="#143">143</a>                 item.detach();
+<a name="144" href="#144">144</a>                 item.setQName(qn);
+<a name="145" href="#145">145</a>                 root.add(item);
+<a name="146" href="#146">146</a>                 value = item.asXML();
+<a name="147" href="#147">147</a>                 expected = <span class="string">"<Test3>"</span> + now + <span class="string">"</Test3>"</span>;
+<a name="148" href="#148">148</a>                 assertEquals(<span class="string">"test Test3 "</span>, expected, value);
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>                 qn = item.getQName(<span class="string">"Test4"</span>);
+<a name="151" href="#151">151</a>                 newItem = DocumentHelper.createElement(qn);
+<a name="152" href="#152">152</a>                 now = System.currentTimeMillis();
+<a name="153" href="#153">153</a>                 newItem.setText(String.valueOf(now));
+<a name="154" href="#154">154</a>                 root.add(newItem);
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>                 item = root.element(qn);
+<a name="157" href="#157">157</a>                 item.detach();
+<a name="158" href="#158">158</a>                 item.setQName(qn);
+<a name="159" href="#159">159</a>                 root.add(item);
+<a name="160" href="#160">160</a>                 value = item.asXML();
+<a name="161" href="#161">161</a>                 expected = <span class="string">"<Test4>"</span> + now + <span class="string">"</Test4>"</span>;
+<a name="162" href="#162">162</a>                 assertEquals(<span class="string">"test Test4 "</span>, expected, value);
+<a name="163" href="#163">163</a>             }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>             <strong>double</strong> duration = System.currentTimeMillis() - begin;
+<a name="166" href="#166">166</a>             <strong>double</strong> avg = duration / loop;
+<a name="167" href="#167">167</a>         } <strong>catch</strong> (Exception e) {
+<a name="168" href="#168">168</a>             e.printStackTrace();
+<a name="169" href="#169">169</a>             assertTrue(<span class="string">"Exception in test: "</span> + e.getMessage(), false);
+<a name="170" href="#170">170</a>         }
+<a name="171" href="#171">171</a>     }
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>     <em>/**<em>*</em></em>
+<a name="174" href="#174">174</a> <em>     * This test isolates QNameCache in a multithreaded environment.</em>
+<a name="175" href="#175">175</a> <em>     */</em>
+<a name="176" href="#176">176</a>     <strong>public</strong> <strong>void</strong> testQNameCache() {
+<a name="177" href="#177">177</a>         <strong>int</strong> loop = 100;
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         <strong>try</strong> {
+<a name="180" href="#180">180</a>             <strong>long</strong> begin = System.currentTimeMillis();
+<a name="181" href="#181">181</a>             String value = <strong>null</strong>;
+<a name="182" href="#182">182</a>             String expected = <strong>null</strong>;
+<a name="183" href="#183">183</a>             String xml = <strong>null</strong>;
+<a name="184" href="#184">184</a>             Document doc = <strong>null</strong>;
+<a name="185" href="#185">185</a>             Element root = <strong>null</strong>;
+<a name="186" href="#186">186</a>             Element item = <strong>null</strong>;
+<a name="187" href="#187">187</a>             Element newItem = <strong>null</strong>;
+<a name="188" href="#188">188</a>             QName qn = <strong>null</strong>;
+<a name="189" href="#189">189</a>             Namespace ns = <strong>null</strong>;
+<a name="190" href="#190">190</a>             <strong>long</strong> now = 0;
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>             xml = <span class="string">"<ROOT xmlns:t0=\"http://www.lse.com/t0\" >"</span>
+<a name="193" href="#193">193</a>                     + <span class="string">"  <ctx><type>Context</type></ctx>"</span>
+<a name="194" href="#194">194</a>                     + <span class="string">"  <A><B><C><D>This is a TEST</D></C></B></A>"</span>
+<a name="195" href="#195">195</a>                     + <span class="string">"  <t0:Signon><A>xyz</A><t0:Cust>customer</t0:Cust>"</span>
+<a name="196" href="#196">196</a>                     + <span class="string">"</t0:Signon></ROOT>"</span>;
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < loop; i++) {
+<a name="199" href="#199">199</a>                 doc = DocumentHelper.parseText(xml);
+<a name="200" href="#200">200</a>                 root = doc.getRootElement();
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>                 qn = DocumentHelper.createQName(<span class="string">"test"</span>);
+<a name="203" href="#203">203</a>                 value = fetchValue(qn);
+<a name="204" href="#204">204</a>                 expected = <span class="string">"<test/>"</span>;
+<a name="205" href="#205">205</a>                 assertEquals(<span class="string">"test test "</span>, expected, value);
+<a name="206" href="#206">206</a> 
+<a name="207" href="#207">207</a>                 <em class="comment">// creat it again</em>
+<a name="208" href="#208">208</a>                 qn = DocumentHelper.createQName(<span class="string">"test"</span>);
+<a name="209" href="#209">209</a>                 value = fetchValue(qn);
+<a name="210" href="#210">210</a>                 expected = <span class="string">"<test/>"</span>;
+<a name="211" href="#211">211</a>                 assertEquals(<span class="string">"test test again "</span>, expected, value);
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>                 qn = root.getQName(<span class="string">"t0:Signon"</span>);
+<a name="214" href="#214">214</a>                 value = fetchValue(qn);
+<a name="215" href="#215">215</a>                 expected = <span class="string">"<t0:Signon xmlns:t0=\"http://www.lse.com/t0\"/>"</span>;
+<a name="216" href="#216">216</a>                 assertEquals(<span class="string">"test t0:Signon "</span>, expected, value);
+<a name="217" href="#217">217</a>             }
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>             <strong>double</strong> duration = System.currentTimeMillis() - begin;
+<a name="220" href="#220">220</a>             <strong>double</strong> avg = duration / loop;
+<a name="221" href="#221">221</a>         } <strong>catch</strong> (Exception e) {
+<a name="222" href="#222">222</a>             e.printStackTrace();
+<a name="223" href="#223">223</a>             assertTrue(<span class="string">"Exception in test: "</span> + e.getMessage(), false);
+<a name="224" href="#224">224</a>         }
+<a name="225" href="#225">225</a>     }
+<a name="226" href="#226">226</a> 
+<a name="227" href="#227">227</a>     <em>/**<em>*</em></em>
+<a name="228" href="#228">228</a> <em>     * This method creates a value that can be expected during a test</em>
+<a name="229" href="#229">229</a> <em>     * </em>
+<a name="230" href="#230">230</a> <em>     * @param qn</em>
+<a name="231" href="#231">231</a> <em>     * </em>
+<a name="232" href="#232">232</a> <em>     * @return</em>
+<a name="233" href="#233">233</a> <em>     */</em>
+<a name="234" href="#234">234</a>     <strong>public</strong> String fetchValue(QName qn) {
+<a name="235" href="#235">235</a>         String value = <strong>null</strong>;
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>         StringBuffer sb = <strong>new</strong> StringBuffer();
+<a name="238" href="#238">238</a>         sb.append(<span class="string">"<"</span>);
+<a name="239" href="#239">239</a> 
+<a name="240" href="#240">240</a>         String prefix = qn.getNamespacePrefix();
+<a name="241" href="#241">241</a> 
+<a name="242" href="#242">242</a>         <strong>if</strong> ((prefix != <strong>null</strong>) && (prefix.length() > 0)) {
+<a name="243" href="#243">243</a>             sb.append(prefix).append(<span class="string">":"</span>);
+<a name="244" href="#244">244</a>         }
+<a name="245" href="#245">245</a> 
+<a name="246" href="#246">246</a>         sb.append(qn.getName());
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>         String uri = qn.getNamespaceURI();
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>         <strong>if</strong> ((uri != <strong>null</strong>) && (uri.length() > 0)) {
+<a name="251" href="#251">251</a>             sb.append(<span class="string">" xmlns"</span>);
+<a name="252" href="#252">252</a> 
+<a name="253" href="#253">253</a>             <strong>if</strong> ((prefix != <strong>null</strong>) && (prefix.length() > 0)) {
+<a name="254" href="#254">254</a>                 sb.append(<span class="string">":"</span>).append(prefix);
+<a name="255" href="#255">255</a>             }
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>             sb.append(<span class="string">"=\""</span>).append(uri).append(<span class="string">"\""</span>);
+<a name="258" href="#258">258</a>         }
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>         sb.append(<span class="string">"/>"</span>);
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>         value = sb.toString();
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>         <strong>return</strong> value;
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <em>/**<em>*</em></em>
+<a name="268" href="#268">268</a> <em>     * Assembles and returns a test suite.</em>
+<a name="269" href="#269">269</a> <em>     * </em>
+<a name="270" href="#270">270</a> <em>     * @return The suite</em>
+<a name="271" href="#271">271</a> <em>     */</em>
+<a name="272" href="#272">272</a>     <strong>public</strong> <strong>static</strong> Test suite() {
+<a name="273" href="#273">273</a>         TestSuite suite = <strong>new</strong> TestSuite();
+<a name="274" href="#274">274</a>         suite.addTest(makeRepeatedLoadTest(5, 10, <span class="string">"testCombo"</span>));
+<a name="275" href="#275">275</a>         suite.addTest(makeRepeatedLoadTest(5, 10, <span class="string">"testQNameCache"</span>));
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a>         <strong>return</strong> suite;
+<a name="278" href="#278">278</a>     }
+<a name="279" href="#279">279</a> 
+<a name="280" href="#280">280</a>     <em>/**<em>*</em></em>
+<a name="281" href="#281">281</a> <em>     * JUnit method to exercise test via threads and loops</em>
+<a name="282" href="#282">282</a> <em>     * </em>
+<a name="283" href="#283">283</a> <em>     * @param users</em>
+<a name="284" href="#284">284</a> <em>     *            Number of users to simulate (i.e. Threads).</em>
+<a name="285" href="#285">285</a> <em>     * @param iterations</em>
+<a name="286" href="#286">286</a> <em>     *            Number of iterations per user ( repeat the test x times).</em>
+<a name="287" href="#287">287</a> <em>     * @param testMethod</em>
+<a name="288" href="#288">288</a> <em>     *            method to execute (testXXX).</em>
+<a name="289" href="#289">289</a> <em>     * </em>
+<a name="290" href="#290">290</a> <em>     * @return A Junit test</em>
+<a name="291" href="#291">291</a> <em>     */</em>
+<a name="292" href="#292">292</a>     <strong>protected</strong> <strong>static</strong> Test makeRepeatedLoadTest(<strong>int</strong> users, <strong>int</strong> iterations,
+<a name="293" href="#293">293</a>             String testMethod) {
+<a name="294" href="#294">294</a>         <strong>long</strong> maxElapsedTime = 120000 + (1000 * users * iterations);
+<a name="295" href="#295">295</a> 
+<a name="296" href="#296">296</a>         Test testCase = <strong>new</strong> <a href="../../org/dom4j/ThreadingTest.html">ThreadingTest</a>(testMethod);
+<a name="297" href="#297">297</a> 
+<a name="298" href="#298">298</a>         Test repeatedTest = <strong>new</strong> RepeatedTest(testCase, iterations);
+<a name="299" href="#299">299</a>         Test loadTest = <strong>new</strong> LoadTest(repeatedTest, users);
+<a name="300" href="#300">300</a>         Test timedTest = <strong>new</strong> TimedTest(loadTest, maxElapsedTime);
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>         <strong>return</strong> timedTest;
+<a name="303" href="#303">303</a>     }
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="306" href="#306">306</a>         TestRunner.run(ThreadingTest.<strong>class</strong>);
+<a name="307" href="#307">307</a>     }
+<a name="308" href="#308">308</a> }
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a> <em class="comment">/*</em>
+<a name="311" href="#311">311</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="312" href="#312">312</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="313" href="#313">313</a> <em class="comment"> * following conditions are met:</em>
+<a name="314" href="#314">314</a> <em class="comment"> * </em>
+<a name="315" href="#315">315</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="316" href="#316">316</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="317" href="#317">317</a> <em class="comment"> * </em>
+<a name="318" href="#318">318</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="319" href="#319">319</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="320" href="#320">320</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="321" href="#321">321</a> <em class="comment"> * </em>
+<a name="322" href="#322">322</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="323" href="#323">323</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="324" href="#324">324</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="325" href="#325">325</a> <em class="comment"> * </em>
+<a name="326" href="#326">326</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="327" href="#327">327</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="328" href="#328">328</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="329" href="#329">329</a> <em class="comment"> * </em>
+<a name="330" href="#330">330</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="331" href="#331">331</a> <em class="comment"> * </em>
+<a name="332" href="#332">332</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="333" href="#333">333</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="334" href="#334">334</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="335" href="#335">335</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="336" href="#336">336</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="337" href="#337">337</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="338" href="#338">338</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="339" href="#339">339</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="340" href="#340">340</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="341" href="#341">341</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="342" href="#342">342</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="343" href="#343">343</a> <em class="comment"> * </em>
+<a name="344" href="#344">344</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="345" href="#345">345</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/UserDataTest.html b/docs/xref-test/org/dom4j/UserDataTest.html
new file mode 100644
index 0000000..6ecb840
--- /dev/null
+++ b/docs/xref-test/org/dom4j/UserDataTest.html
@@ -0,0 +1,171 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>UserDataTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.util.UserDataAttribute;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.util.UserDataDocumentFactory;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.util.UserDataElement;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * Tests the UserDataDocumentFactory</em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/UserDataTest.html">UserDataTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="24" href="#24">24</a>      <em>/**<em>* Input XML file to read */</em></em>
+<a name="25" href="#25">25</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String INPUT_XML_FILE = <span class="string">"/xml/web.xml"</span>;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>private</strong> Object userData = <strong>new</strong> Double(1.23456);
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="30" href="#30">30</a>          TestRunner.run(UserDataTest.<strong>class</strong>);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em class="comment">// Test case(s)</em>
+<a name="34" href="#34">34</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="35" href="#35">35</a>      <strong>public</strong> <strong>void</strong> testSetData() throws Exception {
+<a name="36" href="#36">36</a>          Element root = getRootElement();
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          assertTrue(<span class="string">"Element instanceof UserDataElement"</span>,
+<a name="39" href="#39">39</a>                  root instanceof UserDataElement);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          root.setData(userData);
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          assertTrue(<span class="string">"Stored user data!"</span>, root.getData() == userData);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          log(<span class="string">"root: "</span> + root);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          assertUserData(root, userData);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          Element cloned = (Element) root.clone();
+<a name="50" href="#50">50</a>          assertTrue(<span class="string">"Cloned new instance"</span>, cloned != root);
+<a name="51" href="#51">51</a>          assertUserData(cloned, userData);
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          cloned = root.createCopy();
+<a name="54" href="#54">54</a>          assertTrue(<span class="string">"Cloned new instance"</span>, cloned != root);
+<a name="55" href="#55">55</a>          assertUserData(cloned, userData);
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> testCloneAttribute() throws Exception {
+<a name="59" href="#59">59</a>          Element root = getRootElement();
+<a name="60" href="#60">60</a>          root.addAttribute(<span class="string">"name"</span>, <span class="string">"value"</span>);
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>          Attribute attribute = root.attribute(<span class="string">"name"</span>);
+<a name="63" href="#63">63</a>          assertTrue(attribute instanceof UserDataAttribute);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          Element cloned = (Element) root.clone();
+<a name="66" href="#66">66</a>          Attribute clonedAttribute = cloned.attribute(<span class="string">"name"</span>);
+<a name="67" href="#67">67</a>          assertTrue(clonedAttribute instanceof UserDataAttribute);
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>public</strong> <strong>void</strong> testNewAdditions() throws Exception {
+<a name="71" href="#71">71</a>          Element root = getRootElement();
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          Element newElement = root.addElement(<span class="string">"foo1234"</span>);
+<a name="74" href="#74">74</a>          assertTrue(<span class="string">"New Element is a UserDataElement"</span>,
+<a name="75" href="#75">75</a>                  newElement instanceof UserDataElement);
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>          root.addAttribute(<span class="string">"bar456"</span>, <span class="string">"123"</span>);
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>          Attribute newAttribute = root.attribute(<span class="string">"bar456"</span>);
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>          assertTrue(<span class="string">"New Attribute is a UserDataAttribute"</span>,
+<a name="82" href="#82">82</a>                  newAttribute instanceof UserDataAttribute);
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <strong>void</strong> testNewDocument() throws Exception {
+<a name="86" href="#86">86</a>          DocumentFactory factory = UserDataDocumentFactory.getInstance();
+<a name="87" href="#87">87</a>          Document document = factory.createDocument();
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          Element root = document.addElement(<span class="string">"root"</span>);
+<a name="90" href="#90">90</a>          assertTrue(<span class="string">"Root Element is a UserDataElement"</span>,
+<a name="91" href="#91">91</a>                  root instanceof UserDataElement);
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          Element newElement = root.addElement(<span class="string">"foo1234"</span>);
+<a name="94" href="#94">94</a>          assertTrue(<span class="string">"New Element is a UserDataElement"</span>,
+<a name="95" href="#95">95</a>                  newElement instanceof UserDataElement);
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>          root.addAttribute(<span class="string">"bar456"</span>, <span class="string">"123"</span>);
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          Attribute newAttribute = root.attribute(<span class="string">"bar456"</span>);
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>         assertTrue(<span class="string">"New Attribute is a UserDataAttribute"</span>,
+<a name="102" href="#102">102</a>                 newAttribute instanceof UserDataAttribute);
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em class="comment">// Implementation methods</em>
+<a name="106" href="#106">106</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="107" href="#107">107</a>     <strong>protected</strong> <strong>void</strong> assertUserData(Element root, Object data) throws Exception {
+<a name="108" href="#108">108</a>         Object result = root.getData();
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         assertTrue(<span class="string">"No user data!"</span>, result != <strong>null</strong>);
+<a name="111" href="#111">111</a>         assertTrue(<span class="string">"Stored user data correctly"</span>, data.equals(result));
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="115" href="#115">115</a>         <strong>super</strong>.setUp();
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         SAXReader reader = <strong>new</strong> SAXReader();
+<a name="118" href="#118">118</a>         reader.setDocumentFactory(UserDataDocumentFactory.getInstance());
+<a name="119" href="#119">119</a>         document = getDocument(INPUT_XML_FILE, reader);
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a> <em class="comment">/*</em>
+<a name="124" href="#124">124</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="125" href="#125">125</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="126" href="#126">126</a> <em class="comment"> * following conditions are met:</em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="129" href="#129">129</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="132" href="#132">132</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="133" href="#133">133</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="136" href="#136">136</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="137" href="#137">137</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="140" href="#140">140</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="141" href="#141">141</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="142" href="#142">142</a> <em class="comment"> * </em>
+<a name="143" href="#143">143</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="146" href="#146">146</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="147" href="#147">147</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="148" href="#148">148</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="149" href="#149">149</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="150" href="#150">150</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="151" href="#151">151</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="152" href="#152">152</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="153" href="#153">153</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="154" href="#154">154</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="155" href="#155">155</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="156" href="#156">156</a> <em class="comment"> * </em>
+<a name="157" href="#157">157</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="158" href="#158">158</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/ValidationTest.html b/docs/xref-test/org/dom4j/ValidationTest.html
new file mode 100644
index 0000000..0b08308
--- /dev/null
+++ b/docs/xref-test/org/dom4j/ValidationTest.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ValidationTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * A test harness for validation when using SAXReader</em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="18" href="#18">18</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/ValidationTest.html">ValidationTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="21" href="#21">21</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="22" href="#22">22</a>          TestRunner.run(ValidationTest.<strong>class</strong>);
+<a name="23" href="#23">23</a>      }
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <em class="comment">// Test case(s)</em>
+<a name="26" href="#26">26</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>void</strong> testValidation() throws Exception {
+<a name="28" href="#28">28</a>          <strong>try</strong> {
+<a name="29" href="#29">29</a>              SAXReader reader = <strong>new</strong> SAXReader(<strong>true</strong>);
+<a name="30" href="#30">30</a>              reader.read(<span class="string">"test"</span>);
+<a name="31" href="#31">31</a>              fail();
+<a name="32" href="#32">32</a>          } <strong>catch</strong> (DocumentException e) {
+<a name="33" href="#33">33</a>              <em class="comment">// internal parser is non validating, so OK</em>
+<a name="34" href="#34">34</a>          }
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>  <em class="comment">/*</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="41" href="#41">41</a>  <em class="comment"> * following conditions are met:</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * </em>
+<a name="43" href="#43">43</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * </em>
+<a name="46" href="#46">46</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * </em>
+<a name="50" href="#50">50</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/XMLResultTest.html b/docs/xref-test/org/dom4j/XMLResultTest.html
new file mode 100644
index 0000000..af26f74
--- /dev/null
+++ b/docs/xref-test/org/dom4j/XMLResultTest.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XMLResultTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringWriter;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> javax.xml.transform.Result;
+<a name="15" href="#15">15</a>  <strong>import</strong> javax.xml.transform.Source;
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.transform.Transformer;
+<a name="17" href="#17">17</a>  <strong>import</strong> javax.xml.transform.TransformerFactory;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.io.DocumentSource;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.io.OutputFormat;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.io.XMLResult;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <em>/**<em>*</em></em>
+<a name="25" href="#25">25</a>  <em> * Test harness for the XMLResult which acts as a JAXP Result</em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="28" href="#28">28</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="29" href="#29">29</a>  <em> */</em>
+<a name="30" href="#30">30</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/XMLResultTest.html">XMLResultTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="31" href="#31">31</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <strong>boolean</strong> VERBOSE = false;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="34" href="#34">34</a>          TestRunner.run(XMLResultTest.<strong>class</strong>);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em class="comment">// Test case(s)</em>
+<a name="38" href="#38">38</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>void</strong> testWriter() throws Exception {
+<a name="40" href="#40">40</a>          <em class="comment">// load a default transformer</em>
+<a name="41" href="#41">41</a>          TransformerFactory factory = TransformerFactory.newInstance();
+<a name="42" href="#42">42</a>          Transformer transformer = factory.newTransformer();
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          <em class="comment">// use dom4j document as the source</em>
+<a name="45" href="#45">45</a>          Source source = <strong>new</strong> DocumentSource(document);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          <em class="comment">// use pretty print format and a buffer for the result</em>
+<a name="48" href="#48">48</a>          OutputFormat format = OutputFormat.createCompactFormat();
+<a name="49" href="#49">49</a>          StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="50" href="#50">50</a>          Result result = <strong>new</strong> XMLResult(buffer, format);
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          <em class="comment">// now lets transform</em>
+<a name="53" href="#53">53</a>          transformer.transform(source, result);
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          String text = buffer.toString();
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          <strong>if</strong> (VERBOSE) {
+<a name="58" href="#58">58</a>              log(<span class="string">"Using JAXP and XMLResult the document is:- "</span>);
+<a name="59" href="#59">59</a>              log(text);
+<a name="60" href="#60">60</a>          }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>          StringWriter out = <strong>new</strong> StringWriter();
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          XMLWriter writer = <strong>new</strong> XMLWriter(out, format);
+<a name="65" href="#65">65</a>          writer.write(document);
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          String text2 = out.toString();
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          <strong>if</strong> (VERBOSE) {
+<a name="70" href="#70">70</a>              log(<span class="string">"Using XMLWriter the text is:-"</span>);
+<a name="71" href="#71">71</a>              log(text2);
+<a name="72" href="#72">72</a>          }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>          assertEquals(<span class="string">"The text output should be identical"</span>, text2, text);
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>  <em class="comment">/*</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * following conditions are met:</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * </em>
+<a name="94" href="#94">94</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="99" href="#99">99</a>  <em class="comment"> * </em>
+<a name="100" href="#100">100</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="103" href="#103">103</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="104" href="#104">104</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="105" href="#105">105</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="106" href="#106">106</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="107" href="#107">107</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="108" href="#108">108</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="109" href="#109">109</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="110" href="#110">110</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="111" href="#111">111</a> <em class="comment"> * </em>
+<a name="112" href="#112">112</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="113" href="#113">113</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/XMLSpaceAttributeTest.html b/docs/xref-test/org/dom4j/XMLSpaceAttributeTest.html
new file mode 100644
index 0000000..336b3d4
--- /dev/null
+++ b/docs/xref-test/org/dom4j/XMLSpaceAttributeTest.html
@@ -0,0 +1,268 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XMLSpaceAttributeTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.IOException;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * A test harness to test the xml:space attribute for preserve. If it is</em>
+<a name="16" href="#16">16</a>  <em> * preserve, then keep whitespace.</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:ddlucas at lse.com" target="alexandria_uri">mailto:ddlucas at lse.com</a>">David Lucas </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/XMLSpaceAttributeTest.html">XMLSpaceAttributeTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="22" href="#22">22</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="23" href="#23">23</a>          TestRunner.run(XMLSpaceAttributeTest.<strong>class</strong>);
+<a name="24" href="#24">24</a>      }
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em class="comment">// Test case(s)</em>
+<a name="27" href="#27">27</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>void</strong> testWithTextTrimOn() throws Exception {
+<a name="29" href="#29">29</a>          String xmlString = <span class="string">"<top >"</span>
+<a name="30" href="#30">30</a>                  + <span class="string">"<row><col>   This is a test!</col></row>"</span>
+<a name="31" href="#31">31</a>                  + <span class="string">"<row><col xml:space=\'preserve\' >   This is a test!</col>"</span>
+<a name="32" href="#32">32</a>                  + <span class="string">"</row><row><col>   This is a test!</col></row>"</span> + <span class="string">"</top>"</span>;
+<a name="33" href="#33">33</a>          Document doc1 = DocumentHelper.parseText(xmlString);
+<a name="34" href="#34">34</a>          Element c2 = (Element) doc1.selectSingleNode(<span class="string">"/top/row[2]/col"</span>);
+<a name="35" href="#35">35</a>          String expected = <span class="string">"   New Text TrimOn! "</span>;
+<a name="36" href="#36">36</a>          c2.setText(expected);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          String xml = rewriteToXmlString(doc1, <strong>true</strong>);
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          Document doc2 = DocumentHelper.parseText(xml);
+<a name="41" href="#41">41</a>          Element c4 = (Element) doc2.selectSingleNode(<span class="string">"/top/row[2]/col"</span>);
+<a name="42" href="#42">42</a>          String actual = c4.getText();
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          assertEquals(<span class="string">"compared element text expecting whitespace"</span>, expected,
+<a name="45" href="#45">45</a>                  actual);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          expected = expected.trim();
+<a name="48" href="#48">48</a>          actual = c4.getTextTrim();
+<a name="49" href="#49">49</a>          assertEquals(<span class="string">"compared element getTextTrim"</span>, expected, actual);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          expected = <span class="string">"This is a test!"</span>;
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          Element c5 = (Element) doc2.selectSingleNode(<span class="string">"/top/row[3]/col"</span>);
+<a name="54" href="#54">54</a>          actual = c5.getText();
+<a name="55" href="#55">55</a>          assertEquals(<span class="string">"compared element text expecting trimmed whitespace"</span>,
+<a name="56" href="#56">56</a>                  expected, actual);
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="60" href="#60">60</a>      <strong>public</strong> <strong>void</strong> testWithTextTrimOff() throws Exception {
+<a name="61" href="#61">61</a>          String xmlString = <span class="string">"<top >"</span>
+<a name="62" href="#62">62</a>                  + <span class="string">"<row><col>   This is a test!</col></row>"</span>
+<a name="63" href="#63">63</a>                  + <span class="string">"<row><col xml:space=\'preserve\' >   This is a test!</col>"</span>
+<a name="64" href="#64">64</a>                  + <span class="string">"</row><row><col>   This is a test!</col></row>"</span> + <span class="string">"</top>"</span>;
+<a name="65" href="#65">65</a>          Document doc1 = DocumentHelper.parseText(xmlString);
+<a name="66" href="#66">66</a>          Element c2 = (Element) doc1.selectSingleNode(<span class="string">"/top/row[2]/col"</span>);
+<a name="67" href="#67">67</a>          String expected = <span class="string">"   New Text TrimOff! "</span>;
+<a name="68" href="#68">68</a>          c2.setText(expected);
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          String xml = rewriteToXmlString(doc1, false);
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>          Document doc2 = DocumentHelper.parseText(xml);
+<a name="73" href="#73">73</a>          Element c4 = (Element) doc2.selectSingleNode(<span class="string">"/top/row[2]/col"</span>);
+<a name="74" href="#74">74</a>          String actual = c4.getText();
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          assertEquals(<span class="string">"compared element text expecting whitespace"</span>, expected,
+<a name="77" href="#77">77</a>                  actual);
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>void</strong> testWithTextTrimOnFollow() throws Exception {
+<a name="82" href="#82">82</a>          String xmlString = <span class="string">"<top >"</span>
+<a name="83" href="#83">83</a>                  + <span class="string">"<row><col>   This is a test!</col></row>"</span> + <span class="string">"<row>"</span>
+<a name="84" href="#84">84</a>                  + <span class="string">"<col xml:space=\'preserve\' >"</span>
+<a name="85" href="#85">85</a>                  + <span class="string">"<a><b>   This is embedded!</b></a>"</span>
+<a name="86" href="#86">86</a>                  + <span class="string">"<a><b>   This is space=preserve too!</b></a>"</span> + <span class="string">"</col>"</span>
+<a name="87" href="#87">87</a>                  + <span class="string">"</row>"</span> + <span class="string">"<row><col>   This is a test!</col></row>"</span>
+<a name="88" href="#88">88</a>                  + <span class="string">"</top>"</span>;
+<a name="89" href="#89">89</a>          Document doc1 = DocumentHelper.parseText(xmlString);
+<a name="90" href="#90">90</a>          Element c2 = (Element) doc1.selectSingleNode(<span class="string">"/top/row[2]/col/a[1]/b"</span>);
+<a name="91" href="#91">91</a>          String expected = <span class="string">"   New Text TrimOnFollow! "</span>;
+<a name="92" href="#92">92</a>          c2.setText(expected);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          String xml = rewriteToXmlString(doc1, <strong>true</strong>);
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>          Document doc2 = DocumentHelper.parseText(xml);
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          Element c4 = (Element) doc2.selectSingleNode(<span class="string">"/top/row[2]/col/a[1]/b"</span>);
+<a name="99" href="#99">99</a>          String actual = c4.getText();
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>         assertEquals(<span class="string">"compared element text expecting whitespace"</span>, expected,
+<a name="102" href="#102">102</a>                 actual);
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>         Element c8 = (Element) doc2.selectSingleNode(<span class="string">"/top/row[2]/col/a[2]/b"</span>);
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         expected = <span class="string">"   This is space=preserve too!"</span>;
+<a name="107" href="#107">107</a>         actual = c8.getText();
+<a name="108" href="#108">108</a>         assertEquals(<span class="string">"compared element text follow trimmed whitespace"</span>,
+<a name="109" href="#109">109</a>                 expected, actual);
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         expected = expected.trim();
+<a name="112" href="#112">112</a>         actual = c8.getTextTrim();
+<a name="113" href="#113">113</a>         assertEquals(<span class="string">"compared element getTextTrim"</span>, expected, actual);
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         Element c12 = (Element) doc2.selectSingleNode(<span class="string">"/top/row[3]/col"</span>);
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         expected = <span class="string">"This is a test!"</span>;
+<a name="118" href="#118">118</a>         actual = c12.getText();
+<a name="119" href="#119">119</a>         assertEquals(<span class="string">"compared element text follow trimmed whitespace"</span>,
+<a name="120" href="#120">120</a>                 expected, actual);
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="124" href="#124">124</a>     <strong>public</strong> <strong>void</strong> testWithTextTrimOnNested() throws Exception {
+<a name="125" href="#125">125</a>         String xmlString = <span class="string">"<top >"</span>
+<a name="126" href="#126">126</a>                 + <span class="string">"<row><col>   This is a test!</col></row>"</span> + <span class="string">"<row>"</span>
+<a name="127" href="#127">127</a>                 + <span class="string">"<col xml:space='preserve' >"</span> + <span class="string">"<a>"</span>
+<a name="128" href="#128">128</a>                 + <span class="string">"<b>   This is embedded! </b>"</span>
+<a name="129" href="#129">129</a>                 + <span class="string">"<b xml:space='default' >   This should do global default! "</span>
+<a name="130" href="#130">130</a>                 + <span class="string">"</b><b>   This is embedded! </b>"</span> + <span class="string">"</a>"</span> + <span class="string">"</col>"</span>
+<a name="131" href="#131">131</a>                 + <span class="string">"</row>"</span> + <span class="string">"<row><col>   This is a test!</col></row>"</span>
+<a name="132" href="#132">132</a>                 + <span class="string">"</top>"</span>;
+<a name="133" href="#133">133</a>         Document doc1 = DocumentHelper.parseText(xmlString);
+<a name="134" href="#134">134</a>         Element c2 = (Element) doc1.selectSingleNode(<span class="string">"/top/row[2]/col/a[1]/b"</span>);
+<a name="135" href="#135">135</a>         String expected = <span class="string">"   New Text TrimOnNested! "</span>;
+<a name="136" href="#136">136</a>         c2.setText(expected);
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>         String xml = rewriteToXmlString(doc1, <strong>true</strong>);
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>         Document doc2 = DocumentHelper.parseText(xml);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>         Element c4 = (Element) doc2
+<a name="143" href="#143">143</a>                 .selectSingleNode(<span class="string">"/top/row[2]/col/a[1]/b[1]"</span>);
+<a name="144" href="#144">144</a>         String actual = c4.getText();
+<a name="145" href="#145">145</a>         assertEquals(<span class="string">"compared element text expecting whitespace"</span>, expected,
+<a name="146" href="#146">146</a>                 actual);
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>         Element c8 = (Element) doc2
+<a name="149" href="#149">149</a>                 .selectSingleNode(<span class="string">"/top/row[2]/col/a[1]/b[2]"</span>);
+<a name="150" href="#150">150</a>         expected = <span class="string">"This should do global default!"</span>;
+<a name="151" href="#151">151</a>         actual = c8.getText();
+<a name="152" href="#152">152</a>         assertEquals(<span class="string">"compared element text nested trimmed whitespace"</span>,
+<a name="153" href="#153">153</a>                 expected, actual);
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>         Element c12 = (Element) doc2
+<a name="156" href="#156">156</a>                 .selectSingleNode(<span class="string">"/top/row[2]/col/a[1]/b[3]"</span>);
+<a name="157" href="#157">157</a>         expected = <span class="string">"   This is embedded! "</span>;
+<a name="158" href="#158">158</a>         actual = c12.getText();
+<a name="159" href="#159">159</a>         assertEquals(<span class="string">"compared element text nested preserved whitespace"</span>,
+<a name="160" href="#160">160</a>                 expected, actual);
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <em class="comment">// Implementation methods</em>
+<a name="164" href="#164">164</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="165" href="#165">165</a>     <strong>private</strong> String rewriteToXmlString(Document doc, <strong>boolean</strong> trimOn)
+<a name="166" href="#166">166</a>             throws IOException {
+<a name="167" href="#167">167</a>         org.dom4j.io.OutputFormat of = org.dom4j.io.OutputFormat
+<a name="168" href="#168">168</a>                 .createCompactFormat();
+<a name="169" href="#169">169</a>         of.setIndent(<strong>true</strong>);
+<a name="170" href="#170">170</a>         of.setNewlines(<strong>true</strong>);
+<a name="171" href="#171">171</a>         of.setExpandEmptyElements(false);
+<a name="172" href="#172">172</a>         of.setSuppressDeclaration(false);
+<a name="173" href="#173">173</a>         of.setOmitEncoding(false);
+<a name="174" href="#174">174</a>         of.setEncoding(<span class="string">"UTF-8"</span>);
+<a name="175" href="#175">175</a>         of.setTrimText(trimOn);
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>         java.io.ByteArrayOutputStream os = <strong>new</strong> java.io.ByteArrayOutputStream();
+<a name="178" href="#178">178</a>         java.io.BufferedOutputStream bos = <strong>new</strong> java.io.BufferedOutputStream(os);
+<a name="179" href="#179">179</a>         org.dom4j.io.XMLWriter xmlWriter = <strong>new</strong> org.dom4j.io.XMLWriter(of);
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>         xmlWriter.setOutputStream(bos);
+<a name="182" href="#182">182</a>         xmlWriter.write(doc);
+<a name="183" href="#183">183</a>         xmlWriter.close();
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>         String xml = os.toString();
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>         <em class="comment">// System.out.println("***** xml out *****\n"+xml);</em>
+<a name="188" href="#188">188</a>         <strong>return</strong> xml;
+<a name="189" href="#189">189</a>     }
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="192" href="#192">192</a>     <strong>public</strong> <strong>void</strong> testWithEscapeTextTrimOn() throws Exception {
+<a name="193" href="#193">193</a>         String xmlString = <span class="string">"<top >"</span>
+<a name="194" href="#194">194</a>                 + <span class="string">"<row><col>   This is a test!</col></row>"</span>
+<a name="195" href="#195">195</a>                 + <span class="string">"<row><col xml:space=\'preserve\' >   This is a test!\r\n"</span>
+<a name="196" href="#196">196</a>                 + <span class="string">"With a new line, special character like &amp; , and\t tab."</span>
+<a name="197" href="#197">197</a>                 + <span class="string">"</col></row><row><col>   This is a test!\r\nWith a new line,"</span>
+<a name="198" href="#198">198</a>                 + <span class="string">" special character like &amp; , and\t tab.</col></row>"</span>
+<a name="199" href="#199">199</a>                 + <span class="string">"</top>"</span>;
+<a name="200" href="#200">200</a>         Document doc1 = DocumentHelper.parseText(xmlString);
+<a name="201" href="#201">201</a>         String xml = rewriteToXmlString(doc1, <strong>true</strong>);
+<a name="202" href="#202">202</a>         Document doc2 = DocumentHelper.parseText(xml);
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>         Element c2 = (Element) doc2.selectSingleNode(<span class="string">"/top/row[2]/col"</span>);
+<a name="205" href="#205">205</a>         String expected = <span class="string">"   This is a test!\nWith a new line, special "</span>
+<a name="206" href="#206">206</a>                 + <span class="string">"character like & , and\t tab."</span>;
+<a name="207" href="#207">207</a>         String actual = c2.getText();
+<a name="208" href="#208">208</a>         assertEquals(<span class="string">"compared element text expecting whitespace"</span>, expected,
+<a name="209" href="#209">209</a>                 actual);
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>         Element c4 = (Element) doc2.selectSingleNode(<span class="string">"/top/row[3]/col"</span>);
+<a name="212" href="#212">212</a>         expected = <span class="string">"This is a test! With a new line, special character "</span>
+<a name="213" href="#213">213</a>                 + <span class="string">"like & , and tab."</span>;
+<a name="214" href="#214">214</a>         actual = c4.getText();
+<a name="215" href="#215">215</a>         assertEquals(<span class="string">"compared element text expecting whitespace"</span>, expected,
+<a name="216" href="#216">216</a>                 actual);
+<a name="217" href="#217">217</a>     }
+<a name="218" href="#218">218</a> }
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a> <em class="comment">/*</em>
+<a name="221" href="#221">221</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="222" href="#222">222</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="223" href="#223">223</a> <em class="comment"> * following conditions are met:</em>
+<a name="224" href="#224">224</a> <em class="comment"> * </em>
+<a name="225" href="#225">225</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="226" href="#226">226</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="227" href="#227">227</a> <em class="comment"> * </em>
+<a name="228" href="#228">228</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="229" href="#229">229</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="230" href="#230">230</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="231" href="#231">231</a> <em class="comment"> * </em>
+<a name="232" href="#232">232</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="233" href="#233">233</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="234" href="#234">234</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="235" href="#235">235</a> <em class="comment"> * </em>
+<a name="236" href="#236">236</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="237" href="#237">237</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="238" href="#238">238</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="239" href="#239">239</a> <em class="comment"> * </em>
+<a name="240" href="#240">240</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="241" href="#241">241</a> <em class="comment"> * </em>
+<a name="242" href="#242">242</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="243" href="#243">243</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="244" href="#244">244</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="245" href="#245">245</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="246" href="#246">246</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="247" href="#247">247</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="248" href="#248">248</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="249" href="#249">249</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="250" href="#250">250</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="251" href="#251">251</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="252" href="#252">252</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="253" href="#253">253</a> <em class="comment"> * </em>
+<a name="254" href="#254">254</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="255" href="#255">255</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/XMLWriterTest.html b/docs/xref-test/org/dom4j/XMLWriterTest.html
new file mode 100644
index 0000000..ce80427
--- /dev/null
+++ b/docs/xref-test/org/dom4j/XMLWriterTest.html
@@ -0,0 +1,594 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XMLWriterTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.ByteArrayInputStream;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.ByteArrayOutputStream;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.StringReader;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.StringWriter;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.io.OutputFormat;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.tree.BaseElement;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.tree.DefaultDocument;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <strong>import</strong> org.xml.sax.ContentHandler;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.xml.sax.helpers.AttributesImpl;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>  <em>/**<em>*</em></em>
+<a name="28" href="#28">28</a>  <em> * A simple test harness to check that the XML Writer works</em>
+<a name="29" href="#29">29</a>  <em> * </em>
+<a name="30" href="#30">30</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="31" href="#31">31</a>  <em> * @version $Revision: 1.7.2.1 $</em>
+<a name="32" href="#32">32</a>  <em> */</em>
+<a name="33" href="#33">33</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/XMLWriterTest.html">XMLWriterTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="34" href="#34">34</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <strong>boolean</strong> VERBOSE = false;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="37" href="#37">37</a>          TestRunner.run(XMLWriterTest.<strong>class</strong>);
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em class="comment">// Test case(s)</em>
+<a name="41" href="#41">41</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> testBug1180791() throws Exception {
+<a name="43" href="#43">43</a>          String xml = <span class="string">"<?xml version=\"1.0\"?><root><foo>bar</foo></root>"</span>;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="46" href="#46">46</a>          Document doc = reader.read(<strong>new</strong> StringReader(xml));
+<a name="47" href="#47">47</a>          <em class="comment">// of with newlines</em>
+<a name="48" href="#48">48</a>          OutputFormat format = <strong>new</strong> OutputFormat();
+<a name="49" href="#49">49</a>          format.setNewlines(<strong>true</strong>);
+<a name="50" href="#50">50</a>          <em class="comment">//format.setTrimText(true);</em>
+<a name="51" href="#51">51</a>          <em class="comment">// first time</em>
+<a name="52" href="#52">52</a>          StringWriter writer = <strong>new</strong> StringWriter();
+<a name="53" href="#53">53</a>          XMLWriter xmlwriter = <strong>new</strong> XMLWriter(writer, format);
+<a name="54" href="#54">54</a>          xmlwriter.write(doc);
+<a name="55" href="#55">55</a>          System.out.println(writer.toString());
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          <em class="comment">// 2nd time</em>
+<a name="58" href="#58">58</a>          doc = reader.read(<strong>new</strong> StringReader(writer.toString()));
+<a name="59" href="#59">59</a>          writer = <strong>new</strong> StringWriter();
+<a name="60" href="#60">60</a>          xmlwriter = <strong>new</strong> XMLWriter(writer, format);
+<a name="61" href="#61">61</a>          xmlwriter.write(doc);
+<a name="62" href="#62">62</a>          System.out.println(writer.toString());
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>void</strong> testBug1119733() throws Exception {
+<a name="66" href="#66">66</a>          Document doc = DocumentHelper
+<a name="67" href="#67">67</a>                  .parseText(<span class="string">"<root><code>foo</code> bar</root>"</span>);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          StringWriter out = <strong>new</strong> StringWriter();
+<a name="70" href="#70">70</a>          XMLWriter writer = <strong>new</strong> XMLWriter(out, OutputFormat.createPrettyPrint());
+<a name="71" href="#71">71</a>          writer.write(doc);
+<a name="72" href="#72">72</a>          writer.close();
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>          String xml = out.toString();
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          System.out.println(xml);
+<a name="77" href="#77">77</a>          assertEquals(<span class="string">"whitespace problem"</span>, -1, xml.indexOf(<span class="string">"</code>bar"</span>));
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <strong>public</strong> <strong>void</strong> testBug1119733WithSAXEvents() throws Exception {
+<a name="81" href="#81">81</a>          StringWriter out = <strong>new</strong> StringWriter();
+<a name="82" href="#82">82</a>          XMLWriter writer = <strong>new</strong> XMLWriter(out, OutputFormat.createPrettyPrint());
+<a name="83" href="#83">83</a>          writer.startDocument();
+<a name="84" href="#84">84</a>          writer.startElement(<strong>null</strong>, <span class="string">"root"</span>, <span class="string">"root"</span>, <strong>new</strong> AttributesImpl());
+<a name="85" href="#85">85</a>          writer.startElement(<strong>null</strong>, <span class="string">"code"</span>, <span class="string">"code"</span>, <strong>new</strong> AttributesImpl());
+<a name="86" href="#86">86</a>          writer.<strong>char</strong>acters(<strong>new</strong> <strong>char</strong>[] { 'f', 'o', 'o' }, 0, 3);
+<a name="87" href="#87">87</a>          writer.endElement(<strong>null</strong>, <span class="string">"code"</span>, <span class="string">"code"</span>);
+<a name="88" href="#88">88</a>          writer.<strong>char</strong>acters(<strong>new</strong> <strong>char</strong>[] { ' ', 'b', 'a', 'r' }, 0, 4);
+<a name="89" href="#89">89</a>          writer.endElement(<strong>null</strong>, <span class="string">"root"</span>, <span class="string">"root"</span>);
+<a name="90" href="#90">90</a>          writer.endDocument();
+<a name="91" href="#91">91</a>          writer.close();
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          String xml = out.toString();
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>          System.out.println(xml);
+<a name="96" href="#96">96</a>          assertEquals(<span class="string">"whitespace problem"</span>, -1, xml.indexOf(<span class="string">"</code>bar"</span>));
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <strong>public</strong> <strong>void</strong> testWriter() throws Exception {
+<a name="100" href="#100">100</a>         Object object = document;
+<a name="101" href="#101">101</a>         StringWriter out = <strong>new</strong> StringWriter();
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         XMLWriter writer = <strong>new</strong> XMLWriter(out);
+<a name="104" href="#104">104</a>         writer.write(object);
+<a name="105" href="#105">105</a>         writer.close();
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>         String text = out.toString();
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>         <strong>if</strong> (VERBOSE) {
+<a name="110" href="#110">110</a>             log(<span class="string">"Text output is ["</span>);
+<a name="111" href="#111">111</a>             log(text);
+<a name="112" href="#112">112</a>             log(<span class="string">"]. Done"</span>);
+<a name="113" href="#113">113</a>         }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         assertTrue(<span class="string">"Output text is bigger than 10 characters"</span>,
+<a name="116" href="#116">116</a>                 text.length() > 10);
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <strong>public</strong> <strong>void</strong> testEncodingFormats() throws Exception {
+<a name="120" href="#120">120</a>         testEncoding(<span class="string">"UTF-8"</span>);
+<a name="121" href="#121">121</a>         testEncoding(<span class="string">"UTF-16"</span>);
+<a name="122" href="#122">122</a>         testEncoding(<span class="string">"ISO-8859-1"</span>);
+<a name="123" href="#123">123</a>     }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>     <strong>public</strong> <strong>void</strong> testWritingEmptyElement() throws Exception {
+<a name="126" href="#126">126</a>         Document doc = DocumentFactory.getInstance().createDocument();
+<a name="127" href="#127">127</a>         Element grandFather = doc.addElement(<span class="string">"grandfather"</span>);
+<a name="128" href="#128">128</a>         Element parent1 = grandFather.addElement(<span class="string">"parent"</span>);
+<a name="129" href="#129">129</a>         Element child1 = parent1.addElement(<span class="string">"child1"</span>);
+<a name="130" href="#130">130</a>         Element child2 = parent1.addElement(<span class="string">"child2"</span>);
+<a name="131" href="#131">131</a>         child2.setText(<span class="string">"test"</span>);
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>         Element parent2 = grandFather.addElement(<span class="string">"parent"</span>);
+<a name="134" href="#134">134</a>         Element child3 = parent2.addElement(<span class="string">"child3"</span>);
+<a name="135" href="#135">135</a>         child3.setText(<span class="string">"test"</span>);
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>         StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="138" href="#138">138</a>         OutputFormat format = OutputFormat.createPrettyPrint();
+<a name="139" href="#139">139</a>         XMLWriter writer = <strong>new</strong> XMLWriter(buffer, format);
+<a name="140" href="#140">140</a>         writer.write(doc);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>         String xml = buffer.toString();
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>         System.out.println(xml);
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>         assertTrue(<span class="string">"child2 not present"</span>,
+<a name="147" href="#147">147</a>                 xml.indexOf(<span class="string">"<child2>test</child2>"</span>) != -1);
+<a name="148" href="#148">148</a>     }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>     <strong>protected</strong> <strong>void</strong> testEncoding(String encoding) throws Exception {
+<a name="151" href="#151">151</a>         ByteArrayOutputStream out = <strong>new</strong> ByteArrayOutputStream();
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>         OutputFormat format = OutputFormat.createPrettyPrint();
+<a name="154" href="#154">154</a>         format.setEncoding(encoding);
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>         XMLWriter writer = <strong>new</strong> XMLWriter(out, format);
+<a name="157" href="#157">157</a>         writer.write(document);
+<a name="158" href="#158">158</a>         writer.close();
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>         log(<span class="string">"Wrote to encoding: "</span> + encoding);
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <strong>public</strong> <strong>void</strong> testWriterBug() throws Exception {
+<a name="164" href="#164">164</a>         Element project = <strong>new</strong> BaseElement(<span class="string">"project"</span>);
+<a name="165" href="#165">165</a>         Document doc = <strong>new</strong> DefaultDocument(project);
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>         ByteArrayOutputStream out = <strong>new</strong> ByteArrayOutputStream();
+<a name="168" href="#168">168</a>         XMLWriter writer = <strong>new</strong> XMLWriter(out, <strong>new</strong> OutputFormat(<span class="string">"\t"</span>, <strong>true</strong>,
+<a name="169" href="#169">169</a>                 <span class="string">"ISO-8859-1"</span>));
+<a name="170" href="#170">170</a>         writer.write(doc);
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>         ByteArrayInputStream in = <strong>new</strong> ByteArrayInputStream(out.toByteArray());
+<a name="173" href="#173">173</a>         SAXReader reader = <strong>new</strong> SAXReader();
+<a name="174" href="#174">174</a>         Document doc2 = reader.read(in);
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>         assertTrue(<span class="string">"Generated document has a root element"</span>, doc2
+<a name="177" href="#177">177</a>                 .getRootElement() != <strong>null</strong>);
+<a name="178" href="#178">178</a>         assertEquals(<span class="string">"Generated document has corrent named root element"</span>, doc2
+<a name="179" href="#179">179</a>                 .getRootElement().getName(), <span class="string">"project"</span>);
+<a name="180" href="#180">180</a>     }
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>     <strong>public</strong> <strong>void</strong> testNamespaceBug() throws Exception {
+<a name="183" href="#183">183</a>         Document doc = DocumentHelper.createDocument();
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>         Element root = doc.addElement(<span class="string">"root"</span>, <span class="string">"ns1"</span>);
+<a name="186" href="#186">186</a>         Element child1 = root.addElement(<span class="string">"joe"</span>, <span class="string">"ns2"</span>);
+<a name="187" href="#187">187</a>         child1.addElement(<span class="string">"zot"</span>, <span class="string">"ns1"</span>);
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>         StringWriter out = <strong>new</strong> StringWriter();
+<a name="190" href="#190">190</a>         XMLWriter writer = <strong>new</strong> XMLWriter(out, OutputFormat.createPrettyPrint());
+<a name="191" href="#191">191</a>         writer.write(doc);
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>         String text = out.toString();
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>         <em class="comment">// System.out.println( "Generated:" + text );</em>
+<a name="196" href="#196">196</a>         Document doc2 = DocumentHelper.parseText(text);
+<a name="197" href="#197">197</a>         root = doc2.getRootElement();
+<a name="198" href="#198">198</a>         assertEquals(<span class="string">"root has incorrect namespace"</span>, <span class="string">"ns1"</span>, root
+<a name="199" href="#199">199</a>                 .getNamespaceURI());
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>         Element joe = (Element) root.elementIterator().next();
+<a name="202" href="#202">202</a>         assertEquals(<span class="string">"joe has correct namespace"</span>, <span class="string">"ns2"</span>, joe.getNamespaceURI());
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>         Element zot = (Element) joe.elementIterator().next();
+<a name="205" href="#205">205</a>         assertEquals(<span class="string">"zot has correct namespace"</span>, <span class="string">"ns1"</span>, zot.getNamespaceURI());
+<a name="206" href="#206">206</a>     }
+<a name="207" href="#207">207</a> 
+<a name="208" href="#208">208</a>     <em>/**<em>*</em></em>
+<a name="209" href="#209">209</a> <em>     * This test harness was supplied by Lari Hotari</em>
+<a name="210" href="#210">210</a> <em>     * </em>
+<a name="211" href="#211">211</a> <em>     * @throws Exception DOCUMENT ME!</em>
+<a name="212" href="#212">212</a> <em>     */</em>
+<a name="213" href="#213">213</a>     <strong>public</strong> <strong>void</strong> testContentHandler() throws Exception {
+<a name="214" href="#214">214</a>         StringWriter out = <strong>new</strong> StringWriter();
+<a name="215" href="#215">215</a>         OutputFormat format = OutputFormat.createPrettyPrint();
+<a name="216" href="#216">216</a>         format.setEncoding(<span class="string">"iso-8859-1"</span>);
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>         XMLWriter writer = <strong>new</strong> XMLWriter(out, format);
+<a name="219" href="#219">219</a>         generateXML(writer);
+<a name="220" href="#220">220</a>         writer.close();
+<a name="221" href="#221">221</a> 
+<a name="222" href="#222">222</a>         String text = out.toString();
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>         <strong>if</strong> (VERBOSE) {
+<a name="225" href="#225">225</a>             log(<span class="string">"Created XML"</span>);
+<a name="226" href="#226">226</a>             log(text);
+<a name="227" href="#227">227</a>         }
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>         <em class="comment">// now lets parse the output and test it with XPath</em>
+<a name="230" href="#230">230</a>         Document doc = DocumentHelper.parseText(text);
+<a name="231" href="#231">231</a>         String value = doc.valueOf(<span class="string">"/processes[@name='arvojoo']"</span>);
+<a name="232" href="#232">232</a>         assertEquals(<span class="string">"Document contains the correct text"</span>, <span class="string">"jeejee"</span>, value);
+<a name="233" href="#233">233</a>     }
+<a name="234" href="#234">234</a> 
+<a name="235" href="#235">235</a>     <em>/**<em>*</em></em>
+<a name="236" href="#236">236</a> <em>     * This test was provided by Manfred Lotz</em>
+<a name="237" href="#237">237</a> <em>     * </em>
+<a name="238" href="#238">238</a> <em>     * @throws Exception DOCUMENT ME!</em>
+<a name="239" href="#239">239</a> <em>     */</em>
+<a name="240" href="#240">240</a>     <strong>public</strong> <strong>void</strong> testWhitespaceBug() throws Exception {
+<a name="241" href="#241">241</a>         String notes = <span class="string">"<notes> This is a      multiline\n\rentry</notes>"</span>;
+<a name="242" href="#242">242</a>         Document doc = DocumentHelper.parseText(notes);
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>         OutputFormat format = <strong>new</strong> OutputFormat();
+<a name="245" href="#245">245</a>         format.setEncoding(<span class="string">"UTF-8"</span>);
+<a name="246" href="#246">246</a>         format.setIndentSize(4);
+<a name="247" href="#247">247</a>         format.setNewlines(<strong>true</strong>);
+<a name="248" href="#248">248</a>         format.setTrimText(<strong>true</strong>);
+<a name="249" href="#249">249</a>         format.setExpandEmptyElements(<strong>true</strong>);
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>         StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="252" href="#252">252</a>         XMLWriter writer = <strong>new</strong> XMLWriter(buffer, format);
+<a name="253" href="#253">253</a>         writer.write(doc);
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>         String xml = buffer.toString();
+<a name="256" href="#256">256</a>         log(xml);
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a>         Document doc2 = DocumentHelper.parseText(xml);
+<a name="259" href="#259">259</a>         String text = doc2.valueOf(<span class="string">"/notes"</span>);
+<a name="260" href="#260">260</a>         String expected = <span class="string">"This is a multiline entry"</span>;
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>         assertEquals(<span class="string">"valueOf() returns the correct text padding"</span>, expected,
+<a name="263" href="#263">263</a>                 text);
+<a name="264" href="#264">264</a> 
+<a name="265" href="#265">265</a>         assertEquals(<span class="string">"getText() returns the correct text padding"</span>, expected,
+<a name="266" href="#266">266</a>                 doc2.getRootElement().getText());
+<a name="267" href="#267">267</a>     }
+<a name="268" href="#268">268</a> 
+<a name="269" href="#269">269</a>     <em>/**<em>*</em></em>
+<a name="270" href="#270">270</a> <em>     * This test was provided by Manfred Lotz</em>
+<a name="271" href="#271">271</a> <em>     * </em>
+<a name="272" href="#272">272</a> <em>     * @throws Exception DOCUMENT ME!</em>
+<a name="273" href="#273">273</a> <em>     */</em>
+<a name="274" href="#274">274</a>     <strong>public</strong> <strong>void</strong> testWhitespaceBug2() throws Exception {
+<a name="275" href="#275">275</a>         Document doc = DocumentHelper.createDocument();
+<a name="276" href="#276">276</a>         Element root = doc.addElement(<span class="string">"root"</span>);
+<a name="277" href="#277">277</a>         Element meaning = root.addElement(<span class="string">"meaning"</span>);
+<a name="278" href="#278">278</a>         meaning.addText(<span class="string">"to li"</span>);
+<a name="279" href="#279">279</a>         meaning.addText(<span class="string">"ve"</span>);
+<a name="280" href="#280">280</a> 
+<a name="281" href="#281">281</a>         OutputFormat format = <strong>new</strong> OutputFormat();
+<a name="282" href="#282">282</a>         format.setEncoding(<span class="string">"UTF-8"</span>);
+<a name="283" href="#283">283</a>         format.setIndentSize(4);
+<a name="284" href="#284">284</a>         format.setNewlines(<strong>true</strong>);
+<a name="285" href="#285">285</a>         format.setTrimText(<strong>true</strong>);
+<a name="286" href="#286">286</a>         format.setExpandEmptyElements(<strong>true</strong>);
+<a name="287" href="#287">287</a> 
+<a name="288" href="#288">288</a>         StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="289" href="#289">289</a>         XMLWriter writer = <strong>new</strong> XMLWriter(buffer, format);
+<a name="290" href="#290">290</a>         writer.write(doc);
+<a name="291" href="#291">291</a> 
+<a name="292" href="#292">292</a>         String xml = buffer.toString();
+<a name="293" href="#293">293</a>         log(xml);
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>         Document doc2 = DocumentHelper.parseText(xml);
+<a name="296" href="#296">296</a>         String text = doc2.valueOf(<span class="string">"/root/meaning"</span>);
+<a name="297" href="#297">297</a>         String expected = <span class="string">"to live"</span>;
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>         assertEquals(<span class="string">"valueOf() returns the correct text padding"</span>, expected,
+<a name="300" href="#300">300</a>                 text);
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>         assertEquals(<span class="string">"getText() returns the correct text padding"</span>, expected,
+<a name="303" href="#303">303</a>                 doc2.getRootElement().element(<span class="string">"meaning"</span>).getText());
+<a name="304" href="#304">304</a>     }
+<a name="305" href="#305">305</a> 
+<a name="306" href="#306">306</a>     <strong>public</strong> <strong>void</strong> testPadding() throws Exception {
+<a name="307" href="#307">307</a>         Document doc = DocumentFactory.getInstance().createDocument();
+<a name="308" href="#308">308</a>         Element root = doc.addElement(<span class="string">"root"</span>);
+<a name="309" href="#309">309</a>         root.addText(<span class="string">"prefix    "</span>);
+<a name="310" href="#310">310</a>         root.addElement(<span class="string">"b"</span>);
+<a name="311" href="#311">311</a>         root.addText(<span class="string">"      suffix"</span>);
+<a name="312" href="#312">312</a> 
+<a name="313" href="#313">313</a>         OutputFormat format = <strong>new</strong> OutputFormat(<span class="string">""</span>, false);
+<a name="314" href="#314">314</a>         format.setOmitEncoding(<strong>true</strong>);
+<a name="315" href="#315">315</a>         format.setSuppressDeclaration(<strong>true</strong>);
+<a name="316" href="#316">316</a>         format.setExpandEmptyElements(<strong>true</strong>);
+<a name="317" href="#317">317</a>         format.setPadText(<strong>true</strong>);
+<a name="318" href="#318">318</a>         format.setTrimText(<strong>true</strong>);
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>         StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="321" href="#321">321</a>         XMLWriter writer = <strong>new</strong> XMLWriter(buffer, format);
+<a name="322" href="#322">322</a>         writer.write(doc);
+<a name="323" href="#323">323</a> 
+<a name="324" href="#324">324</a>         String xml = buffer.toString();
+<a name="325" href="#325">325</a> 
+<a name="326" href="#326">326</a>         System.out.println(<span class="string">"xml: "</span> + xml);
+<a name="327" href="#327">327</a> 
+<a name="328" href="#328">328</a>         String expected = <span class="string">"<root>prefix <b></b> suffix</root>"</span>;
+<a name="329" href="#329">329</a>         assertEquals(expected, xml);
+<a name="330" href="#330">330</a>     }
+<a name="331" href="#331">331</a> 
+<a name="332" href="#332">332</a>     <strong>public</strong> <strong>void</strong> testPadding2() throws Exception {
+<a name="333" href="#333">333</a>         Document doc = DocumentFactory.getInstance().createDocument();
+<a name="334" href="#334">334</a>         Element root = doc.addElement(<span class="string">"root"</span>);
+<a name="335" href="#335">335</a>         root.addText(<span class="string">"prefix"</span>);
+<a name="336" href="#336">336</a>         root.addElement(<span class="string">"b"</span>);
+<a name="337" href="#337">337</a>         root.addText(<span class="string">"suffix"</span>);
+<a name="338" href="#338">338</a> 
+<a name="339" href="#339">339</a>         OutputFormat format = <strong>new</strong> OutputFormat(<span class="string">""</span>, false);
+<a name="340" href="#340">340</a>         format.setOmitEncoding(<strong>true</strong>);
+<a name="341" href="#341">341</a>         format.setSuppressDeclaration(<strong>true</strong>);
+<a name="342" href="#342">342</a>         format.setExpandEmptyElements(<strong>true</strong>);
+<a name="343" href="#343">343</a>         format.setPadText(<strong>true</strong>);
+<a name="344" href="#344">344</a>         format.setTrimText(<strong>true</strong>);
+<a name="345" href="#345">345</a> 
+<a name="346" href="#346">346</a>         StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="347" href="#347">347</a>         XMLWriter writer = <strong>new</strong> XMLWriter(buffer, format);
+<a name="348" href="#348">348</a>         writer.write(doc);
+<a name="349" href="#349">349</a> 
+<a name="350" href="#350">350</a>         String xml = buffer.toString();
+<a name="351" href="#351">351</a> 
+<a name="352" href="#352">352</a>         System.out.println(<span class="string">"xml: "</span> + xml);
+<a name="353" href="#353">353</a> 
+<a name="354" href="#354">354</a>         String expected = <span class="string">"<root>prefix<b></b>suffix</root>"</span>;
+<a name="355" href="#355">355</a>         assertEquals(expected, xml);
+<a name="356" href="#356">356</a>     }
+<a name="357" href="#357">357</a> 
+<a name="358" href="#358">358</a>     <em class="comment">/*</em>
+<a name="359" href="#359">359</a> <em class="comment">     * This must be tested manually to see if the layout is correct.</em>
+<a name="360" href="#360">360</a> <em class="comment">     */</em>
+<a name="361" href="#361">361</a>     <strong>public</strong> <strong>void</strong> testPrettyPrinting() throws Exception {
+<a name="362" href="#362">362</a>         Document doc = DocumentFactory.getInstance().createDocument();
+<a name="363" href="#363">363</a>         doc.addElement(<span class="string">"summary"</span>).addAttribute(<span class="string">"date"</span>, <span class="string">"6/7/8"</span>).addElement(
+<a name="364" href="#364">364</a>                 <span class="string">"orderline"</span>).addText(<span class="string">"puffins"</span>).addElement(<span class="string">"ranjit"</span>)
+<a name="365" href="#365">365</a>                 .addComment(<span class="string">"Ranjit is a happy Puffin"</span>);
+<a name="366" href="#366">366</a> 
+<a name="367" href="#367">367</a>         XMLWriter writer = <strong>new</strong> XMLWriter(System.out, OutputFormat
+<a name="368" href="#368">368</a>                 .createPrettyPrint());
+<a name="369" href="#369">369</a>         writer.write(doc);
+<a name="370" href="#370">370</a> 
+<a name="371" href="#371">371</a>         doc = DocumentFactory.getInstance().createDocument();
+<a name="372" href="#372">372</a>         doc.addElement(<span class="string">"summary"</span>).addAttribute(<span class="string">"date"</span>, <span class="string">"6/7/8"</span>).addElement(
+<a name="373" href="#373">373</a>                 <span class="string">"orderline"</span>).addText(<span class="string">"puffins"</span>).addElement(<span class="string">"ranjit"</span>)
+<a name="374" href="#374">374</a>                 .addComment(<span class="string">"Ranjit is a happy Puffin"</span>).addComment(
+<a name="375" href="#375">375</a>                         <span class="string">"another comment"</span>).addElement(<span class="string">"anotherElement"</span>);
+<a name="376" href="#376">376</a>         writer.write(doc);
+<a name="377" href="#377">377</a>     }
+<a name="378" href="#378">378</a> 
+<a name="379" href="#379">379</a>     <strong>public</strong> <strong>void</strong> testAttributeQuotes() throws Exception {
+<a name="380" href="#380">380</a>         Document doc = DocumentFactory.getInstance().createDocument();
+<a name="381" href="#381">381</a>         doc.addElement(<span class="string">"root"</span>).addAttribute(<span class="string">"test"</span>, <span class="string">"text with ' in it"</span>);
+<a name="382" href="#382">382</a> 
+<a name="383" href="#383">383</a>         StringWriter out = <strong>new</strong> StringWriter();
+<a name="384" href="#384">384</a>         XMLWriter writer = <strong>new</strong> XMLWriter(out, OutputFormat
+<a name="385" href="#385">385</a>                 .createCompactFormat());
+<a name="386" href="#386">386</a>         writer.write(doc);
+<a name="387" href="#387">387</a> 
+<a name="388" href="#388">388</a>         String expected = <span class="string">"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"</span>
+<a name="389" href="#389">389</a>                 + <span class="string">"<root test=\"text with ' in it\"/>"</span>;
+<a name="390" href="#390">390</a>         assertEquals(expected, out.toString());
+<a name="391" href="#391">391</a>     }
+<a name="392" href="#392">392</a> 
+<a name="393" href="#393">393</a>     <strong>public</strong> <strong>void</strong> testBug868408() throws Exception {
+<a name="394" href="#394">394</a>         Document doc = getDocument(<span class="string">"/xml/web.xml"</span>);
+<a name="395" href="#395">395</a>         Document doc2 = DocumentHelper.parseText(doc.asXML());
+<a name="396" href="#396">396</a>         assertEquals(doc.asXML(), doc2.asXML());
+<a name="397" href="#397">397</a>     }
+<a name="398" href="#398">398</a> 
+<a name="399" href="#399">399</a>     <strong>public</strong> <strong>void</strong> testBug923882() throws Exception {
+<a name="400" href="#400">400</a>         Document doc = DocumentFactory.getInstance().createDocument();
+<a name="401" href="#401">401</a>         Element root = doc.addElement(<span class="string">"root"</span>);
+<a name="402" href="#402">402</a>         root.addText(<span class="string">"this is "</span>);
+<a name="403" href="#403">403</a>         root.addText(<span class="string">" sim"</span>);
+<a name="404" href="#404">404</a>         root.addText(<span class="string">"ple text "</span>);
+<a name="405" href="#405">405</a>         root.addElement(<span class="string">"child"</span>);
+<a name="406" href="#406">406</a>         root.addText(<span class="string">" contai"</span>);
+<a name="407" href="#407">407</a>         root.addText(<span class="string">"ning spaces and"</span>);
+<a name="408" href="#408">408</a>         root.addText(<span class="string">" multiple textnodes"</span>);
+<a name="409" href="#409">409</a> 
+<a name="410" href="#410">410</a>         OutputFormat format = <strong>new</strong> OutputFormat();
+<a name="411" href="#411">411</a>         format.setEncoding(<span class="string">"UTF-8"</span>);
+<a name="412" href="#412">412</a>         format.setIndentSize(4);
+<a name="413" href="#413">413</a>         format.setNewlines(<strong>true</strong>);
+<a name="414" href="#414">414</a>         format.setTrimText(<strong>true</strong>);
+<a name="415" href="#415">415</a>         format.setExpandEmptyElements(<strong>true</strong>);
+<a name="416" href="#416">416</a> 
+<a name="417" href="#417">417</a>         StringWriter buffer = <strong>new</strong> StringWriter();
+<a name="418" href="#418">418</a>         XMLWriter writer = <strong>new</strong> XMLWriter(buffer, format);
+<a name="419" href="#419">419</a>         writer.write(doc);
+<a name="420" href="#420">420</a> 
+<a name="421" href="#421">421</a>         String xml = buffer.toString();
+<a name="422" href="#422">422</a>         log(xml);
+<a name="423" href="#423">423</a> 
+<a name="424" href="#424">424</a>         <strong>int</strong> start = xml.indexOf(<span class="string">"<root"</span>);
+<a name="425" href="#425">425</a>         <strong>int</strong> end = xml.indexOf(<span class="string">"/root>"</span>) + 6;
+<a name="426" href="#426">426</a>         String eol = <span class="string">"\n"</span>; <em class="comment">// System.getProperty("line.separator");</em>
+<a name="427" href="#427">427</a>         String expected = <span class="string">"<root>this is simple text"</span> + eol
+<a name="428" href="#428">428</a>                 + <span class="string">"    <child></child>containing spaces and multiple textnodes"</span>
+<a name="429" href="#429">429</a>                 + eol + <span class="string">"</root>"</span>;
+<a name="430" href="#430">430</a>         System.out.println(<span class="string">"Expected:"</span>);
+<a name="431" href="#431">431</a>         System.out.println(expected);
+<a name="432" href="#432">432</a>         System.out.println(<span class="string">"Obtained:"</span>);
+<a name="433" href="#433">433</a>         System.out.println(xml.substring(start, end));
+<a name="434" href="#434">434</a>         assertEquals(expected, xml.substring(start, end));
+<a name="435" href="#435">435</a>     }
+<a name="436" href="#436">436</a> 
+<a name="437" href="#437">437</a>     <strong>public</strong> <strong>void</strong> testEscapeXML() throws Exception {
+<a name="438" href="#438">438</a>         ByteArrayOutputStream os = <strong>new</strong> ByteArrayOutputStream();
+<a name="439" href="#439">439</a>         OutputFormat format = <strong>new</strong> OutputFormat(<strong>null</strong>, false, <span class="string">"ISO-8859-2"</span>);
+<a name="440" href="#440">440</a>         format.setSuppressDeclaration(<strong>true</strong>);
+<a name="441" href="#441">441</a> 
+<a name="442" href="#442">442</a>         XMLWriter writer = <strong>new</strong> XMLWriter(os, format);
+<a name="443" href="#443">443</a> 
+<a name="444" href="#444">444</a>         Document document = DocumentFactory.getInstance().createDocument();
+<a name="445" href="#445">445</a>         Element root = document.addElement(<span class="string">"root"</span>);
+<a name="446" href="#446">446</a>         root.setText(<span class="string">"bla &#c bla"</span>);
+<a name="447" href="#447">447</a> 
+<a name="448" href="#448">448</a>         writer.write(document);
+<a name="449" href="#449">449</a> 
+<a name="450" href="#450">450</a>         String result = os.toString();
+<a name="451" href="#451">451</a>         System.out.println(result);
+<a name="452" href="#452">452</a> 
+<a name="453" href="#453">453</a>         Document doc2 = DocumentHelper.parseText(result);
+<a name="454" href="#454">454</a>         doc2.normalize(); <em class="comment">// merges adjacant Text nodes</em>
+<a name="455" href="#455">455</a>         System.out.println(doc2.getRootElement().getText());
+<a name="456" href="#456">456</a>         assertNodesEqual(document, doc2);
+<a name="457" href="#457">457</a>     }
+<a name="458" href="#458">458</a> 
+<a name="459" href="#459">459</a>     <strong>public</strong> <strong>void</strong> testWriteEntities() throws Exception {
+<a name="460" href="#460">460</a>         String xml = <span class="string">"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"</span>
+<a name="461" href="#461">461</a>                 + <span class="string">"<!DOCTYPE xml [<!ENTITY copy \"&#169;\"> "</span>
+<a name="462" href="#462">462</a>                 + <span class="string">"<!ENTITY trade \"&#8482;\"> "</span>
+<a name="463" href="#463">463</a>                 + <span class="string">"<!ENTITY deg \"&#x00b0;\"> "</span> + <span class="string">"<!ENTITY gt \"&#62;\"> "</span>
+<a name="464" href="#464">464</a>                 + <span class="string">"<!ENTITY sup2 \"&#x00b2;\"> "</span>
+<a name="465" href="#465">465</a>                 + <span class="string">"<!ENTITY frac14 \"&#x00bc;\"> "</span>
+<a name="466" href="#466">466</a>                 + <span class="string">"<!ENTITY quot \"&#34;\"> "</span>
+<a name="467" href="#467">467</a>                 + <span class="string">"<!ENTITY frac12 \"&#x00bd;\"> "</span>
+<a name="468" href="#468">468</a>                 + <span class="string">"<!ENTITY euro \"&#x20ac;\"> "</span>
+<a name="469" href="#469">469</a>                 + <span class="string">"<!ENTITY Omega \"&#937;\"> ]>\n"</span> + <span class="string">"<root />"</span>;
+<a name="470" href="#470">470</a> 
+<a name="471" href="#471">471</a>         SAXReader reader = <strong>new</strong> SAXReader(<span class="string">"org.apache.xerces.parsers.SAXParser"</span>);
+<a name="472" href="#472">472</a>         reader.setIncludeInternalDTDDeclarations(<strong>true</strong>);
+<a name="473" href="#473">473</a> 
+<a name="474" href="#474">474</a>         Document doc = reader.read(<strong>new</strong> StringReader(xml));
+<a name="475" href="#475">475</a>         StringWriter wr = <strong>new</strong> StringWriter();
+<a name="476" href="#476">476</a>         XMLWriter writer = <strong>new</strong> XMLWriter(wr);
+<a name="477" href="#477">477</a>         writer.write(doc);
+<a name="478" href="#478">478</a> 
+<a name="479" href="#479">479</a>         String xml2 = wr.toString();
+<a name="480" href="#480">480</a>         System.out.println(xml2);
+<a name="481" href="#481">481</a> 
+<a name="482" href="#482">482</a>         Document doc2 = DocumentHelper.parseText(xml2);
+<a name="483" href="#483">483</a> 
+<a name="484" href="#484">484</a>         assertNodesEqual(doc, doc2);
+<a name="485" href="#485">485</a>     }
+<a name="486" href="#486">486</a> 
+<a name="487" href="#487">487</a>     <strong>public</strong> <strong>void</strong> testEscapeChars() throws Exception {
+<a name="488" href="#488">488</a>         Document document = DocumentFactory.getInstance().createDocument();
+<a name="489" href="#489">489</a>         Element root = document.addElement(<span class="string">"root"</span>);
+<a name="490" href="#490">490</a>         root.setText(<span class="string">"blahblah "</span> + '\u008f');
+<a name="491" href="#491">491</a> 
+<a name="492" href="#492">492</a>         XMLWriter writer = <strong>new</strong> XMLWriter();
+<a name="493" href="#493">493</a>         StringWriter strWriter = <strong>new</strong> StringWriter();
+<a name="494" href="#494">494</a>         writer.setWriter(strWriter);
+<a name="495" href="#495">495</a>         writer.setMaximumAllowedCharacter(127);
+<a name="496" href="#496">496</a>         writer.write(document);
+<a name="497" href="#497">497</a> 
+<a name="498" href="#498">498</a>         String xml = strWriter.toString();
+<a name="499" href="#499">499</a>     }
+<a name="500" href="#500">500</a> 
+<a name="501" href="#501">501</a>     <strong>public</strong> <strong>void</strong> testEscapeText() throws SAXException {
+<a name="502" href="#502">502</a>         StringWriter writer = <strong>new</strong> StringWriter();
+<a name="503" href="#503">503</a>         XMLWriter xmlWriter = <strong>new</strong> XMLWriter(writer);
+<a name="504" href="#504">504</a>         xmlWriter.setEscapeText(false);
+<a name="505" href="#505">505</a> 
+<a name="506" href="#506">506</a>         String txt = <span class="string">"<test></test>"</span>;
+<a name="507" href="#507">507</a> 
+<a name="508" href="#508">508</a>         xmlWriter.startDocument();
+<a name="509" href="#509">509</a>         xmlWriter.characters(txt.toCharArray(), 0, txt.length());
+<a name="510" href="#510">510</a>         xmlWriter.endDocument();
+<a name="511" href="#511">511</a> 
+<a name="512" href="#512">512</a>         String output = writer.toString();
+<a name="513" href="#513">513</a>         System.out.println(output);
+<a name="514" href="#514">514</a>         assertTrue(output.indexOf(<span class="string">"<test>"</span>) != -1);
+<a name="515" href="#515">515</a>     }
+<a name="516" href="#516">516</a> 
+<a name="517" href="#517">517</a>     <strong>public</strong> <strong>void</strong> testNullCData() {
+<a name="518" href="#518">518</a>         Element e = DocumentHelper.createElement(<span class="string">"test"</span>);
+<a name="519" href="#519">519</a>         e.add(DocumentHelper.createElement(<span class="string">"another"</span>).addCDATA(<strong>null</strong>));
+<a name="520" href="#520">520</a> 
+<a name="521" href="#521">521</a>         Document doc = DocumentHelper.createDocument(e);
+<a name="522" href="#522">522</a> 
+<a name="523" href="#523">523</a>         assertEquals(-1, e.asXML().indexOf(<span class="string">"null"</span>));
+<a name="524" href="#524">524</a>         assertEquals(-1, doc.asXML().indexOf(<span class="string">"null"</span>));
+<a name="525" href="#525">525</a> 
+<a name="526" href="#526">526</a>         System.out.println(e.asXML());
+<a name="527" href="#527">527</a>         System.out.println(doc.asXML());
+<a name="528" href="#528">528</a>     }
+<a name="529" href="#529">529</a> 
+<a name="530" href="#530">530</a>     <strong>protected</strong> <strong>void</strong> generateXML(ContentHandler handler) throws SAXException {
+<a name="531" href="#531">531</a>         handler.startDocument();
+<a name="532" href="#532">532</a> 
+<a name="533" href="#533">533</a>         AttributesImpl attrs = <strong>new</strong> AttributesImpl();
+<a name="534" href="#534">534</a>         attrs.clear();
+<a name="535" href="#535">535</a>         attrs.addAttribute(<span class="string">""</span>, <span class="string">""</span>, <span class="string">"name"</span>, <span class="string">"CDATA"</span>, <span class="string">"arvojoo"</span>);
+<a name="536" href="#536">536</a>         handler.startElement(<span class="string">""</span>, <span class="string">""</span>, <span class="string">"processes"</span>, attrs);
+<a name="537" href="#537">537</a> 
+<a name="538" href="#538">538</a>         String text = <span class="string">"jeejee"</span>;
+<a name="539" href="#539">539</a>         <strong>char</strong>[] textch = text.toCharArray();
+<a name="540" href="#540">540</a>         handler.characters(textch, 0, textch.length);
+<a name="541" href="#541">541</a>         handler.endElement(<span class="string">""</span>, <span class="string">""</span>, <span class="string">"processes"</span>);
+<a name="542" href="#542">542</a>         handler.endDocument();
+<a name="543" href="#543">543</a>     }
+<a name="544" href="#544">544</a> }
+<a name="545" href="#545">545</a> 
+<a name="546" href="#546">546</a> <em class="comment">/*</em>
+<a name="547" href="#547">547</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="548" href="#548">548</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="549" href="#549">549</a> <em class="comment"> * following conditions are met:</em>
+<a name="550" href="#550">550</a> <em class="comment"> * </em>
+<a name="551" href="#551">551</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="552" href="#552">552</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="553" href="#553">553</a> <em class="comment"> * </em>
+<a name="554" href="#554">554</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="555" href="#555">555</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="556" href="#556">556</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="557" href="#557">557</a> <em class="comment"> * </em>
+<a name="558" href="#558">558</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="559" href="#559">559</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="560" href="#560">560</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="561" href="#561">561</a> <em class="comment"> * </em>
+<a name="562" href="#562">562</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="563" href="#563">563</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="564" href="#564">564</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="565" href="#565">565</a> <em class="comment"> * </em>
+<a name="566" href="#566">566</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="567" href="#567">567</a> <em class="comment"> * </em>
+<a name="568" href="#568">568</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="569" href="#569">569</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="570" href="#570">570</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="571" href="#571">571</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="572" href="#572">572</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="573" href="#573">573</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="574" href="#574">574</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="575" href="#575">575</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="576" href="#576">576</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="577" href="#577">577</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="578" href="#578">578</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="579" href="#579">579</a> <em class="comment"> * </em>
+<a name="580" href="#580">580</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="581" href="#581">581</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/XPathBugTest.html b/docs/xref-test/org/dom4j/XPathBugTest.html
new file mode 100644
index 0000000..5795da1
--- /dev/null
+++ b/docs/xref-test/org/dom4j/XPathBugTest.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XPathBugTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * A test harness to test XPath expression evaluation in DOM4J</em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="18" href="#18">18</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/XPathBugTest.html">XPathBugTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="21" href="#21">21</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="22" href="#22">22</a>          TestRunner.run(XPathBugTest.<strong>class</strong>);
+<a name="23" href="#23">23</a>      }
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <em class="comment">// Test case(s)</em>
+<a name="26" href="#26">26</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="28" href="#28">28</a>          Document document = getDocument(<span class="string">"/xml/rabo1ae.xml"</span>);
+<a name="29" href="#29">29</a>          Element root = (Element) document
+<a name="30" href="#30">30</a>                  .selectSingleNode(<span class="string">"/m:Msg/m:Contents/m:Content"</span>);
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          assertTrue(<span class="string">"root is not null"</span>, root != <strong>null</strong>);
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>          Namespace ns = root.getNamespaceForPrefix(<span class="string">"ab"</span>);
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          assertTrue(<span class="string">"Found namespace"</span>, ns != <strong>null</strong>);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          System.out.println(<span class="string">"Found: "</span> + ns.getURI());
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          Element element = (Element) root
+<a name="41" href="#41">41</a>                  .selectSingleNode(<span class="string">"ab:RaboPayLoad[@id='1234123']"</span>);
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          assertTrue(<span class="string">"element is not null"</span>, element != <strong>null</strong>);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          String value = element.valueOf(<span class="string">"ab:AccountingEntry/ab:RateType"</span>);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          assertEquals(<span class="string">"RateType is correct"</span>, <span class="string">"CRRNT"</span>, value);
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
+<a name="51" href="#51">51</a>  <em>     * A bug found by Rob Lebowitz</em>
+<a name="52" href="#52">52</a>  <em>     * </em>
+<a name="53" href="#53">53</a>  <em>     * @throws Exception</em>
+<a name="54" href="#54">54</a>  <em>     *             DOCUMENT ME!</em>
+<a name="55" href="#55">55</a>  <em>     */</em>
+<a name="56" href="#56">56</a>      <strong>public</strong> <strong>void</strong> testRobLebowitz() throws Exception {
+<a name="57" href="#57">57</a>          String text = <span class="string">"<ul>"</span> + <span class="string">"    <ul>"</span> + <span class="string">"        <li/>"</span>
+<a name="58" href="#58">58</a>                  + <span class="string">"            <ul>"</span> + <span class="string">"                <li/>"</span>
+<a name="59" href="#59">59</a>                  + <span class="string">"            </ul>"</span> + <span class="string">"        <li/>"</span> + <span class="string">"    </ul>"</span> + <span class="string">"</ul>"</span>;
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          Document document = DocumentHelper.parseText(text);
+<a name="62" href="#62">62</a>          List lists = document.selectNodes(<span class="string">"//ul | //ol"</span>);
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          <strong>int</strong> count = 0;
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < lists.size(); i++) {
+<a name="67" href="#67">67</a>              Element list = (Element) lists.get(i);
+<a name="68" href="#68">68</a>              List nodes = list.selectNodes(<span class="string">"ancestor::ul"</span>);
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>              <strong>if</strong> ((nodes != <strong>null</strong>) && (nodes.size() > 0)) {
+<a name="71" href="#71">71</a>                  <strong>continue</strong>;
+<a name="72" href="#72">72</a>              }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>              nodes = list.selectNodes(<span class="string">"ancestor::ol"</span>);
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>              <strong>if</strong> ((nodes != <strong>null</strong>) && (nodes.size() > 0)) {
+<a name="77" href="#77">77</a>                  <strong>continue</strong>;
+<a name="78" href="#78">78</a>              }
+<a name="79" href="#79">79</a>          }
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <em>/**<em>*</em></em>
+<a name="83" href="#83">83</a>  <em>     * A bug found by Stefan which results in IndexOutOfBoundsException for</em>
+<a name="84" href="#84">84</a>  <em>     * empty results</em>
+<a name="85" href="#85">85</a>  <em>     * </em>
+<a name="86" href="#86">86</a>  <em>     * @throws Exception</em>
+<a name="87" href="#87">87</a>  <em>     *             DOCUMENT ME!</em>
+<a name="88" href="#88">88</a>  <em>     */</em>
+<a name="89" href="#89">89</a>      <strong>public</strong> <strong>void</strong> testStefan() throws Exception {
+<a name="90" href="#90">90</a>          String text = <span class="string">"<foo>hello</foo>"</span>;
+<a name="91" href="#91">91</a>          Document document = DocumentHelper.parseText(text);
+<a name="92" href="#92">92</a>          XPath xpath = DocumentHelper.createXPath(<span class="string">"/x"</span>);
+<a name="93" href="#93">93</a>          Object value = xpath.evaluate(document);
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <em>/**<em>*</em></em>
+<a name="97" href="#97">97</a>  <em>     * Test found by Mike Skells</em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     * @throws Exception</em>
+<a name="100" href="#100">100</a> <em>     *             DOCUMENT ME!</em>
+<a name="101" href="#101">101</a> <em>     */</em>
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>void</strong> testMikeSkells() throws Exception {
+<a name="103" href="#103">103</a>         Document top = DocumentFactory.getInstance().createDocument();
+<a name="104" href="#104">104</a>         Element root = top.addElement(<span class="string">"root"</span>);
+<a name="105" href="#105">105</a>         root.addElement(<span class="string">"child1"</span>).addElement(<span class="string">"child11"</span>);
+<a name="106" href="#106">106</a>         root.addElement(<span class="string">"child2"</span>).addElement(<span class="string">"child21"</span>);
+<a name="107" href="#107">107</a>         System.out.println(top.asXML());
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>         XPath test1 = top.createXPath(<span class="string">"/root/child1/child11"</span>);
+<a name="110" href="#110">110</a>         XPath test2 = top.createXPath(<span class="string">"/root/child2/child21"</span>);
+<a name="111" href="#111">111</a>         Node position1 = test1.selectSingleNode(root);
+<a name="112" href="#112">112</a>         Node position2 = test2.selectSingleNode(root);
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>         System.out.println(<span class="string">"test1= "</span> + test1);
+<a name="115" href="#115">115</a>         System.out.println(<span class="string">"test2= "</span> + test2);
+<a name="116" href="#116">116</a>         System.out.println(<span class="string">"Position1 Xpath = "</span> + position1.getUniquePath());
+<a name="117" href="#117">117</a>         System.out.println(<span class="string">"Position2 Xpath = "</span> + position2.getUniquePath());
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         System.out.println(<span class="string">"test2.matches(position1) : "</span>
+<a name="120" href="#120">120</a>                 + test2.matches(position1));
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>         assertTrue(<span class="string">"test1.matches(position1)"</span>, test1.matches(position1));
+<a name="123" href="#123">123</a>         assertTrue(<span class="string">"test2.matches(position2)"</span>, test2.matches(position2));
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>         assertTrue(<span class="string">"test2.matches(position1) should be false"</span>, !test2
+<a name="126" href="#126">126</a>                 .matches(position1));
+<a name="127" href="#127">127</a>     }
+<a name="128" href="#128">128</a> }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a> <em class="comment">/*</em>
+<a name="131" href="#131">131</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="132" href="#132">132</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="133" href="#133">133</a> <em class="comment"> * following conditions are met:</em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="136" href="#136">136</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="137" href="#137">137</a> <em class="comment"> * </em>
+<a name="138" href="#138">138</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="139" href="#139">139</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="140" href="#140">140</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="141" href="#141">141</a> <em class="comment"> * </em>
+<a name="142" href="#142">142</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="143" href="#143">143</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="144" href="#144">144</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="145" href="#145">145</a> <em class="comment"> * </em>
+<a name="146" href="#146">146</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="147" href="#147">147</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="148" href="#148">148</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="149" href="#149">149</a> <em class="comment"> * </em>
+<a name="150" href="#150">150</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="151" href="#151">151</a> <em class="comment"> * </em>
+<a name="152" href="#152">152</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="153" href="#153">153</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="154" href="#154">154</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="155" href="#155">155</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="156" href="#156">156</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="157" href="#157">157</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="158" href="#158">158</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="159" href="#159">159</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="160" href="#160">160</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="161" href="#161">161</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="162" href="#162">162</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="163" href="#163">163</a> <em class="comment"> * </em>
+<a name="164" href="#164">164</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="165" href="#165">165</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/XPathExamplesTest.html b/docs/xref-test/org/dom4j/XPathExamplesTest.html
new file mode 100644
index 0000000..f26ef70
--- /dev/null
+++ b/docs/xref-test/org/dom4j/XPathExamplesTest.html
@@ -0,0 +1,244 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XPathExamplesTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.rule.Pattern;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * Performs a number of unit test cases on the XPath engine</em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.5 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/XPathExamplesTest.html">XPathExamplesTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="25" href="#25">25</a>      <strong>protected</strong> SAXReader xmlReader = <strong>new</strong> SAXReader();
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em>/**<em>* The document on which the tests are being run */</em></em>
+<a name="28" href="#28">28</a>      <strong>protected</strong> Document testDocument;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>* The context node on which the tests are being run */</em></em>
+<a name="31" href="#31">31</a>      <strong>protected</strong> Node testContext;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>* factory for XPath, Patterns and nodes */</em></em>
+<a name="34" href="#34">34</a>      <strong>protected</strong> DocumentFactory factory = DocumentFactory.getInstance();
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="37" href="#37">37</a>          TestRunner.run(XPathExamplesTest.<strong>class</strong>);
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em class="comment">// Test case(s)</em>
+<a name="41" href="#41">41</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="43" href="#43">43</a>          Document document = getDocument(<span class="string">"/xml/test/xpath/tests.xml"</span>);
+<a name="44" href="#44">44</a>          Element root = document.getRootElement();
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          Iterator iter = root.elementIterator(<span class="string">"document"</span>);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          <strong>while</strong> (iter.hasNext()) {
+<a name="49" href="#49">49</a>              Element documentTest = (Element) iter.next();
+<a name="50" href="#50">50</a>              testDocument(documentTest);
+<a name="51" href="#51">51</a>          }
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <em class="comment">// Implementation methods</em>
+<a name="55" href="#55">55</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="56" href="#56">56</a>      <strong>protected</strong> <strong>void</strong> testDocument(Element documentTest) throws Exception {
+<a name="57" href="#57">57</a>          String url = documentTest.attributeValue(<span class="string">"url"</span>);
+<a name="58" href="#58">58</a>          testDocument = xmlReader.read(getFile(url));
+<a name="59" href="#59">59</a>          assertTrue(<span class="string">"Loaded test document: "</span> + url, testDocument != <strong>null</strong>);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          log(<span class="string">"Loaded document: "</span> + url);
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          <strong>for</strong> (Iterator iter = documentTest.elementIterator(<span class="string">"context"</span>); iter
+<a name="64" href="#64">64</a>                  .hasNext();) {
+<a name="65" href="#65">65</a>              Element context = (Element) iter.next();
+<a name="66" href="#66">66</a>              testContext(documentTest, context);
+<a name="67" href="#67">67</a>          }
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>protected</strong> <strong>void</strong> testContext(Element documentTest, Element context)
+<a name="71" href="#71">71</a>              throws Exception {
+<a name="72" href="#72">72</a>          String xpath = context.attributeValue(<span class="string">"select"</span>);
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>          List list = testDocument.selectNodes(xpath);
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          assertTrue(<span class="string">"Found at least one context nodes to test for path: "</span>
+<a name="77" href="#77">77</a>                  + xpath, (list != <strong>null</strong>) && (list.size() > 0));
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>          <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="80" href="#80">80</a>              Object object = iter.next();
+<a name="81" href="#81">81</a>              assertTrue(<span class="string">"Context node is a Node: "</span> + object,
+<a name="82" href="#82">82</a>                      object instanceof Node);
+<a name="83" href="#83">83</a>              testContext = (Node) object;
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>              log(<span class="string">"Context is now: "</span> + testContext);
+<a name="86" href="#86">86</a>              runTests(documentTest, context);
+<a name="87" href="#87">87</a>              log(<span class="string">""</span>);
+<a name="88" href="#88">88</a>          }
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>protected</strong> <strong>void</strong> runTests(Element documentTest, Element context)
+<a name="92" href="#92">92</a>              throws Exception {
+<a name="93" href="#93">93</a>          <strong>for</strong> (Iterator iter = context.elementIterator(<span class="string">"test"</span>); iter.hasNext();) {
+<a name="94" href="#94">94</a>              Element test = (Element) iter.next();
+<a name="95" href="#95">95</a>              runTest(documentTest, context, test);
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          <strong>for</strong> (Iterator it = context.elementIterator(<span class="string">"valueOf"</span>); it.hasNext();) {
+<a name="99" href="#99">99</a>              Element valueOf = (Element) it.next();
+<a name="100" href="#100">100</a>             testValueOf(documentTest, context, valueOf);
+<a name="101" href="#101">101</a>         }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         <strong>for</strong> (Iterator it = context.elementIterator(<span class="string">"pattern"</span>); it.hasNext();) {
+<a name="104" href="#104">104</a>             Element pattern = (Element) it.next();
+<a name="105" href="#105">105</a>             testPattern(documentTest, context, pattern);
+<a name="106" href="#106">106</a>         }
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>         Iterator it = context.elementIterator(<span class="string">"fileter"</span>);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         <strong>while</strong> (it.hasNext()) {
+<a name="111" href="#111">111</a>             Element filter = (Element) it.next();
+<a name="112" href="#112">112</a>             testFilter(documentTest, context, filter);
+<a name="113" href="#113">113</a>         }
+<a name="114" href="#114">114</a>     }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>     <strong>protected</strong> <strong>void</strong> runTest(Element documentTest, Element context, Element test)
+<a name="117" href="#117">117</a>             throws Exception {
+<a name="118" href="#118">118</a>         String xpath = test.attributeValue(<span class="string">"select"</span>);
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         String description = <span class="string">"Path: "</span> + xpath;
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>         String exception = test.attributeValue(<span class="string">"exception"</span>);
+<a name="123" href="#123">123</a>         <strong>if</strong> ((exception != <strong>null</strong>) && exception.equals(<span class="string">"true"</span>)) {
+<a name="124" href="#124">124</a>             <strong>try</strong> {
+<a name="125" href="#125">125</a>                 testContext.selectNodes(xpath);
+<a name="126" href="#126">126</a>                 fail(<span class="string">"Exception was not thrown"</span>);
+<a name="127" href="#127">127</a>             } <strong>catch</strong> (XPathException e) {
+<a name="128" href="#128">128</a>                 <strong>return</strong>;
+<a name="129" href="#129">129</a>             }
+<a name="130" href="#130">130</a>         }
+<a name="131" href="#131">131</a>         
+<a name="132" href="#132">132</a>         String count = test.attributeValue(<span class="string">"count"</span>);
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>         <strong>if</strong> (count != <strong>null</strong>) {
+<a name="135" href="#135">135</a>             <strong>int</strong> expectedSize = Integer.parseInt(count);
+<a name="136" href="#136">136</a>             List results = testContext.selectNodes(xpath);
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>             log(description + <span class="string">" found result size: "</span> + results.size());
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>             assertEquals(description + <span class="string">" wrong result size"</span>, expectedSize,
+<a name="141" href="#141">141</a>                     results.size());
+<a name="142" href="#142">142</a>         }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>         Element valueOf = test.element(<span class="string">"valueOf"</span>);
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>         <strong>if</strong> (valueOf != <strong>null</strong>) {
+<a name="147" href="#147">147</a>             Node node = testContext.selectSingleNode(xpath);
+<a name="148" href="#148">148</a>             assertTrue(description + <span class="string">" found node"</span>, node != <strong>null</strong>);
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>             String expected = valueOf.getText();
+<a name="151" href="#151">151</a>             String result = node.valueOf(valueOf.attributeValue(<span class="string">"select"</span>));
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>             log(description);
+<a name="154" href="#154">154</a>             log(<span class="string">"\texpected: "</span> + expected + <span class="string">" result: "</span> + result);
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>             assertEquals(description, expected, result);
+<a name="157" href="#157">157</a>         }
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <strong>protected</strong> <strong>void</strong> testValueOf(Element documentTest, Element context,
+<a name="161" href="#161">161</a>             Element valueOf) throws Exception {
+<a name="162" href="#162">162</a>         String xpath = valueOf.attributeValue(<span class="string">"select"</span>);
+<a name="163" href="#163">163</a>         String description = <span class="string">"valueOf: "</span> + xpath;
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>         String expected = valueOf.getText();
+<a name="166" href="#166">166</a>         String result = testContext.valueOf(xpath);
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>         log(description);
+<a name="169" href="#169">169</a>         log(<span class="string">"\texpected: "</span> + expected + <span class="string">" result: "</span> + result);
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>         assertEquals(description, expected, result);
+<a name="172" href="#172">172</a>     }
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>     <strong>protected</strong> <strong>void</strong> testPattern(Element documentTest, Element context,
+<a name="175" href="#175">175</a>             Element patternElement) throws Exception {
+<a name="176" href="#176">176</a>         String match = patternElement.attributeValue(<span class="string">"match"</span>);
+<a name="177" href="#177">177</a>         String description = <span class="string">"match: "</span> + match;
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         log(<span class="string">""</span>);
+<a name="180" href="#180">180</a>         log(description);
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>         Pattern pattern = factory.createPattern(match);
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>         assertTrue(description, pattern.matches(testContext));
+<a name="185" href="#185">185</a>     }
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>     <strong>protected</strong> <strong>void</strong> testFilter(Element documentTest, Element context,
+<a name="188" href="#188">188</a>             Element pattern) throws Exception {
+<a name="189" href="#189">189</a>         String match = pattern.attributeValue(<span class="string">"match"</span>);
+<a name="190" href="#190">190</a>         String description = <span class="string">"match: "</span> + match;
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>         assertTrue(description, testContext.matches(match));
+<a name="193" href="#193">193</a>     }
+<a name="194" href="#194">194</a> }
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a> <em class="comment">/*</em>
+<a name="197" href="#197">197</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="198" href="#198">198</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="199" href="#199">199</a> <em class="comment"> * following conditions are met:</em>
+<a name="200" href="#200">200</a> <em class="comment"> * </em>
+<a name="201" href="#201">201</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="202" href="#202">202</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="203" href="#203">203</a> <em class="comment"> * </em>
+<a name="204" href="#204">204</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="205" href="#205">205</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="206" href="#206">206</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="207" href="#207">207</a> <em class="comment"> * </em>
+<a name="208" href="#208">208</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="209" href="#209">209</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="210" href="#210">210</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="211" href="#211">211</a> <em class="comment"> * </em>
+<a name="212" href="#212">212</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="213" href="#213">213</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="214" href="#214">214</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="215" href="#215">215</a> <em class="comment"> * </em>
+<a name="216" href="#216">216</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="217" href="#217">217</a> <em class="comment"> * </em>
+<a name="218" href="#218">218</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="219" href="#219">219</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="220" href="#220">220</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="221" href="#221">221</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="222" href="#222">222</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="223" href="#223">223</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="224" href="#224">224</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="225" href="#225">225</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="226" href="#226">226</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="227" href="#227">227</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="228" href="#228">228</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="229" href="#229">229</a> <em class="comment"> * </em>
+<a name="230" href="#230">230</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="231" href="#231">231</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/XPathTest.html b/docs/xref-test/org/dom4j/XPathTest.html
new file mode 100644
index 0000000..a193bb7
--- /dev/null
+++ b/docs/xref-test/org/dom4j/XPathTest.html
@@ -0,0 +1,191 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XPathTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.tree.DefaultElement;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.xpath.DefaultXPath;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * A test harness to test XPath expression evaluation in DOM4J</em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/XPathTest.html">XPathTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="24" href="#24">24</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {
+<a name="25" href="#25">25</a>              <span class="string">"."</span>,
+<a name="26" href="#26">26</a>              <span class="string">"*"</span>,
+<a name="27" href="#27">27</a>              <span class="string">"/"</span>,
+<a name="28" href="#28">28</a>              <span class="string">"/."</span>,
+<a name="29" href="#29">29</a>              <span class="string">"/*"</span>,
+<a name="30" href="#30">30</a>              <span class="string">"/node()"</span>,
+<a name="31" href="#31">31</a>              <span class="string">"/child::node()"</span>,
+<a name="32" href="#32">32</a>              <span class="string">"/self::node()"</span>,
+<a name="33" href="#33">33</a>              <span class="string">"root"</span>,
+<a name="34" href="#34">34</a>              <span class="string">"/root"</span>,
+<a name="35" href="#35">35</a>              <span class="string">"/root/author"</span>,
+<a name="36" href="#36">36</a>              <span class="string">"text()"</span>,
+<a name="37" href="#37">37</a>              <span class="string">"//author"</span>,
+<a name="38" href="#38">38</a>              <span class="string">"//author/text()"</span>,
+<a name="39" href="#39">39</a>              <span class="string">"//@location"</span>,
+<a name="40" href="#40">40</a>              <span class="string">"//attribute::*"</span>,
+<a name="41" href="#41">41</a>              <span class="string">"//namespace::*"</span>,
+<a name="42" href="#42">42</a>              <span class="string">"normalize-space(/root)"</span>,
+<a name="43" href="#43">43</a>              <span class="string">"//author[@location]"</span>,
+<a name="44" href="#44">44</a>              <span class="string">"//author[@location='UK']"</span>,
+<a name="45" href="#45">45</a>              <span class="string">"root|author"</span>,
+<a name="46" href="#46">46</a>              <span class="string">"//*[.='James Strachan']"</span>,
+<a name="47" href="#47">47</a>              <span class="string">"//root/author[1]"</span>,
+<a name="48" href="#48">48</a>              <span class="string">"normalize-space(/root/author)"</span>,
+<a name="49" href="#49">49</a>              <span class="string">"normalize-space(' a  b  c  d ')"</span>,
+<a name="50" href="#50">50</a>              <span class="string">"//root|//author[1]|//author[2]"</span>,
+<a name="51" href="#51">51</a>              <span class="string">"//root/author[2]"</span>,
+<a name="52" href="#52">52</a>              <span class="string">"//root/author[3]"</span>};
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="55" href="#55">55</a>          TestRunner.run(XPathTest.<strong>class</strong>);
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <em class="comment">// Test case(s)</em>
+<a name="59" href="#59">59</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="60" href="#60">60</a>      <strong>public</strong> <strong>void</strong> testBug1116471() throws Exception {
+<a name="61" href="#61">61</a>          String xml = <span class="string">"<a><b>Water T &amp; D-46816</b></a>"</span>;
+<a name="62" href="#62">62</a>          String expected = <span class="string">"Water T & D-46816"</span>;
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          Document doc = DocumentHelper.parseText(xml);
+<a name="65" href="#65">65</a>          String result = (String) doc.selectObject(<span class="string">"string(a/b[1])"</span>);
+<a name="66" href="#66">66</a>          
+<a name="67" href="#67">67</a>          assertEquals(<span class="string">"xpath result not correct"</span>, expected, result);
+<a name="68" href="#68">68</a>          
+<a name="69" href="#69">69</a>          Node node = doc.selectSingleNode(<span class="string">"a/b"</span>);
+<a name="70" href="#70">70</a>          String result2 = node.getStringValue();
+<a name="71" href="#71">71</a>          
+<a name="72" href="#72">72</a>          assertEquals(<span class="string">"xpath result not correct"</span>, expected, result2);        
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>      
+<a name="75" href="#75">75</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="76" href="#76">76</a>          <strong>int</strong> size = paths.length;
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="79" href="#79">79</a>              testXPath(paths[i]);
+<a name="80" href="#80">80</a>          }
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> <strong>void</strong> testCreateXPathBug() throws Exception {
+<a name="84" href="#84">84</a>          Element element = <strong>new</strong> DefaultElement(<span class="string">"foo"</span>);
+<a name="85" href="#85">85</a>          XPath xpath = element.createXPath(<span class="string">"//bar"</span>);
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>          assertTrue((<span class="string">"created a valid XPath: "</span> + xpath) != <strong>null</strong>);
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <strong>public</strong> <strong>void</strong> testBug857704() throws Exception {
+<a name="91" href="#91">91</a>          Document doc = DocumentHelper
+<a name="92" href="#92">92</a>                  .parseText(<span class="string">"<foo xmlns:bar='http://blort'/>"</span>);
+<a name="93" href="#93">93</a>          doc.selectNodes(<span class="string">"//*[preceding-sibling::*]"</span>); // shouldn't <strong>throw</strong> NPE
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <strong>public</strong> <strong>void</strong> testBooleanValueOf() throws Exception {
+<a name="97" href="#97">97</a>          Document doc = DocumentHelper.parseText(<span class="string">"<root><foo>blah</foo></root>"</span>);
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          XPath path = <strong>new</strong> DefaultXPath(<span class="string">"//root"</span>);
+<a name="100" href="#100">100</a>         assertTrue(path.booleanValueOf(doc));
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         path = <strong>new</strong> DefaultXPath(<span class="string">"//root2"</span>);
+<a name="103" href="#103">103</a>         assertFalse(path.booleanValueOf(doc));
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <em class="comment">// Implementation methods</em>
+<a name="107" href="#107">107</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="108" href="#108">108</a>     <strong>protected</strong> <strong>void</strong> testXPath(String xpathExpression) {
+<a name="109" href="#109">109</a>         log(<span class="string">"Searched path: "</span> + xpathExpression);
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         XPath xpath = DocumentHelper.createXPath(xpathExpression);
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>         List list = xpath.selectNodes(document);
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         <strong>if</strong> (list == <strong>null</strong>) {
+<a name="116" href="#116">116</a>             log(<span class="string">"null"</span>);
+<a name="117" href="#117">117</a>         } <strong>else</strong> {
+<a name="118" href="#118">118</a>             log(<span class="string">"["</span>);
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>             <strong>for</strong> (<strong>int</strong> i = 0, size = list.size(); i < size; i++) {
+<a name="121" href="#121">121</a>                 Object object = list.get(i);
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>                 String text = <span class="string">"null"</span>;
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>                 <strong>if</strong> (object instanceof Node) {
+<a name="126" href="#126">126</a>                     Node node = (Node) object;
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>                     text = node.asXML();
+<a name="129" href="#129">129</a>                 } <strong>else</strong> <strong>if</strong> (object != <strong>null</strong>) {
+<a name="130" href="#130">130</a>                     text = object.toString();
+<a name="131" href="#131">131</a>                 }
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>                 log(<span class="string">"    "</span> + text);
+<a name="134" href="#134">134</a>             }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>             log(<span class="string">"]"</span>);
+<a name="137" href="#137">137</a>         }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>         log(<span class="string">"..........................................."</span>);
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a> <em class="comment">/*</em>
+<a name="144" href="#144">144</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="145" href="#145">145</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="146" href="#146">146</a> <em class="comment"> * following conditions are met:</em>
+<a name="147" href="#147">147</a> <em class="comment"> * </em>
+<a name="148" href="#148">148</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="149" href="#149">149</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="150" href="#150">150</a> <em class="comment"> * </em>
+<a name="151" href="#151">151</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="152" href="#152">152</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="153" href="#153">153</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="154" href="#154">154</a> <em class="comment"> * </em>
+<a name="155" href="#155">155</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="156" href="#156">156</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="157" href="#157">157</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="158" href="#158">158</a> <em class="comment"> * </em>
+<a name="159" href="#159">159</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="160" href="#160">160</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="161" href="#161">161</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="162" href="#162">162</a> <em class="comment"> * </em>
+<a name="163" href="#163">163</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="164" href="#164">164</a> <em class="comment"> * </em>
+<a name="165" href="#165">165</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="166" href="#166">166</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="167" href="#167">167</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="168" href="#168">168</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="169" href="#169">169</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="170" href="#170">170</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="171" href="#171">171</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="172" href="#172">172</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="173" href="#173">173</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="174" href="#174">174</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="175" href="#175">175</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="176" href="#176">176</a> <em class="comment"> * </em>
+<a name="177" href="#177">177</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="178" href="#178">178</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/XSLTTest.html b/docs/xref-test/org/dom4j/XSLTTest.html
new file mode 100644
index 0000000..e923d13
--- /dev/null
+++ b/docs/xref-test/org/dom4j/XSLTTest.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XSLTTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> javax.xml.transform.Source;
+<a name="15" href="#15">15</a>  <strong>import</strong> javax.xml.transform.Transformer;
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.transform.TransformerFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> javax.xml.transform.stream.StreamSource;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.io.DocumentResult;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.io.DocumentSource;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em> * Tests that XSLT works correctly</em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/XSLTTest.html">XSLTTest</a> <strong>extends</strong> <a href="../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="30" href="#30">30</a>          TestRunner.run(XSLTTest.<strong>class</strong>);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em class="comment">// Test case(s)</em>
+<a name="34" href="#34">34</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="35" href="#35">35</a>      <strong>public</strong> <strong>void</strong> testTransform() throws Exception {
+<a name="36" href="#36">36</a>          Document transformedDoc = transform(<span class="string">"/xml/nitf/ashtml.xsl"</span>);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          <em class="comment">// log( transformedDoc.asXML() );</em>
+<a name="39" href="#39">39</a>          assertTrue(<span class="string">"Transformed Document is not null"</span>, transformedDoc != <strong>null</strong>);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          List h1List = transformedDoc.selectNodes(<span class="string">"/html//h1"</span>);
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          assertTrue(<span class="string">"At least one <h1>"</span>, h1List.size() > 0);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          List pList = transformedDoc.selectNodes(<span class="string">"//p"</span>);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          assertTrue(<span class="string">"At least one <p>"</span>, pList.size() > 0);
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em class="comment">// Implementation methods</em>
+<a name="51" href="#51">51</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="52" href="#52">52</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="53" href="#53">53</a>          <strong>super</strong>.setUp();
+<a name="54" href="#54">54</a>          document = getDocument(<span class="string">"/xml/nitf/sample.xml"</span>);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>protected</strong> Document transform(String xsl) throws Exception {
+<a name="58" href="#58">58</a>          assertTrue(<span class="string">"Document is not null"</span>, document != <strong>null</strong>);
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <em class="comment">// load the transformer</em>
+<a name="61" href="#61">61</a>          TransformerFactory factory = TransformerFactory.newInstance();
+<a name="62" href="#62">62</a>          Transformer transformer = factory.<strong>new</strong>Transformer(<strong>new</strong> StreamSource(
+<a name="63" href="#63">63</a>                  getFile(xsl)));
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          <em class="comment">// now lets create the TrAX source and result</em>
+<a name="66" href="#66">66</a>          <em class="comment">// objects and do the transformation</em>
+<a name="67" href="#67">67</a>          Source source = <strong>new</strong> DocumentSource(document);
+<a name="68" href="#68">68</a>          DocumentResult result = <strong>new</strong> DocumentResult();
+<a name="69" href="#69">69</a>          transformer.transform(source, result);
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          <strong>return</strong> result.getDocument();
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>  <em class="comment">/*</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * following conditions are met:</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * </em>
+<a name="95" href="#95">95</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="102" href="#102">102</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="103" href="#103">103</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="104" href="#104">104</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="105" href="#105">105</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="106" href="#106">106</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="108" href="#108">108</a> <em class="comment"> * </em>
+<a name="109" href="#109">109</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="110" href="#110">110</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/bean/BeansTest.html b/docs/xref-test/org/dom4j/bean/BeansTest.html
new file mode 100644
index 0000000..ca7fc15
--- /dev/null
+++ b/docs/xref-test/org/dom4j/bean/BeansTest.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BeansTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * DOCUMENT ME!</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:maartenc at users.sourceforge.net" target="alexandria_uri">mailto:maartenc at users.sourceforge.net</a>">Maarten Coene </a></em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/bean/BeansTest.html">BeansTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="21" href="#21">21</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="22" href="#22">22</a>          TestRunner.run(BeansTest.<strong>class</strong>);
+<a name="23" href="#23">23</a>      }
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <em class="comment">// Test case(s)</em>
+<a name="26" href="#26">26</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>void</strong> testReadXML() throws Exception {
+<a name="28" href="#28">28</a>          SAXReader reader = <strong>new</strong> SAXReader(BeanDocumentFactory.getInstance());
+<a name="29" href="#29">29</a>          getDocument(<span class="string">"/xml/bean/gui.xml"</span>, reader);
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>  <em class="comment">/*</em>
+<a name="34" href="#34">34</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * following conditions are met:</em>
+<a name="37" href="#37">37</a>  <em class="comment"> * </em>
+<a name="38" href="#38">38</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * </em>
+<a name="45" href="#45">45</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * </em>
+<a name="53" href="#53">53</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="68" href="#68">68</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/bean/package-frame.html b/docs/xref-test/org/dom4j/bean/package-frame.html
new file mode 100644
index 0000000..e781391
--- /dev/null
+++ b/docs/xref-test/org/dom4j/bean/package-frame.html
@@ -0,0 +1,27 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.bean</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.bean</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="BeansTest.html" target="classFrame">BeansTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/bean/package-summary.html b/docs/xref-test/org/dom4j/bean/package-summary.html
new file mode 100644
index 0000000..1ca5061
--- /dev/null
+++ b/docs/xref-test/org/dom4j/bean/package-summary.html
@@ -0,0 +1,102 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.bean</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="BeansTest.html" target="classFrame">BeansTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/datatype/AbstractDataTypeTestCase.html b/docs/xref-test/org/dom4j/datatype/AbstractDataTypeTestCase.html
new file mode 100644
index 0000000..7360781
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/AbstractDataTypeTestCase.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractDataTypeTestCase xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Iterator;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.List;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Element;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Node;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * Abstract base class useful for implementation inheritence for testing XML</em>
+<a name="20" href="#20">20</a>  <em> * Schema Data Type integration.</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/AbstractDataTypeTestCase.html">AbstractDataTypeTestCase</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="26" href="#26">26</a>      <em class="comment">// Implementation methods</em>
+<a name="27" href="#27">27</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="28" href="#28">28</a>      <strong>protected</strong> <strong>void</strong> testNodes(String xpath, Class type) {
+<a name="29" href="#29">29</a>          List list = document.selectNodes(xpath);
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>          assertTrue(<span class="string">"Results are not empty"</span>, !list.isEmpty());
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>          <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="34" href="#34">34</a>              Node node = (Node) iter.next();
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>              <strong>if</strong> (node instanceof Element) {
+<a name="37" href="#37">37</a>                  Element element = (Element) node;
+<a name="38" href="#38">38</a>                  testDataType(element, element.getData(), type);
+<a name="39" href="#39">39</a>              } <strong>else</strong> <strong>if</strong> (node instanceof Attribute) {
+<a name="40" href="#40">40</a>                  Attribute attribute = (Attribute) node;
+<a name="41" href="#41">41</a>                  testDataType(attribute, attribute.getData(), type);
+<a name="42" href="#42">42</a>              } <strong>else</strong> {
+<a name="43" href="#43">43</a>                  assertTrue(<span class="string">"Did not find an attribute or element: "</span> + node,
+<a name="44" href="#44">44</a>                          false);
+<a name="45" href="#45">45</a>              }
+<a name="46" href="#46">46</a>          }
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>protected</strong> <strong>void</strong> testDataType(Node node, Object data, Class type) {
+<a name="50" href="#50">50</a>          assertTrue(<span class="string">"Data object is not null"</span>, data != <strong>null</strong>);
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          assertTrue(<span class="string">"Data object is of the correct type. Expected: "</span>
+<a name="53" href="#53">53</a>                  + type.getName() + <span class="string">" and found: "</span> + data.getClass().getName(),
+<a name="54" href="#54">54</a>                  type.isAssignableFrom(data.getClass()));
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>  <em class="comment">/*</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * following conditions are met:</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * </em>
+<a name="92" href="#92">92</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="93" href="#93">93</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/datatype/AutoSchemaTest.html b/docs/xref-test/org/dom4j/datatype/AutoSchemaTest.html
new file mode 100644
index 0000000..c778ea1
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/AutoSchemaTest.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AutoSchemaTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.math.BigInteger;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Calendar;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * Test harness for the XML Schema Data Type integration. These tests use</em>
+<a name="20" href="#20">20</a>  <em> * auto-loading of the XML Schema document</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/AutoSchemaTest.html">AutoSchemaTest</a> <strong>extends</strong> <a href="../../../org/dom4j/datatype/AbstractDataTypeTestCase.html">AbstractDataTypeTestCase</a> {
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="27" href="#27">27</a>          TestRunner.run(AutoSchemaTest.<strong>class</strong>);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em class="comment">// Test case(s)</em>
+<a name="31" href="#31">31</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>void</strong> testIntAttribute() throws Exception {
+<a name="33" href="#33">33</a>          testNodes(<span class="string">"//person/@x"</span>, Integer.<strong>class</strong>);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> testIntElement() throws Exception {
+<a name="37" href="#37">37</a>          testNodes(<span class="string">"//person/salary"</span>, Integer.<strong>class</strong>);
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>void</strong> testString() throws Exception {
+<a name="41" href="#41">41</a>          testNodes(<span class="string">"//person/note"</span>, String.<strong>class</strong>);
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <strong>void</strong> testDate() throws Exception {
+<a name="45" href="#45">45</a>          testNodes(<span class="string">"//person/@d"</span>, Calendar.<strong>class</strong>);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <strong>void</strong> testDateTime() throws Exception {
+<a name="49" href="#49">49</a>          testNodes(<span class="string">"//person/@dt"</span>, Calendar.<strong>class</strong>);
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <strong>void</strong> testInteger() throws Exception {
+<a name="53" href="#53">53</a>          testNodes(<span class="string">"//person/@age"</span>, BigInteger.<strong>class</strong>);
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <em class="comment">// Implementation methods</em>
+<a name="57" href="#57">57</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="58" href="#58">58</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="59" href="#59">59</a>          <strong>super</strong>.setUp();
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          DocumentFactory factory = loadDocumentFactory();
+<a name="62" href="#62">62</a>          SAXReader reader = <strong>new</strong> SAXReader(factory);
+<a name="63" href="#63">63</a>          document = getDocument(getDocumentURI(), reader);
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <strong>protected</strong> String getDocumentURI() {
+<a name="67" href="#67">67</a>          <strong>return</strong> <span class="string">"/xml/test/schema/personal-schema.xml"</span>;
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>protected</strong> DocumentFactory loadDocumentFactory() throws Exception {
+<a name="71" href="#71">71</a>          <strong>return</strong> DatatypeDocumentFactory.getInstance();
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>  <em class="comment">/*</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * following conditions are met:</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * </em>
+<a name="95" href="#95">95</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="102" href="#102">102</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="103" href="#103">103</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="104" href="#104">104</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="105" href="#105">105</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="106" href="#106">106</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="108" href="#108">108</a> <em class="comment"> * </em>
+<a name="109" href="#109">109</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="110" href="#110">110</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/datatype/DataTypesTest.html b/docs/xref-test/org/dom4j/datatype/DataTypesTest.html
new file mode 100644
index 0000000..9106bce
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/DataTypesTest.html
@@ -0,0 +1,201 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DataTypesTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.math.BigDecimal;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.math.BigInteger;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.Calendar;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * Test harness to test the various data types supported in the XML Schema Data</em>
+<a name="21" href="#21">21</a>  <em> * Type integration.</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/DataTypesTest.html">DataTypesTest</a> <strong>extends</strong> <a href="../../../org/dom4j/datatype/AbstractDataTypeTestCase.html">AbstractDataTypeTestCase</a> {
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="28" href="#28">28</a>          TestRunner.run(DataTypesTest.<strong>class</strong>);
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em class="comment">// Test case(s)</em>
+<a name="32" href="#32">32</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>void</strong> testgMonthDay() throws Exception {
+<a name="34" href="#34">34</a>          testNodes(<span class="string">"//gMonthDayTag"</span>, Calendar.<strong>class</strong>);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <strong>void</strong> testgDay() throws Exception {
+<a name="38" href="#38">38</a>          testNodes(<span class="string">"//gDayTag"</span>, Calendar.<strong>class</strong>);
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> <strong>void</strong> testgMonth() throws Exception {
+<a name="42" href="#42">42</a>          testNodes(<span class="string">"//gMonthTag"</span>, Calendar.<strong>class</strong>);
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <strong>void</strong> testDate() throws Exception {
+<a name="46" href="#46">46</a>          testNodes(<span class="string">"//dateTag"</span>, Calendar.<strong>class</strong>);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> testTime() throws Exception {
+<a name="50" href="#50">50</a>          testNodes(<span class="string">"//timeTag"</span>, Calendar.<strong>class</strong>);
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <strong>void</strong> testDateTime() throws Exception {
+<a name="54" href="#54">54</a>          testNodes(<span class="string">"//dateTimeTag"</span>, Calendar.<strong>class</strong>);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> testgYearMonth() throws Exception {
+<a name="58" href="#58">58</a>          testNodes(<span class="string">"//gYearMonthTag"</span>, Calendar.<strong>class</strong>);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>void</strong> testgYear() throws Exception {
+<a name="62" href="#62">62</a>          testNodes(<span class="string">"//gYearTag"</span>, Calendar.<strong>class</strong>);
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>void</strong> testBoolean() throws Exception {
+<a name="66" href="#66">66</a>          testNodes(<span class="string">"//booleanTag"</span>, Boolean.<strong>class</strong>);
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <strong>void</strong> testBase64Binary() throws Exception {
+<a name="70" href="#70">70</a>          testNodes(<span class="string">"//base64BinaryTag"</span>, byte[].<strong>class</strong>);
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <strong>void</strong> testHexBinary() throws Exception {
+<a name="74" href="#74">74</a>          testNodes(<span class="string">"//hexBinaryTag"</span>, byte[].<strong>class</strong>);
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <em class="comment">// Number types</em>
+<a name="78" href="#78">78</a>      <strong>public</strong> <strong>void</strong> testFloat() throws Exception {
+<a name="79" href="#79">79</a>          testNodes(<span class="string">"//floatTag"</span>, Float.<strong>class</strong>);
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <strong>public</strong> <strong>void</strong> testDouble() throws Exception {
+<a name="83" href="#83">83</a>          testNodes(<span class="string">"//doubleTag"</span>, Double.<strong>class</strong>);
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <strong>public</strong> <strong>void</strong> testDecimal() throws Exception {
+<a name="87" href="#87">87</a>          testNodes(<span class="string">"//decimalTag"</span>, BigDecimal.<strong>class</strong>);
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <strong>public</strong> <strong>void</strong> testInteger() throws Exception {
+<a name="91" href="#91">91</a>          testNodes(<span class="string">"//integerTag"</span>, BigInteger.<strong>class</strong>);
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <strong>public</strong> <strong>void</strong> testNonPositiveInteger() throws Exception {
+<a name="95" href="#95">95</a>          testNodes(<span class="string">"//nonPositiveIntegerTag"</span>, BigInteger.<strong>class</strong>);
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <strong>public</strong> <strong>void</strong> testNegativeInteger() throws Exception {
+<a name="99" href="#99">99</a>          testNodes(<span class="string">"//negativeIntegerTag"</span>, BigInteger.<strong>class</strong>);
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>void</strong> testLong() throws Exception {
+<a name="103" href="#103">103</a>         testNodes(<span class="string">"//longTag"</span>, Long.<strong>class</strong>);
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <strong>public</strong> <strong>void</strong> testInt() throws Exception {
+<a name="107" href="#107">107</a>         testNodes(<span class="string">"//intTag"</span>, Integer.<strong>class</strong>);
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <strong>public</strong> <strong>void</strong> testShort() throws Exception {
+<a name="111" href="#111">111</a>         testNodes(<span class="string">"//shortTag"</span>, Short.<strong>class</strong>);
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> <strong>void</strong> testByte() throws Exception {
+<a name="115" href="#115">115</a>         testNodes(<span class="string">"//byteTag"</span>, Byte.<strong>class</strong>);
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <strong>public</strong> <strong>void</strong> testNonNegativeInteger() throws Exception {
+<a name="119" href="#119">119</a>         testNodes(<span class="string">"//nonNegativeIntegerTag"</span>, BigInteger.<strong>class</strong>);
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>     <strong>public</strong> <strong>void</strong> testUnsignedLong() throws Exception {
+<a name="123" href="#123">123</a>         testNodes(<span class="string">"//unsignedLongTag"</span>, BigInteger.<strong>class</strong>);
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <strong>public</strong> <strong>void</strong> testUnsignedInt() throws Exception {
+<a name="127" href="#127">127</a>         testNodes(<span class="string">"//unsignedIntTag"</span>, Long.<strong>class</strong>);
+<a name="128" href="#128">128</a>     }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>     <strong>public</strong> <strong>void</strong> testUnsignedShort() throws Exception {
+<a name="131" href="#131">131</a>         testNodes(<span class="string">"//unsignedShortTag"</span>, Integer.<strong>class</strong>);
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>     <strong>public</strong> <strong>void</strong> testUnsignedByte() throws Exception {
+<a name="135" href="#135">135</a>         testNodes(<span class="string">"//unsignedByteTag"</span>, Short.<strong>class</strong>);
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <strong>public</strong> <strong>void</strong> testPositiveInteger() throws Exception {
+<a name="139" href="#139">139</a>         testNodes(<span class="string">"//positiveIntegerTag"</span>, BigInteger.<strong>class</strong>);
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>     <em class="comment">// Implementation methods</em>
+<a name="143" href="#143">143</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="144" href="#144">144</a>     <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="145" href="#145">145</a>         <strong>super</strong>.setUp();
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>         DocumentFactory factory = DatatypeDocumentFactory.getInstance();
+<a name="148" href="#148">148</a>         SAXReader reader = <strong>new</strong> SAXReader(factory);
+<a name="149" href="#149">149</a>         document = getDocument(<span class="string">"/xml/test/schema/test.xml"</span>, reader);
+<a name="150" href="#150">150</a>     }
+<a name="151" href="#151">151</a> }
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a> <em class="comment">/*</em>
+<a name="154" href="#154">154</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="155" href="#155">155</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="156" href="#156">156</a> <em class="comment"> * following conditions are met:</em>
+<a name="157" href="#157">157</a> <em class="comment"> * </em>
+<a name="158" href="#158">158</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="159" href="#159">159</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="160" href="#160">160</a> <em class="comment"> * </em>
+<a name="161" href="#161">161</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="162" href="#162">162</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="163" href="#163">163</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="164" href="#164">164</a> <em class="comment"> * </em>
+<a name="165" href="#165">165</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="166" href="#166">166</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="167" href="#167">167</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="168" href="#168">168</a> <em class="comment"> * </em>
+<a name="169" href="#169">169</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="170" href="#170">170</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="171" href="#171">171</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="172" href="#172">172</a> <em class="comment"> * </em>
+<a name="173" href="#173">173</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="174" href="#174">174</a> <em class="comment"> * </em>
+<a name="175" href="#175">175</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="176" href="#176">176</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="177" href="#177">177</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="178" href="#178">178</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="179" href="#179">179</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="180" href="#180">180</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="181" href="#181">181</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="182" href="#182">182</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="183" href="#183">183</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="184" href="#184">184</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="185" href="#185">185</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="186" href="#186">186</a> <em class="comment"> * </em>
+<a name="187" href="#187">187</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="188" href="#188">188</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/datatype/Datatype2Test.html b/docs/xref-test/org/dom4j/datatype/Datatype2Test.html
new file mode 100644
index 0000000..b4eddc2
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/Datatype2Test.html
@@ -0,0 +1,304 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Datatype2Test xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringReader;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.text.DateFormat;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.text.SimpleDateFormat;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Calendar;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.GregorianCalendar;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.util.SimpleTimeZone;
+<a name="18" href="#18">18</a>  <strong>import</strong> java.util.TimeZone;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.Document;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Element;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>  <em>/**<em>*</em></em>
+<a name="26" href="#26">26</a>  <em> * Test harness for XML Schema Datatypes support</em>
+<a name="27" href="#27">27</a>  <em> * </em>
+<a name="28" href="#28">28</a>  <em> * @author Yuxin Ruan</em>
+<a name="29" href="#29">29</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="30" href="#30">30</a>  <em> */</em>
+<a name="31" href="#31">31</a>  <strong>public</strong> <strong>class</strong> Datatype2Test <strong>extends</strong> <a href="../../../org/dom4j/datatype/AbstractDataTypeTestCase.html">AbstractDataTypeTestCase</a> {
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> YEAR = 2001;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MONTH = 10;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> DATE = 31;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="39" href="#39">39</a>          TestRunner.run(Datatype2Test.<strong>class</strong>);
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> testSchema() throws Exception {
+<a name="43" href="#43">43</a>          Document schema = getSchema();
+<a name="44" href="#44">44</a>          validateDocumentWithSchema(schema);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> <strong>void</strong> testSchemaWithNamedComplexType() throws Exception {
+<a name="48" href="#48">48</a>          Document schema = getSchemaWithNamedComplexType();
+<a name="49" href="#49">49</a>          validateDocumentWithSchema(schema);
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <strong>void</strong> testSchemaWithReference() throws Exception {
+<a name="53" href="#53">53</a>          Document schema = getSchemaWithReference();
+<a name="54" href="#54">54</a>          validateDocumentWithSchema(schema);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> testSchemaWithNamedSimpleType() throws Exception {
+<a name="58" href="#58">58</a>          Document schema = getSchemaWithNamedSimpleType();
+<a name="59" href="#59">59</a>          validateDocumentWithSchema(schema);
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>private</strong> <strong>void</strong> validateDocumentWithSchema(Document schema) throws Exception {
+<a name="63" href="#63">63</a>          Document doc = getSource(schema);
+<a name="64" href="#64">64</a>          Element root = doc.getRootElement();
+<a name="65" href="#65">65</a>          validateLongAttribute(root);
+<a name="66" href="#66">66</a>          validateFloatElement(root);
+<a name="67" href="#67">67</a>          validateDateElement(root);
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>private</strong> <strong>void</strong> validateLongAttribute(Element root) throws Exception {
+<a name="71" href="#71">71</a>          Attribute attr = root.attribute(<span class="string">"longAttribute"</span>);
+<a name="72" href="#72">72</a>          Object attrData = attr.getData();
+<a name="73" href="#73">73</a>          validateData(<span class="string">"testLongAttribute"</span>, attrData, <strong>new</strong> Long(123));
+<a name="74" href="#74">74</a>          System.out.println(<span class="string">"retrieved attribute "</span> + attrData);
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>private</strong> <strong>void</strong> validateFloatElement(Element root) throws Exception {
+<a name="78" href="#78">78</a>          Element elem = root.element(<span class="string">"floatElement"</span>);
+<a name="79" href="#79">79</a>          Object elemData = elem.getData();
+<a name="80" href="#80">80</a>          validateData(<span class="string">"testFloatElement"</span>, elemData, <strong>new</strong> Float(1.23));
+<a name="81" href="#81">81</a>          System.out.println(<span class="string">"retrieved element:"</span> + elemData);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>private</strong> <strong>void</strong> validateDateElement(Element root) throws Exception {
+<a name="85" href="#85">85</a>          Element elem = root.element(<span class="string">"dateElement"</span>);
+<a name="86" href="#86">86</a>          Object elemData = elem.getData();
+<a name="87" href="#87">87</a>          Calendar expected = getDate();
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          System.out.println(<span class="string">"retrieved element:"</span> + elemData);
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>          <em class="comment">// don't compare the Calendar instances, compare their strings instead!</em>
+<a name="92" href="#92">92</a>          assertTrue(elemData instanceof Calendar);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          Calendar elemCal = (Calendar) elemData;
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>          DateFormat format = <strong>new</strong> SimpleDateFormat(<span class="string">"MM/dd/yyyyZ"</span>);
+<a name="97" href="#97">97</a>          format.setTimeZone(elemCal.getTimeZone());
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          String elemStr = format.format(elemCal.getTime());
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>         format.setTimeZone(expected.getTimeZone());
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         String expectedStr = format.format(expected.getTime());
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>         assertEquals(<span class="string">"testDateElement"</span>, expectedStr, elemStr);
+<a name="106" href="#106">106</a>     }
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>     <strong>private</strong> <strong>void</strong> validateData(String test, Object retrieved, Object expected)
+<a name="109" href="#109">109</a>             throws Exception {
+<a name="110" href="#110">110</a>         Class retrievedClass = retrieved.getClass();
+<a name="111" href="#111">111</a>         Class expectedClass = expected.getClass();
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>         <em class="comment">// compare class</em>
+<a name="114" href="#114">114</a>         <strong>if</strong> (!expectedClass.equals(retrievedClass)) {
+<a name="115" href="#115">115</a>             String msg = <span class="string">"class mismatch in "</span> + test + <span class="string">":expected "</span>
+<a name="116" href="#116">116</a>                     + expectedClass + <span class="string">", retrieved "</span> + retrievedClass;
+<a name="117" href="#117">117</a>             <strong>throw</strong> <strong>new</strong> Exception(msg);
+<a name="118" href="#118">118</a>         }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         <em class="comment">// compare value</em>
+<a name="121" href="#121">121</a>         <strong>if</strong> (!expected.equals(retrieved)) {
+<a name="122" href="#122">122</a>             String msg = <span class="string">"value mismatch in "</span> + test + <span class="string">":expected "</span> + expected
+<a name="123" href="#123">123</a>                     + <span class="string">", retrieved "</span> + retrieved;
+<a name="124" href="#124">124</a>             <strong>throw</strong> <strong>new</strong> Exception(msg);
+<a name="125" href="#125">125</a>         }
+<a name="126" href="#126">126</a>     }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>     <strong>private</strong> Document getSource(Document schema) throws Exception {
+<a name="129" href="#129">129</a>         StringBuffer b = <strong>new</strong> StringBuffer();
+<a name="130" href="#130">130</a>         b.append(<span class="string">"<?xml version='1.0' ?>"</span>);
+<a name="131" href="#131">131</a>         b.append(<span class="string">"<test xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'"</span>);
+<a name="132" href="#132">132</a>         b.append(<span class="string">"        xsi:noNamespaceSchemaLocation='long.xsd'"</span>);
+<a name="133" href="#133">133</a>         b.append(<span class="string">"        longAttribute='123' >"</span>);
+<a name="134" href="#134">134</a>         b.append(<span class="string">"    <floatElement>1.23</floatElement>"</span>);
+<a name="135" href="#135">135</a>         b.append(<span class="string">"    <dateElement>"</span> + getDateString() + <span class="string">"</dateElement>"</span>);
+<a name="136" href="#136">136</a>         b.append(<span class="string">"</test>"</span>);
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>         StringReader in = <strong>new</strong> StringReader(b.toString());
+<a name="139" href="#139">139</a>         DatatypeDocumentFactory docFactory = <strong>new</strong> DatatypeDocumentFactory();
+<a name="140" href="#140">140</a>         docFactory.loadSchema(schema);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>         SAXReader parser = <strong>new</strong> SAXReader(docFactory);
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>         <strong>return</strong> parser.read(in);
+<a name="145" href="#145">145</a>     }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>     <strong>private</strong> Document getSchema() throws Exception {
+<a name="148" href="#148">148</a>         StringBuffer b = <strong>new</strong> StringBuffer();
+<a name="149" href="#149">149</a>         b.append(<span class="string">"<?xml version='1.0' encoding='UTF-8'?>"</span>);
+<a name="150" href="#150">150</a>         b.append(<span class="string">"<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"</span>);
+<a name="151" href="#151">151</a>         b.append(<span class="string">" <xsd:element name='test'>"</span>);
+<a name="152" href="#152">152</a>         b.append(<span class="string">"  <xsd:complexType>"</span>);
+<a name="153" href="#153">153</a>         b.append(<span class="string">"   <xsd:sequence>"</span>);
+<a name="154" href="#154">154</a>         b.append(<span class="string">"    <xsd:element name='floatElement' type='xsd:float' />"</span>);
+<a name="155" href="#155">155</a>         b.append(<span class="string">"    <xsd:element name='dateElement' type='xsd:date' />"</span>);
+<a name="156" href="#156">156</a>         b.append(<span class="string">"   </xsd:sequence>"</span>);
+<a name="157" href="#157">157</a>         b.append(<span class="string">"   <xsd:attribute name='longAttribute' type='xsd:long' />"</span>);
+<a name="158" href="#158">158</a>         b.append(<span class="string">"  </xsd:complexType>"</span>);
+<a name="159" href="#159">159</a>         b.append(<span class="string">" </xsd:element>"</span>);
+<a name="160" href="#160">160</a>         b.append(<span class="string">"</xsd:schema>"</span>);
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>         StringReader in = <strong>new</strong> StringReader(b.toString());
+<a name="163" href="#163">163</a>         SAXReader parser = <strong>new</strong> SAXReader();
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>         <strong>return</strong> parser.read(in);
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>     <strong>private</strong> Document getSchemaWithNamedComplexType() throws Exception {
+<a name="169" href="#169">169</a>         StringBuffer b = <strong>new</strong> StringBuffer();
+<a name="170" href="#170">170</a>         b.append(<span class="string">"<?xml version='1.0' encoding='UTF-8'?>"</span>);
+<a name="171" href="#171">171</a>         b.append(<span class="string">"<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"</span>);
+<a name="172" href="#172">172</a>         b.append(<span class="string">" <xsd:element name='test' type='TimePeriodType' />"</span>);
+<a name="173" href="#173">173</a>         b.append(<span class="string">" <xsd:complexType name='TimePeriodType'>"</span>);
+<a name="174" href="#174">174</a>         b.append(<span class="string">"  <xsd:sequence>"</span>);
+<a name="175" href="#175">175</a>         b.append(<span class="string">"   <xsd:element name='floatElement' type='xsd:float' />"</span>);
+<a name="176" href="#176">176</a>         b.append(<span class="string">"   <xsd:element name='dateElement' type='xsd:date' />"</span>);
+<a name="177" href="#177">177</a>         b.append(<span class="string">"  </xsd:sequence>"</span>);
+<a name="178" href="#178">178</a>         b.append(<span class="string">"  <xsd:attribute name='longAttribute' type='xsd:long' />"</span>);
+<a name="179" href="#179">179</a>         b.append(<span class="string">" </xsd:complexType>"</span>);
+<a name="180" href="#180">180</a>         b.append(<span class="string">"</xsd:schema>"</span>);
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>         StringReader in = <strong>new</strong> StringReader(b.toString());
+<a name="183" href="#183">183</a>         SAXReader parser = <strong>new</strong> SAXReader();
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>         <strong>return</strong> parser.read(in);
+<a name="186" href="#186">186</a>     }
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>     <strong>private</strong> Document getSchemaWithReference() throws Exception {
+<a name="189" href="#189">189</a>         StringBuffer b = <strong>new</strong> StringBuffer();
+<a name="190" href="#190">190</a>         b.append(<span class="string">"<?xml version='1.0' encoding='UTF-8'?>"</span>);
+<a name="191" href="#191">191</a>         b.append(<span class="string">"<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"</span>);
+<a name="192" href="#192">192</a>         b.append(<span class="string">" <xsd:element name='test' type='TimePeriodType' />"</span>);
+<a name="193" href="#193">193</a>         b.append(<span class="string">" <xsd:complexType name='TimePeriodType'>"</span>);
+<a name="194" href="#194">194</a>         b.append(<span class="string">"  <xsd:sequence>"</span>);
+<a name="195" href="#195">195</a>         b.append(<span class="string">"   <xsd:element name='floatElement' type='xsd:float' />"</span>);
+<a name="196" href="#196">196</a>         b.append(<span class="string">"   <xsd:element ref='dateElement' />"</span>);
+<a name="197" href="#197">197</a>         b.append(<span class="string">"  </xsd:sequence>"</span>);
+<a name="198" href="#198">198</a>         b.append(<span class="string">"  <xsd:attribute name='longAttribute' type='xsd:long' />"</span>);
+<a name="199" href="#199">199</a>         b.append(<span class="string">" </xsd:complexType>"</span>);
+<a name="200" href="#200">200</a>         b.append(<span class="string">" <xsd:element name='dateElement' type='xsd:date' />"</span>);
+<a name="201" href="#201">201</a>         b.append(<span class="string">"</xsd:schema>"</span>);
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>         StringReader in = <strong>new</strong> StringReader(b.toString());
+<a name="204" href="#204">204</a>         SAXReader parser = <strong>new</strong> SAXReader();
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>         <strong>return</strong> parser.read(in);
+<a name="207" href="#207">207</a>     }
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>     <strong>private</strong> Document getSchemaWithNamedSimpleType() throws Exception {
+<a name="210" href="#210">210</a>         StringBuffer b = <strong>new</strong> StringBuffer();
+<a name="211" href="#211">211</a>         b.append(<span class="string">"<?xml version='1.0' encoding='UTF-8'?>"</span>);
+<a name="212" href="#212">212</a>         b.append(<span class="string">"<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"</span>);
+<a name="213" href="#213">213</a>         b.append(<span class="string">" <xsd:element name='test'>"</span>);
+<a name="214" href="#214">214</a>         b.append(<span class="string">"  <xsd:complexType>"</span>);
+<a name="215" href="#215">215</a>         b.append(<span class="string">"   <xsd:sequence>"</span>);
+<a name="216" href="#216">216</a>         b.append(<span class="string">"    <xsd:element name='floatElement' type='xsd:float' />"</span>);
+<a name="217" href="#217">217</a>         b.append(<span class="string">"    <xsd:element name='dateElement' type='dateType' />"</span>);
+<a name="218" href="#218">218</a>         b.append(<span class="string">"   </xsd:sequence>"</span>);
+<a name="219" href="#219">219</a>         b.append(<span class="string">"   <xsd:attribute name='longAttribute' type='xsd:long' />"</span>);
+<a name="220" href="#220">220</a>         b.append(<span class="string">"  </xsd:complexType>"</span>);
+<a name="221" href="#221">221</a>         b.append(<span class="string">" </xsd:element>"</span>);
+<a name="222" href="#222">222</a>         b.append(<span class="string">" <xsd:simpleType name='dateType'>"</span>);
+<a name="223" href="#223">223</a>         b.append(<span class="string">"  <xsd:restriction base='xsd:date'>"</span>);
+<a name="224" href="#224">224</a>         b.append(<span class="string">"  </xsd:restriction>"</span>);
+<a name="225" href="#225">225</a>         b.append(<span class="string">" </xsd:simpleType>"</span>);
+<a name="226" href="#226">226</a>         b.append(<span class="string">"</xsd:schema>"</span>);
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>         StringReader in = <strong>new</strong> StringReader(b.toString());
+<a name="229" href="#229">229</a>         SAXReader parser = <strong>new</strong> SAXReader();
+<a name="230" href="#230">230</a> 
+<a name="231" href="#231">231</a>         <strong>return</strong> parser.read(in);
+<a name="232" href="#232">232</a>     }
+<a name="233" href="#233">233</a> 
+<a name="234" href="#234">234</a>     <strong>private</strong> <strong>static</strong> String getDateString() {
+<a name="235" href="#235">235</a>         <em class="comment">// return dateTime in ISO8601 format</em>
+<a name="236" href="#236">236</a>         String yyyy = Integer.toString(YEAR);
+<a name="237" href="#237">237</a>         String mm = Integer.toString(MONTH);
+<a name="238" href="#238">238</a>         String dd = Integer.toString(DATE);
+<a name="239" href="#239">239</a> 
+<a name="240" href="#240">240</a>         <strong>return</strong> yyyy + <span class="string">"-"</span> + mm + <span class="string">"-"</span> + dd + <span class="string">"Z"</span>;
+<a name="241" href="#241">241</a>     }
+<a name="242" href="#242">242</a> 
+<a name="243" href="#243">243</a>     <strong>private</strong> <strong>static</strong> Calendar getDate() {
+<a name="244" href="#244">244</a>         Calendar calendar = <strong>new</strong> GregorianCalendar();
+<a name="245" href="#245">245</a>         calendar.clear();
+<a name="246" href="#246">246</a>         calendar.set(Calendar.YEAR, YEAR);
+<a name="247" href="#247">247</a>         calendar.set(Calendar.MONTH, MONTH - 1);
+<a name="248" href="#248">248</a>         calendar.set(Calendar.DAY_OF_MONTH, DATE);
+<a name="249" href="#249">249</a>         calendar.setTimeZone(TimeZone.getTimeZone(<span class="string">"UTC"</span>));
+<a name="250" href="#250">250</a>         calendar.setTimeZone(<strong>new</strong> SimpleTimeZone(0, <span class="string">"XSD 'Z' timezone"</span>));
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>         <strong>return</strong> calendar;
+<a name="253" href="#253">253</a>     }
+<a name="254" href="#254">254</a> }
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a> <em class="comment">/*</em>
+<a name="257" href="#257">257</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="258" href="#258">258</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="259" href="#259">259</a> <em class="comment"> * following conditions are met:</em>
+<a name="260" href="#260">260</a> <em class="comment"> * </em>
+<a name="261" href="#261">261</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="262" href="#262">262</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="263" href="#263">263</a> <em class="comment"> * </em>
+<a name="264" href="#264">264</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="265" href="#265">265</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="266" href="#266">266</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="267" href="#267">267</a> <em class="comment"> * </em>
+<a name="268" href="#268">268</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="269" href="#269">269</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="270" href="#270">270</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="271" href="#271">271</a> <em class="comment"> * </em>
+<a name="272" href="#272">272</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="273" href="#273">273</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="274" href="#274">274</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="275" href="#275">275</a> <em class="comment"> * </em>
+<a name="276" href="#276">276</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="277" href="#277">277</a> <em class="comment"> * </em>
+<a name="278" href="#278">278</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="279" href="#279">279</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="280" href="#280">280</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="281" href="#281">281</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="282" href="#282">282</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="283" href="#283">283</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="284" href="#284">284</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="285" href="#285">285</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="286" href="#286">286</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="287" href="#287">287</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="288" href="#288">288</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="289" href="#289">289</a> <em class="comment"> * </em>
+<a name="290" href="#290">290</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="291" href="#291">291</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/datatype/ManualSchemaPrefixTest.html b/docs/xref-test/org/dom4j/datatype/ManualSchemaPrefixTest.html
new file mode 100644
index 0000000..4fb43ae
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/ManualSchemaPrefixTest.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ManualSchemaPrefixTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Document;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * Test harness for the XML Schema Data Type integration. These tests manually</em>
+<a name="17" href="#17">17</a>  <em> * load the schemas using prefixes in the XSD file.</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/ManualSchemaPrefixTest.html">ManualSchemaPrefixTest</a> <strong>extends</strong> <a href="../../../org/dom4j/datatype/AutoSchemaTest.html">AutoSchemaTest</a> {
+<a name="23" href="#23">23</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="24" href="#24">24</a>          TestRunner.run(ManualSchemaPrefixTest.<strong>class</strong>);
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em class="comment">// Implementation methods</em>
+<a name="28" href="#28">28</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="29" href="#29">29</a>      <strong>protected</strong> DocumentFactory loadDocumentFactory() throws Exception {
+<a name="30" href="#30">30</a>          DatatypeDocumentFactory factory = <strong>new</strong> DatatypeDocumentFactory();
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          Document schemaDocument = 
+<a name="33" href="#33">33</a>                  getDocument(<span class="string">"/xml/test/schema/personal-prefix.xsd"</span>);
+<a name="34" href="#34">34</a>          factory.loadSchema(schemaDocument);
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          <strong>return</strong> factory;
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>  <em class="comment">/*</em>
+<a name="41" href="#41">41</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * following conditions are met:</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * </em>
+<a name="45" href="#45">45</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * </em>
+<a name="48" href="#48">48</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * </em>
+<a name="52" href="#52">52</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/datatype/ManualSchemaTest.html b/docs/xref-test/org/dom4j/datatype/ManualSchemaTest.html
new file mode 100644
index 0000000..397fcb5
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/ManualSchemaTest.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ManualSchemaTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Document;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * Test harness for the XML Schema Data Type integration. These tests manually</em>
+<a name="17" href="#17">17</a>  <em> * load the schemas</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/ManualSchemaTest.html">ManualSchemaTest</a> <strong>extends</strong> <a href="../../../org/dom4j/datatype/AutoSchemaTest.html">AutoSchemaTest</a> {
+<a name="23" href="#23">23</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="24" href="#24">24</a>          TestRunner.run(ManualSchemaTest.<strong>class</strong>);
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em class="comment">// Implementation methods</em>
+<a name="28" href="#28">28</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="29" href="#29">29</a>      <strong>protected</strong> String getDocumentURI() {
+<a name="30" href="#30">30</a>          <strong>return</strong> <span class="string">"/xml/test/schema/personal.xml"</span>;
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>protected</strong> DocumentFactory loadDocumentFactory() throws Exception {
+<a name="34" href="#34">34</a>          DatatypeDocumentFactory factory = <strong>new</strong> DatatypeDocumentFactory();
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          Document schemaDocument = getDocument(<span class="string">"/xml/test/schema/personal.xsd"</span>);
+<a name="37" href="#37">37</a>          factory.loadSchema(schemaDocument);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          <strong>return</strong> factory;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>  <em class="comment">/*</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * following conditions are met:</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * </em>
+<a name="48" href="#48">48</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * </em>
+<a name="51" href="#51">51</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="64" href="#64">64</a>  <em class="comment"> * </em>
+<a name="65" href="#65">65</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="78" href="#78">78</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/datatype/SchemaParseTest.html b/docs/xref-test/org/dom4j/datatype/SchemaParseTest.html
new file mode 100644
index 0000000..4faf6eb
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/SchemaParseTest.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SchemaParseTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Document;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * Tests the SchemaParser based on a test case provided by Luis Pe�a S�nchez</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/SchemaParseTest.html">SchemaParseTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="23" href="#23">23</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="24" href="#24">24</a>          TestRunner.run(SchemaParseTest.<strong>class</strong>);
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em class="comment">// Test case(s)</em>
+<a name="28" href="#28">28</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>void</strong> testParseSchema() throws Exception {
+<a name="30" href="#30">30</a>          DatatypeDocumentFactory factory = <strong>new</strong> DatatypeDocumentFactory();
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="33" href="#33">33</a>          reader.setDocumentFactory(factory);
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          Document schema = getDocument(<span class="string">"/xml/test/LuisSchema.xsd"</span>, reader);
+<a name="36" href="#36">36</a>          factory.loadSchema(schema);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          log(<span class="string">"Loaded the schema"</span>);
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          <em class="comment">// now load an instance document</em>
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>  <em class="comment">/*</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * following conditions are met:</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * </em>
+<a name="52" href="#52">52</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="79" href="#79">79</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/datatype/SetDataTest.html b/docs/xref-test/org/dom4j/datatype/SetDataTest.html
new file mode 100644
index 0000000..b11abf2
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/SetDataTest.html
@@ -0,0 +1,213 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SetDataTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.math.BigInteger;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Document;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Element;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.QName;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * Tests setting the value of datatype aware element or attribute value</em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/SetDataTest.html">SetDataTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="28" href="#28">28</a>      <strong>private</strong> DatatypeDocumentFactory factory = <strong>new</strong> DatatypeDocumentFactory();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="31" href="#31">31</a>          TestRunner.run(SetDataTest.<strong>class</strong>);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em class="comment">// Test case(s)</em>
+<a name="35" href="#35">35</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> testAttribute() throws Exception {
+<a name="37" href="#37">37</a>          QName personName = factory.createQName(<span class="string">"person"</span>);
+<a name="38" href="#38">38</a>          QName ageName = factory.createQName(<span class="string">"age"</span>);
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          Element person = factory.createElement(personName);
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          person.addAttribute(ageName, <span class="string">"10"</span>);
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          Attribute age = person.attribute(ageName);
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          assertTrue(<span class="string">"Created DatatypeAttribute not correct"</span>,
+<a name="47" href="#47">47</a>                  age instanceof DatatypeAttribute);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          log(<span class="string">"Found attribute: "</span> + age);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          Object data = age.getData();
+<a name="52" href="#52">52</a>          Object expected = <strong>new</strong> BigInteger(<span class="string">"10"</span>);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          assertEquals(<span class="string">"Data is correct type"</span>, BigInteger.<strong>class</strong>, data.getClass());
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          assertEquals(<span class="string">"Set age correctly"</span>, expected, data);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          age.setValue(<span class="string">"32"</span>);
+<a name="59" href="#59">59</a>          data = age.getData();
+<a name="60" href="#60">60</a>          expected = <strong>new</strong> BigInteger(<span class="string">"32"</span>);
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>          assertEquals(<span class="string">"Set age correctly"</span>, expected, data);
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          <em>/**<em>*</em></em>
+<a name="65" href="#65">65</a>  <em>         * not sure if numeric types should be round tripped back to BigDecimal</em>
+<a name="66" href="#66">66</a>  <em>         * (say) age.setData( new Long( 21 ) ); data = age.getData(); expected =</em>
+<a name="67" href="#67">67</a>  <em>         * new BigInteger( "21" ); assertEquals( "Set age correctly", expected,</em>
+<a name="68" href="#68">68</a>  <em>         * data );</em>
+<a name="69" href="#69">69</a>  <em>         */</em>
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          <em class="comment">// now lets set an invalid value</em>
+<a name="72" href="#72">72</a>          <strong>try</strong> {
+<a name="73" href="#73">73</a>              age.setValue(<span class="string">"abc"</span>);
+<a name="74" href="#74">74</a>              fail(<span class="string">"Appeared to set an invalid value"</span>);
+<a name="75" href="#75">75</a>          } <strong>catch</strong> (IllegalArgumentException e) {
+<a name="76" href="#76">76</a>          }
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <strong>public</strong> <strong>void</strong> testAttributeWithNamespace() throws Exception {
+<a name="80" href="#80">80</a>          QName personName = factory.createQName(<span class="string">"person"</span>, <span class="string">"t"</span>, <span class="string">"urn://testing"</span>);
+<a name="81" href="#81">81</a>          QName ageName = factory.createQName(<span class="string">"age"</span>, <span class="string">"t"</span>, <span class="string">"urn://testing"</span>);
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>          Element person = factory.createElement(personName);
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>          person.addAttribute(ageName, <span class="string">"10"</span>);
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>          Attribute age = person.attribute(ageName);
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          assertTrue(<span class="string">"Created DatatypeAttribute not correct"</span>,
+<a name="90" href="#90">90</a>                  age instanceof DatatypeAttribute);
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          log(<span class="string">"Found attribute: "</span> + age);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          Object data = age.getData();
+<a name="95" href="#95">95</a>          Object expected = <strong>new</strong> BigInteger(<span class="string">"10"</span>);
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>          assertEquals(<span class="string">"Data is correct type"</span>, BigInteger.<strong>class</strong>, data.getClass());
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          assertEquals(<span class="string">"Set age correctly"</span>, expected, data);
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>         age.setValue(<span class="string">"32"</span>);
+<a name="102" href="#102">102</a>         data = age.getData();
+<a name="103" href="#103">103</a>         expected = <strong>new</strong> BigInteger(<span class="string">"32"</span>);
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>         assertEquals(<span class="string">"Set age correctly"</span>, expected, data);
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>         <strong>try</strong> {
+<a name="108" href="#108">108</a>             age.setValue(<span class="string">"abc"</span>);
+<a name="109" href="#109">109</a>             fail(<span class="string">"Appeared to set an invalid value"</span>);
+<a name="110" href="#110">110</a>         } <strong>catch</strong> (IllegalArgumentException e) {
+<a name="111" href="#111">111</a>         }
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> <strong>void</strong> testElement() throws Exception {
+<a name="115" href="#115">115</a>         QName personName = factory.createQName(<span class="string">"person"</span>);
+<a name="116" href="#116">116</a>         QName numberOfCarsName = factory.createQName(<span class="string">"numberOfCars"</span>);
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>         Element person = factory.createElement(personName);
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         Element cars = person.addElement(numberOfCarsName);
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>         log(<span class="string">"Found element: "</span> + cars);
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         Object expected = <strong>new</strong> Short((<strong>short</strong>) 10);
+<a name="125" href="#125">125</a>         cars.setData(expected);
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         Object data = cars.getData();
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         assertEquals(<span class="string">"Data is correct type"</span>, Short.<strong>class</strong>, data.getClass());
+<a name="130" href="#130">130</a>         assertEquals(<span class="string">"Set cars correctly"</span>, expected, data);
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         cars.setData(<strong>new</strong> Short((<strong>short</strong>) 32));
+<a name="133" href="#133">133</a>         data = cars.getData();
+<a name="134" href="#134">134</a>         expected = <strong>new</strong> Short((<strong>short</strong>) 32);
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>         assertEquals(<span class="string">"Set cars correctly"</span>, expected, data);
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>         cars.setText(<span class="string">"34"</span>);
+<a name="139" href="#139">139</a>         data = cars.getData();
+<a name="140" href="#140">140</a>         expected = <strong>new</strong> Short((<strong>short</strong>) 34);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>         assertEquals(<span class="string">"Set cars correctly"</span>, expected, data);
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>         <em class="comment">// now lets set an invalid value</em>
+<a name="145" href="#145">145</a>         <strong>try</strong> {
+<a name="146" href="#146">146</a>             cars.setText(<span class="string">"abc"</span>);
+<a name="147" href="#147">147</a>             fail(<span class="string">"Appeared to set an invalid value"</span>);
+<a name="148" href="#148">148</a>         } <strong>catch</strong> (IllegalArgumentException e) {
+<a name="149" href="#149">149</a>         }
+<a name="150" href="#150">150</a>     }
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>     <em class="comment">// Implementation methods</em>
+<a name="153" href="#153">153</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="154" href="#154">154</a>     <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="155" href="#155">155</a>         <strong>super</strong>.setUp();
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>         Document schema = getDocument(<span class="string">"/xml/test/schema/personal.xsd"</span>);
+<a name="158" href="#158">158</a>         factory.loadSchema(schema);
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>         Namespace ns = <strong>new</strong> Namespace(<span class="string">"t"</span>, <span class="string">"urn://testing"</span>);
+<a name="161" href="#161">161</a>         factory.loadSchema(schema, ns);
+<a name="162" href="#162">162</a>     }
+<a name="163" href="#163">163</a> }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a> <em class="comment">/*</em>
+<a name="166" href="#166">166</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="167" href="#167">167</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="168" href="#168">168</a> <em class="comment"> * following conditions are met:</em>
+<a name="169" href="#169">169</a> <em class="comment"> * </em>
+<a name="170" href="#170">170</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="171" href="#171">171</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="172" href="#172">172</a> <em class="comment"> * </em>
+<a name="173" href="#173">173</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="174" href="#174">174</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="175" href="#175">175</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="176" href="#176">176</a> <em class="comment"> * </em>
+<a name="177" href="#177">177</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="178" href="#178">178</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="179" href="#179">179</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="180" href="#180">180</a> <em class="comment"> * </em>
+<a name="181" href="#181">181</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="182" href="#182">182</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="183" href="#183">183</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="184" href="#184">184</a> <em class="comment"> * </em>
+<a name="185" href="#185">185</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="186" href="#186">186</a> <em class="comment"> * </em>
+<a name="187" href="#187">187</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="188" href="#188">188</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="189" href="#189">189</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="190" href="#190">190</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="191" href="#191">191</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="192" href="#192">192</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="193" href="#193">193</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="194" href="#194">194</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="195" href="#195">195</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="196" href="#196">196</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="197" href="#197">197</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="198" href="#198">198</a> <em class="comment"> * </em>
+<a name="199" href="#199">199</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="200" href="#200">200</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/datatype/package-frame.html b/docs/xref-test/org/dom4j/datatype/package-frame.html
new file mode 100644
index 0000000..9762a8f
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/package-frame.html
@@ -0,0 +1,55 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.datatype</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.datatype</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="AbstractDataTypeTestCase.html" target="classFrame">AbstractDataTypeTestCase</a>
+          </li>
+        
+          <li>
+            <a href="AutoSchemaTest.html" target="classFrame">AutoSchemaTest</a>
+          </li>
+        
+          <li>
+            <a href="DataTypesTest.html" target="classFrame">DataTypesTest</a>
+          </li>
+        
+          <li>
+            <a href="Datatype2Test.html" target="classFrame">Datatype2Test</a>
+          </li>
+        
+          <li>
+            <a href="ManualSchemaPrefixTest.html" target="classFrame">ManualSchemaPrefixTest</a>
+          </li>
+        
+          <li>
+            <a href="ManualSchemaTest.html" target="classFrame">ManualSchemaTest</a>
+          </li>
+        
+          <li>
+            <a href="SchemaParseTest.html" target="classFrame">SchemaParseTest</a>
+          </li>
+        
+          <li>
+            <a href="SetDataTest.html" target="classFrame">SetDataTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/datatype/package-summary.html b/docs/xref-test/org/dom4j/datatype/package-summary.html
new file mode 100644
index 0000000..13be294
--- /dev/null
+++ b/docs/xref-test/org/dom4j/datatype/package-summary.html
@@ -0,0 +1,144 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.datatype</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="AbstractDataTypeTestCase.html" target="classFrame">AbstractDataTypeTestCase</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AutoSchemaTest.html" target="classFrame">AutoSchemaTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DataTypesTest.html" target="classFrame">DataTypesTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Datatype2Test.html" target="classFrame">Datatype2Test</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ManualSchemaPrefixTest.html" target="classFrame">ManualSchemaPrefixTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ManualSchemaTest.html" target="classFrame">ManualSchemaTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SchemaParseTest.html" target="classFrame">SchemaParseTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SetDataTest.html" target="classFrame">SetDataTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/dom/DOMTest.html b/docs/xref-test/org/dom4j/dom/DOMTest.html
new file mode 100644
index 0000000..fb8081d
--- /dev/null
+++ b/docs/xref-test/org/dom4j/dom/DOMTest.html
@@ -0,0 +1,263 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringReader;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.io.DOMWriter;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.w3c.dom.Node;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em> * A test harness to test the native DOM implementation of dom4j</em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMTest.html">DOMTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="30" href="#30">30</a>      <em>/**<em>* Elements. */</em></em>
+<a name="31" href="#31">31</a>      <strong>private</strong> <strong>long</strong> elements;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>* Attributes. */</em></em>
+<a name="34" href="#34">34</a>      <strong>private</strong> <strong>long</strong> attributes;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>* Characters. */</em></em>
+<a name="37" href="#37">37</a>      <strong>private</strong> <strong>long</strong> characters;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="40" href="#40">40</a>          TestRunner.run(DOMTest.<strong>class</strong>);
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em class="comment">// Test case(s)</em>
+<a name="44" href="#44">44</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="45" href="#45">45</a>      <strong>public</strong> <strong>void</strong> testCount() throws Exception {
+<a name="46" href="#46">46</a>          DOMWriter domWriter = <strong>new</strong> DOMWriter();
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          <strong>long</strong> start = System.currentTimeMillis();
+<a name="49" href="#49">49</a>          org.w3c.dom.Document domDocument = domWriter.write(document);
+<a name="50" href="#50">50</a>          <strong>long</strong> end = System.currentTimeMillis();
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          System.out.println(<span class="string">"Converting to a W3C Document took: "</span>
+<a name="53" href="#53">53</a>                  + (end - start) + <span class="string">" milliseconds"</span>);
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          traverse(domDocument);
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          log(<span class="string">"elements: "</span> + elements + <span class="string">" attributes: "</span> + attributes
+<a name="58" href="#58">58</a>                  + <span class="string">" characters: "</span> + characters);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>void</strong> testNamespace() throws Exception {
+<a name="62" href="#62">62</a>          String xml = <span class="string">"<prefix:root xmlns:prefix=\"myuri\" />"</span>;
+<a name="63" href="#63">63</a>          SAXReader xmlReader = <strong>new</strong> SAXReader(DOMDocumentFactory.getInstance());
+<a name="64" href="#64">64</a>          DOMDocument d = (DOMDocument) xmlReader.read(<strong>new</strong> StringReader(xml));
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          assertEquals(<span class="string">"namespace prefix not correct"</span>, <span class="string">"prefix"</span>, d
+<a name="67" href="#67">67</a>                  .getRootElement().getNamespace().getPrefix());
+<a name="68" href="#68">68</a>          assertEquals(<span class="string">"namespace uri not correct"</span>, <span class="string">"myuri"</span>, d.getRootElement()
+<a name="69" href="#69">69</a>                  .getNamespace().getURI());
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          System.out.println(d.asXML());
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <em>/**<em>*</em></em>
+<a name="75" href="#75">75</a>  <em>     * Tests the bug found by Soumanjoy</em>
+<a name="76" href="#76">76</a>  <em>     * </em>
+<a name="77" href="#77">77</a>  <em>     * @throws Exception</em>
+<a name="78" href="#78">78</a>  <em>     *             DOCUMENT ME!</em>
+<a name="79" href="#79">79</a>  <em>     */</em>
+<a name="80" href="#80">80</a>      <strong>public</strong> <strong>void</strong> testClassCastBug() throws Exception {
+<a name="81" href="#81">81</a>          DOMDocument oDocument = <strong>new</strong> DOMDocument(<span class="string">"Root"</span>);
+<a name="82" href="#82">82</a>          org.w3c.dom.Element oParent = oDocument.createElement(<span class="string">"Parent"</span>);
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          <em class="comment">// <-- Fails here when the code is broken.</em>
+<a name="85" href="#85">85</a>          oParent.setAttribute(<span class="string">"name"</span>, <span class="string">"N01"</span>);
+<a name="86" href="#86">86</a>          oParent.setAttribute(<span class="string">"id"</span>, <span class="string">"ID01"</span>);
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>          oDocument.appendChild(oParent); <em class="comment">// <-- Fails here, Error message is</em>
+<a name="89" href="#89">89</a>          <em class="comment">// below</em>
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <strong>public</strong> <strong>void</strong> testReplaceChild() throws Exception {
+<a name="93" href="#93">93</a>          DOMDocument document = <strong>new</strong> DOMDocument(<span class="string">"Root"</span>);
+<a name="94" href="#94">94</a>          org.w3c.dom.Element parent = document.createElement(<span class="string">"Parent"</span>);
+<a name="95" href="#95">95</a>          org.w3c.dom.Element first = document.createElement(<span class="string">"FirstChild"</span>);
+<a name="96" href="#96">96</a>          org.w3c.dom.Element second = document.createElement(<span class="string">"SecondChild"</span>);
+<a name="97" href="#97">97</a>          org.w3c.dom.Element third = document.createElement(<span class="string">"ThirdChild"</span>);
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          document.appendChild(parent);
+<a name="100" href="#100">100</a>         parent.appendChild(first);
+<a name="101" href="#101">101</a>         parent.appendChild(second);
+<a name="102" href="#102">102</a>         parent.appendChild(third);
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>         org.w3c.dom.Element newFirst = document.createElement(<span class="string">"NewFirst"</span>);
+<a name="105" href="#105">105</a>         org.w3c.dom.Element oldFirst = (org.w3c.dom.Element) parent
+<a name="106" href="#106">106</a>                 .replaceChild(newFirst, first);
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>         <em class="comment">/*<em class="comment"> check the return value of replaceChild */</em></em>
+<a name="109" href="#109">109</a>         assertEquals(oldFirst, first);
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         <em class="comment">/*<em class="comment"> make sure the old node has been replaced */</em></em>
+<a name="112" href="#112">112</a>         NodeList children = parent.getChildNodes();
+<a name="113" href="#113">113</a>         Node firstChild = children.item(0);
+<a name="114" href="#114">114</a>         assertEquals(Node.ELEMENT_NODE, firstChild.getNodeType());
+<a name="115" href="#115">115</a>         assertEquals(newFirst, firstChild);
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         <em class="comment">/*<em class="comment"> try to replace a node that doesn't exist */</em></em>
+<a name="118" href="#118">118</a>         org.w3c.dom.Element badNode = document.createElement(<span class="string">"No Child"</span>);
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         <strong>try</strong> {
+<a name="121" href="#121">121</a>             parent.replaceChild(newFirst, badNode);
+<a name="122" href="#122">122</a>             fail(<span class="string">"DOMException not thrown"</span>);
+<a name="123" href="#123">123</a>         } <strong>catch</strong> (DOMException e) {
+<a name="124" href="#124">124</a>             assertEquals(DOMException.NOT_FOUND_ERR, e.code);
+<a name="125" href="#125">125</a>         }
+<a name="126" href="#126">126</a>     }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>     <em class="comment">// Implementation methods</em>
+<a name="129" href="#129">129</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="130" href="#130">130</a>     <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="131" href="#131">131</a>         <strong>super</strong>.setUp();
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>         SAXReader reader = <strong>new</strong> SAXReader(DOMDocumentFactory.getInstance());
+<a name="134" href="#134">134</a>         document = getDocument(<span class="string">"/xml/contents.xml"</span>, reader);
+<a name="135" href="#135">135</a>     }
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>     <em>/**<em>*</em></em>
+<a name="138" href="#138">138</a> <em>     * Traverses the specified node, recursively.</em>
+<a name="139" href="#139">139</a> <em>     * </em>
+<a name="140" href="#140">140</a> <em>     * @param node</em>
+<a name="141" href="#141">141</a> <em>     *            DOCUMENT ME!</em>
+<a name="142" href="#142">142</a> <em>     */</em>
+<a name="143" href="#143">143</a>     <strong>protected</strong> <strong>void</strong> traverse(Node node) {
+<a name="144" href="#144">144</a>         <em class="comment">// is there anything to do?</em>
+<a name="145" href="#145">145</a>         <strong>if</strong> (node == <strong>null</strong>) {
+<a name="146" href="#146">146</a>             <strong>return</strong>;
+<a name="147" href="#147">147</a>         }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>         <strong>int</strong> type = node.getNodeType();
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>         <strong>switch</strong> (type) {
+<a name="152" href="#152">152</a>             <strong>case</strong> Node.DOCUMENT_NODE: {
+<a name="153" href="#153">153</a>                 elements = 0;
+<a name="154" href="#154">154</a>                 attributes = 0;
+<a name="155" href="#155">155</a>                 characters = 0;
+<a name="156" href="#156">156</a>                 traverse(((org.w3c.dom.Document) node).getDocumentElement());
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>                 <strong>break</strong>;
+<a name="159" href="#159">159</a>             }
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>             <strong>case</strong> Node.ELEMENT_NODE: {
+<a name="162" href="#162">162</a>                 elements++;
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>                 NamedNodeMap attrs = node.getAttributes();
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>                 <strong>if</strong> (attrs != <strong>null</strong>) {
+<a name="167" href="#167">167</a>                     attributes += attrs.getLength();
+<a name="168" href="#168">168</a>                 }
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>                 NodeList children = node.getChildNodes();
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>                 <strong>if</strong> (children != <strong>null</strong>) {
+<a name="173" href="#173">173</a>                     <strong>int</strong> len = children.getLength();
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>                     <strong>for</strong> (<strong>int</strong> i = 0; i < len; i++) {
+<a name="176" href="#176">176</a>                         traverse(children.item(i));
+<a name="177" href="#177">177</a>                     }
+<a name="178" href="#178">178</a>                 }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>                 <strong>break</strong>;
+<a name="181" href="#181">181</a>             }
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>             <strong>case</strong> Node.ENTITY_REFERENCE_NODE: {
+<a name="184" href="#184">184</a>                 NodeList children = node.getChildNodes();
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>                 <strong>if</strong> (children != <strong>null</strong>) {
+<a name="187" href="#187">187</a>                     <strong>int</strong> len = children.getLength();
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>                     <strong>for</strong> (<strong>int</strong> i = 0; i < len; i++) {
+<a name="190" href="#190">190</a>                         traverse(children.item(i));
+<a name="191" href="#191">191</a>                     }
+<a name="192" href="#192">192</a>                 }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>                 <strong>break</strong>;
+<a name="195" href="#195">195</a>             }
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>             <strong>case</strong> Node.CDATA_SECTION_NODE: {
+<a name="198" href="#198">198</a>                 characters += node.getNodeValue().length();
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>                 <strong>break</strong>;
+<a name="201" href="#201">201</a>             }
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>             <strong>case</strong> Node.TEXT_NODE: {
+<a name="204" href="#204">204</a>                 characters += node.getNodeValue().length();
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>                 <strong>break</strong>;
+<a name="207" href="#207">207</a>             }
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>             <strong>default</strong>:
+<a name="210" href="#210">210</a>                 <strong>break</strong>;
+<a name="211" href="#211">211</a>         }
+<a name="212" href="#212">212</a>     }
+<a name="213" href="#213">213</a> }
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a> <em class="comment">/*</em>
+<a name="216" href="#216">216</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="217" href="#217">217</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="218" href="#218">218</a> <em class="comment"> * following conditions are met:</em>
+<a name="219" href="#219">219</a> <em class="comment"> * </em>
+<a name="220" href="#220">220</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="221" href="#221">221</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="222" href="#222">222</a> <em class="comment"> * </em>
+<a name="223" href="#223">223</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="224" href="#224">224</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="225" href="#225">225</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="226" href="#226">226</a> <em class="comment"> * </em>
+<a name="227" href="#227">227</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="228" href="#228">228</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="229" href="#229">229</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="230" href="#230">230</a> <em class="comment"> * </em>
+<a name="231" href="#231">231</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="232" href="#232">232</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="233" href="#233">233</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="234" href="#234">234</a> <em class="comment"> * </em>
+<a name="235" href="#235">235</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="236" href="#236">236</a> <em class="comment"> * </em>
+<a name="237" href="#237">237</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="238" href="#238">238</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="239" href="#239">239</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="240" href="#240">240</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="241" href="#241">241</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="242" href="#242">242</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="243" href="#243">243</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="244" href="#244">244</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="245" href="#245">245</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="246" href="#246">246</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="247" href="#247">247</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="248" href="#248">248</a> <em class="comment"> * </em>
+<a name="249" href="#249">249</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="250" href="#250">250</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/dom/package-frame.html b/docs/xref-test/org/dom4j/dom/package-frame.html
new file mode 100644
index 0000000..5a7d7a4
--- /dev/null
+++ b/docs/xref-test/org/dom4j/dom/package-frame.html
@@ -0,0 +1,27 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.dom</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.dom</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="DOMTest.html" target="classFrame">DOMTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/dom/package-summary.html b/docs/xref-test/org/dom4j/dom/package-summary.html
new file mode 100644
index 0000000..60ec3b4
--- /dev/null
+++ b/docs/xref-test/org/dom4j/dom/package-summary.html
@@ -0,0 +1,102 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.dom</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="DOMTest.html" target="classFrame">DOMTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/dtd/AttributeDeclTest.html b/docs/xref-test/org/dom4j/dtd/AttributeDeclTest.html
new file mode 100644
index 0000000..e294cd0
--- /dev/null
+++ b/docs/xref-test/org/dom4j/dtd/AttributeDeclTest.html
@@ -0,0 +1,271 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AttributeDeclTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * Tests the {@link AttributeDecl}functionality. Tests each of the property</em>
+<a name="16" href="#16">16</a>  <em> * access methods and the serialization mechanisms. Correct parsing is tested by</em>
+<a name="17" href="#17">17</a>  <em> * {@link DocTypeTest}.</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * There are several key variations that need to be tested both here and in</em>
+<a name="21" href="#21">21</a>  <em> * {@link DocTypeTest}, which is responsible for testing correct parsing of the</em>
+<a name="22" href="#22">22</a>  <em> * {@link DocumentType}. Those variations include the different</em>
+<a name="23" href="#23">23</a>  <em> * <code>valueDefault</code> and <code>value</code> variations so that we</em>
+<a name="24" href="#24">24</a>  <em> * can test for correct acceptance and correct rejection of attribute</em>
+<a name="25" href="#25">25</a>  <em> * declarations.</em>
+<a name="26" href="#26">26</a>  <em> * </p></em>
+<a name="27" href="#27">27</a>  <em> * </em>
+<a name="28" href="#28">28</a>  <em> * <p></em>
+<a name="29" href="#29">29</a>  <em> * </p></em>
+<a name="30" href="#30">30</a>  <em> * </em>
+<a name="31" href="#31">31</a>  <em> * @author Bryan Thompson</em>
+<a name="32" href="#32">32</a>  <em> * @author Maarten Coene</em>
+<a name="33" href="#33">33</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="34" href="#34">34</a>  <em> * </em>
+<a name="35" href="#35">35</a>  <em> * @todo The dom4j documentation needs to describe what representation SHOULD be</em>
+<a name="36" href="#36">36</a>  <em> *       generated by {@link AttributeDecl#toString()}.</em>
+<a name="37" href="#37">37</a>  <em> * @todo The dom4j AttributeDecl should expose some methods that make it easier</em>
+<a name="38" href="#38">38</a>  <em> *       for people to use the DTD grammar, e.g., isFixed(), isRequired(),</em>
+<a name="39" href="#39">39</a>  <em> *       isImplied().</em>
+<a name="40" href="#40">40</a>  <em> */</em>
+<a name="41" href="#41">41</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dtd/AttributeDeclTest.html">AttributeDeclTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="43" href="#43">43</a>          TestRunner.run(AttributeDeclTest.<strong>class</strong>);
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em class="comment">// Test case(s)</em>
+<a name="47" href="#47">47</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>*</em></em>
+<a name="50" href="#50">50</a>  <em>     * Test</em>
+<a name="51" href="#51">51</a>  <em>     * </em>
+<a name="52" href="#52">52</a>  <em>     * <pre></em>
+<a name="53" href="#53">53</a>  <em>     * </em>
+<a name="54" href="#54">54</a>  <em>     *  &lt;!ATTLIST foo bar ID #IMPLIED&gt;</em>
+<a name="55" href="#55">55</a>  <em>     *  </em>
+<a name="56" href="#56">56</a>  <em>     * </pre>.</em>
+<a name="57" href="#57">57</a>  <em>     */</em>
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> testIdImpliedNone() {
+<a name="59" href="#59">59</a>          MyTestAttributeDecl decl = <strong>new</strong> MyTestAttributeDecl(<span class="string">"foo"</span>, <em class="comment">// elementName</em>
+<a name="60" href="#60">60</a>                  <span class="string">"bar"</span>, <em class="comment">// attributeName</em>
+<a name="61" href="#61">61</a>                  <span class="string">"ID"</span>, <em class="comment">// type</em>
+<a name="62" href="#62">62</a>                  <span class="string">"#IMPLIED"</span>, <em class="comment">// valueDefault</em>
+<a name="63" href="#63">63</a>                  <strong>null</strong>, <em class="comment">// value</em>
+<a name="64" href="#64">64</a>                  <span class="string">"<!ATTLIST foo bar ID #IMPLIED>"</span>);
+<a name="65" href="#65">65</a>          assertSameAttributeDecl(decl, <strong>new</strong> AttributeDecl(<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"ID"</span>,
+<a name="66" href="#66">66</a>                  <span class="string">"#IMPLIED"</span>, <strong>null</strong>));
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <em>/**<em>*</em></em>
+<a name="70" href="#70">70</a>  <em>     * Test</em>
+<a name="71" href="#71">71</a>  <em>     * </em>
+<a name="72" href="#72">72</a>  <em>     * <pre></em>
+<a name="73" href="#73">73</a>  <em>     * </em>
+<a name="74" href="#74">74</a>  <em>     *  &lt;!ATTLIST foo bar CDATA #FIXED \&quot;goo\&quot;&gt;</em>
+<a name="75" href="#75">75</a>  <em>     *  </em>
+<a name="76" href="#76">76</a>  <em>     * </pre>.</em>
+<a name="77" href="#77">77</a>  <em>     */</em>
+<a name="78" href="#78">78</a>      <strong>public</strong> <strong>void</strong> testCDataFixedValue() {
+<a name="79" href="#79">79</a>          MyTestAttributeDecl decl = <strong>new</strong> MyTestAttributeDecl(<span class="string">"foo"</span>, <em class="comment">// elementName</em>
+<a name="80" href="#80">80</a>                  <span class="string">"bar"</span>, <em class="comment">// attributeName</em>
+<a name="81" href="#81">81</a>                  <span class="string">"CDATA"</span>, <em class="comment">// type</em>
+<a name="82" href="#82">82</a>                  <span class="string">"#FIXED"</span>, <em class="comment">// valueDefault</em>
+<a name="83" href="#83">83</a>                  <span class="string">"goo"</span>, <em class="comment">// value</em>
+<a name="84" href="#84">84</a>                  <span class="string">"<!ATTLIST foo bar CDATA #FIXED \"goo\">"</span>);
+<a name="85" href="#85">85</a>          assertSameAttributeDecl(decl, <strong>new</strong> AttributeDecl(<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"CDATA"</span>,
+<a name="86" href="#86">86</a>                  <span class="string">"#FIXED"</span>, <span class="string">"goo"</span>));
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <em>/**<em>*</em></em>
+<a name="90" href="#90">90</a>  <em>     * Test</em>
+<a name="91" href="#91">91</a>  <em>     * </em>
+<a name="92" href="#92">92</a>  <em>     * <pre></em>
+<a name="93" href="#93">93</a>  <em>     * </em>
+<a name="94" href="#94">94</a>  <em>     *  &lt;!ATTLIST foo bar CDATA &quot;goo&quot;&gt;</em>
+<a name="95" href="#95">95</a>  <em>     *  </em>
+<a name="96" href="#96">96</a>  <em>     * </pre>.</em>
+<a name="97" href="#97">97</a>  <em>     */</em>
+<a name="98" href="#98">98</a>      <strong>public</strong> <strong>void</strong> testCDataNoneValue() {
+<a name="99" href="#99">99</a>          MyTestAttributeDecl decl = <strong>new</strong> MyTestAttributeDecl(<span class="string">"foo"</span>, <em class="comment">// elementName</em>
+<a name="100" href="#100">100</a>                 <span class="string">"bar"</span>, <em class="comment">// attributeName</em>
+<a name="101" href="#101">101</a>                 <span class="string">"CDATA"</span>, <em class="comment">// type</em>
+<a name="102" href="#102">102</a>                 <strong>null</strong>, <em class="comment">// valueDefault</em>
+<a name="103" href="#103">103</a>                 <span class="string">"goo"</span>, <em class="comment">// value</em>
+<a name="104" href="#104">104</a>                 <span class="string">"<!ATTLIST foo bar CDATA \"goo\">"</span>);
+<a name="105" href="#105">105</a>         assertSameAttributeDecl(decl, <strong>new</strong> AttributeDecl(<span class="string">"foo"</span>, <span class="string">"bar"</span>, <span class="string">"CDATA"</span>,
+<a name="106" href="#106">106</a>                 <strong>null</strong>, <span class="string">"goo"</span>));
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <em class="comment">// Implementation methods</em>
+<a name="110" href="#110">110</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="111" href="#111">111</a>     <strong>protected</strong> <strong>void</strong> assertSameAttributeDecl(MyTestAttributeDecl expected,
+<a name="112" href="#112">112</a>             AttributeDecl actual) {
+<a name="113" href="#113">113</a>         assertEquals(<span class="string">"elementName is correct"</span>, expected.getElementName(),
+<a name="114" href="#114">114</a>                 actual.getElementName());
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         assertEquals(<span class="string">"attributeName is correct"</span>, expected.getAttributeName(),
+<a name="117" href="#117">117</a>                 actual.getAttributeName());
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         assertEquals(<span class="string">"type is correct"</span>, expected.getType(), actual.getType());
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>         assertEquals(<span class="string">"valueDefault is correct"</span>, expected.getValueDefault(),
+<a name="122" href="#122">122</a>                 actual.getValueDefault());
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         assertEquals(<span class="string">"toString() is correct"</span>, expected.getText(), actual
+<a name="125" href="#125">125</a>                 .toString());
+<a name="126" href="#126">126</a>     }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>     <em>/**<em>*</em></em>
+<a name="129" href="#129">129</a> <em>     * Helper is useful since we are trying to exhaustively test the ATTLIST</em>
+<a name="130" href="#130">130</a> <em>     * variations and their correct serialization.</em>
+<a name="131" href="#131">131</a> <em>     */</em>
+<a name="132" href="#132">132</a>     <strong>protected</strong> <strong>static</strong> <strong>class</strong> MyTestAttributeDecl {
+<a name="133" href="#133">133</a>         <strong>private</strong> String elName;
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>         <strong>private</strong> String attName;
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>         <strong>private</strong> String declType;
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>         <strong>private</strong> String defaultValue;
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>         <strong>private</strong> String declValue;
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         <strong>private</strong> String txt;
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>         <em>/**<em>*</em></em>
+<a name="146" href="#146">146</a> <em>         * DOCUMENT ME!</em>
+<a name="147" href="#147">147</a> <em>         * </em>
+<a name="148" href="#148">148</a> <em>         * @param elementName</em>
+<a name="149" href="#149">149</a> <em>         *            The name of the element whose attribute is being</em>
+<a name="150" href="#150">150</a> <em>         *            described.</em>
+<a name="151" href="#151">151</a> <em>         * @param attributeName</em>
+<a name="152" href="#152">152</a> <em>         *            The name of the attribute.</em>
+<a name="153" href="#153">153</a> <em>         * @param type</em>
+<a name="154" href="#154">154</a> <em>         *            The type of the declared attribute, e.g., CDATA, ID,</em>
+<a name="155" href="#155">155</a> <em>         *            IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NKTOKENS</em>
+<a name="156" href="#156">156</a> <em>         * @param valueDefault</em>
+<a name="157" href="#157">157</a> <em>         *            The type of default that applies for this attribute</em>
+<a name="158" href="#158">158</a> <em>         *            declaration, e.g., #REQUIRED, #IMPLIED, #FIXED (in which</em>
+<a name="159" href="#159">159</a> <em>         *            case the <i>value </i> MUST be non- <code>null</code></em>
+<a name="160" href="#160">160</a> <em>         *            and specifies the fixed value for the attribute, or</em>
+<a name="161" href="#161">161</a> <em>         *            <code>null</code> if no valueDefault was specified in</em>
+<a name="162" href="#162">162</a> <em>         *            the attribute declaration (in which case the <i>value </i></em>
+<a name="163" href="#163">163</a> <em>         *            MUST be non- <code>null</code> and specifies the default</em>
+<a name="164" href="#164">164</a> <em>         *            value for the attribute).</em>
+<a name="165" href="#165">165</a> <em>         * @param value</em>
+<a name="166" href="#166">166</a> <em>         *            The value of the attribute assigned in the attribute</em>
+<a name="167" href="#167">167</a> <em>         *            declaration -or- <code>null</code> if no value was</em>
+<a name="168" href="#168">168</a> <em>         *            provided in the attribute declaration. The value MUST be</em>
+<a name="169" href="#169">169</a> <em>         *            <code>null</code> unless the <i>valueDefault </i> is</em>
+<a name="170" href="#170">170</a> <em>         *            either "#FIXED" or <code>null</code>.</em>
+<a name="171" href="#171">171</a> <em>         * @param text</em>
+<a name="172" href="#172">172</a> <em>         *            The text representation of the attribute declaration,</em>
+<a name="173" href="#173">173</a> <em>         *            e.g., <code>&lt;!ATTLIST foo id ID #IMPLIED&gt;</code>.</em>
+<a name="174" href="#174">174</a> <em>         * </em>
+<a name="175" href="#175">175</a> <em>         * @todo The constructor and properties in {@link AttributeDecl}should</em>
+<a name="176" href="#176">176</a> <em>         *       have some similar javadoc so that people more easily understand</em>
+<a name="177" href="#177">177</a> <em>         *       the interaction and difference between the <i>valueDefault </i></em>
+<a name="178" href="#178">178</a> <em>         *       and <i>value </i> properties. The constructor SHOULD be clear</em>
+<a name="179" href="#179">179</a> <em>         *       about whether and when the <code>valueDefault</code> and</em>
+<a name="180" href="#180">180</a> <em>         *       <code>value</code> properties MUST be <code>null</code>.</em>
+<a name="181" href="#181">181</a> <em>         */</em>
+<a name="182" href="#182">182</a>         <strong>public</strong> MyTestAttributeDecl(String elementName, String attributeName,
+<a name="183" href="#183">183</a>                 String type, String valueDefault, String value, String text) {
+<a name="184" href="#184">184</a>             elName = elementName;
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>             attName = attributeName;
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>             declType = type;
+<a name="189" href="#189">189</a> 
+<a name="190" href="#190">190</a>             defaultValue = valueDefault;
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>             declValue = value;
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>             txt = text;
+<a name="195" href="#195">195</a>         }
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>         <strong>public</strong> String getElementName() {
+<a name="198" href="#198">198</a>             <strong>return</strong> elName;
+<a name="199" href="#199">199</a>         }
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>         <strong>public</strong> String getAttributeName() {
+<a name="202" href="#202">202</a>             <strong>return</strong> attName;
+<a name="203" href="#203">203</a>         }
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>         <strong>public</strong> String getType() {
+<a name="206" href="#206">206</a>             <strong>return</strong> declType;
+<a name="207" href="#207">207</a>         }
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>         <strong>public</strong> String getValueDefault() {
+<a name="210" href="#210">210</a>             <strong>return</strong> defaultValue;
+<a name="211" href="#211">211</a>         }
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>         <strong>public</strong> String getValue() {
+<a name="214" href="#214">214</a>             <strong>return</strong> declValue;
+<a name="215" href="#215">215</a>         }
+<a name="216" href="#216">216</a> 
+<a name="217" href="#217">217</a>         <strong>public</strong> String getText() {
+<a name="218" href="#218">218</a>             <strong>return</strong> txt;
+<a name="219" href="#219">219</a>         }
+<a name="220" href="#220">220</a>     } <em class="comment">// Class TestAttributeDecl</em>
+<a name="221" href="#221">221</a> }
+<a name="222" href="#222">222</a> 
+<a name="223" href="#223">223</a> <em class="comment">/*</em>
+<a name="224" href="#224">224</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="225" href="#225">225</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="226" href="#226">226</a> <em class="comment"> * following conditions are met:</em>
+<a name="227" href="#227">227</a> <em class="comment"> * </em>
+<a name="228" href="#228">228</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="229" href="#229">229</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="230" href="#230">230</a> <em class="comment"> * </em>
+<a name="231" href="#231">231</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="232" href="#232">232</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="233" href="#233">233</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="234" href="#234">234</a> <em class="comment"> * </em>
+<a name="235" href="#235">235</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="236" href="#236">236</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="237" href="#237">237</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="238" href="#238">238</a> <em class="comment"> * </em>
+<a name="239" href="#239">239</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="240" href="#240">240</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="241" href="#241">241</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="242" href="#242">242</a> <em class="comment"> * </em>
+<a name="243" href="#243">243</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="244" href="#244">244</a> <em class="comment"> * </em>
+<a name="245" href="#245">245</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="246" href="#246">246</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="247" href="#247">247</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="248" href="#248">248</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="249" href="#249">249</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="250" href="#250">250</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="251" href="#251">251</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="252" href="#252">252</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="253" href="#253">253</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="254" href="#254">254</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="255" href="#255">255</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="256" href="#256">256</a> <em class="comment"> * </em>
+<a name="257" href="#257">257</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="258" href="#258">258</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/dtd/ElementDeclTest.html b/docs/xref-test/org/dom4j/dtd/ElementDeclTest.html
new file mode 100644
index 0000000..26a1fcc
--- /dev/null
+++ b/docs/xref-test/org/dom4j/dtd/ElementDeclTest.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementDeclTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * Tests the {@link ElementDecl}functionality. Tests each of the property</em>
+<a name="16" href="#16">16</a>  <em> * access methods and the serialization mechanisms. Correct parsing is tested by</em>
+<a name="17" href="#17">17</a>  <em> * {@link DocTypeTest}.</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * <P></em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author Bryan Thompson</em>
+<a name="23" href="#23">23</a>  <em> * @author Maarten Coene</em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @todo The dom4j documentation needs to describe what representation SHOULD be</em>
+<a name="27" href="#27">27</a>  <em> *       generated by {@link ElementDecl#toString()}.</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dtd/ElementDeclTest.html">ElementDeclTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="31" href="#31">31</a>          TestRunner.run(ElementDeclTest.<strong>class</strong>);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em class="comment">// Test case(s)</em>
+<a name="35" href="#35">35</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>*</em></em>
+<a name="38" href="#38">38</a>  <em>     * Test</em>
+<a name="39" href="#39">39</a>  <em>     * </em>
+<a name="40" href="#40">40</a>  <em>     * <pre></em>
+<a name="41" href="#41">41</a>  <em>     * </em>
+<a name="42" href="#42">42</a>  <em>     *  &lt;!ELEMENT an-element (#PCDATA)&gt;</em>
+<a name="43" href="#43">43</a>  <em>     *  </em>
+<a name="44" href="#44">44</a>  <em>     * </pre></em>
+<a name="45" href="#45">45</a>  <em>     */</em>
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> testSimpleElementDecl() {
+<a name="47" href="#47">47</a>          String expectedName = <span class="string">"an-element"</span>;
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          String expectedModel = <span class="string">"(#PCDATA)"</span>;
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          String expectedText = <span class="string">"<!ELEMENT an-element (#PCDATA)>"</span>;
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          ElementDecl actual = <strong>new</strong> ElementDecl(expectedName, expectedModel);
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          assertEquals(<span class="string">"name is correct"</span>, expectedName, actual.getName());
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          assertEquals(<span class="string">"model is correct"</span>, expectedModel, actual.getModel());
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          assertEquals(<span class="string">"toString() is correct"</span>, expectedText, actual.toString());
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em class="comment">// Implementation methods</em>
+<a name="63" href="#63">63</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="64" href="#64">64</a>  }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>  <em class="comment">/*</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * following conditions are met:</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * </em>
+<a name="100" href="#100">100</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="101" href="#101">101</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/dtd/ExternalEntityDeclTest.html b/docs/xref-test/org/dom4j/dtd/ExternalEntityDeclTest.html
new file mode 100644
index 0000000..e2b5fa9
--- /dev/null
+++ b/docs/xref-test/org/dom4j/dtd/ExternalEntityDeclTest.html
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ExternalEntityDeclTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * Tests the {@link ExternalEntityDecl}functionality. Tests each of the</em>
+<a name="16" href="#16">16</a>  <em> * property access methods and the serialization mechanisms. Correct parsing is</em>
+<a name="17" href="#17">17</a>  <em> * tested by {@link DocTypeTest}.</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * <P></em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author Bryan Thompson</em>
+<a name="23" href="#23">23</a>  <em> * @author Maarten Coene</em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @todo The dom4j documentation needs to describe what representation SHOULD be</em>
+<a name="27" href="#27">27</a>  <em> *       generated by {@link ExternalEntityDecl#toString()}.</em>
+<a name="28" href="#28">28</a>  <em> * @todo Test support for NOTATION and NDATA when used as part of an external</em>
+<a name="29" href="#29">29</a>  <em> *       entity declaration. dom4j does not appear to support NOTATION and NDATA</em>
+<a name="30" href="#30">30</a>  <em> *       at this time.</em>
+<a name="31" href="#31">31</a>  <em> */</em>
+<a name="32" href="#32">32</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dtd/ExternalEntityDeclTest.html">ExternalEntityDeclTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="34" href="#34">34</a>          TestRunner.run(ExternalEntityDeclTest.<strong>class</strong>);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em class="comment">// Test case(s)</em>
+<a name="38" href="#38">38</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>void</strong> testToString() {
+<a name="40" href="#40">40</a>          ExternalEntityDecl decl1 = <strong>new</strong> ExternalEntityDecl(<span class="string">"name"</span>, <strong>null</strong>,
+<a name="41" href="#41">41</a>                  <span class="string">"systemID"</span>);
+<a name="42" href="#42">42</a>          ExternalEntityDecl decl2 = <strong>new</strong> ExternalEntityDecl(<span class="string">"%name"</span>, <strong>null</strong>,
+<a name="43" href="#43">43</a>                  <span class="string">"systemID"</span>);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          assertEquals(<span class="string">"<!ENTITY name SYSTEM \"systemID\" >"</span>, decl1.toString());
+<a name="46" href="#46">46</a>          assertEquals(<span class="string">"<!ENTITY % name SYSTEM \"systemID\" >"</span>, decl2.toString());
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>*</em></em>
+<a name="50" href="#50">50</a>  <em>     * Tests external entity declaration using only the SYSTEM identifier.</em>
+<a name="51" href="#51">51</a>  <em>     */</em>
+<a name="52" href="#52">52</a>      <strong>public</strong> <strong>void</strong> testSystemId() {
+<a name="53" href="#53">53</a>          String expectedName = <span class="string">"anEntity"</span>;
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          String expectedPublicID = <strong>null</strong>;
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          String expectedSystemID = <span class="string">"http://www.myorg.org/foo"</span>;
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          String expectedText = <span class="string">"<!ENTITY anEntity "</span>
+<a name="60" href="#60">60</a>                  + <span class="string">"SYSTEM \"http://www.myorg.org/foo\" >"</span>;
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>          ExternalEntityDecl actual = <strong>new</strong> ExternalEntityDecl(expectedName,
+<a name="63" href="#63">63</a>                  expectedPublicID, expectedSystemID);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          assertEquals(<span class="string">"name is correct"</span>, expectedName, actual.getName());
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          assertEquals(<span class="string">"publicID is correct"</span>, expectedPublicID, actual
+<a name="68" href="#68">68</a>                  .getPublicID());
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          assertEquals(<span class="string">"systemID is correct"</span>, expectedSystemID, actual
+<a name="71" href="#71">71</a>                  .getSystemID());
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          assertEquals(<span class="string">"toString() is correct"</span>, expectedText, actual.toString());
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <em>/**<em>*</em></em>
+<a name="77" href="#77">77</a>  <em>     * Tests external entity declaration using both SYSTEM and PUBLIC</em>
+<a name="78" href="#78">78</a>  <em>     * identifiers.</em>
+<a name="79" href="#79">79</a>  <em>     */</em>
+<a name="80" href="#80">80</a>      <strong>public</strong> <strong>void</strong> testPublicIdSystemId() {
+<a name="81" href="#81">81</a>          String expectedName = <span class="string">"anEntity"</span>;
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>          String expectedPublicID = <span class="string">"-//dom4j//DTD sample"</span>;
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>          String expectedSystemID = <span class="string">"http://www.myorg.org/foo"</span>;
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>          String expectedText = <span class="string">"<!ENTITY anEntity "</span>
+<a name="88" href="#88">88</a>                  + <span class="string">"PUBLIC \"-//dom4j//DTD sample\" "</span>
+<a name="89" href="#89">89</a>                  + <span class="string">"\"http://www.myorg.org/foo\" >"</span>;
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>          ExternalEntityDecl actual = <strong>new</strong> ExternalEntityDecl(expectedName,
+<a name="92" href="#92">92</a>                  expectedPublicID, expectedSystemID);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          assertEquals(<span class="string">"name is correct"</span>, expectedName, actual.getName());
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>          assertEquals(<span class="string">"publicID is correct"</span>, expectedPublicID, actual
+<a name="97" href="#97">97</a>                  .getPublicID());
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          assertEquals(<span class="string">"systemID is correct"</span>, expectedSystemID, actual
+<a name="100" href="#100">100</a>                 .getSystemID());
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         assertEquals(<span class="string">"toString() is correct"</span>, expectedText, actual.toString());
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a> <em class="comment">/*</em>
+<a name="107" href="#107">107</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="108" href="#108">108</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="109" href="#109">109</a> <em class="comment"> * following conditions are met:</em>
+<a name="110" href="#110">110</a> <em class="comment"> * </em>
+<a name="111" href="#111">111</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="112" href="#112">112</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="113" href="#113">113</a> <em class="comment"> * </em>
+<a name="114" href="#114">114</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="115" href="#115">115</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="116" href="#116">116</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="117" href="#117">117</a> <em class="comment"> * </em>
+<a name="118" href="#118">118</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="119" href="#119">119</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="120" href="#120">120</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="121" href="#121">121</a> <em class="comment"> * </em>
+<a name="122" href="#122">122</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="123" href="#123">123</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="124" href="#124">124</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="125" href="#125">125</a> <em class="comment"> * </em>
+<a name="126" href="#126">126</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="129" href="#129">129</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="130" href="#130">130</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="131" href="#131">131</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="132" href="#132">132</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="133" href="#133">133</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="134" href="#134">134</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="135" href="#135">135</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="136" href="#136">136</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="137" href="#137">137</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="138" href="#138">138</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="139" href="#139">139</a> <em class="comment"> * </em>
+<a name="140" href="#140">140</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="141" href="#141">141</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/dtd/InternalEntityDeclTest.html b/docs/xref-test/org/dom4j/dtd/InternalEntityDeclTest.html
new file mode 100644
index 0000000..c897219
--- /dev/null
+++ b/docs/xref-test/org/dom4j/dtd/InternalEntityDeclTest.html
@@ -0,0 +1,171 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>InternalEntityDeclTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * Tests the {@link InternalEntityDecl}functionality. Tests each of the</em>
+<a name="16" href="#16">16</a>  <em> * property access methods and the serialization mechanisms. Correct parsing is</em>
+<a name="17" href="#17">17</a>  <em> * tested by {@link DocTypeTest}.</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author Bryan Thompson</em>
+<a name="23" href="#23">23</a>  <em> * @author Maarten Coene</em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @todo The dom4j documentation needs to describe what representation SHOULD be</em>
+<a name="27" href="#27">27</a>  <em> *       generated by {@link InternalEntityDecl#toString()}.</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dtd/InternalEntityDeclTest.html">InternalEntityDeclTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="31" href="#31">31</a>          TestRunner.run(InternalEntityDeclTest.<strong>class</strong>);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em class="comment">// Test case(s)</em>
+<a name="35" href="#35">35</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> testToString() {
+<a name="37" href="#37">37</a>          InternalEntityDecl decl1 = <strong>new</strong> InternalEntityDecl(<span class="string">"name"</span>, <span class="string">"value"</span>);
+<a name="38" href="#38">38</a>          InternalEntityDecl decl2 = <strong>new</strong> InternalEntityDecl(<span class="string">"%name"</span>, <span class="string">"value"</span>);
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          assertEquals(<span class="string">"<!ENTITY name \"value\">"</span>, decl1.toString());
+<a name="41" href="#41">41</a>          assertEquals(<span class="string">"<!ENTITY % name \"value\">"</span>, decl2.toString());
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em>/**<em>*</em></em>
+<a name="45" href="#45">45</a>  <em>     * Tests parameter entity declaration, such as</em>
+<a name="46" href="#46">46</a>  <em>     * </em>
+<a name="47" href="#47">47</a>  <em>     * <pre></em>
+<a name="48" href="#48">48</a>  <em>     * </em>
+<a name="49" href="#49">49</a>  <em>     *  </em>
+<a name="50" href="#50">50</a>  <em>     *   &lt;!ENTITY % boolean &quot;( true | false )&quot;&gt;</em>
+<a name="51" href="#51">51</a>  <em>     *   </em>
+<a name="52" href="#52">52</a>  <em>     *  </em>
+<a name="53" href="#53">53</a>  <em>     * </pre></em>
+<a name="54" href="#54">54</a>  <em>     * </em>
+<a name="55" href="#55">55</a>  <em>     * Note: There is a required whitespace between the "%" and the name of the</em>
+<a name="56" href="#56">56</a>  <em>     * entity. This whitespace is required in the declaration and is not allowed</em>
+<a name="57" href="#57">57</a>  <em>     * when writing a reference to the entity, e.g., "%boolean;" is a legal</em>
+<a name="58" href="#58">58</a>  <em>     * reference but not "% boolean;".</em>
+<a name="59" href="#59">59</a>  <em>     * </em>
+<a name="60" href="#60">60</a>  <em>     * <p></em>
+<a name="61" href="#61">61</a>  <em>     * Note: The "%" is part of the parameter entity name as reported by the SAX</em>
+<a name="62" href="#62">62</a>  <em>     * API. See <a href="<a href="http://tinyurl.com/6xe9y" target="alexandria_uri">http://tinyurl.com/6xe9y</a>">LexicalHandler </a>, which</em>
+<a name="63" href="#63">63</a>  <em>     * states:</em>
+<a name="64" href="#64">64</a>  <em>     * </em>
+<a name="65" href="#65">65</a>  <em>     * <pre></em>
+<a name="66" href="#66">66</a>  <em>     * </em>
+<a name="67" href="#67">67</a>  <em>     *  </em>
+<a name="68" href="#68">68</a>  <em>     *   General entities are reported with their regular names,</em>
+<a name="69" href="#69">69</a>  <em>     *   parameter entities have '%' prepended to their names, and the</em>
+<a name="70" href="#70">70</a>  <em>     *   external DTD subset has the pseudo-entity name &quot;[dtd]&quot;.</em>
+<a name="71" href="#71">71</a>  <em>     *   </em>
+<a name="72" href="#72">72</a>  <em>     *  </em>
+<a name="73" href="#73">73</a>  <em>     * </pre></em>
+<a name="74" href="#74">74</a>  <em>     * </em>
+<a name="75" href="#75">75</a>  <em>     * </p></em>
+<a name="76" href="#76">76</a>  <em>     */</em>
+<a name="77" href="#77">77</a>      <strong>public</strong> <strong>void</strong> testParameterEntity() {
+<a name="78" href="#78">78</a>          String expectedName = <span class="string">"%boolean"</span>;
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>          String expectedValue = <span class="string">"( true | false )"</span>;
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          String expectedText = <span class="string">"<!ENTITY % boolean \"( true | false )\">"</span>;
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          InternalEntityDecl actual = <strong>new</strong> InternalEntityDecl(expectedName,
+<a name="85" href="#85">85</a>                  expectedValue);
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>          assertEquals(<span class="string">"name is correct"</span>, expectedName, actual.getName());
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          assertEquals(<span class="string">"value is correct"</span>, expectedValue, actual.getValue());
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>          assertEquals(<span class="string">"toString() is correct"</span>, expectedText, actual.toString());
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <em>/**<em>*</em></em>
+<a name="95" href="#95">95</a>  <em>     * Tests general entity declaration, such as:</em>
+<a name="96" href="#96">96</a>  <em>     * </em>
+<a name="97" href="#97">97</a>  <em>     * <pre></em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     *  </em>
+<a name="100" href="#100">100</a> <em>     *   &lt;!ENTITY foo &quot;bar&quot;&gt;</em>
+<a name="101" href="#101">101</a> <em>     *   </em>
+<a name="102" href="#102">102</a> <em>     *  </em>
+<a name="103" href="#103">103</a> <em>     * </pre></em>
+<a name="104" href="#104">104</a> <em>     */</em>
+<a name="105" href="#105">105</a>     <strong>public</strong> <strong>void</strong> testGeneralEntity() {
+<a name="106" href="#106">106</a>         String expectedName = <span class="string">"foo"</span>;
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>         String expectedValue = <span class="string">"bar"</span>;
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         String expectedText = <span class="string">"<!ENTITY foo \"bar\">"</span>;
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         InternalEntityDecl actual = <strong>new</strong> InternalEntityDecl(expectedName,
+<a name="113" href="#113">113</a>                 expectedValue);
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         assertEquals(<span class="string">"name is correct"</span>, expectedName, actual.getName());
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         assertEquals(<span class="string">"value is correct"</span>, expectedValue, actual.getValue());
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         assertEquals(<span class="string">"toString() is correct"</span>, expectedText, actual.toString());
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a> <em class="comment">/*</em>
+<a name="124" href="#124">124</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="125" href="#125">125</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="126" href="#126">126</a> <em class="comment"> * following conditions are met:</em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="129" href="#129">129</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="132" href="#132">132</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="133" href="#133">133</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="136" href="#136">136</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="137" href="#137">137</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="140" href="#140">140</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="141" href="#141">141</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="142" href="#142">142</a> <em class="comment"> * </em>
+<a name="143" href="#143">143</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="146" href="#146">146</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="147" href="#147">147</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="148" href="#148">148</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="149" href="#149">149</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="150" href="#150">150</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="151" href="#151">151</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="152" href="#152">152</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="153" href="#153">153</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="154" href="#154">154</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="155" href="#155">155</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="156" href="#156">156</a> <em class="comment"> * </em>
+<a name="157" href="#157">157</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="158" href="#158">158</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/dtd/package-frame.html b/docs/xref-test/org/dom4j/dtd/package-frame.html
new file mode 100644
index 0000000..5372ac4
--- /dev/null
+++ b/docs/xref-test/org/dom4j/dtd/package-frame.html
@@ -0,0 +1,39 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.dtd</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.dtd</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="AttributeDeclTest.html" target="classFrame">AttributeDeclTest</a>
+          </li>
+        
+          <li>
+            <a href="ElementDeclTest.html" target="classFrame">ElementDeclTest</a>
+          </li>
+        
+          <li>
+            <a href="ExternalEntityDeclTest.html" target="classFrame">ExternalEntityDeclTest</a>
+          </li>
+        
+          <li>
+            <a href="InternalEntityDeclTest.html" target="classFrame">InternalEntityDeclTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/dtd/package-summary.html b/docs/xref-test/org/dom4j/dtd/package-summary.html
new file mode 100644
index 0000000..2aebfae
--- /dev/null
+++ b/docs/xref-test/org/dom4j/dtd/package-summary.html
@@ -0,0 +1,120 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.dtd</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="AttributeDeclTest.html" target="classFrame">AttributeDeclTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementDeclTest.html" target="classFrame">ElementDeclTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ExternalEntityDeclTest.html" target="classFrame">ExternalEntityDeclTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="InternalEntityDeclTest.html" target="classFrame">InternalEntityDeclTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/io/DOMReaderTest.html b/docs/xref-test/org/dom4j/io/DOMReaderTest.html
new file mode 100644
index 0000000..79741dc
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/DOMReaderTest.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMReaderTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.ByteArrayInputStream;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> javax.xml.parsers.DocumentBuilder;
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.parsers.DocumentBuilderFactory;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * DOCUMENT ME!</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author Maarten</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/DOMReaderTest.html">DOMReaderTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="27" href="#27">27</a>          TestRunner.run(DOMReaderTest.<strong>class</strong>);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>void</strong> testBug972737() throws Exception {
+<a name="31" href="#31">31</a>          String xml = <span class="string">"<schema targetNamespace='http://SharedTest.org/xsd' "</span>
+<a name="32" href="#32">32</a>                  + <span class="string">"        xmlns='http://www.w3.org/2001/XMLSchema' "</span>
+<a name="33" href="#33">33</a>                  + <span class="string">"        xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"</span>
+<a name="34" href="#34">34</a>                  + <span class="string">"    <complexType name='AllStruct'>"</span> + <span class="string">"        <all>"</span>
+<a name="35" href="#35">35</a>                  + <span class="string">"            <element name='arString' type='xsd:string'/>"</span>
+<a name="36" href="#36">36</a>                  + <span class="string">"            <element name='varInt' type='xsd:int'/>"</span>
+<a name="37" href="#37">37</a>                  + <span class="string">"        </all>"</span> + <span class="string">"    </complexType>"</span> + <span class="string">"</schema>"</span>;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+<a name="40" href="#40">40</a>          DocumentBuilder builder = factory.newDocumentBuilder();
+<a name="41" href="#41">41</a>          org.w3c.dom.Document doc = builder.parse(<strong>new</strong> ByteArrayInputStream(xml
+<a name="42" href="#42">42</a>                  .getBytes()));
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          DOMReader reader = <strong>new</strong> DOMReader();
+<a name="45" href="#45">45</a>          org.dom4j.Document dom4jDoc = reader.read(doc);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          List namespaces = dom4jDoc.getRootElement().declaredNamespaces();
+<a name="48" href="#48">48</a>          assertEquals(2, namespaces.size());
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          System.out.println(dom4jDoc.asXML());
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>  <em class="comment">/*</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * following conditions are met:</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/io/DOMWriterTest.html b/docs/xref-test/org/dom4j/io/DOMWriterTest.html
new file mode 100644
index 0000000..07685fc
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/DOMWriterTest.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMWriterTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringWriter;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * DOCUMENT ME!</em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author Maarten</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/DOMWriterTest.html">DOMWriterTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="25" href="#25">25</a>          TestRunner.run(DOMWriterTest.<strong>class</strong>);
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>void</strong> testNamespaceBug() throws Exception {
+<a name="29" href="#29">29</a>          org.dom4j.Document doc = getDocument(<span class="string">"/xml/namespaces.xml"</span>);
+<a name="30" href="#30">30</a>          DOMWriter writer = <strong>new</strong> DOMWriter(org.dom4j.dom.DOMDocument.<strong>class</strong>);
+<a name="31" href="#31">31</a>          org.w3c.dom.Document result = writer.write(doc);
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>          NamedNodeMap atts = result.getDocumentElement().getAttributes();
+<a name="34" href="#34">34</a>          assertEquals(4, atts.getLength());
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          XMLWriter wr = <strong>new</strong> XMLWriter();
+<a name="37" href="#37">37</a>          wr.setOutputStream(System.out);
+<a name="38" href="#38">38</a>          wr.write((org.dom4j.Document) result);
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> <strong>void</strong> testBug905745() throws Exception {
+<a name="42" href="#42">42</a>          org.dom4j.Document doc = getDocument(<span class="string">"/xml/namespaces.xml"</span>);
+<a name="43" href="#43">43</a>          DOMWriter writer = <strong>new</strong> DOMWriter();
+<a name="44" href="#44">44</a>          org.w3c.dom.Document result = writer.write(doc);
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          NamedNodeMap atts = result.getDocumentElement().getAttributes();
+<a name="47" href="#47">47</a>          org.w3c.dom.Node versionAttr = atts.getNamedItem(<span class="string">"version"</span>);
+<a name="48" href="#48">48</a>          assertNotNull(versionAttr);
+<a name="49" href="#49">49</a>          assertNotNull(versionAttr.getLocalName());
+<a name="50" href="#50">50</a>          assertEquals(<span class="string">"version"</span>, versionAttr.getLocalName());
+<a name="51" href="#51">51</a>          assertEquals(<span class="string">"version"</span>, versionAttr.getNodeName());
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> <strong>void</strong> testBug926752() throws Exception {
+<a name="55" href="#55">55</a>          org.dom4j.Document doc = getDocument(<span class="string">"/xml/test/defaultNamespace.xml"</span>);
+<a name="56" href="#56">56</a>          DOMWriter writer = <strong>new</strong> DOMWriter(org.dom4j.dom.DOMDocument.<strong>class</strong>);
+<a name="57" href="#57">57</a>          org.w3c.dom.Document result = writer.write(doc);
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          NamedNodeMap atts = result.getDocumentElement().getAttributes();
+<a name="60" href="#60">60</a>          assertEquals(1, atts.getLength());
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>          OutputFormat format = OutputFormat.createCompactFormat();
+<a name="63" href="#63">63</a>          format.setSuppressDeclaration(<strong>true</strong>);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          XMLWriter wr = <strong>new</strong> XMLWriter(format);
+<a name="66" href="#66">66</a>          StringWriter strWriter = <strong>new</strong> StringWriter();
+<a name="67" href="#67">67</a>          wr.setWriter(strWriter);
+<a name="68" href="#68">68</a>          wr.write((org.dom4j.Document) result);
+<a name="69" href="#69">69</a>          assertEquals(<span class="string">"<a xmlns=\"dummyNamespace\"><b><c>Hello</c></b></a>"</span>,
+<a name="70" href="#70">70</a>                  strWriter.toString());
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>  <em class="comment">/*</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * following conditions are met:</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * </em>
+<a name="94" href="#94">94</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="101" href="#101">101</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="102" href="#102">102</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="103" href="#103">103</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="104" href="#104">104</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="105" href="#105">105</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="106" href="#106">106</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="107" href="#107">107</a> <em class="comment"> * </em>
+<a name="108" href="#108">108</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="109" href="#109">109</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/io/DTDTest.html b/docs/xref-test/org/dom4j/io/DTDTest.html
new file mode 100644
index 0000000..71e437a
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/DTDTest.html
@@ -0,0 +1,585 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DTDTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.framework.AssertionFailedError;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.FileInputStream;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.IOException;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.io.InputStream;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.util.ArrayList;
+<a name="18" href="#18">18</a>  <strong>import</strong> java.util.Iterator;
+<a name="19" href="#19">19</a>  <strong>import</strong> java.util.List;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Document;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.dtd.AttributeDecl;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.dtd.ElementDecl;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.dtd.ExternalEntityDecl;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.dom4j.dtd.InternalEntityDecl;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.dom4j.tree.DefaultDocumentType;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>  <strong>import</strong> org.xml.sax.EntityResolver;
+<a name="31" href="#31">31</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="32" href="#32">32</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>  <em>/**<em>*</em></em>
+<a name="35" href="#35">35</a>  <em> * Tests the DocType functionality.</em>
+<a name="36" href="#36">36</a>  <em> * </em>
+<a name="37" href="#37">37</a>  <em> * <p></em>
+<a name="38" href="#38">38</a>  <em> * Incorporated additional test cases for optional processing of the internal</em>
+<a name="39" href="#39">39</a>  <em> * and external DTD subsets. The "external" and "mixed" tests both <strong>fail</em>
+<a name="40" href="#40">40</a>  <em> * </strong> due to a reported bug. See <a href="http://tinyurl.com/4dzyq" target="alexandria_uri">http://tinyurl.com/4dzyq</a></em>
+<a name="41" href="#41">41</a>  <em> * </p></em>
+<a name="42" href="#42">42</a>  <em> * </em>
+<a name="43" href="#43">43</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="44" href="#44">44</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="45" href="#45">45</a>  <em> */</em>
+<a name="46" href="#46">46</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/DTDTest.html">DTDTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="47" href="#47">47</a>      <em>/**<em>*</em></em>
+<a name="48" href="#48">48</a>  <em>     * Input XML file to read <code>xml/dtd/internal.xml</code>- document</em>
+<a name="49" href="#49">49</a>  <em>     * using internal DTD subset, but no external DTD subset.</em>
+<a name="50" href="#50">50</a>  <em>     */</em>
+<a name="51" href="#51">51</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String XML_INTERNAL_FILE = <span class="string">"xml/dtd/internal.xml"</span>;
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <em>/**<em>*</em></em>
+<a name="54" href="#54">54</a>  <em>     * Input XML file to read <code>xml/dtd/external.xml</code>- document</em>
+<a name="55" href="#55">55</a>  <em>     * using external DTD subset, but no internal DTD subset. The external</em>
+<a name="56" href="#56">56</a>  <em>     * entity should be locatable by either PUBLIC or SYSTEM identifier. The</em>
+<a name="57" href="#57">57</a>  <em>     * testing harness should use an appropriate EntityResolver to locate the</em>
+<a name="58" href="#58">58</a>  <em>     * external entity as a local resource (no internet access).</em>
+<a name="59" href="#59">59</a>  <em>     */</em>
+<a name="60" href="#60">60</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String XML_EXTERNAL_FILE = <span class="string">"xml/dtd/external.xml"</span>;
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em>/**<em>*</em></em>
+<a name="63" href="#63">63</a>  <em>     * Input XML file to read <code>xml/dtd/mixed.xml</code>- document using</em>
+<a name="64" href="#64">64</a>  <em>     * both an internal and an external DTD subset. The external entity should</em>
+<a name="65" href="#65">65</a>  <em>     * be locatable by either PUBLIC or SYSTEM identifier. The testing harness</em>
+<a name="66" href="#66">66</a>  <em>     * should use an appropriate EntityResolver to locate the external entity as</em>
+<a name="67" href="#67">67</a>  <em>     * a local resource (no internet access).</em>
+<a name="68" href="#68">68</a>  <em>     */</em>
+<a name="69" href="#69">69</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String XML_MIXED = <span class="string">"xml/dtd/mixed.xml"</span>;
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em>/**<em>*</em></em>
+<a name="72" href="#72">72</a>  <em>     * Input XML file to for {@linkEntityResolver}</em>
+<a name="73" href="#73">73</a>  <em>     * <code>xml/dtd/sample.dtd</code>- the external entity providing the</em>
+<a name="74" href="#74">74</a>  <em>     * external DTD subset for test cases that need one. The SYSTEM identifier</em>
+<a name="75" href="#75">75</a>  <em>     * for this external entity is given by {@link#DTD_SYSTEM_ID}.</em>
+<a name="76" href="#76">76</a>  <em>     */</em>
+<a name="77" href="#77">77</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String DTD_FILE = <span class="string">"xml/dtd/sample.dtd"</span>;
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <em>/**<em>*</em></em>
+<a name="80" href="#80">80</a>  <em>     * The PUBLIC identifier, which is <code>-//dom4j//DTD sample</code>, for</em>
+<a name="81" href="#81">81</a>  <em>     * the external entity providing DTD for tests.</em>
+<a name="82" href="#82">82</a>  <em>     */</em>
+<a name="83" href="#83">83</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String DTD_PUBLICID = <span class="string">"-//dom4j//DTD sample"</span>;
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <em>/**<em>*</em></em>
+<a name="86" href="#86">86</a>  <em>     * The SYSTEM identifier, which is <code>sample.dtd</code>, for the</em>
+<a name="87" href="#87">87</a>  <em>     * external entity providing DTD for tests.</em>
+<a name="88" href="#88">88</a>  <em>     */</em>
+<a name="89" href="#89">89</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String DTD_SYSTEM_ID = <span class="string">"sample.dtd"</span>;
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="92" href="#92">92</a>          TestRunner.run(DTDTest.<strong>class</strong>);
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <em class="comment">// Test case(s)</em>
+<a name="96" href="#96">96</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <em>/**<em>*</em></em>
+<a name="99" href="#99">99</a>  <em>     * Test verifies correct identification of the internal DTD subset and</em>
+<a name="100" href="#100">100</a> <em>     * correct non-presence of the external DTD subset.</em>
+<a name="101" href="#101">101</a> <em>     * </em>
+<a name="102" href="#102">102</a> <em>     * @throws Exception</em>
+<a name="103" href="#103">103</a> <em>     *             DOCUMENT ME!</em>
+<a name="104" href="#104">104</a> <em>     */</em>
+<a name="105" href="#105">105</a>     <strong>public</strong> <strong>void</strong> testInternalDTDSubset() throws Exception {
+<a name="106" href="#106">106</a>         <em class="comment">/*</em>
+<a name="107" href="#107">107</a> <em class="comment">         * Setup the expected DocumentType.</em>
+<a name="108" href="#108">108</a> <em class="comment">         * </em>
+<a name="109" href="#109">109</a> <em class="comment">         * @todo dom4j should expose a DefaultDocumentType constructor that</em>
+<a name="110" href="#110">110</a> <em class="comment">         * accepts only the elementName property. This is used when only an</em>
+<a name="111" href="#111">111</a> <em class="comment">         * internal DTD subset is being provided via the <!DOCTYPE foo [...]></em>
+<a name="112" href="#112">112</a> <em class="comment">         * syntax, in which case there is neither a SYSTEM nor PUBLIC</em>
+<a name="113" href="#113">113</a> <em class="comment">         * identifier.</em>
+<a name="114" href="#114">114</a> <em class="comment">         */</em>
+<a name="115" href="#115">115</a>         DocumentType expected = <strong>new</strong> DefaultDocumentType();
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         expected.setElementName(<span class="string">"greeting"</span>);
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         expected.setInternalDeclarations(getInternalDeclarations());
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>         <em class="comment">/*</em>
+<a name="122" href="#122">122</a> <em class="comment">         * Parse the test XML document and compare the expected and actual</em>
+<a name="123" href="#123">123</a> <em class="comment">         * DOCTYPEs.</em>
+<a name="124" href="#124">124</a> <em class="comment">         */</em>
+<a name="125" href="#125">125</a>         <strong>try</strong> {
+<a name="126" href="#126">126</a>             assertSameDocumentType(expected, readDocument(
+<a name="127" href="#127">127</a>                     XML_INTERNAL_FILE, <strong>true</strong>, false).getDocType());
+<a name="128" href="#128">128</a>         } <strong>catch</strong> (AssertionFailedError ex) {
+<a name="129" href="#129">129</a>             <strong>throw</strong> ex;
+<a name="130" href="#130">130</a>         } <strong>catch</strong> (Throwable t) {
+<a name="131" href="#131">131</a>             fail(<span class="string">"Not expecting: "</span> + t);
+<a name="132" href="#132">132</a>         }
+<a name="133" href="#133">133</a>     }
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>     <em>/**<em>*</em></em>
+<a name="136" href="#136">136</a> <em>     * Test verifies correct identification of the external DTD subset and</em>
+<a name="137" href="#137">137</a> <em>     * correct non-presence of the internal DTD subset.</em>
+<a name="138" href="#138">138</a> <em>     */</em>
+<a name="139" href="#139">139</a>     <strong>public</strong> <strong>void</strong> testExternalDTDSubset() {
+<a name="140" href="#140">140</a>         <em class="comment">/*</em>
+<a name="141" href="#141">141</a> <em class="comment">         * Setup the expected DocumentType.</em>
+<a name="142" href="#142">142</a> <em class="comment">         */</em>
+<a name="143" href="#143">143</a>         DocumentType expected = <strong>new</strong> DefaultDocumentType(<span class="string">"another-greeting"</span>,
+<a name="144" href="#144">144</a>                 <strong>null</strong>, DTD_SYSTEM_ID);
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>         expected.setExternalDeclarations(getExternalDeclarations());
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>         <em class="comment">/*</em>
+<a name="149" href="#149">149</a> <em class="comment">         * Parse the test XML document and compare the expected and actual</em>
+<a name="150" href="#150">150</a> <em class="comment">         * DOCTYPEs.</em>
+<a name="151" href="#151">151</a> <em class="comment">         */</em>
+<a name="152" href="#152">152</a>         <strong>try</strong> {
+<a name="153" href="#153">153</a>             assertSameDocumentType(expected, readDocument(
+<a name="154" href="#154">154</a>                     XML_EXTERNAL_FILE, false, <strong>true</strong>).getDocType());
+<a name="155" href="#155">155</a>         } <strong>catch</strong> (AssertionFailedError ex) {
+<a name="156" href="#156">156</a>             <strong>throw</strong> ex;
+<a name="157" href="#157">157</a>         } <strong>catch</strong> (Throwable t) {
+<a name="158" href="#158">158</a>             fail(<span class="string">"Not expecting: "</span> + t);
+<a name="159" href="#159">159</a>         }
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <em>/**<em>*</em></em>
+<a name="163" href="#163">163</a> <em>     * Test verifies correct identification of the internal and external DTD</em>
+<a name="164" href="#164">164</a> <em>     * subsets.</em>
+<a name="165" href="#165">165</a> <em>     */</em>
+<a name="166" href="#166">166</a>     <strong>public</strong> <strong>void</strong> testMixedDTDSubset() {
+<a name="167" href="#167">167</a>         <em class="comment">/*</em>
+<a name="168" href="#168">168</a> <em class="comment">         * Setup the expected DocumentType.</em>
+<a name="169" href="#169">169</a> <em class="comment">         */</em>
+<a name="170" href="#170">170</a>         DocumentType expected = <strong>new</strong> DefaultDocumentType(<span class="string">"another-greeting"</span>,
+<a name="171" href="#171">171</a>                 <strong>null</strong>, DTD_SYSTEM_ID);
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>         expected.setInternalDeclarations(getInternalDeclarations());
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>         expected.setExternalDeclarations(getExternalDeclarations());
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>         <em class="comment">/*</em>
+<a name="178" href="#178">178</a> <em class="comment">         * Parse the test XML document and compare the expected and actual</em>
+<a name="179" href="#179">179</a> <em class="comment">         * DOCTYPEs.</em>
+<a name="180" href="#180">180</a> <em class="comment">         */</em>
+<a name="181" href="#181">181</a>         <strong>try</strong> {
+<a name="182" href="#182">182</a>             assertSameDocumentType(expected, readDocument(XML_MIXED,
+<a name="183" href="#183">183</a>                     <strong>true</strong>, <strong>true</strong>).getDocType());
+<a name="184" href="#184">184</a>         } <strong>catch</strong> (AssertionFailedError ex) {
+<a name="185" href="#185">185</a>             <strong>throw</strong> ex;
+<a name="186" href="#186">186</a>         } <strong>catch</strong> (Throwable t) {
+<a name="187" href="#187">187</a>             fail(<span class="string">"Not expecting: "</span> + t);
+<a name="188" href="#188">188</a>         }
+<a name="189" href="#189">189</a>     }
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>     <em class="comment">// Implementation methods</em>
+<a name="192" href="#192">192</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>     <em>/**<em>*</em></em>
+<a name="195" href="#195">195</a> <em>     * Test helper method returns a {@link List}of DTD declarations that</em>
+<a name="196" href="#196">196</a> <em>     * represents the expected internal DTD subset (for the tests that use an</em>
+<a name="197" href="#197">197</a> <em>     * internal DTD subset).</em>
+<a name="198" href="#198">198</a> <em>     * </em>
+<a name="199" href="#199">199</a> <em>     * <p></em>
+<a name="200" href="#200">200</a> <em>     * Note: The declarations returned by this method MUST agree those actually</em>
+<a name="201" href="#201">201</a> <em>     * declared in {@link #XML_INTERNAL_FILE}and {@link</em>
+<a name="202" href="#202">202</a> <em>     * #XML_MIXED}.</em>
+<a name="203" href="#203">203</a> <em>     * </p></em>
+<a name="204" href="#204">204</a> <em>     * </em>
+<a name="205" href="#205">205</a> <em>     * <p></em>
+<a name="206" href="#206">206</a> <em>     * </p></em>
+<a name="207" href="#207">207</a> <em>     * </em>
+<a name="208" href="#208">208</a> <em>     * @return DOCUMENT ME!</em>
+<a name="209" href="#209">209</a> <em>     */</em>
+<a name="210" href="#210">210</a>     <strong>protected</strong> List getInternalDeclarations() {
+<a name="211" href="#211">211</a>         List decls = <strong>new</strong> ArrayList();
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>         decls.add(<strong>new</strong> ElementDecl(<span class="string">"greeting"</span>, <span class="string">"(#PCDATA)"</span>));
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>         decls.add(<strong>new</strong> AttributeDecl(<span class="string">"greeting"</span>, <span class="string">"foo"</span>, <span class="string">"ID"</span>, <span class="string">"#IMPLIED"</span>, <strong>null</strong>));
+<a name="216" href="#216">216</a> 
+<a name="217" href="#217">217</a>         decls.add(<strong>new</strong> InternalEntityDecl(<span class="string">"%boolean"</span>, <span class="string">"( true | false )"</span>));
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>         <strong>return</strong> decls;
+<a name="220" href="#220">220</a>     }
+<a name="221" href="#221">221</a> 
+<a name="222" href="#222">222</a>     <em>/**<em>*</em></em>
+<a name="223" href="#223">223</a> <em>     * Test helper method returns a {@link List}of DTD declarations that</em>
+<a name="224" href="#224">224</a> <em>     * represents the expected external DTD subset (for the tests that use an</em>
+<a name="225" href="#225">225</a> <em>     * external DTD subset).</em>
+<a name="226" href="#226">226</a> <em>     * </em>
+<a name="227" href="#227">227</a> <em>     * @return DOCUMENT ME!</em>
+<a name="228" href="#228">228</a> <em>     */</em>
+<a name="229" href="#229">229</a>     <strong>protected</strong> List getExternalDeclarations() {
+<a name="230" href="#230">230</a>         List decls = <strong>new</strong> ArrayList();
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>         decls.add(<strong>new</strong> ElementDecl(<span class="string">"another-greeting"</span>, <span class="string">"(#PCDATA)"</span>));
+<a name="233" href="#233">233</a> 
+<a name="234" href="#234">234</a>         <strong>return</strong> decls;
+<a name="235" href="#235">235</a>     }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>     <em>/**<em>*</em></em>
+<a name="238" href="#238">238</a> <em>     * Test helper method compares the expected and actual {@link DocumentType}</em>
+<a name="239" href="#239">239</a> <em>     * objects, including their internal and external DTD subsets.</em>
+<a name="240" href="#240">240</a> <em>     * </em>
+<a name="241" href="#241">241</a> <em>     * <p></em>
+<a name="242" href="#242">242</a> <em>     * </p></em>
+<a name="243" href="#243">243</a> <em>     * </em>
+<a name="244" href="#244">244</a> <em>     * @param expected</em>
+<a name="245" href="#245">245</a> <em>     *            DOCUMENT ME!</em>
+<a name="246" href="#246">246</a> <em>     * @param actual</em>
+<a name="247" href="#247">247</a> <em>     *            DOCUMENT ME!</em>
+<a name="248" href="#248">248</a> <em>     */</em>
+<a name="249" href="#249">249</a>     <strong>protected</strong> <strong>void</strong> assertSameDocumentType(DocumentType expected,
+<a name="250" href="#250">250</a>             DocumentType actual) {
+<a name="251" href="#251">251</a>         <em class="comment">/*</em>
+<a name="252" href="#252">252</a> <em class="comment">         * Nothing expected?</em>
+<a name="253" href="#253">253</a> <em class="comment">         */</em>
+<a name="254" href="#254">254</a>         <strong>if</strong> (expected == <strong>null</strong>) {
+<a name="255" href="#255">255</a>             <strong>if</strong> (actual == <strong>null</strong>) {
+<a name="256" href="#256">256</a>                 <strong>return</strong>; <em class="comment">// Nothing found.</em>
+<a name="257" href="#257">257</a>             } <strong>else</strong> {
+<a name="258" href="#258">258</a>                 fail(<span class="string">"Not expecting DOCTYPE."</span>);
+<a name="259" href="#259">259</a>             }
+<a name="260" href="#260">260</a>         } <strong>else</strong> {
+<a name="261" href="#261">261</a>             <em class="comment">/*</em>
+<a name="262" href="#262">262</a> <em class="comment">             * Something expected.</em>
+<a name="263" href="#263">263</a> <em class="comment">             */</em>
+<a name="264" href="#264">264</a>             <strong>if</strong> (actual == <strong>null</strong>) {
+<a name="265" href="#265">265</a>                 fail(<span class="string">"Expecting DOCTYPE"</span>);
+<a name="266" href="#266">266</a>             }
+<a name="267" href="#267">267</a> 
+<a name="268" href="#268">268</a>             log(<span class="string">"Expected DocumentType:\n"</span> + expected.toString());
+<a name="269" href="#269">269</a> 
+<a name="270" href="#270">270</a>             log(<span class="string">"Actual DocumentType:\n"</span> + actual.toString());
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>             <em class="comment">// Check the internal DTD subset.</em>
+<a name="273" href="#273">273</a>             assertSameDTDSubset(<span class="string">"Internal"</span>, expected.getInternalDeclarations(),
+<a name="274" href="#274">274</a>                     actual.getInternalDeclarations());
+<a name="275" href="#275">275</a> 
+<a name="276" href="#276">276</a>             <em class="comment">// Check the external DTD subset.</em>
+<a name="277" href="#277">277</a>             assertSameDTDSubset(<span class="string">"External"</span>, expected.getExternalDeclarations(),
+<a name="278" href="#278">278</a>                     actual.getExternalDeclarations());
+<a name="279" href="#279">279</a>         }
+<a name="280" href="#280">280</a>     }
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>     <em>/**<em>*</em></em>
+<a name="283" href="#283">283</a> <em>     * Test helper method compares an expected set of DTD declarations with an</em>
+<a name="284" href="#284">284</a> <em>     * actual set of DTD declarations. This method should be invoked seperately</em>
+<a name="285" href="#285">285</a> <em>     * for the internal DTD subset and the external DTD subset. The declarations</em>
+<a name="286" href="#286">286</a> <em>     * must occur in their logical ordering. See <a</em>
+<a name="287" href="#287">287</a> <em>     * href="<a href="http://tinyurl.com/5jhd8" target="alexandria_uri">http://tinyurl.com/5jhd8</a>">Lexical Handler </a> for conformance</em>
+<a name="288" href="#288">288</a> <em>     * criteria.</em>
+<a name="289" href="#289">289</a> <em>     * </em>
+<a name="290" href="#290">290</a> <em>     * @param txt</em>
+<a name="291" href="#291">291</a> <em>     *            DOCUMENT ME!</em>
+<a name="292" href="#292">292</a> <em>     * @param expected</em>
+<a name="293" href="#293">293</a> <em>     *            DOCUMENT ME!</em>
+<a name="294" href="#294">294</a> <em>     * @param actual</em>
+<a name="295" href="#295">295</a> <em>     *            DOCUMENT ME!</em>
+<a name="296" href="#296">296</a> <em>     * </em>
+<a name="297" href="#297">297</a> <em>     * @throws AssertionError</em>
+<a name="298" href="#298">298</a> <em>     *             DOCUMENT ME!</em>
+<a name="299" href="#299">299</a> <em>     */</em>
+<a name="300" href="#300">300</a>     <strong>protected</strong> <strong>void</strong> assertSameDTDSubset(String txt, List expected, List actual) {
+<a name="301" href="#301">301</a>         <em class="comment">/*</em>
+<a name="302" href="#302">302</a> <em class="comment">         * Nothing expected?</em>
+<a name="303" href="#303">303</a> <em class="comment">         */</em>
+<a name="304" href="#304">304</a>         <strong>if</strong> (expected == <strong>null</strong>) {
+<a name="305" href="#305">305</a>             <strong>if</strong> (actual == <strong>null</strong>) {
+<a name="306" href="#306">306</a>                 <strong>return</strong>; <em class="comment">// Nothing found.</em>
+<a name="307" href="#307">307</a>             } <strong>else</strong> {
+<a name="308" href="#308">308</a>                 fail(<span class="string">"Not expecting "</span> + txt + <span class="string">" DTD subset."</span>);
+<a name="309" href="#309">309</a>             }
+<a name="310" href="#310">310</a>         } <strong>else</strong> {
+<a name="311" href="#311">311</a>             <em class="comment">/*</em>
+<a name="312" href="#312">312</a> <em class="comment">             * Something expected.</em>
+<a name="313" href="#313">313</a> <em class="comment">             */</em>
+<a name="314" href="#314">314</a>             <strong>if</strong> (actual == <strong>null</strong>) {
+<a name="315" href="#315">315</a>                 fail(<span class="string">"Expecting "</span> + txt + <span class="string">" DTD subset."</span>);
+<a name="316" href="#316">316</a>             }
+<a name="317" href="#317">317</a> 
+<a name="318" href="#318">318</a>             <em class="comment">/*</em>
+<a name="319" href="#319">319</a> <em class="comment">             * Correct #of declarations found?</em>
+<a name="320" href="#320">320</a> <em class="comment">             */</em>
+<a name="321" href="#321">321</a>             assertEquals(txt + <span class="string">" DTD subset has correct #of declarations"</span>
+<a name="322" href="#322">322</a>                     + <span class="string">": expected=["</span> + expected.toString() + <span class="string">"]"</span> + <span class="string">", actual=["</span>
+<a name="323" href="#323">323</a>                     + actual.toString() + <span class="string">"]"</span>, expected.size(), actual.size());
+<a name="324" href="#324">324</a> 
+<a name="325" href="#325">325</a>             <em class="comment">/*</em>
+<a name="326" href="#326">326</a> <em class="comment">             * Check order, type, and values of each declaration. Serialization</em>
+<a name="327" href="#327">327</a> <em class="comment">             * tests are done separately.</em>
+<a name="328" href="#328">328</a> <em class="comment">             */</em>
+<a name="329" href="#329">329</a>             Iterator itr1 = expected.iterator();
+<a name="330" href="#330">330</a> 
+<a name="331" href="#331">331</a>             Iterator itr2 = actual.iterator();
+<a name="332" href="#332">332</a> 
+<a name="333" href="#333">333</a>             <strong>while</strong> (itr1.hasNext()) {
+<a name="334" href="#334">334</a>                 Object obj1 = itr1.next();
+<a name="335" href="#335">335</a> 
+<a name="336" href="#336">336</a>                 Object obj2 = itr2.next();
+<a name="337" href="#337">337</a> 
+<a name="338" href="#338">338</a>                 assertEquals(txt + <span class="string">" DTD subset: Same type of declaration"</span>,
+<a name="339" href="#339">339</a>                         obj1.getClass().getName(), obj2.getClass().getName());
+<a name="340" href="#340">340</a> 
+<a name="341" href="#341">341</a>                 <strong>if</strong> (obj1 instanceof AttributeDecl) {
+<a name="342" href="#342">342</a>                     assertSameDecl((AttributeDecl) obj1, (AttributeDecl) obj2);
+<a name="343" href="#343">343</a>                 } <strong>else</strong> <strong>if</strong> (obj1 instanceof ElementDecl) {
+<a name="344" href="#344">344</a>                     assertSameDecl((ElementDecl) obj1, (ElementDecl) obj2);
+<a name="345" href="#345">345</a>                 } <strong>else</strong> <strong>if</strong> (obj1 instanceof InternalEntityDecl) {
+<a name="346" href="#346">346</a>                     assertSameDecl((InternalEntityDecl) obj1,
+<a name="347" href="#347">347</a>                             (InternalEntityDecl) obj2);
+<a name="348" href="#348">348</a>                 } <strong>else</strong> <strong>if</strong> (obj1 instanceof ExternalEntityDecl) {
+<a name="349" href="#349">349</a>                     assertSameDecl((ExternalEntityDecl) obj1,
+<a name="350" href="#350">350</a>                             (ExternalEntityDecl) obj2);
+<a name="351" href="#351">351</a>                 } <strong>else</strong> {
+<a name="352" href="#352">352</a>                     <strong>throw</strong> <strong>new</strong> AssertionError(<span class="string">"Unexpected declaration type: "</span>
+<a name="353" href="#353">353</a>                             + obj1.getClass());
+<a name="354" href="#354">354</a>                 }
+<a name="355" href="#355">355</a>             }
+<a name="356" href="#356">356</a>         }
+<a name="357" href="#357">357</a>     }
+<a name="358" href="#358">358</a> 
+<a name="359" href="#359">359</a>     <em>/**<em>*</em></em>
+<a name="360" href="#360">360</a> <em>     * Test helper method compares an expected and an actual {@link</em>
+<a name="361" href="#361">361</a> <em>     * AttributeDecl}.</em>
+<a name="362" href="#362">362</a> <em>     * </em>
+<a name="363" href="#363">363</a> <em>     * @param expected</em>
+<a name="364" href="#364">364</a> <em>     *            DOCUMENT ME!</em>
+<a name="365" href="#365">365</a> <em>     * @param actual</em>
+<a name="366" href="#366">366</a> <em>     *            DOCUMENT ME!</em>
+<a name="367" href="#367">367</a> <em>     */</em>
+<a name="368" href="#368">368</a>     <strong>public</strong> <strong>void</strong> assertSameDecl(AttributeDecl expected, AttributeDecl actual) {
+<a name="369" href="#369">369</a>         assertEquals(<span class="string">"attributeName is correct"</span>, expected.getAttributeName(),
+<a name="370" href="#370">370</a>                 actual.getAttributeName());
+<a name="371" href="#371">371</a> 
+<a name="372" href="#372">372</a>         assertEquals(<span class="string">"elementName is correct"</span>, expected.getElementName(),
+<a name="373" href="#373">373</a>                 actual.getElementName());
+<a name="374" href="#374">374</a> 
+<a name="375" href="#375">375</a>         assertEquals(<span class="string">"type is correct"</span>, expected.getType(), actual.getType());
+<a name="376" href="#376">376</a> 
+<a name="377" href="#377">377</a>         assertEquals(<span class="string">"value is not correct"</span>, expected.getValue(), actual
+<a name="378" href="#378">378</a>                 .getValue());
+<a name="379" href="#379">379</a> 
+<a name="380" href="#380">380</a>         assertEquals(<span class="string">"valueDefault is correct"</span>, expected.getValueDefault(),
+<a name="381" href="#381">381</a>                 actual.getValueDefault());
+<a name="382" href="#382">382</a> 
+<a name="383" href="#383">383</a>         assertEquals(<span class="string">"toString() is correct"</span>, expected.toString(), actual
+<a name="384" href="#384">384</a>                 .toString());
+<a name="385" href="#385">385</a>     }
+<a name="386" href="#386">386</a> 
+<a name="387" href="#387">387</a>     <em>/**<em>*</em></em>
+<a name="388" href="#388">388</a> <em>     * Test helper method compares an expected and an actual {@link</em>
+<a name="389" href="#389">389</a> <em>     * ElementDecl}.</em>
+<a name="390" href="#390">390</a> <em>     * </em>
+<a name="391" href="#391">391</a> <em>     * @param expected</em>
+<a name="392" href="#392">392</a> <em>     *            DOCUMENT ME!</em>
+<a name="393" href="#393">393</a> <em>     * @param actual</em>
+<a name="394" href="#394">394</a> <em>     *            DOCUMENT ME!</em>
+<a name="395" href="#395">395</a> <em>     */</em>
+<a name="396" href="#396">396</a>     <strong>protected</strong> <strong>void</strong> assertSameDecl(ElementDecl expected, ElementDecl actual) {
+<a name="397" href="#397">397</a>         assertEquals(<span class="string">"name is correct"</span>, expected.getName(), actual.getName());
+<a name="398" href="#398">398</a> 
+<a name="399" href="#399">399</a>         assertEquals(<span class="string">"model is not correct"</span>, expected.getModel(), actual
+<a name="400" href="#400">400</a>                 .getModel());
+<a name="401" href="#401">401</a> 
+<a name="402" href="#402">402</a>         assertEquals(<span class="string">"toString() is correct"</span>, expected.toString(), actual
+<a name="403" href="#403">403</a>                 .toString());
+<a name="404" href="#404">404</a>     }
+<a name="405" href="#405">405</a> 
+<a name="406" href="#406">406</a>     <em>/**<em>*</em></em>
+<a name="407" href="#407">407</a> <em>     * Test helper method compares an expected and an actual {@link</em>
+<a name="408" href="#408">408</a> <em>     * InternalEntityDecl}.</em>
+<a name="409" href="#409">409</a> <em>     * </em>
+<a name="410" href="#410">410</a> <em>     * @param expected</em>
+<a name="411" href="#411">411</a> <em>     *            DOCUMENT ME!</em>
+<a name="412" href="#412">412</a> <em>     * @param actual</em>
+<a name="413" href="#413">413</a> <em>     *            DOCUMENT ME!</em>
+<a name="414" href="#414">414</a> <em>     */</em>
+<a name="415" href="#415">415</a>     <strong>protected</strong> <strong>void</strong> assertSameDecl(InternalEntityDecl expected,
+<a name="416" href="#416">416</a>             InternalEntityDecl actual) {
+<a name="417" href="#417">417</a>         assertEquals(<span class="string">"name is correct"</span>, expected.getName(), actual.getName());
+<a name="418" href="#418">418</a> 
+<a name="419" href="#419">419</a>         assertEquals(<span class="string">"value is not correct"</span>, expected.getValue(), actual
+<a name="420" href="#420">420</a>                 .getValue());
+<a name="421" href="#421">421</a> 
+<a name="422" href="#422">422</a>         assertEquals(<span class="string">"toString() is correct"</span>, expected.toString(), actual
+<a name="423" href="#423">423</a>                 .toString());
+<a name="424" href="#424">424</a>     }
+<a name="425" href="#425">425</a> 
+<a name="426" href="#426">426</a>     <em>/**<em>*</em></em>
+<a name="427" href="#427">427</a> <em>     * Test helper method compares an expected and an actual {@link</em>
+<a name="428" href="#428">428</a> <em>     * ExternalEntityDecl}.</em>
+<a name="429" href="#429">429</a> <em>     * </em>
+<a name="430" href="#430">430</a> <em>     * @param expected</em>
+<a name="431" href="#431">431</a> <em>     *            DOCUMENT ME!</em>
+<a name="432" href="#432">432</a> <em>     * @param actual</em>
+<a name="433" href="#433">433</a> <em>     *            DOCUMENT ME!</em>
+<a name="434" href="#434">434</a> <em>     */</em>
+<a name="435" href="#435">435</a>     <strong>protected</strong> <strong>void</strong> assertSameDecl(ExternalEntityDecl expected,
+<a name="436" href="#436">436</a>             ExternalEntityDecl actual) {
+<a name="437" href="#437">437</a>         assertEquals(<span class="string">"name is correct"</span>, expected.getName(), actual.getName());
+<a name="438" href="#438">438</a> 
+<a name="439" href="#439">439</a>         assertEquals(<span class="string">"publicID is correct"</span>, expected.getPublicID(), actual
+<a name="440" href="#440">440</a>                 .getPublicID());
+<a name="441" href="#441">441</a> 
+<a name="442" href="#442">442</a>         assertEquals(<span class="string">"systemID is correct"</span>, expected.getSystemID(), actual
+<a name="443" href="#443">443</a>                 .getSystemID());
+<a name="444" href="#444">444</a> 
+<a name="445" href="#445">445</a>         assertEquals(<span class="string">"toString() is correct"</span>, expected.toString(), actual
+<a name="446" href="#446">446</a>                 .toString());
+<a name="447" href="#447">447</a>     }
+<a name="448" href="#448">448</a> 
+<a name="449" href="#449">449</a>     <em>/**<em>*</em></em>
+<a name="450" href="#450">450</a> <em>     * Helper method reads a local resource and parses it as an XML document.</em>
+<a name="451" href="#451">451</a> <em>     * The internal and external DTD subsets are optionally retained by the</em>
+<a name="452" href="#452">452</a> <em>     * parser and exposed via the {@link DocumentType}object on the returned</em>
+<a name="453" href="#453">453</a> <em>     * {@link Document}. The parser is configured with an {@link</em>
+<a name="454" href="#454">454</a> <em>     * EntityResolver}that knows how to find the local resource identified by</em>
+<a name="455" href="#455">455</a> <em>     * {@link #DTD_FILE}whose SYSTEM identifier is given by {@link</em>
+<a name="456" href="#456">456</a> <em>     * #DTD_SYSTEM_ID}.</em>
+<a name="457" href="#457">457</a> <em>     * </em>
+<a name="458" href="#458">458</a> <em>     * @param resourceName</em>
+<a name="459" href="#459">459</a> <em>     *            DOCUMENT ME!</em>
+<a name="460" href="#460">460</a> <em>     * @param includeInternal</em>
+<a name="461" href="#461">461</a> <em>     *            DOCUMENT ME!</em>
+<a name="462" href="#462">462</a> <em>     * @param includeExternal</em>
+<a name="463" href="#463">463</a> <em>     *            DOCUMENT ME!</em>
+<a name="464" href="#464">464</a> <em>     * </em>
+<a name="465" href="#465">465</a> <em>     * @return DOCUMENT ME!</em>
+<a name="466" href="#466">466</a> <em>     * </em>
+<a name="467" href="#467">467</a> <em>     * @throws Exception</em>
+<a name="468" href="#468">468</a> <em>     *             DOCUMENT ME!</em>
+<a name="469" href="#469">469</a> <em>     */</em>
+<a name="470" href="#470">470</a>     <strong>protected</strong> Document readDocument(String resourceName,
+<a name="471" href="#471">471</a>             <strong>boolean</strong> includeInternal, <strong>boolean</strong> includeExternal) throws Exception {
+<a name="472" href="#472">472</a>         SAXReader reader = <strong>new</strong> SAXReader();
+<a name="473" href="#473">473</a> 
+<a name="474" href="#474">474</a>         reader.setIncludeInternalDTDDeclarations(includeInternal);
+<a name="475" href="#475">475</a> 
+<a name="476" href="#476">476</a>         reader.setIncludeExternalDTDDeclarations(includeExternal);
+<a name="477" href="#477">477</a> 
+<a name="478" href="#478">478</a>         reader.setEntityResolver(<strong>new</strong> MyEntityResolver(DTD_FILE,
+<a name="479" href="#479">479</a>                 DTD_PUBLICID, DTD_SYSTEM_ID));
+<a name="480" href="#480">480</a> 
+<a name="481" href="#481">481</a>         <strong>return</strong> getDocument(resourceName, reader);
+<a name="482" href="#482">482</a>     }
+<a name="483" href="#483">483</a> 
+<a name="484" href="#484">484</a>     <em>/**<em>*</em></em>
+<a name="485" href="#485">485</a> <em>     * Provides a resolver for the local test DTD resource.</em>
+<a name="486" href="#486">486</a> <em>     */</em>
+<a name="487" href="#487">487</a>     <strong>protected</strong> <strong>static</strong> <strong>class</strong> MyEntityResolver implements EntityResolver {
+<a name="488" href="#488">488</a>         <strong>private</strong> String resourceName;
+<a name="489" href="#489">489</a> 
+<a name="490" href="#490">490</a>         <strong>private</strong> String pubId;
+<a name="491" href="#491">491</a> 
+<a name="492" href="#492">492</a>         <strong>private</strong> String sysId;
+<a name="493" href="#493">493</a> 
+<a name="494" href="#494">494</a>         <strong>public</strong> MyEntityResolver(String localResourceName, String <strong>public</strong>Id,
+<a name="495" href="#495">495</a>                 String systemId) {
+<a name="496" href="#496">496</a>             resourceName = localResourceName;
+<a name="497" href="#497">497</a> 
+<a name="498" href="#498">498</a>             sysId = systemId;
+<a name="499" href="#499">499</a>         }
+<a name="500" href="#500">500</a> 
+<a name="501" href="#501">501</a>         <strong>public</strong> InputSource resolveEntity(String <strong>public</strong>Id, String systemId)
+<a name="502" href="#502">502</a>                 throws SAXException, IOException {
+<a name="503" href="#503">503</a>             <strong>if</strong> (pubId != <strong>null</strong>) {
+<a name="504" href="#504">504</a>                 <strong>if</strong> (pubId.equals(publicId)) {
+<a name="505" href="#505">505</a>                     <strong>return</strong> <strong>new</strong> InputSource(getInputStream(resourceName));
+<a name="506" href="#506">506</a>                 }
+<a name="507" href="#507">507</a>             }
+<a name="508" href="#508">508</a> 
+<a name="509" href="#509">509</a>             <strong>if</strong> (sysId.equals(systemId)) {
+<a name="510" href="#510">510</a>                 <strong>return</strong> <strong>new</strong> InputSource(getInputStream(resourceName));
+<a name="511" href="#511">511</a>             } <strong>else</strong> {
+<a name="512" href="#512">512</a>                 <strong>return</strong> <strong>null</strong>;
+<a name="513" href="#513">513</a>             }
+<a name="514" href="#514">514</a>         }
+<a name="515" href="#515">515</a> 
+<a name="516" href="#516">516</a>         <em>/**<em>*</em></em>
+<a name="517" href="#517">517</a> <em>         * Returns an {@link InputStream}that will read from the indicated</em>
+<a name="518" href="#518">518</a> <em>         * local resource.</em>
+<a name="519" href="#519">519</a> <em>         * </em>
+<a name="520" href="#520">520</a> <em>         * @param localResourceName</em>
+<a name="521" href="#521">521</a> <em>         *            DOCUMENT ME!</em>
+<a name="522" href="#522">522</a> <em>         * </em>
+<a name="523" href="#523">523</a> <em>         * @return DOCUMENT ME!</em>
+<a name="524" href="#524">524</a> <em>         * </em>
+<a name="525" href="#525">525</a> <em>         * @throws IOException</em>
+<a name="526" href="#526">526</a> <em>         *             DOCUMENT ME!</em>
+<a name="527" href="#527">527</a> <em>         */</em>
+<a name="528" href="#528">528</a>         <strong>protected</strong> InputStream getInputStream(String localResourceName)
+<a name="529" href="#529">529</a>                 throws IOException {
+<a name="530" href="#530">530</a>             InputStream is = <strong>new</strong> FileInputStream(localResourceName);
+<a name="531" href="#531">531</a> 
+<a name="532" href="#532">532</a>             <strong>return</strong> is;
+<a name="533" href="#533">533</a>         }
+<a name="534" href="#534">534</a>     }
+<a name="535" href="#535">535</a> }
+<a name="536" href="#536">536</a> 
+<a name="537" href="#537">537</a> <em class="comment">/*</em>
+<a name="538" href="#538">538</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="539" href="#539">539</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="540" href="#540">540</a> <em class="comment"> * following conditions are met:</em>
+<a name="541" href="#541">541</a> <em class="comment"> * </em>
+<a name="542" href="#542">542</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="543" href="#543">543</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="544" href="#544">544</a> <em class="comment"> * </em>
+<a name="545" href="#545">545</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="546" href="#546">546</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="547" href="#547">547</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="548" href="#548">548</a> <em class="comment"> * </em>
+<a name="549" href="#549">549</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="550" href="#550">550</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="551" href="#551">551</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="552" href="#552">552</a> <em class="comment"> * </em>
+<a name="553" href="#553">553</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="554" href="#554">554</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="555" href="#555">555</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="556" href="#556">556</a> <em class="comment"> * </em>
+<a name="557" href="#557">557</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="558" href="#558">558</a> <em class="comment"> * </em>
+<a name="559" href="#559">559</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="560" href="#560">560</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="561" href="#561">561</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="562" href="#562">562</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="563" href="#563">563</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="564" href="#564">564</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="565" href="#565">565</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="566" href="#566">566</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="567" href="#567">567</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="568" href="#568">568</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="569" href="#569">569</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="570" href="#570">570</a> <em class="comment"> * </em>
+<a name="571" href="#571">571</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="572" href="#572">572</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/io/DispatchHandlerTest.html b/docs/xref-test/org/dom4j/io/DispatchHandlerTest.html
new file mode 100644
index 0000000..28c2823
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/DispatchHandlerTest.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DispatchHandlerTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * DOCUMENT ME!</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author Maarten Coene</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/DispatchHandlerTest.html">DispatchHandlerTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="21" href="#21">21</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="22" href="#22">22</a>          TestRunner.run(DispatchHandlerTest.<strong>class</strong>);
+<a name="23" href="#23">23</a>      }
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>void</strong> testBug611445() throws Exception {
+<a name="26" href="#26">26</a>          MyHandler handler = <strong>new</strong> MyHandler();
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="29" href="#29">29</a>          reader.addHandler(<span class="string">"/products/product/colour"</span>, handler);
+<a name="30" href="#30">30</a>          reader.read(getFile(<span class="string">"/xml/test/sample.xml"</span>));
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          assertEquals(3, handler.getCount());
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>          reader.read(getFile(<span class="string">"/xml/test/sample.xml"</span>));
+<a name="35" href="#35">35</a>          assertEquals(6, handler.getCount());
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>private</strong> <strong>static</strong> <strong>class</strong> MyHandler implements ElementHandler {
+<a name="39" href="#39">39</a>          <strong>private</strong> <strong>int</strong> count = 0;
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          <strong>public</strong> <strong>void</strong> onEnd(org.dom4j.ElementPath elementPath) {
+<a name="42" href="#42">42</a>          }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          <strong>public</strong> <strong>void</strong> onStart(org.dom4j.ElementPath elementPath) {
+<a name="45" href="#45">45</a>              count++;
+<a name="46" href="#46">46</a>          }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          <strong>int</strong> getCount() {
+<a name="49" href="#49">49</a>              <strong>return</strong> count;
+<a name="50" href="#50">50</a>          }
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>  <em class="comment">/*</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * following conditions are met:</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/io/DocumentSourceTest.html b/docs/xref-test/org/dom4j/io/DocumentSourceTest.html
new file mode 100644
index 0000000..44fcb60
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/DocumentSourceTest.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocumentSourceTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringWriter;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> javax.xml.transform.Transformer;
+<a name="15" href="#15">15</a>  <strong>import</strong> javax.xml.transform.TransformerFactory;
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.transform.stream.StreamResult;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Document;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em> * DOCUMENT ME!</em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:maartenc at sourceforge.net" target="alexandria_uri">mailto:maartenc at sourceforge.net</a>">Maarten Coene </a></em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/DocumentSourceTest.html">DocumentSourceTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="29" href="#29">29</a>          TestRunner.run(DocumentSourceTest.<strong>class</strong>);
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em class="comment">// Test case(s)</em>
+<a name="33" href="#33">33</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>void</strong> testBug555549() throws Exception {
+<a name="35" href="#35">35</a>          <em class="comment">// simulate <cr><lf></em>
+<a name="36" href="#36">36</a>          String xml = <span class="string">"<field id='Description' type='textarea'>line1"</span>
+<a name="37" href="#37">37</a>                  + (<strong>char</strong>) 13 + (<strong>char</strong>) 10 + <span class="string">"line2</field>"</span>;
+<a name="38" href="#38">38</a>          Document doc = DocumentHelper.parseText(xml);
+<a name="39" href="#39">39</a>          TransformerFactory tf = TransformerFactory.newInstance();
+<a name="40" href="#40">40</a>          Transformer txml = tf.newTransformer();
+<a name="41" href="#41">41</a>          StringWriter writer = <strong>new</strong> StringWriter();
+<a name="42" href="#42">42</a>          txml.transform(<strong>new</strong> DocumentSource(doc), <strong>new</strong> StreamResult(writer));
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          System.out.println(writer.toString());
+<a name="45" href="#45">45</a>          assertTrue(writer.toString().indexOf(<span class="string">"&#13"</span>) == -1);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>  <em class="comment">/*</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * following conditions are met:</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * </em>
+<a name="65" href="#65">65</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * </em>
+<a name="69" href="#69">69</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/io/SAXReaderTest.html b/docs/xref-test/org/dom4j/io/SAXReaderTest.html
new file mode 100644
index 0000000..2b8f4c0
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/SAXReaderTest.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXReaderTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.ByteArrayOutputStream;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.File;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.StringReader;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.StringWriter;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.List;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Document;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.Element;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em> * A test harness to test the content API in DOM4J</em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:maartenc at sourceforge.net" target="alexandria_uri">mailto:maartenc at sourceforge.net</a>">Maarten Coene </a></em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/SAXReaderTest.html">SAXReaderTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="30" href="#30">30</a>          TestRunner.run(SAXReaderTest.<strong>class</strong>);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em class="comment">// Test case(s)</em>
+<a name="34" href="#34">34</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * Test bug reported by Christian Oetterli <a href="http://tinyurl.com/6po8v" target="alexandria_uri">http://tinyurl.com/6po8v</a></em>
+<a name="38" href="#38">38</a>  <em>     * </em>
+<a name="39" href="#39">39</a>  <em>     * @throws Exception</em>
+<a name="40" href="#40">40</a>  <em>     *             DOCUMENT ME!</em>
+<a name="41" href="#41">41</a>  <em>     */</em>
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> testReadFile() throws Exception {
+<a name="43" href="#43">43</a>          File file = getFile(<span class="string">"/xml/#.xml"</span>);
+<a name="44" href="#44">44</a>          <strong>new</strong> SAXReader().read(file);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>      
+<a name="47" href="#47">47</a>      <strong>public</strong> <strong>void</strong> testEncoding() throws Exception {
+<a name="48" href="#48">48</a>          String xml = <span class="string">"<?xml version='1.0' encoding='ISO-8859-1'?><root/>"</span>;
+<a name="49" href="#49">49</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="50" href="#50">50</a>          reader.setEncoding(<span class="string">"ISO-8859-1"</span>);
+<a name="51" href="#51">51</a>          Document doc = reader.read(<strong>new</strong> StringReader(xml));
+<a name="52" href="#52">52</a>          
+<a name="53" href="#53">53</a>          assertEquals(<span class="string">"encoding incorrect"</span>, <span class="string">"ISO-8859-1"</span>, doc.getXMLEncoding());
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>public</strong> <strong>void</strong> testRussian() throws Exception {
+<a name="57" href="#57">57</a>          Document doc = getDocument(<span class="string">"/xml/russArticle.xml"</span>);
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          assertEquals(<span class="string">"encoding not correct"</span>, <span class="string">"koi8-r"</span>, doc.getXMLEncoding());
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          Element el = doc.getRootElement();
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          StringWriter writer = <strong>new</strong> StringWriter();
+<a name="64" href="#64">64</a>          XMLWriter xmlWriter = <strong>new</strong> XMLWriter(writer);
+<a name="65" href="#65">65</a>          OutputFormat format = OutputFormat.createPrettyPrint();
+<a name="66" href="#66">66</a>          format.setEncoding(<span class="string">"koi8-r"</span>);
+<a name="67" href="#67">67</a>          xmlWriter.write(doc);
+<a name="68" href="#68">68</a>          log(writer.toString());
+<a name="69" href="#69">69</a>      }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <strong>public</strong> <strong>void</strong> testRussian2() throws Exception {
+<a name="72" href="#72">72</a>          Document doc = getDocument(<span class="string">"/xml/russArticle.xml"</span>);
+<a name="73" href="#73">73</a>          XMLWriter xmlWriter = <strong>new</strong> XMLWriter(<strong>new</strong> OutputFormat(<span class="string">""</span>, false,
+<a name="74" href="#74">74</a>                  <span class="string">"koi8-r"</span>));
+<a name="75" href="#75">75</a>          ByteArrayOutputStream out = <strong>new</strong> ByteArrayOutputStream();
+<a name="76" href="#76">76</a>          xmlWriter.setOutputStream(out);
+<a name="77" href="#77">77</a>          xmlWriter.write(doc);
+<a name="78" href="#78">78</a>          xmlWriter.flush();
+<a name="79" href="#79">79</a>          xmlWriter.close();
+<a name="80" href="#80">80</a>          log(out.toString());
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> <strong>void</strong> testBug833765() throws Exception {
+<a name="84" href="#84">84</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="85" href="#85">85</a>          reader.setIncludeExternalDTDDeclarations(<strong>true</strong>);
+<a name="86" href="#86">86</a>          getDocument(<span class="string">"/xml/dtd/external.xml"</span>, reader);
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> <strong>void</strong> testBug527062() throws Exception {
+<a name="90" href="#90">90</a>          Document doc = getDocument(<span class="string">"/xml/test/test.xml"</span>);
+<a name="91" href="#91">91</a>          List l = doc.selectNodes(<span class="string">"//broked/junk"</span>);
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < l.size(); i++) {
+<a name="94" href="#94">94</a>              System.out.println(<span class="string">"Found node: "</span>
+<a name="95" href="#95">95</a>                      + ((Element) l.get(i)).getStringValue());
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          assertEquals(<span class="string">"hi there"</span>, ((Element) l.get(0)).getStringValue());
+<a name="99" href="#99">99</a>          assertEquals(<span class="string">"hello world"</span>, ((Element) l.get(1)).getStringValue());
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>void</strong> testEscapedComment() throws Exception {
+<a name="103" href="#103">103</a>         String txt = <span class="string">"<eg>&lt;!-- &lt;head> &amp; &lt;body> --&gt;</eg>"</span>;
+<a name="104" href="#104">104</a>         Document doc = DocumentHelper.parseText(txt);
+<a name="105" href="#105">105</a>         Element eg = doc.getRootElement();
+<a name="106" href="#106">106</a>         System.out.println(doc.asXML());
+<a name="107" href="#107">107</a>         assertEquals(<span class="string">"<!-- <head> & <body> -->"</span>, eg.getText());
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a> <em class="comment">/*</em>
+<a name="112" href="#112">112</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="113" href="#113">113</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="114" href="#114">114</a> <em class="comment"> * following conditions are met:</em>
+<a name="115" href="#115">115</a> <em class="comment"> * </em>
+<a name="116" href="#116">116</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="117" href="#117">117</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="118" href="#118">118</a> <em class="comment"> * </em>
+<a name="119" href="#119">119</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="120" href="#120">120</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="121" href="#121">121</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="122" href="#122">122</a> <em class="comment"> * </em>
+<a name="123" href="#123">123</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="124" href="#124">124</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="125" href="#125">125</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="126" href="#126">126</a> <em class="comment"> * </em>
+<a name="127" href="#127">127</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="128" href="#128">128</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="129" href="#129">129</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="132" href="#132">132</a> <em class="comment"> * </em>
+<a name="133" href="#133">133</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="134" href="#134">134</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="135" href="#135">135</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="136" href="#136">136</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="137" href="#137">137</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="138" href="#138">138</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="139" href="#139">139</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="140" href="#140">140</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="141" href="#141">141</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="142" href="#142">142</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="143" href="#143">143</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="146" href="#146">146</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/io/StaxTest.html b/docs/xref-test/org/dom4j/io/StaxTest.html
new file mode 100644
index 0000000..2aa710f
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/StaxTest.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>StaxTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.FileReader;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.StringWriter;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.stream.XMLInputFactory;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Document;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * Tests STAX->DOM4J functionality.</em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:maartenc at sourceforge.net" target="alexandria_uri">mailto:maartenc at sourceforge.net</a>">Maarten Coene </a></em>
+<a name="25" href="#25">25</a>  <em> * @author Christian Niles</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/StaxTest.html">StaxTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="29" href="#29">29</a>          TestRunner.run(StaxTest.<strong>class</strong>);
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em class="comment">// Test case(s)</em>
+<a name="33" href="#33">33</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>*</em></em>
+<a name="36" href="#36">36</a>  <em>     * Tests that the encoding specified in the XML declaration is exposed in</em>
+<a name="37" href="#37">37</a>  <em>     * the Document read via StAX, and also that it gets output when writing.</em>
+<a name="38" href="#38">38</a>  <em>     */</em>
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>void</strong> testEncoding() {
+<a name="40" href="#40">40</a>          <em class="comment">/*</em>
+<a name="41" href="#41">41</a>  <em class="comment">         * only execute if a reference implementation is available</em>
+<a name="42" href="#42">42</a>  <em class="comment">         */</em>
+<a name="43" href="#43">43</a>          <strong>try</strong> {
+<a name="44" href="#44">44</a>              XMLInputFactory.newInstance();
+<a name="45" href="#45">45</a>          } <strong>catch</strong> (javax.xml.stream.FactoryConfigurationError e) {
+<a name="46" href="#46">46</a>              <em class="comment">// no implementation found, stop the test.</em>
+<a name="47" href="#47">47</a>              <strong>return</strong>;
+<a name="48" href="#48">48</a>          }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          <strong>try</strong> {
+<a name="51" href="#51">51</a>              File file = getFile(<span class="string">"/xml/russArticle.xml"</span>);
+<a name="52" href="#52">52</a>              STAXEventReader xmlReader = <strong>new</strong> STAXEventReader();
+<a name="53" href="#53">53</a>              Document doc = xmlReader.readDocument(<strong>new</strong> FileReader(file));
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>              assertEquals(<span class="string">"russArticle.xml encoding wasn't correct"</span>, <span class="string">"koi8-r"</span>,
+<a name="56" href="#56">56</a>                      doc.getXMLEncoding());
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>              StringWriter writer = <strong>new</strong> StringWriter();
+<a name="59" href="#59">59</a>              STAXEventWriter xmlWriter = <strong>new</strong> STAXEventWriter(writer);
+<a name="60" href="#60">60</a>              xmlWriter.writeDocument(doc);
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>              String output = writer.toString();
+<a name="63" href="#63">63</a>              String xmlDecl = output.substring(0, output.indexOf(<span class="string">"?>"</span>) + 2);
+<a name="64" href="#64">64</a>              String expected = <span class="string">"<?xml version=\'1.0\' encoding=\'koi8-r\'?>"</span>;
+<a name="65" href="#65">65</a>              assertEquals(<span class="string">"Unexpected xml declaration"</span>, expected, xmlDecl);
+<a name="66" href="#66">66</a>              System.out.println(output);
+<a name="67" href="#67">67</a>          } <strong>catch</strong> (Exception e) {
+<a name="68" href="#68">68</a>              e.printStackTrace();
+<a name="69" href="#69">69</a>              fail(e.getMessage());
+<a name="70" href="#70">70</a>          }
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>  <em class="comment">/*</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * following conditions are met:</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * </em>
+<a name="94" href="#94">94</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="101" href="#101">101</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="102" href="#102">102</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="103" href="#103">103</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="104" href="#104">104</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="105" href="#105">105</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="106" href="#106">106</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="107" href="#107">107</a> <em class="comment"> * </em>
+<a name="108" href="#108">108</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="109" href="#109">109</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/io/WriteUnmergedTextTest.html b/docs/xref-test/org/dom4j/io/WriteUnmergedTextTest.html
new file mode 100644
index 0000000..d67bb84
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/WriteUnmergedTextTest.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>WriteUnmergedTextTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringReader;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.StringWriter;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Document;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * A simple test harness to check that the XML Writer works</em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/WriteUnmergedTextTest.html">WriteUnmergedTextTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="25" href="#25">25</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <strong>boolean</strong> VERBOSE = <strong>true</strong>;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>private</strong> String inputText = <span class="string">"<?xml version = \"1.0\"?>"</span>
+<a name="28" href="#28">28</a>              + <span class="string">"<TestEscapedEntities><TEXT>Test using &lt; "</span>
+<a name="29" href="#29">29</a>              + <span class="string">"&amp; &gt;</TEXT></TestEscapedEntities>"</span>;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="32" href="#32">32</a>          TestRunner.run(WriteUnmergedTextTest.<strong>class</strong>);
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em class="comment">// Test case(s)</em>
+<a name="36" href="#36">36</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="37" href="#37">37</a>      <strong>public</strong> String readwriteText(OutputFormat outFormat,
+<a name="38" href="#38">38</a>              <strong>boolean</strong> mergeAdjacentText) throws Exception {
+<a name="39" href="#39">39</a>          StringWriter out = <strong>new</strong> StringWriter();
+<a name="40" href="#40">40</a>          StringReader in = <strong>new</strong> StringReader(inputText);
+<a name="41" href="#41">41</a>          SAXReader reader = <strong>new</strong> SAXReader();
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          <em class="comment">// reader.setValidation(true);</em>
+<a name="44" href="#44">44</a>          reader.setMergeAdjacentText(mergeAdjacentText);
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          Document document = reader.read(in);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          XMLWriter writer = (outFormat == <strong>null</strong>) ? <strong>new</strong> XMLWriter(out)
+<a name="49" href="#49">49</a>                  : <strong>new</strong> XMLWriter(out, outFormat);
+<a name="50" href="#50">50</a>          writer.write(document);
+<a name="51" href="#51">51</a>          writer.close();
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          String outText = out.toString();
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          <strong>return</strong> outText;
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> testWithoutFormatNonMerged() throws Exception {
+<a name="59" href="#59">59</a>          String outText = readwriteText(<strong>null</strong>, false);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          <strong>if</strong> (VERBOSE) {
+<a name="62" href="#62">62</a>              log(<span class="string">"Text output is ["</span>);
+<a name="63" href="#63">63</a>              log(outText);
+<a name="64" href="#64">64</a>              log(<span class="string">"]. Done"</span>);
+<a name="65" href="#65">65</a>          }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          <em class="comment">// should contain &amp; and &lt;</em>
+<a name="68" href="#68">68</a>          assertTrue(<span class="string">"Output text contains \"&amp;\""</span>, outText
+<a name="69" href="#69">69</a>                  .lastIndexOf(<span class="string">"&amp;"</span>) >= 0);
+<a name="70" href="#70">70</a>          assertTrue(<span class="string">"Output text contains \"&lt;\""</span>,
+<a name="71" href="#71">71</a>                  outText.lastIndexOf(<span class="string">"&lt;"</span>) >= 0);
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>public</strong> <strong>void</strong> testWithCompactFormatNonMerged() throws Exception {
+<a name="75" href="#75">75</a>          String outText = readwriteText(OutputFormat.createCompactFormat(),
+<a name="76" href="#76">76</a>                  false);
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          <strong>if</strong> (VERBOSE) {
+<a name="79" href="#79">79</a>              log(<span class="string">"Text output is ["</span>);
+<a name="80" href="#80">80</a>              log(outText);
+<a name="81" href="#81">81</a>              log(<span class="string">"]. Done"</span>);
+<a name="82" href="#82">82</a>          }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          <em class="comment">// should contain &amp; and &lt;</em>
+<a name="85" href="#85">85</a>          assertTrue(<span class="string">"Output text contains \"&amp;\""</span>, outText
+<a name="86" href="#86">86</a>                  .lastIndexOf(<span class="string">"&amp;"</span>) >= 0);
+<a name="87" href="#87">87</a>          assertTrue(<span class="string">"Output text contains \"&lt;\""</span>,
+<a name="88" href="#88">88</a>                  outText.lastIndexOf(<span class="string">"&lt;"</span>) >= 0);
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>void</strong> testWithPrettyPrintFormatNonMerged() throws Exception {
+<a name="92" href="#92">92</a>          String outText = readwriteText(OutputFormat.createPrettyPrint(), false);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          <strong>if</strong> (VERBOSE) {
+<a name="95" href="#95">95</a>              log(<span class="string">"Text output is ["</span>);
+<a name="96" href="#96">96</a>              log(outText);
+<a name="97" href="#97">97</a>              log(<span class="string">"]. Done"</span>);
+<a name="98" href="#98">98</a>          }
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>         <em class="comment">// should contain &amp; and &lt;</em>
+<a name="101" href="#101">101</a>         assertTrue(<span class="string">"Output text contains \"&amp;\""</span>, outText
+<a name="102" href="#102">102</a>                 .lastIndexOf(<span class="string">"&amp;"</span>) >= 0);
+<a name="103" href="#103">103</a>         assertTrue(<span class="string">"Output text contains \"&lt;\""</span>,
+<a name="104" href="#104">104</a>                 outText.lastIndexOf(<span class="string">"&lt;"</span>) >= 0);
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong>public</strong> <strong>void</strong> testWithoutFormatMerged() throws Exception {
+<a name="108" href="#108">108</a>         String outText = readwriteText(<strong>null</strong>, <strong>true</strong>);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         <strong>if</strong> (VERBOSE) {
+<a name="111" href="#111">111</a>             log(<span class="string">"Text output is ["</span>);
+<a name="112" href="#112">112</a>             log(outText);
+<a name="113" href="#113">113</a>             log(<span class="string">"]. Done"</span>);
+<a name="114" href="#114">114</a>         }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <em class="comment">// should contain &amp; and &lt;</em>
+<a name="117" href="#117">117</a>         assertTrue(<span class="string">"Output text contains \"&amp;\""</span>, outText
+<a name="118" href="#118">118</a>                 .lastIndexOf(<span class="string">"&amp;"</span>) >= 0);
+<a name="119" href="#119">119</a>         assertTrue(<span class="string">"Output text contains \"&lt;\""</span>,
+<a name="120" href="#120">120</a>                 outText.lastIndexOf(<span class="string">"&lt;"</span>) >= 0);
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <strong>public</strong> <strong>void</strong> testWithCompactFormatMerged() throws Exception {
+<a name="124" href="#124">124</a>         String out = readwriteText(OutputFormat.createCompactFormat(), <strong>true</strong>);
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>         <strong>if</strong> (VERBOSE) {
+<a name="127" href="#127">127</a>             log(<span class="string">"Text output is ["</span>);
+<a name="128" href="#128">128</a>             log(out);
+<a name="129" href="#129">129</a>             log(<span class="string">"]. Done"</span>);
+<a name="130" href="#130">130</a>         }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         <em class="comment">// should contain &amp; and &lt;</em>
+<a name="133" href="#133">133</a>         assertTrue(<span class="string">"Output text contains \"&amp;\""</span>, out
+<a name="134" href="#134">134</a>                 .lastIndexOf(<span class="string">"&amp;"</span>) >= 0);
+<a name="135" href="#135">135</a>         assertTrue(<span class="string">"Output text contains \"&lt;\""</span>,
+<a name="136" href="#136">136</a>                 out.lastIndexOf(<span class="string">"&lt;"</span>) >= 0);
+<a name="137" href="#137">137</a>     }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>     <strong>public</strong> <strong>void</strong> testWithPrettyPrintFormatMerged() throws Exception {
+<a name="140" href="#140">140</a>         String outText = readwriteText(OutputFormat.createPrettyPrint(), <strong>true</strong>);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>         <strong>if</strong> (VERBOSE) {
+<a name="143" href="#143">143</a>             log(<span class="string">"Text output is ["</span>);
+<a name="144" href="#144">144</a>             log(outText);
+<a name="145" href="#145">145</a>             log(<span class="string">"]. Done"</span>);
+<a name="146" href="#146">146</a>         }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>         <em class="comment">// should contain &amp; and &lt;</em>
+<a name="149" href="#149">149</a>         assertTrue(<span class="string">"Output text contains \"&amp;\""</span>, outText
+<a name="150" href="#150">150</a>                 .lastIndexOf(<span class="string">"&amp;"</span>) >= 0);
+<a name="151" href="#151">151</a>         assertTrue(<span class="string">"Output text contains \"&lt;\""</span>,
+<a name="152" href="#152">152</a>                 outText.lastIndexOf(<span class="string">"&lt;"</span>) >= 0);
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> }
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a> <em class="comment">/*</em>
+<a name="157" href="#157">157</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="158" href="#158">158</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="159" href="#159">159</a> <em class="comment"> * following conditions are met:</em>
+<a name="160" href="#160">160</a> <em class="comment"> * </em>
+<a name="161" href="#161">161</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="162" href="#162">162</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="163" href="#163">163</a> <em class="comment"> * </em>
+<a name="164" href="#164">164</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="165" href="#165">165</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="166" href="#166">166</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="167" href="#167">167</a> <em class="comment"> * </em>
+<a name="168" href="#168">168</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="169" href="#169">169</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="170" href="#170">170</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="171" href="#171">171</a> <em class="comment"> * </em>
+<a name="172" href="#172">172</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="173" href="#173">173</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="174" href="#174">174</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="175" href="#175">175</a> <em class="comment"> * </em>
+<a name="176" href="#176">176</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="177" href="#177">177</a> <em class="comment"> * </em>
+<a name="178" href="#178">178</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="179" href="#179">179</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="180" href="#180">180</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="181" href="#181">181</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="182" href="#182">182</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="183" href="#183">183</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="184" href="#184">184</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="185" href="#185">185</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="186" href="#186">186</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="187" href="#187">187</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="188" href="#188">188</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="189" href="#189">189</a> <em class="comment"> * </em>
+<a name="190" href="#190">190</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="191" href="#191">191</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/io/XPP3ReaderTest.html b/docs/xref-test/org/dom4j/io/XPP3ReaderTest.html
new file mode 100644
index 0000000..cf5c61e
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/XPP3ReaderTest.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XPP3ReaderTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.ByteArrayOutputStream;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.File;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.StringWriter;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Document;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Element;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * Test class for the XPP3Reader. This is based on the TestSaxReader class.</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:pelle at neubia.com" target="alexandria_uri">mailto:pelle at neubia.com</a>">Pelle Braendgaard </a></em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:maartenc at sourceforge.net" target="alexandria_uri">mailto:maartenc at sourceforge.net</a>">Maarten Coene </a></em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> XPP3ReaderTest <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="28" href="#28">28</a>          TestRunner.run(XPP3ReaderTest.<strong>class</strong>);
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em class="comment">// Test case(s)</em>
+<a name="32" href="#32">32</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>void</strong> testRussian() throws Exception {
+<a name="34" href="#34">34</a>          File file = getFile(<span class="string">"/xml/russArticle.xml"</span>);
+<a name="35" href="#35">35</a>          XPP3Reader xmlReader = <strong>new</strong> XPP3Reader();
+<a name="36" href="#36">36</a>          Document doc = xmlReader.read(file);
+<a name="37" href="#37">37</a>          Element el = doc.getRootElement();
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          StringWriter writer = <strong>new</strong> StringWriter();
+<a name="40" href="#40">40</a>          XMLWriter xmlWriter = <strong>new</strong> XMLWriter(writer);
+<a name="41" href="#41">41</a>          OutputFormat format = OutputFormat.createPrettyPrint();
+<a name="42" href="#42">42</a>          format.setEncoding(<span class="string">"koi8-r"</span>);
+<a name="43" href="#43">43</a>          xmlWriter.write(doc);
+<a name="44" href="#44">44</a>          log(writer.toString());
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> <strong>void</strong> testRussian2() throws Exception {
+<a name="48" href="#48">48</a>          File file = getFile(<span class="string">"/xml/russArticle.xml"</span>);
+<a name="49" href="#49">49</a>          XPP3Reader xmlReader = <strong>new</strong> XPP3Reader();
+<a name="50" href="#50">50</a>          Document doc = xmlReader.read(file);
+<a name="51" href="#51">51</a>          XMLWriter xmlWriter = <strong>new</strong> XMLWriter(<strong>new</strong> OutputFormat(<span class="string">""</span>, false,
+<a name="52" href="#52">52</a>                  <span class="string">"koi8-r"</span>));
+<a name="53" href="#53">53</a>          ByteArrayOutputStream out = <strong>new</strong> ByteArrayOutputStream();
+<a name="54" href="#54">54</a>          xmlWriter.setOutputStream(out);
+<a name="55" href="#55">55</a>          xmlWriter.write(doc);
+<a name="56" href="#56">56</a>          xmlWriter.flush();
+<a name="57" href="#57">57</a>          xmlWriter.close();
+<a name="58" href="#58">58</a>          log(out.toString());
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>  <em class="comment">/*</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * following conditions are met:</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="97" href="#97">97</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/io/package-frame.html b/docs/xref-test/org/dom4j/io/package-frame.html
new file mode 100644
index 0000000..49bac27
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/package-frame.html
@@ -0,0 +1,59 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.io</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.io</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="DOMReaderTest.html" target="classFrame">DOMReaderTest</a>
+          </li>
+        
+          <li>
+            <a href="DOMWriterTest.html" target="classFrame">DOMWriterTest</a>
+          </li>
+        
+          <li>
+            <a href="DTDTest.html" target="classFrame">DTDTest</a>
+          </li>
+        
+          <li>
+            <a href="DispatchHandlerTest.html" target="classFrame">DispatchHandlerTest</a>
+          </li>
+        
+          <li>
+            <a href="DocumentSourceTest.html" target="classFrame">DocumentSourceTest</a>
+          </li>
+        
+          <li>
+            <a href="SAXReaderTest.html" target="classFrame">SAXReaderTest</a>
+          </li>
+        
+          <li>
+            <a href="StaxTest.html" target="classFrame">StaxTest</a>
+          </li>
+        
+          <li>
+            <a href="WriteUnmergedTextTest.html" target="classFrame">WriteUnmergedTextTest</a>
+          </li>
+        
+          <li>
+            <a href="XPP3ReaderTest.html" target="classFrame">XPP3ReaderTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/io/package-summary.html b/docs/xref-test/org/dom4j/io/package-summary.html
new file mode 100644
index 0000000..d22c528
--- /dev/null
+++ b/docs/xref-test/org/dom4j/io/package-summary.html
@@ -0,0 +1,150 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.io</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="DOMReaderTest.html" target="classFrame">DOMReaderTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMWriterTest.html" target="classFrame">DOMWriterTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DTDTest.html" target="classFrame">DTDTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DispatchHandlerTest.html" target="classFrame">DispatchHandlerTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocumentSourceTest.html" target="classFrame">DocumentSourceTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXReaderTest.html" target="classFrame">SAXReaderTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="StaxTest.html" target="classFrame">StaxTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="WriteUnmergedTextTest.html" target="classFrame">WriteUnmergedTextTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XPP3ReaderTest.html" target="classFrame">XPP3ReaderTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/package-frame.html b/docs/xref-test/org/dom4j/package-frame.html
new file mode 100644
index 0000000..3c878f1
--- /dev/null
+++ b/docs/xref-test/org/dom4j/package-frame.html
@@ -0,0 +1,199 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j</title>
+      <link rel="stylesheet" href="../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="AbstractTestCase.html" target="classFrame">AbstractTestCase</a>
+          </li>
+        
+          <li>
+            <a href="AddAttributeTest.html" target="classFrame">AddAttributeTest</a>
+          </li>
+        
+          <li>
+            <a href="AddNodeTest.html" target="classFrame">AddNodeTest</a>
+          </li>
+        
+          <li>
+            <a href="AttributeDetachTest.html" target="classFrame">AttributeDetachTest</a>
+          </li>
+        
+          <li>
+            <a href="BackedListTest.html" target="classFrame">BackedListTest</a>
+          </li>
+        
+          <li>
+            <a href="CloneTest.html" target="classFrame">CloneTest</a>
+          </li>
+        
+          <li>
+            <a href="ContentTest.html" target="classFrame">ContentTest</a>
+          </li>
+        
+          <li>
+            <a href="CopyTest.html" target="classFrame">CopyTest</a>
+          </li>
+        
+          <li>
+            <a href="DetachTest.html" target="classFrame">DetachTest</a>
+          </li>
+        
+          <li>
+            <a href="DocTypeTest.html" target="classFrame">DocTypeTest</a>
+          </li>
+        
+          <li>
+            <a href="ElementByIDTest.html" target="classFrame">ElementByIDTest</a>
+          </li>
+        
+          <li>
+            <a href="EmbeddedHandlerTest.html" target="classFrame">EmbeddedHandlerTest</a>
+          </li>
+        
+          <li>
+            <a href="GetQNamesTest.html" target="classFrame">GetQNamesTest</a>
+          </li>
+        
+          <li>
+            <a href="GetXMLEncodingTest.html" target="classFrame">GetXMLEncodingTest</a>
+          </li>
+        
+          <li>
+            <a href="HTMLWriterTest.html" target="classFrame">HTMLWriterTest</a>
+          </li>
+        
+          <li>
+            <a href="IndexedElementTest.html" target="classFrame">IndexedElementTest</a>
+          </li>
+        
+          <li>
+            <a href="IsTextOnlyTest.html" target="classFrame">IsTextOnlyTest</a>
+          </li>
+        
+          <li>
+            <a href="IteratorTest.html" target="classFrame">IteratorTest</a>
+          </li>
+        
+          <li>
+            <a href="LineFeedTest.html" target="classFrame">LineFeedTest</a>
+          </li>
+        
+          <li>
+            <a href="MakeElementTest.html" target="classFrame">MakeElementTest</a>
+          </li>
+        
+          <li>
+            <a href="MergeTextTest.html" target="classFrame">MergeTextTest</a>
+          </li>
+        
+          <li>
+            <a href="NamespaceTest.html" target="classFrame">NamespaceTest</a>
+          </li>
+        
+          <li>
+            <a href="NamespacesTest.html" target="classFrame">NamespacesTest</a>
+          </li>
+        
+          <li>
+            <a href="NodeTypeNameTest.html" target="classFrame">NodeTypeNameTest</a>
+          </li>
+        
+          <li>
+            <a href="NormalizeTest.html" target="classFrame">NormalizeTest</a>
+          </li>
+        
+          <li>
+            <a href="NullAttributesTest.html" target="classFrame">NullAttributesTest</a>
+          </li>
+        
+          <li>
+            <a href="ParentTest.html" target="classFrame">ParentTest</a>
+          </li>
+        
+          <li>
+            <a href="ParseTextTest.html" target="classFrame">ParseTextTest</a>
+          </li>
+        
+          <li>
+            <a href="ProcessingInstructionTest.html" target="classFrame">ProcessingInstructionTest</a>
+          </li>
+        
+          <li>
+            <a href="RoundTripTest.html" target="classFrame">RoundTripTest</a>
+          </li>
+        
+          <li>
+            <a href="SAXContentHandlerTest.html" target="classFrame">SAXContentHandlerTest</a>
+          </li>
+        
+          <li>
+            <a href="SerializeTest.html" target="classFrame">SerializeTest</a>
+          </li>
+        
+          <li>
+            <a href="SetContentTest.html" target="classFrame">SetContentTest</a>
+          </li>
+        
+          <li>
+            <a href="SetTextTest.html" target="classFrame">SetTextTest</a>
+          </li>
+        
+          <li>
+            <a href="ThreadingTest.html" target="classFrame">ThreadingTest</a>
+          </li>
+        
+          <li>
+            <a href="UserDataTest.html" target="classFrame">UserDataTest</a>
+          </li>
+        
+          <li>
+            <a href="ValidationTest.html" target="classFrame">ValidationTest</a>
+          </li>
+        
+          <li>
+            <a href="XMLResultTest.html" target="classFrame">XMLResultTest</a>
+          </li>
+        
+          <li>
+            <a href="XMLSpaceAttributeTest.html" target="classFrame">XMLSpaceAttributeTest</a>
+          </li>
+        
+          <li>
+            <a href="XMLWriterTest.html" target="classFrame">XMLWriterTest</a>
+          </li>
+        
+          <li>
+            <a href="XPathBugTest.html" target="classFrame">XPathBugTest</a>
+          </li>
+        
+          <li>
+            <a href="XPathExamplesTest.html" target="classFrame">XPathExamplesTest</a>
+          </li>
+        
+          <li>
+            <a href="XPathTest.html" target="classFrame">XPathTest</a>
+          </li>
+        
+          <li>
+            <a href="XSLTTest.html" target="classFrame">XSLTTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/package-summary.html b/docs/xref-test/org/dom4j/package-summary.html
new file mode 100644
index 0000000..9784e3a
--- /dev/null
+++ b/docs/xref-test/org/dom4j/package-summary.html
@@ -0,0 +1,360 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="AbstractTestCase.html" target="classFrame">AbstractTestCase</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AddAttributeTest.html" target="classFrame">AddAttributeTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AddNodeTest.html" target="classFrame">AddNodeTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AttributeDetachTest.html" target="classFrame">AttributeDetachTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="BackedListTest.html" target="classFrame">BackedListTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="CloneTest.html" target="classFrame">CloneTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ContentTest.html" target="classFrame">ContentTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="CopyTest.html" target="classFrame">CopyTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DetachTest.html" target="classFrame">DetachTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocTypeTest.html" target="classFrame">DocTypeTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementByIDTest.html" target="classFrame">ElementByIDTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="EmbeddedHandlerTest.html" target="classFrame">EmbeddedHandlerTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="GetQNamesTest.html" target="classFrame">GetQNamesTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="GetXMLEncodingTest.html" target="classFrame">GetXMLEncodingTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="HTMLWriterTest.html" target="classFrame">HTMLWriterTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="IndexedElementTest.html" target="classFrame">IndexedElementTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="IsTextOnlyTest.html" target="classFrame">IsTextOnlyTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="IteratorTest.html" target="classFrame">IteratorTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="LineFeedTest.html" target="classFrame">LineFeedTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="MakeElementTest.html" target="classFrame">MakeElementTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="MergeTextTest.html" target="classFrame">MergeTextTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NamespaceTest.html" target="classFrame">NamespaceTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NamespacesTest.html" target="classFrame">NamespacesTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NodeTypeNameTest.html" target="classFrame">NodeTypeNameTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NormalizeTest.html" target="classFrame">NormalizeTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NullAttributesTest.html" target="classFrame">NullAttributesTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ParentTest.html" target="classFrame">ParentTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ParseTextTest.html" target="classFrame">ParseTextTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ProcessingInstructionTest.html" target="classFrame">ProcessingInstructionTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="RoundTripTest.html" target="classFrame">RoundTripTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXContentHandlerTest.html" target="classFrame">SAXContentHandlerTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SerializeTest.html" target="classFrame">SerializeTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SetContentTest.html" target="classFrame">SetContentTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SetTextTest.html" target="classFrame">SetTextTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ThreadingTest.html" target="classFrame">ThreadingTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="UserDataTest.html" target="classFrame">UserDataTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ValidationTest.html" target="classFrame">ValidationTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XMLResultTest.html" target="classFrame">XMLResultTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XMLSpaceAttributeTest.html" target="classFrame">XMLSpaceAttributeTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XMLWriterTest.html" target="classFrame">XMLWriterTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XPathBugTest.html" target="classFrame">XPathBugTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XPathExamplesTest.html" target="classFrame">XPathExamplesTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XPathTest.html" target="classFrame">XPathTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XSLTTest.html" target="classFrame">XSLTTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/rule/PriorityTest.html b/docs/xref-test/org/dom4j/rule/PriorityTest.html
new file mode 100644
index 0000000..bfe3dba
--- /dev/null
+++ b/docs/xref-test/org/dom4j/rule/PriorityTest.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PriorityTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * Tests the priority behaviour of Pattern.</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/rule/PriorityTest.html">PriorityTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="22" href="#22">22</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="23" href="#23">23</a>          TestRunner.run(PriorityTest.<strong>class</strong>);
+<a name="24" href="#24">24</a>      }
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>void</strong> testNameNode() throws Exception {
+<a name="27" href="#27">27</a>          testPriority(<span class="string">"foo"</span>, 0);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>void</strong> testFilter() throws Exception {
+<a name="31" href="#31">31</a>          testPriority(<span class="string">"foo[@id='123']"</span>, 0.5);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>void</strong> testURI() throws Exception {
+<a name="35" href="#35">35</a>          testPriority(<span class="string">"foo:*"</span>, -0.25);
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <strong>void</strong> testAnyNode() throws Exception {
+<a name="39" href="#39">39</a>          testPriority(<span class="string">"*"</span>, -0.5);
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>protected</strong> <strong>void</strong> testPriority(String expr, <strong>double</strong> priority) throws Exception {
+<a name="43" href="#43">43</a>          System.out.println(<span class="string">"parsing: "</span> + expr);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          Pattern pattern = DocumentFactory.getInstance().createPattern(expr);
+<a name="46" href="#46">46</a>          <strong>double</strong> d = pattern.getPriority();
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          System.out.println(<span class="string">"expr: "</span> + expr + <span class="string">" has priority: "</span> + d);
+<a name="49" href="#49">49</a>          System.out.println(<span class="string">"pattern: "</span> + pattern);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          assertEquals(<span class="string">"expr: "</span> + expr, <strong>new</strong> Double(priority), <strong>new</strong> Double(d));
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>  <em class="comment">/*</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * following conditions are met:</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/rule/RuleTest.html b/docs/xref-test/org/dom4j/rule/RuleTest.html
new file mode 100644
index 0000000..ae6336d
--- /dev/null
+++ b/docs/xref-test/org/dom4j/rule/RuleTest.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RuleTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.ArrayList;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Collections;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Document;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * Tests the ordering of Rules</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/rule/RuleTest.html">RuleTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="27" href="#27">27</a>      <strong>protected</strong> DocumentFactory factory = <strong>new</strong> DocumentFactory();
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="30" href="#30">30</a>          TestRunner.run(RuleTest.<strong>class</strong>);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>void</strong> testOrder() throws Exception {
+<a name="34" href="#34">34</a>          testGreater(<span class="string">"foo"</span>, <span class="string">"*"</span>);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>protected</strong> <strong>void</strong> testGreater(String expr1, String expr2) throws Exception {
+<a name="38" href="#38">38</a>          System.out.println(<span class="string">"parsing: "</span> + expr1 + <span class="string">" and "</span> + expr2);
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          Rule r1 = createRule(expr1);
+<a name="41" href="#41">41</a>          Rule r2 = createRule(expr2);
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          System.out.println(<span class="string">"rule1: "</span> + r1 + <span class="string">" rule2: "</span> + r2);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          <strong>int</strong> value = r1.compareTo(r2);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          System.out.println(<span class="string">"Comparison: "</span> + value);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          assertTrue(<span class="string">"r1 > r2"</span>, value > 0);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          ArrayList list = <strong>new</strong> ArrayList();
+<a name="52" href="#52">52</a>          list.add(r1);
+<a name="53" href="#53">53</a>          list.add(r2);
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          Collections.sort(list);
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          assertTrue(<span class="string">"r2 should be first"</span>, list.get(0) == r2);
+<a name="58" href="#58">58</a>          assertTrue(<span class="string">"r1 should be next"</span>, list.get(1) == r1);
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          list = <strong>new</strong> ArrayList();
+<a name="61" href="#61">61</a>          list.add(r2);
+<a name="62" href="#62">62</a>          list.add(r1);
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          Collections.sort(list);
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          assertTrue(<span class="string">"r2 should be first"</span>, list.get(0) == r2);
+<a name="67" href="#67">67</a>          assertTrue(<span class="string">"r1 should be next"</span>, list.get(1) == r1);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          <em class="comment">/*</em>
+<a name="70" href="#70">70</a>  <em class="comment">         * TreeSet set = new TreeSet(); set.add( r1 ); set.add( r2 );</em>
+<a name="71" href="#71">71</a>  <em class="comment">         * </em>
+<a name="72" href="#72">72</a>  <em class="comment">         * assertTrue( "r2 should be first", set.first() == r2 ); assertTrue(</em>
+<a name="73" href="#73">73</a>  <em class="comment">         * "r1 should be next", set.last() == r1 );</em>
+<a name="74" href="#74">74</a>  <em class="comment">         * </em>
+<a name="75" href="#75">75</a>  <em class="comment">         * Object[] array = set.toArray();</em>
+<a name="76" href="#76">76</a>  <em class="comment">         * </em>
+<a name="77" href="#77">77</a>  <em class="comment">         * assertTrue( "r2 should be first", array[0] == r2 ); assertTrue( "r1</em>
+<a name="78" href="#78">78</a>  <em class="comment">         * should be next", array[1] == r1 );</em>
+<a name="79" href="#79">79</a>  <em class="comment">         * </em>
+<a name="80" href="#80">80</a>  <em class="comment">         * set = new TreeSet(); set.add( r2 ); set.add( r1 );</em>
+<a name="81" href="#81">81</a>  <em class="comment">         * </em>
+<a name="82" href="#82">82</a>  <em class="comment">         * assertTrue( "r2 should be first", set.first() == r2 ); assertTrue(</em>
+<a name="83" href="#83">83</a>  <em class="comment">         * "r1 should be next", set.last() == r1 );</em>
+<a name="84" href="#84">84</a>  <em class="comment">         * </em>
+<a name="85" href="#85">85</a>  <em class="comment">         * array = set.toArray();</em>
+<a name="86" href="#86">86</a>  <em class="comment">         * </em>
+<a name="87" href="#87">87</a>  <em class="comment">         * assertTrue( "r2 should be first", array[0] == r2 ); assertTrue( "r1</em>
+<a name="88" href="#88">88</a>  <em class="comment">         * should be next", array[1] == r1 );</em>
+<a name="89" href="#89">89</a>  <em class="comment">         */</em>
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <strong>public</strong> <strong>void</strong> testDocument() {
+<a name="93" href="#93">93</a>          Rule rule = createRule(<span class="string">"/"</span>);
+<a name="94" href="#94">94</a>          Document document = factory.createDocument();
+<a name="95" href="#95">95</a>          document.addElement(<span class="string">"foo"</span>);
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>          assertTrue(<span class="string">"/ matches document"</span>, rule.matches(document));
+<a name="98" href="#98">98</a>          assertTrue(<span class="string">"/ does not match root element"</span>, !rule.matches(document
+<a name="99" href="#99">99</a>                  .getRootElement()));
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>void</strong> testTextMatchesCDATA() {
+<a name="103" href="#103">103</a>         CDATA cdata = factory.createCDATA(<span class="string">"<>&"</span>);
+<a name="104" href="#104">104</a>         Rule rule = createRule(<span class="string">"text()"</span>);
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         assertTrue(<span class="string">"text() matches CDATA"</span>, rule.matches(cdata));
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>protected</strong> Rule createRule(String expr) {
+<a name="110" href="#110">110</a>         Pattern pattern = factory.createPattern(expr);
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         <strong>return</strong> <strong>new</strong> Rule(pattern);
+<a name="113" href="#113">113</a>     }
+<a name="114" href="#114">114</a> }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a> <em class="comment">/*</em>
+<a name="117" href="#117">117</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="118" href="#118">118</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="119" href="#119">119</a> <em class="comment"> * following conditions are met:</em>
+<a name="120" href="#120">120</a> <em class="comment"> * </em>
+<a name="121" href="#121">121</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="122" href="#122">122</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="123" href="#123">123</a> <em class="comment"> * </em>
+<a name="124" href="#124">124</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="125" href="#125">125</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="126" href="#126">126</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="129" href="#129">129</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="130" href="#130">130</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="131" href="#131">131</a> <em class="comment"> * </em>
+<a name="132" href="#132">132</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="133" href="#133">133</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="134" href="#134">134</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="135" href="#135">135</a> <em class="comment"> * </em>
+<a name="136" href="#136">136</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="137" href="#137">137</a> <em class="comment"> * </em>
+<a name="138" href="#138">138</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="139" href="#139">139</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="140" href="#140">140</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="141" href="#141">141</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="142" href="#142">142</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="143" href="#143">143</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="144" href="#144">144</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="145" href="#145">145</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="146" href="#146">146</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="147" href="#147">147</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="148" href="#148">148</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="149" href="#149">149</a> <em class="comment"> * </em>
+<a name="150" href="#150">150</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="151" href="#151">151</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/rule/StylesheetTest.html b/docs/xref-test/org/dom4j/rule/StylesheetTest.html
new file mode 100644
index 0000000..044da90
--- /dev/null
+++ b/docs/xref-test/org/dom4j/rule/StylesheetTest.html
@@ -0,0 +1,184 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>StylesheetTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Document;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Node;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.xpath.DefaultXPath;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * A test harness to test the use of the Stylesheet and the XSLT rule engine.</em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/rule/StylesheetTest.html">StylesheetTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="25" href="#25">25</a>      <strong>protected</strong> String[] templates = {
+<a name="26" href="#26">26</a>              <span class="string">"/"</span>,
+<a name="27" href="#27">27</a>              <span class="string">"*"</span>,
+<a name="28" href="#28">28</a>              <span class="string">"root"</span>,
+<a name="29" href="#29">29</a>              <span class="string">"author"</span>,
+<a name="30" href="#30">30</a>              <span class="string">"@name"</span>,
+<a name="31" href="#31">31</a>              <span class="string">"root/author"</span>,
+<a name="32" href="#32">32</a>              <span class="string">"author[@location='UK']"</span>,
+<a name="33" href="#33">33</a>              <span class="string">"root/author[@location='UK']"</span>,
+<a name="34" href="#34">34</a>              <span class="string">"root//author[@location='UK']"</span>};
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>protected</strong> String[] templates2 = {<span class="string">"/"</span>, <span class="string">"title"</span>, <span class="string">"para"</span>, <span class="string">"*"</span>};
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>protected</strong> Stylesheet stylesheet;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="41" href="#41">41</a>          TestRunner.run(StylesheetTest.<strong>class</strong>);
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em class="comment">// Test case(s)</em>
+<a name="45" href="#45">45</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> testRules() throws Exception {
+<a name="47" href="#47">47</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = templates.length; i < size; i++) {
+<a name="48" href="#48">48</a>              addTemplate(templates[i]);
+<a name="49" href="#49">49</a>          }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          log(<span class="string">""</span>);
+<a name="52" href="#52">52</a>          log(<span class="string">"........................................"</span>);
+<a name="53" href="#53">53</a>          log(<span class="string">""</span>);
+<a name="54" href="#54">54</a>          log(<span class="string">"Running stylesheet"</span>);
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          stylesheet.run(document);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          log(<span class="string">"Finished"</span>);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>void</strong> testLittleDoc() throws Exception {
+<a name="62" href="#62">62</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = templates2.length; i < size; i++) {
+<a name="63" href="#63">63</a>              addTemplate(templates2[i]);
+<a name="64" href="#64">64</a>          }
+<a name="65" href="#65">65</a>          Document doc = getDocument(<span class="string">"/xml/test/littledoc.xml"</span>);
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          stylesheet = <strong>new</strong> Stylesheet();
+<a name="68" href="#68">68</a>          stylesheet.setValueOfAction(<strong>new</strong> Action() {
+<a name="69" href="#69">69</a>              <strong>public</strong> <strong>void</strong> run(Node node) {
+<a name="70" href="#70">70</a>                  log(<span class="string">"Default ValueOf action on node: "</span> + node);
+<a name="71" href="#71">71</a>                  log(<span class="string">"........................................"</span>);
+<a name="72" href="#72">72</a>              }
+<a name="73" href="#73">73</a>          });
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>          stylesheet.run(doc);
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> <strong>void</strong> testFireRuleForNode() throws Exception {
+<a name="79" href="#79">79</a>          <strong>final</strong> StringBuffer b = <strong>new</strong> StringBuffer();
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>          <strong>final</strong> Stylesheet s = <strong>new</strong> Stylesheet();
+<a name="82" href="#82">82</a>          Pattern pattern = DocumentHelper.createPattern(<span class="string">"url"</span>);
+<a name="83" href="#83">83</a>          Action action = <strong>new</strong> Action() {
+<a name="84" href="#84">84</a>              <strong>public</strong> <strong>void</strong> run(Node node) throws Exception {
+<a name="85" href="#85">85</a>                  b.append(<span class="string">"url"</span>);
+<a name="86" href="#86">86</a>                  s.applyTemplates(node);
+<a name="87" href="#87">87</a>              }
+<a name="88" href="#88">88</a>          };
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          Rule r = <strong>new</strong> Rule(pattern, action);
+<a name="91" href="#91">91</a>          s.addRule(r);
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          s.applyTemplates(document, <strong>new</strong> DefaultXPath(<span class="string">"root/author/url"</span>));
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>          assertEquals(<span class="string">"Check url is processed twice"</span>, <span class="string">"urlurl"</span>, b.toString());
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <em class="comment">// Implementation methods</em>
+<a name="99" href="#99">99</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="100" href="#100">100</a>     <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="101" href="#101">101</a>         <strong>super</strong>.setUp();
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         stylesheet = <strong>new</strong> Stylesheet();
+<a name="104" href="#104">104</a>         stylesheet.setValueOfAction(<strong>new</strong> Action() {
+<a name="105" href="#105">105</a>             <strong>public</strong> <strong>void</strong> run(Node node) {
+<a name="106" href="#106">106</a>                 log(<span class="string">"Default ValueOf action on node: "</span> + node);
+<a name="107" href="#107">107</a>                 log(<span class="string">"........................................"</span>);
+<a name="108" href="#108">108</a>             }
+<a name="109" href="#109">109</a>         });
+<a name="110" href="#110">110</a>     }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <strong>protected</strong> <strong>void</strong> addTemplate(<strong>final</strong> String match) {
+<a name="113" href="#113">113</a>         log(<span class="string">"Adding template match: "</span> + match);
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         Pattern pattern = DocumentHelper.createPattern(match);
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         log(<span class="string">"Pattern: "</span> + pattern);
+<a name="118" href="#118">118</a>         log(<span class="string">"........................................"</span>);
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         Action action = <strong>new</strong> Action() {
+<a name="121" href="#121">121</a>             <strong>public</strong> <strong>void</strong> run(Node node) throws Exception {
+<a name="122" href="#122">122</a>                 log(<span class="string">"Matched pattern: "</span> + match);
+<a name="123" href="#123">123</a>                 log(<span class="string">"Node: "</span> + node.asXML());
+<a name="124" href="#124">124</a>                 log(<span class="string">"........................................"</span>);
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>                 <em class="comment">// apply any child templates</em>
+<a name="127" href="#127">127</a>                 stylesheet.applyTemplates(node);
+<a name="128" href="#128">128</a>             }
+<a name="129" href="#129">129</a>         };
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>         Rule rule = <strong>new</strong> Rule(pattern, action);
+<a name="132" href="#132">132</a>         stylesheet.addRule(rule);
+<a name="133" href="#133">133</a>     }
+<a name="134" href="#134">134</a> }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a> <em class="comment">/*</em>
+<a name="137" href="#137">137</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="138" href="#138">138</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="139" href="#139">139</a> <em class="comment"> * following conditions are met:</em>
+<a name="140" href="#140">140</a> <em class="comment"> * </em>
+<a name="141" href="#141">141</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="142" href="#142">142</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="143" href="#143">143</a> <em class="comment"> * </em>
+<a name="144" href="#144">144</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="145" href="#145">145</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="146" href="#146">146</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="147" href="#147">147</a> <em class="comment"> * </em>
+<a name="148" href="#148">148</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="149" href="#149">149</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="150" href="#150">150</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="151" href="#151">151</a> <em class="comment"> * </em>
+<a name="152" href="#152">152</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="153" href="#153">153</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="154" href="#154">154</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="155" href="#155">155</a> <em class="comment"> * </em>
+<a name="156" href="#156">156</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="157" href="#157">157</a> <em class="comment"> * </em>
+<a name="158" href="#158">158</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="159" href="#159">159</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="160" href="#160">160</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="161" href="#161">161</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="162" href="#162">162</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="163" href="#163">163</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="164" href="#164">164</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="165" href="#165">165</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="166" href="#166">166</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="167" href="#167">167</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="168" href="#168">168</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="169" href="#169">169</a> <em class="comment"> * </em>
+<a name="170" href="#170">170</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="171" href="#171">171</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/rule/package-frame.html b/docs/xref-test/org/dom4j/rule/package-frame.html
new file mode 100644
index 0000000..a59e799
--- /dev/null
+++ b/docs/xref-test/org/dom4j/rule/package-frame.html
@@ -0,0 +1,35 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.rule</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.rule</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="PriorityTest.html" target="classFrame">PriorityTest</a>
+          </li>
+        
+          <li>
+            <a href="RuleTest.html" target="classFrame">RuleTest</a>
+          </li>
+        
+          <li>
+            <a href="StylesheetTest.html" target="classFrame">StylesheetTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/rule/package-summary.html b/docs/xref-test/org/dom4j/rule/package-summary.html
new file mode 100644
index 0000000..cc6b730
--- /dev/null
+++ b/docs/xref-test/org/dom4j/rule/package-summary.html
@@ -0,0 +1,114 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.rule</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="PriorityTest.html" target="classFrame">PriorityTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="RuleTest.html" target="classFrame">RuleTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="StylesheetTest.html" target="classFrame">StylesheetTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/swing/TableModelTest.html b/docs/xref-test/org/dom4j/swing/TableModelTest.html
new file mode 100644
index 0000000..5ecd344
--- /dev/null
+++ b/docs/xref-test/org/dom4j/swing/TableModelTest.html
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TableModelTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> javax.swing.table.TableModel;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Document;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * Tests the Swing TableModel using a dom4j document.</em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/swing/TableModelTest.html">TableModelTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="25" href="#25">25</a>          TestRunner.run(TableModelTest.<strong>class</strong>);
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>void</strong> testServletTable() throws Exception {
+<a name="29" href="#29">29</a>          Document document = getDocument(<span class="string">"/xml/web.xml"</span>);
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>          XMLTableDefinition tableDefinition = <strong>new</strong> XMLTableDefinition();
+<a name="32" href="#32">32</a>          tableDefinition.setRowExpression(<span class="string">"/web-app/servlet"</span>);
+<a name="33" href="#33">33</a>          tableDefinition.addStringColumn(<span class="string">"Name"</span>, <span class="string">"servlet-name"</span>);
+<a name="34" href="#34">34</a>          tableDefinition.addStringColumn(<span class="string">"Class"</span>, <span class="string">"servlet-class"</span>);
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          String mapping = <span class="string">"../servlet-mapping[servlet-name=$Name]/url-pattern"</span>;
+<a name="37" href="#37">37</a>          tableDefinition.addStringColumn(<span class="string">"Mapping"</span>, mapping);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          XMLTableModel tableModel = <strong>new</strong> XMLTableModel(tableDefinition, document);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          <em class="comment">// now lets test the values come out</em>
+<a name="42" href="#42">42</a>          assertEquals(<span class="string">"correct row count"</span>, tableModel.getRowCount(), 2);
+<a name="43" href="#43">43</a>          assertEquals(<span class="string">"correct column count"</span>, tableModel.getColumnCount(), 3);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          assertColumnNameEquals(tableModel, 0, <span class="string">"Name"</span>);
+<a name="46" href="#46">46</a>          assertColumnNameEquals(tableModel, 1, <span class="string">"Class"</span>);
+<a name="47" href="#47">47</a>          assertColumnNameEquals(tableModel, 2, <span class="string">"Mapping"</span>);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          assertCellEquals(tableModel, 0, 0, <span class="string">"snoop"</span>);
+<a name="50" href="#50">50</a>          assertCellEquals(tableModel, 1, 0, <span class="string">"file"</span>);
+<a name="51" href="#51">51</a>          assertCellEquals(tableModel, 0, 1, <span class="string">"SnoopServlet"</span>);
+<a name="52" href="#52">52</a>          assertCellEquals(tableModel, 1, 1, <span class="string">"ViewFile"</span>);
+<a name="53" href="#53">53</a>          assertCellEquals(tableModel, 0, 2, <span class="string">"/foo/snoop"</span>);
+<a name="54" href="#54">54</a>          assertCellEquals(tableModel, 1, 2, <span class="string">""</span>);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> testServletTableViaXMLDescription() throws Exception {
+<a name="58" href="#58">58</a>          Document definition = getDocument(<span class="string">"/xml/swing/tableForWeb.xml"</span>);
+<a name="59" href="#59">59</a>          Document document = getDocument(<span class="string">"/xml/web.xml"</span>);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          XMLTableModel tableModel = <strong>new</strong> XMLTableModel(definition, document);
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          <em class="comment">// now lets test the values come out</em>
+<a name="64" href="#64">64</a>          assertEquals(<span class="string">"correct row count"</span>, tableModel.getRowCount(), 2);
+<a name="65" href="#65">65</a>          assertEquals(<span class="string">"correct column count"</span>, tableModel.getColumnCount(), 3);
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          assertColumnNameEquals(tableModel, 0, <span class="string">"Name"</span>);
+<a name="68" href="#68">68</a>          assertColumnNameEquals(tableModel, 1, <span class="string">"Class"</span>);
+<a name="69" href="#69">69</a>          assertColumnNameEquals(tableModel, 2, <span class="string">"Mapping"</span>);
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          assertCellEquals(tableModel, 0, 0, <span class="string">"snoop"</span>);
+<a name="72" href="#72">72</a>          assertCellEquals(tableModel, 1, 0, <span class="string">"file"</span>);
+<a name="73" href="#73">73</a>          assertCellEquals(tableModel, 0, 1, <span class="string">"SnoopServlet"</span>);
+<a name="74" href="#74">74</a>          assertCellEquals(tableModel, 1, 1, <span class="string">"ViewFile"</span>);
+<a name="75" href="#75">75</a>          assertCellEquals(tableModel, 0, 2, <span class="string">"/foo/snoop"</span>);
+<a name="76" href="#76">76</a>          assertCellEquals(tableModel, 1, 2, <span class="string">""</span>);
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <strong>protected</strong> <strong>void</strong> assertColumnNameEquals(TableModel tableModel,
+<a name="80" href="#80">80</a>              <strong>int</strong> columnIndex, String name) {
+<a name="81" href="#81">81</a>          assertEquals(<span class="string">"Column name correct for index: "</span> + columnIndex, name,
+<a name="82" href="#82">82</a>                  tableModel.getColumnName(columnIndex));
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>protected</strong> <strong>void</strong> assertCellEquals(TableModel tableModel, <strong>int</strong> rowIndex,
+<a name="86" href="#86">86</a>              <strong>int</strong> columnIndex, Object value) {
+<a name="87" href="#87">87</a>          assertEquals(<span class="string">"Cell value at row: "</span> + rowIndex + <span class="string">" col: "</span> + columnIndex,
+<a name="88" href="#88">88</a>                  value, tableModel.getValueAt(rowIndex, columnIndex));
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>  <em class="comment">/*</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * following conditions are met:</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * </em>
+<a name="100" href="#100">100</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="101" href="#101">101</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="102" href="#102">102</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="105" href="#105">105</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="106" href="#106">106</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="107" href="#107">107</a> <em class="comment"> * </em>
+<a name="108" href="#108">108</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="109" href="#109">109</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="110" href="#110">110</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="111" href="#111">111</a> <em class="comment"> * </em>
+<a name="112" href="#112">112</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="113" href="#113">113</a> <em class="comment"> * </em>
+<a name="114" href="#114">114</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="115" href="#115">115</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="116" href="#116">116</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="117" href="#117">117</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="118" href="#118">118</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="119" href="#119">119</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="120" href="#120">120</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="121" href="#121">121</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="122" href="#122">122</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="123" href="#123">123</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="124" href="#124">124</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="125" href="#125">125</a> <em class="comment"> * </em>
+<a name="126" href="#126">126</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="127" href="#127">127</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/swing/package-frame.html b/docs/xref-test/org/dom4j/swing/package-frame.html
new file mode 100644
index 0000000..6218e10
--- /dev/null
+++ b/docs/xref-test/org/dom4j/swing/package-frame.html
@@ -0,0 +1,27 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.swing</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.swing</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="TableModelTest.html" target="classFrame">TableModelTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/swing/package-summary.html b/docs/xref-test/org/dom4j/swing/package-summary.html
new file mode 100644
index 0000000..f7891c3
--- /dev/null
+++ b/docs/xref-test/org/dom4j/swing/package-summary.html
@@ -0,0 +1,102 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.swing</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="TableModelTest.html" target="classFrame">TableModelTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/tree/CDataTest.html b/docs/xref-test/org/dom4j/tree/CDataTest.html
new file mode 100644
index 0000000..5a8bee5
--- /dev/null
+++ b/docs/xref-test/org/dom4j/tree/CDataTest.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CDataTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * DOCUMENT ME!</em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author Maarten Coene</em>
+<a name="18" href="#18">18</a>  <em> */</em>
+<a name="19" href="#19">19</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/CDataTest.html">CDataTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="20" href="#20">20</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="21" href="#21">21</a>          TestRunner.run(CDataTest.<strong>class</strong>);
+<a name="22" href="#22">22</a>      }
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>void</strong> testNullTest() {
+<a name="25" href="#25">25</a>          DefaultCDATA cdata = <strong>new</strong> DefaultCDATA(<strong>null</strong>);
+<a name="26" href="#26">26</a>          assertEquals(<span class="string">"CData not correct"</span>, <span class="string">"<![CDATA[]]>"</span>, cdata.asXML());
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>void</strong> testNormal() {
+<a name="30" href="#30">30</a>          DefaultCDATA cdata = <strong>new</strong> DefaultCDATA(<span class="string">"sample"</span>);
+<a name="31" href="#31">31</a>          assertEquals(<span class="string">"CData not correct"</span>, <span class="string">"<![CDATA[sample]]>"</span>, cdata.asXML());
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>      
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>void</strong> testLongCData() throws Exception {
+<a name="35" href="#35">35</a>          getDocument(<span class="string">"xml/test/longCDATA.xml"</span>);
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>  <em class="comment">/*</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="41" href="#41">41</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * following conditions are met:</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * </em>
+<a name="44" href="#44">44</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * </em>
+<a name="47" href="#47">47</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * </em>
+<a name="51" href="#51">51</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/tree/DefaultDocumentTest.html b/docs/xref-test/org/dom4j/tree/DefaultDocumentTest.html
new file mode 100644
index 0000000..6360dce
--- /dev/null
+++ b/docs/xref-test/org/dom4j/tree/DefaultDocumentTest.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultDocumentTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.ByteArrayOutputStream;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Document;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Element;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.IllegalAddException;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.io.OutputFormat;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em> * Some tests on DefaultDocument.</em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:maartenc at users.sourceforge.net" target="alexandria_uri">mailto:maartenc at users.sourceforge.net</a>">Maarten Coene </a></em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultDocumentTest.html">DefaultDocumentTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="30" href="#30">30</a>          TestRunner.run(DefaultDocumentTest.<strong>class</strong>);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em class="comment">// Test case(s)</em>
+<a name="34" href="#34">34</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="35" href="#35">35</a>      <strong>public</strong> <strong>void</strong> testDoubleRootElement() {
+<a name="36" href="#36">36</a>          Document document = DocumentFactory.getInstance().createDocument();
+<a name="37" href="#37">37</a>          document.addElement(<span class="string">"root"</span>);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          Element root = DocumentFactory.getInstance().createElement(
+<a name="40" href="#40">40</a>                  <span class="string">"anotherRoot"</span>);
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          <strong>try</strong> {
+<a name="43" href="#43">43</a>              document.add(root);
+<a name="44" href="#44">44</a>              fail();
+<a name="45" href="#45">45</a>          } <strong>catch</strong> (IllegalAddException e) {
+<a name="46" href="#46">46</a>              String msg = e.getMessage();
+<a name="47" href="#47">47</a>              assertTrue(msg.indexOf(root.toString()) != -1);
+<a name="48" href="#48">48</a>          }
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> testBug799656() throws Exception {
+<a name="52" href="#52">52</a>          Document document = DocumentFactory.getInstance().createDocument();
+<a name="53" href="#53">53</a>          Element el = document.addElement(<span class="string">"root"</span>);
+<a name="54" href="#54">54</a>          el.setText(<span class="string">"text with an \u00FC in it"</span>); <em class="comment">// u00FC is umlaut</em>
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          System.out.println(document.asXML());
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          DocumentHelper.parseText(document.asXML());
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>void</strong> testAsXMLWithEncoding() throws Exception {
+<a name="62" href="#62">62</a>          DefaultDocument document = <strong>new</strong> DefaultDocument();
+<a name="63" href="#63">63</a>          document.addElement(<span class="string">"root"</span>);
+<a name="64" href="#64">64</a>          document.setXMLEncoding(<span class="string">"ISO-8859-1"</span>);
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          Document doc = DocumentHelper.parseText(<span class="string">"<?xml version='1.0' "</span>
+<a name="67" href="#67">67</a>                  + <span class="string">"encoding='ISO-8859-1'?><root/>"</span>);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          String xml1 = document.asXML();
+<a name="70" href="#70">70</a>          String xml2 = doc.asXML();
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>          assertTrue(xml1.indexOf(<span class="string">"ISO-8859-1"</span>) != -1);
+<a name="73" href="#73">73</a>          assertTrue(xml2.indexOf(<span class="string">"ISO-8859-1"</span>) != -1);
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> <strong>void</strong> testBug1156909() throws Exception {
+<a name="77" href="#77">77</a>          Document doc = DocumentHelper.parseText(<span class="string">"<?xml version='1.0' "</span>
+<a name="78" href="#78">78</a>                  + <span class="string">"encoding='ISO-8859-1'?><root/>"</span>);
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>          assertEquals(<span class="string">"XMLEncoding not correct"</span>, <span class="string">"ISO-8859-1"</span>, doc
+<a name="81" href="#81">81</a>                  .getXMLEncoding());
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>public</strong> <strong>void</strong> testAsXMLWithEncodingAndContent() throws Exception {
+<a name="85" href="#85">85</a>          DefaultDocument document = <strong>new</strong> DefaultDocument();
+<a name="86" href="#86">86</a>          document.setXMLEncoding(<span class="string">"UTF-16"</span>);
+<a name="87" href="#87">87</a>          Element root = document.addElement(<span class="string">"root"</span>);
+<a name="88" href="#88">88</a>          root.setText(<span class="string">"text with an \u00FC in it"</span>); <em class="comment">// u00FC is umlaut</em>
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          String xml = document.asXML();
+<a name="91" href="#91">91</a>          assertTrue(xml.indexOf(<span class="string">"UTF-16"</span>) != -1);
+<a name="92" href="#92">92</a>          assertTrue(xml.indexOf('\u00FC') != -1);
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> <strong>void</strong> testEncoding() throws Exception {
+<a name="96" href="#96">96</a>          Document document = DocumentFactory.getInstance().createDocument(
+<a name="97" href="#97">97</a>                  <span class="string">"koi8-r"</span>);
+<a name="98" href="#98">98</a>          Element el = document.addElement(<span class="string">"root"</span>);
+<a name="99" href="#99">99</a>          el.setText(<span class="string">"text with an \u00FC in it"</span>); <em class="comment">// u00FC is umlaut</em>
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>         System.out.println(document.asXML());
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         ByteArrayOutputStream out = <strong>new</strong> ByteArrayOutputStream();
+<a name="104" href="#104">104</a>         OutputFormat of = OutputFormat.createPrettyPrint();
+<a name="105" href="#105">105</a>         of.setEncoding(<span class="string">"koi8-r"</span>);
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>         XMLWriter writer = <strong>new</strong> XMLWriter(out, of);
+<a name="108" href="#108">108</a>         writer.write(document);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         String result = out.toString(<span class="string">"koi8-r"</span>);
+<a name="111" href="#111">111</a>         System.out.println(result);
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>         Document doc2 = DocumentHelper.parseText(result);
+<a name="114" href="#114">114</a>         <em class="comment">// System.out.println(doc2.asXML());</em>
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a> <em class="comment">/*</em>
+<a name="120" href="#120">120</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="121" href="#121">121</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="122" href="#122">122</a> <em class="comment"> * following conditions are met:</em>
+<a name="123" href="#123">123</a> <em class="comment"> * </em>
+<a name="124" href="#124">124</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="125" href="#125">125</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="126" href="#126">126</a> <em class="comment"> * </em>
+<a name="127" href="#127">127</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="128" href="#128">128</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="129" href="#129">129</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="132" href="#132">132</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="133" href="#133">133</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="136" href="#136">136</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="137" href="#137">137</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="140" href="#140">140</a> <em class="comment"> * </em>
+<a name="141" href="#141">141</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="142" href="#142">142</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="143" href="#143">143</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="144" href="#144">144</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="145" href="#145">145</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="146" href="#146">146</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="147" href="#147">147</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="148" href="#148">148</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="149" href="#149">149</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="150" href="#150">150</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="151" href="#151">151</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="152" href="#152">152</a> <em class="comment"> * </em>
+<a name="153" href="#153">153</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="154" href="#154">154</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/tree/DefaultElementTest.html b/docs/xref-test/org/dom4j/tree/DefaultElementTest.html
new file mode 100644
index 0000000..71f3cf0
--- /dev/null
+++ b/docs/xref-test/org/dom4j/tree/DefaultElementTest.html
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultElementTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Document;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Element;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Node;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> java.util.List;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * JUnit tests for <code>DefaultElement</code>.</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author Maarten Coene</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultElementTest.html">DefaultElementTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="27" href="#27">27</a>          TestRunner.run(DefaultElementTest.<strong>class</strong>);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em class="comment">// Test case(s)</em>
+<a name="31" href="#31">31</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>void</strong> testParentAfterSetContent() throws Exception {
+<a name="33" href="#33">33</a>              Document doc = DocumentHelper.parseText(<span class="string">"<root>"</span> + <span class="string">"<a>a</a>"</span>
+<a name="34" href="#34">34</a>                  + <span class="string">"<b>b</b>"</span> + <span class="string">"<x>x</x>"</span> + <span class="string">"<d>d</d>"</span> + <span class="string">"</root>"</span>);
+<a name="35" href="#35">35</a>              Node x = doc.selectSingleNode(<span class="string">"/root/x"</span>);
+<a name="36" href="#36">36</a>              List content = doc.getRootElement().content();
+<a name="37" href="#37">37</a>              <strong>int</strong> position = content.indexOf(x);
+<a name="38" href="#38">38</a>              Element c = DocumentHelper.createElement(<span class="string">"c"</span>);
+<a name="39" href="#39">39</a>              c.setText(<span class="string">"c"</span>);
+<a name="40" href="#40">40</a>              content.add(position, c);
+<a name="41" href="#41">41</a>              assertNotNull(c.getParent());
+<a name="42" href="#42">42</a>              doc.getRootElement().setContent(content);
+<a name="43" href="#43">43</a>              assertNotNull(<span class="string">"Parent is null of setting content"</span>, c.getParent());
+<a name="44" href="#44">44</a>          }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> testGetStringValue() throws Exception {
+<a name="47" href="#47">47</a>          Document doc = getDocument(<span class="string">"xml/test/test_text.xml"</span>);
+<a name="48" href="#48">48</a>          Element message = doc.getRootElement();
+<a name="49" href="#49">49</a>          
+<a name="50" href="#50">50</a>          String text = message.getStringValue();
+<a name="51" href="#51">51</a>          assertEquals(<span class="string">"String value incorrect"</span>, <span class="string">"This should work"</span>, text.trim());
+<a name="52" href="#52">52</a>          
+<a name="53" href="#53">53</a>          String xpathText = (String) doc
+<a name="54" href="#54">54</a>                  .selectObject(<span class="string">"normalize-space(/message)"</span>);
+<a name="55" href="#55">55</a>          assertEquals(<span class="string">"xpath value incorrect"</span>, <span class="string">"This should work"</span>, xpathText);
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>      
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> testBug894878() {
+<a name="59" href="#59">59</a>          Element foo = DocumentFactory.getInstance().createElement(<span class="string">"foo"</span>);
+<a name="60" href="#60">60</a>          foo.addText(<span class="string">"bla"</span>).addAttribute(<span class="string">"foo"</span>, <span class="string">"bar"</span>);
+<a name="61" href="#61">61</a>          assertEquals(<span class="string">"<foo foo=\"bar\">bla</foo>"</span>, foo.asXML());
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          foo = DocumentFactory.getInstance().createElement(<span class="string">"foo"</span>);
+<a name="64" href="#64">64</a>          foo.addAttribute(<span class="string">"foo"</span>, <span class="string">"bar"</span>).addText(<span class="string">"bla"</span>);
+<a name="65" href="#65">65</a>          assertEquals(<span class="string">"<foo foo=\"bar\">bla</foo>"</span>, foo.asXML());
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> <strong>void</strong> testGetNamespacesForURI() throws Exception {
+<a name="69" href="#69">69</a>          String xml = <span class="string">"<schema targetNamespace='http://SharedTest.org/xsd' "</span>
+<a name="70" href="#70">70</a>                  + <span class="string">"        xmlns='http://www.w3.org/2001/XMLSchema' "</span>
+<a name="71" href="#71">71</a>                  + <span class="string">"        xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"</span>
+<a name="72" href="#72">72</a>                  + <span class="string">"    <complexType name='AllStruct'>"</span> + <span class="string">"        <all>"</span>
+<a name="73" href="#73">73</a>                  + <span class="string">"            <element name='arString' type='xsd:string'/>"</span>
+<a name="74" href="#74">74</a>                  + <span class="string">"            <element name='varInt' type='xsd:int'/>"</span>
+<a name="75" href="#75">75</a>                  + <span class="string">"        </all>"</span> + <span class="string">"    </complexType>"</span> + <span class="string">"</schema>"</span>;
+<a name="76" href="#76">76</a>          Document doc = DocumentHelper.parseText(xml);
+<a name="77" href="#77">77</a>          Element schema = doc.getRootElement();
+<a name="78" href="#78">78</a>          List namespaces = schema
+<a name="79" href="#79">79</a>                  .getNamespacesForURI(<span class="string">"http://www.w3.org/2001/XMLSchema"</span>);
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>          assertNotNull(namespaces);
+<a name="82" href="#82">82</a>          assertEquals(2, namespaces.size());
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <strong>void</strong> testDeclaredNamespaces() throws Exception {
+<a name="86" href="#86">86</a>          String xml = <span class="string">"<a xmlns:ns1=\"uri1\">"</span> + <span class="string">"    <ns1:b/>"</span>
+<a name="87" href="#87">87</a>                  + <span class="string">"    <ns2:c xmlns:ns2=\"uri2\"/>"</span> + <span class="string">"</a>"</span>;
+<a name="88" href="#88">88</a>          Document doc = DocumentHelper.parseText(xml);
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          Element a = doc.getRootElement();
+<a name="91" href="#91">91</a>          List ns = a.declaredNamespaces();
+<a name="92" href="#92">92</a>          assertEquals(1, ns.size());
+<a name="93" href="#93">93</a>          assertSame(a.getNamespaceForPrefix(<span class="string">"ns1"</span>), ns.get(0));
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>          Element b = a.element(<span class="string">"b"</span>);
+<a name="96" href="#96">96</a>          ns = b.declaredNamespaces();
+<a name="97" href="#97">97</a>          assertEquals(0, ns.size());
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          Element c = a.element(<span class="string">"c"</span>);
+<a name="100" href="#100">100</a>         ns = c.declaredNamespaces();
+<a name="101" href="#101">101</a>         assertEquals(1, ns.size());
+<a name="102" href="#102">102</a>         assertSame(c.getNamespaceForPrefix(<span class="string">"ns2"</span>), ns.get(0));
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> <strong>void</strong> testAdditionalNamespaces() throws Exception {
+<a name="106" href="#106">106</a>         String xml = <span class="string">"<a xmlns:ns1=\"uri1\">"</span> + <span class="string">"    <ns1:b/>"</span>
+<a name="107" href="#107">107</a>                 + <span class="string">"    <ns2:c xmlns:ns2=\"uri2\"/>"</span> + <span class="string">"</a>"</span>;
+<a name="108" href="#108">108</a>         Document doc = DocumentHelper.parseText(xml);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         Element a = doc.getRootElement();
+<a name="111" href="#111">111</a>         List ns = a.additionalNamespaces();
+<a name="112" href="#112">112</a>         assertEquals(1, ns.size());
+<a name="113" href="#113">113</a>         assertSame(a.getNamespaceForPrefix(<span class="string">"ns1"</span>), ns.get(0));
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         Element b = a.element(<span class="string">"b"</span>);
+<a name="116" href="#116">116</a>         ns = b.additionalNamespaces();
+<a name="117" href="#117">117</a>         assertEquals(0, ns.size());
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         Element c = a.element(<span class="string">"c"</span>);
+<a name="120" href="#120">120</a>         ns = c.additionalNamespaces();
+<a name="121" href="#121">121</a>         assertEquals(0, ns.size());
+<a name="122" href="#122">122</a>     }
+<a name="123" href="#123">123</a> }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a> <em class="comment">/*</em>
+<a name="126" href="#126">126</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="127" href="#127">127</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="128" href="#128">128</a> <em class="comment"> * following conditions are met:</em>
+<a name="129" href="#129">129</a> <em class="comment"> * </em>
+<a name="130" href="#130">130</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="131" href="#131">131</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="132" href="#132">132</a> <em class="comment"> * </em>
+<a name="133" href="#133">133</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="134" href="#134">134</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="135" href="#135">135</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="136" href="#136">136</a> <em class="comment"> * </em>
+<a name="137" href="#137">137</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="138" href="#138">138</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="139" href="#139">139</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="140" href="#140">140</a> <em class="comment"> * </em>
+<a name="141" href="#141">141</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="142" href="#142">142</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="143" href="#143">143</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="146" href="#146">146</a> <em class="comment"> * </em>
+<a name="147" href="#147">147</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="148" href="#148">148</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="149" href="#149">149</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="150" href="#150">150</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="151" href="#151">151</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="152" href="#152">152</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="153" href="#153">153</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="154" href="#154">154</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="155" href="#155">155</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="156" href="#156">156</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="157" href="#157">157</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="158" href="#158">158</a> <em class="comment"> * </em>
+<a name="159" href="#159">159</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="160" href="#160">160</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/tree/NamespaceCacheTest.html b/docs/xref-test/org/dom4j/tree/NamespaceCacheTest.html
new file mode 100644
index 0000000..481ee29
--- /dev/null
+++ b/docs/xref-test/org/dom4j/tree/NamespaceCacheTest.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NamespaceCacheTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * A test harness to test the performance of the NamespaceCache</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:bfinnell at users.sourceforge.net" target="alexandria_uri">mailto:bfinnell at users.sourceforge.net</a>">Brett Finnell </a></em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/NamespaceCacheTest.html">NamespaceCacheTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="21" href="#21">21</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> THREADCOUNT = 50;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> ITERATIONCOUNT = 10000;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="26" href="#26">26</a>          TestRunner.run(NamespaceCacheTest.<strong>class</strong>);
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em class="comment">// Test case(s)</em>
+<a name="30" href="#30">30</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>void</strong> testGetSameNamespaceSingleThread() {
+<a name="32" href="#32">32</a>          <strong>long</strong> start = System.currentTimeMillis();
+<a name="33" href="#33">33</a>          SameNSTest test = <strong>new</strong> SameNSTest();
+<a name="34" href="#34">34</a>          test.run();
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          <strong>long</strong> end = System.currentTimeMillis();
+<a name="37" href="#37">37</a>          System.out.println(<span class="string">"Same NS Single took "</span> + (end - start) + <span class="string">" ms"</span>);
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>void</strong> testGetSameNamespaceMultiThread() throws Exception {
+<a name="41" href="#41">41</a>          <strong>long</strong> start = System.currentTimeMillis();
+<a name="42" href="#42">42</a>          runMultiThreadedTest(<strong>new</strong> SameNSTest());
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          <strong>long</strong> end = System.currentTimeMillis();
+<a name="45" href="#45">45</a>          System.out.println(<span class="string">"Different NS Single took "</span> + (end - start) + <span class="string">" ms"</span>);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <strong>void</strong> testGetNewNamespaceSingleThread() {
+<a name="49" href="#49">49</a>          <strong>long</strong> start = System.currentTimeMillis();
+<a name="50" href="#50">50</a>          DifferentNSTest test = <strong>new</strong> DifferentNSTest();
+<a name="51" href="#51">51</a>          test.run();
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          <strong>long</strong> end = System.currentTimeMillis();
+<a name="54" href="#54">54</a>          System.out.println(<span class="string">"Same NS Multi took "</span> + (end - start) + <span class="string">" ms"</span>);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> testGetNewNamespaceMultiThread() throws Exception {
+<a name="58" href="#58">58</a>          <strong>long</strong> start = System.currentTimeMillis();
+<a name="59" href="#59">59</a>          runMultiThreadedTest(<strong>new</strong> DifferentNSTest());
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          <strong>long</strong> end = System.currentTimeMillis();
+<a name="62" href="#62">62</a>          System.out.println(<span class="string">"Different NS Multi took "</span> + (end - start) + <span class="string">" ms"</span>);
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>private</strong> <strong>void</strong> runMultiThreadedTest(Runnable test) throws Exception {
+<a name="66" href="#66">66</a>          <em class="comment">// Make the threads</em>
+<a name="67" href="#67">67</a>          Thread[] threads = <strong>new</strong> Thread[THREADCOUNT];
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < THREADCOUNT; i++) {
+<a name="70" href="#70">70</a>              threads[i] = <strong>new</strong> Thread(<strong>new</strong> SameNSTest());
+<a name="71" href="#71">71</a>          }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          <em class="comment">// Start the threads</em>
+<a name="74" href="#74">74</a>          <strong>for</strong> (<strong>int</strong> j = 0; j < THREADCOUNT; j++) {
+<a name="75" href="#75">75</a>              threads[j].start();
+<a name="76" href="#76">76</a>          }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          <em class="comment">// Join with the threads</em>
+<a name="79" href="#79">79</a>          <strong>for</strong> (<strong>int</strong> k = 0; k < THREADCOUNT; k++) {
+<a name="80" href="#80">80</a>              threads[k].join();
+<a name="81" href="#81">81</a>          }
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>private</strong> <strong>class</strong> SameNSTest implements Runnable {
+<a name="85" href="#85">85</a>          <strong>public</strong> <strong>void</strong> run() {
+<a name="86" href="#86">86</a>              NamespaceCache cache = <strong>new</strong> NamespaceCache();
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>              <strong>for</strong> (<strong>int</strong> i = 0; i < ITERATIONCOUNT; i++) {
+<a name="89" href="#89">89</a>                  Namespace ns = cache.get(<span class="string">"prefix"</span>, <span class="string">"uri"</span>);
+<a name="90" href="#90">90</a>              }
+<a name="91" href="#91">91</a>          }
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <strong>private</strong> <strong>class</strong> DifferentNSTest implements Runnable {
+<a name="95" href="#95">95</a>          <strong>public</strong> <strong>void</strong> run() {
+<a name="96" href="#96">96</a>              NamespaceCache cache = <strong>new</strong> NamespaceCache();
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>              <strong>for</strong> (<strong>int</strong> i = 0; i < ITERATIONCOUNT; i++) {
+<a name="99" href="#99">99</a>                  Namespace ns = cache.get(<span class="string">"prefix"</span>, Integer.toString(i));
+<a name="100" href="#100">100</a>             }
+<a name="101" href="#101">101</a>         }
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a> <em class="comment">/*</em>
+<a name="106" href="#106">106</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="107" href="#107">107</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="108" href="#108">108</a> <em class="comment"> * following conditions are met:</em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="111" href="#111">111</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="112" href="#112">112</a> <em class="comment"> * </em>
+<a name="113" href="#113">113</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="114" href="#114">114</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="115" href="#115">115</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="116" href="#116">116</a> <em class="comment"> * </em>
+<a name="117" href="#117">117</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="118" href="#118">118</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="119" href="#119">119</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="120" href="#120">120</a> <em class="comment"> * </em>
+<a name="121" href="#121">121</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="122" href="#122">122</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="123" href="#123">123</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="124" href="#124">124</a> <em class="comment"> * </em>
+<a name="125" href="#125">125</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="126" href="#126">126</a> <em class="comment"> * </em>
+<a name="127" href="#127">127</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="128" href="#128">128</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="129" href="#129">129</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="130" href="#130">130</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="131" href="#131">131</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="132" href="#132">132</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="133" href="#133">133</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="134" href="#134">134</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="135" href="#135">135</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="136" href="#136">136</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="137" href="#137">137</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="140" href="#140">140</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/tree/package-frame.html b/docs/xref-test/org/dom4j/tree/package-frame.html
new file mode 100644
index 0000000..67b27ec
--- /dev/null
+++ b/docs/xref-test/org/dom4j/tree/package-frame.html
@@ -0,0 +1,39 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.tree</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.tree</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="CDataTest.html" target="classFrame">CDataTest</a>
+          </li>
+        
+          <li>
+            <a href="DefaultDocumentTest.html" target="classFrame">DefaultDocumentTest</a>
+          </li>
+        
+          <li>
+            <a href="DefaultElementTest.html" target="classFrame">DefaultElementTest</a>
+          </li>
+        
+          <li>
+            <a href="NamespaceCacheTest.html" target="classFrame">NamespaceCacheTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/tree/package-summary.html b/docs/xref-test/org/dom4j/tree/package-summary.html
new file mode 100644
index 0000000..3cd823c
--- /dev/null
+++ b/docs/xref-test/org/dom4j/tree/package-summary.html
@@ -0,0 +1,120 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.tree</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="CDataTest.html" target="classFrame">CDataTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultDocumentTest.html" target="classFrame">DefaultDocumentTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultElementTest.html" target="classFrame">DefaultElementTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NamespaceCacheTest.html" target="classFrame">NamespaceCacheTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/util/PerThreadSingletonTest.html b/docs/xref-test/org/dom4j/util/PerThreadSingletonTest.html
new file mode 100644
index 0000000..a1e6dec
--- /dev/null
+++ b/docs/xref-test/org/dom4j/util/PerThreadSingletonTest.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PerThreadSingletonTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.framework.Test;
+<a name="11" href="#11">11</a>  <strong>import</strong> junit.framework.TestSuite;
+<a name="12" href="#12">12</a>  <strong>import</strong> junit.framework.TestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> junit.extensions.RepeatedTest;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.HashMap;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.Map;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> com.clarkware.junitperf.LoadTest;
+<a name="19" href="#19">19</a>  <strong>import</strong> com.clarkware.junitperf.TimedTest;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * PerThreadSingleton Tester.</em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author ddlucas</em>
+<a name="25" href="#25">25</a>  <em> * @since</em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * <pre></em>
+<a name="28" href="#28">28</a>  <em> * 01 / 05 / 2005</em>
+<a name="29" href="#29">29</a>  <em> * </pre></em>
+<a name="30" href="#30">30</a>  <em> * </em>
+<a name="31" href="#31">31</a>  <em> * @version 1.0</em>
+<a name="32" href="#32">32</a>  <em> */</em>
+<a name="33" href="#33">33</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/PerThreadSingletonTest.html">PerThreadSingletonTest</a> <strong>extends</strong> TestCase {
+<a name="34" href="#34">34</a>      <strong>public</strong> <a href="../../../org/dom4j/util/PerThreadSingletonTest.html">PerThreadSingletonTest</a>(String name) {
+<a name="35" href="#35">35</a>          <strong>super</strong>(name);
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>private</strong> <strong>static</strong> SingletonStrategy singleton;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>private</strong> <strong>static</strong> ThreadLocal reference = <strong>new</strong> ThreadLocal();
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> setUp() throws Exception {
+<a name="43" href="#43">43</a>          <strong>super</strong>.setUp();
+<a name="44" href="#44">44</a>          <strong>synchronized</strong> (PerThreadSingletonTest.<strong>class</strong>) {
+<a name="45" href="#45">45</a>              <strong>if</strong> (singleton == <strong>null</strong>) {
+<a name="46" href="#46">46</a>                  singleton = <strong>new</strong> PerThreadSingleton();
+<a name="47" href="#47">47</a>                  singleton.setSingletonClassName(HashMap.<strong>class</strong>.getName());
+<a name="48" href="#48">48</a>              }
+<a name="49" href="#49">49</a>          }
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <strong>void</strong> tearDown() throws Exception {
+<a name="53" href="#53">53</a>          <strong>super</strong>.tearDown();
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>public</strong> <strong>void</strong> testInstance() throws Exception {
+<a name="57" href="#57">57</a>          String tid = Thread.currentThread().getName();
+<a name="58" href="#58">58</a>          Map map = (Map) singleton.instance();
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          String expected = <span class="string">"new value"</span>;
+<a name="61" href="#61">61</a>          <strong>if</strong> (!map.containsKey(tid) && reference.get() != <strong>null</strong>) {
+<a name="62" href="#62">62</a>              System.out.println(<span class="string">"tid="</span> + tid + <span class="string">" map="</span> + map);
+<a name="63" href="#63">63</a>              System.out.println(<span class="string">"reference="</span> + reference);
+<a name="64" href="#64">64</a>              System.out.println(<span class="string">"singleton="</span> + singleton);
+<a name="65" href="#65">65</a>              fail(<span class="string">"created singleton more than once"</span>);
+<a name="66" href="#66">66</a>          } <strong>else</strong> {
+<a name="67" href="#67">67</a>              map.put(tid, expected);
+<a name="68" href="#68">68</a>              reference.set(map);
+<a name="69" href="#69">69</a>          }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          String actual = (String) map.get(tid);
+<a name="72" href="#72">72</a>          <em class="comment">// System.out.println("tid="+tid+ " map="+map);</em>
+<a name="73" href="#73">73</a>          assertEquals(<span class="string">"testInstance"</span>, expected, actual);
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>          map = (Map) singleton.instance();
+<a name="76" href="#76">76</a>          expected = <span class="string">"new value"</span>;
+<a name="77" href="#77">77</a>          actual = (String) map.get(tid);
+<a name="78" href="#78">78</a>          <em class="comment">// System.out.println("tid="+tid+ " map="+map);</em>
+<a name="79" href="#79">79</a>          <em class="comment">// System.out.println("reference="+reference);</em>
+<a name="80" href="#80">80</a>          <em class="comment">// System.out.println("singleton="+singleton);</em>
+<a name="81" href="#81">81</a>          assertEquals(<span class="string">"testInstance"</span>, expected, actual);
+<a name="82" href="#82">82</a>          assertEquals(<span class="string">"testInstance reference"</span>, reference.get(), map);
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <em>/**<em>*</em></em>
+<a name="87" href="#87">87</a>  <em>     * Assembles and returns a test suite.</em>
+<a name="88" href="#88">88</a>  <em>     * </em>
+<a name="89" href="#89">89</a>  <em>     * @return The suite</em>
+<a name="90" href="#90">90</a>  <em>     */</em>
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>static</strong> Test suite() {
+<a name="92" href="#92">92</a>          TestSuite suite = <strong>new</strong> TestSuite();
+<a name="93" href="#93">93</a>          suite.addTest(makeRepeatedLoadTest(5, 100, <span class="string">"testInstance"</span>));
+<a name="94" href="#94">94</a>          <strong>return</strong> suite;
+<a name="95" href="#95">95</a>      }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <em>/**<em>*</em></em>
+<a name="98" href="#98">98</a>  <em>     * JUnit method to exercise test via threads and loops</em>
+<a name="99" href="#99">99</a>  <em>     * </em>
+<a name="100" href="#100">100</a> <em>     * @param users</em>
+<a name="101" href="#101">101</a> <em>     *            Number of users to simulate (i.e. Threads).</em>
+<a name="102" href="#102">102</a> <em>     * @param iterations</em>
+<a name="103" href="#103">103</a> <em>     *            Number of iterations per user ( repeat the test x times).</em>
+<a name="104" href="#104">104</a> <em>     * @param testMethod</em>
+<a name="105" href="#105">105</a> <em>     *            method to execute (testXXX).</em>
+<a name="106" href="#106">106</a> <em>     * </em>
+<a name="107" href="#107">107</a> <em>     * @return A Junit test</em>
+<a name="108" href="#108">108</a> <em>     */</em>
+<a name="109" href="#109">109</a>     <strong>protected</strong> <strong>static</strong> Test makeRepeatedLoadTest(<strong>int</strong> users, <strong>int</strong> iterations,
+<a name="110" href="#110">110</a>             String testMethod) {
+<a name="111" href="#111">111</a>         <strong>long</strong> maxElapsedTime = 1200 + (1000 * users * iterations);
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>         Test testCase = <strong>new</strong> <a href="../../../org/dom4j/util/PerThreadSingletonTest.html">PerThreadSingletonTest</a>(testMethod);
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         Test repeatedTest = <strong>new</strong> RepeatedTest(testCase, iterations);
+<a name="116" href="#116">116</a>         Test loadTest = <strong>new</strong> LoadTest(repeatedTest, users);
+<a name="117" href="#117">117</a>         Test timedTest = <strong>new</strong> TimedTest(loadTest, maxElapsedTime);
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         <strong>return</strong> timedTest;
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a> <em class="comment">/*</em>
+<a name="124" href="#124">124</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="125" href="#125">125</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="126" href="#126">126</a> <em class="comment"> * following conditions are met:</em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="129" href="#129">129</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="132" href="#132">132</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="133" href="#133">133</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="136" href="#136">136</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="137" href="#137">137</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="140" href="#140">140</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="141" href="#141">141</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="142" href="#142">142</a> <em class="comment"> * </em>
+<a name="143" href="#143">143</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="146" href="#146">146</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="147" href="#147">147</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="148" href="#148">148</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="149" href="#149">149</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="150" href="#150">150</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="151" href="#151">151</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="152" href="#152">152</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="153" href="#153">153</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="154" href="#154">154</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="155" href="#155">155</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="156" href="#156">156</a> <em class="comment"> * </em>
+<a name="157" href="#157">157</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="158" href="#158">158</a> <em class="comment"> */</em>
+<a name="159" href="#159">159</a> 
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/util/SimpleSingletonTest.html b/docs/xref-test/org/dom4j/util/SimpleSingletonTest.html
new file mode 100644
index 0000000..35aae1c
--- /dev/null
+++ b/docs/xref-test/org/dom4j/util/SimpleSingletonTest.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SimpleSingletonTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.framework.Test;
+<a name="11" href="#11">11</a>  <strong>import</strong> junit.framework.TestSuite;
+<a name="12" href="#12">12</a>  <strong>import</strong> junit.framework.TestCase;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.HashMap;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Map;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * PerThreadSingleton Tester.</em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author ddlucas</em>
+<a name="21" href="#21">21</a>  <em> * @since</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * <pre></em>
+<a name="24" href="#24">24</a>  <em> * 01 / 05 / 2005</em>
+<a name="25" href="#25">25</a>  <em> * </pre></em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * @version 1.0</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/SimpleSingletonTest.html">SimpleSingletonTest</a> <strong>extends</strong> TestCase {
+<a name="30" href="#30">30</a>      <strong>public</strong> <a href="../../../org/dom4j/util/SimpleSingletonTest.html">SimpleSingletonTest</a>(String name) {
+<a name="31" href="#31">31</a>          <strong>super</strong>(name);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>private</strong> <strong>static</strong> SingletonStrategy singleton;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>private</strong> <strong>static</strong> Object reference;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <strong>void</strong> setUp() throws Exception {
+<a name="39" href="#39">39</a>          <strong>super</strong>.setUp();
+<a name="40" href="#40">40</a>          <strong>if</strong> (singleton == <strong>null</strong>) {
+<a name="41" href="#41">41</a>              singleton = <strong>new</strong> PerThreadSingleton();
+<a name="42" href="#42">42</a>              singleton.setSingletonClassName(HashMap.<strong>class</strong>.getName());
+<a name="43" href="#43">43</a>          }
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> tearDown() throws Exception {
+<a name="47" href="#47">47</a>          <strong>super</strong>.tearDown();
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <strong>void</strong> testFirstInstance() throws Exception {
+<a name="51" href="#51">51</a>          Map map = (Map) singleton.instance();
+<a name="52" href="#52">52</a>          String expected = <strong>null</strong>;
+<a name="53" href="#53">53</a>          String actual = (String) map.get(<span class="string">"Test"</span>);
+<a name="54" href="#54">54</a>          assertEquals(<span class="string">"testInstance"</span>, expected, actual);
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          expected = <span class="string">"new value"</span>;
+<a name="57" href="#57">57</a>          map.put(<span class="string">"Test"</span>, expected);
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          map = (Map) singleton.instance();
+<a name="60" href="#60">60</a>          reference = map;
+<a name="61" href="#61">61</a>          actual = (String) map.get(<span class="string">"Test"</span>);
+<a name="62" href="#62">62</a>          assertEquals(<span class="string">"testFirstInstance"</span>, expected, actual);
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>void</strong> testSecondInstance() throws Exception {
+<a name="66" href="#66">66</a>          Map map = (Map) singleton.instance();
+<a name="67" href="#67">67</a>          assertEquals(<span class="string">"testSecondInstance reference"</span>, reference, map);
+<a name="68" href="#68">68</a>          String actual = (String) map.get(<span class="string">"Test"</span>);
+<a name="69" href="#69">69</a>          String expected = <span class="string">"new value"</span>;
+<a name="70" href="#70">70</a>          assertEquals(<span class="string">"testInstance"</span>, expected, actual);
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <strong>static</strong> Test suite() {
+<a name="74" href="#74">74</a>          TestSuite suite = <strong>new</strong> TestSuite();
+<a name="75" href="#75">75</a>          suite.addTest(TestSuite.createTest(SimpleSingletonTest.<strong>class</strong>,
+<a name="76" href="#76">76</a>                  <span class="string">"testFirstInstance"</span>));
+<a name="77" href="#77">77</a>          suite.addTest(TestSuite.createTest(SimpleSingletonTest.<strong>class</strong>,
+<a name="78" href="#78">78</a>                  <span class="string">"testSecondInstance"</span>));
+<a name="79" href="#79">79</a>          <strong>return</strong> suite;
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>  <em class="comment">/*</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * following conditions are met:</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * </em>
+<a name="95" href="#95">95</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * </em>
+<a name="99" href="#99">99</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="100" href="#100">100</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="101" href="#101">101</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="102" href="#102">102</a> <em class="comment"> * </em>
+<a name="103" href="#103">103</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="104" href="#104">104</a> <em class="comment"> * </em>
+<a name="105" href="#105">105</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="106" href="#106">106</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="108" href="#108">108</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="109" href="#109">109</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="110" href="#110">110</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="111" href="#111">111</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="112" href="#112">112</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="113" href="#113">113</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="114" href="#114">114</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="115" href="#115">115</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="116" href="#116">116</a> <em class="comment"> * </em>
+<a name="117" href="#117">117</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="118" href="#118">118</a> <em class="comment"> */</em>
+<a name="119" href="#119">119</a> 
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/util/package-frame.html b/docs/xref-test/org/dom4j/util/package-frame.html
new file mode 100644
index 0000000..6e9ce54
--- /dev/null
+++ b/docs/xref-test/org/dom4j/util/package-frame.html
@@ -0,0 +1,31 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.util</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.util</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="PerThreadSingletonTest.html" target="classFrame">PerThreadSingletonTest</a>
+          </li>
+        
+          <li>
+            <a href="SimpleSingletonTest.html" target="classFrame">SimpleSingletonTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/util/package-summary.html b/docs/xref-test/org/dom4j/util/package-summary.html
new file mode 100644
index 0000000..ef6fe96
--- /dev/null
+++ b/docs/xref-test/org/dom4j/util/package-summary.html
@@ -0,0 +1,108 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.util</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="PerThreadSingletonTest.html" target="classFrame">PerThreadSingletonTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SimpleSingletonTest.html" target="classFrame">SimpleSingletonTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/org/dom4j/xpath/AttributeTest.html b/docs/xref-test/org/dom4j/xpath/AttributeTest.html
new file mode 100644
index 0000000..33def34
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/AttributeTest.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AttributeTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * Test harness for the attribute axis</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/AttributeTest.html">AttributeTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="27" href="#27">27</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {<span class="string">"attribute::*"</span>,
+<a name="28" href="#28">28</a>              <span class="string">"/root/author/attribute::*"</span>, <span class="string">"//attribute::*"</span>, <span class="string">"@name"</span>};
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="31" href="#31">31</a>          TestRunner.run(AttributeTest.<strong>class</strong>);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em class="comment">// Test case(s)</em>
+<a name="35" href="#35">35</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="37" href="#37">37</a>          <strong>int</strong> size = paths.length;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="40" href="#40">40</a>              testXPath(paths[i]);
+<a name="41" href="#41">41</a>          }
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em class="comment">// Implementation methods</em>
+<a name="45" href="#45">45</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="46" href="#46">46</a>      <strong>protected</strong> <strong>void</strong> testXPath(String xpathText) {
+<a name="47" href="#47">47</a>          XPath xpath = DocumentHelper.createXPath(xpathText);
+<a name="48" href="#48">48</a>          List list = xpath.selectNodes(document);
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          log(<span class="string">"Searched path: "</span> + xpathText + <span class="string">" found: "</span> + list.size()
+<a name="51" href="#51">51</a>                  + <span class="string">" result(s)"</span>);
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="54" href="#54">54</a>              Object object = iter.next();
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>              log(<span class="string">"Found Result: "</span> + object);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>              assertTrue(<span class="string">"Results should be Attribute objects"</span>,
+<a name="59" href="#59">59</a>                      object instanceof Attribute);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>              Attribute attribute = (Attribute) object;
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>              assertTrue(<span class="string">"Results should support the parent relationship"</span>,
+<a name="64" href="#64">64</a>                      attribute.supportsParent());
+<a name="65" href="#65">65</a>              assertTrue(
+<a name="66" href="#66">66</a>                      <span class="string">"Results should contain reference to the parent element"</span>,
+<a name="67" href="#67">67</a>                      attribute.getParent() != <strong>null</strong>);
+<a name="68" href="#68">68</a>              assertTrue(<span class="string">"Resulting document not correct"</span>, attribute
+<a name="69" href="#69">69</a>                      .getDocument() != <strong>null</strong>);
+<a name="70" href="#70">70</a>          }
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>  <em class="comment">/*</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * following conditions are met:</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * </em>
+<a name="94" href="#94">94</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="101" href="#101">101</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="102" href="#102">102</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="103" href="#103">103</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="104" href="#104">104</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="105" href="#105">105</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="106" href="#106">106</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="107" href="#107">107</a> <em class="comment"> * </em>
+<a name="108" href="#108">108</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="109" href="#109">109</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/BadPathTest.html b/docs/xref-test/org/dom4j/xpath/BadPathTest.html
new file mode 100644
index 0000000..423c096
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/BadPathTest.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BadPathTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * Tests bad XPath expressions</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/BadPathTest.html">BadPathTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="22" href="#22">22</a>      <strong>private</strong> String[] paths = {<span class="string">"+"</span>, <span class="string">"/foo/bar/"</span>};
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="25" href="#25">25</a>          TestRunner.run(BadPathTest.<strong>class</strong>);
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em class="comment">// Test case(s)</em>
+<a name="29" href="#29">29</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>void</strong> testBadPaths() throws Exception {
+<a name="31" href="#31">31</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = paths.length; i < size; i++) {
+<a name="32" href="#32">32</a>              String path = paths[i];
+<a name="33" href="#33">33</a>              testBadPath(path);
+<a name="34" href="#34">34</a>          }
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>protected</strong> <strong>void</strong> testBadPath(String path) throws Exception {
+<a name="38" href="#38">38</a>          <strong>try</strong> {
+<a name="39" href="#39">39</a>              document.selectObject(path);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>              fail(<span class="string">"Should have thrown exception for: "</span> + path);
+<a name="42" href="#42">42</a>          } <strong>catch</strong> (Exception e) {
+<a name="43" href="#43">43</a>              log(<span class="string">"Successfully caught: "</span> + e);
+<a name="44" href="#44">44</a>          }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          <strong>try</strong> {
+<a name="47" href="#47">47</a>              XPath xpath = document.createXPath(path);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>              fail(<span class="string">"Should have thrown exception for: "</span> + path);
+<a name="50" href="#50">50</a>          } <strong>catch</strong> (Exception e) {
+<a name="51" href="#51">51</a>              log(<span class="string">"Successfully caught: "</span> + e);
+<a name="52" href="#52">52</a>          }
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>  <em class="comment">/*</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * following conditions are met:</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="91" href="#91">91</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/BooleanTest.html b/docs/xref-test/org/dom4j/xpath/BooleanTest.html
new file mode 100644
index 0000000..4534d72
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/BooleanTest.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BooleanTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Node;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * Test harness for the boolean expressions</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/BooleanTest.html">BooleanTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="27" href="#27">27</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {<span class="string">".[name()='author']"</span>,
+<a name="28" href="#28">28</a>              <span class="string">".[.='James Strachan']"</span>, <span class="string">".[name()='XXXX']"</span>, <span class="string">".[.='XXXX']"</span>,
+<a name="29" href="#29">29</a>              <span class="string">"name()='author'"</span>, <span class="string">"name()='XXXX'"</span>, <span class="string">".='James Strachan'"</span>,
+<a name="30" href="#30">30</a>              <span class="string">".='XXXX'"</span>};
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="33" href="#33">33</a>          TestRunner.run(BooleanTest.<strong>class</strong>);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em class="comment">// Test case(s)</em>
+<a name="37" href="#37">37</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="38" href="#38">38</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="39" href="#39">39</a>          <strong>int</strong> size = paths.length;
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="42" href="#42">42</a>              testXPath(paths[i]);
+<a name="43" href="#43">43</a>          }
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em class="comment">// Implementation methods</em>
+<a name="47" href="#47">47</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="48" href="#48">48</a>      <strong>protected</strong> <strong>void</strong> testXPath(String xpathExpression) {
+<a name="49" href="#49">49</a>          XPath xpath = DocumentHelper.createXPath(xpathExpression);
+<a name="50" href="#50">50</a>          assertTrue(<span class="string">"No xpath object was created"</span>, xpath != <strong>null</strong>);
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          log(<span class="string">"Evaluating xpath: "</span> + xpath);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          List list = document.selectNodes(<span class="string">"//author"</span>);
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="57" href="#57">57</a>              Node node = (Node) iter.next();
+<a name="58" href="#58">58</a>              testXPath(node, xpath);
+<a name="59" href="#59">59</a>          }
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>protected</strong> <strong>void</strong> testXPath(Node node, XPath xpath) {
+<a name="63" href="#63">63</a>          List list = xpath.selectNodes(node);
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>  <em class="comment">/*</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * following conditions are met:</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="102" href="#102">102</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/FilterTest.html b/docs/xref-test/org/dom4j/xpath/FilterTest.html
new file mode 100644
index 0000000..9adc94e
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/FilterTest.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FilterTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Node;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.NodeFilter;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * Test harness for XPath filters</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/FilterTest.html">FilterTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="27" href="#27">27</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {<span class="string">".[name()='author']"</span>,
+<a name="28" href="#28">28</a>              <span class="string">".[name()='XXXX']"</span>, <span class="string">".[.='James Strachan']"</span>, <span class="string">".[.='XXXX']"</span>};
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="31" href="#31">31</a>          TestRunner.run(FilterTest.<strong>class</strong>);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em class="comment">// Test case(s)</em>
+<a name="35" href="#35">35</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="37" href="#37">37</a>          <strong>int</strong> size = paths.length;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="40" href="#40">40</a>              testXPath(paths[i]);
+<a name="41" href="#41">41</a>          }
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em class="comment">// Implementation methods</em>
+<a name="45" href="#45">45</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="46" href="#46">46</a>      <strong>protected</strong> <strong>void</strong> testXPath(String xpathExpression) {
+<a name="47" href="#47">47</a>          NodeFilter nodeFilter = DocumentHelper
+<a name="48" href="#48">48</a>                  .createXPathFilter(xpathExpression);
+<a name="49" href="#49">49</a>          assertTrue(<span class="string">"No NodeFilter object was created"</span>, nodeFilter != <strong>null</strong>);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          List list = document.selectNodes(<span class="string">"//author"</span>);
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="54" href="#54">54</a>              Node node = (Node) iter.next();
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>              <strong>if</strong> (nodeFilter.matches(node)) {
+<a name="57" href="#57">57</a>                  log(<span class="string">"Matches node: "</span> + node.asXML());
+<a name="58" href="#58">58</a>              } <strong>else</strong> {
+<a name="59" href="#59">59</a>                  log(<span class="string">"No match for node: "</span> + node.asXML());
+<a name="60" href="#60">60</a>              }
+<a name="61" href="#61">61</a>          }
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>  <em class="comment">/*</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * following conditions are met:</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * </em>
+<a name="99" href="#99">99</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="100" href="#100">100</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/GetPathTest.html b/docs/xref-test/org/dom4j/xpath/GetPathTest.html
new file mode 100644
index 0000000..19e4f5a
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/GetPathTest.html
@@ -0,0 +1,217 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>GetPathTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Document;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.Element;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Node;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.QName;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>  <em>/**<em>*</em></em>
+<a name="26" href="#26">26</a>  <em> * Test harness for the GetPath() method</em>
+<a name="27" href="#27">27</a>  <em> * </em>
+<a name="28" href="#28">28</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="29" href="#29">29</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="30" href="#30">30</a>  <em> */</em>
+<a name="31" href="#31">31</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/GetPathTest.html">GetPathTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="33" href="#33">33</a>          TestRunner.run(GetPathTest.<strong>class</strong>);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em class="comment">// Test case(s)</em>
+<a name="37" href="#37">37</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="38" href="#38">38</a>      <strong>public</strong> <strong>void</strong> testGetPath() throws Exception {
+<a name="39" href="#39">39</a>          log(<span class="string">"Testing paths"</span>);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          <em class="comment">// testBranchPath( document );</em>
+<a name="42" href="#42">42</a>          testPath(document, <span class="string">"/"</span>);
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>          Element root = document.getRootElement();
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          testPath(root, <span class="string">"/root"</span>);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          List elements = root.elements();
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          testPath((Node) elements.get(0), <span class="string">"/root/author"</span>, <span class="string">"/root/author[1]"</span>);
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = elements.size(); i < size; i++) {
+<a name="53" href="#53">53</a>              String path = <span class="string">"/root/author"</span>;
+<a name="54" href="#54">54</a>              String uniquePath = <span class="string">"/root/author"</span>;
+<a name="55" href="#55">55</a>              String pathRel = <span class="string">"author"</span>;
+<a name="56" href="#56">56</a>              String uniquePathRel = <span class="string">"author"</span>;
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>              <strong>if</strong> (size > 1) {
+<a name="59" href="#59">59</a>                  uniquePath = <span class="string">"/root/author["</span> + (i + 1) + <span class="string">"]"</span>;
+<a name="60" href="#60">60</a>                  uniquePathRel = <span class="string">"author["</span> + (i + 1) + <span class="string">"]"</span>;
+<a name="61" href="#61">61</a>              }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>              Element element = (Element) elements.get(i);
+<a name="64" href="#64">64</a>              testPath(element, path, uniquePath);
+<a name="65" href="#65">65</a>              testRelativePath(root, element, pathRel, uniquePathRel);
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>              Attribute attribute = element.attribute(<span class="string">"name"</span>);
+<a name="68" href="#68">68</a>              testPath(attribute, path + <span class="string">"/@name"</span>, uniquePath + <span class="string">"/@name"</span>);
+<a name="69" href="#69">69</a>              testRelativePath(root, attribute, pathRel + <span class="string">"/@name"</span>, uniquePathRel
+<a name="70" href="#70">70</a>                      + <span class="string">"/@name"</span>);
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>              Element child = element.element(<span class="string">"url"</span>);
+<a name="73" href="#73">73</a>              testPath(child, path + <span class="string">"/url"</span>, uniquePath + <span class="string">"/url"</span>);
+<a name="74" href="#74">74</a>              testRelativePath(root, child, pathRel + <span class="string">"/url"</span>, uniquePathRel
+<a name="75" href="#75">75</a>                      + <span class="string">"/url"</span>);
+<a name="76" href="#76">76</a>          }
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <strong>public</strong> <strong>void</strong> testDefaultNamespace() throws Exception {
+<a name="80" href="#80">80</a>          Document doc = getDocument(<span class="string">"/xml/test/defaultNamespace.xml"</span>);
+<a name="81" href="#81">81</a>          Element root = doc.getRootElement();
+<a name="82" href="#82">82</a>          testPath(root, <span class="string">"/*[name()='a']"</span>);
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          Element child = (Element) root.elements().get(0);
+<a name="85" href="#85">85</a>          testPath(child, <span class="string">"/*[name()='a']/*[name()='b']"</span>);
+<a name="86" href="#86">86</a>          testRelativePath(root, child, <span class="string">"*[name()='b']"</span>);
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> <strong>void</strong> testBug770410() {
+<a name="90" href="#90">90</a>          Document doc = DocumentHelper.createDocument();
+<a name="91" href="#91">91</a>          Element a = doc.addElement(<span class="string">"a"</span>);
+<a name="92" href="#92">92</a>          Element b = a.addElement(<span class="string">"b"</span>);
+<a name="93" href="#93">93</a>          Element c = b.addElement(<span class="string">"c"</span>);
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>          b.detach();
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>          String relativePath = b.getPath(b);
+<a name="98" href="#98">98</a>          assertSame(b, b.selectSingleNode(relativePath));
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> <strong>void</strong> testBug569927() {
+<a name="102" href="#102">102</a>         Document doc = DocumentHelper.createDocument();
+<a name="103" href="#103">103</a>         QName elName = DocumentFactory.getInstance().createQName(<span class="string">"a"</span>, <span class="string">"ns"</span>,
+<a name="104" href="#104">104</a>                 <span class="string">"uri://myuri"</span>);
+<a name="105" href="#105">105</a>         Element a = doc.addElement(elName);
+<a name="106" href="#106">106</a>         QName attName = DocumentFactory.getInstance().createQName(<span class="string">"attribute"</span>,
+<a name="107" href="#107">107</a>                 <span class="string">"ns"</span>, <span class="string">"uri://myuri"</span>);
+<a name="108" href="#108">108</a>         a = a.addAttribute(attName, <span class="string">"test"</span>);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         Attribute att = a.attribute(attName);
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         assertSame(att, doc.selectSingleNode(att.getPath()));
+<a name="113" href="#113">113</a>         assertSame(att, doc.selectSingleNode(att.getUniquePath()));
+<a name="114" href="#114">114</a>     }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>     <strong>protected</strong> <strong>void</strong> testPath(Node node, String value) {
+<a name="117" href="#117">117</a>         testPath(node, value, value);
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <strong>protected</strong> <strong>void</strong> testPath(Node node, String path, String uniquePath) {
+<a name="121" href="#121">121</a>         assertEquals(<span class="string">"getPath expression should be what is expected"</span>, path,
+<a name="122" href="#122">122</a>                 node.getPath());
+<a name="123" href="#123">123</a>         assertEquals(<span class="string">"getUniquePath expression should be what is expected"</span>,
+<a name="124" href="#124">124</a>                 uniquePath, node.getUniquePath());
+<a name="125" href="#125">125</a>     }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>     <strong>protected</strong> <strong>void</strong> testRelativePath(Element context, Node node, String path) {
+<a name="128" href="#128">128</a>         testRelativePath(context, node, path, path);
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>protected</strong> <strong>void</strong> testRelativePath(Element context, Node node, String pathRel,
+<a name="132" href="#132">132</a>             String uniquePathRel) {
+<a name="133" href="#133">133</a>         assertEquals(<span class="string">"relative getPath expression should be what is expected"</span>,
+<a name="134" href="#134">134</a>                 pathRel, node.getPath(context));
+<a name="135" href="#135">135</a>         assertEquals(<span class="string">"relative getUniquePath expression not correct"</span>,
+<a name="136" href="#136">136</a>                 uniquePathRel, node.getUniquePath(context));
+<a name="137" href="#137">137</a>     }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>     <strong>protected</strong> <strong>void</strong> testBranchPath(Branch branch) {
+<a name="140" href="#140">140</a>         testNodePath(branch);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>         <strong>if</strong> (branch instanceof Element) {
+<a name="143" href="#143">143</a>             Element element = (Element) branch;
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>             <strong>for</strong> (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+<a name="146" href="#146">146</a>                 Node node = (Node) iter.next();
+<a name="147" href="#147">147</a>                 testNodePath(node);
+<a name="148" href="#148">148</a>             }
+<a name="149" href="#149">149</a>         }
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>         <strong>for</strong> (Iterator iter = branch.nodeIterator(); iter.hasNext();) {
+<a name="152" href="#152">152</a>             Node node = (Node) iter.next();
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>             <strong>if</strong> (node instanceof Branch) {
+<a name="155" href="#155">155</a>                 testBranchPath((Branch) node);
+<a name="156" href="#156">156</a>             } <strong>else</strong> {
+<a name="157" href="#157">157</a>                 testNodePath(node);
+<a name="158" href="#158">158</a>             }
+<a name="159" href="#159">159</a>         }
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <strong>protected</strong> <strong>void</strong> testNodePath(Node node) {
+<a name="163" href="#163">163</a>         String path = node.getPath();
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>         log(<span class="string">"Path: "</span> + path + <span class="string">" node: "</span> + node);
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a> <em class="comment">/*</em>
+<a name="170" href="#170">170</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="171" href="#171">171</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="172" href="#172">172</a> <em class="comment"> * following conditions are met:</em>
+<a name="173" href="#173">173</a> <em class="comment"> * </em>
+<a name="174" href="#174">174</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="175" href="#175">175</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="176" href="#176">176</a> <em class="comment"> * </em>
+<a name="177" href="#177">177</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="178" href="#178">178</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="179" href="#179">179</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="180" href="#180">180</a> <em class="comment"> * </em>
+<a name="181" href="#181">181</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="182" href="#182">182</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="183" href="#183">183</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="184" href="#184">184</a> <em class="comment"> * </em>
+<a name="185" href="#185">185</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="186" href="#186">186</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="187" href="#187">187</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="188" href="#188">188</a> <em class="comment"> * </em>
+<a name="189" href="#189">189</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="190" href="#190">190</a> <em class="comment"> * </em>
+<a name="191" href="#191">191</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="192" href="#192">192</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="193" href="#193">193</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="194" href="#194">194</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="195" href="#195">195</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="196" href="#196">196</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="197" href="#197">197</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="198" href="#198">198</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="199" href="#199">199</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="200" href="#200">200</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="201" href="#201">201</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="202" href="#202">202</a> <em class="comment"> * </em>
+<a name="203" href="#203">203</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="204" href="#204">204</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/MatrixConcatTest.html b/docs/xref-test/org/dom4j/xpath/MatrixConcatTest.html
new file mode 100644
index 0000000..2bce859
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/MatrixConcatTest.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>MatrixConcatTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * Test harness for the matrix-concat extension function</em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/MatrixConcatTest.html">MatrixConcatTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="26" href="#26">26</a>          TestRunner.run(MatrixConcatTest.<strong>class</strong>);
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em class="comment">// Test case(s)</em>
+<a name="30" href="#30">30</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>void</strong> testMatrixConcat() throws Exception {
+<a name="32" href="#32">32</a>          String[] exp1 = {<span class="string">"EQUITY_CF1"</span>, <span class="string">"EQUITY_CF2"</span>, <span class="string">"EQUITY_CF3"</span>};
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>          String[] exp2 = {<span class="string">"EQUITY_BAR_CF1"</span>, <span class="string">"EQUITY_BAR_CF2"</span>, <span class="string">"EQUITY_BAR_CF3"</span>};
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          testMatrixConcat(<span class="string">"'EQUITY_',/product/cashflows/CashFlow/XREF"</span>, exp1);
+<a name="37" href="#37">37</a>          testMatrixConcat(<span class="string">"'EQUITY_','BAR_',/product/cashflows/CashFlow/XREF"</span>,
+<a name="38" href="#38">38</a>                  exp2);
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em class="comment">// Implementation methods</em>
+<a name="42" href="#42">42</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>void</strong> testMatrixConcat(String path, String[] results)
+<a name="44" href="#44">44</a>              throws Exception {
+<a name="45" href="#45">45</a>          log(<span class="string">"Using XPath: "</span> + path);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          List list = document.selectNodes(<span class="string">"matrix-concat("</span> + path + <span class="string">")"</span>);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          log(<span class="string">"Found: "</span> + list);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          <em class="comment">// Object object = list.get(0);</em>
+<a name="52" href="#52">52</a>          <em class="comment">// log( "(0) = " + object + " type: " + object.getClass() );</em>
+<a name="53" href="#53">53</a>          <strong>int</strong> size = results.length;
+<a name="54" href="#54">54</a>          assertTrue(<span class="string">"List should contain "</span> + size + <span class="string">" results: "</span> + list, list
+<a name="55" href="#55">55</a>                  .size() == size);
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="58" href="#58">58</a>              assertEquals(list.get(i), results[i]);
+<a name="59" href="#59">59</a>          }
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="63" href="#63">63</a>          <strong>super</strong>.setUp();
+<a name="64" href="#64">64</a>          document = <strong>new</strong> SAXReader().read(<strong>new</strong> File(<span class="string">"xml/test/product.xml"</span>));
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>  <em class="comment">/*</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * following conditions are met:</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="103" href="#103">103</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/NamespaceTest.html b/docs/xref-test/org/dom4j/xpath/NamespaceTest.html
new file mode 100644
index 0000000..6b5c5dd
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/NamespaceTest.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NamespaceTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Iterator;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.List;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em> * Test harness for the namespace axis</em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/NamespaceTest.html">NamespaceTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="29" href="#29">29</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {<span class="string">"namespace::*"</span>,
+<a name="30" href="#30">30</a>              <span class="string">"/Template/Application1/namespace::*"</span>,
+<a name="31" href="#31">31</a>              <span class="string">"/Template/Application1/namespace::xplt"</span>, <span class="string">"//namespace::*"</span>};
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="34" href="#34">34</a>          TestRunner.run(NamespaceTest.<strong>class</strong>);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em class="comment">// Test case(s)</em>
+<a name="38" href="#38">38</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="40" href="#40">40</a>          <strong>int</strong> size = paths.length;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="43" href="#43">43</a>              testXPath(paths[i]);
+<a name="44" href="#44">44</a>          }
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <em class="comment">// Implementation methods</em>
+<a name="48" href="#48">48</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="49" href="#49">49</a>      <strong>protected</strong> <strong>void</strong> testXPath(String xpathText) {
+<a name="50" href="#50">50</a>          XPath xpath = DocumentHelper.createXPath(xpathText);
+<a name="51" href="#51">51</a>          List list = xpath.selectNodes(document);
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          log(<span class="string">"Searched path: "</span> + xpathText + <span class="string">" found: "</span> + list.size()
+<a name="54" href="#54">54</a>                  + <span class="string">" result(s)"</span>);
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="57" href="#57">57</a>              Object object = iter.next();
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>              log(<span class="string">"Found Result: "</span> + object);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>              assertTrue(<span class="string">"Results should be Namespace objects"</span>,
+<a name="62" href="#62">62</a>                      object instanceof Namespace);
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>              Namespace namespace = (Namespace) object;
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>              log(<span class="string">"Parent node: "</span> + namespace.getParent());
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>              assertTrue(<span class="string">"Results should support the parent relationship"</span>,
+<a name="69" href="#69">69</a>                      namespace.supportsParent());
+<a name="70" href="#70">70</a>              assertTrue(
+<a name="71" href="#71">71</a>                      <span class="string">"Results should contain reference to the parent element"</span>,
+<a name="72" href="#72">72</a>                      namespace.getParent() != <strong>null</strong>);
+<a name="73" href="#73">73</a>              assertTrue(<span class="string">"Results should contain reference to the document"</span>,
+<a name="74" href="#74">74</a>                      namespace.getDocument() != <strong>null</strong>);
+<a name="75" href="#75">75</a>          }
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="79" href="#79">79</a>          <strong>super</strong>.setUp();
+<a name="80" href="#80">80</a>          document = <strong>new</strong> SAXReader().read(<strong>new</strong> File(<span class="string">"xml/testNamespaces.xml"</span>));
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>  <em class="comment">/*</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * following conditions are met:</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * </em>
+<a name="92" href="#92">92</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * </em>
+<a name="100" href="#100">100</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="101" href="#101">101</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="102" href="#102">102</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="105" href="#105">105</a> <em class="comment"> * </em>
+<a name="106" href="#106">106</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="107" href="#107">107</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="108" href="#108">108</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="109" href="#109">109</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="110" href="#110">110</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="111" href="#111">111</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="112" href="#112">112</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="113" href="#113">113</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="114" href="#114">114</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="115" href="#115">115</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="116" href="#116">116</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="117" href="#117">117</a> <em class="comment"> * </em>
+<a name="118" href="#118">118</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="119" href="#119">119</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/NumberTest.html b/docs/xref-test/org/dom4j/xpath/NumberTest.html
new file mode 100644
index 0000000..fb288a4
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/NumberTest.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NumberTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Node;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * Test harness for numeric XPath expressions</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/NumberTest.html">NumberTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="23" href="#23">23</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {<span class="string">"2+2"</span>, <span class="string">"2 + 2"</span>, <span class="string">"2 + number(1) + 2"</span>,
+<a name="24" href="#24">24</a>              <span class="string">"number(1) * 2"</span>, <span class="string">"2 + count(//author) + 2"</span>, <span class="string">"2 + (2 * 5)"</span>,
+<a name="25" href="#25">25</a>              <span class="string">"count(//author) + count(//author/attribute::*)"</span>,
+<a name="26" href="#26">26</a>              <span class="string">"(12 + count(//author) + count(//author/attribute::*)) div 2"</span>,
+<a name="27" href="#27">27</a>              <span class="string">"count(//author)"</span>, <span class="string">"count(//author/attribute::*)"</span>,
+<a name="28" href="#28">28</a>              <span class="string">"2 + number(1) * 2"</span>, <span class="string">"count(descendant::author)"</span>,
+<a name="29" href="#29">29</a>              <span class="string">"count(ancestor::author)"</span>, <span class="string">"count(descendant::*)"</span>,
+<a name="30" href="#30">30</a>              <span class="string">"count(descendant::author)+1"</span>, <span class="string">"count(ancestor::*)"</span>,
+<a name="31" href="#31">31</a>              <span class="string">"10 + count(ancestor-or-self::author) + 5"</span>,
+<a name="32" href="#32">32</a>              <span class="string">"10 + count(descendant::author) * 5"</span>,
+<a name="33" href="#33">33</a>              <span class="string">"10 + (count(descendant::author) * 5)"</span>};
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="36" href="#36">36</a>          TestRunner.run(NumberTest.<strong>class</strong>);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em class="comment">// Test case(s)</em>
+<a name="40" href="#40">40</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="41" href="#41">41</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="42" href="#42">42</a>          Node element = document.selectSingleNode(<span class="string">"//author"</span>);
+<a name="43" href="#43">43</a>          <strong>int</strong> size = paths.length;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="46" href="#46">46</a>              testXPath(document, paths[i]);
+<a name="47" href="#47">47</a>              testXPath(element, paths[i]);
+<a name="48" href="#48">48</a>          }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          log(<span class="string">"Finished successfully"</span>);
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <em class="comment">// Implementation methods</em>
+<a name="54" href="#54">54</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="55" href="#55">55</a>      <strong>protected</strong> <strong>void</strong> testXPath(Node node, String xpathText) throws Exception {
+<a name="56" href="#56">56</a>          <strong>try</strong> {
+<a name="57" href="#57">57</a>              XPath xpath = node.createXPath(xpathText);
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>              Number number = xpath.numberValueOf(node);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>              log(<span class="string">"Searched path: "</span> + xpathText + <span class="string">" found: "</span> + number);
+<a name="62" href="#62">62</a>          } <strong>catch</strong> (Throwable e) {
+<a name="63" href="#63">63</a>              log(<span class="string">"Caught exception: "</span> + e);
+<a name="64" href="#64">64</a>              e.printStackTrace();
+<a name="65" href="#65">65</a>              assertTrue(<span class="string">"Failed to process:  "</span> + xpathText
+<a name="66" href="#66">66</a>                      + <span class="string">" caught exception: "</span> + e, false);
+<a name="67" href="#67">67</a>          }
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>  <em class="comment">/*</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * following conditions are met:</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="100" href="#100">100</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="101" href="#101">101</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="102" href="#102">102</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="103" href="#103">103</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="104" href="#104">104</a> <em class="comment"> * </em>
+<a name="105" href="#105">105</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="106" href="#106">106</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/ObjectTest.html b/docs/xref-test/org/dom4j/xpath/ObjectTest.html
new file mode 100644
index 0000000..2bd3536
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/ObjectTest.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ObjectTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Node;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * Test harness for numeric XPath expressions</em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/ObjectTest.html">ObjectTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="23" href="#23">23</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {<span class="string">"name(/.)"</span>, <span class="string">"name()"</span>};
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="26" href="#26">26</a>          TestRunner.run(ObjectTest.<strong>class</strong>);
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em class="comment">// Test case(s)</em>
+<a name="30" href="#30">30</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="32" href="#32">32</a>          Node element = document.selectSingleNode(<span class="string">"//author"</span>);
+<a name="33" href="#33">33</a>          <strong>int</strong> size = paths.length;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="36" href="#36">36</a>              testXPath(document, paths[i]);
+<a name="37" href="#37">37</a>              testXPath(element, paths[i]);
+<a name="38" href="#38">38</a>          }
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em class="comment">// Implementation methods</em>
+<a name="42" href="#42">42</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>void</strong> testXPath(Node node, String xpathText) {
+<a name="44" href="#44">44</a>          XPath xpath = node.createXPath(xpathText);
+<a name="45" href="#45">45</a>          Object object = xpath.evaluate(node);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>  <em class="comment">/*</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * following conditions are met:</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * </em>
+<a name="65" href="#65">65</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * </em>
+<a name="69" href="#69">69</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/PrefixTest.html b/docs/xref-test/org/dom4j/xpath/PrefixTest.html
new file mode 100644
index 0000000..09e7858
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/PrefixTest.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PrefixTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.jaxen.SimpleNamespaceContext;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em> * Tests finding items using a namespace prefix</em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/PrefixTest.html">PrefixTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="29" href="#29">29</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {<span class="string">"//xplt:anyElement"</span>, <span class="string">"//xpl:insertText"</span>,
+<a name="30" href="#30">30</a>              <span class="string">"/Template/Application1/xpl:insertText"</span>,
+<a name="31" href="#31">31</a>              <span class="string">"/Template/Application2/xpl:insertText"</span>};
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="34" href="#34">34</a>          TestRunner.run(PrefixTest.<strong>class</strong>);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em class="comment">// Test case(s)</em>
+<a name="38" href="#38">38</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="40" href="#40">40</a>          <strong>int</strong> size = paths.length;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="43" href="#43">43</a>              testXPath(paths[i]);
+<a name="44" href="#44">44</a>          }
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <em class="comment">// Implementation methods</em>
+<a name="48" href="#48">48</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="49" href="#49">49</a>      <strong>protected</strong> <strong>void</strong> testXPath(String xpathText) {
+<a name="50" href="#50">50</a>          XPath xpath = DocumentHelper.createXPath(xpathText);
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          SimpleNamespaceContext context = <strong>new</strong> SimpleNamespaceContext();
+<a name="53" href="#53">53</a>          context.addNamespace(<span class="string">"xplt"</span>, <span class="string">"www.xxxx.com"</span>);
+<a name="54" href="#54">54</a>          context.addNamespace(<span class="string">"xpl"</span>, <span class="string">"www.xxxx.com"</span>);
+<a name="55" href="#55">55</a>          xpath.setNamespaceContext(context);
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          List list = xpath.selectNodes(document);
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          log(<span class="string">"Searched path: "</span> + xpathText + <span class="string">" found: "</span> + list.size()
+<a name="60" href="#60">60</a>                  + <span class="string">" result(s)"</span>);
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>          assertTrue(<span class="string">"Should have found at lest one result"</span>, list.size() > 0);
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="66" href="#66">66</a>          <strong>super</strong>.setUp();
+<a name="67" href="#67">67</a>          document = <strong>new</strong> SAXReader().read(<strong>new</strong> File(<span class="string">"xml/testNamespaces.xml"</span>));
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>  <em class="comment">/*</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * following conditions are met:</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="100" href="#100">100</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="101" href="#101">101</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="102" href="#102">102</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="103" href="#103">103</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="104" href="#104">104</a> <em class="comment"> * </em>
+<a name="105" href="#105">105</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="106" href="#106">106</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/SelectSingleNodeTest.html b/docs/xref-test/org/dom4j/xpath/SelectSingleNodeTest.html
new file mode 100644
index 0000000..3fdb494
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/SelectSingleNodeTest.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SelectSingleNodeTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Document;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Element;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Node;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * Tests the selectSingleNode method</em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/SelectSingleNodeTest.html">SelectSingleNodeTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="25" href="#25">25</a>          TestRunner.run(SelectSingleNodeTest.<strong>class</strong>);
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em class="comment">// Test case(s)</em>
+<a name="29" href="#29">29</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>void</strong> testSelectSingleNode() throws Exception {
+<a name="31" href="#31">31</a>          Document document = getDocument(<span class="string">"/xml/test/jimBrain.xml"</span>);
+<a name="32" href="#32">32</a>          Node node = document.selectSingleNode(<span class="string">"/properties/client/threadsafe"</span>);
+<a name="33" href="#33">33</a>          assertTrue(<span class="string">"Found a valid node"</span>, node != <strong>null</strong>);
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          Element server = (Element) document
+<a name="36" href="#36">36</a>                  .selectSingleNode(<span class="string">"/properties/server"</span>);
+<a name="37" href="#37">37</a>          assertTrue(<span class="string">"Found a valid server"</span>, server != <strong>null</strong>);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          Element root = document.getRootElement();
+<a name="40" href="#40">40</a>          server = (Element) root.selectSingleNode(<span class="string">"/properties/server"</span>);
+<a name="41" href="#41">41</a>          assertTrue(<span class="string">"Found a valid server"</span>, server != <strong>null</strong>);
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          <em class="comment">// try finding it via a relative path</em>
+<a name="44" href="#44">44</a>          server = (Element) document.selectSingleNode(<span class="string">"properties/server"</span>);
+<a name="45" href="#45">45</a>          assertTrue(<span class="string">"Found a valid server"</span>, server != <strong>null</strong>);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          <em class="comment">// now lets use a relative path</em>
+<a name="48" href="#48">48</a>          Element connection = (Element) server.selectSingleNode(<span class="string">"db/connection"</span>);
+<a name="49" href="#49">49</a>          assertTrue(<span class="string">"Found a valid connection"</span>, connection != <strong>null</strong>);
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <em>/**<em>*</em></em>
+<a name="53" href="#53">53</a>  <em>     * Test out Steen's bug</em>
+<a name="54" href="#54">54</a>  <em>     * </em>
+<a name="55" href="#55">55</a>  <em>     * @throws Exception</em>
+<a name="56" href="#56">56</a>  <em>     *             DOCUMENT ME!</em>
+<a name="57" href="#57">57</a>  <em>     */</em>
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> testSteensBug() throws Exception {
+<a name="59" href="#59">59</a>          Document document = getDocument(<span class="string">"/xml/schema/personal.xsd"</span>);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          String xpath = <span class="string">"/xs:schema/xs:element[@name='person']"</span>;
+<a name="62" href="#62">62</a>          assertNotNull(<span class="string">"element is null"</span>, document.selectSingleNode(xpath));
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          Element root = document.getRootElement();
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          assertNotNull(<span class="string">"element is null"</span>, root.selectSingleNode(xpath));
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>  <em class="comment">/*</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * following conditions are met:</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="91" href="#91">91</a>  <em class="comment"> * </em>
+<a name="92" href="#92">92</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="100" href="#100">100</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="105" href="#105">105</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/SortByTest.html b/docs/xref-test/org/dom4j/xpath/SortByTest.html
new file mode 100644
index 0000000..c9dac7c
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/SortByTest.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SortByTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * Test harness for the sorting version of the selectNodes() function</em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/SortByTest.html">SortByTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="26" href="#26">26</a>          TestRunner.run(SortByTest.<strong>class</strong>);
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em class="comment">// Test case(s)</em>
+<a name="30" href="#30">30</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="32" href="#32">32</a>          List list = document.selectNodes(<span class="string">"//SPEAKER"</span>, <span class="string">"NAME"</span>);
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>          log(<span class="string">"Number of SPEAKER instances: "</span> + list.size());
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          List noDuplicates = document.selectNodes(<span class="string">"//SPEAKER"</span>, <span class="string">"."</span>, <strong>true</strong>);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          log(<span class="string">"Number of distinct SPEAKER instances: "</span> + noDuplicates.size());
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          log(<span class="string">"Number of distinct SPEAKER instances: "</span> + noDuplicates.size());
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="44" href="#44">44</a>          <strong>super</strong>.setUp();
+<a name="45" href="#45">45</a>          document = <strong>new</strong> SAXReader().read(<strong>new</strong> File(<span class="string">"xml/much_ado.xml"</span>));
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>  <em class="comment">/*</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * following conditions are met:</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * </em>
+<a name="65" href="#65">65</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * </em>
+<a name="69" href="#69">69</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/SubstringTest.html b/docs/xref-test/org/dom4j/xpath/SubstringTest.html
new file mode 100644
index 0000000..6094efa
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/SubstringTest.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SubstringTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Element;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * Test harness for the substring function</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/SubstringTest.html">SubstringTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="26" href="#26">26</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="27" href="#27">27</a>          TestRunner.run(SubstringTest.<strong>class</strong>);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em class="comment">// Test case(s)</em>
+<a name="31" href="#31">31</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>void</strong> testSubstring() throws Exception {
+<a name="33" href="#33">33</a>          String[] results1 = {<span class="string">"1100"</span>, <span class="string">"1101"</span>};
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>          testSubstring(<span class="string">"//field[substring(@id,1,2)='11']"</span>, results1);
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>          String[] results2 = {<span class="string">"2111"</span>, <span class="string">"3111"</span>};
+<a name="38" href="#38">38</a>          testSubstring(<span class="string">"//field[substring(@id,3)='11']"</span>, results2);
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em class="comment">// Implementation methods</em>
+<a name="42" href="#42">42</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>void</strong> testSubstring(String path, String[] results)
+<a name="44" href="#44">44</a>              throws Exception {
+<a name="45" href="#45">45</a>          log(<span class="string">"Using XPath: "</span> + path);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          List list = document.selectNodes(path);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          log(<span class="string">"Found: "</span> + list);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          <em class="comment">// Object object = list.get(0);</em>
+<a name="52" href="#52">52</a>          <em class="comment">// log( "(0) = " + object + " type: " + object.getClass() );</em>
+<a name="53" href="#53">53</a>          <strong>int</strong> size = results.length;
+<a name="54" href="#54">54</a>          assertTrue(<span class="string">"List should contain "</span> + size + <span class="string">" results: "</span> + list, list
+<a name="55" href="#55">55</a>                  .size() == size);
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="58" href="#58">58</a>              Element element = (Element) list.get(i);
+<a name="59" href="#59">59</a>              assertEquals(element.attributeValue(<span class="string">"id"</span>), results[i]);
+<a name="60" href="#60">60</a>          }
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="64" href="#64">64</a>          <strong>super</strong>.setUp();
+<a name="65" href="#65">65</a>          document = <strong>new</strong> SAXReader().read(<strong>new</strong> File(<span class="string">"xml/test/fields.xml"</span>));
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>  <em class="comment">/*</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * following conditions are met:</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="100" href="#100">100</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="102" href="#102">102</a> <em class="comment"> * </em>
+<a name="103" href="#103">103</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="104" href="#104">104</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/TextTest.html b/docs/xref-test/org/dom4j/xpath/TextTest.html
new file mode 100644
index 0000000..0690a12
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/TextTest.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>TextTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Text;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * Test harness for the text() function</em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/TextTest.html">TextTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="25" href="#25">25</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {<span class="string">"text()"</span>, <span class="string">"//author/text()"</span>};
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="28" href="#28">28</a>          TestRunner.run(TextTest.<strong>class</strong>);
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em class="comment">// Test case(s)</em>
+<a name="32" href="#32">32</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="34" href="#34">34</a>          <strong>int</strong> size = paths.length;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="37" href="#37">37</a>              testXPath(paths[i]);
+<a name="38" href="#38">38</a>          }
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em class="comment">// Implementation methods</em>
+<a name="42" href="#42">42</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>void</strong> testXPath(String xpath) {
+<a name="44" href="#44">44</a>          List list = document.selectNodes(xpath);
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="47" href="#47">47</a>              Object object = iter.next();
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>              log(<span class="string">"Found Result: "</span> + object);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>              assertTrue(<span class="string">"Results not Text objects"</span>, object instanceof Text);
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>              Text text = (Text) object;
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>              assertTrue(<span class="string">"Results should support the parent relationship"</span>, text
+<a name="56" href="#56">56</a>                      .supportsParent());
+<a name="57" href="#57">57</a>              assertTrue(
+<a name="58" href="#58">58</a>                      <span class="string">"Results should contain reference to the parent element"</span>,
+<a name="59" href="#59">59</a>                      text.getParent() != <strong>null</strong>);
+<a name="60" href="#60">60</a>              assertTrue(<span class="string">"Results should not reference to the owning document"</span>,
+<a name="61" href="#61">61</a>                      text.getDocument() != <strong>null</strong>);
+<a name="62" href="#62">62</a>          }
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>  <em class="comment">/*</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * following conditions are met:</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * </em>
+<a name="100" href="#100">100</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="101" href="#101">101</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/UriMapTest.html b/docs/xref-test/org/dom4j/xpath/UriMapTest.html
new file mode 100644
index 0000000..69f73fb
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/UriMapTest.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>UriMapTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.HashMap;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.Map;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Node;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * Tests the use of a Map for defining namespace URIs</em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/UriMapTest.html">UriMapTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="29" href="#29">29</a>          TestRunner.run(UriMapTest.<strong>class</strong>);
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em class="comment">// Test case(s)</em>
+<a name="33" href="#33">33</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>void</strong> testURIMap() throws Exception {
+<a name="35" href="#35">35</a>          Map uris = <strong>new</strong> HashMap();
+<a name="36" href="#36">36</a>          uris.put(<span class="string">"SOAP-ENV"</span>, <span class="string">"http://schemas.xmlsoap.org/soap/envelope/"</span>);
+<a name="37" href="#37">37</a>          uris.put(<span class="string">"m"</span>, <span class="string">"urn:xmethodsBabelFish"</span>);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          String path = <span class="string">"/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish"</span>;
+<a name="40" href="#40">40</a>          XPath xpath = document.createXPath(path);
+<a name="41" href="#41">41</a>          xpath.setNamespaceURIs(uris);
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          Node babelfish = xpath.selectSingleNode(document);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          <em class="comment">// log( "Found: " + babelfish );</em>
+<a name="46" href="#46">46</a>          assertTrue(<span class="string">"Found valid node"</span>, babelfish != <strong>null</strong>);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="50" href="#50">50</a>          <strong>super</strong>.setUp();
+<a name="51" href="#51">51</a>          document = <strong>new</strong> SAXReader().read(<strong>new</strong> File(<span class="string">"xml/soap.xml"</span>));
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>  <em class="comment">/*</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * following conditions are met:</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/ValueOfTest.html b/docs/xref-test/org/dom4j/xpath/ValueOfTest.html
new file mode 100644
index 0000000..e0803d7
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/ValueOfTest.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ValueOfTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Element;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Node;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * Test harness for the valueOf() function</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/ValueOfTest.html">ValueOfTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="26" href="#26">26</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {<span class="string">"/root"</span>, <span class="string">"//author"</span>, <span class="string">"//author/@name"</span>,
+<a name="27" href="#27">27</a>              <span class="string">"/root/author[1]"</span>, <span class="string">"/root/author[1]/@name"</span>, <span class="string">"/root/author[2]"</span>,
+<a name="28" href="#28">28</a>              <span class="string">"/root/author[2]/@name"</span>, <span class="string">"/root/author[3]"</span>,
+<a name="29" href="#29">29</a>              <span class="string">"/root/author[3]/@name"</span>, <span class="string">"name()"</span>, <span class="string">"name(.)"</span>, <span class="string">"name(..)"</span>,
+<a name="30" href="#30">30</a>              <span class="string">"name(child::node())"</span>, <span class="string">"name(parent::*)"</span>, <span class="string">"name(../*)"</span>,
+<a name="31" href="#31">31</a>              <span class="string">"name(../child::node())"</span>, <span class="string">"local-name()"</span>, <span class="string">"local-name(..)"</span>,
+<a name="32" href="#32">32</a>              <span class="string">"local-name(parent::*)"</span>, <span class="string">"local-name(../*)"</span>, <span class="string">"parent::*"</span>,
+<a name="33" href="#33">33</a>              <span class="string">"name(/.)"</span>, <span class="string">"name(/child::node())"</span>, <span class="string">"name(/*)"</span>, <span class="string">"."</span>, <span class="string">".."</span>, <span class="string">"../*"</span>,
+<a name="34" href="#34">34</a>              <span class="string">"../child::node()"</span>, <span class="string">"/."</span>, <span class="string">"/*"</span>, <span class="string">"*"</span>, <span class="string">"/child::node()"</span>};
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="37" href="#37">37</a>          TestRunner.run(ValueOfTest.<strong>class</strong>);
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em class="comment">// Test case(s)</em>
+<a name="41" href="#41">41</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="43" href="#43">43</a>          Element root = document.getRootElement();
+<a name="44" href="#44">44</a>          List children = root.elements(<span class="string">"author"</span>);
+<a name="45" href="#45">45</a>          Element child1 = (Element) children.get(0);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          testXPath(document);
+<a name="48" href="#48">48</a>          testXPath(root);
+<a name="49" href="#49">49</a>          testXPath(child1);
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>protected</strong> <strong>void</strong> testXPath(Node node) throws Exception {
+<a name="53" href="#53">53</a>          log(<span class="string">"Testing XPath on: "</span> + node);
+<a name="54" href="#54">54</a>          log(<span class="string">"==============================="</span>);
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          <strong>int</strong> size = paths.length;
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="59" href="#59">59</a>              testXPath(node, paths[i]);
+<a name="60" href="#60">60</a>          }
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>protected</strong> <strong>void</strong> testXPath(Node node, String xpathExpr) throws Exception {
+<a name="64" href="#64">64</a>          <strong>try</strong> {
+<a name="65" href="#65">65</a>              XPath xpath = node.createXPath(xpathExpr);
+<a name="66" href="#66">66</a>              String value = xpath.valueOf(node);
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>              log(<span class="string">"valueOf: "</span> + xpathExpr + <span class="string">" is: "</span> + value);
+<a name="69" href="#69">69</a>          } <strong>catch</strong> (Throwable e) {
+<a name="70" href="#70">70</a>              e.printStackTrace();
+<a name="71" href="#71">71</a>              assertTrue(<span class="string">"Failed with exception: "</span> + e, false);
+<a name="72" href="#72">72</a>          }
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>  }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>  <em class="comment">/*</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * following conditions are met:</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * </em>
+<a name="92" href="#92">92</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="103" href="#103">103</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="104" href="#104">104</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="105" href="#105">105</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="106" href="#106">106</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="107" href="#107">107</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="108" href="#108">108</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="111" href="#111">111</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/VariableTest.html b/docs/xref-test/org/dom4j/xpath/VariableTest.html
new file mode 100644
index 0000000..ae0237d
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/VariableTest.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>VariableTest xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> junit.textui.TestRunner;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.AbstractTestCase;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Node;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.jaxen.SimpleVariableContext;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * Test harness for the valueOf() function</em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.4 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/VariableTest.html">VariableTest</a> <strong>extends</strong> <a href="../../../org/dom4j/AbstractTestCase.html">AbstractTestCase</a> {
+<a name="28" href="#28">28</a>      <em class="comment">// TODO: uncomment these if jaxen bug is fixed</em>
+<a name="29" href="#29">29</a>      <em class="comment">// http://jira.codehaus.org/browse/JAXEN-73</em>
+<a name="30" href="#30">30</a>      <strong>protected</strong> <strong>static</strong> String[] paths = {
+<a name="31" href="#31">31</a>              <span class="string">"$author"</span>,
+<a name="32" href="#32">32</a>  <em class="comment">//            "$author/@name",</em>
+<a name="33" href="#33">33</a>  <em class="comment">//            "$root/author",</em>
+<a name="34" href="#34">34</a>  <em class="comment">//            "$root/author[1]",</em>
+<a name="35" href="#35">35</a>  <em class="comment">//            "$root/author[1]/@name",</em>
+<a name="36" href="#36">36</a>  <em class="comment">//            "$author/@name"</em>
+<a name="37" href="#37">37</a>          };
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>private</strong> SimpleVariableContext variableContext = <strong>new</strong> SimpleVariableContext();
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>private</strong> Node rootNode;
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>private</strong> Node authorNode;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {
+<a name="46" href="#46">46</a>          TestRunner.run(VariableTest.<strong>class</strong>);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em class="comment">// Test case(s)</em>
+<a name="50" href="#50">50</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> testXPaths() throws Exception {
+<a name="52" href="#52">52</a>          <strong>int</strong> size = paths.length;
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="55" href="#55">55</a>              testXPath(paths[i]);
+<a name="56" href="#56">56</a>          }
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong>protected</strong> <strong>void</strong> testXPath(String xpathText) {
+<a name="60" href="#60">60</a>          XPath xpath = createXPath(xpathText);
+<a name="61" href="#61">61</a>          List list = xpath.selectNodes(document);
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          log(<span class="string">"Searched path: "</span> + xpathText + <span class="string">" found: "</span> + list.size()
+<a name="64" href="#64">64</a>                  + <span class="string">" result(s)"</span>);
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          assertTrue(<span class="string">"Results should not contain the root node"</span>, !list
+<a name="67" href="#67">67</a>                  .contains(rootNode));
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>protected</strong> XPath createXPath(String xpath) {
+<a name="71" href="#71">71</a>          <strong>return</strong> DocumentHelper.createXPath(xpath, variableContext);
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception {
+<a name="75" href="#75">75</a>          <strong>super</strong>.setUp();
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>          rootNode = document.selectSingleNode(<span class="string">"/root"</span>);
+<a name="78" href="#78">78</a>          authorNode = document.selectSingleNode(<span class="string">"/root/author[1]"</span>);
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>          variableContext.setVariableValue(<span class="string">"root"</span>, rootNode);
+<a name="81" href="#81">81</a>          variableContext.setVariableValue(<span class="string">"author"</span>, authorNode);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>  <em class="comment">/*</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * following conditions are met:</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="102" href="#102">102</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="103" href="#103">103</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="104" href="#104">104</a> <em class="comment"> * </em>
+<a name="105" href="#105">105</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="106" href="#106">106</a> <em class="comment"> * </em>
+<a name="107" href="#107">107</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="108" href="#108">108</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="109" href="#109">109</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="110" href="#110">110</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="111" href="#111">111</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="112" href="#112">112</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="113" href="#113">113</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="114" href="#114">114</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="115" href="#115">115</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="116" href="#116">116</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="117" href="#117">117</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="118" href="#118">118</a> <em class="comment"> * </em>
+<a name="119" href="#119">119</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="120" href="#120">120</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref-test/org/dom4j/xpath/package-frame.html b/docs/xref-test/org/dom4j/xpath/package-frame.html
new file mode 100644
index 0000000..15fb550
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/package-frame.html
@@ -0,0 +1,91 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.xpath</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.xpath</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="AttributeTest.html" target="classFrame">AttributeTest</a>
+          </li>
+        
+          <li>
+            <a href="BadPathTest.html" target="classFrame">BadPathTest</a>
+          </li>
+        
+          <li>
+            <a href="BooleanTest.html" target="classFrame">BooleanTest</a>
+          </li>
+        
+          <li>
+            <a href="FilterTest.html" target="classFrame">FilterTest</a>
+          </li>
+        
+          <li>
+            <a href="GetPathTest.html" target="classFrame">GetPathTest</a>
+          </li>
+        
+          <li>
+            <a href="MatrixConcatTest.html" target="classFrame">MatrixConcatTest</a>
+          </li>
+        
+          <li>
+            <a href="NamespaceTest.html" target="classFrame">NamespaceTest</a>
+          </li>
+        
+          <li>
+            <a href="NumberTest.html" target="classFrame">NumberTest</a>
+          </li>
+        
+          <li>
+            <a href="ObjectTest.html" target="classFrame">ObjectTest</a>
+          </li>
+        
+          <li>
+            <a href="PrefixTest.html" target="classFrame">PrefixTest</a>
+          </li>
+        
+          <li>
+            <a href="SelectSingleNodeTest.html" target="classFrame">SelectSingleNodeTest</a>
+          </li>
+        
+          <li>
+            <a href="SortByTest.html" target="classFrame">SortByTest</a>
+          </li>
+        
+          <li>
+            <a href="SubstringTest.html" target="classFrame">SubstringTest</a>
+          </li>
+        
+          <li>
+            <a href="TextTest.html" target="classFrame">TextTest</a>
+          </li>
+        
+          <li>
+            <a href="UriMapTest.html" target="classFrame">UriMapTest</a>
+          </li>
+        
+          <li>
+            <a href="ValueOfTest.html" target="classFrame">ValueOfTest</a>
+          </li>
+        
+          <li>
+            <a href="VariableTest.html" target="classFrame">VariableTest</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/org/dom4j/xpath/package-summary.html b/docs/xref-test/org/dom4j/xpath/package-summary.html
new file mode 100644
index 0000000..589fb7a
--- /dev/null
+++ b/docs/xref-test/org/dom4j/xpath/package-summary.html
@@ -0,0 +1,198 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.xpath</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="AttributeTest.html" target="classFrame">AttributeTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="BadPathTest.html" target="classFrame">BadPathTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="BooleanTest.html" target="classFrame">BooleanTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="FilterTest.html" target="classFrame">FilterTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="GetPathTest.html" target="classFrame">GetPathTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="MatrixConcatTest.html" target="classFrame">MatrixConcatTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NamespaceTest.html" target="classFrame">NamespaceTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NumberTest.html" target="classFrame">NumberTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ObjectTest.html" target="classFrame">ObjectTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="PrefixTest.html" target="classFrame">PrefixTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SelectSingleNodeTest.html" target="classFrame">SelectSingleNodeTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SortByTest.html" target="classFrame">SortByTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SubstringTest.html" target="classFrame">SubstringTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="TextTest.html" target="classFrame">TextTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="UriMapTest.html" target="classFrame">UriMapTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ValueOfTest.html" target="classFrame">ValueOfTest</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="VariableTest.html" target="classFrame">VariableTest</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/overview-frame.html b/docs/xref-test/overview-frame.html
new file mode 100644
index 0000000..0a65f47
--- /dev/null
+++ b/docs/xref-test/overview-frame.html
@@ -0,0 +1,67 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference</title>
+      <link rel="stylesheet" href="stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="allclasses-frame.html" target="packageFrame">All Classes</a>
+      </h3>
+
+      <h3>Packages</h3>
+
+      <ul>
+        
+          <li>
+            <a href="org/dom4j/package-frame.html" target="packageFrame">org.dom4j</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/bean/package-frame.html" target="packageFrame">org.dom4j.bean</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/package-frame.html" target="packageFrame">org.dom4j.datatype</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/package-frame.html" target="packageFrame">org.dom4j.dom</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/package-frame.html" target="packageFrame">org.dom4j.dtd</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/package-frame.html" target="packageFrame">org.dom4j.io</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/package-frame.html" target="packageFrame">org.dom4j.rule</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/swing/package-frame.html" target="packageFrame">org.dom4j.swing</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/package-frame.html" target="packageFrame">org.dom4j.tree</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/package-frame.html" target="packageFrame">org.dom4j.util</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/package-frame.html" target="packageFrame">org.dom4j.xpath</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref-test/overview-summary.html b/docs/xref-test/overview-summary.html
new file mode 100644
index 0000000..bc0fe22
--- /dev/null
+++ b/docs/xref-test/overview-summary.html
@@ -0,0 +1,154 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference</title>
+          <link rel="stylesheet" href="stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li class="selected">Overview</li>
+          <li>Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="overview-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+    
+      
+
+      <h2>dom4j 1.6.1 Reference</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Packages</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/package-summary.html">org.dom4j</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/bean/package-summary.html">org.dom4j.bean</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/dom/package-summary.html">org.dom4j.dom</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/io/package-summary.html">org.dom4j.io</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/rule/package-summary.html">org.dom4j.rule</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/swing/package-summary.html">org.dom4j.swing</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/tree/package-summary.html">org.dom4j.tree</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/util/package-summary.html">org.dom4j.util</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li class="selected">Overview</li>
+          <li>Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="overview-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+    
+    
+          <hr></hr>
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref-test/stylesheet.css b/docs/xref-test/stylesheet.css
new file mode 100644
index 0000000..d8945b2
--- /dev/null
+++ b/docs/xref-test/stylesheet.css
@@ -0,0 +1,96 @@
+/* Javadoc style sheet */
+/* Define colors, fonts and other style attributes here to override the defaults  */
+body { 
+	background-color: #fff;
+	font-family: Arial, Helvetica, sans-serif;
+}
+
+a:link {
+ color: #00f;
+}
+a:visited {
+ color: #00a;
+}
+
+a:active, a:hover {
+ color: #f30 !important;
+}
+
+ul, li	{
+	list-style-type:none ;
+	margin:0;
+	padding:0;
+}
+
+table td{
+	padding: 3px;
+	border: 1px solid #000;
+}
+table{
+	width:100%;
+	border: 1px solid #000;
+	border-collapse: collapse;
+}
+
+div.overview {
+	background-color:#ddd;
+	padding: 4px 4px 4px 0;
+}
+div.overview li, div.framenoframe li {
+	display: inline;
+}
+div.framenoframe {
+	text-align: center;
+	font-size: x-small;
+}
+div.framenoframe li {
+	margin: 0 3px 0 3px;
+}
+div.overview li {
+	margin:3px 3px 0 3px;
+	padding: 4px;
+}
+li.selected {
+	background-color:#888;
+	color: #fff;
+	font-weight: bold;
+}
+
+table.summary {
+	margin-bottom: 20px;
+}
+table.summary td, table.summary th {
+	font-weight: bold;
+	text-align: left;
+	padding: 3px;
+}
+table.summary th{
+	background-color:#036;
+	color: #fff;
+}
+table.summary td{
+	background-color:#eee;
+	border: 1px solid black;
+}
+
+em {
+	color: #A00;
+}
+em.comment {
+	color: #390;
+}
+.string {
+	color: #009;
+}
+div#footer {
+	text-align:center;
+}
+#overview {
+	padding:2px;
+}
+            
+            
+hr {
+	height: 1px;
+	color: #000;
+}
\ No newline at end of file
diff --git a/docs/xref/allclasses-frame.html b/docs/xref/allclasses-frame.html
new file mode 100644
index 0000000..bb5dc5b
--- /dev/null
+++ b/docs/xref/allclasses-frame.html
@@ -0,0 +1,683 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>All Classes</title>
+      <link rel="stylesheet" href="stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>All Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractAttribute.html" target="classFrame">AbstractAttribute</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractBranch.html" target="classFrame">AbstractBranch</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractCDATA.html" target="classFrame">AbstractCDATA</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractCharacterData.html" target="classFrame">AbstractCharacterData</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractComment.html" target="classFrame">AbstractComment</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractDocument.html" target="classFrame">AbstractDocument</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractDocumentType.html" target="classFrame">AbstractDocumentType</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractElement.html" target="classFrame">AbstractElement</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractEntity.html" target="classFrame">AbstractEntity</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractNode.html" target="classFrame">AbstractNode</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractProcessingInstruction.html" target="classFrame">AbstractProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/AbstractText.html" target="classFrame">AbstractText</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/Action.html" target="classFrame">Action</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Attribute.html" target="classFrame">Attribute</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/AttributeDecl.html" target="classFrame">AttributeDecl</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/AttributeHelper.html" target="classFrame">AttributeHelper</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/BackedList.html" target="classFrame">BackedList</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/BaseElement.html" target="classFrame">BaseElement</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/bean/BeanAttribute.html" target="classFrame">BeanAttribute</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/bean/BeanAttributeList.html" target="classFrame">BeanAttributeList</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/bean/BeanDocumentFactory.html" target="classFrame">BeanDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/bean/BeanElement.html" target="classFrame">BeanElement</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/bean/BeanMetaData.html" target="classFrame">BeanMetaData</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Branch.html" target="classFrame">Branch</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/swing/BranchTreeNode.html" target="classFrame">BranchTreeNode</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/CDATA.html" target="classFrame">CDATA</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/CharacterData.html" target="classFrame">CharacterData</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Comment.html" target="classFrame">Comment</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/ConcurrentReaderHashMap.html" target="classFrame">ConcurrentReaderHashMap</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/ContentListFacade.html" target="classFrame">ContentListFacade</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMAttribute.html" target="classFrame">DOMAttribute</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMAttributeNodeMap.html" target="classFrame">DOMAttributeNodeMap</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMCDATA.html" target="classFrame">DOMCDATA</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMComment.html" target="classFrame">DOMComment</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMDocument.html" target="classFrame">DOMDocument</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMDocumentFactory.html" target="classFrame">DOMDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMDocumentType.html" target="classFrame">DOMDocumentType</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMElement.html" target="classFrame">DOMElement</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMEntityReference.html" target="classFrame">DOMEntityReference</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMNamespace.html" target="classFrame">DOMNamespace</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMNodeHelper.html" target="classFrame">DOMNodeHelper</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMProcessingInstruction.html" target="classFrame">DOMProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DOMReader.html" target="classFrame">DOMReader</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/DOMText.html" target="classFrame">DOMText</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DOMWriter.html" target="classFrame">DOMWriter</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/DatatypeAttribute.html" target="classFrame">DatatypeAttribute</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/DatatypeDocumentFactory.html" target="classFrame">DatatypeDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/DatatypeElement.html" target="classFrame">DatatypeElement</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/DatatypeElementFactory.html" target="classFrame">DatatypeElementFactory</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultAttribute.html" target="classFrame">DefaultAttribute</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultCDATA.html" target="classFrame">DefaultCDATA</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultComment.html" target="classFrame">DefaultComment</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultDocument.html" target="classFrame">DefaultDocument</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultDocumentType.html" target="classFrame">DefaultDocumentType</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultElement.html" target="classFrame">DefaultElement</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultEntity.html" target="classFrame">DefaultEntity</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultNamespace.html" target="classFrame">DefaultNamespace</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/DefaultNamespaceContext.html" target="classFrame">DefaultNamespaceContext</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/pattern/DefaultPattern.html" target="classFrame">DefaultPattern</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultProcessingInstruction.html" target="classFrame">DefaultProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/DefaultText.html" target="classFrame">DefaultText</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/DefaultXPath.html" target="classFrame">DefaultXPath</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DispatchHandler.html" target="classFrame">DispatchHandler</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Document.html" target="classFrame">Document</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/DocumentException.html" target="classFrame">DocumentException</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/DocumentFactory.html" target="classFrame">DocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/DocumentHelper.html" target="classFrame">DocumentHelper</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DocumentInputSource.html" target="classFrame">DocumentInputSource</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DocumentResult.html" target="classFrame">DocumentResult</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/DocumentSource.html" target="classFrame">DocumentSource</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/swing/DocumentTreeModel.html" target="classFrame">DocumentTreeModel</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/DocumentType.html" target="classFrame">DocumentType</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Element.html" target="classFrame">Element</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/ElementDecl.html" target="classFrame">ElementDecl</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ElementHandler.html" target="classFrame">ElementHandler</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/ElementIterator.html" target="classFrame">ElementIterator</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/ElementModifier.html" target="classFrame">ElementModifier</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/ElementNameIterator.html" target="classFrame">ElementNameIterator</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ElementPath.html" target="classFrame">ElementPath</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/ElementQNameIterator.html" target="classFrame">ElementQNameIterator</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/ElementStack.html" target="classFrame">ElementStack</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Entity.html" target="classFrame">Entity</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/ExternalEntityDecl.html" target="classFrame">ExternalEntityDecl</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/FilterIterator.html" target="classFrame">FilterIterator</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/FlyweightAttribute.html" target="classFrame">FlyweightAttribute</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/FlyweightCDATA.html" target="classFrame">FlyweightCDATA</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/FlyweightComment.html" target="classFrame">FlyweightComment</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/FlyweightEntity.html" target="classFrame">FlyweightEntity</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/FlyweightProcessingInstruction.html" target="classFrame">FlyweightProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/FlyweightText.html" target="classFrame">FlyweightText</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/HTMLWriter.html" target="classFrame">HTMLWriter</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/IllegalAddException.html" target="classFrame">IllegalAddException</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/IndexedDocumentFactory.html" target="classFrame">IndexedDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/IndexedElement.html" target="classFrame">IndexedElement</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/InternalEntityDecl.html" target="classFrame">InternalEntityDecl</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/InvalidSchemaException.html" target="classFrame">InvalidSchemaException</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/InvalidXPathException.html" target="classFrame">InvalidXPathException</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/jaxb/JAXBModifier.html" target="classFrame">JAXBModifier</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/jaxb/JAXBObjectHandler.html" target="classFrame">JAXBObjectHandler</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/jaxb/JAXBObjectModifier.html" target="classFrame">JAXBObjectModifier</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/jaxb/JAXBReader.html" target="classFrame">JAXBReader</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/jaxb/JAXBRuntimeException.html" target="classFrame">JAXBRuntimeException</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/jaxb/JAXBSupport.html" target="classFrame">JAXBSupport</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/jaxb/JAXBWriter.html" target="classFrame">JAXBWriter</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/JAXPHelper.html" target="classFrame">JAXPHelper</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/swing/LeafTreeNode.html" target="classFrame">LeafTreeNode</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/Mode.html" target="classFrame">Mode</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/NamedTypeResolver.html" target="classFrame">NamedTypeResolver</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Namespace.html" target="classFrame">Namespace</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/NamespaceCache.html" target="classFrame">NamespaceCache</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/NamespaceStack.html" target="classFrame">NamespaceStack</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Node.html" target="classFrame">Node</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/NodeComparator.html" target="classFrame">NodeComparator</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/NodeFilter.html" target="classFrame">NodeFilter</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/pattern/NodeTypePattern.html" target="classFrame">NodeTypePattern</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/NonLazyDocumentFactory.html" target="classFrame">NonLazyDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/NonLazyElement.html" target="classFrame">NonLazyElement</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/NullAction.html" target="classFrame">NullAction</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/OutputFormat.html" target="classFrame">OutputFormat</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/Pattern.html" target="classFrame">Pattern</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/PerThreadSingleton.html" target="classFrame">PerThreadSingleton</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/ProcessingInstruction.html" target="classFrame">ProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/ProxyDocumentFactory.html" target="classFrame">ProxyDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpp/ProxyXmlStartTag.html" target="classFrame">ProxyXmlStartTag</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/PruningDispatchHandler.html" target="classFrame">PruningDispatchHandler</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/PruningElementStack.html" target="classFrame">PruningElementStack</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/QName.html" target="classFrame">QName</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/QNameCache.html" target="classFrame">QNameCache</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/Rule.html" target="classFrame">Rule</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/RuleManager.html" target="classFrame">RuleManager</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/RuleSet.html" target="classFrame">RuleSet</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXContentHandler.html" target="classFrame">SAXContentHandler</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXEventRecorder.html" target="classFrame">SAXEventRecorder</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXHelper.html" target="classFrame">SAXHelper</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXModifier.html" target="classFrame">SAXModifier</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXModifyContentHandler.html" target="classFrame">SAXModifyContentHandler</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXModifyElementHandler.html" target="classFrame">SAXModifyElementHandler</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXModifyException.html" target="classFrame">SAXModifyException</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXModifyReader.html" target="classFrame">SAXModifyReader</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXReader.html" target="classFrame">SAXReader</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXValidator.html" target="classFrame">SAXValidator</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/SAXWriter.html" target="classFrame">SAXWriter</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/STAXEventReader.html" target="classFrame">STAXEventReader</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/STAXEventWriter.html" target="classFrame">STAXEventWriter</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/SchemaParser.html" target="classFrame">SchemaParser</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/SimpleSingleton.html" target="classFrame">SimpleSingleton</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/SingleIterator.html" target="classFrame">SingleIterator</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/SingletonStrategy.html" target="classFrame">SingletonStrategy</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/Stylesheet.html" target="classFrame">Stylesheet</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Text.html" target="classFrame">Text</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/UserDataAttribute.html" target="classFrame">UserDataAttribute</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/UserDataDocumentFactory.html" target="classFrame">UserDataDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/UserDataElement.html" target="classFrame">UserDataElement</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/Visitor.html" target="classFrame">Visitor</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/VisitorSupport.html" target="classFrame">VisitorSupport</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/XMLErrorHandler.html" target="classFrame">XMLErrorHandler</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/XMLResult.html" target="classFrame">XMLResult</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/swing/XMLTableColumnDefinition.html" target="classFrame">XMLTableColumnDefinition</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/swing/XMLTableDefinition.html" target="classFrame">XMLTableDefinition</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/swing/XMLTableModel.html" target="classFrame">XMLTableModel</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/XMLWriter.html" target="classFrame">XMLWriter</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/XPP3Reader.html" target="classFrame">XPP3Reader</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/XPPReader.html" target="classFrame">XPPReader</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/XPath.html" target="classFrame">XPath</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/XPathException.html" target="classFrame">XPathException</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/XPathPattern.html" target="classFrame">XPathPattern</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/index.html b/docs/xref/index.html
new file mode 100644
index 0000000..01d039e
--- /dev/null
+++ b/docs/xref/index.html
@@ -0,0 +1,22 @@
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference</title>
+    </head>
+    <frameset cols="20%,80%">
+      <frameset rows="30%,70%">
+        <frame name="packageListFrame" src="overview-frame.html"></frame>
+        <frame name="packageFrame" src="allclasses-frame.html"></frame>
+      </frameset>
+      <frame name="classFrame" src="overview-summary.html"></frame>
+    </frameset>
+    <noframes>
+      <h1>Frame Alert</h1>
+      <p>
+        You don't have frames. Go
+        <a href="overview-summary.html">here</a>
+      </p>
+    </noframes>
+  </html>
diff --git a/docs/xref/org/dom4j/Attribute.html b/docs/xref/org/dom4j/Attribute.html
new file mode 100644
index 0000000..d288762
--- /dev/null
+++ b/docs/xref/org/dom4j/Attribute.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Attribute xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Attribute.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>Attribute</code> defines an XML attribute. An attribute may have a</em>
+<a name="13" href="#13">13</a>  <em> * name, an optional namespace and a value.</em>
+<a name="14" href="#14">14</a>  <em> * </p></em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="17" href="#17">17</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="18" href="#18">18</a>  <em> */</em>
+<a name="19" href="#19">19</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/Attribute.html">Attribute</a> <strong>extends</strong> <a href="../../org/dom4j/Node.html">Node</a> {
+<a name="20" href="#20">20</a>      <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em>     * <p></em>
+<a name="22" href="#22">22</a>  <em>     * Returns the <code>QName</code> of this attribute which represents the</em>
+<a name="23" href="#23">23</a>  <em>     * local name, the qualified name and the <code>Namespace</code>.</em>
+<a name="24" href="#24">24</a>  <em>     * </p></em>
+<a name="25" href="#25">25</a>  <em>     * </em>
+<a name="26" href="#26">26</a>  <em>     * @return the <code>QName</code> associated with this attribute</em>
+<a name="27" href="#27">27</a>  <em>     */</em>
+<a name="28" href="#28">28</a>      <a href="../../org/dom4j/QName.html">QName</a> getQName();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em>     * <p></em>
+<a name="32" href="#32">32</a>  <em>     * Returns the <code>Namespace</code> of this element if one exists</em>
+<a name="33" href="#33">33</a>  <em>     * otherwise null is returned returned.</em>
+<a name="34" href="#34">34</a>  <em>     * </p></em>
+<a name="35" href="#35">35</a>  <em>     * </em>
+<a name="36" href="#36">36</a>  <em>     * @return the <code>Namespace</code> associated with this node</em>
+<a name="37" href="#37">37</a>  <em>     */</em>
+<a name="38" href="#38">38</a>      <a href="../../org/dom4j/Namespace.html">Namespace</a> getNamespace();
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * <p></em>
+<a name="42" href="#42">42</a>  <em>     * Sets the <code>Namespace</code> of this element or if this element is</em>
+<a name="43" href="#43">43</a>  <em>     * read only then an <code>UnsupportedOperationException</code> is thrown.</em>
+<a name="44" href="#44">44</a>  <em>     * </p></em>
+<a name="45" href="#45">45</a>  <em>     * </em>
+<a name="46" href="#46">46</a>  <em>     * @param namespace</em>
+<a name="47" href="#47">47</a>  <em>     *            is the <code>Namespace</code> to associate with this element</em>
+<a name="48" href="#48">48</a>  <em>     */</em>
+<a name="49" href="#49">49</a>      <strong>void</strong> setNamespace(<a href="../../org/dom4j/Namespace.html">Namespace</a> namespace);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <em>/**<em>*</em></em>
+<a name="52" href="#52">52</a>  <em>     * <p></em>
+<a name="53" href="#53">53</a>  <em>     * Returns the namespace prefix of this element if one exists otherwise an</em>
+<a name="54" href="#54">54</a>  <em>     * empty <code>String</code> is returned.</em>
+<a name="55" href="#55">55</a>  <em>     * </p></em>
+<a name="56" href="#56">56</a>  <em>     * </em>
+<a name="57" href="#57">57</a>  <em>     * @return the prefix of the <code>Namespace</code> of this element or an</em>
+<a name="58" href="#58">58</a>  <em>     *         empty <code>String</code></em>
+<a name="59" href="#59">59</a>  <em>     */</em>
+<a name="60" href="#60">60</a>      String getNamespacePrefix();
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em>/**<em>*</em></em>
+<a name="63" href="#63">63</a>  <em>     * <p></em>
+<a name="64" href="#64">64</a>  <em>     * Returns the URI mapped to the namespace of this element if one exists</em>
+<a name="65" href="#65">65</a>  <em>     * otherwise an empty <code>String</code> is returned.</em>
+<a name="66" href="#66">66</a>  <em>     * </p></em>
+<a name="67" href="#67">67</a>  <em>     * </em>
+<a name="68" href="#68">68</a>  <em>     * @return the URI for the <code>Namespace</code> of this element or an</em>
+<a name="69" href="#69">69</a>  <em>     *         empty <code>String</code></em>
+<a name="70" href="#70">70</a>  <em>     */</em>
+<a name="71" href="#71">71</a>      String getNamespaceURI();
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <em>/**<em>*</em></em>
+<a name="74" href="#74">74</a>  <em>     * <p></em>
+<a name="75" href="#75">75</a>  <em>     * Returns the fully qualified name of this element.</em>
+<a name="76" href="#76">76</a>  <em>     * </p></em>
+<a name="77" href="#77">77</a>  <em>     * </em>
+<a name="78" href="#78">78</a>  <em>     * <p></em>
+<a name="79" href="#79">79</a>  <em>     * This will be the same as the value returned from {@link Node#getName()}</em>
+<a name="80" href="#80">80</a>  <em>     * if this element has no namespace attached to this element or an</em>
+<a name="81" href="#81">81</a>  <em>     * expression of the form</em>
+<a name="82" href="#82">82</a>  <em>     * </em>
+<a name="83" href="#83">83</a>  <em>     * <pre></em>
+<a name="84" href="#84">84</a>  <em>     * getNamespacePrefix() + &quot;:&quot; + getName()</em>
+<a name="85" href="#85">85</a>  <em>     * </pre></em>
+<a name="86" href="#86">86</a>  <em>     * </em>
+<a name="87" href="#87">87</a>  <em>     * will be returned.</em>
+<a name="88" href="#88">88</a>  <em>     * </p></em>
+<a name="89" href="#89">89</a>  <em>     * </em>
+<a name="90" href="#90">90</a>  <em>     * @return the fully qualified name of the element</em>
+<a name="91" href="#91">91</a>  <em>     */</em>
+<a name="92" href="#92">92</a>      String getQualifiedName();
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <em>/**<em>*</em></em>
+<a name="95" href="#95">95</a>  <em>     * <p></em>
+<a name="96" href="#96">96</a>  <em>     * Returns the value of the attribute. This method returns the same value as</em>
+<a name="97" href="#97">97</a>  <em>     * the {@link Node#getText()}method.</em>
+<a name="98" href="#98">98</a>  <em>     * </p></em>
+<a name="99" href="#99">99</a>  <em>     * </em>
+<a name="100" href="#100">100</a> <em>     * @return the value of the attribute</em>
+<a name="101" href="#101">101</a> <em>     */</em>
+<a name="102" href="#102">102</a>     String getValue();
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <em>/**<em>*</em></em>
+<a name="105" href="#105">105</a> <em>     * <p></em>
+<a name="106" href="#106">106</a> <em>     * Sets the value of this attribute or this method will throw an</em>
+<a name="107" href="#107">107</a> <em>     * <code>UnsupportedOperationException</code> if it is read-only.</em>
+<a name="108" href="#108">108</a> <em>     * </p></em>
+<a name="109" href="#109">109</a> <em>     * </em>
+<a name="110" href="#110">110</a> <em>     * @param value</em>
+<a name="111" href="#111">111</a> <em>     *            is the new value of this attribute</em>
+<a name="112" href="#112">112</a> <em>     */</em>
+<a name="113" href="#113">113</a>     <strong>void</strong> setValue(String value);
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <em>/**<em>*</em></em>
+<a name="116" href="#116">116</a> <em>     * <p></em>
+<a name="117" href="#117">117</a> <em>     * Accesses the data of this attribute which may implement data typing</em>
+<a name="118" href="#118">118</a> <em>     * bindings such as <code>XML Schema</code> or <code>Java Bean</code></em>
+<a name="119" href="#119">119</a> <em>     * bindings or will return the same value as {@link Node#getText()}.</em>
+<a name="120" href="#120">120</a> <em>     * </p></em>
+<a name="121" href="#121">121</a> <em>     * </em>
+<a name="122" href="#122">122</a> <em>     * @return the attribute data</em>
+<a name="123" href="#123">123</a> <em>     */</em>
+<a name="124" href="#124">124</a>     Object getData();
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <em>/**<em>*</em></em>
+<a name="127" href="#127">127</a> <em>     * <p></em>
+<a name="128" href="#128">128</a> <em>     * Sets the data value of this attribute if this element supports data</em>
+<a name="129" href="#129">129</a> <em>     * binding or calls {@link Node#setText(String)}if it doesn't.</em>
+<a name="130" href="#130">130</a> <em>     * </p></em>
+<a name="131" href="#131">131</a> <em>     * </em>
+<a name="132" href="#132">132</a> <em>     * @param data</em>
+<a name="133" href="#133">133</a> <em>     *            the attribute data</em>
+<a name="134" href="#134">134</a> <em>     */</em>
+<a name="135" href="#135">135</a>     <strong>void</strong> setData(Object data);
+<a name="136" href="#136">136</a> }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a> <em class="comment">/*</em>
+<a name="139" href="#139">139</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="140" href="#140">140</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="141" href="#141">141</a> <em class="comment"> * following conditions are met:</em>
+<a name="142" href="#142">142</a> <em class="comment"> * </em>
+<a name="143" href="#143">143</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="144" href="#144">144</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="145" href="#145">145</a> <em class="comment"> * </em>
+<a name="146" href="#146">146</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="147" href="#147">147</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="148" href="#148">148</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="149" href="#149">149</a> <em class="comment"> * </em>
+<a name="150" href="#150">150</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="151" href="#151">151</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="152" href="#152">152</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="153" href="#153">153</a> <em class="comment"> * </em>
+<a name="154" href="#154">154</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="155" href="#155">155</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="156" href="#156">156</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="157" href="#157">157</a> <em class="comment"> * </em>
+<a name="158" href="#158">158</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="159" href="#159">159</a> <em class="comment"> * </em>
+<a name="160" href="#160">160</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="161" href="#161">161</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="162" href="#162">162</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="163" href="#163">163</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="164" href="#164">164</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="165" href="#165">165</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="166" href="#166">166</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="167" href="#167">167</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="168" href="#168">168</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="169" href="#169">169</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="170" href="#170">170</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="171" href="#171">171</a> <em class="comment"> * </em>
+<a name="172" href="#172">172</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="173" href="#173">173</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/Branch.html b/docs/xref/org/dom4j/Branch.html
new file mode 100644
index 0000000..4716ff3
--- /dev/null
+++ b/docs/xref/org/dom4j/Branch.html
@@ -0,0 +1,364 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Branch xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Branch.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Iterator;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.List;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>Branch</code> interface defines the common behaviour for Nodes which</em>
+<a name="16" href="#16">16</a>  <em> * can contain child nodes (content) such as XML elements and documents. This</em>
+<a name="17" href="#17">17</a>  <em> * interface allows both elements and documents to be treated in a polymorphic</em>
+<a name="18" href="#18">18</a>  <em> * manner when changing or navigating child nodes (content).</em>
+<a name="19" href="#19">19</a>  <em> * </p></em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.32 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/Branch.html">Branch</a> <strong>extends</strong> <a href="../../org/dom4j/Node.html">Node</a> {
+<a name="25" href="#25">25</a>      <em>/**<em>*</em></em>
+<a name="26" href="#26">26</a>  <em>     * Returns the <code>Node</code> at the specified index position.</em>
+<a name="27" href="#27">27</a>  <em>     * </em>
+<a name="28" href="#28">28</a>  <em>     * @param index</em>
+<a name="29" href="#29">29</a>  <em>     *            the index of the node to return.</em>
+<a name="30" href="#30">30</a>  <em>     * </em>
+<a name="31" href="#31">31</a>  <em>     * @return the <code>Node</code> at the specified position.</em>
+<a name="32" href="#32">32</a>  <em>     * </em>
+<a name="33" href="#33">33</a>  <em>     * @throws IndexOutOfBoundsException</em>
+<a name="34" href="#34">34</a>  <em>     *             if the index is out of range (index &lt; 0 || index &gt;=</em>
+<a name="35" href="#35">35</a>  <em>     *             {@link Branch#nodeCount()}).</em>
+<a name="36" href="#36">36</a>  <em>     */</em>
+<a name="37" href="#37">37</a>      <a href="../../org/dom4j/Node.html">Node</a> node(<strong>int</strong> index) throws IndexOutOfBoundsException;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>*</em></em>
+<a name="40" href="#40">40</a>  <em>     * Returns the index of the given node if it is a child node of this branch</em>
+<a name="41" href="#41">41</a>  <em>     * or -1 if the given node is not a child node.</em>
+<a name="42" href="#42">42</a>  <em>     * </em>
+<a name="43" href="#43">43</a>  <em>     * @param node</em>
+<a name="44" href="#44">44</a>  <em>     *            the content child node to find.</em>
+<a name="45" href="#45">45</a>  <em>     * </em>
+<a name="46" href="#46">46</a>  <em>     * @return the index of the given node starting at 0 or -1 if the node is</em>
+<a name="47" href="#47">47</a>  <em>     *         not a child node of this branch</em>
+<a name="48" href="#48">48</a>  <em>     */</em>
+<a name="49" href="#49">49</a>      <strong>int</strong> indexOf(<a href="../../org/dom4j/Node.html">Node</a> node);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <em>/**<em>*</em></em>
+<a name="52" href="#52">52</a>  <em>     * Returns the number of <code>Node</code> instances that this branch</em>
+<a name="53" href="#53">53</a>  <em>     * contains.</em>
+<a name="54" href="#54">54</a>  <em>     * </em>
+<a name="55" href="#55">55</a>  <em>     * @return the number of nodes this branch contains</em>
+<a name="56" href="#56">56</a>  <em>     */</em>
+<a name="57" href="#57">57</a>      <strong>int</strong> nodeCount();
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <em>/**<em>*</em></em>
+<a name="60" href="#60">60</a>  <em>     * Returns the element of the given ID attribute value. If this tree is</em>
+<a name="61" href="#61">61</a>  <em>     * capable of understanding which attribute value should be used for the ID</em>
+<a name="62" href="#62">62</a>  <em>     * then it should be used, otherwise this method should return null.</em>
+<a name="63" href="#63">63</a>  <em>     * </em>
+<a name="64" href="#64">64</a>  <em>     * @param elementID</em>
+<a name="65" href="#65">65</a>  <em>     *            DOCUMENT ME!</em>
+<a name="66" href="#66">66</a>  <em>     * </em>
+<a name="67" href="#67">67</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="68" href="#68">68</a>  <em>     */</em>
+<a name="69" href="#69">69</a>      <a href="../../org/dom4j/Element.html">Element</a> elementByID(String elementID);
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em>/**<em>*</em></em>
+<a name="72" href="#72">72</a>  <em>     * <p></em>
+<a name="73" href="#73">73</a>  <em>     * Returns the content nodes of this branch as a backed {@link List}so that</em>
+<a name="74" href="#74">74</a>  <em>     * the content of this branch may be modified directly using the</em>
+<a name="75" href="#75">75</a>  <em>     * {@link List}interface. The <code>List</code> is backed by the</em>
+<a name="76" href="#76">76</a>  <em>     * <code>Branch</code> so that changes to the list are reflected in the</em>
+<a name="77" href="#77">77</a>  <em>     * branch and vice versa.</em>
+<a name="78" href="#78">78</a>  <em>     * </p></em>
+<a name="79" href="#79">79</a>  <em>     * </em>
+<a name="80" href="#80">80</a>  <em>     * @return the nodes that this branch contains as a <code>List</code></em>
+<a name="81" href="#81">81</a>  <em>     */</em>
+<a name="82" href="#82">82</a>      List content();
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <em>/**<em>*</em></em>
+<a name="85" href="#85">85</a>  <em>     * Returns an iterator through the content nodes of this branch</em>
+<a name="86" href="#86">86</a>  <em>     * </em>
+<a name="87" href="#87">87</a>  <em>     * @return an iterator through the content nodes of this branch</em>
+<a name="88" href="#88">88</a>  <em>     */</em>
+<a name="89" href="#89">89</a>      Iterator nodeIterator();
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <em>/**<em>*</em></em>
+<a name="92" href="#92">92</a>  <em>     * Sets the contents of this branch as a <code>List</code> of</em>
+<a name="93" href="#93">93</a>  <em>     * <code>Node</code> instances.</em>
+<a name="94" href="#94">94</a>  <em>     * </em>
+<a name="95" href="#95">95</a>  <em>     * @param content</em>
+<a name="96" href="#96">96</a>  <em>     *            is the list of nodes to use as the content for this branch.</em>
+<a name="97" href="#97">97</a>  <em>     */</em>
+<a name="98" href="#98">98</a>      <strong>void</strong> setContent(List content);
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <em>/**<em>*</em></em>
+<a name="101" href="#101">101</a> <em>     * Appends the content of the given branch to this branch instance. This</em>
+<a name="102" href="#102">102</a> <em>     * method behaves like the {@link</em>
+<a name="103" href="#103">103</a> <em>     * java.util.Collection#addAll(java.util.Collection)} method.</em>
+<a name="104" href="#104">104</a> <em>     * </em>
+<a name="105" href="#105">105</a> <em>     * @param branch</em>
+<a name="106" href="#106">106</a> <em>     *            is the branch whose content will be added to me.</em>
+<a name="107" href="#107">107</a> <em>     */</em>
+<a name="108" href="#108">108</a>     <strong>void</strong> appendContent(<a href="../../org/dom4j/Branch.html">Branch</a> branch);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <em>/**<em>*</em></em>
+<a name="111" href="#111">111</a> <em>     * Clears the content for this branch, removing any <code>Node</code></em>
+<a name="112" href="#112">112</a> <em>     * instances this branch may contain.</em>
+<a name="113" href="#113">113</a> <em>     */</em>
+<a name="114" href="#114">114</a>     <strong>void</strong> clearContent();
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>     <em>/**<em>*</em></em>
+<a name="117" href="#117">117</a> <em>     * <p></em>
+<a name="118" href="#118">118</a> <em>     * Returns a list of all the processing instructions in this branch. The</em>
+<a name="119" href="#119">119</a> <em>     * list is backed by this branch so that changes to the list will be</em>
+<a name="120" href="#120">120</a> <em>     * reflected in the branch but the reverse is not the case.</em>
+<a name="121" href="#121">121</a> <em>     * </p></em>
+<a name="122" href="#122">122</a> <em>     * </em>
+<a name="123" href="#123">123</a> <em>     * @return a backed list of the processing instructions</em>
+<a name="124" href="#124">124</a> <em>     */</em>
+<a name="125" href="#125">125</a>     List processingInstructions();
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>     <em>/**<em>*</em></em>
+<a name="128" href="#128">128</a> <em>     * <p></em>
+<a name="129" href="#129">129</a> <em>     * Returns a list of the processing instructions for the given target. The</em>
+<a name="130" href="#130">130</a> <em>     * list is backed by this branch so that changes to the list will be</em>
+<a name="131" href="#131">131</a> <em>     * reflected in the branch but the reverse is not the case.</em>
+<a name="132" href="#132">132</a> <em>     * </p></em>
+<a name="133" href="#133">133</a> <em>     * </em>
+<a name="134" href="#134">134</a> <em>     * @param target</em>
+<a name="135" href="#135">135</a> <em>     *            DOCUMENT ME!</em>
+<a name="136" href="#136">136</a> <em>     * </em>
+<a name="137" href="#137">137</a> <em>     * @return a backed list of the processing instructions</em>
+<a name="138" href="#138">138</a> <em>     */</em>
+<a name="139" href="#139">139</a>     List processingInstructions(String target);
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>     <em>/**<em>*</em></em>
+<a name="142" href="#142">142</a> <em>     * DOCUMENT ME!</em>
+<a name="143" href="#143">143</a> <em>     * </em>
+<a name="144" href="#144">144</a> <em>     * @param target</em>
+<a name="145" href="#145">145</a> <em>     *            DOCUMENT ME!</em>
+<a name="146" href="#146">146</a> <em>     * </em>
+<a name="147" href="#147">147</a> <em>     * @return the processing instruction for the given target</em>
+<a name="148" href="#148">148</a> <em>     */</em>
+<a name="149" href="#149">149</a>     <a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> processingInstruction(String target);
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>     <em>/**<em>*</em></em>
+<a name="152" href="#152">152</a> <em>     * Sets all the processing instructions for this branch</em>
+<a name="153" href="#153">153</a> <em>     * </em>
+<a name="154" href="#154">154</a> <em>     * @param listOfPIs</em>
+<a name="155" href="#155">155</a> <em>     *            DOCUMENT ME!</em>
+<a name="156" href="#156">156</a> <em>     */</em>
+<a name="157" href="#157">157</a>     <strong>void</strong> setProcessingInstructions(List listOfPIs);
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>     <em>/**<em>*</em></em>
+<a name="160" href="#160">160</a> <em>     * Adds a new <code>Element</code> node with the given name to this branch</em>
+<a name="161" href="#161">161</a> <em>     * and returns a reference to the new node.</em>
+<a name="162" href="#162">162</a> <em>     * </em>
+<a name="163" href="#163">163</a> <em>     * @param name</em>
+<a name="164" href="#164">164</a> <em>     *            is the name for the <code>Element</code> node.</em>
+<a name="165" href="#165">165</a> <em>     * </em>
+<a name="166" href="#166">166</a> <em>     * @return the newly added <code>Element</code> node.</em>
+<a name="167" href="#167">167</a> <em>     */</em>
+<a name="168" href="#168">168</a>     <a href="../../org/dom4j/Element.html">Element</a> addElement(String name);
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>     <em>/**<em>*</em></em>
+<a name="171" href="#171">171</a> <em>     * Adds a new <code>Element</code> node with the given {@link QName}to</em>
+<a name="172" href="#172">172</a> <em>     * this branch and returns a reference to the new node.</em>
+<a name="173" href="#173">173</a> <em>     * </em>
+<a name="174" href="#174">174</a> <em>     * @param qname</em>
+<a name="175" href="#175">175</a> <em>     *            is the qualified name for the <code>Element</code> node.</em>
+<a name="176" href="#176">176</a> <em>     * </em>
+<a name="177" href="#177">177</a> <em>     * @return the newly added <code>Element</code> node.</em>
+<a name="178" href="#178">178</a> <em>     */</em>
+<a name="179" href="#179">179</a>     <a href="../../org/dom4j/Element.html">Element</a> addElement(<a href="../../org/dom4j/QName.html">QName</a> qname);
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>     <em>/**<em>*</em></em>
+<a name="182" href="#182">182</a> <em>     * Adds a new <code>Element</code> node with the given qualified name and</em>
+<a name="183" href="#183">183</a> <em>     * namespace URI to this branch and returns a reference to the new node.</em>
+<a name="184" href="#184">184</a> <em>     * </em>
+<a name="185" href="#185">185</a> <em>     * @param qualifiedName</em>
+<a name="186" href="#186">186</a> <em>     *            is the fully qualified name of the Element</em>
+<a name="187" href="#187">187</a> <em>     * @param namespaceURI</em>
+<a name="188" href="#188">188</a> <em>     *            is the URI of the namespace to use</em>
+<a name="189" href="#189">189</a> <em>     * </em>
+<a name="190" href="#190">190</a> <em>     * @return the newly added <code>Element</code> node.</em>
+<a name="191" href="#191">191</a> <em>     */</em>
+<a name="192" href="#192">192</a>     <a href="../../org/dom4j/Element.html">Element</a> addElement(String qualifiedName, String namespaceURI);
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>     <em>/**<em>*</em></em>
+<a name="195" href="#195">195</a> <em>     * Removes the processing instruction for the given target if it exists</em>
+<a name="196" href="#196">196</a> <em>     * </em>
+<a name="197" href="#197">197</a> <em>     * @param target</em>
+<a name="198" href="#198">198</a> <em>     *            DOCUMENT ME!</em>
+<a name="199" href="#199">199</a> <em>     * </em>
+<a name="200" href="#200">200</a> <em>     * @return true if a processing instruction was removed else false</em>
+<a name="201" href="#201">201</a> <em>     */</em>
+<a name="202" href="#202">202</a>     <strong>boolean</strong> removeProcessingInstruction(String target);
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>     <em>/**<em>*</em></em>
+<a name="205" href="#205">205</a> <em>     * Adds the given <code>Node</code> or throws {@link IllegalAddException}</em>
+<a name="206" href="#206">206</a> <em>     * if the given node is not of a valid type. This is a polymorphic method</em>
+<a name="207" href="#207">207</a> <em>     * which will call the typesafe method for the node type such as</em>
+<a name="208" href="#208">208</a> <em>     * add(Element) or add(Comment).</em>
+<a name="209" href="#209">209</a> <em>     * </em>
+<a name="210" href="#210">210</a> <em>     * @param node</em>
+<a name="211" href="#211">211</a> <em>     *            is the given node to add</em>
+<a name="212" href="#212">212</a> <em>     */</em>
+<a name="213" href="#213">213</a>     <strong>void</strong> add(<a href="../../org/dom4j/Node.html">Node</a> node);
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>     <em>/**<em>*</em></em>
+<a name="216" href="#216">216</a> <em>     * Adds the given <code>Comment</code> to this branch. If the given node</em>
+<a name="217" href="#217">217</a> <em>     * already has a parent defined then an <code>IllegalAddException</code></em>
+<a name="218" href="#218">218</a> <em>     * will be thrown.</em>
+<a name="219" href="#219">219</a> <em>     * </em>
+<a name="220" href="#220">220</a> <em>     * @param comment</em>
+<a name="221" href="#221">221</a> <em>     *            is the comment to be added</em>
+<a name="222" href="#222">222</a> <em>     */</em>
+<a name="223" href="#223">223</a>     <strong>void</strong> add(<a href="../../org/dom4j/Comment.html">Comment</a> comment);
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>     <em>/**<em>*</em></em>
+<a name="226" href="#226">226</a> <em>     * Adds the given <code>Element</code> to this branch. If the given node</em>
+<a name="227" href="#227">227</a> <em>     * already has a parent defined then an <code>IllegalAddException</code></em>
+<a name="228" href="#228">228</a> <em>     * will be thrown.</em>
+<a name="229" href="#229">229</a> <em>     * </em>
+<a name="230" href="#230">230</a> <em>     * @param element</em>
+<a name="231" href="#231">231</a> <em>     *            is the element to be added</em>
+<a name="232" href="#232">232</a> <em>     */</em>
+<a name="233" href="#233">233</a>     <strong>void</strong> add(<a href="../../org/dom4j/Element.html">Element</a> element);
+<a name="234" href="#234">234</a> 
+<a name="235" href="#235">235</a>     <em>/**<em>*</em></em>
+<a name="236" href="#236">236</a> <em>     * Adds the given <code>ProcessingInstruction</code> to this branch. If</em>
+<a name="237" href="#237">237</a> <em>     * the given node already has a parent defined then an</em>
+<a name="238" href="#238">238</a> <em>     * <code>IllegalAddException</code> will be thrown.</em>
+<a name="239" href="#239">239</a> <em>     * </em>
+<a name="240" href="#240">240</a> <em>     * @param pi</em>
+<a name="241" href="#241">241</a> <em>     *            is the processing instruction to be added</em>
+<a name="242" href="#242">242</a> <em>     */</em>
+<a name="243" href="#243">243</a>     <strong>void</strong> add(<a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi);
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>     <em>/**<em>*</em></em>
+<a name="246" href="#246">246</a> <em>     * Removes the given <code>Node</code> if the node is an immediate child</em>
+<a name="247" href="#247">247</a> <em>     * of this branch. If the given node is not an immediate child of this</em>
+<a name="248" href="#248">248</a> <em>     * branch then the {@link Node#detach()}method should be used instead. This</em>
+<a name="249" href="#249">249</a> <em>     * is a polymorphic method which will call the typesafe method for the node</em>
+<a name="250" href="#250">250</a> <em>     * type such as remove(Element) or remove(Comment).</em>
+<a name="251" href="#251">251</a> <em>     * </em>
+<a name="252" href="#252">252</a> <em>     * @param node</em>
+<a name="253" href="#253">253</a> <em>     *            is the given node to be removed</em>
+<a name="254" href="#254">254</a> <em>     * </em>
+<a name="255" href="#255">255</a> <em>     * @return true if the node was removed</em>
+<a name="256" href="#256">256</a> <em>     */</em>
+<a name="257" href="#257">257</a>     <strong>boolean</strong> remove(<a href="../../org/dom4j/Node.html">Node</a> node);
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>     <em>/**<em>*</em></em>
+<a name="260" href="#260">260</a> <em>     * Removes the given <code>Comment</code> if the node is an immediate</em>
+<a name="261" href="#261">261</a> <em>     * child of this branch. If the given node is not an immediate child of this</em>
+<a name="262" href="#262">262</a> <em>     * branch then the {@link Node#detach()}method should be used instead.</em>
+<a name="263" href="#263">263</a> <em>     * </em>
+<a name="264" href="#264">264</a> <em>     * @param comment</em>
+<a name="265" href="#265">265</a> <em>     *            is the comment to be removed</em>
+<a name="266" href="#266">266</a> <em>     * </em>
+<a name="267" href="#267">267</a> <em>     * @return true if the comment was removed</em>
+<a name="268" href="#268">268</a> <em>     */</em>
+<a name="269" href="#269">269</a>     <strong>boolean</strong> remove(<a href="../../org/dom4j/Comment.html">Comment</a> comment);
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a>     <em>/**<em>*</em></em>
+<a name="272" href="#272">272</a> <em>     * Removes the given <code>Element</code> if the node is an immediate</em>
+<a name="273" href="#273">273</a> <em>     * child of this branch. If the given node is not an immediate child of this</em>
+<a name="274" href="#274">274</a> <em>     * branch then the {@link Node#detach()}method should be used instead.</em>
+<a name="275" href="#275">275</a> <em>     * </em>
+<a name="276" href="#276">276</a> <em>     * @param element</em>
+<a name="277" href="#277">277</a> <em>     *            is the element to be removed</em>
+<a name="278" href="#278">278</a> <em>     * </em>
+<a name="279" href="#279">279</a> <em>     * @return true if the element was removed</em>
+<a name="280" href="#280">280</a> <em>     */</em>
+<a name="281" href="#281">281</a>     <strong>boolean</strong> remove(<a href="../../org/dom4j/Element.html">Element</a> element);
+<a name="282" href="#282">282</a> 
+<a name="283" href="#283">283</a>     <em>/**<em>*</em></em>
+<a name="284" href="#284">284</a> <em>     * Removes the given <code>ProcessingInstruction</code> if the node is an</em>
+<a name="285" href="#285">285</a> <em>     * immediate child of this branch. If the given node is not an immediate</em>
+<a name="286" href="#286">286</a> <em>     * child of this branch then the {@link Node#detach()}method should be used</em>
+<a name="287" href="#287">287</a> <em>     * instead.</em>
+<a name="288" href="#288">288</a> <em>     * </em>
+<a name="289" href="#289">289</a> <em>     * @param pi</em>
+<a name="290" href="#290">290</a> <em>     *            is the processing instruction to be removed</em>
+<a name="291" href="#291">291</a> <em>     * </em>
+<a name="292" href="#292">292</a> <em>     * @return true if the processing instruction was removed</em>
+<a name="293" href="#293">293</a> <em>     */</em>
+<a name="294" href="#294">294</a>     <strong>boolean</strong> remove(<a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi);
+<a name="295" href="#295">295</a> 
+<a name="296" href="#296">296</a>     <em>/**<em>*</em></em>
+<a name="297" href="#297">297</a> <em>     * Puts all <code>Text</code> nodes in the full depth of the sub-tree</em>
+<a name="298" href="#298">298</a> <em>     * underneath this <code>Node</code>, including attribute nodes, into a</em>
+<a name="299" href="#299">299</a> <em>     * "normal" form where only structure (e.g., elements, comments, processing</em>
+<a name="300" href="#300">300</a> <em>     * instructions, CDATA sections, and entity references) separates</em>
+<a name="301" href="#301">301</a> <em>     * <code>Text</code> nodes, i.e., there are neither adjacent</em>
+<a name="302" href="#302">302</a> <em>     * <code>Text</code> nodes nor empty <code>Text</code> nodes. This can</em>
+<a name="303" href="#303">303</a> <em>     * be used to ensure that the DOM view of a document is the same as if it</em>
+<a name="304" href="#304">304</a> <em>     * were saved and re-loaded, and is useful when operations (such as XPointer</em>
+<a name="305" href="#305">305</a> <em>     * lookups) that depend on a particular document tree structure are to be</em>
+<a name="306" href="#306">306</a> <em>     * used.In cases where the document contains <code>CDATASections</code>,</em>
+<a name="307" href="#307">307</a> <em>     * the normalize operation alone may not be sufficient, since XPointers do</em>
+<a name="308" href="#308">308</a> <em>     * not differentiate between <code>Text</code> nodes and</em>
+<a name="309" href="#309">309</a> <em>     * <code>CDATASection</code> nodes.</em>
+<a name="310" href="#310">310</a> <em>     * </em>
+<a name="311" href="#311">311</a> <em>     * @since DOM Level 2</em>
+<a name="312" href="#312">312</a> <em>     */</em>
+<a name="313" href="#313">313</a>     <strong>void</strong> normalize();
+<a name="314" href="#314">314</a> }
+<a name="315" href="#315">315</a> 
+<a name="316" href="#316">316</a> <em class="comment">/*</em>
+<a name="317" href="#317">317</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="318" href="#318">318</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="319" href="#319">319</a> <em class="comment"> * following conditions are met:</em>
+<a name="320" href="#320">320</a> <em class="comment"> * </em>
+<a name="321" href="#321">321</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="322" href="#322">322</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="323" href="#323">323</a> <em class="comment"> * </em>
+<a name="324" href="#324">324</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="325" href="#325">325</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="326" href="#326">326</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="327" href="#327">327</a> <em class="comment"> * </em>
+<a name="328" href="#328">328</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="329" href="#329">329</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="330" href="#330">330</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="331" href="#331">331</a> <em class="comment"> * </em>
+<a name="332" href="#332">332</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="333" href="#333">333</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="334" href="#334">334</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="335" href="#335">335</a> <em class="comment"> * </em>
+<a name="336" href="#336">336</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="337" href="#337">337</a> <em class="comment"> * </em>
+<a name="338" href="#338">338</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="339" href="#339">339</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="340" href="#340">340</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="341" href="#341">341</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="342" href="#342">342</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="343" href="#343">343</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="344" href="#344">344</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="345" href="#345">345</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="346" href="#346">346</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="347" href="#347">347</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="348" href="#348">348</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="349" href="#349">349</a> <em class="comment"> * </em>
+<a name="350" href="#350">350</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="351" href="#351">351</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/CDATA.html b/docs/xref/org/dom4j/CDATA.html
new file mode 100644
index 0000000..b2b2499
--- /dev/null
+++ b/docs/xref/org/dom4j/CDATA.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CDATA xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/CDATA.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>CDATA</code> defines an XML CDATA section.</em>
+<a name="13" href="#13">13</a>  <em> * </p></em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/CDATA.html">CDATA</a> <strong>extends</strong> <a href="../../org/dom4j/CharacterData.html">CharacterData</a> {
+<a name="19" href="#19">19</a>  }
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em class="comment">/*</em>
+<a name="22" href="#22">22</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="23" href="#23">23</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="24" href="#24">24</a>  <em class="comment"> * following conditions are met:</em>
+<a name="25" href="#25">25</a>  <em class="comment"> * </em>
+<a name="26" href="#26">26</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="27" href="#27">27</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="28" href="#28">28</a>  <em class="comment"> * </em>
+<a name="29" href="#29">29</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="30" href="#30">30</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="32" href="#32">32</a>  <em class="comment"> * </em>
+<a name="33" href="#33">33</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="34" href="#34">34</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * </em>
+<a name="37" href="#37">37</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="42" href="#42">42</a>  <em class="comment"> * </em>
+<a name="43" href="#43">43</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/CharacterData.html b/docs/xref/org/dom4j/CharacterData.html
new file mode 100644
index 0000000..7e722e1
--- /dev/null
+++ b/docs/xref/org/dom4j/CharacterData.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CharacterData xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/CharacterData.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>CharacterData</code> is a marker interface for character based nodes</em>
+<a name="13" href="#13">13</a>  <em> * such as the <code>CDATA</code>,<code>Comment</code> and</em>
+<a name="14" href="#14">14</a>  <em> * <code>Text</code> nodes.</em>
+<a name="15" href="#15">15</a>  <em> * </p></em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="18" href="#18">18</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/CharacterData.html">CharacterData</a> <strong>extends</strong> <a href="../../org/dom4j/Node.html">Node</a> {
+<a name="21" href="#21">21</a>      <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em>     * Appends the given text to this nodes text value. Calling this method is</em>
+<a name="23" href="#23">23</a>  <em>     * equivalent of the code <code>node.setText(node.getText() + text)</code></em>
+<a name="24" href="#24">24</a>  <em>     * but allows for possible implementation optimisations (such as a text</em>
+<a name="25" href="#25">25</a>  <em>     * based node storing a StringBuffer internally</em>
+<a name="26" href="#26">26</a>  <em>     * </em>
+<a name="27" href="#27">27</a>  <em>     * @param text</em>
+<a name="28" href="#28">28</a>  <em>     *            the text to append</em>
+<a name="29" href="#29">29</a>  <em>     */</em>
+<a name="30" href="#30">30</a>      <strong>void</strong> appendText(String text);
+<a name="31" href="#31">31</a>  }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>  <em class="comment">/*</em>
+<a name="34" href="#34">34</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * following conditions are met:</em>
+<a name="37" href="#37">37</a>  <em class="comment"> * </em>
+<a name="38" href="#38">38</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * </em>
+<a name="45" href="#45">45</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * </em>
+<a name="53" href="#53">53</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="68" href="#68">68</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/Comment.html b/docs/xref/org/dom4j/Comment.html
new file mode 100644
index 0000000..99bd253
--- /dev/null
+++ b/docs/xref/org/dom4j/Comment.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Comment xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Comment.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>Comment</code> defines the behavior of an XML comment.</em>
+<a name="13" href="#13">13</a>  <em> * </p></em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/Comment.html">Comment</a> <strong>extends</strong> <a href="../../org/dom4j/CharacterData.html">CharacterData</a> {
+<a name="19" href="#19">19</a>  }
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em class="comment">/*</em>
+<a name="22" href="#22">22</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="23" href="#23">23</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="24" href="#24">24</a>  <em class="comment"> * following conditions are met:</em>
+<a name="25" href="#25">25</a>  <em class="comment"> * </em>
+<a name="26" href="#26">26</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="27" href="#27">27</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="28" href="#28">28</a>  <em class="comment"> * </em>
+<a name="29" href="#29">29</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="30" href="#30">30</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="32" href="#32">32</a>  <em class="comment"> * </em>
+<a name="33" href="#33">33</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="34" href="#34">34</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * </em>
+<a name="37" href="#37">37</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="42" href="#42">42</a>  <em class="comment"> * </em>
+<a name="43" href="#43">43</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/Document.html b/docs/xref/org/dom4j/Document.html
new file mode 100644
index 0000000..5b6a6cc
--- /dev/null
+++ b/docs/xref/org/dom4j/Document.html
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Document xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Document.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Map;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.xml.sax.EntityResolver;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>Document</code> defines an XML Document.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.14 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/Document.html">Document</a> <strong>extends</strong> <a href="../../org/dom4j/Branch.html">Branch</a> {
+<a name="23" href="#23">23</a>      <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em>     * Returns the root {@link Element}for this document.</em>
+<a name="25" href="#25">25</a>  <em>     * </em>
+<a name="26" href="#26">26</a>  <em>     * @return the root element for this document</em>
+<a name="27" href="#27">27</a>  <em>     */</em>
+<a name="28" href="#28">28</a>      <a href="../../org/dom4j/Element.html">Element</a> getRootElement();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em>     * Sets the root element for this document</em>
+<a name="32" href="#32">32</a>  <em>     * </em>
+<a name="33" href="#33">33</a>  <em>     * @param rootElement</em>
+<a name="34" href="#34">34</a>  <em>     *            the new root element for this document</em>
+<a name="35" href="#35">35</a>  <em>     */</em>
+<a name="36" href="#36">36</a>      <strong>void</strong> setRootElement(<a href="../../org/dom4j/Element.html">Element</a> rootElement);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>*</em></em>
+<a name="39" href="#39">39</a>  <em>     * Adds a new <code>Comment</code> node with the given text to this</em>
+<a name="40" href="#40">40</a>  <em>     * branch.</em>
+<a name="41" href="#41">41</a>  <em>     * </em>
+<a name="42" href="#42">42</a>  <em>     * @param comment</em>
+<a name="43" href="#43">43</a>  <em>     *            is the text for the <code>Comment</code> node.</em>
+<a name="44" href="#44">44</a>  <em>     * </em>
+<a name="45" href="#45">45</a>  <em>     * @return this <code>Document</code> instance.</em>
+<a name="46" href="#46">46</a>  <em>     */</em>
+<a name="47" href="#47">47</a>      <a href="../../org/dom4j/Document.html">Document</a> addComment(String comment);
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>*</em></em>
+<a name="50" href="#50">50</a>  <em>     * Adds a processing instruction for the given target</em>
+<a name="51" href="#51">51</a>  <em>     * </em>
+<a name="52" href="#52">52</a>  <em>     * @param target</em>
+<a name="53" href="#53">53</a>  <em>     *            is the target of the processing instruction</em>
+<a name="54" href="#54">54</a>  <em>     * @param text</em>
+<a name="55" href="#55">55</a>  <em>     *            is the textual data (key/value pairs) of the processing</em>
+<a name="56" href="#56">56</a>  <em>     *            instruction</em>
+<a name="57" href="#57">57</a>  <em>     * </em>
+<a name="58" href="#58">58</a>  <em>     * @return this <code>Document</code> instance.</em>
+<a name="59" href="#59">59</a>  <em>     */</em>
+<a name="60" href="#60">60</a>      <a href="../../org/dom4j/Document.html">Document</a> addProcessingInstruction(String target, String text);
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em>/**<em>*</em></em>
+<a name="63" href="#63">63</a>  <em>     * Adds a processing instruction for the given target</em>
+<a name="64" href="#64">64</a>  <em>     * </em>
+<a name="65" href="#65">65</a>  <em>     * @param target</em>
+<a name="66" href="#66">66</a>  <em>     *            is the target of the processing instruction</em>
+<a name="67" href="#67">67</a>  <em>     * @param data</em>
+<a name="68" href="#68">68</a>  <em>     *            is a Map of the key / value pairs of the processing</em>
+<a name="69" href="#69">69</a>  <em>     *            instruction</em>
+<a name="70" href="#70">70</a>  <em>     * </em>
+<a name="71" href="#71">71</a>  <em>     * @return this <code>Document</code> instance.</em>
+<a name="72" href="#72">72</a>  <em>     */</em>
+<a name="73" href="#73">73</a>      <a href="../../org/dom4j/Document.html">Document</a> addProcessingInstruction(String target, Map data);
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <em>/**<em>*</em></em>
+<a name="76" href="#76">76</a>  <em>     * Adds a DOCTYPE declaration to this document</em>
+<a name="77" href="#77">77</a>  <em>     * </em>
+<a name="78" href="#78">78</a>  <em>     * @param name</em>
+<a name="79" href="#79">79</a>  <em>     *            is the name of the root element</em>
+<a name="80" href="#80">80</a>  <em>     * @param publicId</em>
+<a name="81" href="#81">81</a>  <em>     *            is the PUBLIC URI</em>
+<a name="82" href="#82">82</a>  <em>     * @param systemId</em>
+<a name="83" href="#83">83</a>  <em>     *            is the SYSTEM URI</em>
+<a name="84" href="#84">84</a>  <em>     * </em>
+<a name="85" href="#85">85</a>  <em>     * @return this <code>Document</code> instance.</em>
+<a name="86" href="#86">86</a>  <em>     */</em>
+<a name="87" href="#87">87</a>      <a href="../../org/dom4j/Document.html">Document</a> addDocType(String name, String publicId, String systemId);
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <em>/**<em>*</em></em>
+<a name="90" href="#90">90</a>  <em>     * DOCUMENT ME!</em>
+<a name="91" href="#91">91</a>  <em>     * </em>
+<a name="92" href="#92">92</a>  <em>     * @return the DocumentType property</em>
+<a name="93" href="#93">93</a>  <em>     */</em>
+<a name="94" href="#94">94</a>      <a href="../../org/dom4j/DocumentType.html">DocumentType</a> getDocType();
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <em>/**<em>*</em></em>
+<a name="97" href="#97">97</a>  <em>     * Sets the DocumentType property</em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     * @param docType</em>
+<a name="100" href="#100">100</a> <em>     *            DOCUMENT ME!</em>
+<a name="101" href="#101">101</a> <em>     */</em>
+<a name="102" href="#102">102</a>     <strong>void</strong> setDocType(<a href="../../org/dom4j/DocumentType.html">DocumentType</a> docType);
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <em>/**<em>*</em></em>
+<a name="105" href="#105">105</a> <em>     * DOCUMENT ME!</em>
+<a name="106" href="#106">106</a> <em>     * </em>
+<a name="107" href="#107">107</a> <em>     * @return the EntityResolver used to find resolve URIs such as for DTDs, or</em>
+<a name="108" href="#108">108</a> <em>     *         XML Schema documents</em>
+<a name="109" href="#109">109</a> <em>     */</em>
+<a name="110" href="#110">110</a>     EntityResolver getEntityResolver();
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <em>/**<em>*</em></em>
+<a name="113" href="#113">113</a> <em>     * Sets the EntityResolver used to find resolve URIs such as for DTDs, or</em>
+<a name="114" href="#114">114</a> <em>     * XML Schema documents</em>
+<a name="115" href="#115">115</a> <em>     * </em>
+<a name="116" href="#116">116</a> <em>     * @param entityResolver</em>
+<a name="117" href="#117">117</a> <em>     *            DOCUMENT ME!</em>
+<a name="118" href="#118">118</a> <em>     */</em>
+<a name="119" href="#119">119</a>     <strong>void</strong> setEntityResolver(EntityResolver entityResolver);
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <em>/**<em>*</em></em>
+<a name="122" href="#122">122</a> <em>     * Return the encoding of this document, as part of the XML declaration This</em>
+<a name="123" href="#123">123</a> <em>     * is <code>null</code> when unspecified or when it is not known (such as</em>
+<a name="124" href="#124">124</a> <em>     * when the Document was created in memory) or when the implementation does</em>
+<a name="125" href="#125">125</a> <em>     * not support this operation.</em>
+<a name="126" href="#126">126</a> <em>     * </em>
+<a name="127" href="#127">127</a> <em>     * <p></em>
+<a name="128" href="#128">128</a> <em>     * The way this encoding is retrieved also depends on the way the XML source</em>
+<a name="129" href="#129">129</a> <em>     * is parsed. For instance, if the SAXReader is used and if the underlying</em>
+<a name="130" href="#130">130</a> <em>     * XMLReader implementation support the</em>
+<a name="131" href="#131">131</a> <em>     * <code>org.xml.sax.ext.Locator2</code> interface, the result returned by</em>
+<a name="132" href="#132">132</a> <em>     * this method is specified by the <code>getEncoding()</code> method of</em>
+<a name="133" href="#133">133</a> <em>     * that interface.</em>
+<a name="134" href="#134">134</a> <em>     * </p></em>
+<a name="135" href="#135">135</a> <em>     * </em>
+<a name="136" href="#136">136</a> <em>     * @return The encoding of this document, as stated in the XML declaration,</em>
+<a name="137" href="#137">137</a> <em>     *         or <code>null</code> if unknown.</em>
+<a name="138" href="#138">138</a> <em>     * </em>
+<a name="139" href="#139">139</a> <em>     * @since 1.5</em>
+<a name="140" href="#140">140</a> <em>     */</em>
+<a name="141" href="#141">141</a>     String getXMLEncoding();
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <em>/**<em>*</em></em>
+<a name="144" href="#144">144</a> <em>     * Sets the encoding of this document as it will appear in the XML</em>
+<a name="145" href="#145">145</a> <em>     * declaration part of the document.</em>
+<a name="146" href="#146">146</a> <em>     * </em>
+<a name="147" href="#147">147</a> <em>     * @param encoding the encoding of the document</em>
+<a name="148" href="#148">148</a> <em>     * </em>
+<a name="149" href="#149">149</a> <em>     * @since 1.6</em>
+<a name="150" href="#150">150</a> <em>     */</em>
+<a name="151" href="#151">151</a>     <strong>void</strong> setXMLEncoding(String encoding);
+<a name="152" href="#152">152</a> }
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a> <em class="comment">/*</em>
+<a name="155" href="#155">155</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="156" href="#156">156</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="157" href="#157">157</a> <em class="comment"> * following conditions are met:</em>
+<a name="158" href="#158">158</a> <em class="comment"> * </em>
+<a name="159" href="#159">159</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="160" href="#160">160</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="161" href="#161">161</a> <em class="comment"> * </em>
+<a name="162" href="#162">162</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="163" href="#163">163</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="164" href="#164">164</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="165" href="#165">165</a> <em class="comment"> * </em>
+<a name="166" href="#166">166</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="167" href="#167">167</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="168" href="#168">168</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="169" href="#169">169</a> <em class="comment"> * </em>
+<a name="170" href="#170">170</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="171" href="#171">171</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="172" href="#172">172</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="173" href="#173">173</a> <em class="comment"> * </em>
+<a name="174" href="#174">174</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="175" href="#175">175</a> <em class="comment"> * </em>
+<a name="176" href="#176">176</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="177" href="#177">177</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="178" href="#178">178</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="179" href="#179">179</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="180" href="#180">180</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="181" href="#181">181</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="182" href="#182">182</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="183" href="#183">183</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="184" href="#184">184</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="185" href="#185">185</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="186" href="#186">186</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="187" href="#187">187</a> <em class="comment"> * </em>
+<a name="188" href="#188">188</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="189" href="#189">189</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/DocumentException.html b/docs/xref/org/dom4j/DocumentException.html
new file mode 100644
index 0000000..98427b7
--- /dev/null
+++ b/docs/xref/org/dom4j/DocumentException.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocumentException xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/DocumentException.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.PrintStream;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.PrintWriter;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>DocumentException</code> is a nested Exception which may be thrown</em>
+<a name="16" href="#16">16</a>  <em> * during the processing of a DOM4J document.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/DocumentException.html">DocumentException</a> <strong>extends</strong> Exception {
+<a name="23" href="#23">23</a>      <em>/**<em>* A wrapped <code>Throwable</code> */</em></em>
+<a name="24" href="#24">24</a>      <strong>private</strong> Throwable nestedException;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>public</strong> <a href="../../org/dom4j/DocumentException.html">DocumentException</a>() {
+<a name="27" href="#27">27</a>          <strong>super</strong>(<span class="string">"Error occurred in DOM4J application."</span>);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <a href="../../org/dom4j/DocumentException.html">DocumentException</a>(String message) {
+<a name="31" href="#31">31</a>          <strong>super</strong>(message);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <a href="../../org/dom4j/DocumentException.html">DocumentException</a>(Throwable nestedException) {
+<a name="35" href="#35">35</a>          <strong>super</strong>(nestedException.getMessage());
+<a name="36" href="#36">36</a>          <strong>this</strong>.nestedException = nestedException;
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../org/dom4j/DocumentException.html">DocumentException</a>(String message, Throwable nestedException) {
+<a name="40" href="#40">40</a>          <strong>super</strong>(message);
+<a name="41" href="#41">41</a>          <strong>this</strong>.nestedException = nestedException;
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> Throwable getNestedException() {
+<a name="45" href="#45">45</a>          <strong>return</strong> nestedException;
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> String getMessage() {
+<a name="49" href="#49">49</a>          <strong>if</strong> (nestedException != <strong>null</strong>) {
+<a name="50" href="#50">50</a>              <strong>return</strong> <strong>super</strong>.getMessage() + <span class="string">" Nested exception: "</span>
+<a name="51" href="#51">51</a>                      + nestedException.getMessage();
+<a name="52" href="#52">52</a>          } <strong>else</strong> {
+<a name="53" href="#53">53</a>              <strong>return</strong> <strong>super</strong>.getMessage();
+<a name="54" href="#54">54</a>          }
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> printStackTrace() {
+<a name="58" href="#58">58</a>          <strong>super</strong>.printStackTrace();
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>if</strong> (nestedException != <strong>null</strong>) {
+<a name="61" href="#61">61</a>              System.err.print(<span class="string">"Nested exception: "</span>);
+<a name="62" href="#62">62</a>              nestedException.printStackTrace();
+<a name="63" href="#63">63</a>          }
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <strong>public</strong> <strong>void</strong> printStackTrace(PrintStream out) {
+<a name="67" href="#67">67</a>          <strong>super</strong>.printStackTrace(out);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          <strong>if</strong> (nestedException != <strong>null</strong>) {
+<a name="70" href="#70">70</a>              out.println(<span class="string">"Nested exception: "</span>);
+<a name="71" href="#71">71</a>              nestedException.printStackTrace(out);
+<a name="72" href="#72">72</a>          }
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <strong>public</strong> <strong>void</strong> printStackTrace(PrintWriter writer) {
+<a name="76" href="#76">76</a>          <strong>super</strong>.printStackTrace(writer);
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          <strong>if</strong> (nestedException != <strong>null</strong>) {
+<a name="79" href="#79">79</a>              writer.println(<span class="string">"Nested exception: "</span>);
+<a name="80" href="#80">80</a>              nestedException.printStackTrace(writer);
+<a name="81" href="#81">81</a>          }
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>  <em class="comment">/*</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * following conditions are met:</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="102" href="#102">102</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="103" href="#103">103</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="104" href="#104">104</a> <em class="comment"> * </em>
+<a name="105" href="#105">105</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="106" href="#106">106</a> <em class="comment"> * </em>
+<a name="107" href="#107">107</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="108" href="#108">108</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="109" href="#109">109</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="110" href="#110">110</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="111" href="#111">111</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="112" href="#112">112</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="113" href="#113">113</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="114" href="#114">114</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="115" href="#115">115</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="116" href="#116">116</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="117" href="#117">117</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="118" href="#118">118</a> <em class="comment"> * </em>
+<a name="119" href="#119">119</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="120" href="#120">120</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/DocumentFactory.html b/docs/xref/org/dom4j/DocumentFactory.html
new file mode 100644
index 0000000..452a7c3
--- /dev/null
+++ b/docs/xref/org/dom4j/DocumentFactory.html
@@ -0,0 +1,469 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocumentFactory xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/DocumentFactory.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.ObjectInputStream;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.Serializable;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.Map;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.rule.Pattern;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.tree.AbstractDocument;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.tree.DefaultAttribute;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.tree.DefaultCDATA;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.tree.DefaultComment;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.tree.DefaultDocument;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.tree.DefaultDocumentType;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.tree.DefaultElement;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.tree.DefaultEntity;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.tree.DefaultProcessingInstruction;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.tree.DefaultText;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.dom4j.tree.QNameCache;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.dom4j.util.SimpleSingleton;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.dom4j.util.SingletonStrategy;
+<a name="30" href="#30">30</a>  <strong>import</strong> org.dom4j.xpath.DefaultXPath;
+<a name="31" href="#31">31</a>  <strong>import</strong> org.dom4j.xpath.XPathPattern;
+<a name="32" href="#32">32</a>  <strong>import</strong> org.jaxen.VariableContext;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>  <em>/**<em>*</em></em>
+<a name="35" href="#35">35</a>  <em> * <p></em>
+<a name="36" href="#36">36</a>  <em> * <code>DocumentFactory</code> is a collection of factory methods to allow</em>
+<a name="37" href="#37">37</a>  <em> * easy custom building of DOM4J trees. The default tree that is built uses a</em>
+<a name="38" href="#38">38</a>  <em> * doubly linked tree.</em>
+<a name="39" href="#39">39</a>  <em> * </p></em>
+<a name="40" href="#40">40</a>  <em> * </em>
+<a name="41" href="#41">41</a>  <em> * <p></em>
+<a name="42" href="#42">42</a>  <em> * The tree built allows full XPath expressions from anywhere on the tree.</em>
+<a name="43" href="#43">43</a>  <em> * </p></em>
+<a name="44" href="#44">44</a>  <em> * </em>
+<a name="45" href="#45">45</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="46" href="#46">46</a>  <em> */</em>
+<a name="47" href="#47">47</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/DocumentFactory.html">DocumentFactory</a> implements Serializable {
+<a name="48" href="#48">48</a>      <strong>private</strong> <strong>static</strong> <a href="../../org/dom4j/util/SingletonStrategy.html">SingletonStrategy</a> singleton = <strong>null</strong>;
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>protected</strong> <strong>transient</strong> <a href="../../org/dom4j/tree/QNameCache.html">QNameCache</a> cache;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <em>/**<em>* Default namespace prefix -> URI mappings for <a href="../../org/dom4j/XPath.html">XPath</a> expressions to use */</em></em>
+<a name="53" href="#53">53</a>      <strong>private</strong> Map xpathNamespaceURIs;
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>private</strong> <strong>static</strong> <a href="../../org/dom4j/util/SingletonStrategy.html">SingletonStrategy</a> createSingleton() {
+<a name="56" href="#56">56</a>          <a href="../../org/dom4j/util/SingletonStrategy.html">SingletonStrategy</a> result = <strong>null</strong>;
+<a name="57" href="#57">57</a>          
+<a name="58" href="#58">58</a>          String documentFactoryClassName;
+<a name="59" href="#59">59</a>          <strong>try</strong> {
+<a name="60" href="#60">60</a>              documentFactoryClassName = System.getProperty(<span class="string">"org.dom4j.factory"</span>,
+<a name="61" href="#61">61</a>                      <span class="string">"org.dom4j.DocumentFactory"</span>);
+<a name="62" href="#62">62</a>          } <strong>catch</strong> (Exception e) {
+<a name="63" href="#63">63</a>              documentFactoryClassName = <span class="string">"org.dom4j.DocumentFactory"</span>;
+<a name="64" href="#64">64</a>          }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>          <strong>try</strong> {
+<a name="67" href="#67">67</a>              String singletonClass = System.getProperty(
+<a name="68" href="#68">68</a>                      <span class="string">"org.dom4j.DocumentFactory.singleton.strategy"</span>,
+<a name="69" href="#69">69</a>                      <span class="string">"org.dom4j.util.SimpleSingleton"</span>);
+<a name="70" href="#70">70</a>              Class clazz = Class.forName(singletonClass);
+<a name="71" href="#71">71</a>              result = (SingletonStrategy) clazz.newInstance();
+<a name="72" href="#72">72</a>          } <strong>catch</strong> (Exception e) {
+<a name="73" href="#73">73</a>              result = <strong>new</strong> <a href="../../org/dom4j/util/SimpleSingleton.html">SimpleSingleton</a>();
+<a name="74" href="#74">74</a>          }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          result.setSingletonClassName(documentFactoryClassName);
+<a name="77" href="#77">77</a>          
+<a name="78" href="#78">78</a>          <strong>return</strong> result;
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <a href="../../org/dom4j/DocumentFactory.html">DocumentFactory</a>() {
+<a name="82" href="#82">82</a>          init();
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <em>/**<em>*</em></em>
+<a name="86" href="#86">86</a>  <em>     * <p></em>
+<a name="87" href="#87">87</a>  <em>     * Access to singleton implementation of DocumentFactory which is used if no</em>
+<a name="88" href="#88">88</a>  <em>     * DocumentFactory is specified when building using the standard builders.</em>
+<a name="89" href="#89">89</a>  <em>     * </p></em>
+<a name="90" href="#90">90</a>  <em>     * </em>
+<a name="91" href="#91">91</a>  <em>     * @return the default singleon instance</em>
+<a name="92" href="#92">92</a>  <em>     */</em>
+<a name="93" href="#93">93</a>      <strong>public</strong> <strong>static</strong> <strong>synchronized</strong> <a href="../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getInstance() {
+<a name="94" href="#94">94</a>          <strong>if</strong> (singleton == <strong>null</strong>) {
+<a name="95" href="#95">95</a>              singleton = createSingleton();
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>          <strong>return</strong> (DocumentFactory) singleton.instance();
+<a name="98" href="#98">98</a>      }
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <em class="comment">// Factory methods</em>
+<a name="101" href="#101">101</a>     <strong>public</strong> <a href="../../org/dom4j/Document.html">Document</a> createDocument() {
+<a name="102" href="#102">102</a>         <a href="../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a> answer = <strong>new</strong> <a href="../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a>();
+<a name="103" href="#103">103</a>         answer.setDocumentFactory(<strong>this</strong>);
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>         <strong>return</strong> answer;
+<a name="106" href="#106">106</a>     }
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>     <em>/**<em>*</em></em>
+<a name="109" href="#109">109</a> <em>     * DOCUMENT ME!</em>
+<a name="110" href="#110">110</a> <em>     * </em>
+<a name="111" href="#111">111</a> <em>     * @param encoding</em>
+<a name="112" href="#112">112</a> <em>     *            DOCUMENT ME!</em>
+<a name="113" href="#113">113</a> <em>     * </em>
+<a name="114" href="#114">114</a> <em>     * @return DOCUMENT ME!</em>
+<a name="115" href="#115">115</a> <em>     * </em>
+<a name="116" href="#116">116</a> <em>     * @since 1.5</em>
+<a name="117" href="#117">117</a> <em>     */</em>
+<a name="118" href="#118">118</a>     <strong>public</strong> <a href="../../org/dom4j/Document.html">Document</a> createDocument(String encoding) {
+<a name="119" href="#119">119</a>         <em class="comment">// to keep the DocumentFactory backwards compatible, we have to do this</em>
+<a name="120" href="#120">120</a>         <em class="comment">// in this not so nice way, since subclasses only need to extend the</em>
+<a name="121" href="#121">121</a>         <em class="comment">// createDocument() method.</em>
+<a name="122" href="#122">122</a>         <a href="../../org/dom4j/Document.html">Document</a> answer = createDocument();
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         <strong>if</strong> (answer instanceof AbstractDocument) {
+<a name="125" href="#125">125</a>             ((<a href="../../org/dom4j/tree/AbstractDocument.html">AbstractDocument</a>) answer).setXMLEncoding(encoding);
+<a name="126" href="#126">126</a>         }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         <strong>return</strong> answer;
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>public</strong> <a href="../../org/dom4j/Document.html">Document</a> createDocument(<a href="../../org/dom4j/Element.html">Element</a> rootElement) {
+<a name="132" href="#132">132</a>         <a href="../../org/dom4j/Document.html">Document</a> answer = createDocument();
+<a name="133" href="#133">133</a>         answer.setRootElement(rootElement);
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>         <strong>return</strong> answer;
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <strong>public</strong> <a href="../../org/dom4j/DocumentType.html">DocumentType</a> createDocType(String name, String <strong>public</strong>Id,
+<a name="139" href="#139">139</a>             String systemId) {
+<a name="140" href="#140">140</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultDocumentType.html">DefaultDocumentType</a>(name, publicId, systemId);
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <strong>public</strong> <a href="../../org/dom4j/Element.html">Element</a> createElement(<a href="../../org/dom4j/QName.html">QName</a> qname) {
+<a name="144" href="#144">144</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultElement.html">DefaultElement</a>(qname);
+<a name="145" href="#145">145</a>     }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>     <strong>public</strong> <a href="../../org/dom4j/Element.html">Element</a> createElement(String name) {
+<a name="148" href="#148">148</a>         <strong>return</strong> createElement(createQName(name));
+<a name="149" href="#149">149</a>     }
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>     <strong>public</strong> <a href="../../org/dom4j/Element.html">Element</a> createElement(String qualifiedName, String namespaceURI) {
+<a name="152" href="#152">152</a>         <strong>return</strong> createElement(createQName(qualifiedName, namespaceURI));
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> <a href="../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../org/dom4j/Element.html">Element</a> owner, <a href="../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="156" href="#156">156</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>(qname, value);
+<a name="157" href="#157">157</a>     }
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>     <strong>public</strong> <a href="../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../org/dom4j/Element.html">Element</a> owner, String name, String value) {
+<a name="160" href="#160">160</a>         <strong>return</strong> createAttribute(owner, createQName(name), value);
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <strong>public</strong> <a href="../../org/dom4j/CDATA.html">CDATA</a> createCDATA(String text) {
+<a name="164" href="#164">164</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultCDATA.html">DefaultCDATA</a>(text);
+<a name="165" href="#165">165</a>     }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>     <strong>public</strong> <a href="../../org/dom4j/Comment.html">Comment</a> createComment(String text) {
+<a name="168" href="#168">168</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultComment.html">DefaultComment</a>(text);
+<a name="169" href="#169">169</a>     }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>     <strong>public</strong> <a href="../../org/dom4j/Text.html">Text</a> createText(String text) {
+<a name="172" href="#172">172</a>         <strong>if</strong> (text == <strong>null</strong>) {
+<a name="173" href="#173">173</a>             String msg = <span class="string">"Adding text to an XML document must not be null"</span>;
+<a name="174" href="#174">174</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException(msg);
+<a name="175" href="#175">175</a>         }
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultText.html">DefaultText</a>(text);
+<a name="178" href="#178">178</a>     }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>     <strong>public</strong> <a href="../../org/dom4j/Entity.html">Entity</a> createEntity(String name, String text) {
+<a name="181" href="#181">181</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultEntity.html">DefaultEntity</a>(name, text);
+<a name="182" href="#182">182</a>     }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>     <strong>public</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a> createNamespace(String prefix, String uri) {
+<a name="185" href="#185">185</a>         <strong>return</strong> Namespace.get(prefix, uri);
+<a name="186" href="#186">186</a>     }
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>     <strong>public</strong> <a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(String target,
+<a name="189" href="#189">189</a>             String data) {
+<a name="190" href="#190">190</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultProcessingInstruction.html">DefaultProcessingInstruction</a>(target, data);
+<a name="191" href="#191">191</a>     }
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>     <strong>public</strong> <a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(String target,
+<a name="194" href="#194">194</a>             Map data) {
+<a name="195" href="#195">195</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultProcessingInstruction.html">DefaultProcessingInstruction</a>(target, data);
+<a name="196" href="#196">196</a>     }
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>     <strong>public</strong> <a href="../../org/dom4j/QName.html">QName</a> createQName(String localName, <a href="../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="199" href="#199">199</a>         <strong>return</strong> cache.get(localName, namespace);
+<a name="200" href="#200">200</a>     }
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>     <strong>public</strong> <a href="../../org/dom4j/QName.html">QName</a> createQName(String localName) {
+<a name="203" href="#203">203</a>         <strong>return</strong> cache.get(localName);
+<a name="204" href="#204">204</a>     }
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>     <strong>public</strong> <a href="../../org/dom4j/QName.html">QName</a> createQName(String name, String prefix, String uri) {
+<a name="207" href="#207">207</a>         <strong>return</strong> cache.get(name, Namespace.get(prefix, uri));
+<a name="208" href="#208">208</a>     }
+<a name="209" href="#209">209</a> 
+<a name="210" href="#210">210</a>     <strong>public</strong> <a href="../../org/dom4j/QName.html">QName</a> createQName(String qualifiedName, String uri) {
+<a name="211" href="#211">211</a>         <strong>return</strong> cache.get(qualifiedName, uri);
+<a name="212" href="#212">212</a>     }
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>     <em>/**<em>*</em></em>
+<a name="215" href="#215">215</a> <em>     * <p></em>
+<a name="216" href="#216">216</a> <em>     * <code>createXPath</code> parses an XPath expression and creates a new</em>
+<a name="217" href="#217">217</a> <em>     * XPath <code>XPath</code> instance.</em>
+<a name="218" href="#218">218</a> <em>     * </p></em>
+<a name="219" href="#219">219</a> <em>     * </em>
+<a name="220" href="#220">220</a> <em>     * @param xpathExpression</em>
+<a name="221" href="#221">221</a> <em>     *            is the XPath expression to create</em>
+<a name="222" href="#222">222</a> <em>     * </em>
+<a name="223" href="#223">223</a> <em>     * @return a new <code>XPath</code> instance</em>
+<a name="224" href="#224">224</a> <em>     * </em>
+<a name="225" href="#225">225</a> <em>     * @throws InvalidXPathException</em>
+<a name="226" href="#226">226</a> <em>     *             if the XPath expression is invalid</em>
+<a name="227" href="#227">227</a> <em>     */</em>
+<a name="228" href="#228">228</a>     <strong>public</strong> <a href="../../org/dom4j/XPath.html">XPath</a> createXPath(String xpathExpression)
+<a name="229" href="#229">229</a>             throws <a href="../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a> {
+<a name="230" href="#230">230</a>         <a href="../../org/dom4j/xpath/DefaultXPath.html">DefaultXPath</a> xpath = <strong>new</strong> <a href="../../org/dom4j/xpath/DefaultXPath.html">DefaultXPath</a>(xpathExpression);
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>         <strong>if</strong> (xpathNamespaceURIs != <strong>null</strong>) {
+<a name="233" href="#233">233</a>             xpath.setNamespaceURIs(xpathNamespaceURIs);
+<a name="234" href="#234">234</a>         }
+<a name="235" href="#235">235</a> 
+<a name="236" href="#236">236</a>         <strong>return</strong> xpath;
+<a name="237" href="#237">237</a>     }
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>     <em>/**<em>*</em></em>
+<a name="240" href="#240">240</a> <em>     * <p></em>
+<a name="241" href="#241">241</a> <em>     * <code>createXPath</code> parses an XPath expression and creates a new</em>
+<a name="242" href="#242">242</a> <em>     * XPath <code>XPath</code> instance.</em>
+<a name="243" href="#243">243</a> <em>     * </p></em>
+<a name="244" href="#244">244</a> <em>     * </em>
+<a name="245" href="#245">245</a> <em>     * @param xpathExpression</em>
+<a name="246" href="#246">246</a> <em>     *            is the XPath expression to create</em>
+<a name="247" href="#247">247</a> <em>     * @param variableContext</em>
+<a name="248" href="#248">248</a> <em>     *            is the variable context to use when evaluating the XPath</em>
+<a name="249" href="#249">249</a> <em>     * </em>
+<a name="250" href="#250">250</a> <em>     * @return a new <code>XPath</code> instance</em>
+<a name="251" href="#251">251</a> <em>     */</em>
+<a name="252" href="#252">252</a>     <strong>public</strong> <a href="../../org/dom4j/XPath.html">XPath</a> createXPath(String xpathExpression,
+<a name="253" href="#253">253</a>             VariableContext variableContext) {
+<a name="254" href="#254">254</a>         <a href="../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathExpression);
+<a name="255" href="#255">255</a>         xpath.setVariableContext(variableContext);
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>         <strong>return</strong> xpath;
+<a name="258" href="#258">258</a>     }
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>     <em>/**<em>*</em></em>
+<a name="261" href="#261">261</a> <em>     * <p></em>
+<a name="262" href="#262">262</a> <em>     * <code>createXPathFilter</code> parses a NodeFilter from the given XPath</em>
+<a name="263" href="#263">263</a> <em>     * filter expression. XPath filter expressions occur within XPath</em>
+<a name="264" href="#264">264</a> <em>     * expressions such as <code>self::node()[ filterExpression ]</code></em>
+<a name="265" href="#265">265</a> <em>     * </p></em>
+<a name="266" href="#266">266</a> <em>     * </em>
+<a name="267" href="#267">267</a> <em>     * @param xpathFilterExpression</em>
+<a name="268" href="#268">268</a> <em>     *            is the XPath filter expression to create</em>
+<a name="269" href="#269">269</a> <em>     * @param variableContext</em>
+<a name="270" href="#270">270</a> <em>     *            is the variable context to use when evaluating the XPath</em>
+<a name="271" href="#271">271</a> <em>     * </em>
+<a name="272" href="#272">272</a> <em>     * @return a new <code>NodeFilter</code> instance</em>
+<a name="273" href="#273">273</a> <em>     */</em>
+<a name="274" href="#274">274</a>     <strong>public</strong> <a href="../../org/dom4j/NodeFilter.html">NodeFilter</a> createXPathFilter(String xpathFilterExpression,
+<a name="275" href="#275">275</a>             VariableContext variableContext) {
+<a name="276" href="#276">276</a>         <a href="../../org/dom4j/XPath.html">XPath</a> answer = createXPath(xpathFilterExpression);
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>         <em class="comment">// DefaultXPath answer = new DefaultXPath( xpathFilterExpression );</em>
+<a name="279" href="#279">279</a>         answer.setVariableContext(variableContext);
+<a name="280" href="#280">280</a> 
+<a name="281" href="#281">281</a>         <strong>return</strong> answer;
+<a name="282" href="#282">282</a>     }
+<a name="283" href="#283">283</a> 
+<a name="284" href="#284">284</a>     <em>/**<em>*</em></em>
+<a name="285" href="#285">285</a> <em>     * <p></em>
+<a name="286" href="#286">286</a> <em>     * <code>createXPathFilter</code> parses a NodeFilter from the given XPath</em>
+<a name="287" href="#287">287</a> <em>     * filter expression. XPath filter expressions occur within XPath</em>
+<a name="288" href="#288">288</a> <em>     * expressions such as <code>self::node()[ filterExpression ]</code></em>
+<a name="289" href="#289">289</a> <em>     * </p></em>
+<a name="290" href="#290">290</a> <em>     * </em>
+<a name="291" href="#291">291</a> <em>     * @param xpathFilterExpression</em>
+<a name="292" href="#292">292</a> <em>     *            is the XPath filter expression to create</em>
+<a name="293" href="#293">293</a> <em>     * </em>
+<a name="294" href="#294">294</a> <em>     * @return a new <code>NodeFilter</code> instance</em>
+<a name="295" href="#295">295</a> <em>     */</em>
+<a name="296" href="#296">296</a>     <strong>public</strong> <a href="../../org/dom4j/NodeFilter.html">NodeFilter</a> createXPathFilter(String xpathFilterExpression) {
+<a name="297" href="#297">297</a>         <strong>return</strong> createXPath(xpathFilterExpression);
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>         <em class="comment">// return new DefaultXPath( xpathFilterExpression );</em>
+<a name="300" href="#300">300</a>     }
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>     <em>/**<em>*</em></em>
+<a name="303" href="#303">303</a> <em>     * <p></em>
+<a name="304" href="#304">304</a> <em>     * <code>createPattern</code> parses the given XPath expression to create</em>
+<a name="305" href="#305">305</a> <em>     * an XSLT style {@link Pattern}instance which can then be used in an XSLT</em>
+<a name="306" href="#306">306</a> <em>     * processing model.</em>
+<a name="307" href="#307">307</a> <em>     * </p></em>
+<a name="308" href="#308">308</a> <em>     * </em>
+<a name="309" href="#309">309</a> <em>     * @param xpathPattern</em>
+<a name="310" href="#310">310</a> <em>     *            is the XPath pattern expression to create</em>
+<a name="311" href="#311">311</a> <em>     * </em>
+<a name="312" href="#312">312</a> <em>     * @return a new <code>Pattern</code> instance</em>
+<a name="313" href="#313">313</a> <em>     */</em>
+<a name="314" href="#314">314</a>     <strong>public</strong> <a href="../../org/dom4j/rule/Pattern.html">Pattern</a> createPattern(String xpathPattern) {
+<a name="315" href="#315">315</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/xpath/XPathPattern.html">XPathPattern</a>(xpathPattern);
+<a name="316" href="#316">316</a>     }
+<a name="317" href="#317">317</a> 
+<a name="318" href="#318">318</a>     <em class="comment">// Properties</em>
+<a name="319" href="#319">319</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="320" href="#320">320</a> 
+<a name="321" href="#321">321</a>     <em>/**<em>*</em></em>
+<a name="322" href="#322">322</a> <em>     * Returns a list of all the QName instances currently used by this document</em>
+<a name="323" href="#323">323</a> <em>     * factory</em>
+<a name="324" href="#324">324</a> <em>     * </em>
+<a name="325" href="#325">325</a> <em>     * @return DOCUMENT ME!</em>
+<a name="326" href="#326">326</a> <em>     */</em>
+<a name="327" href="#327">327</a>     <strong>public</strong> List getQNames() {
+<a name="328" href="#328">328</a>         <strong>return</strong> cache.getQNames();
+<a name="329" href="#329">329</a>     }
+<a name="330" href="#330">330</a> 
+<a name="331" href="#331">331</a>     <em>/**<em>*</em></em>
+<a name="332" href="#332">332</a> <em>     * DOCUMENT ME!</em>
+<a name="333" href="#333">333</a> <em>     * </em>
+<a name="334" href="#334">334</a> <em>     * @return the Map of namespace URIs that will be used by by XPath</em>
+<a name="335" href="#335">335</a> <em>     *         expressions to resolve namespace prefixes into namespace URIs.</em>
+<a name="336" href="#336">336</a> <em>     *         The map is keyed by namespace prefix and the value is the</em>
+<a name="337" href="#337">337</a> <em>     *         namespace URI. This value could well be null to indicate no</em>
+<a name="338" href="#338">338</a> <em>     *         namespace URIs are being mapped.</em>
+<a name="339" href="#339">339</a> <em>     */</em>
+<a name="340" href="#340">340</a>     <strong>public</strong> Map getXPathNamespaceURIs() {
+<a name="341" href="#341">341</a>         <strong>return</strong> xpathNamespaceURIs;
+<a name="342" href="#342">342</a>     }
+<a name="343" href="#343">343</a> 
+<a name="344" href="#344">344</a>     <em>/**<em>*</em></em>
+<a name="345" href="#345">345</a> <em>     * Sets the namespace URIs to be used by XPath expressions created by this</em>
+<a name="346" href="#346">346</a> <em>     * factory or by nodes associated with this factory. The keys are namespace</em>
+<a name="347" href="#347">347</a> <em>     * prefixes and the values are namespace URIs.</em>
+<a name="348" href="#348">348</a> <em>     * </em>
+<a name="349" href="#349">349</a> <em>     * @param namespaceURIs</em>
+<a name="350" href="#350">350</a> <em>     *            DOCUMENT ME!</em>
+<a name="351" href="#351">351</a> <em>     */</em>
+<a name="352" href="#352">352</a>     <strong>public</strong> <strong>void</strong> setXPathNamespaceURIs(Map namespaceURIs) {
+<a name="353" href="#353">353</a>         <strong>this</strong>.xpathNamespaceURIs = namespaceURIs;
+<a name="354" href="#354">354</a>     }
+<a name="355" href="#355">355</a> 
+<a name="356" href="#356">356</a>     <em class="comment">// Implementation methods</em>
+<a name="357" href="#357">357</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="358" href="#358">358</a> 
+<a name="359" href="#359">359</a>     <em>/**<em>*</em></em>
+<a name="360" href="#360">360</a> <em>     * <p></em>
+<a name="361" href="#361">361</a> <em>     * <code>createSingleton</code> creates the singleton instance from the</em>
+<a name="362" href="#362">362</a> <em>     * given class name.</em>
+<a name="363" href="#363">363</a> <em>     * </p></em>
+<a name="364" href="#364">364</a> <em>     * </em>
+<a name="365" href="#365">365</a> <em>     * @param className</em>
+<a name="366" href="#366">366</a> <em>     *            is the name of the DocumentFactory class to use</em>
+<a name="367" href="#367">367</a> <em>     * </em>
+<a name="368" href="#368">368</a> <em>     * @return a new singleton instance.</em>
+<a name="369" href="#369">369</a> <em>     */</em>
+<a name="370" href="#370">370</a>     <strong>protected</strong> <strong>static</strong> <a href="../../org/dom4j/DocumentFactory.html">DocumentFactory</a> createSingleton(String className) {
+<a name="371" href="#371">371</a>         <em class="comment">// let's try and class load an implementation?</em>
+<a name="372" href="#372">372</a>         <strong>try</strong> {
+<a name="373" href="#373">373</a>             <em class="comment">// I'll use the current class loader</em>
+<a name="374" href="#374">374</a>             <em class="comment">// that loaded me to avoid problems in J2EE and web apps</em>
+<a name="375" href="#375">375</a>             Class theClass = Class.forName(className, <strong>true</strong>,
+<a name="376" href="#376">376</a>                     DocumentFactory.<strong>class</strong>.getClassLoader());
+<a name="377" href="#377">377</a> 
+<a name="378" href="#378">378</a>             <strong>return</strong> (DocumentFactory) theClass.newInstance();
+<a name="379" href="#379">379</a>         } <strong>catch</strong> (Throwable e) {
+<a name="380" href="#380">380</a>             System.out.println(<span class="string">"WARNING: Cannot load DocumentFactory: "</span>
+<a name="381" href="#381">381</a>                     + className);
+<a name="382" href="#382">382</a> 
+<a name="383" href="#383">383</a>             <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/DocumentFactory.html">DocumentFactory</a>();
+<a name="384" href="#384">384</a>         }
+<a name="385" href="#385">385</a>     }
+<a name="386" href="#386">386</a> 
+<a name="387" href="#387">387</a>     <em>/**<em>*</em></em>
+<a name="388" href="#388">388</a> <em>     * DOCUMENT ME!</em>
+<a name="389" href="#389">389</a> <em>     * </em>
+<a name="390" href="#390">390</a> <em>     * @param qname</em>
+<a name="391" href="#391">391</a> <em>     *            DOCUMENT ME!</em>
+<a name="392" href="#392">392</a> <em>     * </em>
+<a name="393" href="#393">393</a> <em>     * @return the cached QName instance if there is one or adds the given qname</em>
+<a name="394" href="#394">394</a> <em>     *         to the cache if not</em>
+<a name="395" href="#395">395</a> <em>     */</em>
+<a name="396" href="#396">396</a>     <strong>protected</strong> <a href="../../org/dom4j/QName.html">QName</a> intern(<a href="../../org/dom4j/QName.html">QName</a> qname) {
+<a name="397" href="#397">397</a>         <strong>return</strong> cache.intern(qname);
+<a name="398" href="#398">398</a>     }
+<a name="399" href="#399">399</a> 
+<a name="400" href="#400">400</a>     <em>/**<em>*</em></em>
+<a name="401" href="#401">401</a> <em>     * Factory method to create the QNameCache. This method should be overloaded</em>
+<a name="402" href="#402">402</a> <em>     * if you wish to use your own derivation of QName.</em>
+<a name="403" href="#403">403</a> <em>     * </em>
+<a name="404" href="#404">404</a> <em>     * @return DOCUMENT ME!</em>
+<a name="405" href="#405">405</a> <em>     */</em>
+<a name="406" href="#406">406</a>     <strong>protected</strong> <a href="../../org/dom4j/tree/QNameCache.html">QNameCache</a> createQNameCache() {
+<a name="407" href="#407">407</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/QNameCache.html">QNameCache</a>(<strong>this</strong>);
+<a name="408" href="#408">408</a>     }
+<a name="409" href="#409">409</a> 
+<a name="410" href="#410">410</a>     <strong>private</strong> <strong>void</strong> readObject(ObjectInputStream in) throws IOException,
+<a name="411" href="#411">411</a>             ClassNotFoundException {
+<a name="412" href="#412">412</a>         in.defaultReadObject();
+<a name="413" href="#413">413</a>         init();
+<a name="414" href="#414">414</a>     }
+<a name="415" href="#415">415</a> 
+<a name="416" href="#416">416</a>     <strong>protected</strong> <strong>void</strong> init() {
+<a name="417" href="#417">417</a>         cache = createQNameCache();
+<a name="418" href="#418">418</a>     }
+<a name="419" href="#419">419</a> }
+<a name="420" href="#420">420</a> 
+<a name="421" href="#421">421</a> <em class="comment">/*</em>
+<a name="422" href="#422">422</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="423" href="#423">423</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="424" href="#424">424</a> <em class="comment"> * following conditions are met:</em>
+<a name="425" href="#425">425</a> <em class="comment"> * </em>
+<a name="426" href="#426">426</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="427" href="#427">427</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="428" href="#428">428</a> <em class="comment"> * </em>
+<a name="429" href="#429">429</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="430" href="#430">430</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="431" href="#431">431</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="432" href="#432">432</a> <em class="comment"> * </em>
+<a name="433" href="#433">433</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="434" href="#434">434</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="435" href="#435">435</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="436" href="#436">436</a> <em class="comment"> * </em>
+<a name="437" href="#437">437</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="438" href="#438">438</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="439" href="#439">439</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="440" href="#440">440</a> <em class="comment"> * </em>
+<a name="441" href="#441">441</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="442" href="#442">442</a> <em class="comment"> * </em>
+<a name="443" href="#443">443</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="444" href="#444">444</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="445" href="#445">445</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="446" href="#446">446</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="447" href="#447">447</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="448" href="#448">448</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="449" href="#449">449</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="450" href="#450">450</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="451" href="#451">451</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="452" href="#452">452</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="453" href="#453">453</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="454" href="#454">454</a> <em class="comment"> * </em>
+<a name="455" href="#455">455</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="456" href="#456">456</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/DocumentHelper.html b/docs/xref/org/dom4j/DocumentHelper.html
new file mode 100644
index 0000000..317f987
--- /dev/null
+++ b/docs/xref/org/dom4j/DocumentHelper.html
@@ -0,0 +1,425 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocumentHelper xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/DocumentHelper.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.StringReader;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.List;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Map;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.StringTokenizer;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.rule.Pattern;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.jaxen.VariableContext;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em> * <p></em>
+<a name="24" href="#24">24</a>  <em> * <code>DocumentHelper</code> is a collection of helper methods for using</em>
+<a name="25" href="#25">25</a>  <em> * DOM4J.</em>
+<a name="26" href="#26">26</a>  <em> * </p></em>
+<a name="27" href="#27">27</a>  <em> * </em>
+<a name="28" href="#28">28</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="29" href="#29">29</a>  <em> * @version $Revision: 1.26 $</em>
+<a name="30" href="#30">30</a>  <em> */</em>
+<a name="31" href="#31">31</a>  <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../org/dom4j/DocumentHelper.html">DocumentHelper</a> {
+<a name="32" href="#32">32</a>      <strong>private</strong> <a href="../../org/dom4j/DocumentHelper.html">DocumentHelper</a>() {
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>private</strong> <strong>static</strong> <a href="../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="36" href="#36">36</a>          <strong>return</strong> DocumentFactory.getInstance();
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em class="comment">// Static helper methods</em>
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Document.html">Document</a> createDocument() {
+<a name="41" href="#41">41</a>          <strong>return</strong> getDocumentFactory().createDocument();
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Document.html">Document</a> createDocument(<a href="../../org/dom4j/Element.html">Element</a> rootElement) {
+<a name="45" href="#45">45</a>          <strong>return</strong> getDocumentFactory().createDocument(rootElement);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Element.html">Element</a> createElement(<a href="../../org/dom4j/QName.html">QName</a> qname) {
+<a name="49" href="#49">49</a>          <strong>return</strong> getDocumentFactory().createElement(qname);
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Element.html">Element</a> createElement(String name) {
+<a name="53" href="#53">53</a>          <strong>return</strong> getDocumentFactory().createElement(name);
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../org/dom4j/Element.html">Element</a> owner, <a href="../../org/dom4j/QName.html">QName</a> qname,
+<a name="57" href="#57">57</a>              String value) {
+<a name="58" href="#58">58</a>          <strong>return</strong> getDocumentFactory().createAttribute(owner, qname, value);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../org/dom4j/Element.html">Element</a> owner, String name,
+<a name="62" href="#62">62</a>              String value) {
+<a name="63" href="#63">63</a>          <strong>return</strong> getDocumentFactory().createAttribute(owner, name, value);
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/CDATA.html">CDATA</a> createCDATA(String text) {
+<a name="67" href="#67">67</a>          <strong>return</strong> DocumentFactory.getInstance().createCDATA(text);
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Comment.html">Comment</a> createComment(String text) {
+<a name="71" href="#71">71</a>          <strong>return</strong> DocumentFactory.getInstance().createComment(text);
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Text.html">Text</a> createText(String text) {
+<a name="75" href="#75">75</a>          <strong>return</strong> DocumentFactory.getInstance().createText(text);
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Entity.html">Entity</a> createEntity(String name, String text) {
+<a name="79" href="#79">79</a>          <strong>return</strong> DocumentFactory.getInstance().createEntity(name, text);
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a> createNamespace(String prefix, String uri) {
+<a name="83" href="#83">83</a>          <strong>return</strong> DocumentFactory.getInstance().createNamespace(prefix, uri);
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(String pi,
+<a name="87" href="#87">87</a>              String d) {
+<a name="88" href="#88">88</a>          <strong>return</strong> getDocumentFactory().createProcessingInstruction(pi, d);
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(String pi,
+<a name="92" href="#92">92</a>              Map data) {
+<a name="93" href="#93">93</a>          <strong>return</strong> getDocumentFactory().createProcessingInstruction(pi, data);
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/QName.html">QName</a> createQName(String localName, <a href="../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="97" href="#97">97</a>          <strong>return</strong> getDocumentFactory().createQName(localName, namespace);
+<a name="98" href="#98">98</a>      }
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/QName.html">QName</a> createQName(String localName) {
+<a name="101" href="#101">101</a>         <strong>return</strong> getDocumentFactory().createQName(localName);
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <em>/**<em>*</em></em>
+<a name="105" href="#105">105</a> <em>     * <p></em>
+<a name="106" href="#106">106</a> <em>     * <code>createXPath</code> parses an XPath expression and creates a new</em>
+<a name="107" href="#107">107</a> <em>     * XPath <code>XPath</code> instance using the singleton {@link</em>
+<a name="108" href="#108">108</a> <em>     * DocumentFactory}.</em>
+<a name="109" href="#109">109</a> <em>     * </p></em>
+<a name="110" href="#110">110</a> <em>     * </em>
+<a name="111" href="#111">111</a> <em>     * @param xpathExpression</em>
+<a name="112" href="#112">112</a> <em>     *            is the XPath expression to create</em>
+<a name="113" href="#113">113</a> <em>     * </em>
+<a name="114" href="#114">114</a> <em>     * @return a new <code>XPath</code> instance</em>
+<a name="115" href="#115">115</a> <em>     * </em>
+<a name="116" href="#116">116</a> <em>     * @throws InvalidXPathException</em>
+<a name="117" href="#117">117</a> <em>     *             if the XPath expression is invalid</em>
+<a name="118" href="#118">118</a> <em>     */</em>
+<a name="119" href="#119">119</a>     <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/XPath.html">XPath</a> createXPath(String xpathExpression)
+<a name="120" href="#120">120</a>             throws <a href="../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a> {
+<a name="121" href="#121">121</a>         <strong>return</strong> getDocumentFactory().createXPath(xpathExpression);
+<a name="122" href="#122">122</a>     }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <em>/**<em>*</em></em>
+<a name="125" href="#125">125</a> <em>     * <p></em>
+<a name="126" href="#126">126</a> <em>     * <code>createXPath</code> parses an XPath expression and creates a new</em>
+<a name="127" href="#127">127</a> <em>     * XPath <code>XPath</code> instance using the singleton {@link</em>
+<a name="128" href="#128">128</a> <em>     * DocumentFactory}.</em>
+<a name="129" href="#129">129</a> <em>     * </p></em>
+<a name="130" href="#130">130</a> <em>     * </em>
+<a name="131" href="#131">131</a> <em>     * @param xpathExpression</em>
+<a name="132" href="#132">132</a> <em>     *            is the XPath expression to create</em>
+<a name="133" href="#133">133</a> <em>     * @param context</em>
+<a name="134" href="#134">134</a> <em>     *            is the variable context to use when evaluating the XPath</em>
+<a name="135" href="#135">135</a> <em>     * </em>
+<a name="136" href="#136">136</a> <em>     * @return a new <code>XPath</code> instance</em>
+<a name="137" href="#137">137</a> <em>     * </em>
+<a name="138" href="#138">138</a> <em>     * @throws InvalidXPathException</em>
+<a name="139" href="#139">139</a> <em>     *             if the XPath expression is invalid</em>
+<a name="140" href="#140">140</a> <em>     */</em>
+<a name="141" href="#141">141</a>     <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/XPath.html">XPath</a> createXPath(String xpathExpression,
+<a name="142" href="#142">142</a>             VariableContext context) throws InvalidXPathException {
+<a name="143" href="#143">143</a>         <strong>return</strong> getDocumentFactory().createXPath(xpathExpression, context);
+<a name="144" href="#144">144</a>     }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <em>/**<em>*</em></em>
+<a name="147" href="#147">147</a> <em>     * <p></em>
+<a name="148" href="#148">148</a> <em>     * <code>createXPathFilter</code> parses a NodeFilter from the given XPath</em>
+<a name="149" href="#149">149</a> <em>     * filter expression using the singleton {@link DocumentFactory}. XPath</em>
+<a name="150" href="#150">150</a> <em>     * filter expressions occur within XPath expressions such as</em>
+<a name="151" href="#151">151</a> <em>     * <code>self::node()[ filterExpression ]</code></em>
+<a name="152" href="#152">152</a> <em>     * </p></em>
+<a name="153" href="#153">153</a> <em>     * </em>
+<a name="154" href="#154">154</a> <em>     * @param xpathFilterExpression</em>
+<a name="155" href="#155">155</a> <em>     *            is the XPath filter expression to create</em>
+<a name="156" href="#156">156</a> <em>     * </em>
+<a name="157" href="#157">157</a> <em>     * @return a new <code>NodeFilter</code> instance</em>
+<a name="158" href="#158">158</a> <em>     */</em>
+<a name="159" href="#159">159</a>     <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/NodeFilter.html">NodeFilter</a> createXPathFilter(String xpathFilterExpression) {
+<a name="160" href="#160">160</a>         <strong>return</strong> getDocumentFactory().createXPathFilter(xpathFilterExpression);
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <em>/**<em>*</em></em>
+<a name="164" href="#164">164</a> <em>     * <p></em>
+<a name="165" href="#165">165</a> <em>     * <code>createPattern</code> parses the given XPath expression to create</em>
+<a name="166" href="#166">166</a> <em>     * an XSLT style {@link Pattern}instance which can then be used in an XSLT</em>
+<a name="167" href="#167">167</a> <em>     * processing model.</em>
+<a name="168" href="#168">168</a> <em>     * </p></em>
+<a name="169" href="#169">169</a> <em>     * </em>
+<a name="170" href="#170">170</a> <em>     * @param xpathPattern</em>
+<a name="171" href="#171">171</a> <em>     *            is the XPath pattern expression to create</em>
+<a name="172" href="#172">172</a> <em>     * </em>
+<a name="173" href="#173">173</a> <em>     * @return a new <code>Pattern</code> instance</em>
+<a name="174" href="#174">174</a> <em>     */</em>
+<a name="175" href="#175">175</a>     <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/rule/Pattern.html">Pattern</a> createPattern(String xpathPattern) {
+<a name="176" href="#176">176</a>         <strong>return</strong> getDocumentFactory().createPattern(xpathPattern);
+<a name="177" href="#177">177</a>     }
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>     <em>/**<em>*</em></em>
+<a name="180" href="#180">180</a> <em>     * <p></em>
+<a name="181" href="#181">181</a> <em>     * <code>selectNodes</code> performs the given XPath expression on the</em>
+<a name="182" href="#182">182</a> <em>     * {@link List}of {@link Node}instances appending all the results together</em>
+<a name="183" href="#183">183</a> <em>     * into a single list.</em>
+<a name="184" href="#184">184</a> <em>     * </p></em>
+<a name="185" href="#185">185</a> <em>     * </em>
+<a name="186" href="#186">186</a> <em>     * @param xpathFilterExpression</em>
+<a name="187" href="#187">187</a> <em>     *            is the XPath filter expression to evaluate</em>
+<a name="188" href="#188">188</a> <em>     * @param nodes</em>
+<a name="189" href="#189">189</a> <em>     *            is the list of nodes on which to evalute the XPath</em>
+<a name="190" href="#190">190</a> <em>     * </em>
+<a name="191" href="#191">191</a> <em>     * @return the results of all the XPath evaluations as a single list</em>
+<a name="192" href="#192">192</a> <em>     */</em>
+<a name="193" href="#193">193</a>     <strong>public</strong> <strong>static</strong> List selectNodes(String xpathFilterExpression, List nodes) {
+<a name="194" href="#194">194</a>         <a href="../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathFilterExpression);
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>         <strong>return</strong> xpath.selectNodes(nodes);
+<a name="197" href="#197">197</a>     }
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a>     <em>/**<em>*</em></em>
+<a name="200" href="#200">200</a> <em>     * <p></em>
+<a name="201" href="#201">201</a> <em>     * <code>selectNodes</code> performs the given XPath expression on the</em>
+<a name="202" href="#202">202</a> <em>     * {@link List}of {@link Node}instances appending all the results together</em>
+<a name="203" href="#203">203</a> <em>     * into a single list.</em>
+<a name="204" href="#204">204</a> <em>     * </p></em>
+<a name="205" href="#205">205</a> <em>     * </em>
+<a name="206" href="#206">206</a> <em>     * @param xpathFilterExpression</em>
+<a name="207" href="#207">207</a> <em>     *            is the XPath filter expression to evaluate</em>
+<a name="208" href="#208">208</a> <em>     * @param node</em>
+<a name="209" href="#209">209</a> <em>     *            is the Node on which to evalute the XPath</em>
+<a name="210" href="#210">210</a> <em>     * </em>
+<a name="211" href="#211">211</a> <em>     * @return the results of all the XPath evaluations as a single list</em>
+<a name="212" href="#212">212</a> <em>     */</em>
+<a name="213" href="#213">213</a>     <strong>public</strong> <strong>static</strong> List selectNodes(String xpathFilterExpression, <a href="../../org/dom4j/Node.html">Node</a> node) {
+<a name="214" href="#214">214</a>         <a href="../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathFilterExpression);
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>         <strong>return</strong> xpath.selectNodes(node);
+<a name="217" href="#217">217</a>     }
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>     <em>/**<em>*</em></em>
+<a name="220" href="#220">220</a> <em>     * <p></em>
+<a name="221" href="#221">221</a> <em>     * <code>sort</code> sorts the given List of Nodes using an XPath</em>
+<a name="222" href="#222">222</a> <em>     * expression as a {@link java.util.Comparator}.</em>
+<a name="223" href="#223">223</a> <em>     * </p></em>
+<a name="224" href="#224">224</a> <em>     * </em>
+<a name="225" href="#225">225</a> <em>     * @param list</em>
+<a name="226" href="#226">226</a> <em>     *            is the list of Nodes to sort</em>
+<a name="227" href="#227">227</a> <em>     * @param xpathExpression</em>
+<a name="228" href="#228">228</a> <em>     *            is the XPath expression used for comparison</em>
+<a name="229" href="#229">229</a> <em>     */</em>
+<a name="230" href="#230">230</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> sort(List list, String xpathExpression) {
+<a name="231" href="#231">231</a>         <a href="../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathExpression);
+<a name="232" href="#232">232</a>         xpath.sort(list);
+<a name="233" href="#233">233</a>     }
+<a name="234" href="#234">234</a> 
+<a name="235" href="#235">235</a>     <em>/**<em>*</em></em>
+<a name="236" href="#236">236</a> <em>     * <p></em>
+<a name="237" href="#237">237</a> <em>     * <code>sort</code> sorts the given List of Nodes using an XPath</em>
+<a name="238" href="#238">238</a> <em>     * expression as a {@link java.util.Comparator}and optionally removing</em>
+<a name="239" href="#239">239</a> <em>     * duplicates.</em>
+<a name="240" href="#240">240</a> <em>     * </p></em>
+<a name="241" href="#241">241</a> <em>     * </em>
+<a name="242" href="#242">242</a> <em>     * @param list</em>
+<a name="243" href="#243">243</a> <em>     *            is the list of Nodes to sort</em>
+<a name="244" href="#244">244</a> <em>     * @param expression</em>
+<a name="245" href="#245">245</a> <em>     *            is the XPath expression used for comparison</em>
+<a name="246" href="#246">246</a> <em>     * @param distinct</em>
+<a name="247" href="#247">247</a> <em>     *            if true then duplicate values (using the sortXPath for</em>
+<a name="248" href="#248">248</a> <em>     *            comparisions) will be removed from the List</em>
+<a name="249" href="#249">249</a> <em>     */</em>
+<a name="250" href="#250">250</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> sort(List list, String expression, <strong>boolean</strong> distinct) {
+<a name="251" href="#251">251</a>         <a href="../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(expression);
+<a name="252" href="#252">252</a>         xpath.sort(list, distinct);
+<a name="253" href="#253">253</a>     }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>     <em>/**<em>*</em></em>
+<a name="256" href="#256">256</a> <em>     * <p></em>
+<a name="257" href="#257">257</a> <em>     * <code>parseText</code> parses the given text as an XML document and</em>
+<a name="258" href="#258">258</a> <em>     * returns the newly created Document.</em>
+<a name="259" href="#259">259</a> <em>     * </p></em>
+<a name="260" href="#260">260</a> <em>     * </em>
+<a name="261" href="#261">261</a> <em>     * @param text</em>
+<a name="262" href="#262">262</a> <em>     *            the XML text to be parsed</em>
+<a name="263" href="#263">263</a> <em>     * </em>
+<a name="264" href="#264">264</a> <em>     * @return a newly parsed Document</em>
+<a name="265" href="#265">265</a> <em>     * </em>
+<a name="266" href="#266">266</a> <em>     * @throws DocumentException</em>
+<a name="267" href="#267">267</a> <em>     *             if the document could not be parsed</em>
+<a name="268" href="#268">268</a> <em>     */</em>
+<a name="269" href="#269">269</a>     <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Document.html">Document</a> parseText(String text) throws DocumentException {
+<a name="270" href="#270">270</a>         <a href="../../org/dom4j/Document.html">Document</a> result = <strong>null</strong>;
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>         <a href="../../org/dom4j/io/SAXReader.html">SAXReader</a> reader = <strong>new</strong> <a href="../../org/dom4j/io/SAXReader.html">SAXReader</a>();
+<a name="273" href="#273">273</a>         String encoding = getEncoding(text);
+<a name="274" href="#274">274</a> 
+<a name="275" href="#275">275</a>         InputSource source = <strong>new</strong> InputSource(<strong>new</strong> StringReader(text));
+<a name="276" href="#276">276</a>         source.setEncoding(encoding);
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>         result = reader.read(source);
+<a name="279" href="#279">279</a> 
+<a name="280" href="#280">280</a>         <em class="comment">// if the XML parser doesn't provide a way to retrieve the encoding,</em>
+<a name="281" href="#281">281</a>         <em class="comment">// specify it manually</em>
+<a name="282" href="#282">282</a>         <strong>if</strong> (result.getXMLEncoding() == <strong>null</strong>) {
+<a name="283" href="#283">283</a>             result.setXMLEncoding(encoding);
+<a name="284" href="#284">284</a>         }
+<a name="285" href="#285">285</a> 
+<a name="286" href="#286">286</a>         <strong>return</strong> result;
+<a name="287" href="#287">287</a>     }
+<a name="288" href="#288">288</a> 
+<a name="289" href="#289">289</a>     <strong>private</strong> <strong>static</strong> String getEncoding(String text) {
+<a name="290" href="#290">290</a>         String result = <strong>null</strong>;
+<a name="291" href="#291">291</a> 
+<a name="292" href="#292">292</a>         String xml = text.trim();
+<a name="293" href="#293">293</a> 
+<a name="294" href="#294">294</a>         <strong>if</strong> (xml.startsWith(<span class="string">"<?xml"</span>)) {
+<a name="295" href="#295">295</a>             <strong>int</strong> end = xml.indexOf(<span class="string">"?>"</span>);
+<a name="296" href="#296">296</a>             String sub = xml.substring(0, end);
+<a name="297" href="#297">297</a>             StringTokenizer tokens = <strong>new</strong> StringTokenizer(sub, <span class="string">" =\"\'"</span>);
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>             <strong>while</strong> (tokens.hasMoreTokens()) {
+<a name="300" href="#300">300</a>                 String token = tokens.nextToken();
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>                 <strong>if</strong> (<span class="string">"encoding"</span>.equals(token)) {
+<a name="303" href="#303">303</a>                     <strong>if</strong> (tokens.hasMoreTokens()) {
+<a name="304" href="#304">304</a>                         result = tokens.nextToken();
+<a name="305" href="#305">305</a>                     }
+<a name="306" href="#306">306</a> 
+<a name="307" href="#307">307</a>                     <strong>break</strong>;
+<a name="308" href="#308">308</a>                 }
+<a name="309" href="#309">309</a>             }
+<a name="310" href="#310">310</a>         }
+<a name="311" href="#311">311</a> 
+<a name="312" href="#312">312</a>         <strong>return</strong> result;
+<a name="313" href="#313">313</a>     }
+<a name="314" href="#314">314</a> 
+<a name="315" href="#315">315</a>     <em>/**<em>*</em></em>
+<a name="316" href="#316">316</a> <em>     * <p></em>
+<a name="317" href="#317">317</a> <em>     * makeElement</em>
+<a name="318" href="#318">318</a> <em>     * </p></em>
+<a name="319" href="#319">319</a> <em>     * a helper method which navigates from the given Document or Element node</em>
+<a name="320" href="#320">320</a> <em>     * to some Element using the path expression, creating any necessary</em>
+<a name="321" href="#321">321</a> <em>     * elements along the way. For example the path <code>a/b/c</code> would</em>
+<a name="322" href="#322">322</a> <em>     * get the first child &lt;a&gt; element, which would be created if it did</em>
+<a name="323" href="#323">323</a> <em>     * not exist, then the next child &lt;b&gt; and so on until finally a</em>
+<a name="324" href="#324">324</a> <em>     * &lt;c&gt; element is returned.</em>
+<a name="325" href="#325">325</a> <em>     * </em>
+<a name="326" href="#326">326</a> <em>     * @param source</em>
+<a name="327" href="#327">327</a> <em>     *            is the Element or Document to start navigating from</em>
+<a name="328" href="#328">328</a> <em>     * @param path</em>
+<a name="329" href="#329">329</a> <em>     *            is a simple path expression, seperated by '/' which denotes</em>
+<a name="330" href="#330">330</a> <em>     *            the path from the source to the resulting element such as</em>
+<a name="331" href="#331">331</a> <em>     *            a/b/c</em>
+<a name="332" href="#332">332</a> <em>     * </em>
+<a name="333" href="#333">333</a> <em>     * @return the first Element on the given path which either already existed</em>
+<a name="334" href="#334">334</a> <em>     *         on the path or were created by this method.</em>
+<a name="335" href="#335">335</a> <em>     */</em>
+<a name="336" href="#336">336</a>     <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Element.html">Element</a> makeElement(<a href="../../org/dom4j/Branch.html">Branch</a> source, String path) {
+<a name="337" href="#337">337</a>         StringTokenizer tokens = <strong>new</strong> StringTokenizer(path, <span class="string">"/"</span>);
+<a name="338" href="#338">338</a>         <a href="../../org/dom4j/Element.html">Element</a> parent;
+<a name="339" href="#339">339</a> 
+<a name="340" href="#340">340</a>         <strong>if</strong> (source instanceof Document) {
+<a name="341" href="#341">341</a>             <a href="../../org/dom4j/Document.html">Document</a> document = (Document) source;
+<a name="342" href="#342">342</a>             parent = document.getRootElement();
+<a name="343" href="#343">343</a> 
+<a name="344" href="#344">344</a>             <em class="comment">// lets throw a NoSuchElementException</em>
+<a name="345" href="#345">345</a>             <em class="comment">// if we are given an empty path</em>
+<a name="346" href="#346">346</a>             String name = tokens.nextToken();
+<a name="347" href="#347">347</a> 
+<a name="348" href="#348">348</a>             <strong>if</strong> (parent == <strong>null</strong>) {
+<a name="349" href="#349">349</a>                 parent = document.addElement(name);
+<a name="350" href="#350">350</a>             }
+<a name="351" href="#351">351</a>         } <strong>else</strong> {
+<a name="352" href="#352">352</a>             parent = (Element) source;
+<a name="353" href="#353">353</a>         }
+<a name="354" href="#354">354</a> 
+<a name="355" href="#355">355</a>         <a href="../../org/dom4j/Element.html">Element</a> element = <strong>null</strong>;
+<a name="356" href="#356">356</a> 
+<a name="357" href="#357">357</a>         <strong>while</strong> (tokens.hasMoreTokens()) {
+<a name="358" href="#358">358</a>             String name = tokens.nextToken();
+<a name="359" href="#359">359</a> 
+<a name="360" href="#360">360</a>             <strong>if</strong> (name.indexOf(':') > 0) {
+<a name="361" href="#361">361</a>                 element = parent.element(parent.getQName(name));
+<a name="362" href="#362">362</a>             } <strong>else</strong> {
+<a name="363" href="#363">363</a>                 element = parent.element(name);
+<a name="364" href="#364">364</a>             }
+<a name="365" href="#365">365</a> 
+<a name="366" href="#366">366</a>             <strong>if</strong> (element == <strong>null</strong>) {
+<a name="367" href="#367">367</a>                 element = parent.addElement(name);
+<a name="368" href="#368">368</a>             }
+<a name="369" href="#369">369</a> 
+<a name="370" href="#370">370</a>             parent = element;
+<a name="371" href="#371">371</a>         }
+<a name="372" href="#372">372</a> 
+<a name="373" href="#373">373</a>         <strong>return</strong> element;
+<a name="374" href="#374">374</a>     }
+<a name="375" href="#375">375</a> }
+<a name="376" href="#376">376</a> 
+<a name="377" href="#377">377</a> <em class="comment">/*</em>
+<a name="378" href="#378">378</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="379" href="#379">379</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="380" href="#380">380</a> <em class="comment"> * following conditions are met:</em>
+<a name="381" href="#381">381</a> <em class="comment"> * </em>
+<a name="382" href="#382">382</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="383" href="#383">383</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="384" href="#384">384</a> <em class="comment"> * </em>
+<a name="385" href="#385">385</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="386" href="#386">386</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="387" href="#387">387</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="388" href="#388">388</a> <em class="comment"> * </em>
+<a name="389" href="#389">389</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="390" href="#390">390</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="391" href="#391">391</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="392" href="#392">392</a> <em class="comment"> * </em>
+<a name="393" href="#393">393</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="394" href="#394">394</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="395" href="#395">395</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="396" href="#396">396</a> <em class="comment"> * </em>
+<a name="397" href="#397">397</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="398" href="#398">398</a> <em class="comment"> * </em>
+<a name="399" href="#399">399</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="400" href="#400">400</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="401" href="#401">401</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="402" href="#402">402</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="403" href="#403">403</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="404" href="#404">404</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="405" href="#405">405</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="406" href="#406">406</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="407" href="#407">407</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="408" href="#408">408</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="409" href="#409">409</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="410" href="#410">410</a> <em class="comment"> * </em>
+<a name="411" href="#411">411</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="412" href="#412">412</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/DocumentType.html b/docs/xref/org/dom4j/DocumentType.html
new file mode 100644
index 0000000..39a0003
--- /dev/null
+++ b/docs/xref/org/dom4j/DocumentType.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocumentType xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/DocumentType.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.List;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>DocumentType</code> defines an XML DOCTYPE declaration.</em>
+<a name="15" href="#15">15</a>  <em> * </p></em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="18" href="#18">18</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/DocumentType.html">DocumentType</a> <strong>extends</strong> <a href="../../org/dom4j/Node.html">Node</a> {
+<a name="21" href="#21">21</a>      <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em>     * This method is the equivalent to the {@link #getName}method. It is added</em>
+<a name="23" href="#23">23</a>  <em>     * for clarity.</em>
+<a name="24" href="#24">24</a>  <em>     * </em>
+<a name="25" href="#25">25</a>  <em>     * @return the root element name for the document type.</em>
+<a name="26" href="#26">26</a>  <em>     */</em>
+<a name="27" href="#27">27</a>      String getElementName();
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em>/**<em>*</em></em>
+<a name="30" href="#30">30</a>  <em>     * This method is the equivalent to the {@link #setName}method. It is added</em>
+<a name="31" href="#31">31</a>  <em>     * for clarity.</em>
+<a name="32" href="#32">32</a>  <em>     * </em>
+<a name="33" href="#33">33</a>  <em>     * @param elementName</em>
+<a name="34" href="#34">34</a>  <em>     *            DOCUMENT ME!</em>
+<a name="35" href="#35">35</a>  <em>     */</em>
+<a name="36" href="#36">36</a>      <strong>void</strong> setElementName(String elementName);
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      String getPublicID();
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>void</strong> setPublicID(String publicID);
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      String getSystemID();
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>void</strong> setSystemID(String systemID);
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>*</em></em>
+<a name="47" href="#47">47</a>  <em>     * Returns a list of internal DTD declaration objects, defined in the</em>
+<a name="48" href="#48">48</a>  <em>     * {@link org.dom4j.dtd}package</em>
+<a name="49" href="#49">49</a>  <em>     * </em>
+<a name="50" href="#50">50</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="51" href="#51">51</a>  <em>     */</em>
+<a name="52" href="#52">52</a>      List getInternalDeclarations();
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <em>/**<em>*</em></em>
+<a name="55" href="#55">55</a>  <em>     * Sets the list of internal DTD declaration objects, defined in the</em>
+<a name="56" href="#56">56</a>  <em>     * {@link org.dom4j.dtd}package</em>
+<a name="57" href="#57">57</a>  <em>     * </em>
+<a name="58" href="#58">58</a>  <em>     * @param declarations</em>
+<a name="59" href="#59">59</a>  <em>     *            DOCUMENT ME!</em>
+<a name="60" href="#60">60</a>  <em>     */</em>
+<a name="61" href="#61">61</a>      <strong>void</strong> setInternalDeclarations(List declarations);
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <em>/**<em>*</em></em>
+<a name="64" href="#64">64</a>  <em>     * Returns a list of internal DTD declaration objects, defined in the</em>
+<a name="65" href="#65">65</a>  <em>     * {@link org.dom4j.dtd}package</em>
+<a name="66" href="#66">66</a>  <em>     * </em>
+<a name="67" href="#67">67</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="68" href="#68">68</a>  <em>     */</em>
+<a name="69" href="#69">69</a>      List getExternalDeclarations();
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em>/**<em>*</em></em>
+<a name="72" href="#72">72</a>  <em>     * Sets the list of internal DTD declaration objects, defined in the</em>
+<a name="73" href="#73">73</a>  <em>     * {@link org.dom4j.dtd}package</em>
+<a name="74" href="#74">74</a>  <em>     * </em>
+<a name="75" href="#75">75</a>  <em>     * @param declarations</em>
+<a name="76" href="#76">76</a>  <em>     *            DOCUMENT ME!</em>
+<a name="77" href="#77">77</a>  <em>     */</em>
+<a name="78" href="#78">78</a>      <strong>void</strong> setExternalDeclarations(List declarations);
+<a name="79" href="#79">79</a>  }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>  <em class="comment">/*</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * following conditions are met:</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="102" href="#102">102</a> <em class="comment"> * </em>
+<a name="103" href="#103">103</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="104" href="#104">104</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="105" href="#105">105</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="106" href="#106">106</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="108" href="#108">108</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="109" href="#109">109</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="110" href="#110">110</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="111" href="#111">111</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="112" href="#112">112</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="113" href="#113">113</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="114" href="#114">114</a> <em class="comment"> * </em>
+<a name="115" href="#115">115</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="116" href="#116">116</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/Element.html b/docs/xref/org/dom4j/Element.html
new file mode 100644
index 0000000..095c4bd
--- /dev/null
+++ b/docs/xref/org/dom4j/Element.html
@@ -0,0 +1,898 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Element xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Element.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Iterator;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.List;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Map;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>Element</code> interface defines an XML element. An element can have</em>
+<a name="17" href="#17">17</a>  <em> * declared namespaces, attributes, child nodes and textual content.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * Some of this interface is optional. Some implementations may be read-only and</em>
+<a name="22" href="#22">22</a>  <em> * not support being modified. Some implementations may not support the parent</em>
+<a name="23" href="#23">23</a>  <em> * relationship and methods such as {@link #getParent}or {@link#getDocument}.</em>
+<a name="24" href="#24">24</a>  <em> * </p></em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> * @version $Revision: 1.47 $</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/Element.html">Element</a> <strong>extends</strong> <a href="../../org/dom4j/Branch.html">Branch</a> {
+<a name="30" href="#30">30</a>      <em class="comment">// Name and namespace related methods</em>
+<a name="31" href="#31">31</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>*</em></em>
+<a name="34" href="#34">34</a>  <em>     * <p></em>
+<a name="35" href="#35">35</a>  <em>     * Returns the <code>QName</code> of this element which represents the</em>
+<a name="36" href="#36">36</a>  <em>     * local name, the qualified name and the <code>Namespace</code>.</em>
+<a name="37" href="#37">37</a>  <em>     * </p></em>
+<a name="38" href="#38">38</a>  <em>     * </em>
+<a name="39" href="#39">39</a>  <em>     * @return the <code>QName</code> associated with this element</em>
+<a name="40" href="#40">40</a>  <em>     */</em>
+<a name="41" href="#41">41</a>      <a href="../../org/dom4j/QName.html">QName</a> getQName();
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>*</em></em>
+<a name="44" href="#44">44</a>  <em>     * <p></em>
+<a name="45" href="#45">45</a>  <em>     * Sets the <code>QName</code> of this element which represents the local</em>
+<a name="46" href="#46">46</a>  <em>     * name, the qualified name and the <code>Namespace</code>.</em>
+<a name="47" href="#47">47</a>  <em>     * </p></em>
+<a name="48" href="#48">48</a>  <em>     * </em>
+<a name="49" href="#49">49</a>  <em>     * @param qname</em>
+<a name="50" href="#50">50</a>  <em>     *            is the <code>QName</code> to be associated with this element</em>
+<a name="51" href="#51">51</a>  <em>     */</em>
+<a name="52" href="#52">52</a>      <strong>void</strong> setQName(<a href="../../org/dom4j/QName.html">QName</a> qname);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <em>/**<em>*</em></em>
+<a name="55" href="#55">55</a>  <em>     * <p></em>
+<a name="56" href="#56">56</a>  <em>     * Returns the <code>Namespace</code> of this element if one exists</em>
+<a name="57" href="#57">57</a>  <em>     * otherwise <code>Namespace.NO_NAMESPACE</code> is returned.</em>
+<a name="58" href="#58">58</a>  <em>     * </p></em>
+<a name="59" href="#59">59</a>  <em>     * </em>
+<a name="60" href="#60">60</a>  <em>     * @return the <code>Namespace</code> associated with this element</em>
+<a name="61" href="#61">61</a>  <em>     */</em>
+<a name="62" href="#62">62</a>      <a href="../../org/dom4j/Namespace.html">Namespace</a> getNamespace();
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <em>/**<em>*</em></em>
+<a name="65" href="#65">65</a>  <em>     * <p></em>
+<a name="66" href="#66">66</a>  <em>     * Returns the <code>QName</code> for the given qualified name, using the</em>
+<a name="67" href="#67">67</a>  <em>     * namespace URI in scope for the given prefix of the qualified name or the</em>
+<a name="68" href="#68">68</a>  <em>     * default namespace if the qualified name has no prefix.</em>
+<a name="69" href="#69">69</a>  <em>     * </p></em>
+<a name="70" href="#70">70</a>  <em>     * </em>
+<a name="71" href="#71">71</a>  <em>     * @param qualifiedName</em>
+<a name="72" href="#72">72</a>  <em>     *            DOCUMENT ME!</em>
+<a name="73" href="#73">73</a>  <em>     * </em>
+<a name="74" href="#74">74</a>  <em>     * @return the <code>QName</code> for the given qualified name</em>
+<a name="75" href="#75">75</a>  <em>     */</em>
+<a name="76" href="#76">76</a>      <a href="../../org/dom4j/QName.html">QName</a> getQName(String qualifiedName);
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <em>/**<em>*</em></em>
+<a name="79" href="#79">79</a>  <em>     * <p></em>
+<a name="80" href="#80">80</a>  <em>     * Returns the <code>Namespace</code> which is mapped to the given prefix</em>
+<a name="81" href="#81">81</a>  <em>     * or null if it could not be found.</em>
+<a name="82" href="#82">82</a>  <em>     * </p></em>
+<a name="83" href="#83">83</a>  <em>     * </em>
+<a name="84" href="#84">84</a>  <em>     * @param prefix</em>
+<a name="85" href="#85">85</a>  <em>     *            DOCUMENT ME!</em>
+<a name="86" href="#86">86</a>  <em>     * </em>
+<a name="87" href="#87">87</a>  <em>     * @return the <code>Namespace</code> associated with the given prefix</em>
+<a name="88" href="#88">88</a>  <em>     */</em>
+<a name="89" href="#89">89</a>      <a href="../../org/dom4j/Namespace.html">Namespace</a> getNamespaceForPrefix(String prefix);
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <em>/**<em>*</em></em>
+<a name="92" href="#92">92</a>  <em>     * <p></em>
+<a name="93" href="#93">93</a>  <em>     * Returns the <code>Namespace</code> which is mapped to the given URI or</em>
+<a name="94" href="#94">94</a>  <em>     * null if it could not be found. If there is more than one</em>
+<a name="95" href="#95">95</a>  <em>     * <code>Namespace</code> mapped to the URI, which of them will be</em>
+<a name="96" href="#96">96</a>  <em>     * returned is undetermined.</em>
+<a name="97" href="#97">97</a>  <em>     * </p></em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     * @param uri</em>
+<a name="100" href="#100">100</a> <em>     *            DOCUMENT ME!</em>
+<a name="101" href="#101">101</a> <em>     * </em>
+<a name="102" href="#102">102</a> <em>     * @return the <code>Namespace</code> associated with the given URI</em>
+<a name="103" href="#103">103</a> <em>     */</em>
+<a name="104" href="#104">104</a>     <a href="../../org/dom4j/Namespace.html">Namespace</a> getNamespaceForURI(String uri);
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <em>/**<em>*</em></em>
+<a name="107" href="#107">107</a> <em>     * <p></em>
+<a name="108" href="#108">108</a> <em>     * Returns the all namespaces which are mapped to the given URI or an empty</em>
+<a name="109" href="#109">109</a> <em>     * list if no such namespaces could be found.</em>
+<a name="110" href="#110">110</a> <em>     * </p></em>
+<a name="111" href="#111">111</a> <em>     * </em>
+<a name="112" href="#112">112</a> <em>     * @param uri</em>
+<a name="113" href="#113">113</a> <em>     *            DOCUMENT ME!</em>
+<a name="114" href="#114">114</a> <em>     * </em>
+<a name="115" href="#115">115</a> <em>     * @return the namespaces associated with the given URI</em>
+<a name="116" href="#116">116</a> <em>     * </em>
+<a name="117" href="#117">117</a> <em>     * @since 1.5</em>
+<a name="118" href="#118">118</a> <em>     */</em>
+<a name="119" href="#119">119</a>     List getNamespacesForURI(String uri);
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <em>/**<em>*</em></em>
+<a name="122" href="#122">122</a> <em>     * <p></em>
+<a name="123" href="#123">123</a> <em>     * Returns the namespace prefix of this element if one exists otherwise an</em>
+<a name="124" href="#124">124</a> <em>     * empty <code>String</code> is returned.</em>
+<a name="125" href="#125">125</a> <em>     * </p></em>
+<a name="126" href="#126">126</a> <em>     * </em>
+<a name="127" href="#127">127</a> <em>     * @return the prefix of the <code>Namespace</code> of this element or an</em>
+<a name="128" href="#128">128</a> <em>     *         empty <code>String</code></em>
+<a name="129" href="#129">129</a> <em>     */</em>
+<a name="130" href="#130">130</a>     String getNamespacePrefix();
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <em>/**<em>*</em></em>
+<a name="133" href="#133">133</a> <em>     * <p></em>
+<a name="134" href="#134">134</a> <em>     * Returns the URI mapped to the namespace of this element if one exists</em>
+<a name="135" href="#135">135</a> <em>     * otherwise an empty <code>String</code> is returned.</em>
+<a name="136" href="#136">136</a> <em>     * </p></em>
+<a name="137" href="#137">137</a> <em>     * </em>
+<a name="138" href="#138">138</a> <em>     * @return the URI for the <code>Namespace</code> of this element or an</em>
+<a name="139" href="#139">139</a> <em>     *         empty <code>String</code></em>
+<a name="140" href="#140">140</a> <em>     */</em>
+<a name="141" href="#141">141</a>     String getNamespaceURI();
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <em>/**<em>*</em></em>
+<a name="144" href="#144">144</a> <em>     * <p></em>
+<a name="145" href="#145">145</a> <em>     * Returns the fully qualified name of this element. This will be the same</em>
+<a name="146" href="#146">146</a> <em>     * as the value returned from {@link #getName}if this element has no</em>
+<a name="147" href="#147">147</a> <em>     * namespace attached to this element or an expression of the form</em>
+<a name="148" href="#148">148</a> <em>     * </em>
+<a name="149" href="#149">149</a> <em>     * <pre></em>
+<a name="150" href="#150">150</a> <em>     * getNamespacePrefix() + &quot;:&quot; + getName()</em>
+<a name="151" href="#151">151</a> <em>     * </pre></em>
+<a name="152" href="#152">152</a> <em>     * </em>
+<a name="153" href="#153">153</a> <em>     * will be returned.</em>
+<a name="154" href="#154">154</a> <em>     * </p></em>
+<a name="155" href="#155">155</a> <em>     * </em>
+<a name="156" href="#156">156</a> <em>     * @return the fully qualified name of the element.</em>
+<a name="157" href="#157">157</a> <em>     */</em>
+<a name="158" href="#158">158</a>     String getQualifiedName();
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <em>/**<em>*</em></em>
+<a name="161" href="#161">161</a> <em>     * <p></em>
+<a name="162" href="#162">162</a> <em>     * Returns any additional namespaces declarations for this element other</em>
+<a name="163" href="#163">163</a> <em>     * than namespace returned via the {@link #getNamespace()}method. If no</em>
+<a name="164" href="#164">164</a> <em>     * additional namespace declarations are present for this element then an</em>
+<a name="165" href="#165">165</a> <em>     * empty list will be returned. The list is backed by the element such that</em>
+<a name="166" href="#166">166</a> <em>     * changes to the list will be reflected in the element though the reverse</em>
+<a name="167" href="#167">167</a> <em>     * is not the case.</em>
+<a name="168" href="#168">168</a> <em>     * </p></em>
+<a name="169" href="#169">169</a> <em>     * </em>
+<a name="170" href="#170">170</a> <em>     * @return a list of any additional namespace declarations.</em>
+<a name="171" href="#171">171</a> <em>     */</em>
+<a name="172" href="#172">172</a>     List additionalNamespaces();
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>     <em>/**<em>*</em></em>
+<a name="175" href="#175">175</a> <em>     * <p></em>
+<a name="176" href="#176">176</a> <em>     * Returns all the namespaces declared by this element. If no namespaces are</em>
+<a name="177" href="#177">177</a> <em>     * declared for this element then an empty list will be returned. The list</em>
+<a name="178" href="#178">178</a> <em>     * is backed by the element such that changes to the list will be reflected</em>
+<a name="179" href="#179">179</a> <em>     * in the element though the reverse is not the case.</em>
+<a name="180" href="#180">180</a> <em>     * </p></em>
+<a name="181" href="#181">181</a> <em>     * </em>
+<a name="182" href="#182">182</a> <em>     * @return a list of namespaces declared for this element.</em>
+<a name="183" href="#183">183</a> <em>     */</em>
+<a name="184" href="#184">184</a>     List declaredNamespaces();
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>     <em class="comment">// Builder methods</em>
+<a name="187" href="#187">187</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>     <em>/**<em>*</em></em>
+<a name="190" href="#190">190</a> <em>     * <p></em>
+<a name="191" href="#191">191</a> <em>     * Adds the attribute value of the given local name. If an attribute already</em>
+<a name="192" href="#192">192</a> <em>     * exists for the given name it will be replaced. Attributes with null</em>
+<a name="193" href="#193">193</a> <em>     * values are silently ignored. If the value of the attribute is null then</em>
+<a name="194" href="#194">194</a> <em>     * this method call will remove any attributes with the given name.</em>
+<a name="195" href="#195">195</a> <em>     * </p></em>
+<a name="196" href="#196">196</a> <em>     * </em>
+<a name="197" href="#197">197</a> <em>     * @param name</em>
+<a name="198" href="#198">198</a> <em>     *            is the name of the attribute whose value is to be added or</em>
+<a name="199" href="#199">199</a> <em>     *            updated</em>
+<a name="200" href="#200">200</a> <em>     * @param value</em>
+<a name="201" href="#201">201</a> <em>     *            is the attribute's value</em>
+<a name="202" href="#202">202</a> <em>     * </em>
+<a name="203" href="#203">203</a> <em>     * @return this <code>Element</code> instance.</em>
+<a name="204" href="#204">204</a> <em>     */</em>
+<a name="205" href="#205">205</a>     <a href="../../org/dom4j/Element.html">Element</a> addAttribute(String name, String value);
+<a name="206" href="#206">206</a> 
+<a name="207" href="#207">207</a>     <em>/**<em>*</em></em>
+<a name="208" href="#208">208</a> <em>     * <p></em>
+<a name="209" href="#209">209</a> <em>     * Adds the attribute value of the given fully qualified name. If an</em>
+<a name="210" href="#210">210</a> <em>     * attribute already exists for the given name it will be replaced.</em>
+<a name="211" href="#211">211</a> <em>     * Attributes with null values are silently ignored. If the value of the</em>
+<a name="212" href="#212">212</a> <em>     * attribute is null then this method call will remove any attributes with</em>
+<a name="213" href="#213">213</a> <em>     * the given name.</em>
+<a name="214" href="#214">214</a> <em>     * </p></em>
+<a name="215" href="#215">215</a> <em>     * </em>
+<a name="216" href="#216">216</a> <em>     * @param qName</em>
+<a name="217" href="#217">217</a> <em>     *            is the fully qualified name of the attribute whose value is to</em>
+<a name="218" href="#218">218</a> <em>     *            be added or updated</em>
+<a name="219" href="#219">219</a> <em>     * @param value</em>
+<a name="220" href="#220">220</a> <em>     *            is the attribute's value</em>
+<a name="221" href="#221">221</a> <em>     * </em>
+<a name="222" href="#222">222</a> <em>     * @return this <code>Element</code> instance.</em>
+<a name="223" href="#223">223</a> <em>     */</em>
+<a name="224" href="#224">224</a>     <a href="../../org/dom4j/Element.html">Element</a> addAttribute(<a href="../../org/dom4j/QName.html">QName</a> qName, String value);
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>     <em>/**<em>*</em></em>
+<a name="227" href="#227">227</a> <em>     * Adds a new <code>Comment</code> node with the given text to this</em>
+<a name="228" href="#228">228</a> <em>     * element.</em>
+<a name="229" href="#229">229</a> <em>     * </em>
+<a name="230" href="#230">230</a> <em>     * @param comment</em>
+<a name="231" href="#231">231</a> <em>     *            is the text for the <code>Comment</code> node.</em>
+<a name="232" href="#232">232</a> <em>     * </em>
+<a name="233" href="#233">233</a> <em>     * @return this <code>Element</code> instance.</em>
+<a name="234" href="#234">234</a> <em>     */</em>
+<a name="235" href="#235">235</a>     <a href="../../org/dom4j/Element.html">Element</a> addComment(String comment);
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>     <em>/**<em>*</em></em>
+<a name="238" href="#238">238</a> <em>     * Adds a new <code>CDATA</code> node with the given text to this element.</em>
+<a name="239" href="#239">239</a> <em>     * </em>
+<a name="240" href="#240">240</a> <em>     * @param cdata</em>
+<a name="241" href="#241">241</a> <em>     *            is the text for the <code>CDATA</code> node.</em>
+<a name="242" href="#242">242</a> <em>     * </em>
+<a name="243" href="#243">243</a> <em>     * @return this <code>Element</code> instance.</em>
+<a name="244" href="#244">244</a> <em>     */</em>
+<a name="245" href="#245">245</a>     <a href="../../org/dom4j/Element.html">Element</a> addCDATA(String cdata);
+<a name="246" href="#246">246</a> 
+<a name="247" href="#247">247</a>     <em>/**<em>*</em></em>
+<a name="248" href="#248">248</a> <em>     * Adds a new <code>Entity</code> node with the given name and text to</em>
+<a name="249" href="#249">249</a> <em>     * this element and returns a reference to the new node.</em>
+<a name="250" href="#250">250</a> <em>     * </em>
+<a name="251" href="#251">251</a> <em>     * @param name</em>
+<a name="252" href="#252">252</a> <em>     *            is the name for the <code>Entity</code> node.</em>
+<a name="253" href="#253">253</a> <em>     * @param text</em>
+<a name="254" href="#254">254</a> <em>     *            is the text for the <code>Entity</code> node.</em>
+<a name="255" href="#255">255</a> <em>     * </em>
+<a name="256" href="#256">256</a> <em>     * @return this <code>Element</code> instance.</em>
+<a name="257" href="#257">257</a> <em>     */</em>
+<a name="258" href="#258">258</a>     <a href="../../org/dom4j/Element.html">Element</a> addEntity(String name, String text);
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>     <em>/**<em>*</em></em>
+<a name="261" href="#261">261</a> <em>     * Adds a namespace to this element for use by its child content</em>
+<a name="262" href="#262">262</a> <em>     * </em>
+<a name="263" href="#263">263</a> <em>     * @param prefix</em>
+<a name="264" href="#264">264</a> <em>     *            is the prefix to use, which should not be null or blank</em>
+<a name="265" href="#265">265</a> <em>     * @param uri</em>
+<a name="266" href="#266">266</a> <em>     *            is the namespace URI</em>
+<a name="267" href="#267">267</a> <em>     * </em>
+<a name="268" href="#268">268</a> <em>     * @return this <code>Element</code> instance.</em>
+<a name="269" href="#269">269</a> <em>     */</em>
+<a name="270" href="#270">270</a>     <a href="../../org/dom4j/Element.html">Element</a> addNamespace(String prefix, String uri);
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>     <em>/**<em>*</em></em>
+<a name="273" href="#273">273</a> <em>     * Adds a processing instruction for the given target</em>
+<a name="274" href="#274">274</a> <em>     * </em>
+<a name="275" href="#275">275</a> <em>     * @param target</em>
+<a name="276" href="#276">276</a> <em>     *            is the target of the processing instruction</em>
+<a name="277" href="#277">277</a> <em>     * @param text</em>
+<a name="278" href="#278">278</a> <em>     *            is the textual data (key/value pairs) of the processing</em>
+<a name="279" href="#279">279</a> <em>     *            instruction</em>
+<a name="280" href="#280">280</a> <em>     * </em>
+<a name="281" href="#281">281</a> <em>     * @return this <code>Element</code> instance.</em>
+<a name="282" href="#282">282</a> <em>     */</em>
+<a name="283" href="#283">283</a>     <a href="../../org/dom4j/Element.html">Element</a> addProcessingInstruction(String target, String text);
+<a name="284" href="#284">284</a> 
+<a name="285" href="#285">285</a>     <em>/**<em>*</em></em>
+<a name="286" href="#286">286</a> <em>     * Adds a processing instruction for the given target</em>
+<a name="287" href="#287">287</a> <em>     * </em>
+<a name="288" href="#288">288</a> <em>     * @param target</em>
+<a name="289" href="#289">289</a> <em>     *            is the target of the processing instruction</em>
+<a name="290" href="#290">290</a> <em>     * @param data</em>
+<a name="291" href="#291">291</a> <em>     *            is a Map of the key / value pairs of the processing</em>
+<a name="292" href="#292">292</a> <em>     *            instruction</em>
+<a name="293" href="#293">293</a> <em>     * </em>
+<a name="294" href="#294">294</a> <em>     * @return this <code>Element</code> instance.</em>
+<a name="295" href="#295">295</a> <em>     */</em>
+<a name="296" href="#296">296</a>     <a href="../../org/dom4j/Element.html">Element</a> addProcessingInstruction(String target, Map data);
+<a name="297" href="#297">297</a> 
+<a name="298" href="#298">298</a>     <em>/**<em>*</em></em>
+<a name="299" href="#299">299</a> <em>     * Adds a new <code>Text</code> node with the given text to this element.</em>
+<a name="300" href="#300">300</a> <em>     * </em>
+<a name="301" href="#301">301</a> <em>     * @param text</em>
+<a name="302" href="#302">302</a> <em>     *            is the text for the <code>Text</code> node.</em>
+<a name="303" href="#303">303</a> <em>     * </em>
+<a name="304" href="#304">304</a> <em>     * @return this <code>Element</code> instance.</em>
+<a name="305" href="#305">305</a> <em>     */</em>
+<a name="306" href="#306">306</a>     <a href="../../org/dom4j/Element.html">Element</a> addText(String text);
+<a name="307" href="#307">307</a> 
+<a name="308" href="#308">308</a>     <em class="comment">// Typesafe modifying methods</em>
+<a name="309" href="#309">309</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="310" href="#310">310</a> 
+<a name="311" href="#311">311</a>     <em>/**<em>*</em></em>
+<a name="312" href="#312">312</a> <em>     * Adds the given <code>Attribute</code> to this element. If the given</em>
+<a name="313" href="#313">313</a> <em>     * node already has a parent defined then an</em>
+<a name="314" href="#314">314</a> <em>     * <code>IllegalAddException</code> will be thrown. Attributes with null</em>
+<a name="315" href="#315">315</a> <em>     * values are silently ignored.</em>
+<a name="316" href="#316">316</a> <em>     * </em>
+<a name="317" href="#317">317</a> <em>     * <p></em>
+<a name="318" href="#318">318</a> <em>     * If the value of the attribute is null then this method call will remove</em>
+<a name="319" href="#319">319</a> <em>     * any attributes with the QName of this attribute.</em>
+<a name="320" href="#320">320</a> <em>     * </p></em>
+<a name="321" href="#321">321</a> <em>     * </em>
+<a name="322" href="#322">322</a> <em>     * @param attribute</em>
+<a name="323" href="#323">323</a> <em>     *            is the attribute to be added</em>
+<a name="324" href="#324">324</a> <em>     */</em>
+<a name="325" href="#325">325</a>     <strong>void</strong> add(<a href="../../org/dom4j/Attribute.html">Attribute</a> attribute);
+<a name="326" href="#326">326</a> 
+<a name="327" href="#327">327</a>     <em>/**<em>*</em></em>
+<a name="328" href="#328">328</a> <em>     * Adds the given <code>CDATA</code> to this element. If the given node</em>
+<a name="329" href="#329">329</a> <em>     * already has a parent defined then an <code>IllegalAddException</code></em>
+<a name="330" href="#330">330</a> <em>     * will be thrown.</em>
+<a name="331" href="#331">331</a> <em>     * </em>
+<a name="332" href="#332">332</a> <em>     * @param cdata</em>
+<a name="333" href="#333">333</a> <em>     *            is the CDATA to be added</em>
+<a name="334" href="#334">334</a> <em>     */</em>
+<a name="335" href="#335">335</a>     <strong>void</strong> add(<a href="../../org/dom4j/CDATA.html">CDATA</a> cdata);
+<a name="336" href="#336">336</a> 
+<a name="337" href="#337">337</a>     <em>/**<em>*</em></em>
+<a name="338" href="#338">338</a> <em>     * Adds the given <code>Entity</code> to this element. If the given node</em>
+<a name="339" href="#339">339</a> <em>     * already has a parent defined then an <code>IllegalAddException</code></em>
+<a name="340" href="#340">340</a> <em>     * will be thrown.</em>
+<a name="341" href="#341">341</a> <em>     * </em>
+<a name="342" href="#342">342</a> <em>     * @param entity</em>
+<a name="343" href="#343">343</a> <em>     *            is the entity to be added</em>
+<a name="344" href="#344">344</a> <em>     */</em>
+<a name="345" href="#345">345</a>     <strong>void</strong> add(<a href="../../org/dom4j/Entity.html">Entity</a> entity);
+<a name="346" href="#346">346</a> 
+<a name="347" href="#347">347</a>     <em>/**<em>*</em></em>
+<a name="348" href="#348">348</a> <em>     * Adds the given <code>Text</code> to this element. If the given node</em>
+<a name="349" href="#349">349</a> <em>     * already has a parent defined then an <code>IllegalAddException</code></em>
+<a name="350" href="#350">350</a> <em>     * will be thrown.</em>
+<a name="351" href="#351">351</a> <em>     * </em>
+<a name="352" href="#352">352</a> <em>     * @param text</em>
+<a name="353" href="#353">353</a> <em>     *            is the text to be added</em>
+<a name="354" href="#354">354</a> <em>     */</em>
+<a name="355" href="#355">355</a>     <strong>void</strong> add(<a href="../../org/dom4j/Text.html">Text</a> text);
+<a name="356" href="#356">356</a> 
+<a name="357" href="#357">357</a>     <em>/**<em>*</em></em>
+<a name="358" href="#358">358</a> <em>     * Adds the given <code>Namespace</code> to this element. If the given</em>
+<a name="359" href="#359">359</a> <em>     * node already has a parent defined then an</em>
+<a name="360" href="#360">360</a> <em>     * <code>IllegalAddException</code> will be thrown.</em>
+<a name="361" href="#361">361</a> <em>     * </em>
+<a name="362" href="#362">362</a> <em>     * @param namespace</em>
+<a name="363" href="#363">363</a> <em>     *            is the namespace to be added</em>
+<a name="364" href="#364">364</a> <em>     */</em>
+<a name="365" href="#365">365</a>     <strong>void</strong> add(<a href="../../org/dom4j/Namespace.html">Namespace</a> namespace);
+<a name="366" href="#366">366</a> 
+<a name="367" href="#367">367</a>     <em>/**<em>*</em></em>
+<a name="368" href="#368">368</a> <em>     * Removes the given <code>Attribute</code> from this element.</em>
+<a name="369" href="#369">369</a> <em>     * </em>
+<a name="370" href="#370">370</a> <em>     * @param attribute</em>
+<a name="371" href="#371">371</a> <em>     *            is the attribute to be removed</em>
+<a name="372" href="#372">372</a> <em>     * </em>
+<a name="373" href="#373">373</a> <em>     * @return true if the attribute was removed</em>
+<a name="374" href="#374">374</a> <em>     */</em>
+<a name="375" href="#375">375</a>     <strong>boolean</strong> remove(<a href="../../org/dom4j/Attribute.html">Attribute</a> attribute);
+<a name="376" href="#376">376</a> 
+<a name="377" href="#377">377</a>     <em>/**<em>*</em></em>
+<a name="378" href="#378">378</a> <em>     * Removes the given <code>CDATA</code> if the node is an immediate child</em>
+<a name="379" href="#379">379</a> <em>     * of this element. If the given node is not an immediate child of this</em>
+<a name="380" href="#380">380</a> <em>     * element then the {@link Node#detach()}method should be used instead.</em>
+<a name="381" href="#381">381</a> <em>     * </em>
+<a name="382" href="#382">382</a> <em>     * @param cdata</em>
+<a name="383" href="#383">383</a> <em>     *            is the CDATA to be removed</em>
+<a name="384" href="#384">384</a> <em>     * </em>
+<a name="385" href="#385">385</a> <em>     * @return true if the cdata was removed</em>
+<a name="386" href="#386">386</a> <em>     */</em>
+<a name="387" href="#387">387</a>     <strong>boolean</strong> remove(<a href="../../org/dom4j/CDATA.html">CDATA</a> cdata);
+<a name="388" href="#388">388</a> 
+<a name="389" href="#389">389</a>     <em>/**<em>*</em></em>
+<a name="390" href="#390">390</a> <em>     * Removes the given <code>Entity</code> if the node is an immediate child</em>
+<a name="391" href="#391">391</a> <em>     * of this element. If the given node is not an immediate child of this</em>
+<a name="392" href="#392">392</a> <em>     * element then the {@link Node#detach()}method should be used instead.</em>
+<a name="393" href="#393">393</a> <em>     * </em>
+<a name="394" href="#394">394</a> <em>     * @param entity</em>
+<a name="395" href="#395">395</a> <em>     *            is the entity to be removed</em>
+<a name="396" href="#396">396</a> <em>     * </em>
+<a name="397" href="#397">397</a> <em>     * @return true if the entity was removed</em>
+<a name="398" href="#398">398</a> <em>     */</em>
+<a name="399" href="#399">399</a>     <strong>boolean</strong> remove(<a href="../../org/dom4j/Entity.html">Entity</a> entity);
+<a name="400" href="#400">400</a> 
+<a name="401" href="#401">401</a>     <em>/**<em>*</em></em>
+<a name="402" href="#402">402</a> <em>     * Removes the given <code>Namespace</code> if the node is an immediate</em>
+<a name="403" href="#403">403</a> <em>     * child of this element. If the given node is not an immediate child of</em>
+<a name="404" href="#404">404</a> <em>     * this element then the {@link Node#detach()}method should be used</em>
+<a name="405" href="#405">405</a> <em>     * instead.</em>
+<a name="406" href="#406">406</a> <em>     * </em>
+<a name="407" href="#407">407</a> <em>     * @param namespace</em>
+<a name="408" href="#408">408</a> <em>     *            is the namespace to be removed</em>
+<a name="409" href="#409">409</a> <em>     * </em>
+<a name="410" href="#410">410</a> <em>     * @return true if the namespace was removed</em>
+<a name="411" href="#411">411</a> <em>     */</em>
+<a name="412" href="#412">412</a>     <strong>boolean</strong> remove(<a href="../../org/dom4j/Namespace.html">Namespace</a> namespace);
+<a name="413" href="#413">413</a> 
+<a name="414" href="#414">414</a>     <em>/**<em>*</em></em>
+<a name="415" href="#415">415</a> <em>     * Removes the given <code>Text</code> if the node is an immediate child</em>
+<a name="416" href="#416">416</a> <em>     * of this element. If the given node is not an immediate child of this</em>
+<a name="417" href="#417">417</a> <em>     * element then the {@link Node#detach()}method should be used instead.</em>
+<a name="418" href="#418">418</a> <em>     * </em>
+<a name="419" href="#419">419</a> <em>     * @param text</em>
+<a name="420" href="#420">420</a> <em>     *            is the text to be removed</em>
+<a name="421" href="#421">421</a> <em>     * </em>
+<a name="422" href="#422">422</a> <em>     * @return true if the text was removed</em>
+<a name="423" href="#423">423</a> <em>     */</em>
+<a name="424" href="#424">424</a>     <strong>boolean</strong> remove(<a href="../../org/dom4j/Text.html">Text</a> text);
+<a name="425" href="#425">425</a> 
+<a name="426" href="#426">426</a>     <em class="comment">// Text methods</em>
+<a name="427" href="#427">427</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="428" href="#428">428</a> 
+<a name="429" href="#429">429</a>     <em>/**<em>*</em></em>
+<a name="430" href="#430">430</a> <em>     * Returns the text value of this element without recursing through child</em>
+<a name="431" href="#431">431</a> <em>     * elements. This method iterates through all {@link Text},{@link CDATA}</em>
+<a name="432" href="#432">432</a> <em>     * and {@link Entity}nodes that this element contains and appends the text</em>
+<a name="433" href="#433">433</a> <em>     * values together.</em>
+<a name="434" href="#434">434</a> <em>     * </em>
+<a name="435" href="#435">435</a> <em>     * @return the textual content of this Element. Child elements are not</em>
+<a name="436" href="#436">436</a> <em>     *         navigated. This method does not return null;</em>
+<a name="437" href="#437">437</a> <em>     */</em>
+<a name="438" href="#438">438</a>     String getText();
+<a name="439" href="#439">439</a> 
+<a name="440" href="#440">440</a>     <em>/**<em>*</em></em>
+<a name="441" href="#441">441</a> <em>     * DOCUMENT ME!</em>
+<a name="442" href="#442">442</a> <em>     * </em>
+<a name="443" href="#443">443</a> <em>     * @return the trimmed text value where whitespace is trimmed and normalised</em>
+<a name="444" href="#444">444</a> <em>     *         into single spaces. This method does not return null.</em>
+<a name="445" href="#445">445</a> <em>     */</em>
+<a name="446" href="#446">446</a>     String getTextTrim();
+<a name="447" href="#447">447</a> 
+<a name="448" href="#448">448</a>     <em>/**<em>*</em></em>
+<a name="449" href="#449">449</a> <em>     * Returns the XPath string-value of this node. The behaviour of this method</em>
+<a name="450" href="#450">450</a> <em>     * is defined in the <a href="<a href="http://www.w3.org/TR/xpath" target="alexandria_uri">http://www.w3.org/TR/xpath</a>">XPath</em>
+<a name="451" href="#451">451</a> <em>     * specification </a>. This method returns the string-value of all the</em>
+<a name="452" href="#452">452</a> <em>     * contained {@link Text},{@link CDATA},{@link Entity}and {@link</em>
+<a name="453" href="#453">453</a> <em>     * Element} nodes all appended together.</em>
+<a name="454" href="#454">454</a> <em>     * </em>
+<a name="455" href="#455">455</a> <em>     * @return the text from all the child Text and Element nodes appended</em>
+<a name="456" href="#456">456</a> <em>     *         together.</em>
+<a name="457" href="#457">457</a> <em>     */</em>
+<a name="458" href="#458">458</a>     String getStringValue();
+<a name="459" href="#459">459</a> 
+<a name="460" href="#460">460</a>     <em>/**<em>*</em></em>
+<a name="461" href="#461">461</a> <em>     * Accesses the data of this element which may implement data typing</em>
+<a name="462" href="#462">462</a> <em>     * bindings such as XML Schema or Java Bean bindings or will return the same</em>
+<a name="463" href="#463">463</a> <em>     * value as {@link #getText}</em>
+<a name="464" href="#464">464</a> <em>     * </em>
+<a name="465" href="#465">465</a> <em>     * @return DOCUMENT ME!</em>
+<a name="466" href="#466">466</a> <em>     */</em>
+<a name="467" href="#467">467</a>     Object getData();
+<a name="468" href="#468">468</a> 
+<a name="469" href="#469">469</a>     <em>/**<em>*</em></em>
+<a name="470" href="#470">470</a> <em>     * Sets the data value of this element if this element supports data binding</em>
+<a name="471" href="#471">471</a> <em>     * or calls {@link #setText}if it doesn't</em>
+<a name="472" href="#472">472</a> <em>     * </em>
+<a name="473" href="#473">473</a> <em>     * @param data</em>
+<a name="474" href="#474">474</a> <em>     *            DOCUMENT ME!</em>
+<a name="475" href="#475">475</a> <em>     */</em>
+<a name="476" href="#476">476</a>     <strong>void</strong> setData(Object data);
+<a name="477" href="#477">477</a> 
+<a name="478" href="#478">478</a>     <em class="comment">// Attribute methods</em>
+<a name="479" href="#479">479</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="480" href="#480">480</a> 
+<a name="481" href="#481">481</a>     <em>/**<em>*</em></em>
+<a name="482" href="#482">482</a> <em>     * <p></em>
+<a name="483" href="#483">483</a> <em>     * Returns the {@link Attribute}instances this element contains as a backed</em>
+<a name="484" href="#484">484</a> <em>     * {@link List}so that the attributes may be modified directly using the</em>
+<a name="485" href="#485">485</a> <em>     * {@link List}interface. The <code>List</code> is backed by the</em>
+<a name="486" href="#486">486</a> <em>     * <code>Element</code> so that changes to the list are reflected in the</em>
+<a name="487" href="#487">487</a> <em>     * element and vice versa.</em>
+<a name="488" href="#488">488</a> <em>     * </p></em>
+<a name="489" href="#489">489</a> <em>     * </em>
+<a name="490" href="#490">490</a> <em>     * @return the attributes that this element contains as a <code>List</code></em>
+<a name="491" href="#491">491</a> <em>     */</em>
+<a name="492" href="#492">492</a>     List attributes();
+<a name="493" href="#493">493</a> 
+<a name="494" href="#494">494</a>     <em>/**<em>*</em></em>
+<a name="495" href="#495">495</a> <em>     * Sets the attributes that this element contains</em>
+<a name="496" href="#496">496</a> <em>     * </em>
+<a name="497" href="#497">497</a> <em>     * @param attributes</em>
+<a name="498" href="#498">498</a> <em>     *            DOCUMENT ME!</em>
+<a name="499" href="#499">499</a> <em>     */</em>
+<a name="500" href="#500">500</a>     <strong>void</strong> setAttributes(List attributes);
+<a name="501" href="#501">501</a> 
+<a name="502" href="#502">502</a>     <em>/**<em>*</em></em>
+<a name="503" href="#503">503</a> <em>     * DOCUMENT ME!</em>
+<a name="504" href="#504">504</a> <em>     * </em>
+<a name="505" href="#505">505</a> <em>     * @return the number of attributes this element contains</em>
+<a name="506" href="#506">506</a> <em>     */</em>
+<a name="507" href="#507">507</a>     <strong>int</strong> attributeCount();
+<a name="508" href="#508">508</a> 
+<a name="509" href="#509">509</a>     <em>/**<em>*</em></em>
+<a name="510" href="#510">510</a> <em>     * DOCUMENT ME!</em>
+<a name="511" href="#511">511</a> <em>     * </em>
+<a name="512" href="#512">512</a> <em>     * @return an iterator over the attributes of this element</em>
+<a name="513" href="#513">513</a> <em>     */</em>
+<a name="514" href="#514">514</a>     Iterator attributeIterator();
+<a name="515" href="#515">515</a> 
+<a name="516" href="#516">516</a>     <em>/**<em>*</em></em>
+<a name="517" href="#517">517</a> <em>     * Returns the attribute at the specified indexGets the</em>
+<a name="518" href="#518">518</a> <em>     * </em>
+<a name="519" href="#519">519</a> <em>     * @param index</em>
+<a name="520" href="#520">520</a> <em>     *            DOCUMENT ME!</em>
+<a name="521" href="#521">521</a> <em>     * </em>
+<a name="522" href="#522">522</a> <em>     * @return the attribute at the specified index where index &gt;= 0 and</em>
+<a name="523" href="#523">523</a> <em>     *         index &lt; number of attributes or throws an</em>
+<a name="524" href="#524">524</a> <em>     *         IndexOutOfBoundsException if the index is not within the</em>
+<a name="525" href="#525">525</a> <em>     *         allowable range</em>
+<a name="526" href="#526">526</a> <em>     */</em>
+<a name="527" href="#527">527</a>     <a href="../../org/dom4j/Attribute.html">Attribute</a> attribute(<strong>int</strong> index);
+<a name="528" href="#528">528</a> 
+<a name="529" href="#529">529</a>     <em>/**<em>*</em></em>
+<a name="530" href="#530">530</a> <em>     * Returns the attribute with the given name</em>
+<a name="531" href="#531">531</a> <em>     * </em>
+<a name="532" href="#532">532</a> <em>     * @param name</em>
+<a name="533" href="#533">533</a> <em>     *            DOCUMENT ME!</em>
+<a name="534" href="#534">534</a> <em>     * </em>
+<a name="535" href="#535">535</a> <em>     * @return the attribute for the given local name in any namespace. If there</em>
+<a name="536" href="#536">536</a> <em>     *         are more than one attributes with the given local name in</em>
+<a name="537" href="#537">537</a> <em>     *         different namespaces then the first one is returned.</em>
+<a name="538" href="#538">538</a> <em>     */</em>
+<a name="539" href="#539">539</a>     <a href="../../org/dom4j/Attribute.html">Attribute</a> attribute(String name);
+<a name="540" href="#540">540</a> 
+<a name="541" href="#541">541</a>     <em>/**<em>*</em></em>
+<a name="542" href="#542">542</a> <em>     * DOCUMENT ME!</em>
+<a name="543" href="#543">543</a> <em>     * </em>
+<a name="544" href="#544">544</a> <em>     * @param qName</em>
+<a name="545" href="#545">545</a> <em>     *            is the fully qualified name</em>
+<a name="546" href="#546">546</a> <em>     * </em>
+<a name="547" href="#547">547</a> <em>     * @return the attribute for the given fully qualified name or null if it</em>
+<a name="548" href="#548">548</a> <em>     *         could not be found.</em>
+<a name="549" href="#549">549</a> <em>     */</em>
+<a name="550" href="#550">550</a>     <a href="../../org/dom4j/Attribute.html">Attribute</a> attribute(<a href="../../org/dom4j/QName.html">QName</a> qName);
+<a name="551" href="#551">551</a> 
+<a name="552" href="#552">552</a>     <em>/**<em>*</em></em>
+<a name="553" href="#553">553</a> <em>     * <p></em>
+<a name="554" href="#554">554</a> <em>     * This returns the attribute value for the attribute with the given name</em>
+<a name="555" href="#555">555</a> <em>     * and any namespace or null if there is no such attribute or the empty</em>
+<a name="556" href="#556">556</a> <em>     * string if the attribute value is empty.</em>
+<a name="557" href="#557">557</a> <em>     * </p></em>
+<a name="558" href="#558">558</a> <em>     * </em>
+<a name="559" href="#559">559</a> <em>     * @param name</em>
+<a name="560" href="#560">560</a> <em>     *            is the name of the attribute value to be returnd</em>
+<a name="561" href="#561">561</a> <em>     * </em>
+<a name="562" href="#562">562</a> <em>     * @return the value of the attribute, null if the attribute does not exist</em>
+<a name="563" href="#563">563</a> <em>     *         or the empty string</em>
+<a name="564" href="#564">564</a> <em>     */</em>
+<a name="565" href="#565">565</a>     String attributeValue(String name);
+<a name="566" href="#566">566</a> 
+<a name="567" href="#567">567</a>     <em>/**<em>*</em></em>
+<a name="568" href="#568">568</a> <em>     * <p></em>
+<a name="569" href="#569">569</a> <em>     * This returns the attribute value for the attribute with the given name</em>
+<a name="570" href="#570">570</a> <em>     * and any namespace or the default value if there is no such attribute</em>
+<a name="571" href="#571">571</a> <em>     * value.</em>
+<a name="572" href="#572">572</a> <em>     * </p></em>
+<a name="573" href="#573">573</a> <em>     * </em>
+<a name="574" href="#574">574</a> <em>     * @param name</em>
+<a name="575" href="#575">575</a> <em>     *            is the name of the attribute value to be returnd</em>
+<a name="576" href="#576">576</a> <em>     * @param defaultValue</em>
+<a name="577" href="#577">577</a> <em>     *            is the default value to be returned if the attribute has no</em>
+<a name="578" href="#578">578</a> <em>     *            value defined.</em>
+<a name="579" href="#579">579</a> <em>     * </em>
+<a name="580" href="#580">580</a> <em>     * @return the value of the attribute or the defaultValue if the attribute</em>
+<a name="581" href="#581">581</a> <em>     *         has no value defined.</em>
+<a name="582" href="#582">582</a> <em>     */</em>
+<a name="583" href="#583">583</a>     String attributeValue(String name, String defaultValue);
+<a name="584" href="#584">584</a> 
+<a name="585" href="#585">585</a>     <em>/**<em>*</em></em>
+<a name="586" href="#586">586</a> <em>     * <p></em>
+<a name="587" href="#587">587</a> <em>     * This returns the attribute value for the attribute with the given fully</em>
+<a name="588" href="#588">588</a> <em>     * qualified name or null if there is no such attribute or the empty string</em>
+<a name="589" href="#589">589</a> <em>     * if the attribute value is empty.</em>
+<a name="590" href="#590">590</a> <em>     * </p></em>
+<a name="591" href="#591">591</a> <em>     * </em>
+<a name="592" href="#592">592</a> <em>     * @param qName</em>
+<a name="593" href="#593">593</a> <em>     *            is the fully qualified name</em>
+<a name="594" href="#594">594</a> <em>     * </em>
+<a name="595" href="#595">595</a> <em>     * @return the value of the attribute, null if the attribute does not exist</em>
+<a name="596" href="#596">596</a> <em>     *         or the empty string</em>
+<a name="597" href="#597">597</a> <em>     */</em>
+<a name="598" href="#598">598</a>     String attributeValue(<a href="../../org/dom4j/QName.html">QName</a> qName);
+<a name="599" href="#599">599</a> 
+<a name="600" href="#600">600</a>     <em>/**<em>*</em></em>
+<a name="601" href="#601">601</a> <em>     * <p></em>
+<a name="602" href="#602">602</a> <em>     * This returns the attribute value for the attribute with the given fully</em>
+<a name="603" href="#603">603</a> <em>     * qualified name or the default value if there is no such attribute value.</em>
+<a name="604" href="#604">604</a> <em>     * </p></em>
+<a name="605" href="#605">605</a> <em>     * </em>
+<a name="606" href="#606">606</a> <em>     * @param qName</em>
+<a name="607" href="#607">607</a> <em>     *            is the fully qualified name</em>
+<a name="608" href="#608">608</a> <em>     * @param defaultValue</em>
+<a name="609" href="#609">609</a> <em>     *            is the default value to be returned if the attribute has no</em>
+<a name="610" href="#610">610</a> <em>     *            value defined.</em>
+<a name="611" href="#611">611</a> <em>     * </em>
+<a name="612" href="#612">612</a> <em>     * @return the value of the attribute or the defaultValue if the attribute</em>
+<a name="613" href="#613">613</a> <em>     *         has no value defined.</em>
+<a name="614" href="#614">614</a> <em>     */</em>
+<a name="615" href="#615">615</a>     String attributeValue(<a href="../../org/dom4j/QName.html">QName</a> qName, String defaultValue);
+<a name="616" href="#616">616</a> 
+<a name="617" href="#617">617</a>     <em>/**<em>*</em></em>
+<a name="618" href="#618">618</a> <em>     * <p></em>
+<a name="619" href="#619">619</a> <em>     * Sets the attribute value of the given local name.</em>
+<a name="620" href="#620">620</a> <em>     * </p></em>
+<a name="621" href="#621">621</a> <em>     * </em>
+<a name="622" href="#622">622</a> <em>     * @param name</em>
+<a name="623" href="#623">623</a> <em>     *            is the name of the attribute whose value is to be added or</em>
+<a name="624" href="#624">624</a> <em>     *            updated</em>
+<a name="625" href="#625">625</a> <em>     * @param value</em>
+<a name="626" href="#626">626</a> <em>     *            is the attribute's value</em>
+<a name="627" href="#627">627</a> <em>     * </em>
+<a name="628" href="#628">628</a> <em>     * @deprecated As of version 0.5. Please use {@link</em>
+<a name="629" href="#629">629</a> <em>     *             #addAttribute(String,String)} instead. WILL BE REMOVED IN</em>
+<a name="630" href="#630">630</a> <em>     *             dom4j-1.6 !!</em>
+<a name="631" href="#631">631</a> <em>     */</em>
+<a name="632" href="#632">632</a>     <strong>void</strong> setAttributeValue(String name, String value);
+<a name="633" href="#633">633</a> 
+<a name="634" href="#634">634</a>     <em>/**<em>*</em></em>
+<a name="635" href="#635">635</a> <em>     * <p></em>
+<a name="636" href="#636">636</a> <em>     * Sets the attribute value of the given fully qualified name.</em>
+<a name="637" href="#637">637</a> <em>     * </p></em>
+<a name="638" href="#638">638</a> <em>     * </em>
+<a name="639" href="#639">639</a> <em>     * @param qName</em>
+<a name="640" href="#640">640</a> <em>     *            is the fully qualified name of the attribute whose value is to</em>
+<a name="641" href="#641">641</a> <em>     *            be added or updated</em>
+<a name="642" href="#642">642</a> <em>     * @param value</em>
+<a name="643" href="#643">643</a> <em>     *            is the attribute's value</em>
+<a name="644" href="#644">644</a> <em>     * </em>
+<a name="645" href="#645">645</a> <em>     * @deprecated As of version 0.5. Please use {@link</em>
+<a name="646" href="#646">646</a> <em>     *             #addAttribute(QName,String)} instead. WILL BE REMOVED IN</em>
+<a name="647" href="#647">647</a> <em>     *             dom4j-1.6 !!</em>
+<a name="648" href="#648">648</a> <em>     */</em>
+<a name="649" href="#649">649</a>     <strong>void</strong> setAttributeValue(<a href="../../org/dom4j/QName.html">QName</a> qName, String value);
+<a name="650" href="#650">650</a> 
+<a name="651" href="#651">651</a>     <em class="comment">// Content methods</em>
+<a name="652" href="#652">652</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="653" href="#653">653</a> 
+<a name="654" href="#654">654</a>     <em>/**<em>*</em></em>
+<a name="655" href="#655">655</a> <em>     * Returns the first element for the given local name and any namespace.</em>
+<a name="656" href="#656">656</a> <em>     * </em>
+<a name="657" href="#657">657</a> <em>     * @param name</em>
+<a name="658" href="#658">658</a> <em>     *            DOCUMENT ME!</em>
+<a name="659" href="#659">659</a> <em>     * </em>
+<a name="660" href="#660">660</a> <em>     * @return the first element with the given local name</em>
+<a name="661" href="#661">661</a> <em>     */</em>
+<a name="662" href="#662">662</a>     <a href="../../org/dom4j/Element.html">Element</a> element(String name);
+<a name="663" href="#663">663</a> 
+<a name="664" href="#664">664</a>     <em>/**<em>*</em></em>
+<a name="665" href="#665">665</a> <em>     * Returns the first element for the given fully qualified name.</em>
+<a name="666" href="#666">666</a> <em>     * </em>
+<a name="667" href="#667">667</a> <em>     * @param qName</em>
+<a name="668" href="#668">668</a> <em>     *            is the fully qualified name to search for</em>
+<a name="669" href="#669">669</a> <em>     * </em>
+<a name="670" href="#670">670</a> <em>     * @return the first element with the given fully qualified name</em>
+<a name="671" href="#671">671</a> <em>     */</em>
+<a name="672" href="#672">672</a>     <a href="../../org/dom4j/Element.html">Element</a> element(<a href="../../org/dom4j/QName.html">QName</a> qName);
+<a name="673" href="#673">673</a> 
+<a name="674" href="#674">674</a>     <em>/**<em>*</em></em>
+<a name="675" href="#675">675</a> <em>     * <p></em>
+<a name="676" href="#676">676</a> <em>     * Returns the elements contained in this element. If this element does not</em>
+<a name="677" href="#677">677</a> <em>     * contain any elements then this method returns an empty list. The list is</em>
+<a name="678" href="#678">678</a> <em>     * backed by the element such that changes to the list will be reflected in</em>
+<a name="679" href="#679">679</a> <em>     * the element though the reverse is not the case.</em>
+<a name="680" href="#680">680</a> <em>     * </p></em>
+<a name="681" href="#681">681</a> <em>     * </em>
+<a name="682" href="#682">682</a> <em>     * @return a list of all the elements in this element.</em>
+<a name="683" href="#683">683</a> <em>     */</em>
+<a name="684" href="#684">684</a>     List elements();
+<a name="685" href="#685">685</a> 
+<a name="686" href="#686">686</a>     <em>/**<em>*</em></em>
+<a name="687" href="#687">687</a> <em>     * <p></em>
+<a name="688" href="#688">688</a> <em>     * Returns the elements contained in this element with the given local name</em>
+<a name="689" href="#689">689</a> <em>     * and any namespace. If no elements are found then this method returns an</em>
+<a name="690" href="#690">690</a> <em>     * empty list. The list is backed by the element such that changes to the</em>
+<a name="691" href="#691">691</a> <em>     * list will be reflected in the element though the reverse is not the case.</em>
+<a name="692" href="#692">692</a> <em>     * </p></em>
+<a name="693" href="#693">693</a> <em>     * </em>
+<a name="694" href="#694">694</a> <em>     * @param name</em>
+<a name="695" href="#695">695</a> <em>     *            DOCUMENT ME!</em>
+<a name="696" href="#696">696</a> <em>     * </em>
+<a name="697" href="#697">697</a> <em>     * @return a list of all the elements in this element for the given local</em>
+<a name="698" href="#698">698</a> <em>     *         name</em>
+<a name="699" href="#699">699</a> <em>     */</em>
+<a name="700" href="#700">700</a>     List elements(String name);
+<a name="701" href="#701">701</a> 
+<a name="702" href="#702">702</a>     <em>/**<em>*</em></em>
+<a name="703" href="#703">703</a> <em>     * <p></em>
+<a name="704" href="#704">704</a> <em>     * Returns the elements contained in this element with the given fully</em>
+<a name="705" href="#705">705</a> <em>     * qualified name. If no elements are found then this method returns an</em>
+<a name="706" href="#706">706</a> <em>     * empty list. The list is backed by the element such that changes to the</em>
+<a name="707" href="#707">707</a> <em>     * list will be reflected in the element though the reverse is not the case.</em>
+<a name="708" href="#708">708</a> <em>     * </p></em>
+<a name="709" href="#709">709</a> <em>     * </em>
+<a name="710" href="#710">710</a> <em>     * @param qName</em>
+<a name="711" href="#711">711</a> <em>     *            is the fully qualified name to search for</em>
+<a name="712" href="#712">712</a> <em>     * </em>
+<a name="713" href="#713">713</a> <em>     * @return a list of all the elements in this element for the given fully</em>
+<a name="714" href="#714">714</a> <em>     *         qualified name.</em>
+<a name="715" href="#715">715</a> <em>     */</em>
+<a name="716" href="#716">716</a>     List elements(<a href="../../org/dom4j/QName.html">QName</a> qName);
+<a name="717" href="#717">717</a> 
+<a name="718" href="#718">718</a>     <em>/**<em>*</em></em>
+<a name="719" href="#719">719</a> <em>     * Returns an iterator over all this elements child elements.</em>
+<a name="720" href="#720">720</a> <em>     * </em>
+<a name="721" href="#721">721</a> <em>     * @return an iterator over the contained elements</em>
+<a name="722" href="#722">722</a> <em>     */</em>
+<a name="723" href="#723">723</a>     Iterator elementIterator();
+<a name="724" href="#724">724</a> 
+<a name="725" href="#725">725</a>     <em>/**<em>*</em></em>
+<a name="726" href="#726">726</a> <em>     * Returns an iterator over the elements contained in this element which</em>
+<a name="727" href="#727">727</a> <em>     * match the given local name and any namespace.</em>
+<a name="728" href="#728">728</a> <em>     * </em>
+<a name="729" href="#729">729</a> <em>     * @param name</em>
+<a name="730" href="#730">730</a> <em>     *            DOCUMENT ME!</em>
+<a name="731" href="#731">731</a> <em>     * </em>
+<a name="732" href="#732">732</a> <em>     * @return an iterator over the contained elements matching the given local</em>
+<a name="733" href="#733">733</a> <em>     *         name</em>
+<a name="734" href="#734">734</a> <em>     */</em>
+<a name="735" href="#735">735</a>     Iterator elementIterator(String name);
+<a name="736" href="#736">736</a> 
+<a name="737" href="#737">737</a>     <em>/**<em>*</em></em>
+<a name="738" href="#738">738</a> <em>     * Returns an iterator over the elements contained in this element which</em>
+<a name="739" href="#739">739</a> <em>     * match the given fully qualified name.</em>
+<a name="740" href="#740">740</a> <em>     * </em>
+<a name="741" href="#741">741</a> <em>     * @param qName</em>
+<a name="742" href="#742">742</a> <em>     *            is the fully qualified name to search for</em>
+<a name="743" href="#743">743</a> <em>     * </em>
+<a name="744" href="#744">744</a> <em>     * @return an iterator over the contained elements matching the given fully</em>
+<a name="745" href="#745">745</a> <em>     *         qualified name</em>
+<a name="746" href="#746">746</a> <em>     */</em>
+<a name="747" href="#747">747</a>     Iterator elementIterator(<a href="../../org/dom4j/QName.html">QName</a> qName);
+<a name="748" href="#748">748</a> 
+<a name="749" href="#749">749</a>     <em class="comment">// Helper methods</em>
+<a name="750" href="#750">750</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="751" href="#751">751</a> 
+<a name="752" href="#752">752</a>     <em>/**<em>*</em></em>
+<a name="753" href="#753">753</a> <em>     * DOCUMENT ME!</em>
+<a name="754" href="#754">754</a> <em>     * </em>
+<a name="755" href="#755">755</a> <em>     * @return true if this element is the root element of a document and this</em>
+<a name="756" href="#756">756</a> <em>     *         element supports the parent relationship else false.</em>
+<a name="757" href="#757">757</a> <em>     */</em>
+<a name="758" href="#758">758</a>     <strong>boolean</strong> isRootElement();
+<a name="759" href="#759">759</a> 
+<a name="760" href="#760">760</a>     <em>/**<em>*</em></em>
+<a name="761" href="#761">761</a> <em>     * <p></em>
+<a name="762" href="#762">762</a> <em>     * Returns true if this <code>Element</code> has mixed content. Mixed</em>
+<a name="763" href="#763">763</a> <em>     * content means that an element contains both textual data and child</em>
+<a name="764" href="#764">764</a> <em>     * elements.</em>
+<a name="765" href="#765">765</a> <em>     * </p></em>
+<a name="766" href="#766">766</a> <em>     * </em>
+<a name="767" href="#767">767</a> <em>     * @return true if this element contains mixed content.</em>
+<a name="768" href="#768">768</a> <em>     */</em>
+<a name="769" href="#769">769</a>     <strong>boolean</strong> hasMixedContent();
+<a name="770" href="#770">770</a> 
+<a name="771" href="#771">771</a>     <em>/**<em>*</em></em>
+<a name="772" href="#772">772</a> <em>     * <p></em>
+<a name="773" href="#773">773</a> <em>     * Returns true if this <code>Element</code> has text only content.</em>
+<a name="774" href="#774">774</a> <em>     * </p></em>
+<a name="775" href="#775">775</a> <em>     * </em>
+<a name="776" href="#776">776</a> <em>     * @return true if this element is empty or only contains text content.</em>
+<a name="777" href="#777">777</a> <em>     */</em>
+<a name="778" href="#778">778</a>     <strong>boolean</strong> isTextOnly();
+<a name="779" href="#779">779</a> 
+<a name="780" href="#780">780</a>     <em>/**<em>*</em></em>
+<a name="781" href="#781">781</a> <em>     * Appends the attributes of the given element to me. This method behaves</em>
+<a name="782" href="#782">782</a> <em>     * like the {@link java.util.Collection#addAll(java.util.Collection)}</em>
+<a name="783" href="#783">783</a> <em>     * method.</em>
+<a name="784" href="#784">784</a> <em>     * </em>
+<a name="785" href="#785">785</a> <em>     * @param element</em>
+<a name="786" href="#786">786</a> <em>     *            is the element whose attributes will be added to me.</em>
+<a name="787" href="#787">787</a> <em>     */</em>
+<a name="788" href="#788">788</a>     <strong>void</strong> appendAttributes(<a href="../../org/dom4j/Element.html">Element</a> element);
+<a name="789" href="#789">789</a> 
+<a name="790" href="#790">790</a>     <em>/**<em>*</em></em>
+<a name="791" href="#791">791</a> <em>     * <p></em>
+<a name="792" href="#792">792</a> <em>     * Creates a deep copy of this element The new element is detached from its</em>
+<a name="793" href="#793">793</a> <em>     * parent, and getParent() on the clone will return null.</em>
+<a name="794" href="#794">794</a> <em>     * </p></em>
+<a name="795" href="#795">795</a> <em>     * </em>
+<a name="796" href="#796">796</a> <em>     * @return a new deep copy Element</em>
+<a name="797" href="#797">797</a> <em>     */</em>
+<a name="798" href="#798">798</a>     <a href="../../org/dom4j/Element.html">Element</a> createCopy();
+<a name="799" href="#799">799</a> 
+<a name="800" href="#800">800</a>     <em>/**<em>*</em></em>
+<a name="801" href="#801">801</a> <em>     * <p></em>
+<a name="802" href="#802">802</a> <em>     * Creates a deep copy of this element with the given local name The new</em>
+<a name="803" href="#803">803</a> <em>     * element is detached from its parent, and getParent() on the clone will</em>
+<a name="804" href="#804">804</a> <em>     * return null.</em>
+<a name="805" href="#805">805</a> <em>     * </p></em>
+<a name="806" href="#806">806</a> <em>     * </em>
+<a name="807" href="#807">807</a> <em>     * @param name</em>
+<a name="808" href="#808">808</a> <em>     *            DOCUMENT ME!</em>
+<a name="809" href="#809">809</a> <em>     * </em>
+<a name="810" href="#810">810</a> <em>     * @return a new deep copy Element</em>
+<a name="811" href="#811">811</a> <em>     */</em>
+<a name="812" href="#812">812</a>     <a href="../../org/dom4j/Element.html">Element</a> createCopy(String name);
+<a name="813" href="#813">813</a> 
+<a name="814" href="#814">814</a>     <em>/**<em>*</em></em>
+<a name="815" href="#815">815</a> <em>     * <p></em>
+<a name="816" href="#816">816</a> <em>     * Creates a deep copy of this element with the given fully qualified name.</em>
+<a name="817" href="#817">817</a> <em>     * The new element is detached from its parent, and getParent() on the clone</em>
+<a name="818" href="#818">818</a> <em>     * will return null.</em>
+<a name="819" href="#819">819</a> <em>     * </p></em>
+<a name="820" href="#820">820</a> <em>     * </em>
+<a name="821" href="#821">821</a> <em>     * @param qName</em>
+<a name="822" href="#822">822</a> <em>     *            DOCUMENT ME!</em>
+<a name="823" href="#823">823</a> <em>     * </em>
+<a name="824" href="#824">824</a> <em>     * @return a new deep copy Element</em>
+<a name="825" href="#825">825</a> <em>     */</em>
+<a name="826" href="#826">826</a>     <a href="../../org/dom4j/Element.html">Element</a> createCopy(<a href="../../org/dom4j/QName.html">QName</a> qName);
+<a name="827" href="#827">827</a> 
+<a name="828" href="#828">828</a>     String elementText(String name);
+<a name="829" href="#829">829</a> 
+<a name="830" href="#830">830</a>     String elementText(<a href="../../org/dom4j/QName.html">QName</a> qname);
+<a name="831" href="#831">831</a> 
+<a name="832" href="#832">832</a>     String elementTextTrim(String name);
+<a name="833" href="#833">833</a> 
+<a name="834" href="#834">834</a>     String elementTextTrim(<a href="../../org/dom4j/QName.html">QName</a> qname);
+<a name="835" href="#835">835</a> 
+<a name="836" href="#836">836</a>     <em>/**<em>*</em></em>
+<a name="837" href="#837">837</a> <em>     * Returns a node at the given index suitable for an XPath result set. This</em>
+<a name="838" href="#838">838</a> <em>     * means the resulting Node will either be null or it will support the</em>
+<a name="839" href="#839">839</a> <em>     * parent relationship.</em>
+<a name="840" href="#840">840</a> <em>     * </em>
+<a name="841" href="#841">841</a> <em>     * @param index</em>
+<a name="842" href="#842">842</a> <em>     *            DOCUMENT ME!</em>
+<a name="843" href="#843">843</a> <em>     * </em>
+<a name="844" href="#844">844</a> <em>     * @return the Node for the given index which will support the parent</em>
+<a name="845" href="#845">845</a> <em>     *         relationship or null if there is not a node at the given index.</em>
+<a name="846" href="#846">846</a> <em>     */</em>
+<a name="847" href="#847">847</a>     <a href="../../org/dom4j/Node.html">Node</a> getXPathResult(<strong>int</strong> index);
+<a name="848" href="#848">848</a> }
+<a name="849" href="#849">849</a> 
+<a name="850" href="#850">850</a> <em class="comment">/*</em>
+<a name="851" href="#851">851</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="852" href="#852">852</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="853" href="#853">853</a> <em class="comment"> * following conditions are met:</em>
+<a name="854" href="#854">854</a> <em class="comment"> * </em>
+<a name="855" href="#855">855</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="856" href="#856">856</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="857" href="#857">857</a> <em class="comment"> * </em>
+<a name="858" href="#858">858</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="859" href="#859">859</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="860" href="#860">860</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="861" href="#861">861</a> <em class="comment"> * </em>
+<a name="862" href="#862">862</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="863" href="#863">863</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="864" href="#864">864</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="865" href="#865">865</a> <em class="comment"> * </em>
+<a name="866" href="#866">866</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="867" href="#867">867</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="868" href="#868">868</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="869" href="#869">869</a> <em class="comment"> * </em>
+<a name="870" href="#870">870</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="871" href="#871">871</a> <em class="comment"> * </em>
+<a name="872" href="#872">872</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="873" href="#873">873</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="874" href="#874">874</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="875" href="#875">875</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="876" href="#876">876</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="877" href="#877">877</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="878" href="#878">878</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="879" href="#879">879</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="880" href="#880">880</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="881" href="#881">881</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="882" href="#882">882</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="883" href="#883">883</a> <em class="comment"> * </em>
+<a name="884" href="#884">884</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="885" href="#885">885</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/ElementHandler.html b/docs/xref/org/dom4j/ElementHandler.html
new file mode 100644
index 0000000..dcaf8c0
--- /dev/null
+++ b/docs/xref/org/dom4j/ElementHandler.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementHandler xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/ElementHandler.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>ElementHandler</code> interface defines a handler of</em>
+<a name="13" href="#13">13</a>  <em> * <code>Element</code> objects. It is used primarily in event based</em>
+<a name="14" href="#14">14</a>  <em> * processing models such as for processing large XML documents as they are</em>
+<a name="15" href="#15">15</a>  <em> * being parsed rather than waiting until the whole document is parsed.</em>
+<a name="16" href="#16">16</a>  <em> * </p></em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/ElementHandler.html">ElementHandler</a> {
+<a name="22" href="#22">22</a>      <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em>     * Called by an event based processor when an elements openning tag is</em>
+<a name="24" href="#24">24</a>  <em>     * encountered.</em>
+<a name="25" href="#25">25</a>  <em>     * </em>
+<a name="26" href="#26">26</a>  <em>     * @param elementPath</em>
+<a name="27" href="#27">27</a>  <em>     *            is the current <code>ElementPath</code> to process</em>
+<a name="28" href="#28">28</a>  <em>     */</em>
+<a name="29" href="#29">29</a>      <strong>void</strong> onStart(<a href="../../org/dom4j/ElementPath.html">ElementPath</a> elementPath);
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>*</em></em>
+<a name="32" href="#32">32</a>  <em>     * Called by an event based processor when an elements closing tag is</em>
+<a name="33" href="#33">33</a>  <em>     * encountered.</em>
+<a name="34" href="#34">34</a>  <em>     * </em>
+<a name="35" href="#35">35</a>  <em>     * @param elementPath</em>
+<a name="36" href="#36">36</a>  <em>     *            is the current <code>ElementPath</code> to process</em>
+<a name="37" href="#37">37</a>  <em>     */</em>
+<a name="38" href="#38">38</a>      <strong>void</strong> onEnd(<a href="../../org/dom4j/ElementPath.html">ElementPath</a> elementPath);
+<a name="39" href="#39">39</a>  }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>  <em class="comment">/*</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * following conditions are met:</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * </em>
+<a name="46" href="#46">46</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * </em>
+<a name="53" href="#53">53</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="76" href="#76">76</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/ElementPath.html b/docs/xref/org/dom4j/ElementPath.html
new file mode 100644
index 0000000..0300166
--- /dev/null
+++ b/docs/xref/org/dom4j/ElementPath.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementPath xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/ElementPath.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * This interface is used by {@link ElementHandler}instances to retrieve</em>
+<a name="12" href="#12">12</a>  <em> * information about the current path hierarchy they are to process. It's</em>
+<a name="13" href="#13">13</a>  <em> * primary use is to retrieve the current {@link Element}being processed.</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:dwhite at equipecom.com" target="alexandria_uri">mailto:dwhite at equipecom.com</a>">Dave White </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/ElementPath.html">ElementPath</a> {
+<a name="19" href="#19">19</a>      <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em>     * DOCUMENT ME!</em>
+<a name="21" href="#21">21</a>  <em>     * </em>
+<a name="22" href="#22">22</a>  <em>     * @return the number of elements in the path</em>
+<a name="23" href="#23">23</a>  <em>     */</em>
+<a name="24" href="#24">24</a>      <strong>int</strong> size();
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em>/**<em>*</em></em>
+<a name="27" href="#27">27</a>  <em>     * DOCUMENT ME!</em>
+<a name="28" href="#28">28</a>  <em>     * </em>
+<a name="29" href="#29">29</a>  <em>     * @param depth</em>
+<a name="30" href="#30">30</a>  <em>     *            DOCUMENT ME!</em>
+<a name="31" href="#31">31</a>  <em>     * </em>
+<a name="32" href="#32">32</a>  <em>     * @return the element at the specified depth index, 0 = root element</em>
+<a name="33" href="#33">33</a>  <em>     */</em>
+<a name="34" href="#34">34</a>      <a href="../../org/dom4j/Element.html">Element</a> getElement(<strong>int</strong> depth);
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * DOCUMENT ME!</em>
+<a name="38" href="#38">38</a>  <em>     * </em>
+<a name="39" href="#39">39</a>  <em>     * @return the path as a string</em>
+<a name="40" href="#40">40</a>  <em>     */</em>
+<a name="41" href="#41">41</a>      String getPath();
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>*</em></em>
+<a name="44" href="#44">44</a>  <em>     * DOCUMENT ME!</em>
+<a name="45" href="#45">45</a>  <em>     * </em>
+<a name="46" href="#46">46</a>  <em>     * @return the current element</em>
+<a name="47" href="#47">47</a>  <em>     */</em>
+<a name="48" href="#48">48</a>      <a href="../../org/dom4j/Element.html">Element</a> getCurrent();
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
+<a name="51" href="#51">51</a>  <em>     * Adds the <code>ElementHandler</code> to be called when the specified</em>
+<a name="52" href="#52">52</a>  <em>     * path is encounted. The path can be either an absolute path (i.e. prefixed</em>
+<a name="53" href="#53">53</a>  <em>     * with "/") or a relative path (i.e. assummed to be a child of the current</em>
+<a name="54" href="#54">54</a>  <em>     * path as retrieved by <b>getPath </b>.</em>
+<a name="55" href="#55">55</a>  <em>     * </em>
+<a name="56" href="#56">56</a>  <em>     * @param path</em>
+<a name="57" href="#57">57</a>  <em>     *            is the path to be handled</em>
+<a name="58" href="#58">58</a>  <em>     * @param handler</em>
+<a name="59" href="#59">59</a>  <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="60" href="#60">60</a>  <em>     *            based processor.</em>
+<a name="61" href="#61">61</a>  <em>     */</em>
+<a name="62" href="#62">62</a>      <strong>void</strong> addHandler(String path, <a href="../../org/dom4j/ElementHandler.html">ElementHandler</a> handler);
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <em>/**<em>*</em></em>
+<a name="65" href="#65">65</a>  <em>     * Removes the <code>ElementHandler</code> from the event based processor,</em>
+<a name="66" href="#66">66</a>  <em>     * for the specified path. The path can be either an absolute path (i.e.</em>
+<a name="67" href="#67">67</a>  <em>     * prefixed with "/") or a relative path (i.e. assummed to be a child of the</em>
+<a name="68" href="#68">68</a>  <em>     * current path as retrieved by <b>getPath </b>.</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @param path</em>
+<a name="71" href="#71">71</a>  <em>     *            is the path to remove the <code>ElementHandler</code> for.</em>
+<a name="72" href="#72">72</a>  <em>     */</em>
+<a name="73" href="#73">73</a>      <strong>void</strong> removeHandler(String path);
+<a name="74" href="#74">74</a>  }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>  <em class="comment">/*</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * following conditions are met:</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * </em>
+<a name="92" href="#92">92</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="103" href="#103">103</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="104" href="#104">104</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="105" href="#105">105</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="106" href="#106">106</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="107" href="#107">107</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="108" href="#108">108</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="111" href="#111">111</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/Entity.html b/docs/xref/org/dom4j/Entity.html
new file mode 100644
index 0000000..e26f7e2
--- /dev/null
+++ b/docs/xref/org/dom4j/Entity.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Entity xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Entity.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>Entity</code> defines an XML entity.</em>
+<a name="13" href="#13">13</a>  <em> * </p></em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/Entity.html">Entity</a> <strong>extends</strong> <a href="../../org/dom4j/Node.html">Node</a> {
+<a name="19" href="#19">19</a>  }
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em class="comment">/*</em>
+<a name="22" href="#22">22</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="23" href="#23">23</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="24" href="#24">24</a>  <em class="comment"> * following conditions are met:</em>
+<a name="25" href="#25">25</a>  <em class="comment"> * </em>
+<a name="26" href="#26">26</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="27" href="#27">27</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="28" href="#28">28</a>  <em class="comment"> * </em>
+<a name="29" href="#29">29</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="30" href="#30">30</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="32" href="#32">32</a>  <em class="comment"> * </em>
+<a name="33" href="#33">33</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="34" href="#34">34</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * </em>
+<a name="37" href="#37">37</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="42" href="#42">42</a>  <em class="comment"> * </em>
+<a name="43" href="#43">43</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/IllegalAddException.html b/docs/xref/org/dom4j/IllegalAddException.html
new file mode 100644
index 0000000..4595bc0
--- /dev/null
+++ b/docs/xref/org/dom4j/IllegalAddException.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>IllegalAddException xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/IllegalAddException.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>IllegalAddException</code> is thrown when a node is added incorrectly</em>
+<a name="13" href="#13">13</a>  <em> * to an <code>{@link Element}</code></em>
+<a name="14" href="#14">14</a>  <em> * </p></em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/IllegalAddException.html">IllegalAddException</a> <strong>extends</strong> IllegalArgumentException {
+<a name="19" href="#19">19</a>      <strong>public</strong> <a href="../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(String reason) {
+<a name="20" href="#20">20</a>          <strong>super</strong>(reason);
+<a name="21" href="#21">21</a>      }
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <strong>public</strong> <a href="../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<a href="../../org/dom4j/Element.html">Element</a> parent, <a href="../../org/dom4j/Node.html">Node</a> node, String reason) {
+<a name="24" href="#24">24</a>          <strong>super</strong>(<span class="string">"The node \""</span> + node.toString()
+<a name="25" href="#25">25</a>                  + <span class="string">"\" could not be added to the element \""</span>
+<a name="26" href="#26">26</a>                  + parent.getQualifiedName() + <span class="string">"\" because: "</span> + reason);
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<a href="../../org/dom4j/Branch.html">Branch</a> parent, <a href="../../org/dom4j/Node.html">Node</a> node, String reason) {
+<a name="30" href="#30">30</a>          <strong>super</strong>(<span class="string">"The node \""</span> + node.toString()
+<a name="31" href="#31">31</a>                  + <span class="string">"\" could not be added to the branch \""</span> + parent.getName()
+<a name="32" href="#32">32</a>                  + <span class="string">"\" because: "</span> + reason);
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>  <em class="comment">/*</em>
+<a name="37" href="#37">37</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * following conditions are met:</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * </em>
+<a name="44" href="#44">44</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * </em>
+<a name="48" href="#48">48</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * </em>
+<a name="52" href="#52">52</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/InvalidXPathException.html b/docs/xref/org/dom4j/InvalidXPathException.html
new file mode 100644
index 0000000..325d6f8
--- /dev/null
+++ b/docs/xref/org/dom4j/InvalidXPathException.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>InvalidXPathException xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/InvalidXPathException.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>InvalidXPathException</code> is thrown when an invalid XPath</em>
+<a name="13" href="#13">13</a>  <em> * expression is used to traverse an XML document</em>
+<a name="14" href="#14">14</a>  <em> * </p></em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.6.2.1 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a> <strong>extends</strong> IllegalArgumentException {
+<a name="19" href="#19">19</a>  	<em>/**<em>* The <code>serialVersionUID</code>. */</em></em>
+<a name="20" href="#20">20</a>  	<strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 3257009869058881592L;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  	<strong>public</strong> <a href="../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a>(String xpath) {
+<a name="23" href="#23">23</a>          <strong>super</strong>(<span class="string">"Invalid XPath expression: "</span> + xpath);
+<a name="24" href="#24">24</a>      }
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>public</strong> <a href="../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a>(String xpath, String reason) {
+<a name="27" href="#27">27</a>          <strong>super</strong>(<span class="string">"Invalid XPath expression: "</span> + xpath + <span class="string">" "</span> + reason);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <a href="../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a>(String xpath, Throwable t) {
+<a name="31" href="#31">31</a>          <strong>super</strong>(<span class="string">"Invalid XPath expression: '"</span> + xpath 
+<a name="32" href="#32">32</a>          		+ <span class="string">"'. Caused by: "</span> + t.getMessage());
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>  <em class="comment">/*</em>
+<a name="37" href="#37">37</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * following conditions are met:</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * </em>
+<a name="44" href="#44">44</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * </em>
+<a name="48" href="#48">48</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * </em>
+<a name="52" href="#52">52</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/Namespace.html b/docs/xref/org/dom4j/Namespace.html
new file mode 100644
index 0000000..c4ff028
--- /dev/null
+++ b/docs/xref/org/dom4j/Namespace.html
@@ -0,0 +1,285 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Namespace xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Namespace.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.tree.AbstractNode;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.tree.DefaultNamespace;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.tree.NamespaceCache;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>Namespace</code> is a Flyweight Namespace that can be shared amongst</em>
+<a name="17" href="#17">17</a>  <em> * nodes.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.22 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a> <strong>extends</strong> <a href="../../org/dom4j/tree/AbstractNode.html">AbstractNode</a> {
+<a name="24" href="#24">24</a>      <em>/**<em>* Cache of <a href="../../org/dom4j/Namespace.html">Namespace</a> instances */</em></em>
+<a name="25" href="#25">25</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <a href="../../org/dom4j/tree/NamespaceCache.html">NamespaceCache</a> CACHE = <strong>new</strong> <a href="../../org/dom4j/tree/NamespaceCache.html">NamespaceCache</a>();
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em>/**<em>* XML <a href="../../org/dom4j/Namespace.html">Namespace</a> */</em></em>
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a> XML_NAMESPACE = CACHE.get(<span class="string">"xml"</span>,
+<a name="29" href="#29">29</a>              <span class="string">"http://www.w3.org/XML/1998/namespace"</span>);
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>* No <a href="../../org/dom4j/Namespace.html">Namespace</a> present */</em></em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a> NO_NAMESPACE = CACHE.get(<span class="string">""</span>, <span class="string">""</span>);
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em>/**<em>* The prefix mapped to this namespace */</em></em>
+<a name="35" href="#35">35</a>      <strong>private</strong> String prefix;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>* The URI for this namespace */</em></em>
+<a name="38" href="#38">38</a>      <strong>private</strong> String uri;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>* A cached version of the hashcode for efficiency */</em></em>
+<a name="41" href="#41">41</a>      <strong>private</strong> <strong>int</strong> hashCode;
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>*</em></em>
+<a name="44" href="#44">44</a>  <em>     * DOCUMENT ME!</em>
+<a name="45" href="#45">45</a>  <em>     * </em>
+<a name="46" href="#46">46</a>  <em>     * @param prefix</em>
+<a name="47" href="#47">47</a>  <em>     *            is the prefix for this namespace</em>
+<a name="48" href="#48">48</a>  <em>     * @param uri</em>
+<a name="49" href="#49">49</a>  <em>     *            is the URI for this namespace</em>
+<a name="50" href="#50">50</a>  <em>     */</em>
+<a name="51" href="#51">51</a>      <strong>public</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a>(String prefix, String uri) {
+<a name="52" href="#52">52</a>          <strong>this</strong>.prefix = (prefix != <strong>null</strong>) ? prefix : <span class="string">""</span>;
+<a name="53" href="#53">53</a>          <strong>this</strong>.uri = (uri != <strong>null</strong>) ? uri : <span class="string">""</span>;
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <em>/**<em>*</em></em>
+<a name="57" href="#57">57</a>  <em>     * A helper method to return the Namespace instance for the given prefix and</em>
+<a name="58" href="#58">58</a>  <em>     * URI</em>
+<a name="59" href="#59">59</a>  <em>     * </em>
+<a name="60" href="#60">60</a>  <em>     * @param prefix</em>
+<a name="61" href="#61">61</a>  <em>     *            DOCUMENT ME!</em>
+<a name="62" href="#62">62</a>  <em>     * @param uri</em>
+<a name="63" href="#63">63</a>  <em>     *            DOCUMENT ME!</em>
+<a name="64" href="#64">64</a>  <em>     * </em>
+<a name="65" href="#65">65</a>  <em>     * @return an interned Namespace object</em>
+<a name="66" href="#66">66</a>  <em>     */</em>
+<a name="67" href="#67">67</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a> get(String prefix, String uri) {
+<a name="68" href="#68">68</a>          <strong>return</strong> CACHE.get(prefix, uri);
+<a name="69" href="#69">69</a>      }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em>/**<em>*</em></em>
+<a name="72" href="#72">72</a>  <em>     * A helper method to return the Namespace instance for no prefix and the</em>
+<a name="73" href="#73">73</a>  <em>     * URI</em>
+<a name="74" href="#74">74</a>  <em>     * </em>
+<a name="75" href="#75">75</a>  <em>     * @param uri</em>
+<a name="76" href="#76">76</a>  <em>     *            DOCUMENT ME!</em>
+<a name="77" href="#77">77</a>  <em>     * </em>
+<a name="78" href="#78">78</a>  <em>     * @return an interned Namespace object</em>
+<a name="79" href="#79">79</a>  <em>     */</em>
+<a name="80" href="#80">80</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a> get(String uri) {
+<a name="81" href="#81">81</a>          <strong>return</strong> CACHE.get(uri);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="85" href="#85">85</a>          <strong>return</strong> NAMESPACE_NODE;
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <em>/**<em>*</em></em>
+<a name="89" href="#89">89</a>  <em>     * DOCUMENT ME!</em>
+<a name="90" href="#90">90</a>  <em>     * </em>
+<a name="91" href="#91">91</a>  <em>     * @return the hash code based on the qualified name and the URI of the</em>
+<a name="92" href="#92">92</a>  <em>     *         namespace.</em>
+<a name="93" href="#93">93</a>  <em>     */</em>
+<a name="94" href="#94">94</a>      <strong>public</strong> <strong>int</strong> hashCode() {
+<a name="95" href="#95">95</a>          <strong>if</strong> (hashCode == 0) {
+<a name="96" href="#96">96</a>              hashCode = createHashCode();
+<a name="97" href="#97">97</a>          }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          <strong>return</strong> hashCode;
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <em>/**<em>*</em></em>
+<a name="103" href="#103">103</a> <em>     * Factory method to create the hashcode allowing derived classes to change</em>
+<a name="104" href="#104">104</a> <em>     * the behaviour</em>
+<a name="105" href="#105">105</a> <em>     * </em>
+<a name="106" href="#106">106</a> <em>     * @return DOCUMENT ME!</em>
+<a name="107" href="#107">107</a> <em>     */</em>
+<a name="108" href="#108">108</a>     <strong>protected</strong> <strong>int</strong> createHashCode() {
+<a name="109" href="#109">109</a>         <strong>int</strong> result = uri.hashCode() ^ prefix.hashCode();
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         <strong>if</strong> (result == 0) {
+<a name="112" href="#112">112</a>             result = 0xbabe;
+<a name="113" href="#113">113</a>         }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         <strong>return</strong> result;
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <em>/**<em>*</em></em>
+<a name="119" href="#119">119</a> <em>     * Checks whether this Namespace equals the given Namespace. Two Namespaces</em>
+<a name="120" href="#120">120</a> <em>     * are equals if their URI and prefix are equal.</em>
+<a name="121" href="#121">121</a> <em>     * </em>
+<a name="122" href="#122">122</a> <em>     * @param object</em>
+<a name="123" href="#123">123</a> <em>     *            DOCUMENT ME!</em>
+<a name="124" href="#124">124</a> <em>     * </em>
+<a name="125" href="#125">125</a> <em>     * @return DOCUMENT ME!</em>
+<a name="126" href="#126">126</a> <em>     */</em>
+<a name="127" href="#127">127</a>     <strong>public</strong> <strong>boolean</strong> equals(Object object) {
+<a name="128" href="#128">128</a>         <strong>if</strong> (<strong>this</strong> == object) {
+<a name="129" href="#129">129</a>             <strong>return</strong> <strong>true</strong>;
+<a name="130" href="#130">130</a>         } <strong>else</strong> <strong>if</strong> (object instanceof Namespace) {
+<a name="131" href="#131">131</a>             <a href="../../org/dom4j/Namespace.html">Namespace</a> that = (Namespace) object;
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>             <em class="comment">// we cache hash codes so this should be quick</em>
+<a name="134" href="#134">134</a>             <strong>if</strong> (hashCode() == that.hashCode()) {
+<a name="135" href="#135">135</a>                 <strong>return</strong> uri.equals(that.getURI())
+<a name="136" href="#136">136</a>                         && prefix.equals(that.getPrefix());
+<a name="137" href="#137">137</a>             }
+<a name="138" href="#138">138</a>         }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>         <strong>return</strong> false;
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <strong>public</strong> String getText() {
+<a name="144" href="#144">144</a>         <strong>return</strong> uri;
+<a name="145" href="#145">145</a>     }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>     <strong>public</strong> String getStringValue() {
+<a name="148" href="#148">148</a>         <strong>return</strong> uri;
+<a name="149" href="#149">149</a>     }
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>     <em>/**<em>*</em></em>
+<a name="152" href="#152">152</a> <em>     * DOCUMENT ME!</em>
+<a name="153" href="#153">153</a> <em>     * </em>
+<a name="154" href="#154">154</a> <em>     * @return the prefix for this <code>Namespace</code>.</em>
+<a name="155" href="#155">155</a> <em>     */</em>
+<a name="156" href="#156">156</a>     <strong>public</strong> String getPrefix() {
+<a name="157" href="#157">157</a>         <strong>return</strong> prefix;
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <em>/**<em>*</em></em>
+<a name="161" href="#161">161</a> <em>     * DOCUMENT ME!</em>
+<a name="162" href="#162">162</a> <em>     * </em>
+<a name="163" href="#163">163</a> <em>     * @return the URI for this <code>Namespace</code>.</em>
+<a name="164" href="#164">164</a> <em>     */</em>
+<a name="165" href="#165">165</a>     <strong>public</strong> String getURI() {
+<a name="166" href="#166">166</a>         <strong>return</strong> uri;
+<a name="167" href="#167">167</a>     }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>     <strong>public</strong> String getXPathNameStep() {
+<a name="170" href="#170">170</a>         <strong>if</strong> ((prefix != <strong>null</strong>) && !<span class="string">""</span>.equals(prefix)) {
+<a name="171" href="#171">171</a>             <strong>return</strong> <span class="string">"namespace::"</span> + prefix;
+<a name="172" href="#172">172</a>         }
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>         <strong>return</strong> <span class="string">"namespace::*[name()='']"</span>;
+<a name="175" href="#175">175</a>     }
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>     <strong>public</strong> String getPath(<a href="../../org/dom4j/Element.html">Element</a> context) {
+<a name="178" href="#178">178</a>         StringBuffer path = <strong>new</strong> StringBuffer(10);
+<a name="179" href="#179">179</a>         <a href="../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>         <strong>if</strong> ((parent != <strong>null</strong>) && (parent != context)) {
+<a name="182" href="#182">182</a>             path.append(parent.getPath(context));
+<a name="183" href="#183">183</a>             path.append('/');
+<a name="184" href="#184">184</a>         }
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>         path.append(getXPathNameStep());
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>         <strong>return</strong> path.toString();
+<a name="189" href="#189">189</a>     }
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>     <strong>public</strong> String getUniquePath(<a href="../../org/dom4j/Element.html">Element</a> context) {
+<a name="192" href="#192">192</a>         StringBuffer path = <strong>new</strong> StringBuffer(10);
+<a name="193" href="#193">193</a>         <a href="../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>         <strong>if</strong> ((parent != <strong>null</strong>) && (parent != context)) {
+<a name="196" href="#196">196</a>             path.append(parent.getUniquePath(context));
+<a name="197" href="#197">197</a>             path.append('/');
+<a name="198" href="#198">198</a>         }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>         path.append(getXPathNameStep());
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>         <strong>return</strong> path.toString();
+<a name="203" href="#203">203</a>     }
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>     <strong>public</strong> String toString() {
+<a name="206" href="#206">206</a>         <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Namespace: prefix "</span> + getPrefix()
+<a name="207" href="#207">207</a>                 + <span class="string">" mapped to URI \""</span> + getURI() + <span class="string">"\"]"</span>;
+<a name="208" href="#208">208</a>     }
+<a name="209" href="#209">209</a> 
+<a name="210" href="#210">210</a>     <strong>public</strong> String asXML() {
+<a name="211" href="#211">211</a>         StringBuffer asxml = <strong>new</strong> StringBuffer(10);
+<a name="212" href="#212">212</a>         String pref = getPrefix();
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>         <strong>if</strong> ((pref != <strong>null</strong>) && (pref.length() > 0)) {
+<a name="215" href="#215">215</a>             asxml.append(<span class="string">"xmlns:"</span>);
+<a name="216" href="#216">216</a>             asxml.append(pref);
+<a name="217" href="#217">217</a>             asxml.append(<span class="string">"=\""</span>);
+<a name="218" href="#218">218</a>         } <strong>else</strong> {
+<a name="219" href="#219">219</a>             asxml.append(<span class="string">"xmlns=\""</span>);
+<a name="220" href="#220">220</a>         }
+<a name="221" href="#221">221</a> 
+<a name="222" href="#222">222</a>         asxml.append(getURI());
+<a name="223" href="#223">223</a>         asxml.append(<span class="string">"\""</span>);
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>         <strong>return</strong> asxml.toString();
+<a name="226" href="#226">226</a>     }
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>     <strong>public</strong> <strong>void</strong> accept(<a href="../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="229" href="#229">229</a>         visitor.visit(<strong>this</strong>);
+<a name="230" href="#230">230</a>     }
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>     <strong>protected</strong> <a href="../../org/dom4j/Node.html">Node</a> createXPathResult(<a href="../../org/dom4j/Element.html">Element</a> parent) {
+<a name="233" href="#233">233</a>         <strong>return</strong> <strong>new</strong> <a href="../../org/dom4j/tree/DefaultNamespace.html">DefaultNamespace</a>(parent, getPrefix(), getURI());
+<a name="234" href="#234">234</a>     }
+<a name="235" href="#235">235</a> }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a> <em class="comment">/*</em>
+<a name="238" href="#238">238</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="239" href="#239">239</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="240" href="#240">240</a> <em class="comment"> * following conditions are met:</em>
+<a name="241" href="#241">241</a> <em class="comment"> * </em>
+<a name="242" href="#242">242</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="243" href="#243">243</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="244" href="#244">244</a> <em class="comment"> * </em>
+<a name="245" href="#245">245</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="246" href="#246">246</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="247" href="#247">247</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="248" href="#248">248</a> <em class="comment"> * </em>
+<a name="249" href="#249">249</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="250" href="#250">250</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="251" href="#251">251</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="252" href="#252">252</a> <em class="comment"> * </em>
+<a name="253" href="#253">253</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="254" href="#254">254</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="255" href="#255">255</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="256" href="#256">256</a> <em class="comment"> * </em>
+<a name="257" href="#257">257</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="258" href="#258">258</a> <em class="comment"> * </em>
+<a name="259" href="#259">259</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="260" href="#260">260</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="261" href="#261">261</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="262" href="#262">262</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="263" href="#263">263</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="264" href="#264">264</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="265" href="#265">265</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="266" href="#266">266</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="267" href="#267">267</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="268" href="#268">268</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="269" href="#269">269</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="270" href="#270">270</a> <em class="comment"> * </em>
+<a name="271" href="#271">271</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="272" href="#272">272</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/Node.html b/docs/xref/org/dom4j/Node.html
new file mode 100644
index 0000000..5b8a42f
--- /dev/null
+++ b/docs/xref/org/dom4j/Node.html
@@ -0,0 +1,612 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Node xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Node.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Writer;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>Node</code> defines the polymorphic behavior for all XML nodes in a</em>
+<a name="17" href="#17">17</a>  <em> * dom4j tree.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * A node can be output as its XML format, can be detached from its position in</em>
+<a name="22" href="#22">22</a>  <em> * a document and can have XPath expressions evaluated on itself.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * <p></em>
+<a name="26" href="#26">26</a>  <em> * A node may optionally support the parent relationship and may be read only.</em>
+<a name="27" href="#27">27</a>  <em> * </p></em>
+<a name="28" href="#28">28</a>  <em> * </em>
+<a name="29" href="#29">29</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="30" href="#30">30</a>  <em> * @version $Revision: 1.31 $</em>
+<a name="31" href="#31">31</a>  <em> * </em>
+<a name="32" href="#32">32</a>  <em> * @see #supportsParent</em>
+<a name="33" href="#33">33</a>  <em> * @see #isReadOnly</em>
+<a name="34" href="#34">34</a>  <em> */</em>
+<a name="35" href="#35">35</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/Node.html">Node</a> <strong>extends</strong> Cloneable {
+<a name="36" href="#36">36</a>      <em class="comment">// W3C DOM complient node type codes</em>
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>* Matches <a href="../../org/dom4j/Element.html">Element</a> nodes */</em></em>
+<a name="39" href="#39">39</a>      <strong>short</strong> ANY_NODE = 0;
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em>/**<em>* Matches <a href="../../org/dom4j/Element.html">Element</a> nodes */</em></em>
+<a name="42" href="#42">42</a>      <strong>short</strong> ELEMENT_NODE = 1;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em>/**<em>* Matches elements nodes */</em></em>
+<a name="45" href="#45">45</a>      <strong>short</strong> ATTRIBUTE_NODE = 2;
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <em>/**<em>* Matches elements nodes */</em></em>
+<a name="48" href="#48">48</a>      <strong>short</strong> TEXT_NODE = 3;
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>* Matches elements nodes */</em></em>
+<a name="51" href="#51">51</a>      <strong>short</strong> CDATA_SECTION_NODE = 4;
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <em>/**<em>* Matches elements nodes */</em></em>
+<a name="54" href="#54">54</a>      <strong>short</strong> ENTITY_REFERENCE_NODE = 5;
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <em>/**<em>* Matches elements nodes */</em></em>
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <em class="comment">// public static final short ENTITY_NODE = 6;</em>
+<a name="59" href="#59">59</a>      <em>/**<em>* Matches <a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> */</em></em>
+<a name="60" href="#60">60</a>      <strong>short</strong> PROCESSING_INSTRUCTION_NODE = 7;
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em>/**<em>* Matches Comments nodes */</em></em>
+<a name="63" href="#63">63</a>      <strong>short</strong> COMMENT_NODE = 8;
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <em>/**<em>* Matches <a href="../../org/dom4j/Document.html">Document</a> nodes */</em></em>
+<a name="66" href="#66">66</a>      <strong>short</strong> DOCUMENT_NODE = 9;
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <em>/**<em>* Matches <a href="../../org/dom4j/DocumentType.html">DocumentType</a> nodes */</em></em>
+<a name="69" href="#69">69</a>      <strong>short</strong> DOCUMENT_TYPE_NODE = 10;
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em class="comment">// public static final short DOCUMENT_FRAGMENT_NODE = 11;</em>
+<a name="72" href="#72">72</a>      <em class="comment">// public static final short NOTATION_NODE = 12;</em>
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <em>/**<em>* Matchs a <a href="../../org/dom4j/Namespace.html">Namespace</a> <a href="../../org/dom4j/Node.html">Node</a> - NOTE this differs from DOM */</em></em>
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <em class="comment">// XXXX: ????</em>
+<a name="77" href="#77">77</a>      <strong>short</strong> NAMESPACE_NODE = 13;
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <em>/**<em>* Does not match any valid node */</em></em>
+<a name="80" href="#80">80</a>      <strong>short</strong> UNKNOWN_NODE = 14;
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <em>/**<em>* The maximum number of node types for sizing purposes */</em></em>
+<a name="83" href="#83">83</a>      <strong>short</strong> MAX_NODE_TYPE = 14;
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <em>/**<em>*</em></em>
+<a name="86" href="#86">86</a>  <em>     * <p></em>
+<a name="87" href="#87">87</a>  <em>     * <code>supportsParent</code> returns true if this node supports the</em>
+<a name="88" href="#88">88</a>  <em>     * parent relationship.</em>
+<a name="89" href="#89">89</a>  <em>     * </p></em>
+<a name="90" href="#90">90</a>  <em>     * </em>
+<a name="91" href="#91">91</a>  <em>     * <p></em>
+<a name="92" href="#92">92</a>  <em>     * Some XML tree implementations are singly linked and only support downward</em>
+<a name="93" href="#93">93</a>  <em>     * navigation through children relationships. The default case is that both</em>
+<a name="94" href="#94">94</a>  <em>     * parent and children relationships are supported though for memory and</em>
+<a name="95" href="#95">95</a>  <em>     * performance reasons the parent relationship may not be supported.</em>
+<a name="96" href="#96">96</a>  <em>     * </p></em>
+<a name="97" href="#97">97</a>  <em>     * </em>
+<a name="98" href="#98">98</a>  <em>     * @return true if this node supports the parent relationship or false it is</em>
+<a name="99" href="#99">99</a>  <em>     *         not supported</em>
+<a name="100" href="#100">100</a> <em>     */</em>
+<a name="101" href="#101">101</a>     <strong>boolean</strong> supportsParent();
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <em>/**<em>*</em></em>
+<a name="104" href="#104">104</a> <em>     * <p></em>
+<a name="105" href="#105">105</a> <em>     * <code>getParent</code> returns the parent <code>Element</code> if</em>
+<a name="106" href="#106">106</a> <em>     * this node supports the parent relationship or null if it is the root</em>
+<a name="107" href="#107">107</a> <em>     * element or does not support the parent relationship.</em>
+<a name="108" href="#108">108</a> <em>     * </p></em>
+<a name="109" href="#109">109</a> <em>     * </em>
+<a name="110" href="#110">110</a> <em>     * <p></em>
+<a name="111" href="#111">111</a> <em>     * This method is an optional feature and may not be supported for all</em>
+<a name="112" href="#112">112</a> <em>     * <code>Node</code> implementations.</em>
+<a name="113" href="#113">113</a> <em>     * </p></em>
+<a name="114" href="#114">114</a> <em>     * </em>
+<a name="115" href="#115">115</a> <em>     * @return the parent of this node or null if it is the root of the tree or</em>
+<a name="116" href="#116">116</a> <em>     *         the parent relationship is not supported.</em>
+<a name="117" href="#117">117</a> <em>     */</em>
+<a name="118" href="#118">118</a>     <a href="../../org/dom4j/Element.html">Element</a> getParent();
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <em>/**<em>*</em></em>
+<a name="121" href="#121">121</a> <em>     * <p></em>
+<a name="122" href="#122">122</a> <em>     * <code>setParent</code> sets the parent relationship of this node if the</em>
+<a name="123" href="#123">123</a> <em>     * parent relationship is supported or does nothing if the parent</em>
+<a name="124" href="#124">124</a> <em>     * relationship is not supported.</em>
+<a name="125" href="#125">125</a> <em>     * </p></em>
+<a name="126" href="#126">126</a> <em>     * </em>
+<a name="127" href="#127">127</a> <em>     * <p></em>
+<a name="128" href="#128">128</a> <em>     * This method should only be called from inside an <code>Element</code></em>
+<a name="129" href="#129">129</a> <em>     * implementation method and is not intended for general use.</em>
+<a name="130" href="#130">130</a> <em>     * </p></em>
+<a name="131" href="#131">131</a> <em>     * </em>
+<a name="132" href="#132">132</a> <em>     * @param parent</em>
+<a name="133" href="#133">133</a> <em>     *            is the new parent of this node.</em>
+<a name="134" href="#134">134</a> <em>     */</em>
+<a name="135" href="#135">135</a>     <strong>void</strong> setParent(<a href="../../org/dom4j/Element.html">Element</a> parent);
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>     <em>/**<em>*</em></em>
+<a name="138" href="#138">138</a> <em>     * <p></em>
+<a name="139" href="#139">139</a> <em>     * <code>getDocument</code> returns the <code>Document</code> that this</em>
+<a name="140" href="#140">140</a> <em>     * <code>Node</code> is part of if this node supports the parent</em>
+<a name="141" href="#141">141</a> <em>     * relationship.</em>
+<a name="142" href="#142">142</a> <em>     * </p></em>
+<a name="143" href="#143">143</a> <em>     * </em>
+<a name="144" href="#144">144</a> <em>     * <p></em>
+<a name="145" href="#145">145</a> <em>     * This method is an optional feature and may not be supported for all</em>
+<a name="146" href="#146">146</a> <em>     * <code>Node</code> implementations.</em>
+<a name="147" href="#147">147</a> <em>     * </p></em>
+<a name="148" href="#148">148</a> <em>     * </em>
+<a name="149" href="#149">149</a> <em>     * @return the document of this node or null if this feature is not</em>
+<a name="150" href="#150">150</a> <em>     *         supported or the node is not associated with a</em>
+<a name="151" href="#151">151</a> <em>     *         <code>Document</code></em>
+<a name="152" href="#152">152</a> <em>     */</em>
+<a name="153" href="#153">153</a>     <a href="../../org/dom4j/Document.html">Document</a> getDocument();
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <em>/**<em>*</em></em>
+<a name="156" href="#156">156</a> <em>     * <p></em>
+<a name="157" href="#157">157</a> <em>     * <code>setDocument</code> sets the document of this node if the parent</em>
+<a name="158" href="#158">158</a> <em>     * relationship is supported or does nothing if the parent relationship is</em>
+<a name="159" href="#159">159</a> <em>     * not supported.</em>
+<a name="160" href="#160">160</a> <em>     * </p></em>
+<a name="161" href="#161">161</a> <em>     * </em>
+<a name="162" href="#162">162</a> <em>     * <p></em>
+<a name="163" href="#163">163</a> <em>     * This method should only be called from inside a <code>Document</code></em>
+<a name="164" href="#164">164</a> <em>     * implementation method and is not intended for general use.</em>
+<a name="165" href="#165">165</a> <em>     * </p></em>
+<a name="166" href="#166">166</a> <em>     * </em>
+<a name="167" href="#167">167</a> <em>     * @param document</em>
+<a name="168" href="#168">168</a> <em>     *            is the new document of this node.</em>
+<a name="169" href="#169">169</a> <em>     */</em>
+<a name="170" href="#170">170</a>     <strong>void</strong> setDocument(<a href="../../org/dom4j/Document.html">Document</a> document);
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>     <em>/**<em>*</em></em>
+<a name="173" href="#173">173</a> <em>     * <p></em>
+<a name="174" href="#174">174</a> <em>     * <code>isReadOnly</code> returns true if this node is read only and</em>
+<a name="175" href="#175">175</a> <em>     * cannot be modified. Any attempt to modify a read-only <code>Node</code></em>
+<a name="176" href="#176">176</a> <em>     * will result in an <code>UnsupportedOperationException</code> being</em>
+<a name="177" href="#177">177</a> <em>     * thrown.</em>
+<a name="178" href="#178">178</a> <em>     * </p></em>
+<a name="179" href="#179">179</a> <em>     * </em>
+<a name="180" href="#180">180</a> <em>     * @return true if this <code>Node</code> is read only and cannot be</em>
+<a name="181" href="#181">181</a> <em>     *         modified otherwise false.</em>
+<a name="182" href="#182">182</a> <em>     */</em>
+<a name="183" href="#183">183</a>     <strong>boolean</strong> isReadOnly();
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>     <em>/**<em>*</em></em>
+<a name="186" href="#186">186</a> <em>     * <p></em>
+<a name="187" href="#187">187</a> <em>     * <code>hasContent</code> returns true if this node is a Branch (either</em>
+<a name="188" href="#188">188</a> <em>     * an Element or a Document) and it contains at least one content node such</em>
+<a name="189" href="#189">189</a> <em>     * as a child Element or Text node.</em>
+<a name="190" href="#190">190</a> <em>     * </p></em>
+<a name="191" href="#191">191</a> <em>     * </em>
+<a name="192" href="#192">192</a> <em>     * @return true if this <code>Node</code> is a Branch with a nodeCount()</em>
+<a name="193" href="#193">193</a> <em>     *         of one or more.</em>
+<a name="194" href="#194">194</a> <em>     */</em>
+<a name="195" href="#195">195</a>     <strong>boolean</strong> hasContent();
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>     <em>/**<em>*</em></em>
+<a name="198" href="#198">198</a> <em>     * <p></em>
+<a name="199" href="#199">199</a> <em>     * <code>getName</code> returns the name of this node. This is the XML</em>
+<a name="200" href="#200">200</a> <em>     * local name of the element, attribute, entity or processing instruction.</em>
+<a name="201" href="#201">201</a> <em>     * For CDATA and Text nodes this method will return null.</em>
+<a name="202" href="#202">202</a> <em>     * </p></em>
+<a name="203" href="#203">203</a> <em>     * </em>
+<a name="204" href="#204">204</a> <em>     * @return the XML name of this node</em>
+<a name="205" href="#205">205</a> <em>     */</em>
+<a name="206" href="#206">206</a>     String getName();
+<a name="207" href="#207">207</a> 
+<a name="208" href="#208">208</a>     <em>/**<em>*</em></em>
+<a name="209" href="#209">209</a> <em>     * <p></em>
+<a name="210" href="#210">210</a> <em>     * Sets the text data of this node or this method will throw an</em>
+<a name="211" href="#211">211</a> <em>     * <code>UnsupportedOperationException</code> if it is read-only.</em>
+<a name="212" href="#212">212</a> <em>     * </p></em>
+<a name="213" href="#213">213</a> <em>     * </em>
+<a name="214" href="#214">214</a> <em>     * @param name</em>
+<a name="215" href="#215">215</a> <em>     *            is the new name of this node</em>
+<a name="216" href="#216">216</a> <em>     */</em>
+<a name="217" href="#217">217</a>     <strong>void</strong> setName(String name);
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>     <em>/**<em>*</em></em>
+<a name="220" href="#220">220</a> <em>     * <p></em>
+<a name="221" href="#221">221</a> <em>     * Returns the text of this node.</em>
+<a name="222" href="#222">222</a> <em>     * </p></em>
+<a name="223" href="#223">223</a> <em>     * </em>
+<a name="224" href="#224">224</a> <em>     * @return the text for this node.</em>
+<a name="225" href="#225">225</a> <em>     */</em>
+<a name="226" href="#226">226</a>     String getText();
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>     <em>/**<em>*</em></em>
+<a name="229" href="#229">229</a> <em>     * <p></em>
+<a name="230" href="#230">230</a> <em>     * Sets the text data of this node or this method will throw an</em>
+<a name="231" href="#231">231</a> <em>     * <code>UnsupportedOperationException</code> if it is read-only.</em>
+<a name="232" href="#232">232</a> <em>     * </p></em>
+<a name="233" href="#233">233</a> <em>     * </em>
+<a name="234" href="#234">234</a> <em>     * @param text</em>
+<a name="235" href="#235">235</a> <em>     *            is the new textual value of this node</em>
+<a name="236" href="#236">236</a> <em>     */</em>
+<a name="237" href="#237">237</a>     <strong>void</strong> setText(String text);
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>     <em>/**<em>*</em></em>
+<a name="240" href="#240">240</a> <em>     * Returns the XPath string-value of this node. The behaviour of this method</em>
+<a name="241" href="#241">241</a> <em>     * is defined in the <a href="<a href="http://www.w3.org/TR/xpath" target="alexandria_uri">http://www.w3.org/TR/xpath</a>">XPath</em>
+<a name="242" href="#242">242</a> <em>     * specification </a>.</em>
+<a name="243" href="#243">243</a> <em>     * </em>
+<a name="244" href="#244">244</a> <em>     * @return the text from all the child Text and Element nodes appended</em>
+<a name="245" href="#245">245</a> <em>     *         together.</em>
+<a name="246" href="#246">246</a> <em>     */</em>
+<a name="247" href="#247">247</a>     String getStringValue();
+<a name="248" href="#248">248</a> 
+<a name="249" href="#249">249</a>     <em>/**<em>*</em></em>
+<a name="250" href="#250">250</a> <em>     * <p></em>
+<a name="251" href="#251">251</a> <em>     * Returns the XPath expression which will return a node set containing the</em>
+<a name="252" href="#252">252</a> <em>     * given node such as /a/b/&#64;c. No indexing will be used to restrict the</em>
+<a name="253" href="#253">253</a> <em>     * path if multiple elements with the same name occur on the path.</em>
+<a name="254" href="#254">254</a> <em>     * </p></em>
+<a name="255" href="#255">255</a> <em>     * </em>
+<a name="256" href="#256">256</a> <em>     * @return the XPath expression which will return a nodeset containing at</em>
+<a name="257" href="#257">257</a> <em>     *         least this node.</em>
+<a name="258" href="#258">258</a> <em>     */</em>
+<a name="259" href="#259">259</a>     String getPath();
+<a name="260" href="#260">260</a> 
+<a name="261" href="#261">261</a>     <em>/**<em>*</em></em>
+<a name="262" href="#262">262</a> <em>     * Returns the relative XPath expression which will return a node set</em>
+<a name="263" href="#263">263</a> <em>     * containing the given node such as a/b/&#64;c. No indexing will be used to</em>
+<a name="264" href="#264">264</a> <em>     * restrict the path if multiple elements with the same name occur on the</em>
+<a name="265" href="#265">265</a> <em>     * path.</em>
+<a name="266" href="#266">266</a> <em>     * </em>
+<a name="267" href="#267">267</a> <em>     * @param context</em>
+<a name="268" href="#268">268</a> <em>     *            is the parent context from which the relative path should</em>
+<a name="269" href="#269">269</a> <em>     *            start. If the context is null or the context is not an</em>
+<a name="270" href="#270">270</a> <em>     *            ancestor of this node then the path will be absolute and start</em>
+<a name="271" href="#271">271</a> <em>     *            from the document and so begin with the '/' character.</em>
+<a name="272" href="#272">272</a> <em>     * </em>
+<a name="273" href="#273">273</a> <em>     * @return the XPath expression relative to the given context which will</em>
+<a name="274" href="#274">274</a> <em>     *         return a nodeset containing at least this node.</em>
+<a name="275" href="#275">275</a> <em>     */</em>
+<a name="276" href="#276">276</a>     String getPath(<a href="../../org/dom4j/Element.html">Element</a> context);
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>     <em>/**<em>*</em></em>
+<a name="279" href="#279">279</a> <em>     * <p></em>
+<a name="280" href="#280">280</a> <em>     * Returns the XPath expression which will return a nodeset of one node</em>
+<a name="281" href="#281">281</a> <em>     * which is the current node. This method will use the XPath index operator</em>
+<a name="282" href="#282">282</a> <em>     * to restrict the path if multiple elements with the same name occur on the</em>
+<a name="283" href="#283">283</a> <em>     * path.</em>
+<a name="284" href="#284">284</a> <em>     * </p></em>
+<a name="285" href="#285">285</a> <em>     * </em>
+<a name="286" href="#286">286</a> <em>     * @return the XPath expression which will return a nodeset containing just</em>
+<a name="287" href="#287">287</a> <em>     *         this node.</em>
+<a name="288" href="#288">288</a> <em>     */</em>
+<a name="289" href="#289">289</a>     String getUniquePath();
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>     <em>/**<em>*</em></em>
+<a name="292" href="#292">292</a> <em>     * <p></em>
+<a name="293" href="#293">293</a> <em>     * Returns the relative unique XPath expression from the given context which</em>
+<a name="294" href="#294">294</a> <em>     * will return a nodeset of one node which is the current node. This method</em>
+<a name="295" href="#295">295</a> <em>     * will use the XPath index operator to restrict the path if multiple</em>
+<a name="296" href="#296">296</a> <em>     * elements with the same name occur on the path.</em>
+<a name="297" href="#297">297</a> <em>     * </p></em>
+<a name="298" href="#298">298</a> <em>     * </em>
+<a name="299" href="#299">299</a> <em>     * @param context</em>
+<a name="300" href="#300">300</a> <em>     *            is the parent context from which the path should start. If the</em>
+<a name="301" href="#301">301</a> <em>     *            context is null or the context is not an ancestor of this node</em>
+<a name="302" href="#302">302</a> <em>     *            then the path will start from the document and so begin with</em>
+<a name="303" href="#303">303</a> <em>     *            the '/' character.</em>
+<a name="304" href="#304">304</a> <em>     * </em>
+<a name="305" href="#305">305</a> <em>     * @return the XPath expression relative to the given context which will</em>
+<a name="306" href="#306">306</a> <em>     *         return a nodeset containing just this node.</em>
+<a name="307" href="#307">307</a> <em>     */</em>
+<a name="308" href="#308">308</a>     String getUniquePath(<a href="../../org/dom4j/Element.html">Element</a> context);
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a>     <em>/**<em>*</em></em>
+<a name="311" href="#311">311</a> <em>     * <p></em>
+<a name="312" href="#312">312</a> <em>     * <code>asXML</code> returns the textual XML representation of this node.</em>
+<a name="313" href="#313">313</a> <em>     * </p></em>
+<a name="314" href="#314">314</a> <em>     * </em>
+<a name="315" href="#315">315</a> <em>     * @return the XML representation of this node</em>
+<a name="316" href="#316">316</a> <em>     */</em>
+<a name="317" href="#317">317</a>     String asXML();
+<a name="318" href="#318">318</a> 
+<a name="319" href="#319">319</a>     <em>/**<em>*</em></em>
+<a name="320" href="#320">320</a> <em>     * <p></em>
+<a name="321" href="#321">321</a> <em>     * <code>write</code> writes this node as the default XML notation for</em>
+<a name="322" href="#322">322</a> <em>     * this node. If you wish to control the XML output (such as for pretty</em>
+<a name="323" href="#323">323</a> <em>     * printing, changing the indentation policy etc.) then please use {@link</em>
+<a name="324" href="#324">324</a> <em>     * org.dom4j.io.XMLWriter} or its derivations.</em>
+<a name="325" href="#325">325</a> <em>     * </p></em>
+<a name="326" href="#326">326</a> <em>     * </em>
+<a name="327" href="#327">327</a> <em>     * @param writer</em>
+<a name="328" href="#328">328</a> <em>     *            is the <code>Writer</code> to output the XML to</em>
+<a name="329" href="#329">329</a> <em>     * </em>
+<a name="330" href="#330">330</a> <em>     * @throws IOException</em>
+<a name="331" href="#331">331</a> <em>     *             DOCUMENT ME!</em>
+<a name="332" href="#332">332</a> <em>     */</em>
+<a name="333" href="#333">333</a>     <strong>void</strong> write(Writer writer) throws IOException;
+<a name="334" href="#334">334</a> 
+<a name="335" href="#335">335</a>     <em>/**<em>*</em></em>
+<a name="336" href="#336">336</a> <em>     * Returns the code according to the type of node. This makes processing</em>
+<a name="337" href="#337">337</a> <em>     * nodes polymorphically much easier as the switch statement can be used</em>
+<a name="338" href="#338">338</a> <em>     * instead of multiple if (instanceof) statements.</em>
+<a name="339" href="#339">339</a> <em>     * </em>
+<a name="340" href="#340">340</a> <em>     * @return a W3C DOM complient code for the node type such as ELEMENT_NODE</em>
+<a name="341" href="#341">341</a> <em>     *         or ATTRIBUTE_NODE</em>
+<a name="342" href="#342">342</a> <em>     */</em>
+<a name="343" href="#343">343</a>     <strong>short</strong> getNodeType();
+<a name="344" href="#344">344</a> 
+<a name="345" href="#345">345</a>     <em>/**<em>*</em></em>
+<a name="346" href="#346">346</a> <em>     * DOCUMENT ME!</em>
+<a name="347" href="#347">347</a> <em>     * </em>
+<a name="348" href="#348">348</a> <em>     * @return the name of the type of node such as "Document", "Element",</em>
+<a name="349" href="#349">349</a> <em>     *         "Attribute" or "Text"</em>
+<a name="350" href="#350">350</a> <em>     */</em>
+<a name="351" href="#351">351</a>     String getNodeTypeName();
+<a name="352" href="#352">352</a> 
+<a name="353" href="#353">353</a>     <em>/**<em>*</em></em>
+<a name="354" href="#354">354</a> <em>     * <p></em>
+<a name="355" href="#355">355</a> <em>     * Removes this node from its parent if there is one. If this node is the</em>
+<a name="356" href="#356">356</a> <em>     * root element of a document then it is removed from the document as well.</em>
+<a name="357" href="#357">357</a> <em>     * </p></em>
+<a name="358" href="#358">358</a> <em>     * </em>
+<a name="359" href="#359">359</a> <em>     * <p></em>
+<a name="360" href="#360">360</a> <em>     * This method is useful if you want to remove a node from its source</em>
+<a name="361" href="#361">361</a> <em>     * document and add it to another document. For example</em>
+<a name="362" href="#362">362</a> <em>     * </p></em>
+<a name="363" href="#363">363</a> <em>     * <code> Node node = ...; Element someOtherElement = ...;</em>
+<a name="364" href="#364">364</a> <em>     * someOtherElement.add( node.detach() ); </code></em>
+<a name="365" href="#365">365</a> <em>     * </em>
+<a name="366" href="#366">366</a> <em>     * @return the node that has been removed from its parent node if any and</em>
+<a name="367" href="#367">367</a> <em>     *         its document if any.</em>
+<a name="368" href="#368">368</a> <em>     */</em>
+<a name="369" href="#369">369</a>     <a href="../../org/dom4j/Node.html">Node</a> detach();
+<a name="370" href="#370">370</a> 
+<a name="371" href="#371">371</a>     <em>/**<em>*</em></em>
+<a name="372" href="#372">372</a> <em>     * <p></em>
+<a name="373" href="#373">373</a> <em>     * <code>selectNodes</code> evaluates an XPath expression and returns the</em>
+<a name="374" href="#374">374</a> <em>     * result as a <code>List</code> of <code>Node</code> instances or</em>
+<a name="375" href="#375">375</a> <em>     * <code>String</code> instances depending on the XPath expression.</em>
+<a name="376" href="#376">376</a> <em>     * </p></em>
+<a name="377" href="#377">377</a> <em>     * </em>
+<a name="378" href="#378">378</a> <em>     * @param xpathExpression</em>
+<a name="379" href="#379">379</a> <em>     *            is the XPath expression to be evaluated</em>
+<a name="380" href="#380">380</a> <em>     * </em>
+<a name="381" href="#381">381</a> <em>     * @return the list of <code>Node</code> or <code>String</code></em>
+<a name="382" href="#382">382</a> <em>     *         instances depending on the XPath expression</em>
+<a name="383" href="#383">383</a> <em>     */</em>
+<a name="384" href="#384">384</a>     List selectNodes(String xpathExpression);
+<a name="385" href="#385">385</a> 
+<a name="386" href="#386">386</a>     <em>/**<em>*</em></em>
+<a name="387" href="#387">387</a> <em>     * <p></em>
+<a name="388" href="#388">388</a> <em>     * <code>selectObject</code> evaluates an XPath expression and returns the</em>
+<a name="389" href="#389">389</a> <em>     * result as an {@link Object}. The object returned can either be a {@link</em>
+<a name="390" href="#390">390</a> <em>     * List} of one or more {@link Node}instances or a scalar object like a</em>
+<a name="391" href="#391">391</a> <em>     * {@link String}or a {@link Number}instance depending on the XPath</em>
+<a name="392" href="#392">392</a> <em>     * expression.</em>
+<a name="393" href="#393">393</a> <em>     * </p></em>
+<a name="394" href="#394">394</a> <em>     * </em>
+<a name="395" href="#395">395</a> <em>     * @param xpathExpression</em>
+<a name="396" href="#396">396</a> <em>     *            is the XPath expression to be evaluated</em>
+<a name="397" href="#397">397</a> <em>     * </em>
+<a name="398" href="#398">398</a> <em>     * @return the value of the XPath expression as a {@link List}of {@link</em>
+<a name="399" href="#399">399</a> <em>     *         Node} instances, a {@link String}or a {@link Number}instance</em>
+<a name="400" href="#400">400</a> <em>     *         depending on the XPath expression.</em>
+<a name="401" href="#401">401</a> <em>     */</em>
+<a name="402" href="#402">402</a>     Object selectObject(String xpathExpression);
+<a name="403" href="#403">403</a> 
+<a name="404" href="#404">404</a>     <em>/**<em>*</em></em>
+<a name="405" href="#405">405</a> <em>     * <p></em>
+<a name="406" href="#406">406</a> <em>     * <code>selectNodes</code> evaluates an XPath expression then sorts the</em>
+<a name="407" href="#407">407</a> <em>     * results using a secondary XPath expression Returns a sorted</em>
+<a name="408" href="#408">408</a> <em>     * <code>List</code> of <code>Node</code> instances.</em>
+<a name="409" href="#409">409</a> <em>     * </p></em>
+<a name="410" href="#410">410</a> <em>     * </em>
+<a name="411" href="#411">411</a> <em>     * @param xpathExpression</em>
+<a name="412" href="#412">412</a> <em>     *            is the XPath expression to be evaluated</em>
+<a name="413" href="#413">413</a> <em>     * @param comparisonXPathExpression</em>
+<a name="414" href="#414">414</a> <em>     *            is the XPath expression used to compare the results by for</em>
+<a name="415" href="#415">415</a> <em>     *            sorting</em>
+<a name="416" href="#416">416</a> <em>     * </em>
+<a name="417" href="#417">417</a> <em>     * @return the list of <code>Node</code> instances sorted by the</em>
+<a name="418" href="#418">418</a> <em>     *         comparisonXPathExpression</em>
+<a name="419" href="#419">419</a> <em>     */</em>
+<a name="420" href="#420">420</a>     List selectNodes(String xpathExpression, String comparisonXPathExpression);
+<a name="421" href="#421">421</a> 
+<a name="422" href="#422">422</a>     <em>/**<em>*</em></em>
+<a name="423" href="#423">423</a> <em>     * <p></em>
+<a name="424" href="#424">424</a> <em>     * <code>selectNodes</code> evaluates an XPath expression then sorts the</em>
+<a name="425" href="#425">425</a> <em>     * results using a secondary XPath expression Returns a sorted</em>
+<a name="426" href="#426">426</a> <em>     * <code>List</code> of <code>Node</code> instances.</em>
+<a name="427" href="#427">427</a> <em>     * </p></em>
+<a name="428" href="#428">428</a> <em>     * </em>
+<a name="429" href="#429">429</a> <em>     * @param xpathExpression</em>
+<a name="430" href="#430">430</a> <em>     *            is the XPath expression to be evaluated</em>
+<a name="431" href="#431">431</a> <em>     * @param comparisonXPathExpression</em>
+<a name="432" href="#432">432</a> <em>     *            is the XPath expression used to compare the results by for</em>
+<a name="433" href="#433">433</a> <em>     *            sorting</em>
+<a name="434" href="#434">434</a> <em>     * @param removeDuplicates</em>
+<a name="435" href="#435">435</a> <em>     *            if this parameter is true then duplicate values (using the</em>
+<a name="436" href="#436">436</a> <em>     *            comparisonXPathExpression) are removed from the result List.</em>
+<a name="437" href="#437">437</a> <em>     * </em>
+<a name="438" href="#438">438</a> <em>     * @return the list of <code>Node</code> instances sorted by the</em>
+<a name="439" href="#439">439</a> <em>     *         comparisonXPathExpression</em>
+<a name="440" href="#440">440</a> <em>     */</em>
+<a name="441" href="#441">441</a>     List selectNodes(String xpathExpression, String comparisonXPathExpression,
+<a name="442" href="#442">442</a>             <strong>boolean</strong> removeDuplicates);
+<a name="443" href="#443">443</a> 
+<a name="444" href="#444">444</a>     <em>/**<em>*</em></em>
+<a name="445" href="#445">445</a> <em>     * <p></em>
+<a name="446" href="#446">446</a> <em>     * <code>selectSingleNode</code> evaluates an XPath expression and returns</em>
+<a name="447" href="#447">447</a> <em>     * the result as a single <code>Node</code> instance.</em>
+<a name="448" href="#448">448</a> <em>     * </p></em>
+<a name="449" href="#449">449</a> <em>     * </em>
+<a name="450" href="#450">450</a> <em>     * @param xpathExpression</em>
+<a name="451" href="#451">451</a> <em>     *            is the XPath expression to be evaluated</em>
+<a name="452" href="#452">452</a> <em>     * </em>
+<a name="453" href="#453">453</a> <em>     * @return the <code>Node</code> matching the XPath expression</em>
+<a name="454" href="#454">454</a> <em>     */</em>
+<a name="455" href="#455">455</a>     <a href="../../org/dom4j/Node.html">Node</a> selectSingleNode(String xpathExpression);
+<a name="456" href="#456">456</a> 
+<a name="457" href="#457">457</a>     <em>/**<em>*</em></em>
+<a name="458" href="#458">458</a> <em>     * <p></em>
+<a name="459" href="#459">459</a> <em>     * <code>valueOf</code> evaluates an XPath expression and returns the</em>
+<a name="460" href="#460">460</a> <em>     * textual representation of the results the XPath string-value of this</em>
+<a name="461" href="#461">461</a> <em>     * node. The string-value for a given node type is defined in the <a</em>
+<a name="462" href="#462">462</a> <em>     * href="<a href="http://www.w3.org/TR/xpath" target="alexandria_uri">http://www.w3.org/TR/xpath</a>">XPath specification </a>.</em>
+<a name="463" href="#463">463</a> <em>     * </p></em>
+<a name="464" href="#464">464</a> <em>     * </em>
+<a name="465" href="#465">465</a> <em>     * @param xpathExpression</em>
+<a name="466" href="#466">466</a> <em>     *            is the XPath expression to be evaluated</em>
+<a name="467" href="#467">467</a> <em>     * </em>
+<a name="468" href="#468">468</a> <em>     * @return the string-value representation of the results of the XPath</em>
+<a name="469" href="#469">469</a> <em>     *         expression</em>
+<a name="470" href="#470">470</a> <em>     */</em>
+<a name="471" href="#471">471</a>     String valueOf(String xpathExpression);
+<a name="472" href="#472">472</a> 
+<a name="473" href="#473">473</a>     <em>/**<em>*</em></em>
+<a name="474" href="#474">474</a> <em>     * <p></em>
+<a name="475" href="#475">475</a> <em>     * <code>numberValueOf</code> evaluates an XPath expression and returns</em>
+<a name="476" href="#476">476</a> <em>     * the numeric value of the XPath expression if the XPath expression results</em>
+<a name="477" href="#477">477</a> <em>     * in a number, or null if the result is not a number.</em>
+<a name="478" href="#478">478</a> <em>     * </p></em>
+<a name="479" href="#479">479</a> <em>     * </em>
+<a name="480" href="#480">480</a> <em>     * @param xpathExpression</em>
+<a name="481" href="#481">481</a> <em>     *            is the XPath expression to be evaluated</em>
+<a name="482" href="#482">482</a> <em>     * </em>
+<a name="483" href="#483">483</a> <em>     * @return the numeric result of the XPath expression or null if the result</em>
+<a name="484" href="#484">484</a> <em>     *         is not a number.</em>
+<a name="485" href="#485">485</a> <em>     */</em>
+<a name="486" href="#486">486</a>     Number numberValueOf(String xpathExpression);
+<a name="487" href="#487">487</a> 
+<a name="488" href="#488">488</a>     <em>/**<em>*</em></em>
+<a name="489" href="#489">489</a> <em>     * <p></em>
+<a name="490" href="#490">490</a> <em>     * <code>matches</code> returns true if evaluating the given XPath</em>
+<a name="491" href="#491">491</a> <em>     * expression on this node returns a non-empty node set containing this</em>
+<a name="492" href="#492">492</a> <em>     * node.</em>
+<a name="493" href="#493">493</a> <em>     * </p></em>
+<a name="494" href="#494">494</a> <em>     * </em>
+<a name="495" href="#495">495</a> <em>     * <p></em>
+<a name="496" href="#496">496</a> <em>     * This method does not behave like the &lt;xsl:if&gt; element - if you want</em>
+<a name="497" href="#497">497</a> <em>     * that behaviour, to evaluate if an XPath expression matches something,</em>
+<a name="498" href="#498">498</a> <em>     * then you can use the following code to be equivalent...</em>
+<a name="499" href="#499">499</a> <em>     * </p></em>
+<a name="500" href="#500">500</a> <em>     * <code>if ( node.selectSingleNode( "/some/path" ) != nulll )</code></em>
+<a name="501" href="#501">501</a> <em>     * </em>
+<a name="502" href="#502">502</a> <em>     * @param xpathExpression</em>
+<a name="503" href="#503">503</a> <em>     *            is an XPath expression</em>
+<a name="504" href="#504">504</a> <em>     * </em>
+<a name="505" href="#505">505</a> <em>     * @return true if this node is returned by the given XPath expression</em>
+<a name="506" href="#506">506</a> <em>     */</em>
+<a name="507" href="#507">507</a>     <strong>boolean</strong> matches(String xpathExpression);
+<a name="508" href="#508">508</a> 
+<a name="509" href="#509">509</a>     <em>/**<em>*</em></em>
+<a name="510" href="#510">510</a> <em>     * <p></em>
+<a name="511" href="#511">511</a> <em>     * <code>createXPath</code> creates an XPath object for the given</em>
+<a name="512" href="#512">512</a> <em>     * xpathExpression. The XPath object allows the variable context to be</em>
+<a name="513" href="#513">513</a> <em>     * specified.</em>
+<a name="514" href="#514">514</a> <em>     * </p></em>
+<a name="515" href="#515">515</a> <em>     * </em>
+<a name="516" href="#516">516</a> <em>     * @param xpathExpression</em>
+<a name="517" href="#517">517</a> <em>     *            is the XPath expression to be evaluated</em>
+<a name="518" href="#518">518</a> <em>     * </em>
+<a name="519" href="#519">519</a> <em>     * @return an XPath object represeting the given expression</em>
+<a name="520" href="#520">520</a> <em>     * </em>
+<a name="521" href="#521">521</a> <em>     * @throws InvalidXPathException</em>
+<a name="522" href="#522">522</a> <em>     *             if the XPath expression is invalid</em>
+<a name="523" href="#523">523</a> <em>     */</em>
+<a name="524" href="#524">524</a>     <a href="../../org/dom4j/XPath.html">XPath</a> createXPath(String xpathExpression) throws InvalidXPathException;
+<a name="525" href="#525">525</a> 
+<a name="526" href="#526">526</a>     <em>/**<em>*</em></em>
+<a name="527" href="#527">527</a> <em>     * <p></em>
+<a name="528" href="#528">528</a> <em>     * <code>asXPathResult</code> returns a version of this node which is</em>
+<a name="529" href="#529">529</a> <em>     * capable of being an XPath result. The result of an XPath expression</em>
+<a name="530" href="#530">530</a> <em>     * should always support the parent relationship, whether the original XML</em>
+<a name="531" href="#531">531</a> <em>     * tree was singly or doubly linked. If the node does not support the parent</em>
+<a name="532" href="#532">532</a> <em>     * relationship then a new node will be created which is linked to its</em>
+<a name="533" href="#533">533</a> <em>     * parent and returned.</em>
+<a name="534" href="#534">534</a> <em>     * </p></em>
+<a name="535" href="#535">535</a> <em>     * </em>
+<a name="536" href="#536">536</a> <em>     * @param parent</em>
+<a name="537" href="#537">537</a> <em>     *            DOCUMENT ME!</em>
+<a name="538" href="#538">538</a> <em>     * </em>
+<a name="539" href="#539">539</a> <em>     * @return a <code>Node</code> which supports the parent relationship</em>
+<a name="540" href="#540">540</a> <em>     */</em>
+<a name="541" href="#541">541</a>     <a href="../../org/dom4j/Node.html">Node</a> asXPathResult(<a href="../../org/dom4j/Element.html">Element</a> parent);
+<a name="542" href="#542">542</a> 
+<a name="543" href="#543">543</a>     <em>/**<em>*</em></em>
+<a name="544" href="#544">544</a> <em>     * <p></em>
+<a name="545" href="#545">545</a> <em>     * <code>accept</code> is the method used in the Visitor Pattern.</em>
+<a name="546" href="#546">546</a> <em>     * </p></em>
+<a name="547" href="#547">547</a> <em>     * </em>
+<a name="548" href="#548">548</a> <em>     * @param visitor</em>
+<a name="549" href="#549">549</a> <em>     *            is the visitor in the Visitor Pattern</em>
+<a name="550" href="#550">550</a> <em>     */</em>
+<a name="551" href="#551">551</a>     <strong>void</strong> accept(<a href="../../org/dom4j/Visitor.html">Visitor</a> visitor);
+<a name="552" href="#552">552</a> 
+<a name="553" href="#553">553</a>     <em>/**<em>*</em></em>
+<a name="554" href="#554">554</a> <em>     * <p></em>
+<a name="555" href="#555">555</a> <em>     * <code>clone</code> will return a deep clone or if this node is</em>
+<a name="556" href="#556">556</a> <em>     * read-only then clone will return the same instance.</em>
+<a name="557" href="#557">557</a> <em>     * </p></em>
+<a name="558" href="#558">558</a> <em>     * </em>
+<a name="559" href="#559">559</a> <em>     * @return a deep clone of myself or myself if I am read only.</em>
+<a name="560" href="#560">560</a> <em>     */</em>
+<a name="561" href="#561">561</a>     Object clone();
+<a name="562" href="#562">562</a> }
+<a name="563" href="#563">563</a> 
+<a name="564" href="#564">564</a> <em class="comment">/*</em>
+<a name="565" href="#565">565</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="566" href="#566">566</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="567" href="#567">567</a> <em class="comment"> * following conditions are met:</em>
+<a name="568" href="#568">568</a> <em class="comment"> * </em>
+<a name="569" href="#569">569</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="570" href="#570">570</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="571" href="#571">571</a> <em class="comment"> * </em>
+<a name="572" href="#572">572</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="573" href="#573">573</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="574" href="#574">574</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="575" href="#575">575</a> <em class="comment"> * </em>
+<a name="576" href="#576">576</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="577" href="#577">577</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="578" href="#578">578</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="579" href="#579">579</a> <em class="comment"> * </em>
+<a name="580" href="#580">580</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="581" href="#581">581</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="582" href="#582">582</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="583" href="#583">583</a> <em class="comment"> * </em>
+<a name="584" href="#584">584</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="585" href="#585">585</a> <em class="comment"> * </em>
+<a name="586" href="#586">586</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="587" href="#587">587</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="588" href="#588">588</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="589" href="#589">589</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="590" href="#590">590</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="591" href="#591">591</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="592" href="#592">592</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="593" href="#593">593</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="594" href="#594">594</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="595" href="#595">595</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="596" href="#596">596</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="597" href="#597">597</a> <em class="comment"> * </em>
+<a name="598" href="#598">598</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="599" href="#599">599</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/NodeFilter.html b/docs/xref/org/dom4j/NodeFilter.html
new file mode 100644
index 0000000..182d4b6
--- /dev/null
+++ b/docs/xref/org/dom4j/NodeFilter.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NodeFilter xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/NodeFilter.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>NodeFilter</code> defines the behavior for a filter or predicate</em>
+<a name="13" href="#13">13</a>  <em> * which acts on a DOM4J Node. Instances can be generated from an {@link</em>
+<a name="14" href="#14">14</a>  <em> * DocumentFactory}.</em>
+<a name="15" href="#15">15</a>  <em> * </p></em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="18" href="#18">18</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/NodeFilter.html">NodeFilter</a> {
+<a name="21" href="#21">21</a>      <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em>     * <p></em>
+<a name="23" href="#23">23</a>  <em>     * <code>matches</code> returns true if the given node matches the filter</em>
+<a name="24" href="#24">24</a>  <em>     * condition.</em>
+<a name="25" href="#25">25</a>  <em>     * </p></em>
+<a name="26" href="#26">26</a>  <em>     * </em>
+<a name="27" href="#27">27</a>  <em>     * @param node</em>
+<a name="28" href="#28">28</a>  <em>     *            DOCUMENT ME!</em>
+<a name="29" href="#29">29</a>  <em>     * </em>
+<a name="30" href="#30">30</a>  <em>     * @return true if this filter matches the given node</em>
+<a name="31" href="#31">31</a>  <em>     */</em>
+<a name="32" href="#32">32</a>      <strong>boolean</strong> matches(<a href="../../org/dom4j/Node.html">Node</a> node);
+<a name="33" href="#33">33</a>  }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>  <em class="comment">/*</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="37" href="#37">37</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * following conditions are met:</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * </em>
+<a name="40" href="#40">40</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="41" href="#41">41</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * </em>
+<a name="43" href="#43">43</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * </em>
+<a name="47" href="#47">47</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * </em>
+<a name="51" href="#51">51</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * </em>
+<a name="69" href="#69">69</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/ProcessingInstruction.html b/docs/xref/org/dom4j/ProcessingInstruction.html
new file mode 100644
index 0000000..ac6d0d9
--- /dev/null
+++ b/docs/xref/org/dom4j/ProcessingInstruction.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ProcessingInstruction xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/ProcessingInstruction.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Map;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>ProcessingInstruction</code> defines an XML processing instruction.</em>
+<a name="15" href="#15">15</a>  <em> * The {@link Node#getName}method will return the target of the PI and the</em>
+<a name="16" href="#16">16</a>  <em> * {@link Node#getText}method will return the data from all of the</em>
+<a name="17" href="#17">17</a>  <em> * instructions.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> <strong>extends</strong> <a href="../../org/dom4j/Node.html">Node</a> {
+<a name="24" href="#24">24</a>      <em>/**<em>*</em></em>
+<a name="25" href="#25">25</a>  <em>     * This method is the equivalent to the {@link #getName}method. It is added</em>
+<a name="26" href="#26">26</a>  <em>     * for clarity.</em>
+<a name="27" href="#27">27</a>  <em>     * </em>
+<a name="28" href="#28">28</a>  <em>     * @return the target of this PI</em>
+<a name="29" href="#29">29</a>  <em>     */</em>
+<a name="30" href="#30">30</a>      String getTarget();
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em>/**<em>*</em></em>
+<a name="33" href="#33">33</a>  <em>     * This method is the equivalent to the {@link #setName}method. It is added</em>
+<a name="34" href="#34">34</a>  <em>     * for clarity.</em>
+<a name="35" href="#35">35</a>  <em>     * </em>
+<a name="36" href="#36">36</a>  <em>     * @param target</em>
+<a name="37" href="#37">37</a>  <em>     *            DOCUMENT ME!</em>
+<a name="38" href="#38">38</a>  <em>     */</em>
+<a name="39" href="#39">39</a>      <strong>void</strong> setTarget(String target);
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em>/**<em>*</em></em>
+<a name="42" href="#42">42</a>  <em>     * DOCUMENT ME!</em>
+<a name="43" href="#43">43</a>  <em>     * </em>
+<a name="44" href="#44">44</a>  <em>     * @return the text for all the data associated with the processing</em>
+<a name="45" href="#45">45</a>  <em>     *         instruction</em>
+<a name="46" href="#46">46</a>  <em>     */</em>
+<a name="47" href="#47">47</a>      String getText();
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>*</em></em>
+<a name="50" href="#50">50</a>  <em>     * <p></em>
+<a name="51" href="#51">51</a>  <em>     * Returns the value of a specific name in the PI.</em>
+<a name="52" href="#52">52</a>  <em>     * </p></em>
+<a name="53" href="#53">53</a>  <em>     * </em>
+<a name="54" href="#54">54</a>  <em>     * @param name</em>
+<a name="55" href="#55">55</a>  <em>     *            is the name of the attribute to lookup.</em>
+<a name="56" href="#56">56</a>  <em>     * </em>
+<a name="57" href="#57">57</a>  <em>     * @return the value of the named attribute</em>
+<a name="58" href="#58">58</a>  <em>     */</em>
+<a name="59" href="#59">59</a>      String getValue(String name);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <em>/**<em>*</em></em>
+<a name="62" href="#62">62</a>  <em>     * DOCUMENT ME!</em>
+<a name="63" href="#63">63</a>  <em>     * </em>
+<a name="64" href="#64">64</a>  <em>     * @return the values for this processing instruction as a Map</em>
+<a name="65" href="#65">65</a>  <em>     */</em>
+<a name="66" href="#66">66</a>      Map getValues();
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>void</strong> setValue(String name, String value);
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>void</strong> setValues(Map data);
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>boolean</strong> removeValue(String name);
+<a name="73" href="#73">73</a>  }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>  <em class="comment">/*</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * following conditions are met:</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * </em>
+<a name="91" href="#91">91</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * </em>
+<a name="95" href="#95">95</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="96" href="#96">96</a>  <em class="comment"> * </em>
+<a name="97" href="#97">97</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="102" href="#102">102</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="103" href="#103">103</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="104" href="#104">104</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="105" href="#105">105</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="106" href="#106">106</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="108" href="#108">108</a> <em class="comment"> * </em>
+<a name="109" href="#109">109</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="110" href="#110">110</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/QName.html b/docs/xref/org/dom4j/QName.html
new file mode 100644
index 0000000..5fbafe1
--- /dev/null
+++ b/docs/xref/org/dom4j/QName.html
@@ -0,0 +1,308 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>QName xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/QName.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.ObjectInputStream;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.ObjectOutputStream;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.Serializable;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.tree.QNameCache;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.util.SingletonStrategy;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>QName</code> represents a qualified name value of an XML element or</em>
+<a name="21" href="#21">21</a>  <em> * attribute. It consists of a local name and a {@link Namespace}instance. This</em>
+<a name="22" href="#22">22</a>  <em> * object is immutable.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/QName.html">QName</a> implements Serializable {
+<a name="28" href="#28">28</a>      <em>/**<em>* The Singleton instance */</em></em>
+<a name="29" href="#29">29</a>      <strong>private</strong> <strong>static</strong> <a href="../../org/dom4j/util/SingletonStrategy.html">SingletonStrategy</a> singleton = <strong>null</strong>;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>static</strong> {
+<a name="32" href="#32">32</a>          <strong>try</strong> {
+<a name="33" href="#33">33</a>              String defaultSingletonClass = <span class="string">"org.dom4j.util.SimpleSingleton"</span>;
+<a name="34" href="#34">34</a>              Class clazz = <strong>null</strong>;
+<a name="35" href="#35">35</a>              <strong>try</strong> {
+<a name="36" href="#36">36</a>                  String singletonClass = defaultSingletonClass;
+<a name="37" href="#37">37</a>                  singletonClass = System.getProperty(
+<a name="38" href="#38">38</a>                          <span class="string">"org.dom4j.QName.singleton.strategy"</span>, singletonClass);
+<a name="39" href="#39">39</a>                  clazz = Class.forName(singletonClass);
+<a name="40" href="#40">40</a>              } <strong>catch</strong> (Exception exc1) {
+<a name="41" href="#41">41</a>                  <strong>try</strong> {
+<a name="42" href="#42">42</a>                      String singletonClass = defaultSingletonClass;
+<a name="43" href="#43">43</a>                      clazz = Class.forName(singletonClass);
+<a name="44" href="#44">44</a>                  } <strong>catch</strong> (Exception exc2) {
+<a name="45" href="#45">45</a>                  }
+<a name="46" href="#46">46</a>              }
+<a name="47" href="#47">47</a>              singleton = (SingletonStrategy) clazz.newInstance();
+<a name="48" href="#48">48</a>              singleton.setSingletonClassName(QNameCache.<strong>class</strong>.getName());
+<a name="49" href="#49">49</a>          } <strong>catch</strong> (Exception exc3) {
+<a name="50" href="#50">50</a>          }
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <em>/**<em>* The local name of the element or attribute */</em></em>
+<a name="54" href="#54">54</a>      <strong>private</strong> String name;
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <em>/**<em>* The qualified name of the element or attribute */</em></em>
+<a name="57" href="#57">57</a>      <strong>private</strong> String qualifiedName;
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <em>/**<em>* The <a href="../../org/dom4j/Namespace.html">Namespace</a> of this element or attribute */</em></em>
+<a name="60" href="#60">60</a>      <strong>private</strong> <strong>transient</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a> namespace;
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em>/**<em>* A cached version of the hashcode for efficiency */</em></em>
+<a name="63" href="#63">63</a>      <strong>private</strong> <strong>int</strong> hashCode;
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <em>/**<em>* The document factory used for this <a href="../../org/dom4j/QName.html">QName</a> if specified or null */</em></em>
+<a name="66" href="#66">66</a>      <strong>private</strong> <a href="../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory;
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> <a href="../../org/dom4j/QName.html">QName</a>(String name) {
+<a name="69" href="#69">69</a>          <strong>this</strong>(name, Namespace.NO_NAMESPACE);
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> <a href="../../org/dom4j/QName.html">QName</a>(String name, <a href="../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="73" href="#73">73</a>          <strong>this</strong>.name = (name == <strong>null</strong>) ? <span class="string">""</span> : name;
+<a name="74" href="#74">74</a>          <strong>this</strong>.namespace = (namespace == <strong>null</strong>) ? Namespace.NO_NAMESPACE
+<a name="75" href="#75">75</a>                  : namespace;
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> <a href="../../org/dom4j/QName.html">QName</a>(String name, <a href="../../org/dom4j/Namespace.html">Namespace</a> namespace, String qualifiedName) {
+<a name="79" href="#79">79</a>          <strong>this</strong>.name = (name == <strong>null</strong>) ? <span class="string">""</span> : name;
+<a name="80" href="#80">80</a>          <strong>this</strong>.qualifiedName = qualifiedName;
+<a name="81" href="#81">81</a>          <strong>this</strong>.namespace = (namespace == <strong>null</strong>) ? Namespace.NO_NAMESPACE
+<a name="82" href="#82">82</a>                  : namespace;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/QName.html">QName</a> get(String name) {
+<a name="86" href="#86">86</a>          <strong>return</strong> getCache().get(name);
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/QName.html">QName</a> get(String name, <a href="../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="90" href="#90">90</a>          <strong>return</strong> getCache().get(name, namespace);
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/QName.html">QName</a> get(String name, String prefix, String uri) {
+<a name="94" href="#94">94</a>          <strong>if</strong> (((prefix == <strong>null</strong>) || (prefix.length() == 0)) && (uri == <strong>null</strong>)) {
+<a name="95" href="#95">95</a>              <strong>return</strong> QName.get(name);
+<a name="96" href="#96">96</a>          } <strong>else</strong> <strong>if</strong> ((prefix == <strong>null</strong>) || (prefix.length() == 0)) {
+<a name="97" href="#97">97</a>              <strong>return</strong> getCache().get(name, Namespace.get(uri));
+<a name="98" href="#98">98</a>          } <strong>else</strong> <strong>if</strong> (uri == <strong>null</strong>) {
+<a name="99" href="#99">99</a>              <strong>return</strong> QName.get(name);
+<a name="100" href="#100">100</a>         } <strong>else</strong> {
+<a name="101" href="#101">101</a>             <strong>return</strong> getCache().get(name, Namespace.get(prefix, uri));
+<a name="102" href="#102">102</a>         }
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/QName.html">QName</a> get(String qualifiedName, String uri) {
+<a name="106" href="#106">106</a>         <strong>if</strong> (uri == <strong>null</strong>) {
+<a name="107" href="#107">107</a>             <strong>return</strong> getCache().get(qualifiedName);
+<a name="108" href="#108">108</a>         } <strong>else</strong> {
+<a name="109" href="#109">109</a>             <strong>return</strong> getCache().get(qualifiedName, uri);
+<a name="110" href="#110">110</a>         }
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <strong>public</strong> <strong>static</strong> <a href="../../org/dom4j/QName.html">QName</a> get(String localName, <a href="../../org/dom4j/Namespace.html">Namespace</a> namespace,
+<a name="114" href="#114">114</a>             String qualifiedName) {
+<a name="115" href="#115">115</a>         <strong>return</strong> getCache().get(localName, namespace, qualifiedName);
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <em>/**<em>*</em></em>
+<a name="119" href="#119">119</a> <em>     * DOCUMENT ME!</em>
+<a name="120" href="#120">120</a> <em>     * </em>
+<a name="121" href="#121">121</a> <em>     * @return the local name</em>
+<a name="122" href="#122">122</a> <em>     */</em>
+<a name="123" href="#123">123</a>     <strong>public</strong> String getName() {
+<a name="124" href="#124">124</a>         <strong>return</strong> name;
+<a name="125" href="#125">125</a>     }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>     <em>/**<em>*</em></em>
+<a name="128" href="#128">128</a> <em>     * DOCUMENT ME!</em>
+<a name="129" href="#129">129</a> <em>     * </em>
+<a name="130" href="#130">130</a> <em>     * @return the qualified name in the format <code>prefix:localName</code></em>
+<a name="131" href="#131">131</a> <em>     */</em>
+<a name="132" href="#132">132</a>     <strong>public</strong> String getQualifiedName() {
+<a name="133" href="#133">133</a>         <strong>if</strong> (qual<strong>if</strong>iedName == <strong>null</strong>) {
+<a name="134" href="#134">134</a>             String prefix = getNamespacePrefix();
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>             <strong>if</strong> ((prefix != <strong>null</strong>) && (prefix.length() > 0)) {
+<a name="137" href="#137">137</a>                 qualifiedName = prefix + <span class="string">":"</span> + name;
+<a name="138" href="#138">138</a>             } <strong>else</strong> {
+<a name="139" href="#139">139</a>                 qualifiedName = name;
+<a name="140" href="#140">140</a>             }
+<a name="141" href="#141">141</a>         }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         <strong>return</strong> qualifiedName;
+<a name="144" href="#144">144</a>     }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <em>/**<em>*</em></em>
+<a name="147" href="#147">147</a> <em>     * DOCUMENT ME!</em>
+<a name="148" href="#148">148</a> <em>     * </em>
+<a name="149" href="#149">149</a> <em>     * @return the namespace of this QName</em>
+<a name="150" href="#150">150</a> <em>     */</em>
+<a name="151" href="#151">151</a>     <strong>public</strong> <a href="../../org/dom4j/Namespace.html">Namespace</a> getNamespace() {
+<a name="152" href="#152">152</a>         <strong>return</strong> namespace;
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <em>/**<em>*</em></em>
+<a name="156" href="#156">156</a> <em>     * DOCUMENT ME!</em>
+<a name="157" href="#157">157</a> <em>     * </em>
+<a name="158" href="#158">158</a> <em>     * @return the namespace URI of this QName</em>
+<a name="159" href="#159">159</a> <em>     */</em>
+<a name="160" href="#160">160</a>     <strong>public</strong> String getNamespacePrefix() {
+<a name="161" href="#161">161</a>         <strong>if</strong> (namespace == <strong>null</strong>) {
+<a name="162" href="#162">162</a>             <strong>return</strong> <span class="string">""</span>;
+<a name="163" href="#163">163</a>         }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>         <strong>return</strong> namespace.getPrefix();
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>     <em>/**<em>*</em></em>
+<a name="169" href="#169">169</a> <em>     * DOCUMENT ME!</em>
+<a name="170" href="#170">170</a> <em>     * </em>
+<a name="171" href="#171">171</a> <em>     * @return the namespace URI of this QName</em>
+<a name="172" href="#172">172</a> <em>     */</em>
+<a name="173" href="#173">173</a>     <strong>public</strong> String getNamespaceURI() {
+<a name="174" href="#174">174</a>         <strong>if</strong> (namespace == <strong>null</strong>) {
+<a name="175" href="#175">175</a>             <strong>return</strong> <span class="string">""</span>;
+<a name="176" href="#176">176</a>         }
+<a name="177" href="#177">177</a> 
+<a name="178" href="#178">178</a>         <strong>return</strong> namespace.getURI();
+<a name="179" href="#179">179</a>     }
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>     <em>/**<em>*</em></em>
+<a name="182" href="#182">182</a> <em>     * DOCUMENT ME!</em>
+<a name="183" href="#183">183</a> <em>     * </em>
+<a name="184" href="#184">184</a> <em>     * @return the hash code based on the qualified name and the URI of the</em>
+<a name="185" href="#185">185</a> <em>     *         namespace.</em>
+<a name="186" href="#186">186</a> <em>     */</em>
+<a name="187" href="#187">187</a>     <strong>public</strong> <strong>int</strong> hashCode() {
+<a name="188" href="#188">188</a>         <strong>if</strong> (hashCode == 0) {
+<a name="189" href="#189">189</a>             hashCode = getName().hashCode() ^ getNamespaceURI().hashCode();
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>             <strong>if</strong> (hashCode == 0) {
+<a name="192" href="#192">192</a>                 hashCode = 0xbabe;
+<a name="193" href="#193">193</a>             }
+<a name="194" href="#194">194</a>         }
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>         <strong>return</strong> hashCode;
+<a name="197" href="#197">197</a>     }
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a>     <strong>public</strong> <strong>boolean</strong> equals(Object object) {
+<a name="200" href="#200">200</a>         <strong>if</strong> (<strong>this</strong> == object) {
+<a name="201" href="#201">201</a>             <strong>return</strong> <strong>true</strong>;
+<a name="202" href="#202">202</a>         } <strong>else</strong> <strong>if</strong> (object instanceof QName) {
+<a name="203" href="#203">203</a>             <a href="../../org/dom4j/QName.html">QName</a> that = (QName) object;
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>             <em class="comment">// we cache hash codes so this should be quick</em>
+<a name="206" href="#206">206</a>             <strong>if</strong> (hashCode() == that.hashCode()) {
+<a name="207" href="#207">207</a>                 <strong>return</strong> getName().equals(that.getName())
+<a name="208" href="#208">208</a>                         && getNamespaceURI().equals(that.getNamespaceURI());
+<a name="209" href="#209">209</a>             }
+<a name="210" href="#210">210</a>         }
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>         <strong>return</strong> false;
+<a name="213" href="#213">213</a>     }
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>     <strong>public</strong> String toString() {
+<a name="216" href="#216">216</a>         <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [name: "</span> + getName() + <span class="string">" namespace: \""</span>
+<a name="217" href="#217">217</a>                 + getNamespace() + <span class="string">"\"]"</span>;
+<a name="218" href="#218">218</a>     }
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>     <em>/**<em>*</em></em>
+<a name="221" href="#221">221</a> <em>     * DOCUMENT ME!</em>
+<a name="222" href="#222">222</a> <em>     * </em>
+<a name="223" href="#223">223</a> <em>     * @return the factory that should be used for Elements of this QName</em>
+<a name="224" href="#224">224</a> <em>     */</em>
+<a name="225" href="#225">225</a>     <strong>public</strong> <a href="../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="226" href="#226">226</a>         <strong>return</strong> documentFactory;
+<a name="227" href="#227">227</a>     }
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>     <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="230" href="#230">230</a>         <strong>this</strong>.documentFactory = documentFactory;
+<a name="231" href="#231">231</a>     }
+<a name="232" href="#232">232</a> 
+<a name="233" href="#233">233</a>     <strong>private</strong> <strong>void</strong> writeObject(ObjectOutputStream out) throws IOException {
+<a name="234" href="#234">234</a>         <em class="comment">// We use writeObject() and not writeUTF() to minimize space</em>
+<a name="235" href="#235">235</a>         <em class="comment">// This allows for writing pointers to already written strings</em>
+<a name="236" href="#236">236</a>         out.writeObject(namespace.getPrefix());
+<a name="237" href="#237">237</a>         out.writeObject(namespace.getURI());
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>         out.defaultWriteObject();
+<a name="240" href="#240">240</a>     }
+<a name="241" href="#241">241</a> 
+<a name="242" href="#242">242</a>     <strong>private</strong> <strong>void</strong> readObject(ObjectInputStream in) throws IOException,
+<a name="243" href="#243">243</a>             ClassNotFoundException {
+<a name="244" href="#244">244</a>         String prefix = (String) in.readObject();
+<a name="245" href="#245">245</a>         String uri = (String) in.readObject();
+<a name="246" href="#246">246</a> 
+<a name="247" href="#247">247</a>         in.defaultReadObject();
+<a name="248" href="#248">248</a> 
+<a name="249" href="#249">249</a>         namespace = Namespace.get(prefix, uri);
+<a name="250" href="#250">250</a>     }
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>     <strong>private</strong> <strong>static</strong> <a href="../../org/dom4j/tree/QNameCache.html">QNameCache</a> getCache() {
+<a name="253" href="#253">253</a>         <a href="../../org/dom4j/tree/QNameCache.html">QNameCache</a> cache = (QNameCache) singleton.instance();
+<a name="254" href="#254">254</a>         <strong>return</strong> cache;
+<a name="255" href="#255">255</a>     }
+<a name="256" href="#256">256</a> }
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a> <em class="comment">/*</em>
+<a name="261" href="#261">261</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="262" href="#262">262</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="263" href="#263">263</a> <em class="comment"> * following conditions are met:</em>
+<a name="264" href="#264">264</a> <em class="comment"> * </em>
+<a name="265" href="#265">265</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="266" href="#266">266</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="267" href="#267">267</a> <em class="comment"> * </em>
+<a name="268" href="#268">268</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="269" href="#269">269</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="270" href="#270">270</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="271" href="#271">271</a> <em class="comment"> * </em>
+<a name="272" href="#272">272</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="273" href="#273">273</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="274" href="#274">274</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="275" href="#275">275</a> <em class="comment"> * </em>
+<a name="276" href="#276">276</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="277" href="#277">277</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="278" href="#278">278</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="279" href="#279">279</a> <em class="comment"> * </em>
+<a name="280" href="#280">280</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="281" href="#281">281</a> <em class="comment"> * </em>
+<a name="282" href="#282">282</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="283" href="#283">283</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="284" href="#284">284</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="285" href="#285">285</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="286" href="#286">286</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="287" href="#287">287</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="288" href="#288">288</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="289" href="#289">289</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="290" href="#290">290</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="291" href="#291">291</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="292" href="#292">292</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="293" href="#293">293</a> <em class="comment"> * </em>
+<a name="294" href="#294">294</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="295" href="#295">295</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/Text.html b/docs/xref/org/dom4j/Text.html
new file mode 100644
index 0000000..8c1dc1f
--- /dev/null
+++ b/docs/xref/org/dom4j/Text.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Text xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Text.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>Text</code> defines an XML Text node.</em>
+<a name="13" href="#13">13</a>  <em> * </p></em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/Text.html">Text</a> <strong>extends</strong> <a href="../../org/dom4j/CharacterData.html">CharacterData</a> {
+<a name="19" href="#19">19</a>  }
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em class="comment">/*</em>
+<a name="22" href="#22">22</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="23" href="#23">23</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="24" href="#24">24</a>  <em class="comment"> * following conditions are met:</em>
+<a name="25" href="#25">25</a>  <em class="comment"> * </em>
+<a name="26" href="#26">26</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="27" href="#27">27</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="28" href="#28">28</a>  <em class="comment"> * </em>
+<a name="29" href="#29">29</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="30" href="#30">30</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="32" href="#32">32</a>  <em class="comment"> * </em>
+<a name="33" href="#33">33</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="34" href="#34">34</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * </em>
+<a name="37" href="#37">37</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="42" href="#42">42</a>  <em class="comment"> * </em>
+<a name="43" href="#43">43</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/Visitor.html b/docs/xref/org/dom4j/Visitor.html
new file mode 100644
index 0000000..022c2a8
--- /dev/null
+++ b/docs/xref/org/dom4j/Visitor.html
@@ -0,0 +1,179 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Visitor xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/Visitor.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>Visitor</code> is used to implement the <code>Visitor</code></em>
+<a name="13" href="#13">13</a>  <em> * pattern in DOM4J. An object of this interface can be passed to a</em>
+<a name="14" href="#14">14</a>  <em> * <code>Node</code> which will then call its typesafe methods. Please refer</em>
+<a name="15" href="#15">15</a>  <em> * to the <i>Gang of Four </i> book of Design Patterns for more details on the</em>
+<a name="16" href="#16">16</a>  <em> * <code>Visitor</code> pattern.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * This <a href="<a href="http://www.patterndepot.com/put/8/JavaPatterns.htm" target="alexandria_uri">http://www.patterndepot.com/put/8/JavaPatterns.htm</a>">site </a></em>
+<a name="21" href="#21">21</a>  <em> * has further discussion on design patterns and links to the GOF book. This <a</em>
+<a name="22" href="#22">22</a>  <em> * href="<a href="http://www.patterndepot.com/put/8/visitor.pdf" target="alexandria_uri">http://www.patterndepot.com/put/8/visitor.pdf</a>">link </a> describes the</em>
+<a name="23" href="#23">23</a>  <em> * Visitor pattern in detail.</em>
+<a name="24" href="#24">24</a>  <em> * </p></em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/Visitor.html">Visitor</a> {
+<a name="30" href="#30">30</a>      <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em>     * <p></em>
+<a name="32" href="#32">32</a>  <em>     * Visits the given <code>Document</code></em>
+<a name="33" href="#33">33</a>  <em>     * </p></em>
+<a name="34" href="#34">34</a>  <em>     * </em>
+<a name="35" href="#35">35</a>  <em>     * @param document</em>
+<a name="36" href="#36">36</a>  <em>     *            is the <code>Document</code> node to visit.</em>
+<a name="37" href="#37">37</a>  <em>     */</em>
+<a name="38" href="#38">38</a>      <strong>void</strong> visit(<a href="../../org/dom4j/Document.html">Document</a> document);
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * <p></em>
+<a name="42" href="#42">42</a>  <em>     * Visits the given <code>DocumentType</code></em>
+<a name="43" href="#43">43</a>  <em>     * </p></em>
+<a name="44" href="#44">44</a>  <em>     * </em>
+<a name="45" href="#45">45</a>  <em>     * @param documentType</em>
+<a name="46" href="#46">46</a>  <em>     *            is the <code>DocumentType</code> node to visit.</em>
+<a name="47" href="#47">47</a>  <em>     */</em>
+<a name="48" href="#48">48</a>      <strong>void</strong> visit(<a href="../../org/dom4j/DocumentType.html">DocumentType</a> documentType);
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
+<a name="51" href="#51">51</a>  <em>     * <p></em>
+<a name="52" href="#52">52</a>  <em>     * Visits the given <code>Element</code></em>
+<a name="53" href="#53">53</a>  <em>     * </p></em>
+<a name="54" href="#54">54</a>  <em>     * </em>
+<a name="55" href="#55">55</a>  <em>     * @param node</em>
+<a name="56" href="#56">56</a>  <em>     *            is the <code>Element</code> node to visit.</em>
+<a name="57" href="#57">57</a>  <em>     */</em>
+<a name="58" href="#58">58</a>      <strong>void</strong> visit(<a href="../../org/dom4j/Element.html">Element</a> node);
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <em>/**<em>*</em></em>
+<a name="61" href="#61">61</a>  <em>     * <p></em>
+<a name="62" href="#62">62</a>  <em>     * Visits the given <code>Attribute</code></em>
+<a name="63" href="#63">63</a>  <em>     * </p></em>
+<a name="64" href="#64">64</a>  <em>     * </em>
+<a name="65" href="#65">65</a>  <em>     * @param node</em>
+<a name="66" href="#66">66</a>  <em>     *            is the <code>Attribute</code> node to visit.</em>
+<a name="67" href="#67">67</a>  <em>     */</em>
+<a name="68" href="#68">68</a>      <strong>void</strong> visit(<a href="../../org/dom4j/Attribute.html">Attribute</a> node);
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <em>/**<em>*</em></em>
+<a name="71" href="#71">71</a>  <em>     * <p></em>
+<a name="72" href="#72">72</a>  <em>     * Visits the given <code>CDATA</code></em>
+<a name="73" href="#73">73</a>  <em>     * </p></em>
+<a name="74" href="#74">74</a>  <em>     * </em>
+<a name="75" href="#75">75</a>  <em>     * @param node</em>
+<a name="76" href="#76">76</a>  <em>     *            is the <code>CDATA</code> node to visit.</em>
+<a name="77" href="#77">77</a>  <em>     */</em>
+<a name="78" href="#78">78</a>      <strong>void</strong> visit(<a href="../../org/dom4j/CDATA.html">CDATA</a> node);
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <em>/**<em>*</em></em>
+<a name="81" href="#81">81</a>  <em>     * <p></em>
+<a name="82" href="#82">82</a>  <em>     * Visits the given <code>Comment</code></em>
+<a name="83" href="#83">83</a>  <em>     * </p></em>
+<a name="84" href="#84">84</a>  <em>     * </em>
+<a name="85" href="#85">85</a>  <em>     * @param node</em>
+<a name="86" href="#86">86</a>  <em>     *            is the <code>Comment</code> node to visit.</em>
+<a name="87" href="#87">87</a>  <em>     */</em>
+<a name="88" href="#88">88</a>      <strong>void</strong> visit(<a href="../../org/dom4j/Comment.html">Comment</a> node);
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <em>/**<em>*</em></em>
+<a name="91" href="#91">91</a>  <em>     * <p></em>
+<a name="92" href="#92">92</a>  <em>     * Visits the given <code>Entity</code></em>
+<a name="93" href="#93">93</a>  <em>     * </p></em>
+<a name="94" href="#94">94</a>  <em>     * </em>
+<a name="95" href="#95">95</a>  <em>     * @param node</em>
+<a name="96" href="#96">96</a>  <em>     *            is the <code>Entity</code> node to visit.</em>
+<a name="97" href="#97">97</a>  <em>     */</em>
+<a name="98" href="#98">98</a>      <strong>void</strong> visit(<a href="../../org/dom4j/Entity.html">Entity</a> node);
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <em>/**<em>*</em></em>
+<a name="101" href="#101">101</a> <em>     * <p></em>
+<a name="102" href="#102">102</a> <em>     * Visits the given <code>Namespace</code></em>
+<a name="103" href="#103">103</a> <em>     * </p></em>
+<a name="104" href="#104">104</a> <em>     * </em>
+<a name="105" href="#105">105</a> <em>     * @param namespace</em>
+<a name="106" href="#106">106</a> <em>     *            is the <code>Namespace</code> node to visit.</em>
+<a name="107" href="#107">107</a> <em>     */</em>
+<a name="108" href="#108">108</a>     <strong>void</strong> visit(<a href="../../org/dom4j/Namespace.html">Namespace</a> namespace);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <em>/**<em>*</em></em>
+<a name="111" href="#111">111</a> <em>     * <p></em>
+<a name="112" href="#112">112</a> <em>     * Visits the given <code>ProcessingInstruction</code></em>
+<a name="113" href="#113">113</a> <em>     * </p></em>
+<a name="114" href="#114">114</a> <em>     * </em>
+<a name="115" href="#115">115</a> <em>     * @param node</em>
+<a name="116" href="#116">116</a> <em>     *            is the <code>ProcessingInstruction</code> node to visit.</em>
+<a name="117" href="#117">117</a> <em>     */</em>
+<a name="118" href="#118">118</a>     <strong>void</strong> visit(<a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> node);
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <em>/**<em>*</em></em>
+<a name="121" href="#121">121</a> <em>     * <p></em>
+<a name="122" href="#122">122</a> <em>     * Visits the given <code>Text</code></em>
+<a name="123" href="#123">123</a> <em>     * </p></em>
+<a name="124" href="#124">124</a> <em>     * </em>
+<a name="125" href="#125">125</a> <em>     * @param node</em>
+<a name="126" href="#126">126</a> <em>     *            is the <code>Text</code> node to visit.</em>
+<a name="127" href="#127">127</a> <em>     */</em>
+<a name="128" href="#128">128</a>     <strong>void</strong> visit(<a href="../../org/dom4j/Text.html">Text</a> node);
+<a name="129" href="#129">129</a> }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a> <em class="comment">/*</em>
+<a name="132" href="#132">132</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="133" href="#133">133</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="134" href="#134">134</a> <em class="comment"> * following conditions are met:</em>
+<a name="135" href="#135">135</a> <em class="comment"> * </em>
+<a name="136" href="#136">136</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="137" href="#137">137</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="140" href="#140">140</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="141" href="#141">141</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="142" href="#142">142</a> <em class="comment"> * </em>
+<a name="143" href="#143">143</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="144" href="#144">144</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="145" href="#145">145</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="146" href="#146">146</a> <em class="comment"> * </em>
+<a name="147" href="#147">147</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="148" href="#148">148</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="149" href="#149">149</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="150" href="#150">150</a> <em class="comment"> * </em>
+<a name="151" href="#151">151</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="152" href="#152">152</a> <em class="comment"> * </em>
+<a name="153" href="#153">153</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="154" href="#154">154</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="155" href="#155">155</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="156" href="#156">156</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="157" href="#157">157</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="158" href="#158">158</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="159" href="#159">159</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="160" href="#160">160</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="161" href="#161">161</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="162" href="#162">162</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="163" href="#163">163</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="164" href="#164">164</a> <em class="comment"> * </em>
+<a name="165" href="#165">165</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="166" href="#166">166</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/VisitorSupport.html b/docs/xref/org/dom4j/VisitorSupport.html
new file mode 100644
index 0000000..e171acb
--- /dev/null
+++ b/docs/xref/org/dom4j/VisitorSupport.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>VisitorSupport xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/VisitorSupport.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>VisitorSupport</code> is an abstract base class which is useful for</em>
+<a name="13" href="#13">13</a>  <em> * implementation inheritence or when using anonymous inner classes to create</em>
+<a name="14" href="#14">14</a>  <em> * simple <code>Visitor</code> implementations.</em>
+<a name="15" href="#15">15</a>  <em> * </p></em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="18" href="#18">18</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../org/dom4j/VisitorSupport.html">VisitorSupport</a> implements <a href="../../org/dom4j/Visitor.html">Visitor</a> {
+<a name="21" href="#21">21</a>      <strong>public</strong> <a href="../../org/dom4j/VisitorSupport.html">VisitorSupport</a>() {
+<a name="22" href="#22">22</a>      }
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/Document.html">Document</a> document) {
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/DocumentType.html">DocumentType</a> documentType) {
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/Element.html">Element</a> node) {
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/Attribute.html">Attribute</a> node) {
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/CDATA.html">CDATA</a> node) {
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/Comment.html">Comment</a> node) {
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/Entity.html">Entity</a> node) {
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> node) {
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> visit(<a href="../../org/dom4j/Text.html">Text</a> node) {
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>  <em class="comment">/*</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * following conditions are met:</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/XPath.html b/docs/xref/org/dom4j/XPath.html
new file mode 100644
index 0000000..8274176
--- /dev/null
+++ b/docs/xref/org/dom4j/XPath.html
@@ -0,0 +1,358 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XPath xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/XPath.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.List;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Map;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.jaxen.FunctionContext;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.jaxen.NamespaceContext;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.jaxen.VariableContext;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <p></em>
+<a name="19" href="#19">19</a>  <em> * <code>XPath</code> represents an XPath expression after it has been parsed</em>
+<a name="20" href="#20">20</a>  <em> * from a String.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.20 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>interface</strong> <a href="../../org/dom4j/XPath.html">XPath</a> <strong>extends</strong> <a href="../../org/dom4j/NodeFilter.html">NodeFilter</a> {
+<a name="27" href="#27">27</a>      <em>/**<em>*</em></em>
+<a name="28" href="#28">28</a>  <em>     * <p></em>
+<a name="29" href="#29">29</a>  <em>     * <code>getText</code> will return the textual version of the XPath</em>
+<a name="30" href="#30">30</a>  <em>     * expression.</em>
+<a name="31" href="#31">31</a>  <em>     * </p></em>
+<a name="32" href="#32">32</a>  <em>     * </em>
+<a name="33" href="#33">33</a>  <em>     * @return the textual format of the XPath expression.</em>
+<a name="34" href="#34">34</a>  <em>     */</em>
+<a name="35" href="#35">35</a>      String getText();
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>*</em></em>
+<a name="38" href="#38">38</a>  <em>     * <p></em>
+<a name="39" href="#39">39</a>  <em>     * <code>matches</code> returns true if the given node matches the XPath</em>
+<a name="40" href="#40">40</a>  <em>     * expression. To be more precise when evaluating this XPath expression on</em>
+<a name="41" href="#41">41</a>  <em>     * the given node the result set must include the node.</em>
+<a name="42" href="#42">42</a>  <em>     * </p></em>
+<a name="43" href="#43">43</a>  <em>     * </em>
+<a name="44" href="#44">44</a>  <em>     * @param node</em>
+<a name="45" href="#45">45</a>  <em>     *            DOCUMENT ME!</em>
+<a name="46" href="#46">46</a>  <em>     * </em>
+<a name="47" href="#47">47</a>  <em>     * @return true if the given node matches this XPath expression</em>
+<a name="48" href="#48">48</a>  <em>     */</em>
+<a name="49" href="#49">49</a>      <strong>boolean</strong> matches(<a href="../../org/dom4j/Node.html">Node</a> node);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <em>/**<em>*</em></em>
+<a name="52" href="#52">52</a>  <em>     * <p></em>
+<a name="53" href="#53">53</a>  <em>     * <code>evaluate</code> evaluates an XPath expression and returns the</em>
+<a name="54" href="#54">54</a>  <em>     * result as an {@link Object}. The object returned can either be a {@link</em>
+<a name="55" href="#55">55</a>  <em>     * List} of {@link Node}instances, a {@link Node}instance, a {@link</em>
+<a name="56" href="#56">56</a>  <em>     * String} or a {@link Number}instance depending on the XPath expression.</em>
+<a name="57" href="#57">57</a>  <em>     * </p></em>
+<a name="58" href="#58">58</a>  <em>     * </em>
+<a name="59" href="#59">59</a>  <em>     * @param context</em>
+<a name="60" href="#60">60</a>  <em>     *            is either a node or a list of nodes on which to evalute the</em>
+<a name="61" href="#61">61</a>  <em>     *            XPath</em>
+<a name="62" href="#62">62</a>  <em>     * </em>
+<a name="63" href="#63">63</a>  <em>     * @return the value of the XPath expression as a {@link List}of {@link</em>
+<a name="64" href="#64">64</a>  <em>     *         Node} instances, a {@link Node}instance, a {@link String}or a</em>
+<a name="65" href="#65">65</a>  <em>     *         {@link Number}instance depending on the XPath expression.</em>
+<a name="66" href="#66">66</a>  <em>     */</em>
+<a name="67" href="#67">67</a>      Object evaluate(Object context);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <em>/**<em>*</em></em>
+<a name="70" href="#70">70</a>  <em>     * <p></em>
+<a name="71" href="#71">71</a>  <em>     * <code>selectObject</code> evaluates an XPath expression and returns the</em>
+<a name="72" href="#72">72</a>  <em>     * result as an {@link Object}. The object returned can either be a {@link</em>
+<a name="73" href="#73">73</a>  <em>     * List} of {@link Node}instances, a {@link Node}instance, a {@link</em>
+<a name="74" href="#74">74</a>  <em>     * String} or a {@link Number}instance depending on the XPath expression.</em>
+<a name="75" href="#75">75</a>  <em>     * </p></em>
+<a name="76" href="#76">76</a>  <em>     * </em>
+<a name="77" href="#77">77</a>  <em>     * @param context</em>
+<a name="78" href="#78">78</a>  <em>     *            is either a node or a list of nodes on which to evalute the</em>
+<a name="79" href="#79">79</a>  <em>     *            XPath</em>
+<a name="80" href="#80">80</a>  <em>     * </em>
+<a name="81" href="#81">81</a>  <em>     * @return the value of the XPath expression as a {@link List}of {@link</em>
+<a name="82" href="#82">82</a>  <em>     *         Node} instances, a {@link Node}instance, a {@link String}or a</em>
+<a name="83" href="#83">83</a>  <em>     *         {@link Number}instance depending on the XPath expression.</em>
+<a name="84" href="#84">84</a>  <em>     * </em>
+<a name="85" href="#85">85</a>  <em>     * @deprecated please use evaluate(Object) instead. WILL BE REMOVED IN</em>
+<a name="86" href="#86">86</a>  <em>     *             dom4j-1.6 !!</em>
+<a name="87" href="#87">87</a>  <em>     */</em>
+<a name="88" href="#88">88</a>      Object selectObject(Object context);
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <em>/**<em>*</em></em>
+<a name="91" href="#91">91</a>  <em>     * <p></em>
+<a name="92" href="#92">92</a>  <em>     * <code>selectNodes</code> performs this XPath expression on the given</em>
+<a name="93" href="#93">93</a>  <em>     * {@link Node}or {@link List}of {@link Node}s instances appending all</em>
+<a name="94" href="#94">94</a>  <em>     * the results together into a single list.</em>
+<a name="95" href="#95">95</a>  <em>     * </p></em>
+<a name="96" href="#96">96</a>  <em>     * </em>
+<a name="97" href="#97">97</a>  <em>     * @param context</em>
+<a name="98" href="#98">98</a>  <em>     *            is either a node or a list of nodes on which to evalute the</em>
+<a name="99" href="#99">99</a>  <em>     *            XPath</em>
+<a name="100" href="#100">100</a> <em>     * </em>
+<a name="101" href="#101">101</a> <em>     * @return the results of all the XPath evaluations as a single list</em>
+<a name="102" href="#102">102</a> <em>     */</em>
+<a name="103" href="#103">103</a>     List selectNodes(Object context);
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em>/**<em>*</em></em>
+<a name="106" href="#106">106</a> <em>     * <p></em>
+<a name="107" href="#107">107</a> <em>     * <code>selectNodes</code> evaluates the XPath expression on the given</em>
+<a name="108" href="#108">108</a> <em>     * {@link Node}or {@link List}of {@link Node}s and returns the result as</em>
+<a name="109" href="#109">109</a> <em>     * a <code>List</code> of <code>Node</code> s sorted by the sort XPath</em>
+<a name="110" href="#110">110</a> <em>     * expression.</em>
+<a name="111" href="#111">111</a> <em>     * </p></em>
+<a name="112" href="#112">112</a> <em>     * </em>
+<a name="113" href="#113">113</a> <em>     * @param context</em>
+<a name="114" href="#114">114</a> <em>     *            is either a node or a list of nodes on which to evalute the</em>
+<a name="115" href="#115">115</a> <em>     *            XPath</em>
+<a name="116" href="#116">116</a> <em>     * @param sortXPath</em>
+<a name="117" href="#117">117</a> <em>     *            is the XPath expression to sort by</em>
+<a name="118" href="#118">118</a> <em>     * </em>
+<a name="119" href="#119">119</a> <em>     * @return a list of <code>Node</code> instances</em>
+<a name="120" href="#120">120</a> <em>     */</em>
+<a name="121" href="#121">121</a>     List selectNodes(Object context, <a href="../../org/dom4j/XPath.html">XPath</a> sortXPath);
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <em>/**<em>*</em></em>
+<a name="124" href="#124">124</a> <em>     * <p></em>
+<a name="125" href="#125">125</a> <em>     * <code>selectNodes</code> evaluates the XPath expression on the given</em>
+<a name="126" href="#126">126</a> <em>     * {@link Node}or {@link List}of {@link Node}s and returns the result as</em>
+<a name="127" href="#127">127</a> <em>     * a <code>List</code> of <code>Node</code> s sorted by the sort XPath</em>
+<a name="128" href="#128">128</a> <em>     * expression.</em>
+<a name="129" href="#129">129</a> <em>     * </p></em>
+<a name="130" href="#130">130</a> <em>     * </em>
+<a name="131" href="#131">131</a> <em>     * @param context</em>
+<a name="132" href="#132">132</a> <em>     *            is either a node or a list of nodes on which to evalute the</em>
+<a name="133" href="#133">133</a> <em>     *            XPath</em>
+<a name="134" href="#134">134</a> <em>     * @param sortXPath</em>
+<a name="135" href="#135">135</a> <em>     *            is the XPath expression to sort by</em>
+<a name="136" href="#136">136</a> <em>     * @param distinct</em>
+<a name="137" href="#137">137</a> <em>     *            specifies whether or not duplicate values of the sort</em>
+<a name="138" href="#138">138</a> <em>     *            expression are allowed. If this parameter is true then only</em>
+<a name="139" href="#139">139</a> <em>     *            distinct sort expressions values are included in the result</em>
+<a name="140" href="#140">140</a> <em>     * </em>
+<a name="141" href="#141">141</a> <em>     * @return a list of <code>Node</code> instances</em>
+<a name="142" href="#142">142</a> <em>     */</em>
+<a name="143" href="#143">143</a>     List selectNodes(Object context, <a href="../../org/dom4j/XPath.html">XPath</a> sortXPath, <strong>boolean</strong> distinct);
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <em>/**<em>*</em></em>
+<a name="146" href="#146">146</a> <em>     * <p></em>
+<a name="147" href="#147">147</a> <em>     * <code>selectSingleNode</code> evaluates this XPath expression on the</em>
+<a name="148" href="#148">148</a> <em>     * given {@link Node}or {@link List}of {@link Node}s and returns the</em>
+<a name="149" href="#149">149</a> <em>     * result as a single <code>Node</code> instance.</em>
+<a name="150" href="#150">150</a> <em>     * </p></em>
+<a name="151" href="#151">151</a> <em>     * </em>
+<a name="152" href="#152">152</a> <em>     * @param context</em>
+<a name="153" href="#153">153</a> <em>     *            is either a node or a list of nodes on which to evalute the</em>
+<a name="154" href="#154">154</a> <em>     *            XPath</em>
+<a name="155" href="#155">155</a> <em>     * </em>
+<a name="156" href="#156">156</a> <em>     * @return a single matching <code>Node</code> instance</em>
+<a name="157" href="#157">157</a> <em>     */</em>
+<a name="158" href="#158">158</a>     <a href="../../org/dom4j/Node.html">Node</a> selectSingleNode(Object context);
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <em>/**<em>*</em></em>
+<a name="161" href="#161">161</a> <em>     * <p></em>
+<a name="162" href="#162">162</a> <em>     * <code>valueOf</code> evaluates this XPath expression and returns the</em>
+<a name="163" href="#163">163</a> <em>     * textual representation of the results using the XPath string() function.</em>
+<a name="164" href="#164">164</a> <em>     * </p></em>
+<a name="165" href="#165">165</a> <em>     * </em>
+<a name="166" href="#166">166</a> <em>     * @param context</em>
+<a name="167" href="#167">167</a> <em>     *            is either a node or a list of nodes on which to evalute the</em>
+<a name="168" href="#168">168</a> <em>     *            XPath</em>
+<a name="169" href="#169">169</a> <em>     * </em>
+<a name="170" href="#170">170</a> <em>     * @return the string representation of the results of the XPath expression</em>
+<a name="171" href="#171">171</a> <em>     */</em>
+<a name="172" href="#172">172</a>     String valueOf(Object context);
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>     <em>/**<em>*</em></em>
+<a name="175" href="#175">175</a> <em>     * <p></em>
+<a name="176" href="#176">176</a> <em>     * <code>numberValueOf</code> evaluates an XPath expression and returns</em>
+<a name="177" href="#177">177</a> <em>     * the numeric value of the XPath expression if the XPath expression results</em>
+<a name="178" href="#178">178</a> <em>     * is a number, or null if the result is not a number.</em>
+<a name="179" href="#179">179</a> <em>     * </p></em>
+<a name="180" href="#180">180</a> <em>     * </em>
+<a name="181" href="#181">181</a> <em>     * @param context</em>
+<a name="182" href="#182">182</a> <em>     *            is either a node or a list of nodes on which to evalute the</em>
+<a name="183" href="#183">183</a> <em>     *            XPath</em>
+<a name="184" href="#184">184</a> <em>     * </em>
+<a name="185" href="#185">185</a> <em>     * @return the numeric result of the XPath expression or null if the result</em>
+<a name="186" href="#186">186</a> <em>     *         is not a number.</em>
+<a name="187" href="#187">187</a> <em>     */</em>
+<a name="188" href="#188">188</a>     Number numberValueOf(Object context);
+<a name="189" href="#189">189</a> 
+<a name="190" href="#190">190</a>     <em>/**<em>*</em></em>
+<a name="191" href="#191">191</a> <em>     * Retrieve a boolean-value interpretation of this XPath expression when</em>
+<a name="192" href="#192">192</a> <em>     * evaluated against a given context.</em>
+<a name="193" href="#193">193</a> <em>     * </em>
+<a name="194" href="#194">194</a> <em>     * <p></em>
+<a name="195" href="#195">195</a> <em>     * The boolean-value of the expression is determined per the</em>
+<a name="196" href="#196">196</a> <em>     * <code>boolean(..)</code> core function as defined in the XPath</em>
+<a name="197" href="#197">197</a> <em>     * specification. This means that an expression that selects zero nodes will</em>
+<a name="198" href="#198">198</a> <em>     * return <code>false</code>, while an expression that selects</em>
+<a name="199" href="#199">199</a> <em>     * one-or-more nodes will return <code>true</code>.</em>
+<a name="200" href="#200">200</a> <em>     * </p></em>
+<a name="201" href="#201">201</a> <em>     * </em>
+<a name="202" href="#202">202</a> <em>     * @param context</em>
+<a name="203" href="#203">203</a> <em>     *            The node, nodeset or Context object for evaluation. This value</em>
+<a name="204" href="#204">204</a> <em>     *            can be null</em>
+<a name="205" href="#205">205</a> <em>     * </em>
+<a name="206" href="#206">206</a> <em>     * @return The boolean-value interpretation of this expression.</em>
+<a name="207" href="#207">207</a> <em>     * </em>
+<a name="208" href="#208">208</a> <em>     * @since 1.5</em>
+<a name="209" href="#209">209</a> <em>     */</em>
+<a name="210" href="#210">210</a>     <strong>boolean</strong> <strong>boolean</strong>ValueOf(Object context);
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>     <em>/**<em>*</em></em>
+<a name="213" href="#213">213</a> <em>     * <p></em>
+<a name="214" href="#214">214</a> <em>     * <code>sort</code> sorts the given List of Nodes using this XPath</em>
+<a name="215" href="#215">215</a> <em>     * expression as a {@link java.util.Comparator}.</em>
+<a name="216" href="#216">216</a> <em>     * </p></em>
+<a name="217" href="#217">217</a> <em>     * </em>
+<a name="218" href="#218">218</a> <em>     * @param list</em>
+<a name="219" href="#219">219</a> <em>     *            is the list of Nodes to sort</em>
+<a name="220" href="#220">220</a> <em>     */</em>
+<a name="221" href="#221">221</a>     <strong>void</strong> sort(List list);
+<a name="222" href="#222">222</a> 
+<a name="223" href="#223">223</a>     <em>/**<em>*</em></em>
+<a name="224" href="#224">224</a> <em>     * <p></em>
+<a name="225" href="#225">225</a> <em>     * <code>sort</code> sorts the given List of Nodes using this XPath</em>
+<a name="226" href="#226">226</a> <em>     * expression as a {@link java.util.Comparator}and optionally removing</em>
+<a name="227" href="#227">227</a> <em>     * duplicates.</em>
+<a name="228" href="#228">228</a> <em>     * </p></em>
+<a name="229" href="#229">229</a> <em>     * </em>
+<a name="230" href="#230">230</a> <em>     * @param list</em>
+<a name="231" href="#231">231</a> <em>     *            is the list of Nodes to sort</em>
+<a name="232" href="#232">232</a> <em>     * @param distinct</em>
+<a name="233" href="#233">233</a> <em>     *            if true then duplicate values (using the sortXPath for</em>
+<a name="234" href="#234">234</a> <em>     *            comparisions) will be removed from the List</em>
+<a name="235" href="#235">235</a> <em>     */</em>
+<a name="236" href="#236">236</a>     <strong>void</strong> sort(List list, <strong>boolean</strong> distinct);
+<a name="237" href="#237">237</a> 
+<a name="238" href="#238">238</a>     <em>/**<em>*</em></em>
+<a name="239" href="#239">239</a> <em>     * DOCUMENT ME!</em>
+<a name="240" href="#240">240</a> <em>     * </em>
+<a name="241" href="#241">241</a> <em>     * @return the current function context</em>
+<a name="242" href="#242">242</a> <em>     */</em>
+<a name="243" href="#243">243</a>     FunctionContext getFunctionContext();
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>     <em>/**<em>*</em></em>
+<a name="246" href="#246">246</a> <em>     * Sets the function context to be used when evaluating XPath expressions</em>
+<a name="247" href="#247">247</a> <em>     * </em>
+<a name="248" href="#248">248</a> <em>     * @param functionContext</em>
+<a name="249" href="#249">249</a> <em>     *            DOCUMENT ME!</em>
+<a name="250" href="#250">250</a> <em>     */</em>
+<a name="251" href="#251">251</a>     <strong>void</strong> setFunctionContext(FunctionContext functionContext);
+<a name="252" href="#252">252</a> 
+<a name="253" href="#253">253</a>     <em>/**<em>*</em></em>
+<a name="254" href="#254">254</a> <em>     * DOCUMENT ME!</em>
+<a name="255" href="#255">255</a> <em>     * </em>
+<a name="256" href="#256">256</a> <em>     * @return the current namespace context</em>
+<a name="257" href="#257">257</a> <em>     */</em>
+<a name="258" href="#258">258</a>     NamespaceContext getNamespaceContext();
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>     <em>/**<em>*</em></em>
+<a name="261" href="#261">261</a> <em>     * Sets the namespace context to be used when evaluating XPath expressions</em>
+<a name="262" href="#262">262</a> <em>     * </em>
+<a name="263" href="#263">263</a> <em>     * @param namespaceContext</em>
+<a name="264" href="#264">264</a> <em>     *            DOCUMENT ME!</em>
+<a name="265" href="#265">265</a> <em>     */</em>
+<a name="266" href="#266">266</a>     <strong>void</strong> setNamespaceContext(NamespaceContext namespaceContext);
+<a name="267" href="#267">267</a> 
+<a name="268" href="#268">268</a>     <em>/**<em>*</em></em>
+<a name="269" href="#269">269</a> <em>     * <p></em>
+<a name="270" href="#270">270</a> <em>     * Sets the current NamespaceContext from a Map where the keys are the</em>
+<a name="271" href="#271">271</a> <em>     * String namespace prefixes and the values are the namespace URIs.</em>
+<a name="272" href="#272">272</a> <em>     * </p></em>
+<a name="273" href="#273">273</a> <em>     * </em>
+<a name="274" href="#274">274</a> <em>     * <p></em>
+<a name="275" href="#275">275</a> <em>     * For example:</em>
+<a name="276" href="#276">276</a> <em>     * </em>
+<a name="277" href="#277">277</a> <em>     * <pre></em>
+<a name="278" href="#278">278</a> <em>     * Map uris = new HashMap();</em>
+<a name="279" href="#279">279</a> <em>     * uris.put("SOAP-ENV", "<a href="http://schemas.xmlsoap.org/soap/envelope/" target="alexandria_uri">http://schemas.xmlsoap.org/soap/envelope/</a>");</em>
+<a name="280" href="#280">280</a> <em>     * uris.put("m", "urn:xmethodsBabelFish");</em>
+<a name="281" href="#281">281</a> <em>     * XPath xpath = document</em>
+<a name="282" href="#282">282</a> <em>     *         .createXPath("SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish");</em>
+<a name="283" href="#283">283</a> <em>     * xpath.setNamespaceURIs(uris);</em>
+<a name="284" href="#284">284</a> <em>     * Node babelfish = xpath.selectSingleNode(document);</em>
+<a name="285" href="#285">285</a> <em>     * </pre></em>
+<a name="286" href="#286">286</a> <em>     * </em>
+<a name="287" href="#287">287</a> <em>     * </p></em>
+<a name="288" href="#288">288</a> <em>     * </em>
+<a name="289" href="#289">289</a> <em>     * @param map</em>
+<a name="290" href="#290">290</a> <em>     *            the map containing the namespace mappings</em>
+<a name="291" href="#291">291</a> <em>     */</em>
+<a name="292" href="#292">292</a>     <strong>void</strong> setNamespaceURIs(Map map);
+<a name="293" href="#293">293</a> 
+<a name="294" href="#294">294</a>     <em>/**<em>*</em></em>
+<a name="295" href="#295">295</a> <em>     * DOCUMENT ME!</em>
+<a name="296" href="#296">296</a> <em>     * </em>
+<a name="297" href="#297">297</a> <em>     * @return the current variable context</em>
+<a name="298" href="#298">298</a> <em>     */</em>
+<a name="299" href="#299">299</a>     VariableContext getVariableContext();
+<a name="300" href="#300">300</a> 
+<a name="301" href="#301">301</a>     <em>/**<em>*</em></em>
+<a name="302" href="#302">302</a> <em>     * Sets the variable context to be used when evaluating XPath expressions</em>
+<a name="303" href="#303">303</a> <em>     * </em>
+<a name="304" href="#304">304</a> <em>     * @param variableContext</em>
+<a name="305" href="#305">305</a> <em>     *            DOCUMENT ME!</em>
+<a name="306" href="#306">306</a> <em>     */</em>
+<a name="307" href="#307">307</a>     <strong>void</strong> setVariableContext(VariableContext variableContext);
+<a name="308" href="#308">308</a> }
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a> <em class="comment">/*</em>
+<a name="311" href="#311">311</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="312" href="#312">312</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="313" href="#313">313</a> <em class="comment"> * following conditions are met:</em>
+<a name="314" href="#314">314</a> <em class="comment"> * </em>
+<a name="315" href="#315">315</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="316" href="#316">316</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="317" href="#317">317</a> <em class="comment"> * </em>
+<a name="318" href="#318">318</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="319" href="#319">319</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="320" href="#320">320</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="321" href="#321">321</a> <em class="comment"> * </em>
+<a name="322" href="#322">322</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="323" href="#323">323</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="324" href="#324">324</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="325" href="#325">325</a> <em class="comment"> * </em>
+<a name="326" href="#326">326</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="327" href="#327">327</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="328" href="#328">328</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="329" href="#329">329</a> <em class="comment"> * </em>
+<a name="330" href="#330">330</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="331" href="#331">331</a> <em class="comment"> * </em>
+<a name="332" href="#332">332</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="333" href="#333">333</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="334" href="#334">334</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="335" href="#335">335</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="336" href="#336">336</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="337" href="#337">337</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="338" href="#338">338</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="339" href="#339">339</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="340" href="#340">340</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="341" href="#341">341</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="342" href="#342">342</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="343" href="#343">343</a> <em class="comment"> * </em>
+<a name="344" href="#344">344</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="345" href="#345">345</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/XPathException.html b/docs/xref/org/dom4j/XPathException.html
new file mode 100644
index 0000000..e1bdf46
--- /dev/null
+++ b/docs/xref/org/dom4j/XPathException.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XPathException xref</title>
+<link type="text/css" rel="stylesheet" href="../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../apidocs/org/dom4j/XPathException.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../org/dom4j/package-summary.html">org.dom4j</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>XPathException</code> is thrown when an exception occurs while</em>
+<a name="13" href="#13">13</a>  <em> * evaluating an XPath expression, usually due to some function throwing an</em>
+<a name="14" href="#14">14</a>  <em> * exception.</em>
+<a name="15" href="#15">15</a>  <em> * </p></em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="18" href="#18">18</a>  <em> */</em>
+<a name="19" href="#19">19</a>  <strong>public</strong> <strong>class</strong> <a href="../../org/dom4j/XPathException.html">XPathException</a> <strong>extends</strong> RuntimeException {
+<a name="20" href="#20">20</a>      <em>/**<em>* The <a href="../../org/dom4j/XPath.html">XPath</a> expression that caused the exception */</em></em>
+<a name="21" href="#21">21</a>      <strong>private</strong> String xpath;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <strong>public</strong> <a href="../../org/dom4j/XPathException.html">XPathException</a>(String xpath) {
+<a name="24" href="#24">24</a>          <strong>super</strong>(<span class="string">"Exception occurred evaluting XPath: "</span> + xpath);
+<a name="25" href="#25">25</a>          <strong>this</strong>.xpath = xpath;
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <strong>public</strong> <a href="../../org/dom4j/XPathException.html">XPathException</a>(String xpath, String reason) {
+<a name="29" href="#29">29</a>          <strong>super</strong>(<span class="string">"Exception occurred evaluting XPath: "</span> + xpath + <span class="string">" "</span> + reason);
+<a name="30" href="#30">30</a>          <strong>this</strong>.xpath = xpath;
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <a href="../../org/dom4j/XPathException.html">XPathException</a>(String xpath, Exception e) {
+<a name="34" href="#34">34</a>          <strong>super</strong>(<span class="string">"Exception occurred evaluting XPath: "</span> + xpath + <span class="string">". Exception: "</span>
+<a name="35" href="#35">35</a>                  + e.getMessage());
+<a name="36" href="#36">36</a>          <strong>this</strong>.xpath = xpath;
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>*</em></em>
+<a name="40" href="#40">40</a>  <em>     * Returns the XPath expression that caused the problem</em>
+<a name="41" href="#41">41</a>  <em>     * </em>
+<a name="42" href="#42">42</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>      <strong>public</strong> String getXPath() {
+<a name="45" href="#45">45</a>          <strong>return</strong> xpath;
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>  <em class="comment">/*</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * following conditions are met:</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * </em>
+<a name="65" href="#65">65</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * </em>
+<a name="69" href="#69">69</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/bean/BeanAttribute.html b/docs/xref/org/dom4j/bean/BeanAttribute.html
new file mode 100644
index 0000000..3da1b94
--- /dev/null
+++ b/docs/xref/org/dom4j/bean/BeanAttribute.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BeanAttribute xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/bean/BeanAttribute.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.QName;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.tree.AbstractAttribute;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>BeanAttribute</code> represents a mutable XML attribute which is</em>
+<a name="17" href="#17">17</a>  <em> * backed by a property of the JavaBean of its parent element.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractAttribute.html">AbstractAttribute</a> {
+<a name="24" href="#24">24</a>      <em>/**<em>* The list of Bean attributes */</em></em>
+<a name="25" href="#25">25</a>      <strong>private</strong> <strong>final</strong> <a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a> beanList;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em>/**<em>* The index in the Bean attribute list */</em></em>
+<a name="28" href="#28">28</a>      <strong>private</strong> <strong>final</strong> <strong>int</strong> index;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a>(<a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a> beanList, <strong>int</strong> index) {
+<a name="31" href="#31">31</a>          <strong>this</strong>.beanList = beanList;
+<a name="32" href="#32">32</a>          <strong>this</strong>.index = index;
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName() {
+<a name="36" href="#36">36</a>          <strong>return</strong> beanList.getQName(index);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="40" href="#40">40</a>          <strong>return</strong> beanList.getParent();
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> String getValue() {
+<a name="44" href="#44">44</a>          Object data = getData();
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          <strong>return</strong> (data != <strong>null</strong>) ? data.toString() : <strong>null</strong>;
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> setValue(String data) {
+<a name="50" href="#50">50</a>          beanList.setData(index, data);
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> Object getData() {
+<a name="54" href="#54">54</a>          <strong>return</strong> beanList.getData(index);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> setData(Object data) {
+<a name="58" href="#58">58</a>          beanList.setData(index, data);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>  <em class="comment">/*</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * following conditions are met:</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="97" href="#97">97</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/bean/BeanAttributeList.html b/docs/xref/org/dom4j/bean/BeanAttributeList.html
new file mode 100644
index 0000000..f985075
--- /dev/null
+++ b/docs/xref/org/dom4j/bean/BeanAttributeList.html
@@ -0,0 +1,198 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BeanAttributeList xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/bean/BeanAttributeList.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.AbstractList;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.QName;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * <p></em>
+<a name="17" href="#17">17</a>  <em> * <code>BeanAttributeList</code> implements a list of Attributes which are</em>
+<a name="18" href="#18">18</a>  <em> * the properties of a JavaBean.</em>
+<a name="19" href="#19">19</a>  <em> * </p></em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a> <strong>extends</strong> AbstractList {
+<a name="25" href="#25">25</a>      <em>/**<em>* The <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a> that this */</em></em>
+<a name="26" href="#26">26</a>      <strong>private</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a> parent;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em>/**<em>* The <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a> that this */</em></em>
+<a name="29" href="#29">29</a>      <strong>private</strong> <a href="../../../org/dom4j/bean/BeanMetaData.html">BeanMetaData</a> beanMetaData;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>* The attributes */</em></em>
+<a name="32" href="#32">32</a>      <strong>private</strong> <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a>[] attributes;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a>(<a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a> parent, <a href="../../../org/dom4j/bean/BeanMetaData.html">BeanMetaData</a> beanMetaData) {
+<a name="35" href="#35">35</a>          <strong>this</strong>.parent = parent;
+<a name="36" href="#36">36</a>          <strong>this</strong>.beanMetaData = beanMetaData;
+<a name="37" href="#37">37</a>          <strong>this</strong>.attributes = <strong>new</strong> <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a>[beanMetaData.attributeCount()];
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a>(<a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a> parent) {
+<a name="41" href="#41">41</a>          <strong>this</strong>.parent = parent;
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          Object data = parent.getData();
+<a name="44" href="#44">44</a>          Class beanClass = (data != <strong>null</strong>) ? data.getClass() : <strong>null</strong>;
+<a name="45" href="#45">45</a>          <strong>this</strong>.beanMetaData = BeanMetaData.get(beanClass);
+<a name="46" href="#46">46</a>          <strong>this</strong>.attributes = <strong>new</strong> <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a>[beanMetaData.attributeCount()];
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(String name) {
+<a name="50" href="#50">50</a>          <strong>int</strong> index = beanMetaData.getIndex(name);
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          <strong>return</strong> attribute(index);
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="56" href="#56">56</a>          <strong>int</strong> index = beanMetaData.getIndex(qname);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          <strong>return</strong> attribute(index);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a> attribute(<strong>int</strong> index) {
+<a name="62" href="#62">62</a>          <strong>if</strong> ((index >= 0) && (index <= attributes.length)) {
+<a name="63" href="#63">63</a>              <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a> attribute = attributes[index];
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>              <strong>if</strong> (attribute == <strong>null</strong>) {
+<a name="66" href="#66">66</a>                  attribute = createAttribute(parent, index);
+<a name="67" href="#67">67</a>                  attributes[index] = attribute;
+<a name="68" href="#68">68</a>              }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>              <strong>return</strong> attribute;
+<a name="71" href="#71">71</a>          }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          <strong>return</strong> <strong>null</strong>;
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a> getParent() {
+<a name="77" href="#77">77</a>          <strong>return</strong> parent;
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName(<strong>int</strong> index) {
+<a name="81" href="#81">81</a>          <strong>return</strong> beanMetaData.getQName(index);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>public</strong> Object getData(<strong>int</strong> index) {
+<a name="85" href="#85">85</a>          <strong>return</strong> beanMetaData.getData(index, parent.getData());
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <strong>public</strong> <strong>void</strong> setData(<strong>int</strong> index, Object data) {
+<a name="89" href="#89">89</a>          beanMetaData.setData(index, parent.getData(), data);
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <em class="comment">// List interface</em>
+<a name="93" href="#93">93</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="94" href="#94">94</a>      <strong>public</strong> <strong>int</strong> size() {
+<a name="95" href="#95">95</a>          <strong>return</strong> attributes.length;
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <strong>public</strong> Object get(<strong>int</strong> index) {
+<a name="99" href="#99">99</a>          <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a> attribute = attributes[index];
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>         <strong>if</strong> (attribute == <strong>null</strong>) {
+<a name="102" href="#102">102</a>             attribute = createAttribute(parent, index);
+<a name="103" href="#103">103</a>             attributes[index] = attribute;
+<a name="104" href="#104">104</a>         }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         <strong>return</strong> attribute;
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>public</strong> <strong>boolean</strong> add(Object object) {
+<a name="110" href="#110">110</a>         <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"add(Object) unsupported"</span>);
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <strong>public</strong> <strong>void</strong> add(<strong>int</strong> index, Object object) {
+<a name="114" href="#114">114</a>         <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"add(int,Object) unsupported"</span>);
+<a name="115" href="#115">115</a>     }
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>     <strong>public</strong> Object set(<strong>int</strong> index, Object object) {
+<a name="118" href="#118">118</a>         <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"set(int,Object) unsupported"</span>);
+<a name="119" href="#119">119</a>     }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <strong>public</strong> <strong>boolean</strong> remove(Object object) {
+<a name="122" href="#122">122</a>         <strong>return</strong> false;
+<a name="123" href="#123">123</a>     }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>     <strong>public</strong> Object remove(<strong>int</strong> index) {
+<a name="126" href="#126">126</a>         <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a> attribute = (BeanAttribute) get(index);
+<a name="127" href="#127">127</a>         Object oldValue = attribute.getValue();
+<a name="128" href="#128">128</a>         attribute.setValue(<strong>null</strong>);
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>         <strong>return</strong> oldValue;
+<a name="131" href="#131">131</a>     }
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>     <strong>public</strong> <strong>void</strong> clear() {
+<a name="134" href="#134">134</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = attributes.length; i < size; i++) {
+<a name="135" href="#135">135</a>             <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a> attribute = attributes[i];
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>             <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="138" href="#138">138</a>                 attribute.setValue(<strong>null</strong>);
+<a name="139" href="#139">139</a>             }
+<a name="140" href="#140">140</a>         }
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <em class="comment">// Implementation methods</em>
+<a name="144" href="#144">144</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="145" href="#145">145</a>     <strong>protected</strong> <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a> createAttribute(<a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a> element, <strong>int</strong> index) {
+<a name="146" href="#146">146</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/bean/BeanAttribute.html">BeanAttribute</a>(<strong>this</strong>, index);
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a> <em class="comment">/*</em>
+<a name="151" href="#151">151</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="152" href="#152">152</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="153" href="#153">153</a> <em class="comment"> * following conditions are met:</em>
+<a name="154" href="#154">154</a> <em class="comment"> * </em>
+<a name="155" href="#155">155</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="156" href="#156">156</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="157" href="#157">157</a> <em class="comment"> * </em>
+<a name="158" href="#158">158</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="159" href="#159">159</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="160" href="#160">160</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="161" href="#161">161</a> <em class="comment"> * </em>
+<a name="162" href="#162">162</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="163" href="#163">163</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="164" href="#164">164</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="165" href="#165">165</a> <em class="comment"> * </em>
+<a name="166" href="#166">166</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="167" href="#167">167</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="168" href="#168">168</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="169" href="#169">169</a> <em class="comment"> * </em>
+<a name="170" href="#170">170</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="171" href="#171">171</a> <em class="comment"> * </em>
+<a name="172" href="#172">172</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="173" href="#173">173</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="174" href="#174">174</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="175" href="#175">175</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="176" href="#176">176</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="177" href="#177">177</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="178" href="#178">178</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="179" href="#179">179</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="180" href="#180">180</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="181" href="#181">181</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="182" href="#182">182</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="183" href="#183">183</a> <em class="comment"> * </em>
+<a name="184" href="#184">184</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="185" href="#185">185</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/bean/BeanDocumentFactory.html b/docs/xref/org/dom4j/bean/BeanDocumentFactory.html
new file mode 100644
index 0000000..ca36509
--- /dev/null
+++ b/docs/xref/org/dom4j/bean/BeanDocumentFactory.html
@@ -0,0 +1,147 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BeanDocumentFactory xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/bean/BeanDocumentFactory.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Element;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.QName;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.tree.DefaultAttribute;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.xml.sax.Attributes;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>BeanDocumentFactory</code> is a factory of DOM4J objects which may be</em>
+<a name="21" href="#21">21</a>  <em> * BeanElements which are backed by JavaBeans and their properties.</em>
+<a name="22" href="#22">22</a>  <em> * </p></em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * <p></em>
+<a name="25" href="#25">25</a>  <em> * The tree built allows full XPath expressions from anywhere on the tree.</em>
+<a name="26" href="#26">26</a>  <em> * </p></em>
+<a name="27" href="#27">27</a>  <em> * </em>
+<a name="28" href="#28">28</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="29" href="#29">29</a>  <em> * @version $Revision: 1.14 $</em>
+<a name="30" href="#30">30</a>  <em> */</em>
+<a name="31" href="#31">31</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/bean/BeanDocumentFactory.html">BeanDocumentFactory</a> <strong>extends</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> {
+<a name="32" href="#32">32</a>      <em>/**<em>* The Singleton instance */</em></em>
+<a name="33" href="#33">33</a>      <strong>private</strong> <strong>static</strong> <a href="../../../org/dom4j/bean/BeanDocumentFactory.html">BeanDocumentFactory</a> singleton = <strong>new</strong> <a href="../../../org/dom4j/bean/BeanDocumentFactory.html">BeanDocumentFactory</a>();
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>*</em></em>
+<a name="36" href="#36">36</a>  <em>     * <p></em>
+<a name="37" href="#37">37</a>  <em>     * Access to the singleton instance of this factory.</em>
+<a name="38" href="#38">38</a>  <em>     * </p></em>
+<a name="39" href="#39">39</a>  <em>     * </em>
+<a name="40" href="#40">40</a>  <em>     * @return the default singleon instance</em>
+<a name="41" href="#41">41</a>  <em>     */</em>
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getInstance() {
+<a name="43" href="#43">43</a>          <strong>return</strong> singleton;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em class="comment">// Factory methods</em>
+<a name="47" href="#47">47</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="48" href="#48">48</a>          Object bean = createBean(qname);
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          <strong>if</strong> (bean == <strong>null</strong>) {
+<a name="51" href="#51">51</a>              <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a>(qname);
+<a name="52" href="#52">52</a>          } <strong>else</strong> {
+<a name="53" href="#53">53</a>              <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a>(qname, bean);
+<a name="54" href="#54">54</a>          }
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname, Attributes attributes) {
+<a name="58" href="#58">58</a>          Object bean = createBean(qname, attributes);
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>if</strong> (bean == <strong>null</strong>) {
+<a name="61" href="#61">61</a>              <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a>(qname);
+<a name="62" href="#62">62</a>          } <strong>else</strong> {
+<a name="63" href="#63">63</a>              <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a>(qname, bean);
+<a name="64" href="#64">64</a>          }
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../../org/dom4j/Element.html">Element</a> owner, <a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="68" href="#68">68</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>(qname, value);
+<a name="69" href="#69">69</a>      }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em class="comment">// Implementation methods</em>
+<a name="72" href="#72">72</a>      <strong>protected</strong> Object createBean(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="73" href="#73">73</a>          <strong>return</strong> <strong>null</strong>;
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>protected</strong> Object createBean(<a href="../../../org/dom4j/QName.html">QName</a> qname, Attributes attributes) {
+<a name="77" href="#77">77</a>          String value = attributes.getValue(<span class="string">"class"</span>);
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>          <strong>if</strong> (value != <strong>null</strong>) {
+<a name="80" href="#80">80</a>              <strong>try</strong> {
+<a name="81" href="#81">81</a>                  Class beanClass = Class.forName(value, <strong>true</strong>,
+<a name="82" href="#82">82</a>                          BeanDocumentFactory.<strong>class</strong>.getClassLoader());
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>                  <strong>return</strong> beanClass.newInstance();
+<a name="85" href="#85">85</a>              } <strong>catch</strong> (Exception e) {
+<a name="86" href="#86">86</a>                  handleException(e);
+<a name="87" href="#87">87</a>              }
+<a name="88" href="#88">88</a>          }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          <strong>return</strong> <strong>null</strong>;
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>protected</strong> <strong>void</strong> handleException(Exception e) {
+<a name="94" href="#94">94</a>          <em class="comment">// ignore introspection exceptions</em>
+<a name="95" href="#95">95</a>          System.out.println(<span class="string">"#### Warning: couldn't create bean: "</span> + e);
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>  <em class="comment">/*</em>
+<a name="100" href="#100">100</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="102" href="#102">102</a> <em class="comment"> * following conditions are met:</em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="105" href="#105">105</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="106" href="#106">106</a> <em class="comment"> * </em>
+<a name="107" href="#107">107</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="108" href="#108">108</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="109" href="#109">109</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="110" href="#110">110</a> <em class="comment"> * </em>
+<a name="111" href="#111">111</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="112" href="#112">112</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="113" href="#113">113</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="114" href="#114">114</a> <em class="comment"> * </em>
+<a name="115" href="#115">115</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="116" href="#116">116</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="117" href="#117">117</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="118" href="#118">118</a> <em class="comment"> * </em>
+<a name="119" href="#119">119</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="120" href="#120">120</a> <em class="comment"> * </em>
+<a name="121" href="#121">121</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="122" href="#122">122</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="123" href="#123">123</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="124" href="#124">124</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="125" href="#125">125</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="126" href="#126">126</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="127" href="#127">127</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="128" href="#128">128</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="129" href="#129">129</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="130" href="#130">130</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="131" href="#131">131</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="132" href="#132">132</a> <em class="comment"> * </em>
+<a name="133" href="#133">133</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="134" href="#134">134</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/bean/BeanElement.html b/docs/xref/org/dom4j/bean/BeanElement.html
new file mode 100644
index 0000000..d075978
--- /dev/null
+++ b/docs/xref/org/dom4j/bean/BeanElement.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BeanElement xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/bean/BeanElement.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.List;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Element;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.QName;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.tree.DefaultElement;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.tree.NamespaceStack;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.xml.sax.Attributes;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em> * <p></em>
+<a name="24" href="#24">24</a>  <em> * <code>BeanElement</code> uses a Java Bean to store its attributes.</em>
+<a name="25" href="#25">25</a>  <em> * </p></em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="28" href="#28">28</a>  <em> * @version $Revision: 1.15 $</em>
+<a name="29" href="#29">29</a>  <em> */</em>
+<a name="30" href="#30">30</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a> {
+<a name="31" href="#31">31</a>      <em>/**<em>* The <code>DocumentFactory</code> instance used by default */</em></em>
+<a name="32" href="#32">32</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> DOCUMENT_FACTORY = <a href="../../../org/dom4j/bean/BeanDocumentFactory.html">BeanDocumentFactory</a>
+<a name="33" href="#33">33</a>              .getInstance();
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>* The JavaBean which defines my attributes */</em></em>
+<a name="36" href="#36">36</a>      <strong>private</strong> Object bean;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a>(String name, Object bean) {
+<a name="39" href="#39">39</a>          <strong>this</strong>(DOCUMENT_FACTORY.createQName(name), bean);
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a>(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace, Object bean) {
+<a name="43" href="#43">43</a>          <strong>this</strong>(DOCUMENT_FACTORY.createQName(name, namespace), bean);
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, Object bean) {
+<a name="47" href="#47">47</a>          <strong>super</strong>(qname);
+<a name="48" href="#48">48</a>          <strong>this</strong>.bean = bean;
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="52" href="#52">52</a>          <strong>super</strong>(qname);
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em>/**<em>*</em></em>
+<a name="56" href="#56">56</a>  <em>     * DOCUMENT ME!</em>
+<a name="57" href="#57">57</a>  <em>     * </em>
+<a name="58" href="#58">58</a>  <em>     * @return the JavaBean associated with this element</em>
+<a name="59" href="#59">59</a>  <em>     */</em>
+<a name="60" href="#60">60</a>      <strong>public</strong> Object getData() {
+<a name="61" href="#61">61</a>          <strong>return</strong> bean;
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <strong>void</strong> setData(Object data) {
+<a name="65" href="#65">65</a>          <strong>this</strong>.bean = data;
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          <em class="comment">// force the attributeList to be lazily</em>
+<a name="68" href="#68">68</a>          <em class="comment">// created next time an attribute related</em>
+<a name="69" href="#69">69</a>          <em class="comment">// method is called again.</em>
+<a name="70" href="#70">70</a>          setAttributeList(<strong>null</strong>);
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(String name) {
+<a name="74" href="#74">74</a>          <strong>return</strong> getBeanAttributeList().attribute(name);
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="78" href="#78">78</a>          <strong>return</strong> getBeanAttributeList().attribute(qname);
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addAttribute(String name, String value) {
+<a name="82" href="#82">82</a>          <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(name);
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="85" href="#85">85</a>              attribute.setValue(value);
+<a name="86" href="#86">86</a>          }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>          <strong>return</strong> <strong>this</strong>;
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addAttribute(<a href="../../../org/dom4j/QName.html">QName</a> qName, String value) {
+<a name="92" href="#92">92</a>          <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(qName);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="95" href="#95">95</a>              attribute.setValue(value);
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          <strong>return</strong> <strong>this</strong>;
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> <strong>void</strong> setAttributes(List attributes) {
+<a name="102" href="#102">102</a>         <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"Not implemented yet."</span>);
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em class="comment">// Method overridden from AbstractElement</em>
+<a name="106" href="#106">106</a>     <strong>public</strong> <strong>void</strong> setAttributes(Attributes attributes,
+<a name="107" href="#107">107</a>             <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack, <strong>boolean</strong> noNamespaceAttributes) {
+<a name="108" href="#108">108</a>         String className = attributes.getValue(<span class="string">"class"</span>);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         <strong>if</strong> (className != <strong>null</strong>) {
+<a name="111" href="#111">111</a>             <strong>try</strong> {
+<a name="112" href="#112">112</a>                 Class beanClass = Class.forName(className, <strong>true</strong>,
+<a name="113" href="#113">113</a>                         BeanElement.<strong>class</strong>.getClassLoader());
+<a name="114" href="#114">114</a>                 <strong>this</strong>.setData(beanClass.newInstance());
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>                 <strong>for</strong> (<strong>int</strong> i = 0; i < attributes.getLength(); i++) {
+<a name="117" href="#117">117</a>                     String attributeName = attributes.getLocalName(i);
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>                     <strong>if</strong> (!<span class="string">"class"</span>.equalsIgnoreCase(attributeName)) {
+<a name="120" href="#120">120</a>                         addAttribute(attributeName, attributes.getValue(i));
+<a name="121" href="#121">121</a>                     }
+<a name="122" href="#122">122</a>                 }
+<a name="123" href="#123">123</a>             } <strong>catch</strong> (Exception ex) {
+<a name="124" href="#124">124</a>                 <em class="comment">// What to do here?</em>
+<a name="125" href="#125">125</a>                 ((<a href="../../../org/dom4j/bean/BeanDocumentFactory.html">BeanDocumentFactory</a>) <strong>this</strong>.getDocumentFactory())
+<a name="126" href="#126">126</a>                         .handleException(ex);
+<a name="127" href="#127">127</a>             }
+<a name="128" href="#128">128</a>         } <strong>else</strong> {
+<a name="129" href="#129">129</a>             <strong>super</strong>.setAttributes(attributes, namespaceStack,
+<a name="130" href="#130">130</a>                     noNamespaceAttributes);
+<a name="131" href="#131">131</a>         }
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>     <em class="comment">// Implementation methods</em>
+<a name="135" href="#135">135</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="136" href="#136">136</a>     <strong>protected</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="137" href="#137">137</a>         <strong>return</strong> DOCUMENT_FACTORY;
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <strong>protected</strong> <a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a> getBeanAttributeList() {
+<a name="141" href="#141">141</a>         <strong>return</strong> (BeanAttributeList) attributeList();
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>     <em>/**<em>*</em></em>
+<a name="145" href="#145">145</a> <em>     * A Factory Method pattern which lazily creates a List implementation used</em>
+<a name="146" href="#146">146</a> <em>     * to store content</em>
+<a name="147" href="#147">147</a> <em>     * </em>
+<a name="148" href="#148">148</a> <em>     * @return DOCUMENT ME!</em>
+<a name="149" href="#149">149</a> <em>     */</em>
+<a name="150" href="#150">150</a>     <strong>protected</strong> List createAttributeList() {
+<a name="151" href="#151">151</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a>(<strong>this</strong>);
+<a name="152" href="#152">152</a>     }
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>     <strong>protected</strong> List createAttributeList(<strong>int</strong> size) {
+<a name="155" href="#155">155</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a>(<strong>this</strong>);
+<a name="156" href="#156">156</a>     }
+<a name="157" href="#157">157</a> }
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a> <em class="comment">/*</em>
+<a name="160" href="#160">160</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="161" href="#161">161</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="162" href="#162">162</a> <em class="comment"> * following conditions are met:</em>
+<a name="163" href="#163">163</a> <em class="comment"> * </em>
+<a name="164" href="#164">164</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="165" href="#165">165</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="166" href="#166">166</a> <em class="comment"> * </em>
+<a name="167" href="#167">167</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="168" href="#168">168</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="169" href="#169">169</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="170" href="#170">170</a> <em class="comment"> * </em>
+<a name="171" href="#171">171</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="172" href="#172">172</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="173" href="#173">173</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="174" href="#174">174</a> <em class="comment"> * </em>
+<a name="175" href="#175">175</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="176" href="#176">176</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="177" href="#177">177</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="178" href="#178">178</a> <em class="comment"> * </em>
+<a name="179" href="#179">179</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="180" href="#180">180</a> <em class="comment"> * </em>
+<a name="181" href="#181">181</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="182" href="#182">182</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="183" href="#183">183</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="184" href="#184">184</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="185" href="#185">185</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="186" href="#186">186</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="187" href="#187">187</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="188" href="#188">188</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="189" href="#189">189</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="190" href="#190">190</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="191" href="#191">191</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="192" href="#192">192</a> <em class="comment"> * </em>
+<a name="193" href="#193">193</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="194" href="#194">194</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/bean/BeanMetaData.html b/docs/xref/org/dom4j/bean/BeanMetaData.html
new file mode 100644
index 0000000..e7856a3
--- /dev/null
+++ b/docs/xref/org/dom4j/bean/BeanMetaData.html
@@ -0,0 +1,217 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BeanMetaData xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/bean/BeanMetaData.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/bean/package-summary.html">org.dom4j.bean</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.beans.BeanInfo;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.beans.IntrospectionException;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.beans.Introspector;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.beans.PropertyDescriptor;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.lang.reflect.Method;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.HashMap;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.Map;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.QName;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * <p></em>
+<a name="23" href="#23">23</a>  <em> * <code>BeanMetaData</code> contains metadata about a bean class.</em>
+<a name="24" href="#24">24</a>  <em> * </p></em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/bean/BeanMetaData.html">BeanMetaData</a> {
+<a name="30" href="#30">30</a>      <em>/**<em>* Empty arguments for reflection calls */</em></em>
+<a name="31" href="#31">31</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> Object[] NULL_ARGS = {};
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>* Singleton cache */</em></em>
+<a name="34" href="#34">34</a>      <strong>private</strong> <strong>static</strong> Map singletonCache = <strong>new</strong> HashMap();
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> DOCUMENT_FACTORY = <a href="../../../org/dom4j/bean/BeanDocumentFactory.html">BeanDocumentFactory</a>
+<a name="37" href="#37">37</a>              .getInstance();
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>* The class of the bean */</em></em>
+<a name="40" href="#40">40</a>      <strong>private</strong> Class beanClass;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em>/**<em>* Property descriptors for the bean */</em></em>
+<a name="43" href="#43">43</a>      <strong>private</strong> PropertyDescriptor[] propertyDescriptors;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <em>/**<em>* QNames for the attributes */</em></em>
+<a name="46" href="#46">46</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a>[] qNames;
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <em>/**<em>* Read methods used for getting properties */</em></em>
+<a name="49" href="#49">49</a>      <strong>private</strong> Method[] readMethods;
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <em>/**<em>* Write methods used for setting properties */</em></em>
+<a name="52" href="#52">52</a>      <strong>private</strong> Method[] writeMethods;
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <em>/**<em>* Index of names and QNames to indices */</em></em>
+<a name="55" href="#55">55</a>      <strong>private</strong> Map nameMap = <strong>new</strong> HashMap();
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <a href="../../../org/dom4j/bean/BeanMetaData.html">BeanMetaData</a>(Class beanClass) {
+<a name="58" href="#58">58</a>          <strong>this</strong>.beanClass = beanClass;
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>if</strong> (beanClass != <strong>null</strong>) {
+<a name="61" href="#61">61</a>              <strong>try</strong> {
+<a name="62" href="#62">62</a>                  BeanInfo beanInfo = Introspector.getBeanInfo(beanClass);
+<a name="63" href="#63">63</a>                  propertyDescriptors = beanInfo.getPropertyDescriptors();
+<a name="64" href="#64">64</a>              } <strong>catch</strong> (IntrospectionException e) {
+<a name="65" href="#65">65</a>                  handleException(e);
+<a name="66" href="#66">66</a>              }
+<a name="67" href="#67">67</a>          }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          <strong>if</strong> (propertyDescriptors == <strong>null</strong>) {
+<a name="70" href="#70">70</a>              propertyDescriptors = <strong>new</strong> PropertyDescriptor[0];
+<a name="71" href="#71">71</a>          }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          <strong>int</strong> size = propertyDescriptors.length;
+<a name="74" href="#74">74</a>          qNames = <strong>new</strong> <a href="../../../org/dom4j/QName.html">QName</a>[size];
+<a name="75" href="#75">75</a>          readMethods = <strong>new</strong> Method[size];
+<a name="76" href="#76">76</a>          writeMethods = <strong>new</strong> Method[size];
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="79" href="#79">79</a>              PropertyDescriptor propertyDescriptor = propertyDescriptors[i];
+<a name="80" href="#80">80</a>              String name = propertyDescriptor.getName();
+<a name="81" href="#81">81</a>              <a href="../../../org/dom4j/QName.html">QName</a> qName = DOCUMENT_FACTORY.createQName(name);
+<a name="82" href="#82">82</a>              qNames[i] = qName;
+<a name="83" href="#83">83</a>              readMethods[i] = propertyDescriptor.getReadMethod();
+<a name="84" href="#84">84</a>              writeMethods[i] = propertyDescriptor.getWriteMethod();
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>              Integer index = <strong>new</strong> Integer(i);
+<a name="87" href="#87">87</a>              nameMap.put(name, index);
+<a name="88" href="#88">88</a>              nameMap.put(qName, index);
+<a name="89" href="#89">89</a>          }
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <em>/**<em>*</em></em>
+<a name="93" href="#93">93</a>  <em>     * Static helper method to find and cache meta data objects for bean types</em>
+<a name="94" href="#94">94</a>  <em>     * </em>
+<a name="95" href="#95">95</a>  <em>     * @param beanClass</em>
+<a name="96" href="#96">96</a>  <em>     *            DOCUMENT ME!</em>
+<a name="97" href="#97">97</a>  <em>     * </em>
+<a name="98" href="#98">98</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="99" href="#99">99</a>  <em>     */</em>
+<a name="100" href="#100">100</a>     <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/bean/BeanMetaData.html">BeanMetaData</a> get(Class beanClass) {
+<a name="101" href="#101">101</a>         <a href="../../../org/dom4j/bean/BeanMetaData.html">BeanMetaData</a> answer = (BeanMetaData) singletonCache.get(beanClass);
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="104" href="#104">104</a>             answer = <strong>new</strong> <a href="../../../org/dom4j/bean/BeanMetaData.html">BeanMetaData</a>(beanClass);
+<a name="105" href="#105">105</a>             singletonCache.put(beanClass, answer);
+<a name="106" href="#106">106</a>         }
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>         <strong>return</strong> answer;
+<a name="109" href="#109">109</a>     }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>     <em>/**<em>*</em></em>
+<a name="112" href="#112">112</a> <em>     * DOCUMENT ME!</em>
+<a name="113" href="#113">113</a> <em>     * </em>
+<a name="114" href="#114">114</a> <em>     * @return the number of attribtutes for this bean type</em>
+<a name="115" href="#115">115</a> <em>     */</em>
+<a name="116" href="#116">116</a>     <strong>public</strong> <strong>int</strong> attributeCount() {
+<a name="117" href="#117">117</a>         <strong>return</strong> propertyDescriptors.length;
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <strong>public</strong> <a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a> createAttributeList(<a href="../../../org/dom4j/bean/BeanElement.html">BeanElement</a> parent) {
+<a name="121" href="#121">121</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/bean/BeanAttributeList.html">BeanAttributeList</a>(parent, <strong>this</strong>);
+<a name="122" href="#122">122</a>     }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName(<strong>int</strong> index) {
+<a name="125" href="#125">125</a>         <strong>return</strong> qNames[index];
+<a name="126" href="#126">126</a>     }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>     <strong>public</strong> <strong>int</strong> getIndex(String name) {
+<a name="129" href="#129">129</a>         Integer index = (Integer) nameMap.get(name);
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>         <strong>return</strong> (index != <strong>null</strong>) ? index.intValue() : (-1);
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>     <strong>public</strong> <strong>int</strong> getIndex(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="135" href="#135">135</a>         Integer index = (Integer) nameMap.get(qName);
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>         <strong>return</strong> (index != <strong>null</strong>) ? index.intValue() : (-1);
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <strong>public</strong> Object getData(<strong>int</strong> index, Object bean) {
+<a name="141" href="#141">141</a>         <strong>try</strong> {
+<a name="142" href="#142">142</a>             Method method = readMethods[index];
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>             <strong>return</strong> method.invoke(bean, NULL_ARGS);
+<a name="145" href="#145">145</a>         } <strong>catch</strong> (Exception e) {
+<a name="146" href="#146">146</a>             handleException(e);
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>             <strong>return</strong> <strong>null</strong>;
+<a name="149" href="#149">149</a>         }
+<a name="150" href="#150">150</a>     }
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>     <strong>public</strong> <strong>void</strong> setData(<strong>int</strong> index, Object bean, Object data) {
+<a name="153" href="#153">153</a>         <strong>try</strong> {
+<a name="154" href="#154">154</a>             Method method = writeMethods[index];
+<a name="155" href="#155">155</a>             Object[] args = {data};
+<a name="156" href="#156">156</a>             method.invoke(bean, args);
+<a name="157" href="#157">157</a>         } <strong>catch</strong> (Exception e) {
+<a name="158" href="#158">158</a>             handleException(e);
+<a name="159" href="#159">159</a>         }
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <em class="comment">// Implementation methods</em>
+<a name="163" href="#163">163</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="164" href="#164">164</a>     <strong>protected</strong> <strong>void</strong> handleException(Exception e) {
+<a name="165" href="#165">165</a>         <em class="comment">// ignore introspection exceptions</em>
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a> <em class="comment">/*</em>
+<a name="170" href="#170">170</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="171" href="#171">171</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="172" href="#172">172</a> <em class="comment"> * following conditions are met:</em>
+<a name="173" href="#173">173</a> <em class="comment"> * </em>
+<a name="174" href="#174">174</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="175" href="#175">175</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="176" href="#176">176</a> <em class="comment"> * </em>
+<a name="177" href="#177">177</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="178" href="#178">178</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="179" href="#179">179</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="180" href="#180">180</a> <em class="comment"> * </em>
+<a name="181" href="#181">181</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="182" href="#182">182</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="183" href="#183">183</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="184" href="#184">184</a> <em class="comment"> * </em>
+<a name="185" href="#185">185</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="186" href="#186">186</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="187" href="#187">187</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="188" href="#188">188</a> <em class="comment"> * </em>
+<a name="189" href="#189">189</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="190" href="#190">190</a> <em class="comment"> * </em>
+<a name="191" href="#191">191</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="192" href="#192">192</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="193" href="#193">193</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="194" href="#194">194</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="195" href="#195">195</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="196" href="#196">196</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="197" href="#197">197</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="198" href="#198">198</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="199" href="#199">199</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="200" href="#200">200</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="201" href="#201">201</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="202" href="#202">202</a> <em class="comment"> * </em>
+<a name="203" href="#203">203</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="204" href="#204">204</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/bean/package-frame.html b/docs/xref/org/dom4j/bean/package-frame.html
new file mode 100644
index 0000000..142a8a3
--- /dev/null
+++ b/docs/xref/org/dom4j/bean/package-frame.html
@@ -0,0 +1,43 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.bean</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.bean</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="BeanAttribute.html" target="classFrame">BeanAttribute</a>
+          </li>
+        
+          <li>
+            <a href="BeanAttributeList.html" target="classFrame">BeanAttributeList</a>
+          </li>
+        
+          <li>
+            <a href="BeanDocumentFactory.html" target="classFrame">BeanDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="BeanElement.html" target="classFrame">BeanElement</a>
+          </li>
+        
+          <li>
+            <a href="BeanMetaData.html" target="classFrame">BeanMetaData</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/bean/package-summary.html b/docs/xref/org/dom4j/bean/package-summary.html
new file mode 100644
index 0000000..0ae6791
--- /dev/null
+++ b/docs/xref/org/dom4j/bean/package-summary.html
@@ -0,0 +1,126 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.bean</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="BeanAttribute.html" target="classFrame">BeanAttribute</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="BeanAttributeList.html" target="classFrame">BeanAttributeList</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="BeanDocumentFactory.html" target="classFrame">BeanDocumentFactory</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="BeanElement.html" target="classFrame">BeanElement</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="BeanMetaData.html" target="classFrame">BeanMetaData</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/datatype/DatatypeAttribute.html b/docs/xref/org/dom4j/datatype/DatatypeAttribute.html
new file mode 100644
index 0000000..3e130ee
--- /dev/null
+++ b/docs/xref/org/dom4j/datatype/DatatypeAttribute.html
@@ -0,0 +1,242 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DatatypeAttribute xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/datatype/DatatypeAttribute.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> com.sun.msv.datatype.DatabindableDatatype;
+<a name="11" href="#11">11</a>  <strong>import</strong> com.sun.msv.datatype.SerializationContext;
+<a name="12" href="#12">12</a>  <strong>import</strong> com.sun.msv.datatype.xsd.XSDatatype;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Element;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.QName;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.tree.AbstractAttribute;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.relaxng.datatype.DatatypeException;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.relaxng.datatype.ValidationContext;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em> * <p></em>
+<a name="24" href="#24">24</a>  <em> * <code>DatatypeAttribute</code> represents an Attribute which supports the</em>
+<a name="25" href="#25">25</a>  <em> * <a href="<a href="http://www.w3.org/TR/xmlschema-2/" target="alexandria_uri">http://www.w3.org/TR/xmlschema-2/</a>">XML Schema Data Types </a></em>
+<a name="26" href="#26">26</a>  <em> * specification.</em>
+<a name="27" href="#27">27</a>  <em> * </p></em>
+<a name="28" href="#28">28</a>  <em> * </em>
+<a name="29" href="#29">29</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="30" href="#30">30</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="31" href="#31">31</a>  <em> */</em>
+<a name="32" href="#32">32</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/DatatypeAttribute.html">DatatypeAttribute</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractAttribute.html">AbstractAttribute</a> implements
+<a name="33" href="#33">33</a>          SerializationContext, ValidationContext {
+<a name="34" href="#34">34</a>      <em>/**<em>* The parent <code>Element</code> of the <code>Attribute</code> */</em></em>
+<a name="35" href="#35">35</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> parent;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>* The <code>QName</code> for this element */</em></em>
+<a name="38" href="#38">38</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> qname;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>* The <code>XSDatatype</code> of the <code>Attribute</code> */</em></em>
+<a name="41" href="#41">41</a>      <strong>private</strong> XSDatatype datatype;
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>* The data (Object) value of the <code>Attribute</code> */</em></em>
+<a name="44" href="#44">44</a>      <strong>private</strong> Object data;
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>* The text value of the <code>Attribute</code> */</em></em>
+<a name="47" href="#47">47</a>      <strong>private</strong> String text;
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/DatatypeAttribute.html">DatatypeAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, XSDatatype datatype) {
+<a name="50" href="#50">50</a>          <strong>this</strong>.qname = qname;
+<a name="51" href="#51">51</a>          <strong>this</strong>.datatype = datatype;
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/DatatypeAttribute.html">DatatypeAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, XSDatatype datatype, String text) {
+<a name="55" href="#55">55</a>          <strong>this</strong>.qname = qname;
+<a name="56" href="#56">56</a>          <strong>this</strong>.datatype = datatype;
+<a name="57" href="#57">57</a>          <strong>this</strong>.text = text;
+<a name="58" href="#58">58</a>          <strong>this</strong>.data = convertToValue(text);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> String toString() {
+<a name="62" href="#62">62</a>          <strong>return</strong> getClass().getName() + hashCode() + <span class="string">" [Attribute: name "</span>
+<a name="63" href="#63">63</a>                  + getQualifiedName() + <span class="string">" value \""</span> + getValue() + <span class="string">"\" data: "</span>
+<a name="64" href="#64">64</a>                  + getData() + <span class="string">"]"</span>;
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <em>/**<em>*</em></em>
+<a name="68" href="#68">68</a>  <em>     * Returns the MSV XSDatatype for this node</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="71" href="#71">71</a>  <em>     */</em>
+<a name="72" href="#72">72</a>      <strong>public</strong> XSDatatype getXSDatatype() {
+<a name="73" href="#73">73</a>          <strong>return</strong> datatype;
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <em class="comment">// SerializationContext interface</em>
+<a name="77" href="#77">77</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="78" href="#78">78</a>      <strong>public</strong> String getNamespacePrefix(String uri) {
+<a name="79" href="#79">79</a>          <a href="../../../org/dom4j/Element.html">Element</a> parentElement = getParent();
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>          <strong>if</strong> (parentElement != <strong>null</strong>) {
+<a name="82" href="#82">82</a>              <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = parentElement.getNamespaceForURI(uri);
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>              <strong>if</strong> (namespace != <strong>null</strong>) {
+<a name="85" href="#85">85</a>                  <strong>return</strong> namespace.getPrefix();
+<a name="86" href="#86">86</a>              }
+<a name="87" href="#87">87</a>          }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          <strong>return</strong> <strong>null</strong>;
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <em class="comment">// ValidationContext interface</em>
+<a name="93" href="#93">93</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="94" href="#94">94</a>      <strong>public</strong> String getBaseUri() {
+<a name="95" href="#95">95</a>          <em class="comment">// XXXX: could we use a Document for this?</em>
+<a name="96" href="#96">96</a>          <strong>return</strong> <strong>null</strong>;
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <strong>public</strong> <strong>boolean</strong> isNotation(String notationName) {
+<a name="100" href="#100">100</a>         <em class="comment">// XXXX: no way to do this yet in dom4j so assume false</em>
+<a name="101" href="#101">101</a>         <strong>return</strong> false;
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <strong>public</strong> <strong>boolean</strong> isUnparsedEntity(String entityName) {
+<a name="105" href="#105">105</a>         <em class="comment">// XXXX: no way to do this yet in dom4j so assume valid</em>
+<a name="106" href="#106">106</a>         <strong>return</strong> <strong>true</strong>;
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>public</strong> String resolveNamespacePrefix(String prefix) {
+<a name="110" href="#110">110</a>         <em class="comment">// first lets see if this is our attribute's prefix</em>
+<a name="111" href="#111">111</a>         <strong>if</strong> (prefix.equals(getNamespacePrefix())) {
+<a name="112" href="#112">112</a>             <strong>return</strong> getNamespaceURI();
+<a name="113" href="#113">113</a>         } <strong>else</strong> {
+<a name="114" href="#114">114</a>             <a href="../../../org/dom4j/Element.html">Element</a> parentElement = getParent();
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>             <strong>if</strong> (parentElement != <strong>null</strong>) {
+<a name="117" href="#117">117</a>                 <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = parentElement
+<a name="118" href="#118">118</a>                         .getNamespaceForPrefix(prefix);
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>                 <strong>if</strong> (namespace != <strong>null</strong>) {
+<a name="121" href="#121">121</a>                     <strong>return</strong> namespace.getURI();
+<a name="122" href="#122">122</a>                 }
+<a name="123" href="#123">123</a>             }
+<a name="124" href="#124">124</a>         }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>         <strong>return</strong> <strong>null</strong>;
+<a name="127" href="#127">127</a>     }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>     <em class="comment">// Attribute interface</em>
+<a name="130" href="#130">130</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="131" href="#131">131</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName() {
+<a name="132" href="#132">132</a>         <strong>return</strong> qname;
+<a name="133" href="#133">133</a>     }
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>     <strong>public</strong> String getValue() {
+<a name="136" href="#136">136</a>         <strong>return</strong> text;
+<a name="137" href="#137">137</a>     }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>     <strong>public</strong> <strong>void</strong> setValue(String value) {
+<a name="140" href="#140">140</a>         validate(value);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>         <strong>this</strong>.text = value;
+<a name="143" href="#143">143</a>         <strong>this</strong>.data = convertToValue(value);
+<a name="144" href="#144">144</a>     }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <strong>public</strong> Object getData() {
+<a name="147" href="#147">147</a>         <strong>return</strong> data;
+<a name="148" href="#148">148</a>     }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>     <strong>public</strong> <strong>void</strong> setData(Object data) {
+<a name="151" href="#151">151</a>         String s = datatype.convertToLexicalValue(data, <strong>this</strong>);
+<a name="152" href="#152">152</a>         validate(s);
+<a name="153" href="#153">153</a>         <strong>this</strong>.text = s;
+<a name="154" href="#154">154</a>         <strong>this</strong>.data = data;
+<a name="155" href="#155">155</a>     }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="158" href="#158">158</a>         <strong>return</strong> parent;
+<a name="159" href="#159">159</a>     }
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>     <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="162" href="#162">162</a>         <strong>this</strong>.parent = parent;
+<a name="163" href="#163">163</a>     }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>     <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="166" href="#166">166</a>         <strong>return</strong> <strong>true</strong>;
+<a name="167" href="#167">167</a>     }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>     <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="170" href="#170">170</a>         <strong>return</strong> false;
+<a name="171" href="#171">171</a>     }
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>     <em class="comment">// Implementation methods</em>
+<a name="174" href="#174">174</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="175" href="#175">175</a>     <strong>protected</strong> <strong>void</strong> validate(String txt) throws IllegalArgumentException {
+<a name="176" href="#176">176</a>         <strong>try</strong> {
+<a name="177" href="#177">177</a>             datatype.checkValid(txt, <strong>this</strong>);
+<a name="178" href="#178">178</a>         } <strong>catch</strong> (DatatypeException e) {
+<a name="179" href="#179">179</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException(e.getMessage());
+<a name="180" href="#180">180</a>         }
+<a name="181" href="#181">181</a>     }
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>     <strong>protected</strong> Object convertToValue(String txt) {
+<a name="184" href="#184">184</a>         <strong>if</strong> (datatype instanceof DatabindableDatatype) {
+<a name="185" href="#185">185</a>             DatabindableDatatype bindable = (DatabindableDatatype) datatype;
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>             <strong>return</strong> bindable.createJavaObject(txt, <strong>this</strong>);
+<a name="188" href="#188">188</a>         } <strong>else</strong> {
+<a name="189" href="#189">189</a>             <strong>return</strong> datatype.createValue(txt, <strong>this</strong>);
+<a name="190" href="#190">190</a>         }
+<a name="191" href="#191">191</a>     }
+<a name="192" href="#192">192</a> }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a> <em class="comment">/*</em>
+<a name="195" href="#195">195</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="196" href="#196">196</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="197" href="#197">197</a> <em class="comment"> * following conditions are met:</em>
+<a name="198" href="#198">198</a> <em class="comment"> * </em>
+<a name="199" href="#199">199</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="200" href="#200">200</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="201" href="#201">201</a> <em class="comment"> * </em>
+<a name="202" href="#202">202</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="203" href="#203">203</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="204" href="#204">204</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="205" href="#205">205</a> <em class="comment"> * </em>
+<a name="206" href="#206">206</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="207" href="#207">207</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="208" href="#208">208</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="209" href="#209">209</a> <em class="comment"> * </em>
+<a name="210" href="#210">210</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="211" href="#211">211</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="212" href="#212">212</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="213" href="#213">213</a> <em class="comment"> * </em>
+<a name="214" href="#214">214</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="215" href="#215">215</a> <em class="comment"> * </em>
+<a name="216" href="#216">216</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="217" href="#217">217</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="218" href="#218">218</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="219" href="#219">219</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="220" href="#220">220</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="221" href="#221">221</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="222" href="#222">222</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="223" href="#223">223</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="224" href="#224">224</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="225" href="#225">225</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="226" href="#226">226</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="227" href="#227">227</a> <em class="comment"> * </em>
+<a name="228" href="#228">228</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="229" href="#229">229</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/datatype/DatatypeDocumentFactory.html b/docs/xref/org/dom4j/datatype/DatatypeDocumentFactory.html
new file mode 100644
index 0000000..b4f3ca8
--- /dev/null
+++ b/docs/xref/org/dom4j/datatype/DatatypeDocumentFactory.html
@@ -0,0 +1,236 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DatatypeDocumentFactory xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/datatype/DatatypeDocumentFactory.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Document;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Element;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.QName;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.xml.sax.EntityResolver;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * <p></em>
+<a name="23" href="#23">23</a>  <em> * <code>DatatypeDocumentFactory</code> is a factory of XML objects which</em>
+<a name="24" href="#24">24</a>  <em> * support the <a href="<a href="http://www.w3.org/TR/xmlschema-2/" target="alexandria_uri">http://www.w3.org/TR/xmlschema-2/</a>">XML Schema Data Types</em>
+<a name="25" href="#25">25</a>  <em> * </a> specification.</em>
+<a name="26" href="#26">26</a>  <em> * </p></em>
+<a name="27" href="#27">27</a>  <em> * </em>
+<a name="28" href="#28">28</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="29" href="#29">29</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="30" href="#30">30</a>  <em> */</em>
+<a name="31" href="#31">31</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/DatatypeDocumentFactory.html">DatatypeDocumentFactory</a> <strong>extends</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> {
+<a name="32" href="#32">32</a>      <em class="comment">// XXXX: I don't think interning of QNames is necessary</em>
+<a name="33" href="#33">33</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>boolean</strong> DO_INTERN_QNAME = false;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>* The Singleton instance */</em></em>
+<a name="36" href="#36">36</a>      <strong>protected</strong> <strong>static</strong> <strong>transient</strong> <a href="../../../org/dom4j/datatype/DatatypeDocumentFactory.html">DatatypeDocumentFactory</a> singleton 
+<a name="37" href="#37">37</a>              = <strong>new</strong> <a href="../../../org/dom4j/datatype/DatatypeDocumentFactory.html">DatatypeDocumentFactory</a>();
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> XSI_NAMESPACE = Namespace.get(<span class="string">"xsi"</span>,
+<a name="40" href="#40">40</a>              <span class="string">"http://www.w3.org/2001/XMLSchema-instance"</span>);
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSI_SCHEMA_LOCATION = QName.get(
+<a name="43" href="#43">43</a>              <span class="string">"schemaLocation"</span>, XSI_NAMESPACE);
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSI_NO_SCHEMA_LOCATION = QName.get(
+<a name="46" href="#46">46</a>              <span class="string">"noNamespaceSchemaLocation"</span>, XSI_NAMESPACE);
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <em>/**<em>* The builder of XML Schemas */</em></em>
+<a name="49" href="#49">49</a>      <strong>private</strong> <a href="../../../org/dom4j/datatype/SchemaParser.html">SchemaParser</a> schemaBuilder;
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <em>/**<em>* reader of XML Schemas */</em></em>
+<a name="52" href="#52">52</a>      <strong>private</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a> xmlSchemaReader = <strong>new</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>();
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <em>/**<em>* If schemas are automatically loaded when parsing instance documents */</em></em>
+<a name="55" href="#55">55</a>      <strong>private</strong> <strong>boolean</strong> autoLoadSchema = <strong>true</strong>;
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/DatatypeDocumentFactory.html">DatatypeDocumentFactory</a>() {
+<a name="58" href="#58">58</a>          schemaBuilder = <strong>new</strong> <a href="../../../org/dom4j/datatype/SchemaParser.html">SchemaParser</a>(<strong>this</strong>);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <em>/**<em>*</em></em>
+<a name="62" href="#62">62</a>  <em>     * <p></em>
+<a name="63" href="#63">63</a>  <em>     * Access to the singleton instance of this factory.</em>
+<a name="64" href="#64">64</a>  <em>     * </p></em>
+<a name="65" href="#65">65</a>  <em>     * </em>
+<a name="66" href="#66">66</a>  <em>     * @return the default singleon instance</em>
+<a name="67" href="#67">67</a>  <em>     */</em>
+<a name="68" href="#68">68</a>      <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getInstance() {
+<a name="69" href="#69">69</a>          <strong>return</strong> singleton;
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <em>/**<em>*</em></em>
+<a name="73" href="#73">73</a>  <em>     * Loads the given XML Schema document into this factory so schema-aware</em>
+<a name="74" href="#74">74</a>  <em>     * Document, Elements and Attributes will be created by this factory.</em>
+<a name="75" href="#75">75</a>  <em>     * </em>
+<a name="76" href="#76">76</a>  <em>     * @param schemaDocument</em>
+<a name="77" href="#77">77</a>  <em>     *            is an XML Schema Document instance.</em>
+<a name="78" href="#78">78</a>  <em>     */</em>
+<a name="79" href="#79">79</a>      <strong>public</strong> <strong>void</strong> loadSchema(<a href="../../../org/dom4j/Document.html">Document</a> schemaDocument) {
+<a name="80" href="#80">80</a>          schemaBuilder.build(schemaDocument);
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> <strong>void</strong> loadSchema(<a href="../../../org/dom4j/Document.html">Document</a> schemaDocument, <a href="../../../org/dom4j/Namespace.html">Namespace</a> targetNamespace) {
+<a name="84" href="#84">84</a>          schemaBuilder.build(schemaDocument, targetNamespace);
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <em>/**<em>*</em></em>
+<a name="88" href="#88">88</a>  <em>     * Registers the given <code>DatatypeElementFactory</code> for the given</em>
+<a name="89" href="#89">89</a>  <em>     * &lt;element&gt; schema element</em>
+<a name="90" href="#90">90</a>  <em>     * </em>
+<a name="91" href="#91">91</a>  <em>     * @param elementQName</em>
+<a name="92" href="#92">92</a>  <em>     *            DOCUMENT ME!</em>
+<a name="93" href="#93">93</a>  <em>     * </em>
+<a name="94" href="#94">94</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="95" href="#95">95</a>  <em>     */</em>
+<a name="96" href="#96">96</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> getElementFactory(<a href="../../../org/dom4j/QName.html">QName</a> elementQName) {
+<a name="97" href="#97">97</a>          <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> result = <strong>null</strong>;
+<a name="98" href="#98">98</a>          
+<a name="99" href="#99">99</a>          <strong>if</strong> (DO_INTERN_QNAME) {
+<a name="100" href="#100">100</a>             elementQName = intern(elementQName);
+<a name="101" href="#101">101</a>         }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = elementQName.getDocumentFactory();
+<a name="104" href="#104">104</a>         <strong>if</strong> (factory instanceof DatatypeElementFactory) {
+<a name="105" href="#105">105</a>             result = (DatatypeElementFactory) factory;
+<a name="106" href="#106">106</a>         }
+<a name="107" href="#107">107</a>         
+<a name="108" href="#108">108</a>         <strong>return</strong> result;
+<a name="109" href="#109">109</a>     }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>     <em class="comment">// DocumentFactory methods</em>
+<a name="112" href="#112">112</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="113" href="#113">113</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../../org/dom4j/Element.html">Element</a> owner, <a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="114" href="#114">114</a>         <strong>if</strong> (autoLoadSchema && qname.equals(XSI_NO_SCHEMA_LOCATION)) {
+<a name="115" href="#115">115</a>             <a href="../../../org/dom4j/Document.html">Document</a> document = (owner != <strong>null</strong>) ? owner.getDocument() : <strong>null</strong>;
+<a name="116" href="#116">116</a>             loadSchema(document, value);
+<a name="117" href="#117">117</a>         } <strong>else</strong> <strong>if</strong> (autoLoadSchema && qname.equals(XSI_SCHEMA_LOCATION)) {
+<a name="118" href="#118">118</a>             <a href="../../../org/dom4j/Document.html">Document</a> document = (owner != <strong>null</strong>) ? owner.getDocument() : <strong>null</strong>;
+<a name="119" href="#119">119</a>             String uri = value.substring(0, value.indexOf(' '));
+<a name="120" href="#120">120</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = owner.getNamespaceForURI(uri);
+<a name="121" href="#121">121</a>             loadSchema(document, value.substring(value.indexOf(' ') + 1),
+<a name="122" href="#122">122</a>                     namespace);
+<a name="123" href="#123">123</a>         }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>         <strong>return</strong> <strong>super</strong>.createAttribute(owner, qname, value);
+<a name="126" href="#126">126</a>     }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>     <em class="comment">// Implementation methods</em>
+<a name="129" href="#129">129</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="130" href="#130">130</a>     <strong>protected</strong> <strong>void</strong> loadSchema(<a href="../../../org/dom4j/Document.html">Document</a> document, String schemaInstanceURI) {
+<a name="131" href="#131">131</a>         <strong>try</strong> {
+<a name="132" href="#132">132</a>             EntityResolver resolver = document.getEntityResolver();
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>             <strong>if</strong> (resolver == <strong>null</strong>) {
+<a name="135" href="#135">135</a>                 String msg = <span class="string">"No EntityResolver available for resolving URI: "</span>;
+<a name="136" href="#136">136</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(msg + schemaInstanceURI);
+<a name="137" href="#137">137</a>             }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>             InputSource inputSource = resolver.resolveEntity(<strong>null</strong>,
+<a name="140" href="#140">140</a>                     schemaInstanceURI);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>             <strong>if</strong> (resolver == <strong>null</strong>) {
+<a name="143" href="#143">143</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(<span class="string">"Could not resolve the URI: "</span>
+<a name="144" href="#144">144</a>                         + schemaInstanceURI);
+<a name="145" href="#145">145</a>             }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>             <a href="../../../org/dom4j/Document.html">Document</a> schemaDocument = xmlSchemaReader.read(inputSource);
+<a name="148" href="#148">148</a>             loadSchema(schemaDocument);
+<a name="149" href="#149">149</a>         } <strong>catch</strong> (Exception e) {
+<a name="150" href="#150">150</a>             System.out.println(<span class="string">"Failed to load schema: "</span> + schemaInstanceURI);
+<a name="151" href="#151">151</a>             System.out.println(<span class="string">"Caught: "</span> + e);
+<a name="152" href="#152">152</a>             e.printStackTrace();
+<a name="153" href="#153">153</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(<span class="string">"Failed to load schema: "</span>
+<a name="154" href="#154">154</a>                     + schemaInstanceURI);
+<a name="155" href="#155">155</a>         }
+<a name="156" href="#156">156</a>     }
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <strong>protected</strong> <strong>void</strong> loadSchema(<a href="../../../org/dom4j/Document.html">Document</a> document, String schemaInstanceURI,
+<a name="159" href="#159">159</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="160" href="#160">160</a>         <strong>try</strong> {
+<a name="161" href="#161">161</a>             EntityResolver resolver = document.getEntityResolver();
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>             <strong>if</strong> (resolver == <strong>null</strong>) {
+<a name="164" href="#164">164</a>                 String msg = <span class="string">"No EntityResolver available for resolving URI: "</span>;
+<a name="165" href="#165">165</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(msg + schemaInstanceURI);
+<a name="166" href="#166">166</a>             }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>             InputSource inputSource = resolver.resolveEntity(<strong>null</strong>,
+<a name="169" href="#169">169</a>                     schemaInstanceURI);
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>             <strong>if</strong> (resolver == <strong>null</strong>) {
+<a name="172" href="#172">172</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(<span class="string">"Could not resolve the URI: "</span>
+<a name="173" href="#173">173</a>                         + schemaInstanceURI);
+<a name="174" href="#174">174</a>             }
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>             <a href="../../../org/dom4j/Document.html">Document</a> schemaDocument = xmlSchemaReader.read(inputSource);
+<a name="177" href="#177">177</a>             loadSchema(schemaDocument, namespace);
+<a name="178" href="#178">178</a>         } <strong>catch</strong> (Exception e) {
+<a name="179" href="#179">179</a>             System.out.println(<span class="string">"Failed to load schema: "</span> + schemaInstanceURI);
+<a name="180" href="#180">180</a>             System.out.println(<span class="string">"Caught: "</span> + e);
+<a name="181" href="#181">181</a>             e.printStackTrace();
+<a name="182" href="#182">182</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(<span class="string">"Failed to load schema: "</span>
+<a name="183" href="#183">183</a>                     + schemaInstanceURI);
+<a name="184" href="#184">184</a>         }
+<a name="185" href="#185">185</a>     }
+<a name="186" href="#186">186</a> }
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a> <em class="comment">/*</em>
+<a name="189" href="#189">189</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="190" href="#190">190</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="191" href="#191">191</a> <em class="comment"> * following conditions are met:</em>
+<a name="192" href="#192">192</a> <em class="comment"> * </em>
+<a name="193" href="#193">193</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="194" href="#194">194</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="195" href="#195">195</a> <em class="comment"> * </em>
+<a name="196" href="#196">196</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="197" href="#197">197</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="198" href="#198">198</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="199" href="#199">199</a> <em class="comment"> * </em>
+<a name="200" href="#200">200</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="201" href="#201">201</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="202" href="#202">202</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="203" href="#203">203</a> <em class="comment"> * </em>
+<a name="204" href="#204">204</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="205" href="#205">205</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="206" href="#206">206</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="207" href="#207">207</a> <em class="comment"> * </em>
+<a name="208" href="#208">208</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="209" href="#209">209</a> <em class="comment"> * </em>
+<a name="210" href="#210">210</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="211" href="#211">211</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="212" href="#212">212</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="213" href="#213">213</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="214" href="#214">214</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="215" href="#215">215</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="216" href="#216">216</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="217" href="#217">217</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="218" href="#218">218</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="219" href="#219">219</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="220" href="#220">220</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="221" href="#221">221</a> <em class="comment"> * </em>
+<a name="222" href="#222">222</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="223" href="#223">223</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/datatype/DatatypeElement.html b/docs/xref/org/dom4j/datatype/DatatypeElement.html
new file mode 100644
index 0000000..11be055
--- /dev/null
+++ b/docs/xref/org/dom4j/datatype/DatatypeElement.html
@@ -0,0 +1,220 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DatatypeElement xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/datatype/DatatypeElement.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> com.sun.msv.datatype.DatabindableDatatype;
+<a name="11" href="#11">11</a>  <strong>import</strong> com.sun.msv.datatype.SerializationContext;
+<a name="12" href="#12">12</a>  <strong>import</strong> com.sun.msv.datatype.xsd.XSDatatype;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Element;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Node;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.QName;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.tree.DefaultElement;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.relaxng.datatype.DatatypeException;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.relaxng.datatype.ValidationContext;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em> * <p></em>
+<a name="25" href="#25">25</a>  <em> * <code>DatatypeElement</code> represents an Element which supports the <a</em>
+<a name="26" href="#26">26</a>  <em> * href="<a href="http://www.w3.org/TR/xmlschema-2/" target="alexandria_uri">http://www.w3.org/TR/xmlschema-2/</a>">XML Schema Data Types </a></em>
+<a name="27" href="#27">27</a>  <em> * specification.</em>
+<a name="28" href="#28">28</a>  <em> * </p></em>
+<a name="29" href="#29">29</a>  <em> * </em>
+<a name="30" href="#30">30</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="31" href="#31">31</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="32" href="#32">32</a>  <em> */</em>
+<a name="33" href="#33">33</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/DatatypeElement.html">DatatypeElement</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a> implements
+<a name="34" href="#34">34</a>          SerializationContext, ValidationContext {
+<a name="35" href="#35">35</a>      <em>/**<em>* The <code>XSDatatype</code> of the <code>Attribute</code> */</em></em>
+<a name="36" href="#36">36</a>      <strong>private</strong> XSDatatype datatype;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>* The data (Object) value of the <code>Attribute</code> */</em></em>
+<a name="39" href="#39">39</a>      <strong>private</strong> Object data;
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/DatatypeElement.html">DatatypeElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, XSDatatype datatype) {
+<a name="42" href="#42">42</a>          <strong>super</strong>(qname);
+<a name="43" href="#43">43</a>          <strong>this</strong>.datatype = datatype;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/DatatypeElement.html">DatatypeElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, <strong>int</strong> attributeCount, XSDatatype type) {
+<a name="47" href="#47">47</a>          <strong>super</strong>(qname, attributeCount);
+<a name="48" href="#48">48</a>          <strong>this</strong>.datatype = type;
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> String toString() {
+<a name="52" href="#52">52</a>          <strong>return</strong> getClass().getName() + hashCode() + <span class="string">" [Element: <"</span>
+<a name="53" href="#53">53</a>                  + getQualifiedName() + <span class="string">" attributes: "</span> + attributeList()
+<a name="54" href="#54">54</a>                  + <span class="string">" data: "</span> + getData() + <span class="string">" />]"</span>;
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <em>/**<em>*</em></em>
+<a name="58" href="#58">58</a>  <em>     * Returns the MSV XSDatatype for this node</em>
+<a name="59" href="#59">59</a>  <em>     * </em>
+<a name="60" href="#60">60</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="61" href="#61">61</a>  <em>     */</em>
+<a name="62" href="#62">62</a>      <strong>public</strong> XSDatatype getXSDatatype() {
+<a name="63" href="#63">63</a>          <strong>return</strong> datatype;
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <em class="comment">// SerializationContext interface</em>
+<a name="67" href="#67">67</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="68" href="#68">68</a>      <strong>public</strong> String getNamespacePrefix(String uri) {
+<a name="69" href="#69">69</a>          <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = getNamespaceForURI(uri);
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          <strong>return</strong> (namespace != <strong>null</strong>) ? namespace.getPrefix() : <strong>null</strong>;
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <em class="comment">// ValidationContext interface</em>
+<a name="75" href="#75">75</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="76" href="#76">76</a>      <strong>public</strong> String getBaseUri() {
+<a name="77" href="#77">77</a>          <em class="comment">// XXXX: could we use a Document for this?</em>
+<a name="78" href="#78">78</a>          <strong>return</strong> <strong>null</strong>;
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>boolean</strong> isNotation(String notationName) {
+<a name="82" href="#82">82</a>          <em class="comment">// XXXX: no way to do this yet in dom4j so assume false</em>
+<a name="83" href="#83">83</a>          <strong>return</strong> false;
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <strong>public</strong> <strong>boolean</strong> isUnparsedEntity(String entityName) {
+<a name="87" href="#87">87</a>          <em class="comment">// XXXX: no way to do this yet in dom4j so assume valid</em>
+<a name="88" href="#88">88</a>          <strong>return</strong> <strong>true</strong>;
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> String resolveNamespacePrefix(String prefix) {
+<a name="92" href="#92">92</a>          <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = getNamespaceForPrefix(prefix);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          <strong>if</strong> (namespace != <strong>null</strong>) {
+<a name="95" href="#95">95</a>              <strong>return</strong> namespace.getURI();
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          <strong>return</strong> <strong>null</strong>;
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <em class="comment">// Element interface</em>
+<a name="102" href="#102">102</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="103" href="#103">103</a>     <strong>public</strong> Object getData() {
+<a name="104" href="#104">104</a>         <strong>if</strong> (data == <strong>null</strong>) {
+<a name="105" href="#105">105</a>             String text = getTextTrim();
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>             <strong>if</strong> ((text != <strong>null</strong>) && (text.length() > 0)) {
+<a name="108" href="#108">108</a>                 <strong>if</strong> (datatype instanceof DatabindableDatatype) {
+<a name="109" href="#109">109</a>                     DatabindableDatatype bind = (DatabindableDatatype) datatype;
+<a name="110" href="#110">110</a>                     data = bind.createJavaObject(text, <strong>this</strong>);
+<a name="111" href="#111">111</a>                 } <strong>else</strong> {
+<a name="112" href="#112">112</a>                     data = datatype.createValue(text, <strong>this</strong>);
+<a name="113" href="#113">113</a>                 }
+<a name="114" href="#114">114</a>             }
+<a name="115" href="#115">115</a>         }
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         <strong>return</strong> data;
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <strong>public</strong> <strong>void</strong> setData(Object data) {
+<a name="121" href="#121">121</a>         String s = datatype.convertToLexicalValue(data, <strong>this</strong>);
+<a name="122" href="#122">122</a>         validate(s);
+<a name="123" href="#123">123</a>         <strong>this</strong>.data = data;
+<a name="124" href="#124">124</a>         setText(s);
+<a name="125" href="#125">125</a>     }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addText(String text) {
+<a name="128" href="#128">128</a>         validate(text);
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>         <strong>return</strong> <strong>super</strong>.addText(text);
+<a name="131" href="#131">131</a>     }
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>     <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="134" href="#134">134</a>         validate(text);
+<a name="135" href="#135">135</a>         <strong>super</strong>.setText(text);
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <em class="comment">// Implementation methods</em>
+<a name="139" href="#139">139</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>     <em>/**<em>*</em></em>
+<a name="142" href="#142">142</a> <em>     * Override to force lazy recreation of data object</em>
+<a name="143" href="#143">143</a> <em>     * </em>
+<a name="144" href="#144">144</a> <em>     * @param node</em>
+<a name="145" href="#145">145</a> <em>     *            DOCUMENT ME!</em>
+<a name="146" href="#146">146</a> <em>     */</em>
+<a name="147" href="#147">147</a>     <strong>protected</strong> <strong>void</strong> childAdded(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="148" href="#148">148</a>         data = <strong>null</strong>;
+<a name="149" href="#149">149</a>         <strong>super</strong>.childAdded(node);
+<a name="150" href="#150">150</a>     }
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>     <em>/**<em>*</em></em>
+<a name="153" href="#153">153</a> <em>     * Override to force lazy recreation of data object</em>
+<a name="154" href="#154">154</a> <em>     * </em>
+<a name="155" href="#155">155</a> <em>     * @param node</em>
+<a name="156" href="#156">156</a> <em>     *            DOCUMENT ME!</em>
+<a name="157" href="#157">157</a> <em>     */</em>
+<a name="158" href="#158">158</a>     <strong>protected</strong> <strong>void</strong> childRemoved(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="159" href="#159">159</a>         data = <strong>null</strong>;
+<a name="160" href="#160">160</a>         <strong>super</strong>.childRemoved(node);
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <strong>protected</strong> <strong>void</strong> validate(String text) throws IllegalArgumentException {
+<a name="164" href="#164">164</a>         <strong>try</strong> {
+<a name="165" href="#165">165</a>             datatype.checkValid(text, <strong>this</strong>);
+<a name="166" href="#166">166</a>         } <strong>catch</strong> (DatatypeException e) {
+<a name="167" href="#167">167</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException(e.getMessage());
+<a name="168" href="#168">168</a>         }
+<a name="169" href="#169">169</a>     }
+<a name="170" href="#170">170</a> }
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a> <em class="comment">/*</em>
+<a name="173" href="#173">173</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="174" href="#174">174</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="175" href="#175">175</a> <em class="comment"> * following conditions are met:</em>
+<a name="176" href="#176">176</a> <em class="comment"> * </em>
+<a name="177" href="#177">177</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="178" href="#178">178</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="179" href="#179">179</a> <em class="comment"> * </em>
+<a name="180" href="#180">180</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="181" href="#181">181</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="182" href="#182">182</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="183" href="#183">183</a> <em class="comment"> * </em>
+<a name="184" href="#184">184</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="185" href="#185">185</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="186" href="#186">186</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="187" href="#187">187</a> <em class="comment"> * </em>
+<a name="188" href="#188">188</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="189" href="#189">189</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="190" href="#190">190</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="191" href="#191">191</a> <em class="comment"> * </em>
+<a name="192" href="#192">192</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="193" href="#193">193</a> <em class="comment"> * </em>
+<a name="194" href="#194">194</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="195" href="#195">195</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="196" href="#196">196</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="197" href="#197">197</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="198" href="#198">198</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="199" href="#199">199</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="200" href="#200">200</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="201" href="#201">201</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="202" href="#202">202</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="203" href="#203">203</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="204" href="#204">204</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="205" href="#205">205</a> <em class="comment"> * </em>
+<a name="206" href="#206">206</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="207" href="#207">207</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/datatype/DatatypeElementFactory.html b/docs/xref/org/dom4j/datatype/DatatypeElementFactory.html
new file mode 100644
index 0000000..7f271dc
--- /dev/null
+++ b/docs/xref/org/dom4j/datatype/DatatypeElementFactory.html
@@ -0,0 +1,185 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DatatypeElementFactory xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/datatype/DatatypeElementFactory.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> com.sun.msv.datatype.xsd.XSDatatype;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.HashMap;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Map;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Element;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.QName;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * <p></em>
+<a name="22" href="#22">22</a>  <em> * <code>DatatypeElementFactory</code> is a factory for a specific Element in</em>
+<a name="23" href="#23">23</a>  <em> * an XML Schema.</em>
+<a name="24" href="#24">24</a>  <em> * </p></em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> * @author Yuxin Ruan</em>
+<a name="28" href="#28">28</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="29" href="#29">29</a>  <em> */</em>
+<a name="30" href="#30">30</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> <strong>extends</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> {
+<a name="31" href="#31">31</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> elementQName;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>*</em></em>
+<a name="34" href="#34">34</a>  <em>     * Cache of <code>XSDatatype</code> instances per Attribute</em>
+<a name="35" href="#35">35</a>  <em>     * <code>QName</code></em>
+<a name="36" href="#36">36</a>  <em>     */</em>
+<a name="37" href="#37">37</a>      <strong>private</strong> Map attributeXSDatatypes = <strong>new</strong> HashMap();
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>*</em></em>
+<a name="40" href="#40">40</a>  <em>     * Cache of <code>XSDatatype</code> instances per child Element</em>
+<a name="41" href="#41">41</a>  <em>     * <code>QName</code></em>
+<a name="42" href="#42">42</a>  <em>     */</em>
+<a name="43" href="#43">43</a>      <strong>private</strong> Map childrenXSDatatypes = <strong>new</strong> HashMap();
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a>(<a href="../../../org/dom4j/QName.html">QName</a> elementQName) {
+<a name="46" href="#46">46</a>          <strong>this</strong>.elementQName = elementQName;
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>*</em></em>
+<a name="50" href="#50">50</a>  <em>     * DOCUMENT ME!</em>
+<a name="51" href="#51">51</a>  <em>     * </em>
+<a name="52" href="#52">52</a>  <em>     * @return the QName this element factory is associated with</em>
+<a name="53" href="#53">53</a>  <em>     */</em>
+<a name="54" href="#54">54</a>      <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName() {
+<a name="55" href="#55">55</a>          <strong>return</strong> elementQName;
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <em>/**<em>*</em></em>
+<a name="59" href="#59">59</a>  <em>     * DOCUMENT ME!</em>
+<a name="60" href="#60">60</a>  <em>     * </em>
+<a name="61" href="#61">61</a>  <em>     * @param attributeQName</em>
+<a name="62" href="#62">62</a>  <em>     *            DOCUMENT ME!</em>
+<a name="63" href="#63">63</a>  <em>     * </em>
+<a name="64" href="#64">64</a>  <em>     * @return the <code>XSDatatype</code> associated with the given Attribute</em>
+<a name="65" href="#65">65</a>  <em>     *         QName</em>
+<a name="66" href="#66">66</a>  <em>     */</em>
+<a name="67" href="#67">67</a>      <strong>public</strong> XSDatatype getAttributeXSDatatype(<a href="../../../org/dom4j/QName.html">QName</a> attributeQName) {
+<a name="68" href="#68">68</a>          <strong>return</strong> (XSDatatype) attributeXSDatatypes.get(attributeQName);
+<a name="69" href="#69">69</a>      }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em>/**<em>*</em></em>
+<a name="72" href="#72">72</a>  <em>     * Registers the given <code>XSDatatype</code> for the given</em>
+<a name="73" href="#73">73</a>  <em>     * &lt;attribute&gt; QNames</em>
+<a name="74" href="#74">74</a>  <em>     * </em>
+<a name="75" href="#75">75</a>  <em>     * @param attributeQName</em>
+<a name="76" href="#76">76</a>  <em>     *            DOCUMENT ME!</em>
+<a name="77" href="#77">77</a>  <em>     * @param type</em>
+<a name="78" href="#78">78</a>  <em>     *            DOCUMENT ME!</em>
+<a name="79" href="#79">79</a>  <em>     */</em>
+<a name="80" href="#80">80</a>      <strong>public</strong> <strong>void</strong> setAttributeXSDatatype(<a href="../../../org/dom4j/QName.html">QName</a> attributeQName, XSDatatype type) {
+<a name="81" href="#81">81</a>          attributeXSDatatypes.put(attributeQName, type);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <em>/**<em>*</em></em>
+<a name="85" href="#85">85</a>  <em>     * DOCUMENT ME!</em>
+<a name="86" href="#86">86</a>  <em>     * </em>
+<a name="87" href="#87">87</a>  <em>     * @param qname</em>
+<a name="88" href="#88">88</a>  <em>     *            DOCUMENT ME!</em>
+<a name="89" href="#89">89</a>  <em>     * </em>
+<a name="90" href="#90">90</a>  <em>     * @return the <code>XSDatatype</code> associated with the given child</em>
+<a name="91" href="#91">91</a>  <em>     *         Element QName</em>
+<a name="92" href="#92">92</a>  <em>     */</em>
+<a name="93" href="#93">93</a>      <strong>public</strong> XSDatatype getChildElementXSDatatype(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="94" href="#94">94</a>          <strong>return</strong> (XSDatatype) childrenXSDatatypes.get(qname);
+<a name="95" href="#95">95</a>      }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <strong>public</strong> <strong>void</strong> setChildElementXSDatatype(<a href="../../../org/dom4j/QName.html">QName</a> qname, XSDatatype dataType) {
+<a name="98" href="#98">98</a>          childrenXSDatatypes.put(qname, dataType);
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <em class="comment">// DocumentFactory methods</em>
+<a name="102" href="#102">102</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="103" href="#103">103</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="104" href="#104">104</a>         <em class="comment">// the element may have its own element factory!</em>
+<a name="105" href="#105">105</a>         <em class="comment">// use factory from the qname for datatype</em>
+<a name="106" href="#106">106</a>         XSDatatype dataType = getChildElementXSDatatype(qname);
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>         <strong>if</strong> (dataType != <strong>null</strong>) {
+<a name="109" href="#109">109</a>             <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/DatatypeElement.html">DatatypeElement</a>(qname, dataType);
+<a name="110" href="#110">110</a>         }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = qname.getDocumentFactory();
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>         <strong>if</strong> (factory instanceof DatatypeElementFactory) {
+<a name="115" href="#115">115</a>             <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> dtFactory = (DatatypeElementFactory) factory;
+<a name="116" href="#116">116</a>             dataType = dtFactory.getChildElementXSDatatype(qname);
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>             <strong>if</strong> (dataType != <strong>null</strong>) {
+<a name="119" href="#119">119</a>                 <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/DatatypeElement.html">DatatypeElement</a>(qname, dataType);
+<a name="120" href="#120">120</a>             }
+<a name="121" href="#121">121</a>         }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>         <strong>return</strong> <strong>super</strong>.createElement(qname);
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../../org/dom4j/Element.html">Element</a> owner, <a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="127" href="#127">127</a>         XSDatatype dataType = getAttributeXSDatatype(qname);
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         <strong>if</strong> (dataType == <strong>null</strong>) {
+<a name="130" href="#130">130</a>             <strong>return</strong> <strong>super</strong>.createAttribute(owner, qname, value);
+<a name="131" href="#131">131</a>         } <strong>else</strong> {
+<a name="132" href="#132">132</a>             <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/DatatypeAttribute.html">DatatypeAttribute</a>(qname, dataType, value);
+<a name="133" href="#133">133</a>         }
+<a name="134" href="#134">134</a>     }
+<a name="135" href="#135">135</a> }
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a> <em class="comment">/*</em>
+<a name="138" href="#138">138</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="139" href="#139">139</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="140" href="#140">140</a> <em class="comment"> * following conditions are met:</em>
+<a name="141" href="#141">141</a> <em class="comment"> * </em>
+<a name="142" href="#142">142</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="143" href="#143">143</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="146" href="#146">146</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="147" href="#147">147</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="148" href="#148">148</a> <em class="comment"> * </em>
+<a name="149" href="#149">149</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="150" href="#150">150</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="151" href="#151">151</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="152" href="#152">152</a> <em class="comment"> * </em>
+<a name="153" href="#153">153</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="154" href="#154">154</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="155" href="#155">155</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="156" href="#156">156</a> <em class="comment"> * </em>
+<a name="157" href="#157">157</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="158" href="#158">158</a> <em class="comment"> * </em>
+<a name="159" href="#159">159</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="160" href="#160">160</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="161" href="#161">161</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="162" href="#162">162</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="163" href="#163">163</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="164" href="#164">164</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="165" href="#165">165</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="166" href="#166">166</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="167" href="#167">167</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="168" href="#168">168</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="169" href="#169">169</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="170" href="#170">170</a> <em class="comment"> * </em>
+<a name="171" href="#171">171</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="172" href="#172">172</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/datatype/InvalidSchemaException.html b/docs/xref/org/dom4j/datatype/InvalidSchemaException.html
new file mode 100644
index 0000000..11ccac3
--- /dev/null
+++ b/docs/xref/org/dom4j/datatype/InvalidSchemaException.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>InvalidSchemaException xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/datatype/InvalidSchemaException.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>InvalidSchemaException</code> is thrown when an invalid XML Schema</em>
+<a name="13" href="#13">13</a>  <em> * document is used</em>
+<a name="14" href="#14">14</a>  <em> * </p></em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a> <strong>extends</strong> IllegalArgumentException {
+<a name="19" href="#19">19</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(String reason) {
+<a name="20" href="#20">20</a>          <strong>super</strong>(reason);
+<a name="21" href="#21">21</a>      }
+<a name="22" href="#22">22</a>  }
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <em class="comment">/*</em>
+<a name="25" href="#25">25</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="26" href="#26">26</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="27" href="#27">27</a>  <em class="comment"> * following conditions are met:</em>
+<a name="28" href="#28">28</a>  <em class="comment"> * </em>
+<a name="29" href="#29">29</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="30" href="#30">30</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * </em>
+<a name="32" href="#32">32</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="33" href="#33">33</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="34" href="#34">34</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * </em>
+<a name="36" href="#36">36</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="37" href="#37">37</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * </em>
+<a name="40" href="#40">40</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="41" href="#41">41</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * </em>
+<a name="44" href="#44">44</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="45" href="#45">45</a>  <em class="comment"> * </em>
+<a name="46" href="#46">46</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="59" href="#59">59</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/datatype/NamedTypeResolver.html b/docs/xref/org/dom4j/datatype/NamedTypeResolver.html
new file mode 100644
index 0000000..5aaf2b6
--- /dev/null
+++ b/docs/xref/org/dom4j/datatype/NamedTypeResolver.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NamedTypeResolver xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/datatype/NamedTypeResolver.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> com.sun.msv.datatype.xsd.XSDatatype;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.HashMap;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Iterator;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.Map;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Element;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.QName;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * <p></em>
+<a name="22" href="#22">22</a>  <em> * <code>NamedTypeResolver</code> resolves named types for a given QName.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author Yuxin Ruan</em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>class</strong> <a href="../../../org/dom4j/datatype/NamedTypeResolver.html">NamedTypeResolver</a> {
+<a name="29" href="#29">29</a>      <strong>protected</strong> Map complexTypeMap = <strong>new</strong> HashMap();
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>protected</strong> Map simpleTypeMap = <strong>new</strong> HashMap();
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>protected</strong> Map typedElementMap = <strong>new</strong> HashMap();
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>protected</strong> Map elementFactoryMap = <strong>new</strong> HashMap();
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>protected</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <a href="../../../org/dom4j/datatype/NamedTypeResolver.html">NamedTypeResolver</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="40" href="#40">40</a>          <strong>this</strong>.documentFactory = documentFactory;
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>void</strong> registerComplexType(<a href="../../../org/dom4j/QName.html">QName</a> type, <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory) {
+<a name="44" href="#44">44</a>          complexTypeMap.put(type, factory);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>void</strong> registerSimpleType(<a href="../../../org/dom4j/QName.html">QName</a> type, XSDatatype datatype) {
+<a name="48" href="#48">48</a>          simpleTypeMap.put(type, datatype);
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>void</strong> registerTypedElement(<a href="../../../org/dom4j/Element.html">Element</a> element, <a href="../../../org/dom4j/QName.html">QName</a> type,
+<a name="52" href="#52">52</a>              <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> parentFactory) {
+<a name="53" href="#53">53</a>          typedElementMap.put(element, type);
+<a name="54" href="#54">54</a>          elementFactoryMap.put(element, parentFactory);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>void</strong> resolveElementTypes() {
+<a name="58" href="#58">58</a>          Iterator iterator = typedElementMap.keySet().iterator();
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>while</strong> (iterator.hasNext()) {
+<a name="61" href="#61">61</a>              <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) iterator.next();
+<a name="62" href="#62">62</a>              <a href="../../../org/dom4j/QName.html">QName</a> elementQName = getQNameOfSchemaElement(element);
+<a name="63" href="#63">63</a>              <a href="../../../org/dom4j/QName.html">QName</a> type = (QName) typedElementMap.get(element);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>              <strong>if</strong> (complexTypeMap.containsKey(type)) {
+<a name="66" href="#66">66</a>                  <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = (DocumentFactory) complexTypeMap
+<a name="67" href="#67">67</a>                          .get(type);
+<a name="68" href="#68">68</a>                  elementQName.setDocumentFactory(factory);
+<a name="69" href="#69">69</a>              } <strong>else</strong> <strong>if</strong> (simpleTypeMap.containsKey(type)) {
+<a name="70" href="#70">70</a>                  XSDatatype datatype = (XSDatatype) simpleTypeMap.get(type);
+<a name="71" href="#71">71</a>                  <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = (DocumentFactory) elementFactoryMap
+<a name="72" href="#72">72</a>                          .get(element);
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>                  <strong>if</strong> (factory instanceof DatatypeElementFactory) {
+<a name="75" href="#75">75</a>                      ((<a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a>) factory)
+<a name="76" href="#76">76</a>                              .setChildElementXSDatatype(elementQName, datatype);
+<a name="77" href="#77">77</a>                  }
+<a name="78" href="#78">78</a>              }
+<a name="79" href="#79">79</a>          }
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <strong>void</strong> resolveNamedTypes() {
+<a name="83" href="#83">83</a>          resolveElementTypes();
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQNameOfSchemaElement(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="87" href="#87">87</a>          String name = element.attributeValue(<span class="string">"name"</span>);
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          <strong>return</strong> getQName(name);
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName(String name) {
+<a name="93" href="#93">93</a>          <strong>return</strong> documentFactory.createQName(name);
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>  <em class="comment">/*</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="100" href="#100">100</a> <em class="comment"> * following conditions are met:</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="103" href="#103">103</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="104" href="#104">104</a> <em class="comment"> * </em>
+<a name="105" href="#105">105</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="106" href="#106">106</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="107" href="#107">107</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="108" href="#108">108</a> <em class="comment"> * </em>
+<a name="109" href="#109">109</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="110" href="#110">110</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="111" href="#111">111</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="112" href="#112">112</a> <em class="comment"> * </em>
+<a name="113" href="#113">113</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="114" href="#114">114</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="115" href="#115">115</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="116" href="#116">116</a> <em class="comment"> * </em>
+<a name="117" href="#117">117</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="118" href="#118">118</a> <em class="comment"> * </em>
+<a name="119" href="#119">119</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="120" href="#120">120</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="121" href="#121">121</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="122" href="#122">122</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="123" href="#123">123</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="124" href="#124">124</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="125" href="#125">125</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="126" href="#126">126</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="127" href="#127">127</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="128" href="#128">128</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="129" href="#129">129</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="132" href="#132">132</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/datatype/SchemaParser.html b/docs/xref/org/dom4j/datatype/SchemaParser.html
new file mode 100644
index 0000000..d05df69
--- /dev/null
+++ b/docs/xref/org/dom4j/datatype/SchemaParser.html
@@ -0,0 +1,620 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SchemaParser xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/datatype/SchemaParser.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> com.sun.msv.datatype.xsd.DatatypeFactory;
+<a name="11" href="#11">11</a>  <strong>import</strong> com.sun.msv.datatype.xsd.TypeIncubator;
+<a name="12" href="#12">12</a>  <strong>import</strong> com.sun.msv.datatype.xsd.XSDatatype;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.HashMap;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Iterator;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.Map;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Document;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.Element;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.QName;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.util.AttributeHelper;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>  <strong>import</strong> org.relaxng.datatype.DatatypeException;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.relaxng.datatype.ValidationContext;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>  <strong>import</strong> org.xml.sax.EntityResolver;
+<a name="31" href="#31">31</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>  <em>/**<em>*</em></em>
+<a name="34" href="#34">34</a>  <em> * <p></em>
+<a name="35" href="#35">35</a>  <em> * <code>SchemaParser</code> reads an XML Schema Document.</em>
+<a name="36" href="#36">36</a>  <em> * </p></em>
+<a name="37" href="#37">37</a>  <em> * </em>
+<a name="38" href="#38">38</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="39" href="#39">39</a>  <em> * @author Yuxin Ruan</em>
+<a name="40" href="#40">40</a>  <em> * @version $Revision: 1.19 $</em>
+<a name="41" href="#41">41</a>  <em> */</em>
+<a name="42" href="#42">42</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/datatype/SchemaParser.html">SchemaParser</a> {
+<a name="43" href="#43">43</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> XSD_NAMESPACE = Namespace.get(<span class="string">"xsd"</span>,
+<a name="44" href="#44">44</a>              <span class="string">"http://www.w3.org/2001/XMLSchema"</span>);
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em class="comment">// Use QNames for the elements</em>
+<a name="47" href="#47">47</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSD_ELEMENT = <a href="../../../org/dom4j/QName.html">QName</a>
+<a name="48" href="#48">48</a>              .get(<span class="string">"element"</span>, XSD_NAMESPACE);
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSD_ATTRIBUTE = QName.get(<span class="string">"attribute"</span>,
+<a name="51" href="#51">51</a>              XSD_NAMESPACE);
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSD_SIMPLETYPE = QName.get(<span class="string">"simpleType"</span>,
+<a name="54" href="#54">54</a>              XSD_NAMESPACE);
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSD_COMPLEXTYPE = QName.get(<span class="string">"complexType"</span>,
+<a name="57" href="#57">57</a>              XSD_NAMESPACE);
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSD_RESTRICTION = QName.get(<span class="string">"restriction"</span>,
+<a name="60" href="#60">60</a>              XSD_NAMESPACE);
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSD_SEQUENCE = QName.get(<span class="string">"sequence"</span>,
+<a name="63" href="#63">63</a>              XSD_NAMESPACE);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSD_CHOICE = QName.get(<span class="string">"choice"</span>, XSD_NAMESPACE);
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSD_ALL = QName.get(<span class="string">"all"</span>, XSD_NAMESPACE);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> XSD_INCLUDE = <a href="../../../org/dom4j/QName.html">QName</a>
+<a name="70" href="#70">70</a>              .get(<span class="string">"include"</span>, XSD_NAMESPACE);
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <em>/**<em>* <a href="../../../org/dom4j/Document.html">Document</a> factory used to register <a href="../../../org/dom4j/Element.html">Element</a> specific factories */</em></em>
+<a name="73" href="#73">73</a>      <strong>private</strong> <a href="../../../org/dom4j/datatype/DatatypeDocumentFactory.html">DatatypeDocumentFactory</a> documentFactory;
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <em>/**<em>*</em></em>
+<a name="76" href="#76">76</a>  <em>     * Cache of <code>XSDatatype</code> instances loaded or created during</em>
+<a name="77" href="#77">77</a>  <em>     * this build</em>
+<a name="78" href="#78">78</a>  <em>     */</em>
+<a name="79" href="#79">79</a>      <strong>private</strong> Map dataTypeCache = <strong>new</strong> HashMap();
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <em>/**<em>* <a href="../../../org/dom4j/datatype/NamedTypeResolver.html">NamedTypeResolver</a> */</em></em>
+<a name="82" href="#82">82</a>      <strong>private</strong> <a href="../../../org/dom4j/datatype/NamedTypeResolver.html">NamedTypeResolver</a> namedTypeResolver;
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <em>/**<em>* target namespace */</em></em>
+<a name="85" href="#85">85</a>      <strong>private</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> targetNamespace;
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/SchemaParser.html">SchemaParser</a>() {
+<a name="88" href="#88">88</a>          <strong>this</strong>(DatatypeDocumentFactory.singleton);
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> <a href="../../../org/dom4j/datatype/SchemaParser.html">SchemaParser</a>(<a href="../../../org/dom4j/datatype/DatatypeDocumentFactory.html">DatatypeDocumentFactory</a> documentFactory) {
+<a name="92" href="#92">92</a>          <strong>this</strong>.documentFactory = documentFactory;
+<a name="93" href="#93">93</a>          <strong>this</strong>.namedTypeResolver = <strong>new</strong> <a href="../../../org/dom4j/datatype/NamedTypeResolver.html">NamedTypeResolver</a>(documentFactory);
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <em>/**<em>*</em></em>
+<a name="97" href="#97">97</a>  <em>     * Parses the given schema document</em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     * @param schemaDocument</em>
+<a name="100" href="#100">100</a> <em>     *            is the document of the XML Schema</em>
+<a name="101" href="#101">101</a> <em>     */</em>
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>void</strong> build(<a href="../../../org/dom4j/Document.html">Document</a> schemaDocument) {
+<a name="103" href="#103">103</a>         <strong>this</strong>.targetNamespace = <strong>null</strong>;
+<a name="104" href="#104">104</a>         internalBuild(schemaDocument);
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong>public</strong> <strong>void</strong> build(<a href="../../../org/dom4j/Document.html">Document</a> schemaDocument, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="108" href="#108">108</a>         <strong>this</strong>.targetNamespace = namespace;
+<a name="109" href="#109">109</a>         internalBuild(schemaDocument);
+<a name="110" href="#110">110</a>     }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <strong>private</strong> <strong>synchronized</strong> <strong>void</strong> internalBuild(<a href="../../../org/dom4j/Document.html">Document</a> schemaDocument) {
+<a name="113" href="#113">113</a>         <a href="../../../org/dom4j/Element.html">Element</a> root = schemaDocument.getRootElement();
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         <strong>if</strong> (root != <strong>null</strong>) {
+<a name="116" href="#116">116</a>             <em class="comment">// handle schema includes</em>
+<a name="117" href="#117">117</a>             Iterator includeIter = root.elementIterator(XSD_INCLUDE);
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>             <strong>while</strong> (includeIter.hasNext()) {
+<a name="120" href="#120">120</a>                 <a href="../../../org/dom4j/Element.html">Element</a> includeElement = (Element) includeIter.next();
+<a name="121" href="#121">121</a>                 String inclSchemaInstanceURI = includeElement
+<a name="122" href="#122">122</a>                         .attributeValue(<span class="string">"schemaLocation"</span>);
+<a name="123" href="#123">123</a>                 EntityResolver resolver = schemaDocument.getEntityResolver();
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>                 <strong>try</strong> {
+<a name="126" href="#126">126</a>                     <strong>if</strong> (resolver == <strong>null</strong>) {
+<a name="127" href="#127">127</a>                         String msg = <span class="string">"No EntityResolver available"</span>;
+<a name="128" href="#128">128</a>                         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(msg);
+<a name="129" href="#129">129</a>                     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>                     InputSource inputSource = resolver.resolveEntity(<strong>null</strong>,
+<a name="132" href="#132">132</a>                             inclSchemaInstanceURI);
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>                     <strong>if</strong> (inputSource == <strong>null</strong>) {
+<a name="135" href="#135">135</a>                         String msg = <span class="string">"Could not resolve the schema URI: "</span>
+<a name="136" href="#136">136</a>                                 + inclSchemaInstanceURI;
+<a name="137" href="#137">137</a>                         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(msg);
+<a name="138" href="#138">138</a>                     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>                     <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a> reader = <strong>new</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>();
+<a name="141" href="#141">141</a>                     <a href="../../../org/dom4j/Document.html">Document</a> inclSchemaDocument = reader.read(inputSource);
+<a name="142" href="#142">142</a>                     build(inclSchemaDocument);
+<a name="143" href="#143">143</a>                 } <strong>catch</strong> (Exception e) {
+<a name="144" href="#144">144</a>                     System.out.println(<span class="string">"Failed to load schema: "</span>
+<a name="145" href="#145">145</a>                             + inclSchemaInstanceURI);
+<a name="146" href="#146">146</a>                     System.out.println(<span class="string">"Caught: "</span> + e);
+<a name="147" href="#147">147</a>                     e.printStackTrace();
+<a name="148" href="#148">148</a>                     <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(<span class="string">"Failed to load schema: "</span>
+<a name="149" href="#149">149</a>                             + inclSchemaInstanceURI);
+<a name="150" href="#150">150</a>                 }
+<a name="151" href="#151">151</a>             }
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>             <em class="comment">// handle elements</em>
+<a name="154" href="#154">154</a>             Iterator iter = root.elementIterator(XSD_ELEMENT);
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>             <strong>while</strong> (iter.hasNext()) {
+<a name="157" href="#157">157</a>                 onDatatypeElement((Element) iter.next(), documentFactory);
+<a name="158" href="#158">158</a>             }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>             <em class="comment">// handle named simple types</em>
+<a name="161" href="#161">161</a>             iter = root.elementIterator(XSD_SIMPLETYPE);
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>             <strong>while</strong> (iter.hasNext()) {
+<a name="164" href="#164">164</a>                 onNamedSchemaSimpleType((Element) iter.next());
+<a name="165" href="#165">165</a>             }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>             <em class="comment">// hanlde named complex types</em>
+<a name="168" href="#168">168</a>             iter = root.elementIterator(XSD_COMPLEXTYPE);
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>             <strong>while</strong> (iter.hasNext()) {
+<a name="171" href="#171">171</a>                 onNamedSchemaComplexType((Element) iter.next());
+<a name="172" href="#172">172</a>             }
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>             namedTypeResolver.resolveNamedTypes();
+<a name="175" href="#175">175</a>         }
+<a name="176" href="#176">176</a>     }
+<a name="177" href="#177">177</a> 
+<a name="178" href="#178">178</a>     <em class="comment">// Implementation methods</em>
+<a name="179" href="#179">179</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>     <em>/**<em>*</em></em>
+<a name="182" href="#182">182</a> <em>     * processes an XML Schema &lt;element&gt; tag</em>
+<a name="183" href="#183">183</a> <em>     * </em>
+<a name="184" href="#184">184</a> <em>     * @param xsdElement</em>
+<a name="185" href="#185">185</a> <em>     *            DOCUMENT ME!</em>
+<a name="186" href="#186">186</a> <em>     * @param parentFactory</em>
+<a name="187" href="#187">187</a> <em>     *            DOCUMENT ME!</em>
+<a name="188" href="#188">188</a> <em>     */</em>
+<a name="189" href="#189">189</a>     <strong>private</strong> <strong>void</strong> onDatatypeElement(<a href="../../../org/dom4j/Element.html">Element</a> xsdElement,
+<a name="190" href="#190">190</a>             <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> parentFactory) {
+<a name="191" href="#191">191</a>         String name = xsdElement.attributeValue(<span class="string">"name"</span>);
+<a name="192" href="#192">192</a>         String type = xsdElement.attributeValue(<span class="string">"type"</span>);
+<a name="193" href="#193">193</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = getQName(name);
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>         <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> factory = getDatatypeElementFactory(qname);
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>         <strong>if</strong> (type != <strong>null</strong>) {
+<a name="198" href="#198">198</a>             <em class="comment">// register type with this element name</em>
+<a name="199" href="#199">199</a>             XSDatatype dataType = getTypeByName(type);
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>             <strong>if</strong> (dataType != <strong>null</strong>) {
+<a name="202" href="#202">202</a>                 factory.setChildElementXSDatatype(qname, dataType);
+<a name="203" href="#203">203</a>             } <strong>else</strong> {
+<a name="204" href="#204">204</a>                 <a href="../../../org/dom4j/QName.html">QName</a> typeQName = getQName(type);
+<a name="205" href="#205">205</a>                 namedTypeResolver.registerTypedElement(xsdElement, typeQName,
+<a name="206" href="#206">206</a>                         parentFactory);
+<a name="207" href="#207">207</a>             }
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>             <strong>return</strong>;
+<a name="210" href="#210">210</a>         }
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>         <em class="comment">// handle element types derrived from simpleTypes</em>
+<a name="213" href="#213">213</a>         <a href="../../../org/dom4j/Element.html">Element</a> xsdSimpleType = xsdElement.element(XSD_SIMPLETYPE);
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>         <strong>if</strong> (xsdSimpleType != <strong>null</strong>) {
+<a name="216" href="#216">216</a>             XSDatatype dataType = loadXSDatatypeFromSimpleType(xsdSimpleType);
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>             <strong>if</strong> (dataType != <strong>null</strong>) {
+<a name="219" href="#219">219</a>                 factory.setChildElementXSDatatype(qname, dataType);
+<a name="220" href="#220">220</a>             }
+<a name="221" href="#221">221</a>         }
+<a name="222" href="#222">222</a> 
+<a name="223" href="#223">223</a>         <a href="../../../org/dom4j/Element.html">Element</a> schemaComplexType = xsdElement.element(XSD_COMPLEXTYPE);
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>         <strong>if</strong> (schemaComplexType != <strong>null</strong>) {
+<a name="226" href="#226">226</a>             onSchemaComplexType(schemaComplexType, factory);
+<a name="227" href="#227">227</a>         }
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>         Iterator iter = xsdElement.elementIterator(XSD_ATTRIBUTE);
+<a name="230" href="#230">230</a> 
+<a name="231" href="#231">231</a>         <strong>if</strong> (iter.hasNext()) {
+<a name="232" href="#232">232</a>             <strong>do</strong> {
+<a name="233" href="#233">233</a>                 onDatatypeAttribute(xsdElement, factory, (Element) iter
+<a name="234" href="#234">234</a>                         .next());
+<a name="235" href="#235">235</a>             } <strong>while</strong> (iter.hasNext());
+<a name="236" href="#236">236</a>         }
+<a name="237" href="#237">237</a>     }
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>     <em>/**<em>*</em></em>
+<a name="240" href="#240">240</a> <em>     * processes an named XML Schema &lt;complexTypegt; tag</em>
+<a name="241" href="#241">241</a> <em>     * </em>
+<a name="242" href="#242">242</a> <em>     * @param schemaComplexType</em>
+<a name="243" href="#243">243</a> <em>     *            DOCUMENT ME!</em>
+<a name="244" href="#244">244</a> <em>     */</em>
+<a name="245" href="#245">245</a>     <strong>private</strong> <strong>void</strong> onNamedSchemaComplexType(<a href="../../../org/dom4j/Element.html">Element</a> schemaComplexType) {
+<a name="246" href="#246">246</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> nameAttr = schemaComplexType.attribute(<span class="string">"name"</span>);
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>         <strong>if</strong> (nameAttr == <strong>null</strong>) {
+<a name="249" href="#249">249</a>             <strong>return</strong>;
+<a name="250" href="#250">250</a>         }
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>         String name = nameAttr.getText();
+<a name="253" href="#253">253</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = getQName(name);
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>         <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> factory = getDatatypeElementFactory(qname);
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>         onSchemaComplexType(schemaComplexType, factory);
+<a name="258" href="#258">258</a>         namedTypeResolver.registerComplexType(qname, factory);
+<a name="259" href="#259">259</a>     }
+<a name="260" href="#260">260</a> 
+<a name="261" href="#261">261</a>     <em>/**<em>*</em></em>
+<a name="262" href="#262">262</a> <em>     * processes an XML Schema &lt;complexTypegt; tag</em>
+<a name="263" href="#263">263</a> <em>     * </em>
+<a name="264" href="#264">264</a> <em>     * @param schemaComplexType</em>
+<a name="265" href="#265">265</a> <em>     *            DOCUMENT ME!</em>
+<a name="266" href="#266">266</a> <em>     * @param elementFactory</em>
+<a name="267" href="#267">267</a> <em>     *            DOCUMENT ME!</em>
+<a name="268" href="#268">268</a> <em>     */</em>
+<a name="269" href="#269">269</a>     <strong>private</strong> <strong>void</strong> onSchemaComplexType(<a href="../../../org/dom4j/Element.html">Element</a> schemaComplexType,
+<a name="270" href="#270">270</a>             <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> elementFactory) {
+<a name="271" href="#271">271</a>         Iterator iter = schemaComplexType.elementIterator(XSD_ATTRIBUTE);
+<a name="272" href="#272">272</a> 
+<a name="273" href="#273">273</a>         <strong>while</strong> (iter.hasNext()) {
+<a name="274" href="#274">274</a>             <a href="../../../org/dom4j/Element.html">Element</a> xsdAttribute = (Element) iter.next();
+<a name="275" href="#275">275</a>             String name = xsdAttribute.attributeValue(<span class="string">"name"</span>);
+<a name="276" href="#276">276</a>             <a href="../../../org/dom4j/QName.html">QName</a> qname = getQName(name);
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>             XSDatatype dataType = dataTypeForXsdAttribute(xsdAttribute);
+<a name="279" href="#279">279</a> 
+<a name="280" href="#280">280</a>             <strong>if</strong> (dataType != <strong>null</strong>) {
+<a name="281" href="#281">281</a>                 <em class="comment">// register the XSDatatype for the given Attribute</em>
+<a name="282" href="#282">282</a>                 <em class="comment">// #### should both these be done?</em>
+<a name="283" href="#283">283</a>                 <em class="comment">// elementFactory.setChildElementXSDatatype( qname, dataType );</em>
+<a name="284" href="#284">284</a>                 elementFactory.setAttributeXSDatatype(qname, dataType);
+<a name="285" href="#285">285</a>             }
+<a name="286" href="#286">286</a>         }
+<a name="287" href="#287">287</a> 
+<a name="288" href="#288">288</a>         <em class="comment">// handle sequence definition</em>
+<a name="289" href="#289">289</a>         <a href="../../../org/dom4j/Element.html">Element</a> schemaSequence = schemaComplexType.element(XSD_SEQUENCE);
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>         <strong>if</strong> (schemaSequence != <strong>null</strong>) {
+<a name="292" href="#292">292</a>             onChildElements(schemaSequence, elementFactory);
+<a name="293" href="#293">293</a>         }
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>         <em class="comment">// handle choice definition</em>
+<a name="296" href="#296">296</a>         <a href="../../../org/dom4j/Element.html">Element</a> schemaChoice = schemaComplexType.element(XSD_CHOICE);
+<a name="297" href="#297">297</a> 
+<a name="298" href="#298">298</a>         <strong>if</strong> (schemaChoice != <strong>null</strong>) {
+<a name="299" href="#299">299</a>             onChildElements(schemaChoice, elementFactory);
+<a name="300" href="#300">300</a>         }
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>         <em class="comment">// handle all definition</em>
+<a name="303" href="#303">303</a>         <a href="../../../org/dom4j/Element.html">Element</a> schemaAll = schemaComplexType.element(XSD_ALL);
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>         <strong>if</strong> (schemaAll != <strong>null</strong>) {
+<a name="306" href="#306">306</a>             onChildElements(schemaAll, elementFactory);
+<a name="307" href="#307">307</a>         }
+<a name="308" href="#308">308</a>     }
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a>     <strong>private</strong> <strong>void</strong> onChildElements(<a href="../../../org/dom4j/Element.html">Element</a> element, <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> fact) {
+<a name="311" href="#311">311</a>         Iterator iter = element.elementIterator(XSD_ELEMENT);
+<a name="312" href="#312">312</a> 
+<a name="313" href="#313">313</a>         <strong>while</strong> (iter.hasNext()) {
+<a name="314" href="#314">314</a>             <a href="../../../org/dom4j/Element.html">Element</a> xsdElement = (Element) iter.next();
+<a name="315" href="#315">315</a>             onDatatypeElement(xsdElement, fact);
+<a name="316" href="#316">316</a>         }
+<a name="317" href="#317">317</a>     }
+<a name="318" href="#318">318</a> 
+<a name="319" href="#319">319</a>     <em>/**<em>*</em></em>
+<a name="320" href="#320">320</a> <em>     * processes an XML Schema &lt;attribute&gt; tag</em>
+<a name="321" href="#321">321</a> <em>     * </em>
+<a name="322" href="#322">322</a> <em>     * @param xsdElement</em>
+<a name="323" href="#323">323</a> <em>     *            DOCUMENT ME!</em>
+<a name="324" href="#324">324</a> <em>     * @param elementFactory</em>
+<a name="325" href="#325">325</a> <em>     *            DOCUMENT ME!</em>
+<a name="326" href="#326">326</a> <em>     * @param xsdAttribute</em>
+<a name="327" href="#327">327</a> <em>     *            DOCUMENT ME!</em>
+<a name="328" href="#328">328</a> <em>     */</em>
+<a name="329" href="#329">329</a>     <strong>private</strong> <strong>void</strong> onDatatypeAttribute(<a href="../../../org/dom4j/Element.html">Element</a> xsdElement,
+<a name="330" href="#330">330</a>             <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> elementFactory, <a href="../../../org/dom4j/Element.html">Element</a> xsdAttribute) {
+<a name="331" href="#331">331</a>         String name = xsdAttribute.attributeValue(<span class="string">"name"</span>);
+<a name="332" href="#332">332</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = getQName(name);
+<a name="333" href="#333">333</a>         XSDatatype dataType = dataTypeForXsdAttribute(xsdAttribute);
+<a name="334" href="#334">334</a> 
+<a name="335" href="#335">335</a>         <strong>if</strong> (dataType != <strong>null</strong>) {
+<a name="336" href="#336">336</a>             <em class="comment">// register the XSDatatype for the given Attribute</em>
+<a name="337" href="#337">337</a>             elementFactory.setAttributeXSDatatype(qname, dataType);
+<a name="338" href="#338">338</a>         } <strong>else</strong> {
+<a name="339" href="#339">339</a>             String type = xsdAttribute.attributeValue(<span class="string">"type"</span>);
+<a name="340" href="#340">340</a>             System.out.println(<span class="string">"Warning: Couldn't find XSDatatype for type: "</span>
+<a name="341" href="#341">341</a>                     + type + <span class="string">" attribute: "</span> + name);
+<a name="342" href="#342">342</a>         }
+<a name="343" href="#343">343</a>     }
+<a name="344" href="#344">344</a> 
+<a name="345" href="#345">345</a>     <em>/**<em>*</em></em>
+<a name="346" href="#346">346</a> <em>     * processes an XML Schema &lt;attribute&gt; tag</em>
+<a name="347" href="#347">347</a> <em>     * </em>
+<a name="348" href="#348">348</a> <em>     * @param xsdAttribute</em>
+<a name="349" href="#349">349</a> <em>     *            DOCUMENT ME!</em>
+<a name="350" href="#350">350</a> <em>     * </em>
+<a name="351" href="#351">351</a> <em>     * @return DOCUMENT ME!</em>
+<a name="352" href="#352">352</a> <em>     * </em>
+<a name="353" href="#353">353</a> <em>     * @throws InvalidSchemaException</em>
+<a name="354" href="#354">354</a> <em>     *             DOCUMENT ME!</em>
+<a name="355" href="#355">355</a> <em>     */</em>
+<a name="356" href="#356">356</a>     <strong>private</strong> XSDatatype dataTypeForXsdAttribute(<a href="../../../org/dom4j/Element.html">Element</a> xsdAttribute) {
+<a name="357" href="#357">357</a>         String type = xsdAttribute.attributeValue(<span class="string">"type"</span>);
+<a name="358" href="#358">358</a>         XSDatatype dataType = <strong>null</strong>;
+<a name="359" href="#359">359</a> 
+<a name="360" href="#360">360</a>         <strong>if</strong> (type != <strong>null</strong>) {
+<a name="361" href="#361">361</a>             dataType = getTypeByName(type);
+<a name="362" href="#362">362</a>         } <strong>else</strong> {
+<a name="363" href="#363">363</a>             <em class="comment">// must parse the <simpleType> element</em>
+<a name="364" href="#364">364</a>             <a href="../../../org/dom4j/Element.html">Element</a> xsdSimpleType = xsdAttribute.element(XSD_SIMPLETYPE);
+<a name="365" href="#365">365</a> 
+<a name="366" href="#366">366</a>             <strong>if</strong> (xsdSimpleType == <strong>null</strong>) {
+<a name="367" href="#367">367</a>                 String name = xsdAttribute.attributeValue(<span class="string">"name"</span>);
+<a name="368" href="#368">368</a>                 String msg = <span class="string">"The attribute: "</span> + name
+<a name="369" href="#369">369</a>                         + <span class="string">" has no type attribute and does not contain a "</span>
+<a name="370" href="#370">370</a>                         + <span class="string">"<simpleType/> element"</span>;
+<a name="371" href="#371">371</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(msg);
+<a name="372" href="#372">372</a>             }
+<a name="373" href="#373">373</a> 
+<a name="374" href="#374">374</a>             dataType = loadXSDatatypeFromSimpleType(xsdSimpleType);
+<a name="375" href="#375">375</a>         }
+<a name="376" href="#376">376</a> 
+<a name="377" href="#377">377</a>         <strong>return</strong> dataType;
+<a name="378" href="#378">378</a>     }
+<a name="379" href="#379">379</a> 
+<a name="380" href="#380">380</a>     <em>/**<em>*</em></em>
+<a name="381" href="#381">381</a> <em>     * processes an named XML Schema &lt;simpleTypegt; tag</em>
+<a name="382" href="#382">382</a> <em>     * </em>
+<a name="383" href="#383">383</a> <em>     * @param schemaSimpleType</em>
+<a name="384" href="#384">384</a> <em>     *            DOCUMENT ME!</em>
+<a name="385" href="#385">385</a> <em>     */</em>
+<a name="386" href="#386">386</a>     <strong>private</strong> <strong>void</strong> onNamedSchemaSimpleType(<a href="../../../org/dom4j/Element.html">Element</a> schemaSimpleType) {
+<a name="387" href="#387">387</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> nameAttr = schemaSimpleType.attribute(<span class="string">"name"</span>);
+<a name="388" href="#388">388</a> 
+<a name="389" href="#389">389</a>         <strong>if</strong> (nameAttr == <strong>null</strong>) {
+<a name="390" href="#390">390</a>             <strong>return</strong>;
+<a name="391" href="#391">391</a>         }
+<a name="392" href="#392">392</a> 
+<a name="393" href="#393">393</a>         String name = nameAttr.getText();
+<a name="394" href="#394">394</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = getQName(name);
+<a name="395" href="#395">395</a>         XSDatatype datatype = loadXSDatatypeFromSimpleType(schemaSimpleType);
+<a name="396" href="#396">396</a>         namedTypeResolver.registerSimpleType(qname, datatype);
+<a name="397" href="#397">397</a>     }
+<a name="398" href="#398">398</a> 
+<a name="399" href="#399">399</a>     <em>/**<em>*</em></em>
+<a name="400" href="#400">400</a> <em>     * Loads a XSDatatype object from a &lt;simpleType&gt; attribute schema</em>
+<a name="401" href="#401">401</a> <em>     * element</em>
+<a name="402" href="#402">402</a> <em>     * </em>
+<a name="403" href="#403">403</a> <em>     * @param xsdSimpleType</em>
+<a name="404" href="#404">404</a> <em>     *            DOCUMENT ME!</em>
+<a name="405" href="#405">405</a> <em>     * </em>
+<a name="406" href="#406">406</a> <em>     * @return DOCUMENT ME!</em>
+<a name="407" href="#407">407</a> <em>     */</em>
+<a name="408" href="#408">408</a>     <strong>private</strong> XSDatatype loadXSDatatypeFromSimpleType(<a href="../../../org/dom4j/Element.html">Element</a> xsdSimpleType) {
+<a name="409" href="#409">409</a>         <a href="../../../org/dom4j/Element.html">Element</a> xsdRestriction = xsdSimpleType.element(XSD_RESTRICTION);
+<a name="410" href="#410">410</a> 
+<a name="411" href="#411">411</a>         <strong>if</strong> (xsdRestriction != <strong>null</strong>) {
+<a name="412" href="#412">412</a>             String base = xsdRestriction.attributeValue(<span class="string">"base"</span>);
+<a name="413" href="#413">413</a> 
+<a name="414" href="#414">414</a>             <strong>if</strong> (base != <strong>null</strong>) {
+<a name="415" href="#415">415</a>                 XSDatatype baseType = getTypeByName(base);
+<a name="416" href="#416">416</a> 
+<a name="417" href="#417">417</a>                 <strong>if</strong> (baseType == <strong>null</strong>) {
+<a name="418" href="#418">418</a>                     onSchemaError(<span class="string">"Invalid base type: "</span> + base
+<a name="419" href="#419">419</a>                             + <span class="string">" when trying to build restriction: "</span>
+<a name="420" href="#420">420</a>                             + xsdRestriction);
+<a name="421" href="#421">421</a>                 } <strong>else</strong> {
+<a name="422" href="#422">422</a>                     <strong>return</strong> deriveSimpleType(baseType, xsdRestriction);
+<a name="423" href="#423">423</a>                 }
+<a name="424" href="#424">424</a>             } <strong>else</strong> {
+<a name="425" href="#425">425</a>                 <em class="comment">// simpleType and base are mutually exclusive and you</em>
+<a name="426" href="#426">426</a>                 <em class="comment">// must have one within a <restriction> tag</em>
+<a name="427" href="#427">427</a>                 <a href="../../../org/dom4j/Element.html">Element</a> xsdSubType = xsdSimpleType.element(XSD_SIMPLETYPE);
+<a name="428" href="#428">428</a> 
+<a name="429" href="#429">429</a>                 <strong>if</strong> (xsdSubType == <strong>null</strong>) {
+<a name="430" href="#430">430</a>                     String msg = <span class="string">"The simpleType element: "</span> + xsdSimpleType
+<a name="431" href="#431">431</a>                             + <span class="string">" must contain a base attribute or simpleType"</span>
+<a name="432" href="#432">432</a>                             + <span class="string">" element"</span>;
+<a name="433" href="#433">433</a>                     onSchemaError(msg);
+<a name="434" href="#434">434</a>                 } <strong>else</strong> {
+<a name="435" href="#435">435</a>                     <strong>return</strong> loadXSDatatypeFromSimpleType(xsdSubType);
+<a name="436" href="#436">436</a>                 }
+<a name="437" href="#437">437</a>             }
+<a name="438" href="#438">438</a>         } <strong>else</strong> {
+<a name="439" href="#439">439</a>             onSchemaError(<span class="string">"No <restriction>. Could not create XSDatatype for"</span>
+<a name="440" href="#440">440</a>                     + <span class="string">" simpleType: "</span> + xsdSimpleType);
+<a name="441" href="#441">441</a>         }
+<a name="442" href="#442">442</a> 
+<a name="443" href="#443">443</a>         <strong>return</strong> <strong>null</strong>;
+<a name="444" href="#444">444</a>     }
+<a name="445" href="#445">445</a> 
+<a name="446" href="#446">446</a>     <em>/**<em>*</em></em>
+<a name="447" href="#447">447</a> <em>     * Derives a new type from a base type and a set of restrictions</em>
+<a name="448" href="#448">448</a> <em>     * </em>
+<a name="449" href="#449">449</a> <em>     * @param baseType</em>
+<a name="450" href="#450">450</a> <em>     *            DOCUMENT ME!</em>
+<a name="451" href="#451">451</a> <em>     * @param xsdRestriction</em>
+<a name="452" href="#452">452</a> <em>     *            DOCUMENT ME!</em>
+<a name="453" href="#453">453</a> <em>     * </em>
+<a name="454" href="#454">454</a> <em>     * @return DOCUMENT ME!</em>
+<a name="455" href="#455">455</a> <em>     */</em>
+<a name="456" href="#456">456</a>     <strong>private</strong> XSDatatype deriveSimpleType(XSDatatype baseType,
+<a name="457" href="#457">457</a>             <a href="../../../org/dom4j/Element.html">Element</a> xsdRestriction) {
+<a name="458" href="#458">458</a>         TypeIncubator incubator = <strong>new</strong> TypeIncubator(baseType);
+<a name="459" href="#459">459</a>         ValidationContext context = <strong>null</strong>;
+<a name="460" href="#460">460</a> 
+<a name="461" href="#461">461</a>         <strong>try</strong> {
+<a name="462" href="#462">462</a>             <strong>for</strong> (Iterator iter = xsdRestriction.elementIterator(); iter
+<a name="463" href="#463">463</a>                     .hasNext();) {
+<a name="464" href="#464">464</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) iter.next();
+<a name="465" href="#465">465</a>                 String name = element.getName();
+<a name="466" href="#466">466</a>                 String value = element.attributeValue(<span class="string">"value"</span>);
+<a name="467" href="#467">467</a>                 <strong>boolean</strong> fixed = AttributeHelper.<strong>boolean</strong>Value(element, <span class="string">"fixed"</span>);
+<a name="468" href="#468">468</a> 
+<a name="469" href="#469">469</a>                 <em class="comment">// add facet</em>
+<a name="470" href="#470">470</a>                 incubator.addFacet(name, value, fixed, context);
+<a name="471" href="#471">471</a>             }
+<a name="472" href="#472">472</a> 
+<a name="473" href="#473">473</a>             <em class="comment">// derive a new type by those facets</em>
+<a name="474" href="#474">474</a>             String newTypeName = <strong>null</strong>;
+<a name="475" href="#475">475</a> 
+<a name="476" href="#476">476</a>             <strong>return</strong> incubator.derive(<span class="string">""</span>, newTypeName);
+<a name="477" href="#477">477</a>         } <strong>catch</strong> (DatatypeException e) {
+<a name="478" href="#478">478</a>             onSchemaError(<span class="string">"Invalid restriction: "</span> + e.getMessage()
+<a name="479" href="#479">479</a>                     + <span class="string">" when trying to build restriction: "</span> + xsdRestriction);
+<a name="480" href="#480">480</a> 
+<a name="481" href="#481">481</a>             <strong>return</strong> <strong>null</strong>;
+<a name="482" href="#482">482</a>         }
+<a name="483" href="#483">483</a>     }
+<a name="484" href="#484">484</a> 
+<a name="485" href="#485">485</a>     <em>/**<em>*</em></em>
+<a name="486" href="#486">486</a> <em>     * DOCUMENT ME!</em>
+<a name="487" href="#487">487</a> <em>     * </em>
+<a name="488" href="#488">488</a> <em>     * @param name</em>
+<a name="489" href="#489">489</a> <em>     *            The name of the element</em>
+<a name="490" href="#490">490</a> <em>     * </em>
+<a name="491" href="#491">491</a> <em>     * @return the <code>DatatypeElementFactory</code> for the given element</em>
+<a name="492" href="#492">492</a> <em>     *         QName, creating one if it does not already exist</em>
+<a name="493" href="#493">493</a> <em>     */</em>
+<a name="494" href="#494">494</a>     <strong>private</strong> <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> getDatatypeElementFactory(<a href="../../../org/dom4j/QName.html">QName</a> name) {
+<a name="495" href="#495">495</a>         <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a> factory = documentFactory
+<a name="496" href="#496">496</a>                 .getElementFactory(name);
+<a name="497" href="#497">497</a> 
+<a name="498" href="#498">498</a>         <strong>if</strong> (factory == <strong>null</strong>) {
+<a name="499" href="#499">499</a>             factory = <strong>new</strong> <a href="../../../org/dom4j/datatype/DatatypeElementFactory.html">DatatypeElementFactory</a>(name);
+<a name="500" href="#500">500</a>             name.setDocumentFactory(factory);
+<a name="501" href="#501">501</a>         }
+<a name="502" href="#502">502</a> 
+<a name="503" href="#503">503</a>         <strong>return</strong> factory;
+<a name="504" href="#504">504</a>     }
+<a name="505" href="#505">505</a> 
+<a name="506" href="#506">506</a>     <strong>private</strong> XSDatatype getTypeByName(String type) {
+<a name="507" href="#507">507</a>         XSDatatype dataType = (XSDatatype) dataTypeCache.get(type);
+<a name="508" href="#508">508</a> 
+<a name="509" href="#509">509</a>         <strong>if</strong> (dataType == <strong>null</strong>) {
+<a name="510" href="#510">510</a>             <em class="comment">// first check to see if it is a built-in type</em>
+<a name="511" href="#511">511</a>             <em class="comment">// maybe a prefix is being used</em>
+<a name="512" href="#512">512</a>             <strong>int</strong> idx = type.indexOf(':');
+<a name="513" href="#513">513</a> 
+<a name="514" href="#514">514</a>             <strong>if</strong> (idx >= 0) {
+<a name="515" href="#515">515</a>                 String localName = type.substring(idx + 1);
+<a name="516" href="#516">516</a> 
+<a name="517" href="#517">517</a>                 <strong>try</strong> {
+<a name="518" href="#518">518</a>                     dataType = DatatypeFactory.getTypeByName(localName);
+<a name="519" href="#519">519</a>                 } <strong>catch</strong> (DatatypeException e) {
+<a name="520" href="#520">520</a>                 }
+<a name="521" href="#521">521</a>             }
+<a name="522" href="#522">522</a> 
+<a name="523" href="#523">523</a>             <strong>if</strong> (dataType == <strong>null</strong>) {
+<a name="524" href="#524">524</a>                 <strong>try</strong> {
+<a name="525" href="#525">525</a>                     dataType = DatatypeFactory.getTypeByName(type);
+<a name="526" href="#526">526</a>                 } <strong>catch</strong> (DatatypeException e) {
+<a name="527" href="#527">527</a>                 }
+<a name="528" href="#528">528</a>             }
+<a name="529" href="#529">529</a> 
+<a name="530" href="#530">530</a>             <strong>if</strong> (dataType == <strong>null</strong>) {
+<a name="531" href="#531">531</a>                 <em class="comment">// it's no built-in type, maybe it's a type we defined ourself</em>
+<a name="532" href="#532">532</a>                 <a href="../../../org/dom4j/QName.html">QName</a> typeQName = getQName(type);
+<a name="533" href="#533">533</a>                 dataType = (XSDatatype) namedTypeResolver.simpleTypeMap
+<a name="534" href="#534">534</a>                         .get(typeQName);
+<a name="535" href="#535">535</a>             }
+<a name="536" href="#536">536</a> 
+<a name="537" href="#537">537</a>             <strong>if</strong> (dataType != <strong>null</strong>) {
+<a name="538" href="#538">538</a>                 <em class="comment">// store in cache for later</em>
+<a name="539" href="#539">539</a>                 dataTypeCache.put(type, dataType);
+<a name="540" href="#540">540</a>             }
+<a name="541" href="#541">541</a>         }
+<a name="542" href="#542">542</a> 
+<a name="543" href="#543">543</a>         <strong>return</strong> dataType;
+<a name="544" href="#544">544</a>     }
+<a name="545" href="#545">545</a> 
+<a name="546" href="#546">546</a>     <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName(String name) {
+<a name="547" href="#547">547</a>         <strong>if</strong> (targetNamespace == <strong>null</strong>) {
+<a name="548" href="#548">548</a>             <strong>return</strong> documentFactory.createQName(name);
+<a name="549" href="#549">549</a>         } <strong>else</strong> {
+<a name="550" href="#550">550</a>             <strong>return</strong> documentFactory.createQName(name, targetNamespace);
+<a name="551" href="#551">551</a>         }
+<a name="552" href="#552">552</a>     }
+<a name="553" href="#553">553</a> 
+<a name="554" href="#554">554</a>     <em>/**<em>*</em></em>
+<a name="555" href="#555">555</a> <em>     * Called when there is a problem with the schema and the builder cannot</em>
+<a name="556" href="#556">556</a> <em>     * handle the XML Schema Data Types correctly</em>
+<a name="557" href="#557">557</a> <em>     * </em>
+<a name="558" href="#558">558</a> <em>     * @param message</em>
+<a name="559" href="#559">559</a> <em>     *            DOCUMENT ME!</em>
+<a name="560" href="#560">560</a> <em>     * </em>
+<a name="561" href="#561">561</a> <em>     * @throws InvalidSchemaException</em>
+<a name="562" href="#562">562</a> <em>     *             DOCUMENT ME!</em>
+<a name="563" href="#563">563</a> <em>     */</em>
+<a name="564" href="#564">564</a>     <strong>private</strong> <strong>void</strong> onSchemaError(String message) {
+<a name="565" href="#565">565</a>         <em class="comment">// Some users may wish to disable exception throwing</em>
+<a name="566" href="#566">566</a>         <em class="comment">// and instead use some kind of listener for errors and continue</em>
+<a name="567" href="#567">567</a>         <em class="comment">// System.out.println( "WARNING: " + message );</em>
+<a name="568" href="#568">568</a>         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/datatype/InvalidSchemaException.html">InvalidSchemaException</a>(message);
+<a name="569" href="#569">569</a>     }
+<a name="570" href="#570">570</a> }
+<a name="571" href="#571">571</a> 
+<a name="572" href="#572">572</a> <em class="comment">/*</em>
+<a name="573" href="#573">573</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="574" href="#574">574</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="575" href="#575">575</a> <em class="comment"> * following conditions are met:</em>
+<a name="576" href="#576">576</a> <em class="comment"> * </em>
+<a name="577" href="#577">577</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="578" href="#578">578</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="579" href="#579">579</a> <em class="comment"> * </em>
+<a name="580" href="#580">580</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="581" href="#581">581</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="582" href="#582">582</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="583" href="#583">583</a> <em class="comment"> * </em>
+<a name="584" href="#584">584</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="585" href="#585">585</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="586" href="#586">586</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="587" href="#587">587</a> <em class="comment"> * </em>
+<a name="588" href="#588">588</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="589" href="#589">589</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="590" href="#590">590</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="591" href="#591">591</a> <em class="comment"> * </em>
+<a name="592" href="#592">592</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="593" href="#593">593</a> <em class="comment"> * </em>
+<a name="594" href="#594">594</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="595" href="#595">595</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="596" href="#596">596</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="597" href="#597">597</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="598" href="#598">598</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="599" href="#599">599</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="600" href="#600">600</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="601" href="#601">601</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="602" href="#602">602</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="603" href="#603">603</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="604" href="#604">604</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="605" href="#605">605</a> <em class="comment"> * </em>
+<a name="606" href="#606">606</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="607" href="#607">607</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/datatype/package-frame.html b/docs/xref/org/dom4j/datatype/package-frame.html
new file mode 100644
index 0000000..39edf66
--- /dev/null
+++ b/docs/xref/org/dom4j/datatype/package-frame.html
@@ -0,0 +1,51 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.datatype</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.datatype</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="DatatypeAttribute.html" target="classFrame">DatatypeAttribute</a>
+          </li>
+        
+          <li>
+            <a href="DatatypeDocumentFactory.html" target="classFrame">DatatypeDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="DatatypeElement.html" target="classFrame">DatatypeElement</a>
+          </li>
+        
+          <li>
+            <a href="DatatypeElementFactory.html" target="classFrame">DatatypeElementFactory</a>
+          </li>
+        
+          <li>
+            <a href="InvalidSchemaException.html" target="classFrame">InvalidSchemaException</a>
+          </li>
+        
+          <li>
+            <a href="NamedTypeResolver.html" target="classFrame">NamedTypeResolver</a>
+          </li>
+        
+          <li>
+            <a href="SchemaParser.html" target="classFrame">SchemaParser</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/datatype/package-summary.html b/docs/xref/org/dom4j/datatype/package-summary.html
new file mode 100644
index 0000000..4630cda
--- /dev/null
+++ b/docs/xref/org/dom4j/datatype/package-summary.html
@@ -0,0 +1,138 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.datatype</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="DatatypeAttribute.html" target="classFrame">DatatypeAttribute</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DatatypeDocumentFactory.html" target="classFrame">DatatypeDocumentFactory</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DatatypeElement.html" target="classFrame">DatatypeElement</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DatatypeElementFactory.html" target="classFrame">DatatypeElementFactory</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="InvalidSchemaException.html" target="classFrame">InvalidSchemaException</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NamedTypeResolver.html" target="classFrame">NamedTypeResolver</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SchemaParser.html" target="classFrame">SchemaParser</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/dom/DOMAttribute.html b/docs/xref/org/dom4j/dom/DOMAttribute.html
new file mode 100644
index 0000000..6d06815
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMAttribute.html
@@ -0,0 +1,232 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMAttribute xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMAttribute.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.QName;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.tree.DefaultAttribute;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * <code>DOMAttribute</code> implements a doubly linked attribute which</em>
+<a name="22" href="#22">22</a>  <em> * supports the W3C DOM API.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.14 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMAttribute.html">DOMAttribute</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a> implements org.w3c.dom.Attr {
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMAttribute.html">DOMAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="30" href="#30">30</a>          <strong>super</strong>(qname);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMAttribute.html">DOMAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="34" href="#34">34</a>          <strong>super</strong>(qname, value);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMAttribute.html">DOMAttribute</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, <a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="38" href="#38">38</a>          <strong>super</strong>(parent, qname, value);
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="42" href="#42">42</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="43" href="#43">43</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="44" href="#44">44</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="48" href="#48">48</a>          <strong>return</strong> getQName().getNamespaceURI();
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> String getPrefix() {
+<a name="52" href="#52">52</a>          <strong>return</strong> getQName().getNamespacePrefix();
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="56" href="#56">56</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong>public</strong> String getLocalName() {
+<a name="60" href="#60">60</a>          <strong>return</strong> getQName().getName();
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>public</strong> String getNodeName() {
+<a name="64" href="#64">64</a>          <strong>return</strong> getName();
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <em class="comment">// already part of API</em>
+<a name="68" href="#68">68</a>      <em class="comment">//</em>
+<a name="69" href="#69">69</a>      <em class="comment">// public short getNodeType();</em>
+<a name="70" href="#70">70</a>      <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="71" href="#71">71</a>          <strong>return</strong> DOMNodeHelper.getNodeValue(<strong>this</strong>);
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="75" href="#75">75</a>          DOMNodeHelper.setNodeValue(<strong>this</strong>, nodeValue);
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="79" href="#79">79</a>          <em class="comment">// Per http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-637646024</em>
+<a name="80" href="#80">80</a>          <em class="comment">// and the NIST conformance tests, Attr.getParentNode() should always</em>
+<a name="81" href="#81">81</a>          <em class="comment">// return null</em>
+<a name="82" href="#82">82</a>          <strong>return</strong> <strong>null</strong>;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> NodeList getChildNodes() {
+<a name="86" href="#86">86</a>          <strong>return</strong> DOMNodeHelper.getChildNodes(<strong>this</strong>);
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="90" href="#90">90</a>          <strong>return</strong> DOMNodeHelper.getFirstChild(<strong>this</strong>);
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="94" href="#94">94</a>          <strong>return</strong> DOMNodeHelper.getLastChild(<strong>this</strong>);
+<a name="95" href="#95">95</a>      }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="98" href="#98">98</a>          <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="102" href="#102">102</a>         <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="106" href="#106">106</a>         <strong>return</strong> <strong>null</strong>;
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getOwnerDocument() {
+<a name="110" href="#110">110</a>         <strong>return</strong> DOMNodeHelper.getOwnerDocument(<strong>this</strong>);
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="114" href="#114">114</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="115" href="#115">115</a>         checkNewChildNode(newChild);
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="121" href="#121">121</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="122" href="#122">122</a>         checkNewChildNode(newChild);
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="125" href="#125">125</a>     }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="128" href="#128">128</a>             throws DOMException {
+<a name="129" href="#129">129</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="133" href="#133">133</a>             throws DOMException {
+<a name="134" href="#134">134</a>         checkNewChildNode(newChild);
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="137" href="#137">137</a>     }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>     <strong>private</strong> <strong>void</strong> checkNewChildNode(org.w3c.dom.Node newChild)
+<a name="140" href="#140">140</a>             throws DOMException {
+<a name="141" href="#141">141</a>         <strong>final</strong> <strong>int</strong> nodeType = newChild.getNodeType();
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         <strong>if</strong> (!((nodeType == org.w3c.dom.Node.TEXT_NODE) 
+<a name="144" href="#144">144</a>                 || (nodeType == org.w3c.dom.Node.ENTITY_REFERENCE_NODE))) {
+<a name="145" href="#145">145</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="146" href="#146">146</a>                     <span class="string">"The node cannot be a child of attribute"</span>);
+<a name="147" href="#147">147</a>         }
+<a name="148" href="#148">148</a>     }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="151" href="#151">151</a>         <strong>return</strong> DOMNodeHelper.hasChildNodes(<strong>this</strong>);
+<a name="152" href="#152">152</a>     }
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="155" href="#155">155</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="156" href="#156">156</a>     }
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="159" href="#159">159</a>         DOMNodeHelper.normalize(<strong>this</strong>);
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="163" href="#163">163</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="164" href="#164">164</a>     }
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="167" href="#167">167</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="168" href="#168">168</a>     }
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>     <em class="comment">// org.w3c.dom.Attr interface</em>
+<a name="171" href="#171">171</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="172" href="#172">172</a>     <em class="comment">// public String getName();</em>
+<a name="173" href="#173">173</a>     <strong>public</strong> <strong>boolean</strong> getSpecified() {
+<a name="174" href="#174">174</a>         <strong>return</strong> <strong>true</strong>;
+<a name="175" href="#175">175</a>     }
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>     <em class="comment">// public String getValue();</em>
+<a name="178" href="#178">178</a>     <em class="comment">// public void setValue(String value) throws DOMException;</em>
+<a name="179" href="#179">179</a>     <strong>public</strong> org.w3c.dom.Element getOwnerElement() {
+<a name="180" href="#180">180</a>         <strong>return</strong> DOMNodeHelper.asDOMElement(getParent());
+<a name="181" href="#181">181</a>     }
+<a name="182" href="#182">182</a> }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a> <em class="comment">/*</em>
+<a name="185" href="#185">185</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="186" href="#186">186</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="187" href="#187">187</a> <em class="comment"> * following conditions are met:</em>
+<a name="188" href="#188">188</a> <em class="comment"> * </em>
+<a name="189" href="#189">189</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="190" href="#190">190</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="191" href="#191">191</a> <em class="comment"> * </em>
+<a name="192" href="#192">192</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="193" href="#193">193</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="194" href="#194">194</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="195" href="#195">195</a> <em class="comment"> * </em>
+<a name="196" href="#196">196</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="197" href="#197">197</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="198" href="#198">198</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="199" href="#199">199</a> <em class="comment"> * </em>
+<a name="200" href="#200">200</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="201" href="#201">201</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="202" href="#202">202</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="203" href="#203">203</a> <em class="comment"> * </em>
+<a name="204" href="#204">204</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="205" href="#205">205</a> <em class="comment"> * </em>
+<a name="206" href="#206">206</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="207" href="#207">207</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="208" href="#208">208</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="209" href="#209">209</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="210" href="#210">210</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="211" href="#211">211</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="212" href="#212">212</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="213" href="#213">213</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="214" href="#214">214</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="215" href="#215">215</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="216" href="#216">216</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="217" href="#217">217</a> <em class="comment"> * </em>
+<a name="218" href="#218">218</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="219" href="#219">219</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMAttributeNodeMap.html b/docs/xref/org/dom4j/dom/DOMAttributeNodeMap.html
new file mode 100644
index 0000000..635bb3e
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMAttributeNodeMap.html
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMAttributeNodeMap xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMAttributeNodeMap.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.w3c.dom.Attr;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.w3c.dom.Node;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>DOMAttributeNodeMap</code> implements a W3C NameNodeMap for the</em>
+<a name="17" href="#17">17</a>  <em> * attributes of an element.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMAttributeNodeMap.html">DOMAttributeNodeMap</a> implements org.w3c.dom.NamedNodeMap {
+<a name="24" href="#24">24</a>      <strong>private</strong> <a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a> element;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMAttributeNodeMap.html">DOMAttributeNodeMap</a>(<a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a> element) {
+<a name="27" href="#27">27</a>          <strong>this</strong>.element = element;
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em class="comment">// org.w3c.dom.NamedNodeMap interface</em>
+<a name="31" href="#31">31</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>void</strong> foo() throws DOMException {
+<a name="33" href="#33">33</a>          DOMNodeHelper.notSupported();
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> Node getNamedItem(String name) {
+<a name="37" href="#37">37</a>          <strong>return</strong> element.getAttributeNode(name);
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> Node setNamedItem(Node arg) throws DOMException {
+<a name="41" href="#41">41</a>          <strong>if</strong> (arg instanceof Attr) {
+<a name="42" href="#42">42</a>              <strong>return</strong> element.setAttributeNode((org.w3c.dom.Attr) arg);
+<a name="43" href="#43">43</a>          } <strong>else</strong> {
+<a name="44" href="#44">44</a>              <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NOT_SUPPORTED_ERR,
+<a name="45" href="#45">45</a>                      <span class="string">"Node is not an Attr: "</span> + arg);
+<a name="46" href="#46">46</a>          }
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> Node removeNamedItem(String name) throws DOMException {
+<a name="50" href="#50">50</a>          org.w3c.dom.Attr attr = element.getAttributeNode(name);
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          <strong>if</strong> (attr == <strong>null</strong>) {
+<a name="53" href="#53">53</a>              <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NOT_FOUND_ERR,
+<a name="54" href="#54">54</a>                      <span class="string">"No attribute named "</span> + name);
+<a name="55" href="#55">55</a>          }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          <strong>return</strong> element.removeAttributeNode(attr);
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> Node item(<strong>int</strong> index) {
+<a name="61" href="#61">61</a>          <strong>return</strong> DOMNodeHelper.asDOMAttr(element.attribute(index));
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <strong>int</strong> getLength() {
+<a name="65" href="#65">65</a>          <strong>return</strong> element.attributeCount();
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> Node getNamedItemNS(String namespaceURI, String localName) {
+<a name="69" href="#69">69</a>          <strong>return</strong> element.getAttributeNodeNS(namespaceURI, localName);
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> Node setNamedItemNS(Node arg) throws DOMException {
+<a name="73" href="#73">73</a>          <strong>if</strong> (arg instanceof Attr) {
+<a name="74" href="#74">74</a>              <strong>return</strong> element.setAttributeNodeNS((org.w3c.dom.Attr) arg);
+<a name="75" href="#75">75</a>          } <strong>else</strong> {
+<a name="76" href="#76">76</a>              <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NOT_SUPPORTED_ERR,
+<a name="77" href="#77">77</a>                      <span class="string">"Node is not an Attr: "</span> + arg);
+<a name="78" href="#78">78</a>          }
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> Node removeNamedItemNS(String namespaceURI, String localName)
+<a name="82" href="#82">82</a>              throws DOMException {
+<a name="83" href="#83">83</a>          org.w3c.dom.Attr attr = element.getAttributeNodeNS(namespaceURI,
+<a name="84" href="#84">84</a>                  localName);
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>          <strong>if</strong> (attr != <strong>null</strong>) {
+<a name="87" href="#87">87</a>              <strong>return</strong> element.removeAttributeNode(attr);
+<a name="88" href="#88">88</a>          }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          <strong>return</strong> attr;
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>  <em class="comment">/*</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * following conditions are met:</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * </em>
+<a name="99" href="#99">99</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="100" href="#100">100</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="103" href="#103">103</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="104" href="#104">104</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="105" href="#105">105</a> <em class="comment"> * </em>
+<a name="106" href="#106">106</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="107" href="#107">107</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="108" href="#108">108</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="111" href="#111">111</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="112" href="#112">112</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="113" href="#113">113</a> <em class="comment"> * </em>
+<a name="114" href="#114">114</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="115" href="#115">115</a> <em class="comment"> * </em>
+<a name="116" href="#116">116</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="117" href="#117">117</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="118" href="#118">118</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="119" href="#119">119</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="120" href="#120">120</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="121" href="#121">121</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="122" href="#122">122</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="123" href="#123">123</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="124" href="#124">124</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="125" href="#125">125</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="126" href="#126">126</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="129" href="#129">129</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMCDATA.html b/docs/xref/org/dom4j/dom/DOMCDATA.html
new file mode 100644
index 0000000..0917709
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMCDATA.html
@@ -0,0 +1,278 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMCDATA xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMCDATA.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Element;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.tree.DefaultCDATA;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM</em>
+<a name="22" href="#22">22</a>  <em> * API.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.12 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMCDATA.html">DOMCDATA</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultCDATA.html">DefaultCDATA</a> implements org.w3c.dom.CDATASection {
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMCDATA.html">DOMCDATA</a>(String text) {
+<a name="30" href="#30">30</a>          <strong>super</strong>(text);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMCDATA.html">DOMCDATA</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String text) {
+<a name="34" href="#34">34</a>          <strong>super</strong>(parent, text);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="38" href="#38">38</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="40" href="#40">40</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="44" href="#44">44</a>          <strong>return</strong> DOMNodeHelper.getNamespaceURI(<strong>this</strong>);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> String getPrefix() {
+<a name="48" href="#48">48</a>          <strong>return</strong> DOMNodeHelper.getPrefix(<strong>this</strong>);
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="52" href="#52">52</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> String getLocalName() {
+<a name="56" href="#56">56</a>          <strong>return</strong> DOMNodeHelper.getLocalName(<strong>this</strong>);
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong>public</strong> String getNodeName() {
+<a name="60" href="#60">60</a>          <strong>return</strong> <span class="string">"#cdata-section"</span>;
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <em class="comment">// already part of API</em>
+<a name="64" href="#64">64</a>      <em class="comment">//</em>
+<a name="65" href="#65">65</a>      <em class="comment">// public short getNodeType();</em>
+<a name="66" href="#66">66</a>      <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="67" href="#67">67</a>          <strong>return</strong> DOMNodeHelper.getNodeValue(<strong>this</strong>);
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="71" href="#71">71</a>          DOMNodeHelper.setNodeValue(<strong>this</strong>, nodeValue);
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="75" href="#75">75</a>          <strong>return</strong> DOMNodeHelper.getParentNode(<strong>this</strong>);
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> NodeList getChildNodes() {
+<a name="79" href="#79">79</a>          <strong>return</strong> DOMNodeHelper.getChildNodes(<strong>this</strong>);
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="83" href="#83">83</a>          <strong>return</strong> DOMNodeHelper.getFirstChild(<strong>this</strong>);
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="87" href="#87">87</a>          <strong>return</strong> DOMNodeHelper.getLastChild(<strong>this</strong>);
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="91" href="#91">91</a>          <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="95" href="#95">95</a>          <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="99" href="#99">99</a>          <strong>return</strong> <strong>null</strong>;
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getOwnerDocument() {
+<a name="103" href="#103">103</a>         <strong>return</strong> DOMNodeHelper.getOwnerDocument(<strong>this</strong>);
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="107" href="#107">107</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="108" href="#108">108</a>         checkNewChildNode(newChild);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="114" href="#114">114</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="115" href="#115">115</a>         checkNewChildNode(newChild);
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="121" href="#121">121</a>             throws DOMException {
+<a name="122" href="#122">122</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="123" href="#123">123</a>     }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="126" href="#126">126</a>             throws DOMException {
+<a name="127" href="#127">127</a>         checkNewChildNode(newChild);
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <strong>private</strong> <strong>void</strong> checkNewChildNode(org.w3c.dom.Node newChild)
+<a name="133" href="#133">133</a>             throws DOMException {
+<a name="134" href="#134">134</a>         <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="135" href="#135">135</a>                 <span class="string">"CDATASection nodes cannot have children"</span>);
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="139" href="#139">139</a>         <strong>return</strong> DOMNodeHelper.hasChildNodes(<strong>this</strong>);
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="143" href="#143">143</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="144" href="#144">144</a>     }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="147" href="#147">147</a>         DOMNodeHelper.normalize(<strong>this</strong>);
+<a name="148" href="#148">148</a>     }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="151" href="#151">151</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="152" href="#152">152</a>     }
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="155" href="#155">155</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="156" href="#156">156</a>     }
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <em class="comment">// org.w3c.dom.CharacterData interface</em>
+<a name="159" href="#159">159</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="160" href="#160">160</a>     <strong>public</strong> String getData() throws DOMException {
+<a name="161" href="#161">161</a>         <strong>return</strong> DOMNodeHelper.getData(<strong>this</strong>);
+<a name="162" href="#162">162</a>     }
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>     <strong>public</strong> <strong>void</strong> setData(String data) throws DOMException {
+<a name="165" href="#165">165</a>         DOMNodeHelper.setData(<strong>this</strong>, data);
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>     <strong>public</strong> <strong>int</strong> getLength() {
+<a name="169" href="#169">169</a>         <strong>return</strong> DOMNodeHelper.getLength(<strong>this</strong>);
+<a name="170" href="#170">170</a>     }
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>     <strong>public</strong> String substringData(<strong>int</strong> offset, <strong>int</strong> count) throws DOMException {
+<a name="173" href="#173">173</a>         <strong>return</strong> DOMNodeHelper.substringData(<strong>this</strong>, offset, count);
+<a name="174" href="#174">174</a>     }
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>     <strong>public</strong> <strong>void</strong> appendData(String arg) throws DOMException {
+<a name="177" href="#177">177</a>         DOMNodeHelper.appendData(<strong>this</strong>, arg);
+<a name="178" href="#178">178</a>     }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>     <strong>public</strong> <strong>void</strong> insertData(<strong>int</strong> offset, String arg) throws DOMException {
+<a name="181" href="#181">181</a>         DOMNodeHelper.insertData(<strong>this</strong>, offset, arg);
+<a name="182" href="#182">182</a>     }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>     <strong>public</strong> <strong>void</strong> deleteData(<strong>int</strong> offset, <strong>int</strong> count) throws DOMException {
+<a name="185" href="#185">185</a>         DOMNodeHelper.deleteData(<strong>this</strong>, offset, count);
+<a name="186" href="#186">186</a>     }
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>     <strong>public</strong> <strong>void</strong> replaceData(<strong>int</strong> offset, <strong>int</strong> count, String arg)
+<a name="189" href="#189">189</a>             throws DOMException {
+<a name="190" href="#190">190</a>         DOMNodeHelper.replaceData(<strong>this</strong>, offset, count, arg);
+<a name="191" href="#191">191</a>     }
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>     <em class="comment">// org.w3c.dom.Text interface</em>
+<a name="194" href="#194">194</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="195" href="#195">195</a>     <strong>public</strong> org.w3c.dom.Text splitText(<strong>int</strong> offset) throws DOMException {
+<a name="196" href="#196">196</a>         <strong>if</strong> (isReadOnly()) {
+<a name="197" href="#197">197</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+<a name="198" href="#198">198</a>                     <span class="string">"CharacterData node is read only: "</span> + <strong>this</strong>);
+<a name="199" href="#199">199</a>         } <strong>else</strong> {
+<a name="200" href="#200">200</a>             String text = getText();
+<a name="201" href="#201">201</a>             <strong>int</strong> length = (text != <strong>null</strong>) ? text.length() : 0;
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>             <strong>if</strong> ((offset < 0) || (offset >= length)) {
+<a name="204" href="#204">204</a>                 <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INDEX_SIZE_ERR,
+<a name="205" href="#205">205</a>                         <span class="string">"No text at offset: "</span> + offset);
+<a name="206" href="#206">206</a>             } <strong>else</strong> {
+<a name="207" href="#207">207</a>                 String start = text.substring(0, offset);
+<a name="208" href="#208">208</a>                 String <strong>rest</strong> = text.substring(offset);
+<a name="209" href="#209">209</a>                 setText(start);
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>                 <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="212" href="#212">212</a>                 <a href="../../../org/dom4j/CDATA.html">CDATA</a> newText = createCDATA(<strong>rest</strong>);
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>                 <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="215" href="#215">215</a>                     parent.add(newText);
+<a name="216" href="#216">216</a>                 }
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>                 <strong>return</strong> DOMNodeHelper.asDOMText(newText);
+<a name="219" href="#219">219</a>             }
+<a name="220" href="#220">220</a>         }
+<a name="221" href="#221">221</a>     }
+<a name="222" href="#222">222</a> 
+<a name="223" href="#223">223</a>     <em class="comment">// Implementation methods</em>
+<a name="224" href="#224">224</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="225" href="#225">225</a>     <strong>protected</strong> <a href="../../../org/dom4j/CDATA.html">CDATA</a> createCDATA(String text) {
+<a name="226" href="#226">226</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMCDATA.html">DOMCDATA</a>(text);
+<a name="227" href="#227">227</a>     }
+<a name="228" href="#228">228</a> }
+<a name="229" href="#229">229</a> 
+<a name="230" href="#230">230</a> <em class="comment">/*</em>
+<a name="231" href="#231">231</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="232" href="#232">232</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="233" href="#233">233</a> <em class="comment"> * following conditions are met:</em>
+<a name="234" href="#234">234</a> <em class="comment"> * </em>
+<a name="235" href="#235">235</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="236" href="#236">236</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="237" href="#237">237</a> <em class="comment"> * </em>
+<a name="238" href="#238">238</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="239" href="#239">239</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="240" href="#240">240</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="241" href="#241">241</a> <em class="comment"> * </em>
+<a name="242" href="#242">242</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="243" href="#243">243</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="244" href="#244">244</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="245" href="#245">245</a> <em class="comment"> * </em>
+<a name="246" href="#246">246</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="247" href="#247">247</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="248" href="#248">248</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="249" href="#249">249</a> <em class="comment"> * </em>
+<a name="250" href="#250">250</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="251" href="#251">251</a> <em class="comment"> * </em>
+<a name="252" href="#252">252</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="253" href="#253">253</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="254" href="#254">254</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="255" href="#255">255</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="256" href="#256">256</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="257" href="#257">257</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="258" href="#258">258</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="259" href="#259">259</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="260" href="#260">260</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="261" href="#261">261</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="262" href="#262">262</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="263" href="#263">263</a> <em class="comment"> * </em>
+<a name="264" href="#264">264</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="265" href="#265">265</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMComment.html b/docs/xref/org/dom4j/dom/DOMComment.html
new file mode 100644
index 0000000..90b6437
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMComment.html
@@ -0,0 +1,240 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMComment xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMComment.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.tree.DefaultComment;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>DOMText</code> implements a Text node which supports the W3C DOM API.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.12 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMComment.html">DOMComment</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultComment.html">DefaultComment</a> implements org.w3c.dom.Comment {
+<a name="27" href="#27">27</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMComment.html">DOMComment</a>(String text) {
+<a name="28" href="#28">28</a>          <strong>super</strong>(text);
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMComment.html">DOMComment</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String text) {
+<a name="32" href="#32">32</a>          <strong>super</strong>(parent, text);
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="36" href="#36">36</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="37" href="#37">37</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="38" href="#38">38</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="42" href="#42">42</a>          <strong>return</strong> DOMNodeHelper.getNamespaceURI(<strong>this</strong>);
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> String getPrefix() {
+<a name="46" href="#46">46</a>          <strong>return</strong> DOMNodeHelper.getPrefix(<strong>this</strong>);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="50" href="#50">50</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> String getLocalName() {
+<a name="54" href="#54">54</a>          <strong>return</strong> DOMNodeHelper.getLocalName(<strong>this</strong>);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> String getNodeName() {
+<a name="58" href="#58">58</a>          <strong>return</strong> <span class="string">"#comment"</span>;
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <em class="comment">// already part of API</em>
+<a name="62" href="#62">62</a>      <em class="comment">//</em>
+<a name="63" href="#63">63</a>      <em class="comment">// public short getNodeType();</em>
+<a name="64" href="#64">64</a>      <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="65" href="#65">65</a>          <strong>return</strong> DOMNodeHelper.getNodeValue(<strong>this</strong>);
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="69" href="#69">69</a>          DOMNodeHelper.setNodeValue(<strong>this</strong>, nodeValue);
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="73" href="#73">73</a>          <strong>return</strong> DOMNodeHelper.getParentNode(<strong>this</strong>);
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> NodeList getChildNodes() {
+<a name="77" href="#77">77</a>          <strong>return</strong> DOMNodeHelper.getChildNodes(<strong>this</strong>);
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="81" href="#81">81</a>          <strong>return</strong> DOMNodeHelper.getFirstChild(<strong>this</strong>);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="85" href="#85">85</a>          <strong>return</strong> DOMNodeHelper.getLastChild(<strong>this</strong>);
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="89" href="#89">89</a>          <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="93" href="#93">93</a>          <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="97" href="#97">97</a>          <strong>return</strong> <strong>null</strong>;
+<a name="98" href="#98">98</a>      }
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getOwnerDocument() {
+<a name="101" href="#101">101</a>         <strong>return</strong> DOMNodeHelper.getOwnerDocument(<strong>this</strong>);
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="105" href="#105">105</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="106" href="#106">106</a>         checkNewChildNode(newChild);
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="109" href="#109">109</a>     }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="112" href="#112">112</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="113" href="#113">113</a>         checkNewChildNode(newChild);
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="119" href="#119">119</a>             throws DOMException {
+<a name="120" href="#120">120</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="124" href="#124">124</a>             throws DOMException {
+<a name="125" href="#125">125</a>         checkNewChildNode(newChild);
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="128" href="#128">128</a>     }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>     <strong>private</strong> <strong>void</strong> checkNewChildNode(org.w3c.dom.Node newChild)
+<a name="131" href="#131">131</a>             throws DOMException {
+<a name="132" href="#132">132</a>         <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="133" href="#133">133</a>                 <span class="string">"Comment nodes cannot have children"</span>);
+<a name="134" href="#134">134</a>     }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="137" href="#137">137</a>         <strong>return</strong> DOMNodeHelper.hasChildNodes(<strong>this</strong>);
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="141" href="#141">141</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="145" href="#145">145</a>         DOMNodeHelper.normalize(<strong>this</strong>);
+<a name="146" href="#146">146</a>     }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="149" href="#149">149</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="150" href="#150">150</a>     }
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="153" href="#153">153</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="154" href="#154">154</a>     }
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>     <em class="comment">// org.w3c.dom.CharacterData interface</em>
+<a name="157" href="#157">157</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="158" href="#158">158</a>     <strong>public</strong> String getData() throws DOMException {
+<a name="159" href="#159">159</a>         <strong>return</strong> DOMNodeHelper.getData(<strong>this</strong>);
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <strong>public</strong> <strong>void</strong> setData(String data) throws DOMException {
+<a name="163" href="#163">163</a>         DOMNodeHelper.setData(<strong>this</strong>, data);
+<a name="164" href="#164">164</a>     }
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>     <strong>public</strong> <strong>int</strong> getLength() {
+<a name="167" href="#167">167</a>         <strong>return</strong> DOMNodeHelper.getLength(<strong>this</strong>);
+<a name="168" href="#168">168</a>     }
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>     <strong>public</strong> String substringData(<strong>int</strong> offset, <strong>int</strong> count) throws DOMException {
+<a name="171" href="#171">171</a>         <strong>return</strong> DOMNodeHelper.substringData(<strong>this</strong>, offset, count);
+<a name="172" href="#172">172</a>     }
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>     <strong>public</strong> <strong>void</strong> appendData(String arg) throws DOMException {
+<a name="175" href="#175">175</a>         DOMNodeHelper.appendData(<strong>this</strong>, arg);
+<a name="176" href="#176">176</a>     }
+<a name="177" href="#177">177</a> 
+<a name="178" href="#178">178</a>     <strong>public</strong> <strong>void</strong> insertData(<strong>int</strong> offset, String arg) throws DOMException {
+<a name="179" href="#179">179</a>         DOMNodeHelper.insertData(<strong>this</strong>, offset, arg);
+<a name="180" href="#180">180</a>     }
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>     <strong>public</strong> <strong>void</strong> deleteData(<strong>int</strong> offset, <strong>int</strong> count) throws DOMException {
+<a name="183" href="#183">183</a>         DOMNodeHelper.deleteData(<strong>this</strong>, offset, count);
+<a name="184" href="#184">184</a>     }
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>     <strong>public</strong> <strong>void</strong> replaceData(<strong>int</strong> offset, <strong>int</strong> count, String arg)
+<a name="187" href="#187">187</a>             throws DOMException {
+<a name="188" href="#188">188</a>         DOMNodeHelper.replaceData(<strong>this</strong>, offset, count, arg);
+<a name="189" href="#189">189</a>     }
+<a name="190" href="#190">190</a> }
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a> <em class="comment">/*</em>
+<a name="193" href="#193">193</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="194" href="#194">194</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="195" href="#195">195</a> <em class="comment"> * following conditions are met:</em>
+<a name="196" href="#196">196</a> <em class="comment"> * </em>
+<a name="197" href="#197">197</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="198" href="#198">198</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="199" href="#199">199</a> <em class="comment"> * </em>
+<a name="200" href="#200">200</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="201" href="#201">201</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="202" href="#202">202</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="203" href="#203">203</a> <em class="comment"> * </em>
+<a name="204" href="#204">204</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="205" href="#205">205</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="206" href="#206">206</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="207" href="#207">207</a> <em class="comment"> * </em>
+<a name="208" href="#208">208</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="209" href="#209">209</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="210" href="#210">210</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="211" href="#211">211</a> <em class="comment"> * </em>
+<a name="212" href="#212">212</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="213" href="#213">213</a> <em class="comment"> * </em>
+<a name="214" href="#214">214</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="215" href="#215">215</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="216" href="#216">216</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="217" href="#217">217</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="218" href="#218">218</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="219" href="#219">219</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="220" href="#220">220</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="221" href="#221">221</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="222" href="#222">222</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="223" href="#223">223</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="224" href="#224">224</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="225" href="#225">225</a> <em class="comment"> * </em>
+<a name="226" href="#226">226</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="227" href="#227">227</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMDocument.html b/docs/xref/org/dom4j/dom/DOMDocument.html
new file mode 100644
index 0000000..bb43aa6
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMDocument.html
@@ -0,0 +1,354 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMDocument xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMDocument.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.QName;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.tree.DefaultDocument;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.w3c.dom.Attr;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.w3c.dom.CDATASection;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.w3c.dom.EntityReference;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.w3c.dom.ProcessingInstruction;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>  <em>/**<em>*</em></em>
+<a name="26" href="#26">26</a>  <em> * <p></em>
+<a name="27" href="#27">27</a>  <em> * <code>DOMDocument</code> implements an XML document which supports the W3C</em>
+<a name="28" href="#28">28</a>  <em> * DOM API.</em>
+<a name="29" href="#29">29</a>  <em> * </p></em>
+<a name="30" href="#30">30</a>  <em> * </em>
+<a name="31" href="#31">31</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="32" href="#32">32</a>  <em> * @version $Revision: 1.17 $</em>
+<a name="33" href="#33">33</a>  <em> */</em>
+<a name="34" href="#34">34</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a> implements <a href="../../../org/dom4j/Document.html">Document</a> {
+<a name="35" href="#35">35</a>      <em>/**<em>* The <code>DocumentFactory</code> instance used by default */</em></em>
+<a name="36" href="#36">36</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/dom/DOMDocumentFactory.html">DOMDocumentFactory</a> DOCUMENT_FACTORY
+<a name="37" href="#37">37</a>              = (DOMDocumentFactory) DOMDocumentFactory.getInstance();
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>() {
+<a name="40" href="#40">40</a>          init();
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>(String name) {
+<a name="44" href="#44">44</a>          <strong>super</strong>(name);
+<a name="45" href="#45">45</a>          init();
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>(<a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a> rootElement) {
+<a name="49" href="#49">49</a>          <strong>super</strong>(rootElement);
+<a name="50" href="#50">50</a>          init();
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>(<a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a> docType) {
+<a name="54" href="#54">54</a>          <strong>super</strong>(docType);
+<a name="55" href="#55">55</a>          init();
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>(<a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a> rootElement, <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a> docType) {
+<a name="59" href="#59">59</a>          <strong>super</strong>(rootElement, docType);
+<a name="60" href="#60">60</a>          init();
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>(String name, <a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a> rootElement,
+<a name="64" href="#64">64</a>              <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a> docType) {
+<a name="65" href="#65">65</a>          <strong>super</strong>(name, rootElement, docType);
+<a name="66" href="#66">66</a>          init();
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>private</strong> <strong>void</strong> init() {
+<a name="70" href="#70">70</a>          setDocumentFactory(DOCUMENT_FACTORY);
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="74" href="#74">74</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="75" href="#75">75</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="76" href="#76">76</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="80" href="#80">80</a>          <strong>return</strong> DOMNodeHelper.getNamespaceURI(<strong>this</strong>);
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> String getPrefix() {
+<a name="84" href="#84">84</a>          <strong>return</strong> DOMNodeHelper.getPrefix(<strong>this</strong>);
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="88" href="#88">88</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> String getLocalName() {
+<a name="92" href="#92">92</a>          <strong>return</strong> DOMNodeHelper.getLocalName(<strong>this</strong>);
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> String getNodeName() {
+<a name="96" href="#96">96</a>          <strong>return</strong> <span class="string">"#document"</span>;
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <em class="comment">// already part of API</em>
+<a name="100" href="#100">100</a>     <em class="comment">//</em>
+<a name="101" href="#101">101</a>     <em class="comment">// public short getNodeType();</em>
+<a name="102" href="#102">102</a>     <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="103" href="#103">103</a>         <strong>return</strong> <strong>null</strong>;
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="110" href="#110">110</a>         <strong>return</strong> DOMNodeHelper.getParentNode(<strong>this</strong>);
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <strong>public</strong> NodeList getChildNodes() {
+<a name="114" href="#114">114</a>         <strong>return</strong> DOMNodeHelper.createNodeList(content());
+<a name="115" href="#115">115</a>     }
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>     <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="118" href="#118">118</a>         <strong>return</strong> DOMNodeHelper.asDOMNode(node(0));
+<a name="119" href="#119">119</a>     }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="122" href="#122">122</a>         <strong>return</strong> DOMNodeHelper.asDOMNode(node(nodeCount() - 1));
+<a name="123" href="#123">123</a>     }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>     <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="126" href="#126">126</a>         <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="127" href="#127">127</a>     }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>     <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="130" href="#130">130</a>         <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="131" href="#131">131</a>     }
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>     <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="134" href="#134">134</a>         <strong>return</strong> <strong>null</strong>;
+<a name="135" href="#135">135</a>     }
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>     <strong>public</strong> org.w3c.dom.Document getOwnerDocument() {
+<a name="138" href="#138">138</a>         <strong>return</strong> <strong>null</strong>;
+<a name="139" href="#139">139</a>     }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="142" href="#142">142</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="143" href="#143">143</a>         checkNewChildNode(newChild);
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="146" href="#146">146</a>     }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="149" href="#149">149</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="150" href="#150">150</a>         checkNewChildNode(newChild);
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="156" href="#156">156</a>             throws DOMException {
+<a name="157" href="#157">157</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="161" href="#161">161</a>             throws DOMException {
+<a name="162" href="#162">162</a>         checkNewChildNode(newChild);
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="165" href="#165">165</a>     }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>     <strong>private</strong> <strong>void</strong> checkNewChildNode(org.w3c.dom.Node newChild)
+<a name="168" href="#168">168</a>             throws DOMException {
+<a name="169" href="#169">169</a>         <strong>final</strong> <strong>int</strong> nodeType = newChild.getNodeType();
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>         <strong>if</strong> (!((nodeType == org.w3c.dom.Node.ELEMENT_NODE)
+<a name="172" href="#172">172</a>                 || (nodeType == org.w3c.dom.Node.COMMENT_NODE)
+<a name="173" href="#173">173</a>                 || (nodeType == org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE) 
+<a name="174" href="#174">174</a>                 || (nodeType == org.w3c.dom.Node.DOCUMENT_TYPE_NODE))) {
+<a name="175" href="#175">175</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="176" href="#176">176</a>                     <span class="string">"Given node cannot be a child of document"</span>);
+<a name="177" href="#177">177</a>         }
+<a name="178" href="#178">178</a>     }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="181" href="#181">181</a>         <strong>return</strong> nodeCount() > 0;
+<a name="182" href="#182">182</a>     }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="185" href="#185">185</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="186" href="#186">186</a>     }
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="189" href="#189">189</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="190" href="#190">190</a>     }
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="193" href="#193">193</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="194" href="#194">194</a>     }
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>     <em class="comment">// org.w3c.dom.Document interface</em>
+<a name="197" href="#197">197</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="198" href="#198">198</a>     <strong>public</strong> NodeList getElementsByTagName(String name) {
+<a name="199" href="#199">199</a>         ArrayList list = <strong>new</strong> ArrayList();
+<a name="200" href="#200">200</a>         DOMNodeHelper.appendElementsByTagName(list, <strong>this</strong>, name);
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>         <strong>return</strong> DOMNodeHelper.createNodeList(list);
+<a name="203" href="#203">203</a>     }
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>     <strong>public</strong> NodeList getElementsByTagNameNS(String namespace, String name) {
+<a name="206" href="#206">206</a>         ArrayList list = <strong>new</strong> ArrayList();
+<a name="207" href="#207">207</a>         DOMNodeHelper.appendElementsByTagNameNS(list, <strong>this</strong>, namespace, name);
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>         <strong>return</strong> DOMNodeHelper.createNodeList(list);
+<a name="210" href="#210">210</a>     }
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>     <strong>public</strong> org.w3c.dom.DocumentType getDoctype() {
+<a name="213" href="#213">213</a>         <strong>return</strong> DOMNodeHelper.asDOMDocumentType(getDocType());
+<a name="214" href="#214">214</a>     }
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>     <strong>public</strong> org.w3c.dom.DOMImplementation getImplementation() {
+<a name="217" href="#217">217</a>         <strong>if</strong> (getDocumentFactory() instanceof org.w3c.dom.DOMImplementation) {
+<a name="218" href="#218">218</a>             <strong>return</strong> (org.w3c.dom.DOMImplementation) getDocumentFactory();
+<a name="219" href="#219">219</a>         } <strong>else</strong> {
+<a name="220" href="#220">220</a>             <strong>return</strong> DOCUMENT_FACTORY;
+<a name="221" href="#221">221</a>         }
+<a name="222" href="#222">222</a>     }
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>     <strong>public</strong> org.w3c.dom.Element getDocumentElement() {
+<a name="225" href="#225">225</a>         <strong>return</strong> DOMNodeHelper.asDOMElement(getRootElement());
+<a name="226" href="#226">226</a>     }
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>     <strong>public</strong> org.w3c.dom.Element createElement(String name) throws DOMException {
+<a name="229" href="#229">229</a>         <strong>return</strong> (org.w3c.dom.Element) getDocumentFactory().createElement(name);
+<a name="230" href="#230">230</a>     }
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>     <strong>public</strong> org.w3c.dom.DocumentFragment createDocumentFragment() {
+<a name="233" href="#233">233</a>         DOMNodeHelper.notSupported();
+<a name="234" href="#234">234</a> 
+<a name="235" href="#235">235</a>         <strong>return</strong> <strong>null</strong>;
+<a name="236" href="#236">236</a>     }
+<a name="237" href="#237">237</a> 
+<a name="238" href="#238">238</a>     <strong>public</strong> org.w3c.dom.Text createTextNode(String data) {
+<a name="239" href="#239">239</a>         <strong>return</strong> (org.w3c.dom.Text) getDocumentFactory().createText(data);
+<a name="240" href="#240">240</a>     }
+<a name="241" href="#241">241</a> 
+<a name="242" href="#242">242</a>     <strong>public</strong> org.w3c.dom.Comment createComment(String data) {
+<a name="243" href="#243">243</a>         <strong>return</strong> (org.w3c.dom.Comment) getDocumentFactory().createComment(data);
+<a name="244" href="#244">244</a>     }
+<a name="245" href="#245">245</a> 
+<a name="246" href="#246">246</a>     <strong>public</strong> CDATASection createCDATASection(String data) throws DOMException {
+<a name="247" href="#247">247</a>         <strong>return</strong> (CDATASection) getDocumentFactory().createCDATA(data);
+<a name="248" href="#248">248</a>     }
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>     <strong>public</strong> <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(String target,
+<a name="251" href="#251">251</a>             String data) throws DOMException {
+<a name="252" href="#252">252</a>         <strong>return</strong> (ProcessingInstruction) getDocumentFactory()
+<a name="253" href="#253">253</a>                 .createProcessingInstruction(target, data);
+<a name="254" href="#254">254</a>     }
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a>     <strong>public</strong> Attr createAttribute(String name) throws DOMException {
+<a name="257" href="#257">257</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = getDocumentFactory().createQName(name);
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>         <strong>return</strong> (Attr) getDocumentFactory().createAttribute(<strong>null</strong>, qname, <span class="string">""</span>);
+<a name="260" href="#260">260</a>     }
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>     <strong>public</strong> EntityReference createEntityReference(String name)
+<a name="263" href="#263">263</a>             throws DOMException {
+<a name="264" href="#264">264</a>         <strong>return</strong> (EntityReference) getDocumentFactory().createEntity(name, <strong>null</strong>);
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <strong>public</strong> org.w3c.dom.Node importNode(org.w3c.dom.Node importedNode,
+<a name="268" href="#268">268</a>             <strong>boolean</strong> deep) throws DOMException {
+<a name="269" href="#269">269</a>         DOMNodeHelper.notSupported();
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a>         <strong>return</strong> <strong>null</strong>;
+<a name="272" href="#272">272</a>     }
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>     <strong>public</strong> org.w3c.dom.Element createElementNS(String namespaceURI,
+<a name="275" href="#275">275</a>             String qualifiedName) throws DOMException {
+<a name="276" href="#276">276</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = getDocumentFactory().createQName(qualifiedName,
+<a name="277" href="#277">277</a>                 namespaceURI);
+<a name="278" href="#278">278</a> 
+<a name="279" href="#279">279</a>         <strong>return</strong> (org.w3c.dom.Element) getDocumentFactory().createElement(qname);
+<a name="280" href="#280">280</a>     }
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>     <strong>public</strong> org.w3c.dom.Attr createAttributeNS(String namespaceURI,
+<a name="283" href="#283">283</a>             String qualifiedName) throws DOMException {
+<a name="284" href="#284">284</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = getDocumentFactory().createQName(qualifiedName,
+<a name="285" href="#285">285</a>                 namespaceURI);
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a>         <strong>return</strong> (org.w3c.dom.Attr) getDocumentFactory().createAttribute(<strong>null</strong>,
+<a name="288" href="#288">288</a>                 qname, <strong>null</strong>);
+<a name="289" href="#289">289</a>     }
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>     <strong>public</strong> org.w3c.dom.Element getElementById(String elementId) {
+<a name="292" href="#292">292</a>         <strong>return</strong> DOMNodeHelper.asDOMElement(elementByID(elementId));
+<a name="293" href="#293">293</a>     }
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>     <em class="comment">// Implementation methods</em>
+<a name="296" href="#296">296</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="297" href="#297">297</a>     <strong>protected</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="298" href="#298">298</a>         <strong>if</strong> (<strong>super</strong>.getDocumentFactory() == <strong>null</strong>) {
+<a name="299" href="#299">299</a>             <strong>return</strong> DOCUMENT_FACTORY;
+<a name="300" href="#300">300</a>         } <strong>else</strong> {
+<a name="301" href="#301">301</a>             <strong>return</strong> <strong>super</strong>.getDocumentFactory();
+<a name="302" href="#302">302</a>         }
+<a name="303" href="#303">303</a>     }
+<a name="304" href="#304">304</a> }
+<a name="305" href="#305">305</a> 
+<a name="306" href="#306">306</a> <em class="comment">/*</em>
+<a name="307" href="#307">307</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="308" href="#308">308</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="309" href="#309">309</a> <em class="comment"> * following conditions are met:</em>
+<a name="310" href="#310">310</a> <em class="comment"> * </em>
+<a name="311" href="#311">311</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="312" href="#312">312</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="313" href="#313">313</a> <em class="comment"> * </em>
+<a name="314" href="#314">314</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="315" href="#315">315</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="316" href="#316">316</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="317" href="#317">317</a> <em class="comment"> * </em>
+<a name="318" href="#318">318</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="319" href="#319">319</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="320" href="#320">320</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="321" href="#321">321</a> <em class="comment"> * </em>
+<a name="322" href="#322">322</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="323" href="#323">323</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="324" href="#324">324</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="325" href="#325">325</a> <em class="comment"> * </em>
+<a name="326" href="#326">326</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="327" href="#327">327</a> <em class="comment"> * </em>
+<a name="328" href="#328">328</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="329" href="#329">329</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="330" href="#330">330</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="331" href="#331">331</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="332" href="#332">332</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="333" href="#333">333</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="334" href="#334">334</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="335" href="#335">335</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="336" href="#336">336</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="337" href="#337">337</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="338" href="#338">338</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="339" href="#339">339</a> <em class="comment"> * </em>
+<a name="340" href="#340">340</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="341" href="#341">341</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMDocumentFactory.html b/docs/xref/org/dom4j/dom/DOMDocumentFactory.html
new file mode 100644
index 0000000..f5562c8
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMDocumentFactory.html
@@ -0,0 +1,229 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMDocumentFactory xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMDocumentFactory.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Map;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Document;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Element;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.QName;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.Text;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.util.SingletonStrategy;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>  <em>/**<em>*</em></em>
+<a name="28" href="#28">28</a>  <em> * <p></em>
+<a name="29" href="#29">29</a>  <em> * <code>DOMDocumentFactory</code> is a factory of DOM4J objects which</em>
+<a name="30" href="#30">30</a>  <em> * implement the W3C DOM API.</em>
+<a name="31" href="#31">31</a>  <em> * </p></em>
+<a name="32" href="#32">32</a>  <em> * </em>
+<a name="33" href="#33">33</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="34" href="#34">34</a>  <em> * @version $Revision: 1.21 $</em>
+<a name="35" href="#35">35</a>  <em> */</em>
+<a name="36" href="#36">36</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMDocumentFactory.html">DOMDocumentFactory</a> <strong>extends</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> implements
+<a name="37" href="#37">37</a>          org.w3c.dom.DOMImplementation {
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>* The Singleton instance */</em></em>
+<a name="40" href="#40">40</a>      <strong>private</strong> <strong>static</strong> <a href="../../../org/dom4j/util/SingletonStrategy.html">SingletonStrategy</a> singleton = <strong>null</strong>;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>static</strong> {
+<a name="43" href="#43">43</a>          <strong>try</strong> {
+<a name="44" href="#44">44</a>              String defaultSingletonClass = <span class="string">"org.dom4j.util.SimpleSingleton"</span>;
+<a name="45" href="#45">45</a>              Class clazz = <strong>null</strong>;
+<a name="46" href="#46">46</a>              <strong>try</strong> {
+<a name="47" href="#47">47</a>                  String singletonClass = defaultSingletonClass;
+<a name="48" href="#48">48</a>                  singletonClass = System.getProperty(
+<a name="49" href="#49">49</a>                          <span class="string">"org.dom4j.dom.DOMDocumentFactory.singleton.strategy"</span>,
+<a name="50" href="#50">50</a>                          singletonClass);
+<a name="51" href="#51">51</a>                  clazz = Class.forName(singletonClass);
+<a name="52" href="#52">52</a>              } <strong>catch</strong> (Exception exc1) {
+<a name="53" href="#53">53</a>                  <strong>try</strong> {
+<a name="54" href="#54">54</a>                      String singletonClass = defaultSingletonClass;
+<a name="55" href="#55">55</a>                      clazz = Class.forName(singletonClass);
+<a name="56" href="#56">56</a>                  } <strong>catch</strong> (Exception exc2) {
+<a name="57" href="#57">57</a>                  }
+<a name="58" href="#58">58</a>              }
+<a name="59" href="#59">59</a>              singleton = (SingletonStrategy) clazz.newInstance();
+<a name="60" href="#60">60</a>              singleton.setSingletonClassName(DOMDocumentFactory.<strong>class</strong>.getName());
+<a name="61" href="#61">61</a>          } <strong>catch</strong> (Exception exc3) {
+<a name="62" href="#62">62</a>          }
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <em>/**<em>*</em></em>
+<a name="66" href="#66">66</a>  <em>     * <p></em>
+<a name="67" href="#67">67</a>  <em>     * Access to the singleton instance of this factory.</em>
+<a name="68" href="#68">68</a>  <em>     * </p></em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @return the default singleon instance</em>
+<a name="71" href="#71">71</a>  <em>     */</em>
+<a name="72" href="#72">72</a>      <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getInstance() {
+<a name="73" href="#73">73</a>          <a href="../../../org/dom4j/dom/DOMDocumentFactory.html">DOMDocumentFactory</a> fact = (DOMDocumentFactory) singleton.instance();
+<a name="74" href="#74">74</a>          <strong>return</strong> fact;
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <em class="comment">// Factory methods</em>
+<a name="78" href="#78">78</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> createDocument() {
+<a name="79" href="#79">79</a>          <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a> answer = <strong>new</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>();
+<a name="80" href="#80">80</a>          answer.setDocumentFactory(<strong>this</strong>);
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          <strong>return</strong> answer;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> createDocType(String name, String <strong>public</strong>Id,
+<a name="86" href="#86">86</a>              String systemId) {
+<a name="87" href="#87">87</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a>(name, publicId, systemId);
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="91" href="#91">91</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a>(qname);
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname, <strong>int</strong> attributeCount) {
+<a name="95" href="#95">95</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a>(qname, attributeCount);
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../../org/dom4j/Element.html">Element</a> owner, <a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="99" href="#99">99</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMAttribute.html">DOMAttribute</a>(qname, value);
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <a href="../../../org/dom4j/CDATA.html">CDATA</a> createCDATA(String text) {
+<a name="103" href="#103">103</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMCDATA.html">DOMCDATA</a>(text);
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <strong>public</strong> <a href="../../../org/dom4j/Comment.html">Comment</a> createComment(String text) {
+<a name="107" href="#107">107</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMComment.html">DOMComment</a>(text);
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <strong>public</strong> <a href="../../../org/dom4j/Text.html">Text</a> createText(String text) {
+<a name="111" href="#111">111</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMText.html">DOMText</a>(text);
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> <a href="../../../org/dom4j/Entity.html">Entity</a> createEntity(String name) {
+<a name="115" href="#115">115</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMEntityReference.html">DOMEntityReference</a>(name);
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <strong>public</strong> <a href="../../../org/dom4j/Entity.html">Entity</a> createEntity(String name, String text) {
+<a name="119" href="#119">119</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMEntityReference.html">DOMEntityReference</a>(name, text);
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> createNamespace(String prefix, String uri) {
+<a name="123" href="#123">123</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMNamespace.html">DOMNamespace</a>(prefix, uri);
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <strong>public</strong> <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(String target,
+<a name="127" href="#127">127</a>             String data) {
+<a name="128" href="#128">128</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMProcessingInstruction.html">DOMProcessingInstruction</a>(target, data);
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>public</strong> <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(String target,
+<a name="132" href="#132">132</a>             Map data) {
+<a name="133" href="#133">133</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMProcessingInstruction.html">DOMProcessingInstruction</a>(target, data);
+<a name="134" href="#134">134</a>     }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>     <em class="comment">// org.w3c.dom.DOMImplementation interface</em>
+<a name="137" href="#137">137</a>     <strong>public</strong> <strong>boolean</strong> hasFeature(String feat, String version) {
+<a name="138" href="#138">138</a>         <strong>if</strong> (<span class="string">"XML"</span>.equalsIgnoreCase(feat) || <span class="string">"Core"</span>.equalsIgnoreCase(feat)) {
+<a name="139" href="#139">139</a>             <strong>return</strong> ((version == <strong>null</strong>) || (version.length() == 0)
+<a name="140" href="#140">140</a>                     || <span class="string">"1.0"</span>.equals(version) || <span class="string">"2.0"</span>.equals(version));
+<a name="141" href="#141">141</a>         }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         <strong>return</strong> false;
+<a name="144" href="#144">144</a>     }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <strong>public</strong> org.w3c.dom.DocumentType createDocumentType(String qualifiedName,
+<a name="147" href="#147">147</a>             String publicId, String systemId) throws DOMException {
+<a name="148" href="#148">148</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a>(qualifiedName, publicId, systemId);
+<a name="149" href="#149">149</a>     }
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>     <strong>public</strong> org.w3c.dom.Document createDocument(String namespaceURI,
+<a name="152" href="#152">152</a>             String qualifiedName, org.w3c.dom.DocumentType docType)
+<a name="153" href="#153">153</a>             throws org.w3c.dom.DOMException {
+<a name="154" href="#154">154</a>         <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a> document;
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>         <strong>if</strong> (docType != <strong>null</strong>) {
+<a name="157" href="#157">157</a>             <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a> documentType = asDocumentType(docType);
+<a name="158" href="#158">158</a>             document = <strong>new</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>(documentType);
+<a name="159" href="#159">159</a>         } <strong>else</strong> {
+<a name="160" href="#160">160</a>             document = <strong>new</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>();
+<a name="161" href="#161">161</a>         }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>         document.addElement(createQName(qualifiedName, namespaceURI));
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>         <strong>return</strong> document;
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>     <em class="comment">// Implementation methods</em>
+<a name="169" href="#169">169</a>     <strong>protected</strong> <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a> asDocumentType(org.w3c.dom.DocumentType docType) {
+<a name="170" href="#170">170</a>         <strong>if</strong> (docType instanceof DOMDocumentType) {
+<a name="171" href="#171">171</a>             <strong>return</strong> (DOMDocumentType) docType;
+<a name="172" href="#172">172</a>         } <strong>else</strong> {
+<a name="173" href="#173">173</a>             <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a>(docType.getName(),
+<a name="174" href="#174">174</a>                     docType.getPublicId(), docType.getSystemId());
+<a name="175" href="#175">175</a>         }
+<a name="176" href="#176">176</a>     }
+<a name="177" href="#177">177</a> }
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a> <em class="comment">/*</em>
+<a name="182" href="#182">182</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="183" href="#183">183</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="184" href="#184">184</a> <em class="comment"> * following conditions are met:</em>
+<a name="185" href="#185">185</a> <em class="comment"> * </em>
+<a name="186" href="#186">186</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="187" href="#187">187</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="188" href="#188">188</a> <em class="comment"> * </em>
+<a name="189" href="#189">189</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="190" href="#190">190</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="191" href="#191">191</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="192" href="#192">192</a> <em class="comment"> * </em>
+<a name="193" href="#193">193</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="194" href="#194">194</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="195" href="#195">195</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="196" href="#196">196</a> <em class="comment"> * </em>
+<a name="197" href="#197">197</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="198" href="#198">198</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="199" href="#199">199</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="200" href="#200">200</a> <em class="comment"> * </em>
+<a name="201" href="#201">201</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="202" href="#202">202</a> <em class="comment"> * </em>
+<a name="203" href="#203">203</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="204" href="#204">204</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="205" href="#205">205</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="206" href="#206">206</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="207" href="#207">207</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="208" href="#208">208</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="209" href="#209">209</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="210" href="#210">210</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="211" href="#211">211</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="212" href="#212">212</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="213" href="#213">213</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="214" href="#214">214</a> <em class="comment"> * </em>
+<a name="215" href="#215">215</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="216" href="#216">216</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMDocumentType.html b/docs/xref/org/dom4j/dom/DOMDocumentType.html
new file mode 100644
index 0000000..96c1fe1
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMDocumentType.html
@@ -0,0 +1,230 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMDocumentType xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMDocumentType.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.tree.DefaultDocumentType;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <p></em>
+<a name="19" href="#19">19</a>  <em> * <code>DOMDocumentType</code> implements a DocumentType node which supports</em>
+<a name="20" href="#20">20</a>  <em> * the W3C DOM API.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.11 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultDocumentType.html">DefaultDocumentType</a> implements
+<a name="27" href="#27">27</a>          org.w3c.dom.DocumentType {
+<a name="28" href="#28">28</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a>() {
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a>(String elementName, String systemID) {
+<a name="32" href="#32">32</a>          <strong>super</strong>(elementName, systemID);
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMDocumentType.html">DOMDocumentType</a>(String name, String <strong>public</strong>ID, String systemID) {
+<a name="36" href="#36">36</a>          <strong>super</strong>(name, publicID, systemID);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="40" href="#40">40</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="41" href="#41">41</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="42" href="#42">42</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="46" href="#46">46</a>          <strong>return</strong> DOMNodeHelper.getNamespaceURI(<strong>this</strong>);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> String getPrefix() {
+<a name="50" href="#50">50</a>          <strong>return</strong> DOMNodeHelper.getPrefix(<strong>this</strong>);
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="54" href="#54">54</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> String getLocalName() {
+<a name="58" href="#58">58</a>          <strong>return</strong> DOMNodeHelper.getLocalName(<strong>this</strong>);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> String getNodeName() {
+<a name="62" href="#62">62</a>          <strong>return</strong> getName();
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <em class="comment">// already part of API</em>
+<a name="66" href="#66">66</a>      <em class="comment">//</em>
+<a name="67" href="#67">67</a>      <em class="comment">// public short getNodeType();</em>
+<a name="68" href="#68">68</a>      <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="69" href="#69">69</a>          <strong>return</strong> <strong>null</strong>;
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="76" href="#76">76</a>          <strong>return</strong> DOMNodeHelper.getParentNode(<strong>this</strong>);
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <strong>public</strong> NodeList getChildNodes() {
+<a name="80" href="#80">80</a>          <strong>return</strong> DOMNodeHelper.getChildNodes(<strong>this</strong>);
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="84" href="#84">84</a>          <strong>return</strong> DOMNodeHelper.getFirstChild(<strong>this</strong>);
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="88" href="#88">88</a>          <strong>return</strong> DOMNodeHelper.getLastChild(<strong>this</strong>);
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="92" href="#92">92</a>          <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="96" href="#96">96</a>          <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="100" href="#100">100</a>         <strong>return</strong> <strong>null</strong>;
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <strong>public</strong> Document getOwnerDocument() {
+<a name="104" href="#104">104</a>         <strong>return</strong> DOMNodeHelper.getOwnerDocument(<strong>this</strong>);
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="108" href="#108">108</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="109" href="#109">109</a>         checkNewChildNode(newChild);
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="115" href="#115">115</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="116" href="#116">116</a>         checkNewChildNode(newChild);
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="119" href="#119">119</a>     }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="122" href="#122">122</a>             throws DOMException {
+<a name="123" href="#123">123</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="127" href="#127">127</a>             throws DOMException {
+<a name="128" href="#128">128</a>         checkNewChildNode(newChild);
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="131" href="#131">131</a>     }
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>     <strong>private</strong> <strong>void</strong> checkNewChildNode(org.w3c.dom.Node newChild)
+<a name="134" href="#134">134</a>             throws DOMException {
+<a name="135" href="#135">135</a>         <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="136" href="#136">136</a>                 <span class="string">"DocumentType nodes cannot have children"</span>);
+<a name="137" href="#137">137</a>     }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="140" href="#140">140</a>         <strong>return</strong> DOMNodeHelper.hasChildNodes(<strong>this</strong>);
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="144" href="#144">144</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="145" href="#145">145</a>     }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="148" href="#148">148</a>         DOMNodeHelper.normalize(<strong>this</strong>);
+<a name="149" href="#149">149</a>     }
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="152" href="#152">152</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="156" href="#156">156</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="157" href="#157">157</a>     }
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>     <em class="comment">// org.w3c.dom.DocumentType interface</em>
+<a name="160" href="#160">160</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="161" href="#161">161</a>     <strong>public</strong> NamedNodeMap getEntities() {
+<a name="162" href="#162">162</a>         <strong>return</strong> <strong>null</strong>;
+<a name="163" href="#163">163</a>     }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>     <strong>public</strong> NamedNodeMap getNotations() {
+<a name="166" href="#166">166</a>         <strong>return</strong> <strong>null</strong>;
+<a name="167" href="#167">167</a>     }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>     <strong>public</strong> String getPublicId() {
+<a name="170" href="#170">170</a>         <strong>return</strong> getPublicID();
+<a name="171" href="#171">171</a>     }
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>     <strong>public</strong> String getSystemId() {
+<a name="174" href="#174">174</a>         <strong>return</strong> getSystemID();
+<a name="175" href="#175">175</a>     }
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>     <strong>public</strong> String getInternalSubset() {
+<a name="178" href="#178">178</a>         <strong>return</strong> getElementName();
+<a name="179" href="#179">179</a>     }
+<a name="180" href="#180">180</a> }
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a> <em class="comment">/*</em>
+<a name="183" href="#183">183</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="184" href="#184">184</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="185" href="#185">185</a> <em class="comment"> * following conditions are met:</em>
+<a name="186" href="#186">186</a> <em class="comment"> * </em>
+<a name="187" href="#187">187</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="188" href="#188">188</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="189" href="#189">189</a> <em class="comment"> * </em>
+<a name="190" href="#190">190</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="191" href="#191">191</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="192" href="#192">192</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="193" href="#193">193</a> <em class="comment"> * </em>
+<a name="194" href="#194">194</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="195" href="#195">195</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="196" href="#196">196</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="197" href="#197">197</a> <em class="comment"> * </em>
+<a name="198" href="#198">198</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="199" href="#199">199</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="200" href="#200">200</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="201" href="#201">201</a> <em class="comment"> * </em>
+<a name="202" href="#202">202</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="203" href="#203">203</a> <em class="comment"> * </em>
+<a name="204" href="#204">204</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="205" href="#205">205</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="206" href="#206">206</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="207" href="#207">207</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="208" href="#208">208</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="209" href="#209">209</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="210" href="#210">210</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="211" href="#211">211</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="212" href="#212">212</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="213" href="#213">213</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="214" href="#214">214</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="215" href="#215">215</a> <em class="comment"> * </em>
+<a name="216" href="#216">216</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="217" href="#217">217</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMElement.html b/docs/xref/org/dom4j/dom/DOMElement.html
new file mode 100644
index 0000000..3e8af83
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMElement.html
@@ -0,0 +1,442 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMElement xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMElement.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.List;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.QName;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.tree.DefaultElement;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.w3c.dom.Node;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>  <em>/**<em>*</em></em>
+<a name="26" href="#26">26</a>  <em> * <p></em>
+<a name="27" href="#27">27</a>  <em> * <code>DOMElement</code> implements an XML element which supports the W3C</em>
+<a name="28" href="#28">28</a>  <em> * DOM API.</em>
+<a name="29" href="#29">29</a>  <em> * </p></em>
+<a name="30" href="#30">30</a>  <em> * </em>
+<a name="31" href="#31">31</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="32" href="#32">32</a>  <em> * @version $Revision: 1.23 $</em>
+<a name="33" href="#33">33</a>  <em> */</em>
+<a name="34" href="#34">34</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a> implements org.w3c.dom.Element {
+<a name="35" href="#35">35</a>      <em>/**<em>* The <code>DocumentFactory</code> instance used by default */</em></em>
+<a name="36" href="#36">36</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> DOCUMENT_FACTORY = <a href="../../../org/dom4j/dom/DOMDocumentFactory.html">DOMDocumentFactory</a>
+<a name="37" href="#37">37</a>              .getInstance();
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a>(String name) {
+<a name="40" href="#40">40</a>          <strong>super</strong>(name);
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="44" href="#44">44</a>          <strong>super</strong>(qname);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, <strong>int</strong> attributeCount) {
+<a name="48" href="#48">48</a>          <strong>super</strong>(qname, attributeCount);
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMElement.html">DOMElement</a>(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="52" href="#52">52</a>          <strong>super</strong>(name, namespace);
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="56" href="#56">56</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="58" href="#58">58</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="62" href="#62">62</a>          <strong>return</strong> getQName().getNamespaceURI();
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> String getPrefix() {
+<a name="66" href="#66">66</a>          <strong>return</strong> getQName().getNamespacePrefix();
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="70" href="#70">70</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> String getLocalName() {
+<a name="74" href="#74">74</a>          <strong>return</strong> getQName().getName();
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> String getNodeName() {
+<a name="78" href="#78">78</a>          <strong>return</strong> getName();
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <em class="comment">// already part of API</em>
+<a name="82" href="#82">82</a>      <em class="comment">//</em>
+<a name="83" href="#83">83</a>      <em class="comment">// public short getNodeType();</em>
+<a name="84" href="#84">84</a>      <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="85" href="#85">85</a>          <strong>return</strong> <strong>null</strong>;
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="92" href="#92">92</a>          <strong>return</strong> DOMNodeHelper.getParentNode(<strong>this</strong>);
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> NodeList getChildNodes() {
+<a name="96" href="#96">96</a>          <strong>return</strong> DOMNodeHelper.createNodeList(content());
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="100" href="#100">100</a>         <strong>return</strong> DOMNodeHelper.asDOMNode(node(0));
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="104" href="#104">104</a>         <strong>return</strong> DOMNodeHelper.asDOMNode(node(nodeCount() - 1));
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="108" href="#108">108</a>         <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="109" href="#109">109</a>     }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>     <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="112" href="#112">112</a>         <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="113" href="#113">113</a>     }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="116" href="#116">116</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMAttributeNodeMap.html">DOMAttributeNodeMap</a>(<strong>this</strong>);
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getOwnerDocument() {
+<a name="120" href="#120">120</a>         <strong>return</strong> DOMNodeHelper.getOwnerDocument(<strong>this</strong>);
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="124" href="#124">124</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="125" href="#125">125</a>         checkNewChildNode(newChild);
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="128" href="#128">128</a>     }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="131" href="#131">131</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="132" href="#132">132</a>         checkNewChildNode(newChild);
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="135" href="#135">135</a>     }
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="138" href="#138">138</a>             throws DOMException {
+<a name="139" href="#139">139</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="143" href="#143">143</a>             throws DOMException {
+<a name="144" href="#144">144</a>         checkNewChildNode(newChild);
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <strong>private</strong> <strong>void</strong> checkNewChildNode(org.w3c.dom.Node newChild)
+<a name="150" href="#150">150</a>             throws DOMException {
+<a name="151" href="#151">151</a>         <strong>final</strong> <strong>int</strong> nodeType = newChild.getNodeType();
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>         <strong>if</strong> (!((nodeType == Node.ELEMENT_NODE) || (nodeType == Node.TEXT_NODE)
+<a name="154" href="#154">154</a>                 || (nodeType == Node.COMMENT_NODE)
+<a name="155" href="#155">155</a>                 || (nodeType == Node.PROCESSING_INSTRUCTION_NODE)
+<a name="156" href="#156">156</a>                 || (nodeType == Node.CDATA_SECTION_NODE) 
+<a name="157" href="#157">157</a>                 || (nodeType == Node.ENTITY_REFERENCE_NODE))) {
+<a name="158" href="#158">158</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="159" href="#159">159</a>                     <span class="string">"Given node cannot be a child of element"</span>);
+<a name="160" href="#160">160</a>         }
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="164" href="#164">164</a>         <strong>return</strong> nodeCount() > 0;
+<a name="165" href="#165">165</a>     }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="168" href="#168">168</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="169" href="#169">169</a>     }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="172" href="#172">172</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="173" href="#173">173</a>     }
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="176" href="#176">176</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="177" href="#177">177</a>     }
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>     <em class="comment">// org.w3c.dom.Element interface</em>
+<a name="180" href="#180">180</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="181" href="#181">181</a>     <strong>public</strong> String getTagName() {
+<a name="182" href="#182">182</a>         <strong>return</strong> getName();
+<a name="183" href="#183">183</a>     }
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>     <strong>public</strong> String getAttribute(String name) {
+<a name="186" href="#186">186</a>         String answer = attributeValue(name);
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>         <strong>return</strong> (answer != <strong>null</strong>) ? answer : <span class="string">""</span>;
+<a name="189" href="#189">189</a>     }
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>     <strong>public</strong> <strong>void</strong> setAttribute(String name, String value) throws DOMException {
+<a name="192" href="#192">192</a>         addAttribute(name, value);
+<a name="193" href="#193">193</a>     }
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>     <strong>public</strong> <strong>void</strong> removeAttribute(String name) throws DOMException {
+<a name="196" href="#196">196</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(name);
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>         <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="199" href="#199">199</a>             remove(attribute);
+<a name="200" href="#200">200</a>         }
+<a name="201" href="#201">201</a>     }
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>     <strong>public</strong> org.w3c.dom.Attr getAttributeNode(String name) {
+<a name="204" href="#204">204</a>         <strong>return</strong> DOMNodeHelper.asDOMAttr(attribute(name));
+<a name="205" href="#205">205</a>     }
+<a name="206" href="#206">206</a> 
+<a name="207" href="#207">207</a>     <strong>public</strong> org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)
+<a name="208" href="#208">208</a>             throws DOMException {
+<a name="209" href="#209">209</a>         <strong>if</strong> (<strong>this</strong>.isReadOnly()) {
+<a name="210" href="#210">210</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+<a name="211" href="#211">211</a>                     <span class="string">"No modification allowed"</span>);
+<a name="212" href="#212">212</a>         }
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(newAttr);
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>         <strong>if</strong> (attribute != newAttr) {
+<a name="217" href="#217">217</a>             <strong>if</strong> (newAttr.getOwnerElement() != <strong>null</strong>) {
+<a name="218" href="#218">218</a>                 <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INUSE_ATTRIBUTE_ERR,
+<a name="219" href="#219">219</a>                         <span class="string">"Attribute is already in use"</span>);
+<a name="220" href="#220">220</a>             }
+<a name="221" href="#221">221</a> 
+<a name="222" href="#222">222</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> newAttribute = createAttribute(newAttr);
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>             <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="225" href="#225">225</a>                 attribute.detach();
+<a name="226" href="#226">226</a>             }
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>             add(newAttribute);
+<a name="229" href="#229">229</a>         }
+<a name="230" href="#230">230</a> 
+<a name="231" href="#231">231</a>         <strong>return</strong> DOMNodeHelper.asDOMAttr(attribute);
+<a name="232" href="#232">232</a>     }
+<a name="233" href="#233">233</a> 
+<a name="234" href="#234">234</a>     <strong>public</strong> org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)
+<a name="235" href="#235">235</a>             throws DOMException {
+<a name="236" href="#236">236</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(oldAttr);
+<a name="237" href="#237">237</a> 
+<a name="238" href="#238">238</a>         <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="239" href="#239">239</a>             attribute.detach();
+<a name="240" href="#240">240</a> 
+<a name="241" href="#241">241</a>             <strong>return</strong> DOMNodeHelper.asDOMAttr(attribute);
+<a name="242" href="#242">242</a>         } <strong>else</strong> {
+<a name="243" href="#243">243</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NOT_FOUND_ERR,
+<a name="244" href="#244">244</a>                     <span class="string">"No such attribute"</span>);
+<a name="245" href="#245">245</a>         }
+<a name="246" href="#246">246</a>     }
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>     <strong>public</strong> String getAttributeNS(String namespaceURI, String localName) {
+<a name="249" href="#249">249</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(namespaceURI, localName);
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>         <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="252" href="#252">252</a>             String answer = attribute.getValue();
+<a name="253" href="#253">253</a> 
+<a name="254" href="#254">254</a>             <strong>if</strong> (answer != <strong>null</strong>) {
+<a name="255" href="#255">255</a>                 <strong>return</strong> answer;
+<a name="256" href="#256">256</a>             }
+<a name="257" href="#257">257</a>         }
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>         <strong>return</strong> <span class="string">""</span>;
+<a name="260" href="#260">260</a>     }
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>     <strong>public</strong> <strong>void</strong> setAttributeNS(String namespaceURI, String qualifiedName,
+<a name="263" href="#263">263</a>             String value) throws DOMException {
+<a name="264" href="#264">264</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(namespaceURI, qualifiedName);
+<a name="265" href="#265">265</a> 
+<a name="266" href="#266">266</a>         <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="267" href="#267">267</a>             attribute.setValue(value);
+<a name="268" href="#268">268</a>         } <strong>else</strong> {
+<a name="269" href="#269">269</a>             <a href="../../../org/dom4j/QName.html">QName</a> qname = getQName(namespaceURI, qualifiedName);
+<a name="270" href="#270">270</a>             addAttribute(qname, value);
+<a name="271" href="#271">271</a>         }
+<a name="272" href="#272">272</a>     }
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>     <strong>public</strong> <strong>void</strong> removeAttributeNS(String namespaceURI, String localName)
+<a name="275" href="#275">275</a>             throws DOMException {
+<a name="276" href="#276">276</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(namespaceURI, localName);
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>         <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="279" href="#279">279</a>             remove(attribute);
+<a name="280" href="#280">280</a>         }
+<a name="281" href="#281">281</a>     }
+<a name="282" href="#282">282</a> 
+<a name="283" href="#283">283</a>     <strong>public</strong> org.w3c.dom.Attr getAttributeNodeNS(String namespaceURI,
+<a name="284" href="#284">284</a>             String localName) {
+<a name="285" href="#285">285</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(namespaceURI, localName);
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a>         <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="288" href="#288">288</a>             DOMNodeHelper.asDOMAttr(attribute);
+<a name="289" href="#289">289</a>         }
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>         <strong>return</strong> <strong>null</strong>;
+<a name="292" href="#292">292</a>     }
+<a name="293" href="#293">293</a> 
+<a name="294" href="#294">294</a>     <strong>public</strong> org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr newAttr)
+<a name="295" href="#295">295</a>             throws DOMException {
+<a name="296" href="#296">296</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(newAttr.getNamespaceURI(), newAttr
+<a name="297" href="#297">297</a>                 .getLocalName());
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>         <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="300" href="#300">300</a>             attribute.setValue(newAttr.getValue());
+<a name="301" href="#301">301</a>         } <strong>else</strong> {
+<a name="302" href="#302">302</a>             attribute = createAttribute(newAttr);
+<a name="303" href="#303">303</a>             add(attribute);
+<a name="304" href="#304">304</a>         }
+<a name="305" href="#305">305</a> 
+<a name="306" href="#306">306</a>         <strong>return</strong> DOMNodeHelper.asDOMAttr(attribute);
+<a name="307" href="#307">307</a>     }
+<a name="308" href="#308">308</a> 
+<a name="309" href="#309">309</a>     <strong>public</strong> NodeList getElementsByTagName(String name) {
+<a name="310" href="#310">310</a>         ArrayList list = <strong>new</strong> ArrayList();
+<a name="311" href="#311">311</a>         DOMNodeHelper.appendElementsByTagName(list, <strong>this</strong>, name);
+<a name="312" href="#312">312</a> 
+<a name="313" href="#313">313</a>         <strong>return</strong> DOMNodeHelper.createNodeList(list);
+<a name="314" href="#314">314</a>     }
+<a name="315" href="#315">315</a> 
+<a name="316" href="#316">316</a>     <strong>public</strong> NodeList getElementsByTagNameNS(String namespace, String lName) {
+<a name="317" href="#317">317</a>         ArrayList list = <strong>new</strong> ArrayList();
+<a name="318" href="#318">318</a>         DOMNodeHelper.appendElementsByTagNameNS(list, <strong>this</strong>, namespace, lName);
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>         <strong>return</strong> DOMNodeHelper.createNodeList(list);
+<a name="321" href="#321">321</a>     }
+<a name="322" href="#322">322</a> 
+<a name="323" href="#323">323</a>     <strong>public</strong> <strong>boolean</strong> hasAttribute(String name) {
+<a name="324" href="#324">324</a>         <strong>return</strong> attribute(name) != <strong>null</strong>;
+<a name="325" href="#325">325</a>     }
+<a name="326" href="#326">326</a> 
+<a name="327" href="#327">327</a>     <strong>public</strong> <strong>boolean</strong> hasAttributeNS(String namespaceURI, String localName) {
+<a name="328" href="#328">328</a>         <strong>return</strong> attribute(namespaceURI, localName) != <strong>null</strong>;
+<a name="329" href="#329">329</a>     }
+<a name="330" href="#330">330</a> 
+<a name="331" href="#331">331</a>     <em class="comment">// Implementation methods</em>
+<a name="332" href="#332">332</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="333" href="#333">333</a>     <strong>protected</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="334" href="#334">334</a>         <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = getQName().getDocumentFactory();
+<a name="335" href="#335">335</a> 
+<a name="336" href="#336">336</a>         <strong>return</strong> (factory != <strong>null</strong>) ? factory : DOCUMENT_FACTORY;
+<a name="337" href="#337">337</a>     }
+<a name="338" href="#338">338</a> 
+<a name="339" href="#339">339</a>     <strong>protected</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(org.w3c.dom.Attr attr) {
+<a name="340" href="#340">340</a>         <strong>return</strong> attribute(DOCUMENT_FACTORY.createQName(attr.getLocalName(), attr
+<a name="341" href="#341">341</a>                 .getPrefix(), attr.getNamespaceURI()));
+<a name="342" href="#342">342</a>     }
+<a name="343" href="#343">343</a> 
+<a name="344" href="#344">344</a>     <strong>protected</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(String namespaceURI, String localName) {
+<a name="345" href="#345">345</a>         List attributes = attributeList();
+<a name="346" href="#346">346</a>         <strong>int</strong> size = attributes.size();
+<a name="347" href="#347">347</a> 
+<a name="348" href="#348">348</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="349" href="#349">349</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) attributes.get(i);
+<a name="350" href="#350">350</a> 
+<a name="351" href="#351">351</a>             <strong>if</strong> (localName.equals(attribute.getName())
+<a name="352" href="#352">352</a>                     && (((namespaceURI == <strong>null</strong> || namespaceURI.length() == 0)
+<a name="353" href="#353">353</a>                           && ((attribute.getNamespaceURI() == <strong>null</strong>) 
+<a name="354" href="#354">354</a>                               || (attribute.getNamespaceURI().length() == 0)))
+<a name="355" href="#355">355</a>                               || ((namespaceURI != <strong>null</strong>) && namespaceURI
+<a name="356" href="#356">356</a>                                       .equals(attribute.getNamespaceURI())))) {
+<a name="357" href="#357">357</a>                 <strong>return</strong> attribute;
+<a name="358" href="#358">358</a>             }
+<a name="359" href="#359">359</a>         }
+<a name="360" href="#360">360</a> 
+<a name="361" href="#361">361</a>         <strong>return</strong> <strong>null</strong>;
+<a name="362" href="#362">362</a>     }
+<a name="363" href="#363">363</a> 
+<a name="364" href="#364">364</a>     <strong>protected</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> createAttribute(org.w3c.dom.Attr newAttr) {
+<a name="365" href="#365">365</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = <strong>null</strong>;
+<a name="366" href="#366">366</a>         String name = newAttr.getLocalName();
+<a name="367" href="#367">367</a> 
+<a name="368" href="#368">368</a>         <strong>if</strong> (name != <strong>null</strong>) {
+<a name="369" href="#369">369</a>             String prefix = newAttr.getPrefix();
+<a name="370" href="#370">370</a>             String uri = newAttr.getNamespaceURI();
+<a name="371" href="#371">371</a>             qname = getDocumentFactory().createQName(name, prefix, uri);
+<a name="372" href="#372">372</a>         } <strong>else</strong> {
+<a name="373" href="#373">373</a>             name = newAttr.getName();
+<a name="374" href="#374">374</a>             qname = getDocumentFactory().createQName(name);
+<a name="375" href="#375">375</a>         }
+<a name="376" href="#376">376</a> 
+<a name="377" href="#377">377</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMAttribute.html">DOMAttribute</a>(qname, <strong>new</strong>Attr.getValue());
+<a name="378" href="#378">378</a>     }
+<a name="379" href="#379">379</a> 
+<a name="380" href="#380">380</a>     <strong>protected</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName(String namespace, String qualifiedName) {
+<a name="381" href="#381">381</a>         <strong>int</strong> index = qualifiedName.indexOf(':');
+<a name="382" href="#382">382</a>         String prefix = <span class="string">""</span>;
+<a name="383" href="#383">383</a>         String localName = qualifiedName;
+<a name="384" href="#384">384</a> 
+<a name="385" href="#385">385</a>         <strong>if</strong> (index >= 0) {
+<a name="386" href="#386">386</a>             prefix = qualifiedName.substring(0, index);
+<a name="387" href="#387">387</a>             localName = qualifiedName.substring(index + 1);
+<a name="388" href="#388">388</a>         }
+<a name="389" href="#389">389</a> 
+<a name="390" href="#390">390</a>         <strong>return</strong> getDocumentFactory().createQName(localName, prefix, namespace);
+<a name="391" href="#391">391</a>     }
+<a name="392" href="#392">392</a> }
+<a name="393" href="#393">393</a> 
+<a name="394" href="#394">394</a> <em class="comment">/*</em>
+<a name="395" href="#395">395</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="396" href="#396">396</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="397" href="#397">397</a> <em class="comment"> * following conditions are met:</em>
+<a name="398" href="#398">398</a> <em class="comment"> * </em>
+<a name="399" href="#399">399</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="400" href="#400">400</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="401" href="#401">401</a> <em class="comment"> * </em>
+<a name="402" href="#402">402</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="403" href="#403">403</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="404" href="#404">404</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="405" href="#405">405</a> <em class="comment"> * </em>
+<a name="406" href="#406">406</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="407" href="#407">407</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="408" href="#408">408</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="409" href="#409">409</a> <em class="comment"> * </em>
+<a name="410" href="#410">410</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="411" href="#411">411</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="412" href="#412">412</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="413" href="#413">413</a> <em class="comment"> * </em>
+<a name="414" href="#414">414</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="415" href="#415">415</a> <em class="comment"> * </em>
+<a name="416" href="#416">416</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="417" href="#417">417</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="418" href="#418">418</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="419" href="#419">419</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="420" href="#420">420</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="421" href="#421">421</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="422" href="#422">422</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="423" href="#423">423</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="424" href="#424">424</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="425" href="#425">425</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="426" href="#426">426</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="427" href="#427">427</a> <em class="comment"> * </em>
+<a name="428" href="#428">428</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="429" href="#429">429</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMEntityReference.html b/docs/xref/org/dom4j/dom/DOMEntityReference.html
new file mode 100644
index 0000000..8097714
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMEntityReference.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMEntityReference xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMEntityReference.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.tree.DefaultEntity;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>DOMEntity</code> implements a Entity node which supports the W3C DOM</em>
+<a name="21" href="#21">21</a>  <em> * API.</em>
+<a name="22" href="#22">22</a>  <em> * </p></em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.12 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMEntityReference.html">DOMEntityReference</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultEntity.html">DefaultEntity</a> implements
+<a name="28" href="#28">28</a>          org.w3c.dom.EntityReference {
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMEntityReference.html">DOMEntityReference</a>(String name) {
+<a name="30" href="#30">30</a>          <strong>super</strong>(name);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMEntityReference.html">DOMEntityReference</a>(String name, String text) {
+<a name="34" href="#34">34</a>          <strong>super</strong>(name, text);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMEntityReference.html">DOMEntityReference</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String name, String text) {
+<a name="38" href="#38">38</a>          <strong>super</strong>(parent, name, text);
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="42" href="#42">42</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="43" href="#43">43</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="44" href="#44">44</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="48" href="#48">48</a>          <strong>return</strong> DOMNodeHelper.getNamespaceURI(<strong>this</strong>);
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> String getPrefix() {
+<a name="52" href="#52">52</a>          <strong>return</strong> DOMNodeHelper.getPrefix(<strong>this</strong>);
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="56" href="#56">56</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong>public</strong> String getLocalName() {
+<a name="60" href="#60">60</a>          <strong>return</strong> DOMNodeHelper.getLocalName(<strong>this</strong>);
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>public</strong> String getNodeName() {
+<a name="64" href="#64">64</a>          <strong>return</strong> getName();
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <em class="comment">// already part of API</em>
+<a name="68" href="#68">68</a>      <em class="comment">//</em>
+<a name="69" href="#69">69</a>      <em class="comment">// public short getNodeType();</em>
+<a name="70" href="#70">70</a>      <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="71" href="#71">71</a>          <strong>return</strong> <strong>null</strong>;
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="78" href="#78">78</a>          <strong>return</strong> DOMNodeHelper.getParentNode(<strong>this</strong>);
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> NodeList getChildNodes() {
+<a name="82" href="#82">82</a>          <strong>return</strong> DOMNodeHelper.getChildNodes(<strong>this</strong>);
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="86" href="#86">86</a>          <strong>return</strong> DOMNodeHelper.getFirstChild(<strong>this</strong>);
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="90" href="#90">90</a>          <strong>return</strong> DOMNodeHelper.getLastChild(<strong>this</strong>);
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="94" href="#94">94</a>          <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="95" href="#95">95</a>      }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="98" href="#98">98</a>          <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="102" href="#102">102</a>         <strong>return</strong> <strong>null</strong>;
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getOwnerDocument() {
+<a name="106" href="#106">106</a>         <strong>return</strong> DOMNodeHelper.getOwnerDocument(<strong>this</strong>);
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="110" href="#110">110</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="111" href="#111">111</a>         checkNewChildNode(newChild);
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="114" href="#114">114</a>     }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="117" href="#117">117</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="118" href="#118">118</a>         checkNewChildNode(newChild);
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="124" href="#124">124</a>             throws DOMException {
+<a name="125" href="#125">125</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="126" href="#126">126</a>     }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="129" href="#129">129</a>             throws DOMException {
+<a name="130" href="#130">130</a>         checkNewChildNode(newChild);
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="133" href="#133">133</a>     }
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>     <strong>private</strong> <strong>void</strong> checkNewChildNode(org.w3c.dom.Node newChild)
+<a name="136" href="#136">136</a>             throws DOMException {
+<a name="137" href="#137">137</a>         <strong>final</strong> <strong>int</strong> nodeType = newChild.getNodeType();
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>         <strong>if</strong> (!((nodeType == org.w3c.dom.Node.ELEMENT_NODE)
+<a name="140" href="#140">140</a>                 || (nodeType == org.w3c.dom.Node.TEXT_NODE)
+<a name="141" href="#141">141</a>                 || (nodeType == org.w3c.dom.Node.COMMENT_NODE)
+<a name="142" href="#142">142</a>                 || (nodeType == org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE)
+<a name="143" href="#143">143</a>                 || (nodeType == org.w3c.dom.Node.CDATA_SECTION_NODE) 
+<a name="144" href="#144">144</a>                 || (nodeType == org.w3c.dom.Node.ENTITY_REFERENCE_NODE))) {
+<a name="145" href="#145">145</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="146" href="#146">146</a>                     <span class="string">"Given node cannot be a child of an entity "</span> + <span class="string">"reference"</span>);
+<a name="147" href="#147">147</a>         }
+<a name="148" href="#148">148</a>     }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="151" href="#151">151</a>         <strong>return</strong> DOMNodeHelper.hasChildNodes(<strong>this</strong>);
+<a name="152" href="#152">152</a>     }
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="155" href="#155">155</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="156" href="#156">156</a>     }
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="159" href="#159">159</a>         DOMNodeHelper.normalize(<strong>this</strong>);
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="163" href="#163">163</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="164" href="#164">164</a>     }
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="167" href="#167">167</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="168" href="#168">168</a>     }
+<a name="169" href="#169">169</a> }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a> <em class="comment">/*</em>
+<a name="172" href="#172">172</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="173" href="#173">173</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="174" href="#174">174</a> <em class="comment"> * following conditions are met:</em>
+<a name="175" href="#175">175</a> <em class="comment"> * </em>
+<a name="176" href="#176">176</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="177" href="#177">177</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="178" href="#178">178</a> <em class="comment"> * </em>
+<a name="179" href="#179">179</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="180" href="#180">180</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="181" href="#181">181</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="182" href="#182">182</a> <em class="comment"> * </em>
+<a name="183" href="#183">183</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="184" href="#184">184</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="185" href="#185">185</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="186" href="#186">186</a> <em class="comment"> * </em>
+<a name="187" href="#187">187</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="188" href="#188">188</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="189" href="#189">189</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="190" href="#190">190</a> <em class="comment"> * </em>
+<a name="191" href="#191">191</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="192" href="#192">192</a> <em class="comment"> * </em>
+<a name="193" href="#193">193</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="194" href="#194">194</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="195" href="#195">195</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="196" href="#196">196</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="197" href="#197">197</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="198" href="#198">198</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="199" href="#199">199</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="200" href="#200">200</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="201" href="#201">201</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="202" href="#202">202</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="203" href="#203">203</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="204" href="#204">204</a> <em class="comment"> * </em>
+<a name="205" href="#205">205</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="206" href="#206">206</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMNamespace.html b/docs/xref/org/dom4j/dom/DOMNamespace.html
new file mode 100644
index 0000000..e55d0c6
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMNamespace.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMNamespace xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMNamespace.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.tree.DefaultNamespace;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>DOMNamespace</code> implements a Namespace that is compatable with</em>
+<a name="21" href="#21">21</a>  <em> * the DOM API.</em>
+<a name="22" href="#22">22</a>  <em> * </p></em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMNamespace.html">DOMNamespace</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultNamespace.html">DefaultNamespace</a> implements org.w3c.dom.Node {
+<a name="28" href="#28">28</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMNamespace.html">DOMNamespace</a>(String prefix, String uri) {
+<a name="29" href="#29">29</a>          <strong>super</strong>(prefix, uri);
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMNamespace.html">DOMNamespace</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String prefix, String uri) {
+<a name="33" href="#33">33</a>          <strong>super</strong>(parent, prefix, uri);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="37" href="#37">37</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="38" href="#38">38</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="39" href="#39">39</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="43" href="#43">43</a>          <strong>return</strong> DOMNodeHelper.getNamespaceURI(<strong>this</strong>);
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em class="comment">// public String getPrefix() {</em>
+<a name="47" href="#47">47</a>      <em class="comment">// return DOMNodeHelper.getPrefix(this);</em>
+<a name="48" href="#48">48</a>      <em class="comment">// }</em>
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="50" href="#50">50</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> String getLocalName() {
+<a name="54" href="#54">54</a>          <strong>return</strong> DOMNodeHelper.getLocalName(<strong>this</strong>);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> String getNodeName() {
+<a name="58" href="#58">58</a>          <strong>return</strong> getName();
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <em class="comment">// already part of API</em>
+<a name="62" href="#62">62</a>      <em class="comment">//</em>
+<a name="63" href="#63">63</a>      <em class="comment">// public short getNodeType();</em>
+<a name="64" href="#64">64</a>      <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="65" href="#65">65</a>          <strong>return</strong> DOMNodeHelper.getNodeValue(<strong>this</strong>);
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="69" href="#69">69</a>          DOMNodeHelper.setNodeValue(<strong>this</strong>, nodeValue);
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="73" href="#73">73</a>          <strong>return</strong> DOMNodeHelper.getParentNode(<strong>this</strong>);
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> NodeList getChildNodes() {
+<a name="77" href="#77">77</a>          <strong>return</strong> DOMNodeHelper.getChildNodes(<strong>this</strong>);
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="81" href="#81">81</a>          <strong>return</strong> DOMNodeHelper.getFirstChild(<strong>this</strong>);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="85" href="#85">85</a>          <strong>return</strong> DOMNodeHelper.getLastChild(<strong>this</strong>);
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="89" href="#89">89</a>          <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="93" href="#93">93</a>          <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="97" href="#97">97</a>          <strong>return</strong> DOMNodeHelper.getAttributes(<strong>this</strong>);
+<a name="98" href="#98">98</a>      }
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getOwnerDocument() {
+<a name="101" href="#101">101</a>         <strong>return</strong> DOMNodeHelper.getOwnerDocument(<strong>this</strong>);
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="105" href="#105">105</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="106" href="#106">106</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="110" href="#110">110</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="111" href="#111">111</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="115" href="#115">115</a>             throws DOMException {
+<a name="116" href="#116">116</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="120" href="#120">120</a>             throws DOMException {
+<a name="121" href="#121">121</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="122" href="#122">122</a>     }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="125" href="#125">125</a>         <strong>return</strong> DOMNodeHelper.hasChildNodes(<strong>this</strong>);
+<a name="126" href="#126">126</a>     }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="129" href="#129">129</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="133" href="#133">133</a>         DOMNodeHelper.normalize(<strong>this</strong>);
+<a name="134" href="#134">134</a>     }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="137" href="#137">137</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="141" href="#141">141</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a> <em class="comment">/*</em>
+<a name="146" href="#146">146</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="147" href="#147">147</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="148" href="#148">148</a> <em class="comment"> * following conditions are met:</em>
+<a name="149" href="#149">149</a> <em class="comment"> * </em>
+<a name="150" href="#150">150</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="151" href="#151">151</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="152" href="#152">152</a> <em class="comment"> * </em>
+<a name="153" href="#153">153</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="154" href="#154">154</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="155" href="#155">155</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="156" href="#156">156</a> <em class="comment"> * </em>
+<a name="157" href="#157">157</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="158" href="#158">158</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="159" href="#159">159</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="160" href="#160">160</a> <em class="comment"> * </em>
+<a name="161" href="#161">161</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="162" href="#162">162</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="163" href="#163">163</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="164" href="#164">164</a> <em class="comment"> * </em>
+<a name="165" href="#165">165</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="166" href="#166">166</a> <em class="comment"> * </em>
+<a name="167" href="#167">167</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="168" href="#168">168</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="169" href="#169">169</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="170" href="#170">170</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="171" href="#171">171</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="172" href="#172">172</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="173" href="#173">173</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="174" href="#174">174</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="175" href="#175">175</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="176" href="#176">176</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="177" href="#177">177</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="178" href="#178">178</a> <em class="comment"> * </em>
+<a name="179" href="#179">179</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="180" href="#180">180</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMNodeHelper.html b/docs/xref/org/dom4j/dom/DOMNodeHelper.html
new file mode 100644
index 0000000..2cd3d26
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMNodeHelper.html
@@ -0,0 +1,596 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMNodeHelper xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMNodeHelper.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.List;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.CharacterData;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Document;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Element;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Node;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em> * <p></em>
+<a name="25" href="#25">25</a>  <em> * <code>DOMNodeHelper</code> contains a collection of utility methods for use</em>
+<a name="26" href="#26">26</a>  <em> * across Node implementations.</em>
+<a name="27" href="#27">27</a>  <em> * </p></em>
+<a name="28" href="#28">28</a>  <em> * </em>
+<a name="29" href="#29">29</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="30" href="#30">30</a>  <em> * @version $Revision: 1.20 $</em>
+<a name="31" href="#31">31</a>  <em> */</em>
+<a name="32" href="#32">32</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMNodeHelper.html">DOMNodeHelper</a> {
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> NodeList EMPTY_NODE_LIST = <strong>new</strong> EmptyNodeList();
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>protected</strong> <a href="../../../org/dom4j/dom/DOMNodeHelper.html">DOMNodeHelper</a>() {
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em class="comment">// Node API</em>
+<a name="39" href="#39">39</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>static</strong> <strong>boolean</strong> supports(<a href="../../../org/dom4j/Node.html">Node</a> node, String feature, String version) {
+<a name="41" href="#41">41</a>          <strong>return</strong> false;
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <strong>static</strong> String getNamespaceURI(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="45" href="#45">45</a>          <strong>return</strong> <strong>null</strong>;
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <strong>static</strong> String getPrefix(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="49" href="#49">49</a>          <strong>return</strong> <strong>null</strong>;
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <strong>static</strong> String getLocalName(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="53" href="#53">53</a>          <strong>return</strong> <strong>null</strong>;
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> setPrefix(<a href="../../../org/dom4j/Node.html">Node</a> node, String prefix) throws DOMException {
+<a name="57" href="#57">57</a>          notSupported();
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> <strong>static</strong> String getNodeValue(<a href="../../../org/dom4j/Node.html">Node</a> node) throws DOMException {
+<a name="61" href="#61">61</a>          <strong>return</strong> node.getText();
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> setNodeValue(<a href="../../../org/dom4j/Node.html">Node</a> node, String nodeValue)
+<a name="65" href="#65">65</a>              throws DOMException {
+<a name="66" href="#66">66</a>          node.setText(nodeValue);
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <strong>static</strong> org.w3c.dom.Node getParentNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="70" href="#70">70</a>          <strong>return</strong> asDOMNode(node.getParent());
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <strong>static</strong> NodeList getChildNodes(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="74" href="#74">74</a>          <strong>return</strong> EMPTY_NODE_LIST;
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> <strong>static</strong> org.w3c.dom.Node getFirstChild(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="78" href="#78">78</a>          <strong>return</strong> <strong>null</strong>;
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>static</strong> org.w3c.dom.Node getLastChild(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="82" href="#82">82</a>          <strong>return</strong> <strong>null</strong>;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <strong>static</strong> org.w3c.dom.Node getPreviousSibling(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="86" href="#86">86</a>          <a href="../../../org/dom4j/Element.html">Element</a> parent = node.getParent();
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>          <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="89" href="#89">89</a>              <strong>int</strong> index = parent.indexOf(node);
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>              <strong>if</strong> (index > 0) {
+<a name="92" href="#92">92</a>                  <a href="../../../org/dom4j/Node.html">Node</a> previous = parent.node(index - 1);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>                  <strong>return</strong> asDOMNode(previous);
+<a name="95" href="#95">95</a>              }
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          <strong>return</strong> <strong>null</strong>;
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Node getNextSibling(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="102" href="#102">102</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = node.getParent();
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>         <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="105" href="#105">105</a>             <strong>int</strong> index = parent.indexOf(node);
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>             <strong>if</strong> (index >= 0) {
+<a name="108" href="#108">108</a>                 <strong>if</strong> (++index < parent.nodeCount()) {
+<a name="109" href="#109">109</a>                     <a href="../../../org/dom4j/Node.html">Node</a> next = parent.node(index);
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>                     <strong>return</strong> asDOMNode(next);
+<a name="112" href="#112">112</a>                 }
+<a name="113" href="#113">113</a>             }
+<a name="114" href="#114">114</a>         }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <strong>return</strong> <strong>null</strong>;
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <strong>public</strong> <strong>static</strong> NamedNodeMap getAttributes(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="120" href="#120">120</a>         <strong>return</strong> <strong>null</strong>;
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Document getOwnerDocument(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="124" href="#124">124</a>         <strong>return</strong> asDOMDocument(node.getDocument());
+<a name="125" href="#125">125</a>     }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Node insertBefore(<a href="../../../org/dom4j/Node.html">Node</a> node,
+<a name="128" href="#128">128</a>             org.w3c.dom.Node newChild, org.w3c.dom.Node refChild)
+<a name="129" href="#129">129</a>             throws DOMException {
+<a name="130" href="#130">130</a>         <strong>if</strong> (node instanceof Branch) {
+<a name="131" href="#131">131</a>             <a href="../../../org/dom4j/Branch.html">Branch</a> branch = (Branch) node;
+<a name="132" href="#132">132</a>             List list = branch.content();
+<a name="133" href="#133">133</a>             <strong>int</strong> index = list.indexOf(refChild);
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>             <strong>if</strong> (index < 0) {
+<a name="136" href="#136">136</a>                 branch.add((Node) newChild);
+<a name="137" href="#137">137</a>             } <strong>else</strong> {
+<a name="138" href="#138">138</a>                 list.add(index, newChild);
+<a name="139" href="#139">139</a>             }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>             <strong>return</strong> newChild;
+<a name="142" href="#142">142</a>         } <strong>else</strong> {
+<a name="143" href="#143">143</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="144" href="#144">144</a>                     <span class="string">"Children not allowed for this node: "</span> + node);
+<a name="145" href="#145">145</a>         }
+<a name="146" href="#146">146</a>     }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Node replaceChild(<a href="../../../org/dom4j/Node.html">Node</a> node,
+<a name="149" href="#149">149</a>             org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild)
+<a name="150" href="#150">150</a>             throws DOMException {
+<a name="151" href="#151">151</a>         <strong>if</strong> (node instanceof Branch) {
+<a name="152" href="#152">152</a>             <a href="../../../org/dom4j/Branch.html">Branch</a> branch = (Branch) node;
+<a name="153" href="#153">153</a>             List list = branch.content();
+<a name="154" href="#154">154</a>             <strong>int</strong> index = list.indexOf(oldChild);
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>             <strong>if</strong> (index < 0) {
+<a name="157" href="#157">157</a>                 <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NOT_FOUND_ERR,
+<a name="158" href="#158">158</a>                         <span class="string">"Tried to replace a non existing child "</span> + <span class="string">"for node: "</span>
+<a name="159" href="#159">159</a>                                 + node);
+<a name="160" href="#160">160</a>             }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>             list.set(index, newChild);
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>             <strong>return</strong> oldChild;
+<a name="165" href="#165">165</a>         } <strong>else</strong> {
+<a name="166" href="#166">166</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="167" href="#167">167</a>                     <span class="string">"Children not allowed for this node: "</span> + node);
+<a name="168" href="#168">168</a>         }
+<a name="169" href="#169">169</a>     }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Node removeChild(<a href="../../../org/dom4j/Node.html">Node</a> node,
+<a name="172" href="#172">172</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="173" href="#173">173</a>         <strong>if</strong> (node instanceof Branch) {
+<a name="174" href="#174">174</a>             <a href="../../../org/dom4j/Branch.html">Branch</a> branch = (Branch) node;
+<a name="175" href="#175">175</a>             branch.remove((Node) oldChild);
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>             <strong>return</strong> oldChild;
+<a name="178" href="#178">178</a>         }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>         <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="181" href="#181">181</a>                 <span class="string">"Children not allowed for this node: "</span> + node);
+<a name="182" href="#182">182</a>     }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Node appendChild(<a href="../../../org/dom4j/Node.html">Node</a> node,
+<a name="185" href="#185">185</a>             org.w3c.dom.Node newChild) throws DOMException {
+<a name="186" href="#186">186</a>         <strong>if</strong> (node instanceof Branch) {
+<a name="187" href="#187">187</a>             <a href="../../../org/dom4j/Branch.html">Branch</a> branch = (Branch) node;
+<a name="188" href="#188">188</a>             org.w3c.dom.Node previousParent = newChild.getParentNode();
+<a name="189" href="#189">189</a> 
+<a name="190" href="#190">190</a>             <strong>if</strong> (previousParent != <strong>null</strong>) {
+<a name="191" href="#191">191</a>                 previousParent.removeChild(newChild);
+<a name="192" href="#192">192</a>             }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>             branch.add((Node) newChild);
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>             <strong>return</strong> newChild;
+<a name="197" href="#197">197</a>         }
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a>         <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="200" href="#200">200</a>                 <span class="string">"Children not allowed for this node: "</span> + node);
+<a name="201" href="#201">201</a>     }
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>     <strong>public</strong> <strong>static</strong> <strong>boolean</strong> hasChildNodes(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="204" href="#204">204</a>         <strong>return</strong> false;
+<a name="205" href="#205">205</a>     }
+<a name="206" href="#206">206</a> 
+<a name="207" href="#207">207</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Node cloneNode(<a href="../../../org/dom4j/Node.html">Node</a> node, <strong>boolean</strong> deep) {
+<a name="208" href="#208">208</a>         <strong>return</strong> asDOMNode((Node) node.clone());
+<a name="209" href="#209">209</a>     }
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> normalize(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="212" href="#212">212</a>         notSupported();
+<a name="213" href="#213">213</a>     }
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>     <strong>public</strong> <strong>static</strong> <strong>boolean</strong> isSupported(<a href="../../../org/dom4j/Node.html">Node</a> n, String feature, String version) {
+<a name="216" href="#216">216</a>         <strong>return</strong> false;
+<a name="217" href="#217">217</a>     }
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>     <strong>public</strong> <strong>static</strong> <strong>boolean</strong> hasAttributes(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="220" href="#220">220</a>         <strong>if</strong> ((node != <strong>null</strong>) && node instanceof Element) {
+<a name="221" href="#221">221</a>             <strong>return</strong> ((Element) node).attributeCount() > 0;
+<a name="222" href="#222">222</a>         } <strong>else</strong> {
+<a name="223" href="#223">223</a>             <strong>return</strong> false;
+<a name="224" href="#224">224</a>         }
+<a name="225" href="#225">225</a>     }
+<a name="226" href="#226">226</a> 
+<a name="227" href="#227">227</a>     <em class="comment">// CharacterData API</em>
+<a name="228" href="#228">228</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="229" href="#229">229</a>     <strong>public</strong> <strong>static</strong> String getData(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> charData) throws DOMException {
+<a name="230" href="#230">230</a>         <strong>return</strong> charData.getText();
+<a name="231" href="#231">231</a>     }
+<a name="232" href="#232">232</a> 
+<a name="233" href="#233">233</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> setData(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> charData, String data)
+<a name="234" href="#234">234</a>             throws DOMException {
+<a name="235" href="#235">235</a>         charData.setText(data);
+<a name="236" href="#236">236</a>     }
+<a name="237" href="#237">237</a> 
+<a name="238" href="#238">238</a>     <strong>public</strong> <strong>static</strong> <strong>int</strong> getLength(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> charData) {
+<a name="239" href="#239">239</a>         String text = charData.getText();
+<a name="240" href="#240">240</a> 
+<a name="241" href="#241">241</a>         <strong>return</strong> (text != <strong>null</strong>) ? text.length() : 0;
+<a name="242" href="#242">242</a>     }
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>     <strong>public</strong> <strong>static</strong> String substringData(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> charData, <strong>int</strong> offset,
+<a name="245" href="#245">245</a>             <strong>int</strong> count) throws DOMException {
+<a name="246" href="#246">246</a>         <strong>if</strong> (count < 0) {
+<a name="247" href="#247">247</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INDEX_SIZE_ERR,
+<a name="248" href="#248">248</a>                     <span class="string">"Illegal value for count: "</span> + count);
+<a name="249" href="#249">249</a>         }
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>         String text = charData.getText();
+<a name="252" href="#252">252</a>         <strong>int</strong> length = (text != <strong>null</strong>) ? text.length() : 0;
+<a name="253" href="#253">253</a> 
+<a name="254" href="#254">254</a>         <strong>if</strong> ((offset < 0) || (offset >= length)) {
+<a name="255" href="#255">255</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INDEX_SIZE_ERR,
+<a name="256" href="#256">256</a>                     <span class="string">"No text at offset: "</span> + offset);
+<a name="257" href="#257">257</a>         }
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>         <strong>if</strong> ((offset + count) > length) {
+<a name="260" href="#260">260</a>             <strong>return</strong> text.substring(offset);
+<a name="261" href="#261">261</a>         }
+<a name="262" href="#262">262</a> 
+<a name="263" href="#263">263</a>         <strong>return</strong> text.substring(offset, offset + count);
+<a name="264" href="#264">264</a>     }
+<a name="265" href="#265">265</a> 
+<a name="266" href="#266">266</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> appendData(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> charData, String arg)
+<a name="267" href="#267">267</a>             throws DOMException {
+<a name="268" href="#268">268</a>         <strong>if</strong> (charData.isReadOnly()) {
+<a name="269" href="#269">269</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+<a name="270" href="#270">270</a>                     <span class="string">"CharacterData node is read only: "</span> + charData);
+<a name="271" href="#271">271</a>         } <strong>else</strong> {
+<a name="272" href="#272">272</a>             String text = charData.getText();
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>             <strong>if</strong> (text == <strong>null</strong>) {
+<a name="275" href="#275">275</a>                 charData.setText(text);
+<a name="276" href="#276">276</a>             } <strong>else</strong> {
+<a name="277" href="#277">277</a>                 charData.setText(text + arg);
+<a name="278" href="#278">278</a>             }
+<a name="279" href="#279">279</a>         }
+<a name="280" href="#280">280</a>     }
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> insertData(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> data, <strong>int</strong> offset, String arg)
+<a name="283" href="#283">283</a>             throws DOMException {
+<a name="284" href="#284">284</a>         <strong>if</strong> (data.isReadOnly()) {
+<a name="285" href="#285">285</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+<a name="286" href="#286">286</a>                     <span class="string">"CharacterData node is read only: "</span> + data);
+<a name="287" href="#287">287</a>         } <strong>else</strong> {
+<a name="288" href="#288">288</a>             String text = data.getText();
+<a name="289" href="#289">289</a> 
+<a name="290" href="#290">290</a>             <strong>if</strong> (text == <strong>null</strong>) {
+<a name="291" href="#291">291</a>                 data.setText(arg);
+<a name="292" href="#292">292</a>             } <strong>else</strong> {
+<a name="293" href="#293">293</a>                 <strong>int</strong> length = text.length();
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>                 <strong>if</strong> ((offset < 0) || (offset > length)) {
+<a name="296" href="#296">296</a>                     <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INDEX_SIZE_ERR,
+<a name="297" href="#297">297</a>                             <span class="string">"No text at offset: "</span> + offset);
+<a name="298" href="#298">298</a>                 } <strong>else</strong> {
+<a name="299" href="#299">299</a>                     StringBuffer buffer = <strong>new</strong> StringBuffer(text);
+<a name="300" href="#300">300</a>                     buffer.insert(offset, arg);
+<a name="301" href="#301">301</a>                     data.setText(buffer.toString());
+<a name="302" href="#302">302</a>                 }
+<a name="303" href="#303">303</a>             }
+<a name="304" href="#304">304</a>         }
+<a name="305" href="#305">305</a>     }
+<a name="306" href="#306">306</a> 
+<a name="307" href="#307">307</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> deleteData(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> charData, <strong>int</strong> offset, <strong>int</strong> count)
+<a name="308" href="#308">308</a>             throws DOMException {
+<a name="309" href="#309">309</a>         <strong>if</strong> (charData.isReadOnly()) {
+<a name="310" href="#310">310</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+<a name="311" href="#311">311</a>                     <span class="string">"CharacterData node is read only: "</span> + charData);
+<a name="312" href="#312">312</a>         } <strong>else</strong> {
+<a name="313" href="#313">313</a>             <strong>if</strong> (count < 0) {
+<a name="314" href="#314">314</a>                 <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INDEX_SIZE_ERR,
+<a name="315" href="#315">315</a>                         <span class="string">"Illegal value for count: "</span> + count);
+<a name="316" href="#316">316</a>             }
+<a name="317" href="#317">317</a> 
+<a name="318" href="#318">318</a>             String text = charData.getText();
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>             <strong>if</strong> (text != <strong>null</strong>) {
+<a name="321" href="#321">321</a>                 <strong>int</strong> length = text.length();
+<a name="322" href="#322">322</a> 
+<a name="323" href="#323">323</a>                 <strong>if</strong> ((offset < 0) || (offset >= length)) {
+<a name="324" href="#324">324</a>                     <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INDEX_SIZE_ERR,
+<a name="325" href="#325">325</a>                             <span class="string">"No text at offset: "</span> + offset);
+<a name="326" href="#326">326</a>                 } <strong>else</strong> {
+<a name="327" href="#327">327</a>                     StringBuffer buffer = <strong>new</strong> StringBuffer(text);
+<a name="328" href="#328">328</a>                     buffer.delete(offset, offset + count);
+<a name="329" href="#329">329</a>                     charData.setText(buffer.toString());
+<a name="330" href="#330">330</a>                 }
+<a name="331" href="#331">331</a>             }
+<a name="332" href="#332">332</a>         }
+<a name="333" href="#333">333</a>     }
+<a name="334" href="#334">334</a> 
+<a name="335" href="#335">335</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> replaceData(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> charData, <strong>int</strong> offset,
+<a name="336" href="#336">336</a>             <strong>int</strong> count, String arg) throws DOMException {
+<a name="337" href="#337">337</a>         <strong>if</strong> (charData.isReadOnly()) {
+<a name="338" href="#338">338</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+<a name="339" href="#339">339</a>                     <span class="string">"CharacterData node is read only: "</span> + charData);
+<a name="340" href="#340">340</a>         } <strong>else</strong> {
+<a name="341" href="#341">341</a>             <strong>if</strong> (count < 0) {
+<a name="342" href="#342">342</a>                 <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INDEX_SIZE_ERR,
+<a name="343" href="#343">343</a>                         <span class="string">"Illegal value for count: "</span> + count);
+<a name="344" href="#344">344</a>             }
+<a name="345" href="#345">345</a> 
+<a name="346" href="#346">346</a>             String text = charData.getText();
+<a name="347" href="#347">347</a> 
+<a name="348" href="#348">348</a>             <strong>if</strong> (text != <strong>null</strong>) {
+<a name="349" href="#349">349</a>                 <strong>int</strong> length = text.length();
+<a name="350" href="#350">350</a> 
+<a name="351" href="#351">351</a>                 <strong>if</strong> ((offset < 0) || (offset >= length)) {
+<a name="352" href="#352">352</a>                     <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INDEX_SIZE_ERR,
+<a name="353" href="#353">353</a>                             <span class="string">"No text at offset: "</span> + offset);
+<a name="354" href="#354">354</a>                 } <strong>else</strong> {
+<a name="355" href="#355">355</a>                     StringBuffer buffer = <strong>new</strong> StringBuffer(text);
+<a name="356" href="#356">356</a>                     buffer.replace(offset, offset + count, arg);
+<a name="357" href="#357">357</a>                     charData.setText(buffer.toString());
+<a name="358" href="#358">358</a>                 }
+<a name="359" href="#359">359</a>             }
+<a name="360" href="#360">360</a>         }
+<a name="361" href="#361">361</a>     }
+<a name="362" href="#362">362</a> 
+<a name="363" href="#363">363</a>     <em class="comment">// Branch API</em>
+<a name="364" href="#364">364</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="365" href="#365">365</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> appendElementsByTagName(List list, <a href="../../../org/dom4j/Branch.html">Branch</a> parent,
+<a name="366" href="#366">366</a>             String name) {
+<a name="367" href="#367">367</a>         <strong>final</strong> <strong>boolean</strong> isStar = <span class="string">"*"</span>.equals(name);
+<a name="368" href="#368">368</a> 
+<a name="369" href="#369">369</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = parent.nodeCount(); i < size; i++) {
+<a name="370" href="#370">370</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = parent.node(i);
+<a name="371" href="#371">371</a> 
+<a name="372" href="#372">372</a>             <strong>if</strong> (node instanceof Element) {
+<a name="373" href="#373">373</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) node;
+<a name="374" href="#374">374</a> 
+<a name="375" href="#375">375</a>                 <strong>if</strong> (isStar || name.equals(element.getName())) {
+<a name="376" href="#376">376</a>                     list.add(element);
+<a name="377" href="#377">377</a>                 }
+<a name="378" href="#378">378</a> 
+<a name="379" href="#379">379</a>                 appendElementsByTagName(list, element, name);
+<a name="380" href="#380">380</a>             }
+<a name="381" href="#381">381</a>         }
+<a name="382" href="#382">382</a>     }
+<a name="383" href="#383">383</a> 
+<a name="384" href="#384">384</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> appendElementsByTagNameNS(List list, <a href="../../../org/dom4j/Branch.html">Branch</a> parent,
+<a name="385" href="#385">385</a>             String namespace, String localName) {
+<a name="386" href="#386">386</a>         <strong>final</strong> <strong>boolean</strong> isStarNS = <span class="string">"*"</span>.equals(namespace);
+<a name="387" href="#387">387</a>         <strong>final</strong> <strong>boolean</strong> isStar = <span class="string">"*"</span>.equals(localName);
+<a name="388" href="#388">388</a> 
+<a name="389" href="#389">389</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = parent.nodeCount(); i < size; i++) {
+<a name="390" href="#390">390</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = parent.node(i);
+<a name="391" href="#391">391</a> 
+<a name="392" href="#392">392</a>             <strong>if</strong> (node instanceof Element) {
+<a name="393" href="#393">393</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) node;
+<a name="394" href="#394">394</a> 
+<a name="395" href="#395">395</a>                 <strong>if</strong> ((isStarNS
+<a name="396" href="#396">396</a>                         || (((namespace == <strong>null</strong>) 
+<a name="397" href="#397">397</a>                                 || (namespace.length() == 0)) && ((element
+<a name="398" href="#398">398</a>                                 .getNamespaceURI() == <strong>null</strong>) || (element
+<a name="399" href="#399">399</a>                                 .getNamespaceURI().length() == 0))) 
+<a name="400" href="#400">400</a>                                 || ((namespace != <strong>null</strong>) && namespace
+<a name="401" href="#401">401</a>                         .equals(element.getNamespaceURI())))
+<a name="402" href="#402">402</a>                         && (isStar || localName.equals(element.getName()))) {
+<a name="403" href="#403">403</a>                     list.add(element);
+<a name="404" href="#404">404</a>                 }
+<a name="405" href="#405">405</a> 
+<a name="406" href="#406">406</a>                 appendElementsByTagNameNS(list, element, namespace, localName);
+<a name="407" href="#407">407</a>             }
+<a name="408" href="#408">408</a>         }
+<a name="409" href="#409">409</a>     }
+<a name="410" href="#410">410</a> 
+<a name="411" href="#411">411</a>     <em class="comment">// Helper methods</em>
+<a name="412" href="#412">412</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="413" href="#413">413</a>     <strong>public</strong> <strong>static</strong> NodeList createNodeList(<strong>final</strong> List list) {
+<a name="414" href="#414">414</a>         <strong>return</strong> <strong>new</strong> NodeList() {
+<a name="415" href="#415">415</a>             <strong>public</strong> org.w3c.dom.Node item(<strong>int</strong> index) {
+<a name="416" href="#416">416</a>                 <strong>if</strong> (index >= getLength()) {
+<a name="417" href="#417">417</a>                     <em class="comment">/*</em>
+<a name="418" href="#418">418</a> <em class="comment">                     * From the NodeList specification: If index is greater than</em>
+<a name="419" href="#419">419</a> <em class="comment">                     * or equal to the number of nodes in the list, this returns</em>
+<a name="420" href="#420">420</a> <em class="comment">                     * null.</em>
+<a name="421" href="#421">421</a> <em class="comment">                     */</em>
+<a name="422" href="#422">422</a>                     <strong>return</strong> <strong>null</strong>;
+<a name="423" href="#423">423</a>                 } <strong>else</strong> {
+<a name="424" href="#424">424</a>                     <strong>return</strong> DOMNodeHelper.asDOMNode((Node) list.get(index));
+<a name="425" href="#425">425</a>                 }
+<a name="426" href="#426">426</a>             }
+<a name="427" href="#427">427</a> 
+<a name="428" href="#428">428</a>             <strong>public</strong> <strong>int</strong> getLength() {
+<a name="429" href="#429">429</a>                 <strong>return</strong> list.size();
+<a name="430" href="#430">430</a>             }
+<a name="431" href="#431">431</a>         };
+<a name="432" href="#432">432</a>     }
+<a name="433" href="#433">433</a> 
+<a name="434" href="#434">434</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Node asDOMNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="435" href="#435">435</a>         <strong>if</strong> (node == <strong>null</strong>) {
+<a name="436" href="#436">436</a>             <strong>return</strong> <strong>null</strong>;
+<a name="437" href="#437">437</a>         }
+<a name="438" href="#438">438</a> 
+<a name="439" href="#439">439</a>         <strong>if</strong> (node instanceof org.w3c.dom.Node) {
+<a name="440" href="#440">440</a>             <strong>return</strong> (org.w3c.dom.Node) node;
+<a name="441" href="#441">441</a>         } <strong>else</strong> {
+<a name="442" href="#442">442</a>             <em class="comment">// Use DOMWriter?</em>
+<a name="443" href="#443">443</a>             System.out.println(<span class="string">"Cannot convert: "</span> + node
+<a name="444" href="#444">444</a>                     + <span class="string">" into a W3C DOM Node"</span>);
+<a name="445" href="#445">445</a>             notSupported();
+<a name="446" href="#446">446</a> 
+<a name="447" href="#447">447</a>             <strong>return</strong> <strong>null</strong>;
+<a name="448" href="#448">448</a>         }
+<a name="449" href="#449">449</a>     }
+<a name="450" href="#450">450</a> 
+<a name="451" href="#451">451</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Document asDOMDocument(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="452" href="#452">452</a>         <strong>if</strong> (document == <strong>null</strong>) {
+<a name="453" href="#453">453</a>             <strong>return</strong> <strong>null</strong>;
+<a name="454" href="#454">454</a>         }
+<a name="455" href="#455">455</a> 
+<a name="456" href="#456">456</a>         <strong>if</strong> (document instanceof org.w3c.dom.Document) {
+<a name="457" href="#457">457</a>             <strong>return</strong> (org.w3c.dom.Document) document;
+<a name="458" href="#458">458</a>         } <strong>else</strong> {
+<a name="459" href="#459">459</a>             <em class="comment">// Use DOMWriter?</em>
+<a name="460" href="#460">460</a>             notSupported();
+<a name="461" href="#461">461</a> 
+<a name="462" href="#462">462</a>             <strong>return</strong> <strong>null</strong>;
+<a name="463" href="#463">463</a>         }
+<a name="464" href="#464">464</a>     }
+<a name="465" href="#465">465</a> 
+<a name="466" href="#466">466</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.DocumentType asDOMDocumentType(<a href="../../../org/dom4j/DocumentType.html">DocumentType</a> dt) {
+<a name="467" href="#467">467</a>         <strong>if</strong> (dt == <strong>null</strong>) {
+<a name="468" href="#468">468</a>             <strong>return</strong> <strong>null</strong>;
+<a name="469" href="#469">469</a>         }
+<a name="470" href="#470">470</a> 
+<a name="471" href="#471">471</a>         <strong>if</strong> (dt instanceof org.w3c.dom.DocumentType) {
+<a name="472" href="#472">472</a>             <strong>return</strong> (org.w3c.dom.DocumentType) dt;
+<a name="473" href="#473">473</a>         } <strong>else</strong> {
+<a name="474" href="#474">474</a>             <em class="comment">// Use DOMWriter?</em>
+<a name="475" href="#475">475</a>             notSupported();
+<a name="476" href="#476">476</a> 
+<a name="477" href="#477">477</a>             <strong>return</strong> <strong>null</strong>;
+<a name="478" href="#478">478</a>         }
+<a name="479" href="#479">479</a>     }
+<a name="480" href="#480">480</a> 
+<a name="481" href="#481">481</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Text asDOMText(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> text) {
+<a name="482" href="#482">482</a>         <strong>if</strong> (text == <strong>null</strong>) {
+<a name="483" href="#483">483</a>             <strong>return</strong> <strong>null</strong>;
+<a name="484" href="#484">484</a>         }
+<a name="485" href="#485">485</a> 
+<a name="486" href="#486">486</a>         <strong>if</strong> (text instanceof org.w3c.dom.Text) {
+<a name="487" href="#487">487</a>             <strong>return</strong> (org.w3c.dom.Text) text;
+<a name="488" href="#488">488</a>         } <strong>else</strong> {
+<a name="489" href="#489">489</a>             <em class="comment">// Use DOMWriter?</em>
+<a name="490" href="#490">490</a>             notSupported();
+<a name="491" href="#491">491</a> 
+<a name="492" href="#492">492</a>             <strong>return</strong> <strong>null</strong>;
+<a name="493" href="#493">493</a>         }
+<a name="494" href="#494">494</a>     }
+<a name="495" href="#495">495</a> 
+<a name="496" href="#496">496</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Element asDOMElement(<a href="../../../org/dom4j/Node.html">Node</a> element) {
+<a name="497" href="#497">497</a>         <strong>if</strong> (element == <strong>null</strong>) {
+<a name="498" href="#498">498</a>             <strong>return</strong> <strong>null</strong>;
+<a name="499" href="#499">499</a>         }
+<a name="500" href="#500">500</a> 
+<a name="501" href="#501">501</a>         <strong>if</strong> (element instanceof org.w3c.dom.Element) {
+<a name="502" href="#502">502</a>             <strong>return</strong> (org.w3c.dom.Element) element;
+<a name="503" href="#503">503</a>         } <strong>else</strong> {
+<a name="504" href="#504">504</a>             <em class="comment">// Use DOMWriter?</em>
+<a name="505" href="#505">505</a>             notSupported();
+<a name="506" href="#506">506</a> 
+<a name="507" href="#507">507</a>             <strong>return</strong> <strong>null</strong>;
+<a name="508" href="#508">508</a>         }
+<a name="509" href="#509">509</a>     }
+<a name="510" href="#510">510</a> 
+<a name="511" href="#511">511</a>     <strong>public</strong> <strong>static</strong> org.w3c.dom.Attr asDOMAttr(<a href="../../../org/dom4j/Node.html">Node</a> attribute) {
+<a name="512" href="#512">512</a>         <strong>if</strong> (attribute == <strong>null</strong>) {
+<a name="513" href="#513">513</a>             <strong>return</strong> <strong>null</strong>;
+<a name="514" href="#514">514</a>         }
+<a name="515" href="#515">515</a> 
+<a name="516" href="#516">516</a>         <strong>if</strong> (attribute instanceof org.w3c.dom.Attr) {
+<a name="517" href="#517">517</a>             <strong>return</strong> (org.w3c.dom.Attr) attribute;
+<a name="518" href="#518">518</a>         } <strong>else</strong> {
+<a name="519" href="#519">519</a>             <em class="comment">// Use DOMWriter?</em>
+<a name="520" href="#520">520</a>             notSupported();
+<a name="521" href="#521">521</a> 
+<a name="522" href="#522">522</a>             <strong>return</strong> <strong>null</strong>;
+<a name="523" href="#523">523</a>         }
+<a name="524" href="#524">524</a>     }
+<a name="525" href="#525">525</a> 
+<a name="526" href="#526">526</a>     <em>/**<em>*</em></em>
+<a name="527" href="#527">527</a> <em>     * Called when a method has not been implemented yet</em>
+<a name="528" href="#528">528</a> <em>     * </em>
+<a name="529" href="#529">529</a> <em>     * @throws DOMException</em>
+<a name="530" href="#530">530</a> <em>     *             DOCUMENT ME!</em>
+<a name="531" href="#531">531</a> <em>     */</em>
+<a name="532" href="#532">532</a>     <strong>public</strong> <strong>static</strong> <strong>void</strong> notSupported() {
+<a name="533" href="#533">533</a>         <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NOT_SUPPORTED_ERR,
+<a name="534" href="#534">534</a>                 <span class="string">"Not supported yet"</span>);
+<a name="535" href="#535">535</a>     }
+<a name="536" href="#536">536</a> 
+<a name="537" href="#537">537</a>     <strong>public</strong> <strong>static</strong> <strong>class</strong> EmptyNodeList implements NodeList {
+<a name="538" href="#538">538</a>         <strong>public</strong> org.w3c.dom.Node item(<strong>int</strong> index) {
+<a name="539" href="#539">539</a>             <strong>return</strong> <strong>null</strong>;
+<a name="540" href="#540">540</a>         }
+<a name="541" href="#541">541</a> 
+<a name="542" href="#542">542</a>         <strong>public</strong> <strong>int</strong> getLength() {
+<a name="543" href="#543">543</a>             <strong>return</strong> 0;
+<a name="544" href="#544">544</a>         }
+<a name="545" href="#545">545</a>     }
+<a name="546" href="#546">546</a> }
+<a name="547" href="#547">547</a> 
+<a name="548" href="#548">548</a> <em class="comment">/*</em>
+<a name="549" href="#549">549</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="550" href="#550">550</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="551" href="#551">551</a> <em class="comment"> * following conditions are met:</em>
+<a name="552" href="#552">552</a> <em class="comment"> * </em>
+<a name="553" href="#553">553</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="554" href="#554">554</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="555" href="#555">555</a> <em class="comment"> * </em>
+<a name="556" href="#556">556</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="557" href="#557">557</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="558" href="#558">558</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="559" href="#559">559</a> <em class="comment"> * </em>
+<a name="560" href="#560">560</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="561" href="#561">561</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="562" href="#562">562</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="563" href="#563">563</a> <em class="comment"> * </em>
+<a name="564" href="#564">564</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="565" href="#565">565</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="566" href="#566">566</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="567" href="#567">567</a> <em class="comment"> * </em>
+<a name="568" href="#568">568</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="569" href="#569">569</a> <em class="comment"> * </em>
+<a name="570" href="#570">570</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="571" href="#571">571</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="572" href="#572">572</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="573" href="#573">573</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="574" href="#574">574</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="575" href="#575">575</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="576" href="#576">576</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="577" href="#577">577</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="578" href="#578">578</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="579" href="#579">579</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="580" href="#580">580</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="581" href="#581">581</a> <em class="comment"> * </em>
+<a name="582" href="#582">582</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="583" href="#583">583</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMProcessingInstruction.html b/docs/xref/org/dom4j/dom/DOMProcessingInstruction.html
new file mode 100644
index 0000000..77288c4
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMProcessingInstruction.html
@@ -0,0 +1,232 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMProcessingInstruction xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMProcessingInstruction.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Map;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Element;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.tree.DefaultProcessingInstruction;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * <p></em>
+<a name="22" href="#22">22</a>  <em> * <code>DOMProcessingInstruction</code> implements a ProcessingInstruction</em>
+<a name="23" href="#23">23</a>  <em> * node which supports the W3C DOM API.</em>
+<a name="24" href="#24">24</a>  <em> * </p></em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> * @version $Revision: 1.12 $</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMProcessingInstruction.html">DOMProcessingInstruction</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultProcessingInstruction.html">DefaultProcessingInstruction</a>
+<a name="30" href="#30">30</a>          implements org.w3c.dom.ProcessingInstruction {
+<a name="31" href="#31">31</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMProcessingInstruction.html">DOMProcessingInstruction</a>(String target, Map values) {
+<a name="32" href="#32">32</a>          <strong>super</strong>(target, values);
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMProcessingInstruction.html">DOMProcessingInstruction</a>(String target, String values) {
+<a name="36" href="#36">36</a>          <strong>super</strong>(target, values);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMProcessingInstruction.html">DOMProcessingInstruction</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String target, String val) {
+<a name="40" href="#40">40</a>          <strong>super</strong>(parent, target, val);
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="44" href="#44">44</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="45" href="#45">45</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="46" href="#46">46</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="50" href="#50">50</a>          <strong>return</strong> DOMNodeHelper.getNamespaceURI(<strong>this</strong>);
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> String getPrefix() {
+<a name="54" href="#54">54</a>          <strong>return</strong> DOMNodeHelper.getPrefix(<strong>this</strong>);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="58" href="#58">58</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> String getLocalName() {
+<a name="62" href="#62">62</a>          <strong>return</strong> DOMNodeHelper.getLocalName(<strong>this</strong>);
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> String getNodeName() {
+<a name="66" href="#66">66</a>          <strong>return</strong> getName();
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <em class="comment">// already part of API</em>
+<a name="70" href="#70">70</a>      <em class="comment">//</em>
+<a name="71" href="#71">71</a>      <em class="comment">// public short getNodeType();</em>
+<a name="72" href="#72">72</a>      <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="73" href="#73">73</a>          <strong>return</strong> DOMNodeHelper.getNodeValue(<strong>this</strong>);
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="77" href="#77">77</a>          DOMNodeHelper.setNodeValue(<strong>this</strong>, nodeValue);
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="81" href="#81">81</a>          <strong>return</strong> DOMNodeHelper.getParentNode(<strong>this</strong>);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>public</strong> NodeList getChildNodes() {
+<a name="85" href="#85">85</a>          <strong>return</strong> DOMNodeHelper.getChildNodes(<strong>this</strong>);
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="89" href="#89">89</a>          <strong>return</strong> DOMNodeHelper.getFirstChild(<strong>this</strong>);
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="93" href="#93">93</a>          <strong>return</strong> DOMNodeHelper.getLastChild(<strong>this</strong>);
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="97" href="#97">97</a>          <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="98" href="#98">98</a>      }
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="101" href="#101">101</a>         <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="102" href="#102">102</a>     }
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="105" href="#105">105</a>         <strong>return</strong> <strong>null</strong>;
+<a name="106" href="#106">106</a>     }
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getOwnerDocument() {
+<a name="109" href="#109">109</a>         <strong>return</strong> DOMNodeHelper.getOwnerDocument(<strong>this</strong>);
+<a name="110" href="#110">110</a>     }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="113" href="#113">113</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="114" href="#114">114</a>         checkNewChildNode(newChild);
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="120" href="#120">120</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="121" href="#121">121</a>         checkNewChildNode(newChild);
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="127" href="#127">127</a>             throws DOMException {
+<a name="128" href="#128">128</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="132" href="#132">132</a>             throws DOMException {
+<a name="133" href="#133">133</a>         checkNewChildNode(newChild);
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <strong>private</strong> <strong>void</strong> checkNewChildNode(org.w3c.dom.Node newChild)
+<a name="139" href="#139">139</a>             throws DOMException {
+<a name="140" href="#140">140</a>         <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="141" href="#141">141</a>                 <span class="string">"PI nodes cannot have children"</span>);
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="145" href="#145">145</a>         <strong>return</strong> DOMNodeHelper.hasChildNodes(<strong>this</strong>);
+<a name="146" href="#146">146</a>     }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="149" href="#149">149</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="150" href="#150">150</a>     }
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="153" href="#153">153</a>         DOMNodeHelper.normalize(<strong>this</strong>);
+<a name="154" href="#154">154</a>     }
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="157" href="#157">157</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="161" href="#161">161</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="162" href="#162">162</a>     }
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>     <em class="comment">// org.w3c.dom.ProcessingInstruction interface</em>
+<a name="165" href="#165">165</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="166" href="#166">166</a>     <em class="comment">// public String getTarget();</em>
+<a name="167" href="#167">167</a>     <strong>public</strong> String getData() {
+<a name="168" href="#168">168</a>         <strong>return</strong> getText();
+<a name="169" href="#169">169</a>     }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>     <strong>public</strong> <strong>void</strong> setData(String data) throws DOMException {
+<a name="172" href="#172">172</a>         <strong>if</strong> (isReadOnly()) {
+<a name="173" href="#173">173</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+<a name="174" href="#174">174</a>                     <span class="string">"This ProcessingInstruction is read only"</span>);
+<a name="175" href="#175">175</a>         } <strong>else</strong> {
+<a name="176" href="#176">176</a>             setText(data);
+<a name="177" href="#177">177</a>         }
+<a name="178" href="#178">178</a>     }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>     <em class="comment">// Implementation methods</em>
+<a name="181" href="#181">181</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="182" href="#182">182</a> }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a> <em class="comment">/*</em>
+<a name="185" href="#185">185</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="186" href="#186">186</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="187" href="#187">187</a> <em class="comment"> * following conditions are met:</em>
+<a name="188" href="#188">188</a> <em class="comment"> * </em>
+<a name="189" href="#189">189</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="190" href="#190">190</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="191" href="#191">191</a> <em class="comment"> * </em>
+<a name="192" href="#192">192</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="193" href="#193">193</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="194" href="#194">194</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="195" href="#195">195</a> <em class="comment"> * </em>
+<a name="196" href="#196">196</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="197" href="#197">197</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="198" href="#198">198</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="199" href="#199">199</a> <em class="comment"> * </em>
+<a name="200" href="#200">200</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="201" href="#201">201</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="202" href="#202">202</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="203" href="#203">203</a> <em class="comment"> * </em>
+<a name="204" href="#204">204</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="205" href="#205">205</a> <em class="comment"> * </em>
+<a name="206" href="#206">206</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="207" href="#207">207</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="208" href="#208">208</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="209" href="#209">209</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="210" href="#210">210</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="211" href="#211">211</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="212" href="#212">212</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="213" href="#213">213</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="214" href="#214">214</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="215" href="#215">215</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="216" href="#216">216</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="217" href="#217">217</a> <em class="comment"> * </em>
+<a name="218" href="#218">218</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="219" href="#219">219</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/DOMText.html b/docs/xref/org/dom4j/dom/DOMText.html
new file mode 100644
index 0000000..0f36227
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/DOMText.html
@@ -0,0 +1,277 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMText xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dom/DOMText.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dom/package-summary.html">org.dom4j.dom</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Text;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.tree.DefaultText;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.w3c.dom.DOMException;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.w3c.dom.Document;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.w3c.dom.NamedNodeMap;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.w3c.dom.NodeList;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * <code>DOMText</code> implements a Text node which supports the W3C DOM API.</em>
+<a name="22" href="#22">22</a>  <em> * </p></em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.12 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dom/DOMText.html">DOMText</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultText.html">DefaultText</a> implements org.w3c.dom.Text {
+<a name="28" href="#28">28</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMText.html">DOMText</a>(String text) {
+<a name="29" href="#29">29</a>          <strong>super</strong>(text);
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/dom/DOMText.html">DOMText</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String text) {
+<a name="33" href="#33">33</a>          <strong>super</strong>(parent, text);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em class="comment">// org.w3c.dom.Node interface</em>
+<a name="37" href="#37">37</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="38" href="#38">38</a>      <strong>public</strong> <strong>boolean</strong> supports(String feature, String version) {
+<a name="39" href="#39">39</a>          <strong>return</strong> DOMNodeHelper.supports(<strong>this</strong>, feature, version);
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="43" href="#43">43</a>          <strong>return</strong> DOMNodeHelper.getNamespaceURI(<strong>this</strong>);
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> String getPrefix() {
+<a name="47" href="#47">47</a>          <strong>return</strong> DOMNodeHelper.getPrefix(<strong>this</strong>);
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <strong>void</strong> setPrefix(String prefix) throws DOMException {
+<a name="51" href="#51">51</a>          DOMNodeHelper.setPrefix(<strong>this</strong>, prefix);
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> String getLocalName() {
+<a name="55" href="#55">55</a>          <strong>return</strong> DOMNodeHelper.getLocalName(<strong>this</strong>);
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> String getNodeName() {
+<a name="59" href="#59">59</a>          <strong>return</strong> <span class="string">"#text"</span>;
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em class="comment">// already part of API</em>
+<a name="63" href="#63">63</a>      <em class="comment">//</em>
+<a name="64" href="#64">64</a>      <em class="comment">// public short getNodeType();</em>
+<a name="65" href="#65">65</a>      <strong>public</strong> String getNodeValue() throws DOMException {
+<a name="66" href="#66">66</a>          <strong>return</strong> DOMNodeHelper.getNodeValue(<strong>this</strong>);
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <strong>void</strong> setNodeValue(String nodeValue) throws DOMException {
+<a name="70" href="#70">70</a>          DOMNodeHelper.setNodeValue(<strong>this</strong>, nodeValue);
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> org.w3c.dom.Node getParentNode() {
+<a name="74" href="#74">74</a>          <strong>return</strong> DOMNodeHelper.getParentNode(<strong>this</strong>);
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> NodeList getChildNodes() {
+<a name="78" href="#78">78</a>          <strong>return</strong> DOMNodeHelper.getChildNodes(<strong>this</strong>);
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> org.w3c.dom.Node getFirstChild() {
+<a name="82" href="#82">82</a>          <strong>return</strong> DOMNodeHelper.getFirstChild(<strong>this</strong>);
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> org.w3c.dom.Node getLastChild() {
+<a name="86" href="#86">86</a>          <strong>return</strong> DOMNodeHelper.getLastChild(<strong>this</strong>);
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> org.w3c.dom.Node getPreviousSibling() {
+<a name="90" href="#90">90</a>          <strong>return</strong> DOMNodeHelper.getPreviousSibling(<strong>this</strong>);
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> org.w3c.dom.Node getNextSibling() {
+<a name="94" href="#94">94</a>          <strong>return</strong> DOMNodeHelper.getNextSibling(<strong>this</strong>);
+<a name="95" href="#95">95</a>      }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <strong>public</strong> NamedNodeMap getAttributes() {
+<a name="98" href="#98">98</a>          <strong>return</strong> <strong>null</strong>;
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getOwnerDocument() {
+<a name="102" href="#102">102</a>         <strong>return</strong> DOMNodeHelper.getOwnerDocument(<strong>this</strong>);
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+<a name="106" href="#106">106</a>             org.w3c.dom.Node refChild) throws DOMException {
+<a name="107" href="#107">107</a>         checkNewChildNode(newChild);
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>         <strong>return</strong> DOMNodeHelper.insertBefore(<strong>this</strong>, newChild, refChild);
+<a name="110" href="#110">110</a>     }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <strong>public</strong> org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+<a name="113" href="#113">113</a>             org.w3c.dom.Node oldChild) throws DOMException {
+<a name="114" href="#114">114</a>         checkNewChildNode(newChild);
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <strong>return</strong> DOMNodeHelper.replaceChild(<strong>this</strong>, newChild, oldChild);
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <strong>public</strong> org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+<a name="120" href="#120">120</a>             throws DOMException {
+<a name="121" href="#121">121</a>         <strong>return</strong> DOMNodeHelper.removeChild(<strong>this</strong>, oldChild);
+<a name="122" href="#122">122</a>     }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <strong>public</strong> org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+<a name="125" href="#125">125</a>             throws DOMException {
+<a name="126" href="#126">126</a>         checkNewChildNode(newChild);
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         <strong>return</strong> DOMNodeHelper.appendChild(<strong>this</strong>, newChild);
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>private</strong> <strong>void</strong> checkNewChildNode(org.w3c.dom.Node newChild)
+<a name="132" href="#132">132</a>             throws DOMException {
+<a name="133" href="#133">133</a>         <strong>throw</strong> <strong>new</strong> DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+<a name="134" href="#134">134</a>                 <span class="string">"Text nodes cannot have children"</span>);
+<a name="135" href="#135">135</a>     }
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>     <strong>public</strong> <strong>boolean</strong> hasChildNodes() {
+<a name="138" href="#138">138</a>         <strong>return</strong> DOMNodeHelper.hasChildNodes(<strong>this</strong>);
+<a name="139" href="#139">139</a>     }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>     <strong>public</strong> org.w3c.dom.Node cloneNode(<strong>boolean</strong> deep) {
+<a name="142" href="#142">142</a>         <strong>return</strong> DOMNodeHelper.cloneNode(<strong>this</strong>, deep);
+<a name="143" href="#143">143</a>     }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="146" href="#146">146</a>         DOMNodeHelper.normalize(<strong>this</strong>);
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <strong>public</strong> <strong>boolean</strong> isSupported(String feature, String version) {
+<a name="150" href="#150">150</a>         <strong>return</strong> DOMNodeHelper.isSupported(<strong>this</strong>, feature, version);
+<a name="151" href="#151">151</a>     }
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>     <strong>public</strong> <strong>boolean</strong> hasAttributes() {
+<a name="154" href="#154">154</a>         <strong>return</strong> DOMNodeHelper.hasAttributes(<strong>this</strong>);
+<a name="155" href="#155">155</a>     }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>     <em class="comment">// org.w3c.dom.CharacterData interface</em>
+<a name="158" href="#158">158</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="159" href="#159">159</a>     <strong>public</strong> String getData() throws DOMException {
+<a name="160" href="#160">160</a>         <strong>return</strong> DOMNodeHelper.getData(<strong>this</strong>);
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <strong>public</strong> <strong>void</strong> setData(String data) throws DOMException {
+<a name="164" href="#164">164</a>         DOMNodeHelper.setData(<strong>this</strong>, data);
+<a name="165" href="#165">165</a>     }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>     <strong>public</strong> <strong>int</strong> getLength() {
+<a name="168" href="#168">168</a>         <strong>return</strong> DOMNodeHelper.getLength(<strong>this</strong>);
+<a name="169" href="#169">169</a>     }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>     <strong>public</strong> String substringData(<strong>int</strong> offset, <strong>int</strong> count) throws DOMException {
+<a name="172" href="#172">172</a>         <strong>return</strong> DOMNodeHelper.substringData(<strong>this</strong>, offset, count);
+<a name="173" href="#173">173</a>     }
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>     <strong>public</strong> <strong>void</strong> appendData(String arg) throws DOMException {
+<a name="176" href="#176">176</a>         DOMNodeHelper.appendData(<strong>this</strong>, arg);
+<a name="177" href="#177">177</a>     }
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>     <strong>public</strong> <strong>void</strong> insertData(<strong>int</strong> offset, String arg) throws DOMException {
+<a name="180" href="#180">180</a>         DOMNodeHelper.insertData(<strong>this</strong>, offset, arg);
+<a name="181" href="#181">181</a>     }
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>     <strong>public</strong> <strong>void</strong> deleteData(<strong>int</strong> offset, <strong>int</strong> count) throws DOMException {
+<a name="184" href="#184">184</a>         DOMNodeHelper.deleteData(<strong>this</strong>, offset, count);
+<a name="185" href="#185">185</a>     }
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>     <strong>public</strong> <strong>void</strong> replaceData(<strong>int</strong> offset, <strong>int</strong> count, String arg)
+<a name="188" href="#188">188</a>             throws DOMException {
+<a name="189" href="#189">189</a>         DOMNodeHelper.replaceData(<strong>this</strong>, offset, count, arg);
+<a name="190" href="#190">190</a>     }
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>     <em class="comment">// org.w3c.dom.Text interface</em>
+<a name="193" href="#193">193</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="194" href="#194">194</a>     <strong>public</strong> org.w3c.dom.Text splitText(<strong>int</strong> offset) throws DOMException {
+<a name="195" href="#195">195</a>         <strong>if</strong> (isReadOnly()) {
+<a name="196" href="#196">196</a>             <strong>throw</strong> <strong>new</strong> DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+<a name="197" href="#197">197</a>                     <span class="string">"CharacterData node is read only: "</span> + <strong>this</strong>);
+<a name="198" href="#198">198</a>         } <strong>else</strong> {
+<a name="199" href="#199">199</a>             String text = getText();
+<a name="200" href="#200">200</a>             <strong>int</strong> length = (text != <strong>null</strong>) ? text.length() : 0;
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>             <strong>if</strong> ((offset < 0) || (offset >= length)) {
+<a name="203" href="#203">203</a>                 <strong>throw</strong> <strong>new</strong> DOMException(DOMException.INDEX_SIZE_ERR,
+<a name="204" href="#204">204</a>                         <span class="string">"No text at offset: "</span> + offset);
+<a name="205" href="#205">205</a>             } <strong>else</strong> {
+<a name="206" href="#206">206</a>                 String start = text.substring(0, offset);
+<a name="207" href="#207">207</a>                 String <strong>rest</strong> = text.substring(offset);
+<a name="208" href="#208">208</a>                 setText(start);
+<a name="209" href="#209">209</a> 
+<a name="210" href="#210">210</a>                 <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="211" href="#211">211</a>                 <a href="../../../org/dom4j/Text.html">Text</a> newText = createText(<strong>rest</strong>);
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>                 <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="214" href="#214">214</a>                     parent.add(newText);
+<a name="215" href="#215">215</a>                 }
+<a name="216" href="#216">216</a> 
+<a name="217" href="#217">217</a>                 <strong>return</strong> DOMNodeHelper.asDOMText(newText);
+<a name="218" href="#218">218</a>             }
+<a name="219" href="#219">219</a>         }
+<a name="220" href="#220">220</a>     }
+<a name="221" href="#221">221</a> 
+<a name="222" href="#222">222</a>     <em class="comment">// Implementation methods</em>
+<a name="223" href="#223">223</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="224" href="#224">224</a>     <strong>protected</strong> <a href="../../../org/dom4j/Text.html">Text</a> createText(String text) {
+<a name="225" href="#225">225</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/dom/DOMText.html">DOMText</a>(text);
+<a name="226" href="#226">226</a>     }
+<a name="227" href="#227">227</a> }
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a> <em class="comment">/*</em>
+<a name="230" href="#230">230</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="231" href="#231">231</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="232" href="#232">232</a> <em class="comment"> * following conditions are met:</em>
+<a name="233" href="#233">233</a> <em class="comment"> * </em>
+<a name="234" href="#234">234</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="235" href="#235">235</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="236" href="#236">236</a> <em class="comment"> * </em>
+<a name="237" href="#237">237</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="238" href="#238">238</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="239" href="#239">239</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="240" href="#240">240</a> <em class="comment"> * </em>
+<a name="241" href="#241">241</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="242" href="#242">242</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="243" href="#243">243</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="244" href="#244">244</a> <em class="comment"> * </em>
+<a name="245" href="#245">245</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="246" href="#246">246</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="247" href="#247">247</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="248" href="#248">248</a> <em class="comment"> * </em>
+<a name="249" href="#249">249</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="250" href="#250">250</a> <em class="comment"> * </em>
+<a name="251" href="#251">251</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="252" href="#252">252</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="253" href="#253">253</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="254" href="#254">254</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="255" href="#255">255</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="256" href="#256">256</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="257" href="#257">257</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="258" href="#258">258</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="259" href="#259">259</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="260" href="#260">260</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="261" href="#261">261</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="262" href="#262">262</a> <em class="comment"> * </em>
+<a name="263" href="#263">263</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="264" href="#264">264</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dom/package-frame.html b/docs/xref/org/dom4j/dom/package-frame.html
new file mode 100644
index 0000000..06714f8
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/package-frame.html
@@ -0,0 +1,75 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.dom</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.dom</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="DOMAttribute.html" target="classFrame">DOMAttribute</a>
+          </li>
+        
+          <li>
+            <a href="DOMAttributeNodeMap.html" target="classFrame">DOMAttributeNodeMap</a>
+          </li>
+        
+          <li>
+            <a href="DOMCDATA.html" target="classFrame">DOMCDATA</a>
+          </li>
+        
+          <li>
+            <a href="DOMComment.html" target="classFrame">DOMComment</a>
+          </li>
+        
+          <li>
+            <a href="DOMDocument.html" target="classFrame">DOMDocument</a>
+          </li>
+        
+          <li>
+            <a href="DOMDocumentFactory.html" target="classFrame">DOMDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="DOMDocumentType.html" target="classFrame">DOMDocumentType</a>
+          </li>
+        
+          <li>
+            <a href="DOMElement.html" target="classFrame">DOMElement</a>
+          </li>
+        
+          <li>
+            <a href="DOMEntityReference.html" target="classFrame">DOMEntityReference</a>
+          </li>
+        
+          <li>
+            <a href="DOMNamespace.html" target="classFrame">DOMNamespace</a>
+          </li>
+        
+          <li>
+            <a href="DOMNodeHelper.html" target="classFrame">DOMNodeHelper</a>
+          </li>
+        
+          <li>
+            <a href="DOMProcessingInstruction.html" target="classFrame">DOMProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="DOMText.html" target="classFrame">DOMText</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/dom/package-summary.html b/docs/xref/org/dom4j/dom/package-summary.html
new file mode 100644
index 0000000..c9d9706
--- /dev/null
+++ b/docs/xref/org/dom4j/dom/package-summary.html
@@ -0,0 +1,174 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.dom</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="DOMAttribute.html" target="classFrame">DOMAttribute</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMAttributeNodeMap.html" target="classFrame">DOMAttributeNodeMap</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMCDATA.html" target="classFrame">DOMCDATA</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMComment.html" target="classFrame">DOMComment</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMDocument.html" target="classFrame">DOMDocument</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMDocumentFactory.html" target="classFrame">DOMDocumentFactory</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMDocumentType.html" target="classFrame">DOMDocumentType</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMElement.html" target="classFrame">DOMElement</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMEntityReference.html" target="classFrame">DOMEntityReference</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMNamespace.html" target="classFrame">DOMNamespace</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMNodeHelper.html" target="classFrame">DOMNodeHelper</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMProcessingInstruction.html" target="classFrame">DOMProcessingInstruction</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMText.html" target="classFrame">DOMText</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/dtd/AttributeDecl.html b/docs/xref/org/dom4j/dtd/AttributeDecl.html
new file mode 100644
index 0000000..4790061
--- /dev/null
+++ b/docs/xref/org/dom4j/dtd/AttributeDecl.html
@@ -0,0 +1,218 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AttributeDecl xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dtd/AttributeDecl.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>AttributeDecl</code> represents an attribute declaration in a DTD.</em>
+<a name="13" href="#13">13</a>  <em> * </p></em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dtd/AttributeDecl.html">AttributeDecl</a> {
+<a name="19" href="#19">19</a>      <em>/**<em>* Holds value of property elementName. */</em></em>
+<a name="20" href="#20">20</a>      <strong>private</strong> String elementName;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>      <em>/**<em>* Holds value of property attributeName. */</em></em>
+<a name="23" href="#23">23</a>      <strong>private</strong> String attributeName;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <em>/**<em>* Holds value of property type. */</em></em>
+<a name="26" href="#26">26</a>      <strong>private</strong> String type;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em>/**<em>* Holds value of property value. */</em></em>
+<a name="29" href="#29">29</a>      <strong>private</strong> String value;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>* Holds value of property valueDefault. */</em></em>
+<a name="32" href="#32">32</a>      <strong>private</strong> String valueDefault;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <a href="../../../org/dom4j/dtd/AttributeDecl.html">AttributeDecl</a>() {
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <a href="../../../org/dom4j/dtd/AttributeDecl.html">AttributeDecl</a>(String elementName, String attributeName, String type,
+<a name="38" href="#38">38</a>              String valueDefault, String value) {
+<a name="39" href="#39">39</a>          <strong>this</strong>.elementName = elementName;
+<a name="40" href="#40">40</a>          <strong>this</strong>.attributeName = attributeName;
+<a name="41" href="#41">41</a>          <strong>this</strong>.type = type;
+<a name="42" href="#42">42</a>          <strong>this</strong>.value = value;
+<a name="43" href="#43">43</a>          <strong>this</strong>.valueDefault = valueDefault;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>*</em></em>
+<a name="47" href="#47">47</a>  <em>     * Getter for property elementName.</em>
+<a name="48" href="#48">48</a>  <em>     * </em>
+<a name="49" href="#49">49</a>  <em>     * @return Value of property elementName.</em>
+<a name="50" href="#50">50</a>  <em>     */</em>
+<a name="51" href="#51">51</a>      <strong>public</strong> String getElementName() {
+<a name="52" href="#52">52</a>          <strong>return</strong> elementName;
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em>/**<em>*</em></em>
+<a name="56" href="#56">56</a>  <em>     * Setter for property elementName.</em>
+<a name="57" href="#57">57</a>  <em>     * </em>
+<a name="58" href="#58">58</a>  <em>     * @param elementName</em>
+<a name="59" href="#59">59</a>  <em>     *            New value of property elementName.</em>
+<a name="60" href="#60">60</a>  <em>     */</em>
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>void</strong> setElementName(String elementName) {
+<a name="62" href="#62">62</a>          <strong>this</strong>.elementName = elementName;
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <em>/**<em>*</em></em>
+<a name="66" href="#66">66</a>  <em>     * Getter for property attributeName.</em>
+<a name="67" href="#67">67</a>  <em>     * </em>
+<a name="68" href="#68">68</a>  <em>     * @return Value of property attributeName.</em>
+<a name="69" href="#69">69</a>  <em>     */</em>
+<a name="70" href="#70">70</a>      <strong>public</strong> String getAttributeName() {
+<a name="71" href="#71">71</a>          <strong>return</strong> attributeName;
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <em>/**<em>*</em></em>
+<a name="75" href="#75">75</a>  <em>     * Setter for property attributeName.</em>
+<a name="76" href="#76">76</a>  <em>     * </em>
+<a name="77" href="#77">77</a>  <em>     * @param attributeName</em>
+<a name="78" href="#78">78</a>  <em>     *            New value of property attributeName.</em>
+<a name="79" href="#79">79</a>  <em>     */</em>
+<a name="80" href="#80">80</a>      <strong>public</strong> <strong>void</strong> setAttributeName(String attributeName) {
+<a name="81" href="#81">81</a>          <strong>this</strong>.attributeName = attributeName;
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <em>/**<em>*</em></em>
+<a name="85" href="#85">85</a>  <em>     * Getter for property type.</em>
+<a name="86" href="#86">86</a>  <em>     * </em>
+<a name="87" href="#87">87</a>  <em>     * @return Value of property type.</em>
+<a name="88" href="#88">88</a>  <em>     */</em>
+<a name="89" href="#89">89</a>      <strong>public</strong> String getType() {
+<a name="90" href="#90">90</a>          <strong>return</strong> type;
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <em>/**<em>*</em></em>
+<a name="94" href="#94">94</a>  <em>     * Setter for property type.</em>
+<a name="95" href="#95">95</a>  <em>     * </em>
+<a name="96" href="#96">96</a>  <em>     * @param type</em>
+<a name="97" href="#97">97</a>  <em>     *            New value of property type.</em>
+<a name="98" href="#98">98</a>  <em>     */</em>
+<a name="99" href="#99">99</a>      <strong>public</strong> <strong>void</strong> setType(String type) {
+<a name="100" href="#100">100</a>         <strong>this</strong>.type = type;
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <em>/**<em>*</em></em>
+<a name="104" href="#104">104</a> <em>     * Getter for property value.</em>
+<a name="105" href="#105">105</a> <em>     * </em>
+<a name="106" href="#106">106</a> <em>     * @return Value of property value.</em>
+<a name="107" href="#107">107</a> <em>     */</em>
+<a name="108" href="#108">108</a>     <strong>public</strong> String getValue() {
+<a name="109" href="#109">109</a>         <strong>return</strong> value;
+<a name="110" href="#110">110</a>     }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <em>/**<em>*</em></em>
+<a name="113" href="#113">113</a> <em>     * Setter for property value.</em>
+<a name="114" href="#114">114</a> <em>     * </em>
+<a name="115" href="#115">115</a> <em>     * @param value</em>
+<a name="116" href="#116">116</a> <em>     *            New value of property value.</em>
+<a name="117" href="#117">117</a> <em>     */</em>
+<a name="118" href="#118">118</a>     <strong>public</strong> <strong>void</strong> setValue(String value) {
+<a name="119" href="#119">119</a>         <strong>this</strong>.value = value;
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>     <em>/**<em>*</em></em>
+<a name="123" href="#123">123</a> <em>     * Getter for property valueDefault.</em>
+<a name="124" href="#124">124</a> <em>     * </em>
+<a name="125" href="#125">125</a> <em>     * @return Value of property valueDefault.</em>
+<a name="126" href="#126">126</a> <em>     */</em>
+<a name="127" href="#127">127</a>     <strong>public</strong> String getValueDefault() {
+<a name="128" href="#128">128</a>         <strong>return</strong> valueDefault;
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <em>/**<em>*</em></em>
+<a name="132" href="#132">132</a> <em>     * Setter for property valueDefault.</em>
+<a name="133" href="#133">133</a> <em>     * </em>
+<a name="134" href="#134">134</a> <em>     * @param valueDefault</em>
+<a name="135" href="#135">135</a> <em>     *            New value of property valueDefault.</em>
+<a name="136" href="#136">136</a> <em>     */</em>
+<a name="137" href="#137">137</a>     <strong>public</strong> <strong>void</strong> setValueDefault(String valueDefault) {
+<a name="138" href="#138">138</a>         <strong>this</strong>.valueDefault = valueDefault;
+<a name="139" href="#139">139</a>     }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>     <strong>public</strong> String toString() {
+<a name="142" href="#142">142</a>         StringBuffer buffer = <strong>new</strong> StringBuffer(<span class="string">"<!ATTLIST "</span>);
+<a name="143" href="#143">143</a>         buffer.append(elementName);
+<a name="144" href="#144">144</a>         buffer.append(<span class="string">" "</span>);
+<a name="145" href="#145">145</a>         buffer.append(attributeName);
+<a name="146" href="#146">146</a>         buffer.append(<span class="string">" "</span>);
+<a name="147" href="#147">147</a>         buffer.append(type);
+<a name="148" href="#148">148</a>         buffer.append(<span class="string">" "</span>);
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         <strong>if</strong> (valueDefault != <strong>null</strong>) {
+<a name="151" href="#151">151</a>             buffer.append(valueDefault);
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>             <strong>if</strong> (valueDefault.equals(<span class="string">"#FIXED"</span>)) {
+<a name="154" href="#154">154</a>                 buffer.append(<span class="string">" \""</span>);
+<a name="155" href="#155">155</a>                 buffer.append(value);
+<a name="156" href="#156">156</a>                 buffer.append(<span class="string">"\""</span>);
+<a name="157" href="#157">157</a>             }
+<a name="158" href="#158">158</a>         } <strong>else</strong> {
+<a name="159" href="#159">159</a>             buffer.append(<span class="string">"\""</span>);
+<a name="160" href="#160">160</a>             buffer.append(value);
+<a name="161" href="#161">161</a>             buffer.append(<span class="string">"\""</span>);
+<a name="162" href="#162">162</a>         }
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>         buffer.append(<span class="string">">"</span>);
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>         <strong>return</strong> buffer.toString();
+<a name="167" href="#167">167</a>     }
+<a name="168" href="#168">168</a> }
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a> <em class="comment">/*</em>
+<a name="171" href="#171">171</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="172" href="#172">172</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="173" href="#173">173</a> <em class="comment"> * following conditions are met:</em>
+<a name="174" href="#174">174</a> <em class="comment"> * </em>
+<a name="175" href="#175">175</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="176" href="#176">176</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="177" href="#177">177</a> <em class="comment"> * </em>
+<a name="178" href="#178">178</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="179" href="#179">179</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="180" href="#180">180</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="181" href="#181">181</a> <em class="comment"> * </em>
+<a name="182" href="#182">182</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="183" href="#183">183</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="184" href="#184">184</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="185" href="#185">185</a> <em class="comment"> * </em>
+<a name="186" href="#186">186</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="187" href="#187">187</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="188" href="#188">188</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="189" href="#189">189</a> <em class="comment"> * </em>
+<a name="190" href="#190">190</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="191" href="#191">191</a> <em class="comment"> * </em>
+<a name="192" href="#192">192</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="193" href="#193">193</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="194" href="#194">194</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="195" href="#195">195</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="196" href="#196">196</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="197" href="#197">197</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="198" href="#198">198</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="199" href="#199">199</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="200" href="#200">200</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="201" href="#201">201</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="202" href="#202">202</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="203" href="#203">203</a> <em class="comment"> * </em>
+<a name="204" href="#204">204</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="205" href="#205">205</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dtd/ElementDecl.html b/docs/xref/org/dom4j/dtd/ElementDecl.html
new file mode 100644
index 0000000..93df61b
--- /dev/null
+++ b/docs/xref/org/dom4j/dtd/ElementDecl.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementDecl xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dtd/ElementDecl.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>AttributeDecl</code> represents an element declaration in a DTD.</em>
+<a name="13" href="#13">13</a>  <em> * </p></em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="16" href="#16">16</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dtd/ElementDecl.html">ElementDecl</a> {
+<a name="19" href="#19">19</a>      <em>/**<em>* Holds value of property name. */</em></em>
+<a name="20" href="#20">20</a>      <strong>private</strong> String name;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>      <em>/**<em>* Holds value of property model. */</em></em>
+<a name="23" href="#23">23</a>      <strong>private</strong> String model;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <strong>public</strong> <a href="../../../org/dom4j/dtd/ElementDecl.html">ElementDecl</a>() {
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <strong>public</strong> <a href="../../../org/dom4j/dtd/ElementDecl.html">ElementDecl</a>(String name, String model) {
+<a name="29" href="#29">29</a>          <strong>this</strong>.name = name;
+<a name="30" href="#30">30</a>          <strong>this</strong>.model = model;
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>*</em></em>
+<a name="34" href="#34">34</a>  <em>     * Getter for property name.</em>
+<a name="35" href="#35">35</a>  <em>     * </em>
+<a name="36" href="#36">36</a>  <em>     * @return Value of property name.</em>
+<a name="37" href="#37">37</a>  <em>     */</em>
+<a name="38" href="#38">38</a>      <strong>public</strong> String getName() {
+<a name="39" href="#39">39</a>          <strong>return</strong> name;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em>/**<em>*</em></em>
+<a name="43" href="#43">43</a>  <em>     * Setter for property name.</em>
+<a name="44" href="#44">44</a>  <em>     * </em>
+<a name="45" href="#45">45</a>  <em>     * @param name</em>
+<a name="46" href="#46">46</a>  <em>     *            New value of property name.</em>
+<a name="47" href="#47">47</a>  <em>     */</em>
+<a name="48" href="#48">48</a>      <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="49" href="#49">49</a>          <strong>this</strong>.name = name;
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <em>/**<em>*</em></em>
+<a name="53" href="#53">53</a>  <em>     * Getter for property model.</em>
+<a name="54" href="#54">54</a>  <em>     * </em>
+<a name="55" href="#55">55</a>  <em>     * @return Value of property model.</em>
+<a name="56" href="#56">56</a>  <em>     */</em>
+<a name="57" href="#57">57</a>      <strong>public</strong> String getModel() {
+<a name="58" href="#58">58</a>          <strong>return</strong> model;
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <em>/**<em>*</em></em>
+<a name="62" href="#62">62</a>  <em>     * Setter for property model.</em>
+<a name="63" href="#63">63</a>  <em>     * </em>
+<a name="64" href="#64">64</a>  <em>     * @param model</em>
+<a name="65" href="#65">65</a>  <em>     *            New value of property model.</em>
+<a name="66" href="#66">66</a>  <em>     */</em>
+<a name="67" href="#67">67</a>      <strong>public</strong> <strong>void</strong> setModel(String model) {
+<a name="68" href="#68">68</a>          <strong>this</strong>.model = model;
+<a name="69" href="#69">69</a>      }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <strong>public</strong> String toString() {
+<a name="72" href="#72">72</a>          <strong>return</strong> <span class="string">"<!ELEMENT "</span> + name + <span class="string">" "</span> + model + <span class="string">">"</span>;
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>  }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>  <em class="comment">/*</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * following conditions are met:</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * </em>
+<a name="92" href="#92">92</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="103" href="#103">103</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="104" href="#104">104</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="105" href="#105">105</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="106" href="#106">106</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="107" href="#107">107</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="108" href="#108">108</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="111" href="#111">111</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dtd/ExternalEntityDecl.html b/docs/xref/org/dom4j/dtd/ExternalEntityDecl.html
new file mode 100644
index 0000000..c078b49
--- /dev/null
+++ b/docs/xref/org/dom4j/dtd/ExternalEntityDecl.html
@@ -0,0 +1,175 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ExternalEntityDecl xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dtd/ExternalEntityDecl.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>ExternalEntityDecl</code> represents an external entity declaration</em>
+<a name="13" href="#13">13</a>  <em> * in a DTD.</em>
+<a name="14" href="#14">14</a>  <em> * </p></em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="17" href="#17">17</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="18" href="#18">18</a>  <em> */</em>
+<a name="19" href="#19">19</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dtd/ExternalEntityDecl.html">ExternalEntityDecl</a> {
+<a name="20" href="#20">20</a>      <em>/**<em>* Holds value of property name. */</em></em>
+<a name="21" href="#21">21</a>      <strong>private</strong> String name;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <em>/**<em>* Holds value of property publicID. */</em></em>
+<a name="24" href="#24">24</a>      <strong>private</strong> String publicID;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em>/**<em>* Holds value of property systemID. */</em></em>
+<a name="27" href="#27">27</a>      <strong>private</strong> String systemID;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../../org/dom4j/dtd/ExternalEntityDecl.html">ExternalEntityDecl</a>() {
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/dtd/ExternalEntityDecl.html">ExternalEntityDecl</a>(String name, String <strong>public</strong>ID, String systemID) {
+<a name="33" href="#33">33</a>          <strong>this</strong>.name = name;
+<a name="34" href="#34">34</a>          <strong>this</strong>.publicID = publicID;
+<a name="35" href="#35">35</a>          <strong>this</strong>.systemID = systemID;
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>*</em></em>
+<a name="39" href="#39">39</a>  <em>     * Getter for property name.</em>
+<a name="40" href="#40">40</a>  <em>     * </em>
+<a name="41" href="#41">41</a>  <em>     * @return Value of property name.</em>
+<a name="42" href="#42">42</a>  <em>     */</em>
+<a name="43" href="#43">43</a>      <strong>public</strong> String getName() {
+<a name="44" href="#44">44</a>          <strong>return</strong> name;
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <em>/**<em>*</em></em>
+<a name="48" href="#48">48</a>  <em>     * Setter for property name.</em>
+<a name="49" href="#49">49</a>  <em>     * </em>
+<a name="50" href="#50">50</a>  <em>     * @param name</em>
+<a name="51" href="#51">51</a>  <em>     *            New value of property name.</em>
+<a name="52" href="#52">52</a>  <em>     */</em>
+<a name="53" href="#53">53</a>      <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="54" href="#54">54</a>          <strong>this</strong>.name = name;
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <em>/**<em>*</em></em>
+<a name="58" href="#58">58</a>  <em>     * Getter for property publicID.</em>
+<a name="59" href="#59">59</a>  <em>     * </em>
+<a name="60" href="#60">60</a>  <em>     * @return Value of property publicID.</em>
+<a name="61" href="#61">61</a>  <em>     */</em>
+<a name="62" href="#62">62</a>      <strong>public</strong> String getPublicID() {
+<a name="63" href="#63">63</a>          <strong>return</strong> publicID;
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <em>/**<em>*</em></em>
+<a name="67" href="#67">67</a>  <em>     * Setter for property publicID.</em>
+<a name="68" href="#68">68</a>  <em>     * </em>
+<a name="69" href="#69">69</a>  <em>     * @param publicID</em>
+<a name="70" href="#70">70</a>  <em>     *            New value of property publicID.</em>
+<a name="71" href="#71">71</a>  <em>     */</em>
+<a name="72" href="#72">72</a>      <strong>public</strong> <strong>void</strong> setPublicID(String <strong>public</strong>ID) {
+<a name="73" href="#73">73</a>          <strong>this</strong>.publicID = publicID;
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <em>/**<em>*</em></em>
+<a name="77" href="#77">77</a>  <em>     * Getter for property systemID.</em>
+<a name="78" href="#78">78</a>  <em>     * </em>
+<a name="79" href="#79">79</a>  <em>     * @return Value of property systemID.</em>
+<a name="80" href="#80">80</a>  <em>     */</em>
+<a name="81" href="#81">81</a>      <strong>public</strong> String getSystemID() {
+<a name="82" href="#82">82</a>          <strong>return</strong> systemID;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <em>/**<em>*</em></em>
+<a name="86" href="#86">86</a>  <em>     * Setter for property systemID.</em>
+<a name="87" href="#87">87</a>  <em>     * </em>
+<a name="88" href="#88">88</a>  <em>     * @param systemID</em>
+<a name="89" href="#89">89</a>  <em>     *            New value of property systemID.</em>
+<a name="90" href="#90">90</a>  <em>     */</em>
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>void</strong> setSystemID(String systemID) {
+<a name="92" href="#92">92</a>          <strong>this</strong>.systemID = systemID;
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> String toString() {
+<a name="96" href="#96">96</a>          StringBuffer buffer = <strong>new</strong> StringBuffer(<span class="string">"<!ENTITY "</span>);
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          <strong>if</strong> (name.startsWith(<span class="string">"%"</span>)) {
+<a name="99" href="#99">99</a>              buffer.append(<span class="string">"% "</span>);
+<a name="100" href="#100">100</a>             buffer.append(name.substring(1));
+<a name="101" href="#101">101</a>         } <strong>else</strong> {
+<a name="102" href="#102">102</a>             buffer.append(name);
+<a name="103" href="#103">103</a>         }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>         <strong>if</strong> (publicID != <strong>null</strong>) {
+<a name="106" href="#106">106</a>             buffer.append(<span class="string">" PUBLIC \""</span>);
+<a name="107" href="#107">107</a>             buffer.append(publicID);
+<a name="108" href="#108">108</a>             buffer.append(<span class="string">"\" "</span>);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>             <strong>if</strong> (systemID != <strong>null</strong>) {
+<a name="111" href="#111">111</a>                 buffer.append(<span class="string">"\""</span>);
+<a name="112" href="#112">112</a>                 buffer.append(systemID);
+<a name="113" href="#113">113</a>                 buffer.append(<span class="string">"\" "</span>);
+<a name="114" href="#114">114</a>             }
+<a name="115" href="#115">115</a>         } <strong>else</strong> <strong>if</strong> (systemID != <strong>null</strong>) {
+<a name="116" href="#116">116</a>             buffer.append(<span class="string">" SYSTEM \""</span>);
+<a name="117" href="#117">117</a>             buffer.append(systemID);
+<a name="118" href="#118">118</a>             buffer.append(<span class="string">"\" "</span>);
+<a name="119" href="#119">119</a>         }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>         buffer.append(<span class="string">">"</span>);
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>         <strong>return</strong> buffer.toString();
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a> <em class="comment">/*</em>
+<a name="128" href="#128">128</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="129" href="#129">129</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="130" href="#130">130</a> <em class="comment"> * following conditions are met:</em>
+<a name="131" href="#131">131</a> <em class="comment"> * </em>
+<a name="132" href="#132">132</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="133" href="#133">133</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="136" href="#136">136</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="137" href="#137">137</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="140" href="#140">140</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="141" href="#141">141</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="142" href="#142">142</a> <em class="comment"> * </em>
+<a name="143" href="#143">143</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="144" href="#144">144</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="145" href="#145">145</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="146" href="#146">146</a> <em class="comment"> * </em>
+<a name="147" href="#147">147</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="148" href="#148">148</a> <em class="comment"> * </em>
+<a name="149" href="#149">149</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="150" href="#150">150</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="151" href="#151">151</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="152" href="#152">152</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="153" href="#153">153</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="154" href="#154">154</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="155" href="#155">155</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="156" href="#156">156</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="157" href="#157">157</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="158" href="#158">158</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="159" href="#159">159</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="160" href="#160">160</a> <em class="comment"> * </em>
+<a name="161" href="#161">161</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="162" href="#162">162</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dtd/InternalEntityDecl.html b/docs/xref/org/dom4j/dtd/InternalEntityDecl.html
new file mode 100644
index 0000000..8bd8004
--- /dev/null
+++ b/docs/xref/org/dom4j/dtd/InternalEntityDecl.html
@@ -0,0 +1,185 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>InternalEntityDecl xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/dtd/InternalEntityDecl.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>InternalEntityDecl</code> represents an internal entity declaration</em>
+<a name="13" href="#13">13</a>  <em> * in a DTD.</em>
+<a name="14" href="#14">14</a>  <em> * </p></em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="17" href="#17">17</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="18" href="#18">18</a>  <em> */</em>
+<a name="19" href="#19">19</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/dtd/InternalEntityDecl.html">InternalEntityDecl</a> {
+<a name="20" href="#20">20</a>      <em>/**<em>* Holds value of property name. */</em></em>
+<a name="21" href="#21">21</a>      <strong>private</strong> String name;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <em>/**<em>* Holds value of property value. */</em></em>
+<a name="24" href="#24">24</a>      <strong>private</strong> String value;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>public</strong> <a href="../../../org/dom4j/dtd/InternalEntityDecl.html">InternalEntityDecl</a>() {
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../../org/dom4j/dtd/InternalEntityDecl.html">InternalEntityDecl</a>(String name, String value) {
+<a name="30" href="#30">30</a>          <strong>this</strong>.name = name;
+<a name="31" href="#31">31</a>          <strong>this</strong>.value = value;
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em>/**<em>*</em></em>
+<a name="35" href="#35">35</a>  <em>     * Getter for property name.</em>
+<a name="36" href="#36">36</a>  <em>     * </em>
+<a name="37" href="#37">37</a>  <em>     * @return Value of property name.</em>
+<a name="38" href="#38">38</a>  <em>     */</em>
+<a name="39" href="#39">39</a>      <strong>public</strong> String getName() {
+<a name="40" href="#40">40</a>          <strong>return</strong> name;
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>*</em></em>
+<a name="44" href="#44">44</a>  <em>     * Setter for property name.</em>
+<a name="45" href="#45">45</a>  <em>     * </em>
+<a name="46" href="#46">46</a>  <em>     * @param name</em>
+<a name="47" href="#47">47</a>  <em>     *            New value of property name.</em>
+<a name="48" href="#48">48</a>  <em>     */</em>
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="50" href="#50">50</a>          <strong>this</strong>.name = name;
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <em>/**<em>*</em></em>
+<a name="54" href="#54">54</a>  <em>     * Getter for property value.</em>
+<a name="55" href="#55">55</a>  <em>     * </em>
+<a name="56" href="#56">56</a>  <em>     * @return Value of property value.</em>
+<a name="57" href="#57">57</a>  <em>     */</em>
+<a name="58" href="#58">58</a>      <strong>public</strong> String getValue() {
+<a name="59" href="#59">59</a>          <strong>return</strong> value;
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em>/**<em>*</em></em>
+<a name="63" href="#63">63</a>  <em>     * Setter for property value.</em>
+<a name="64" href="#64">64</a>  <em>     * </em>
+<a name="65" href="#65">65</a>  <em>     * @param value</em>
+<a name="66" href="#66">66</a>  <em>     *            New value of property value.</em>
+<a name="67" href="#67">67</a>  <em>     */</em>
+<a name="68" href="#68">68</a>      <strong>public</strong> <strong>void</strong> setValue(String value) {
+<a name="69" href="#69">69</a>          <strong>this</strong>.value = value;
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> String toString() {
+<a name="73" href="#73">73</a>          StringBuffer buffer = <strong>new</strong> StringBuffer(<span class="string">"<!ENTITY "</span>);
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>          <strong>if</strong> (name.startsWith(<span class="string">"%"</span>)) {
+<a name="76" href="#76">76</a>              buffer.append(<span class="string">"% "</span>);
+<a name="77" href="#77">77</a>              buffer.append(name.substring(1));
+<a name="78" href="#78">78</a>          } <strong>else</strong> {
+<a name="79" href="#79">79</a>              buffer.append(name);
+<a name="80" href="#80">80</a>          }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          buffer.append(<span class="string">" \""</span>);
+<a name="83" href="#83">83</a>          buffer.append(escapeEntityValue(value));
+<a name="84" href="#84">84</a>          buffer.append(<span class="string">"\">"</span>);
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>          <strong>return</strong> buffer.toString();
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>private</strong> String escapeEntityValue(String text) {
+<a name="90" href="#90">90</a>          StringBuffer result = <strong>new</strong> StringBuffer();
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          <strong>for</strong> (<strong>int</strong> i = 0; i < text.length(); i++) {
+<a name="93" href="#93">93</a>              <strong>char</strong> c = text.<strong>char</strong>At(i);
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>              <strong>switch</strong> (c) {
+<a name="96" href="#96">96</a>                  <strong>case</strong> '<':
+<a name="97" href="#97">97</a>                      result.append(<span class="string">"&#38;#60;"</span>);
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>                      <strong>break</strong>;
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>                 <strong>case</strong> '>':
+<a name="102" href="#102">102</a>                     result.append(<span class="string">"&#62;"</span>);
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>                     <strong>break</strong>;
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>                 <strong>case</strong> '&':
+<a name="107" href="#107">107</a>                     result.append(<span class="string">"&#38;#38;"</span>);
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>                     <strong>break</strong>;
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>                 <strong>case</strong> '\'':
+<a name="112" href="#112">112</a>                     result.append(<span class="string">"&#39;"</span>);
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>                     <strong>break</strong>;
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>                 <strong>case</strong> '\"':
+<a name="117" href="#117">117</a>                     result.append(<span class="string">"&#34;"</span>);
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>                     <strong>break</strong>;
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>                 <strong>default</strong>:
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>                     <strong>if</strong> (c < 32) {
+<a name="124" href="#124">124</a>                         result.append(<span class="string">"&#"</span> + (<strong>int</strong>) c + <span class="string">";"</span>);
+<a name="125" href="#125">125</a>                     } <strong>else</strong> {
+<a name="126" href="#126">126</a>                         result.append(c);
+<a name="127" href="#127">127</a>                     }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>                     <strong>break</strong>;
+<a name="130" href="#130">130</a>             }
+<a name="131" href="#131">131</a>         }
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>         <strong>return</strong> result.toString();
+<a name="134" href="#134">134</a>     }
+<a name="135" href="#135">135</a> }
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a> <em class="comment">/*</em>
+<a name="138" href="#138">138</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="139" href="#139">139</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="140" href="#140">140</a> <em class="comment"> * following conditions are met:</em>
+<a name="141" href="#141">141</a> <em class="comment"> * </em>
+<a name="142" href="#142">142</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="143" href="#143">143</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="146" href="#146">146</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="147" href="#147">147</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="148" href="#148">148</a> <em class="comment"> * </em>
+<a name="149" href="#149">149</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="150" href="#150">150</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="151" href="#151">151</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="152" href="#152">152</a> <em class="comment"> * </em>
+<a name="153" href="#153">153</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="154" href="#154">154</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="155" href="#155">155</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="156" href="#156">156</a> <em class="comment"> * </em>
+<a name="157" href="#157">157</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="158" href="#158">158</a> <em class="comment"> * </em>
+<a name="159" href="#159">159</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="160" href="#160">160</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="161" href="#161">161</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="162" href="#162">162</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="163" href="#163">163</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="164" href="#164">164</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="165" href="#165">165</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="166" href="#166">166</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="167" href="#167">167</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="168" href="#168">168</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="169" href="#169">169</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="170" href="#170">170</a> <em class="comment"> * </em>
+<a name="171" href="#171">171</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="172" href="#172">172</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/dtd/package-frame.html b/docs/xref/org/dom4j/dtd/package-frame.html
new file mode 100644
index 0000000..38a6165
--- /dev/null
+++ b/docs/xref/org/dom4j/dtd/package-frame.html
@@ -0,0 +1,39 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.dtd</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.dtd</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="AttributeDecl.html" target="classFrame">AttributeDecl</a>
+          </li>
+        
+          <li>
+            <a href="ElementDecl.html" target="classFrame">ElementDecl</a>
+          </li>
+        
+          <li>
+            <a href="ExternalEntityDecl.html" target="classFrame">ExternalEntityDecl</a>
+          </li>
+        
+          <li>
+            <a href="InternalEntityDecl.html" target="classFrame">InternalEntityDecl</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/dtd/package-summary.html b/docs/xref/org/dom4j/dtd/package-summary.html
new file mode 100644
index 0000000..a0b8fd7
--- /dev/null
+++ b/docs/xref/org/dom4j/dtd/package-summary.html
@@ -0,0 +1,120 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.dtd</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="AttributeDecl.html" target="classFrame">AttributeDecl</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementDecl.html" target="classFrame">ElementDecl</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ExternalEntityDecl.html" target="classFrame">ExternalEntityDecl</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="InternalEntityDecl.html" target="classFrame">InternalEntityDecl</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/io/DOMReader.html b/docs/xref/org/dom4j/io/DOMReader.html
new file mode 100644
index 0000000..b8a145b
--- /dev/null
+++ b/docs/xref/org/dom4j/io/DOMReader.html
@@ -0,0 +1,326 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMReader xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/DOMReader.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.List;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Document;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Element;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.QName;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.tree.NamespaceStack;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * <p></em>
+<a name="23" href="#23">23</a>  <em> * <code>DOMReader</code> navigates a W3C DOM tree and creates a DOM4J tree</em>
+<a name="24" href="#24">24</a>  <em> * from it.</em>
+<a name="25" href="#25">25</a>  <em> * </p></em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="28" href="#28">28</a>  <em> * @version $Revision: 1.17 $</em>
+<a name="29" href="#29">29</a>  <em> */</em>
+<a name="30" href="#30">30</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/DOMReader.html">DOMReader</a> {
+<a name="31" href="#31">31</a>      <em>/**<em>* <code>DocumentFactory</code> used to create new document objects */</em></em>
+<a name="32" href="#32">32</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em>/**<em>* stack of <code>Namespace</code> and <code>QName</code> objects */</em></em>
+<a name="35" href="#35">35</a>      <strong>private</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DOMReader.html">DOMReader</a>() {
+<a name="38" href="#38">38</a>          <strong>this</strong>.factory = DocumentFactory.getInstance();
+<a name="39" href="#39">39</a>          <strong>this</strong>.namespaceStack = <strong>new</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>(factory);
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DOMReader.html">DOMReader</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory) {
+<a name="43" href="#43">43</a>          <strong>this</strong>.factory = factory;
+<a name="44" href="#44">44</a>          <strong>this</strong>.namespaceStack = <strong>new</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>(factory);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <em>/**<em>*</em></em>
+<a name="48" href="#48">48</a>  <em>     * DOCUMENT ME!</em>
+<a name="49" href="#49">49</a>  <em>     * </em>
+<a name="50" href="#50">50</a>  <em>     * @return the <code>DocumentFactory</code> used to create document</em>
+<a name="51" href="#51">51</a>  <em>     *         objects</em>
+<a name="52" href="#52">52</a>  <em>     */</em>
+<a name="53" href="#53">53</a>      <strong>public</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="54" href="#54">54</a>          <strong>return</strong> factory;
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <em>/**<em>*</em></em>
+<a name="58" href="#58">58</a>  <em>     * <p></em>
+<a name="59" href="#59">59</a>  <em>     * This sets the <code>DocumentFactory</code> used to create new</em>
+<a name="60" href="#60">60</a>  <em>     * documents. This method allows the building of custom DOM4J tree objects</em>
+<a name="61" href="#61">61</a>  <em>     * to be implemented easily using a custom derivation of</em>
+<a name="62" href="#62">62</a>  <em>     * {@link DocumentFactory}</em>
+<a name="63" href="#63">63</a>  <em>     * </p></em>
+<a name="64" href="#64">64</a>  <em>     * </em>
+<a name="65" href="#65">65</a>  <em>     * @param docFactory</em>
+<a name="66" href="#66">66</a>  <em>     *            <code>DocumentFactory</code> used to create DOM4J objects</em>
+<a name="67" href="#67">67</a>  <em>     */</em>
+<a name="68" href="#68">68</a>      <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> docFactory) {
+<a name="69" href="#69">69</a>          <strong>this</strong>.factory = docFactory;
+<a name="70" href="#70">70</a>          <strong>this</strong>.namespaceStack.setDocumentFactory(factory);
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(org.w3c.dom.Document domDocument) {
+<a name="74" href="#74">74</a>          <strong>if</strong> (domDocument instanceof Document) {
+<a name="75" href="#75">75</a>              <strong>return</strong> (Document) domDocument;
+<a name="76" href="#76">76</a>          }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          <a href="../../../org/dom4j/Document.html">Document</a> document = createDocument();
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>          clearNamespaceStack();
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          org.w3c.dom.NodeList nodeList = domDocument.getChildNodes();
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = nodeList.getLength(); i < size; i++) {
+<a name="85" href="#85">85</a>              readTree(nodeList.item(i), document);
+<a name="86" href="#86">86</a>          }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>          <strong>return</strong> document;
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <em class="comment">// Implementation methods</em>
+<a name="92" href="#92">92</a>      <strong>protected</strong> <strong>void</strong> readTree(org.w3c.dom.Node node, <a href="../../../org/dom4j/Branch.html">Branch</a> current) {
+<a name="93" href="#93">93</a>          <a href="../../../org/dom4j/Element.html">Element</a> element = <strong>null</strong>;
+<a name="94" href="#94">94</a>          <a href="../../../org/dom4j/Document.html">Document</a> document = <strong>null</strong>;
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>          <strong>if</strong> (current instanceof Element) {
+<a name="97" href="#97">97</a>              element = (Element) current;
+<a name="98" href="#98">98</a>          } <strong>else</strong> {
+<a name="99" href="#99">99</a>              document = (Document) current;
+<a name="100" href="#100">100</a>         }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         <strong>switch</strong> (node.getNodeType()) {
+<a name="103" href="#103">103</a>             <strong>case</strong> org.w3c.dom.Node.ELEMENT_NODE:
+<a name="104" href="#104">104</a>                 readElement(node, current);
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>                 <strong>break</strong>;
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>             <strong>case</strong> org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>                 <strong>if</strong> (current instanceof Element) {
+<a name="111" href="#111">111</a>                     <a href="../../../org/dom4j/Element.html">Element</a> currentEl = (Element) current;
+<a name="112" href="#112">112</a>                     currentEl.addProcessingInstruction(node.getNodeName(), node
+<a name="113" href="#113">113</a>                             .getNodeValue());
+<a name="114" href="#114">114</a>                 } <strong>else</strong> {
+<a name="115" href="#115">115</a>                     <a href="../../../org/dom4j/Document.html">Document</a> currentDoc = (Document) current;
+<a name="116" href="#116">116</a>                     currentDoc.addProcessingInstruction(node.getNodeName(),
+<a name="117" href="#117">117</a>                             node.getNodeValue());
+<a name="118" href="#118">118</a>                 }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>                 <strong>break</strong>;
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>             <strong>case</strong> org.w3c.dom.Node.COMMENT_NODE:
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>                 <strong>if</strong> (current instanceof Element) {
+<a name="125" href="#125">125</a>                     ((<a href="../../../org/dom4j/Element.html">Element</a>) current).addComment(node.getNodeValue());
+<a name="126" href="#126">126</a>                 } <strong>else</strong> {
+<a name="127" href="#127">127</a>                     ((<a href="../../../org/dom4j/Document.html">Document</a>) current).addComment(node.getNodeValue());
+<a name="128" href="#128">128</a>                 }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>                 <strong>break</strong>;
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>             <strong>case</strong> org.w3c.dom.Node.DOCUMENT_TYPE_NODE:
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>                 org.w3c.dom.DocumentType domDocType 
+<a name="135" href="#135">135</a>                         = (org.w3c.dom.DocumentType) node;
+<a name="136" href="#136">136</a>                 document.addDocType(domDocType.getName(), domDocType
+<a name="137" href="#137">137</a>                         .getPublicId(), domDocType.getSystemId());
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>                 <strong>break</strong>;
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>             <strong>case</strong> org.w3c.dom.Node.TEXT_NODE:
+<a name="142" href="#142">142</a>                 element.addText(node.getNodeValue());
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>                 <strong>break</strong>;
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>             <strong>case</strong> org.w3c.dom.Node.CDATA_SECTION_NODE:
+<a name="147" href="#147">147</a>                 element.addCDATA(node.getNodeValue());
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>                 <strong>break</strong>;
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>             <strong>case</strong> org.w3c.dom.Node.ENTITY_REFERENCE_NODE:
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>                 <em class="comment">// is there a better way to get the value of an entity?</em>
+<a name="154" href="#154">154</a>                 org.w3c.dom.Node firstChild = node.getFirstChild();
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>                 <strong>if</strong> (firstChild != <strong>null</strong>) {
+<a name="157" href="#157">157</a>                     element.addEntity(node.getNodeName(), firstChild
+<a name="158" href="#158">158</a>                             .getNodeValue());
+<a name="159" href="#159">159</a>                 } <strong>else</strong> {
+<a name="160" href="#160">160</a>                     element.addEntity(node.getNodeName(), <span class="string">""</span>);
+<a name="161" href="#161">161</a>                 }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>                 <strong>break</strong>;
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>             <strong>case</strong> org.w3c.dom.Node.ENTITY_NODE:
+<a name="166" href="#166">166</a>                 element.addEntity(node.getNodeName(), node.getNodeValue());
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>                 <strong>break</strong>;
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>             <strong>default</strong>:
+<a name="171" href="#171">171</a>                 System.out.println(<span class="string">"WARNING: Unknown DOM node type: "</span>
+<a name="172" href="#172">172</a>                         + node.getNodeType());
+<a name="173" href="#173">173</a>         }
+<a name="174" href="#174">174</a>     }
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>     <strong>protected</strong> <strong>void</strong> readElement(org.w3c.dom.Node node, <a href="../../../org/dom4j/Branch.html">Branch</a> current) {
+<a name="177" href="#177">177</a>         <strong>int</strong> previouslyDeclaredNamespaces = namespaceStack.size();
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         String namespaceUri = node.getNamespaceURI();
+<a name="180" href="#180">180</a>         String elementPrefix = node.getPrefix();
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>         <strong>if</strong> (elementPrefix == <strong>null</strong>) {
+<a name="183" href="#183">183</a>             elementPrefix = <span class="string">""</span>;
+<a name="184" href="#184">184</a>         }
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>         org.w3c.dom.NamedNodeMap attributeList = node.getAttributes();
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>         <strong>if</strong> ((attributeList != <strong>null</strong>) && (namespaceUri == <strong>null</strong>)) {
+<a name="189" href="#189">189</a>             <em class="comment">// test if we have an "xmlns" attribute</em>
+<a name="190" href="#190">190</a>             org.w3c.dom.Node attribute = attributeList.getNamedItem(<span class="string">"xmlns"</span>);
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>             <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="193" href="#193">193</a>                 namespaceUri = attribute.getNodeValue();
+<a name="194" href="#194">194</a>                 elementPrefix = <span class="string">""</span>;
+<a name="195" href="#195">195</a>             }
+<a name="196" href="#196">196</a>         }
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>         <a href="../../../org/dom4j/QName.html">QName</a> qName = namespaceStack.getQName(namespaceUri,
+<a name="199" href="#199">199</a>                 node.getLocalName(), node.getNodeName());
+<a name="200" href="#200">200</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = current.addElement(qName);
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>         <strong>if</strong> (attributeList != <strong>null</strong>) {
+<a name="203" href="#203">203</a>             <strong>int</strong> size = attributeList.getLength();
+<a name="204" href="#204">204</a>             List attributes = <strong>new</strong> ArrayList(size);
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="207" href="#207">207</a>                 org.w3c.dom.Node attribute = attributeList.item(i);
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>                 <em class="comment">// Define all namespaces first then process attributes later</em>
+<a name="210" href="#210">210</a>                 String name = attribute.getNodeName();
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>                 <strong>if</strong> (name.startsWith(<span class="string">"xmlns"</span>)) {
+<a name="213" href="#213">213</a>                     String prefix = getPrefix(name);
+<a name="214" href="#214">214</a>                     String uri = attribute.getNodeValue();
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>                     <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = namespaceStack.addNamespace(prefix,
+<a name="217" href="#217">217</a>                             uri);
+<a name="218" href="#218">218</a>                     element.add(namespace);
+<a name="219" href="#219">219</a>                 } <strong>else</strong> {
+<a name="220" href="#220">220</a>                     attributes.add(attribute);
+<a name="221" href="#221">221</a>                 }
+<a name="222" href="#222">222</a>             }
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>             <em class="comment">// now add the attributes, the namespaces should be available</em>
+<a name="225" href="#225">225</a>             size = attributes.size();
+<a name="226" href="#226">226</a> 
+<a name="227" href="#227">227</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="228" href="#228">228</a>                 org.w3c.dom.Node attribute = (org.w3c.dom.Node) attributes
+<a name="229" href="#229">229</a>                         .get(i);
+<a name="230" href="#230">230</a>                 <a href="../../../org/dom4j/QName.html">QName</a> attributeQName = namespaceStack.getQName(attribute
+<a name="231" href="#231">231</a>                         .getNamespaceURI(), attribute.getLocalName(), attribute
+<a name="232" href="#232">232</a>                         .getNodeName());
+<a name="233" href="#233">233</a>                 element.addAttribute(attributeQName, attribute.getNodeValue());
+<a name="234" href="#234">234</a>             }
+<a name="235" href="#235">235</a>         }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>         <em class="comment">// Recurse on child nodes</em>
+<a name="238" href="#238">238</a>         org.w3c.dom.NodeList children = node.getChildNodes();
+<a name="239" href="#239">239</a> 
+<a name="240" href="#240">240</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = children.getLength(); i < size; i++) {
+<a name="241" href="#241">241</a>             org.w3c.dom.Node child = children.item(i);
+<a name="242" href="#242">242</a>             readTree(child, element);
+<a name="243" href="#243">243</a>         }
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>         <em class="comment">// pop namespaces from the stack</em>
+<a name="246" href="#246">246</a>         <strong>while</strong> (namespaceStack.size() > previouslyDeclaredNamespaces) {
+<a name="247" href="#247">247</a>             namespaceStack.pop();
+<a name="248" href="#248">248</a>         }
+<a name="249" href="#249">249</a>     }
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>     <strong>protected</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getNamespace(String prefix, String uri) {
+<a name="252" href="#252">252</a>         <strong>return</strong> getDocumentFactory().createNamespace(prefix, uri);
+<a name="253" href="#253">253</a>     }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>     <strong>protected</strong> <a href="../../../org/dom4j/Document.html">Document</a> createDocument() {
+<a name="256" href="#256">256</a>         <strong>return</strong> getDocumentFactory().createDocument();
+<a name="257" href="#257">257</a>     }
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>     <strong>protected</strong> <strong>void</strong> clearNamespaceStack() {
+<a name="260" href="#260">260</a>         namespaceStack.clear();
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>         <strong>if</strong> (!namespaceStack.contains(Namespace.XML_NAMESPACE)) {
+<a name="263" href="#263">263</a>             namespaceStack.push(Namespace.XML_NAMESPACE);
+<a name="264" href="#264">264</a>         }
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <strong>private</strong> String getPrefix(String xmlnsDecl) {
+<a name="268" href="#268">268</a>         <strong>int</strong> index = xmlnsDecl.indexOf(':', 5);
+<a name="269" href="#269">269</a> 
+<a name="270" href="#270">270</a>         <strong>if</strong> (index != -1) {
+<a name="271" href="#271">271</a>             <strong>return</strong> xmlnsDecl.substring(index + 1);
+<a name="272" href="#272">272</a>         } <strong>else</strong> {
+<a name="273" href="#273">273</a>             <strong>return</strong> <span class="string">""</span>;
+<a name="274" href="#274">274</a>         }
+<a name="275" href="#275">275</a>     }
+<a name="276" href="#276">276</a> }
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a> <em class="comment">/*</em>
+<a name="279" href="#279">279</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="280" href="#280">280</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="281" href="#281">281</a> <em class="comment"> * following conditions are met:</em>
+<a name="282" href="#282">282</a> <em class="comment"> * </em>
+<a name="283" href="#283">283</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="284" href="#284">284</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="285" href="#285">285</a> <em class="comment"> * </em>
+<a name="286" href="#286">286</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="287" href="#287">287</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="288" href="#288">288</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="289" href="#289">289</a> <em class="comment"> * </em>
+<a name="290" href="#290">290</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="291" href="#291">291</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="292" href="#292">292</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="293" href="#293">293</a> <em class="comment"> * </em>
+<a name="294" href="#294">294</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="295" href="#295">295</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="296" href="#296">296</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="297" href="#297">297</a> <em class="comment"> * </em>
+<a name="298" href="#298">298</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="299" href="#299">299</a> <em class="comment"> * </em>
+<a name="300" href="#300">300</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="301" href="#301">301</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="302" href="#302">302</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="303" href="#303">303</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="304" href="#304">304</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="305" href="#305">305</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="306" href="#306">306</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="307" href="#307">307</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="308" href="#308">308</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="309" href="#309">309</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="310" href="#310">310</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="311" href="#311">311</a> <em class="comment"> * </em>
+<a name="312" href="#312">312</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="313" href="#313">313</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/DOMWriter.html b/docs/xref/org/dom4j/io/DOMWriter.html
new file mode 100644
index 0000000..d5529fa
--- /dev/null
+++ b/docs/xref/org/dom4j/io/DOMWriter.html
@@ -0,0 +1,415 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DOMWriter xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/DOMWriter.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.List;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Document;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentException;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Element;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.Text;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.tree.NamespaceStack;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <strong>import</strong> org.w3c.dom.DOMImplementation;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>  <em>/**<em>*</em></em>
+<a name="27" href="#27">27</a>  <em> * <p></em>
+<a name="28" href="#28">28</a>  <em> * <code>DOMWriter</code> takes a DOM4J tree and outputs it as a W3C DOM</em>
+<a name="29" href="#29">29</a>  <em> * object</em>
+<a name="30" href="#30">30</a>  <em> * </p></em>
+<a name="31" href="#31">31</a>  <em> * </em>
+<a name="32" href="#32">32</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="33" href="#33">33</a>  <em> * @version $Revision: 1.17 $</em>
+<a name="34" href="#34">34</a>  <em> */</em>
+<a name="35" href="#35">35</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/DOMWriter.html">DOMWriter</a> {
+<a name="36" href="#36">36</a>      <strong>private</strong> <strong>static</strong> <strong>boolean</strong> loggedWarning = false;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String[] DEFAULT_DOM_DOCUMENT_CLASSES = {
+<a name="39" href="#39">39</a>              <span class="string">"org.apache.xerces.dom.DocumentImpl"</span>, <em class="comment">// Xerces</em>
+<a name="40" href="#40">40</a>              <span class="string">"gnu.xml.dom.DomDocument"</span>, <em class="comment">// GNU JAXP</em>
+<a name="41" href="#41">41</a>              <span class="string">"org.apache.crimson.tree.XmlDocument"</span>, <em class="comment">// Crimson</em>
+<a name="42" href="#42">42</a>              <span class="string">"com.sun.xml.tree.XmlDocument"</span>, <em class="comment">// Sun's Project X</em>
+<a name="43" href="#43">43</a>              <span class="string">"oracle.xml.parser.v2.XMLDocument"</span>, <em class="comment">// Oracle V2</em>
+<a name="44" href="#44">44</a>              <span class="string">"oracle.xml.parser.XMLDocument"</span>, <em class="comment">// Oracle V1</em>
+<a name="45" href="#45">45</a>              <span class="string">"org.dom4j.dom.DOMDocument"</span> <em class="comment">// Internal DOM implementation</em>
+<a name="46" href="#46">46</a>      };
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <em class="comment">// the Class used to create new DOM Document instances</em>
+<a name="49" href="#49">49</a>      <strong>private</strong> Class domDocumentClass;
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <em>/**<em>* stack of <code>Namespace</code> objects */</em></em>
+<a name="52" href="#52">52</a>      <strong>private</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack = <strong>new</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>();
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DOMWriter.html">DOMWriter</a>() {
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DOMWriter.html">DOMWriter</a>(Class domDocumentClass) {
+<a name="58" href="#58">58</a>          <strong>this</strong>.domDocumentClass = domDocumentClass;
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> Class getDomDocumentClass() throws DocumentException {
+<a name="62" href="#62">62</a>          Class result = domDocumentClass;
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          <strong>if</strong> (result == <strong>null</strong>) {
+<a name="65" href="#65">65</a>              <em class="comment">// lets try and find one in the classpath</em>
+<a name="66" href="#66">66</a>              <strong>int</strong> size = DEFAULT_DOM_DOCUMENT_CLASSES.length;
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>              <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="69" href="#69">69</a>                  <strong>try</strong> {
+<a name="70" href="#70">70</a>                      String name = DEFAULT_DOM_DOCUMENT_CLASSES[i];
+<a name="71" href="#71">71</a>                      result = Class.forName(name, <strong>true</strong>, DOMWriter.<strong>class</strong>
+<a name="72" href="#72">72</a>                              .getClassLoader());
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>                      <strong>if</strong> (result != <strong>null</strong>) {
+<a name="75" href="#75">75</a>                          <strong>break</strong>;
+<a name="76" href="#76">76</a>                      }
+<a name="77" href="#77">77</a>                  } <strong>catch</strong> (Exception e) {
+<a name="78" href="#78">78</a>                      <em class="comment">// could not load class correctly</em>
+<a name="79" href="#79">79</a>                      <em class="comment">// lets carry on to the next one</em>
+<a name="80" href="#80">80</a>                  }
+<a name="81" href="#81">81</a>              }
+<a name="82" href="#82">82</a>          }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          <strong>return</strong> result;
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <em>/**<em>*</em></em>
+<a name="88" href="#88">88</a>  <em>     * Sets the DOM {@link org.w3c.dom.Document}implementation class used by</em>
+<a name="89" href="#89">89</a>  <em>     * the writer when creating DOM documents.</em>
+<a name="90" href="#90">90</a>  <em>     * </em>
+<a name="91" href="#91">91</a>  <em>     * @param domDocumentClass</em>
+<a name="92" href="#92">92</a>  <em>     *            is the Class implementing the {@linkorg.w3c.dom.Document}</em>
+<a name="93" href="#93">93</a>  <em>     *            interface</em>
+<a name="94" href="#94">94</a>  <em>     */</em>
+<a name="95" href="#95">95</a>      <strong>public</strong> <strong>void</strong> setDomDocumentClass(Class domDocumentClass) {
+<a name="96" href="#96">96</a>          <strong>this</strong>.domDocumentClass = domDocumentClass;
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <em>/**<em>*</em></em>
+<a name="100" href="#100">100</a> <em>     * Sets the DOM {@link org.w3c.dom.Document}implementation class name used</em>
+<a name="101" href="#101">101</a> <em>     * by the writer when creating DOM documents.</em>
+<a name="102" href="#102">102</a> <em>     * </em>
+<a name="103" href="#103">103</a> <em>     * @param name</em>
+<a name="104" href="#104">104</a> <em>     *            is the name of the Class implementing the {@link</em>
+<a name="105" href="#105">105</a> <em>     *            org.w3c.dom.Document} interface</em>
+<a name="106" href="#106">106</a> <em>     * </em>
+<a name="107" href="#107">107</a> <em>     * @throws DocumentException</em>
+<a name="108" href="#108">108</a> <em>     *             if the class could not be loaded</em>
+<a name="109" href="#109">109</a> <em>     */</em>
+<a name="110" href="#110">110</a>     <strong>public</strong> <strong>void</strong> setDomDocumentClassName(String name) throws DocumentException {
+<a name="111" href="#111">111</a>         <strong>try</strong> {
+<a name="112" href="#112">112</a>             <strong>this</strong>.domDocumentClass = Class.forName(name, <strong>true</strong>, DOMWriter.<strong>class</strong>
+<a name="113" href="#113">113</a>                     .getClassLoader());
+<a name="114" href="#114">114</a>         } <strong>catch</strong> (Exception e) {
+<a name="115" href="#115">115</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(<span class="string">"Could not load the DOM Document "</span>
+<a name="116" href="#116">116</a>                     + <span class="string">"class: "</span> + name, e);
+<a name="117" href="#117">117</a>         }
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <strong>public</strong> org.w3c.dom.Document write(<a href="../../../org/dom4j/Document.html">Document</a> document)
+<a name="121" href="#121">121</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="122" href="#122">122</a>         <strong>if</strong> (document instanceof org.w3c.dom.Document) {
+<a name="123" href="#123">123</a>             <strong>return</strong> (org.w3c.dom.Document) document;
+<a name="124" href="#124">124</a>         }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>         resetNamespaceStack();
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         org.w3c.dom.Document domDocument = createDomDocument(document);
+<a name="129" href="#129">129</a>         appendDOMTree(domDocument, domDocument, document.content());
+<a name="130" href="#130">130</a>         namespaceStack.clear();
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         <strong>return</strong> domDocument;
+<a name="133" href="#133">133</a>     }
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>     <strong>public</strong> org.w3c.dom.Document write(<a href="../../../org/dom4j/Document.html">Document</a> document,
+<a name="136" href="#136">136</a>             org.w3c.dom.DOMImplementation domImpl) throws DocumentException {
+<a name="137" href="#137">137</a>         <strong>if</strong> (document instanceof org.w3c.dom.Document) {
+<a name="138" href="#138">138</a>             <strong>return</strong> (org.w3c.dom.Document) document;
+<a name="139" href="#139">139</a>         }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>         resetNamespaceStack();
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         org.w3c.dom.Document domDocument = createDomDocument(document, domImpl);
+<a name="144" href="#144">144</a>         appendDOMTree(domDocument, domDocument, document.content());
+<a name="145" href="#145">145</a>         namespaceStack.clear();
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>         <strong>return</strong> domDocument;
+<a name="148" href="#148">148</a>     }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>     <strong>protected</strong> <strong>void</strong> appendDOMTree(org.w3c.dom.Document domDocument,
+<a name="151" href="#151">151</a>             org.w3c.dom.Node domCurrent, List content) {
+<a name="152" href="#152">152</a>         <strong>int</strong> size = content.size();
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="155" href="#155">155</a>             Object object = content.get(i);
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>             <strong>if</strong> (object instanceof Element) {
+<a name="158" href="#158">158</a>                 appendDOMTree(domDocument, domCurrent, (Element) object);
+<a name="159" href="#159">159</a>             } <strong>else</strong> <strong>if</strong> (object instanceof String) {
+<a name="160" href="#160">160</a>                 appendDOMTree(domDocument, domCurrent, (String) object);
+<a name="161" href="#161">161</a>             } <strong>else</strong> <strong>if</strong> (object instanceof Text) {
+<a name="162" href="#162">162</a>                 <a href="../../../org/dom4j/Text.html">Text</a> text = (Text) object;
+<a name="163" href="#163">163</a>                 appendDOMTree(domDocument, domCurrent, text.getText());
+<a name="164" href="#164">164</a>             } <strong>else</strong> <strong>if</strong> (object instanceof CDATA) {
+<a name="165" href="#165">165</a>                 appendDOMTree(domDocument, domCurrent, (CDATA) object);
+<a name="166" href="#166">166</a>             } <strong>else</strong> <strong>if</strong> (object instanceof Comment) {
+<a name="167" href="#167">167</a>                 appendDOMTree(domDocument, domCurrent, (Comment) object);
+<a name="168" href="#168">168</a>             } <strong>else</strong> <strong>if</strong> (object instanceof Entity) {
+<a name="169" href="#169">169</a>                 appendDOMTree(domDocument, domCurrent, (Entity) object);
+<a name="170" href="#170">170</a>             } <strong>else</strong> <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="171" href="#171">171</a>                 appendDOMTree(domDocument, domCurrent,
+<a name="172" href="#172">172</a>                         (<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a>) object);
+<a name="173" href="#173">173</a>             }
+<a name="174" href="#174">174</a>         }
+<a name="175" href="#175">175</a>     }
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>     <strong>protected</strong> <strong>void</strong> appendDOMTree(org.w3c.dom.Document domDocument,
+<a name="178" href="#178">178</a>             org.w3c.dom.Node domCurrent, <a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="179" href="#179">179</a>         String elUri = element.getNamespaceURI();
+<a name="180" href="#180">180</a>         String elName = element.getQualifiedName();
+<a name="181" href="#181">181</a>         org.w3c.dom.Element domElement = domDocument.createElementNS(elUri,
+<a name="182" href="#182">182</a>                 elName);
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>         <strong>int</strong> stackSize = namespaceStack.size();
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>         <em class="comment">// add the namespace of the element first</em>
+<a name="187" href="#187">187</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> elementNamespace = element.getNamespace();
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>         <strong>if</strong> (isNamespaceDeclaration(elementNamespace)) {
+<a name="190" href="#190">190</a>             namespaceStack.push(elementNamespace);
+<a name="191" href="#191">191</a>             writeNamespace(domElement, elementNamespace);
+<a name="192" href="#192">192</a>         }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>         <em class="comment">// add the additional declared namespaces</em>
+<a name="195" href="#195">195</a>         List declaredNamespaces = element.declaredNamespaces();
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = declaredNamespaces.size(); i < size; i++) {
+<a name="198" href="#198">198</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) declaredNamespaces.get(i);
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>             <strong>if</strong> (isNamespaceDeclaration(namespace)) {
+<a name="201" href="#201">201</a>                 namespaceStack.push(namespace);
+<a name="202" href="#202">202</a>                 writeNamespace(domElement, namespace);
+<a name="203" href="#203">203</a>             }
+<a name="204" href="#204">204</a>         }
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>         <em class="comment">// add the attributes</em>
+<a name="207" href="#207">207</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = element.attributeCount(); i < size; i++) {
+<a name="208" href="#208">208</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) element.attribute(i);
+<a name="209" href="#209">209</a>             String attUri = attribute.getNamespaceURI();
+<a name="210" href="#210">210</a>             String attName = attribute.getQualifiedName();
+<a name="211" href="#211">211</a>             String value = attribute.getValue();
+<a name="212" href="#212">212</a>             domElement.setAttributeNS(attUri, attName, value);
+<a name="213" href="#213">213</a>         }
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>         <em class="comment">// add content</em>
+<a name="216" href="#216">216</a>         appendDOMTree(domDocument, domElement, element.content());
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>         domCurrent.appendChild(domElement);
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>         <strong>while</strong> (namespaceStack.size() > stackSize) {
+<a name="221" href="#221">221</a>             namespaceStack.pop();
+<a name="222" href="#222">222</a>         }
+<a name="223" href="#223">223</a>     }
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>     <strong>protected</strong> <strong>void</strong> appendDOMTree(org.w3c.dom.Document domDocument,
+<a name="226" href="#226">226</a>             org.w3c.dom.Node domCurrent, <a href="../../../org/dom4j/CDATA.html">CDATA</a> cdata) {
+<a name="227" href="#227">227</a>         org.w3c.dom.CDATASection domCDATA = domDocument
+<a name="228" href="#228">228</a>                 .createCDATASection(cdata.getText());
+<a name="229" href="#229">229</a>         domCurrent.appendChild(domCDATA);
+<a name="230" href="#230">230</a>     }
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>     <strong>protected</strong> <strong>void</strong> appendDOMTree(org.w3c.dom.Document domDocument,
+<a name="233" href="#233">233</a>             org.w3c.dom.Node domCurrent, <a href="../../../org/dom4j/Comment.html">Comment</a> comment) {
+<a name="234" href="#234">234</a>         org.w3c.dom.Comment domComment = domDocument.createComment(comment
+<a name="235" href="#235">235</a>                 .getText());
+<a name="236" href="#236">236</a>         domCurrent.appendChild(domComment);
+<a name="237" href="#237">237</a>     }
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>     <strong>protected</strong> <strong>void</strong> appendDOMTree(org.w3c.dom.Document domDocument,
+<a name="240" href="#240">240</a>             org.w3c.dom.Node domCurrent, String text) {
+<a name="241" href="#241">241</a>         org.w3c.dom.Text domText = domDocument.createTextNode(text);
+<a name="242" href="#242">242</a>         domCurrent.appendChild(domText);
+<a name="243" href="#243">243</a>     }
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>     <strong>protected</strong> <strong>void</strong> appendDOMTree(org.w3c.dom.Document domDocument,
+<a name="246" href="#246">246</a>             org.w3c.dom.Node domCurrent, <a href="../../../org/dom4j/Entity.html">Entity</a> entity) {
+<a name="247" href="#247">247</a>         org.w3c.dom.EntityReference domEntity = domDocument
+<a name="248" href="#248">248</a>                 .createEntityReference(entity.getName());
+<a name="249" href="#249">249</a>         domCurrent.appendChild(domEntity);
+<a name="250" href="#250">250</a>     }
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>     <strong>protected</strong> <strong>void</strong> appendDOMTree(org.w3c.dom.Document domDoc,
+<a name="253" href="#253">253</a>             org.w3c.dom.Node domCurrent, <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi) {
+<a name="254" href="#254">254</a>         org.w3c.dom.ProcessingInstruction domPI = domDoc
+<a name="255" href="#255">255</a>                 .createProcessingInstruction(pi.getTarget(), pi.getText());
+<a name="256" href="#256">256</a>         domCurrent.appendChild(domPI);
+<a name="257" href="#257">257</a>     }
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>     <strong>protected</strong> <strong>void</strong> writeNamespace(org.w3c.dom.Element domElement,
+<a name="260" href="#260">260</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="261" href="#261">261</a>         String attributeName = attributeNameForNamespace(namespace);
+<a name="262" href="#262">262</a> 
+<a name="263" href="#263">263</a>         <em class="comment">// domElement.setAttributeNS("", attributeName, namespace.getURI());</em>
+<a name="264" href="#264">264</a>         domElement.setAttribute(attributeName, namespace.getURI());
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <strong>protected</strong> String attributeNameForNamespace(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="268" href="#268">268</a>         String xmlns = <span class="string">"xmlns"</span>;
+<a name="269" href="#269">269</a>         String prefix = namespace.getPrefix();
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a>         <strong>if</strong> (prefix.length() > 0) {
+<a name="272" href="#272">272</a>             <strong>return</strong> xmlns + <span class="string">":"</span> + prefix;
+<a name="273" href="#273">273</a>         }
+<a name="274" href="#274">274</a> 
+<a name="275" href="#275">275</a>         <strong>return</strong> xmlns;
+<a name="276" href="#276">276</a>     }
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>     <strong>protected</strong> org.w3c.dom.Document createDomDocument(<a href="../../../org/dom4j/Document.html">Document</a> document)
+<a name="279" href="#279">279</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="280" href="#280">280</a>         org.w3c.dom.Document result = <strong>null</strong>;
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>         <em class="comment">// use the given domDocumentClass (if not null)</em>
+<a name="283" href="#283">283</a>         <strong>if</strong> (domDocumentClass != <strong>null</strong>) {
+<a name="284" href="#284">284</a>             <strong>try</strong> {
+<a name="285" href="#285">285</a>                 result = (org.w3c.dom.Document) domDocumentClass.newInstance();
+<a name="286" href="#286">286</a>             } <strong>catch</strong> (Exception e) {
+<a name="287" href="#287">287</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(
+<a name="288" href="#288">288</a>                         <span class="string">"Could not instantiate an instance "</span>
+<a name="289" href="#289">289</a>                                 + <span class="string">"of DOM Document with class: "</span>
+<a name="290" href="#290">290</a>                                 + domDocumentClass.getName(), e);
+<a name="291" href="#291">291</a>             }
+<a name="292" href="#292">292</a>         } <strong>else</strong> {
+<a name="293" href="#293">293</a>             <em class="comment">// lets try JAXP first before using the hardcoded default parsers</em>
+<a name="294" href="#294">294</a>             result = createDomDocumentViaJAXP();
+<a name="295" href="#295">295</a> 
+<a name="296" href="#296">296</a>             <strong>if</strong> (result == <strong>null</strong>) {
+<a name="297" href="#297">297</a>                 Class theClass = getDomDocumentClass();
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>                 <strong>try</strong> {
+<a name="300" href="#300">300</a>                     result = (org.w3c.dom.Document) theClass.newInstance();
+<a name="301" href="#301">301</a>                 } <strong>catch</strong> (Exception e) {
+<a name="302" href="#302">302</a>                     <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(<span class="string">"Could not instantiate an "</span>
+<a name="303" href="#303">303</a>                             + <span class="string">"instance of DOM Document "</span> + <span class="string">"with class: "</span>
+<a name="304" href="#304">304</a>                             + theClass.getName(), e);
+<a name="305" href="#305">305</a>                 }
+<a name="306" href="#306">306</a>             }
+<a name="307" href="#307">307</a>         }
+<a name="308" href="#308">308</a> 
+<a name="309" href="#309">309</a>         <strong>return</strong> result;
+<a name="310" href="#310">310</a>     }
+<a name="311" href="#311">311</a> 
+<a name="312" href="#312">312</a>     <strong>protected</strong> org.w3c.dom.Document createDomDocumentViaJAXP()
+<a name="313" href="#313">313</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="314" href="#314">314</a>         <strong>try</strong> {
+<a name="315" href="#315">315</a>             <strong>return</strong> JAXPHelper.createDocument(false, <strong>true</strong>);
+<a name="316" href="#316">316</a>         } <strong>catch</strong> (Throwable e) {
+<a name="317" href="#317">317</a>             <strong>if</strong> (!loggedWarning) {
+<a name="318" href="#318">318</a>                 loggedWarning = <strong>true</strong>;
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>                 <strong>if</strong> (SAXHelper.isVerboseErrorReporting()) {
+<a name="321" href="#321">321</a>                     <em class="comment">// log all exceptions as warnings and carry</em>
+<a name="322" href="#322">322</a>                     <em class="comment">// on as we have a default SAX parser we can use</em>
+<a name="323" href="#323">323</a>                     System.out.println(<span class="string">"Warning: Caught exception attempting "</span>
+<a name="324" href="#324">324</a>                             + <span class="string">"to use JAXP to create a W3C DOM "</span> + <span class="string">"document"</span>);
+<a name="325" href="#325">325</a>                     System.out.println(<span class="string">"Warning: Exception was: "</span> + e);
+<a name="326" href="#326">326</a>                     e.printStackTrace();
+<a name="327" href="#327">327</a>                 } <strong>else</strong> {
+<a name="328" href="#328">328</a>                     System.out.println(<span class="string">"Warning: Error occurred using JAXP to "</span>
+<a name="329" href="#329">329</a>                             + <span class="string">"create a DOM document."</span>);
+<a name="330" href="#330">330</a>                 }
+<a name="331" href="#331">331</a>             }
+<a name="332" href="#332">332</a>         }
+<a name="333" href="#333">333</a> 
+<a name="334" href="#334">334</a>         <strong>return</strong> <strong>null</strong>;
+<a name="335" href="#335">335</a>     }
+<a name="336" href="#336">336</a> 
+<a name="337" href="#337">337</a>     <strong>protected</strong> org.w3c.dom.Document createDomDocument(<a href="../../../org/dom4j/Document.html">Document</a> document,
+<a name="338" href="#338">338</a>             DOMImplementation domImpl) throws DocumentException {
+<a name="339" href="#339">339</a>         String namespaceURI = <strong>null</strong>;
+<a name="340" href="#340">340</a>         String qualifiedName = <strong>null</strong>;
+<a name="341" href="#341">341</a>         org.w3c.dom.DocumentType docType = <strong>null</strong>;
+<a name="342" href="#342">342</a> 
+<a name="343" href="#343">343</a>         <strong>return</strong> domImpl.createDocument(namespaceURI, qualifiedName, docType);
+<a name="344" href="#344">344</a>     }
+<a name="345" href="#345">345</a> 
+<a name="346" href="#346">346</a>     <strong>protected</strong> <strong>boolean</strong> isNamespaceDeclaration(<a href="../../../org/dom4j/Namespace.html">Namespace</a> ns) {
+<a name="347" href="#347">347</a>         <strong>if</strong> ((ns != <strong>null</strong>) && (ns != Namespace.NO_NAMESPACE)
+<a name="348" href="#348">348</a>                 && (ns != Namespace.XML_NAMESPACE)) {
+<a name="349" href="#349">349</a>             String uri = ns.getURI();
+<a name="350" href="#350">350</a> 
+<a name="351" href="#351">351</a>             <strong>if</strong> ((uri != <strong>null</strong>) && (uri.length() > 0)) {
+<a name="352" href="#352">352</a>                 <strong>if</strong> (!namespaceStack.contains(ns)) {
+<a name="353" href="#353">353</a>                     <strong>return</strong> <strong>true</strong>;
+<a name="354" href="#354">354</a>                 }
+<a name="355" href="#355">355</a>             }
+<a name="356" href="#356">356</a>         }
+<a name="357" href="#357">357</a> 
+<a name="358" href="#358">358</a>         <strong>return</strong> false;
+<a name="359" href="#359">359</a>     }
+<a name="360" href="#360">360</a> 
+<a name="361" href="#361">361</a>     <strong>protected</strong> <strong>void</strong> resetNamespaceStack() {
+<a name="362" href="#362">362</a>         namespaceStack.clear();
+<a name="363" href="#363">363</a>         namespaceStack.push(Namespace.XML_NAMESPACE);
+<a name="364" href="#364">364</a>     }
+<a name="365" href="#365">365</a> }
+<a name="366" href="#366">366</a> 
+<a name="367" href="#367">367</a> <em class="comment">/*</em>
+<a name="368" href="#368">368</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="369" href="#369">369</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="370" href="#370">370</a> <em class="comment"> * following conditions are met:</em>
+<a name="371" href="#371">371</a> <em class="comment"> * </em>
+<a name="372" href="#372">372</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="373" href="#373">373</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="374" href="#374">374</a> <em class="comment"> * </em>
+<a name="375" href="#375">375</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="376" href="#376">376</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="377" href="#377">377</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="378" href="#378">378</a> <em class="comment"> * </em>
+<a name="379" href="#379">379</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="380" href="#380">380</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="381" href="#381">381</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="382" href="#382">382</a> <em class="comment"> * </em>
+<a name="383" href="#383">383</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="384" href="#384">384</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="385" href="#385">385</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="386" href="#386">386</a> <em class="comment"> * </em>
+<a name="387" href="#387">387</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="388" href="#388">388</a> <em class="comment"> * </em>
+<a name="389" href="#389">389</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="390" href="#390">390</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="391" href="#391">391</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="392" href="#392">392</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="393" href="#393">393</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="394" href="#394">394</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="395" href="#395">395</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="396" href="#396">396</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="397" href="#397">397</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="398" href="#398">398</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="399" href="#399">399</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="400" href="#400">400</a> <em class="comment"> * </em>
+<a name="401" href="#401">401</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="402" href="#402">402</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/DispatchHandler.html b/docs/xref/org/dom4j/io/DispatchHandler.html
new file mode 100644
index 0000000..9692a35
--- /dev/null
+++ b/docs/xref/org/dom4j/io/DispatchHandler.html
@@ -0,0 +1,268 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DispatchHandler xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/DispatchHandler.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.HashMap;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Element;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.ElementPath;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <p></em>
+<a name="19" href="#19">19</a>  <em> * <code>DispatchHandler</code> implements the <code>ElementHandler</code></em>
+<a name="20" href="#20">20</a>  <em> * interface and provides a means to register multiple</em>
+<a name="21" href="#21">21</a>  <em> * <code>ElementHandler</code> instances to be used by an event based</em>
+<a name="22" href="#22">22</a>  <em> * processor. This is a special <code>ElementHandler</code> in that it's</em>
+<a name="23" href="#23">23</a>  <em> * <b>onStart </b> and <b>onEnd </b> implementation methods are called for every</em>
+<a name="24" href="#24">24</a>  <em> * element encountered during the parse. It then delegates to other</em>
+<a name="25" href="#25">25</a>  <em> * <code>ElementHandler</code> instances registered with it to process the</em>
+<a name="26" href="#26">26</a>  <em> * elements encountered.</em>
+<a name="27" href="#27">27</a>  <em> * </p></em>
+<a name="28" href="#28">28</a>  <em> * </em>
+<a name="29" href="#29">29</a>  <em> * @author <a href="<a href="mailto:dwhite at equipecom.com" target="alexandria_uri">mailto:dwhite at equipecom.com</a>">Dave White </a></em>
+<a name="30" href="#30">30</a>  <em> * @version $Revision: 1.11 $</em>
+<a name="31" href="#31">31</a>  <em> */</em>
+<a name="32" href="#32">32</a>  <strong>class</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> implements <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> {
+<a name="33" href="#33">33</a>      <em>/**<em>* Whether the parser is at the root element or not */</em></em>
+<a name="34" href="#34">34</a>      <strong>private</strong> <strong>boolean</strong> atRoot;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>* The current path in the XML tree (i.e. /a/b/c) */</em></em>
+<a name="37" href="#37">37</a>      <strong>private</strong> String path;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>* maintains a stack of previously encountered paths */</em></em>
+<a name="40" href="#40">40</a>      <strong>private</strong> ArrayList pathStack;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em>/**<em>* maintains a stack of previously encountered handlers */</em></em>
+<a name="43" href="#43">43</a>      <strong>private</strong> ArrayList handlerStack;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <em>/**<em>*</em></em>
+<a name="46" href="#46">46</a>  <em>     * <code>HashMap</code> maintains the mapping between element paths and</em>
+<a name="47" href="#47">47</a>  <em>     * handlers</em>
+<a name="48" href="#48">48</a>  <em>     */</em>
+<a name="49" href="#49">49</a>      <strong>private</strong> HashMap handlers;
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <em>/**<em>*</em></em>
+<a name="52" href="#52">52</a>  <em>     * <code>ElementHandler</code> to use by default for element paths with no</em>
+<a name="53" href="#53">53</a>  <em>     * handlers registered</em>
+<a name="54" href="#54">54</a>  <em>     */</em>
+<a name="55" href="#55">55</a>      <strong>private</strong> <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> defaultHandler;
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a>() {
+<a name="58" href="#58">58</a>          atRoot = <strong>true</strong>;
+<a name="59" href="#59">59</a>          path = <span class="string">"/"</span>;
+<a name="60" href="#60">60</a>          pathStack = <strong>new</strong> ArrayList();
+<a name="61" href="#61">61</a>          handlerStack = <strong>new</strong> ArrayList();
+<a name="62" href="#62">62</a>          handlers = <strong>new</strong> HashMap();
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <em>/**<em>*</em></em>
+<a name="66" href="#66">66</a>  <em>     * Adds the <code>ElementHandler</code> to be called when the specified</em>
+<a name="67" href="#67">67</a>  <em>     * path is encounted.</em>
+<a name="68" href="#68">68</a>  <em>     * </em>
+<a name="69" href="#69">69</a>  <em>     * @param handlerPath</em>
+<a name="70" href="#70">70</a>  <em>     *            is the path to be handled</em>
+<a name="71" href="#71">71</a>  <em>     * @param handler</em>
+<a name="72" href="#72">72</a>  <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="73" href="#73">73</a>  <em>     *            based processor.</em>
+<a name="74" href="#74">74</a>  <em>     */</em>
+<a name="75" href="#75">75</a>      <strong>public</strong> <strong>void</strong> addHandler(String handlerPath, <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler) {
+<a name="76" href="#76">76</a>          handlers.put(handlerPath, handler);
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <em>/**<em>*</em></em>
+<a name="80" href="#80">80</a>  <em>     * Removes the <code>ElementHandler</code> from the event based processor,</em>
+<a name="81" href="#81">81</a>  <em>     * for the specified path.</em>
+<a name="82" href="#82">82</a>  <em>     * </em>
+<a name="83" href="#83">83</a>  <em>     * @param handlerPath</em>
+<a name="84" href="#84">84</a>  <em>     *            is the path to remove the <code>ElementHandler</code> for.</em>
+<a name="85" href="#85">85</a>  <em>     * </em>
+<a name="86" href="#86">86</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="87" href="#87">87</a>  <em>     */</em>
+<a name="88" href="#88">88</a>      <strong>public</strong> <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> removeHandler(String handlerPath) {
+<a name="89" href="#89">89</a>          <strong>return</strong> (ElementHandler) handlers.remove(handlerPath);
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <em>/**<em>*</em></em>
+<a name="93" href="#93">93</a>  <em>     * DOCUMENT ME!</em>
+<a name="94" href="#94">94</a>  <em>     * </em>
+<a name="95" href="#95">95</a>  <em>     * @param handlerPath</em>
+<a name="96" href="#96">96</a>  <em>     *            DOCUMENT ME!</em>
+<a name="97" href="#97">97</a>  <em>     * </em>
+<a name="98" href="#98">98</a>  <em>     * @return true when an <code>ElementHandler</code> is registered for the</em>
+<a name="99" href="#99">99</a>  <em>     *         specified path.</em>
+<a name="100" href="#100">100</a> <em>     */</em>
+<a name="101" href="#101">101</a>     <strong>public</strong> <strong>boolean</strong> containsHandler(String handlerPath) {
+<a name="102" href="#102">102</a>         <strong>return</strong> handlers.containsKey(handlerPath);
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em>/**<em>*</em></em>
+<a name="106" href="#106">106</a> <em>     * Get the registered {@link ElementHandler}for the specified path.</em>
+<a name="107" href="#107">107</a> <em>     * </em>
+<a name="108" href="#108">108</a> <em>     * @param handlerPath</em>
+<a name="109" href="#109">109</a> <em>     *            XML path to get the handler for</em>
+<a name="110" href="#110">110</a> <em>     * </em>
+<a name="111" href="#111">111</a> <em>     * @return the registered handler</em>
+<a name="112" href="#112">112</a> <em>     */</em>
+<a name="113" href="#113">113</a>     <strong>public</strong> <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> getHandler(String handlerPath) {
+<a name="114" href="#114">114</a>         <strong>return</strong> (ElementHandler) handlers.get(handlerPath);
+<a name="115" href="#115">115</a>     }
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>     <em>/**<em>*</em></em>
+<a name="118" href="#118">118</a> <em>     * Returns the number of {@link ElementHandler}objects that are waiting for</em>
+<a name="119" href="#119">119</a> <em>     * their elements closing tag.</em>
+<a name="120" href="#120">120</a> <em>     * </em>
+<a name="121" href="#121">121</a> <em>     * @return number of active handlers</em>
+<a name="122" href="#122">122</a> <em>     */</em>
+<a name="123" href="#123">123</a>     <strong>public</strong> <strong>int</strong> getActiveHandlerCount() {
+<a name="124" href="#124">124</a>         <strong>return</strong> handlerStack.size();
+<a name="125" href="#125">125</a>     }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>     <em>/**<em>*</em></em>
+<a name="128" href="#128">128</a> <em>     * When multiple <code>ElementHandler</code> instances have been</em>
+<a name="129" href="#129">129</a> <em>     * registered, this will set a default <code>ElementHandler</code> to be</em>
+<a name="130" href="#130">130</a> <em>     * called for any path which does <b>NOT </b> have a handler registered.</em>
+<a name="131" href="#131">131</a> <em>     * </em>
+<a name="132" href="#132">132</a> <em>     * @param handler</em>
+<a name="133" href="#133">133</a> <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="134" href="#134">134</a> <em>     *            based processor.</em>
+<a name="135" href="#135">135</a> <em>     */</em>
+<a name="136" href="#136">136</a>     <strong>public</strong> <strong>void</strong> setDefaultHandler(<a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler) {
+<a name="137" href="#137">137</a>         defaultHandler = handler;
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <em>/**<em>*</em></em>
+<a name="141" href="#141">141</a> <em>     * Used to remove all the Element Handlers and return things back to the way</em>
+<a name="142" href="#142">142</a> <em>     * they were when object was created.</em>
+<a name="143" href="#143">143</a> <em>     */</em>
+<a name="144" href="#144">144</a>     <strong>public</strong> <strong>void</strong> resetHandlers() {
+<a name="145" href="#145">145</a>         atRoot = <strong>true</strong>;
+<a name="146" href="#146">146</a>         path = <span class="string">"/"</span>;
+<a name="147" href="#147">147</a>         pathStack.clear();
+<a name="148" href="#148">148</a>         handlerStack.clear();
+<a name="149" href="#149">149</a>         handlers.clear();
+<a name="150" href="#150">150</a>         defaultHandler = <strong>null</strong>;
+<a name="151" href="#151">151</a>     }
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>     <em>/**<em>*</em></em>
+<a name="154" href="#154">154</a> <em>     * DOCUMENT ME!</em>
+<a name="155" href="#155">155</a> <em>     * </em>
+<a name="156" href="#156">156</a> <em>     * @return the current path for the parse</em>
+<a name="157" href="#157">157</a> <em>     */</em>
+<a name="158" href="#158">158</a>     <strong>public</strong> String getPath() {
+<a name="159" href="#159">159</a>         <strong>return</strong> path;
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <em class="comment">// The following methods implement the ElementHandler interface</em>
+<a name="163" href="#163">163</a>     <strong>public</strong> <strong>void</strong> onStart(<a href="../../../org/dom4j/ElementPath.html">ElementPath</a> elementPath) {
+<a name="164" href="#164">164</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = elementPath.getCurrent();
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>         <em class="comment">// Save the location of the last (i.e. parent) path</em>
+<a name="167" href="#167">167</a>         pathStack.add(path);
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>         <em class="comment">// Calculate the new path</em>
+<a name="170" href="#170">170</a>         <strong>if</strong> (atRoot) {
+<a name="171" href="#171">171</a>             path = path + element.getName();
+<a name="172" href="#172">172</a>             atRoot = false;
+<a name="173" href="#173">173</a>         } <strong>else</strong> {
+<a name="174" href="#174">174</a>             path = path + <span class="string">"/"</span> + element.getName();
+<a name="175" href="#175">175</a>         }
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>         <strong>if</strong> ((handlers != <strong>null</strong>) && (handlers.containsKey(path))) {
+<a name="178" href="#178">178</a>             <em class="comment">// The current node has a handler associated with it.</em>
+<a name="179" href="#179">179</a>             <em class="comment">// Find the handler and save it on the handler stack.</em>
+<a name="180" href="#180">180</a>             <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler = (ElementHandler) handlers.get(path);
+<a name="181" href="#181">181</a>             handlerStack.add(handler);
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>             <em class="comment">// Call the handlers onStart method.</em>
+<a name="184" href="#184">184</a>             handler.onStart(elementPath);
+<a name="185" href="#185">185</a>         } <strong>else</strong> {
+<a name="186" href="#186">186</a>             <em class="comment">// No handler is associated with this node, so use the</em>
+<a name="187" href="#187">187</a>             <em class="comment">// defaultHandler it it exists.</em>
+<a name="188" href="#188">188</a>             <strong>if</strong> (handlerStack.isEmpty() && (defaultHandler != <strong>null</strong>)) {
+<a name="189" href="#189">189</a>                 defaultHandler.onStart(elementPath);
+<a name="190" href="#190">190</a>             }
+<a name="191" href="#191">191</a>         }
+<a name="192" href="#192">192</a>     }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>     <strong>public</strong> <strong>void</strong> onEnd(<a href="../../../org/dom4j/ElementPath.html">ElementPath</a> elementPath) {
+<a name="195" href="#195">195</a>         <strong>if</strong> ((handlers != <strong>null</strong>) && (handlers.containsKey(path))) {
+<a name="196" href="#196">196</a>             <em class="comment">// This node has a handler associated with it.</em>
+<a name="197" href="#197">197</a>             <em class="comment">// Find the handler and pop it from the handler stack.</em>
+<a name="198" href="#198">198</a>             <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler = (ElementHandler) handlers.get(path);
+<a name="199" href="#199">199</a>             handlerStack.remove(handlerStack.size() - 1);
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>             <em class="comment">// Call the handlers onEnd method</em>
+<a name="202" href="#202">202</a>             handler.onEnd(elementPath);
+<a name="203" href="#203">203</a>         } <strong>else</strong> {
+<a name="204" href="#204">204</a>             <em class="comment">// No handler is associated with this node, so use the</em>
+<a name="205" href="#205">205</a>             <em class="comment">// defaultHandler it it exists.</em>
+<a name="206" href="#206">206</a>             <strong>if</strong> (handlerStack.isEmpty() && (defaultHandler != <strong>null</strong>)) {
+<a name="207" href="#207">207</a>                 defaultHandler.onEnd(elementPath);
+<a name="208" href="#208">208</a>             }
+<a name="209" href="#209">209</a>         }
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>         <em class="comment">// Set path back to its parent</em>
+<a name="212" href="#212">212</a>         path = (String) pathStack.remove(pathStack.size() - 1);
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>         <strong>if</strong> (pathStack.size() == 0) {
+<a name="215" href="#215">215</a>             atRoot = <strong>true</strong>;
+<a name="216" href="#216">216</a>         }
+<a name="217" href="#217">217</a>     }
+<a name="218" href="#218">218</a> }
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a> <em class="comment">/*</em>
+<a name="221" href="#221">221</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="222" href="#222">222</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="223" href="#223">223</a> <em class="comment"> * following conditions are met:</em>
+<a name="224" href="#224">224</a> <em class="comment"> * </em>
+<a name="225" href="#225">225</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="226" href="#226">226</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="227" href="#227">227</a> <em class="comment"> * </em>
+<a name="228" href="#228">228</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="229" href="#229">229</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="230" href="#230">230</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="231" href="#231">231</a> <em class="comment"> * </em>
+<a name="232" href="#232">232</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="233" href="#233">233</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="234" href="#234">234</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="235" href="#235">235</a> <em class="comment"> * </em>
+<a name="236" href="#236">236</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="237" href="#237">237</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="238" href="#238">238</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="239" href="#239">239</a> <em class="comment"> * </em>
+<a name="240" href="#240">240</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="241" href="#241">241</a> <em class="comment"> * </em>
+<a name="242" href="#242">242</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="243" href="#243">243</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="244" href="#244">244</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="245" href="#245">245</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="246" href="#246">246</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="247" href="#247">247</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="248" href="#248">248</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="249" href="#249">249</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="250" href="#250">250</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="251" href="#251">251</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="252" href="#252">252</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="253" href="#253">253</a> <em class="comment"> * </em>
+<a name="254" href="#254">254</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="255" href="#255">255</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/DocumentInputSource.html b/docs/xref/org/dom4j/io/DocumentInputSource.html
new file mode 100644
index 0000000..c1b4800
--- /dev/null
+++ b/docs/xref/org/dom4j/io/DocumentInputSource.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocumentInputSource xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/DocumentInputSource.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Reader;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringReader;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.StringWriter;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Document;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * <code>DocumentInputSource</code> implements a SAX {@link InputSource}for a</em>
+<a name="22" href="#22">22</a>  <em> * {@link Document}.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>class</strong> <a href="../../../org/dom4j/io/DocumentInputSource.html">DocumentInputSource</a> <strong>extends</strong> InputSource {
+<a name="29" href="#29">29</a>      <em>/**<em>* The document source */</em></em>
+<a name="30" href="#30">30</a>      <strong>private</strong> <a href="../../../org/dom4j/Document.html">Document</a> document;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DocumentInputSource.html">DocumentInputSource</a>() {
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DocumentInputSource.html">DocumentInputSource</a>(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="36" href="#36">36</a>          <strong>this</strong>.document = document;
+<a name="37" href="#37">37</a>          setSystemId(document.getName());
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em class="comment">// Properties</em>
+<a name="41" href="#41">41</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>*</em></em>
+<a name="44" href="#44">44</a>  <em>     * DOCUMENT ME!</em>
+<a name="45" href="#45">45</a>  <em>     * </em>
+<a name="46" href="#46">46</a>  <em>     * @return the document which is being used as the SAX {@link InputSource}</em>
+<a name="47" href="#47">47</a>  <em>     */</em>
+<a name="48" href="#48">48</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getDocument() {
+<a name="49" href="#49">49</a>          <strong>return</strong> document;
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <em>/**<em>*</em></em>
+<a name="53" href="#53">53</a>  <em>     * Sets the document used as the SAX {@link InputSource}</em>
+<a name="54" href="#54">54</a>  <em>     * </em>
+<a name="55" href="#55">55</a>  <em>     * @param document</em>
+<a name="56" href="#56">56</a>  <em>     *            DOCUMENT ME!</em>
+<a name="57" href="#57">57</a>  <em>     */</em>
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> setDocument(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="59" href="#59">59</a>          <strong>this</strong>.document = document;
+<a name="60" href="#60">60</a>          setSystemId(document.getName());
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <em class="comment">// Overloaded methods</em>
+<a name="64" href="#64">64</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <em>/**<em>*</em></em>
+<a name="67" href="#67">67</a>  <em>     * This method is not supported as this source is always a {@linkDocument}</em>
+<a name="68" href="#68">68</a>  <em>     * instance.</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @param characterStream</em>
+<a name="71" href="#71">71</a>  <em>     *            DOCUMENT ME!</em>
+<a name="72" href="#72">72</a>  <em>     * </em>
+<a name="73" href="#73">73</a>  <em>     * @throws UnsupportedOperationException</em>
+<a name="74" href="#74">74</a>  <em>     *             as this method is unsupported</em>
+<a name="75" href="#75">75</a>  <em>     */</em>
+<a name="76" href="#76">76</a>      <strong>public</strong> <strong>void</strong> setCharacterStream(Reader characterStream)
+<a name="77" href="#77">77</a>              throws UnsupportedOperationException {
+<a name="78" href="#78">78</a>          <strong>throw</strong> <strong>new</strong> UnsupportedOperationException();
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <em>/**<em>*</em></em>
+<a name="82" href="#82">82</a>  <em>     * Note this method is quite inefficent, it turns the in memory XML tree</em>
+<a name="83" href="#83">83</a>  <em>     * object model into a single block of text which can then be read by other</em>
+<a name="84" href="#84">84</a>  <em>     * XML parsers. Should only be used with care.</em>
+<a name="85" href="#85">85</a>  <em>     * </em>
+<a name="86" href="#86">86</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="87" href="#87">87</a>  <em>     */</em>
+<a name="88" href="#88">88</a>      <strong>public</strong> Reader getCharacterStream() {
+<a name="89" href="#89">89</a>          <strong>try</strong> {
+<a name="90" href="#90">90</a>              StringWriter out = <strong>new</strong> StringWriter();
+<a name="91" href="#91">91</a>              <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> writer = <strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(out);
+<a name="92" href="#92">92</a>              writer.write(document);
+<a name="93" href="#93">93</a>              writer.flush();
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>              <strong>return</strong> <strong>new</strong> StringReader(out.toString());
+<a name="96" href="#96">96</a>          } <strong>catch</strong> (<strong>final</strong> IOException e) {
+<a name="97" href="#97">97</a>              <em class="comment">// this should never really happen</em>
+<a name="98" href="#98">98</a>              <em class="comment">// but for completeness we'll return a Reader</em>
+<a name="99" href="#99">99</a>              <em class="comment">// with the embedded exception inside it</em>
+<a name="100" href="#100">100</a>             <strong>return</strong> <strong>new</strong> Reader() {
+<a name="101" href="#101">101</a>                 <strong>public</strong> <strong>int</strong> read(<strong>char</strong>[] ch, <strong>int</strong> offset, <strong>int</strong> length)
+<a name="102" href="#102">102</a>                         throws IOException {
+<a name="103" href="#103">103</a>                     <strong>throw</strong> e;
+<a name="104" href="#104">104</a>                 }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>                 <strong>public</strong> <strong>void</strong> close() throws IOException {
+<a name="107" href="#107">107</a>                 }
+<a name="108" href="#108">108</a>             };
+<a name="109" href="#109">109</a>         }
+<a name="110" href="#110">110</a>     }
+<a name="111" href="#111">111</a> }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a> <em class="comment">/*</em>
+<a name="114" href="#114">114</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="115" href="#115">115</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="116" href="#116">116</a> <em class="comment"> * following conditions are met:</em>
+<a name="117" href="#117">117</a> <em class="comment"> * </em>
+<a name="118" href="#118">118</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="119" href="#119">119</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="120" href="#120">120</a> <em class="comment"> * </em>
+<a name="121" href="#121">121</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="122" href="#122">122</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="123" href="#123">123</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="124" href="#124">124</a> <em class="comment"> * </em>
+<a name="125" href="#125">125</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="126" href="#126">126</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="127" href="#127">127</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="128" href="#128">128</a> <em class="comment"> * </em>
+<a name="129" href="#129">129</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="130" href="#130">130</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="131" href="#131">131</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="132" href="#132">132</a> <em class="comment"> * </em>
+<a name="133" href="#133">133</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="136" href="#136">136</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="137" href="#137">137</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="138" href="#138">138</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="139" href="#139">139</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="140" href="#140">140</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="141" href="#141">141</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="142" href="#142">142</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="143" href="#143">143</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="144" href="#144">144</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="145" href="#145">145</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="146" href="#146">146</a> <em class="comment"> * </em>
+<a name="147" href="#147">147</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="148" href="#148">148</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/DocumentResult.html b/docs/xref/org/dom4j/io/DocumentResult.html
new file mode 100644
index 0000000..2ea242b
--- /dev/null
+++ b/docs/xref/org/dom4j/io/DocumentResult.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocumentResult xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/DocumentResult.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> javax.xml.transform.sax.SAXResult;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Document;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.xml.sax.ContentHandler;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.xml.sax.ext.LexicalHandler;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <p></em>
+<a name="19" href="#19">19</a>  <em> * <code>DocumentResult</code> implements a JAXP {@link SAXResult}for a</em>
+<a name="20" href="#20">20</a>  <em> * {@link Document}.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/DocumentResult.html">DocumentResult</a> <strong>extends</strong> SAXResult {
+<a name="27" href="#27">27</a>      <strong>private</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a> contentHandler;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DocumentResult.html">DocumentResult</a>() {
+<a name="30" href="#30">30</a>          <strong>this</strong>(<strong>new</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a>());
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DocumentResult.html">DocumentResult</a>(<a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a> contentHandler) {
+<a name="34" href="#34">34</a>          <strong>this</strong>.contentHandler = contentHandler;
+<a name="35" href="#35">35</a>          <strong>super</strong>.setHandler(<strong>this</strong>.contentHandler);
+<a name="36" href="#36">36</a>          <strong>super</strong>.setLexicalHandler(<strong>this</strong>.contentHandler);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>*</em></em>
+<a name="40" href="#40">40</a>  <em>     * DOCUMENT ME!</em>
+<a name="41" href="#41">41</a>  <em>     * </em>
+<a name="42" href="#42">42</a>  <em>     * @return the Document created by the transformation</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getDocument() {
+<a name="45" href="#45">45</a>          <strong>return</strong> contentHandler.getDocument();
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <em class="comment">// Overloaded methods</em>
+<a name="49" href="#49">49</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="50" href="#50">50</a>      <strong>public</strong> <strong>void</strong> setHandler(ContentHandler handler) {
+<a name="51" href="#51">51</a>          <strong>if</strong> (handler instanceof SAXContentHandler) {
+<a name="52" href="#52">52</a>              <strong>this</strong>.contentHandler = (SAXContentHandler) handler;
+<a name="53" href="#53">53</a>              <strong>super</strong>.setHandler(<strong>this</strong>.contentHandler);
+<a name="54" href="#54">54</a>          }
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> setLexicalHandler(LexicalHandler handler) {
+<a name="58" href="#58">58</a>          <strong>if</strong> (handler instanceof SAXContentHandler) {
+<a name="59" href="#59">59</a>              <strong>this</strong>.contentHandler = (SAXContentHandler) handler;
+<a name="60" href="#60">60</a>              <strong>super</strong>.setLexicalHandler(<strong>this</strong>.contentHandler);
+<a name="61" href="#61">61</a>          }
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>  <em class="comment">/*</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * following conditions are met:</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * </em>
+<a name="99" href="#99">99</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="100" href="#100">100</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/DocumentSource.html b/docs/xref/org/dom4j/io/DocumentSource.html
new file mode 100644
index 0000000..0cfe37c
--- /dev/null
+++ b/docs/xref/org/dom4j/io/DocumentSource.html
@@ -0,0 +1,197 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocumentSource xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/DocumentSource.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> javax.xml.transform.sax.SAXSource;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Document;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Node;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.xml.sax.XMLFilter;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * <code>DocumentSource</code> implements a JAXP {@link SAXSource}for a</em>
+<a name="22" href="#22">22</a>  <em> * {@linkDocument}.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/DocumentSource.html">DocumentSource</a> <strong>extends</strong> SAXSource {
+<a name="29" href="#29">29</a>      <em>/**<em>*</em></em>
+<a name="30" href="#30">30</a>  <em>     * If {@link javax.xml.transform.TransformerFactory#getFeature}returns</em>
+<a name="31" href="#31">31</a>  <em>     * <code>true</code> when passed this value as an argument then the</em>
+<a name="32" href="#32">32</a>  <em>     * Transformer natively supports <i>dom4j </i>.</em>
+<a name="33" href="#33">33</a>  <em>     */</em>
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> String DOM4J_FEATURE 
+<a name="35" href="#35">35</a>              = <span class="string">"http://org.dom4j.io.DoucmentSource/feature"</span>;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>* The XMLReader to use */</em></em>
+<a name="38" href="#38">38</a>      <strong>private</strong> XMLReader xmlReader = <strong>new</strong> <a href="../../../org/dom4j/io/SAXWriter.html">SAXWriter</a>();
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * Creates a JAXP {@link SAXSource}for the given {@link Node}.</em>
+<a name="42" href="#42">42</a>  <em>     * </em>
+<a name="43" href="#43">43</a>  <em>     * @param node</em>
+<a name="44" href="#44">44</a>  <em>     *            DOCUMENT ME!</em>
+<a name="45" href="#45">45</a>  <em>     */</em>
+<a name="46" href="#46">46</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DocumentSource.html">DocumentSource</a>(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="47" href="#47">47</a>          setDocument(node.getDocument());
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
+<a name="51" href="#51">51</a>  <em>     * Creates a JAXP {@link SAXSource}for the given {@link Document}.</em>
+<a name="52" href="#52">52</a>  <em>     * </em>
+<a name="53" href="#53">53</a>  <em>     * @param document</em>
+<a name="54" href="#54">54</a>  <em>     *            DOCUMENT ME!</em>
+<a name="55" href="#55">55</a>  <em>     */</em>
+<a name="56" href="#56">56</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DocumentSource.html">DocumentSource</a>(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="57" href="#57">57</a>          setDocument(document);
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <em class="comment">// Properties</em>
+<a name="61" href="#61">61</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <em>/**<em>*</em></em>
+<a name="64" href="#64">64</a>  <em>     * DOCUMENT ME!</em>
+<a name="65" href="#65">65</a>  <em>     * </em>
+<a name="66" href="#66">66</a>  <em>     * @return the document which is being used as the JAXP {@link SAXSource}</em>
+<a name="67" href="#67">67</a>  <em>     */</em>
+<a name="68" href="#68">68</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getDocument() {
+<a name="69" href="#69">69</a>          <a href="../../../org/dom4j/io/DocumentInputSource.html">DocumentInputSource</a> source = (DocumentInputSource) getInputSource();
+<a name="70" href="#70">70</a>          <strong>return</strong> source.getDocument();
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <em>/**<em>*</em></em>
+<a name="74" href="#74">74</a>  <em>     * Sets the document used as the JAXP {@link SAXSource}</em>
+<a name="75" href="#75">75</a>  <em>     * </em>
+<a name="76" href="#76">76</a>  <em>     * @param document</em>
+<a name="77" href="#77">77</a>  <em>     *            DOCUMENT ME!</em>
+<a name="78" href="#78">78</a>  <em>     */</em>
+<a name="79" href="#79">79</a>      <strong>public</strong> <strong>void</strong> setDocument(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="80" href="#80">80</a>          <strong>super</strong>.setInputSource(<strong>new</strong> <a href="../../../org/dom4j/io/DocumentInputSource.html">DocumentInputSource</a>(document));
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <em class="comment">// Overloaded methods</em>
+<a name="84" href="#84">84</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <em>/**<em>*</em></em>
+<a name="87" href="#87">87</a>  <em>     * DOCUMENT ME!</em>
+<a name="88" href="#88">88</a>  <em>     * </em>
+<a name="89" href="#89">89</a>  <em>     * @return the XMLReader to be used for the JAXP {@link SAXSource}.</em>
+<a name="90" href="#90">90</a>  <em>     */</em>
+<a name="91" href="#91">91</a>      <strong>public</strong> XMLReader getXMLReader() {
+<a name="92" href="#92">92</a>          <strong>return</strong> xmlReader;
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <em>/**<em>*</em></em>
+<a name="96" href="#96">96</a>  <em>     * This method is not supported as this source is always a {@linkDocument}</em>
+<a name="97" href="#97">97</a>  <em>     * instance.</em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     * @param inputSource</em>
+<a name="100" href="#100">100</a> <em>     *            DOCUMENT ME!</em>
+<a name="101" href="#101">101</a> <em>     * </em>
+<a name="102" href="#102">102</a> <em>     * @throws UnsupportedOperationException</em>
+<a name="103" href="#103">103</a> <em>     *             as this method is unsupported</em>
+<a name="104" href="#104">104</a> <em>     */</em>
+<a name="105" href="#105">105</a>     <strong>public</strong> <strong>void</strong> setInputSource(InputSource inputSource)
+<a name="106" href="#106">106</a>             throws UnsupportedOperationException {
+<a name="107" href="#107">107</a>         <strong>if</strong> (inputSource instanceof DocumentInputSource) {
+<a name="108" href="#108">108</a>             <strong>super</strong>.setInputSource((DocumentInputSource) inputSource);
+<a name="109" href="#109">109</a>         } <strong>else</strong> {
+<a name="110" href="#110">110</a>             <strong>throw</strong> <strong>new</strong> UnsupportedOperationException();
+<a name="111" href="#111">111</a>         }
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <em>/**<em>*</em></em>
+<a name="115" href="#115">115</a> <em>     * Sets the XMLReader used for the JAXP {@link SAXSource}.</em>
+<a name="116" href="#116">116</a> <em>     * </em>
+<a name="117" href="#117">117</a> <em>     * @param reader</em>
+<a name="118" href="#118">118</a> <em>     *            DOCUMENT ME!</em>
+<a name="119" href="#119">119</a> <em>     * </em>
+<a name="120" href="#120">120</a> <em>     * @throws UnsupportedOperationException</em>
+<a name="121" href="#121">121</a> <em>     *             DOCUMENT ME!</em>
+<a name="122" href="#122">122</a> <em>     */</em>
+<a name="123" href="#123">123</a>     <strong>public</strong> <strong>void</strong> setXMLReader(XMLReader reader)
+<a name="124" href="#124">124</a>             throws UnsupportedOperationException {
+<a name="125" href="#125">125</a>         <strong>if</strong> (reader instanceof SAXWriter) {
+<a name="126" href="#126">126</a>             <strong>this</strong>.xmlReader = (SAXWriter) reader;
+<a name="127" href="#127">127</a>         } <strong>else</strong> <strong>if</strong> (reader instanceof XMLFilter) {
+<a name="128" href="#128">128</a>             XMLFilter filter = (XMLFilter) reader;
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>             <strong>while</strong> (<strong>true</strong>) {
+<a name="131" href="#131">131</a>                 XMLReader parent = filter.getParent();
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>                 <strong>if</strong> (parent instanceof XMLFilter) {
+<a name="134" href="#134">134</a>                     filter = (XMLFilter) parent;
+<a name="135" href="#135">135</a>                 } <strong>else</strong> {
+<a name="136" href="#136">136</a>                     <strong>break</strong>;
+<a name="137" href="#137">137</a>                 }
+<a name="138" href="#138">138</a>             }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>             <em class="comment">// install filter in SAXWriter....</em>
+<a name="141" href="#141">141</a>             filter.setParent(xmlReader);
+<a name="142" href="#142">142</a>             xmlReader = filter;
+<a name="143" href="#143">143</a>         } <strong>else</strong> {
+<a name="144" href="#144">144</a>             <strong>throw</strong> <strong>new</strong> UnsupportedOperationException();
+<a name="145" href="#145">145</a>         }
+<a name="146" href="#146">146</a>     }
+<a name="147" href="#147">147</a> }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a> <em class="comment">/*</em>
+<a name="150" href="#150">150</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="151" href="#151">151</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="152" href="#152">152</a> <em class="comment"> * following conditions are met:</em>
+<a name="153" href="#153">153</a> <em class="comment"> * </em>
+<a name="154" href="#154">154</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="155" href="#155">155</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="156" href="#156">156</a> <em class="comment"> * </em>
+<a name="157" href="#157">157</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="158" href="#158">158</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="159" href="#159">159</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="160" href="#160">160</a> <em class="comment"> * </em>
+<a name="161" href="#161">161</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="162" href="#162">162</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="163" href="#163">163</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="164" href="#164">164</a> <em class="comment"> * </em>
+<a name="165" href="#165">165</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="166" href="#166">166</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="167" href="#167">167</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="168" href="#168">168</a> <em class="comment"> * </em>
+<a name="169" href="#169">169</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="170" href="#170">170</a> <em class="comment"> * </em>
+<a name="171" href="#171">171</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="172" href="#172">172</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="173" href="#173">173</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="174" href="#174">174</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="175" href="#175">175</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="176" href="#176">176</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="177" href="#177">177</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="178" href="#178">178</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="179" href="#179">179</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="180" href="#180">180</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="181" href="#181">181</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="182" href="#182">182</a> <em class="comment"> * </em>
+<a name="183" href="#183">183</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="184" href="#184">184</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/ElementModifier.html b/docs/xref/org/dom4j/io/ElementModifier.html
new file mode 100644
index 0000000..2cdd0d1
--- /dev/null
+++ b/docs/xref/org/dom4j/io/ElementModifier.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementModifier xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/ElementModifier.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * ElementModifier defines a modifier of {@link org.dom4j.Element}objects. <br></em>
+<a name="14" href="#14">14</a>  <em> * It can be used in the event based {@link org.dom4j.io.SAXModifier}, in order</em>
+<a name="15" href="#15">15</a>  <em> * to modify elements on the fly, rather than waiting until the complete</em>
+<a name="16" href="#16">16</a>  <em> * document is parsed.</em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>interface</strong> <a href="../../../org/dom4j/io/ElementModifier.html">ElementModifier</a> {
+<a name="21" href="#21">21</a>      <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em>     * Called by an event based processor when an elements closing tag is</em>
+<a name="23" href="#23">23</a>  <em>     * encountered. This method must return the modified version of the provided</em>
+<a name="24" href="#24">24</a>  <em>     * {@link org.dom4j.Element}or null if it has to be removed from the</em>
+<a name="25" href="#25">25</a>  <em>     * document. <br></em>
+<a name="26" href="#26">26</a>  <em>     * The incoming {@link org.dom4j.Element}is disconnected from the DOM4J</em>
+<a name="27" href="#27">27</a>  <em>     * tree. This means that navigation to the elements parent {@link</em>
+<a name="28" href="#28">28</a>  <em>     * org.dom4j.Element} and {@link org.dom4j.Document}are not available. Only</em>
+<a name="29" href="#29">29</a>  <em>     * the element itself can be modified!</em>
+<a name="30" href="#30">30</a>  <em>     * </em>
+<a name="31" href="#31">31</a>  <em>     * @param element</em>
+<a name="32" href="#32">32</a>  <em>     *            {@link org.dom4j.Element}to be parsed</em>
+<a name="33" href="#33">33</a>  <em>     * </em>
+<a name="34" href="#34">34</a>  <em>     * @return the modified {@link org.dom4j.Element}</em>
+<a name="35" href="#35">35</a>  <em>     * </em>
+<a name="36" href="#36">36</a>  <em>     * @throws Exception</em>
+<a name="37" href="#37">37</a>  <em>     *             of any kind</em>
+<a name="38" href="#38">38</a>  <em>     */</em>
+<a name="39" href="#39">39</a>      <a href="../../../org/dom4j/Element.html">Element</a> modifyElement(<a href="../../../org/dom4j/Element.html">Element</a> element) throws Exception;
+<a name="40" href="#40">40</a>  }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>  <em class="comment">/*</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * following conditions are met:</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * </em>
+<a name="47" href="#47">47</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * </em>
+<a name="50" href="#50">50</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/ElementStack.html b/docs/xref/org/dom4j/io/ElementStack.html
new file mode 100644
index 0000000..1cc890c
--- /dev/null
+++ b/docs/xref/org/dom4j/io/ElementStack.html
@@ -0,0 +1,231 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementStack xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/ElementStack.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.ElementPath;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>ElementStack</code> is used internally inside the {@link</em>
+<a name="17" href="#17">17</a>  <em> * SAXContentHandler} to maintain a stack of {@link Element}instances. It opens</em>
+<a name="18" href="#18">18</a>  <em> * an integration possibility allowing derivations to prune the tree when a node</em>
+<a name="19" href="#19">19</a>  <em> * is complete.</em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.14 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>class</strong> <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a> implements <a href="../../../org/dom4j/ElementPath.html">ElementPath</a> {
+<a name="26" href="#26">26</a>      <em>/**<em>* stack of <code>Element</code> objects */</em></em>
+<a name="27" href="#27">27</a>      <strong>protected</strong> <a href="../../../org/dom4j/Element.html">Element</a>[] stack;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em>/**<em>* index of the item at the top of the stack or -1 if the stack is empty */</em></em>
+<a name="30" href="#30">30</a>      <strong>protected</strong> <strong>int</strong> lastElementIndex = -1;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>private</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> handler = <strong>null</strong>;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a>() {
+<a name="35" href="#35">35</a>          <strong>this</strong>(50);
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a>(<strong>int</strong> defaultCapacity) {
+<a name="39" href="#39">39</a>          stack = <strong>new</strong> <a href="../../../org/dom4j/Element.html">Element</a>[defaultCapacity];
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> setDispatchHandler(<a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> dispatchHandler) {
+<a name="43" href="#43">43</a>          <strong>this</strong>.handler = dispatchHandler;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> getDispatchHandler() {
+<a name="47" href="#47">47</a>          <strong>return</strong> <strong>this</strong>.handler;
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
+<a name="51" href="#51">51</a>  <em>     * Peeks at the top element on the stack without changing the contents of</em>
+<a name="52" href="#52">52</a>  <em>     * the stack.</em>
+<a name="53" href="#53">53</a>  <em>     */</em>
+<a name="54" href="#54">54</a>      <strong>public</strong> <strong>void</strong> clear() {
+<a name="55" href="#55">55</a>          lastElementIndex = -1;
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <em>/**<em>*</em></em>
+<a name="59" href="#59">59</a>  <em>     * Peeks at the top element on the stack without changing the contents of</em>
+<a name="60" href="#60">60</a>  <em>     * the stack.</em>
+<a name="61" href="#61">61</a>  <em>     * </em>
+<a name="62" href="#62">62</a>  <em>     * @return the current element on the stack</em>
+<a name="63" href="#63">63</a>  <em>     */</em>
+<a name="64" href="#64">64</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> peekElement() {
+<a name="65" href="#65">65</a>          <strong>if</strong> (lastElementIndex < 0) {
+<a name="66" href="#66">66</a>              <strong>return</strong> <strong>null</strong>;
+<a name="67" href="#67">67</a>          }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          <strong>return</strong> stack[lastElementIndex];
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <em>/**<em>*</em></em>
+<a name="73" href="#73">73</a>  <em>     * Pops the element off the stack</em>
+<a name="74" href="#74">74</a>  <em>     * </em>
+<a name="75" href="#75">75</a>  <em>     * @return the element that has just been popped off the stack</em>
+<a name="76" href="#76">76</a>  <em>     */</em>
+<a name="77" href="#77">77</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> popElement() {
+<a name="78" href="#78">78</a>          <strong>if</strong> (lastElementIndex < 0) {
+<a name="79" href="#79">79</a>              <strong>return</strong> <strong>null</strong>;
+<a name="80" href="#80">80</a>          }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          <strong>return</strong> stack[lastElementIndex--];
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <em>/**<em>*</em></em>
+<a name="86" href="#86">86</a>  <em>     * Pushes a new element onto the stack</em>
+<a name="87" href="#87">87</a>  <em>     * </em>
+<a name="88" href="#88">88</a>  <em>     * @param element</em>
+<a name="89" href="#89">89</a>  <em>     *            DOCUMENT ME!</em>
+<a name="90" href="#90">90</a>  <em>     */</em>
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>void</strong> pushElement(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="92" href="#92">92</a>          <strong>int</strong> length = stack.length;
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>          <strong>if</strong> (++lastElementIndex >= length) {
+<a name="95" href="#95">95</a>              reallocate(length * 2);
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          stack[lastElementIndex] = element;
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <em>/**<em>*</em></em>
+<a name="102" href="#102">102</a> <em>     * Reallocates the stack to the given size</em>
+<a name="103" href="#103">103</a> <em>     * </em>
+<a name="104" href="#104">104</a> <em>     * @param size</em>
+<a name="105" href="#105">105</a> <em>     *            DOCUMENT ME!</em>
+<a name="106" href="#106">106</a> <em>     */</em>
+<a name="107" href="#107">107</a>     <strong>protected</strong> <strong>void</strong> reallocate(<strong>int</strong> size) {
+<a name="108" href="#108">108</a>         <a href="../../../org/dom4j/Element.html">Element</a>[] oldStack = stack;
+<a name="109" href="#109">109</a>         stack = <strong>new</strong> <a href="../../../org/dom4j/Element.html">Element</a>[size];
+<a name="110" href="#110">110</a>         System.arraycopy(oldStack, 0, stack, 0, oldStack.length);
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <em class="comment">// The ElementPath Interface</em>
+<a name="114" href="#114">114</a>     <em class="comment">//</em>
+<a name="115" href="#115">115</a>     <strong>public</strong> <strong>int</strong> size() {
+<a name="116" href="#116">116</a>         <strong>return</strong> lastElementIndex + 1;
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getElement(<strong>int</strong> depth) {
+<a name="120" href="#120">120</a>         <a href="../../../org/dom4j/Element.html">Element</a> element;
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>         <strong>try</strong> {
+<a name="123" href="#123">123</a>             element = (Element) stack[depth];
+<a name="124" href="#124">124</a>         } <strong>catch</strong> (ArrayIndexOutOfBoundsException e) {
+<a name="125" href="#125">125</a>             element = <strong>null</strong>;
+<a name="126" href="#126">126</a>         }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         <strong>return</strong> element;
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>public</strong> String getPath() {
+<a name="132" href="#132">132</a>         <strong>if</strong> (handler == <strong>null</strong>) {
+<a name="133" href="#133">133</a>             setDispatchHandler(<strong>new</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a>());
+<a name="134" href="#134">134</a>         }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>         <strong>return</strong> handler.getPath();
+<a name="137" href="#137">137</a>     }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getCurrent() {
+<a name="140" href="#140">140</a>         <strong>return</strong> peekElement();
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <strong>public</strong> <strong>void</strong> addHandler(String path, <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> elementHandler) {
+<a name="144" href="#144">144</a>         <strong>this</strong>.handler.addHandler(getHandlerPath(path), elementHandler);
+<a name="145" href="#145">145</a>     }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>     <strong>public</strong> <strong>void</strong> removeHandler(String path) {
+<a name="148" href="#148">148</a>         <strong>this</strong>.handler.removeHandler(getHandlerPath(path));
+<a name="149" href="#149">149</a>     }
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>     <em>/**<em>*</em></em>
+<a name="152" href="#152">152</a> <em>     * DOCUMENT ME!</em>
+<a name="153" href="#153">153</a> <em>     * </em>
+<a name="154" href="#154">154</a> <em>     * @param path</em>
+<a name="155" href="#155">155</a> <em>     *            DOCUMENT ME!</em>
+<a name="156" href="#156">156</a> <em>     * </em>
+<a name="157" href="#157">157</a> <em>     * @return true when an <code>ElementHandler</code> is registered for the</em>
+<a name="158" href="#158">158</a> <em>     *         specified path.</em>
+<a name="159" href="#159">159</a> <em>     */</em>
+<a name="160" href="#160">160</a>     <strong>public</strong> <strong>boolean</strong> containsHandler(String path) {
+<a name="161" href="#161">161</a>         <strong>return</strong> <strong>this</strong>.handler.containsHandler(path);
+<a name="162" href="#162">162</a>     }
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>     <strong>private</strong> String getHandlerPath(String path) {
+<a name="165" href="#165">165</a>         String handlerPath;
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>         <strong>if</strong> (<strong>this</strong>.handler == <strong>null</strong>) {
+<a name="168" href="#168">168</a>             setDispatchHandler(<strong>new</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a>());
+<a name="169" href="#169">169</a>         }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>         <strong>if</strong> (path.startsWith(<span class="string">"/"</span>)) {
+<a name="172" href="#172">172</a>             handlerPath = path;
+<a name="173" href="#173">173</a>         } <strong>else</strong> <strong>if</strong> (getPath().equals(<span class="string">"/"</span>)) {
+<a name="174" href="#174">174</a>             handlerPath = getPath() + path;
+<a name="175" href="#175">175</a>         } <strong>else</strong> {
+<a name="176" href="#176">176</a>             handlerPath = getPath() + <span class="string">"/"</span> + path;
+<a name="177" href="#177">177</a>         }
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         <strong>return</strong> handlerPath;
+<a name="180" href="#180">180</a>     }
+<a name="181" href="#181">181</a> }
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a> <em class="comment">/*</em>
+<a name="184" href="#184">184</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="185" href="#185">185</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="186" href="#186">186</a> <em class="comment"> * following conditions are met:</em>
+<a name="187" href="#187">187</a> <em class="comment"> * </em>
+<a name="188" href="#188">188</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="189" href="#189">189</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="190" href="#190">190</a> <em class="comment"> * </em>
+<a name="191" href="#191">191</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="192" href="#192">192</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="193" href="#193">193</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="194" href="#194">194</a> <em class="comment"> * </em>
+<a name="195" href="#195">195</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="196" href="#196">196</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="197" href="#197">197</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="198" href="#198">198</a> <em class="comment"> * </em>
+<a name="199" href="#199">199</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="200" href="#200">200</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="201" href="#201">201</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="202" href="#202">202</a> <em class="comment"> * </em>
+<a name="203" href="#203">203</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="204" href="#204">204</a> <em class="comment"> * </em>
+<a name="205" href="#205">205</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="206" href="#206">206</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="207" href="#207">207</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="208" href="#208">208</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="209" href="#209">209</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="210" href="#210">210</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="211" href="#211">211</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="212" href="#212">212</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="213" href="#213">213</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="214" href="#214">214</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="215" href="#215">215</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="216" href="#216">216</a> <em class="comment"> * </em>
+<a name="217" href="#217">217</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="218" href="#218">218</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/HTMLWriter.html b/docs/xref/org/dom4j/io/HTMLWriter.html
new file mode 100644
index 0000000..fb5ac5f
--- /dev/null
+++ b/docs/xref/org/dom4j/io/HTMLWriter.html
@@ -0,0 +1,854 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>HTMLWriter xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/HTMLWriter.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.OutputStream;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.StringWriter;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.UnsupportedEncodingException;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.Writer;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.HashSet;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.Iterator;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.util.Set;
+<a name="18" href="#18">18</a>  <strong>import</strong> java.util.Stack;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Document;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Element;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.Node;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>  <em>/**<em>*</em></em>
+<a name="29" href="#29">29</a>  <em> * <p></em>
+<a name="30" href="#30">30</a>  <em> * <code>HTMLWriter</code> takes a DOM4J tree and formats it to a stream as</em>
+<a name="31" href="#31">31</a>  <em> * HTML. This formatter is similar to XMLWriter but it outputs the text of CDATA</em>
+<a name="32" href="#32">32</a>  <em> * and Entity sections rather than the serialised format as in XML, it has an</em>
+<a name="33" href="#33">33</a>  <em> * XHTML mode, it retains whitespace in certain elements such as &lt;PRE&gt;,</em>
+<a name="34" href="#34">34</a>  <em> * and it supports certain elements which have no corresponding close tag such</em>
+<a name="35" href="#35">35</a>  <em> * as for &lt;BR&gt; and &lt;P&gt;.</em>
+<a name="36" href="#36">36</a>  <em> * </p></em>
+<a name="37" href="#37">37</a>  <em> * </em>
+<a name="38" href="#38">38</a>  <em> * <p></em>
+<a name="39" href="#39">39</a>  <em> * The OutputFormat passed in to the constructor is checked for isXHTML() and</em>
+<a name="40" href="#40">40</a>  <em> * isExpandEmptyElements(). See {@link OutputFormat OutputFormat}for details.</em>
+<a name="41" href="#41">41</a>  <em> * Here are the rules for <b>this class </b> based on an OutputFormat, "format",</em>
+<a name="42" href="#42">42</a>  <em> * passed in to the constructor: <br/><br/></em>
+<a name="43" href="#43">43</a>  <em> * </em>
+<a name="44" href="#44">44</a>  <em> * <ul></em>
+<a name="45" href="#45">45</a>  <em> * <li>If an element is in {@link #getOmitElementCloseSet()</em>
+<a name="46" href="#46">46</a>  <em> * getOmitElementCloseSet}, then it is treated specially:</em>
+<a name="47" href="#47">47</a>  <em> * </em>
+<a name="48" href="#48">48</a>  <em> * <ul></em>
+<a name="49" href="#49">49</a>  <em> * <li>It never expands, since some browsers treat this as two separate</em>
+<a name="50" href="#50">50</a>  <em> * Horizontal Rules: &lt;HR&gt;&lt;/HR&gt;</li></em>
+<a name="51" href="#51">51</a>  <em> * <li>If {@link org.dom4j.io.OutputFormat#isXHTML() format.isXHTML()}, then</em>
+<a name="52" href="#52">52</a>  <em> * it has a space before the closing single-tag slash, since Netscape 4.x-</em>
+<a name="53" href="#53">53</a>  <em> * treats this: &lt;HR /&gt; as an element named "HR" with an attribute named</em>
+<a name="54" href="#54">54</a>  <em> * "/", but that's better than when it refuses to recognize this: &lt;hr/&gt;</em>
+<a name="55" href="#55">55</a>  <em> * which it thinks is an element named "HR/".</li></em>
+<a name="56" href="#56">56</a>  <em> * </ul></em>
+<a name="57" href="#57">57</a>  <em> * </em>
+<a name="58" href="#58">58</a>  <em> * </li></em>
+<a name="59" href="#59">59</a>  <em> * <li>If {@link org.dom4j.io.OutputFormat#isXHTML() format.isXHTML()}, all</em>
+<a name="60" href="#60">60</a>  <em> * elements must have either a close element, or be a closed single tag.</li></em>
+<a name="61" href="#61">61</a>  <em> * <li>If {@link org.dom4j.io.OutputFormat#isExpandEmptyElements()</em>
+<a name="62" href="#62">62</a>  <em> * format.isExpandEmptyElements()}() is true, all elements are expanded except</em>
+<a name="63" href="#63">63</a>  <em> * as above.</li></em>
+<a name="64" href="#64">64</a>  <em> * </ul></em>
+<a name="65" href="#65">65</a>  <em> * </em>
+<a name="66" href="#66">66</a>  <em> * <b>Examples </b></em>
+<a name="67" href="#67">67</a>  <em> * </p></em>
+<a name="68" href="#68">68</a>  <em> * </em>
+<a name="69" href="#69">69</a>  <em> * <p></em>
+<a name="70" href="#70">70</a>  <em> * </p></em>
+<a name="71" href="#71">71</a>  <em> * </em>
+<a name="72" href="#72">72</a>  <em> * <p></em>
+<a name="73" href="#73">73</a>  <em> * If isXHTML == true, CDATA sections look like this:</em>
+<a name="74" href="#74">74</a>  <em> * </em>
+<a name="75" href="#75">75</a>  <em> * <PRE></em>
+<a name="76" href="#76">76</a>  <em> * </em>
+<a name="77" href="#77">77</a>  <em> * <b>&lt;myelement&gt;&lt;![CDATA[My data]]&gt;&lt;/myelement&gt; </b></em>
+<a name="78" href="#78">78</a>  <em> * </em>
+<a name="79" href="#79">79</a>  <em> * </PRE></em>
+<a name="80" href="#80">80</a>  <em> * </em>
+<a name="81" href="#81">81</a>  <em> * Otherwise, they look like this:</em>
+<a name="82" href="#82">82</a>  <em> * </em>
+<a name="83" href="#83">83</a>  <em> * <PRE></em>
+<a name="84" href="#84">84</a>  <em> * </em>
+<a name="85" href="#85">85</a>  <em> * <b>&lt;myelement&gt;My data&lt;/myelement&gt; </b></em>
+<a name="86" href="#86">86</a>  <em> * </em>
+<a name="87" href="#87">87</a>  <em> * </PRE></em>
+<a name="88" href="#88">88</a>  <em> * </em>
+<a name="89" href="#89">89</a>  <em> * </p></em>
+<a name="90" href="#90">90</a>  <em> * </em>
+<a name="91" href="#91">91</a>  <em> * <p></em>
+<a name="92" href="#92">92</a>  <em> * Basically, {@link OutputFormat.isXHTML() OutputFormat.isXHTML()} ==</em>
+<a name="93" href="#93">93</a>  <em> * <code>true</code> will produce valid XML, while {@link</em>
+<a name="94" href="#94">94</a>  <em> * org.dom4j.io.OutputFormat#isExpandEmptyElements()</em>
+<a name="95" href="#95">95</a>  <em> * format.isExpandEmptyElements()} determines whether empty elements are</em>
+<a name="96" href="#96">96</a>  <em> * expanded if isXHTML is true, excepting the special HTML single tags.</em>
+<a name="97" href="#97">97</a>  <em> * </p></em>
+<a name="98" href="#98">98</a>  <em> * </em>
+<a name="99" href="#99">99</a>  <em> * <p></em>
+<a name="100" href="#100">100</a> <em> * Also, HTMLWriter handles tags whose contents should be preformatted, that is,</em>
+<a name="101" href="#101">101</a> <em> * whitespace-preserved. By default, this set includes the tags &lt;PRE&gt;,</em>
+<a name="102" href="#102">102</a> <em> * &lt;SCRIPT&gt;, &lt;STYLE&gt;, and &lt;TEXTAREA&gt;, case insensitively. It</em>
+<a name="103" href="#103">103</a> <em> * does not include &lt;IFRAME&gt;. Other tags, such as &lt;CODE&gt;,</em>
+<a name="104" href="#104">104</a> <em> * &lt;KBD&gt;, &lt;TT&gt;, &lt;VAR&gt;, are usually rendered in a different</em>
+<a name="105" href="#105">105</a> <em> * font in most browsers, but don't preserve whitespace, so they also don't</em>
+<a name="106" href="#106">106</a> <em> * appear in the default list. HTML Comments are always whitespace-preserved.</em>
+<a name="107" href="#107">107</a> <em> * However, the parser you use may store comments with linefeed-only text nodes</em>
+<a name="108" href="#108">108</a> <em> * (\n) even if your platform uses another line.separator character, and</em>
+<a name="109" href="#109">109</a> <em> * HTMLWriter outputs Comment nodes exactly as the DOM is set up by the parser.</em>
+<a name="110" href="#110">110</a> <em> * See examples and discussion here: {@link#setPreformattedTags(java.util.Set)</em>
+<a name="111" href="#111">111</a> <em> * setPreformattedTags}</em>
+<a name="112" href="#112">112</a> <em> * </p></em>
+<a name="113" href="#113">113</a> <em> * </em>
+<a name="114" href="#114">114</a> <em> * <p></em>
+<a name="115" href="#115">115</a> <em> * <b>Examples </b></em>
+<a name="116" href="#116">116</a> <em> * </p></em>
+<a name="117" href="#117">117</a> <em> * <blockquote></em>
+<a name="118" href="#118">118</a> <em> * <p></em>
+<a name="119" href="#119">119</a> <em> * <b>Pretty Printing </b></em>
+<a name="120" href="#120">120</a> <em> * </p></em>
+<a name="121" href="#121">121</a> <em> * </em>
+<a name="122" href="#122">122</a> <em> * <p></em>
+<a name="123" href="#123">123</a> <em> * This example shows how to pretty print a string containing a valid HTML</em>
+<a name="124" href="#124">124</a> <em> * document to a string. You can also just call the static methods of this</em>
+<a name="125" href="#125">125</a> <em> * class: <br></em>
+<a name="126" href="#126">126</a> <em> * {@link #prettyPrintHTML(String) prettyPrintHTML(String)}or <br></em>
+<a name="127" href="#127">127</a> <em> * {@link #prettyPrintHTML(String,boolean,boolean,boolean,boolean)</em>
+<a name="128" href="#128">128</a> <em> * prettyPrintHTML(String,boolean,boolean,boolean,boolean)} or, <br></em>
+<a name="129" href="#129">129</a> <em> * {@link #prettyPrintXHTML(String) prettyPrintXHTML(String)}for XHTML (note</em>
+<a name="130" href="#130">130</a> <em> * the X)</em>
+<a name="131" href="#131">131</a> <em> * </p></em>
+<a name="132" href="#132">132</a> <em> * </em>
+<a name="133" href="#133">133</a> <em> * <pre></em>
+<a name="134" href="#134">134</a> <em> * String testPrettyPrint(String html) {</em>
+<a name="135" href="#135">135</a> <em> *     StringWriter sw = new StringWriter();</em>
+<a name="136" href="#136">136</a> <em> *     OutputFormat format = OutputFormat.createPrettyPrint();</em>
+<a name="137" href="#137">137</a> <em> *     // These are the default values for createPrettyPrint,</em>
+<a name="138" href="#138">138</a> <em> *     // so you needn't set them:</em>
+<a name="139" href="#139">139</a> <em> *     // format.setNewlines(true);</em>
+<a name="140" href="#140">140</a> <em> *     // format.setTrimText(true);&lt;/font&gt;</em>
+<a name="141" href="#141">141</a> <em> *     format.setXHTML(true);</em>
+<a name="142" href="#142">142</a> <em> *     HTMLWriter writer = new HTMLWriter(sw, format);</em>
+<a name="143" href="#143">143</a> <em> *     Document document = DocumentHelper.parseText(html);</em>
+<a name="144" href="#144">144</a> <em> *     writer.write(document);</em>
+<a name="145" href="#145">145</a> <em> *     writer.flush();</em>
+<a name="146" href="#146">146</a> <em> *     return sw.toString();</em>
+<a name="147" href="#147">147</a> <em> * }</em>
+<a name="148" href="#148">148</a> <em> * </pre></em>
+<a name="149" href="#149">149</a> <em> * </em>
+<a name="150" href="#150">150</a> <em> * <p></em>
+<a name="151" href="#151">151</a> <em> * This example shows how to create a "squeezed" document, but one that will</em>
+<a name="152" href="#152">152</a> <em> * work in browsers even if the browser line length is limited. No newlines are</em>
+<a name="153" href="#153">153</a> <em> * included, no extra whitespace at all, except where it it required by</em>
+<a name="154" href="#154">154</a> <em> * {@link #setPreformattedTags(java.util.Set) setPreformattedTags}.</em>
+<a name="155" href="#155">155</a> <em> * </p></em>
+<a name="156" href="#156">156</a> <em> * </em>
+<a name="157" href="#157">157</a> <em> * <pre></em>
+<a name="158" href="#158">158</a> <em> * String testCrunch(String html) {</em>
+<a name="159" href="#159">159</a> <em> *     StringWriter sw = new StringWriter();</em>
+<a name="160" href="#160">160</a> <em> *     OutputFormat format = OutputFormat.createPrettyPrint();</em>
+<a name="161" href="#161">161</a> <em> *     format.setNewlines(false);</em>
+<a name="162" href="#162">162</a> <em> *     format.setTrimText(true);</em>
+<a name="163" href="#163">163</a> <em> *     format.setIndent(&quot;&quot;);</em>
+<a name="164" href="#164">164</a> <em> *     format.setXHTML(true);</em>
+<a name="165" href="#165">165</a> <em> *     format.setExpandEmptyElements(false);</em>
+<a name="166" href="#166">166</a> <em> *     format.setNewLineAfterNTags(20);</em>
+<a name="167" href="#167">167</a> <em> *     org.dom4j.io.HTMLWriter writer = new HTMLWriter(sw, format);</em>
+<a name="168" href="#168">168</a> <em> *     org.dom4j.Document document = DocumentHelper.parseText(html);</em>
+<a name="169" href="#169">169</a> <em> *     writer.write(document);</em>
+<a name="170" href="#170">170</a> <em> *     writer.flush();</em>
+<a name="171" href="#171">171</a> <em> *     return sw.toString();</em>
+<a name="172" href="#172">172</a> <em> * }</em>
+<a name="173" href="#173">173</a> <em> * </pre></em>
+<a name="174" href="#174">174</a> <em> * </em>
+<a name="175" href="#175">175</a> <em> * </blockquote></em>
+<a name="176" href="#176">176</a> <em> * </em>
+<a name="177" href="#177">177</a> <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="178" href="#178">178</a> <em> * @author Laramie Crocker</em>
+<a name="179" href="#179">179</a> <em> * @version $Revision: 1.21 $</em>
+<a name="180" href="#180">180</a> <em> */</em>
+<a name="181" href="#181">181</a> <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/HTMLWriter.html">HTMLWriter</a> <strong>extends</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> {
+<a name="182" href="#182">182</a>     <strong>private</strong> <strong>static</strong> String lineSeparator = System.getProperty(<span class="string">"line.separator"</span>);
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>     <strong>protected</strong> <strong>static</strong> <strong>final</strong> HashSet DEFAULT_PREFORMATTED_TAGS;
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>     <strong>static</strong> {
+<a name="187" href="#187">187</a>         <em class="comment">// If you change this list, update the javadoc examples, above in the</em>
+<a name="188" href="#188">188</a>         <em class="comment">// class javadoc, in writeElement, and in setPreformattedTags().</em>
+<a name="189" href="#189">189</a>         DEFAULT_PREFORMATTED_TAGS = <strong>new</strong> HashSet();
+<a name="190" href="#190">190</a>         DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"PRE"</span>);
+<a name="191" href="#191">191</a>         DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"SCRIPT"</span>);
+<a name="192" href="#192">192</a>         DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"STYLE"</span>);
+<a name="193" href="#193">193</a>         DEFAULT_PREFORMATTED_TAGS.add(<span class="string">"TEXTAREA"</span>);
+<a name="194" href="#194">194</a>     }
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>     <strong>protected</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> DEFAULT_HTML_FORMAT;
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>     <strong>static</strong> {
+<a name="199" href="#199">199</a>         DEFAULT_HTML_FORMAT = <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>(<span class="string">"  "</span>, <strong>true</strong>);
+<a name="200" href="#200">200</a>         DEFAULT_HTML_FORMAT.setTrimText(<strong>true</strong>);
+<a name="201" href="#201">201</a>         DEFAULT_HTML_FORMAT.setSuppressDeclaration(<strong>true</strong>);
+<a name="202" href="#202">202</a>     }
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>     <strong>private</strong> Stack formatStack = <strong>new</strong> Stack();
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>     <strong>private</strong> String lastText = <span class="string">""</span>;
+<a name="207" href="#207">207</a> 
+<a name="208" href="#208">208</a>     <strong>private</strong> <strong>int</strong> tagsOuput = 0;
+<a name="209" href="#209">209</a> 
+<a name="210" href="#210">210</a>     <em class="comment">// legal values are 0+, but -1 signifies lazy initialization.</em>
+<a name="211" href="#211">211</a>     <strong>private</strong> <strong>int</strong> newLineAfterNTags = -1;
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>     <strong>private</strong> HashSet preformattedTags = DEFAULT_PREFORMATTED_TAGS;
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>     <em>/**<em>*</em></em>
+<a name="216" href="#216">216</a> <em>     * Used to store the qualified element names which should have no close</em>
+<a name="217" href="#217">217</a> <em>     * element tag</em>
+<a name="218" href="#218">218</a> <em>     */</em>
+<a name="219" href="#219">219</a>     <strong>private</strong> HashSet omitElementCloseSet;
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>     <strong>public</strong> <a href="../../../org/dom4j/io/HTMLWriter.html">HTMLWriter</a>(Writer writer) {
+<a name="222" href="#222">222</a>         <strong>super</strong>(writer, DEFAULT_HTML_FORMAT);
+<a name="223" href="#223">223</a>     }
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>     <strong>public</strong> <a href="../../../org/dom4j/io/HTMLWriter.html">HTMLWriter</a>(Writer writer, <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format) {
+<a name="226" href="#226">226</a>         <strong>super</strong>(writer, format);
+<a name="227" href="#227">227</a>     }
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>     <strong>public</strong> <a href="../../../org/dom4j/io/HTMLWriter.html">HTMLWriter</a>() throws UnsupportedEncodingException {
+<a name="230" href="#230">230</a>         <strong>super</strong>(DEFAULT_HTML_FORMAT);
+<a name="231" href="#231">231</a>     }
+<a name="232" href="#232">232</a> 
+<a name="233" href="#233">233</a>     <strong>public</strong> <a href="../../../org/dom4j/io/HTMLWriter.html">HTMLWriter</a>(<a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format) throws UnsupportedEncodingException {
+<a name="234" href="#234">234</a>         <strong>super</strong>(format);
+<a name="235" href="#235">235</a>     }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>     <strong>public</strong> <a href="../../../org/dom4j/io/HTMLWriter.html">HTMLWriter</a>(OutputStream out) throws UnsupportedEncodingException {
+<a name="238" href="#238">238</a>         <strong>super</strong>(out, DEFAULT_HTML_FORMAT);
+<a name="239" href="#239">239</a>     }
+<a name="240" href="#240">240</a> 
+<a name="241" href="#241">241</a>     <strong>public</strong> <a href="../../../org/dom4j/io/HTMLWriter.html">HTMLWriter</a>(OutputStream out, <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format)
+<a name="242" href="#242">242</a>             throws UnsupportedEncodingException {
+<a name="243" href="#243">243</a>         <strong>super</strong>(out, format);
+<a name="244" href="#244">244</a>     }
+<a name="245" href="#245">245</a> 
+<a name="246" href="#246">246</a>     <strong>public</strong> <strong>void</strong> startCDATA() throws SAXException {
+<a name="247" href="#247">247</a>     }
+<a name="248" href="#248">248</a> 
+<a name="249" href="#249">249</a>     <strong>public</strong> <strong>void</strong> endCDATA() throws SAXException {
+<a name="250" href="#250">250</a>     }
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>     <em class="comment">// Overloaded methods</em>
+<a name="253" href="#253">253</a>     <em class="comment">// added isXHTML() stuff so you get the CDATA brackets if you desire.</em>
+<a name="254" href="#254">254</a>     <strong>protected</strong> <strong>void</strong> writeCDATA(String text) throws IOException {
+<a name="255" href="#255">255</a>         <em class="comment">// XXX: Should we escape entities?</em>
+<a name="256" href="#256">256</a>         <em class="comment">// writer.write( escapeElementEntities( text ) );</em>
+<a name="257" href="#257">257</a>         <strong>if</strong> (getOutputFormat().isXHTML()) {
+<a name="258" href="#258">258</a>             <strong>super</strong>.writeCDATA(text);
+<a name="259" href="#259">259</a>         } <strong>else</strong> {
+<a name="260" href="#260">260</a>             writer.write(text);
+<a name="261" href="#261">261</a>         }
+<a name="262" href="#262">262</a> 
+<a name="263" href="#263">263</a>         lastOutputNodeType = Node.CDATA_SECTION_NODE;
+<a name="264" href="#264">264</a>     }
+<a name="265" href="#265">265</a> 
+<a name="266" href="#266">266</a>     <strong>protected</strong> <strong>void</strong> writeEntity(<a href="../../../org/dom4j/Entity.html">Entity</a> entity) throws IOException {
+<a name="267" href="#267">267</a>         writer.write(entity.getText());
+<a name="268" href="#268">268</a>         lastOutputNodeType = Node.ENTITY_REFERENCE_NODE;
+<a name="269" href="#269">269</a>     }
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a>     <strong>protected</strong> <strong>void</strong> writeDeclaration() throws IOException {
+<a name="272" href="#272">272</a>     }
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>     <strong>protected</strong> <strong>void</strong> writeString(String text) throws IOException {
+<a name="275" href="#275">275</a>         <em class="comment">/*</em>
+<a name="276" href="#276">276</a> <em class="comment">         * DOM stores \n at the end of text nodes that are newlines. This is</em>
+<a name="277" href="#277">277</a> <em class="comment">         * significant if we are in a PRE section. However, we only want to</em>
+<a name="278" href="#278">278</a> <em class="comment">         * output the system line.separator, not \n. This is a little brittle,</em>
+<a name="279" href="#279">279</a> <em class="comment">         * but this function appears to be called with these lineseparators as a</em>
+<a name="280" href="#280">280</a> <em class="comment">         * separate TEXT_NODE. If we are in a preformatted section, output the</em>
+<a name="281" href="#281">281</a> <em class="comment">         * right line.separator, otherwise ditch. If the single \n character is</em>
+<a name="282" href="#282">282</a> <em class="comment">         * not the text, then do the super thing to output the text.</em>
+<a name="283" href="#283">283</a> <em class="comment">         * </em>
+<a name="284" href="#284">284</a> <em class="comment">         * Also, we store the last text that was not a \n since it may be used</em>
+<a name="285" href="#285">285</a> <em class="comment">         * by writeElement in this class to line up preformatted tags.</em>
+<a name="286" href="#286">286</a> <em class="comment">         */</em>
+<a name="287" href="#287">287</a>         <strong>if</strong> (text.equals(<span class="string">"\n"</span>)) {
+<a name="288" href="#288">288</a>             <strong>if</strong> (!formatStack.empty()) {
+<a name="289" href="#289">289</a>                 <strong>super</strong>.writeString(lineSeparator);
+<a name="290" href="#290">290</a>             }
+<a name="291" href="#291">291</a> 
+<a name="292" href="#292">292</a>             <strong>return</strong>;
+<a name="293" href="#293">293</a>         }
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>         lastText = text;
+<a name="296" href="#296">296</a> 
+<a name="297" href="#297">297</a>         <strong>if</strong> (formatStack.empty()) {
+<a name="298" href="#298">298</a>             <strong>super</strong>.writeString(text.trim());
+<a name="299" href="#299">299</a>         } <strong>else</strong> {
+<a name="300" href="#300">300</a>             <strong>super</strong>.writeString(text);
+<a name="301" href="#301">301</a>         }
+<a name="302" href="#302">302</a>     }
+<a name="303" href="#303">303</a> 
+<a name="304" href="#304">304</a>     <em>/**<em>*</em></em>
+<a name="305" href="#305">305</a> <em>     * Overriden method to not close certain element names to avoid wierd</em>
+<a name="306" href="#306">306</a> <em>     * behaviour from browsers for versions up to 5.x</em>
+<a name="307" href="#307">307</a> <em>     * </em>
+<a name="308" href="#308">308</a> <em>     * @param qualifiedName</em>
+<a name="309" href="#309">309</a> <em>     *            DOCUMENT ME!</em>
+<a name="310" href="#310">310</a> <em>     * </em>
+<a name="311" href="#311">311</a> <em>     * @throws IOException</em>
+<a name="312" href="#312">312</a> <em>     *             DOCUMENT ME!</em>
+<a name="313" href="#313">313</a> <em>     */</em>
+<a name="314" href="#314">314</a>     <strong>protected</strong> <strong>void</strong> writeClose(String qualifiedName) throws IOException {
+<a name="315" href="#315">315</a>         <strong>if</strong> (!omitElementClose(qual<strong>if</strong>iedName)) {
+<a name="316" href="#316">316</a>             <strong>super</strong>.writeClose(qualifiedName);
+<a name="317" href="#317">317</a>         }
+<a name="318" href="#318">318</a>     }
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>     <strong>protected</strong> <strong>void</strong> writeEmptyElementClose(String qualifiedName)
+<a name="321" href="#321">321</a>             throws IOException {
+<a name="322" href="#322">322</a>         <strong>if</strong> (getOutputFormat().isXHTML()) {
+<a name="323" href="#323">323</a>             <em class="comment">// xhtml, always check with format object whether to expand or not.</em>
+<a name="324" href="#324">324</a>             <strong>if</strong> (omitElementClose(qual<strong>if</strong>iedName)) {
+<a name="325" href="#325">325</a>                 <em class="comment">// it was a special omit tag, do it the XHTML way: "<br/>",</em>
+<a name="326" href="#326">326</a>                 <em class="comment">// ignoring the expansion option, since <br></br> is OK XML,</em>
+<a name="327" href="#327">327</a>                 <em class="comment">// but produces twice the linefeeds desired in the browser.</em>
+<a name="328" href="#328">328</a>                 <em class="comment">// for netscape 4.7, though all are fine with it, write a space</em>
+<a name="329" href="#329">329</a>                 <em class="comment">// before the close slash.</em>
+<a name="330" href="#330">330</a>                 writer.write(<span class="string">" />"</span>);
+<a name="331" href="#331">331</a>             } <strong>else</strong> {
+<a name="332" href="#332">332</a>                 <strong>super</strong>.writeEmptyElementClose(qualifiedName);
+<a name="333" href="#333">333</a>             }
+<a name="334" href="#334">334</a>         } <strong>else</strong> {
+<a name="335" href="#335">335</a>             <em class="comment">// html, not xhtml</em>
+<a name="336" href="#336">336</a>             <strong>if</strong> (omitElementClose(qual<strong>if</strong>iedName)) {
+<a name="337" href="#337">337</a>                 <em class="comment">// it was a special omit tag, do it the old html way: "<br>".</em>
+<a name="338" href="#338">338</a>                 writer.write(<span class="string">">"</span>);
+<a name="339" href="#339">339</a>             } <strong>else</strong> {
+<a name="340" href="#340">340</a>                 <em class="comment">// it was NOT a special omit tag, check with format object</em>
+<a name="341" href="#341">341</a>                 <em class="comment">// whether to expand or not.</em>
+<a name="342" href="#342">342</a>                 <strong>super</strong>.writeEmptyElementClose(qualifiedName);
+<a name="343" href="#343">343</a>             }
+<a name="344" href="#344">344</a>         }
+<a name="345" href="#345">345</a>     }
+<a name="346" href="#346">346</a> 
+<a name="347" href="#347">347</a>     <strong>protected</strong> <strong>boolean</strong> omitElementClose(String qualifiedName) {
+<a name="348" href="#348">348</a>         <strong>return</strong> internalGetOmitElementCloseSet().contains(
+<a name="349" href="#349">349</a>                 qualifiedName.toUpperCase());
+<a name="350" href="#350">350</a>     }
+<a name="351" href="#351">351</a> 
+<a name="352" href="#352">352</a>     <strong>private</strong> HashSet internalGetOmitElementCloseSet() {
+<a name="353" href="#353">353</a>         <strong>if</strong> (omitElementCloseSet == <strong>null</strong>) {
+<a name="354" href="#354">354</a>             omitElementCloseSet = <strong>new</strong> HashSet();
+<a name="355" href="#355">355</a>             loadOmitElementCloseSet(omitElementCloseSet);
+<a name="356" href="#356">356</a>         }
+<a name="357" href="#357">357</a> 
+<a name="358" href="#358">358</a>         <strong>return</strong> omitElementCloseSet;
+<a name="359" href="#359">359</a>     }
+<a name="360" href="#360">360</a> 
+<a name="361" href="#361">361</a>     <em class="comment">// If you change this, change the javadoc for getOmitElementCloseSet.</em>
+<a name="362" href="#362">362</a>     <strong>protected</strong> <strong>void</strong> loadOmitElementCloseSet(Set set) {
+<a name="363" href="#363">363</a>         set.add(<span class="string">"AREA"</span>);
+<a name="364" href="#364">364</a>         set.add(<span class="string">"BASE"</span>);
+<a name="365" href="#365">365</a>         set.add(<span class="string">"BR"</span>);
+<a name="366" href="#366">366</a>         set.add(<span class="string">"COL"</span>);
+<a name="367" href="#367">367</a>         set.add(<span class="string">"HR"</span>);
+<a name="368" href="#368">368</a>         set.add(<span class="string">"IMG"</span>);
+<a name="369" href="#369">369</a>         set.add(<span class="string">"INPUT"</span>);
+<a name="370" href="#370">370</a>         set.add(<span class="string">"LINK"</span>);
+<a name="371" href="#371">371</a>         set.add(<span class="string">"META"</span>);
+<a name="372" href="#372">372</a>         set.add(<span class="string">"P"</span>);
+<a name="373" href="#373">373</a>         set.add(<span class="string">"PARAM"</span>);
+<a name="374" href="#374">374</a>     }
+<a name="375" href="#375">375</a> 
+<a name="376" href="#376">376</a>     <em class="comment">// let the people see the set, but not modify it.</em>
+<a name="377" href="#377">377</a> 
+<a name="378" href="#378">378</a>     <em>/**<em>*</em></em>
+<a name="379" href="#379">379</a> <em>     * A clone of the Set of elements that can have their close-tags omitted. By</em>
+<a name="380" href="#380">380</a> <em>     * default it should be "AREA", "BASE", "BR", "COL", "HR", "IMG", "INPUT",</em>
+<a name="381" href="#381">381</a> <em>     * "LINK", "META", "P", "PARAM"</em>
+<a name="382" href="#382">382</a> <em>     * </em>
+<a name="383" href="#383">383</a> <em>     * @return A clone of the Set.</em>
+<a name="384" href="#384">384</a> <em>     */</em>
+<a name="385" href="#385">385</a>     <strong>public</strong> Set getOmitElementCloseSet() {
+<a name="386" href="#386">386</a>         <strong>return</strong> (Set) (internalGetOmitElementCloseSet().clone());
+<a name="387" href="#387">387</a>     }
+<a name="388" href="#388">388</a> 
+<a name="389" href="#389">389</a>     <em>/**<em>*</em></em>
+<a name="390" href="#390">390</a> <em>     * To use the empty set, pass an empty Set, or null:</em>
+<a name="391" href="#391">391</a> <em>     * </em>
+<a name="392" href="#392">392</a> <em>     * <pre></em>
+<a name="393" href="#393">393</a> <em>     * </em>
+<a name="394" href="#394">394</a> <em>     * </em>
+<a name="395" href="#395">395</a> <em>     *       setOmitElementCloseSet(new HashSet());</em>
+<a name="396" href="#396">396</a> <em>     *     or</em>
+<a name="397" href="#397">397</a> <em>     *       setOmitElementCloseSet(null);</em>
+<a name="398" href="#398">398</a> <em>     * </em>
+<a name="399" href="#399">399</a> <em>     *  </em>
+<a name="400" href="#400">400</a> <em>     * </pre></em>
+<a name="401" href="#401">401</a> <em>     * </em>
+<a name="402" href="#402">402</a> <em>     * @param newSet</em>
+<a name="403" href="#403">403</a> <em>     *            DOCUMENT ME!</em>
+<a name="404" href="#404">404</a> <em>     */</em>
+<a name="405" href="#405">405</a>     <strong>public</strong> <strong>void</strong> setOmitElementCloseSet(Set newSet) {
+<a name="406" href="#406">406</a>         <em class="comment">// resets, and safely empties it out if newSet is null.</em>
+<a name="407" href="#407">407</a>         omitElementCloseSet = <strong>new</strong> HashSet();
+<a name="408" href="#408">408</a> 
+<a name="409" href="#409">409</a>         <strong>if</strong> (newSet != <strong>null</strong>) {
+<a name="410" href="#410">410</a>             omitElementCloseSet = <strong>new</strong> HashSet();
+<a name="411" href="#411">411</a> 
+<a name="412" href="#412">412</a>             Object aTag;
+<a name="413" href="#413">413</a>             Iterator iter = newSet.iterator();
+<a name="414" href="#414">414</a> 
+<a name="415" href="#415">415</a>             <strong>while</strong> (iter.hasNext()) {
+<a name="416" href="#416">416</a>                 aTag = iter.next();
+<a name="417" href="#417">417</a> 
+<a name="418" href="#418">418</a>                 <strong>if</strong> (aTag != <strong>null</strong>) {
+<a name="419" href="#419">419</a>                     omitElementCloseSet.add(aTag.toString().toUpperCase());
+<a name="420" href="#420">420</a>                 }
+<a name="421" href="#421">421</a>             }
+<a name="422" href="#422">422</a>         }
+<a name="423" href="#423">423</a>     }
+<a name="424" href="#424">424</a> 
+<a name="425" href="#425">425</a>     <em>/**<em>*</em></em>
+<a name="426" href="#426">426</a> <em>     * @see #setPreformattedTags(java.util.Set) setPreformattedTags</em>
+<a name="427" href="#427">427</a> <em>     */</em>
+<a name="428" href="#428">428</a>     <strong>public</strong> Set getPreformattedTags() {
+<a name="429" href="#429">429</a>         <strong>return</strong> (Set) (preformattedTags.clone());
+<a name="430" href="#430">430</a>     }
+<a name="431" href="#431">431</a> 
+<a name="432" href="#432">432</a>     <em>/**<em>*</em></em>
+<a name="433" href="#433">433</a> <em>     * <p></em>
+<a name="434" href="#434">434</a> <em>     * Override the default set, which includes PRE, SCRIPT, STYLE, and</em>
+<a name="435" href="#435">435</a> <em>     * TEXTAREA, case insensitively.</em>
+<a name="436" href="#436">436</a> <em>     * </p></em>
+<a name="437" href="#437">437</a> <em>     * </em>
+<a name="438" href="#438">438</a> <em>     * <p></em>
+<a name="439" href="#439">439</a> <em>     * <b>Setting Preformatted Tags </b></em>
+<a name="440" href="#440">440</a> <em>     * </p></em>
+<a name="441" href="#441">441</a> <em>     * </em>
+<a name="442" href="#442">442</a> <em>     * <p></em>
+<a name="443" href="#443">443</a> <em>     * Pass in a Set of Strings, one for each tag name that should be treated</em>
+<a name="444" href="#444">444</a> <em>     * like a PRE tag. You may pass in null or an empty Set to assign the empty</em>
+<a name="445" href="#445">445</a> <em>     * set, in which case no tags will be treated as preformatted, except that</em>
+<a name="446" href="#446">446</a> <em>     * HTML Comments will continue to be preformatted. If a tag is included in</em>
+<a name="447" href="#447">447</a> <em>     * the set of preformatted tags, all whitespace within the tag will be</em>
+<a name="448" href="#448">448</a> <em>     * preserved, including whitespace on the same line preceding the close tag.</em>
+<a name="449" href="#449">449</a> <em>     * This will generally make the close tag not line up with the start tag,</em>
+<a name="450" href="#450">450</a> <em>     * but it preserves the intention of the whitespace within the tag.</em>
+<a name="451" href="#451">451</a> <em>     * </p></em>
+<a name="452" href="#452">452</a> <em>     * </em>
+<a name="453" href="#453">453</a> <em>     * <p></em>
+<a name="454" href="#454">454</a> <em>     * The browser considers leading whitespace before the close tag to be</em>
+<a name="455" href="#455">455</a> <em>     * significant, but leading whitespace before the open tag to be</em>
+<a name="456" href="#456">456</a> <em>     * insignificant. For example, if the HTML author doesn't put the close</em>
+<a name="457" href="#457">457</a> <em>     * TEXTAREA tag flush to the left margin, then the TEXTAREA control in the</em>
+<a name="458" href="#458">458</a> <em>     * browser will have spaces on the last line inside the control. This may be</em>
+<a name="459" href="#459">459</a> <em>     * the HTML author's intent. Similarly, in a PRE, the browser treats a</em>
+<a name="460" href="#460">460</a> <em>     * flushed left close PRE tag as different from a close tag with leading</em>
+<a name="461" href="#461">461</a> <em>     * whitespace. Again, this must be left up to the HTML author.</em>
+<a name="462" href="#462">462</a> <em>     * </p></em>
+<a name="463" href="#463">463</a> <em>     * </em>
+<a name="464" href="#464">464</a> <em>     * <p></em>
+<a name="465" href="#465">465</a> <em>     * <b>Examples </b></em>
+<a name="466" href="#466">466</a> <em>     * </p></em>
+<a name="467" href="#467">467</a> <em>     * <blockquote></em>
+<a name="468" href="#468">468</a> <em>     * <p></em>
+<a name="469" href="#469">469</a> <em>     * Here is an example of how you can set the PreformattedTags list using</em>
+<a name="470" href="#470">470</a> <em>     * setPreformattedTags to include IFRAME, as well as the default set, if you</em>
+<a name="471" href="#471">471</a> <em>     * have an instance of this class named myHTMLWriter:</em>
+<a name="472" href="#472">472</a> <em>     * </em>
+<a name="473" href="#473">473</a> <em>     * <pre></em>
+<a name="474" href="#474">474</a> <em>     * Set current = myHTMLWriter.getPreformattedTags();</em>
+<a name="475" href="#475">475</a> <em>     * current.add(&quot;IFRAME&quot;);</em>
+<a name="476" href="#476">476</a> <em>     * myHTMLWriter.setPreformattedTags(current);</em>
+<a name="477" href="#477">477</a> <em>     * </em>
+<a name="478" href="#478">478</a> <em>     * //The set is now &lt;b&gt;PRE, SCRIPT, STYLE, TEXTAREA, IFRAME&lt;/b&gt;</em>
+<a name="479" href="#479">479</a> <em>     * </em>
+<a name="480" href="#480">480</a> <em>     * </em>
+<a name="481" href="#481">481</a> <em>     * </pre></em>
+<a name="482" href="#482">482</a> <em>     * </em>
+<a name="483" href="#483">483</a> <em>     * Similarly, you can simply replace it with your own:</em>
+<a name="484" href="#484">484</a> <em>     * </em>
+<a name="485" href="#485">485</a> <em>     * <pre></em>
+<a name="486" href="#486">486</a> <em>     * </em>
+<a name="487" href="#487">487</a> <em>     * </em>
+<a name="488" href="#488">488</a> <em>     *       HashSet newset = new HashSet();</em>
+<a name="489" href="#489">489</a> <em>     *       newset.add(&quot;PRE&quot;);</em>
+<a name="490" href="#490">490</a> <em>     *       newset.add(&quot;TEXTAREA&quot;);</em>
+<a name="491" href="#491">491</a> <em>     *       myHTMLWriter.setPreformattedTags(newset);</em>
+<a name="492" href="#492">492</a> <em>     * </em>
+<a name="493" href="#493">493</a> <em>     *       //The set is now &lt;b&gt;{PRE, TEXTAREA}&lt;/b&gt;</em>
+<a name="494" href="#494">494</a> <em>     * </em>
+<a name="495" href="#495">495</a> <em>     *  </em>
+<a name="496" href="#496">496</a> <em>     * </pre></em>
+<a name="497" href="#497">497</a> <em>     * </em>
+<a name="498" href="#498">498</a> <em>     * You can remove all tags from the preformatted tags list, with an empty</em>
+<a name="499" href="#499">499</a> <em>     * set, like this:</em>
+<a name="500" href="#500">500</a> <em>     * </em>
+<a name="501" href="#501">501</a> <em>     * <pre></em>
+<a name="502" href="#502">502</a> <em>     * </em>
+<a name="503" href="#503">503</a> <em>     * </em>
+<a name="504" href="#504">504</a> <em>     *       myHTMLWriter.setPreformattedTags(new HashSet());</em>
+<a name="505" href="#505">505</a> <em>     * </em>
+<a name="506" href="#506">506</a> <em>     *       //The set is now &lt;b&gt;{}&lt;/b&gt;</em>
+<a name="507" href="#507">507</a> <em>     * </em>
+<a name="508" href="#508">508</a> <em>     *  </em>
+<a name="509" href="#509">509</a> <em>     * </pre></em>
+<a name="510" href="#510">510</a> <em>     * </em>
+<a name="511" href="#511">511</a> <em>     * or with null, like this:</em>
+<a name="512" href="#512">512</a> <em>     * </em>
+<a name="513" href="#513">513</a> <em>     * <pre></em>
+<a name="514" href="#514">514</a> <em>     * </em>
+<a name="515" href="#515">515</a> <em>     * </em>
+<a name="516" href="#516">516</a> <em>     *       myHTMLWriter.setPreformattedTags(null);</em>
+<a name="517" href="#517">517</a> <em>     * </em>
+<a name="518" href="#518">518</a> <em>     *       //The set is now &lt;b&gt;{}&lt;/b&gt;</em>
+<a name="519" href="#519">519</a> <em>     * </em>
+<a name="520" href="#520">520</a> <em>     *  </em>
+<a name="521" href="#521">521</a> <em>     * </pre></em>
+<a name="522" href="#522">522</a> <em>     * </em>
+<a name="523" href="#523">523</a> <em>     * </p></em>
+<a name="524" href="#524">524</a> <em>     * </blockquote></em>
+<a name="525" href="#525">525</a> <em>     * </em>
+<a name="526" href="#526">526</a> <em>     * @param newSet</em>
+<a name="527" href="#527">527</a> <em>     *            DOCUMENT ME!</em>
+<a name="528" href="#528">528</a> <em>     */</em>
+<a name="529" href="#529">529</a>     <strong>public</strong> <strong>void</strong> setPreformattedTags(Set newSet) {
+<a name="530" href="#530">530</a>         <em class="comment">// no fancy merging, just set it, assuming they did a</em>
+<a name="531" href="#531">531</a>         <em class="comment">// getExcludeTrimTags() first if they wanted to preserve the default</em>
+<a name="532" href="#532">532</a>         <em class="comment">// set.</em>
+<a name="533" href="#533">533</a>         <em class="comment">// resets, and safely empties it out if newSet is null.</em>
+<a name="534" href="#534">534</a>         preformattedTags = <strong>new</strong> HashSet();
+<a name="535" href="#535">535</a> 
+<a name="536" href="#536">536</a>         <strong>if</strong> (newSet != <strong>null</strong>) {
+<a name="537" href="#537">537</a>             Object aTag;
+<a name="538" href="#538">538</a>             Iterator iter = newSet.iterator();
+<a name="539" href="#539">539</a> 
+<a name="540" href="#540">540</a>             <strong>while</strong> (iter.hasNext()) {
+<a name="541" href="#541">541</a>                 aTag = iter.next();
+<a name="542" href="#542">542</a> 
+<a name="543" href="#543">543</a>                 <strong>if</strong> (aTag != <strong>null</strong>) {
+<a name="544" href="#544">544</a>                     preformattedTags.add(aTag.toString().toUpperCase());
+<a name="545" href="#545">545</a>                 }
+<a name="546" href="#546">546</a>             }
+<a name="547" href="#547">547</a>         }
+<a name="548" href="#548">548</a>     }
+<a name="549" href="#549">549</a> 
+<a name="550" href="#550">550</a>     <em>/**<em>*</em></em>
+<a name="551" href="#551">551</a> <em>     * DOCUMENT ME!</em>
+<a name="552" href="#552">552</a> <em>     * </em>
+<a name="553" href="#553">553</a> <em>     * @param qualifiedName</em>
+<a name="554" href="#554">554</a> <em>     *            DOCUMENT ME!</em>
+<a name="555" href="#555">555</a> <em>     * </em>
+<a name="556" href="#556">556</a> <em>     * @return true if the qualifiedName passed in matched (case-insensitively)</em>
+<a name="557" href="#557">557</a> <em>     *         a tag in the preformattedTags set, or false if not found or if</em>
+<a name="558" href="#558">558</a> <em>     *         the set is empty or null.</em>
+<a name="559" href="#559">559</a> <em>     * </em>
+<a name="560" href="#560">560</a> <em>     * @see #setPreformattedTags(java.util.Set) setPreformattedTags</em>
+<a name="561" href="#561">561</a> <em>     */</em>
+<a name="562" href="#562">562</a>     <strong>public</strong> <strong>boolean</strong> isPreformattedTag(String qualifiedName) {
+<a name="563" href="#563">563</a>         <em class="comment">// A null set implies that the user called setPreformattedTags(null),</em>
+<a name="564" href="#564">564</a>         <em class="comment">// which means they want no tags to be preformatted.</em>
+<a name="565" href="#565">565</a>         <strong>return</strong> (preformattedTags != <strong>null</strong>)
+<a name="566" href="#566">566</a>                 && (preformattedTags.contains(qualifiedName.toUpperCase()));
+<a name="567" href="#567">567</a>     }
+<a name="568" href="#568">568</a> 
+<a name="569" href="#569">569</a>     <em>/**<em>*</em></em>
+<a name="570" href="#570">570</a> <em>     * This override handles any elements that should not remove whitespace,</em>
+<a name="571" href="#571">571</a> <em>     * such as &lt;PRE&gt;, &lt;SCRIPT&gt;, &lt;STYLE&gt;, and &lt;TEXTAREA&gt;.</em>
+<a name="572" href="#572">572</a> <em>     * Note: the close tags won't line up with the open tag, but we can't alter</em>
+<a name="573" href="#573">573</a> <em>     * that. See javadoc note at setPreformattedTags.</em>
+<a name="574" href="#574">574</a> <em>     * </em>
+<a name="575" href="#575">575</a> <em>     * @param element</em>
+<a name="576" href="#576">576</a> <em>     *            DOCUMENT ME!</em>
+<a name="577" href="#577">577</a> <em>     * </em>
+<a name="578" href="#578">578</a> <em>     * @throws IOException</em>
+<a name="579" href="#579">579</a> <em>     *             When the stream could not be written to.</em>
+<a name="580" href="#580">580</a> <em>     * </em>
+<a name="581" href="#581">581</a> <em>     * @see #setPreformattedTags(java.util.Set) setPreformattedTags</em>
+<a name="582" href="#582">582</a> <em>     */</em>
+<a name="583" href="#583">583</a>     <strong>protected</strong> <strong>void</strong> writeElement(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="584" href="#584">584</a>         <strong>if</strong> (newLineAfterNTags == -1) { <em class="comment">// lazy initialization check</em>
+<a name="585" href="#585">585</a>             lazyInitNewLinesAfterNTags();
+<a name="586" href="#586">586</a>         }
+<a name="587" href="#587">587</a> 
+<a name="588" href="#588">588</a>         <strong>if</strong> (newLineAfterNTags > 0) {
+<a name="589" href="#589">589</a>             <strong>if</strong> ((tagsOuput > 0) && ((tagsOuput % newLineAfterNTags) == 0)) {
+<a name="590" href="#590">590</a>                 <strong>super</strong>.writer.write(lineSeparator);
+<a name="591" href="#591">591</a>             }
+<a name="592" href="#592">592</a>         }
+<a name="593" href="#593">593</a> 
+<a name="594" href="#594">594</a>         tagsOuput++;
+<a name="595" href="#595">595</a> 
+<a name="596" href="#596">596</a>         String qualifiedName = element.getQualifiedName();
+<a name="597" href="#597">597</a>         String saveLastText = lastText;
+<a name="598" href="#598">598</a>         <strong>int</strong> size = element.nodeCount();
+<a name="599" href="#599">599</a> 
+<a name="600" href="#600">600</a>         <strong>if</strong> (isPreformattedTag(qual<strong>if</strong>iedName)) {
+<a name="601" href="#601">601</a>             <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> currentFormat = getOutputFormat();
+<a name="602" href="#602">602</a>             <strong>boolean</strong> saveNewlines = currentFormat.isNewlines();
+<a name="603" href="#603">603</a>             <strong>boolean</strong> saveTrimText = currentFormat.isTrimText();
+<a name="604" href="#604">604</a>             String currentIndent = currentFormat.getIndent();
+<a name="605" href="#605">605</a> 
+<a name="606" href="#606">606</a>             <em class="comment">// You could have nested PREs, or SCRIPTS within PRE... etc.,</em>
+<a name="607" href="#607">607</a>             <em class="comment">// therefore use push and pop.</em>
+<a name="608" href="#608">608</a>             formatStack.push(<strong>new</strong> FormatState(saveNewlines, saveTrimText,
+<a name="609" href="#609">609</a>                     currentIndent));
+<a name="610" href="#610">610</a> 
+<a name="611" href="#611">611</a>             <strong>try</strong> {
+<a name="612" href="#612">612</a>                 <em class="comment">// do this manually, since it won't be done while outputting</em>
+<a name="613" href="#613">613</a>                 <em class="comment">// the tag.</em>
+<a name="614" href="#614">614</a>                 <strong>super</strong>.writePrintln();
+<a name="615" href="#615">615</a> 
+<a name="616" href="#616">616</a>                 <strong>if</strong> ((saveLastText.trim().length() == 0)
+<a name="617" href="#617">617</a>                         && (currentIndent != <strong>null</strong>)
+<a name="618" href="#618">618</a>                         && (currentIndent.length() > 0)) {
+<a name="619" href="#619">619</a>                     <em class="comment">// We are indenting, but we want to line up with the close</em>
+<a name="620" href="#620">620</a>                     <em class="comment">// tag. lastText was the indent (whitespace, no \n) before</em>
+<a name="621" href="#621">621</a>                     <em class="comment">// the preformatted start tag. So write it out instead of</em>
+<a name="622" href="#622">622</a>                     <em class="comment">// the current indent level. This makes it line up with its</em>
+<a name="623" href="#623">623</a>                     <em class="comment">// close tag.</em>
+<a name="624" href="#624">624</a>                     <strong>super</strong>.writer.write(justSpaces(saveLastText));
+<a name="625" href="#625">625</a>                 }
+<a name="626" href="#626">626</a> 
+<a name="627" href="#627">627</a>                 <em class="comment">// actually, newlines are handled in this class by writeString,</em>
+<a name="628" href="#628">628</a>                 <em class="comment">// depending on if the stack is empty.</em>
+<a name="629" href="#629">629</a>                 currentFormat.setNewlines(false);
+<a name="630" href="#630">630</a>                 currentFormat.setTrimText(false);
+<a name="631" href="#631">631</a>                 currentFormat.setIndent(<span class="string">""</span>);
+<a name="632" href="#632">632</a> 
+<a name="633" href="#633">633</a>                 <em class="comment">// This line is the recursive one:</em>
+<a name="634" href="#634">634</a>                 <strong>super</strong>.writeElement(element);
+<a name="635" href="#635">635</a>             } <strong>finally</strong> {
+<a name="636" href="#636">636</a>                 FormatState state = (FormatState) formatStack.pop();
+<a name="637" href="#637">637</a>                 currentFormat.setNewlines(state.isNewlines());
+<a name="638" href="#638">638</a>                 currentFormat.setTrimText(state.isTrimText());
+<a name="639" href="#639">639</a>                 currentFormat.setIndent(state.getIndent());
+<a name="640" href="#640">640</a>             }
+<a name="641" href="#641">641</a>         } <strong>else</strong> {
+<a name="642" href="#642">642</a>             <strong>super</strong>.writeElement(element);
+<a name="643" href="#643">643</a>         }
+<a name="644" href="#644">644</a>     }
+<a name="645" href="#645">645</a> 
+<a name="646" href="#646">646</a>     <strong>private</strong> String justSpaces(String text) {
+<a name="647" href="#647">647</a>         <strong>int</strong> size = text.length();
+<a name="648" href="#648">648</a>         StringBuffer res = <strong>new</strong> StringBuffer(size);
+<a name="649" href="#649">649</a>         <strong>char</strong> c;
+<a name="650" href="#650">650</a> 
+<a name="651" href="#651">651</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="652" href="#652">652</a>             c = text.charAt(i);
+<a name="653" href="#653">653</a> 
+<a name="654" href="#654">654</a>             <strong>switch</strong> (c) {
+<a name="655" href="#655">655</a>                 <strong>case</strong> '\r':
+<a name="656" href="#656">656</a>                 <strong>case</strong> '\n':
+<a name="657" href="#657">657</a> 
+<a name="658" href="#658">658</a>                     <strong>continue</strong>;
+<a name="659" href="#659">659</a> 
+<a name="660" href="#660">660</a>                 <strong>default</strong>:
+<a name="661" href="#661">661</a>                     res.append(c);
+<a name="662" href="#662">662</a>             }
+<a name="663" href="#663">663</a>         }
+<a name="664" href="#664">664</a> 
+<a name="665" href="#665">665</a>         <strong>return</strong> res.toString();
+<a name="666" href="#666">666</a>     }
+<a name="667" href="#667">667</a> 
+<a name="668" href="#668">668</a>     <strong>private</strong> <strong>void</strong> lazyInitNewLinesAfterNTags() {
+<a name="669" href="#669">669</a>         <strong>if</strong> (getOutputFormat().isNewlines()) {
+<a name="670" href="#670">670</a>             <em class="comment">// don't bother, newlines are going to happen anyway.</em>
+<a name="671" href="#671">671</a>             newLineAfterNTags = 0;
+<a name="672" href="#672">672</a>         } <strong>else</strong> {
+<a name="673" href="#673">673</a>             newLineAfterNTags = getOutputFormat().getNewLineAfterNTags();
+<a name="674" href="#674">674</a>         }
+<a name="675" href="#675">675</a>     }
+<a name="676" href="#676">676</a> 
+<a name="677" href="#677">677</a>     <em class="comment">// Convenience methods, static, with bunch-o-defaults</em>
+<a name="678" href="#678">678</a> 
+<a name="679" href="#679">679</a>     <em>/**<em>*</em></em>
+<a name="680" href="#680">680</a> <em>     * Convenience method to just get a String result.</em>
+<a name="681" href="#681">681</a> <em>     * </em>
+<a name="682" href="#682">682</a> <em>     * @param html</em>
+<a name="683" href="#683">683</a> <em>     *            DOCUMENT ME!</em>
+<a name="684" href="#684">684</a> <em>     * </em>
+<a name="685" href="#685">685</a> <em>     * @return a pretty printed String from the source string, preserving</em>
+<a name="686" href="#686">686</a> <em>     *         whitespace in the defaultPreformattedTags set, and leaving the</em>
+<a name="687" href="#687">687</a> <em>     *         close tags off of the default omitElementCloseSet set. Use one of</em>
+<a name="688" href="#688">688</a> <em>     *         the write methods if you want stream output.</em>
+<a name="689" href="#689">689</a> <em>     * </em>
+<a name="690" href="#690">690</a> <em>     * @throws java.io.IOException</em>
+<a name="691" href="#691">691</a> <em>     * @throws java.io.UnsupportedEncodingException</em>
+<a name="692" href="#692">692</a> <em>     * @throws org.dom4j.DocumentException</em>
+<a name="693" href="#693">693</a> <em>     */</em>
+<a name="694" href="#694">694</a>     <strong>public</strong> <strong>static</strong> String prettyPrintHTML(String html)
+<a name="695" href="#695">695</a>             throws java.io.IOException, java.io.UnsupportedEncodingException,
+<a name="696" href="#696">696</a>             org.dom4j.DocumentException {
+<a name="697" href="#697">697</a>         <strong>return</strong> prettyPrintHTML(html, <strong>true</strong>, <strong>true</strong>, false, <strong>true</strong>);
+<a name="698" href="#698">698</a>     }
+<a name="699" href="#699">699</a> 
+<a name="700" href="#700">700</a>     <em>/**<em>*</em></em>
+<a name="701" href="#701">701</a> <em>     * Convenience method to just get a String result, but <b>As XHTML </b>.</em>
+<a name="702" href="#702">702</a> <em>     * </em>
+<a name="703" href="#703">703</a> <em>     * @param html</em>
+<a name="704" href="#704">704</a> <em>     *            DOCUMENT ME!</em>
+<a name="705" href="#705">705</a> <em>     * </em>
+<a name="706" href="#706">706</a> <em>     * @return a pretty printed String from the source string, preserving</em>
+<a name="707" href="#707">707</a> <em>     *         whitespace in the defaultPreformattedTags set, but conforming to</em>
+<a name="708" href="#708">708</a> <em>     *         XHTML: no close tags are omitted (though if empty, they will be</em>
+<a name="709" href="#709">709</a> <em>     *         converted to XHTML empty tags: &lt;HR/&gt; Use one of the write</em>
+<a name="710" href="#710">710</a> <em>     *         methods if you want stream output.</em>
+<a name="711" href="#711">711</a> <em>     * </em>
+<a name="712" href="#712">712</a> <em>     * @throws java.io.IOException</em>
+<a name="713" href="#713">713</a> <em>     * @throws java.io.UnsupportedEncodingException</em>
+<a name="714" href="#714">714</a> <em>     * @throws org.dom4j.DocumentException</em>
+<a name="715" href="#715">715</a> <em>     */</em>
+<a name="716" href="#716">716</a>     <strong>public</strong> <strong>static</strong> String prettyPrintXHTML(String html)
+<a name="717" href="#717">717</a>             throws java.io.IOException, java.io.UnsupportedEncodingException,
+<a name="718" href="#718">718</a>             org.dom4j.DocumentException {
+<a name="719" href="#719">719</a>         <strong>return</strong> prettyPrintHTML(html, <strong>true</strong>, <strong>true</strong>, <strong>true</strong>, false);
+<a name="720" href="#720">720</a>     }
+<a name="721" href="#721">721</a> 
+<a name="722" href="#722">722</a>     <em>/**<em>*</em></em>
+<a name="723" href="#723">723</a> <em>     * DOCUMENT ME!</em>
+<a name="724" href="#724">724</a> <em>     * </em>
+<a name="725" href="#725">725</a> <em>     * @param html</em>
+<a name="726" href="#726">726</a> <em>     *            DOCUMENT ME!</em>
+<a name="727" href="#727">727</a> <em>     * @param newlines</em>
+<a name="728" href="#728">728</a> <em>     *            DOCUMENT ME!</em>
+<a name="729" href="#729">729</a> <em>     * @param trim</em>
+<a name="730" href="#730">730</a> <em>     *            DOCUMENT ME!</em>
+<a name="731" href="#731">731</a> <em>     * @param isXHTML</em>
+<a name="732" href="#732">732</a> <em>     *            DOCUMENT ME!</em>
+<a name="733" href="#733">733</a> <em>     * @param expandEmpty</em>
+<a name="734" href="#734">734</a> <em>     *            DOCUMENT ME!</em>
+<a name="735" href="#735">735</a> <em>     * </em>
+<a name="736" href="#736">736</a> <em>     * @return a pretty printed String from the source string, preserving</em>
+<a name="737" href="#737">737</a> <em>     *         whitespace in the defaultPreformattedTags set, and leaving the</em>
+<a name="738" href="#738">738</a> <em>     *         close tags off of the default omitElementCloseSet set. This</em>
+<a name="739" href="#739">739</a> <em>     *         override allows you to specify various formatter options. Use one</em>
+<a name="740" href="#740">740</a> <em>     *         of the write methods if you want stream output.</em>
+<a name="741" href="#741">741</a> <em>     * </em>
+<a name="742" href="#742">742</a> <em>     * @throws java.io.IOException</em>
+<a name="743" href="#743">743</a> <em>     * @throws java.io.UnsupportedEncodingException</em>
+<a name="744" href="#744">744</a> <em>     * @throws org.dom4j.DocumentException</em>
+<a name="745" href="#745">745</a> <em>     */</em>
+<a name="746" href="#746">746</a>     <strong>public</strong> <strong>static</strong> String prettyPrintHTML(String html, <strong>boolean</strong> newlines,
+<a name="747" href="#747">747</a>             <strong>boolean</strong> trim, <strong>boolean</strong> isXHTML, <strong>boolean</strong> expandEmpty)
+<a name="748" href="#748">748</a>             throws java.io.IOException, java.io.UnsupportedEncodingException,
+<a name="749" href="#749">749</a>             org.dom4j.DocumentException {
+<a name="750" href="#750">750</a>         StringWriter sw = <strong>new</strong> StringWriter();
+<a name="751" href="#751">751</a>         <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format = OutputFormat.createPrettyPrint();
+<a name="752" href="#752">752</a>         format.setNewlines(newlines);
+<a name="753" href="#753">753</a>         format.setTrimText(trim);
+<a name="754" href="#754">754</a>         format.setXHTML(isXHTML);
+<a name="755" href="#755">755</a>         format.setExpandEmptyElements(expandEmpty);
+<a name="756" href="#756">756</a> 
+<a name="757" href="#757">757</a>         <a href="../../../org/dom4j/io/HTMLWriter.html">HTMLWriter</a> writer = <strong>new</strong> <a href="../../../org/dom4j/io/HTMLWriter.html">HTMLWriter</a>(sw, format);
+<a name="758" href="#758">758</a>         <a href="../../../org/dom4j/Document.html">Document</a> document = DocumentHelper.parseText(html);
+<a name="759" href="#759">759</a>         writer.write(document);
+<a name="760" href="#760">760</a>         writer.flush();
+<a name="761" href="#761">761</a> 
+<a name="762" href="#762">762</a>         <strong>return</strong> sw.toString();
+<a name="763" href="#763">763</a>     }
+<a name="764" href="#764">764</a> 
+<a name="765" href="#765">765</a>     <em class="comment">// Allows us to the current state of the format in this struct on the</em>
+<a name="766" href="#766">766</a>     <em class="comment">// formatStack.</em>
+<a name="767" href="#767">767</a>     <strong>private</strong> <strong>class</strong> FormatState {
+<a name="768" href="#768">768</a>         <strong>private</strong> <strong>boolean</strong> newlines = false;
+<a name="769" href="#769">769</a> 
+<a name="770" href="#770">770</a>         <strong>private</strong> <strong>boolean</strong> trimText = false;
+<a name="771" href="#771">771</a> 
+<a name="772" href="#772">772</a>         <strong>private</strong> String indent = <span class="string">""</span>;
+<a name="773" href="#773">773</a> 
+<a name="774" href="#774">774</a>         <strong>public</strong> FormatState(<strong>boolean</strong> newLines, <strong>boolean</strong> trimText, String indent) {
+<a name="775" href="#775">775</a>             <strong>this</strong>.newlines = newLines;
+<a name="776" href="#776">776</a>             <strong>this</strong>.trimText = trimText;
+<a name="777" href="#777">777</a>             <strong>this</strong>.indent = indent;
+<a name="778" href="#778">778</a>         }
+<a name="779" href="#779">779</a> 
+<a name="780" href="#780">780</a>         <strong>public</strong> <strong>boolean</strong> isNewlines() {
+<a name="781" href="#781">781</a>             <strong>return</strong> newlines;
+<a name="782" href="#782">782</a>         }
+<a name="783" href="#783">783</a> 
+<a name="784" href="#784">784</a>         <strong>public</strong> <strong>boolean</strong> isTrimText() {
+<a name="785" href="#785">785</a>             <strong>return</strong> trimText;
+<a name="786" href="#786">786</a>         }
+<a name="787" href="#787">787</a> 
+<a name="788" href="#788">788</a>         <strong>public</strong> String getIndent() {
+<a name="789" href="#789">789</a>             <strong>return</strong> indent;
+<a name="790" href="#790">790</a>         }
+<a name="791" href="#791">791</a>     }
+<a name="792" href="#792">792</a> }
+<a name="793" href="#793">793</a> 
+<a name="794" href="#794">794</a> <em class="comment">/*</em>
+<a name="795" href="#795">795</a> <em class="comment"> * <html> <head> <title>My Title </title> <style> .foo { text-align: Right; }</em>
+<a name="796" href="#796">796</a> <em class="comment"> * </style> <script> function mojo(){ return "bar"; } </script> <script</em>
+<a name="797" href="#797">797</a> <em class="comment"> * language="JavaScript"> <!-- //this is the canonical javascript hiding.</em>
+<a name="798" href="#798">798</a> <em class="comment"> * function foo(){ return "foo"; } //--> </script> </head> <!-- this is a</em>
+<a name="799" href="#799">799</a> <em class="comment"> * comment --> <body bgcolor="#A4BFDD" mojo="&amp;"> entities: &#160; &amp;</em>
+<a name="800" href="#800">800</a> <em class="comment"> * &quot; &lt; &gt; %23 <p></p> <mojo> </mojo> <foo /> <table border="1"> <tr></em>
+<a name="801" href="#801">801</a> <em class="comment"> * <td><pre> line0 <hr /> line1 <b>line2, should line up, indent-wise </b> line</em>
+<a name="802" href="#802">802</a> <em class="comment"> * 3 line 4 </pre></td><td></td></tr> </table> <myCDATAElement> <![CDATA[My</em>
+<a name="803" href="#803">803</a> <em class="comment"> * data]]> </myCDATAElement> </body> </html></em>
+<a name="804" href="#804">804</a> <em class="comment"> */</em>
+<a name="805" href="#805">805</a> 
+<a name="806" href="#806">806</a> <em class="comment">/*</em>
+<a name="807" href="#807">807</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="808" href="#808">808</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="809" href="#809">809</a> <em class="comment"> * following conditions are met:</em>
+<a name="810" href="#810">810</a> <em class="comment"> * </em>
+<a name="811" href="#811">811</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="812" href="#812">812</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="813" href="#813">813</a> <em class="comment"> * </em>
+<a name="814" href="#814">814</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="815" href="#815">815</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="816" href="#816">816</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="817" href="#817">817</a> <em class="comment"> * </em>
+<a name="818" href="#818">818</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="819" href="#819">819</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="820" href="#820">820</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="821" href="#821">821</a> <em class="comment"> * </em>
+<a name="822" href="#822">822</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="823" href="#823">823</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="824" href="#824">824</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="825" href="#825">825</a> <em class="comment"> * </em>
+<a name="826" href="#826">826</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="827" href="#827">827</a> <em class="comment"> * </em>
+<a name="828" href="#828">828</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="829" href="#829">829</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="830" href="#830">830</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="831" href="#831">831</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="832" href="#832">832</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="833" href="#833">833</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="834" href="#834">834</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="835" href="#835">835</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="836" href="#836">836</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="837" href="#837">837</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="838" href="#838">838</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="839" href="#839">839</a> <em class="comment"> * </em>
+<a name="840" href="#840">840</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="841" href="#841">841</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/JAXPHelper.html b/docs/xref/org/dom4j/io/JAXPHelper.html
new file mode 100644
index 0000000..687da7b
--- /dev/null
+++ b/docs/xref/org/dom4j/io/JAXPHelper.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>JAXPHelper xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/JAXPHelper.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> javax.xml.parsers.DocumentBuilder;
+<a name="11" href="#11">11</a>  <strong>import</strong> javax.xml.parsers.DocumentBuilderFactory;
+<a name="12" href="#12">12</a>  <strong>import</strong> javax.xml.parsers.SAXParser;
+<a name="13" href="#13">13</a>  <strong>import</strong> javax.xml.parsers.SAXParserFactory;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <code>JAXPHelper</code> contains some helper methods for working with JAXP.</em>
+<a name="19" href="#19">19</a>  <em> * These methods are kept in a seperate class to avoid class loading issues,</em>
+<a name="20" href="#20">20</a>  <em> * such that dom4j can work without JAXP on the CLASSPATH</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>class</strong> <a href="../../../org/dom4j/io/JAXPHelper.html">JAXPHelper</a> {
+<a name="26" href="#26">26</a>      <strong>protected</strong> <a href="../../../org/dom4j/io/JAXPHelper.html">JAXPHelper</a>() {
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em>/**<em>*</em></em>
+<a name="30" href="#30">30</a>  <em>     * This method attempts to use JAXP to locate the SAX2 XMLReader</em>
+<a name="31" href="#31">31</a>  <em>     * implementation. This method uses reflection to avoid being dependent</em>
+<a name="32" href="#32">32</a>  <em>     * directly on the JAXP classes.</em>
+<a name="33" href="#33">33</a>  <em>     * </em>
+<a name="34" href="#34">34</a>  <em>     * @param validating</em>
+<a name="35" href="#35">35</a>  <em>     *            DOCUMENT ME!</em>
+<a name="36" href="#36">36</a>  <em>     * @param namespaceAware</em>
+<a name="37" href="#37">37</a>  <em>     *            DOCUMENT ME!</em>
+<a name="38" href="#38">38</a>  <em>     * </em>
+<a name="39" href="#39">39</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="40" href="#40">40</a>  <em>     * </em>
+<a name="41" href="#41">41</a>  <em>     * @throws Exception</em>
+<a name="42" href="#42">42</a>  <em>     *             DOCUMENT ME!</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>      <strong>public</strong> <strong>static</strong> XMLReader createXMLReader(<strong>boolean</strong> validating,
+<a name="45" href="#45">45</a>              <strong>boolean</strong> namespaceAware) throws Exception {
+<a name="46" href="#46">46</a>          SAXParserFactory factory = SAXParserFactory.newInstance();
+<a name="47" href="#47">47</a>          factory.setValidating(validating);
+<a name="48" href="#48">48</a>          factory.setNamespaceAware(namespaceAware);
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          SAXParser parser = factory.newSAXParser();
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          <strong>return</strong> parser.getXMLReader();
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> <strong>static</strong> org.w3c.dom.Document createDocument(<strong>boolean</strong> validating,
+<a name="56" href="#56">56</a>              <strong>boolean</strong> namespaceAware) throws Exception {
+<a name="57" href="#57">57</a>          DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+<a name="58" href="#58">58</a>          factory.setValidating(validating);
+<a name="59" href="#59">59</a>          factory.setNamespaceAware(namespaceAware);
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          DocumentBuilder builder = factory.newDocumentBuilder();
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          <strong>return</strong> builder.newDocument();
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>  <em class="comment">/*</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * following conditions are met:</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="102" href="#102">102</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/OutputFormat.html b/docs/xref/org/dom4j/io/OutputFormat.html
new file mode 100644
index 0000000..9474e5a
--- /dev/null
+++ b/docs/xref/org/dom4j/io/OutputFormat.html
@@ -0,0 +1,604 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>OutputFormat xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/OutputFormat.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>OutputFormat</code> represents the format configuration used by</em>
+<a name="13" href="#13">13</a>  <em> * {@linkXMLWriter}and its base classes to format the XML output</em>
+<a name="14" href="#14">14</a>  <em> * </p></em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="17" href="#17">17</a>  <em> * @version $Revision: 1.17 $</em>
+<a name="18" href="#18">18</a>  <em> */</em>
+<a name="19" href="#19">19</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> implements Cloneable {
+<a name="20" href="#20">20</a>      <em>/**<em>* standard value to indent by, if we are indenting */</em></em>
+<a name="21" href="#21">21</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String STANDARD_INDENT = <span class="string">"  "</span>;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>      <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em>     * Whether or not to suppress the XML declaration - default is</em>
+<a name="25" href="#25">25</a>  <em>     * <code>false</code></em>
+<a name="26" href="#26">26</a>  <em>     */</em>
+<a name="27" href="#27">27</a>      <strong>private</strong> <strong>boolean</strong> suppressDeclaration = false;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em>/**<em>*</em></em>
+<a name="30" href="#30">30</a>  <em>     * Whether or not to print new line after the XML declaration - default is</em>
+<a name="31" href="#31">31</a>  <em>     * <code>true</code></em>
+<a name="32" href="#32">32</a>  <em>     */</em>
+<a name="33" href="#33">33</a>      <strong>private</strong> <strong>boolean</strong> newLineAfterDeclaration = <strong>true</strong>;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>* The encoding format */</em></em>
+<a name="36" href="#36">36</a>      <strong>private</strong> String encoding = <span class="string">"UTF-8"</span>;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>*</em></em>
+<a name="39" href="#39">39</a>  <em>     * Whether or not to output the encoding in the XML declaration - default is</em>
+<a name="40" href="#40">40</a>  <em>     * <code>false</code></em>
+<a name="41" href="#41">41</a>  <em>     */</em>
+<a name="42" href="#42">42</a>      <strong>private</strong> <strong>boolean</strong> omitEncoding = false;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em>/**<em>* The default indent is no spaces (as original document) */</em></em>
+<a name="45" href="#45">45</a>      <strong>private</strong> String indent = <strong>null</strong>;
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <em>/**<em>*</em></em>
+<a name="48" href="#48">48</a>  <em>     * Whether or not to expand empty elements to</em>
+<a name="49" href="#49">49</a>  <em>     * &lt;tagName&gt;&lt;/tagName&gt; - default is <code>false</code></em>
+<a name="50" href="#50">50</a>  <em>     */</em>
+<a name="51" href="#51">51</a>      <strong>private</strong> <strong>boolean</strong> expandEmptyElements = false;
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <em>/**<em>*</em></em>
+<a name="54" href="#54">54</a>  <em>     * The default new line flag, set to do new lines only as in original</em>
+<a name="55" href="#55">55</a>  <em>     * document</em>
+<a name="56" href="#56">56</a>  <em>     */</em>
+<a name="57" href="#57">57</a>      <strong>private</strong> <strong>boolean</strong> newlines = false;
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <em>/**<em>* New line separator */</em></em>
+<a name="60" href="#60">60</a>      <strong>private</strong> String lineSeparator = <span class="string">"\n"</span>;
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em>/**<em>* should we preserve whitespace or not in text nodes? */</em></em>
+<a name="63" href="#63">63</a>      <strong>private</strong> <strong>boolean</strong> trimText = false;
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <em>/**<em>* pad string-element boundaries with whitespace */</em></em>
+<a name="66" href="#66">66</a>      <strong>private</strong> <strong>boolean</strong> padText = false;
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <em>/**<em>* Whether or not to use XHTML standard. */</em></em>
+<a name="69" href="#69">69</a>      <strong>private</strong> <strong>boolean</strong> doXHTML = false;
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em>/**<em>*</em></em>
+<a name="72" href="#72">72</a>  <em>     * Controls when to output a line.separtor every so many tags in case of no</em>
+<a name="73" href="#73">73</a>  <em>     * lines and total text trimming.</em>
+<a name="74" href="#74">74</a>  <em>     */</em>
+<a name="75" href="#75">75</a>      <strong>private</strong> <strong>int</strong> newLineAfterNTags = 0; <em class="comment">// zero means don't bother.</em>
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <em>/**<em>* Quote character to use when writing attributes. */</em></em>
+<a name="78" href="#78">78</a>      <strong>private</strong> <strong>char</strong> attributeQuoteChar = '\"';
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <em>/**<em>*</em></em>
+<a name="81" href="#81">81</a>  <em>     * Creates an <code>OutputFormat</code> with no additional whitespace</em>
+<a name="82" href="#82">82</a>  <em>     * (indent or new lines) added. The whitespace from the element text content</em>
+<a name="83" href="#83">83</a>  <em>     * is fully preserved.</em>
+<a name="84" href="#84">84</a>  <em>     */</em>
+<a name="85" href="#85">85</a>      <strong>public</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>() {
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <em>/**<em>*</em></em>
+<a name="89" href="#89">89</a>  <em>     * Creates an <code>OutputFormat</code> with the given indent added but no</em>
+<a name="90" href="#90">90</a>  <em>     * new lines added. All whitespace from element text will be included.</em>
+<a name="91" href="#91">91</a>  <em>     * </em>
+<a name="92" href="#92">92</a>  <em>     * @param indent</em>
+<a name="93" href="#93">93</a>  <em>     *            is the indent string to be used for indentation (usually a</em>
+<a name="94" href="#94">94</a>  <em>     *            number of spaces).</em>
+<a name="95" href="#95">95</a>  <em>     */</em>
+<a name="96" href="#96">96</a>      <strong>public</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>(String indent) {
+<a name="97" href="#97">97</a>          <strong>this</strong>.indent = indent;
+<a name="98" href="#98">98</a>      }
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <em>/**<em>*</em></em>
+<a name="101" href="#101">101</a> <em>     * Creates an <code>OutputFormat</code> with the given indent added with</em>
+<a name="102" href="#102">102</a> <em>     * optional newlines between the Elements. All whitespace from element text</em>
+<a name="103" href="#103">103</a> <em>     * will be included.</em>
+<a name="104" href="#104">104</a> <em>     * </em>
+<a name="105" href="#105">105</a> <em>     * @param indent</em>
+<a name="106" href="#106">106</a> <em>     *            is the indent string to be used for indentation (usually a</em>
+<a name="107" href="#107">107</a> <em>     *            number of spaces).</em>
+<a name="108" href="#108">108</a> <em>     * @param newlines</em>
+<a name="109" href="#109">109</a> <em>     *            whether new lines are added to layout the</em>
+<a name="110" href="#110">110</a> <em>     */</em>
+<a name="111" href="#111">111</a>     <strong>public</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>(String indent, <strong>boolean</strong> newlines) {
+<a name="112" href="#112">112</a>         <strong>this</strong>.indent = indent;
+<a name="113" href="#113">113</a>         <strong>this</strong>.newlines = newlines;
+<a name="114" href="#114">114</a>     }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>     <em>/**<em>*</em></em>
+<a name="117" href="#117">117</a> <em>     * Creates an <code>OutputFormat</code> with the given indent added with</em>
+<a name="118" href="#118">118</a> <em>     * optional newlines between the Elements and the given encoding format.</em>
+<a name="119" href="#119">119</a> <em>     * </em>
+<a name="120" href="#120">120</a> <em>     * @param indent</em>
+<a name="121" href="#121">121</a> <em>     *            is the indent string to be used for indentation (usually a</em>
+<a name="122" href="#122">122</a> <em>     *            number of spaces).</em>
+<a name="123" href="#123">123</a> <em>     * @param newlines</em>
+<a name="124" href="#124">124</a> <em>     *            whether new lines are added to layout the</em>
+<a name="125" href="#125">125</a> <em>     * @param encoding</em>
+<a name="126" href="#126">126</a> <em>     *            is the text encoding to use for writing the XML</em>
+<a name="127" href="#127">127</a> <em>     */</em>
+<a name="128" href="#128">128</a>     <strong>public</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>(String indent, <strong>boolean</strong> newlines, String encoding) {
+<a name="129" href="#129">129</a>         <strong>this</strong>.indent = indent;
+<a name="130" href="#130">130</a>         <strong>this</strong>.newlines = newlines;
+<a name="131" href="#131">131</a>         <strong>this</strong>.encoding = encoding;
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>     <strong>public</strong> String getLineSeparator() {
+<a name="135" href="#135">135</a>         <strong>return</strong> lineSeparator;
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <em>/**<em>*</em></em>
+<a name="139" href="#139">139</a> <em>     * <p></em>
+<a name="140" href="#140">140</a> <em>     * This will set the new-line separator. The default is <code>\n</code>.</em>
+<a name="141" href="#141">141</a> <em>     * Note that if the "newlines" property is false, this value is irrelevant.</em>
+<a name="142" href="#142">142</a> <em>     * To make it output the system default line ending string, call</em>
+<a name="143" href="#143">143</a> <em>     * <code>setLineSeparator(System.getProperty("line.separator"))</code></em>
+<a name="144" href="#144">144</a> <em>     * </p></em>
+<a name="145" href="#145">145</a> <em>     * </em>
+<a name="146" href="#146">146</a> <em>     * @param separator</em>
+<a name="147" href="#147">147</a> <em>     *            <code>String</code> line separator to use.</em>
+<a name="148" href="#148">148</a> <em>     * </em>
+<a name="149" href="#149">149</a> <em>     * @see #setNewlines(boolean)</em>
+<a name="150" href="#150">150</a> <em>     */</em>
+<a name="151" href="#151">151</a>     <strong>public</strong> <strong>void</strong> setLineSeparator(String separator) {
+<a name="152" href="#152">152</a>         lineSeparator = separator;
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> <strong>boolean</strong> isNewlines() {
+<a name="156" href="#156">156</a>         <strong>return</strong> newlines;
+<a name="157" href="#157">157</a>     }
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>     <em>/**<em>*</em></em>
+<a name="160" href="#160">160</a> <em>     * DOCUMENT ME!</em>
+<a name="161" href="#161">161</a> <em>     * </em>
+<a name="162" href="#162">162</a> <em>     * @param newlines</em>
+<a name="163" href="#163">163</a> <em>     *            <code>true</code> indicates new lines should be printed,</em>
+<a name="164" href="#164">164</a> <em>     *            else new lines are ignored (compacted).</em>
+<a name="165" href="#165">165</a> <em>     * </em>
+<a name="166" href="#166">166</a> <em>     * @see #setLineSeparator(String)</em>
+<a name="167" href="#167">167</a> <em>     */</em>
+<a name="168" href="#168">168</a>     <strong>public</strong> <strong>void</strong> setNewlines(<strong>boolean</strong> newlines) {
+<a name="169" href="#169">169</a>         <strong>this</strong>.newlines = newlines;
+<a name="170" href="#170">170</a>     }
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>     <strong>public</strong> String getEncoding() {
+<a name="173" href="#173">173</a>         <strong>return</strong> encoding;
+<a name="174" href="#174">174</a>     }
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>     <em>/**<em>*</em></em>
+<a name="177" href="#177">177</a> <em>     * DOCUMENT ME!</em>
+<a name="178" href="#178">178</a> <em>     * </em>
+<a name="179" href="#179">179</a> <em>     * @param encoding</em>
+<a name="180" href="#180">180</a> <em>     *            encoding format</em>
+<a name="181" href="#181">181</a> <em>     */</em>
+<a name="182" href="#182">182</a>     <strong>public</strong> <strong>void</strong> setEncoding(String encoding) {
+<a name="183" href="#183">183</a>         <strong>if</strong> (encoding != <strong>null</strong>) {
+<a name="184" href="#184">184</a>             <strong>this</strong>.encoding = encoding;
+<a name="185" href="#185">185</a>         }
+<a name="186" href="#186">186</a>     }
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>     <strong>public</strong> <strong>boolean</strong> isOmitEncoding() {
+<a name="189" href="#189">189</a>         <strong>return</strong> omitEncoding;
+<a name="190" href="#190">190</a>     }
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>     <em>/**<em>*</em></em>
+<a name="193" href="#193">193</a> <em>     * <p></em>
+<a name="194" href="#194">194</a> <em>     * This will set whether the XML declaration (<code>&lt;?xml version="1.0"</em>
+<a name="195" href="#195">195</a> <em>     * encoding="UTF-8"?&gt;</code>)</em>
+<a name="196" href="#196">196</a> <em>     * includes the encoding of the document. It is common to suppress this in</em>
+<a name="197" href="#197">197</a> <em>     * protocols such as WML and SOAP.</em>
+<a name="198" href="#198">198</a> <em>     * </p></em>
+<a name="199" href="#199">199</a> <em>     * </em>
+<a name="200" href="#200">200</a> <em>     * @param omitEncoding</em>
+<a name="201" href="#201">201</a> <em>     *            <code>boolean</code> indicating whether or not the XML</em>
+<a name="202" href="#202">202</a> <em>     *            declaration should indicate the document encoding.</em>
+<a name="203" href="#203">203</a> <em>     */</em>
+<a name="204" href="#204">204</a>     <strong>public</strong> <strong>void</strong> setOmitEncoding(<strong>boolean</strong> omitEncoding) {
+<a name="205" href="#205">205</a>         <strong>this</strong>.omitEncoding = omitEncoding;
+<a name="206" href="#206">206</a>     }
+<a name="207" href="#207">207</a> 
+<a name="208" href="#208">208</a>     <em>/**<em>*</em></em>
+<a name="209" href="#209">209</a> <em>     * <p></em>
+<a name="210" href="#210">210</a> <em>     * This will set whether the XML declaration (<code>&lt;?xml version="1.0"</em>
+<a name="211" href="#211">211</a> <em>     * encoding="UTF-8"?&gt;</code>)</em>
+<a name="212" href="#212">212</a> <em>     * is included or not. It is common to suppress this in protocols such as</em>
+<a name="213" href="#213">213</a> <em>     * WML and SOAP.</em>
+<a name="214" href="#214">214</a> <em>     * </p></em>
+<a name="215" href="#215">215</a> <em>     * </em>
+<a name="216" href="#216">216</a> <em>     * @param suppressDeclaration</em>
+<a name="217" href="#217">217</a> <em>     *            <code>boolean</code> indicating whether or not the XML</em>
+<a name="218" href="#218">218</a> <em>     *            declaration should be suppressed.</em>
+<a name="219" href="#219">219</a> <em>     */</em>
+<a name="220" href="#220">220</a>     <strong>public</strong> <strong>void</strong> setSuppressDeclaration(<strong>boolean</strong> suppressDeclaration) {
+<a name="221" href="#221">221</a>         <strong>this</strong>.suppressDeclaration = suppressDeclaration;
+<a name="222" href="#222">222</a>     }
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>     <em>/**<em>*</em></em>
+<a name="225" href="#225">225</a> <em>     * DOCUMENT ME!</em>
+<a name="226" href="#226">226</a> <em>     * </em>
+<a name="227" href="#227">227</a> <em>     * @return true if the output of the XML declaration (<code>&lt;?xml</em>
+<a name="228" href="#228">228</a> <em>     *         version="1.0"?&gt;</code>)</em>
+<a name="229" href="#229">229</a> <em>     *         should be suppressed else false.</em>
+<a name="230" href="#230">230</a> <em>     */</em>
+<a name="231" href="#231">231</a>     <strong>public</strong> <strong>boolean</strong> isSuppressDeclaration() {
+<a name="232" href="#232">232</a>         <strong>return</strong> suppressDeclaration;
+<a name="233" href="#233">233</a>     }
+<a name="234" href="#234">234</a> 
+<a name="235" href="#235">235</a>     <em>/**<em>*</em></em>
+<a name="236" href="#236">236</a> <em>     * <p></em>
+<a name="237" href="#237">237</a> <em>     * This will set whether a new line is printed after the XML declaration</em>
+<a name="238" href="#238">238</a> <em>     * (assuming it is not supressed.)</em>
+<a name="239" href="#239">239</a> <em>     * </p></em>
+<a name="240" href="#240">240</a> <em>     * </em>
+<a name="241" href="#241">241</a> <em>     * @param newLineAfterDeclaration</em>
+<a name="242" href="#242">242</a> <em>     *            <code>boolean</code> indicating whether or not to print new</em>
+<a name="243" href="#243">243</a> <em>     *            line following the XML declaration. The default is true.</em>
+<a name="244" href="#244">244</a> <em>     */</em>
+<a name="245" href="#245">245</a>     <strong>public</strong> <strong>void</strong> setNewLineAfterDeclaration(<strong>boolean</strong> newLineAfterDeclaration) {
+<a name="246" href="#246">246</a>         <strong>this</strong>.newLineAfterDeclaration = newLineAfterDeclaration;
+<a name="247" href="#247">247</a>     }
+<a name="248" href="#248">248</a> 
+<a name="249" href="#249">249</a>     <em>/**<em>*</em></em>
+<a name="250" href="#250">250</a> <em>     * DOCUMENT ME!</em>
+<a name="251" href="#251">251</a> <em>     * </em>
+<a name="252" href="#252">252</a> <em>     * @return true if a new line should be printed following XML declaration</em>
+<a name="253" href="#253">253</a> <em>     */</em>
+<a name="254" href="#254">254</a>     <strong>public</strong> <strong>boolean</strong> isNewLineAfterDeclaration() {
+<a name="255" href="#255">255</a>         <strong>return</strong> newLineAfterDeclaration;
+<a name="256" href="#256">256</a>     }
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a>     <strong>public</strong> <strong>boolean</strong> isExpandEmptyElements() {
+<a name="259" href="#259">259</a>         <strong>return</strong> expandEmptyElements;
+<a name="260" href="#260">260</a>     }
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>     <em>/**<em>*</em></em>
+<a name="263" href="#263">263</a> <em>     * <p></em>
+<a name="264" href="#264">264</a> <em>     * This will set whether empty elements are expanded from</em>
+<a name="265" href="#265">265</a> <em>     * <code>&lt;tagName&gt;</code> to</em>
+<a name="266" href="#266">266</a> <em>     * <code>&lt;tagName&gt;&lt;/tagName&gt;</code>.</em>
+<a name="267" href="#267">267</a> <em>     * </p></em>
+<a name="268" href="#268">268</a> <em>     * </em>
+<a name="269" href="#269">269</a> <em>     * @param expandEmptyElements</em>
+<a name="270" href="#270">270</a> <em>     *            <code>boolean</code> indicating whether or not empty</em>
+<a name="271" href="#271">271</a> <em>     *            elements should be expanded.</em>
+<a name="272" href="#272">272</a> <em>     */</em>
+<a name="273" href="#273">273</a>     <strong>public</strong> <strong>void</strong> setExpandEmptyElements(<strong>boolean</strong> expandEmptyElements) {
+<a name="274" href="#274">274</a>         <strong>this</strong>.expandEmptyElements = expandEmptyElements;
+<a name="275" href="#275">275</a>     }
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a>     <strong>public</strong> <strong>boolean</strong> isTrimText() {
+<a name="278" href="#278">278</a>         <strong>return</strong> trimText;
+<a name="279" href="#279">279</a>     }
+<a name="280" href="#280">280</a> 
+<a name="281" href="#281">281</a>     <em>/**<em>*</em></em>
+<a name="282" href="#282">282</a> <em>     * <p></em>
+<a name="283" href="#283">283</a> <em>     * This will set whether the text is output verbatim (false) or with</em>
+<a name="284" href="#284">284</a> <em>     * whitespace stripped as per <code>{@link</em>
+<a name="285" href="#285">285</a> <em>     * org.dom4j.Element#getTextTrim()}</code>.</em>
+<a name="286" href="#286">286</a> <em>     * </p></em>
+<a name="287" href="#287">287</a> <em>     * </em>
+<a name="288" href="#288">288</a> <em>     * <p></em>
+<a name="289" href="#289">289</a> <em>     * </p></em>
+<a name="290" href="#290">290</a> <em>     * </em>
+<a name="291" href="#291">291</a> <em>     * <p></em>
+<a name="292" href="#292">292</a> <em>     * Default: false</em>
+<a name="293" href="#293">293</a> <em>     * </p></em>
+<a name="294" href="#294">294</a> <em>     * </em>
+<a name="295" href="#295">295</a> <em>     * @param trimText</em>
+<a name="296" href="#296">296</a> <em>     *            <code>boolean</code> true=>trim the whitespace, false=>use</em>
+<a name="297" href="#297">297</a> <em>     *            text verbatim</em>
+<a name="298" href="#298">298</a> <em>     */</em>
+<a name="299" href="#299">299</a>     <strong>public</strong> <strong>void</strong> setTrimText(<strong>boolean</strong> trimText) {
+<a name="300" href="#300">300</a>         <strong>this</strong>.trimText = trimText;
+<a name="301" href="#301">301</a>     }
+<a name="302" href="#302">302</a> 
+<a name="303" href="#303">303</a>     <strong>public</strong> <strong>boolean</strong> isPadText() {
+<a name="304" href="#304">304</a>         <strong>return</strong> padText;
+<a name="305" href="#305">305</a>     }
+<a name="306" href="#306">306</a> 
+<a name="307" href="#307">307</a>     <em>/**<em>*</em></em>
+<a name="308" href="#308">308</a> <em>     * <p></em>
+<a name="309" href="#309">309</a> <em>     * Ensure that text immediately preceded by or followed by an element will</em>
+<a name="310" href="#310">310</a> <em>     * be "padded" with a single space. This is used to allow make</em>
+<a name="311" href="#311">311</a> <em>     * browser-friendly HTML, avoiding trimText's transformation of, e.g.,</em>
+<a name="312" href="#312">312</a> <em>     * <code>The quick &lt;b&gt;brown&lt;/b&gt; fox</code> into <code>The</em>
+<a name="313" href="#313">313</a> <em>     * quick&lt;b&gt;brown&lt;/b&gt;fox</code></em>
+<a name="314" href="#314">314</a> <em>     * (the latter will run the three separate words together into a single</em>
+<a name="315" href="#315">315</a> <em>     * word). This setting is not too useful if you haven't also called</em>
+<a name="316" href="#316">316</a> <em>     * {@link #setTrimText}.</em>
+<a name="317" href="#317">317</a> <em>     * </p></em>
+<a name="318" href="#318">318</a> <em>     * </em>
+<a name="319" href="#319">319</a> <em>     * <p></em>
+<a name="320" href="#320">320</a> <em>     * The padding string will only be added if the text itself starts or ends</em>
+<a name="321" href="#321">321</a> <em>     * with some whitespace characters.</em>
+<a name="322" href="#322">322</a> <em>     * </p></em>
+<a name="323" href="#323">323</a> <em>     * </em>
+<a name="324" href="#324">324</a> <em>     * <p></em>
+<a name="325" href="#325">325</a> <em>     * Default: false</em>
+<a name="326" href="#326">326</a> <em>     * </p></em>
+<a name="327" href="#327">327</a> <em>     * </em>
+<a name="328" href="#328">328</a> <em>     * @param padText</em>
+<a name="329" href="#329">329</a> <em>     *            <code>boolean</code> if true, pad string-element boundaries</em>
+<a name="330" href="#330">330</a> <em>     */</em>
+<a name="331" href="#331">331</a>     <strong>public</strong> <strong>void</strong> setPadText(<strong>boolean</strong> padText) {
+<a name="332" href="#332">332</a>         <strong>this</strong>.padText = padText;
+<a name="333" href="#333">333</a>     }
+<a name="334" href="#334">334</a> 
+<a name="335" href="#335">335</a>     <strong>public</strong> String getIndent() {
+<a name="336" href="#336">336</a>         <strong>return</strong> indent;
+<a name="337" href="#337">337</a>     }
+<a name="338" href="#338">338</a> 
+<a name="339" href="#339">339</a>     <em>/**<em>*</em></em>
+<a name="340" href="#340">340</a> <em>     * <p></em>
+<a name="341" href="#341">341</a> <em>     * This will set the indent <code>String</code> to use; this is usually a</em>
+<a name="342" href="#342">342</a> <em>     * <code>String</code> of empty spaces. If you pass null, or the empty</em>
+<a name="343" href="#343">343</a> <em>     * string (""), then no indentation will happen.</em>
+<a name="344" href="#344">344</a> <em>     * </p></em>
+<a name="345" href="#345">345</a> <em>     * Default: none (null)</em>
+<a name="346" href="#346">346</a> <em>     * </em>
+<a name="347" href="#347">347</a> <em>     * @param indent</em>
+<a name="348" href="#348">348</a> <em>     *            <code>String</code> to use for indentation.</em>
+<a name="349" href="#349">349</a> <em>     */</em>
+<a name="350" href="#350">350</a>     <strong>public</strong> <strong>void</strong> setIndent(String indent) {
+<a name="351" href="#351">351</a>         <em class="comment">// nullify empty string to void unnecessary indentation code</em>
+<a name="352" href="#352">352</a>         <strong>if</strong> ((indent != <strong>null</strong>) && (indent.length() <= 0)) {
+<a name="353" href="#353">353</a>             indent = <strong>null</strong>;
+<a name="354" href="#354">354</a>         }
+<a name="355" href="#355">355</a> 
+<a name="356" href="#356">356</a>         <strong>this</strong>.indent = indent;
+<a name="357" href="#357">357</a>     }
+<a name="358" href="#358">358</a> 
+<a name="359" href="#359">359</a>     <em>/**<em>*</em></em>
+<a name="360" href="#360">360</a> <em>     * Set the indent on or off. If setting on, will use the value of</em>
+<a name="361" href="#361">361</a> <em>     * STANDARD_INDENT, which is usually two spaces.</em>
+<a name="362" href="#362">362</a> <em>     * </em>
+<a name="363" href="#363">363</a> <em>     * @param doIndent</em>
+<a name="364" href="#364">364</a> <em>     *            if true, set indenting on; if false, set indenting off</em>
+<a name="365" href="#365">365</a> <em>     */</em>
+<a name="366" href="#366">366</a>     <strong>public</strong> <strong>void</strong> setIndent(<strong>boolean</strong> doIndent) {
+<a name="367" href="#367">367</a>         <strong>if</strong> (doIndent) {
+<a name="368" href="#368">368</a>             <strong>this</strong>.indent = STANDARD_INDENT;
+<a name="369" href="#369">369</a>         } <strong>else</strong> {
+<a name="370" href="#370">370</a>             <strong>this</strong>.indent = <strong>null</strong>;
+<a name="371" href="#371">371</a>         }
+<a name="372" href="#372">372</a>     }
+<a name="373" href="#373">373</a> 
+<a name="374" href="#374">374</a>     <em>/**<em>*</em></em>
+<a name="375" href="#375">375</a> <em>     * <p></em>
+<a name="376" href="#376">376</a> <em>     * This will set the indent <code>String</code>'s size; an indentSize of</em>
+<a name="377" href="#377">377</a> <em>     * 4 would result in the indention being equivalent to the</em>
+<a name="378" href="#378">378</a> <em>     * <code>String</code> "&nbsp;&nbsp;&nbsp;&nbsp;" (four space characters).</em>
+<a name="379" href="#379">379</a> <em>     * </p></em>
+<a name="380" href="#380">380</a> <em>     * </em>
+<a name="381" href="#381">381</a> <em>     * @param indentSize</em>
+<a name="382" href="#382">382</a> <em>     *            <code>int</code> number of spaces in indentation.</em>
+<a name="383" href="#383">383</a> <em>     */</em>
+<a name="384" href="#384">384</a>     <strong>public</strong> <strong>void</strong> setIndentSize(<strong>int</strong> indentSize) {
+<a name="385" href="#385">385</a>         StringBuffer indentBuffer = <strong>new</strong> StringBuffer();
+<a name="386" href="#386">386</a> 
+<a name="387" href="#387">387</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < indentSize; i++) {
+<a name="388" href="#388">388</a>             indentBuffer.append(<span class="string">" "</span>);
+<a name="389" href="#389">389</a>         }
+<a name="390" href="#390">390</a> 
+<a name="391" href="#391">391</a>         <strong>this</strong>.indent = indentBuffer.toString();
+<a name="392" href="#392">392</a>     }
+<a name="393" href="#393">393</a> 
+<a name="394" href="#394">394</a>     <em>/**<em>*</em></em>
+<a name="395" href="#395">395</a> <em>     * <p></em>
+<a name="396" href="#396">396</a> <em>     * Whether or not to use the XHTML standard: like HTML but passes an XML</em>
+<a name="397" href="#397">397</a> <em>     * parser with real, closed tags. Also, XHTML CDATA sections will be output</em>
+<a name="398" href="#398">398</a> <em>     * with the CDATA delimiters: ( &quot; <b>&lt;![CDATA[ </b>&quot; and &quot;</em>
+<a name="399" href="#399">399</a> <em>     * <b>]]&gt; </b>&quot; ) otherwise, the class HTMLWriter will output the</em>
+<a name="400" href="#400">400</a> <em>     * CDATA text, but not the delimiters.</em>
+<a name="401" href="#401">401</a> <em>     * </p></em>
+<a name="402" href="#402">402</a> <em>     * </em>
+<a name="403" href="#403">403</a> <em>     * <p></em>
+<a name="404" href="#404">404</a> <em>     * Default is <code>false</code></em>
+<a name="405" href="#405">405</a> <em>     * </p></em>
+<a name="406" href="#406">406</a> <em>     * </em>
+<a name="407" href="#407">407</a> <em>     * @return DOCUMENT ME!</em>
+<a name="408" href="#408">408</a> <em>     */</em>
+<a name="409" href="#409">409</a>     <strong>public</strong> <strong>boolean</strong> isXHTML() {
+<a name="410" href="#410">410</a>         <strong>return</strong> doXHTML;
+<a name="411" href="#411">411</a>     }
+<a name="412" href="#412">412</a> 
+<a name="413" href="#413">413</a>     <em>/**<em>*</em></em>
+<a name="414" href="#414">414</a> <em>     * <p></em>
+<a name="415" href="#415">415</a> <em>     * This will set whether or not to use the XHTML standard: like HTML but</em>
+<a name="416" href="#416">416</a> <em>     * passes an XML parser with real, closed tags. Also, XHTML CDATA sections</em>
+<a name="417" href="#417">417</a> <em>     * will be output with the CDATA delimiters: ( &quot; <b>&lt;[CDATA[</em>
+<a name="418" href="#418">418</a> <em>     * </b>&quot; and &quot; <b>]]&lt; </b>) otherwise, the class HTMLWriter</em>
+<a name="419" href="#419">419</a> <em>     * will output the CDATA text, but not the delimiters.</em>
+<a name="420" href="#420">420</a> <em>     * </p></em>
+<a name="421" href="#421">421</a> <em>     * </em>
+<a name="422" href="#422">422</a> <em>     * <p></em>
+<a name="423" href="#423">423</a> <em>     * Default: false</em>
+<a name="424" href="#424">424</a> <em>     * </p></em>
+<a name="425" href="#425">425</a> <em>     * </em>
+<a name="426" href="#426">426</a> <em>     * @param xhtml</em>
+<a name="427" href="#427">427</a> <em>     *            <code>boolean</code> true=>conform to XHTML, false=>conform</em>
+<a name="428" href="#428">428</a> <em>     *            to HTML, can have unclosed tags, etc.</em>
+<a name="429" href="#429">429</a> <em>     */</em>
+<a name="430" href="#430">430</a>     <strong>public</strong> <strong>void</strong> setXHTML(<strong>boolean</strong> xhtml) {
+<a name="431" href="#431">431</a>         doXHTML = xhtml;
+<a name="432" href="#432">432</a>     }
+<a name="433" href="#433">433</a> 
+<a name="434" href="#434">434</a>     <strong>public</strong> <strong>int</strong> getNewLineAfterNTags() {
+<a name="435" href="#435">435</a>         <strong>return</strong> newLineAfterNTags;
+<a name="436" href="#436">436</a>     }
+<a name="437" href="#437">437</a> 
+<a name="438" href="#438">438</a>     <em>/**<em>*</em></em>
+<a name="439" href="#439">439</a> <em>     * Controls output of a line.separator every tagCount tags when isNewlines</em>
+<a name="440" href="#440">440</a> <em>     * is false. If tagCount equals zero, it means don't do anything special. If</em>
+<a name="441" href="#441">441</a> <em>     * greater than zero, then a line.separator will be output after tagCount</em>
+<a name="442" href="#442">442</a> <em>     * tags have been output. Used when you would like to squeeze the html as</em>
+<a name="443" href="#443">443</a> <em>     * much as possible, but some browsers don't like really long lines. A tag</em>
+<a name="444" href="#444">444</a> <em>     * count of 10 would produce a line.separator in the output after 10 close</em>
+<a name="445" href="#445">445</a> <em>     * tags (including single tags).</em>
+<a name="446" href="#446">446</a> <em>     * </em>
+<a name="447" href="#447">447</a> <em>     * @param tagCount</em>
+<a name="448" href="#448">448</a> <em>     *            DOCUMENT ME!</em>
+<a name="449" href="#449">449</a> <em>     */</em>
+<a name="450" href="#450">450</a>     <strong>public</strong> <strong>void</strong> setNewLineAfterNTags(<strong>int</strong> tagCount) {
+<a name="451" href="#451">451</a>         newLineAfterNTags = tagCount;
+<a name="452" href="#452">452</a>     }
+<a name="453" href="#453">453</a> 
+<a name="454" href="#454">454</a>     <strong>public</strong> <strong>char</strong> getAttributeQuoteCharacter() {
+<a name="455" href="#455">455</a>         <strong>return</strong> attributeQuoteChar;
+<a name="456" href="#456">456</a>     }
+<a name="457" href="#457">457</a> 
+<a name="458" href="#458">458</a>     <em>/**<em>*</em></em>
+<a name="459" href="#459">459</a> <em>     * Sets the character used to quote attribute values. The specified</em>
+<a name="460" href="#460">460</a> <em>     * character must be a valid XML attribute quote character, otherwise an</em>
+<a name="461" href="#461">461</a> <em>     * <code>IllegalArgumentException</code> will be thrown.</em>
+<a name="462" href="#462">462</a> <em>     * </em>
+<a name="463" href="#463">463</a> <em>     * @param quoteChar</em>
+<a name="464" href="#464">464</a> <em>     *            The character to use when quoting attribute values.</em>
+<a name="465" href="#465">465</a> <em>     * </em>
+<a name="466" href="#466">466</a> <em>     * @throws IllegalArgumentException</em>
+<a name="467" href="#467">467</a> <em>     *             If the specified character is not a valid XML attribute quote</em>
+<a name="468" href="#468">468</a> <em>     *             character.</em>
+<a name="469" href="#469">469</a> <em>     */</em>
+<a name="470" href="#470">470</a>     <strong>public</strong> <strong>void</strong> setAttributeQuoteCharacter(<strong>char</strong> quoteChar) {
+<a name="471" href="#471">471</a>         <strong>if</strong> ((quoteChar == '\'') || (quoteChar == '"')) {
+<a name="472" href="#472">472</a>             attributeQuoteChar = quoteChar;
+<a name="473" href="#473">473</a>         } <strong>else</strong> {
+<a name="474" href="#474">474</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Invalid attribute quote "</span>
+<a name="475" href="#475">475</a>                     + <span class="string">"character ("</span> + quoteChar + <span class="string">")"</span>);
+<a name="476" href="#476">476</a>         }
+<a name="477" href="#477">477</a>     }
+<a name="478" href="#478">478</a> 
+<a name="479" href="#479">479</a>     <em>/**<em>*</em></em>
+<a name="480" href="#480">480</a> <em>     * Parses command line arguments of the form <code>-omitEncoding</em>
+<a name="481" href="#481">481</a> <em>     * -indentSize 3 -newlines -trimText</code></em>
+<a name="482" href="#482">482</a> <em>     * </em>
+<a name="483" href="#483">483</a> <em>     * @param args</em>
+<a name="484" href="#484">484</a> <em>     *            is the array of command line arguments</em>
+<a name="485" href="#485">485</a> <em>     * @param i</em>
+<a name="486" href="#486">486</a> <em>     *            is the index in args to start parsing options</em>
+<a name="487" href="#487">487</a> <em>     * </em>
+<a name="488" href="#488">488</a> <em>     * @return the index of first parameter that we didn't understand</em>
+<a name="489" href="#489">489</a> <em>     */</em>
+<a name="490" href="#490">490</a>     <strong>public</strong> <strong>int</strong> parseOptions(String[] args, <strong>int</strong> i) {
+<a name="491" href="#491">491</a>         <strong>for</strong> (<strong>int</strong> size = args.length; i < size; i++) {
+<a name="492" href="#492">492</a>             <strong>if</strong> (args[i].equals(<span class="string">"-suppressDeclaration"</span>)) {
+<a name="493" href="#493">493</a>                 setSuppressDeclaration(<strong>true</strong>);
+<a name="494" href="#494">494</a>             } <strong>else</strong> <strong>if</strong> (args[i].equals(<span class="string">"-omitEncoding"</span>)) {
+<a name="495" href="#495">495</a>                 setOmitEncoding(<strong>true</strong>);
+<a name="496" href="#496">496</a>             } <strong>else</strong> <strong>if</strong> (args[i].equals(<span class="string">"-indent"</span>)) {
+<a name="497" href="#497">497</a>                 setIndent(args[++i]);
+<a name="498" href="#498">498</a>             } <strong>else</strong> <strong>if</strong> (args[i].equals(<span class="string">"-indentSize"</span>)) {
+<a name="499" href="#499">499</a>                 setIndentSize(Integer.parseInt(args[++i]));
+<a name="500" href="#500">500</a>             } <strong>else</strong> <strong>if</strong> (args[i].startsWith(<span class="string">"-expandEmpty"</span>)) {
+<a name="501" href="#501">501</a>                 setExpandEmptyElements(<strong>true</strong>);
+<a name="502" href="#502">502</a>             } <strong>else</strong> <strong>if</strong> (args[i].equals(<span class="string">"-encoding"</span>)) {
+<a name="503" href="#503">503</a>                 setEncoding(args[++i]);
+<a name="504" href="#504">504</a>             } <strong>else</strong> <strong>if</strong> (args[i].equals(<span class="string">"-newlines"</span>)) {
+<a name="505" href="#505">505</a>                 setNewlines(<strong>true</strong>);
+<a name="506" href="#506">506</a>             } <strong>else</strong> <strong>if</strong> (args[i].equals(<span class="string">"-lineSeparator"</span>)) {
+<a name="507" href="#507">507</a>                 setLineSeparator(args[++i]);
+<a name="508" href="#508">508</a>             } <strong>else</strong> <strong>if</strong> (args[i].equals(<span class="string">"-trimText"</span>)) {
+<a name="509" href="#509">509</a>                 setTrimText(<strong>true</strong>);
+<a name="510" href="#510">510</a>             } <strong>else</strong> <strong>if</strong> (args[i].equals(<span class="string">"-padText"</span>)) {
+<a name="511" href="#511">511</a>                 setPadText(<strong>true</strong>);
+<a name="512" href="#512">512</a>             } <strong>else</strong> <strong>if</strong> (args[i].startsWith(<span class="string">"-xhtml"</span>)) {
+<a name="513" href="#513">513</a>                 setXHTML(<strong>true</strong>);
+<a name="514" href="#514">514</a>             } <strong>else</strong> {
+<a name="515" href="#515">515</a>                 <strong>return</strong> i;
+<a name="516" href="#516">516</a>             }
+<a name="517" href="#517">517</a>         }
+<a name="518" href="#518">518</a> 
+<a name="519" href="#519">519</a>         <strong>return</strong> i;
+<a name="520" href="#520">520</a>     }
+<a name="521" href="#521">521</a> 
+<a name="522" href="#522">522</a>     <em>/**<em>*</em></em>
+<a name="523" href="#523">523</a> <em>     * A static helper method to create the default pretty printing format. This</em>
+<a name="524" href="#524">524</a> <em>     * format consists of an indent of 2 spaces, newlines after each element and</em>
+<a name="525" href="#525">525</a> <em>     * all other whitespace trimmed, and XMTML is false.</em>
+<a name="526" href="#526">526</a> <em>     * </em>
+<a name="527" href="#527">527</a> <em>     * @return DOCUMENT ME!</em>
+<a name="528" href="#528">528</a> <em>     */</em>
+<a name="529" href="#529">529</a>     <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> createPrettyPrint() {
+<a name="530" href="#530">530</a>         <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format = <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>();
+<a name="531" href="#531">531</a>         format.setIndentSize(2);
+<a name="532" href="#532">532</a>         format.setNewlines(<strong>true</strong>);
+<a name="533" href="#533">533</a>         format.setTrimText(<strong>true</strong>);
+<a name="534" href="#534">534</a>         format.setPadText(<strong>true</strong>);
+<a name="535" href="#535">535</a> 
+<a name="536" href="#536">536</a>         <strong>return</strong> format;
+<a name="537" href="#537">537</a>     }
+<a name="538" href="#538">538</a> 
+<a name="539" href="#539">539</a>     <em>/**<em>*</em></em>
+<a name="540" href="#540">540</a> <em>     * A static helper method to create the default compact format. This format</em>
+<a name="541" href="#541">541</a> <em>     * does not have any indentation or newlines after an alement and all other</em>
+<a name="542" href="#542">542</a> <em>     * whitespace trimmed</em>
+<a name="543" href="#543">543</a> <em>     * </em>
+<a name="544" href="#544">544</a> <em>     * @return DOCUMENT ME!</em>
+<a name="545" href="#545">545</a> <em>     */</em>
+<a name="546" href="#546">546</a>     <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> createCompactFormat() {
+<a name="547" href="#547">547</a>         <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format = <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>();
+<a name="548" href="#548">548</a>         format.setIndent(false);
+<a name="549" href="#549">549</a>         format.setNewlines(false);
+<a name="550" href="#550">550</a>         format.setTrimText(<strong>true</strong>);
+<a name="551" href="#551">551</a> 
+<a name="552" href="#552">552</a>         <strong>return</strong> format;
+<a name="553" href="#553">553</a>     }
+<a name="554" href="#554">554</a> }
+<a name="555" href="#555">555</a> 
+<a name="556" href="#556">556</a> <em class="comment">/*</em>
+<a name="557" href="#557">557</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="558" href="#558">558</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="559" href="#559">559</a> <em class="comment"> * following conditions are met:</em>
+<a name="560" href="#560">560</a> <em class="comment"> * </em>
+<a name="561" href="#561">561</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="562" href="#562">562</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="563" href="#563">563</a> <em class="comment"> * </em>
+<a name="564" href="#564">564</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="565" href="#565">565</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="566" href="#566">566</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="567" href="#567">567</a> <em class="comment"> * </em>
+<a name="568" href="#568">568</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="569" href="#569">569</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="570" href="#570">570</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="571" href="#571">571</a> <em class="comment"> * </em>
+<a name="572" href="#572">572</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="573" href="#573">573</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="574" href="#574">574</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="575" href="#575">575</a> <em class="comment"> * </em>
+<a name="576" href="#576">576</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="577" href="#577">577</a> <em class="comment"> * </em>
+<a name="578" href="#578">578</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="579" href="#579">579</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="580" href="#580">580</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="581" href="#581">581</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="582" href="#582">582</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="583" href="#583">583</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="584" href="#584">584</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="585" href="#585">585</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="586" href="#586">586</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="587" href="#587">587</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="588" href="#588">588</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="589" href="#589">589</a> <em class="comment"> * </em>
+<a name="590" href="#590">590</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="591" href="#591">591</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/PruningDispatchHandler.html b/docs/xref/org/dom4j/io/PruningDispatchHandler.html
new file mode 100644
index 0000000..421bd57
--- /dev/null
+++ b/docs/xref/org/dom4j/io/PruningDispatchHandler.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PruningDispatchHandler xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/PruningDispatchHandler.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.ElementPath;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * This extension on the {@link DispatchHandler}prunes the current {@link</em>
+<a name="14" href="#14">14</a>  <em> * org.dom4j.Element} when there are no {@link ElementHandler}objects active</em>
+<a name="15" href="#15">15</a>  <em> * the element.</em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author Wonne keysers (Realsoftware)</em>
+<a name="18" href="#18">18</a>  <em> */</em>
+<a name="19" href="#19">19</a>  <strong>class</strong> <a href="../../../org/dom4j/io/PruningDispatchHandler.html">PruningDispatchHandler</a> <strong>extends</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> {
+<a name="20" href="#20">20</a>      <strong>public</strong> <strong>void</strong> onEnd(<a href="../../../org/dom4j/ElementPath.html">ElementPath</a> elementPath) {
+<a name="21" href="#21">21</a>          <strong>super</strong>.onEnd(elementPath);
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>          <strong>if</strong> (getActiveHandlerCount() == 0) {
+<a name="24" href="#24">24</a>              elementPath.getCurrent().detach();
+<a name="25" href="#25">25</a>          }
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>  <em class="comment">/*</em>
+<a name="30" href="#30">30</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="32" href="#32">32</a>  <em class="comment"> * following conditions are met:</em>
+<a name="33" href="#33">33</a>  <em class="comment"> * </em>
+<a name="34" href="#34">34</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * </em>
+<a name="37" href="#37">37</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * </em>
+<a name="45" href="#45">45</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="50" href="#50">50</a>  <em class="comment"> * </em>
+<a name="51" href="#51">51</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="64" href="#64">64</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/PruningElementStack.html b/docs/xref/org/dom4j/io/PruningElementStack.html
new file mode 100644
index 0000000..e3dd8bf
--- /dev/null
+++ b/docs/xref/org/dom4j/io/PruningElementStack.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PruningElementStack xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/PruningElementStack.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>PruningElementStack</code> is a stack of {@link Element}instances</em>
+<a name="16" href="#16">16</a>  <em> * which will prune the tree when a path expression is reached. This is useful</em>
+<a name="17" href="#17">17</a>  <em> * for parsing very large documents where children of the root element can be</em>
+<a name="18" href="#18">18</a>  <em> * processed individually rather than keeping them all in memory at the same</em>
+<a name="19" href="#19">19</a>  <em> * time.</em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.11 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>class</strong> <a href="../../../org/dom4j/io/PruningElementStack.html">PruningElementStack</a> <strong>extends</strong> <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a> {
+<a name="26" href="#26">26</a>      <em>/**<em>* <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> to call when pruning occurs */</em></em>
+<a name="27" href="#27">27</a>      <strong>private</strong> <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> elementHandler;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em>/**<em>*</em></em>
+<a name="30" href="#30">30</a>  <em>     * the element name path which denotes the node to remove from its parent</em>
+<a name="31" href="#31">31</a>  <em>     * when it is complete (i.e. when it is popped from the stack). The first</em>
+<a name="32" href="#32">32</a>  <em>     * entry in the path will be a child of the root node</em>
+<a name="33" href="#33">33</a>  <em>     */</em>
+<a name="34" href="#34">34</a>      <strong>private</strong> String[] path;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * The level at which a path match can occur. We match when we have popped</em>
+<a name="38" href="#38">38</a>  <em>     * the selected node so the and the lastElementIndex points to its parent so</em>
+<a name="39" href="#39">39</a>  <em>     * this value should be path.length - 2</em>
+<a name="40" href="#40">40</a>  <em>     */</em>
+<a name="41" href="#41">41</a>      <strong>private</strong> <strong>int</strong> matchingElementIndex;
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> <a href="../../../org/dom4j/io/PruningElementStack.html">PruningElementStack</a>(String[] path, <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> elementHandler) {
+<a name="44" href="#44">44</a>          <strong>this</strong>.path = path;
+<a name="45" href="#45">45</a>          <strong>this</strong>.elementHandler = elementHandler;
+<a name="46" href="#46">46</a>          checkPath();
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../org/dom4j/io/PruningElementStack.html">PruningElementStack</a>(String[] path, <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> elementHandler,
+<a name="50" href="#50">50</a>              <strong>int</strong> defaultCapacity) {
+<a name="51" href="#51">51</a>          <strong>super</strong>(defaultCapacity);
+<a name="52" href="#52">52</a>          <strong>this</strong>.path = path;
+<a name="53" href="#53">53</a>          <strong>this</strong>.elementHandler = elementHandler;
+<a name="54" href="#54">54</a>          checkPath();
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> popElement() {
+<a name="58" href="#58">58</a>          <a href="../../../org/dom4j/Element.html">Element</a> answer = <strong>super</strong>.popElement();
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>if</strong> ((lastElementIndex == matchingElementIndex)
+<a name="61" href="#61">61</a>                  && (lastElementIndex >= 0)) {
+<a name="62" href="#62">62</a>              <em class="comment">// we are popping the correct level in the tree</em>
+<a name="63" href="#63">63</a>              <em class="comment">// lets check if the path fits</em>
+<a name="64" href="#64">64</a>              <em class="comment">//</em>
+<a name="65" href="#65">65</a>              <em class="comment">// NOTE: this is an inefficient way of doing it - we could</em>
+<a name="66" href="#66">66</a>              <em class="comment">// maintain a history of which parts matched?</em>
+<a name="67" href="#67">67</a>              <strong>if</strong> (validElement(answer, lastElementIndex + 1)) {
+<a name="68" href="#68">68</a>                  <a href="../../../org/dom4j/Element.html">Element</a> parent = <strong>null</strong>;
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>                  <strong>for</strong> (<strong>int</strong> i = 0; i <= lastElementIndex; i++) {
+<a name="71" href="#71">71</a>                      parent = stack[i];
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>                      <strong>if</strong> (!validElement(parent, i)) {
+<a name="74" href="#74">74</a>                          parent = <strong>null</strong>;
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>                          <strong>break</strong>;
+<a name="77" href="#77">77</a>                      }
+<a name="78" href="#78">78</a>                  }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>                  <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="81" href="#81">81</a>                      pathMatches(parent, answer);
+<a name="82" href="#82">82</a>                  }
+<a name="83" href="#83">83</a>              }
+<a name="84" href="#84">84</a>          }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>          <strong>return</strong> answer;
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>protected</strong> <strong>void</strong> pathMatches(<a href="../../../org/dom4j/Element.html">Element</a> parent, <a href="../../../org/dom4j/Element.html">Element</a> selectedNode) {
+<a name="90" href="#90">90</a>          elementHandler.onEnd(<strong>this</strong>);
+<a name="91" href="#91">91</a>          parent.remove(selectedNode);
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <strong>protected</strong> <strong>boolean</strong> validElement(<a href="../../../org/dom4j/Element.html">Element</a> element, <strong>int</strong> index) {
+<a name="95" href="#95">95</a>          String requiredName = path[index];
+<a name="96" href="#96">96</a>          String name = element.getName();
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          <strong>if</strong> (requiredName == name) {
+<a name="99" href="#99">99</a>              <strong>return</strong> <strong>true</strong>;
+<a name="100" href="#100">100</a>         }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         <strong>if</strong> ((requiredName != <strong>null</strong>) && (name != <strong>null</strong>)) {
+<a name="103" href="#103">103</a>             <strong>return</strong> requiredName.equals(name);
+<a name="104" href="#104">104</a>         }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         <strong>return</strong> false;
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>private</strong> <strong>void</strong> checkPath() {
+<a name="110" href="#110">110</a>         <strong>if</strong> (path.length < 2) {
+<a name="111" href="#111">111</a>             <strong>throw</strong> <strong>new</strong> RuntimeException(<span class="string">"Invalid path of length: "</span> + path.length
+<a name="112" href="#112">112</a>                     + <span class="string">" it must be greater than 2"</span>);
+<a name="113" href="#113">113</a>         }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         matchingElementIndex = path.length - 2;
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a> <em class="comment">/*</em>
+<a name="120" href="#120">120</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="121" href="#121">121</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="122" href="#122">122</a> <em class="comment"> * following conditions are met:</em>
+<a name="123" href="#123">123</a> <em class="comment"> * </em>
+<a name="124" href="#124">124</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="125" href="#125">125</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="126" href="#126">126</a> <em class="comment"> * </em>
+<a name="127" href="#127">127</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="128" href="#128">128</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="129" href="#129">129</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="132" href="#132">132</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="133" href="#133">133</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="136" href="#136">136</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="137" href="#137">137</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="138" href="#138">138</a> <em class="comment"> * </em>
+<a name="139" href="#139">139</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="140" href="#140">140</a> <em class="comment"> * </em>
+<a name="141" href="#141">141</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="142" href="#142">142</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="143" href="#143">143</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="144" href="#144">144</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="145" href="#145">145</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="146" href="#146">146</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="147" href="#147">147</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="148" href="#148">148</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="149" href="#149">149</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="150" href="#150">150</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="151" href="#151">151</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="152" href="#152">152</a> <em class="comment"> * </em>
+<a name="153" href="#153">153</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="154" href="#154">154</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXContentHandler.html b/docs/xref/org/dom4j/io/SAXContentHandler.html
new file mode 100644
index 0000000..7872284
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXContentHandler.html
@@ -0,0 +1,1019 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXContentHandler xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXContentHandler.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.lang.reflect.Method;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.ArrayList;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.HashMap;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.Map;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Document;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Element;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.QName;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.dtd.AttributeDecl;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.dtd.ElementDecl;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.dtd.ExternalEntityDecl;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.dom4j.dtd.InternalEntityDecl;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.dom4j.tree.AbstractElement;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.dom4j.tree.NamespaceStack;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>  <strong>import</strong> org.xml.sax.Attributes;
+<a name="32" href="#32">32</a>  <strong>import</strong> org.xml.sax.DTDHandler;
+<a name="33" href="#33">33</a>  <strong>import</strong> org.xml.sax.EntityResolver;
+<a name="34" href="#34">34</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="35" href="#35">35</a>  <strong>import</strong> org.xml.sax.Locator;
+<a name="36" href="#36">36</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="37" href="#37">37</a>  <strong>import</strong> org.xml.sax.SAXParseException;
+<a name="38" href="#38">38</a>  <strong>import</strong> org.xml.sax.ext.DeclHandler;
+<a name="39" href="#39">39</a>  <strong>import</strong> org.xml.sax.ext.LexicalHandler;
+<a name="40" href="#40">40</a>  <strong>import</strong> org.xml.sax.helpers.DefaultHandler;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>  <em>/**<em>*</em></em>
+<a name="43" href="#43">43</a>  <em> * <p></em>
+<a name="44" href="#44">44</a>  <em> * <code>SAXContentHandler</code> builds a dom4j tree via SAX events.</em>
+<a name="45" href="#45">45</a>  <em> * </p></em>
+<a name="46" href="#46">46</a>  <em> * </em>
+<a name="47" href="#47">47</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="48" href="#48">48</a>  <em> * @version $Revision: 1.61 $</em>
+<a name="49" href="#49">49</a>  <em> */</em>
+<a name="50" href="#50">50</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a> <strong>extends</strong> DefaultHandler implements
+<a name="51" href="#51">51</a>          LexicalHandler, DeclHandler, DTDHandler {
+<a name="52" href="#52">52</a>      <em>/**<em>* The factory used to create new <code>Document</code> instances */</em></em>
+<a name="53" href="#53">53</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory;
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em>/**<em>* The document that is being built */</em></em>
+<a name="56" href="#56">56</a>      <strong>private</strong> <a href="../../../org/dom4j/Document.html">Document</a> document;
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <em>/**<em>* stack of <code>Element</code> objects */</em></em>
+<a name="59" href="#59">59</a>      <strong>private</strong> <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a> elementStack;
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <em>/**<em>* stack of <code>Namespace</code> and <code>QName</code> objects */</em></em>
+<a name="62" href="#62">62</a>      <strong>private</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack;
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <em>/**<em>* the <code>ElementHandler</code> called as the elements are complete */</em></em>
+<a name="65" href="#65">65</a>      <strong>private</strong> <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> elementHandler;
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <em>/**<em>* the Locator */</em></em>
+<a name="68" href="#68">68</a>      <strong>private</strong> Locator locator;
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <em>/**<em>* The name of the current entity */</em></em>
+<a name="71" href="#71">71</a>      <strong>private</strong> String entity;
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <em>/**<em>* Flag used to indicate that we are inside a DTD section */</em></em>
+<a name="74" href="#74">74</a>      <strong>private</strong> <strong>boolean</strong> insideDTDSection;
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <em>/**<em>* Flag used to indicate that we are inside a <a href="../../../org/dom4j/CDATA.html">CDATA</a> section */</em></em>
+<a name="77" href="#77">77</a>      <strong>private</strong> <strong>boolean</strong> insideCDATASection;
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <em>/**<em>*</em></em>
+<a name="80" href="#80">80</a>  <em>     * buffer to hold contents of cdata section across multiple characters</em>
+<a name="81" href="#81">81</a>  <em>     * events</em>
+<a name="82" href="#82">82</a>  <em>     */</em>
+<a name="83" href="#83">83</a>      <strong>private</strong> StringBuffer cdataText;
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <em>/**<em>* namespaces that are available for use */</em></em>
+<a name="86" href="#86">86</a>      <strong>private</strong> Map availableNamespaceMap = <strong>new</strong> HashMap();
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <em>/**<em>* declared namespaces that are not yet available for use */</em></em>
+<a name="89" href="#89">89</a>      <strong>private</strong> List declaredNamespaceList = <strong>new</strong> ArrayList();
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <em>/**<em>* internal DTD declarations */</em></em>
+<a name="92" href="#92">92</a>      <strong>private</strong> List internalDTDDeclarations;
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <em>/**<em>* external DTD declarations */</em></em>
+<a name="95" href="#95">95</a>      <strong>private</strong> List externalDTDDeclarations;
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <em>/**<em>* The number of namespaces that are declared in the current scope */</em></em>
+<a name="98" href="#98">98</a>      <strong>private</strong> <strong>int</strong> declaredNamespaceIndex;
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <em>/**<em>* The entity resolver */</em></em>
+<a name="101" href="#101">101</a>     <strong>private</strong> EntityResolver entityResolver;
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <strong>private</strong> InputSource inputSource;
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em>/**<em>* The current element we are on */</em></em>
+<a name="106" href="#106">106</a>     <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> currentElement;
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>     <em>/**<em>* Should internal DTD declarations be expanded into a List in the DTD */</em></em>
+<a name="109" href="#109">109</a>     <strong>private</strong> <strong>boolean</strong> includeInternalDTDDeclarations = false;
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>     <em>/**<em>* Should external DTD declarations be expanded into a List in the DTD */</em></em>
+<a name="112" href="#112">112</a>     <strong>private</strong> <strong>boolean</strong> includeExternalDTDDeclarations = false;
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <em>/**<em>* The number of levels deep we are inside a startEntity/endEntity call */</em></em>
+<a name="115" href="#115">115</a>     <strong>private</strong> <strong>int</strong> entityLevel;
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>     <em>/**<em>* Are we in an internal DTD subset? */</em></em>
+<a name="118" href="#118">118</a>     <strong>private</strong> <strong>boolean</strong> internalDTDsubset = false;
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <em>/**<em>* Whether adjacent text nodes should be merged */</em></em>
+<a name="121" href="#121">121</a>     <strong>private</strong> <strong>boolean</strong> mergeAdjacentText = false;
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <em>/**<em>* Have we added text to the buffer */</em></em>
+<a name="124" href="#124">124</a>     <strong>private</strong> <strong>boolean</strong> textInTextBuffer = false;
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <em>/**<em>* Should we ignore comments */</em></em>
+<a name="127" href="#127">127</a>     <strong>private</strong> <strong>boolean</strong> ignoreComments = false;
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>     <em>/**<em>* Buffer used to concatenate text together */</em></em>
+<a name="130" href="#130">130</a>     <strong>private</strong> StringBuffer textBuffer;
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <em>/**<em>* Holds value of property stripWhitespaceText. */</em></em>
+<a name="133" href="#133">133</a>     <strong>private</strong> <strong>boolean</strong> stripWhitespaceText = false;
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a>() {
+<a name="136" href="#136">136</a>         <strong>this</strong>(DocumentFactory.getInstance());
+<a name="137" href="#137">137</a>     }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="140" href="#140">140</a>         <strong>this</strong>(documentFactory, <strong>null</strong>);
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory,
+<a name="144" href="#144">144</a>             <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> elementHandler) {
+<a name="145" href="#145">145</a>         <strong>this</strong>(documentFactory, elementHandler, <strong>null</strong>);
+<a name="146" href="#146">146</a>         <strong>this</strong>.elementStack = createElementStack();
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory,
+<a name="150" href="#150">150</a>             <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> elementHandler, <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a> elementStack) {
+<a name="151" href="#151">151</a>         <strong>this</strong>.documentFactory = documentFactory;
+<a name="152" href="#152">152</a>         <strong>this</strong>.elementHandler = elementHandler;
+<a name="153" href="#153">153</a>         <strong>this</strong>.elementStack = elementStack;
+<a name="154" href="#154">154</a>         <strong>this</strong>.namespaceStack = <strong>new</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>(documentFactory);
+<a name="155" href="#155">155</a>     }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>     <em>/**<em>*</em></em>
+<a name="158" href="#158">158</a> <em>     * DOCUMENT ME!</em>
+<a name="159" href="#159">159</a> <em>     * </em>
+<a name="160" href="#160">160</a> <em>     * @return the document that has been or is being built</em>
+<a name="161" href="#161">161</a> <em>     */</em>
+<a name="162" href="#162">162</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getDocument() {
+<a name="163" href="#163">163</a>         <strong>if</strong> (document == <strong>null</strong>) {
+<a name="164" href="#164">164</a>             document = createDocument();
+<a name="165" href="#165">165</a>         }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>         <strong>return</strong> document;
+<a name="168" href="#168">168</a>     }
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>     <em class="comment">// ContentHandler interface</em>
+<a name="171" href="#171">171</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="172" href="#172">172</a>     <strong>public</strong> <strong>void</strong> setDocumentLocator(Locator documentLocator) {
+<a name="173" href="#173">173</a>         <strong>this</strong>.locator = documentLocator;
+<a name="174" href="#174">174</a>     }
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>     <strong>public</strong> <strong>void</strong> processingInstruction(String target, String data)
+<a name="177" href="#177">177</a>             throws SAXException {
+<a name="178" href="#178">178</a>         <strong>if</strong> (mergeAdjacentText && textInTextBuffer) {
+<a name="179" href="#179">179</a>             completeCurrentTextNode();
+<a name="180" href="#180">180</a>         }
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>         <strong>if</strong> (currentElement != <strong>null</strong>) {
+<a name="183" href="#183">183</a>             currentElement.addProcessingInstruction(target, data);
+<a name="184" href="#184">184</a>         } <strong>else</strong> {
+<a name="185" href="#185">185</a>             getDocument().addProcessingInstruction(target, data);
+<a name="186" href="#186">186</a>         }
+<a name="187" href="#187">187</a>     }
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>     <strong>public</strong> <strong>void</strong> startPrefixMapping(String prefix, String uri)
+<a name="190" href="#190">190</a>             throws SAXException {
+<a name="191" href="#191">191</a>         namespaceStack.push(prefix, uri);
+<a name="192" href="#192">192</a>     }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>     <strong>public</strong> <strong>void</strong> endPrefixMapping(String prefix) throws SAXException {
+<a name="195" href="#195">195</a>         namespaceStack.pop(prefix);
+<a name="196" href="#196">196</a>         declaredNamespaceIndex = namespaceStack.size();
+<a name="197" href="#197">197</a>     }
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a>     <strong>public</strong> <strong>void</strong> startDocument() throws SAXException {
+<a name="200" href="#200">200</a>         <em class="comment">// document = createDocument();</em>
+<a name="201" href="#201">201</a>         document = <strong>null</strong>;
+<a name="202" href="#202">202</a>         currentElement = <strong>null</strong>;
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>         elementStack.clear();
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>         <strong>if</strong> ((elementHandler != <strong>null</strong>)
+<a name="207" href="#207">207</a>                 && (elementHandler instanceof DispatchHandler)) {
+<a name="208" href="#208">208</a>             elementStack.setDispatchHandler((DispatchHandler) elementHandler);
+<a name="209" href="#209">209</a>         }
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>         namespaceStack.clear();
+<a name="212" href="#212">212</a>         declaredNamespaceIndex = 0;
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>         <strong>if</strong> (mergeAdjacentText && (textBuffer == <strong>null</strong>)) {
+<a name="215" href="#215">215</a>             textBuffer = <strong>new</strong> StringBuffer();
+<a name="216" href="#216">216</a>         }
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>         textInTextBuffer = false;
+<a name="219" href="#219">219</a>     }
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>     <strong>public</strong> <strong>void</strong> endDocument() throws SAXException {
+<a name="222" href="#222">222</a>         namespaceStack.clear();
+<a name="223" href="#223">223</a>         elementStack.clear();
+<a name="224" href="#224">224</a>         currentElement = <strong>null</strong>;
+<a name="225" href="#225">225</a>         textBuffer = <strong>null</strong>;
+<a name="226" href="#226">226</a>     }
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>     <strong>public</strong> <strong>void</strong> startElement(String namespaceURI, String localName,
+<a name="229" href="#229">229</a>             String qualifiedName, Attributes attributes) throws SAXException {
+<a name="230" href="#230">230</a>         <strong>if</strong> (mergeAdjacentText && textInTextBuffer) {
+<a name="231" href="#231">231</a>             completeCurrentTextNode();
+<a name="232" href="#232">232</a>         }
+<a name="233" href="#233">233</a> 
+<a name="234" href="#234">234</a>         <a href="../../../org/dom4j/QName.html">QName</a> qName = namespaceStack.getQName(namespaceURI, localName,
+<a name="235" href="#235">235</a>                 qualifiedName);
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>         <a href="../../../org/dom4j/Branch.html">Branch</a> branch = currentElement;
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>         <strong>if</strong> (branch == <strong>null</strong>) {
+<a name="240" href="#240">240</a>             branch = getDocument();
+<a name="241" href="#241">241</a>         }
+<a name="242" href="#242">242</a> 
+<a name="243" href="#243">243</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = branch.addElement(qName);
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>         <em class="comment">// add all declared namespaces</em>
+<a name="246" href="#246">246</a>         addDeclaredNamespaces(element);
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>         <em class="comment">// now lets add all attribute values</em>
+<a name="249" href="#249">249</a>         addAttributes(element, attributes);
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>         elementStack.pushElement(element);
+<a name="252" href="#252">252</a>         currentElement = element;
+<a name="253" href="#253">253</a> 
+<a name="254" href="#254">254</a>         entity = <strong>null</strong>; <em class="comment">// fixes bug527062</em>
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a>         <strong>if</strong> (elementHandler != <strong>null</strong>) {
+<a name="257" href="#257">257</a>             elementHandler.onStart(elementStack);
+<a name="258" href="#258">258</a>         }
+<a name="259" href="#259">259</a>     }
+<a name="260" href="#260">260</a> 
+<a name="261" href="#261">261</a>     <strong>public</strong> <strong>void</strong> endElement(String namespaceURI, String localName, String qName)
+<a name="262" href="#262">262</a>             throws SAXException {
+<a name="263" href="#263">263</a>         <strong>if</strong> (mergeAdjacentText && textInTextBuffer) {
+<a name="264" href="#264">264</a>             completeCurrentTextNode();
+<a name="265" href="#265">265</a>         }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>         <strong>if</strong> ((elementHandler != <strong>null</strong>) && (currentElement != <strong>null</strong>)) {
+<a name="268" href="#268">268</a>             elementHandler.onEnd(elementStack);
+<a name="269" href="#269">269</a>         }
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a>         elementStack.popElement();
+<a name="272" href="#272">272</a>         currentElement = elementStack.peekElement();
+<a name="273" href="#273">273</a>     }
+<a name="274" href="#274">274</a> 
+<a name="275" href="#275">275</a>     <strong>public</strong> <strong>void</strong> <strong>char</strong>acters(<strong>char</strong>[] ch, <strong>int</strong> start, <strong>int</strong> end) throws SAXException {
+<a name="276" href="#276">276</a>         <strong>if</strong> (end == 0) {
+<a name="277" href="#277">277</a>             <strong>return</strong>;
+<a name="278" href="#278">278</a>         }
+<a name="279" href="#279">279</a> 
+<a name="280" href="#280">280</a>         <strong>if</strong> (currentElement != <strong>null</strong>) {
+<a name="281" href="#281">281</a>             <strong>if</strong> (entity != <strong>null</strong>) {
+<a name="282" href="#282">282</a>                 <strong>if</strong> (mergeAdjacentText && textInTextBuffer) {
+<a name="283" href="#283">283</a>                     completeCurrentTextNode();
+<a name="284" href="#284">284</a>                 }
+<a name="285" href="#285">285</a> 
+<a name="286" href="#286">286</a>                 currentElement.addEntity(entity, <strong>new</strong> String(ch, start, end));
+<a name="287" href="#287">287</a>                 entity = <strong>null</strong>;
+<a name="288" href="#288">288</a>             } <strong>else</strong> <strong>if</strong> (insideCDATASection) {
+<a name="289" href="#289">289</a>                 <strong>if</strong> (mergeAdjacentText && textInTextBuffer) {
+<a name="290" href="#290">290</a>                     completeCurrentTextNode();
+<a name="291" href="#291">291</a>                 }
+<a name="292" href="#292">292</a> 
+<a name="293" href="#293">293</a>                 cdataText.append(<strong>new</strong> String(ch, start, end));
+<a name="294" href="#294">294</a>             } <strong>else</strong> {
+<a name="295" href="#295">295</a>                 <strong>if</strong> (mergeAdjacentText) {
+<a name="296" href="#296">296</a>                     textBuffer.append(ch, start, end);
+<a name="297" href="#297">297</a>                     textInTextBuffer = <strong>true</strong>;
+<a name="298" href="#298">298</a>                 } <strong>else</strong> {
+<a name="299" href="#299">299</a>                     currentElement.addText(<strong>new</strong> String(ch, start, end));
+<a name="300" href="#300">300</a>                 }
+<a name="301" href="#301">301</a>             }
+<a name="302" href="#302">302</a>         }
+<a name="303" href="#303">303</a>     }
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>     <em class="comment">// ErrorHandler interface</em>
+<a name="306" href="#306">306</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="307" href="#307">307</a> 
+<a name="308" href="#308">308</a>     <em>/**<em>*</em></em>
+<a name="309" href="#309">309</a> <em>     * This method is called when a warning occurs during the parsing of the</em>
+<a name="310" href="#310">310</a> <em>     * document. This method does nothing.</em>
+<a name="311" href="#311">311</a> <em>     * </em>
+<a name="312" href="#312">312</a> <em>     * @param exception</em>
+<a name="313" href="#313">313</a> <em>     *            DOCUMENT ME!</em>
+<a name="314" href="#314">314</a> <em>     * </em>
+<a name="315" href="#315">315</a> <em>     * @throws SAXException</em>
+<a name="316" href="#316">316</a> <em>     *             DOCUMENT ME!</em>
+<a name="317" href="#317">317</a> <em>     */</em>
+<a name="318" href="#318">318</a>     <strong>public</strong> <strong>void</strong> warning(SAXParseException exception) throws SAXException {
+<a name="319" href="#319">319</a>         <em class="comment">// ignore warnings by default</em>
+<a name="320" href="#320">320</a>     }
+<a name="321" href="#321">321</a> 
+<a name="322" href="#322">322</a>     <em>/**<em>*</em></em>
+<a name="323" href="#323">323</a> <em>     * This method is called when an error is detected during parsing such as a</em>
+<a name="324" href="#324">324</a> <em>     * validation error. This method rethrows the exception</em>
+<a name="325" href="#325">325</a> <em>     * </em>
+<a name="326" href="#326">326</a> <em>     * @param exception</em>
+<a name="327" href="#327">327</a> <em>     *            DOCUMENT ME!</em>
+<a name="328" href="#328">328</a> <em>     * </em>
+<a name="329" href="#329">329</a> <em>     * @throws SAXException</em>
+<a name="330" href="#330">330</a> <em>     *             DOCUMENT ME!</em>
+<a name="331" href="#331">331</a> <em>     */</em>
+<a name="332" href="#332">332</a>     <strong>public</strong> <strong>void</strong> error(SAXParseException exception) throws SAXException {
+<a name="333" href="#333">333</a>         <strong>throw</strong> exception;
+<a name="334" href="#334">334</a>     }
+<a name="335" href="#335">335</a> 
+<a name="336" href="#336">336</a>     <em>/**<em>*</em></em>
+<a name="337" href="#337">337</a> <em>     * This method is called when a fatal error occurs during parsing. This</em>
+<a name="338" href="#338">338</a> <em>     * method rethrows the exception</em>
+<a name="339" href="#339">339</a> <em>     * </em>
+<a name="340" href="#340">340</a> <em>     * @param exception</em>
+<a name="341" href="#341">341</a> <em>     *            DOCUMENT ME!</em>
+<a name="342" href="#342">342</a> <em>     * </em>
+<a name="343" href="#343">343</a> <em>     * @throws SAXException</em>
+<a name="344" href="#344">344</a> <em>     *             DOCUMENT ME!</em>
+<a name="345" href="#345">345</a> <em>     */</em>
+<a name="346" href="#346">346</a>     <strong>public</strong> <strong>void</strong> fatalError(SAXParseException exception) throws SAXException {
+<a name="347" href="#347">347</a>         <strong>throw</strong> exception;
+<a name="348" href="#348">348</a>     }
+<a name="349" href="#349">349</a> 
+<a name="350" href="#350">350</a>     <em class="comment">// LexicalHandler interface</em>
+<a name="351" href="#351">351</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="352" href="#352">352</a>     <strong>public</strong> <strong>void</strong> startDTD(String name, String <strong>public</strong>Id, String systemId)
+<a name="353" href="#353">353</a>             throws SAXException {
+<a name="354" href="#354">354</a>         getDocument().addDocType(name, publicId, systemId);
+<a name="355" href="#355">355</a>         insideDTDSection = <strong>true</strong>;
+<a name="356" href="#356">356</a>         internalDTDsubset = <strong>true</strong>;
+<a name="357" href="#357">357</a>     }
+<a name="358" href="#358">358</a> 
+<a name="359" href="#359">359</a>     <strong>public</strong> <strong>void</strong> endDTD() throws SAXException {
+<a name="360" href="#360">360</a>         insideDTDSection = false;
+<a name="361" href="#361">361</a> 
+<a name="362" href="#362">362</a>         <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType = getDocument().getDocType();
+<a name="363" href="#363">363</a> 
+<a name="364" href="#364">364</a>         <strong>if</strong> (docType != <strong>null</strong>) {
+<a name="365" href="#365">365</a>             <strong>if</strong> (internalDTDDeclarations != <strong>null</strong>) {
+<a name="366" href="#366">366</a>                 docType.setInternalDeclarations(internalDTDDeclarations);
+<a name="367" href="#367">367</a>             }
+<a name="368" href="#368">368</a> 
+<a name="369" href="#369">369</a>             <strong>if</strong> (externalDTDDeclarations != <strong>null</strong>) {
+<a name="370" href="#370">370</a>                 docType.setExternalDeclarations(externalDTDDeclarations);
+<a name="371" href="#371">371</a>             }
+<a name="372" href="#372">372</a>         }
+<a name="373" href="#373">373</a> 
+<a name="374" href="#374">374</a>         internalDTDDeclarations = <strong>null</strong>;
+<a name="375" href="#375">375</a>         externalDTDDeclarations = <strong>null</strong>;
+<a name="376" href="#376">376</a>     }
+<a name="377" href="#377">377</a> 
+<a name="378" href="#378">378</a>     <strong>public</strong> <strong>void</strong> startEntity(String name) throws SAXException {
+<a name="379" href="#379">379</a>         ++entityLevel;
+<a name="380" href="#380">380</a> 
+<a name="381" href="#381">381</a>         <em class="comment">// Ignore DTD references</em>
+<a name="382" href="#382">382</a>         entity = <strong>null</strong>;
+<a name="383" href="#383">383</a> 
+<a name="384" href="#384">384</a>         <strong>if</strong> (!insideDTDSection) {
+<a name="385" href="#385">385</a>             <strong>if</strong> (!isIgnorableEntity(name)) {
+<a name="386" href="#386">386</a>                 entity = name;
+<a name="387" href="#387">387</a>             }
+<a name="388" href="#388">388</a>         }
+<a name="389" href="#389">389</a> 
+<a name="390" href="#390">390</a>         <em class="comment">// internal DTD subsets can only appear outside of a</em>
+<a name="391" href="#391">391</a>         <em class="comment">// startEntity/endEntity block</em>
+<a name="392" href="#392">392</a>         <em class="comment">// see the startDTD method in</em>
+<a name="393" href="#393">393</a>         <em class="comment">// http://dom4j.org/javadoc/org/xml/sax/ext/LexicalHandler.html</em>
+<a name="394" href="#394">394</a>         internalDTDsubset = false;
+<a name="395" href="#395">395</a>     }
+<a name="396" href="#396">396</a> 
+<a name="397" href="#397">397</a>     <strong>public</strong> <strong>void</strong> endEntity(String name) throws SAXException {
+<a name="398" href="#398">398</a>         --entityLevel;
+<a name="399" href="#399">399</a>         entity = <strong>null</strong>;
+<a name="400" href="#400">400</a> 
+<a name="401" href="#401">401</a>         <strong>if</strong> (entityLevel == 0) {
+<a name="402" href="#402">402</a>             internalDTDsubset = <strong>true</strong>;
+<a name="403" href="#403">403</a>         }
+<a name="404" href="#404">404</a>     }
+<a name="405" href="#405">405</a> 
+<a name="406" href="#406">406</a>     <strong>public</strong> <strong>void</strong> startCDATA() throws SAXException {
+<a name="407" href="#407">407</a>         insideCDATASection = <strong>true</strong>;
+<a name="408" href="#408">408</a>         cdataText = <strong>new</strong> StringBuffer();
+<a name="409" href="#409">409</a>     }
+<a name="410" href="#410">410</a> 
+<a name="411" href="#411">411</a>     <strong>public</strong> <strong>void</strong> endCDATA() throws SAXException {
+<a name="412" href="#412">412</a>         insideCDATASection = false;
+<a name="413" href="#413">413</a>         currentElement.addCDATA(cdataText.toString());
+<a name="414" href="#414">414</a>     }
+<a name="415" href="#415">415</a> 
+<a name="416" href="#416">416</a>     <strong>public</strong> <strong>void</strong> comment(<strong>char</strong>[] ch, <strong>int</strong> start, <strong>int</strong> end) throws SAXException {
+<a name="417" href="#417">417</a>         <strong>if</strong> (!ignoreComments) {
+<a name="418" href="#418">418</a>             <strong>if</strong> (mergeAdjacentText && textInTextBuffer) {
+<a name="419" href="#419">419</a>                 completeCurrentTextNode();
+<a name="420" href="#420">420</a>             }
+<a name="421" href="#421">421</a> 
+<a name="422" href="#422">422</a>             String text = <strong>new</strong> String(ch, start, end);
+<a name="423" href="#423">423</a> 
+<a name="424" href="#424">424</a>             <strong>if</strong> (!insideDTDSection && (text.length() > 0)) {
+<a name="425" href="#425">425</a>                 <strong>if</strong> (currentElement != <strong>null</strong>) {
+<a name="426" href="#426">426</a>                     currentElement.addComment(text);
+<a name="427" href="#427">427</a>                 } <strong>else</strong> {
+<a name="428" href="#428">428</a>                     getDocument().addComment(text);
+<a name="429" href="#429">429</a>                 }
+<a name="430" href="#430">430</a>             }
+<a name="431" href="#431">431</a>         }
+<a name="432" href="#432">432</a>     }
+<a name="433" href="#433">433</a> 
+<a name="434" href="#434">434</a>     <em class="comment">// DeclHandler interface</em>
+<a name="435" href="#435">435</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="436" href="#436">436</a> 
+<a name="437" href="#437">437</a>     <em>/**<em>*</em></em>
+<a name="438" href="#438">438</a> <em>     * Report an element type declaration.</em>
+<a name="439" href="#439">439</a> <em>     * </em>
+<a name="440" href="#440">440</a> <em>     * <p></em>
+<a name="441" href="#441">441</a> <em>     * The content model will consist of the string "EMPTY", the string "ANY",</em>
+<a name="442" href="#442">442</a> <em>     * or a parenthesised group, optionally followed by an occurrence indicator.</em>
+<a name="443" href="#443">443</a> <em>     * The model will be normalized so that all parameter entities are fully</em>
+<a name="444" href="#444">444</a> <em>     * resolved and all whitespace is removed,and will include the enclosing</em>
+<a name="445" href="#445">445</a> <em>     * parentheses. Other normalization (such as removing redundant parentheses</em>
+<a name="446" href="#446">446</a> <em>     * or simplifying occurrence indicators) is at the discretion of the parser.</em>
+<a name="447" href="#447">447</a> <em>     * </p></em>
+<a name="448" href="#448">448</a> <em>     * </em>
+<a name="449" href="#449">449</a> <em>     * @param name</em>
+<a name="450" href="#450">450</a> <em>     *            The element type name.</em>
+<a name="451" href="#451">451</a> <em>     * @param model</em>
+<a name="452" href="#452">452</a> <em>     *            The content model as a normalized string.</em>
+<a name="453" href="#453">453</a> <em>     * </em>
+<a name="454" href="#454">454</a> <em>     * @exception SAXException</em>
+<a name="455" href="#455">455</a> <em>     *                The application may raise an exception.</em>
+<a name="456" href="#456">456</a> <em>     */</em>
+<a name="457" href="#457">457</a>     <strong>public</strong> <strong>void</strong> elementDecl(String name, String model) throws SAXException {
+<a name="458" href="#458">458</a>         <strong>if</strong> (internalDTDsubset) {
+<a name="459" href="#459">459</a>             <strong>if</strong> (includeInternalDTDDeclarations) {
+<a name="460" href="#460">460</a>                 addDTDDeclaration(<strong>new</strong> <a href="../../../org/dom4j/dtd/ElementDecl.html">ElementDecl</a>(name, model));
+<a name="461" href="#461">461</a>             }
+<a name="462" href="#462">462</a>         } <strong>else</strong> {
+<a name="463" href="#463">463</a>             <strong>if</strong> (includeExternalDTDDeclarations) {
+<a name="464" href="#464">464</a>                 addExternalDTDDeclaration(<strong>new</strong> <a href="../../../org/dom4j/dtd/ElementDecl.html">ElementDecl</a>(name, model));
+<a name="465" href="#465">465</a>             }
+<a name="466" href="#466">466</a>         }
+<a name="467" href="#467">467</a>     }
+<a name="468" href="#468">468</a> 
+<a name="469" href="#469">469</a>     <em>/**<em>*</em></em>
+<a name="470" href="#470">470</a> <em>     * Report an attribute type declaration.</em>
+<a name="471" href="#471">471</a> <em>     * </em>
+<a name="472" href="#472">472</a> <em>     * <p></em>
+<a name="473" href="#473">473</a> <em>     * Only the effective (first) declaration for an attribute will be reported.</em>
+<a name="474" href="#474">474</a> <em>     * The type will be one of the strings "CDATA", "ID", "IDREF", "IDREFS",</em>
+<a name="475" href="#475">475</a> <em>     * "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", a parenthesized token group</em>
+<a name="476" href="#476">476</a> <em>     * with the separator "|" and all whitespace removed, or the word "NOTATION"</em>
+<a name="477" href="#477">477</a> <em>     * followed by a space followed by a parenthesized token group with all</em>
+<a name="478" href="#478">478</a> <em>     * whitespace removed.</em>
+<a name="479" href="#479">479</a> <em>     * </p></em>
+<a name="480" href="#480">480</a> <em>     * </em>
+<a name="481" href="#481">481</a> <em>     * <p></em>
+<a name="482" href="#482">482</a> <em>     * Any parameter entities in the attribute value will be expanded, but</em>
+<a name="483" href="#483">483</a> <em>     * general entities will not.</em>
+<a name="484" href="#484">484</a> <em>     * </p></em>
+<a name="485" href="#485">485</a> <em>     * </em>
+<a name="486" href="#486">486</a> <em>     * @param eName</em>
+<a name="487" href="#487">487</a> <em>     *            The name of the associated element.</em>
+<a name="488" href="#488">488</a> <em>     * @param aName</em>
+<a name="489" href="#489">489</a> <em>     *            The name of the attribute.</em>
+<a name="490" href="#490">490</a> <em>     * @param type</em>
+<a name="491" href="#491">491</a> <em>     *            A string representing the attribute type.</em>
+<a name="492" href="#492">492</a> <em>     * @param valueDefault</em>
+<a name="493" href="#493">493</a> <em>     *            A string representing the attribute default ("#IMPLIED",</em>
+<a name="494" href="#494">494</a> <em>     *            "#REQUIRED", or "#FIXED") or null if none of these applies.</em>
+<a name="495" href="#495">495</a> <em>     * @param val</em>
+<a name="496" href="#496">496</a> <em>     *            A string representing the attribute's default value, or null</em>
+<a name="497" href="#497">497</a> <em>     *            if there is none.</em>
+<a name="498" href="#498">498</a> <em>     * </em>
+<a name="499" href="#499">499</a> <em>     * @exception SAXException</em>
+<a name="500" href="#500">500</a> <em>     *                The application may raise an exception.</em>
+<a name="501" href="#501">501</a> <em>     */</em>
+<a name="502" href="#502">502</a>     <strong>public</strong> <strong>void</strong> attributeDecl(String eName, String aName, String type,
+<a name="503" href="#503">503</a>             String valueDefault, String val) throws SAXException {
+<a name="504" href="#504">504</a>         <strong>if</strong> (internalDTDsubset) {
+<a name="505" href="#505">505</a>             <strong>if</strong> (includeInternalDTDDeclarations) {
+<a name="506" href="#506">506</a>                 addDTDDeclaration(<strong>new</strong> <a href="../../../org/dom4j/dtd/AttributeDecl.html">AttributeDecl</a>(eName, aName, type,
+<a name="507" href="#507">507</a>                         valueDefault, val));
+<a name="508" href="#508">508</a>             }
+<a name="509" href="#509">509</a>         } <strong>else</strong> {
+<a name="510" href="#510">510</a>             <strong>if</strong> (includeExternalDTDDeclarations) {
+<a name="511" href="#511">511</a>                 addExternalDTDDeclaration(<strong>new</strong> <a href="../../../org/dom4j/dtd/AttributeDecl.html">AttributeDecl</a>(eName, aName, type,
+<a name="512" href="#512">512</a>                         valueDefault, val));
+<a name="513" href="#513">513</a>             }
+<a name="514" href="#514">514</a>         }
+<a name="515" href="#515">515</a>     }
+<a name="516" href="#516">516</a> 
+<a name="517" href="#517">517</a>     <em>/**<em>*</em></em>
+<a name="518" href="#518">518</a> <em>     * Report an internal entity declaration.</em>
+<a name="519" href="#519">519</a> <em>     * </em>
+<a name="520" href="#520">520</a> <em>     * <p></em>
+<a name="521" href="#521">521</a> <em>     * Only the effective (first) declaration for each entity will be reported.</em>
+<a name="522" href="#522">522</a> <em>     * All parameter entities in the value will be expanded, but general</em>
+<a name="523" href="#523">523</a> <em>     * entities will not.</em>
+<a name="524" href="#524">524</a> <em>     * </p></em>
+<a name="525" href="#525">525</a> <em>     * </em>
+<a name="526" href="#526">526</a> <em>     * @param name</em>
+<a name="527" href="#527">527</a> <em>     *            The name of the entity. If it is a parameter entity, the name</em>
+<a name="528" href="#528">528</a> <em>     *            will begin with '%'.</em>
+<a name="529" href="#529">529</a> <em>     * @param value</em>
+<a name="530" href="#530">530</a> <em>     *            The replacement text of the entity.</em>
+<a name="531" href="#531">531</a> <em>     * </em>
+<a name="532" href="#532">532</a> <em>     * @exception SAXException</em>
+<a name="533" href="#533">533</a> <em>     *                The application may raise an exception.</em>
+<a name="534" href="#534">534</a> <em>     * </em>
+<a name="535" href="#535">535</a> <em>     * @see #externalEntityDecl</em>
+<a name="536" href="#536">536</a> <em>     * @see org.xml.sax.DTDHandler#unparsedEntityDecl</em>
+<a name="537" href="#537">537</a> <em>     */</em>
+<a name="538" href="#538">538</a>     <strong>public</strong> <strong>void</strong> internalEntityDecl(String name, String value)
+<a name="539" href="#539">539</a>             throws SAXException {
+<a name="540" href="#540">540</a>         <strong>if</strong> (internalDTDsubset) {
+<a name="541" href="#541">541</a>             <strong>if</strong> (includeInternalDTDDeclarations) {
+<a name="542" href="#542">542</a>                 addDTDDeclaration(<strong>new</strong> <a href="../../../org/dom4j/dtd/InternalEntityDecl.html">InternalEntityDecl</a>(name, value));
+<a name="543" href="#543">543</a>             }
+<a name="544" href="#544">544</a>         } <strong>else</strong> {
+<a name="545" href="#545">545</a>             <strong>if</strong> (includeExternalDTDDeclarations) {
+<a name="546" href="#546">546</a>                 addExternalDTDDeclaration(<strong>new</strong> <a href="../../../org/dom4j/dtd/InternalEntityDecl.html">InternalEntityDecl</a>(name, value));
+<a name="547" href="#547">547</a>             }
+<a name="548" href="#548">548</a>         }
+<a name="549" href="#549">549</a>     }
+<a name="550" href="#550">550</a> 
+<a name="551" href="#551">551</a>     <em>/**<em>*</em></em>
+<a name="552" href="#552">552</a> <em>     * Report a parsed external entity declaration.</em>
+<a name="553" href="#553">553</a> <em>     * </em>
+<a name="554" href="#554">554</a> <em>     * <p></em>
+<a name="555" href="#555">555</a> <em>     * Only the effective (first) declaration for each entity will be reported.</em>
+<a name="556" href="#556">556</a> <em>     * </p></em>
+<a name="557" href="#557">557</a> <em>     * </em>
+<a name="558" href="#558">558</a> <em>     * @param name</em>
+<a name="559" href="#559">559</a> <em>     *            The name of the entity. If it is a parameter entity, the name</em>
+<a name="560" href="#560">560</a> <em>     *            will begin with '%'.</em>
+<a name="561" href="#561">561</a> <em>     * @param publicId</em>
+<a name="562" href="#562">562</a> <em>     *            The declared public identifier of the entity, or null if none</em>
+<a name="563" href="#563">563</a> <em>     *            was declared.</em>
+<a name="564" href="#564">564</a> <em>     * @param sysId</em>
+<a name="565" href="#565">565</a> <em>     *            The declared system identifier of the entity.</em>
+<a name="566" href="#566">566</a> <em>     * </em>
+<a name="567" href="#567">567</a> <em>     * @exception SAXException</em>
+<a name="568" href="#568">568</a> <em>     *                The application may raise an exception.</em>
+<a name="569" href="#569">569</a> <em>     * </em>
+<a name="570" href="#570">570</a> <em>     * @see #internalEntityDecl</em>
+<a name="571" href="#571">571</a> <em>     * @see org.xml.sax.DTDHandler#unparsedEntityDecl</em>
+<a name="572" href="#572">572</a> <em>     */</em>
+<a name="573" href="#573">573</a>     <strong>public</strong> <strong>void</strong> externalEntityDecl(String name, String <strong>public</strong>Id, String sysId)
+<a name="574" href="#574">574</a>             throws SAXException {
+<a name="575" href="#575">575</a>         <a href="../../../org/dom4j/dtd/ExternalEntityDecl.html">ExternalEntityDecl</a> declaration = <strong>new</strong> <a href="../../../org/dom4j/dtd/ExternalEntityDecl.html">ExternalEntityDecl</a>(name, publicId,
+<a name="576" href="#576">576</a>                 sysId);
+<a name="577" href="#577">577</a> 
+<a name="578" href="#578">578</a>         <strong>if</strong> (internalDTDsubset) {
+<a name="579" href="#579">579</a>             <strong>if</strong> (includeInternalDTDDeclarations) {
+<a name="580" href="#580">580</a>                 addDTDDeclaration(declaration);
+<a name="581" href="#581">581</a>             }
+<a name="582" href="#582">582</a>         } <strong>else</strong> {
+<a name="583" href="#583">583</a>             <strong>if</strong> (includeExternalDTDDeclarations) {
+<a name="584" href="#584">584</a>                 addExternalDTDDeclaration(declaration);
+<a name="585" href="#585">585</a>             }
+<a name="586" href="#586">586</a>         }
+<a name="587" href="#587">587</a>     }
+<a name="588" href="#588">588</a> 
+<a name="589" href="#589">589</a>     <em class="comment">// DTDHandler interface</em>
+<a name="590" href="#590">590</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="591" href="#591">591</a> 
+<a name="592" href="#592">592</a>     <em>/**<em>*</em></em>
+<a name="593" href="#593">593</a> <em>     * Receive notification of a notation declaration event.</em>
+<a name="594" href="#594">594</a> <em>     * </em>
+<a name="595" href="#595">595</a> <em>     * <p></em>
+<a name="596" href="#596">596</a> <em>     * It is up to the application to record the notation for later reference,</em>
+<a name="597" href="#597">597</a> <em>     * if necessary.</em>
+<a name="598" href="#598">598</a> <em>     * </p></em>
+<a name="599" href="#599">599</a> <em>     * </em>
+<a name="600" href="#600">600</a> <em>     * <p></em>
+<a name="601" href="#601">601</a> <em>     * At least one of publicId and systemId must be non-null. If a system</em>
+<a name="602" href="#602">602</a> <em>     * identifier is present, and it is a URL, the SAX parser must resolve it</em>
+<a name="603" href="#603">603</a> <em>     * fully before passing it to the application through this event.</em>
+<a name="604" href="#604">604</a> <em>     * </p></em>
+<a name="605" href="#605">605</a> <em>     * </em>
+<a name="606" href="#606">606</a> <em>     * <p></em>
+<a name="607" href="#607">607</a> <em>     * There is no guarantee that the notation declaration will be reported</em>
+<a name="608" href="#608">608</a> <em>     * before any unparsed entities that use it.</em>
+<a name="609" href="#609">609</a> <em>     * </p></em>
+<a name="610" href="#610">610</a> <em>     * </em>
+<a name="611" href="#611">611</a> <em>     * @param name</em>
+<a name="612" href="#612">612</a> <em>     *            The notation name.</em>
+<a name="613" href="#613">613</a> <em>     * @param publicId</em>
+<a name="614" href="#614">614</a> <em>     *            The notation's public identifier, or null if none was given.</em>
+<a name="615" href="#615">615</a> <em>     * @param systemId</em>
+<a name="616" href="#616">616</a> <em>     *            The notation's system identifier, or null if none was given.</em>
+<a name="617" href="#617">617</a> <em>     * </em>
+<a name="618" href="#618">618</a> <em>     * @exception SAXException</em>
+<a name="619" href="#619">619</a> <em>     *                Any SAX exception, possibly wrapping another exception.</em>
+<a name="620" href="#620">620</a> <em>     * </em>
+<a name="621" href="#621">621</a> <em>     * @see #unparsedEntityDecl</em>
+<a name="622" href="#622">622</a> <em>     * @see org.xml.sax.AttributeList</em>
+<a name="623" href="#623">623</a> <em>     */</em>
+<a name="624" href="#624">624</a>     <strong>public</strong> <strong>void</strong> notationDecl(String name, String <strong>public</strong>Id, String systemId)
+<a name="625" href="#625">625</a>             throws SAXException {
+<a name="626" href="#626">626</a>         <em class="comment">// #### not supported yet!</em>
+<a name="627" href="#627">627</a>     }
+<a name="628" href="#628">628</a> 
+<a name="629" href="#629">629</a>     <em>/**<em>*</em></em>
+<a name="630" href="#630">630</a> <em>     * Receive notification of an unparsed entity declaration event.</em>
+<a name="631" href="#631">631</a> <em>     * </em>
+<a name="632" href="#632">632</a> <em>     * <p></em>
+<a name="633" href="#633">633</a> <em>     * Note that the notation name corresponds to a notation reported by the</em>
+<a name="634" href="#634">634</a> <em>     * {@link #notationDecl notationDecl}event. It is up to the application to</em>
+<a name="635" href="#635">635</a> <em>     * record the entity for later reference, if necessary.</em>
+<a name="636" href="#636">636</a> <em>     * </p></em>
+<a name="637" href="#637">637</a> <em>     * </em>
+<a name="638" href="#638">638</a> <em>     * <p></em>
+<a name="639" href="#639">639</a> <em>     * If the system identifier is a URL, the parser must resolve it fully</em>
+<a name="640" href="#640">640</a> <em>     * before passing it to the application.</em>
+<a name="641" href="#641">641</a> <em>     * </p></em>
+<a name="642" href="#642">642</a> <em>     * </em>
+<a name="643" href="#643">643</a> <em>     * @param name</em>
+<a name="644" href="#644">644</a> <em>     *            The unparsed entity's name.</em>
+<a name="645" href="#645">645</a> <em>     * @param publicId</em>
+<a name="646" href="#646">646</a> <em>     *            The entity's public identifier, or null if none was given.</em>
+<a name="647" href="#647">647</a> <em>     * @param systemId</em>
+<a name="648" href="#648">648</a> <em>     *            The entity's system identifier.</em>
+<a name="649" href="#649">649</a> <em>     * @param notationName</em>
+<a name="650" href="#650">650</a> <em>     *            The name of the associated notation.</em>
+<a name="651" href="#651">651</a> <em>     * </em>
+<a name="652" href="#652">652</a> <em>     * @exception SAXException</em>
+<a name="653" href="#653">653</a> <em>     *                Any SAX exception, possibly wrapping another exception.</em>
+<a name="654" href="#654">654</a> <em>     * </em>
+<a name="655" href="#655">655</a> <em>     * @see #notationDecl</em>
+<a name="656" href="#656">656</a> <em>     * @see org.xml.sax.AttributeList</em>
+<a name="657" href="#657">657</a> <em>     */</em>
+<a name="658" href="#658">658</a>     <strong>public</strong> <strong>void</strong> unparsedEntityDecl(String name, String <strong>public</strong>Id,
+<a name="659" href="#659">659</a>             String systemId, String notationName) throws SAXException {
+<a name="660" href="#660">660</a>         <em class="comment">// #### not supported yet!</em>
+<a name="661" href="#661">661</a>     }
+<a name="662" href="#662">662</a> 
+<a name="663" href="#663">663</a>     <em class="comment">// Properties</em>
+<a name="664" href="#664">664</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="665" href="#665">665</a>     <strong>public</strong> <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a> getElementStack() {
+<a name="666" href="#666">666</a>         <strong>return</strong> elementStack;
+<a name="667" href="#667">667</a>     }
+<a name="668" href="#668">668</a> 
+<a name="669" href="#669">669</a>     <strong>public</strong> <strong>void</strong> setElementStack(<a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a> elementStack) {
+<a name="670" href="#670">670</a>         <strong>this</strong>.elementStack = elementStack;
+<a name="671" href="#671">671</a>     }
+<a name="672" href="#672">672</a> 
+<a name="673" href="#673">673</a>     <strong>public</strong> EntityResolver getEntityResolver() {
+<a name="674" href="#674">674</a>         <strong>return</strong> entityResolver;
+<a name="675" href="#675">675</a>     }
+<a name="676" href="#676">676</a> 
+<a name="677" href="#677">677</a>     <strong>public</strong> <strong>void</strong> setEntityResolver(EntityResolver entityResolver) {
+<a name="678" href="#678">678</a>         <strong>this</strong>.entityResolver = entityResolver;
+<a name="679" href="#679">679</a>     }
+<a name="680" href="#680">680</a> 
+<a name="681" href="#681">681</a>     <strong>public</strong> InputSource getInputSource() {
+<a name="682" href="#682">682</a>         <strong>return</strong> inputSource;
+<a name="683" href="#683">683</a>     }
+<a name="684" href="#684">684</a> 
+<a name="685" href="#685">685</a>     <strong>public</strong> <strong>void</strong> setInputSource(InputSource inputSource) {
+<a name="686" href="#686">686</a>         <strong>this</strong>.inputSource = inputSource;
+<a name="687" href="#687">687</a>     }
+<a name="688" href="#688">688</a> 
+<a name="689" href="#689">689</a>     <em>/**<em>*</em></em>
+<a name="690" href="#690">690</a> <em>     * DOCUMENT ME!</em>
+<a name="691" href="#691">691</a> <em>     * </em>
+<a name="692" href="#692">692</a> <em>     * @return whether internal DTD declarations should be expanded into the</em>
+<a name="693" href="#693">693</a> <em>     *         DocumentType object or not.</em>
+<a name="694" href="#694">694</a> <em>     */</em>
+<a name="695" href="#695">695</a>     <strong>public</strong> <strong>boolean</strong> isIncludeInternalDTDDeclarations() {
+<a name="696" href="#696">696</a>         <strong>return</strong> includeInternalDTDDeclarations;
+<a name="697" href="#697">697</a>     }
+<a name="698" href="#698">698</a> 
+<a name="699" href="#699">699</a>     <em>/**<em>*</em></em>
+<a name="700" href="#700">700</a> <em>     * Sets whether internal DTD declarations should be expanded into the</em>
+<a name="701" href="#701">701</a> <em>     * DocumentType object or not.</em>
+<a name="702" href="#702">702</a> <em>     * </em>
+<a name="703" href="#703">703</a> <em>     * @param include</em>
+<a name="704" href="#704">704</a> <em>     *            whether or not DTD declarations should be expanded and</em>
+<a name="705" href="#705">705</a> <em>     *            included into the DocumentType object.</em>
+<a name="706" href="#706">706</a> <em>     */</em>
+<a name="707" href="#707">707</a>     <strong>public</strong> <strong>void</strong> setIncludeInternalDTDDeclarations(<strong>boolean</strong> include) {
+<a name="708" href="#708">708</a>         <strong>this</strong>.includeInternalDTDDeclarations = include;
+<a name="709" href="#709">709</a>     }
+<a name="710" href="#710">710</a> 
+<a name="711" href="#711">711</a>     <em>/**<em>*</em></em>
+<a name="712" href="#712">712</a> <em>     * DOCUMENT ME!</em>
+<a name="713" href="#713">713</a> <em>     * </em>
+<a name="714" href="#714">714</a> <em>     * @return whether external DTD declarations should be expanded into the</em>
+<a name="715" href="#715">715</a> <em>     *         DocumentType object or not.</em>
+<a name="716" href="#716">716</a> <em>     */</em>
+<a name="717" href="#717">717</a>     <strong>public</strong> <strong>boolean</strong> isIncludeExternalDTDDeclarations() {
+<a name="718" href="#718">718</a>         <strong>return</strong> includeExternalDTDDeclarations;
+<a name="719" href="#719">719</a>     }
+<a name="720" href="#720">720</a> 
+<a name="721" href="#721">721</a>     <em>/**<em>*</em></em>
+<a name="722" href="#722">722</a> <em>     * Sets whether DTD external declarations should be expanded into the</em>
+<a name="723" href="#723">723</a> <em>     * DocumentType object or not.</em>
+<a name="724" href="#724">724</a> <em>     * </em>
+<a name="725" href="#725">725</a> <em>     * @param include</em>
+<a name="726" href="#726">726</a> <em>     *            whether or not DTD declarations should be expanded and</em>
+<a name="727" href="#727">727</a> <em>     *            included into the DocumentType object.</em>
+<a name="728" href="#728">728</a> <em>     */</em>
+<a name="729" href="#729">729</a>     <strong>public</strong> <strong>void</strong> setIncludeExternalDTDDeclarations(<strong>boolean</strong> include) {
+<a name="730" href="#730">730</a>         <strong>this</strong>.includeExternalDTDDeclarations = include;
+<a name="731" href="#731">731</a>     }
+<a name="732" href="#732">732</a> 
+<a name="733" href="#733">733</a>     <em>/**<em>*</em></em>
+<a name="734" href="#734">734</a> <em>     * Returns whether adjacent text nodes should be merged together.</em>
+<a name="735" href="#735">735</a> <em>     * </em>
+<a name="736" href="#736">736</a> <em>     * @return Value of property mergeAdjacentText.</em>
+<a name="737" href="#737">737</a> <em>     */</em>
+<a name="738" href="#738">738</a>     <strong>public</strong> <strong>boolean</strong> isMergeAdjacentText() {
+<a name="739" href="#739">739</a>         <strong>return</strong> mergeAdjacentText;
+<a name="740" href="#740">740</a>     }
+<a name="741" href="#741">741</a> 
+<a name="742" href="#742">742</a>     <em>/**<em>*</em></em>
+<a name="743" href="#743">743</a> <em>     * Sets whether or not adjacent text nodes should be merged together when</em>
+<a name="744" href="#744">744</a> <em>     * parsing.</em>
+<a name="745" href="#745">745</a> <em>     * </em>
+<a name="746" href="#746">746</a> <em>     * @param mergeAdjacentText</em>
+<a name="747" href="#747">747</a> <em>     *            New value of property mergeAdjacentText.</em>
+<a name="748" href="#748">748</a> <em>     */</em>
+<a name="749" href="#749">749</a>     <strong>public</strong> <strong>void</strong> setMergeAdjacentText(<strong>boolean</strong> mergeAdjacentText) {
+<a name="750" href="#750">750</a>         <strong>this</strong>.mergeAdjacentText = mergeAdjacentText;
+<a name="751" href="#751">751</a>     }
+<a name="752" href="#752">752</a> 
+<a name="753" href="#753">753</a>     <em>/**<em>*</em></em>
+<a name="754" href="#754">754</a> <em>     * Sets whether whitespace between element start and end tags should be</em>
+<a name="755" href="#755">755</a> <em>     * ignored</em>
+<a name="756" href="#756">756</a> <em>     * </em>
+<a name="757" href="#757">757</a> <em>     * @return Value of property stripWhitespaceText.</em>
+<a name="758" href="#758">758</a> <em>     */</em>
+<a name="759" href="#759">759</a>     <strong>public</strong> <strong>boolean</strong> isStripWhitespaceText() {
+<a name="760" href="#760">760</a>         <strong>return</strong> stripWhitespaceText;
+<a name="761" href="#761">761</a>     }
+<a name="762" href="#762">762</a> 
+<a name="763" href="#763">763</a>     <em>/**<em>*</em></em>
+<a name="764" href="#764">764</a> <em>     * Sets whether whitespace between element start and end tags should be</em>
+<a name="765" href="#765">765</a> <em>     * ignored.</em>
+<a name="766" href="#766">766</a> <em>     * </em>
+<a name="767" href="#767">767</a> <em>     * @param stripWhitespaceText</em>
+<a name="768" href="#768">768</a> <em>     *            New value of property stripWhitespaceText.</em>
+<a name="769" href="#769">769</a> <em>     */</em>
+<a name="770" href="#770">770</a>     <strong>public</strong> <strong>void</strong> setStripWhitespaceText(<strong>boolean</strong> stripWhitespaceText) {
+<a name="771" href="#771">771</a>         <strong>this</strong>.stripWhitespaceText = stripWhitespaceText;
+<a name="772" href="#772">772</a>     }
+<a name="773" href="#773">773</a> 
+<a name="774" href="#774">774</a>     <em>/**<em>*</em></em>
+<a name="775" href="#775">775</a> <em>     * Returns whether we should ignore comments or not.</em>
+<a name="776" href="#776">776</a> <em>     * </em>
+<a name="777" href="#777">777</a> <em>     * @return boolean</em>
+<a name="778" href="#778">778</a> <em>     */</em>
+<a name="779" href="#779">779</a>     <strong>public</strong> <strong>boolean</strong> isIgnoreComments() {
+<a name="780" href="#780">780</a>         <strong>return</strong> ignoreComments;
+<a name="781" href="#781">781</a>     }
+<a name="782" href="#782">782</a> 
+<a name="783" href="#783">783</a>     <em>/**<em>*</em></em>
+<a name="784" href="#784">784</a> <em>     * Sets whether we should ignore comments or not.</em>
+<a name="785" href="#785">785</a> <em>     * </em>
+<a name="786" href="#786">786</a> <em>     * @param ignoreComments</em>
+<a name="787" href="#787">787</a> <em>     *            whether we should ignore comments or not.</em>
+<a name="788" href="#788">788</a> <em>     */</em>
+<a name="789" href="#789">789</a>     <strong>public</strong> <strong>void</strong> setIgnoreComments(<strong>boolean</strong> ignoreComments) {
+<a name="790" href="#790">790</a>         <strong>this</strong>.ignoreComments = ignoreComments;
+<a name="791" href="#791">791</a>     }
+<a name="792" href="#792">792</a> 
+<a name="793" href="#793">793</a>     <em class="comment">// Implementation methods</em>
+<a name="794" href="#794">794</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="795" href="#795">795</a> 
+<a name="796" href="#796">796</a>     <em>/**<em>*</em></em>
+<a name="797" href="#797">797</a> <em>     * If the current text buffer contains any text then create a new text node</em>
+<a name="798" href="#798">798</a> <em>     * with it and add it to the current element</em>
+<a name="799" href="#799">799</a> <em>     */</em>
+<a name="800" href="#800">800</a>     <strong>protected</strong> <strong>void</strong> completeCurrentTextNode() {
+<a name="801" href="#801">801</a>         <strong>if</strong> (stripWhitespaceText) {
+<a name="802" href="#802">802</a>             <strong>boolean</strong> whitespace = <strong>true</strong>;
+<a name="803" href="#803">803</a> 
+<a name="804" href="#804">804</a>             <strong>for</strong> (<strong>int</strong> i = 0, size = textBuffer.length(); i < size; i++) {
+<a name="805" href="#805">805</a>                 <strong>if</strong> (!Character.isWhitespace(textBuffer.charAt(i))) {
+<a name="806" href="#806">806</a>                     whitespace = false;
+<a name="807" href="#807">807</a> 
+<a name="808" href="#808">808</a>                     <strong>break</strong>;
+<a name="809" href="#809">809</a>                 }
+<a name="810" href="#810">810</a>             }
+<a name="811" href="#811">811</a> 
+<a name="812" href="#812">812</a>             <strong>if</strong> (!whitespace) {
+<a name="813" href="#813">813</a>                 currentElement.addText(textBuffer.toString());
+<a name="814" href="#814">814</a>             }
+<a name="815" href="#815">815</a>         } <strong>else</strong> {
+<a name="816" href="#816">816</a>             currentElement.addText(textBuffer.toString());
+<a name="817" href="#817">817</a>         }
+<a name="818" href="#818">818</a> 
+<a name="819" href="#819">819</a>         textBuffer.setLength(0);
+<a name="820" href="#820">820</a>         textInTextBuffer = false;
+<a name="821" href="#821">821</a>     }
+<a name="822" href="#822">822</a> 
+<a name="823" href="#823">823</a>     <em>/**<em>*</em></em>
+<a name="824" href="#824">824</a> <em>     * DOCUMENT ME!</em>
+<a name="825" href="#825">825</a> <em>     * </em>
+<a name="826" href="#826">826</a> <em>     * @return the current document</em>
+<a name="827" href="#827">827</a> <em>     */</em>
+<a name="828" href="#828">828</a>     <strong>protected</strong> <a href="../../../org/dom4j/Document.html">Document</a> createDocument() {
+<a name="829" href="#829">829</a>         String encoding = getEncoding();
+<a name="830" href="#830">830</a>         <a href="../../../org/dom4j/Document.html">Document</a> doc = documentFactory.createDocument(encoding);
+<a name="831" href="#831">831</a> 
+<a name="832" href="#832">832</a>         <em class="comment">// set the EntityResolver</em>
+<a name="833" href="#833">833</a>         doc.setEntityResolver(entityResolver);
+<a name="834" href="#834">834</a> 
+<a name="835" href="#835">835</a>         <strong>if</strong> (inputSource != <strong>null</strong>) {
+<a name="836" href="#836">836</a>             doc.setName(inputSource.getSystemId());
+<a name="837" href="#837">837</a>         }
+<a name="838" href="#838">838</a> 
+<a name="839" href="#839">839</a>         <strong>return</strong> doc;
+<a name="840" href="#840">840</a>     }
+<a name="841" href="#841">841</a> 
+<a name="842" href="#842">842</a>     <strong>private</strong> String getEncoding() {
+<a name="843" href="#843">843</a>         <strong>if</strong> (locator == <strong>null</strong>) {
+<a name="844" href="#844">844</a>             <strong>return</strong> <strong>null</strong>;
+<a name="845" href="#845">845</a>         }
+<a name="846" href="#846">846</a> 
+<a name="847" href="#847">847</a>         <em class="comment">// use reflection to avoid dependency on Locator2</em>
+<a name="848" href="#848">848</a>         <em class="comment">// or other locator implemenations.</em>
+<a name="849" href="#849">849</a>         <strong>try</strong> {
+<a name="850" href="#850">850</a>             Method m = locator.getClass().getMethod(<span class="string">"getEncoding"</span>,
+<a name="851" href="#851">851</a>                     <strong>new</strong> Class[] {});
+<a name="852" href="#852">852</a> 
+<a name="853" href="#853">853</a>             <strong>if</strong> (m != <strong>null</strong>) {
+<a name="854" href="#854">854</a>                 <strong>return</strong> (String) m.invoke(locator, <strong>null</strong>);
+<a name="855" href="#855">855</a>             }
+<a name="856" href="#856">856</a>         } <strong>catch</strong> (Exception e) {
+<a name="857" href="#857">857</a>             <em class="comment">// do nothing</em>
+<a name="858" href="#858">858</a>         }
+<a name="859" href="#859">859</a> 
+<a name="860" href="#860">860</a>         <em class="comment">// couldn't determine encoding, returning null...</em>
+<a name="861" href="#861">861</a>         <strong>return</strong> <strong>null</strong>;
+<a name="862" href="#862">862</a>     }
+<a name="863" href="#863">863</a> 
+<a name="864" href="#864">864</a>     <em>/**<em>*</em></em>
+<a name="865" href="#865">865</a> <em>     * a Strategy Method to determine if a given entity name is ignorable</em>
+<a name="866" href="#866">866</a> <em>     * </em>
+<a name="867" href="#867">867</a> <em>     * @param name</em>
+<a name="868" href="#868">868</a> <em>     *            DOCUMENT ME!</em>
+<a name="869" href="#869">869</a> <em>     * </em>
+<a name="870" href="#870">870</a> <em>     * @return DOCUMENT ME!</em>
+<a name="871" href="#871">871</a> <em>     */</em>
+<a name="872" href="#872">872</a>     <strong>protected</strong> <strong>boolean</strong> isIgnorableEntity(String name) {
+<a name="873" href="#873">873</a>         <strong>return</strong> <span class="string">"amp"</span>.equals(name) || <span class="string">"apos"</span>.equals(name) || <span class="string">"gt"</span>.equals(name)
+<a name="874" href="#874">874</a>                 || <span class="string">"lt"</span>.equals(name) || <span class="string">"quot"</span>.equals(name);
+<a name="875" href="#875">875</a>     }
+<a name="876" href="#876">876</a> 
+<a name="877" href="#877">877</a>     <em>/**<em>*</em></em>
+<a name="878" href="#878">878</a> <em>     * Add all namespaces declared before the startElement() SAX event to the</em>
+<a name="879" href="#879">879</a> <em>     * current element so that they are available to child elements and</em>
+<a name="880" href="#880">880</a> <em>     * attributes</em>
+<a name="881" href="#881">881</a> <em>     * </em>
+<a name="882" href="#882">882</a> <em>     * @param element</em>
+<a name="883" href="#883">883</a> <em>     *            DOCUMENT ME!</em>
+<a name="884" href="#884">884</a> <em>     */</em>
+<a name="885" href="#885">885</a>     <strong>protected</strong> <strong>void</strong> addDeclaredNamespaces(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="886" href="#886">886</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> elementNamespace = element.getNamespace();
+<a name="887" href="#887">887</a> 
+<a name="888" href="#888">888</a>         <strong>for</strong> (<strong>int</strong> size = namespaceStack.size(); declaredNamespaceIndex < size; 
+<a name="889" href="#889">889</a>                 declaredNamespaceIndex++) {
+<a name="890" href="#890">890</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = namespaceStack
+<a name="891" href="#891">891</a>                     .getNamespace(declaredNamespaceIndex);
+<a name="892" href="#892">892</a> 
+<a name="893" href="#893">893</a>             <em class="comment">// if ( namespace != elementNamespace ) {</em>
+<a name="894" href="#894">894</a>             element.add(namespace);
+<a name="895" href="#895">895</a> 
+<a name="896" href="#896">896</a>             <em class="comment">// }</em>
+<a name="897" href="#897">897</a>         }
+<a name="898" href="#898">898</a>     }
+<a name="899" href="#899">899</a> 
+<a name="900" href="#900">900</a>     <em>/**<em>*</em></em>
+<a name="901" href="#901">901</a> <em>     * Add all the attributes to the given elements</em>
+<a name="902" href="#902">902</a> <em>     * </em>
+<a name="903" href="#903">903</a> <em>     * @param element</em>
+<a name="904" href="#904">904</a> <em>     *            DOCUMENT ME!</em>
+<a name="905" href="#905">905</a> <em>     * @param attributes</em>
+<a name="906" href="#906">906</a> <em>     *            DOCUMENT ME!</em>
+<a name="907" href="#907">907</a> <em>     */</em>
+<a name="908" href="#908">908</a>     <strong>protected</strong> <strong>void</strong> addAttributes(<a href="../../../org/dom4j/Element.html">Element</a> element, Attributes attributes) {
+<a name="909" href="#909">909</a>         <em class="comment">// XXXX: as an optimisation, we could deduce this value from the current</em>
+<a name="910" href="#910">910</a>         <em class="comment">// SAX parser settings, the SAX namespaces-prefixes feature</em>
+<a name="911" href="#911">911</a>         <strong>boolean</strong> noNamespaceAttributes = false;
+<a name="912" href="#912">912</a> 
+<a name="913" href="#913">913</a>         <strong>if</strong> (element instanceof AbstractElement) {
+<a name="914" href="#914">914</a>             <em class="comment">// optimised method</em>
+<a name="915" href="#915">915</a>             <a href="../../../org/dom4j/tree/AbstractElement.html">AbstractElement</a> baseElement = (AbstractElement) element;
+<a name="916" href="#916">916</a>             baseElement.setAttributes(attributes, namespaceStack,
+<a name="917" href="#917">917</a>                     noNamespaceAttributes);
+<a name="918" href="#918">918</a>         } <strong>else</strong> {
+<a name="919" href="#919">919</a>             <strong>int</strong> size = attributes.getLength();
+<a name="920" href="#920">920</a> 
+<a name="921" href="#921">921</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="922" href="#922">922</a>                 String attributeQName = attributes.getQName(i);
+<a name="923" href="#923">923</a> 
+<a name="924" href="#924">924</a>                 <strong>if</strong> (noNamespaceAttributes
+<a name="925" href="#925">925</a>                         || !attributeQName.startsWith(<span class="string">"xmlns"</span>)) {
+<a name="926" href="#926">926</a>                     String attributeURI = attributes.getURI(i);
+<a name="927" href="#927">927</a>                     String attributeLocalName = attributes.getLocalName(i);
+<a name="928" href="#928">928</a>                     String attributeValue = attributes.getValue(i);
+<a name="929" href="#929">929</a> 
+<a name="930" href="#930">930</a>                     <a href="../../../org/dom4j/QName.html">QName</a> qName = namespaceStack.getAttributeQName(
+<a name="931" href="#931">931</a>                             attributeURI, attributeLocalName, attributeQName);
+<a name="932" href="#932">932</a>                     element.addAttribute(qName, attributeValue);
+<a name="933" href="#933">933</a>                 }
+<a name="934" href="#934">934</a>             }
+<a name="935" href="#935">935</a>         }
+<a name="936" href="#936">936</a>     }
+<a name="937" href="#937">937</a> 
+<a name="938" href="#938">938</a>     <em>/**<em>*</em></em>
+<a name="939" href="#939">939</a> <em>     * Adds an internal DTD declaration to the list of declarations</em>
+<a name="940" href="#940">940</a> <em>     * </em>
+<a name="941" href="#941">941</a> <em>     * @param declaration</em>
+<a name="942" href="#942">942</a> <em>     *            DOCUMENT ME!</em>
+<a name="943" href="#943">943</a> <em>     */</em>
+<a name="944" href="#944">944</a>     <strong>protected</strong> <strong>void</strong> addDTDDeclaration(Object declaration) {
+<a name="945" href="#945">945</a>         <strong>if</strong> (internalDTDDeclarations == <strong>null</strong>) {
+<a name="946" href="#946">946</a>             internalDTDDeclarations = <strong>new</strong> ArrayList();
+<a name="947" href="#947">947</a>         }
+<a name="948" href="#948">948</a> 
+<a name="949" href="#949">949</a>         internalDTDDeclarations.add(declaration);
+<a name="950" href="#950">950</a>     }
+<a name="951" href="#951">951</a> 
+<a name="952" href="#952">952</a>     <em>/**<em>*</em></em>
+<a name="953" href="#953">953</a> <em>     * Adds an external DTD declaration to the list of declarations</em>
+<a name="954" href="#954">954</a> <em>     * </em>
+<a name="955" href="#955">955</a> <em>     * @param declaration</em>
+<a name="956" href="#956">956</a> <em>     *            DOCUMENT ME!</em>
+<a name="957" href="#957">957</a> <em>     */</em>
+<a name="958" href="#958">958</a>     <strong>protected</strong> <strong>void</strong> addExternalDTDDeclaration(Object declaration) {
+<a name="959" href="#959">959</a>         <strong>if</strong> (externalDTDDeclarations == <strong>null</strong>) {
+<a name="960" href="#960">960</a>             externalDTDDeclarations = <strong>new</strong> ArrayList();
+<a name="961" href="#961">961</a>         }
+<a name="962" href="#962">962</a> 
+<a name="963" href="#963">963</a>         externalDTDDeclarations.add(declaration);
+<a name="964" href="#964">964</a>     }
+<a name="965" href="#965">965</a> 
+<a name="966" href="#966">966</a>     <strong>protected</strong> <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a> createElementStack() {
+<a name="967" href="#967">967</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a>();
+<a name="968" href="#968">968</a>     }
+<a name="969" href="#969">969</a> }
+<a name="970" href="#970">970</a> 
+<a name="971" href="#971">971</a> <em class="comment">/*</em>
+<a name="972" href="#972">972</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="973" href="#973">973</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="974" href="#974">974</a> <em class="comment"> * following conditions are met:</em>
+<a name="975" href="#975">975</a> <em class="comment"> * </em>
+<a name="976" href="#976">976</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="977" href="#977">977</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="978" href="#978">978</a> <em class="comment"> * </em>
+<a name="979" href="#979">979</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="980" href="#980">980</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="981" href="#981">981</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="982" href="#982">982</a> <em class="comment"> * </em>
+<a name="983" href="#983">983</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="984" href="#984">984</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="985" href="#985">985</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="986" href="#986">986</a> <em class="comment"> * </em>
+<a name="987" href="#987">987</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="988" href="#988">988</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="989" href="#989">989</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="990" href="#990">990</a> <em class="comment"> * </em>
+<a name="991" href="#991">991</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="992" href="#992">992</a> <em class="comment"> * </em>
+<a name="993" href="#993">993</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="994" href="#994">994</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="995" href="#995">995</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="996" href="#996">996</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="997" href="#997">997</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="998" href="#998">998</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="999" href="#999">999</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="1000" href="#1000">1000</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="1001" href="#1001">1001</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="1002" href="#1002">1002</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="1003" href="#1003">1003</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="1004" href="#1004">1004</a> <em class="comment"> * </em>
+<a name="1005" href="#1005">1005</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="1006" href="#1006">1006</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXEventRecorder.html b/docs/xref/org/dom4j/io/SAXEventRecorder.html
new file mode 100644
index 0000000..5f25a14
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXEventRecorder.html
@@ -0,0 +1,616 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXEventRecorder xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXEventRecorder.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.Externalizable;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.IOException;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.ObjectInput;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.ObjectOutput;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.ArrayList;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.HashMap;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.Iterator;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.util.List;
+<a name="18" href="#18">18</a>  <strong>import</strong> java.util.Map;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.QName;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.xml.sax.Attributes;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.xml.sax.ContentHandler;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.xml.sax.DTDHandler;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.xml.sax.ext.DeclHandler;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.xml.sax.ext.LexicalHandler;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.xml.sax.helpers.AttributesImpl;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.xml.sax.helpers.DefaultHandler;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>  <em>/**<em>*</em></em>
+<a name="32" href="#32">32</a>  <em> * <p></em>
+<a name="33" href="#33">33</a>  <em> * Records SAX events such that they may be "replayed" at a later time. Provides</em>
+<a name="34" href="#34">34</a>  <em> * an alternative serialization approach when externalizing a DOM4J document.</em>
+<a name="35" href="#35">35</a>  <em> * Rather than serializing a document as text and re-parsing, the sax events may</em>
+<a name="36" href="#36">36</a>  <em> * be serialized instead.</em>
+<a name="37" href="#37">37</a>  <em> * </p></em>
+<a name="38" href="#38">38</a>  <em> * Example usage:</em>
+<a name="39" href="#39">39</a>  <em> * </em>
+<a name="40" href="#40">40</a>  <em> * <pre></em>
+<a name="41" href="#41">41</a>  <em> * </em>
+<a name="42" href="#42">42</a>  <em> *  </em>
+<a name="43" href="#43">43</a>  <em> *  </em>
+<a name="44" href="#44">44</a>  <em> *         SAXEventRecorder recorder = new SAXEventRecorder();</em>
+<a name="45" href="#45">45</a>  <em> *         SAXWriter saxWriter = new SAXWriter(recorder, recorder);</em>
+<a name="46" href="#46">46</a>  <em> *         saxWriter.write(document);</em>
+<a name="47" href="#47">47</a>  <em> *         out.writeObject(recorder);</em>
+<a name="48" href="#48">48</a>  <em> *         ...</em>
+<a name="49" href="#49">49</a>  <em> *         SAXEventRecorder recorder = (SAXEventRecorder)in.readObject();</em>
+<a name="50" href="#50">50</a>  <em> *         SAXContentHandler saxContentHandler = new SAXContentHandler();</em>
+<a name="51" href="#51">51</a>  <em> *         recorder.replay(saxContentHandler);</em>
+<a name="52" href="#52">52</a>  <em> *         Document document = saxContentHandler.getDocument();</em>
+<a name="53" href="#53">53</a>  <em> *  </em>
+<a name="54" href="#54">54</a>  <em> *   </em>
+<a name="55" href="#55">55</a>  <em> *  </em>
+<a name="56" href="#56">56</a>  <em> * </pre></em>
+<a name="57" href="#57">57</a>  <em> * </em>
+<a name="58" href="#58">58</a>  <em> * @author Todd Wolff (Bluestem Software)</em>
+<a name="59" href="#59">59</a>  <em> */</em>
+<a name="60" href="#60">60</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/SAXEventRecorder.html">SAXEventRecorder</a> <strong>extends</strong> DefaultHandler implements LexicalHandler,
+<a name="61" href="#61">61</a>          DeclHandler, DTDHandler, Externalizable {
+<a name="62" href="#62">62</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 1;
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> byte STRING = 0;
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> byte OBJECT = 1;
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> byte NULL = 2;
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>private</strong> List events = <strong>new</strong> ArrayList();
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>private</strong> Map prefixMappings = <strong>new</strong> HashMap();
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String XMLNS = <span class="string">"xmlns"</span>;
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String EMPTY_STRING = <span class="string">""</span>;
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXEventRecorder.html">SAXEventRecorder</a>() {
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>void</strong> replay(ContentHandler handler) throws SAXException {
+<a name="82" href="#82">82</a>          SAXEvent saxEvent;
+<a name="83" href="#83">83</a>          Iterator itr = events.iterator();
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>          <strong>while</strong> (itr.hasNext()) {
+<a name="86" href="#86">86</a>              saxEvent = (SAXEvent) itr.next();
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>              <strong>switch</strong> (saxEvent.event) {
+<a name="89" href="#89">89</a>                  <em class="comment">// replay to ContentHandler</em>
+<a name="90" href="#90">90</a>                  <strong>case</strong> SAXEvent.PROCESSING_INSTRUCTION:
+<a name="91" href="#91">91</a>                      handler.processingInstruction((String) saxEvent.getParm(0),
+<a name="92" href="#92">92</a>                              (String) saxEvent.getParm(1));
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>                      <strong>break</strong>;
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>                  <strong>case</strong> SAXEvent.START_PREFIX_MAPPING:
+<a name="97" href="#97">97</a>                      handler.startPrefixMapping((String) saxEvent.getParm(0),
+<a name="98" href="#98">98</a>                              (String) saxEvent.getParm(1));
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>                     <strong>break</strong>;
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>                 <strong>case</strong> SAXEvent.END_PREFIX_MAPPING:
+<a name="103" href="#103">103</a>                     handler.endPrefixMapping((String) saxEvent.getParm(0));
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>                     <strong>break</strong>;
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>                 <strong>case</strong> SAXEvent.START_DOCUMENT:
+<a name="108" href="#108">108</a>                     handler.startDocument();
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>                     <strong>break</strong>;
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>                 <strong>case</strong> SAXEvent.END_DOCUMENT:
+<a name="113" href="#113">113</a>                     handler.endDocument();
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>                     <strong>break</strong>;
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>                 <strong>case</strong> SAXEvent.START_ELEMENT:
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>                     AttributesImpl attributes = <strong>new</strong> AttributesImpl();
+<a name="120" href="#120">120</a>                     List attParmList = (List) saxEvent.getParm(3);
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>                     <strong>if</strong> (attParmList != <strong>null</strong>) {
+<a name="123" href="#123">123</a>                         Iterator attsItr = attParmList.iterator();
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>                         <strong>while</strong> (attsItr.hasNext()) {
+<a name="126" href="#126">126</a>                             String[] attParms = (String[]) attsItr.next();
+<a name="127" href="#127">127</a>                             attributes.addAttribute(attParms[0], attParms[1],
+<a name="128" href="#128">128</a>                                     attParms[2], attParms[3], attParms[4]);
+<a name="129" href="#129">129</a>                         }
+<a name="130" href="#130">130</a>                     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>                     handler.startElement((String) saxEvent.getParm(0),
+<a name="133" href="#133">133</a>                             (String) saxEvent.getParm(1), (String) saxEvent
+<a name="134" href="#134">134</a>                                     .getParm(2), attributes);
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>                     <strong>break</strong>;
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>                 <strong>case</strong> SAXEvent.END_ELEMENT:
+<a name="139" href="#139">139</a>                     handler.endElement((String) saxEvent.getParm(0),
+<a name="140" href="#140">140</a>                             (String) saxEvent.getParm(1), (String) saxEvent
+<a name="141" href="#141">141</a>                                     .getParm(2));
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>                     <strong>break</strong>;
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>                 <strong>case</strong> SAXEvent.CHARACTERS:
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>                     <strong>char</strong>[] <strong>char</strong>s = (<strong>char</strong>[]) saxEvent.getParm(0);
+<a name="148" href="#148">148</a>                     <strong>int</strong> start = ((Integer) saxEvent.getParm(1)).<strong>int</strong>Value();
+<a name="149" href="#149">149</a>                     <strong>int</strong> end = ((Integer) saxEvent.getParm(2)).<strong>int</strong>Value();
+<a name="150" href="#150">150</a>                     handler.characters(chars, start, end);
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>                     <strong>break</strong>;
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>                 <em class="comment">// replay to LexicalHandler</em>
+<a name="155" href="#155">155</a>                 <strong>case</strong> SAXEvent.START_DTD:
+<a name="156" href="#156">156</a>                     ((LexicalHandler) handler).startDTD((String) saxEvent
+<a name="157" href="#157">157</a>                             .getParm(0), (String) saxEvent.getParm(1),
+<a name="158" href="#158">158</a>                             (String) saxEvent.getParm(2));
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>                     <strong>break</strong>;
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>                 <strong>case</strong> SAXEvent.END_DTD:
+<a name="163" href="#163">163</a>                     ((LexicalHandler) handler).endDTD();
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>                     <strong>break</strong>;
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>                 <strong>case</strong> SAXEvent.START_ENTITY:
+<a name="168" href="#168">168</a>                     ((LexicalHandler) handler).startEntity((String) saxEvent
+<a name="169" href="#169">169</a>                             .getParm(0));
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>                     <strong>break</strong>;
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>                 <strong>case</strong> SAXEvent.END_ENTITY:
+<a name="174" href="#174">174</a>                     ((LexicalHandler) handler).endEntity((String) saxEvent
+<a name="175" href="#175">175</a>                             .getParm(0));
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>                     <strong>break</strong>;
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>                 <strong>case</strong> SAXEvent.START_CDATA:
+<a name="180" href="#180">180</a>                     ((LexicalHandler) handler).startCDATA();
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>                     <strong>break</strong>;
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>                 <strong>case</strong> SAXEvent.END_CDATA:
+<a name="185" href="#185">185</a>                     ((LexicalHandler) handler).endCDATA();
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>                     <strong>break</strong>;
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>                 <strong>case</strong> SAXEvent.COMMENT:
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>                     <strong>char</strong>[] c<strong>char</strong>s = (<strong>char</strong>[]) saxEvent.getParm(0);
+<a name="192" href="#192">192</a>                     <strong>int</strong> cstart = ((Integer) saxEvent.getParm(1)).<strong>int</strong>Value();
+<a name="193" href="#193">193</a>                     <strong>int</strong> cend = ((Integer) saxEvent.getParm(2)).<strong>int</strong>Value();
+<a name="194" href="#194">194</a>                     ((LexicalHandler) handler).comment(cchars, cstart, cend);
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>                     <strong>break</strong>;
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>                 <em class="comment">// replay to DeclHandler</em>
+<a name="199" href="#199">199</a>                 <strong>case</strong> SAXEvent.ELEMENT_DECL:
+<a name="200" href="#200">200</a>                     ((DeclHandler) handler).elementDecl((String) saxEvent
+<a name="201" href="#201">201</a>                             .getParm(0), (String) saxEvent.getParm(1));
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>                     <strong>break</strong>;
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>                 <strong>case</strong> SAXEvent.ATTRIBUTE_DECL:
+<a name="206" href="#206">206</a>                     ((DeclHandler) handler).attributeDecl((String) saxEvent
+<a name="207" href="#207">207</a>                             .getParm(0), (String) saxEvent.getParm(1),
+<a name="208" href="#208">208</a>                             (String) saxEvent.getParm(2), (String) saxEvent
+<a name="209" href="#209">209</a>                                     .getParm(3), (String) saxEvent.getParm(4));
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>                     <strong>break</strong>;
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>                 <strong>case</strong> SAXEvent.INTERNAL_ENTITY_DECL:
+<a name="214" href="#214">214</a>                     ((DeclHandler) handler).internalEntityDecl(
+<a name="215" href="#215">215</a>                             (String) saxEvent.getParm(0), (String) saxEvent
+<a name="216" href="#216">216</a>                                     .getParm(1));
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>                     <strong>break</strong>;
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>                 <strong>case</strong> SAXEvent.EXTERNAL_ENTITY_DECL:
+<a name="221" href="#221">221</a>                     ((DeclHandler) handler).externalEntityDecl(
+<a name="222" href="#222">222</a>                             (String) saxEvent.getParm(0), (String) saxEvent
+<a name="223" href="#223">223</a>                                     .getParm(1), (String) saxEvent.getParm(2));
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>                     <strong>break</strong>;
+<a name="226" href="#226">226</a> 
+<a name="227" href="#227">227</a>                 <strong>default</strong>:
+<a name="228" href="#228">228</a>                     <strong>throw</strong> <strong>new</strong> SAXException(<span class="string">"Unrecognized event: "</span>
+<a name="229" href="#229">229</a>                             + saxEvent.event);
+<a name="230" href="#230">230</a>             }
+<a name="231" href="#231">231</a>         }
+<a name="232" href="#232">232</a>     }
+<a name="233" href="#233">233</a> 
+<a name="234" href="#234">234</a>     <em class="comment">// ContentHandler interface</em>
+<a name="235" href="#235">235</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="236" href="#236">236</a>     <strong>public</strong> <strong>void</strong> processingInstruction(String target, String data)
+<a name="237" href="#237">237</a>             throws SAXException {
+<a name="238" href="#238">238</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.PROCESSING_INSTRUCTION);
+<a name="239" href="#239">239</a>         saxEvent.addParm(target);
+<a name="240" href="#240">240</a>         saxEvent.addParm(data);
+<a name="241" href="#241">241</a>         events.add(saxEvent);
+<a name="242" href="#242">242</a>     }
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>     <strong>public</strong> <strong>void</strong> startPrefixMapping(String prefix, String uri)
+<a name="245" href="#245">245</a>             throws SAXException {
+<a name="246" href="#246">246</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.START_PREFIX_MAPPING);
+<a name="247" href="#247">247</a>         saxEvent.addParm(prefix);
+<a name="248" href="#248">248</a>         saxEvent.addParm(uri);
+<a name="249" href="#249">249</a>         events.add(saxEvent);
+<a name="250" href="#250">250</a>     }
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>     <strong>public</strong> <strong>void</strong> endPrefixMapping(String prefix) throws SAXException {
+<a name="253" href="#253">253</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.END_PREFIX_MAPPING);
+<a name="254" href="#254">254</a>         saxEvent.addParm(prefix);
+<a name="255" href="#255">255</a>         events.add(saxEvent);
+<a name="256" href="#256">256</a>     }
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a>     <strong>public</strong> <strong>void</strong> startDocument() throws SAXException {
+<a name="259" href="#259">259</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.START_DOCUMENT);
+<a name="260" href="#260">260</a>         events.add(saxEvent);
+<a name="261" href="#261">261</a>     }
+<a name="262" href="#262">262</a> 
+<a name="263" href="#263">263</a>     <strong>public</strong> <strong>void</strong> endDocument() throws SAXException {
+<a name="264" href="#264">264</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.END_DOCUMENT);
+<a name="265" href="#265">265</a>         events.add(saxEvent);
+<a name="266" href="#266">266</a>     }
+<a name="267" href="#267">267</a> 
+<a name="268" href="#268">268</a>     <strong>public</strong> <strong>void</strong> startElement(String namespaceURI, String localName,
+<a name="269" href="#269">269</a>             String qualifiedName, Attributes attributes) throws SAXException {
+<a name="270" href="#270">270</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.START_ELEMENT);
+<a name="271" href="#271">271</a>         saxEvent.addParm(namespaceURI);
+<a name="272" href="#272">272</a>         saxEvent.addParm(localName);
+<a name="273" href="#273">273</a>         saxEvent.addParm(qualifiedName);
+<a name="274" href="#274">274</a> 
+<a name="275" href="#275">275</a>         <a href="../../../org/dom4j/QName.html">QName</a> qName = <strong>null</strong>;
+<a name="276" href="#276">276</a>         <strong>if</strong> (namespaceURI != <strong>null</strong>) {
+<a name="277" href="#277">277</a>             qName = <strong>new</strong> <a href="../../../org/dom4j/QName.html">QName</a>(localName, Namespace.get(namespaceURI));
+<a name="278" href="#278">278</a>         } <strong>else</strong> {
+<a name="279" href="#279">279</a>             qName = <strong>new</strong> <a href="../../../org/dom4j/QName.html">QName</a>(localName);
+<a name="280" href="#280">280</a>         }
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>         <strong>if</strong> ((attributes != <strong>null</strong>) && (attributes.getLength() > 0)) {
+<a name="283" href="#283">283</a>             List attParmList = <strong>new</strong> ArrayList(attributes.getLength());
+<a name="284" href="#284">284</a>             String[] attParms = <strong>null</strong>;
+<a name="285" href="#285">285</a> 
+<a name="286" href="#286">286</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < attributes.getLength(); i++) {
+<a name="287" href="#287">287</a> 
+<a name="288" href="#288">288</a>                 String attLocalName = attributes.getLocalName(i);
+<a name="289" href="#289">289</a> 
+<a name="290" href="#290">290</a>                 <strong>if</strong> (attLocalName.startsWith(XMLNS)) {
+<a name="291" href="#291">291</a> 
+<a name="292" href="#292">292</a>                     <em class="comment">// if SAXWriter is writing a DOMDocument, namespace</em>
+<a name="293" href="#293">293</a>                     <em class="comment">// decls are treated as attributes. record a start</em>
+<a name="294" href="#294">294</a>                     <em class="comment">// prefix mapping event</em>
+<a name="295" href="#295">295</a>                     String prefix = <strong>null</strong>;
+<a name="296" href="#296">296</a>                     <strong>if</strong> (attLocalName.length() > 5) {
+<a name="297" href="#297">297</a>                         prefix = attLocalName.substring(6);
+<a name="298" href="#298">298</a>                     } <strong>else</strong> {
+<a name="299" href="#299">299</a>                         prefix = EMPTY_STRING;
+<a name="300" href="#300">300</a>                     }
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>                     SAXEvent prefixEvent = <strong>new</strong> SAXEvent(
+<a name="303" href="#303">303</a>                             SAXEvent.START_PREFIX_MAPPING);
+<a name="304" href="#304">304</a>                     prefixEvent.addParm(prefix);
+<a name="305" href="#305">305</a>                     prefixEvent.addParm(attributes.getValue(i));
+<a name="306" href="#306">306</a>                     events.add(prefixEvent);
+<a name="307" href="#307">307</a> 
+<a name="308" href="#308">308</a>                     <em class="comment">// 'register' the prefix so that we can generate</em>
+<a name="309" href="#309">309</a>                     <em class="comment">// an end prefix mapping event within endElement</em>
+<a name="310" href="#310">310</a>                     List prefixes = (List) prefixMappings.get(qName);
+<a name="311" href="#311">311</a>                     <strong>if</strong> (prefixes == <strong>null</strong>) {
+<a name="312" href="#312">312</a>                         prefixes = <strong>new</strong> ArrayList();
+<a name="313" href="#313">313</a>                         prefixMappings.put(qName, prefixes);
+<a name="314" href="#314">314</a>                     }
+<a name="315" href="#315">315</a>                     prefixes.add(prefix);
+<a name="316" href="#316">316</a> 
+<a name="317" href="#317">317</a>                 } <strong>else</strong> {
+<a name="318" href="#318">318</a> 
+<a name="319" href="#319">319</a>                     attParms = <strong>new</strong> String[5];
+<a name="320" href="#320">320</a>                     attParms[0] = attributes.getURI(i);
+<a name="321" href="#321">321</a>                     attParms[1] = attLocalName;
+<a name="322" href="#322">322</a>                     attParms[2] = attributes.getQName(i);
+<a name="323" href="#323">323</a>                     attParms[3] = attributes.getType(i);
+<a name="324" href="#324">324</a>                     attParms[4] = attributes.getValue(i);
+<a name="325" href="#325">325</a>                     attParmList.add(attParms);
+<a name="326" href="#326">326</a> 
+<a name="327" href="#327">327</a>                 }
+<a name="328" href="#328">328</a> 
+<a name="329" href="#329">329</a>             }
+<a name="330" href="#330">330</a> 
+<a name="331" href="#331">331</a>             saxEvent.addParm(attParmList);
+<a name="332" href="#332">332</a>         }
+<a name="333" href="#333">333</a> 
+<a name="334" href="#334">334</a>         events.add(saxEvent);
+<a name="335" href="#335">335</a>     }
+<a name="336" href="#336">336</a> 
+<a name="337" href="#337">337</a>     <strong>public</strong> <strong>void</strong> endElement(String namespaceURI, String localName, String qName)
+<a name="338" href="#338">338</a>             throws SAXException {
+<a name="339" href="#339">339</a> 
+<a name="340" href="#340">340</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.END_ELEMENT);
+<a name="341" href="#341">341</a>         saxEvent.addParm(namespaceURI);
+<a name="342" href="#342">342</a>         saxEvent.addParm(localName);
+<a name="343" href="#343">343</a>         saxEvent.addParm(qName);
+<a name="344" href="#344">344</a>         events.add(saxEvent);
+<a name="345" href="#345">345</a> 
+<a name="346" href="#346">346</a>         <em class="comment">// check to see if a we issued a start prefix mapping event</em>
+<a name="347" href="#347">347</a>         <em class="comment">// for DOMDocument namespace decls</em>
+<a name="348" href="#348">348</a> 
+<a name="349" href="#349">349</a>         <a href="../../../org/dom4j/QName.html">QName</a> elementName = <strong>null</strong>;
+<a name="350" href="#350">350</a>         <strong>if</strong> (namespaceURI != <strong>null</strong>) {
+<a name="351" href="#351">351</a>             elementName = <strong>new</strong> <a href="../../../org/dom4j/QName.html">QName</a>(localName, Namespace.get(namespaceURI));
+<a name="352" href="#352">352</a>         } <strong>else</strong> {
+<a name="353" href="#353">353</a>             elementName = <strong>new</strong> <a href="../../../org/dom4j/QName.html">QName</a>(localName);
+<a name="354" href="#354">354</a>         }
+<a name="355" href="#355">355</a> 
+<a name="356" href="#356">356</a>         List prefixes = (List) prefixMappings.get(elementName);
+<a name="357" href="#357">357</a>         <strong>if</strong> (prefixes != <strong>null</strong>) {
+<a name="358" href="#358">358</a>             Iterator itr = prefixes.iterator();
+<a name="359" href="#359">359</a>             <strong>while</strong> (itr.hasNext()) {
+<a name="360" href="#360">360</a>                 SAXEvent prefixEvent = 
+<a name="361" href="#361">361</a>                         <strong>new</strong> SAXEvent(SAXEvent.END_PREFIX_MAPPING);
+<a name="362" href="#362">362</a>                 prefixEvent.addParm(itr.next());
+<a name="363" href="#363">363</a>                 events.add(prefixEvent);
+<a name="364" href="#364">364</a>             }
+<a name="365" href="#365">365</a>         }
+<a name="366" href="#366">366</a> 
+<a name="367" href="#367">367</a>     }
+<a name="368" href="#368">368</a> 
+<a name="369" href="#369">369</a>     <strong>public</strong> <strong>void</strong> <strong>char</strong>acters(<strong>char</strong>[] ch, <strong>int</strong> start, <strong>int</strong> end) throws SAXException {
+<a name="370" href="#370">370</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.CHARACTERS);
+<a name="371" href="#371">371</a>         saxEvent.addParm(ch);
+<a name="372" href="#372">372</a>         saxEvent.addParm(<strong>new</strong> Integer(start));
+<a name="373" href="#373">373</a>         saxEvent.addParm(<strong>new</strong> Integer(end));
+<a name="374" href="#374">374</a>         events.add(saxEvent);
+<a name="375" href="#375">375</a>     }
+<a name="376" href="#376">376</a> 
+<a name="377" href="#377">377</a>     <em class="comment">// LexicalHandler interface</em>
+<a name="378" href="#378">378</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="379" href="#379">379</a>     <strong>public</strong> <strong>void</strong> startDTD(String name, String <strong>public</strong>Id, String systemId)
+<a name="380" href="#380">380</a>             throws SAXException {
+<a name="381" href="#381">381</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.START_DTD);
+<a name="382" href="#382">382</a>         saxEvent.addParm(name);
+<a name="383" href="#383">383</a>         saxEvent.addParm(publicId);
+<a name="384" href="#384">384</a>         saxEvent.addParm(systemId);
+<a name="385" href="#385">385</a>         events.add(saxEvent);
+<a name="386" href="#386">386</a>     }
+<a name="387" href="#387">387</a> 
+<a name="388" href="#388">388</a>     <strong>public</strong> <strong>void</strong> endDTD() throws SAXException {
+<a name="389" href="#389">389</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.END_DTD);
+<a name="390" href="#390">390</a>         events.add(saxEvent);
+<a name="391" href="#391">391</a>     }
+<a name="392" href="#392">392</a> 
+<a name="393" href="#393">393</a>     <strong>public</strong> <strong>void</strong> startEntity(String name) throws SAXException {
+<a name="394" href="#394">394</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.START_ENTITY);
+<a name="395" href="#395">395</a>         saxEvent.addParm(name);
+<a name="396" href="#396">396</a>         events.add(saxEvent);
+<a name="397" href="#397">397</a>     }
+<a name="398" href="#398">398</a> 
+<a name="399" href="#399">399</a>     <strong>public</strong> <strong>void</strong> endEntity(String name) throws SAXException {
+<a name="400" href="#400">400</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.END_ENTITY);
+<a name="401" href="#401">401</a>         saxEvent.addParm(name);
+<a name="402" href="#402">402</a>         events.add(saxEvent);
+<a name="403" href="#403">403</a>     }
+<a name="404" href="#404">404</a> 
+<a name="405" href="#405">405</a>     <strong>public</strong> <strong>void</strong> startCDATA() throws SAXException {
+<a name="406" href="#406">406</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.START_CDATA);
+<a name="407" href="#407">407</a>         events.add(saxEvent);
+<a name="408" href="#408">408</a>     }
+<a name="409" href="#409">409</a> 
+<a name="410" href="#410">410</a>     <strong>public</strong> <strong>void</strong> endCDATA() throws SAXException {
+<a name="411" href="#411">411</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.END_CDATA);
+<a name="412" href="#412">412</a>         events.add(saxEvent);
+<a name="413" href="#413">413</a>     }
+<a name="414" href="#414">414</a> 
+<a name="415" href="#415">415</a>     <strong>public</strong> <strong>void</strong> comment(<strong>char</strong>[] ch, <strong>int</strong> start, <strong>int</strong> end) throws SAXException {
+<a name="416" href="#416">416</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.COMMENT);
+<a name="417" href="#417">417</a>         saxEvent.addParm(ch);
+<a name="418" href="#418">418</a>         saxEvent.addParm(<strong>new</strong> Integer(start));
+<a name="419" href="#419">419</a>         saxEvent.addParm(<strong>new</strong> Integer(end));
+<a name="420" href="#420">420</a>         events.add(saxEvent);
+<a name="421" href="#421">421</a>     }
+<a name="422" href="#422">422</a> 
+<a name="423" href="#423">423</a>     <em class="comment">// DeclHandler interface</em>
+<a name="424" href="#424">424</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="425" href="#425">425</a>     <strong>public</strong> <strong>void</strong> elementDecl(String name, String model) throws SAXException {
+<a name="426" href="#426">426</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.ELEMENT_DECL);
+<a name="427" href="#427">427</a>         saxEvent.addParm(name);
+<a name="428" href="#428">428</a>         saxEvent.addParm(model);
+<a name="429" href="#429">429</a>         events.add(saxEvent);
+<a name="430" href="#430">430</a>     }
+<a name="431" href="#431">431</a> 
+<a name="432" href="#432">432</a>     <strong>public</strong> <strong>void</strong> attributeDecl(String eName, String aName, String type,
+<a name="433" href="#433">433</a>             String valueDefault, String value) throws SAXException {
+<a name="434" href="#434">434</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.ATTRIBUTE_DECL);
+<a name="435" href="#435">435</a>         saxEvent.addParm(eName);
+<a name="436" href="#436">436</a>         saxEvent.addParm(aName);
+<a name="437" href="#437">437</a>         saxEvent.addParm(type);
+<a name="438" href="#438">438</a>         saxEvent.addParm(valueDefault);
+<a name="439" href="#439">439</a>         saxEvent.addParm(value);
+<a name="440" href="#440">440</a>         events.add(saxEvent);
+<a name="441" href="#441">441</a>     }
+<a name="442" href="#442">442</a> 
+<a name="443" href="#443">443</a>     <strong>public</strong> <strong>void</strong> internalEntityDecl(String name, String value)
+<a name="444" href="#444">444</a>             throws SAXException {
+<a name="445" href="#445">445</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.INTERNAL_ENTITY_DECL);
+<a name="446" href="#446">446</a>         saxEvent.addParm(name);
+<a name="447" href="#447">447</a>         saxEvent.addParm(value);
+<a name="448" href="#448">448</a>         events.add(saxEvent);
+<a name="449" href="#449">449</a>     }
+<a name="450" href="#450">450</a> 
+<a name="451" href="#451">451</a>     <strong>public</strong> <strong>void</strong> externalEntityDecl(String name, String <strong>public</strong>Id, String sysId)
+<a name="452" href="#452">452</a>             throws SAXException {
+<a name="453" href="#453">453</a>         SAXEvent saxEvent = <strong>new</strong> SAXEvent(SAXEvent.EXTERNAL_ENTITY_DECL);
+<a name="454" href="#454">454</a>         saxEvent.addParm(name);
+<a name="455" href="#455">455</a>         saxEvent.addParm(publicId);
+<a name="456" href="#456">456</a>         saxEvent.addParm(sysId);
+<a name="457" href="#457">457</a>         events.add(saxEvent);
+<a name="458" href="#458">458</a>     }
+<a name="459" href="#459">459</a> 
+<a name="460" href="#460">460</a>     <strong>public</strong> <strong>void</strong> writeExternal(ObjectOutput out) throws IOException {
+<a name="461" href="#461">461</a>         <strong>if</strong> (events == <strong>null</strong>) {
+<a name="462" href="#462">462</a>             out.writeByte(NULL);
+<a name="463" href="#463">463</a>         } <strong>else</strong> {
+<a name="464" href="#464">464</a>             out.writeByte(OBJECT);
+<a name="465" href="#465">465</a>             out.writeObject(events);
+<a name="466" href="#466">466</a>         }
+<a name="467" href="#467">467</a>     }
+<a name="468" href="#468">468</a> 
+<a name="469" href="#469">469</a>     <strong>public</strong> <strong>void</strong> readExternal(ObjectInput in) throws ClassNotFoundException,
+<a name="470" href="#470">470</a>             IOException {
+<a name="471" href="#471">471</a>         <strong>if</strong> (in.readByte() != NULL) {
+<a name="472" href="#472">472</a>             events = (List) in.readObject();
+<a name="473" href="#473">473</a>         }
+<a name="474" href="#474">474</a>     }
+<a name="475" href="#475">475</a> 
+<a name="476" href="#476">476</a>     <em class="comment">// SAXEvent inner class</em>
+<a name="477" href="#477">477</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="478" href="#478">478</a>     <strong>static</strong> <strong>class</strong> SAXEvent implements Externalizable {
+<a name="479" href="#479">479</a>         <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 1;
+<a name="480" href="#480">480</a> 
+<a name="481" href="#481">481</a>         <strong>static</strong> <strong>final</strong> byte PROCESSING_INSTRUCTION = 1;
+<a name="482" href="#482">482</a> 
+<a name="483" href="#483">483</a>         <strong>static</strong> <strong>final</strong> byte START_PREFIX_MAPPING = 2;
+<a name="484" href="#484">484</a> 
+<a name="485" href="#485">485</a>         <strong>static</strong> <strong>final</strong> byte END_PREFIX_MAPPING = 3;
+<a name="486" href="#486">486</a> 
+<a name="487" href="#487">487</a>         <strong>static</strong> <strong>final</strong> byte START_DOCUMENT = 4;
+<a name="488" href="#488">488</a> 
+<a name="489" href="#489">489</a>         <strong>static</strong> <strong>final</strong> byte END_DOCUMENT = 5;
+<a name="490" href="#490">490</a> 
+<a name="491" href="#491">491</a>         <strong>static</strong> <strong>final</strong> byte START_ELEMENT = 6;
+<a name="492" href="#492">492</a> 
+<a name="493" href="#493">493</a>         <strong>static</strong> <strong>final</strong> byte END_ELEMENT = 7;
+<a name="494" href="#494">494</a> 
+<a name="495" href="#495">495</a>         <strong>static</strong> <strong>final</strong> byte CHARACTERS = 8;
+<a name="496" href="#496">496</a> 
+<a name="497" href="#497">497</a>         <strong>static</strong> <strong>final</strong> byte START_DTD = 9;
+<a name="498" href="#498">498</a> 
+<a name="499" href="#499">499</a>         <strong>static</strong> <strong>final</strong> byte END_DTD = 10;
+<a name="500" href="#500">500</a> 
+<a name="501" href="#501">501</a>         <strong>static</strong> <strong>final</strong> byte START_ENTITY = 11;
+<a name="502" href="#502">502</a> 
+<a name="503" href="#503">503</a>         <strong>static</strong> <strong>final</strong> byte END_ENTITY = 12;
+<a name="504" href="#504">504</a> 
+<a name="505" href="#505">505</a>         <strong>static</strong> <strong>final</strong> byte START_CDATA = 13;
+<a name="506" href="#506">506</a> 
+<a name="507" href="#507">507</a>         <strong>static</strong> <strong>final</strong> byte END_CDATA = 14;
+<a name="508" href="#508">508</a> 
+<a name="509" href="#509">509</a>         <strong>static</strong> <strong>final</strong> byte COMMENT = 15;
+<a name="510" href="#510">510</a> 
+<a name="511" href="#511">511</a>         <strong>static</strong> <strong>final</strong> byte ELEMENT_DECL = 16;
+<a name="512" href="#512">512</a> 
+<a name="513" href="#513">513</a>         <strong>static</strong> <strong>final</strong> byte ATTRIBUTE_DECL = 17;
+<a name="514" href="#514">514</a> 
+<a name="515" href="#515">515</a>         <strong>static</strong> <strong>final</strong> byte INTERNAL_ENTITY_DECL = 18;
+<a name="516" href="#516">516</a> 
+<a name="517" href="#517">517</a>         <strong>static</strong> <strong>final</strong> byte EXTERNAL_ENTITY_DECL = 19;
+<a name="518" href="#518">518</a> 
+<a name="519" href="#519">519</a>         <strong>protected</strong> byte event;
+<a name="520" href="#520">520</a> 
+<a name="521" href="#521">521</a>         <strong>protected</strong> List parms;
+<a name="522" href="#522">522</a> 
+<a name="523" href="#523">523</a>         <strong>public</strong> SAXEvent() {
+<a name="524" href="#524">524</a>         }
+<a name="525" href="#525">525</a> 
+<a name="526" href="#526">526</a>         SAXEvent(byte event) {
+<a name="527" href="#527">527</a>             <strong>this</strong>.event = event;
+<a name="528" href="#528">528</a>         }
+<a name="529" href="#529">529</a> 
+<a name="530" href="#530">530</a>         <strong>void</strong> addParm(Object parm) {
+<a name="531" href="#531">531</a>             <strong>if</strong> (parms == <strong>null</strong>) {
+<a name="532" href="#532">532</a>                 parms = <strong>new</strong> ArrayList(3);
+<a name="533" href="#533">533</a>             }
+<a name="534" href="#534">534</a> 
+<a name="535" href="#535">535</a>             parms.add(parm);
+<a name="536" href="#536">536</a>         }
+<a name="537" href="#537">537</a> 
+<a name="538" href="#538">538</a>         Object getParm(<strong>int</strong> index) {
+<a name="539" href="#539">539</a>             <strong>if</strong> ((parms != <strong>null</strong>) && (index < parms.size())) {
+<a name="540" href="#540">540</a>                 <strong>return</strong> parms.get(index);
+<a name="541" href="#541">541</a>             } <strong>else</strong> {
+<a name="542" href="#542">542</a>                 <strong>return</strong> <strong>null</strong>;
+<a name="543" href="#543">543</a>             }
+<a name="544" href="#544">544</a>         }
+<a name="545" href="#545">545</a> 
+<a name="546" href="#546">546</a>         <strong>public</strong> <strong>void</strong> writeExternal(ObjectOutput out) throws IOException {
+<a name="547" href="#547">547</a>             out.writeByte(event);
+<a name="548" href="#548">548</a> 
+<a name="549" href="#549">549</a>             <strong>if</strong> (parms == <strong>null</strong>) {
+<a name="550" href="#550">550</a>                 out.writeByte(NULL);
+<a name="551" href="#551">551</a>             } <strong>else</strong> {
+<a name="552" href="#552">552</a>                 out.writeByte(OBJECT);
+<a name="553" href="#553">553</a>                 out.writeObject(parms);
+<a name="554" href="#554">554</a>             }
+<a name="555" href="#555">555</a>         }
+<a name="556" href="#556">556</a> 
+<a name="557" href="#557">557</a>         <strong>public</strong> <strong>void</strong> readExternal(ObjectInput in) throws ClassNotFoundException,
+<a name="558" href="#558">558</a>                 IOException {
+<a name="559" href="#559">559</a>             event = in.readByte();
+<a name="560" href="#560">560</a> 
+<a name="561" href="#561">561</a>             <strong>if</strong> (in.readByte() != NULL) {
+<a name="562" href="#562">562</a>                 parms = (List) in.readObject();
+<a name="563" href="#563">563</a>             }
+<a name="564" href="#564">564</a>         }
+<a name="565" href="#565">565</a>     }
+<a name="566" href="#566">566</a> }
+<a name="567" href="#567">567</a> 
+<a name="568" href="#568">568</a> <em class="comment">/*</em>
+<a name="569" href="#569">569</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="570" href="#570">570</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="571" href="#571">571</a> <em class="comment"> * following conditions are met:</em>
+<a name="572" href="#572">572</a> <em class="comment"> * </em>
+<a name="573" href="#573">573</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="574" href="#574">574</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="575" href="#575">575</a> <em class="comment"> * </em>
+<a name="576" href="#576">576</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="577" href="#577">577</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="578" href="#578">578</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="579" href="#579">579</a> <em class="comment"> * </em>
+<a name="580" href="#580">580</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="581" href="#581">581</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="582" href="#582">582</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="583" href="#583">583</a> <em class="comment"> * </em>
+<a name="584" href="#584">584</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="585" href="#585">585</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="586" href="#586">586</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="587" href="#587">587</a> <em class="comment"> * </em>
+<a name="588" href="#588">588</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="589" href="#589">589</a> <em class="comment"> * </em>
+<a name="590" href="#590">590</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="591" href="#591">591</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="592" href="#592">592</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="593" href="#593">593</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="594" href="#594">594</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="595" href="#595">595</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="596" href="#596">596</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="597" href="#597">597</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="598" href="#598">598</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="599" href="#599">599</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="600" href="#600">600</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="601" href="#601">601</a> <em class="comment"> * </em>
+<a name="602" href="#602">602</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="603" href="#603">603</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXHelper.html b/docs/xref/org/dom4j/io/SAXHelper.html
new file mode 100644
index 0000000..1c51175
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXHelper.html
@@ -0,0 +1,208 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXHelper xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXHelper.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.xml.sax.SAXNotRecognizedException;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.xml.sax.SAXNotSupportedException;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.xml.sax.helpers.XMLReaderFactory;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * <p></em>
+<a name="18" href="#18">18</a>  <em> * <code>SAXHelper</code> contains some helper methods for working with SAX</em>
+<a name="19" href="#19">19</a>  <em> * and XMLReader objects.</em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.18 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>class</strong> <a href="../../../org/dom4j/io/SAXHelper.html">SAXHelper</a> {
+<a name="26" href="#26">26</a>      <strong>private</strong> <strong>static</strong> <strong>boolean</strong> loggedWarning = <strong>true</strong>;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <strong>protected</strong> <a href="../../../org/dom4j/io/SAXHelper.html">SAXHelper</a>() {
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>static</strong> <strong>boolean</strong> setParserProperty(XMLReader reader,
+<a name="32" href="#32">32</a>              String propertyName, Object value) {
+<a name="33" href="#33">33</a>          <strong>try</strong> {
+<a name="34" href="#34">34</a>              reader.setProperty(propertyName, value);
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>              <strong>return</strong> <strong>true</strong>;
+<a name="37" href="#37">37</a>          } <strong>catch</strong> (SAXNotSupportedException e) {
+<a name="38" href="#38">38</a>              <em class="comment">// ignore</em>
+<a name="39" href="#39">39</a>          } <strong>catch</strong> (SAXNotRecognizedException e) {
+<a name="40" href="#40">40</a>              <em class="comment">// ignore</em>
+<a name="41" href="#41">41</a>          }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>          <strong>return</strong> false;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>static</strong> <strong>boolean</strong> setParserFeature(XMLReader reader,
+<a name="47" href="#47">47</a>              String featureName, <strong>boolean</strong> value) {
+<a name="48" href="#48">48</a>          <strong>try</strong> {
+<a name="49" href="#49">49</a>              reader.setFeature(featureName, value);
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>              <strong>return</strong> <strong>true</strong>;
+<a name="52" href="#52">52</a>          } <strong>catch</strong> (SAXNotSupportedException e) {
+<a name="53" href="#53">53</a>              <em class="comment">// ignore</em>
+<a name="54" href="#54">54</a>          } <strong>catch</strong> (SAXNotRecognizedException e) {
+<a name="55" href="#55">55</a>              <em class="comment">// ignore</em>
+<a name="56" href="#56">56</a>          }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          <strong>return</strong> false;
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <em>/**<em>*</em></em>
+<a name="62" href="#62">62</a>  <em>     * Creats a default XMLReader via the org.xml.sax.driver system property or</em>
+<a name="63" href="#63">63</a>  <em>     * JAXP if the system property is not set.</em>
+<a name="64" href="#64">64</a>  <em>     * </em>
+<a name="65" href="#65">65</a>  <em>     * @param validating</em>
+<a name="66" href="#66">66</a>  <em>     *            DOCUMENT ME!</em>
+<a name="67" href="#67">67</a>  <em>     * </em>
+<a name="68" href="#68">68</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @throws SAXException</em>
+<a name="71" href="#71">71</a>  <em>     *             DOCUMENT ME!</em>
+<a name="72" href="#72">72</a>  <em>     */</em>
+<a name="73" href="#73">73</a>      <strong>public</strong> <strong>static</strong> XMLReader createXMLReader(<strong>boolean</strong> validating)
+<a name="74" href="#74">74</a>              throws SAXException {
+<a name="75" href="#75">75</a>          XMLReader reader = <strong>null</strong>;
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>          <strong>if</strong> (reader == <strong>null</strong>) {
+<a name="78" href="#78">78</a>              reader = createXMLReaderViaJAXP(validating, <strong>true</strong>);
+<a name="79" href="#79">79</a>          }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>          <strong>if</strong> (reader == <strong>null</strong>) {
+<a name="82" href="#82">82</a>              <strong>try</strong> {
+<a name="83" href="#83">83</a>                  reader = XMLReaderFactory.createXMLReader();
+<a name="84" href="#84">84</a>              } <strong>catch</strong> (Exception e) {
+<a name="85" href="#85">85</a>                  <strong>if</strong> (isVerboseErrorReporting()) {
+<a name="86" href="#86">86</a>                      <em class="comment">// log all exceptions as warnings and carry</em>
+<a name="87" href="#87">87</a>                      <em class="comment">// on as we have a default SAX parser we can use</em>
+<a name="88" href="#88">88</a>                      System.out.println(<span class="string">"Warning: Caught exception attempting "</span>
+<a name="89" href="#89">89</a>                              + <span class="string">"to use SAX to load a SAX XMLReader "</span>);
+<a name="90" href="#90">90</a>                      System.out.println(<span class="string">"Warning: Exception was: "</span> + e);
+<a name="91" href="#91">91</a>                      System.out
+<a name="92" href="#92">92</a>                              .println(<span class="string">"Warning: I will print the stack trace "</span>
+<a name="93" href="#93">93</a>                                      + <span class="string">"then carry on using the default "</span>
+<a name="94" href="#94">94</a>                                      + <span class="string">"SAX parser"</span>);
+<a name="95" href="#95">95</a>                      e.printStackTrace();
+<a name="96" href="#96">96</a>                  }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>                  <strong>throw</strong> <strong>new</strong> SAXException(e);
+<a name="99" href="#99">99</a>              }
+<a name="100" href="#100">100</a>         }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         <strong>if</strong> (reader == <strong>null</strong>) {
+<a name="103" href="#103">103</a>             <strong>throw</strong> <strong>new</strong> SAXException(<span class="string">"Couldn't create SAX reader"</span>);
+<a name="104" href="#104">104</a>         }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         <strong>return</strong> reader;
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <em>/**<em>*</em></em>
+<a name="110" href="#110">110</a> <em>     * This method attempts to use JAXP to locate the SAX2 XMLReader</em>
+<a name="111" href="#111">111</a> <em>     * implementation. This method uses reflection to avoid being dependent</em>
+<a name="112" href="#112">112</a> <em>     * directly on the JAXP classes.</em>
+<a name="113" href="#113">113</a> <em>     * </em>
+<a name="114" href="#114">114</a> <em>     * @param validating</em>
+<a name="115" href="#115">115</a> <em>     *            DOCUMENT ME!</em>
+<a name="116" href="#116">116</a> <em>     * @param namespaceAware</em>
+<a name="117" href="#117">117</a> <em>     *            DOCUMENT ME!</em>
+<a name="118" href="#118">118</a> <em>     * </em>
+<a name="119" href="#119">119</a> <em>     * @return DOCUMENT ME!</em>
+<a name="120" href="#120">120</a> <em>     */</em>
+<a name="121" href="#121">121</a>     <strong>protected</strong> <strong>static</strong> XMLReader createXMLReaderViaJAXP(<strong>boolean</strong> validating,
+<a name="122" href="#122">122</a>             <strong>boolean</strong> namespaceAware) {
+<a name="123" href="#123">123</a>         <em class="comment">// try use JAXP to load the XMLReader...</em>
+<a name="124" href="#124">124</a>         <strong>try</strong> {
+<a name="125" href="#125">125</a>             <strong>return</strong> JAXPHelper.createXMLReader(validating, namespaceAware);
+<a name="126" href="#126">126</a>         } <strong>catch</strong> (Throwable e) {
+<a name="127" href="#127">127</a>             <strong>if</strong> (!loggedWarning) {
+<a name="128" href="#128">128</a>                 loggedWarning = <strong>true</strong>;
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>                 <strong>if</strong> (isVerboseErrorReporting()) {
+<a name="131" href="#131">131</a>                     <em class="comment">// log all exceptions as warnings and carry</em>
+<a name="132" href="#132">132</a>                     <em class="comment">// on as we have a default SAX parser we can use</em>
+<a name="133" href="#133">133</a>                     System.out.println(<span class="string">"Warning: Caught exception attempting "</span>
+<a name="134" href="#134">134</a>                             + <span class="string">"to use JAXP to load a SAX XMLReader"</span>);
+<a name="135" href="#135">135</a>                     System.out.println(<span class="string">"Warning: Exception was: "</span> + e);
+<a name="136" href="#136">136</a>                     e.printStackTrace();
+<a name="137" href="#137">137</a>                 }
+<a name="138" href="#138">138</a>             }
+<a name="139" href="#139">139</a>         }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>         <strong>return</strong> <strong>null</strong>;
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>     <strong>protected</strong> <strong>static</strong> <strong>boolean</strong> isVerboseErrorReporting() {
+<a name="145" href="#145">145</a>         <strong>try</strong> {
+<a name="146" href="#146">146</a>             String flag = System.getProperty(<span class="string">"org.dom4j.verbose"</span>);
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>             <strong>if</strong> ((flag != <strong>null</strong>) && flag.equalsIgnoreCase(<span class="string">"true"</span>)) {
+<a name="149" href="#149">149</a>                 <strong>return</strong> <strong>true</strong>;
+<a name="150" href="#150">150</a>             }
+<a name="151" href="#151">151</a>         } <strong>catch</strong> (Exception e) {
+<a name="152" href="#152">152</a>             <em class="comment">// in case a security exception</em>
+<a name="153" href="#153">153</a>             <em class="comment">// happens in an applet or similar JVM</em>
+<a name="154" href="#154">154</a>         }
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>         <strong>return</strong> <strong>true</strong>;
+<a name="157" href="#157">157</a>     }
+<a name="158" href="#158">158</a> }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a> <em class="comment">/*</em>
+<a name="161" href="#161">161</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="162" href="#162">162</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="163" href="#163">163</a> <em class="comment"> * following conditions are met:</em>
+<a name="164" href="#164">164</a> <em class="comment"> * </em>
+<a name="165" href="#165">165</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="166" href="#166">166</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="167" href="#167">167</a> <em class="comment"> * </em>
+<a name="168" href="#168">168</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="169" href="#169">169</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="170" href="#170">170</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="171" href="#171">171</a> <em class="comment"> * </em>
+<a name="172" href="#172">172</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="173" href="#173">173</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="174" href="#174">174</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="175" href="#175">175</a> <em class="comment"> * </em>
+<a name="176" href="#176">176</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="177" href="#177">177</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="178" href="#178">178</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="179" href="#179">179</a> <em class="comment"> * </em>
+<a name="180" href="#180">180</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="181" href="#181">181</a> <em class="comment"> * </em>
+<a name="182" href="#182">182</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="183" href="#183">183</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="184" href="#184">184</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="185" href="#185">185</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="186" href="#186">186</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="187" href="#187">187</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="188" href="#188">188</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="189" href="#189">189</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="190" href="#190">190</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="191" href="#191">191</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="192" href="#192">192</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="193" href="#193">193</a> <em class="comment"> * </em>
+<a name="194" href="#194">194</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="195" href="#195">195</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXModifier.html b/docs/xref/org/dom4j/io/SAXModifier.html
new file mode 100644
index 0000000..86cb695
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXModifier.html
@@ -0,0 +1,472 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXModifier xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXModifier.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.File;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.InputStream;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.Reader;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.net.URL;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.HashMap;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Iterator;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.Map;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Document;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.DocumentException;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>  <em>/**<em>*</em></em>
+<a name="27" href="#27">27</a>  <em> * The SAXModifier reads, modifies and writes XML documents using SAX.</em>
+<a name="28" href="#28">28</a>  <em> * </em>
+<a name="29" href="#29">29</a>  <em> * <p></em>
+<a name="30" href="#30">30</a>  <em> * Registered {@link ElementModifier}objects can provide modifications to (part</em>
+<a name="31" href="#31">31</a>  <em> * of) the xml tree, while the document is still being processed. This makes it</em>
+<a name="32" href="#32">32</a>  <em> * possible to change large xml documents without having them in memory.</em>
+<a name="33" href="#33">33</a>  <em> * </p></em>
+<a name="34" href="#34">34</a>  <em> * </em>
+<a name="35" href="#35">35</a>  <em> * <p></em>
+<a name="36" href="#36">36</a>  <em> * The modified document is written when the {@link XMLWriter}is specified.</em>
+<a name="37" href="#37">37</a>  <em> * </p></em>
+<a name="38" href="#38">38</a>  <em> * </em>
+<a name="39" href="#39">39</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="40" href="#40">40</a>  <em> * </em>
+<a name="41" href="#41">41</a>  <em> * @see org.dom4j.io.SAXReader</em>
+<a name="42" href="#42">42</a>  <em> * @see org.dom4j.io.XMLWriter</em>
+<a name="43" href="#43">43</a>  <em> */</em>
+<a name="44" href="#44">44</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a> {
+<a name="45" href="#45">45</a>      <strong>private</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> xmlWriter;
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>private</strong> XMLReader xmlReader;
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>private</strong> <strong>boolean</strong> pruneElements;
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>private</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a> modifyReader;
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>private</strong> HashMap modifiers = <strong>new</strong> HashMap();
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em>/**<em>*</em></em>
+<a name="56" href="#56">56</a>  <em>     * Creates a new modifier. <br></em>
+<a name="57" href="#57">57</a>  <em>     * The XMLReader to parse the source will be created via the</em>
+<a name="58" href="#58">58</a>  <em>     * org.xml.sax.driver system property or JAXP if the system property is not</em>
+<a name="59" href="#59">59</a>  <em>     * set.</em>
+<a name="60" href="#60">60</a>  <em>     */</em>
+<a name="61" href="#61">61</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a>() {
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <em>/**<em>*</em></em>
+<a name="65" href="#65">65</a>  <em>     * Creates a new modifier. <br></em>
+<a name="66" href="#66">66</a>  <em>     * The XMLReader to parse the source will be created via the</em>
+<a name="67" href="#67">67</a>  <em>     * org.xml.sax.driver system property or JAXP if the system property is not</em>
+<a name="68" href="#68">68</a>  <em>     * set.</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @param pruneElements</em>
+<a name="71" href="#71">71</a>  <em>     *            Set to true when the modified document must NOT be kept in</em>
+<a name="72" href="#72">72</a>  <em>     *            memory.</em>
+<a name="73" href="#73">73</a>  <em>     */</em>
+<a name="74" href="#74">74</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a>(<strong>boolean</strong> pruneElements) {
+<a name="75" href="#75">75</a>          <strong>this</strong>.pruneElements = pruneElements;
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <em>/**<em>*</em></em>
+<a name="79" href="#79">79</a>  <em>     * Creates a new modifier that will the specified {@link</em>
+<a name="80" href="#80">80</a>  <em>     * org.xml.sax.XMLReader} to parse the source.</em>
+<a name="81" href="#81">81</a>  <em>     * </em>
+<a name="82" href="#82">82</a>  <em>     * @param xmlReader</em>
+<a name="83" href="#83">83</a>  <em>     *            The XMLReader to use</em>
+<a name="84" href="#84">84</a>  <em>     */</em>
+<a name="85" href="#85">85</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a>(XMLReader xmlReader) {
+<a name="86" href="#86">86</a>          <strong>this</strong>.xmlReader = xmlReader;
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <em>/**<em>*</em></em>
+<a name="90" href="#90">90</a>  <em>     * Creates a new modifier that will the specified {@link</em>
+<a name="91" href="#91">91</a>  <em>     * org.xml.sax.XMLReader} to parse the source.</em>
+<a name="92" href="#92">92</a>  <em>     * </em>
+<a name="93" href="#93">93</a>  <em>     * @param xmlReader</em>
+<a name="94" href="#94">94</a>  <em>     *            The XMLReader to use</em>
+<a name="95" href="#95">95</a>  <em>     * @param pruneElements</em>
+<a name="96" href="#96">96</a>  <em>     *            Set to true when the modified document must NOT be kept in</em>
+<a name="97" href="#97">97</a>  <em>     *            memory.</em>
+<a name="98" href="#98">98</a>  <em>     */</em>
+<a name="99" href="#99">99</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a>(XMLReader xmlReader, <strong>boolean</strong> pruneElements) {
+<a name="100" href="#100">100</a>         <strong>this</strong>.xmlReader = xmlReader;
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <em>/**<em>*</em></em>
+<a name="104" href="#104">104</a> <em>     * Reads a Document from the given {@link java.io.File}and writes it to the</em>
+<a name="105" href="#105">105</a> <em>     * specified {@link XMLWriter}using SAX. Registered {@linkElementModifier}</em>
+<a name="106" href="#106">106</a> <em>     * objects are invoked on the fly.</em>
+<a name="107" href="#107">107</a> <em>     * </em>
+<a name="108" href="#108">108</a> <em>     * @param source</em>
+<a name="109" href="#109">109</a> <em>     *            is the <code>File</code> to read from.</em>
+<a name="110" href="#110">110</a> <em>     * </em>
+<a name="111" href="#111">111</a> <em>     * @return the newly created Document instance</em>
+<a name="112" href="#112">112</a> <em>     * </em>
+<a name="113" href="#113">113</a> <em>     * @throws DocumentException</em>
+<a name="114" href="#114">114</a> <em>     *             DocumentException org.dom4j.DocumentException} if an error</em>
+<a name="115" href="#115">115</a> <em>     *             occurs during parsing.</em>
+<a name="116" href="#116">116</a> <em>     */</em>
+<a name="117" href="#117">117</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(File source) throws DocumentException {
+<a name="118" href="#118">118</a>         <strong>try</strong> {
+<a name="119" href="#119">119</a>             <strong>return</strong> installModifyReader().read(source);
+<a name="120" href="#120">120</a>         } <strong>catch</strong> (SAXModifyException ex) {
+<a name="121" href="#121">121</a>             Throwable cause = ex.getCause();
+<a name="122" href="#122">122</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="123" href="#123">123</a>         }
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <em>/**<em>*</em></em>
+<a name="127" href="#127">127</a> <em>     * Reads a Document from the given {@link org.xml.sax.InputSource}and</em>
+<a name="128" href="#128">128</a> <em>     * writes it to the specified {@link XMLWriter}using SAX. Registered</em>
+<a name="129" href="#129">129</a> <em>     * {@link ElementModifier}objects are invoked on the fly.</em>
+<a name="130" href="#130">130</a> <em>     * </em>
+<a name="131" href="#131">131</a> <em>     * @param source</em>
+<a name="132" href="#132">132</a> <em>     *            is the <code>org.xml.sax.InputSource</code> to read from.</em>
+<a name="133" href="#133">133</a> <em>     * </em>
+<a name="134" href="#134">134</a> <em>     * @return the newly created Document instance</em>
+<a name="135" href="#135">135</a> <em>     * </em>
+<a name="136" href="#136">136</a> <em>     * @throws DocumentException</em>
+<a name="137" href="#137">137</a> <em>     *             DocumentException org.dom4j.DocumentException} if an error</em>
+<a name="138" href="#138">138</a> <em>     *             occurs during parsing.</em>
+<a name="139" href="#139">139</a> <em>     */</em>
+<a name="140" href="#140">140</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(InputSource source) throws DocumentException {
+<a name="141" href="#141">141</a>         <strong>try</strong> {
+<a name="142" href="#142">142</a>             <strong>return</strong> installModifyReader().read(source);
+<a name="143" href="#143">143</a>         } <strong>catch</strong> (SAXModifyException ex) {
+<a name="144" href="#144">144</a>             Throwable cause = ex.getCause();
+<a name="145" href="#145">145</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="146" href="#146">146</a>         }
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <em>/**<em>*</em></em>
+<a name="150" href="#150">150</a> <em>     * Reads a Document from the given {@link java.io.InputStream}and writes it</em>
+<a name="151" href="#151">151</a> <em>     * to the specified {@link XMLWriter}using SAX. Registered {@link</em>
+<a name="152" href="#152">152</a> <em>     * ElementModifier} objects are invoked on the fly.</em>
+<a name="153" href="#153">153</a> <em>     * </em>
+<a name="154" href="#154">154</a> <em>     * @param source</em>
+<a name="155" href="#155">155</a> <em>     *            is the <code>java.io.InputStream</code> to read from.</em>
+<a name="156" href="#156">156</a> <em>     * </em>
+<a name="157" href="#157">157</a> <em>     * @return the newly created Document instance</em>
+<a name="158" href="#158">158</a> <em>     * </em>
+<a name="159" href="#159">159</a> <em>     * @throws DocumentException</em>
+<a name="160" href="#160">160</a> <em>     *             DocumentException org.dom4j.DocumentException} if an error</em>
+<a name="161" href="#161">161</a> <em>     *             occurs during parsing.</em>
+<a name="162" href="#162">162</a> <em>     */</em>
+<a name="163" href="#163">163</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(InputStream source) throws DocumentException {
+<a name="164" href="#164">164</a>         <strong>try</strong> {
+<a name="165" href="#165">165</a>             <strong>return</strong> installModifyReader().read(source);
+<a name="166" href="#166">166</a>         } <strong>catch</strong> (SAXModifyException ex) {
+<a name="167" href="#167">167</a>             Throwable cause = ex.getCause();
+<a name="168" href="#168">168</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="169" href="#169">169</a>         }
+<a name="170" href="#170">170</a>     }
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>     <em>/**<em>*</em></em>
+<a name="173" href="#173">173</a> <em>     * Reads a Document from the given {@link java.io.InputStream}and writes it</em>
+<a name="174" href="#174">174</a> <em>     * to the specified {@link XMLWriter}using SAX. Registered {@link</em>
+<a name="175" href="#175">175</a> <em>     * ElementModifier} objects are invoked on the fly.</em>
+<a name="176" href="#176">176</a> <em>     * </em>
+<a name="177" href="#177">177</a> <em>     * @param source</em>
+<a name="178" href="#178">178</a> <em>     *            is the <code>java.io.InputStream</code> to read from.</em>
+<a name="179" href="#179">179</a> <em>     * @param systemId</em>
+<a name="180" href="#180">180</a> <em>     *            DOCUMENT ME!</em>
+<a name="181" href="#181">181</a> <em>     * </em>
+<a name="182" href="#182">182</a> <em>     * @return the newly created Document instance</em>
+<a name="183" href="#183">183</a> <em>     * </em>
+<a name="184" href="#184">184</a> <em>     * @throws DocumentException</em>
+<a name="185" href="#185">185</a> <em>     *             DocumentException org.dom4j.DocumentException} if an error</em>
+<a name="186" href="#186">186</a> <em>     *             occurs during parsing.</em>
+<a name="187" href="#187">187</a> <em>     */</em>
+<a name="188" href="#188">188</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(InputStream source, String systemId)
+<a name="189" href="#189">189</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="190" href="#190">190</a>         <strong>try</strong> {
+<a name="191" href="#191">191</a>             <strong>return</strong> installModifyReader().read(source);
+<a name="192" href="#192">192</a>         } <strong>catch</strong> (SAXModifyException ex) {
+<a name="193" href="#193">193</a>             Throwable cause = ex.getCause();
+<a name="194" href="#194">194</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="195" href="#195">195</a>         }
+<a name="196" href="#196">196</a>     }
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>     <em>/**<em>*</em></em>
+<a name="199" href="#199">199</a> <em>     * Reads a Document from the given {@link java.io.Reader}and writes it to</em>
+<a name="200" href="#200">200</a> <em>     * the specified {@link XMLWriter}using SAX. Registered {@link</em>
+<a name="201" href="#201">201</a> <em>     * ElementModifier} objects are invoked on the fly.</em>
+<a name="202" href="#202">202</a> <em>     * </em>
+<a name="203" href="#203">203</a> <em>     * @param source</em>
+<a name="204" href="#204">204</a> <em>     *            is the <code>java.io.Reader</code> to read from.</em>
+<a name="205" href="#205">205</a> <em>     * </em>
+<a name="206" href="#206">206</a> <em>     * @return the newly created Document instance</em>
+<a name="207" href="#207">207</a> <em>     * </em>
+<a name="208" href="#208">208</a> <em>     * @throws DocumentException</em>
+<a name="209" href="#209">209</a> <em>     *             DocumentException org.dom4j.DocumentException} if an error</em>
+<a name="210" href="#210">210</a> <em>     *             occurs during parsing.</em>
+<a name="211" href="#211">211</a> <em>     */</em>
+<a name="212" href="#212">212</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(Reader source) throws DocumentException {
+<a name="213" href="#213">213</a>         <strong>try</strong> {
+<a name="214" href="#214">214</a>             <strong>return</strong> installModifyReader().read(source);
+<a name="215" href="#215">215</a>         } <strong>catch</strong> (SAXModifyException ex) {
+<a name="216" href="#216">216</a>             Throwable cause = ex.getCause();
+<a name="217" href="#217">217</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="218" href="#218">218</a>         }
+<a name="219" href="#219">219</a>     }
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>     <em>/**<em>*</em></em>
+<a name="222" href="#222">222</a> <em>     * Reads a Document from the given {@link java.io.Reader}and writes it to</em>
+<a name="223" href="#223">223</a> <em>     * the specified {@link XMLWriter}using SAX. Registered {@link</em>
+<a name="224" href="#224">224</a> <em>     * ElementModifier} objects are invoked on the fly.</em>
+<a name="225" href="#225">225</a> <em>     * </em>
+<a name="226" href="#226">226</a> <em>     * @param source</em>
+<a name="227" href="#227">227</a> <em>     *            is the <code>java.io.Reader</code> to read from.</em>
+<a name="228" href="#228">228</a> <em>     * @param systemId</em>
+<a name="229" href="#229">229</a> <em>     *            DOCUMENT ME!</em>
+<a name="230" href="#230">230</a> <em>     * </em>
+<a name="231" href="#231">231</a> <em>     * @return the newly created Document instance</em>
+<a name="232" href="#232">232</a> <em>     * </em>
+<a name="233" href="#233">233</a> <em>     * @throws DocumentException</em>
+<a name="234" href="#234">234</a> <em>     *             DocumentException org.dom4j.DocumentException} if an error</em>
+<a name="235" href="#235">235</a> <em>     *             occurs during parsing.</em>
+<a name="236" href="#236">236</a> <em>     */</em>
+<a name="237" href="#237">237</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(Reader source, String systemId)
+<a name="238" href="#238">238</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="239" href="#239">239</a>         <strong>try</strong> {
+<a name="240" href="#240">240</a>             <strong>return</strong> installModifyReader().read(source);
+<a name="241" href="#241">241</a>         } <strong>catch</strong> (SAXModifyException ex) {
+<a name="242" href="#242">242</a>             Throwable cause = ex.getCause();
+<a name="243" href="#243">243</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="244" href="#244">244</a>         }
+<a name="245" href="#245">245</a>     }
+<a name="246" href="#246">246</a> 
+<a name="247" href="#247">247</a>     <em>/**<em>*</em></em>
+<a name="248" href="#248">248</a> <em>     * Reads a Document from the given {@link java.net.URL}and writes it to the</em>
+<a name="249" href="#249">249</a> <em>     * specified {@link XMLWriter}using SAX. Registered {@linkElementModifier}</em>
+<a name="250" href="#250">250</a> <em>     * objects are invoked on the fly.</em>
+<a name="251" href="#251">251</a> <em>     * </em>
+<a name="252" href="#252">252</a> <em>     * @param source</em>
+<a name="253" href="#253">253</a> <em>     *            is the <code>java.net.URL</code> to read from.</em>
+<a name="254" href="#254">254</a> <em>     * </em>
+<a name="255" href="#255">255</a> <em>     * @return the newly created Document instance</em>
+<a name="256" href="#256">256</a> <em>     * </em>
+<a name="257" href="#257">257</a> <em>     * @throws DocumentException</em>
+<a name="258" href="#258">258</a> <em>     *             DocumentException org.dom4j.DocumentException} if an error</em>
+<a name="259" href="#259">259</a> <em>     *             occurs during parsing.</em>
+<a name="260" href="#260">260</a> <em>     */</em>
+<a name="261" href="#261">261</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(URL source) throws DocumentException {
+<a name="262" href="#262">262</a>         <strong>try</strong> {
+<a name="263" href="#263">263</a>             <strong>return</strong> installModifyReader().read(source);
+<a name="264" href="#264">264</a>         } <strong>catch</strong> (SAXModifyException ex) {
+<a name="265" href="#265">265</a>             Throwable cause = ex.getCause();
+<a name="266" href="#266">266</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="267" href="#267">267</a>         }
+<a name="268" href="#268">268</a>     }
+<a name="269" href="#269">269</a> 
+<a name="270" href="#270">270</a>     <em>/**<em>*</em></em>
+<a name="271" href="#271">271</a> <em>     * Reads a Document from the given URL or filename and writes it to the</em>
+<a name="272" href="#272">272</a> <em>     * specified {@link XMLWriter}using SAX. Registered {@linkElementModifier}</em>
+<a name="273" href="#273">273</a> <em>     * objects are invoked on the fly.</em>
+<a name="274" href="#274">274</a> <em>     * </em>
+<a name="275" href="#275">275</a> <em>     * @param source</em>
+<a name="276" href="#276">276</a> <em>     *            is the URL or filename to read from.</em>
+<a name="277" href="#277">277</a> <em>     * </em>
+<a name="278" href="#278">278</a> <em>     * @return the newly created Document instance</em>
+<a name="279" href="#279">279</a> <em>     * </em>
+<a name="280" href="#280">280</a> <em>     * @throws DocumentException</em>
+<a name="281" href="#281">281</a> <em>     *             DocumentException org.dom4j.DocumentException} if an error</em>
+<a name="282" href="#282">282</a> <em>     *             occurs during parsing.</em>
+<a name="283" href="#283">283</a> <em>     */</em>
+<a name="284" href="#284">284</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(String source) throws DocumentException {
+<a name="285" href="#285">285</a>         <strong>try</strong> {
+<a name="286" href="#286">286</a>             <strong>return</strong> installModifyReader().read(source);
+<a name="287" href="#287">287</a>         } <strong>catch</strong> (SAXModifyException ex) {
+<a name="288" href="#288">288</a>             Throwable cause = ex.getCause();
+<a name="289" href="#289">289</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="290" href="#290">290</a>         }
+<a name="291" href="#291">291</a>     }
+<a name="292" href="#292">292</a> 
+<a name="293" href="#293">293</a>     <em>/**<em>*</em></em>
+<a name="294" href="#294">294</a> <em>     * Adds the {@link ElementModifier}to be called when the specified element</em>
+<a name="295" href="#295">295</a> <em>     * path is encounted while parsing the source.</em>
+<a name="296" href="#296">296</a> <em>     * </em>
+<a name="297" href="#297">297</a> <em>     * @param path</em>
+<a name="298" href="#298">298</a> <em>     *            The element path to be handled</em>
+<a name="299" href="#299">299</a> <em>     * @param modifier</em>
+<a name="300" href="#300">300</a> <em>     *            The {@link ElementModifier}to be called by the event based</em>
+<a name="301" href="#301">301</a> <em>     *            processor.</em>
+<a name="302" href="#302">302</a> <em>     */</em>
+<a name="303" href="#303">303</a>     <strong>public</strong> <strong>void</strong> addModifier(String path, <a href="../../../org/dom4j/io/ElementModifier.html">ElementModifier</a> modifier) {
+<a name="304" href="#304">304</a>         <strong>this</strong>.modifiers.put(path, modifier);
+<a name="305" href="#305">305</a>     }
+<a name="306" href="#306">306</a> 
+<a name="307" href="#307">307</a>     <em>/**<em>*</em></em>
+<a name="308" href="#308">308</a> <em>     * Removes all registered {@link ElementModifier}instances from the event</em>
+<a name="309" href="#309">309</a> <em>     * based processor.</em>
+<a name="310" href="#310">310</a> <em>     */</em>
+<a name="311" href="#311">311</a>     <strong>public</strong> <strong>void</strong> resetModifiers() {
+<a name="312" href="#312">312</a>         <strong>this</strong>.modifiers.clear();
+<a name="313" href="#313">313</a>         getSAXModifyReader().resetHandlers();
+<a name="314" href="#314">314</a>     }
+<a name="315" href="#315">315</a> 
+<a name="316" href="#316">316</a>     <em>/**<em>*</em></em>
+<a name="317" href="#317">317</a> <em>     * Removes the {@link ElementModifier}from the event based processor, for</em>
+<a name="318" href="#318">318</a> <em>     * the specified element path.</em>
+<a name="319" href="#319">319</a> <em>     * </em>
+<a name="320" href="#320">320</a> <em>     * @param path</em>
+<a name="321" href="#321">321</a> <em>     *            The path to remove the {@link ElementModifier}for.</em>
+<a name="322" href="#322">322</a> <em>     */</em>
+<a name="323" href="#323">323</a>     <strong>public</strong> <strong>void</strong> removeModifier(String path) {
+<a name="324" href="#324">324</a>         <strong>this</strong>.modifiers.remove(path);
+<a name="325" href="#325">325</a>         getSAXModifyReader().removeHandler(path);
+<a name="326" href="#326">326</a>     }
+<a name="327" href="#327">327</a> 
+<a name="328" href="#328">328</a>     <em>/**<em>*</em></em>
+<a name="329" href="#329">329</a> <em>     * Get the {@link org.dom4j.DocumentFactory}used to create the DOM4J</em>
+<a name="330" href="#330">330</a> <em>     * document structure</em>
+<a name="331" href="#331">331</a> <em>     * </em>
+<a name="332" href="#332">332</a> <em>     * @return <code>DocumentFactory</code> that will be used</em>
+<a name="333" href="#333">333</a> <em>     */</em>
+<a name="334" href="#334">334</a>     <strong>public</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="335" href="#335">335</a>         <strong>return</strong> getSAXModifyReader().getDocumentFactory();
+<a name="336" href="#336">336</a>     }
+<a name="337" href="#337">337</a> 
+<a name="338" href="#338">338</a>     <em>/**<em>*</em></em>
+<a name="339" href="#339">339</a> <em>     * Sets the {@link org.dom4j.DocumentFactory}used to create the DOM4J</em>
+<a name="340" href="#340">340</a> <em>     * document tree.</em>
+<a name="341" href="#341">341</a> <em>     * </em>
+<a name="342" href="#342">342</a> <em>     * @param factory</em>
+<a name="343" href="#343">343</a> <em>     *            <code>DocumentFactory</code> to be used</em>
+<a name="344" href="#344">344</a> <em>     */</em>
+<a name="345" href="#345">345</a>     <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory) {
+<a name="346" href="#346">346</a>         getSAXModifyReader().setDocumentFactory(factory);
+<a name="347" href="#347">347</a>     }
+<a name="348" href="#348">348</a> 
+<a name="349" href="#349">349</a>     <em>/**<em>*</em></em>
+<a name="350" href="#350">350</a> <em>     * Returns the current {@link XMLWriter}.</em>
+<a name="351" href="#351">351</a> <em>     * </em>
+<a name="352" href="#352">352</a> <em>     * @return XMLWriter</em>
+<a name="353" href="#353">353</a> <em>     */</em>
+<a name="354" href="#354">354</a>     <strong>public</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> getXMLWriter() {
+<a name="355" href="#355">355</a>         <strong>return</strong> <strong>this</strong>.xmlWriter;
+<a name="356" href="#356">356</a>     }
+<a name="357" href="#357">357</a> 
+<a name="358" href="#358">358</a>     <em>/**<em>*</em></em>
+<a name="359" href="#359">359</a> <em>     * Sets the {@link XMLWriter}used to write the modified document.</em>
+<a name="360" href="#360">360</a> <em>     * </em>
+<a name="361" href="#361">361</a> <em>     * @param writer</em>
+<a name="362" href="#362">362</a> <em>     *            The writer to use.</em>
+<a name="363" href="#363">363</a> <em>     */</em>
+<a name="364" href="#364">364</a>     <strong>public</strong> <strong>void</strong> setXMLWriter(<a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> writer) {
+<a name="365" href="#365">365</a>         <strong>this</strong>.xmlWriter = writer;
+<a name="366" href="#366">366</a>     }
+<a name="367" href="#367">367</a> 
+<a name="368" href="#368">368</a>     <em>/**<em>*</em></em>
+<a name="369" href="#369">369</a> <em>     * Returns true when xml elements are not kept in memory while parsing. The</em>
+<a name="370" href="#370">370</a> <em>     * {@link org.dom4j.Document}returned by the modify methods will be null.</em>
+<a name="371" href="#371">371</a> <em>     * </em>
+<a name="372" href="#372">372</a> <em>     * @return Returns the pruneElements.</em>
+<a name="373" href="#373">373</a> <em>     */</em>
+<a name="374" href="#374">374</a>     <strong>public</strong> <strong>boolean</strong> isPruneElements() {
+<a name="375" href="#375">375</a>         <strong>return</strong> pruneElements;
+<a name="376" href="#376">376</a>     }
+<a name="377" href="#377">377</a> 
+<a name="378" href="#378">378</a>     <strong>private</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a> installModifyReader() throws DocumentException {
+<a name="379" href="#379">379</a>         <strong>try</strong> {
+<a name="380" href="#380">380</a>             <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a> reader = getSAXModifyReader();
+<a name="381" href="#381">381</a> 
+<a name="382" href="#382">382</a>             <strong>if</strong> (isPruneElements()) {
+<a name="383" href="#383">383</a>                 modifyReader.setDispatchHandler(<strong>new</strong> <a href="../../../org/dom4j/io/PruningDispatchHandler.html">PruningDispatchHandler</a>());
+<a name="384" href="#384">384</a>             }
+<a name="385" href="#385">385</a> 
+<a name="386" href="#386">386</a>             reader.resetHandlers();
+<a name="387" href="#387">387</a> 
+<a name="388" href="#388">388</a>             Iterator modifierIt = <strong>this</strong>.modifiers.entrySet().iterator();
+<a name="389" href="#389">389</a> 
+<a name="390" href="#390">390</a>             <strong>while</strong> (modifierIt.hasNext()) {
+<a name="391" href="#391">391</a>                 Map.Entry entry = (Map.Entry) modifierIt.next();
+<a name="392" href="#392">392</a> 
+<a name="393" href="#393">393</a>                 <a href="../../../org/dom4j/io/SAXModifyElementHandler.html">SAXModifyElementHandler</a> handler = <strong>new</strong> <a href="../../../org/dom4j/io/SAXModifyElementHandler.html">SAXModifyElementHandler</a>(
+<a name="394" href="#394">394</a>                         (<a href="../../../org/dom4j/io/ElementModifier.html">ElementModifier</a>) entry.getValue());
+<a name="395" href="#395">395</a>                 reader.addHandler((String) entry.getKey(), handler);
+<a name="396" href="#396">396</a>             }
+<a name="397" href="#397">397</a> 
+<a name="398" href="#398">398</a>             reader.setXMLWriter(getXMLWriter());
+<a name="399" href="#399">399</a>             reader.setXMLReader(getXMLReader());
+<a name="400" href="#400">400</a> 
+<a name="401" href="#401">401</a>             <strong>return</strong> reader;
+<a name="402" href="#402">402</a>         } <strong>catch</strong> (SAXException ex) {
+<a name="403" href="#403">403</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(ex.getMessage(), ex);
+<a name="404" href="#404">404</a>         }
+<a name="405" href="#405">405</a>     }
+<a name="406" href="#406">406</a> 
+<a name="407" href="#407">407</a>     <strong>private</strong> XMLReader getXMLReader() throws SAXException {
+<a name="408" href="#408">408</a>         <strong>if</strong> (<strong>this</strong>.xmlReader == <strong>null</strong>) {
+<a name="409" href="#409">409</a>             xmlReader = SAXHelper.createXMLReader(false);
+<a name="410" href="#410">410</a>         }
+<a name="411" href="#411">411</a> 
+<a name="412" href="#412">412</a>         <strong>return</strong> <strong>this</strong>.xmlReader;
+<a name="413" href="#413">413</a>     }
+<a name="414" href="#414">414</a> 
+<a name="415" href="#415">415</a>     <strong>private</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a> getSAXModifyReader() {
+<a name="416" href="#416">416</a>         <strong>if</strong> (mod<strong>if</strong>yReader == <strong>null</strong>) {
+<a name="417" href="#417">417</a>             modifyReader = <strong>new</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>();
+<a name="418" href="#418">418</a>         }
+<a name="419" href="#419">419</a> 
+<a name="420" href="#420">420</a>         <strong>return</strong> modifyReader;
+<a name="421" href="#421">421</a>     }
+<a name="422" href="#422">422</a> }
+<a name="423" href="#423">423</a> 
+<a name="424" href="#424">424</a> <em class="comment">/*</em>
+<a name="425" href="#425">425</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="426" href="#426">426</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="427" href="#427">427</a> <em class="comment"> * following conditions are met:</em>
+<a name="428" href="#428">428</a> <em class="comment"> * </em>
+<a name="429" href="#429">429</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="430" href="#430">430</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="431" href="#431">431</a> <em class="comment"> * </em>
+<a name="432" href="#432">432</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="433" href="#433">433</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="434" href="#434">434</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="435" href="#435">435</a> <em class="comment"> * </em>
+<a name="436" href="#436">436</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="437" href="#437">437</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="438" href="#438">438</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="439" href="#439">439</a> <em class="comment"> * </em>
+<a name="440" href="#440">440</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="441" href="#441">441</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="442" href="#442">442</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="443" href="#443">443</a> <em class="comment"> * </em>
+<a name="444" href="#444">444</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="445" href="#445">445</a> <em class="comment"> * </em>
+<a name="446" href="#446">446</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="447" href="#447">447</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="448" href="#448">448</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="449" href="#449">449</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="450" href="#450">450</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="451" href="#451">451</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="452" href="#452">452</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="453" href="#453">453</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="454" href="#454">454</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="455" href="#455">455</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="456" href="#456">456</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="457" href="#457">457</a> <em class="comment"> * </em>
+<a name="458" href="#458">458</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="459" href="#459">459</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXModifyContentHandler.html b/docs/xref/org/dom4j/io/SAXModifyContentHandler.html
new file mode 100644
index 0000000..135d936
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXModifyContentHandler.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXModifyContentHandler xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXModifyContentHandler.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Element;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.xml.sax.Attributes;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.xml.sax.Locator;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * This extension of the SAXContentHandler writes SAX events immediately to the</em>
+<a name="22" href="#22">22</a>  <em> * provided XMLWriter, unless some {@link org.dom4.ElementHandler}is still</em>
+<a name="23" href="#23">23</a>  <em> * handling the current Element.</em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * @see org.dom4j.io.SAXContentHandler</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>class</strong> <a href="../../../org/dom4j/io/SAXModifyContentHandler.html">SAXModifyContentHandler</a> <strong>extends</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a> {
+<a name="30" href="#30">30</a>      <strong>private</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> xmlWriter;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyContentHandler.html">SAXModifyContentHandler</a>() {
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyContentHandler.html">SAXModifyContentHandler</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="36" href="#36">36</a>          <strong>super</strong>(documentFactory);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyContentHandler.html">SAXModifyContentHandler</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory,
+<a name="40" href="#40">40</a>              <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> elementHandler) {
+<a name="41" href="#41">41</a>          <strong>super</strong>(documentFactory, elementHandler);
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyContentHandler.html">SAXModifyContentHandler</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory,
+<a name="45" href="#45">45</a>              <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> elementHandler, <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a> elementStack) {
+<a name="46" href="#46">46</a>          <strong>super</strong>(documentFactory, elementHandler, elementStack);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> setXMLWriter(<a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> writer) {
+<a name="50" href="#50">50</a>          <strong>this</strong>.xmlWriter = writer;
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <strong>void</strong> startCDATA() throws SAXException {
+<a name="54" href="#54">54</a>          <strong>super</strong>.startCDATA();
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          <strong>if</strong> (!activeHandlers() && (xmlWriter != <strong>null</strong>)) {
+<a name="57" href="#57">57</a>              xmlWriter.startCDATA();
+<a name="58" href="#58">58</a>          }
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>void</strong> startDTD(String name, String <strong>public</strong>Id, String systemId)
+<a name="62" href="#62">62</a>              throws SAXException {
+<a name="63" href="#63">63</a>          <strong>super</strong>.startDTD(name, publicId, systemId);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="66" href="#66">66</a>              xmlWriter.startDTD(name, publicId, systemId);
+<a name="67" href="#67">67</a>          }
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>public</strong> <strong>void</strong> endDTD() throws org.xml.sax.SAXException {
+<a name="71" href="#71">71</a>          <strong>super</strong>.endDTD();
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="74" href="#74">74</a>              xmlWriter.endDTD();
+<a name="75" href="#75">75</a>          }
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> <strong>void</strong> comment(<strong>char</strong>[] <strong>char</strong>acters, <strong>int</strong> parm2, <strong>int</strong> parm3)
+<a name="79" href="#79">79</a>              throws SAXException {
+<a name="80" href="#80">80</a>          <strong>super</strong>.comment(characters, parm2, parm3);
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          <strong>if</strong> (!activeHandlers() && (xmlWriter != <strong>null</strong>)) {
+<a name="83" href="#83">83</a>              xmlWriter.comment(characters, parm2, parm3);
+<a name="84" href="#84">84</a>          }
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <strong>public</strong> <strong>void</strong> startEntity(String name) throws SAXException {
+<a name="88" href="#88">88</a>          <strong>super</strong>.startEntity(name);
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="91" href="#91">91</a>              xmlWriter.startEntity(name);
+<a name="92" href="#92">92</a>          }
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> <strong>void</strong> endCDATA() throws org.xml.sax.SAXException {
+<a name="96" href="#96">96</a>          <strong>super</strong>.endCDATA();
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          <strong>if</strong> (!activeHandlers() && (xmlWriter != <strong>null</strong>)) {
+<a name="99" href="#99">99</a>              xmlWriter.endCDATA();
+<a name="100" href="#100">100</a>         }
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <strong>public</strong> <strong>void</strong> endEntity(String name) throws SAXException {
+<a name="104" href="#104">104</a>         <strong>super</strong>.endEntity(name);
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="107" href="#107">107</a>             xmlWriter.endEntity(name);
+<a name="108" href="#108">108</a>         }
+<a name="109" href="#109">109</a>     }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>     <strong>public</strong> <strong>void</strong> unparsedEntityDecl(String name, String <strong>public</strong>Id,
+<a name="112" href="#112">112</a>             String systemId, String notation) throws SAXException {
+<a name="113" href="#113">113</a>         <strong>super</strong>.unparsedEntityDecl(name, publicId, systemId, notation);
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         <strong>if</strong> (!activeHandlers() && (xmlWriter != <strong>null</strong>)) {
+<a name="116" href="#116">116</a>             xmlWriter.unparsedEntityDecl(name, publicId, systemId, notation);
+<a name="117" href="#117">117</a>         }
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <strong>public</strong> <strong>void</strong> notationDecl(String name, String <strong>public</strong>Id, String systemId)
+<a name="121" href="#121">121</a>             throws SAXException {
+<a name="122" href="#122">122</a>         <strong>super</strong>.notationDecl(name, publicId, systemId);
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="125" href="#125">125</a>             xmlWriter.notationDecl(name, publicId, systemId);
+<a name="126" href="#126">126</a>         }
+<a name="127" href="#127">127</a>     }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>     <strong>public</strong> <strong>void</strong> startElement(String uri, String localName, String qName,
+<a name="130" href="#130">130</a>             Attributes atts) throws SAXException {
+<a name="131" href="#131">131</a>         <strong>super</strong>.startElement(uri, localName, qName, atts);
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>         <strong>if</strong> (!activeHandlers() && (xmlWriter != <strong>null</strong>)) {
+<a name="134" href="#134">134</a>             xmlWriter.startElement(uri, localName, qName, atts);
+<a name="135" href="#135">135</a>         }
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <strong>public</strong> <strong>void</strong> startDocument() throws SAXException {
+<a name="139" href="#139">139</a>         <strong>super</strong>.startDocument();
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>         <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="142" href="#142">142</a>             xmlWriter.startDocument();
+<a name="143" href="#143">143</a>         }
+<a name="144" href="#144">144</a>     }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <strong>public</strong> <strong>void</strong> ignorableWhitespace(<strong>char</strong>[] parm1, <strong>int</strong> parm2, <strong>int</strong> parm3)
+<a name="147" href="#147">147</a>             throws SAXException {
+<a name="148" href="#148">148</a>         <strong>super</strong>.ignorableWhitespace(parm1, parm2, parm3);
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         <strong>if</strong> (!activeHandlers() && (xmlWriter != <strong>null</strong>)) {
+<a name="151" href="#151">151</a>             xmlWriter.ignorableWhitespace(parm1, parm2, parm3);
+<a name="152" href="#152">152</a>         }
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> <strong>void</strong> processingInstruction(String target, String data)
+<a name="156" href="#156">156</a>             throws SAXException {
+<a name="157" href="#157">157</a>         <strong>super</strong>.processingInstruction(target, data);
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>         <strong>if</strong> (!activeHandlers() && (xmlWriter != <strong>null</strong>)) {
+<a name="160" href="#160">160</a>             xmlWriter.processingInstruction(target, data);
+<a name="161" href="#161">161</a>         }
+<a name="162" href="#162">162</a>     }
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>     <strong>public</strong> <strong>void</strong> setDocumentLocator(Locator locator) {
+<a name="165" href="#165">165</a>         <strong>super</strong>.setDocumentLocator(locator);
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>         <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="168" href="#168">168</a>             xmlWriter.setDocumentLocator(locator);
+<a name="169" href="#169">169</a>         }
+<a name="170" href="#170">170</a>     }
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>     <strong>public</strong> <strong>void</strong> skippedEntity(String name) throws SAXException {
+<a name="173" href="#173">173</a>         <strong>super</strong>.skippedEntity(name);
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>         <strong>if</strong> (!activeHandlers() && (xmlWriter != <strong>null</strong>)) {
+<a name="176" href="#176">176</a>             xmlWriter.skippedEntity(name);
+<a name="177" href="#177">177</a>         }
+<a name="178" href="#178">178</a>     }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>     <strong>public</strong> <strong>void</strong> endDocument() throws SAXException {
+<a name="181" href="#181">181</a>         <strong>super</strong>.endDocument();
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>         <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="184" href="#184">184</a>             xmlWriter.endDocument();
+<a name="185" href="#185">185</a>         }
+<a name="186" href="#186">186</a>     }
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>     <strong>public</strong> <strong>void</strong> startPrefixMapping(String prefix, String uri)
+<a name="189" href="#189">189</a>             throws SAXException {
+<a name="190" href="#190">190</a>         <strong>super</strong>.startPrefixMapping(prefix, uri);
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>         <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="193" href="#193">193</a>             xmlWriter.startPrefixMapping(prefix, uri);
+<a name="194" href="#194">194</a>         }
+<a name="195" href="#195">195</a>     }
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>     <strong>public</strong> <strong>void</strong> endElement(String uri, String localName, String qName)
+<a name="198" href="#198">198</a>             throws SAXException {
+<a name="199" href="#199">199</a>         <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> currentHandler = getElementStack().getDispatchHandler()
+<a name="200" href="#200">200</a>                 .getHandler(getElementStack().getPath());
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>         <strong>super</strong>.endElement(uri, localName, qName);
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>         <strong>if</strong> (!activeHandlers()) {
+<a name="205" href="#205">205</a>             <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="206" href="#206">206</a>                 <strong>if</strong> (currentHandler == <strong>null</strong>) {
+<a name="207" href="#207">207</a>                     xmlWriter.endElement(uri, localName, qName);
+<a name="208" href="#208">208</a>                 } <strong>else</strong> <strong>if</strong> (currentHandler instanceof SAXMod<strong>if</strong>yElementHandler) {
+<a name="209" href="#209">209</a>                     <a href="../../../org/dom4j/io/SAXModifyElementHandler.html">SAXModifyElementHandler</a> modifyHandler 
+<a name="210" href="#210">210</a>                             = (SAXModifyElementHandler) currentHandler;
+<a name="211" href="#211">211</a>                     <a href="../../../org/dom4j/Element.html">Element</a> modifiedElement = modifyHandler
+<a name="212" href="#212">212</a>                             .getModifiedElement();
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>                     <strong>try</strong> {
+<a name="215" href="#215">215</a>                         xmlWriter.write(modifiedElement);
+<a name="216" href="#216">216</a>                     } <strong>catch</strong> (IOException ex) {
+<a name="217" href="#217">217</a>                         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/io/SAXModifyException.html">SAXModifyException</a>(ex);
+<a name="218" href="#218">218</a>                     }
+<a name="219" href="#219">219</a>                 }
+<a name="220" href="#220">220</a>             }
+<a name="221" href="#221">221</a>         }
+<a name="222" href="#222">222</a>     }
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>     <strong>public</strong> <strong>void</strong> endPrefixMapping(String prefix) throws SAXException {
+<a name="225" href="#225">225</a>         <strong>super</strong>.endPrefixMapping(prefix);
+<a name="226" href="#226">226</a> 
+<a name="227" href="#227">227</a>         <strong>if</strong> (xmlWriter != <strong>null</strong>) {
+<a name="228" href="#228">228</a>             xmlWriter.endPrefixMapping(prefix);
+<a name="229" href="#229">229</a>         }
+<a name="230" href="#230">230</a>     }
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>     <strong>public</strong> <strong>void</strong> <strong>char</strong>acters(<strong>char</strong>[] parm1, <strong>int</strong> parm2, <strong>int</strong> parm3)
+<a name="233" href="#233">233</a>             throws SAXException {
+<a name="234" href="#234">234</a>         <strong>super</strong>.characters(parm1, parm2, parm3);
+<a name="235" href="#235">235</a> 
+<a name="236" href="#236">236</a>         <strong>if</strong> (!activeHandlers() && (xmlWriter != <strong>null</strong>)) {
+<a name="237" href="#237">237</a>             xmlWriter.characters(parm1, parm2, parm3);
+<a name="238" href="#238">238</a>         }
+<a name="239" href="#239">239</a>     }
+<a name="240" href="#240">240</a> 
+<a name="241" href="#241">241</a>     <strong>protected</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> getXMLWriter() {
+<a name="242" href="#242">242</a>         <strong>return</strong> <strong>this</strong>.xmlWriter;
+<a name="243" href="#243">243</a>     }
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>     <strong>private</strong> <strong>boolean</strong> activeHandlers() {
+<a name="246" href="#246">246</a>         <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> handler = getElementStack().getDispatchHandler();
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>         <strong>return</strong> handler.getActiveHandlerCount() > 0;
+<a name="249" href="#249">249</a>     }
+<a name="250" href="#250">250</a> }
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a> <em class="comment">/*</em>
+<a name="253" href="#253">253</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="254" href="#254">254</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="255" href="#255">255</a> <em class="comment"> * following conditions are met:</em>
+<a name="256" href="#256">256</a> <em class="comment"> * </em>
+<a name="257" href="#257">257</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="258" href="#258">258</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="259" href="#259">259</a> <em class="comment"> * </em>
+<a name="260" href="#260">260</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="261" href="#261">261</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="262" href="#262">262</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="263" href="#263">263</a> <em class="comment"> * </em>
+<a name="264" href="#264">264</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="265" href="#265">265</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="266" href="#266">266</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="267" href="#267">267</a> <em class="comment"> * </em>
+<a name="268" href="#268">268</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="269" href="#269">269</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="270" href="#270">270</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="271" href="#271">271</a> <em class="comment"> * </em>
+<a name="272" href="#272">272</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="273" href="#273">273</a> <em class="comment"> * </em>
+<a name="274" href="#274">274</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="275" href="#275">275</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="276" href="#276">276</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="277" href="#277">277</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="278" href="#278">278</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="279" href="#279">279</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="280" href="#280">280</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="281" href="#281">281</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="282" href="#282">282</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="283" href="#283">283</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="284" href="#284">284</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="285" href="#285">285</a> <em class="comment"> * </em>
+<a name="286" href="#286">286</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="287" href="#287">287</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXModifyElementHandler.html b/docs/xref/org/dom4j/io/SAXModifyElementHandler.html
new file mode 100644
index 0000000..4d94347
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXModifyElementHandler.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXModifyElementHandler xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXModifyElementHandler.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Document;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Element;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.ElementPath;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * This {@link org.dom4j.ElementHandler}is used to trigger {@link</em>
+<a name="17" href="#17">17</a>  <em> * ElementModifier} objects in order to modify (parts of) the Document on the</em>
+<a name="18" href="#18">18</a>  <em> * fly.</em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * When an element is completely parsed, a copy is handed to the associated (if</em>
+<a name="22" href="#22">22</a>  <em> * any) {@link ElementModifier}that on his turn returns the modified element</em>
+<a name="23" href="#23">23</a>  <em> * that has to come in the tree.</em>
+<a name="24" href="#24">24</a>  <em> * </p></em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>class</strong> <a href="../../../org/dom4j/io/SAXModifyElementHandler.html">SAXModifyElementHandler</a> implements <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> {
+<a name="29" href="#29">29</a>      <strong>private</strong> <a href="../../../org/dom4j/io/ElementModifier.html">ElementModifier</a> elemModifier;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> modifiedElement;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyElementHandler.html">SAXModifyElementHandler</a>(<a href="../../../org/dom4j/io/ElementModifier.html">ElementModifier</a> elemModifier) {
+<a name="34" href="#34">34</a>          <strong>this</strong>.elemModifier = elemModifier;
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <strong>void</strong> onStart(<a href="../../../org/dom4j/ElementPath.html">ElementPath</a> elementPath) {
+<a name="38" href="#38">38</a>          <strong>this</strong>.modifiedElement = elementPath.getCurrent();
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> <strong>void</strong> onEnd(<a href="../../../org/dom4j/ElementPath.html">ElementPath</a> elementPath) {
+<a name="42" href="#42">42</a>          <strong>try</strong> {
+<a name="43" href="#43">43</a>              <a href="../../../org/dom4j/Element.html">Element</a> origElement = elementPath.getCurrent();
+<a name="44" href="#44">44</a>              <a href="../../../org/dom4j/Element.html">Element</a> currentParent = origElement.getParent();
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>              <strong>if</strong> (currentParent != <strong>null</strong>) {
+<a name="47" href="#47">47</a>                  <em class="comment">// Clone sets parent + document to null</em>
+<a name="48" href="#48">48</a>                  <a href="../../../org/dom4j/Element.html">Element</a> clonedElem = (Element) origElement.clone();
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>                  <em class="comment">// Ask for modified element</em>
+<a name="51" href="#51">51</a>                  modifiedElement = elemModifier.modifyElement(clonedElem);
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>                  <strong>if</strong> (mod<strong>if</strong>iedElement != <strong>null</strong>) {
+<a name="54" href="#54">54</a>                      <em class="comment">// Restore parent + document</em>
+<a name="55" href="#55">55</a>                      modifiedElement.setParent(origElement.getParent());
+<a name="56" href="#56">56</a>                      modifiedElement.setDocument(origElement.getDocument());
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>                      <em class="comment">// Replace old with new element in parent</em>
+<a name="59" href="#59">59</a>                      <strong>int</strong> contentIndex = currentParent.indexOf(origElement);
+<a name="60" href="#60">60</a>                      currentParent.content().set(contentIndex, modifiedElement);
+<a name="61" href="#61">61</a>                  }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>                  <em class="comment">// Remove the old element</em>
+<a name="64" href="#64">64</a>                  origElement.detach();
+<a name="65" href="#65">65</a>              } <strong>else</strong> {
+<a name="66" href="#66">66</a>                  <strong>if</strong> (origElement.isRootElement()) {
+<a name="67" href="#67">67</a>                      <em class="comment">// Clone sets parent + document to null</em>
+<a name="68" href="#68">68</a>                      <a href="../../../org/dom4j/Element.html">Element</a> clonedElem = (Element) origElement.clone();
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>                      <em class="comment">// Ask for modified element</em>
+<a name="71" href="#71">71</a>                      modifiedElement = elemModifier.modifyElement(clonedElem);
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>                      <strong>if</strong> (mod<strong>if</strong>iedElement != <strong>null</strong>) {
+<a name="74" href="#74">74</a>                          <em class="comment">// Restore parent + document</em>
+<a name="75" href="#75">75</a>                          modifiedElement.setDocument(origElement.getDocument());
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>                          <em class="comment">// Replace old with new element in parent</em>
+<a name="78" href="#78">78</a>                          <a href="../../../org/dom4j/Document.html">Document</a> doc = origElement.getDocument();
+<a name="79" href="#79">79</a>                          doc.setRootElement(modifiedElement);
+<a name="80" href="#80">80</a>                      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>                      <em class="comment">// Remove the old element</em>
+<a name="83" href="#83">83</a>                      origElement.detach();
+<a name="84" href="#84">84</a>                  }
+<a name="85" href="#85">85</a>              }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>              <em class="comment">// Put the new element on the ElementStack, it might get pruned by</em>
+<a name="88" href="#88">88</a>              <em class="comment">// the PruningDispatchHandler</em>
+<a name="89" href="#89">89</a>              <strong>if</strong> (elementPath instanceof ElementStack) {
+<a name="90" href="#90">90</a>                  <a href="../../../org/dom4j/io/ElementStack.html">ElementStack</a> elementStack = ((ElementStack) elementPath);
+<a name="91" href="#91">91</a>                  elementStack.popElement();
+<a name="92" href="#92">92</a>                  elementStack.pushElement(modifiedElement);
+<a name="93" href="#93">93</a>              }
+<a name="94" href="#94">94</a>          } <strong>catch</strong> (Exception ex) {
+<a name="95" href="#95">95</a>              <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/io/SAXModifyException.html">SAXModifyException</a>(ex);
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <em>/**<em>*</em></em>
+<a name="100" href="#100">100</a> <em>     * DOCUMENT ME!</em>
+<a name="101" href="#101">101</a> <em>     * </em>
+<a name="102" href="#102">102</a> <em>     * @return Returns the modified Element.</em>
+<a name="103" href="#103">103</a> <em>     */</em>
+<a name="104" href="#104">104</a>     <strong>protected</strong> <a href="../../../org/dom4j/Element.html">Element</a> getModifiedElement() {
+<a name="105" href="#105">105</a>         <strong>return</strong> modifiedElement;
+<a name="106" href="#106">106</a>     }
+<a name="107" href="#107">107</a> }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a> <em class="comment">/*</em>
+<a name="110" href="#110">110</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="111" href="#111">111</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="112" href="#112">112</a> <em class="comment"> * following conditions are met:</em>
+<a name="113" href="#113">113</a> <em class="comment"> * </em>
+<a name="114" href="#114">114</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="115" href="#115">115</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="116" href="#116">116</a> <em class="comment"> * </em>
+<a name="117" href="#117">117</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="118" href="#118">118</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="119" href="#119">119</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="120" href="#120">120</a> <em class="comment"> * </em>
+<a name="121" href="#121">121</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="122" href="#122">122</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="123" href="#123">123</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="124" href="#124">124</a> <em class="comment"> * </em>
+<a name="125" href="#125">125</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="126" href="#126">126</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="127" href="#127">127</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="128" href="#128">128</a> <em class="comment"> * </em>
+<a name="129" href="#129">129</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="132" href="#132">132</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="133" href="#133">133</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="134" href="#134">134</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="135" href="#135">135</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="136" href="#136">136</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="137" href="#137">137</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="138" href="#138">138</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="139" href="#139">139</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="140" href="#140">140</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="141" href="#141">141</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="142" href="#142">142</a> <em class="comment"> * </em>
+<a name="143" href="#143">143</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="144" href="#144">144</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXModifyException.html b/docs/xref/org/dom4j/io/SAXModifyException.html
new file mode 100644
index 0000000..de3802b
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXModifyException.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXModifyException xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXModifyException.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * Exception internally thrown by the SAX Modification classes. This is a</em>
+<a name="12" href="#12">12</a>  <em> * RuntimeException since the {@link org.dom4j.ElementHandler}methods do not</em>
+<a name="13" href="#13">13</a>  <em> * throw Exceptions.</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="16" href="#16">16</a>  <em> */</em>
+<a name="17" href="#17">17</a>  <strong>class</strong> <a href="../../../org/dom4j/io/SAXModifyException.html">SAXModifyException</a> <strong>extends</strong> RuntimeException {
+<a name="18" href="#18">18</a>      <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em>     * DOCUMENT ME!</em>
+<a name="20" href="#20">20</a>  <em>     * </em>
+<a name="21" href="#21">21</a>  <em>     * @param cause</em>
+<a name="22" href="#22">22</a>  <em>     *            The causing {@link java.lang.Throwable}</em>
+<a name="23" href="#23">23</a>  <em>     */</em>
+<a name="24" href="#24">24</a>      <strong>protected</strong> <a href="../../../org/dom4j/io/SAXModifyException.html">SAXModifyException</a>(Throwable cause) {
+<a name="25" href="#25">25</a>          <strong>super</strong>(cause);
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>  <em class="comment">/*</em>
+<a name="30" href="#30">30</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="32" href="#32">32</a>  <em class="comment"> * following conditions are met:</em>
+<a name="33" href="#33">33</a>  <em class="comment"> * </em>
+<a name="34" href="#34">34</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * </em>
+<a name="37" href="#37">37</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * </em>
+<a name="45" href="#45">45</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="50" href="#50">50</a>  <em class="comment"> * </em>
+<a name="51" href="#51">51</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="64" href="#64">64</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXModifyReader.html b/docs/xref/org/dom4j/io/SAXModifyReader.html
new file mode 100644
index 0000000..caa23e0
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXModifyReader.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXModifyReader xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXModifyReader.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * The SAXModifier parses, updates and writes an XML document. <br></em>
+<a name="17" href="#17">17</a>  <em> * The input that is parsed is directly written to the specified output, unless</em>
+<a name="18" href="#18">18</a>  <em> * the current xml element has an associated ElementHandler. <br></em>
+<a name="19" href="#19">19</a>  <em> * The {@link org.dom4j.ElementHandler}objects make it possible to update the</em>
+<a name="20" href="#20">20</a>  <em> * document on the fly, without having read tje complete document.</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @see org.dom4j.io.SAXReader</em>
+<a name="25" href="#25">25</a>  <em> * @see org.dom4j.io.XMLWriters</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>class</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a> <strong>extends</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a> {
+<a name="28" href="#28">28</a>      <strong>private</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> xmlWriter;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>private</strong> <strong>boolean</strong> pruneElements;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>() {
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>(<strong>boolean</strong> validating) {
+<a name="36" href="#36">36</a>          <strong>super</strong>(validating);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory) {
+<a name="40" href="#40">40</a>          <strong>super</strong>(factory);
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory, <strong>boolean</strong> validating) {
+<a name="44" href="#44">44</a>          <strong>super</strong>(factory, validating);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>(XMLReader xmlReader) {
+<a name="48" href="#48">48</a>          <strong>super</strong>(xmlReader);
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>(XMLReader xmlReader, <strong>boolean</strong> validating) {
+<a name="52" href="#52">52</a>          <strong>super</strong>(xmlReader, validating);
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>(String xmlReaderClassName) throws SAXException {
+<a name="56" href="#56">56</a>          <strong>super</strong>(xmlReaderClassName);
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXModifyReader.html">SAXModifyReader</a>(String xmlReaderClassName, <strong>boolean</strong> validating)
+<a name="60" href="#60">60</a>              throws SAXException {
+<a name="61" href="#61">61</a>          <strong>super</strong>(xmlReaderClassName, validating);
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <strong>void</strong> setXMLWriter(<a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> writer) {
+<a name="65" href="#65">65</a>          <strong>this</strong>.xmlWriter = writer;
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> <strong>boolean</strong> isPruneElements() {
+<a name="69" href="#69">69</a>          <strong>return</strong> pruneElements;
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> <strong>void</strong> setPruneElements(<strong>boolean</strong> pruneElements) {
+<a name="73" href="#73">73</a>          <strong>this</strong>.pruneElements = pruneElements;
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>protected</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a> createContentHandler(XMLReader reader) {
+<a name="77" href="#77">77</a>          <a href="../../../org/dom4j/io/SAXModifyContentHandler.html">SAXModifyContentHandler</a> handler = <strong>new</strong> <a href="../../../org/dom4j/io/SAXModifyContentHandler.html">SAXModifyContentHandler</a>(
+<a name="78" href="#78">78</a>                  getDocumentFactory(), getDispatchHandler());
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>          handler.setXMLWriter(xmlWriter);
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          <strong>return</strong> handler;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>protected</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> getXMLWriter() {
+<a name="86" href="#86">86</a>          <strong>return</strong> <strong>this</strong>.xmlWriter;
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>  <em class="comment">/*</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * following conditions are met:</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * </em>
+<a name="95" href="#95">95</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="100" href="#100">100</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="103" href="#103">103</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="104" href="#104">104</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="105" href="#105">105</a> <em class="comment"> * </em>
+<a name="106" href="#106">106</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="107" href="#107">107</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="108" href="#108">108</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="111" href="#111">111</a> <em class="comment"> * </em>
+<a name="112" href="#112">112</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="113" href="#113">113</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="114" href="#114">114</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="115" href="#115">115</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="116" href="#116">116</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="117" href="#117">117</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="118" href="#118">118</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="119" href="#119">119</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="120" href="#120">120</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="121" href="#121">121</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="122" href="#122">122</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="123" href="#123">123</a> <em class="comment"> * </em>
+<a name="124" href="#124">124</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="125" href="#125">125</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXReader.html b/docs/xref/org/dom4j/io/SAXReader.html
new file mode 100644
index 0000000..a1d3256
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXReader.html
@@ -0,0 +1,1055 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXReader xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXReader.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.File;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.FileInputStream;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.FileNotFoundException;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.InputStream;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.Reader;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.Serializable;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.net.URL;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Document;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.DocumentException;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <strong>import</strong> org.xml.sax.EntityResolver;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.xml.sax.ErrorHandler;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.xml.sax.SAXParseException;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.xml.sax.XMLFilter;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="30" href="#30">30</a>  <strong>import</strong> org.xml.sax.helpers.DefaultHandler;
+<a name="31" href="#31">31</a>  <strong>import</strong> org.xml.sax.helpers.XMLReaderFactory;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>  <em>/**<em>*</em></em>
+<a name="34" href="#34">34</a>  <em> * <p></em>
+<a name="35" href="#35">35</a>  <em> * <code>SAXReader</code> creates a DOM4J tree from SAX parsing events.</em>
+<a name="36" href="#36">36</a>  <em> * </p></em>
+<a name="37" href="#37">37</a>  <em> * </em>
+<a name="38" href="#38">38</a>  <em> * <p></em>
+<a name="39" href="#39">39</a>  <em> * The actual SAX parser that is used by this class is configurable so you can</em>
+<a name="40" href="#40">40</a>  <em> * use your favourite SAX parser if you wish. DOM4J comes configured with its</em>
+<a name="41" href="#41">41</a>  <em> * own SAX parser so you do not need to worry about configuring the SAX parser.</em>
+<a name="42" href="#42">42</a>  <em> * </p></em>
+<a name="43" href="#43">43</a>  <em> * </em>
+<a name="44" href="#44">44</a>  <em> * <p></em>
+<a name="45" href="#45">45</a>  <em> * To explicitly configure the SAX parser that is used via Java code you can use</em>
+<a name="46" href="#46">46</a>  <em> * a constructor or use the {@link #setXMLReader(XMLReader)}or {@link</em>
+<a name="47" href="#47">47</a>  <em> * #setXMLReaderClassName(String)} methods.</em>
+<a name="48" href="#48">48</a>  <em> * </p></em>
+<a name="49" href="#49">49</a>  <em> * </em>
+<a name="50" href="#50">50</a>  <em> * <p></em>
+<a name="51" href="#51">51</a>  <em> * If the parser is not specified explicitly then the standard SAX policy of</em>
+<a name="52" href="#52">52</a>  <em> * using the <code>org.xml.sax.driver</code> system property is used to</em>
+<a name="53" href="#53">53</a>  <em> * determine the implementation class of {@link XMLReader}.</em>
+<a name="54" href="#54">54</a>  <em> * </p></em>
+<a name="55" href="#55">55</a>  <em> * </em>
+<a name="56" href="#56">56</a>  <em> * <p></em>
+<a name="57" href="#57">57</a>  <em> * If the <code>org.xml.sax.driver</code> system property is not defined then</em>
+<a name="58" href="#58">58</a>  <em> * JAXP is used via reflection (so that DOM4J is not explicitly dependent on the</em>
+<a name="59" href="#59">59</a>  <em> * JAXP classes) to load the JAXP configured SAXParser. If there is any error</em>
+<a name="60" href="#60">60</a>  <em> * creating a JAXP SAXParser an informational message is output and then the</em>
+<a name="61" href="#61">61</a>  <em> * default (Aelfred) SAX parser is used instead.</em>
+<a name="62" href="#62">62</a>  <em> * </p></em>
+<a name="63" href="#63">63</a>  <em> * </em>
+<a name="64" href="#64">64</a>  <em> * <p></em>
+<a name="65" href="#65">65</a>  <em> * If you are trying to use JAXP to explicitly set your SAX parser and are</em>
+<a name="66" href="#66">66</a>  <em> * experiencing problems, you can turn on verbose error reporting by defining</em>
+<a name="67" href="#67">67</a>  <em> * the system property <code>org.dom4j.verbose</code> to be "true" which will</em>
+<a name="68" href="#68">68</a>  <em> * output a more detailed description of why JAXP could not find a SAX parser</em>
+<a name="69" href="#69">69</a>  <em> * </p></em>
+<a name="70" href="#70">70</a>  <em> * </em>
+<a name="71" href="#71">71</a>  <em> * <p></em>
+<a name="72" href="#72">72</a>  <em> * For more information on JAXP please go to <a</em>
+<a name="73" href="#73">73</a>  <em> * href="<a href="http://java.sun.com/xml/" target="alexandria_uri">http://java.sun.com/xml/</a>">Sun's Java &amp; XML site </a></em>
+<a name="74" href="#74">74</a>  <em> * </p></em>
+<a name="75" href="#75">75</a>  <em> * </em>
+<a name="76" href="#76">76</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="77" href="#77">77</a>  <em> * @version $Revision: 1.58 $</em>
+<a name="78" href="#78">78</a>  <em> */</em>
+<a name="79" href="#79">79</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a> {
+<a name="80" href="#80">80</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String SAX_STRING_INTERNING = 
+<a name="81" href="#81">81</a>              <span class="string">"http://xml.org/sax/features/string-interning"</span>;
+<a name="82" href="#82">82</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String SAX_NAMESPACE_PREFIXES = 
+<a name="83" href="#83">83</a>              <span class="string">"http://xml.org/sax/features/namespace-prefixes"</span>;
+<a name="84" href="#84">84</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String SAX_NAMESPACES = 
+<a name="85" href="#85">85</a>              <span class="string">"http://xml.org/sax/features/namespaces"</span>;
+<a name="86" href="#86">86</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String SAX_DECL_HANDLER = 
+<a name="87" href="#87">87</a>              <span class="string">"http://xml.org/sax/properties/declaration-handler"</span>;
+<a name="88" href="#88">88</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String SAX_LEXICAL_HANDLER = 
+<a name="89" href="#89">89</a>              <span class="string">"http://xml.org/sax/properties/lexical-handler"</span>;
+<a name="90" href="#90">90</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String SAX_LEXICALHANDLER = 
+<a name="91" href="#91">91</a>              <span class="string">"http://xml.org/sax/handlers/LexicalHandler"</span>;
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <em>/**<em>* <code>DocumentFactory</code> used to create new document objects */</em></em>
+<a name="94" href="#94">94</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory;
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <em>/**<em>* <code>XMLReader</code> used to parse the SAX events */</em></em>
+<a name="97" href="#97">97</a>      <strong>private</strong> XMLReader xmlReader;
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <em>/**<em>* Whether validation should occur */</em></em>
+<a name="100" href="#100">100</a>     <strong>private</strong> <strong>boolean</strong> validating;
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <em>/**<em>* <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> to call when each <code>Element</code> is encountered */</em></em>
+<a name="103" href="#103">103</a>     <strong>private</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> dispatchHandler;
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em>/**<em>* ErrorHandler class to use */</em></em>
+<a name="106" href="#106">106</a>     <strong>private</strong> ErrorHandler errorHandler;
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>     <em>/**<em>* The entity resolver */</em></em>
+<a name="109" href="#109">109</a>     <strong>private</strong> EntityResolver entityResolver;
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>     <em>/**<em>* Should element & attribute names and namespace URIs be interned? */</em></em>
+<a name="112" href="#112">112</a>     <strong>private</strong> <strong>boolean</strong> stringInternEnabled = <strong>true</strong>;
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <em>/**<em>* Should internal DTD declarations be expanded into a List in the DTD */</em></em>
+<a name="115" href="#115">115</a>     <strong>private</strong> <strong>boolean</strong> includeInternalDTDDeclarations = false;
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>     <em>/**<em>* Should external DTD declarations be expanded into a List in the DTD */</em></em>
+<a name="118" href="#118">118</a>     <strong>private</strong> <strong>boolean</strong> includeExternalDTDDeclarations = false;
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <em>/**<em>* Whether adjacent text nodes should be merged */</em></em>
+<a name="121" href="#121">121</a>     <strong>private</strong> <strong>boolean</strong> mergeAdjacentText = false;
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <em>/**<em>* Holds value of property stripWhitespaceText. */</em></em>
+<a name="124" href="#124">124</a>     <strong>private</strong> <strong>boolean</strong> stripWhitespaceText = false;
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <em>/**<em>* Should we ignore comments */</em></em>
+<a name="127" href="#127">127</a>     <strong>private</strong> <strong>boolean</strong> ignoreComments = false;
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>     <em>/**<em>* Encoding of InputSource - null means system default encoding */</em></em>
+<a name="130" href="#130">130</a>     <strong>private</strong> String encoding = <strong>null</strong>;
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <em class="comment">// private boolean includeExternalGeneralEntities = false;</em>
+<a name="133" href="#133">133</a>     <em class="comment">// private boolean includeExternalParameterEntities = false;</em>
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>     <em>/**<em>* The SAX filter used to filter SAX events */</em></em>
+<a name="136" href="#136">136</a>     <strong>private</strong> XMLFilter xmlFilter;
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>() {
+<a name="139" href="#139">139</a>     }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>(<strong>boolean</strong> validating) {
+<a name="142" href="#142">142</a>         <strong>this</strong>.validating = validating;
+<a name="143" href="#143">143</a>     }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory) {
+<a name="146" href="#146">146</a>         <strong>this</strong>.factory = factory;
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory, <strong>boolean</strong> validating) {
+<a name="150" href="#150">150</a>         <strong>this</strong>.factory = factory;
+<a name="151" href="#151">151</a>         <strong>this</strong>.validating = validating;
+<a name="152" href="#152">152</a>     }
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>(XMLReader xmlReader) {
+<a name="155" href="#155">155</a>         <strong>this</strong>.xmlReader = xmlReader;
+<a name="156" href="#156">156</a>     }
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>(XMLReader xmlReader, <strong>boolean</strong> validating) {
+<a name="159" href="#159">159</a>         <strong>this</strong>.xmlReader = xmlReader;
+<a name="160" href="#160">160</a>         <strong>this</strong>.validating = validating;
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>(String xmlReaderClassName) throws SAXException {
+<a name="164" href="#164">164</a>         <strong>if</strong> (xmlReaderClassName != <strong>null</strong>) {
+<a name="165" href="#165">165</a>             <strong>this</strong>.xmlReader = XMLReaderFactory
+<a name="166" href="#166">166</a>                     .createXMLReader(xmlReaderClassName);
+<a name="167" href="#167">167</a>         }
+<a name="168" href="#168">168</a>     }
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>(String xmlReaderClassName, <strong>boolean</strong> validating)
+<a name="171" href="#171">171</a>             throws SAXException {
+<a name="172" href="#172">172</a>         <strong>if</strong> (xmlReaderClassName != <strong>null</strong>) {
+<a name="173" href="#173">173</a>             <strong>this</strong>.xmlReader = XMLReaderFactory
+<a name="174" href="#174">174</a>                     .createXMLReader(xmlReaderClassName);
+<a name="175" href="#175">175</a>         }
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>         <strong>this</strong>.validating = validating;
+<a name="178" href="#178">178</a>     }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>     <em>/**<em>*</em></em>
+<a name="181" href="#181">181</a> <em>     * Allows a SAX property to be set on the underlying SAX parser. This can be</em>
+<a name="182" href="#182">182</a> <em>     * useful to set parser-specific properties such as the location of schema</em>
+<a name="183" href="#183">183</a> <em>     * or DTD resources. Though use this method with caution as it has the</em>
+<a name="184" href="#184">184</a> <em>     * possibility of breaking the standard behaviour. An alternative to calling</em>
+<a name="185" href="#185">185</a> <em>     * this method is to correctly configure an XMLReader object instance and</em>
+<a name="186" href="#186">186</a> <em>     * call the {@link #setXMLReader(XMLReader)}method</em>
+<a name="187" href="#187">187</a> <em>     * </em>
+<a name="188" href="#188">188</a> <em>     * @param name</em>
+<a name="189" href="#189">189</a> <em>     *            is the SAX property name</em>
+<a name="190" href="#190">190</a> <em>     * @param value</em>
+<a name="191" href="#191">191</a> <em>     *            is the value of the SAX property</em>
+<a name="192" href="#192">192</a> <em>     * </em>
+<a name="193" href="#193">193</a> <em>     * @throws SAXException</em>
+<a name="194" href="#194">194</a> <em>     *             if the XMLReader could not be created or the property could</em>
+<a name="195" href="#195">195</a> <em>     *             not be changed.</em>
+<a name="196" href="#196">196</a> <em>     */</em>
+<a name="197" href="#197">197</a>     <strong>public</strong> <strong>void</strong> setProperty(String name, Object value) throws SAXException {
+<a name="198" href="#198">198</a>         getXMLReader().setProperty(name, value);
+<a name="199" href="#199">199</a>     }
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>     <em>/**<em>*</em></em>
+<a name="202" href="#202">202</a> <em>     * Sets a SAX feature on the underlying SAX parser. This can be useful to</em>
+<a name="203" href="#203">203</a> <em>     * set parser-specific features. Though use this method with caution as it</em>
+<a name="204" href="#204">204</a> <em>     * has the possibility of breaking the standard behaviour. An alternative to</em>
+<a name="205" href="#205">205</a> <em>     * calling this method is to correctly configure an XMLReader object</em>
+<a name="206" href="#206">206</a> <em>     * instance and call the {@link #setXMLReader(XMLReader)}method</em>
+<a name="207" href="#207">207</a> <em>     * </em>
+<a name="208" href="#208">208</a> <em>     * @param name</em>
+<a name="209" href="#209">209</a> <em>     *            is the SAX feature name</em>
+<a name="210" href="#210">210</a> <em>     * @param value</em>
+<a name="211" href="#211">211</a> <em>     *            is the value of the SAX feature</em>
+<a name="212" href="#212">212</a> <em>     * </em>
+<a name="213" href="#213">213</a> <em>     * @throws SAXException</em>
+<a name="214" href="#214">214</a> <em>     *             if the XMLReader could not be created or the feature could</em>
+<a name="215" href="#215">215</a> <em>     *             not be changed.</em>
+<a name="216" href="#216">216</a> <em>     */</em>
+<a name="217" href="#217">217</a>     <strong>public</strong> <strong>void</strong> setFeature(String name, <strong>boolean</strong> value) throws SAXException {
+<a name="218" href="#218">218</a>         getXMLReader().setFeature(name, value);
+<a name="219" href="#219">219</a>     }
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>     <em>/**<em>*</em></em>
+<a name="222" href="#222">222</a> <em>     * <p></em>
+<a name="223" href="#223">223</a> <em>     * Reads a Document from the given <code>File</code></em>
+<a name="224" href="#224">224</a> <em>     * </p></em>
+<a name="225" href="#225">225</a> <em>     * </em>
+<a name="226" href="#226">226</a> <em>     * @param file</em>
+<a name="227" href="#227">227</a> <em>     *            is the <code>File</code> to read from.</em>
+<a name="228" href="#228">228</a> <em>     * </em>
+<a name="229" href="#229">229</a> <em>     * @return the newly created Document instance</em>
+<a name="230" href="#230">230</a> <em>     * </em>
+<a name="231" href="#231">231</a> <em>     * @throws DocumentException</em>
+<a name="232" href="#232">232</a> <em>     *             if an error occurs during parsing.</em>
+<a name="233" href="#233">233</a> <em>     */</em>
+<a name="234" href="#234">234</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(File file) throws DocumentException {
+<a name="235" href="#235">235</a>         <strong>try</strong> {
+<a name="236" href="#236">236</a>             <em class="comment">/*</em>
+<a name="237" href="#237">237</a> <em class="comment">             * We cannot convert the file to an URL because if the filename</em>
+<a name="238" href="#238">238</a> <em class="comment">             * contains '#' characters, there will be problems with the URL in</em>
+<a name="239" href="#239">239</a> <em class="comment">             * the InputSource (because a URL like</em>
+<a name="240" href="#240">240</a> <em class="comment">             * <a href="http://myhost.com/index" target="alexandria_uri">http://myhost.com/index</a>#anchor is treated the same as</em>
+<a name="241" href="#241">241</a> <em class="comment">             * <a href="http://myhost.com/index)" target="alexandria_uri">http://myhost.com/index)</a> Thanks to Christian Oetterli</em>
+<a name="242" href="#242">242</a> <em class="comment">             */</em>
+<a name="243" href="#243">243</a>             InputSource source = <strong>new</strong> InputSource(<strong>new</strong> FileInputStream(file));
+<a name="244" href="#244">244</a>             <strong>if</strong> (<strong>this</strong>.encoding != <strong>null</strong>) {
+<a name="245" href="#245">245</a>                 source.setEncoding(<strong>this</strong>.encoding);
+<a name="246" href="#246">246</a>             }
+<a name="247" href="#247">247</a>             String path = file.getAbsolutePath();
+<a name="248" href="#248">248</a> 
+<a name="249" href="#249">249</a>             <strong>if</strong> (path != <strong>null</strong>) {
+<a name="250" href="#250">250</a>                 <em class="comment">// Code taken from Ant FileUtils</em>
+<a name="251" href="#251">251</a>                 StringBuffer sb = <strong>new</strong> StringBuffer(<span class="string">"file://"</span>);
+<a name="252" href="#252">252</a> 
+<a name="253" href="#253">253</a>                 <em class="comment">// add an extra slash for filesystems with drive-specifiers</em>
+<a name="254" href="#254">254</a>                 <strong>if</strong> (!path.startsWith(File.separator)) {
+<a name="255" href="#255">255</a>                     sb.append(<span class="string">"/"</span>);
+<a name="256" href="#256">256</a>                 }
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a>                 path = path.replace('//', '/');
+<a name="259" href="#259">259</a>                 sb.append(path);
+<a name="260" href="#260">260</a> 
+<a name="261" href="#261">261</a>                 source.setSystemId(sb.toString());
+<a name="262" href="#262">262</a>             }
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>             <strong>return</strong> read(source);
+<a name="265" href="#265">265</a>         } <strong>catch</strong> (FileNotFoundException e) {
+<a name="266" href="#266">266</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(e.getMessage(), e);
+<a name="267" href="#267">267</a>         }
+<a name="268" href="#268">268</a>     }
+<a name="269" href="#269">269</a> 
+<a name="270" href="#270">270</a>     <em>/**<em>*</em></em>
+<a name="271" href="#271">271</a> <em>     * <p></em>
+<a name="272" href="#272">272</a> <em>     * Reads a Document from the given <code>URL</code> using SAX</em>
+<a name="273" href="#273">273</a> <em>     * </p></em>
+<a name="274" href="#274">274</a> <em>     * </em>
+<a name="275" href="#275">275</a> <em>     * @param url</em>
+<a name="276" href="#276">276</a> <em>     *            <code>URL</code> to read from.</em>
+<a name="277" href="#277">277</a> <em>     * </em>
+<a name="278" href="#278">278</a> <em>     * @return the newly created Document instance</em>
+<a name="279" href="#279">279</a> <em>     * </em>
+<a name="280" href="#280">280</a> <em>     * @throws DocumentException</em>
+<a name="281" href="#281">281</a> <em>     *             if an error occurs during parsing.</em>
+<a name="282" href="#282">282</a> <em>     */</em>
+<a name="283" href="#283">283</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(URL url) throws DocumentException {
+<a name="284" href="#284">284</a>         String systemID = url.toExternalForm();
+<a name="285" href="#285">285</a> 
+<a name="286" href="#286">286</a>         InputSource source = <strong>new</strong> InputSource(systemID);
+<a name="287" href="#287">287</a>         <strong>if</strong> (<strong>this</strong>.encoding != <strong>null</strong>) {
+<a name="288" href="#288">288</a>             source.setEncoding(<strong>this</strong>.encoding);
+<a name="289" href="#289">289</a>         }
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>         <strong>return</strong> read(source);
+<a name="292" href="#292">292</a>     }
+<a name="293" href="#293">293</a> 
+<a name="294" href="#294">294</a>     <em>/**<em>*</em></em>
+<a name="295" href="#295">295</a> <em>     * <p></em>
+<a name="296" href="#296">296</a> <em>     * Reads a Document from the given URL or filename using SAX.</em>
+<a name="297" href="#297">297</a> <em>     * </p></em>
+<a name="298" href="#298">298</a> <em>     * </em>
+<a name="299" href="#299">299</a> <em>     * <p></em>
+<a name="300" href="#300">300</a> <em>     * If the systemId contains a <code>':'</code> character then it is</em>
+<a name="301" href="#301">301</a> <em>     * assumed to be a URL otherwise its assumed to be a file name. If you want</em>
+<a name="302" href="#302">302</a> <em>     * finer grained control over this mechansim then please explicitly pass in</em>
+<a name="303" href="#303">303</a> <em>     * either a {@link URL}or a {@link File}instance instead of a {@link</em>
+<a name="304" href="#304">304</a> <em>     * String} to denote the source of the document.</em>
+<a name="305" href="#305">305</a> <em>     * </p></em>
+<a name="306" href="#306">306</a> <em>     * </em>
+<a name="307" href="#307">307</a> <em>     * @param systemId</em>
+<a name="308" href="#308">308</a> <em>     *            is a URL for a document or a file name.</em>
+<a name="309" href="#309">309</a> <em>     * </em>
+<a name="310" href="#310">310</a> <em>     * @return the newly created Document instance</em>
+<a name="311" href="#311">311</a> <em>     * </em>
+<a name="312" href="#312">312</a> <em>     * @throws DocumentException</em>
+<a name="313" href="#313">313</a> <em>     *             if an error occurs during parsing.</em>
+<a name="314" href="#314">314</a> <em>     */</em>
+<a name="315" href="#315">315</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(String systemId) throws DocumentException {
+<a name="316" href="#316">316</a>         InputSource source = <strong>new</strong> InputSource(systemId);
+<a name="317" href="#317">317</a>         <strong>if</strong> (<strong>this</strong>.encoding != <strong>null</strong>) {
+<a name="318" href="#318">318</a>             source.setEncoding(<strong>this</strong>.encoding);
+<a name="319" href="#319">319</a>         }
+<a name="320" href="#320">320</a> 
+<a name="321" href="#321">321</a>         <strong>return</strong> read(source);
+<a name="322" href="#322">322</a>     }
+<a name="323" href="#323">323</a> 
+<a name="324" href="#324">324</a>     <em>/**<em>*</em></em>
+<a name="325" href="#325">325</a> <em>     * <p></em>
+<a name="326" href="#326">326</a> <em>     * Reads a Document from the given stream using SAX</em>
+<a name="327" href="#327">327</a> <em>     * </p></em>
+<a name="328" href="#328">328</a> <em>     * </em>
+<a name="329" href="#329">329</a> <em>     * @param in</em>
+<a name="330" href="#330">330</a> <em>     *            <code>InputStream</code> to read from.</em>
+<a name="331" href="#331">331</a> <em>     * </em>
+<a name="332" href="#332">332</a> <em>     * @return the newly created Document instance</em>
+<a name="333" href="#333">333</a> <em>     * </em>
+<a name="334" href="#334">334</a> <em>     * @throws DocumentException</em>
+<a name="335" href="#335">335</a> <em>     *             if an error occurs during parsing.</em>
+<a name="336" href="#336">336</a> <em>     */</em>
+<a name="337" href="#337">337</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputStream in) throws DocumentException {
+<a name="338" href="#338">338</a>         InputSource source = <strong>new</strong> InputSource(in);
+<a name="339" href="#339">339</a>         <strong>if</strong> (<strong>this</strong>.encoding != <strong>null</strong>) {
+<a name="340" href="#340">340</a>             source.setEncoding(<strong>this</strong>.encoding);
+<a name="341" href="#341">341</a>         }
+<a name="342" href="#342">342</a> 
+<a name="343" href="#343">343</a>         <strong>return</strong> read(source);
+<a name="344" href="#344">344</a>     }
+<a name="345" href="#345">345</a> 
+<a name="346" href="#346">346</a>     <em>/**<em>*</em></em>
+<a name="347" href="#347">347</a> <em>     * <p></em>
+<a name="348" href="#348">348</a> <em>     * Reads a Document from the given <code>Reader</code> using SAX</em>
+<a name="349" href="#349">349</a> <em>     * </p></em>
+<a name="350" href="#350">350</a> <em>     * </em>
+<a name="351" href="#351">351</a> <em>     * @param reader</em>
+<a name="352" href="#352">352</a> <em>     *            is the reader for the input</em>
+<a name="353" href="#353">353</a> <em>     * </em>
+<a name="354" href="#354">354</a> <em>     * @return the newly created Document instance</em>
+<a name="355" href="#355">355</a> <em>     * </em>
+<a name="356" href="#356">356</a> <em>     * @throws DocumentException</em>
+<a name="357" href="#357">357</a> <em>     *             if an error occurs during parsing.</em>
+<a name="358" href="#358">358</a> <em>     */</em>
+<a name="359" href="#359">359</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(Reader reader) throws DocumentException {
+<a name="360" href="#360">360</a>         InputSource source = <strong>new</strong> InputSource(reader);
+<a name="361" href="#361">361</a>         <strong>if</strong> (<strong>this</strong>.encoding != <strong>null</strong>) {
+<a name="362" href="#362">362</a>             source.setEncoding(<strong>this</strong>.encoding);
+<a name="363" href="#363">363</a>         }
+<a name="364" href="#364">364</a> 
+<a name="365" href="#365">365</a>         <strong>return</strong> read(source);
+<a name="366" href="#366">366</a>     }
+<a name="367" href="#367">367</a> 
+<a name="368" href="#368">368</a>     <em>/**<em>*</em></em>
+<a name="369" href="#369">369</a> <em>     * <p></em>
+<a name="370" href="#370">370</a> <em>     * Reads a Document from the given stream using SAX</em>
+<a name="371" href="#371">371</a> <em>     * </p></em>
+<a name="372" href="#372">372</a> <em>     * </em>
+<a name="373" href="#373">373</a> <em>     * @param in</em>
+<a name="374" href="#374">374</a> <em>     *            <code>InputStream</code> to read from.</em>
+<a name="375" href="#375">375</a> <em>     * @param systemId</em>
+<a name="376" href="#376">376</a> <em>     *            is the URI for the input</em>
+<a name="377" href="#377">377</a> <em>     * </em>
+<a name="378" href="#378">378</a> <em>     * @return the newly created Document instance</em>
+<a name="379" href="#379">379</a> <em>     * </em>
+<a name="380" href="#380">380</a> <em>     * @throws DocumentException</em>
+<a name="381" href="#381">381</a> <em>     *             if an error occurs during parsing.</em>
+<a name="382" href="#382">382</a> <em>     */</em>
+<a name="383" href="#383">383</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputStream in, String systemId)
+<a name="384" href="#384">384</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="385" href="#385">385</a>         InputSource source = <strong>new</strong> InputSource(in);
+<a name="386" href="#386">386</a>         source.setSystemId(systemId);
+<a name="387" href="#387">387</a>         <strong>if</strong> (<strong>this</strong>.encoding != <strong>null</strong>) {
+<a name="388" href="#388">388</a>             source.setEncoding(<strong>this</strong>.encoding);
+<a name="389" href="#389">389</a>         }
+<a name="390" href="#390">390</a> 
+<a name="391" href="#391">391</a>         <strong>return</strong> read(source);
+<a name="392" href="#392">392</a>     }
+<a name="393" href="#393">393</a> 
+<a name="394" href="#394">394</a>     <em>/**<em>*</em></em>
+<a name="395" href="#395">395</a> <em>     * <p></em>
+<a name="396" href="#396">396</a> <em>     * Reads a Document from the given <code>Reader</code> using SAX</em>
+<a name="397" href="#397">397</a> <em>     * </p></em>
+<a name="398" href="#398">398</a> <em>     * </em>
+<a name="399" href="#399">399</a> <em>     * @param reader</em>
+<a name="400" href="#400">400</a> <em>     *            is the reader for the input</em>
+<a name="401" href="#401">401</a> <em>     * @param systemId</em>
+<a name="402" href="#402">402</a> <em>     *            is the URI for the input</em>
+<a name="403" href="#403">403</a> <em>     * </em>
+<a name="404" href="#404">404</a> <em>     * @return the newly created Document instance</em>
+<a name="405" href="#405">405</a> <em>     * </em>
+<a name="406" href="#406">406</a> <em>     * @throws DocumentException</em>
+<a name="407" href="#407">407</a> <em>     *             if an error occurs during parsing.</em>
+<a name="408" href="#408">408</a> <em>     */</em>
+<a name="409" href="#409">409</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(Reader reader, String systemId)
+<a name="410" href="#410">410</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="411" href="#411">411</a>         InputSource source = <strong>new</strong> InputSource(reader);
+<a name="412" href="#412">412</a>         source.setSystemId(systemId);
+<a name="413" href="#413">413</a>         <strong>if</strong> (<strong>this</strong>.encoding != <strong>null</strong>) {
+<a name="414" href="#414">414</a>             source.setEncoding(<strong>this</strong>.encoding);
+<a name="415" href="#415">415</a>         }
+<a name="416" href="#416">416</a> 
+<a name="417" href="#417">417</a>         <strong>return</strong> read(source);
+<a name="418" href="#418">418</a>     }
+<a name="419" href="#419">419</a> 
+<a name="420" href="#420">420</a>     <em>/**<em>*</em></em>
+<a name="421" href="#421">421</a> <em>     * <p></em>
+<a name="422" href="#422">422</a> <em>     * Reads a Document from the given <code>InputSource</code> using SAX</em>
+<a name="423" href="#423">423</a> <em>     * </p></em>
+<a name="424" href="#424">424</a> <em>     * </em>
+<a name="425" href="#425">425</a> <em>     * @param in</em>
+<a name="426" href="#426">426</a> <em>     *            <code>InputSource</code> to read from.</em>
+<a name="427" href="#427">427</a> <em>     * </em>
+<a name="428" href="#428">428</a> <em>     * @return the newly created Document instance</em>
+<a name="429" href="#429">429</a> <em>     * </em>
+<a name="430" href="#430">430</a> <em>     * @throws DocumentException</em>
+<a name="431" href="#431">431</a> <em>     *             if an error occurs during parsing.</em>
+<a name="432" href="#432">432</a> <em>     */</em>
+<a name="433" href="#433">433</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputSource in) throws DocumentException {
+<a name="434" href="#434">434</a>         <strong>try</strong> {
+<a name="435" href="#435">435</a>             XMLReader reader = getXMLReader();
+<a name="436" href="#436">436</a> 
+<a name="437" href="#437">437</a>             reader = installXMLFilter(reader);
+<a name="438" href="#438">438</a> 
+<a name="439" href="#439">439</a>             EntityResolver thatEntityResolver = <strong>this</strong>.entityResolver;
+<a name="440" href="#440">440</a> 
+<a name="441" href="#441">441</a>             <strong>if</strong> (thatEntityResolver == <strong>null</strong>) {
+<a name="442" href="#442">442</a>                 thatEntityResolver = createDefaultEntityResolver(in
+<a name="443" href="#443">443</a>                         .getSystemId());
+<a name="444" href="#444">444</a>                 <strong>this</strong>.entityResolver = thatEntityResolver;
+<a name="445" href="#445">445</a>             }
+<a name="446" href="#446">446</a> 
+<a name="447" href="#447">447</a>             reader.setEntityResolver(thatEntityResolver);
+<a name="448" href="#448">448</a> 
+<a name="449" href="#449">449</a>             <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a> contentHandler = createContentHandler(reader);
+<a name="450" href="#450">450</a>             contentHandler.setEntityResolver(thatEntityResolver);
+<a name="451" href="#451">451</a>             contentHandler.setInputSource(in);
+<a name="452" href="#452">452</a> 
+<a name="453" href="#453">453</a>             <strong>boolean</strong> internal = isIncludeInternalDTDDeclarations();
+<a name="454" href="#454">454</a>             <strong>boolean</strong> external = isIncludeExternalDTDDeclarations();
+<a name="455" href="#455">455</a> 
+<a name="456" href="#456">456</a>             contentHandler.setIncludeInternalDTDDeclarations(internal);
+<a name="457" href="#457">457</a>             contentHandler.setIncludeExternalDTDDeclarations(external);
+<a name="458" href="#458">458</a>             contentHandler.setMergeAdjacentText(isMergeAdjacentText());
+<a name="459" href="#459">459</a>             contentHandler.setStripWhitespaceText(isStripWhitespaceText());
+<a name="460" href="#460">460</a>             contentHandler.setIgnoreComments(isIgnoreComments());
+<a name="461" href="#461">461</a>             reader.setContentHandler(contentHandler);
+<a name="462" href="#462">462</a> 
+<a name="463" href="#463">463</a>             configureReader(reader, contentHandler);
+<a name="464" href="#464">464</a> 
+<a name="465" href="#465">465</a>             reader.parse(in);
+<a name="466" href="#466">466</a> 
+<a name="467" href="#467">467</a>             <strong>return</strong> contentHandler.getDocument();
+<a name="468" href="#468">468</a>         } <strong>catch</strong> (Exception e) {
+<a name="469" href="#469">469</a>             <strong>if</strong> (e instanceof SAXParseException) {
+<a name="470" href="#470">470</a>                 <em class="comment">// e.printStackTrace();</em>
+<a name="471" href="#471">471</a>                 SAXParseException parseException = (SAXParseException) e;
+<a name="472" href="#472">472</a>                 String systemId = parseException.getSystemId();
+<a name="473" href="#473">473</a> 
+<a name="474" href="#474">474</a>                 <strong>if</strong> (systemId == <strong>null</strong>) {
+<a name="475" href="#475">475</a>                     systemId = <span class="string">""</span>;
+<a name="476" href="#476">476</a>                 }
+<a name="477" href="#477">477</a> 
+<a name="478" href="#478">478</a>                 String message = <span class="string">"Error on line "</span>
+<a name="479" href="#479">479</a>                         + parseException.getLineNumber() + <span class="string">" of document "</span>
+<a name="480" href="#480">480</a>                         + systemId + <span class="string">" : "</span> + parseException.getMessage();
+<a name="481" href="#481">481</a> 
+<a name="482" href="#482">482</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(message, e);
+<a name="483" href="#483">483</a>             } <strong>else</strong> {
+<a name="484" href="#484">484</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(e.getMessage(), e);
+<a name="485" href="#485">485</a>             }
+<a name="486" href="#486">486</a>         }
+<a name="487" href="#487">487</a>     }
+<a name="488" href="#488">488</a> 
+<a name="489" href="#489">489</a>     <em class="comment">// Properties</em>
+<a name="490" href="#490">490</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="491" href="#491">491</a> 
+<a name="492" href="#492">492</a>     <em>/**<em>*</em></em>
+<a name="493" href="#493">493</a> <em>     * DOCUMENT ME!</em>
+<a name="494" href="#494">494</a> <em>     * </em>
+<a name="495" href="#495">495</a> <em>     * @return the validation mode, true if validating will be done otherwise</em>
+<a name="496" href="#496">496</a> <em>     *         false.</em>
+<a name="497" href="#497">497</a> <em>     */</em>
+<a name="498" href="#498">498</a>     <strong>public</strong> <strong>boolean</strong> isValidating() {
+<a name="499" href="#499">499</a>         <strong>return</strong> validating;
+<a name="500" href="#500">500</a>     }
+<a name="501" href="#501">501</a> 
+<a name="502" href="#502">502</a>     <em>/**<em>*</em></em>
+<a name="503" href="#503">503</a> <em>     * Sets the validation mode.</em>
+<a name="504" href="#504">504</a> <em>     * </em>
+<a name="505" href="#505">505</a> <em>     * @param validation</em>
+<a name="506" href="#506">506</a> <em>     *            indicates whether or not validation should occur.</em>
+<a name="507" href="#507">507</a> <em>     */</em>
+<a name="508" href="#508">508</a>     <strong>public</strong> <strong>void</strong> setValidation(<strong>boolean</strong> validation) {
+<a name="509" href="#509">509</a>         <strong>this</strong>.validating = validation;
+<a name="510" href="#510">510</a>     }
+<a name="511" href="#511">511</a> 
+<a name="512" href="#512">512</a>     <em>/**<em>*</em></em>
+<a name="513" href="#513">513</a> <em>     * DOCUMENT ME!</em>
+<a name="514" href="#514">514</a> <em>     * </em>
+<a name="515" href="#515">515</a> <em>     * @return whether internal DTD declarations should be expanded into the</em>
+<a name="516" href="#516">516</a> <em>     *         DocumentType object or not.</em>
+<a name="517" href="#517">517</a> <em>     */</em>
+<a name="518" href="#518">518</a>     <strong>public</strong> <strong>boolean</strong> isIncludeInternalDTDDeclarations() {
+<a name="519" href="#519">519</a>         <strong>return</strong> includeInternalDTDDeclarations;
+<a name="520" href="#520">520</a>     }
+<a name="521" href="#521">521</a> 
+<a name="522" href="#522">522</a>     <em>/**<em>*</em></em>
+<a name="523" href="#523">523</a> <em>     * Sets whether internal DTD declarations should be expanded into the</em>
+<a name="524" href="#524">524</a> <em>     * DocumentType object or not.</em>
+<a name="525" href="#525">525</a> <em>     * </em>
+<a name="526" href="#526">526</a> <em>     * @param include</em>
+<a name="527" href="#527">527</a> <em>     *            whether or not DTD declarations should be expanded and</em>
+<a name="528" href="#528">528</a> <em>     *            included into the DocumentType object.</em>
+<a name="529" href="#529">529</a> <em>     */</em>
+<a name="530" href="#530">530</a>     <strong>public</strong> <strong>void</strong> setIncludeInternalDTDDeclarations(<strong>boolean</strong> include) {
+<a name="531" href="#531">531</a>         <strong>this</strong>.includeInternalDTDDeclarations = include;
+<a name="532" href="#532">532</a>     }
+<a name="533" href="#533">533</a> 
+<a name="534" href="#534">534</a>     <em>/**<em>*</em></em>
+<a name="535" href="#535">535</a> <em>     * DOCUMENT ME!</em>
+<a name="536" href="#536">536</a> <em>     * </em>
+<a name="537" href="#537">537</a> <em>     * @return whether external DTD declarations should be expanded into the</em>
+<a name="538" href="#538">538</a> <em>     *         DocumentType object or not.</em>
+<a name="539" href="#539">539</a> <em>     */</em>
+<a name="540" href="#540">540</a>     <strong>public</strong> <strong>boolean</strong> isIncludeExternalDTDDeclarations() {
+<a name="541" href="#541">541</a>         <strong>return</strong> includeExternalDTDDeclarations;
+<a name="542" href="#542">542</a>     }
+<a name="543" href="#543">543</a> 
+<a name="544" href="#544">544</a>     <em>/**<em>*</em></em>
+<a name="545" href="#545">545</a> <em>     * Sets whether DTD external declarations should be expanded into the</em>
+<a name="546" href="#546">546</a> <em>     * DocumentType object or not.</em>
+<a name="547" href="#547">547</a> <em>     * </em>
+<a name="548" href="#548">548</a> <em>     * @param include</em>
+<a name="549" href="#549">549</a> <em>     *            whether or not DTD declarations should be expanded and</em>
+<a name="550" href="#550">550</a> <em>     *            included into the DocumentType object.</em>
+<a name="551" href="#551">551</a> <em>     */</em>
+<a name="552" href="#552">552</a>     <strong>public</strong> <strong>void</strong> setIncludeExternalDTDDeclarations(<strong>boolean</strong> include) {
+<a name="553" href="#553">553</a>         <strong>this</strong>.includeExternalDTDDeclarations = include;
+<a name="554" href="#554">554</a>     }
+<a name="555" href="#555">555</a> 
+<a name="556" href="#556">556</a>     <em>/**<em>*</em></em>
+<a name="557" href="#557">557</a> <em>     * Sets whether String interning is enabled or disabled for element &</em>
+<a name="558" href="#558">558</a> <em>     * attribute names and namespace URIs. This proprety is enabled by default.</em>
+<a name="559" href="#559">559</a> <em>     * </em>
+<a name="560" href="#560">560</a> <em>     * @return DOCUMENT ME!</em>
+<a name="561" href="#561">561</a> <em>     */</em>
+<a name="562" href="#562">562</a>     <strong>public</strong> <strong>boolean</strong> isStringInternEnabled() {
+<a name="563" href="#563">563</a>         <strong>return</strong> stringInternEnabled;
+<a name="564" href="#564">564</a>     }
+<a name="565" href="#565">565</a> 
+<a name="566" href="#566">566</a>     <em>/**<em>*</em></em>
+<a name="567" href="#567">567</a> <em>     * Sets whether String interning is enabled or disabled for element &</em>
+<a name="568" href="#568">568</a> <em>     * attribute names and namespace URIs</em>
+<a name="569" href="#569">569</a> <em>     * </em>
+<a name="570" href="#570">570</a> <em>     * @param stringInternEnabled</em>
+<a name="571" href="#571">571</a> <em>     *            DOCUMENT ME!</em>
+<a name="572" href="#572">572</a> <em>     */</em>
+<a name="573" href="#573">573</a>     <strong>public</strong> <strong>void</strong> setStringInternEnabled(<strong>boolean</strong> stringInternEnabled) {
+<a name="574" href="#574">574</a>         <strong>this</strong>.stringInternEnabled = stringInternEnabled;
+<a name="575" href="#575">575</a>     }
+<a name="576" href="#576">576</a> 
+<a name="577" href="#577">577</a>     <em>/**<em>*</em></em>
+<a name="578" href="#578">578</a> <em>     * Returns whether adjacent text nodes should be merged together.</em>
+<a name="579" href="#579">579</a> <em>     * </em>
+<a name="580" href="#580">580</a> <em>     * @return Value of property mergeAdjacentText.</em>
+<a name="581" href="#581">581</a> <em>     */</em>
+<a name="582" href="#582">582</a>     <strong>public</strong> <strong>boolean</strong> isMergeAdjacentText() {
+<a name="583" href="#583">583</a>         <strong>return</strong> mergeAdjacentText;
+<a name="584" href="#584">584</a>     }
+<a name="585" href="#585">585</a> 
+<a name="586" href="#586">586</a>     <em>/**<em>*</em></em>
+<a name="587" href="#587">587</a> <em>     * Sets whether or not adjacent text nodes should be merged together when</em>
+<a name="588" href="#588">588</a> <em>     * parsing.</em>
+<a name="589" href="#589">589</a> <em>     * </em>
+<a name="590" href="#590">590</a> <em>     * @param mergeAdjacentText</em>
+<a name="591" href="#591">591</a> <em>     *            New value of property mergeAdjacentText.</em>
+<a name="592" href="#592">592</a> <em>     */</em>
+<a name="593" href="#593">593</a>     <strong>public</strong> <strong>void</strong> setMergeAdjacentText(<strong>boolean</strong> mergeAdjacentText) {
+<a name="594" href="#594">594</a>         <strong>this</strong>.mergeAdjacentText = mergeAdjacentText;
+<a name="595" href="#595">595</a>     }
+<a name="596" href="#596">596</a> 
+<a name="597" href="#597">597</a>     <em>/**<em>*</em></em>
+<a name="598" href="#598">598</a> <em>     * Sets whether whitespace between element start and end tags should be</em>
+<a name="599" href="#599">599</a> <em>     * ignored</em>
+<a name="600" href="#600">600</a> <em>     * </em>
+<a name="601" href="#601">601</a> <em>     * @return Value of property stripWhitespaceText.</em>
+<a name="602" href="#602">602</a> <em>     */</em>
+<a name="603" href="#603">603</a>     <strong>public</strong> <strong>boolean</strong> isStripWhitespaceText() {
+<a name="604" href="#604">604</a>         <strong>return</strong> stripWhitespaceText;
+<a name="605" href="#605">605</a>     }
+<a name="606" href="#606">606</a> 
+<a name="607" href="#607">607</a>     <em>/**<em>*</em></em>
+<a name="608" href="#608">608</a> <em>     * Sets whether whitespace between element start and end tags should be</em>
+<a name="609" href="#609">609</a> <em>     * ignored.</em>
+<a name="610" href="#610">610</a> <em>     * </em>
+<a name="611" href="#611">611</a> <em>     * @param stripWhitespaceText</em>
+<a name="612" href="#612">612</a> <em>     *            New value of property stripWhitespaceText.</em>
+<a name="613" href="#613">613</a> <em>     */</em>
+<a name="614" href="#614">614</a>     <strong>public</strong> <strong>void</strong> setStripWhitespaceText(<strong>boolean</strong> stripWhitespaceText) {
+<a name="615" href="#615">615</a>         <strong>this</strong>.stripWhitespaceText = stripWhitespaceText;
+<a name="616" href="#616">616</a>     }
+<a name="617" href="#617">617</a> 
+<a name="618" href="#618">618</a>     <em>/**<em>*</em></em>
+<a name="619" href="#619">619</a> <em>     * Returns whether we should ignore comments or not.</em>
+<a name="620" href="#620">620</a> <em>     * </em>
+<a name="621" href="#621">621</a> <em>     * @return boolean</em>
+<a name="622" href="#622">622</a> <em>     */</em>
+<a name="623" href="#623">623</a>     <strong>public</strong> <strong>boolean</strong> isIgnoreComments() {
+<a name="624" href="#624">624</a>         <strong>return</strong> ignoreComments;
+<a name="625" href="#625">625</a>     }
+<a name="626" href="#626">626</a> 
+<a name="627" href="#627">627</a>     <em>/**<em>*</em></em>
+<a name="628" href="#628">628</a> <em>     * Sets whether we should ignore comments or not.</em>
+<a name="629" href="#629">629</a> <em>     * </em>
+<a name="630" href="#630">630</a> <em>     * @param ignoreComments</em>
+<a name="631" href="#631">631</a> <em>     *            whether we should ignore comments or not.</em>
+<a name="632" href="#632">632</a> <em>     */</em>
+<a name="633" href="#633">633</a>     <strong>public</strong> <strong>void</strong> setIgnoreComments(<strong>boolean</strong> ignoreComments) {
+<a name="634" href="#634">634</a>         <strong>this</strong>.ignoreComments = ignoreComments;
+<a name="635" href="#635">635</a>     }
+<a name="636" href="#636">636</a> 
+<a name="637" href="#637">637</a>     <em>/**<em>*</em></em>
+<a name="638" href="#638">638</a> <em>     * DOCUMENT ME!</em>
+<a name="639" href="#639">639</a> <em>     * </em>
+<a name="640" href="#640">640</a> <em>     * @return the <code>DocumentFactory</code> used to create document</em>
+<a name="641" href="#641">641</a> <em>     *         objects</em>
+<a name="642" href="#642">642</a> <em>     */</em>
+<a name="643" href="#643">643</a>     <strong>public</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="644" href="#644">644</a>         <strong>if</strong> (factory == <strong>null</strong>) {
+<a name="645" href="#645">645</a>             factory = DocumentFactory.getInstance();
+<a name="646" href="#646">646</a>         }
+<a name="647" href="#647">647</a> 
+<a name="648" href="#648">648</a>         <strong>return</strong> factory;
+<a name="649" href="#649">649</a>     }
+<a name="650" href="#650">650</a> 
+<a name="651" href="#651">651</a>     <em>/**<em>*</em></em>
+<a name="652" href="#652">652</a> <em>     * <p></em>
+<a name="653" href="#653">653</a> <em>     * This sets the <code>DocumentFactory</code> used to create new</em>
+<a name="654" href="#654">654</a> <em>     * documents. This method allows the building of custom DOM4J tree objects</em>
+<a name="655" href="#655">655</a> <em>     * to be implemented easily using a custom derivation of</em>
+<a name="656" href="#656">656</a> <em>     * {@link DocumentFactory}</em>
+<a name="657" href="#657">657</a> <em>     * </p></em>
+<a name="658" href="#658">658</a> <em>     * </em>
+<a name="659" href="#659">659</a> <em>     * @param documentFactory</em>
+<a name="660" href="#660">660</a> <em>     *            <code>DocumentFactory</code> used to create DOM4J objects</em>
+<a name="661" href="#661">661</a> <em>     */</em>
+<a name="662" href="#662">662</a>     <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="663" href="#663">663</a>         <strong>this</strong>.factory = documentFactory;
+<a name="664" href="#664">664</a>     }
+<a name="665" href="#665">665</a> 
+<a name="666" href="#666">666</a>     <em>/**<em>*</em></em>
+<a name="667" href="#667">667</a> <em>     * DOCUMENT ME!</em>
+<a name="668" href="#668">668</a> <em>     * </em>
+<a name="669" href="#669">669</a> <em>     * @return the <code>ErrorHandler</code> used by SAX</em>
+<a name="670" href="#670">670</a> <em>     */</em>
+<a name="671" href="#671">671</a>     <strong>public</strong> ErrorHandler getErrorHandler() {
+<a name="672" href="#672">672</a>         <strong>return</strong> errorHandler;
+<a name="673" href="#673">673</a>     }
+<a name="674" href="#674">674</a> 
+<a name="675" href="#675">675</a>     <em>/**<em>*</em></em>
+<a name="676" href="#676">676</a> <em>     * Sets the <code>ErrorHandler</code> used by the SAX</em>
+<a name="677" href="#677">677</a> <em>     * <code>XMLReader</code>.</em>
+<a name="678" href="#678">678</a> <em>     * </em>
+<a name="679" href="#679">679</a> <em>     * @param errorHandler</em>
+<a name="680" href="#680">680</a> <em>     *            is the <code>ErrorHandler</code> used by SAX</em>
+<a name="681" href="#681">681</a> <em>     */</em>
+<a name="682" href="#682">682</a>     <strong>public</strong> <strong>void</strong> setErrorHandler(ErrorHandler errorHandler) {
+<a name="683" href="#683">683</a>         <strong>this</strong>.errorHandler = errorHandler;
+<a name="684" href="#684">684</a>     }
+<a name="685" href="#685">685</a> 
+<a name="686" href="#686">686</a>     <em>/**<em>*</em></em>
+<a name="687" href="#687">687</a> <em>     * Returns the current entity resolver used to resolve entities</em>
+<a name="688" href="#688">688</a> <em>     * </em>
+<a name="689" href="#689">689</a> <em>     * @return DOCUMENT ME!</em>
+<a name="690" href="#690">690</a> <em>     */</em>
+<a name="691" href="#691">691</a>     <strong>public</strong> EntityResolver getEntityResolver() {
+<a name="692" href="#692">692</a>         <strong>return</strong> entityResolver;
+<a name="693" href="#693">693</a>     }
+<a name="694" href="#694">694</a> 
+<a name="695" href="#695">695</a>     <em>/**<em>*</em></em>
+<a name="696" href="#696">696</a> <em>     * Sets the entity resolver used to resolve entities.</em>
+<a name="697" href="#697">697</a> <em>     * </em>
+<a name="698" href="#698">698</a> <em>     * @param entityResolver</em>
+<a name="699" href="#699">699</a> <em>     *            DOCUMENT ME!</em>
+<a name="700" href="#700">700</a> <em>     */</em>
+<a name="701" href="#701">701</a>     <strong>public</strong> <strong>void</strong> setEntityResolver(EntityResolver entityResolver) {
+<a name="702" href="#702">702</a>         <strong>this</strong>.entityResolver = entityResolver;
+<a name="703" href="#703">703</a>     }
+<a name="704" href="#704">704</a> 
+<a name="705" href="#705">705</a>     <em>/**<em>*</em></em>
+<a name="706" href="#706">706</a> <em>     * DOCUMENT ME!</em>
+<a name="707" href="#707">707</a> <em>     * </em>
+<a name="708" href="#708">708</a> <em>     * @return the <code>XMLReader</code> used to parse SAX events</em>
+<a name="709" href="#709">709</a> <em>     * </em>
+<a name="710" href="#710">710</a> <em>     * @throws SAXException</em>
+<a name="711" href="#711">711</a> <em>     *             DOCUMENT ME!</em>
+<a name="712" href="#712">712</a> <em>     */</em>
+<a name="713" href="#713">713</a>     <strong>public</strong> XMLReader getXMLReader() throws SAXException {
+<a name="714" href="#714">714</a>         <strong>if</strong> (xmlReader == <strong>null</strong>) {
+<a name="715" href="#715">715</a>             xmlReader = createXMLReader();
+<a name="716" href="#716">716</a>         }
+<a name="717" href="#717">717</a> 
+<a name="718" href="#718">718</a>         <strong>return</strong> xmlReader;
+<a name="719" href="#719">719</a>     }
+<a name="720" href="#720">720</a> 
+<a name="721" href="#721">721</a>     <em>/**<em>*</em></em>
+<a name="722" href="#722">722</a> <em>     * Sets the <code>XMLReader</code> used to parse SAX events</em>
+<a name="723" href="#723">723</a> <em>     * </em>
+<a name="724" href="#724">724</a> <em>     * @param reader</em>
+<a name="725" href="#725">725</a> <em>     *            is the <code>XMLReader</code> to parse SAX events</em>
+<a name="726" href="#726">726</a> <em>     */</em>
+<a name="727" href="#727">727</a>     <strong>public</strong> <strong>void</strong> setXMLReader(XMLReader reader) {
+<a name="728" href="#728">728</a>         <strong>this</strong>.xmlReader = reader;
+<a name="729" href="#729">729</a>     }
+<a name="730" href="#730">730</a> 
+<a name="731" href="#731">731</a>     <em>/**<em>*</em></em>
+<a name="732" href="#732">732</a> <em>     * Returns encoding used for InputSource (null means system default</em>
+<a name="733" href="#733">733</a> <em>     * encoding)</em>
+<a name="734" href="#734">734</a> <em>     * </em>
+<a name="735" href="#735">735</a> <em>     * @return encoding used for InputSource</em>
+<a name="736" href="#736">736</a> <em>     * </em>
+<a name="737" href="#737">737</a> <em>     */</em>
+<a name="738" href="#738">738</a>     <strong>public</strong> String getEncoding() {
+<a name="739" href="#739">739</a>         <strong>return</strong> encoding;
+<a name="740" href="#740">740</a>     }
+<a name="741" href="#741">741</a> 
+<a name="742" href="#742">742</a>     <em>/**<em>*</em></em>
+<a name="743" href="#743">743</a> <em>     * Sets encoding used for InputSource (null means system default encoding)</em>
+<a name="744" href="#744">744</a> <em>     * </em>
+<a name="745" href="#745">745</a> <em>     * @param encoding</em>
+<a name="746" href="#746">746</a> <em>     *            is encoding used for InputSource</em>
+<a name="747" href="#747">747</a> <em>     */</em>
+<a name="748" href="#748">748</a>     <strong>public</strong> <strong>void</strong> setEncoding(String encoding) {
+<a name="749" href="#749">749</a>         <strong>this</strong>.encoding = encoding;
+<a name="750" href="#750">750</a>     }
+<a name="751" href="#751">751</a> 
+<a name="752" href="#752">752</a>     <em>/**<em>*</em></em>
+<a name="753" href="#753">753</a> <em>     * Sets the class name of the <code>XMLReader</code> to be used to parse</em>
+<a name="754" href="#754">754</a> <em>     * SAX events.</em>
+<a name="755" href="#755">755</a> <em>     * </em>
+<a name="756" href="#756">756</a> <em>     * @param xmlReaderClassName</em>
+<a name="757" href="#757">757</a> <em>     *            is the class name of the <code>XMLReader</code> to parse SAX</em>
+<a name="758" href="#758">758</a> <em>     *            events</em>
+<a name="759" href="#759">759</a> <em>     * </em>
+<a name="760" href="#760">760</a> <em>     * @throws SAXException</em>
+<a name="761" href="#761">761</a> <em>     *             DOCUMENT ME!</em>
+<a name="762" href="#762">762</a> <em>     */</em>
+<a name="763" href="#763">763</a>     <strong>public</strong> <strong>void</strong> setXMLReaderClassName(String xmlReaderClassName)
+<a name="764" href="#764">764</a>             throws SAXException {
+<a name="765" href="#765">765</a>         setXMLReader(XMLReaderFactory.createXMLReader(xmlReaderClassName));
+<a name="766" href="#766">766</a>     }
+<a name="767" href="#767">767</a> 
+<a name="768" href="#768">768</a>     <em>/**<em>*</em></em>
+<a name="769" href="#769">769</a> <em>     * Adds the <code>ElementHandler</code> to be called when the specified</em>
+<a name="770" href="#770">770</a> <em>     * path is encounted.</em>
+<a name="771" href="#771">771</a> <em>     * </em>
+<a name="772" href="#772">772</a> <em>     * @param path</em>
+<a name="773" href="#773">773</a> <em>     *            is the path to be handled</em>
+<a name="774" href="#774">774</a> <em>     * @param handler</em>
+<a name="775" href="#775">775</a> <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="776" href="#776">776</a> <em>     *            based processor.</em>
+<a name="777" href="#777">777</a> <em>     */</em>
+<a name="778" href="#778">778</a>     <strong>public</strong> <strong>void</strong> addHandler(String path, <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler) {
+<a name="779" href="#779">779</a>         getDispatchHandler().addHandler(path, handler);
+<a name="780" href="#780">780</a>     }
+<a name="781" href="#781">781</a> 
+<a name="782" href="#782">782</a>     <em>/**<em>*</em></em>
+<a name="783" href="#783">783</a> <em>     * Removes the <code>ElementHandler</code> from the event based processor,</em>
+<a name="784" href="#784">784</a> <em>     * for the specified path.</em>
+<a name="785" href="#785">785</a> <em>     * </em>
+<a name="786" href="#786">786</a> <em>     * @param path</em>
+<a name="787" href="#787">787</a> <em>     *            is the path to remove the <code>ElementHandler</code> for.</em>
+<a name="788" href="#788">788</a> <em>     */</em>
+<a name="789" href="#789">789</a>     <strong>public</strong> <strong>void</strong> removeHandler(String path) {
+<a name="790" href="#790">790</a>         getDispatchHandler().removeHandler(path);
+<a name="791" href="#791">791</a>     }
+<a name="792" href="#792">792</a> 
+<a name="793" href="#793">793</a>     <em>/**<em>*</em></em>
+<a name="794" href="#794">794</a> <em>     * When multiple <code>ElementHandler</code> instances have been</em>
+<a name="795" href="#795">795</a> <em>     * registered, this will set a default <code>ElementHandler</code> to be</em>
+<a name="796" href="#796">796</a> <em>     * called for any path which does <b>NOT </b> have a handler registered.</em>
+<a name="797" href="#797">797</a> <em>     * </em>
+<a name="798" href="#798">798</a> <em>     * @param handler</em>
+<a name="799" href="#799">799</a> <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="800" href="#800">800</a> <em>     *            based processor.</em>
+<a name="801" href="#801">801</a> <em>     */</em>
+<a name="802" href="#802">802</a>     <strong>public</strong> <strong>void</strong> setDefaultHandler(<a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler) {
+<a name="803" href="#803">803</a>         getDispatchHandler().setDefaultHandler(handler);
+<a name="804" href="#804">804</a>     }
+<a name="805" href="#805">805</a> 
+<a name="806" href="#806">806</a>     <em>/**<em>*</em></em>
+<a name="807" href="#807">807</a> <em>     * This method clears out all the existing handlers and default handler</em>
+<a name="808" href="#808">808</a> <em>     * setting things back as if no handler existed. Useful when reusing an</em>
+<a name="809" href="#809">809</a> <em>     * object instance.</em>
+<a name="810" href="#810">810</a> <em>     */</em>
+<a name="811" href="#811">811</a>     <strong>public</strong> <strong>void</strong> resetHandlers() {
+<a name="812" href="#812">812</a>         getDispatchHandler().resetHandlers();
+<a name="813" href="#813">813</a>     }
+<a name="814" href="#814">814</a> 
+<a name="815" href="#815">815</a>     <em>/**<em>*</em></em>
+<a name="816" href="#816">816</a> <em>     * Returns the SAX filter being used to filter SAX events.</em>
+<a name="817" href="#817">817</a> <em>     * </em>
+<a name="818" href="#818">818</a> <em>     * @return the SAX filter being used or null if no SAX filter is installed</em>
+<a name="819" href="#819">819</a> <em>     */</em>
+<a name="820" href="#820">820</a>     <strong>public</strong> XMLFilter getXMLFilter() {
+<a name="821" href="#821">821</a>         <strong>return</strong> xmlFilter;
+<a name="822" href="#822">822</a>     }
+<a name="823" href="#823">823</a> 
+<a name="824" href="#824">824</a>     <em>/**<em>*</em></em>
+<a name="825" href="#825">825</a> <em>     * Sets the SAX filter to be used when filtering SAX events</em>
+<a name="826" href="#826">826</a> <em>     * </em>
+<a name="827" href="#827">827</a> <em>     * @param filter</em>
+<a name="828" href="#828">828</a> <em>     *            is the SAX filter to use or null to disable filtering</em>
+<a name="829" href="#829">829</a> <em>     */</em>
+<a name="830" href="#830">830</a>     <strong>public</strong> <strong>void</strong> setXMLFilter(XMLFilter filter) {
+<a name="831" href="#831">831</a>         <strong>this</strong>.xmlFilter = filter;
+<a name="832" href="#832">832</a>     }
+<a name="833" href="#833">833</a> 
+<a name="834" href="#834">834</a>     <em class="comment">// Implementation methods</em>
+<a name="835" href="#835">835</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="836" href="#836">836</a> 
+<a name="837" href="#837">837</a>     <em>/**<em>*</em></em>
+<a name="838" href="#838">838</a> <em>     * Installs any XMLFilter objects required to allow the SAX event stream to</em>
+<a name="839" href="#839">839</a> <em>     * be filtered and preprocessed before it gets to dom4j.</em>
+<a name="840" href="#840">840</a> <em>     * </em>
+<a name="841" href="#841">841</a> <em>     * @param reader</em>
+<a name="842" href="#842">842</a> <em>     *            DOCUMENT ME!</em>
+<a name="843" href="#843">843</a> <em>     * </em>
+<a name="844" href="#844">844</a> <em>     * @return the new XMLFilter if applicable or the original XMLReader if no</em>
+<a name="845" href="#845">845</a> <em>     *         filter is being used.</em>
+<a name="846" href="#846">846</a> <em>     */</em>
+<a name="847" href="#847">847</a>     <strong>protected</strong> XMLReader installXMLFilter(XMLReader reader) {
+<a name="848" href="#848">848</a>         XMLFilter filter = getXMLFilter();
+<a name="849" href="#849">849</a> 
+<a name="850" href="#850">850</a>         <strong>if</strong> (filter != <strong>null</strong>) {
+<a name="851" href="#851">851</a>             <em class="comment">// find the root XMLFilter</em>
+<a name="852" href="#852">852</a>             XMLFilter root = filter;
+<a name="853" href="#853">853</a> 
+<a name="854" href="#854">854</a>             <strong>while</strong> (<strong>true</strong>) {
+<a name="855" href="#855">855</a>                 XMLReader parent = root.getParent();
+<a name="856" href="#856">856</a> 
+<a name="857" href="#857">857</a>                 <strong>if</strong> (parent instanceof XMLFilter) {
+<a name="858" href="#858">858</a>                     root = (XMLFilter) parent;
+<a name="859" href="#859">859</a>                 } <strong>else</strong> {
+<a name="860" href="#860">860</a>                     <strong>break</strong>;
+<a name="861" href="#861">861</a>                 }
+<a name="862" href="#862">862</a>             }
+<a name="863" href="#863">863</a> 
+<a name="864" href="#864">864</a>             root.setParent(reader);
+<a name="865" href="#865">865</a> 
+<a name="866" href="#866">866</a>             <strong>return</strong> filter;
+<a name="867" href="#867">867</a>         }
+<a name="868" href="#868">868</a> 
+<a name="869" href="#869">869</a>         <strong>return</strong> reader;
+<a name="870" href="#870">870</a>     }
+<a name="871" href="#871">871</a> 
+<a name="872" href="#872">872</a>     <strong>protected</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> getDispatchHandler() {
+<a name="873" href="#873">873</a>         <strong>if</strong> (dispatchHandler == <strong>null</strong>) {
+<a name="874" href="#874">874</a>             dispatchHandler = <strong>new</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a>();
+<a name="875" href="#875">875</a>         }
+<a name="876" href="#876">876</a> 
+<a name="877" href="#877">877</a>         <strong>return</strong> dispatchHandler;
+<a name="878" href="#878">878</a>     }
+<a name="879" href="#879">879</a> 
+<a name="880" href="#880">880</a>     <strong>protected</strong> <strong>void</strong> setDispatchHandler(<a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> dispatchHandler) {
+<a name="881" href="#881">881</a>         <strong>this</strong>.dispatchHandler = dispatchHandler;
+<a name="882" href="#882">882</a>     }
+<a name="883" href="#883">883</a> 
+<a name="884" href="#884">884</a>     <em>/**<em>*</em></em>
+<a name="885" href="#885">885</a> <em>     * Factory Method to allow alternate methods of creating and configuring</em>
+<a name="886" href="#886">886</a> <em>     * XMLReader objects</em>
+<a name="887" href="#887">887</a> <em>     * </em>
+<a name="888" href="#888">888</a> <em>     * @return DOCUMENT ME!</em>
+<a name="889" href="#889">889</a> <em>     * </em>
+<a name="890" href="#890">890</a> <em>     * @throws SAXException</em>
+<a name="891" href="#891">891</a> <em>     *             DOCUMENT ME!</em>
+<a name="892" href="#892">892</a> <em>     */</em>
+<a name="893" href="#893">893</a>     <strong>protected</strong> XMLReader createXMLReader() throws SAXException {
+<a name="894" href="#894">894</a>         <strong>return</strong> SAXHelper.createXMLReader(isValidating());
+<a name="895" href="#895">895</a>     }
+<a name="896" href="#896">896</a> 
+<a name="897" href="#897">897</a>     <em>/**<em>*</em></em>
+<a name="898" href="#898">898</a> <em>     * Configures the XMLReader before use</em>
+<a name="899" href="#899">899</a> <em>     * </em>
+<a name="900" href="#900">900</a> <em>     * @param reader</em>
+<a name="901" href="#901">901</a> <em>     *            DOCUMENT ME!</em>
+<a name="902" href="#902">902</a> <em>     * @param handler</em>
+<a name="903" href="#903">903</a> <em>     *            DOCUMENT ME!</em>
+<a name="904" href="#904">904</a> <em>     * </em>
+<a name="905" href="#905">905</a> <em>     * @throws DocumentException</em>
+<a name="906" href="#906">906</a> <em>     *             DOCUMENT ME!</em>
+<a name="907" href="#907">907</a> <em>     */</em>
+<a name="908" href="#908">908</a>     <strong>protected</strong> <strong>void</strong> configureReader(XMLReader reader, DefaultHandler handler)
+<a name="909" href="#909">909</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="910" href="#910">910</a>         <em class="comment">// configure lexical handling</em>
+<a name="911" href="#911">911</a>         SAXHelper.setParserProperty(reader, SAX_LEXICALHANDLER, handler);
+<a name="912" href="#912">912</a> 
+<a name="913" href="#913">913</a>         <em class="comment">// try alternate property just in case</em>
+<a name="914" href="#914">914</a>         SAXHelper.setParserProperty(reader, SAX_LEXICAL_HANDLER, handler);
+<a name="915" href="#915">915</a> 
+<a name="916" href="#916">916</a>         <em class="comment">// register the DeclHandler</em>
+<a name="917" href="#917">917</a>         <strong>if</strong> (includeInternalDTDDeclarations || includeExternalDTDDeclarations) {
+<a name="918" href="#918">918</a>             SAXHelper.setParserProperty(reader, SAX_DECL_HANDLER, handler);
+<a name="919" href="#919">919</a>         }
+<a name="920" href="#920">920</a> 
+<a name="921" href="#921">921</a>         <em class="comment">// configure namespace support</em>
+<a name="922" href="#922">922</a>         SAXHelper.setParserFeature(reader, SAX_NAMESPACES, <strong>true</strong>);
+<a name="923" href="#923">923</a> 
+<a name="924" href="#924">924</a>         SAXHelper.setParserFeature(reader, SAX_NAMESPACE_PREFIXES, false);
+<a name="925" href="#925">925</a> 
+<a name="926" href="#926">926</a>         <em class="comment">// string interning</em>
+<a name="927" href="#927">927</a>         SAXHelper.setParserFeature(reader, SAX_STRING_INTERNING,
+<a name="928" href="#928">928</a>                 isStringInternEnabled());
+<a name="929" href="#929">929</a> 
+<a name="930" href="#930">930</a>         <em class="comment">// external entites</em>
+<a name="931" href="#931">931</a>         <em class="comment">/*</em>
+<a name="932" href="#932">932</a> <em class="comment">         * SAXHelper.setParserFeature( reader,</em>
+<a name="933" href="#933">933</a> <em class="comment">         * "<a href="http://xml.org/sax/properties/external-general-entities" target="alexandria_uri">http://xml.org/sax/properties/external-general-entities</a>",</em>
+<a name="934" href="#934">934</a> <em class="comment">         * includeExternalGeneralEntities ); SAXHelper.setParserFeature( reader,</em>
+<a name="935" href="#935">935</a> <em class="comment">         * "<a href="http://xml.org/sax/properties/external-parameter-entities" target="alexandria_uri">http://xml.org/sax/properties/external-parameter-entities</a>",</em>
+<a name="936" href="#936">936</a> <em class="comment">         * includeExternalParameterEntities );</em>
+<a name="937" href="#937">937</a> <em class="comment">         */</em>
+<a name="938" href="#938">938</a>         <em class="comment">// use Locator2 if possible</em>
+<a name="939" href="#939">939</a>         SAXHelper.setParserFeature(reader,
+<a name="940" href="#940">940</a>                 <span class="string">"http://xml.org/sax/features/use-locator2"</span>, <strong>true</strong>);
+<a name="941" href="#941">941</a> 
+<a name="942" href="#942">942</a>         <strong>try</strong> {
+<a name="943" href="#943">943</a>             <em class="comment">// configure validation support</em>
+<a name="944" href="#944">944</a>             reader.setFeature(<span class="string">"http://xml.org/sax/features/validation"</span>,
+<a name="945" href="#945">945</a>                     isValidating());
+<a name="946" href="#946">946</a> 
+<a name="947" href="#947">947</a>             <strong>if</strong> (errorHandler != <strong>null</strong>) {
+<a name="948" href="#948">948</a>                 reader.setErrorHandler(errorHandler);
+<a name="949" href="#949">949</a>             } <strong>else</strong> {
+<a name="950" href="#950">950</a>                 reader.setErrorHandler(handler);
+<a name="951" href="#951">951</a>             }
+<a name="952" href="#952">952</a>         } <strong>catch</strong> (Exception e) {
+<a name="953" href="#953">953</a>             <strong>if</strong> (isValidating()) {
+<a name="954" href="#954">954</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(<span class="string">"Validation not supported for"</span>
+<a name="955" href="#955">955</a>                         + <span class="string">" XMLReader: "</span> + reader, e);
+<a name="956" href="#956">956</a>             }
+<a name="957" href="#957">957</a>         }
+<a name="958" href="#958">958</a>     }
+<a name="959" href="#959">959</a> 
+<a name="960" href="#960">960</a>     <em>/**<em>*</em></em>
+<a name="961" href="#961">961</a> <em>     * Factory Method to allow user derived SAXContentHandler objects to be used</em>
+<a name="962" href="#962">962</a> <em>     * </em>
+<a name="963" href="#963">963</a> <em>     * @param reader</em>
+<a name="964" href="#964">964</a> <em>     *            DOCUMENT ME!</em>
+<a name="965" href="#965">965</a> <em>     * </em>
+<a name="966" href="#966">966</a> <em>     * @return DOCUMENT ME!</em>
+<a name="967" href="#967">967</a> <em>     */</em>
+<a name="968" href="#968">968</a>     <strong>protected</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a> createContentHandler(XMLReader reader) {
+<a name="969" href="#969">969</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/io/SAXContentHandler.html">SAXContentHandler</a>(getDocumentFactory(), dispatchHandler);
+<a name="970" href="#970">970</a>     }
+<a name="971" href="#971">971</a> 
+<a name="972" href="#972">972</a>     <strong>protected</strong> EntityResolver createDefaultEntityResolver(String systemId) {
+<a name="973" href="#973">973</a>         String prefix = <strong>null</strong>;
+<a name="974" href="#974">974</a> 
+<a name="975" href="#975">975</a>         <strong>if</strong> ((systemId != <strong>null</strong>) && (systemId.length() > 0)) {
+<a name="976" href="#976">976</a>             <strong>int</strong> idx = systemId.lastIndexOf('/');
+<a name="977" href="#977">977</a> 
+<a name="978" href="#978">978</a>             <strong>if</strong> (idx > 0) {
+<a name="979" href="#979">979</a>                 prefix = systemId.substring(0, idx + 1);
+<a name="980" href="#980">980</a>             }
+<a name="981" href="#981">981</a>         }
+<a name="982" href="#982">982</a> 
+<a name="983" href="#983">983</a>         <strong>return</strong> <strong>new</strong> SAXEntityResolver(prefix);
+<a name="984" href="#984">984</a>     }
+<a name="985" href="#985">985</a> 
+<a name="986" href="#986">986</a>     <strong>protected</strong> <strong>static</strong> <strong>class</strong> SAXEntityResolver implements EntityResolver,
+<a name="987" href="#987">987</a>             Serializable {
+<a name="988" href="#988">988</a>         <strong>protected</strong> String uriPrefix;
+<a name="989" href="#989">989</a> 
+<a name="990" href="#990">990</a>         <strong>public</strong> SAXEntityResolver(String uriPrefix) {
+<a name="991" href="#991">991</a>             <strong>this</strong>.uriPrefix = uriPrefix;
+<a name="992" href="#992">992</a>         }
+<a name="993" href="#993">993</a> 
+<a name="994" href="#994">994</a>         <strong>public</strong> InputSource resolveEntity(String <strong>public</strong>Id, String systemId) {
+<a name="995" href="#995">995</a>             <em class="comment">// try create a relative URI reader...</em>
+<a name="996" href="#996">996</a>             <strong>if</strong> ((systemId != <strong>null</strong>) && (systemId.length() > 0)) {
+<a name="997" href="#997">997</a>                 <strong>if</strong> ((uriPrefix != <strong>null</strong>) && (systemId.indexOf(':') <= 0)) {
+<a name="998" href="#998">998</a>                     systemId = uriPrefix + systemId;
+<a name="999" href="#999">999</a>                 }
+<a name="1000" href="#1000">1000</a>             }
+<a name="1001" href="#1001">1001</a> 
+<a name="1002" href="#1002">1002</a>             <strong>return</strong> <strong>new</strong> InputSource(systemId);
+<a name="1003" href="#1003">1003</a>         }
+<a name="1004" href="#1004">1004</a>     }
+<a name="1005" href="#1005">1005</a> }
+<a name="1006" href="#1006">1006</a> 
+<a name="1007" href="#1007">1007</a> <em class="comment">/*</em>
+<a name="1008" href="#1008">1008</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="1009" href="#1009">1009</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="1010" href="#1010">1010</a> <em class="comment"> * following conditions are met:</em>
+<a name="1011" href="#1011">1011</a> <em class="comment"> * </em>
+<a name="1012" href="#1012">1012</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="1013" href="#1013">1013</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="1014" href="#1014">1014</a> <em class="comment"> * </em>
+<a name="1015" href="#1015">1015</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="1016" href="#1016">1016</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="1017" href="#1017">1017</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="1018" href="#1018">1018</a> <em class="comment"> * </em>
+<a name="1019" href="#1019">1019</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="1020" href="#1020">1020</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="1021" href="#1021">1021</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="1022" href="#1022">1022</a> <em class="comment"> * </em>
+<a name="1023" href="#1023">1023</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="1024" href="#1024">1024</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="1025" href="#1025">1025</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="1026" href="#1026">1026</a> <em class="comment"> * </em>
+<a name="1027" href="#1027">1027</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="1028" href="#1028">1028</a> <em class="comment"> * </em>
+<a name="1029" href="#1029">1029</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="1030" href="#1030">1030</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="1031" href="#1031">1031</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="1032" href="#1032">1032</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="1033" href="#1033">1033</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="1034" href="#1034">1034</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="1035" href="#1035">1035</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="1036" href="#1036">1036</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="1037" href="#1037">1037</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="1038" href="#1038">1038</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="1039" href="#1039">1039</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="1040" href="#1040">1040</a> <em class="comment"> * </em>
+<a name="1041" href="#1041">1041</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="1042" href="#1042">1042</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXValidator.html b/docs/xref/org/dom4j/io/SAXValidator.html
new file mode 100644
index 0000000..4da3c1c
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXValidator.html
@@ -0,0 +1,216 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXValidator xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXValidator.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Document;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.xml.sax.ContentHandler;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.xml.sax.ErrorHandler;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.xml.sax.helpers.DefaultHandler;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * <p></em>
+<a name="22" href="#22">22</a>  <em> * <code>SAXValidator</code> validates an XML document by writing the document</em>
+<a name="23" href="#23">23</a>  <em> * to a text buffer and parsing it with a validating SAX parser. This could be</em>
+<a name="24" href="#24">24</a>  <em> * implemented much more efficiently by validating against the dom4j object</em>
+<a name="25" href="#25">25</a>  <em> * model directly but at least allows the reuse of existing SAX based validating</em>
+<a name="26" href="#26">26</a>  <em> * parsers.</em>
+<a name="27" href="#27">27</a>  <em> * </p></em>
+<a name="28" href="#28">28</a>  <em> * </em>
+<a name="29" href="#29">29</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="30" href="#30">30</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="31" href="#31">31</a>  <em> */</em>
+<a name="32" href="#32">32</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/SAXValidator.html">SAXValidator</a> {
+<a name="33" href="#33">33</a>      <em>/**<em>* <code>XMLReader</code> used to parse the SAX events */</em></em>
+<a name="34" href="#34">34</a>      <strong>private</strong> XMLReader xmlReader;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>* ErrorHandler class to use */</em></em>
+<a name="37" href="#37">37</a>      <strong>private</strong> ErrorHandler errorHandler;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXValidator.html">SAXValidator</a>() {
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXValidator.html">SAXValidator</a>(XMLReader xmlReader) {
+<a name="43" href="#43">43</a>          <strong>this</strong>.xmlReader = xmlReader;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>*</em></em>
+<a name="47" href="#47">47</a>  <em>     * Validates the given <code>Document</code> by writing it to a validating</em>
+<a name="48" href="#48">48</a>  <em>     * SAX Parser.</em>
+<a name="49" href="#49">49</a>  <em>     * </em>
+<a name="50" href="#50">50</a>  <em>     * @param document</em>
+<a name="51" href="#51">51</a>  <em>     *            is the Document to validate</em>
+<a name="52" href="#52">52</a>  <em>     * </em>
+<a name="53" href="#53">53</a>  <em>     * @throws SAXException</em>
+<a name="54" href="#54">54</a>  <em>     *             if a validation error occurs</em>
+<a name="55" href="#55">55</a>  <em>     * @throws RuntimeException</em>
+<a name="56" href="#56">56</a>  <em>     *             DOCUMENT ME!</em>
+<a name="57" href="#57">57</a>  <em>     */</em>
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> validate(<a href="../../../org/dom4j/Document.html">Document</a> document) throws SAXException {
+<a name="59" href="#59">59</a>          <strong>if</strong> (document != <strong>null</strong>) {
+<a name="60" href="#60">60</a>              XMLReader reader = getXMLReader();
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>              <strong>if</strong> (errorHandler != <strong>null</strong>) {
+<a name="63" href="#63">63</a>                  reader.setErrorHandler(errorHandler);
+<a name="64" href="#64">64</a>              }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>              <strong>try</strong> {
+<a name="67" href="#67">67</a>                  reader.parse(<strong>new</strong> <a href="../../../org/dom4j/io/DocumentInputSource.html">DocumentInputSource</a>(document));
+<a name="68" href="#68">68</a>              } <strong>catch</strong> (IOException e) {
+<a name="69" href="#69">69</a>                  <strong>throw</strong> <strong>new</strong> RuntimeException(<span class="string">"Caught and exception that should "</span>
+<a name="70" href="#70">70</a>                          + <span class="string">"never happen: "</span> + e);
+<a name="71" href="#71">71</a>              }
+<a name="72" href="#72">72</a>          }
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <em class="comment">// Properties</em>
+<a name="76" href="#76">76</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <em>/**<em>*</em></em>
+<a name="79" href="#79">79</a>  <em>     * DOCUMENT ME!</em>
+<a name="80" href="#80">80</a>  <em>     * </em>
+<a name="81" href="#81">81</a>  <em>     * @return the <code>XMLReader</code> used to parse SAX events</em>
+<a name="82" href="#82">82</a>  <em>     * </em>
+<a name="83" href="#83">83</a>  <em>     * @throws SAXException</em>
+<a name="84" href="#84">84</a>  <em>     *             DOCUMENT ME!</em>
+<a name="85" href="#85">85</a>  <em>     */</em>
+<a name="86" href="#86">86</a>      <strong>public</strong> XMLReader getXMLReader() throws SAXException {
+<a name="87" href="#87">87</a>          <strong>if</strong> (xmlReader == <strong>null</strong>) {
+<a name="88" href="#88">88</a>              xmlReader = createXMLReader();
+<a name="89" href="#89">89</a>              configureReader();
+<a name="90" href="#90">90</a>          }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          <strong>return</strong> xmlReader;
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <em>/**<em>*</em></em>
+<a name="96" href="#96">96</a>  <em>     * Sets the <code>XMLReader</code> used to parse SAX events</em>
+<a name="97" href="#97">97</a>  <em>     * </em>
+<a name="98" href="#98">98</a>  <em>     * @param reader</em>
+<a name="99" href="#99">99</a>  <em>     *            is the <code>XMLReader</code> to parse SAX events</em>
+<a name="100" href="#100">100</a> <em>     * </em>
+<a name="101" href="#101">101</a> <em>     * @throws SAXException</em>
+<a name="102" href="#102">102</a> <em>     *             DOCUMENT ME!</em>
+<a name="103" href="#103">103</a> <em>     */</em>
+<a name="104" href="#104">104</a>     <strong>public</strong> <strong>void</strong> setXMLReader(XMLReader reader) throws SAXException {
+<a name="105" href="#105">105</a>         <strong>this</strong>.xmlReader = reader;
+<a name="106" href="#106">106</a>         configureReader();
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <em>/**<em>*</em></em>
+<a name="110" href="#110">110</a> <em>     * DOCUMENT ME!</em>
+<a name="111" href="#111">111</a> <em>     * </em>
+<a name="112" href="#112">112</a> <em>     * @return the <code>ErrorHandler</code> used by SAX</em>
+<a name="113" href="#113">113</a> <em>     */</em>
+<a name="114" href="#114">114</a>     <strong>public</strong> ErrorHandler getErrorHandler() {
+<a name="115" href="#115">115</a>         <strong>return</strong> errorHandler;
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <em>/**<em>*</em></em>
+<a name="119" href="#119">119</a> <em>     * Sets the <code>ErrorHandler</code> used by the SAX</em>
+<a name="120" href="#120">120</a> <em>     * <code>XMLReader</code>.</em>
+<a name="121" href="#121">121</a> <em>     * </em>
+<a name="122" href="#122">122</a> <em>     * @param errorHandler</em>
+<a name="123" href="#123">123</a> <em>     *            is the <code>ErrorHandler</code> used by SAX</em>
+<a name="124" href="#124">124</a> <em>     */</em>
+<a name="125" href="#125">125</a>     <strong>public</strong> <strong>void</strong> setErrorHandler(ErrorHandler errorHandler) {
+<a name="126" href="#126">126</a>         <strong>this</strong>.errorHandler = errorHandler;
+<a name="127" href="#127">127</a>     }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>     <em class="comment">// Implementation methods</em>
+<a name="130" href="#130">130</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <em>/**<em>*</em></em>
+<a name="133" href="#133">133</a> <em>     * Factory Method to allow alternate methods of creating and configuring</em>
+<a name="134" href="#134">134</a> <em>     * XMLReader objects</em>
+<a name="135" href="#135">135</a> <em>     * </em>
+<a name="136" href="#136">136</a> <em>     * @return DOCUMENT ME!</em>
+<a name="137" href="#137">137</a> <em>     * </em>
+<a name="138" href="#138">138</a> <em>     * @throws SAXException</em>
+<a name="139" href="#139">139</a> <em>     *             DOCUMENT ME!</em>
+<a name="140" href="#140">140</a> <em>     */</em>
+<a name="141" href="#141">141</a>     <strong>protected</strong> XMLReader createXMLReader() throws SAXException {
+<a name="142" href="#142">142</a>         <strong>return</strong> SAXHelper.createXMLReader(<strong>true</strong>);
+<a name="143" href="#143">143</a>     }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <em>/**<em>*</em></em>
+<a name="146" href="#146">146</a> <em>     * Configures the XMLReader before use</em>
+<a name="147" href="#147">147</a> <em>     * </em>
+<a name="148" href="#148">148</a> <em>     * @throws SAXException</em>
+<a name="149" href="#149">149</a> <em>     *             DOCUMENT ME!</em>
+<a name="150" href="#150">150</a> <em>     */</em>
+<a name="151" href="#151">151</a>     <strong>protected</strong> <strong>void</strong> configureReader() throws SAXException {
+<a name="152" href="#152">152</a>         ContentHandler handler = xmlReader.getContentHandler();
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>         <strong>if</strong> (handler == <strong>null</strong>) {
+<a name="155" href="#155">155</a>             xmlReader.setContentHandler(<strong>new</strong> DefaultHandler());
+<a name="156" href="#156">156</a>         }
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>         <em class="comment">// configure validation support</em>
+<a name="159" href="#159">159</a>         xmlReader.setFeature(<span class="string">"http://xml.org/sax/features/validation"</span>, <strong>true</strong>);
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>         <em class="comment">// configure namespace support</em>
+<a name="162" href="#162">162</a>         xmlReader.setFeature(<span class="string">"http://xml.org/sax/features/namespaces"</span>, <strong>true</strong>);
+<a name="163" href="#163">163</a>         xmlReader.setFeature(<span class="string">"http://xml.org/sax/features/namespace-prefixes"</span>,
+<a name="164" href="#164">164</a>                 false);
+<a name="165" href="#165">165</a>     }
+<a name="166" href="#166">166</a> }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a> <em class="comment">/*</em>
+<a name="169" href="#169">169</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="170" href="#170">170</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="171" href="#171">171</a> <em class="comment"> * following conditions are met:</em>
+<a name="172" href="#172">172</a> <em class="comment"> * </em>
+<a name="173" href="#173">173</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="174" href="#174">174</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="175" href="#175">175</a> <em class="comment"> * </em>
+<a name="176" href="#176">176</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="177" href="#177">177</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="178" href="#178">178</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="179" href="#179">179</a> <em class="comment"> * </em>
+<a name="180" href="#180">180</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="181" href="#181">181</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="182" href="#182">182</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="183" href="#183">183</a> <em class="comment"> * </em>
+<a name="184" href="#184">184</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="185" href="#185">185</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="186" href="#186">186</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="187" href="#187">187</a> <em class="comment"> * </em>
+<a name="188" href="#188">188</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="189" href="#189">189</a> <em class="comment"> * </em>
+<a name="190" href="#190">190</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="191" href="#191">191</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="192" href="#192">192</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="193" href="#193">193</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="194" href="#194">194</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="195" href="#195">195</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="196" href="#196">196</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="197" href="#197">197</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="198" href="#198">198</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="199" href="#199">199</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="200" href="#200">200</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="201" href="#201">201</a> <em class="comment"> * </em>
+<a name="202" href="#202">202</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="203" href="#203">203</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/SAXWriter.html b/docs/xref/org/dom4j/io/SAXWriter.html
new file mode 100644
index 0000000..416aaf6
--- /dev/null
+++ b/docs/xref/org/dom4j/io/SAXWriter.html
@@ -0,0 +1,958 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SAXWriter xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/SAXWriter.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.HashMap;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.Map;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.CharacterData;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.Document;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.Element;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.Node;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.dom4j.Text;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.dom4j.tree.NamespaceStack;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>  <strong>import</strong> org.xml.sax.Attributes;
+<a name="32" href="#32">32</a>  <strong>import</strong> org.xml.sax.ContentHandler;
+<a name="33" href="#33">33</a>  <strong>import</strong> org.xml.sax.DTDHandler;
+<a name="34" href="#34">34</a>  <strong>import</strong> org.xml.sax.EntityResolver;
+<a name="35" href="#35">35</a>  <strong>import</strong> org.xml.sax.ErrorHandler;
+<a name="36" href="#36">36</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="37" href="#37">37</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="38" href="#38">38</a>  <strong>import</strong> org.xml.sax.SAXNotRecognizedException;
+<a name="39" href="#39">39</a>  <strong>import</strong> org.xml.sax.SAXNotSupportedException;
+<a name="40" href="#40">40</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="41" href="#41">41</a>  <strong>import</strong> org.xml.sax.ext.LexicalHandler;
+<a name="42" href="#42">42</a>  <strong>import</strong> org.xml.sax.helpers.AttributesImpl;
+<a name="43" href="#43">43</a>  <strong>import</strong> org.xml.sax.helpers.LocatorImpl;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>  <em>/**<em>*</em></em>
+<a name="46" href="#46">46</a>  <em> * <p></em>
+<a name="47" href="#47">47</a>  <em> * <code>SAXWriter</code> writes a DOM4J tree to a SAX ContentHandler.</em>
+<a name="48" href="#48">48</a>  <em> * </p></em>
+<a name="49" href="#49">49</a>  <em> * </em>
+<a name="50" href="#50">50</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="51" href="#51">51</a>  <em> * @version $Revision: 1.24 $</em>
+<a name="52" href="#52">52</a>  <em> */</em>
+<a name="53" href="#53">53</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/SAXWriter.html">SAXWriter</a> implements XMLReader {
+<a name="54" href="#54">54</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String[] LEXICAL_HANDLER_NAMES = {
+<a name="55" href="#55">55</a>              <span class="string">"http://xml.org/sax/properties/lexical-handler"</span>,
+<a name="56" href="#56">56</a>              <span class="string">"http://xml.org/sax/handlers/LexicalHandler"</span> };
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String FEATURE_NAMESPACE_PREFIXES 
+<a name="59" href="#59">59</a>              = <span class="string">"http://xml.org/sax/features/namespace-prefixes"</span>;
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String FEATURE_NAMESPACES 
+<a name="62" href="#62">62</a>              = <span class="string">"http://xml.org/sax/features/namespaces"</span>;
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <em>/**<em>* <code>ContentHandler</code> to which SAX events are raised */</em></em>
+<a name="65" href="#65">65</a>      <strong>private</strong> ContentHandler contentHandler;
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <em>/**<em>* <code>DTDHandler</code> fired when a document has a DTD */</em></em>
+<a name="68" href="#68">68</a>      <strong>private</strong> DTDHandler dtdHandler;
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <em>/**<em>* <code>EntityResolver</code> fired when a document has a DTD */</em></em>
+<a name="71" href="#71">71</a>      <strong>private</strong> EntityResolver entityResolver;
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>private</strong> ErrorHandler errorHandler;
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <em>/**<em>* <code>LexicalHandler</code> fired on <a href="../../../org/dom4j/Entity.html">Entity</a> and <a href="../../../org/dom4j/CDATA.html">CDATA</a> sections */</em></em>
+<a name="76" href="#76">76</a>      <strong>private</strong> LexicalHandler lexicalHandler;
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <em>/**<em>* <code>AttributesImpl</code> used when generating the Attributes */</em></em>
+<a name="79" href="#79">79</a>      <strong>private</strong> AttributesImpl attributes = <strong>new</strong> AttributesImpl();
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <em>/**<em>* Stores the features */</em></em>
+<a name="82" href="#82">82</a>      <strong>private</strong> Map features = <strong>new</strong> HashMap();
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <em>/**<em>* Stores the properties */</em></em>
+<a name="85" href="#85">85</a>      <strong>private</strong> Map properties = <strong>new</strong> HashMap();
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <em>/**<em>* Whether namespace declarations are exported as attributes or not */</em></em>
+<a name="88" href="#88">88</a>      <strong>private</strong> <strong>boolean</strong> declareNamespaceAttributes;
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXWriter.html">SAXWriter</a>() {
+<a name="91" href="#91">91</a>          properties.put(FEATURE_NAMESPACE_PREFIXES, Boolean.FALSE);
+<a name="92" href="#92">92</a>          properties.put(FEATURE_NAMESPACE_PREFIXES, Boolean.TRUE);
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> <a href="../../../org/dom4j/io/SAXWriter.html">SAXWriter</a>(ContentHandler contentHandler) {
+<a name="96" href="#96">96</a>          <strong>this</strong>();
+<a name="97" href="#97">97</a>          <strong>this</strong>.contentHandler = contentHandler;
+<a name="98" href="#98">98</a>      }
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXWriter.html">SAXWriter</a>(ContentHandler contentHandler,
+<a name="101" href="#101">101</a>             LexicalHandler lexicalHandler) {
+<a name="102" href="#102">102</a>         <strong>this</strong>();
+<a name="103" href="#103">103</a>         <strong>this</strong>.contentHandler = contentHandler;
+<a name="104" href="#104">104</a>         <strong>this</strong>.lexicalHandler = lexicalHandler;
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong>public</strong> <a href="../../../org/dom4j/io/SAXWriter.html">SAXWriter</a>(ContentHandler contentHandler,
+<a name="108" href="#108">108</a>             LexicalHandler lexicalHandler, EntityResolver entityResolver) {
+<a name="109" href="#109">109</a>         <strong>this</strong>();
+<a name="110" href="#110">110</a>         <strong>this</strong>.contentHandler = contentHandler;
+<a name="111" href="#111">111</a>         <strong>this</strong>.lexicalHandler = lexicalHandler;
+<a name="112" href="#112">112</a>         <strong>this</strong>.entityResolver = entityResolver;
+<a name="113" href="#113">113</a>     }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <em>/**<em>*</em></em>
+<a name="116" href="#116">116</a> <em>     * A polymorphic method to write any Node to this SAX stream</em>
+<a name="117" href="#117">117</a> <em>     * </em>
+<a name="118" href="#118">118</a> <em>     * @param node</em>
+<a name="119" href="#119">119</a> <em>     *            DOCUMENT ME!</em>
+<a name="120" href="#120">120</a> <em>     * </em>
+<a name="121" href="#121">121</a> <em>     * @throws SAXException</em>
+<a name="122" href="#122">122</a> <em>     *             DOCUMENT ME!</em>
+<a name="123" href="#123">123</a> <em>     */</em>
+<a name="124" href="#124">124</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Node.html">Node</a> node) throws SAXException {
+<a name="125" href="#125">125</a>         <strong>int</strong> nodeType = node.getNodeType();
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         <strong>switch</strong> (nodeType) {
+<a name="128" href="#128">128</a>             <strong>case</strong> Node.ELEMENT_NODE:
+<a name="129" href="#129">129</a>                 write((Element) node);
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>                 <strong>break</strong>;
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>             <strong>case</strong> Node.ATTRIBUTE_NODE:
+<a name="134" href="#134">134</a>                 write((Attribute) node);
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>                 <strong>break</strong>;
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>             <strong>case</strong> Node.TEXT_NODE:
+<a name="139" href="#139">139</a>                 write(node.getText());
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>                 <strong>break</strong>;
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>             <strong>case</strong> Node.CDATA_SECTION_NODE:
+<a name="144" href="#144">144</a>                 write((CDATA) node);
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>                 <strong>break</strong>;
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>             <strong>case</strong> Node.ENTITY_REFERENCE_NODE:
+<a name="149" href="#149">149</a>                 write((Entity) node);
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>                 <strong>break</strong>;
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>             <strong>case</strong> Node.PROCESSING_INSTRUCTION_NODE:
+<a name="154" href="#154">154</a>                 write((ProcessingInstruction) node);
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>                 <strong>break</strong>;
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>             <strong>case</strong> Node.COMMENT_NODE:
+<a name="159" href="#159">159</a>                 write((Comment) node);
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>                 <strong>break</strong>;
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>             <strong>case</strong> Node.DOCUMENT_NODE:
+<a name="164" href="#164">164</a>                 write((Document) node);
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>                 <strong>break</strong>;
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>             <strong>case</strong> Node.DOCUMENT_TYPE_NODE:
+<a name="169" href="#169">169</a>                 write((DocumentType) node);
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>                 <strong>break</strong>;
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>             <strong>case</strong> Node.NAMESPACE_NODE:
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>                 <em class="comment">// Will be output with attributes</em>
+<a name="176" href="#176">176</a>                 <em class="comment">// write((Namespace) node);</em>
+<a name="177" href="#177">177</a>                 <strong>break</strong>;
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>             <strong>default</strong>:
+<a name="180" href="#180">180</a>                 <strong>throw</strong> <strong>new</strong> SAXException(<span class="string">"Invalid node type: "</span> + node);
+<a name="181" href="#181">181</a>         }
+<a name="182" href="#182">182</a>     }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>     <em>/**<em>*</em></em>
+<a name="185" href="#185">185</a> <em>     * Generates SAX events for the given Document and all its content</em>
+<a name="186" href="#186">186</a> <em>     * </em>
+<a name="187" href="#187">187</a> <em>     * @param document</em>
+<a name="188" href="#188">188</a> <em>     *            is the Document to parse</em>
+<a name="189" href="#189">189</a> <em>     * </em>
+<a name="190" href="#190">190</a> <em>     * @throws SAXException</em>
+<a name="191" href="#191">191</a> <em>     *             if there is a SAX error processing the events</em>
+<a name="192" href="#192">192</a> <em>     */</em>
+<a name="193" href="#193">193</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Document.html">Document</a> document) throws SAXException {
+<a name="194" href="#194">194</a>         <strong>if</strong> (document != <strong>null</strong>) {
+<a name="195" href="#195">195</a>             checkForNullHandlers();
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>             documentLocator(document);
+<a name="198" href="#198">198</a>             startDocument();
+<a name="199" href="#199">199</a>             entityResolver(document);
+<a name="200" href="#200">200</a>             dtdHandler(document);
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>             writeContent(document, <strong>new</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>());
+<a name="203" href="#203">203</a>             endDocument();
+<a name="204" href="#204">204</a>         }
+<a name="205" href="#205">205</a>     }
+<a name="206" href="#206">206</a> 
+<a name="207" href="#207">207</a>     <em>/**<em>*</em></em>
+<a name="208" href="#208">208</a> <em>     * Generates SAX events for the given Element and all its content</em>
+<a name="209" href="#209">209</a> <em>     * </em>
+<a name="210" href="#210">210</a> <em>     * @param element</em>
+<a name="211" href="#211">211</a> <em>     *            is the Element to parse</em>
+<a name="212" href="#212">212</a> <em>     * </em>
+<a name="213" href="#213">213</a> <em>     * @throws SAXException</em>
+<a name="214" href="#214">214</a> <em>     *             if there is a SAX error processing the events</em>
+<a name="215" href="#215">215</a> <em>     */</em>
+<a name="216" href="#216">216</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Element.html">Element</a> element) throws SAXException {
+<a name="217" href="#217">217</a>         write(element, <strong>new</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>());
+<a name="218" href="#218">218</a>     }
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>     <em>/**<em>*</em></em>
+<a name="221" href="#221">221</a> <em>     * <p></em>
+<a name="222" href="#222">222</a> <em>     * Writes the opening tag of an {@link Element}, including its {@link</em>
+<a name="223" href="#223">223</a> <em>     * Attribute}s but without its content.</em>
+<a name="224" href="#224">224</a> <em>     * </p></em>
+<a name="225" href="#225">225</a> <em>     * </em>
+<a name="226" href="#226">226</a> <em>     * @param element</em>
+<a name="227" href="#227">227</a> <em>     *            <code>Element</code> to output.</em>
+<a name="228" href="#228">228</a> <em>     * </em>
+<a name="229" href="#229">229</a> <em>     * @throws SAXException</em>
+<a name="230" href="#230">230</a> <em>     *             DOCUMENT ME!</em>
+<a name="231" href="#231">231</a> <em>     */</em>
+<a name="232" href="#232">232</a>     <strong>public</strong> <strong>void</strong> writeOpen(<a href="../../../org/dom4j/Element.html">Element</a> element) throws SAXException {
+<a name="233" href="#233">233</a>         startElement(element, <strong>null</strong>);
+<a name="234" href="#234">234</a>     }
+<a name="235" href="#235">235</a> 
+<a name="236" href="#236">236</a>     <em>/**<em>*</em></em>
+<a name="237" href="#237">237</a> <em>     * <p></em>
+<a name="238" href="#238">238</a> <em>     * Writes the closing tag of an {@link Element}</em>
+<a name="239" href="#239">239</a> <em>     * </p></em>
+<a name="240" href="#240">240</a> <em>     * </em>
+<a name="241" href="#241">241</a> <em>     * @param element</em>
+<a name="242" href="#242">242</a> <em>     *            <code>Element</code> to output.</em>
+<a name="243" href="#243">243</a> <em>     * </em>
+<a name="244" href="#244">244</a> <em>     * @throws SAXException</em>
+<a name="245" href="#245">245</a> <em>     *             DOCUMENT ME!</em>
+<a name="246" href="#246">246</a> <em>     */</em>
+<a name="247" href="#247">247</a>     <strong>public</strong> <strong>void</strong> writeClose(<a href="../../../org/dom4j/Element.html">Element</a> element) throws SAXException {
+<a name="248" href="#248">248</a>         endElement(element);
+<a name="249" href="#249">249</a>     }
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>     <em>/**<em>*</em></em>
+<a name="252" href="#252">252</a> <em>     * Generates SAX events for the given text</em>
+<a name="253" href="#253">253</a> <em>     * </em>
+<a name="254" href="#254">254</a> <em>     * @param text</em>
+<a name="255" href="#255">255</a> <em>     *            is the text to send to the SAX ContentHandler</em>
+<a name="256" href="#256">256</a> <em>     * </em>
+<a name="257" href="#257">257</a> <em>     * @throws SAXException</em>
+<a name="258" href="#258">258</a> <em>     *             if there is a SAX error processing the events</em>
+<a name="259" href="#259">259</a> <em>     */</em>
+<a name="260" href="#260">260</a>     <strong>public</strong> <strong>void</strong> write(String text) throws SAXException {
+<a name="261" href="#261">261</a>         <strong>if</strong> (text != <strong>null</strong>) {
+<a name="262" href="#262">262</a>             <strong>char</strong>[] <strong>char</strong>s = text.toCharArray();
+<a name="263" href="#263">263</a>             contentHandler.characters(chars, 0, chars.length);
+<a name="264" href="#264">264</a>         }
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <em>/**<em>*</em></em>
+<a name="268" href="#268">268</a> <em>     * Generates SAX events for the given CDATA</em>
+<a name="269" href="#269">269</a> <em>     * </em>
+<a name="270" href="#270">270</a> <em>     * @param cdata</em>
+<a name="271" href="#271">271</a> <em>     *            is the CDATA to parse</em>
+<a name="272" href="#272">272</a> <em>     * </em>
+<a name="273" href="#273">273</a> <em>     * @throws SAXException</em>
+<a name="274" href="#274">274</a> <em>     *             if there is a SAX error processing the events</em>
+<a name="275" href="#275">275</a> <em>     */</em>
+<a name="276" href="#276">276</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/CDATA.html">CDATA</a> cdata) throws SAXException {
+<a name="277" href="#277">277</a>         String text = cdata.getText();
+<a name="278" href="#278">278</a> 
+<a name="279" href="#279">279</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="280" href="#280">280</a>             lexicalHandler.startCDATA();
+<a name="281" href="#281">281</a>             write(text);
+<a name="282" href="#282">282</a>             lexicalHandler.endCDATA();
+<a name="283" href="#283">283</a>         } <strong>else</strong> {
+<a name="284" href="#284">284</a>             write(text);
+<a name="285" href="#285">285</a>         }
+<a name="286" href="#286">286</a>     }
+<a name="287" href="#287">287</a> 
+<a name="288" href="#288">288</a>     <em>/**<em>*</em></em>
+<a name="289" href="#289">289</a> <em>     * Generates SAX events for the given Comment</em>
+<a name="290" href="#290">290</a> <em>     * </em>
+<a name="291" href="#291">291</a> <em>     * @param comment</em>
+<a name="292" href="#292">292</a> <em>     *            is the Comment to parse</em>
+<a name="293" href="#293">293</a> <em>     * </em>
+<a name="294" href="#294">294</a> <em>     * @throws SAXException</em>
+<a name="295" href="#295">295</a> <em>     *             if there is a SAX error processing the events</em>
+<a name="296" href="#296">296</a> <em>     */</em>
+<a name="297" href="#297">297</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Comment.html">Comment</a> comment) throws SAXException {
+<a name="298" href="#298">298</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="299" href="#299">299</a>             String text = comment.getText();
+<a name="300" href="#300">300</a>             <strong>char</strong>[] <strong>char</strong>s = text.toCharArray();
+<a name="301" href="#301">301</a>             lexicalHandler.comment(chars, 0, chars.length);
+<a name="302" href="#302">302</a>         }
+<a name="303" href="#303">303</a>     }
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>     <em>/**<em>*</em></em>
+<a name="306" href="#306">306</a> <em>     * Generates SAX events for the given Entity</em>
+<a name="307" href="#307">307</a> <em>     * </em>
+<a name="308" href="#308">308</a> <em>     * @param entity</em>
+<a name="309" href="#309">309</a> <em>     *            is the Entity to parse</em>
+<a name="310" href="#310">310</a> <em>     * </em>
+<a name="311" href="#311">311</a> <em>     * @throws SAXException</em>
+<a name="312" href="#312">312</a> <em>     *             if there is a SAX error processing the events</em>
+<a name="313" href="#313">313</a> <em>     */</em>
+<a name="314" href="#314">314</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Entity.html">Entity</a> entity) throws SAXException {
+<a name="315" href="#315">315</a>         String text = entity.getText();
+<a name="316" href="#316">316</a> 
+<a name="317" href="#317">317</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="318" href="#318">318</a>             String name = entity.getName();
+<a name="319" href="#319">319</a>             lexicalHandler.startEntity(name);
+<a name="320" href="#320">320</a>             write(text);
+<a name="321" href="#321">321</a>             lexicalHandler.endEntity(name);
+<a name="322" href="#322">322</a>         } <strong>else</strong> {
+<a name="323" href="#323">323</a>             write(text);
+<a name="324" href="#324">324</a>         }
+<a name="325" href="#325">325</a>     }
+<a name="326" href="#326">326</a> 
+<a name="327" href="#327">327</a>     <em>/**<em>*</em></em>
+<a name="328" href="#328">328</a> <em>     * Generates SAX events for the given ProcessingInstruction</em>
+<a name="329" href="#329">329</a> <em>     * </em>
+<a name="330" href="#330">330</a> <em>     * @param pi</em>
+<a name="331" href="#331">331</a> <em>     *            is the ProcessingInstruction to parse</em>
+<a name="332" href="#332">332</a> <em>     * </em>
+<a name="333" href="#333">333</a> <em>     * @throws SAXException</em>
+<a name="334" href="#334">334</a> <em>     *             if there is a SAX error processing the events</em>
+<a name="335" href="#335">335</a> <em>     */</em>
+<a name="336" href="#336">336</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi) throws SAXException {
+<a name="337" href="#337">337</a>         String target = pi.getTarget();
+<a name="338" href="#338">338</a>         String text = pi.getText();
+<a name="339" href="#339">339</a>         contentHandler.processingInstruction(target, text);
+<a name="340" href="#340">340</a>     }
+<a name="341" href="#341">341</a> 
+<a name="342" href="#342">342</a>     <em>/**<em>*</em></em>
+<a name="343" href="#343">343</a> <em>     * Should namespace declarations be converted to "xmlns" attributes. This</em>
+<a name="344" href="#344">344</a> <em>     * property defaults to <code>false</code> as per the SAX specification.</em>
+<a name="345" href="#345">345</a> <em>     * This property is set via the SAX feature</em>
+<a name="346" href="#346">346</a> <em>     * "<a href="http://xml.org/sax/features/namespace-prefixes" target="alexandria_uri">http://xml.org/sax/features/namespace-prefixes</a>"</em>
+<a name="347" href="#347">347</a> <em>     * </em>
+<a name="348" href="#348">348</a> <em>     * @return DOCUMENT ME!</em>
+<a name="349" href="#349">349</a> <em>     */</em>
+<a name="350" href="#350">350</a>     <strong>public</strong> <strong>boolean</strong> isDeclareNamespaceAttributes() {
+<a name="351" href="#351">351</a>         <strong>return</strong> declareNamespaceAttributes;
+<a name="352" href="#352">352</a>     }
+<a name="353" href="#353">353</a> 
+<a name="354" href="#354">354</a>     <em>/**<em>*</em></em>
+<a name="355" href="#355">355</a> <em>     * Sets whether namespace declarations should be exported as "xmlns"</em>
+<a name="356" href="#356">356</a> <em>     * attributes or not. This property is set from the SAX feature</em>
+<a name="357" href="#357">357</a> <em>     * "<a href="http://xml.org/sax/features/namespace-prefixes" target="alexandria_uri">http://xml.org/sax/features/namespace-prefixes</a>"</em>
+<a name="358" href="#358">358</a> <em>     * </em>
+<a name="359" href="#359">359</a> <em>     * @param declareNamespaceAttrs</em>
+<a name="360" href="#360">360</a> <em>     *            DOCUMENT ME!</em>
+<a name="361" href="#361">361</a> <em>     */</em>
+<a name="362" href="#362">362</a>     <strong>public</strong> <strong>void</strong> setDeclareNamespaceAttributes(<strong>boolean</strong> declareNamespaceAttrs) {
+<a name="363" href="#363">363</a>         <strong>this</strong>.declareNamespaceAttributes = declareNamespaceAttrs;
+<a name="364" href="#364">364</a>     }
+<a name="365" href="#365">365</a> 
+<a name="366" href="#366">366</a>     <em class="comment">// XMLReader methods</em>
+<a name="367" href="#367">367</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="368" href="#368">368</a> 
+<a name="369" href="#369">369</a>     <em>/**<em>*</em></em>
+<a name="370" href="#370">370</a> <em>     * DOCUMENT ME!</em>
+<a name="371" href="#371">371</a> <em>     * </em>
+<a name="372" href="#372">372</a> <em>     * @return the <code>ContentHandler</code> called when SAX events are</em>
+<a name="373" href="#373">373</a> <em>     *         raised</em>
+<a name="374" href="#374">374</a> <em>     */</em>
+<a name="375" href="#375">375</a>     <strong>public</strong> ContentHandler getContentHandler() {
+<a name="376" href="#376">376</a>         <strong>return</strong> contentHandler;
+<a name="377" href="#377">377</a>     }
+<a name="378" href="#378">378</a> 
+<a name="379" href="#379">379</a>     <em>/**<em>*</em></em>
+<a name="380" href="#380">380</a> <em>     * Sets the <code>ContentHandler</code> called when SAX events are raised</em>
+<a name="381" href="#381">381</a> <em>     * </em>
+<a name="382" href="#382">382</a> <em>     * @param contentHandler</em>
+<a name="383" href="#383">383</a> <em>     *            is the <code>ContentHandler</code> called when SAX events</em>
+<a name="384" href="#384">384</a> <em>     *            are raised</em>
+<a name="385" href="#385">385</a> <em>     */</em>
+<a name="386" href="#386">386</a>     <strong>public</strong> <strong>void</strong> setContentHandler(ContentHandler contentHandler) {
+<a name="387" href="#387">387</a>         <strong>this</strong>.contentHandler = contentHandler;
+<a name="388" href="#388">388</a>     }
+<a name="389" href="#389">389</a> 
+<a name="390" href="#390">390</a>     <em>/**<em>*</em></em>
+<a name="391" href="#391">391</a> <em>     * DOCUMENT ME!</em>
+<a name="392" href="#392">392</a> <em>     * </em>
+<a name="393" href="#393">393</a> <em>     * @return the <code>DTDHandler</code></em>
+<a name="394" href="#394">394</a> <em>     */</em>
+<a name="395" href="#395">395</a>     <strong>public</strong> DTDHandler getDTDHandler() {
+<a name="396" href="#396">396</a>         <strong>return</strong> dtdHandler;
+<a name="397" href="#397">397</a>     }
+<a name="398" href="#398">398</a> 
+<a name="399" href="#399">399</a>     <em>/**<em>*</em></em>
+<a name="400" href="#400">400</a> <em>     * Sets the <code>DTDHandler</code>.</em>
+<a name="401" href="#401">401</a> <em>     * </em>
+<a name="402" href="#402">402</a> <em>     * @param handler</em>
+<a name="403" href="#403">403</a> <em>     *            DOCUMENT ME!</em>
+<a name="404" href="#404">404</a> <em>     */</em>
+<a name="405" href="#405">405</a>     <strong>public</strong> <strong>void</strong> setDTDHandler(DTDHandler handler) {
+<a name="406" href="#406">406</a>         <strong>this</strong>.dtdHandler = handler;
+<a name="407" href="#407">407</a>     }
+<a name="408" href="#408">408</a> 
+<a name="409" href="#409">409</a>     <em>/**<em>*</em></em>
+<a name="410" href="#410">410</a> <em>     * DOCUMENT ME!</em>
+<a name="411" href="#411">411</a> <em>     * </em>
+<a name="412" href="#412">412</a> <em>     * @return the <code>ErrorHandler</code></em>
+<a name="413" href="#413">413</a> <em>     */</em>
+<a name="414" href="#414">414</a>     <strong>public</strong> ErrorHandler getErrorHandler() {
+<a name="415" href="#415">415</a>         <strong>return</strong> errorHandler;
+<a name="416" href="#416">416</a>     }
+<a name="417" href="#417">417</a> 
+<a name="418" href="#418">418</a>     <em>/**<em>*</em></em>
+<a name="419" href="#419">419</a> <em>     * Sets the <code>ErrorHandler</code>.</em>
+<a name="420" href="#420">420</a> <em>     * </em>
+<a name="421" href="#421">421</a> <em>     * @param errorHandler</em>
+<a name="422" href="#422">422</a> <em>     *            DOCUMENT ME!</em>
+<a name="423" href="#423">423</a> <em>     */</em>
+<a name="424" href="#424">424</a>     <strong>public</strong> <strong>void</strong> setErrorHandler(ErrorHandler errorHandler) {
+<a name="425" href="#425">425</a>         <strong>this</strong>.errorHandler = errorHandler;
+<a name="426" href="#426">426</a>     }
+<a name="427" href="#427">427</a> 
+<a name="428" href="#428">428</a>     <em>/**<em>*</em></em>
+<a name="429" href="#429">429</a> <em>     * DOCUMENT ME!</em>
+<a name="430" href="#430">430</a> <em>     * </em>
+<a name="431" href="#431">431</a> <em>     * @return the <code>EntityResolver</code> used when a Document contains a</em>
+<a name="432" href="#432">432</a> <em>     *         DTD</em>
+<a name="433" href="#433">433</a> <em>     */</em>
+<a name="434" href="#434">434</a>     <strong>public</strong> EntityResolver getEntityResolver() {
+<a name="435" href="#435">435</a>         <strong>return</strong> entityResolver;
+<a name="436" href="#436">436</a>     }
+<a name="437" href="#437">437</a> 
+<a name="438" href="#438">438</a>     <em>/**<em>*</em></em>
+<a name="439" href="#439">439</a> <em>     * Sets the <code>EntityResolver</code>.</em>
+<a name="440" href="#440">440</a> <em>     * </em>
+<a name="441" href="#441">441</a> <em>     * @param entityResolver</em>
+<a name="442" href="#442">442</a> <em>     *            is the <code>EntityResolver</code></em>
+<a name="443" href="#443">443</a> <em>     */</em>
+<a name="444" href="#444">444</a>     <strong>public</strong> <strong>void</strong> setEntityResolver(EntityResolver entityResolver) {
+<a name="445" href="#445">445</a>         <strong>this</strong>.entityResolver = entityResolver;
+<a name="446" href="#446">446</a>     }
+<a name="447" href="#447">447</a> 
+<a name="448" href="#448">448</a>     <em>/**<em>*</em></em>
+<a name="449" href="#449">449</a> <em>     * DOCUMENT ME!</em>
+<a name="450" href="#450">450</a> <em>     * </em>
+<a name="451" href="#451">451</a> <em>     * @return the <code>LexicalHandler</code> used when a Document contains a</em>
+<a name="452" href="#452">452</a> <em>     *         DTD</em>
+<a name="453" href="#453">453</a> <em>     */</em>
+<a name="454" href="#454">454</a>     <strong>public</strong> LexicalHandler getLexicalHandler() {
+<a name="455" href="#455">455</a>         <strong>return</strong> lexicalHandler;
+<a name="456" href="#456">456</a>     }
+<a name="457" href="#457">457</a> 
+<a name="458" href="#458">458</a>     <em>/**<em>*</em></em>
+<a name="459" href="#459">459</a> <em>     * Sets the <code>LexicalHandler</code>.</em>
+<a name="460" href="#460">460</a> <em>     * </em>
+<a name="461" href="#461">461</a> <em>     * @param lexicalHandler</em>
+<a name="462" href="#462">462</a> <em>     *            is the <code>LexicalHandler</code></em>
+<a name="463" href="#463">463</a> <em>     */</em>
+<a name="464" href="#464">464</a>     <strong>public</strong> <strong>void</strong> setLexicalHandler(LexicalHandler lexicalHandler) {
+<a name="465" href="#465">465</a>         <strong>this</strong>.lexicalHandler = lexicalHandler;
+<a name="466" href="#466">466</a>     }
+<a name="467" href="#467">467</a> 
+<a name="468" href="#468">468</a>     <em>/**<em>*</em></em>
+<a name="469" href="#469">469</a> <em>     * Sets the <code>XMLReader</code> used to write SAX events to</em>
+<a name="470" href="#470">470</a> <em>     * </em>
+<a name="471" href="#471">471</a> <em>     * @param xmlReader</em>
+<a name="472" href="#472">472</a> <em>     *            is the <code>XMLReader</code></em>
+<a name="473" href="#473">473</a> <em>     */</em>
+<a name="474" href="#474">474</a>     <strong>public</strong> <strong>void</strong> setXMLReader(XMLReader xmlReader) {
+<a name="475" href="#475">475</a>         setContentHandler(xmlReader.getContentHandler());
+<a name="476" href="#476">476</a>         setDTDHandler(xmlReader.getDTDHandler());
+<a name="477" href="#477">477</a>         setEntityResolver(xmlReader.getEntityResolver());
+<a name="478" href="#478">478</a>         setErrorHandler(xmlReader.getErrorHandler());
+<a name="479" href="#479">479</a>     }
+<a name="480" href="#480">480</a> 
+<a name="481" href="#481">481</a>     <em>/**<em>*</em></em>
+<a name="482" href="#482">482</a> <em>     * Looks up the value of a feature.</em>
+<a name="483" href="#483">483</a> <em>     * </em>
+<a name="484" href="#484">484</a> <em>     * @param name</em>
+<a name="485" href="#485">485</a> <em>     *            DOCUMENT ME!</em>
+<a name="486" href="#486">486</a> <em>     * </em>
+<a name="487" href="#487">487</a> <em>     * @return DOCUMENT ME!</em>
+<a name="488" href="#488">488</a> <em>     * </em>
+<a name="489" href="#489">489</a> <em>     * @throws SAXNotRecognizedException</em>
+<a name="490" href="#490">490</a> <em>     *             DOCUMENT ME!</em>
+<a name="491" href="#491">491</a> <em>     * @throws SAXNotSupportedException</em>
+<a name="492" href="#492">492</a> <em>     *             DOCUMENT ME!</em>
+<a name="493" href="#493">493</a> <em>     */</em>
+<a name="494" href="#494">494</a>     <strong>public</strong> <strong>boolean</strong> getFeature(String name) throws SAXNotRecognizedException,
+<a name="495" href="#495">495</a>             SAXNotSupportedException {
+<a name="496" href="#496">496</a>         Boolean answer = (Boolean) features.get(name);
+<a name="497" href="#497">497</a> 
+<a name="498" href="#498">498</a>         <strong>return</strong> (answer != <strong>null</strong>) && answer.booleanValue();
+<a name="499" href="#499">499</a>     }
+<a name="500" href="#500">500</a> 
+<a name="501" href="#501">501</a>     <em>/**<em>*</em></em>
+<a name="502" href="#502">502</a> <em>     * This implementation does actually use any features but just stores them</em>
+<a name="503" href="#503">503</a> <em>     * for later retrieval</em>
+<a name="504" href="#504">504</a> <em>     * </em>
+<a name="505" href="#505">505</a> <em>     * @param name</em>
+<a name="506" href="#506">506</a> <em>     *            DOCUMENT ME!</em>
+<a name="507" href="#507">507</a> <em>     * @param value</em>
+<a name="508" href="#508">508</a> <em>     *            DOCUMENT ME!</em>
+<a name="509" href="#509">509</a> <em>     * </em>
+<a name="510" href="#510">510</a> <em>     * @throws SAXNotRecognizedException</em>
+<a name="511" href="#511">511</a> <em>     *             DOCUMENT ME!</em>
+<a name="512" href="#512">512</a> <em>     * @throws SAXNotSupportedException</em>
+<a name="513" href="#513">513</a> <em>     *             DOCUMENT ME!</em>
+<a name="514" href="#514">514</a> <em>     */</em>
+<a name="515" href="#515">515</a>     <strong>public</strong> <strong>void</strong> setFeature(String name, <strong>boolean</strong> value)
+<a name="516" href="#516">516</a>             throws SAXNotRecognizedException, SAXNotSupportedException {
+<a name="517" href="#517">517</a>         <strong>if</strong> (FEATURE_NAMESPACE_PREFIXES.equals(name)) {
+<a name="518" href="#518">518</a>             setDeclareNamespaceAttributes(value);
+<a name="519" href="#519">519</a>         } <strong>else</strong> <strong>if</strong> (FEATURE_NAMESPACE_PREFIXES.equals(name)) {
+<a name="520" href="#520">520</a>             <strong>if</strong> (!value) {
+<a name="521" href="#521">521</a>                 String msg = <span class="string">"Namespace feature is always supported in dom4j"</span>;
+<a name="522" href="#522">522</a>                 <strong>throw</strong> <strong>new</strong> SAXNotSupportedException(msg);
+<a name="523" href="#523">523</a>             }
+<a name="524" href="#524">524</a>         }
+<a name="525" href="#525">525</a> 
+<a name="526" href="#526">526</a>         features.put(name, (value) ? Boolean.TRUE : Boolean.FALSE);
+<a name="527" href="#527">527</a>     }
+<a name="528" href="#528">528</a> 
+<a name="529" href="#529">529</a>     <em>/**<em>*</em></em>
+<a name="530" href="#530">530</a> <em>     * Sets the given SAX property</em>
+<a name="531" href="#531">531</a> <em>     * </em>
+<a name="532" href="#532">532</a> <em>     * @param name</em>
+<a name="533" href="#533">533</a> <em>     *            DOCUMENT ME!</em>
+<a name="534" href="#534">534</a> <em>     * @param value</em>
+<a name="535" href="#535">535</a> <em>     *            DOCUMENT ME!</em>
+<a name="536" href="#536">536</a> <em>     */</em>
+<a name="537" href="#537">537</a>     <strong>public</strong> <strong>void</strong> setProperty(String name, Object value) {
+<a name="538" href="#538">538</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+<a name="539" href="#539">539</a>             <strong>if</strong> (LEXICAL_HANDLER_NAMES[i].equals(name)) {
+<a name="540" href="#540">540</a>                 setLexicalHandler((LexicalHandler) value);
+<a name="541" href="#541">541</a> 
+<a name="542" href="#542">542</a>                 <strong>return</strong>;
+<a name="543" href="#543">543</a>             }
+<a name="544" href="#544">544</a>         }
+<a name="545" href="#545">545</a> 
+<a name="546" href="#546">546</a>         properties.put(name, value);
+<a name="547" href="#547">547</a>     }
+<a name="548" href="#548">548</a> 
+<a name="549" href="#549">549</a>     <em>/**<em>*</em></em>
+<a name="550" href="#550">550</a> <em>     * Gets the given SAX property</em>
+<a name="551" href="#551">551</a> <em>     * </em>
+<a name="552" href="#552">552</a> <em>     * @param name</em>
+<a name="553" href="#553">553</a> <em>     *            DOCUMENT ME!</em>
+<a name="554" href="#554">554</a> <em>     * </em>
+<a name="555" href="#555">555</a> <em>     * @return DOCUMENT ME!</em>
+<a name="556" href="#556">556</a> <em>     * </em>
+<a name="557" href="#557">557</a> <em>     * @throws SAXNotRecognizedException</em>
+<a name="558" href="#558">558</a> <em>     *             DOCUMENT ME!</em>
+<a name="559" href="#559">559</a> <em>     * @throws SAXNotSupportedException</em>
+<a name="560" href="#560">560</a> <em>     *             DOCUMENT ME!</em>
+<a name="561" href="#561">561</a> <em>     */</em>
+<a name="562" href="#562">562</a>     <strong>public</strong> Object getProperty(String name) throws SAXNotRecognizedException,
+<a name="563" href="#563">563</a>             SAXNotSupportedException {
+<a name="564" href="#564">564</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+<a name="565" href="#565">565</a>             <strong>if</strong> (LEXICAL_HANDLER_NAMES[i].equals(name)) {
+<a name="566" href="#566">566</a>                 <strong>return</strong> getLexicalHandler();
+<a name="567" href="#567">567</a>             }
+<a name="568" href="#568">568</a>         }
+<a name="569" href="#569">569</a> 
+<a name="570" href="#570">570</a>         <strong>return</strong> properties.get(name);
+<a name="571" href="#571">571</a>     }
+<a name="572" href="#572">572</a> 
+<a name="573" href="#573">573</a>     <em>/**<em>*</em></em>
+<a name="574" href="#574">574</a> <em>     * This method is not supported.</em>
+<a name="575" href="#575">575</a> <em>     * </em>
+<a name="576" href="#576">576</a> <em>     * @param systemId</em>
+<a name="577" href="#577">577</a> <em>     *            DOCUMENT ME!</em>
+<a name="578" href="#578">578</a> <em>     * </em>
+<a name="579" href="#579">579</a> <em>     * @throws SAXNotSupportedException</em>
+<a name="580" href="#580">580</a> <em>     *             DOCUMENT ME!</em>
+<a name="581" href="#581">581</a> <em>     */</em>
+<a name="582" href="#582">582</a>     <strong>public</strong> <strong>void</strong> parse(String systemId) throws SAXNotSupportedException {
+<a name="583" href="#583">583</a>         <strong>throw</strong> <strong>new</strong> SAXNotSupportedException(<span class="string">"This XMLReader can only accept"</span>
+<a name="584" href="#584">584</a>                 + <span class="string">" <dom4j> InputSource objects"</span>);
+<a name="585" href="#585">585</a>     }
+<a name="586" href="#586">586</a> 
+<a name="587" href="#587">587</a>     <em>/**<em>*</em></em>
+<a name="588" href="#588">588</a> <em>     * Parses an XML document. This method can only accept DocumentInputSource</em>
+<a name="589" href="#589">589</a> <em>     * inputs otherwise a {@link SAXNotSupportedException}exception is thrown.</em>
+<a name="590" href="#590">590</a> <em>     * </em>
+<a name="591" href="#591">591</a> <em>     * @param input</em>
+<a name="592" href="#592">592</a> <em>     *            DOCUMENT ME!</em>
+<a name="593" href="#593">593</a> <em>     * </em>
+<a name="594" href="#594">594</a> <em>     * @throws SAXException</em>
+<a name="595" href="#595">595</a> <em>     *             DOCUMENT ME!</em>
+<a name="596" href="#596">596</a> <em>     * @throws SAXNotSupportedException</em>
+<a name="597" href="#597">597</a> <em>     *             if the input source is not wrapping a dom4j document</em>
+<a name="598" href="#598">598</a> <em>     */</em>
+<a name="599" href="#599">599</a>     <strong>public</strong> <strong>void</strong> parse(InputSource input) throws SAXException {
+<a name="600" href="#600">600</a>         <strong>if</strong> (input instanceof DocumentInputSource) {
+<a name="601" href="#601">601</a>             <a href="../../../org/dom4j/io/DocumentInputSource.html">DocumentInputSource</a> documentInput = (DocumentInputSource) input;
+<a name="602" href="#602">602</a>             <a href="../../../org/dom4j/Document.html">Document</a> document = documentInput.getDocument();
+<a name="603" href="#603">603</a>             write(document);
+<a name="604" href="#604">604</a>         } <strong>else</strong> {
+<a name="605" href="#605">605</a>             <strong>throw</strong> <strong>new</strong> SAXNotSupportedException(
+<a name="606" href="#606">606</a>                     <span class="string">"This XMLReader can only accept "</span>
+<a name="607" href="#607">607</a>                             + <span class="string">"<dom4j> InputSource objects"</span>);
+<a name="608" href="#608">608</a>         }
+<a name="609" href="#609">609</a>     }
+<a name="610" href="#610">610</a> 
+<a name="611" href="#611">611</a>     <em class="comment">// Implementation methods</em>
+<a name="612" href="#612">612</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="613" href="#613">613</a>     <strong>protected</strong> <strong>void</strong> writeContent(<a href="../../../org/dom4j/Branch.html">Branch</a> branch, <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack)
+<a name="614" href="#614">614</a>             throws SAXException {
+<a name="615" href="#615">615</a>         <strong>for</strong> (Iterator iter = branch.nodeIterator(); iter.hasNext();) {
+<a name="616" href="#616">616</a>             Object object = iter.next();
+<a name="617" href="#617">617</a> 
+<a name="618" href="#618">618</a>             <strong>if</strong> (object instanceof Element) {
+<a name="619" href="#619">619</a>                 write((Element) object, namespaceStack);
+<a name="620" href="#620">620</a>             } <strong>else</strong> <strong>if</strong> (object instanceof CharacterData) {
+<a name="621" href="#621">621</a>                 <strong>if</strong> (object instanceof Text) {
+<a name="622" href="#622">622</a>                     <a href="../../../org/dom4j/Text.html">Text</a> text = (Text) object;
+<a name="623" href="#623">623</a>                     write(text.getText());
+<a name="624" href="#624">624</a>                 } <strong>else</strong> <strong>if</strong> (object instanceof CDATA) {
+<a name="625" href="#625">625</a>                     write((CDATA) object);
+<a name="626" href="#626">626</a>                 } <strong>else</strong> <strong>if</strong> (object instanceof Comment) {
+<a name="627" href="#627">627</a>                     write((Comment) object);
+<a name="628" href="#628">628</a>                 } <strong>else</strong> {
+<a name="629" href="#629">629</a>                     <strong>throw</strong> <strong>new</strong> SAXException(<span class="string">"Invalid Node in DOM4J content: "</span>
+<a name="630" href="#630">630</a>                             + object + <span class="string">" of type: "</span> + object.getClass());
+<a name="631" href="#631">631</a>                 }
+<a name="632" href="#632">632</a>             } <strong>else</strong> <strong>if</strong> (object instanceof String) {
+<a name="633" href="#633">633</a>                 write((String) object);
+<a name="634" href="#634">634</a>             } <strong>else</strong> <strong>if</strong> (object instanceof Entity) {
+<a name="635" href="#635">635</a>                 write((Entity) object);
+<a name="636" href="#636">636</a>             } <strong>else</strong> <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="637" href="#637">637</a>                 write((ProcessingInstruction) object);
+<a name="638" href="#638">638</a>             } <strong>else</strong> <strong>if</strong> (object instanceof Namespace) {
+<a name="639" href="#639">639</a>                 write((Namespace) object);
+<a name="640" href="#640">640</a>             } <strong>else</strong> {
+<a name="641" href="#641">641</a>                 <strong>throw</strong> <strong>new</strong> SAXException(<span class="string">"Invalid Node in DOM4J content: "</span>
+<a name="642" href="#642">642</a>                         + object);
+<a name="643" href="#643">643</a>             }
+<a name="644" href="#644">644</a>         }
+<a name="645" href="#645">645</a>     }
+<a name="646" href="#646">646</a> 
+<a name="647" href="#647">647</a>     <em>/**<em>*</em></em>
+<a name="648" href="#648">648</a> <em>     * The {@link org.xml.sax.Locator}is only really useful when parsing a</em>
+<a name="649" href="#649">649</a> <em>     * textual document as its main purpose is to identify the line and column</em>
+<a name="650" href="#650">650</a> <em>     * number. Since we are processing an in memory tree which will probably</em>
+<a name="651" href="#651">651</a> <em>     * have its line number information removed, we'll just use -1 for the line</em>
+<a name="652" href="#652">652</a> <em>     * and column numbers.</em>
+<a name="653" href="#653">653</a> <em>     * </em>
+<a name="654" href="#654">654</a> <em>     * @param document</em>
+<a name="655" href="#655">655</a> <em>     *            DOCUMENT ME!</em>
+<a name="656" href="#656">656</a> <em>     * </em>
+<a name="657" href="#657">657</a> <em>     * @throws SAXException</em>
+<a name="658" href="#658">658</a> <em>     *             DOCUMENT ME!</em>
+<a name="659" href="#659">659</a> <em>     */</em>
+<a name="660" href="#660">660</a>     <strong>protected</strong> <strong>void</strong> documentLocator(<a href="../../../org/dom4j/Document.html">Document</a> document) throws SAXException {
+<a name="661" href="#661">661</a>         LocatorImpl locator = <strong>new</strong> LocatorImpl();
+<a name="662" href="#662">662</a> 
+<a name="663" href="#663">663</a>         String publicID = <strong>null</strong>;
+<a name="664" href="#664">664</a>         String systemID = <strong>null</strong>;
+<a name="665" href="#665">665</a>         <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType = document.getDocType();
+<a name="666" href="#666">666</a> 
+<a name="667" href="#667">667</a>         <strong>if</strong> (docType != <strong>null</strong>) {
+<a name="668" href="#668">668</a>             publicID = docType.getPublicID();
+<a name="669" href="#669">669</a>             systemID = docType.getSystemID();
+<a name="670" href="#670">670</a>         }
+<a name="671" href="#671">671</a> 
+<a name="672" href="#672">672</a>         <strong>if</strong> (publicID != <strong>null</strong>) {
+<a name="673" href="#673">673</a>             locator.setPublicId(publicID);
+<a name="674" href="#674">674</a>         }
+<a name="675" href="#675">675</a> 
+<a name="676" href="#676">676</a>         <strong>if</strong> (systemID != <strong>null</strong>) {
+<a name="677" href="#677">677</a>             locator.setSystemId(systemID);
+<a name="678" href="#678">678</a>         }
+<a name="679" href="#679">679</a> 
+<a name="680" href="#680">680</a>         locator.setLineNumber(-1);
+<a name="681" href="#681">681</a>         locator.setColumnNumber(-1);
+<a name="682" href="#682">682</a> 
+<a name="683" href="#683">683</a>         contentHandler.setDocumentLocator(locator);
+<a name="684" href="#684">684</a>     }
+<a name="685" href="#685">685</a> 
+<a name="686" href="#686">686</a>     <strong>protected</strong> <strong>void</strong> entityResolver(<a href="../../../org/dom4j/Document.html">Document</a> document) throws SAXException {
+<a name="687" href="#687">687</a>         <strong>if</strong> (entityResolver != <strong>null</strong>) {
+<a name="688" href="#688">688</a>             <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType = document.getDocType();
+<a name="689" href="#689">689</a> 
+<a name="690" href="#690">690</a>             <strong>if</strong> (docType != <strong>null</strong>) {
+<a name="691" href="#691">691</a>                 String publicID = docType.getPublicID();
+<a name="692" href="#692">692</a>                 String systemID = docType.getSystemID();
+<a name="693" href="#693">693</a> 
+<a name="694" href="#694">694</a>                 <strong>if</strong> ((publicID != <strong>null</strong>) || (systemID != <strong>null</strong>)) {
+<a name="695" href="#695">695</a>                     <strong>try</strong> {
+<a name="696" href="#696">696</a>                         entityResolver.resolveEntity(publicID, systemID);
+<a name="697" href="#697">697</a>                     } <strong>catch</strong> (IOException e) {
+<a name="698" href="#698">698</a>                         <strong>throw</strong> <strong>new</strong> SAXException(<span class="string">"Could not resolve publicID: "</span>
+<a name="699" href="#699">699</a>                                 + publicID + <span class="string">" systemID: "</span> + systemID, e);
+<a name="700" href="#700">700</a>                     }
+<a name="701" href="#701">701</a>                 }
+<a name="702" href="#702">702</a>             }
+<a name="703" href="#703">703</a>         }
+<a name="704" href="#704">704</a>     }
+<a name="705" href="#705">705</a> 
+<a name="706" href="#706">706</a>     <em>/**<em>*</em></em>
+<a name="707" href="#707">707</a> <em>     * We do not yet support DTD or XML Schemas so this method does nothing</em>
+<a name="708" href="#708">708</a> <em>     * right now.</em>
+<a name="709" href="#709">709</a> <em>     * </em>
+<a name="710" href="#710">710</a> <em>     * @param document</em>
+<a name="711" href="#711">711</a> <em>     *            DOCUMENT ME!</em>
+<a name="712" href="#712">712</a> <em>     * </em>
+<a name="713" href="#713">713</a> <em>     * @throws SAXException</em>
+<a name="714" href="#714">714</a> <em>     *             DOCUMENT ME!</em>
+<a name="715" href="#715">715</a> <em>     */</em>
+<a name="716" href="#716">716</a>     <strong>protected</strong> <strong>void</strong> dtdHandler(<a href="../../../org/dom4j/Document.html">Document</a> document) throws SAXException {
+<a name="717" href="#717">717</a>     }
+<a name="718" href="#718">718</a> 
+<a name="719" href="#719">719</a>     <strong>protected</strong> <strong>void</strong> startDocument() throws SAXException {
+<a name="720" href="#720">720</a>         contentHandler.startDocument();
+<a name="721" href="#721">721</a>     }
+<a name="722" href="#722">722</a> 
+<a name="723" href="#723">723</a>     <strong>protected</strong> <strong>void</strong> endDocument() throws SAXException {
+<a name="724" href="#724">724</a>         contentHandler.endDocument();
+<a name="725" href="#725">725</a>     }
+<a name="726" href="#726">726</a> 
+<a name="727" href="#727">727</a>     <strong>protected</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Element.html">Element</a> element, <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack)
+<a name="728" href="#728">728</a>             throws SAXException {
+<a name="729" href="#729">729</a>         <strong>int</strong> stackSize = namespaceStack.size();
+<a name="730" href="#730">730</a>         AttributesImpl namespaceAttributes = startPrefixMapping(element,
+<a name="731" href="#731">731</a>                 namespaceStack);
+<a name="732" href="#732">732</a>         startElement(element, namespaceAttributes);
+<a name="733" href="#733">733</a>         writeContent(element, namespaceStack);
+<a name="734" href="#734">734</a>         endElement(element);
+<a name="735" href="#735">735</a>         endPrefixMapping(namespaceStack, stackSize);
+<a name="736" href="#736">736</a>     }
+<a name="737" href="#737">737</a> 
+<a name="738" href="#738">738</a>     <em>/**<em>*</em></em>
+<a name="739" href="#739">739</a> <em>     * Fires a SAX startPrefixMapping event for all the namespaceStack which</em>
+<a name="740" href="#740">740</a> <em>     * have just come into scope</em>
+<a name="741" href="#741">741</a> <em>     * </em>
+<a name="742" href="#742">742</a> <em>     * @param element</em>
+<a name="743" href="#743">743</a> <em>     *            DOCUMENT ME!</em>
+<a name="744" href="#744">744</a> <em>     * @param namespaceStack</em>
+<a name="745" href="#745">745</a> <em>     *            DOCUMENT ME!</em>
+<a name="746" href="#746">746</a> <em>     * </em>
+<a name="747" href="#747">747</a> <em>     * @return DOCUMENT ME!</em>
+<a name="748" href="#748">748</a> <em>     * </em>
+<a name="749" href="#749">749</a> <em>     * @throws SAXException</em>
+<a name="750" href="#750">750</a> <em>     *             DOCUMENT ME!</em>
+<a name="751" href="#751">751</a> <em>     */</em>
+<a name="752" href="#752">752</a>     <strong>protected</strong> AttributesImpl startPrefixMapping(<a href="../../../org/dom4j/Element.html">Element</a> element,
+<a name="753" href="#753">753</a>             <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack) throws SAXException {
+<a name="754" href="#754">754</a>         AttributesImpl namespaceAttributes = <strong>null</strong>;
+<a name="755" href="#755">755</a> 
+<a name="756" href="#756">756</a>         <em class="comment">// start with the namespace of the element</em>
+<a name="757" href="#757">757</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> elementNamespace = element.getNamespace();
+<a name="758" href="#758">758</a> 
+<a name="759" href="#759">759</a>         <strong>if</strong> ((elementNamespace != <strong>null</strong>)
+<a name="760" href="#760">760</a>                 && !isIgnoreableNamespace(elementNamespace, namespaceStack)) {
+<a name="761" href="#761">761</a>             namespaceStack.push(elementNamespace);
+<a name="762" href="#762">762</a>             contentHandler.startPrefixMapping(elementNamespace.getPrefix(),
+<a name="763" href="#763">763</a>                     elementNamespace.getURI());
+<a name="764" href="#764">764</a>             namespaceAttributes = addNamespaceAttribute(namespaceAttributes,
+<a name="765" href="#765">765</a>                     elementNamespace);
+<a name="766" href="#766">766</a>         }
+<a name="767" href="#767">767</a> 
+<a name="768" href="#768">768</a>         List declaredNamespaces = element.declaredNamespaces();
+<a name="769" href="#769">769</a> 
+<a name="770" href="#770">770</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = declaredNamespaces.size(); i < size; i++) {
+<a name="771" href="#771">771</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) declaredNamespaces.get(i);
+<a name="772" href="#772">772</a> 
+<a name="773" href="#773">773</a>             <strong>if</strong> (!isIgnoreableNamespace(namespace, namespaceStack)) {
+<a name="774" href="#774">774</a>                 namespaceStack.push(namespace);
+<a name="775" href="#775">775</a>                 contentHandler.startPrefixMapping(namespace.getPrefix(),
+<a name="776" href="#776">776</a>                         namespace.getURI());
+<a name="777" href="#777">777</a>                 namespaceAttributes = addNamespaceAttribute(
+<a name="778" href="#778">778</a>                         namespaceAttributes, namespace);
+<a name="779" href="#779">779</a>             }
+<a name="780" href="#780">780</a>         }
+<a name="781" href="#781">781</a> 
+<a name="782" href="#782">782</a>         <strong>return</strong> namespaceAttributes;
+<a name="783" href="#783">783</a>     }
+<a name="784" href="#784">784</a> 
+<a name="785" href="#785">785</a>     <em>/**<em>*</em></em>
+<a name="786" href="#786">786</a> <em>     * Fires a SAX endPrefixMapping event for all the namespaceStack which have</em>
+<a name="787" href="#787">787</a> <em>     * gone out of scope</em>
+<a name="788" href="#788">788</a> <em>     * </em>
+<a name="789" href="#789">789</a> <em>     * @param stack</em>
+<a name="790" href="#790">790</a> <em>     *            DOCUMENT ME!</em>
+<a name="791" href="#791">791</a> <em>     * @param stackSize</em>
+<a name="792" href="#792">792</a> <em>     *            DOCUMENT ME!</em>
+<a name="793" href="#793">793</a> <em>     * </em>
+<a name="794" href="#794">794</a> <em>     * @throws SAXException</em>
+<a name="795" href="#795">795</a> <em>     *             DOCUMENT ME!</em>
+<a name="796" href="#796">796</a> <em>     */</em>
+<a name="797" href="#797">797</a>     <strong>protected</strong> <strong>void</strong> endPrefixMapping(<a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> stack, <strong>int</strong> stackSize)
+<a name="798" href="#798">798</a>             throws SAXException {
+<a name="799" href="#799">799</a>         <strong>while</strong> (stack.size() > stackSize) {
+<a name="800" href="#800">800</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = stack.pop();
+<a name="801" href="#801">801</a> 
+<a name="802" href="#802">802</a>             <strong>if</strong> (namespace != <strong>null</strong>) {
+<a name="803" href="#803">803</a>                 contentHandler.endPrefixMapping(namespace.getPrefix());
+<a name="804" href="#804">804</a>             }
+<a name="805" href="#805">805</a>         }
+<a name="806" href="#806">806</a>     }
+<a name="807" href="#807">807</a> 
+<a name="808" href="#808">808</a>     <strong>protected</strong> <strong>void</strong> startElement(<a href="../../../org/dom4j/Element.html">Element</a> element,
+<a name="809" href="#809">809</a>             AttributesImpl namespaceAttributes) throws SAXException {
+<a name="810" href="#810">810</a>         contentHandler.startElement(element.getNamespaceURI(), element
+<a name="811" href="#811">811</a>                 .getName(), element.getQualifiedName(), createAttributes(
+<a name="812" href="#812">812</a>                 element, namespaceAttributes));
+<a name="813" href="#813">813</a>     }
+<a name="814" href="#814">814</a> 
+<a name="815" href="#815">815</a>     <strong>protected</strong> <strong>void</strong> endElement(<a href="../../../org/dom4j/Element.html">Element</a> element) throws SAXException {
+<a name="816" href="#816">816</a>         contentHandler.endElement(element.getNamespaceURI(), element.getName(),
+<a name="817" href="#817">817</a>                 element.getQualifiedName());
+<a name="818" href="#818">818</a>     }
+<a name="819" href="#819">819</a> 
+<a name="820" href="#820">820</a>     <strong>protected</strong> Attributes createAttributes(<a href="../../../org/dom4j/Element.html">Element</a> element,
+<a name="821" href="#821">821</a>             Attributes namespaceAttributes) throws SAXException {
+<a name="822" href="#822">822</a>         attributes.clear();
+<a name="823" href="#823">823</a> 
+<a name="824" href="#824">824</a>         <strong>if</strong> (namespaceAttributes != <strong>null</strong>) {
+<a name="825" href="#825">825</a>             attributes.setAttributes(namespaceAttributes);
+<a name="826" href="#826">826</a>         }
+<a name="827" href="#827">827</a> 
+<a name="828" href="#828">828</a>         <strong>for</strong> (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+<a name="829" href="#829">829</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) iter.next();
+<a name="830" href="#830">830</a>             attributes.addAttribute(attribute.getNamespaceURI(), attribute
+<a name="831" href="#831">831</a>                     .getName(), attribute.getQualifiedName(), <span class="string">"CDATA"</span>,
+<a name="832" href="#832">832</a>                     attribute.getValue());
+<a name="833" href="#833">833</a>         }
+<a name="834" href="#834">834</a> 
+<a name="835" href="#835">835</a>         <strong>return</strong> attributes;
+<a name="836" href="#836">836</a>     }
+<a name="837" href="#837">837</a> 
+<a name="838" href="#838">838</a>     <em>/**<em>*</em></em>
+<a name="839" href="#839">839</a> <em>     * If isDelcareNamespaceAttributes() is enabled then this method will add</em>
+<a name="840" href="#840">840</a> <em>     * the given namespace declaration to the supplied attributes object,</em>
+<a name="841" href="#841">841</a> <em>     * creating one if it does not exist.</em>
+<a name="842" href="#842">842</a> <em>     * </em>
+<a name="843" href="#843">843</a> <em>     * @param attrs</em>
+<a name="844" href="#844">844</a> <em>     *            DOCUMENT ME!</em>
+<a name="845" href="#845">845</a> <em>     * @param namespace</em>
+<a name="846" href="#846">846</a> <em>     *            DOCUMENT ME!</em>
+<a name="847" href="#847">847</a> <em>     * </em>
+<a name="848" href="#848">848</a> <em>     * @return DOCUMENT ME!</em>
+<a name="849" href="#849">849</a> <em>     */</em>
+<a name="850" href="#850">850</a>     <strong>protected</strong> AttributesImpl addNamespaceAttribute(AttributesImpl attrs,
+<a name="851" href="#851">851</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="852" href="#852">852</a>         <strong>if</strong> (declareNamespaceAttributes) {
+<a name="853" href="#853">853</a>             <strong>if</strong> (attrs == <strong>null</strong>) {
+<a name="854" href="#854">854</a>                 attrs = <strong>new</strong> AttributesImpl();
+<a name="855" href="#855">855</a>             }
+<a name="856" href="#856">856</a> 
+<a name="857" href="#857">857</a>             String prefix = namespace.getPrefix();
+<a name="858" href="#858">858</a>             String qualifiedName = <span class="string">"xmlns"</span>;
+<a name="859" href="#859">859</a> 
+<a name="860" href="#860">860</a>             <strong>if</strong> ((prefix != <strong>null</strong>) && (prefix.length() > 0)) {
+<a name="861" href="#861">861</a>                 qualifiedName = <span class="string">"xmlns:"</span> + prefix;
+<a name="862" href="#862">862</a>             }
+<a name="863" href="#863">863</a> 
+<a name="864" href="#864">864</a>             String uri = <span class="string">""</span>;
+<a name="865" href="#865">865</a>             String localName = prefix;
+<a name="866" href="#866">866</a>             String type = <span class="string">"CDATA"</span>;
+<a name="867" href="#867">867</a>             String value = namespace.getURI();
+<a name="868" href="#868">868</a> 
+<a name="869" href="#869">869</a>             attrs.addAttribute(uri, localName, qualifiedName, type, value);
+<a name="870" href="#870">870</a>         }
+<a name="871" href="#871">871</a> 
+<a name="872" href="#872">872</a>         <strong>return</strong> attrs;
+<a name="873" href="#873">873</a>     }
+<a name="874" href="#874">874</a> 
+<a name="875" href="#875">875</a>     <em>/**<em>*</em></em>
+<a name="876" href="#876">876</a> <em>     * DOCUMENT ME!</em>
+<a name="877" href="#877">877</a> <em>     * </em>
+<a name="878" href="#878">878</a> <em>     * @param namespace</em>
+<a name="879" href="#879">879</a> <em>     *            DOCUMENT ME!</em>
+<a name="880" href="#880">880</a> <em>     * @param namespaceStack</em>
+<a name="881" href="#881">881</a> <em>     *            DOCUMENT ME!</em>
+<a name="882" href="#882">882</a> <em>     * </em>
+<a name="883" href="#883">883</a> <em>     * @return true if the given namespace is an ignorable namespace (such as</em>
+<a name="884" href="#884">884</a> <em>     *         Namespace.NO_NAMESPACE or Namespace.XML_NAMESPACE) or if the</em>
+<a name="885" href="#885">885</a> <em>     *         namespace has already been declared in the current scope</em>
+<a name="886" href="#886">886</a> <em>     */</em>
+<a name="887" href="#887">887</a>     <strong>protected</strong> <strong>boolean</strong> isIgnoreableNamespace(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace,
+<a name="888" href="#888">888</a>             <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack) {
+<a name="889" href="#889">889</a>         <strong>if</strong> (namespace.equals(Namespace.NO_NAMESPACE)
+<a name="890" href="#890">890</a>                 || namespace.equals(Namespace.XML_NAMESPACE)) {
+<a name="891" href="#891">891</a>             <strong>return</strong> <strong>true</strong>;
+<a name="892" href="#892">892</a>         }
+<a name="893" href="#893">893</a> 
+<a name="894" href="#894">894</a>         String uri = namespace.getURI();
+<a name="895" href="#895">895</a> 
+<a name="896" href="#896">896</a>         <strong>if</strong> ((uri == <strong>null</strong>) || (uri.length() <= 0)) {
+<a name="897" href="#897">897</a>             <strong>return</strong> <strong>true</strong>;
+<a name="898" href="#898">898</a>         }
+<a name="899" href="#899">899</a> 
+<a name="900" href="#900">900</a>         <strong>return</strong> namespaceStack.contains(namespace);
+<a name="901" href="#901">901</a>     }
+<a name="902" href="#902">902</a> 
+<a name="903" href="#903">903</a>     <em>/**<em>*</em></em>
+<a name="904" href="#904">904</a> <em>     * Ensures non-null content handlers?</em>
+<a name="905" href="#905">905</a> <em>     */</em>
+<a name="906" href="#906">906</a>     <strong>protected</strong> <strong>void</strong> checkForNullHandlers() {
+<a name="907" href="#907">907</a>     }
+<a name="908" href="#908">908</a> }
+<a name="909" href="#909">909</a> 
+<a name="910" href="#910">910</a> <em class="comment">/*</em>
+<a name="911" href="#911">911</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="912" href="#912">912</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="913" href="#913">913</a> <em class="comment"> * following conditions are met:</em>
+<a name="914" href="#914">914</a> <em class="comment"> * </em>
+<a name="915" href="#915">915</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="916" href="#916">916</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="917" href="#917">917</a> <em class="comment"> * </em>
+<a name="918" href="#918">918</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="919" href="#919">919</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="920" href="#920">920</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="921" href="#921">921</a> <em class="comment"> * </em>
+<a name="922" href="#922">922</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="923" href="#923">923</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="924" href="#924">924</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="925" href="#925">925</a> <em class="comment"> * </em>
+<a name="926" href="#926">926</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="927" href="#927">927</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="928" href="#928">928</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="929" href="#929">929</a> <em class="comment"> * </em>
+<a name="930" href="#930">930</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="931" href="#931">931</a> <em class="comment"> * </em>
+<a name="932" href="#932">932</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="933" href="#933">933</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="934" href="#934">934</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="935" href="#935">935</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="936" href="#936">936</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="937" href="#937">937</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="938" href="#938">938</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="939" href="#939">939</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="940" href="#940">940</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="941" href="#941">941</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="942" href="#942">942</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="943" href="#943">943</a> <em class="comment"> * </em>
+<a name="944" href="#944">944</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="945" href="#945">945</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/STAXEventReader.html b/docs/xref/org/dom4j/io/STAXEventReader.html
new file mode 100644
index 0000000..0854fcb
--- /dev/null
+++ b/docs/xref/org/dom4j/io/STAXEventReader.html
@@ -0,0 +1,692 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>STAXEventReader xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/STAXEventReader.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.InputStream;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Reader;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> javax.xml.namespace.QName;
+<a name="15" href="#15">15</a>  <strong>import</strong> javax.xml.stream.XMLEventReader;
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.stream.XMLInputFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> javax.xml.stream.XMLStreamConstants;
+<a name="18" href="#18">18</a>  <strong>import</strong> javax.xml.stream.XMLStreamException;
+<a name="19" href="#19">19</a>  <strong>import</strong> javax.xml.stream.events.Attribute;
+<a name="20" href="#20">20</a>  <strong>import</strong> javax.xml.stream.events.Characters;
+<a name="21" href="#21">21</a>  <strong>import</strong> javax.xml.stream.events.Comment;
+<a name="22" href="#22">22</a>  <strong>import</strong> javax.xml.stream.events.EndElement;
+<a name="23" href="#23">23</a>  <strong>import</strong> javax.xml.stream.events.EntityReference;
+<a name="24" href="#24">24</a>  <strong>import</strong> javax.xml.stream.events.Namespace;
+<a name="25" href="#25">25</a>  <strong>import</strong> javax.xml.stream.events.ProcessingInstruction;
+<a name="26" href="#26">26</a>  <strong>import</strong> javax.xml.stream.events.StartDocument;
+<a name="27" href="#27">27</a>  <strong>import</strong> javax.xml.stream.events.StartElement;
+<a name="28" href="#28">28</a>  <strong>import</strong> javax.xml.stream.events.XMLEvent;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>  <strong>import</strong> org.dom4j.CharacterData;
+<a name="31" href="#31">31</a>  <strong>import</strong> org.dom4j.Document;
+<a name="32" href="#32">32</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="33" href="#33">33</a>  <strong>import</strong> org.dom4j.Element;
+<a name="34" href="#34">34</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="35" href="#35">35</a>  <strong>import</strong> org.dom4j.Node;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>  <em>/**<em>*</em></em>
+<a name="38" href="#38">38</a>  <em> * Reads a DOM4J {@link Document}, as well as other {@link Node}s, from a StAX</em>
+<a name="39" href="#39">39</a>  <em> * {@link XMLEventReader}.</em>
+<a name="40" href="#40">40</a>  <em> * </em>
+<a name="41" href="#41">41</a>  <em> * @author Christian Niles</em>
+<a name="42" href="#42">42</a>  <em> */</em>
+<a name="43" href="#43">43</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/STAXEventReader.html">STAXEventReader</a> {
+<a name="44" href="#44">44</a>      <em>/**<em>* Reference to the <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> used to build DOM4J nodes. */</em></em>
+<a name="45" href="#45">45</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory;
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <em>/**<em>* A StAX input factory, used to construct streams from IO streams. */</em></em>
+<a name="48" href="#48">48</a>      <strong>private</strong> XMLInputFactory inputFactory = XMLInputFactory.newInstance();
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
+<a name="51" href="#51">51</a>  <em>     * Constructs a default <code>STAXEventReader</code> instance with a</em>
+<a name="52" href="#52">52</a>  <em>     * default {@link DocumentFactory}.</em>
+<a name="53" href="#53">53</a>  <em>     */</em>
+<a name="54" href="#54">54</a>      <strong>public</strong> <a href="../../../org/dom4j/io/STAXEventReader.html">STAXEventReader</a>() {
+<a name="55" href="#55">55</a>          <strong>this</strong>.factory = DocumentFactory.getInstance();
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <em>/**<em>*</em></em>
+<a name="59" href="#59">59</a>  <em>     * Constructs a <code>STAXEventReader</code> instance that uses the</em>
+<a name="60" href="#60">60</a>  <em>     * specified {@link DocumentFactory}to construct DOM4J {@link Node}s.</em>
+<a name="61" href="#61">61</a>  <em>     * </em>
+<a name="62" href="#62">62</a>  <em>     * @param factory</em>
+<a name="63" href="#63">63</a>  <em>     *            The DocumentFactory to use when constructing DOM4J nodes, or</em>
+<a name="64" href="#64">64</a>  <em>     *            <code>null</code> if a default should be used.</em>
+<a name="65" href="#65">65</a>  <em>     */</em>
+<a name="66" href="#66">66</a>      <strong>public</strong> <a href="../../../org/dom4j/io/STAXEventReader.html">STAXEventReader</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory) {
+<a name="67" href="#67">67</a>          <strong>if</strong> (factory != <strong>null</strong>) {
+<a name="68" href="#68">68</a>              <strong>this</strong>.factory = factory;
+<a name="69" href="#69">69</a>          } <strong>else</strong> {
+<a name="70" href="#70">70</a>              <strong>this</strong>.factory = DocumentFactory.getInstance();
+<a name="71" href="#71">71</a>          }
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <em>/**<em>*</em></em>
+<a name="75" href="#75">75</a>  <em>     * Sets the DocumentFactory to be used when constructing DOM4J nodes.</em>
+<a name="76" href="#76">76</a>  <em>     * </em>
+<a name="77" href="#77">77</a>  <em>     * @param documentFactory</em>
+<a name="78" href="#78">78</a>  <em>     *            The DocumentFactory to use when constructing DOM4J nodes, or</em>
+<a name="79" href="#79">79</a>  <em>     *            <code>null</code> if a default should be used.</em>
+<a name="80" href="#80">80</a>  <em>     */</em>
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="82" href="#82">82</a>          <strong>if</strong> (documentFactory != <strong>null</strong>) {
+<a name="83" href="#83">83</a>              <strong>this</strong>.factory = documentFactory;
+<a name="84" href="#84">84</a>          } <strong>else</strong> {
+<a name="85" href="#85">85</a>              <strong>this</strong>.factory = DocumentFactory.getInstance();
+<a name="86" href="#86">86</a>          }
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <em>/**<em>*</em></em>
+<a name="90" href="#90">90</a>  <em>     * Constructs a StAX event stream from the provided I/O stream and reads a</em>
+<a name="91" href="#91">91</a>  <em>     * DOM4J document from it.</em>
+<a name="92" href="#92">92</a>  <em>     * </em>
+<a name="93" href="#93">93</a>  <em>     * @param is</em>
+<a name="94" href="#94">94</a>  <em>     *            The I/O stream from which the Document will be read.</em>
+<a name="95" href="#95">95</a>  <em>     * </em>
+<a name="96" href="#96">96</a>  <em>     * @return The Document that was read from the stream.</em>
+<a name="97" href="#97">97</a>  <em>     * </em>
+<a name="98" href="#98">98</a>  <em>     * @throws XMLStreamException</em>
+<a name="99" href="#99">99</a>  <em>     *             If an error occurs reading content from the stream.</em>
+<a name="100" href="#100">100</a> <em>     */</em>
+<a name="101" href="#101">101</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> readDocument(InputStream is) throws XMLStreamException {
+<a name="102" href="#102">102</a>         <strong>return</strong> readDocument(is, <strong>null</strong>);
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em>/**<em>*</em></em>
+<a name="106" href="#106">106</a> <em>     * Constructs a StAX event stream from the provided I/O character stream and</em>
+<a name="107" href="#107">107</a> <em>     * reads a DOM4J document from it.</em>
+<a name="108" href="#108">108</a> <em>     * </em>
+<a name="109" href="#109">109</a> <em>     * @param reader</em>
+<a name="110" href="#110">110</a> <em>     *            The character stream from which the Document will be read.</em>
+<a name="111" href="#111">111</a> <em>     * </em>
+<a name="112" href="#112">112</a> <em>     * @return The Document that was read from the stream.</em>
+<a name="113" href="#113">113</a> <em>     * </em>
+<a name="114" href="#114">114</a> <em>     * @throws XMLStreamException</em>
+<a name="115" href="#115">115</a> <em>     *             If an error occurs reading content from the stream.</em>
+<a name="116" href="#116">116</a> <em>     */</em>
+<a name="117" href="#117">117</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> readDocument(Reader reader) throws XMLStreamException {
+<a name="118" href="#118">118</a>         <strong>return</strong> readDocument(reader, <strong>null</strong>);
+<a name="119" href="#119">119</a>     }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <em>/**<em>*</em></em>
+<a name="122" href="#122">122</a> <em>     * Constructs a StAX event stream from the provided I/O stream and reads a</em>
+<a name="123" href="#123">123</a> <em>     * DOM4J document from it.</em>
+<a name="124" href="#124">124</a> <em>     * </em>
+<a name="125" href="#125">125</a> <em>     * @param is</em>
+<a name="126" href="#126">126</a> <em>     *            The I/O stream from which the Document will be read.</em>
+<a name="127" href="#127">127</a> <em>     * @param systemId</em>
+<a name="128" href="#128">128</a> <em>     *            A system id used to resolve entities.</em>
+<a name="129" href="#129">129</a> <em>     * </em>
+<a name="130" href="#130">130</a> <em>     * @return The Document that was read from the stream.</em>
+<a name="131" href="#131">131</a> <em>     * </em>
+<a name="132" href="#132">132</a> <em>     * @throws XMLStreamException</em>
+<a name="133" href="#133">133</a> <em>     *             If an error occurs reading content from the stream.</em>
+<a name="134" href="#134">134</a> <em>     */</em>
+<a name="135" href="#135">135</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> readDocument(InputStream is, String systemId)
+<a name="136" href="#136">136</a>             throws XMLStreamException {
+<a name="137" href="#137">137</a>         XMLEventReader eventReader = inputFactory.createXMLEventReader(
+<a name="138" href="#138">138</a>                 systemId, is);
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>         <strong>try</strong> {
+<a name="141" href="#141">141</a>             <strong>return</strong> readDocument(eventReader);
+<a name="142" href="#142">142</a>         } <strong>finally</strong> {
+<a name="143" href="#143">143</a>             eventReader.close();
+<a name="144" href="#144">144</a>         }
+<a name="145" href="#145">145</a>     }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>     <em>/**<em>*</em></em>
+<a name="148" href="#148">148</a> <em>     * Constructs a StAX event stream from the provided I/O character stream and</em>
+<a name="149" href="#149">149</a> <em>     * reads a DOM4J document from it.</em>
+<a name="150" href="#150">150</a> <em>     * </em>
+<a name="151" href="#151">151</a> <em>     * @param reader</em>
+<a name="152" href="#152">152</a> <em>     *            The character stream from which the Document will be read.</em>
+<a name="153" href="#153">153</a> <em>     * @param systemId</em>
+<a name="154" href="#154">154</a> <em>     *            A system id used to resolve entities.</em>
+<a name="155" href="#155">155</a> <em>     * </em>
+<a name="156" href="#156">156</a> <em>     * @return The Document that was read from the stream.</em>
+<a name="157" href="#157">157</a> <em>     * </em>
+<a name="158" href="#158">158</a> <em>     * @throws XMLStreamException</em>
+<a name="159" href="#159">159</a> <em>     *             If an error occurs reading content from the stream.</em>
+<a name="160" href="#160">160</a> <em>     */</em>
+<a name="161" href="#161">161</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> readDocument(Reader reader, String systemId)
+<a name="162" href="#162">162</a>             throws XMLStreamException {
+<a name="163" href="#163">163</a>         XMLEventReader eventReader = inputFactory.createXMLEventReader(
+<a name="164" href="#164">164</a>                 systemId, reader);
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>         <strong>try</strong> {
+<a name="167" href="#167">167</a>             <strong>return</strong> readDocument(eventReader);
+<a name="168" href="#168">168</a>         } <strong>finally</strong> {
+<a name="169" href="#169">169</a>             eventReader.close();
+<a name="170" href="#170">170</a>         }
+<a name="171" href="#171">171</a>     }
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>     <em>/**<em>*</em></em>
+<a name="174" href="#174">174</a> <em>     * Reads a {@link Node}from the event stream. If the next event is a</em>
+<a name="175" href="#175">175</a> <em>     * {@link StartElement}, all events until the closing {@link EndElement}</em>
+<a name="176" href="#176">176</a> <em>     * will be read, and the resulting nodes will be added to the returned</em>
+<a name="177" href="#177">177</a> <em>     * {@link Element}.</em>
+<a name="178" href="#178">178</a> <em>     * </em>
+<a name="179" href="#179">179</a> <em>     * <p></em>
+<a name="180" href="#180">180</a> <em>     * <strong>Pre-Conditions </strong>: The stream must be positioned before an</em>
+<a name="181" href="#181">181</a> <em>     * event other than an <code>EndElement</code>,<code>EndDocument</code>,</em>
+<a name="182" href="#182">182</a> <em>     * or any DTD-related events, which are not currently supported.</em>
+<a name="183" href="#183">183</a> <em>     * </p></em>
+<a name="184" href="#184">184</a> <em>     * </em>
+<a name="185" href="#185">185</a> <em>     * @param reader</em>
+<a name="186" href="#186">186</a> <em>     *            The reader from which events will be read.</em>
+<a name="187" href="#187">187</a> <em>     * </em>
+<a name="188" href="#188">188</a> <em>     * @return A DOM4J {@link Node}constructed from the read events.</em>
+<a name="189" href="#189">189</a> <em>     * </em>
+<a name="190" href="#190">190</a> <em>     * @throws XMLStreamException</em>
+<a name="191" href="#191">191</a> <em>     *             If an error occurs reading from the stream, or the stream was</em>
+<a name="192" href="#192">192</a> <em>     *             positioned before an unsupported event.</em>
+<a name="193" href="#193">193</a> <em>     */</em>
+<a name="194" href="#194">194</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> readNode(XMLEventReader reader) throws XMLStreamException {
+<a name="195" href="#195">195</a>         XMLEvent event = reader.peek();
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>         <strong>if</strong> (event.isStartElement()) {
+<a name="198" href="#198">198</a>             <strong>return</strong> readElement(reader);
+<a name="199" href="#199">199</a>         } <strong>else</strong> <strong>if</strong> (event.isCharacters()) {
+<a name="200" href="#200">200</a>             <strong>return</strong> readCharacters(reader);
+<a name="201" href="#201">201</a>         } <strong>else</strong> <strong>if</strong> (event.isStartDocument()) {
+<a name="202" href="#202">202</a>             <strong>return</strong> readDocument(reader);
+<a name="203" href="#203">203</a>         } <strong>else</strong> <strong>if</strong> (event.isProcessingInstruction()) {
+<a name="204" href="#204">204</a>             <strong>return</strong> readProcessingInstruction(reader);
+<a name="205" href="#205">205</a>         } <strong>else</strong> <strong>if</strong> (event.isEntityReference()) {
+<a name="206" href="#206">206</a>             <strong>return</strong> readEntityReference(reader);
+<a name="207" href="#207">207</a>         } <strong>else</strong> <strong>if</strong> (event.isAttribute()) {
+<a name="208" href="#208">208</a>             <strong>return</strong> readAttribute(reader);
+<a name="209" href="#209">209</a>         } <strong>else</strong> <strong>if</strong> (event.isNamespace()) {
+<a name="210" href="#210">210</a>             <strong>return</strong> readNamespace(reader);
+<a name="211" href="#211">211</a>         } <strong>else</strong> {
+<a name="212" href="#212">212</a>             <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Unsupported event: "</span> + event);
+<a name="213" href="#213">213</a>         }
+<a name="214" href="#214">214</a>     }
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>     <em>/**<em>*</em></em>
+<a name="217" href="#217">217</a> <em>     * Reads a DOM4J {@link Document}from the provided stream. The stream</em>
+<a name="218" href="#218">218</a> <em>     * should be positioned at the start of a document, or before a {@link</em>
+<a name="219" href="#219">219</a> <em>     * StartElement} event.</em>
+<a name="220" href="#220">220</a> <em>     * </em>
+<a name="221" href="#221">221</a> <em>     * @param reader</em>
+<a name="222" href="#222">222</a> <em>     *            The event stream from which to read the {@link Document}.</em>
+<a name="223" href="#223">223</a> <em>     * </em>
+<a name="224" href="#224">224</a> <em>     * @return The {@link Document}that was read from the stream.</em>
+<a name="225" href="#225">225</a> <em>     * </em>
+<a name="226" href="#226">226</a> <em>     * @throws XMLStreamException</em>
+<a name="227" href="#227">227</a> <em>     *             If an error occurs reading events from the stream.</em>
+<a name="228" href="#228">228</a> <em>     */</em>
+<a name="229" href="#229">229</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> readDocument(XMLEventReader reader)
+<a name="230" href="#230">230</a>             throws XMLStreamException {
+<a name="231" href="#231">231</a>         <a href="../../../org/dom4j/Document.html">Document</a> doc = <strong>null</strong>;
+<a name="232" href="#232">232</a> 
+<a name="233" href="#233">233</a>         <strong>while</strong> (reader.hasNext()) {
+<a name="234" href="#234">234</a>             XMLEvent nextEvent = reader.peek();
+<a name="235" href="#235">235</a>             <strong>int</strong> type = nextEvent.getEventType();
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>             <strong>switch</strong> (type) {
+<a name="238" href="#238">238</a>                 <strong>case</strong> XMLStreamConstants.START_DOCUMENT:
+<a name="239" href="#239">239</a> 
+<a name="240" href="#240">240</a>                     StartDocument event = (StartDocument) reader.nextEvent();
+<a name="241" href="#241">241</a> 
+<a name="242" href="#242">242</a>                     <strong>if</strong> (doc == <strong>null</strong>) {
+<a name="243" href="#243">243</a>                         <em class="comment">// create document</em>
+<a name="244" href="#244">244</a>                         <strong>if</strong> (event.encodingSet()) {
+<a name="245" href="#245">245</a>                             String encodingScheme = event
+<a name="246" href="#246">246</a>                                     .getCharacterEncodingScheme();
+<a name="247" href="#247">247</a>                             doc = factory.createDocument(encodingScheme);
+<a name="248" href="#248">248</a>                         } <strong>else</strong> {
+<a name="249" href="#249">249</a>                             doc = factory.createDocument();
+<a name="250" href="#250">250</a>                         }
+<a name="251" href="#251">251</a>                     } <strong>else</strong> {
+<a name="252" href="#252">252</a>                         <em class="comment">// duplicate or misplaced xml declaration</em>
+<a name="253" href="#253">253</a>                         String msg = <span class="string">"Unexpected StartDocument event"</span>;
+<a name="254" href="#254">254</a>                         <strong>throw</strong> <strong>new</strong> XMLStreamException(msg, event.getLocation());
+<a name="255" href="#255">255</a>                     }
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>                     <strong>break</strong>;
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>                 <strong>case</strong> XMLStreamConstants.END_DOCUMENT:
+<a name="260" href="#260">260</a>                 <strong>case</strong> XMLStreamConstants.SPACE:
+<a name="261" href="#261">261</a>                 <strong>case</strong> XMLStreamConstants.CHARACTERS:
+<a name="262" href="#262">262</a> 
+<a name="263" href="#263">263</a>                     <em class="comment">// skip end document and space outside the root element</em>
+<a name="264" href="#264">264</a>                     reader.nextEvent();
+<a name="265" href="#265">265</a> 
+<a name="266" href="#266">266</a>                     <strong>break</strong>;
+<a name="267" href="#267">267</a> 
+<a name="268" href="#268">268</a>                 <strong>default</strong>:
+<a name="269" href="#269">269</a> 
+<a name="270" href="#270">270</a>                     <strong>if</strong> (doc == <strong>null</strong>) {
+<a name="271" href="#271">271</a>                         <em class="comment">// create document</em>
+<a name="272" href="#272">272</a>                         doc = factory.createDocument();
+<a name="273" href="#273">273</a>                     }
+<a name="274" href="#274">274</a> 
+<a name="275" href="#275">275</a>                     <a href="../../../org/dom4j/Node.html">Node</a> n = readNode(reader);
+<a name="276" href="#276">276</a>                     doc.add(n);
+<a name="277" href="#277">277</a>             }
+<a name="278" href="#278">278</a>         }
+<a name="279" href="#279">279</a> 
+<a name="280" href="#280">280</a>         <strong>return</strong> doc;
+<a name="281" href="#281">281</a>     }
+<a name="282" href="#282">282</a> 
+<a name="283" href="#283">283</a>     <em>/**<em>*</em></em>
+<a name="284" href="#284">284</a> <em>     * Reads a DOM4J Element from the provided event stream. The stream must be</em>
+<a name="285" href="#285">285</a> <em>     * positioned before an {@link StartElement}event. In addition to the</em>
+<a name="286" href="#286">286</a> <em>     * initial start event, all events up to and including the closing {@link</em>
+<a name="287" href="#287">287</a> <em>     * EndElement} will be read, and included with the returned element.</em>
+<a name="288" href="#288">288</a> <em>     * </em>
+<a name="289" href="#289">289</a> <em>     * @param eventReader</em>
+<a name="290" href="#290">290</a> <em>     *            The event stream from which to read the Element.</em>
+<a name="291" href="#291">291</a> <em>     * </em>
+<a name="292" href="#292">292</a> <em>     * @return The Element that was read from the stream.</em>
+<a name="293" href="#293">293</a> <em>     * </em>
+<a name="294" href="#294">294</a> <em>     * @throws XMLStreamException</em>
+<a name="295" href="#295">295</a> <em>     *             If an error occured reading events from the stream, or the</em>
+<a name="296" href="#296">296</a> <em>     *             stream was not positioned before a {@linkStartElement}event.</em>
+<a name="297" href="#297">297</a> <em>     */</em>
+<a name="298" href="#298">298</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> readElement(XMLEventReader eventReader)
+<a name="299" href="#299">299</a>             throws XMLStreamException {
+<a name="300" href="#300">300</a>         XMLEvent event = eventReader.peek();
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>         <strong>if</strong> (event.isStartElement()) {
+<a name="303" href="#303">303</a>             <em class="comment">// advance the reader and get the StartElement event</em>
+<a name="304" href="#304">304</a>             StartElement startTag = eventReader.nextEvent().asStartElement();
+<a name="305" href="#305">305</a>             <a href="../../../org/dom4j/Element.html">Element</a> elem = createElement(startTag);
+<a name="306" href="#306">306</a> 
+<a name="307" href="#307">307</a>             <em class="comment">// read element content</em>
+<a name="308" href="#308">308</a>             <strong>while</strong> (<strong>true</strong>) {
+<a name="309" href="#309">309</a>                 <strong>if</strong> (!eventReader.hasNext()) {
+<a name="310" href="#310">310</a>                     String msg = <span class="string">"Unexpected end of stream while reading"</span>
+<a name="311" href="#311">311</a>                             + <span class="string">" element content"</span>;
+<a name="312" href="#312">312</a>                     <strong>throw</strong> <strong>new</strong> XMLStreamException(msg);
+<a name="313" href="#313">313</a>                 }
+<a name="314" href="#314">314</a> 
+<a name="315" href="#315">315</a>                 XMLEvent nextEvent = eventReader.peek();
+<a name="316" href="#316">316</a> 
+<a name="317" href="#317">317</a>                 <strong>if</strong> (nextEvent.isEndElement()) {
+<a name="318" href="#318">318</a>                     EndElement endElem = eventReader.nextEvent().asEndElement();
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>                     <strong>if</strong> (!endElem.getName().equals(startTag.getName())) {
+<a name="321" href="#321">321</a>                         <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Expected "</span>
+<a name="322" href="#322">322</a>                                 + startTag.getName() + <span class="string">" end-tag, but found"</span>
+<a name="323" href="#323">323</a>                                 + endElem.getName());
+<a name="324" href="#324">324</a>                     }
+<a name="325" href="#325">325</a> 
+<a name="326" href="#326">326</a>                     <strong>break</strong>;
+<a name="327" href="#327">327</a>                 }
+<a name="328" href="#328">328</a> 
+<a name="329" href="#329">329</a>                 <a href="../../../org/dom4j/Node.html">Node</a> child = readNode(eventReader);
+<a name="330" href="#330">330</a>                 elem.add(child);
+<a name="331" href="#331">331</a>             }
+<a name="332" href="#332">332</a> 
+<a name="333" href="#333">333</a>             <strong>return</strong> elem;
+<a name="334" href="#334">334</a>         } <strong>else</strong> {
+<a name="335" href="#335">335</a>             <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Expected Element event, found: "</span>
+<a name="336" href="#336">336</a>                     + event);
+<a name="337" href="#337">337</a>         }
+<a name="338" href="#338">338</a>     }
+<a name="339" href="#339">339</a> 
+<a name="340" href="#340">340</a>     <em>/**<em>*</em></em>
+<a name="341" href="#341">341</a> <em>     * Constructs a DOM4J Attribute from the provided event stream. The stream</em>
+<a name="342" href="#342">342</a> <em>     * must be positioned before an {@link Attribute}event.</em>
+<a name="343" href="#343">343</a> <em>     * </em>
+<a name="344" href="#344">344</a> <em>     * @param reader</em>
+<a name="345" href="#345">345</a> <em>     *            The event stream from which to read the Attribute.</em>
+<a name="346" href="#346">346</a> <em>     * </em>
+<a name="347" href="#347">347</a> <em>     * @return The Attribute that was read from the stream.</em>
+<a name="348" href="#348">348</a> <em>     * </em>
+<a name="349" href="#349">349</a> <em>     * @throws XMLStreamException</em>
+<a name="350" href="#350">350</a> <em>     *             If an error occured reading events from the stream, or the</em>
+<a name="351" href="#351">351</a> <em>     *             stream was not positioned before an {@linkAttribute}event.</em>
+<a name="352" href="#352">352</a> <em>     */</em>
+<a name="353" href="#353">353</a>     <strong>public</strong> org.dom4j.Attribute readAttribute(XMLEventReader reader)
+<a name="354" href="#354">354</a>             throws XMLStreamException {
+<a name="355" href="#355">355</a>         XMLEvent event = reader.peek();
+<a name="356" href="#356">356</a> 
+<a name="357" href="#357">357</a>         <strong>if</strong> (event.isAttribute()) {
+<a name="358" href="#358">358</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attr = (Attribute) reader.nextEvent();
+<a name="359" href="#359">359</a> 
+<a name="360" href="#360">360</a>             <strong>return</strong> createAttribute(<strong>null</strong>, attr);
+<a name="361" href="#361">361</a>         } <strong>else</strong> {
+<a name="362" href="#362">362</a>             <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Expected Attribute event, found: "</span>
+<a name="363" href="#363">363</a>                     + event);
+<a name="364" href="#364">364</a>         }
+<a name="365" href="#365">365</a>     }
+<a name="366" href="#366">366</a> 
+<a name="367" href="#367">367</a>     <em>/**<em>*</em></em>
+<a name="368" href="#368">368</a> <em>     * Constructs a DOM4J Namespace from the provided event stream. The stream</em>
+<a name="369" href="#369">369</a> <em>     * must be positioned before a {@link Namespace}event.</em>
+<a name="370" href="#370">370</a> <em>     * </em>
+<a name="371" href="#371">371</a> <em>     * @param reader</em>
+<a name="372" href="#372">372</a> <em>     *            The event stream from which to read the Namespace.</em>
+<a name="373" href="#373">373</a> <em>     * </em>
+<a name="374" href="#374">374</a> <em>     * @return The Namespace that was read from the stream.</em>
+<a name="375" href="#375">375</a> <em>     * </em>
+<a name="376" href="#376">376</a> <em>     * @throws XMLStreamException</em>
+<a name="377" href="#377">377</a> <em>     *             If an error occured reading events from the stream, or the</em>
+<a name="378" href="#378">378</a> <em>     *             stream was not positioned before a {@linkNamespace}event.</em>
+<a name="379" href="#379">379</a> <em>     */</em>
+<a name="380" href="#380">380</a>     <strong>public</strong> org.dom4j.Namespace readNamespace(XMLEventReader reader)
+<a name="381" href="#381">381</a>             throws XMLStreamException {
+<a name="382" href="#382">382</a>         XMLEvent event = reader.peek();
+<a name="383" href="#383">383</a> 
+<a name="384" href="#384">384</a>         <strong>if</strong> (event.isNamespace()) {
+<a name="385" href="#385">385</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> ns = (Namespace) reader.nextEvent();
+<a name="386" href="#386">386</a> 
+<a name="387" href="#387">387</a>             <strong>return</strong> createNamespace(ns);
+<a name="388" href="#388">388</a>         } <strong>else</strong> {
+<a name="389" href="#389">389</a>             <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Expected Namespace event, found: "</span>
+<a name="390" href="#390">390</a>                     + event);
+<a name="391" href="#391">391</a>         }
+<a name="392" href="#392">392</a>     }
+<a name="393" href="#393">393</a> 
+<a name="394" href="#394">394</a>     <em>/**<em>*</em></em>
+<a name="395" href="#395">395</a> <em>     * Constructs a DOM4J Text or CDATA section from the provided event stream.</em>
+<a name="396" href="#396">396</a> <em>     * The stream must be positioned before a {@link Characters}event.</em>
+<a name="397" href="#397">397</a> <em>     * </em>
+<a name="398" href="#398">398</a> <em>     * @param reader</em>
+<a name="399" href="#399">399</a> <em>     *            The event stream from which to read the Text or CDATA.</em>
+<a name="400" href="#400">400</a> <em>     * </em>
+<a name="401" href="#401">401</a> <em>     * @return The Text or CDATA that was read from the stream.</em>
+<a name="402" href="#402">402</a> <em>     * </em>
+<a name="403" href="#403">403</a> <em>     * @throws XMLStreamException</em>
+<a name="404" href="#404">404</a> <em>     *             If an error occured reading events from the stream, or the</em>
+<a name="405" href="#405">405</a> <em>     *             stream was not positioned before a {@linkCharacters}event.</em>
+<a name="406" href="#406">406</a> <em>     */</em>
+<a name="407" href="#407">407</a>     <strong>public</strong> <a href="../../../org/dom4j/CharacterData.html">CharacterData</a> readCharacters(XMLEventReader reader)
+<a name="408" href="#408">408</a>             throws XMLStreamException {
+<a name="409" href="#409">409</a>         XMLEvent event = reader.peek();
+<a name="410" href="#410">410</a> 
+<a name="411" href="#411">411</a>         <strong>if</strong> (event.isCharacters()) {
+<a name="412" href="#412">412</a>             Characters characters = reader.nextEvent().asCharacters();
+<a name="413" href="#413">413</a> 
+<a name="414" href="#414">414</a>             <strong>return</strong> createCharacterData(characters);
+<a name="415" href="#415">415</a>         } <strong>else</strong> {
+<a name="416" href="#416">416</a>             <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Expected Characters event, found: "</span>
+<a name="417" href="#417">417</a>                     + event);
+<a name="418" href="#418">418</a>         }
+<a name="419" href="#419">419</a>     }
+<a name="420" href="#420">420</a> 
+<a name="421" href="#421">421</a>     <em>/**<em>*</em></em>
+<a name="422" href="#422">422</a> <em>     * Constructs a DOM4J Comment from the provided event stream. The stream</em>
+<a name="423" href="#423">423</a> <em>     * must be positioned before a {@link Comment}event.</em>
+<a name="424" href="#424">424</a> <em>     * </em>
+<a name="425" href="#425">425</a> <em>     * @param reader</em>
+<a name="426" href="#426">426</a> <em>     *            The event stream from which to read the Comment.</em>
+<a name="427" href="#427">427</a> <em>     * </em>
+<a name="428" href="#428">428</a> <em>     * @return The Comment that was read from the stream.</em>
+<a name="429" href="#429">429</a> <em>     * </em>
+<a name="430" href="#430">430</a> <em>     * @throws XMLStreamException</em>
+<a name="431" href="#431">431</a> <em>     *             If an error occured reading events from the stream, or the</em>
+<a name="432" href="#432">432</a> <em>     *             stream was not positioned before a {@linkComment}event.</em>
+<a name="433" href="#433">433</a> <em>     */</em>
+<a name="434" href="#434">434</a>     <strong>public</strong> org.dom4j.Comment readComment(XMLEventReader reader)
+<a name="435" href="#435">435</a>             throws XMLStreamException {
+<a name="436" href="#436">436</a>         XMLEvent event = reader.peek();
+<a name="437" href="#437">437</a> 
+<a name="438" href="#438">438</a>         <strong>if</strong> (event instanceof Comment) {
+<a name="439" href="#439">439</a>             <strong>return</strong> createComment((Comment) reader.nextEvent());
+<a name="440" href="#440">440</a>         } <strong>else</strong> {
+<a name="441" href="#441">441</a>             <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Expected Comment event, found: "</span>
+<a name="442" href="#442">442</a>                     + event);
+<a name="443" href="#443">443</a>         }
+<a name="444" href="#444">444</a>     }
+<a name="445" href="#445">445</a> 
+<a name="446" href="#446">446</a>     <em>/**<em>*</em></em>
+<a name="447" href="#447">447</a> <em>     * Constructs a DOM4J Entity from the provided event stream. The stream must</em>
+<a name="448" href="#448">448</a> <em>     * be positioned before an {@link EntityReference}event.</em>
+<a name="449" href="#449">449</a> <em>     * </em>
+<a name="450" href="#450">450</a> <em>     * @param reader</em>
+<a name="451" href="#451">451</a> <em>     *            The event stream from which to read the {@link</em>
+<a name="452" href="#452">452</a> <em>     *            EntityReference}.</em>
+<a name="453" href="#453">453</a> <em>     * </em>
+<a name="454" href="#454">454</a> <em>     * @return The {@link org.dom4j.Entity}that was read from the stream.</em>
+<a name="455" href="#455">455</a> <em>     * </em>
+<a name="456" href="#456">456</a> <em>     * @throws XMLStreamException</em>
+<a name="457" href="#457">457</a> <em>     *             If an error occured reading events from the stream, or the</em>
+<a name="458" href="#458">458</a> <em>     *             stream was not positioned before an {@linkEntityReference}</em>
+<a name="459" href="#459">459</a> <em>     *             event.</em>
+<a name="460" href="#460">460</a> <em>     */</em>
+<a name="461" href="#461">461</a>     <strong>public</strong> <a href="../../../org/dom4j/Entity.html">Entity</a> readEntityReference(XMLEventReader reader)
+<a name="462" href="#462">462</a>             throws XMLStreamException {
+<a name="463" href="#463">463</a>         XMLEvent event = reader.peek();
+<a name="464" href="#464">464</a> 
+<a name="465" href="#465">465</a>         <strong>if</strong> (event.isEntityReference()) {
+<a name="466" href="#466">466</a>             EntityReference entityRef = (EntityReference) reader.nextEvent();
+<a name="467" href="#467">467</a> 
+<a name="468" href="#468">468</a>             <strong>return</strong> createEntity(entityRef);
+<a name="469" href="#469">469</a>         } <strong>else</strong> {
+<a name="470" href="#470">470</a>             <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Expected EntityRef event, found: "</span>
+<a name="471" href="#471">471</a>                     + event);
+<a name="472" href="#472">472</a>         }
+<a name="473" href="#473">473</a>     }
+<a name="474" href="#474">474</a> 
+<a name="475" href="#475">475</a>     <em>/**<em>*</em></em>
+<a name="476" href="#476">476</a> <em>     * Constructs a DOM4J ProcessingInstruction from the provided event stream.</em>
+<a name="477" href="#477">477</a> <em>     * The stream must be positioned before a {@link ProcessingInstruction}</em>
+<a name="478" href="#478">478</a> <em>     * event.</em>
+<a name="479" href="#479">479</a> <em>     * </em>
+<a name="480" href="#480">480</a> <em>     * @param reader</em>
+<a name="481" href="#481">481</a> <em>     *            The event stream from which to read the ProcessingInstruction.</em>
+<a name="482" href="#482">482</a> <em>     * </em>
+<a name="483" href="#483">483</a> <em>     * @return The ProcessingInstruction that was read from the stream.</em>
+<a name="484" href="#484">484</a> <em>     * </em>
+<a name="485" href="#485">485</a> <em>     * @throws XMLStreamException</em>
+<a name="486" href="#486">486</a> <em>     *             If an error occured reading events from the stream, or the</em>
+<a name="487" href="#487">487</a> <em>     *             stream was not positioned before a {@link</em>
+<a name="488" href="#488">488</a> <em>     *             ProcessingInstruction} event.</em>
+<a name="489" href="#489">489</a> <em>     */</em>
+<a name="490" href="#490">490</a>     <strong>public</strong> org.dom4j.ProcessingInstruction readProcessingInstruction(
+<a name="491" href="#491">491</a>             XMLEventReader reader) throws XMLStreamException {
+<a name="492" href="#492">492</a>         XMLEvent event = reader.peek();
+<a name="493" href="#493">493</a> 
+<a name="494" href="#494">494</a>         <strong>if</strong> (event.isProcessingInstruction()) {
+<a name="495" href="#495">495</a>             <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) reader
+<a name="496" href="#496">496</a>                     .nextEvent();
+<a name="497" href="#497">497</a> 
+<a name="498" href="#498">498</a>             <strong>return</strong> createProcessingInstruction(pi);
+<a name="499" href="#499">499</a>         } <strong>else</strong> {
+<a name="500" href="#500">500</a>             <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Expected PI event, found: "</span> + event);
+<a name="501" href="#501">501</a>         }
+<a name="502" href="#502">502</a>     }
+<a name="503" href="#503">503</a> 
+<a name="504" href="#504">504</a>     <em>/**<em>*</em></em>
+<a name="505" href="#505">505</a> <em>     * Constructs a new DOM4J Element from the provided StartElement event. All</em>
+<a name="506" href="#506">506</a> <em>     * attributes and namespaces will be added to the returned element.</em>
+<a name="507" href="#507">507</a> <em>     * </em>
+<a name="508" href="#508">508</a> <em>     * @param startEvent</em>
+<a name="509" href="#509">509</a> <em>     *            The StartElement event from which to construct the new DOM4J</em>
+<a name="510" href="#510">510</a> <em>     *            Element.</em>
+<a name="511" href="#511">511</a> <em>     * </em>
+<a name="512" href="#512">512</a> <em>     * @return The Element constructed from the provided StartElement event.</em>
+<a name="513" href="#513">513</a> <em>     */</em>
+<a name="514" href="#514">514</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(StartElement startEvent) {
+<a name="515" href="#515">515</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = startEvent.getName();
+<a name="516" href="#516">516</a>         org.dom4j.QName elemName = createQName(qname);
+<a name="517" href="#517">517</a> 
+<a name="518" href="#518">518</a>         <a href="../../../org/dom4j/Element.html">Element</a> elem = factory.createElement(elemName);
+<a name="519" href="#519">519</a> 
+<a name="520" href="#520">520</a>         <em class="comment">// create attributes</em>
+<a name="521" href="#521">521</a>         <strong>for</strong> (Iterator i = startEvent.getAttributes(); i.hasNext();) {
+<a name="522" href="#522">522</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attr = (Attribute) i.next();
+<a name="523" href="#523">523</a>             elem.addAttribute(createQName(attr.getName()), attr.getValue());
+<a name="524" href="#524">524</a>         }
+<a name="525" href="#525">525</a> 
+<a name="526" href="#526">526</a>         <em class="comment">// create namespaces</em>
+<a name="527" href="#527">527</a>         <strong>for</strong> (Iterator i = startEvent.getNamespaces(); i.hasNext();) {
+<a name="528" href="#528">528</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> ns = (Namespace) i.next();
+<a name="529" href="#529">529</a>             elem.addNamespace(ns.getPrefix(), ns.getNamespaceURI());
+<a name="530" href="#530">530</a>         }
+<a name="531" href="#531">531</a> 
+<a name="532" href="#532">532</a>         <strong>return</strong> elem;
+<a name="533" href="#533">533</a>     }
+<a name="534" href="#534">534</a> 
+<a name="535" href="#535">535</a>     <em>/**<em>*</em></em>
+<a name="536" href="#536">536</a> <em>     * Constructs a new DOM4J Attribute from the provided StAX Attribute event.</em>
+<a name="537" href="#537">537</a> <em>     * </em>
+<a name="538" href="#538">538</a> <em>     * @param elem</em>
+<a name="539" href="#539">539</a> <em>     *            DOCUMENT ME!</em>
+<a name="540" href="#540">540</a> <em>     * @param attr</em>
+<a name="541" href="#541">541</a> <em>     *            The Attribute event from which to construct the new DOM4J</em>
+<a name="542" href="#542">542</a> <em>     *            Attribute.</em>
+<a name="543" href="#543">543</a> <em>     * </em>
+<a name="544" href="#544">544</a> <em>     * @return The Attribute constructed from the provided Attribute event.</em>
+<a name="545" href="#545">545</a> <em>     */</em>
+<a name="546" href="#546">546</a>     <strong>public</strong> org.dom4j.Attribute createAttribute(<a href="../../../org/dom4j/Element.html">Element</a> elem, <a href="../../../org/dom4j/Attribute.html">Attribute</a> attr) {
+<a name="547" href="#547">547</a>         <strong>return</strong> factory.createAttribute(elem, createQName(attr.getName()), attr
+<a name="548" href="#548">548</a>                 .getValue());
+<a name="549" href="#549">549</a>     }
+<a name="550" href="#550">550</a> 
+<a name="551" href="#551">551</a>     <em>/**<em>*</em></em>
+<a name="552" href="#552">552</a> <em>     * Constructs a new DOM4J Namespace from the provided StAX Namespace event.</em>
+<a name="553" href="#553">553</a> <em>     * </em>
+<a name="554" href="#554">554</a> <em>     * @param ns</em>
+<a name="555" href="#555">555</a> <em>     *            The Namespace event from which to construct the new DOM4J</em>
+<a name="556" href="#556">556</a> <em>     *            Namespace.</em>
+<a name="557" href="#557">557</a> <em>     * </em>
+<a name="558" href="#558">558</a> <em>     * @return The Namespace constructed from the provided Namespace event.</em>
+<a name="559" href="#559">559</a> <em>     */</em>
+<a name="560" href="#560">560</a>     <strong>public</strong> org.dom4j.Namespace createNamespace(<a href="../../../org/dom4j/Namespace.html">Namespace</a> ns) {
+<a name="561" href="#561">561</a>         <strong>return</strong> factory.createNamespace(ns.getPrefix(), ns.getNamespaceURI());
+<a name="562" href="#562">562</a>     }
+<a name="563" href="#563">563</a> 
+<a name="564" href="#564">564</a>     <em>/**<em>*</em></em>
+<a name="565" href="#565">565</a> <em>     * Constructs a new DOM4J Text or CDATA object from the provided Characters</em>
+<a name="566" href="#566">566</a> <em>     * event.</em>
+<a name="567" href="#567">567</a> <em>     * </em>
+<a name="568" href="#568">568</a> <em>     * @param characters</em>
+<a name="569" href="#569">569</a> <em>     *            The Characters event from which to construct the new DOM4J</em>
+<a name="570" href="#570">570</a> <em>     *            Text or CDATA object.</em>
+<a name="571" href="#571">571</a> <em>     * </em>
+<a name="572" href="#572">572</a> <em>     * @return The Text or CDATA object constructed from the provided Characters</em>
+<a name="573" href="#573">573</a> <em>     *         event.</em>
+<a name="574" href="#574">574</a> <em>     */</em>
+<a name="575" href="#575">575</a>     <strong>public</strong> <a href="../../../org/dom4j/CharacterData.html">CharacterData</a> createCharacterData(Characters characters) {
+<a name="576" href="#576">576</a>         String data = characters.getData();
+<a name="577" href="#577">577</a> 
+<a name="578" href="#578">578</a>         <strong>if</strong> (characters.isCData()) {
+<a name="579" href="#579">579</a>             <strong>return</strong> factory.createCDATA(data);
+<a name="580" href="#580">580</a>         } <strong>else</strong> {
+<a name="581" href="#581">581</a>             <strong>return</strong> factory.createText(data);
+<a name="582" href="#582">582</a>         }
+<a name="583" href="#583">583</a>     }
+<a name="584" href="#584">584</a> 
+<a name="585" href="#585">585</a>     <em>/**<em>*</em></em>
+<a name="586" href="#586">586</a> <em>     * Constructs a new DOM4J Comment from the provided StAX Comment event.</em>
+<a name="587" href="#587">587</a> <em>     * </em>
+<a name="588" href="#588">588</a> <em>     * @param comment</em>
+<a name="589" href="#589">589</a> <em>     *            The Comment event from which to construct the new DOM4J</em>
+<a name="590" href="#590">590</a> <em>     *            Comment.</em>
+<a name="591" href="#591">591</a> <em>     * </em>
+<a name="592" href="#592">592</a> <em>     * @return The Comment constructed from the provided Comment event.</em>
+<a name="593" href="#593">593</a> <em>     */</em>
+<a name="594" href="#594">594</a>     <strong>public</strong> org.dom4j.Comment createComment(<a href="../../../org/dom4j/Comment.html">Comment</a> comment) {
+<a name="595" href="#595">595</a>         <strong>return</strong> factory.createComment(comment.getText());
+<a name="596" href="#596">596</a>     }
+<a name="597" href="#597">597</a> 
+<a name="598" href="#598">598</a>     <em>/**<em>*</em></em>
+<a name="599" href="#599">599</a> <em>     * Constructs a new DOM4J Entity from the provided StAX EntityReference</em>
+<a name="600" href="#600">600</a> <em>     * event.</em>
+<a name="601" href="#601">601</a> <em>     * </em>
+<a name="602" href="#602">602</a> <em>     * @param entityRef</em>
+<a name="603" href="#603">603</a> <em>     *            The EntityReference event from which to construct the new</em>
+<a name="604" href="#604">604</a> <em>     *            DOM4J Entity.</em>
+<a name="605" href="#605">605</a> <em>     * </em>
+<a name="606" href="#606">606</a> <em>     * @return The Entity constructed from the provided EntityReference event.</em>
+<a name="607" href="#607">607</a> <em>     */</em>
+<a name="608" href="#608">608</a>     <strong>public</strong> org.dom4j.Entity createEntity(EntityReference entityRef) {
+<a name="609" href="#609">609</a>         <strong>return</strong> factory.createEntity(entityRef.getName(), entityRef
+<a name="610" href="#610">610</a>                 .getDeclaration().getReplacementText());
+<a name="611" href="#611">611</a>     }
+<a name="612" href="#612">612</a> 
+<a name="613" href="#613">613</a>     <em>/**<em>*</em></em>
+<a name="614" href="#614">614</a> <em>     * Constructs a new DOM4J ProcessingInstruction from the provided StAX</em>
+<a name="615" href="#615">615</a> <em>     * ProcessingInstruction event.</em>
+<a name="616" href="#616">616</a> <em>     * </em>
+<a name="617" href="#617">617</a> <em>     * @param pi</em>
+<a name="618" href="#618">618</a> <em>     *            The ProcessingInstruction event from which to construct the</em>
+<a name="619" href="#619">619</a> <em>     *            new DOM4J ProcessingInstruction.</em>
+<a name="620" href="#620">620</a> <em>     * </em>
+<a name="621" href="#621">621</a> <em>     * @return The ProcessingInstruction constructed from the provided</em>
+<a name="622" href="#622">622</a> <em>     *         ProcessingInstruction event.</em>
+<a name="623" href="#623">623</a> <em>     */</em>
+<a name="624" href="#624">624</a>     <strong>public</strong> org.dom4j.ProcessingInstruction createProcessingInstruction(
+<a name="625" href="#625">625</a>             <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi) {
+<a name="626" href="#626">626</a>         <strong>return</strong> factory
+<a name="627" href="#627">627</a>                 .createProcessingInstruction(pi.getTarget(), pi.getData());
+<a name="628" href="#628">628</a>     }
+<a name="629" href="#629">629</a> 
+<a name="630" href="#630">630</a>     <em>/**<em>*</em></em>
+<a name="631" href="#631">631</a> <em>     * Constructs a new DOM4J QName from the provided JAXP QName.</em>
+<a name="632" href="#632">632</a> <em>     * </em>
+<a name="633" href="#633">633</a> <em>     * @param qname</em>
+<a name="634" href="#634">634</a> <em>     *            The JAXP QName from which to create a DOM4J QName.</em>
+<a name="635" href="#635">635</a> <em>     * </em>
+<a name="636" href="#636">636</a> <em>     * @return The newly constructed DOM4J QName.</em>
+<a name="637" href="#637">637</a> <em>     */</em>
+<a name="638" href="#638">638</a>     <strong>public</strong> org.dom4j.QName createQName(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="639" href="#639">639</a>         <strong>return</strong> factory.createQName(qname.getLocalPart(), qname.getPrefix(),
+<a name="640" href="#640">640</a>                 qname.getNamespaceURI());
+<a name="641" href="#641">641</a>     }
+<a name="642" href="#642">642</a> }
+<a name="643" href="#643">643</a> 
+<a name="644" href="#644">644</a> <em class="comment">/*</em>
+<a name="645" href="#645">645</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="646" href="#646">646</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="647" href="#647">647</a> <em class="comment"> * following conditions are met:</em>
+<a name="648" href="#648">648</a> <em class="comment"> * </em>
+<a name="649" href="#649">649</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="650" href="#650">650</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="651" href="#651">651</a> <em class="comment"> * </em>
+<a name="652" href="#652">652</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="653" href="#653">653</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="654" href="#654">654</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="655" href="#655">655</a> <em class="comment"> * </em>
+<a name="656" href="#656">656</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="657" href="#657">657</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="658" href="#658">658</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="659" href="#659">659</a> <em class="comment"> * </em>
+<a name="660" href="#660">660</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="661" href="#661">661</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="662" href="#662">662</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="663" href="#663">663</a> <em class="comment"> * </em>
+<a name="664" href="#664">664</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="665" href="#665">665</a> <em class="comment"> * </em>
+<a name="666" href="#666">666</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="667" href="#667">667</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="668" href="#668">668</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="669" href="#669">669</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="670" href="#670">670</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="671" href="#671">671</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="672" href="#672">672</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="673" href="#673">673</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="674" href="#674">674</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="675" href="#675">675</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="676" href="#676">676</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="677" href="#677">677</a> <em class="comment"> * </em>
+<a name="678" href="#678">678</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="679" href="#679">679</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/STAXEventWriter.html b/docs/xref/org/dom4j/io/STAXEventWriter.html
new file mode 100644
index 0000000..21f367f
--- /dev/null
+++ b/docs/xref/org/dom4j/io/STAXEventWriter.html
@@ -0,0 +1,698 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>STAXEventWriter xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/STAXEventWriter.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.File;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.FileWriter;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.IOException;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.OutputStream;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.StringWriter;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.Writer;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.Iterator;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> javax.xml.namespace.QName;
+<a name="19" href="#19">19</a>  <strong>import</strong> javax.xml.stream.XMLEventFactory;
+<a name="20" href="#20">20</a>  <strong>import</strong> javax.xml.stream.XMLOutputFactory;
+<a name="21" href="#21">21</a>  <strong>import</strong> javax.xml.stream.XMLStreamException;
+<a name="22" href="#22">22</a>  <strong>import</strong> javax.xml.stream.events.Characters;
+<a name="23" href="#23">23</a>  <strong>import</strong> javax.xml.stream.events.DTD;
+<a name="24" href="#24">24</a>  <strong>import</strong> javax.xml.stream.events.EndDocument;
+<a name="25" href="#25">25</a>  <strong>import</strong> javax.xml.stream.events.EndElement;
+<a name="26" href="#26">26</a>  <strong>import</strong> javax.xml.stream.events.EntityReference;
+<a name="27" href="#27">27</a>  <strong>import</strong> javax.xml.stream.events.ProcessingInstruction;
+<a name="28" href="#28">28</a>  <strong>import</strong> javax.xml.stream.events.StartDocument;
+<a name="29" href="#29">29</a>  <strong>import</strong> javax.xml.stream.events.StartElement;
+<a name="30" href="#30">30</a>  <strong>import</strong> javax.xml.stream.util.XMLEventConsumer;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="33" href="#33">33</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="34" href="#34">34</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="35" href="#35">35</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="36" href="#36">36</a>  <strong>import</strong> org.dom4j.Document;
+<a name="37" href="#37">37</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="38" href="#38">38</a>  <strong>import</strong> org.dom4j.Element;
+<a name="39" href="#39">39</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="40" href="#40">40</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="41" href="#41">41</a>  <strong>import</strong> org.dom4j.Node;
+<a name="42" href="#42">42</a>  <strong>import</strong> org.dom4j.Text;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>  <em>/**<em>*</em></em>
+<a name="45" href="#45">45</a>  <em> * Writes DOM4J {@link Node}s to a StAX event stream. In addition the</em>
+<a name="46" href="#46">46</a>  <em> * <code>createXXX</code> methods are provided to directly create STAX events</em>
+<a name="47" href="#47">47</a>  <em> * from DOM4J nodes.</em>
+<a name="48" href="#48">48</a>  <em> * </em>
+<a name="49" href="#49">49</a>  <em> * @author Christian Niles</em>
+<a name="50" href="#50">50</a>  <em> */</em>
+<a name="51" href="#51">51</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/STAXEventWriter.html">STAXEventWriter</a> {
+<a name="52" href="#52">52</a>      <em>/**<em>* The event stream to which events are written. */</em></em>
+<a name="53" href="#53">53</a>      <strong>private</strong> XMLEventConsumer consumer;
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em>/**<em>* The event factory used to construct events. */</em></em>
+<a name="56" href="#56">56</a>      <strong>private</strong> XMLEventFactory factory = XMLEventFactory.newInstance();
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>private</strong> XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> <a href="../../../org/dom4j/io/STAXEventWriter.html">STAXEventWriter</a>() {
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <em>/**<em>*</em></em>
+<a name="64" href="#64">64</a>  <em>     * Constructs a <code>STAXEventWriter</code> that writes events to the</em>
+<a name="65" href="#65">65</a>  <em>     * provided file.</em>
+<a name="66" href="#66">66</a>  <em>     * </em>
+<a name="67" href="#67">67</a>  <em>     * @param file</em>
+<a name="68" href="#68">68</a>  <em>     *            The file to which events will be written.</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @throws XMLStreamException</em>
+<a name="71" href="#71">71</a>  <em>     *             If an error occurs creating an event writer from the file.</em>
+<a name="72" href="#72">72</a>  <em>     * @throws IOException</em>
+<a name="73" href="#73">73</a>  <em>     *             If an error occurs openin the file for writing.</em>
+<a name="74" href="#74">74</a>  <em>     */</em>
+<a name="75" href="#75">75</a>      <strong>public</strong> <a href="../../../org/dom4j/io/STAXEventWriter.html">STAXEventWriter</a>(File file) throws XMLStreamException, IOException {
+<a name="76" href="#76">76</a>          consumer = outputFactory.createXMLEventWriter(<strong>new</strong> FileWriter(file));
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <em>/**<em>*</em></em>
+<a name="80" href="#80">80</a>  <em>     * Constructs a <code>STAXEventWriter</code> that writes events to the</em>
+<a name="81" href="#81">81</a>  <em>     * provided character stream.</em>
+<a name="82" href="#82">82</a>  <em>     * </em>
+<a name="83" href="#83">83</a>  <em>     * @param writer</em>
+<a name="84" href="#84">84</a>  <em>     *            The character stream to which events will be written.</em>
+<a name="85" href="#85">85</a>  <em>     * </em>
+<a name="86" href="#86">86</a>  <em>     * @throws XMLStreamException</em>
+<a name="87" href="#87">87</a>  <em>     *             If an error occurs constructing an event writer from the</em>
+<a name="88" href="#88">88</a>  <em>     *             character stream.</em>
+<a name="89" href="#89">89</a>  <em>     */</em>
+<a name="90" href="#90">90</a>      <strong>public</strong> <a href="../../../org/dom4j/io/STAXEventWriter.html">STAXEventWriter</a>(Writer writer) throws XMLStreamException {
+<a name="91" href="#91">91</a>          consumer = outputFactory.createXMLEventWriter(writer);
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <em>/**<em>*</em></em>
+<a name="95" href="#95">95</a>  <em>     * Constructs a <code>STAXEventWriter</code> that writes events to the</em>
+<a name="96" href="#96">96</a>  <em>     * provided stream.</em>
+<a name="97" href="#97">97</a>  <em>     * </em>
+<a name="98" href="#98">98</a>  <em>     * @param stream</em>
+<a name="99" href="#99">99</a>  <em>     *            The output stream to which events will be written.</em>
+<a name="100" href="#100">100</a> <em>     * </em>
+<a name="101" href="#101">101</a> <em>     * @throws XMLStreamException</em>
+<a name="102" href="#102">102</a> <em>     *             If an error occurs constructing an event writer from the</em>
+<a name="103" href="#103">103</a> <em>     *             stream.</em>
+<a name="104" href="#104">104</a> <em>     */</em>
+<a name="105" href="#105">105</a>     <strong>public</strong> <a href="../../../org/dom4j/io/STAXEventWriter.html">STAXEventWriter</a>(OutputStream stream) throws XMLStreamException {
+<a name="106" href="#106">106</a>         consumer = outputFactory.createXMLEventWriter(stream);
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <em>/**<em>*</em></em>
+<a name="110" href="#110">110</a> <em>     * Constructs a <code>STAXEventWriter</code> that writes events to the</em>
+<a name="111" href="#111">111</a> <em>     * provided event stream.</em>
+<a name="112" href="#112">112</a> <em>     * </em>
+<a name="113" href="#113">113</a> <em>     * @param consumer</em>
+<a name="114" href="#114">114</a> <em>     *            The event stream to which events will be written.</em>
+<a name="115" href="#115">115</a> <em>     */</em>
+<a name="116" href="#116">116</a>     <strong>public</strong> <a href="../../../org/dom4j/io/STAXEventWriter.html">STAXEventWriter</a>(XMLEventConsumer consumer) {
+<a name="117" href="#117">117</a>         <strong>this</strong>.consumer = consumer;
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <em>/**<em>*</em></em>
+<a name="121" href="#121">121</a> <em>     * Returns a reference to the underlying event consumer to which events are</em>
+<a name="122" href="#122">122</a> <em>     * written.</em>
+<a name="123" href="#123">123</a> <em>     * </em>
+<a name="124" href="#124">124</a> <em>     * @return The underlying event consumer to which events are written.</em>
+<a name="125" href="#125">125</a> <em>     */</em>
+<a name="126" href="#126">126</a>     <strong>public</strong> XMLEventConsumer getConsumer() {
+<a name="127" href="#127">127</a>         <strong>return</strong> consumer;
+<a name="128" href="#128">128</a>     }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>     <em>/**<em>*</em></em>
+<a name="131" href="#131">131</a> <em>     * Sets the underlying event consumer to which events are written.</em>
+<a name="132" href="#132">132</a> <em>     * </em>
+<a name="133" href="#133">133</a> <em>     * @param consumer</em>
+<a name="134" href="#134">134</a> <em>     *            The event consumer to which events should be written.</em>
+<a name="135" href="#135">135</a> <em>     */</em>
+<a name="136" href="#136">136</a>     <strong>public</strong> <strong>void</strong> setConsumer(XMLEventConsumer consumer) {
+<a name="137" href="#137">137</a>         <strong>this</strong>.consumer = consumer;
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <em>/**<em>*</em></em>
+<a name="141" href="#141">141</a> <em>     * Returns a reference to the event factory used to construct STAX events.</em>
+<a name="142" href="#142">142</a> <em>     * </em>
+<a name="143" href="#143">143</a> <em>     * @return The event factory used to construct STAX events.</em>
+<a name="144" href="#144">144</a> <em>     */</em>
+<a name="145" href="#145">145</a>     <strong>public</strong> XMLEventFactory getEventFactory() {
+<a name="146" href="#146">146</a>         <strong>return</strong> factory;
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <em>/**<em>*</em></em>
+<a name="150" href="#150">150</a> <em>     * Sets the event factory used to construct STAX events.</em>
+<a name="151" href="#151">151</a> <em>     * </em>
+<a name="152" href="#152">152</a> <em>     * @param eventFactory</em>
+<a name="153" href="#153">153</a> <em>     *            The new event factory.</em>
+<a name="154" href="#154">154</a> <em>     */</em>
+<a name="155" href="#155">155</a>     <strong>public</strong> <strong>void</strong> setEventFactory(XMLEventFactory eventFactory) {
+<a name="156" href="#156">156</a>         <strong>this</strong>.factory = eventFactory;
+<a name="157" href="#157">157</a>     }
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>     <em>/**<em>*</em></em>
+<a name="160" href="#160">160</a> <em>     * Writes a DOM4J {@link Node}to the stream. This method is simply a</em>
+<a name="161" href="#161">161</a> <em>     * gateway to the overloaded methods such as {@link#writeElement(Element)}.</em>
+<a name="162" href="#162">162</a> <em>     * </em>
+<a name="163" href="#163">163</a> <em>     * @param n</em>
+<a name="164" href="#164">164</a> <em>     *            The DOM4J {@link Node}to write to the stream.</em>
+<a name="165" href="#165">165</a> <em>     * </em>
+<a name="166" href="#166">166</a> <em>     * @throws XMLStreamException</em>
+<a name="167" href="#167">167</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="168" href="#168">168</a> <em>     */</em>
+<a name="169" href="#169">169</a>     <strong>public</strong> <strong>void</strong> writeNode(<a href="../../../org/dom4j/Node.html">Node</a> n) throws XMLStreamException {
+<a name="170" href="#170">170</a>         <strong>switch</strong> (n.getNodeType()) {
+<a name="171" href="#171">171</a>             <strong>case</strong> Node.ELEMENT_NODE:
+<a name="172" href="#172">172</a>                 writeElement((Element) n);
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>                 <strong>break</strong>;
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>             <strong>case</strong> Node.TEXT_NODE:
+<a name="177" href="#177">177</a>                 writeText((Text) n);
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>                 <strong>break</strong>;
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>             <strong>case</strong> Node.ATTRIBUTE_NODE:
+<a name="182" href="#182">182</a>                 writeAttribute((Attribute) n);
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>                 <strong>break</strong>;
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>             <strong>case</strong> Node.NAMESPACE_NODE:
+<a name="187" href="#187">187</a>                 writeNamespace((Namespace) n);
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>                 <strong>break</strong>;
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>             <strong>case</strong> Node.COMMENT_NODE:
+<a name="192" href="#192">192</a>                 writeComment((Comment) n);
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>                 <strong>break</strong>;
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>             <strong>case</strong> Node.CDATA_SECTION_NODE:
+<a name="197" href="#197">197</a>                 writeCDATA((CDATA) n);
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a>                 <strong>break</strong>;
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>             <strong>case</strong> Node.PROCESSING_INSTRUCTION_NODE:
+<a name="202" href="#202">202</a>                 writeProcessingInstruction((org.dom4j.ProcessingInstruction) n);
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>                 <strong>break</strong>;
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>             <strong>case</strong> Node.ENTITY_REFERENCE_NODE:
+<a name="207" href="#207">207</a>                 writeEntity((Entity) n);
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>                 <strong>break</strong>;
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>             <strong>case</strong> Node.DOCUMENT_NODE:
+<a name="212" href="#212">212</a>                 writeDocument((Document) n);
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>                 <strong>break</strong>;
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>             <strong>case</strong> Node.DOCUMENT_TYPE_NODE:
+<a name="217" href="#217">217</a>                 writeDocumentType((DocumentType) n);
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>                 <strong>break</strong>;
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>             <strong>default</strong>:
+<a name="222" href="#222">222</a>                 <strong>throw</strong> <strong>new</strong> XMLStreamException(<span class="string">"Unsupported DOM4J Node: "</span> + n);
+<a name="223" href="#223">223</a>         }
+<a name="224" href="#224">224</a>     }
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>     <em>/**<em>*</em></em>
+<a name="227" href="#227">227</a> <em>     * Writes each child node within the provided {@link Branch}instance. This</em>
+<a name="228" href="#228">228</a> <em>     * method simply iterates through the {@link Branch}'s nodes and calls</em>
+<a name="229" href="#229">229</a> <em>     * {@link #writeNode(Node)}.</em>
+<a name="230" href="#230">230</a> <em>     * </em>
+<a name="231" href="#231">231</a> <em>     * @param branch</em>
+<a name="232" href="#232">232</a> <em>     *            The node whose children will be written to the stream.</em>
+<a name="233" href="#233">233</a> <em>     * </em>
+<a name="234" href="#234">234</a> <em>     * @throws XMLStreamException</em>
+<a name="235" href="#235">235</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="236" href="#236">236</a> <em>     */</em>
+<a name="237" href="#237">237</a>     <strong>public</strong> <strong>void</strong> writeChildNodes(<a href="../../../org/dom4j/Branch.html">Branch</a> branch) throws XMLStreamException {
+<a name="238" href="#238">238</a>         <strong>for</strong> (<strong>int</strong> i = 0, s = branch.nodeCount(); i < s; i++) {
+<a name="239" href="#239">239</a>             <a href="../../../org/dom4j/Node.html">Node</a> n = branch.node(i);
+<a name="240" href="#240">240</a>             writeNode(n);
+<a name="241" href="#241">241</a>         }
+<a name="242" href="#242">242</a>     }
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>     <em>/**<em>*</em></em>
+<a name="245" href="#245">245</a> <em>     * Writes a DOM4J {@link Element}node and its children to the stream.</em>
+<a name="246" href="#246">246</a> <em>     * </em>
+<a name="247" href="#247">247</a> <em>     * @param elem</em>
+<a name="248" href="#248">248</a> <em>     *            The {@link Element}node to write to the stream.</em>
+<a name="249" href="#249">249</a> <em>     * </em>
+<a name="250" href="#250">250</a> <em>     * @throws XMLStreamException</em>
+<a name="251" href="#251">251</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="252" href="#252">252</a> <em>     */</em>
+<a name="253" href="#253">253</a>     <strong>public</strong> <strong>void</strong> writeElement(<a href="../../../org/dom4j/Element.html">Element</a> elem) throws XMLStreamException {
+<a name="254" href="#254">254</a>         consumer.add(createStartElement(elem));
+<a name="255" href="#255">255</a>         writeChildNodes(elem);
+<a name="256" href="#256">256</a>         consumer.add(createEndElement(elem));
+<a name="257" href="#257">257</a>     }
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>     <em>/**<em>*</em></em>
+<a name="260" href="#260">260</a> <em>     * Constructs a STAX {@link StartElement}event from a DOM4J {@link</em>
+<a name="261" href="#261">261</a> <em>     * Element}.</em>
+<a name="262" href="#262">262</a> <em>     * </em>
+<a name="263" href="#263">263</a> <em>     * @param elem</em>
+<a name="264" href="#264">264</a> <em>     *            The {@link Element}from which to construct the event.</em>
+<a name="265" href="#265">265</a> <em>     * </em>
+<a name="266" href="#266">266</a> <em>     * @return The newly constructed {@link StartElement}event.</em>
+<a name="267" href="#267">267</a> <em>     */</em>
+<a name="268" href="#268">268</a>     <strong>public</strong> StartElement createStartElement(<a href="../../../org/dom4j/Element.html">Element</a> elem) {
+<a name="269" href="#269">269</a>         <em class="comment">// create name</em>
+<a name="270" href="#270">270</a>         <a href="../../../org/dom4j/QName.html">QName</a> tagName = createQName(elem.getQName());
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>         <em class="comment">// create attribute & namespace iterators</em>
+<a name="273" href="#273">273</a>         Iterator attrIter = <strong>new</strong> AttributeIterator(elem.attributeIterator());
+<a name="274" href="#274">274</a>         Iterator nsIter = <strong>new</strong> NamespaceIterator(elem.declaredNamespaces()
+<a name="275" href="#275">275</a>                 .iterator());
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a>         <em class="comment">// create start event</em>
+<a name="278" href="#278">278</a>         <strong>return</strong> factory.createStartElement(tagName, attrIter, nsIter);
+<a name="279" href="#279">279</a>     }
+<a name="280" href="#280">280</a> 
+<a name="281" href="#281">281</a>     <em>/**<em>*</em></em>
+<a name="282" href="#282">282</a> <em>     * Constructs a STAX {@link EndElement}event from a DOM4J {@link Element}.</em>
+<a name="283" href="#283">283</a> <em>     * </em>
+<a name="284" href="#284">284</a> <em>     * @param elem</em>
+<a name="285" href="#285">285</a> <em>     *            The {@link Element}from which to construct the event.</em>
+<a name="286" href="#286">286</a> <em>     * </em>
+<a name="287" href="#287">287</a> <em>     * @return The newly constructed {@link EndElement}event.</em>
+<a name="288" href="#288">288</a> <em>     */</em>
+<a name="289" href="#289">289</a>     <strong>public</strong> EndElement createEndElement(<a href="../../../org/dom4j/Element.html">Element</a> elem) {
+<a name="290" href="#290">290</a>         <a href="../../../org/dom4j/QName.html">QName</a> tagName = createQName(elem.getQName());
+<a name="291" href="#291">291</a>         Iterator nsIter = <strong>new</strong> NamespaceIterator(elem.declaredNamespaces()
+<a name="292" href="#292">292</a>                 .iterator());
+<a name="293" href="#293">293</a> 
+<a name="294" href="#294">294</a>         <strong>return</strong> factory.createEndElement(tagName, nsIter);
+<a name="295" href="#295">295</a>     }
+<a name="296" href="#296">296</a> 
+<a name="297" href="#297">297</a>     <em>/**<em>*</em></em>
+<a name="298" href="#298">298</a> <em>     * Writes a DOM4J {@link Attribute}to the stream.</em>
+<a name="299" href="#299">299</a> <em>     * </em>
+<a name="300" href="#300">300</a> <em>     * @param attr</em>
+<a name="301" href="#301">301</a> <em>     *            The {@link Attribute}to write to the stream.</em>
+<a name="302" href="#302">302</a> <em>     * </em>
+<a name="303" href="#303">303</a> <em>     * @throws XMLStreamException</em>
+<a name="304" href="#304">304</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="305" href="#305">305</a> <em>     */</em>
+<a name="306" href="#306">306</a>     <strong>public</strong> <strong>void</strong> writeAttribute(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attr) throws XMLStreamException {
+<a name="307" href="#307">307</a>         consumer.add(createAttribute(attr));
+<a name="308" href="#308">308</a>     }
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a>     <em>/**<em>*</em></em>
+<a name="311" href="#311">311</a> <em>     * Constructs a STAX {@link javax.xml.stream.events.Attribute}event from a</em>
+<a name="312" href="#312">312</a> <em>     * DOM4J {@link Attribute}.</em>
+<a name="313" href="#313">313</a> <em>     * </em>
+<a name="314" href="#314">314</a> <em>     * @param attr</em>
+<a name="315" href="#315">315</a> <em>     *            The {@link Attribute}from which to construct the event.</em>
+<a name="316" href="#316">316</a> <em>     * </em>
+<a name="317" href="#317">317</a> <em>     * @return The newly constructed {@link javax.xml.stream.events.Attribute}</em>
+<a name="318" href="#318">318</a> <em>     *         event.</em>
+<a name="319" href="#319">319</a> <em>     */</em>
+<a name="320" href="#320">320</a>     <strong>public</strong> javax.xml.stream.events.Attribute createAttribute(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attr) {
+<a name="321" href="#321">321</a>         <a href="../../../org/dom4j/QName.html">QName</a> attrName = createQName(attr.getQName());
+<a name="322" href="#322">322</a>         String value = attr.getValue();
+<a name="323" href="#323">323</a> 
+<a name="324" href="#324">324</a>         <strong>return</strong> factory.createAttribute(attrName, value);
+<a name="325" href="#325">325</a>     }
+<a name="326" href="#326">326</a> 
+<a name="327" href="#327">327</a>     <em>/**<em>*</em></em>
+<a name="328" href="#328">328</a> <em>     * Writes a DOM4J {@link Namespace}to the stream.</em>
+<a name="329" href="#329">329</a> <em>     * </em>
+<a name="330" href="#330">330</a> <em>     * @param ns</em>
+<a name="331" href="#331">331</a> <em>     *            The {@link Namespace}to write to the stream.</em>
+<a name="332" href="#332">332</a> <em>     * </em>
+<a name="333" href="#333">333</a> <em>     * @throws XMLStreamException</em>
+<a name="334" href="#334">334</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="335" href="#335">335</a> <em>     */</em>
+<a name="336" href="#336">336</a>     <strong>public</strong> <strong>void</strong> writeNamespace(<a href="../../../org/dom4j/Namespace.html">Namespace</a> ns) throws XMLStreamException {
+<a name="337" href="#337">337</a>         consumer.add(createNamespace(ns));
+<a name="338" href="#338">338</a>     }
+<a name="339" href="#339">339</a> 
+<a name="340" href="#340">340</a>     <em>/**<em>*</em></em>
+<a name="341" href="#341">341</a> <em>     * Constructs a STAX {@link javax.xml.stream.events.Namespace}event from a</em>
+<a name="342" href="#342">342</a> <em>     * DOM4J {@link Namespace}.</em>
+<a name="343" href="#343">343</a> <em>     * </em>
+<a name="344" href="#344">344</a> <em>     * @param ns</em>
+<a name="345" href="#345">345</a> <em>     *            The {@link Namespace}from which to construct the event.</em>
+<a name="346" href="#346">346</a> <em>     * </em>
+<a name="347" href="#347">347</a> <em>     * @return The constructed {@link javax.xml.stream.events.Namespace}event.</em>
+<a name="348" href="#348">348</a> <em>     */</em>
+<a name="349" href="#349">349</a>     <strong>public</strong> javax.xml.stream.events.Namespace createNamespace(<a href="../../../org/dom4j/Namespace.html">Namespace</a> ns) {
+<a name="350" href="#350">350</a>         String prefix = ns.getPrefix();
+<a name="351" href="#351">351</a>         String uri = ns.getURI();
+<a name="352" href="#352">352</a> 
+<a name="353" href="#353">353</a>         <strong>return</strong> factory.createNamespace(prefix, uri);
+<a name="354" href="#354">354</a>     }
+<a name="355" href="#355">355</a> 
+<a name="356" href="#356">356</a>     <em>/**<em>*</em></em>
+<a name="357" href="#357">357</a> <em>     * Writes a DOM4J {@link Text}to the stream.</em>
+<a name="358" href="#358">358</a> <em>     * </em>
+<a name="359" href="#359">359</a> <em>     * @param text</em>
+<a name="360" href="#360">360</a> <em>     *            The {@link Text}to write to the stream.</em>
+<a name="361" href="#361">361</a> <em>     * </em>
+<a name="362" href="#362">362</a> <em>     * @throws XMLStreamException</em>
+<a name="363" href="#363">363</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="364" href="#364">364</a> <em>     */</em>
+<a name="365" href="#365">365</a>     <strong>public</strong> <strong>void</strong> writeText(<a href="../../../org/dom4j/Text.html">Text</a> text) throws XMLStreamException {
+<a name="366" href="#366">366</a>         consumer.add(createCharacters(text));
+<a name="367" href="#367">367</a>     }
+<a name="368" href="#368">368</a> 
+<a name="369" href="#369">369</a>     <em>/**<em>*</em></em>
+<a name="370" href="#370">370</a> <em>     * Constructs a STAX {@link Characters}event from a DOM4J {@link Text}.</em>
+<a name="371" href="#371">371</a> <em>     * </em>
+<a name="372" href="#372">372</a> <em>     * @param text</em>
+<a name="373" href="#373">373</a> <em>     *            The {@link Text}from which to construct the event.</em>
+<a name="374" href="#374">374</a> <em>     * </em>
+<a name="375" href="#375">375</a> <em>     * @return The constructed {@link Characters}event.</em>
+<a name="376" href="#376">376</a> <em>     */</em>
+<a name="377" href="#377">377</a>     <strong>public</strong> Characters createCharacters(<a href="../../../org/dom4j/Text.html">Text</a> text) {
+<a name="378" href="#378">378</a>         <strong>return</strong> factory.createCharacters(text.getText());
+<a name="379" href="#379">379</a>     }
+<a name="380" href="#380">380</a> 
+<a name="381" href="#381">381</a>     <em>/**<em>*</em></em>
+<a name="382" href="#382">382</a> <em>     * Writes a DOM4J {@link CDATA}to the event stream.</em>
+<a name="383" href="#383">383</a> <em>     * </em>
+<a name="384" href="#384">384</a> <em>     * @param cdata</em>
+<a name="385" href="#385">385</a> <em>     *            The {@link CDATA}to write to the stream.</em>
+<a name="386" href="#386">386</a> <em>     * </em>
+<a name="387" href="#387">387</a> <em>     * @throws XMLStreamException</em>
+<a name="388" href="#388">388</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="389" href="#389">389</a> <em>     */</em>
+<a name="390" href="#390">390</a>     <strong>public</strong> <strong>void</strong> writeCDATA(<a href="../../../org/dom4j/CDATA.html">CDATA</a> cdata) throws XMLStreamException {
+<a name="391" href="#391">391</a>         consumer.add(createCharacters(cdata));
+<a name="392" href="#392">392</a>     }
+<a name="393" href="#393">393</a> 
+<a name="394" href="#394">394</a>     <em>/**<em>*</em></em>
+<a name="395" href="#395">395</a> <em>     * Constructs a STAX {@link Characters}event from a DOM4J {@link CDATA}.</em>
+<a name="396" href="#396">396</a> <em>     * </em>
+<a name="397" href="#397">397</a> <em>     * @param cdata</em>
+<a name="398" href="#398">398</a> <em>     *            The {@link CDATA}from which to construct the event.</em>
+<a name="399" href="#399">399</a> <em>     * </em>
+<a name="400" href="#400">400</a> <em>     * @return The newly constructed {@link Characters}event.</em>
+<a name="401" href="#401">401</a> <em>     */</em>
+<a name="402" href="#402">402</a>     <strong>public</strong> Characters createCharacters(<a href="../../../org/dom4j/CDATA.html">CDATA</a> cdata) {
+<a name="403" href="#403">403</a>         <strong>return</strong> factory.createCData(cdata.getText());
+<a name="404" href="#404">404</a>     }
+<a name="405" href="#405">405</a> 
+<a name="406" href="#406">406</a>     <em>/**<em>*</em></em>
+<a name="407" href="#407">407</a> <em>     * Writes a DOM4J {@link Comment}to the stream.</em>
+<a name="408" href="#408">408</a> <em>     * </em>
+<a name="409" href="#409">409</a> <em>     * @param comment</em>
+<a name="410" href="#410">410</a> <em>     *            The {@link Comment}to write to the stream.</em>
+<a name="411" href="#411">411</a> <em>     * </em>
+<a name="412" href="#412">412</a> <em>     * @throws XMLStreamException</em>
+<a name="413" href="#413">413</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="414" href="#414">414</a> <em>     */</em>
+<a name="415" href="#415">415</a>     <strong>public</strong> <strong>void</strong> writeComment(<a href="../../../org/dom4j/Comment.html">Comment</a> comment) throws XMLStreamException {
+<a name="416" href="#416">416</a>         consumer.add(createComment(comment));
+<a name="417" href="#417">417</a>     }
+<a name="418" href="#418">418</a> 
+<a name="419" href="#419">419</a>     <em>/**<em>*</em></em>
+<a name="420" href="#420">420</a> <em>     * Constructs a STAX {@link javax.xml.stream.events.Comment}event from a</em>
+<a name="421" href="#421">421</a> <em>     * DOM4J {@link Comment}.</em>
+<a name="422" href="#422">422</a> <em>     * </em>
+<a name="423" href="#423">423</a> <em>     * @param comment</em>
+<a name="424" href="#424">424</a> <em>     *            The {@link Comment}from which to construct the event.</em>
+<a name="425" href="#425">425</a> <em>     * </em>
+<a name="426" href="#426">426</a> <em>     * @return The constructed {@link javax.xml.stream.events.Comment}event.</em>
+<a name="427" href="#427">427</a> <em>     */</em>
+<a name="428" href="#428">428</a>     <strong>public</strong> javax.xml.stream.events.Comment createComment(<a href="../../../org/dom4j/Comment.html">Comment</a> comment) {
+<a name="429" href="#429">429</a>         <strong>return</strong> factory.createComment(comment.getText());
+<a name="430" href="#430">430</a>     }
+<a name="431" href="#431">431</a> 
+<a name="432" href="#432">432</a>     <em>/**<em>*</em></em>
+<a name="433" href="#433">433</a> <em>     * Writes a DOM4J {@link ProcessingInstruction}to the stream.</em>
+<a name="434" href="#434">434</a> <em>     * </em>
+<a name="435" href="#435">435</a> <em>     * @param pi</em>
+<a name="436" href="#436">436</a> <em>     *            The {@link ProcessingInstruction}to write to the stream.</em>
+<a name="437" href="#437">437</a> <em>     * </em>
+<a name="438" href="#438">438</a> <em>     * @throws XMLStreamException</em>
+<a name="439" href="#439">439</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="440" href="#440">440</a> <em>     */</em>
+<a name="441" href="#441">441</a>     <strong>public</strong> <strong>void</strong> writeProcessingInstruction(org.dom4j.ProcessingInstruction pi)
+<a name="442" href="#442">442</a>             throws XMLStreamException {
+<a name="443" href="#443">443</a>         consumer.add(createProcessingInstruction(pi));
+<a name="444" href="#444">444</a>     }
+<a name="445" href="#445">445</a> 
+<a name="446" href="#446">446</a>     <em>/**<em>*</em></em>
+<a name="447" href="#447">447</a> <em>     * Constructs a STAX {@link javax.xml.stream.events.ProcessingInstruction}</em>
+<a name="448" href="#448">448</a> <em>     * event from a DOM4J {@link ProcessingInstruction}.</em>
+<a name="449" href="#449">449</a> <em>     * </em>
+<a name="450" href="#450">450</a> <em>     * @param pi</em>
+<a name="451" href="#451">451</a> <em>     *            The {@link ProcessingInstruction}from which to construct the</em>
+<a name="452" href="#452">452</a> <em>     *            event.</em>
+<a name="453" href="#453">453</a> <em>     * </em>
+<a name="454" href="#454">454</a> <em>     * @return The constructed {@link</em>
+<a name="455" href="#455">455</a> <em>     *         javax.xml.stream.events.ProcessingInstruction} event.</em>
+<a name="456" href="#456">456</a> <em>     */</em>
+<a name="457" href="#457">457</a>     <strong>public</strong> <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(
+<a name="458" href="#458">458</a>             org.dom4j.ProcessingInstruction pi) {
+<a name="459" href="#459">459</a>         String target = pi.getTarget();
+<a name="460" href="#460">460</a>         String data = pi.getText();
+<a name="461" href="#461">461</a> 
+<a name="462" href="#462">462</a>         <strong>return</strong> factory.createProcessingInstruction(target, data);
+<a name="463" href="#463">463</a>     }
+<a name="464" href="#464">464</a> 
+<a name="465" href="#465">465</a>     <em>/**<em>*</em></em>
+<a name="466" href="#466">466</a> <em>     * Writes a DOM4J {@link Entity}to the stream.</em>
+<a name="467" href="#467">467</a> <em>     * </em>
+<a name="468" href="#468">468</a> <em>     * @param entity</em>
+<a name="469" href="#469">469</a> <em>     *            The {@link Entity}to write to the stream.</em>
+<a name="470" href="#470">470</a> <em>     * </em>
+<a name="471" href="#471">471</a> <em>     * @throws XMLStreamException</em>
+<a name="472" href="#472">472</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="473" href="#473">473</a> <em>     */</em>
+<a name="474" href="#474">474</a>     <strong>public</strong> <strong>void</strong> writeEntity(<a href="../../../org/dom4j/Entity.html">Entity</a> entity) throws XMLStreamException {
+<a name="475" href="#475">475</a>         consumer.add(createEntityReference(entity));
+<a name="476" href="#476">476</a>     }
+<a name="477" href="#477">477</a> 
+<a name="478" href="#478">478</a>     <em>/**<em>*</em></em>
+<a name="479" href="#479">479</a> <em>     * Constructs a STAX {@link EntityReference}event from a DOM4J {@link</em>
+<a name="480" href="#480">480</a> <em>     * Entity}.</em>
+<a name="481" href="#481">481</a> <em>     * </em>
+<a name="482" href="#482">482</a> <em>     * @param entity</em>
+<a name="483" href="#483">483</a> <em>     *            The {@link Entity}from which to construct the event.</em>
+<a name="484" href="#484">484</a> <em>     * </em>
+<a name="485" href="#485">485</a> <em>     * @return The constructed {@link EntityReference}event.</em>
+<a name="486" href="#486">486</a> <em>     */</em>
+<a name="487" href="#487">487</a>     <strong>private</strong> EntityReference createEntityReference(<a href="../../../org/dom4j/Entity.html">Entity</a> entity) {
+<a name="488" href="#488">488</a>         <strong>return</strong> factory.createEntityReference(entity.getName(), <strong>null</strong>);
+<a name="489" href="#489">489</a>     }
+<a name="490" href="#490">490</a> 
+<a name="491" href="#491">491</a>     <em>/**<em>*</em></em>
+<a name="492" href="#492">492</a> <em>     * Writes a DOM4J {@link DocumentType}to the stream.</em>
+<a name="493" href="#493">493</a> <em>     * </em>
+<a name="494" href="#494">494</a> <em>     * @param docType</em>
+<a name="495" href="#495">495</a> <em>     *            The {@link DocumentType}to write to the stream.</em>
+<a name="496" href="#496">496</a> <em>     * </em>
+<a name="497" href="#497">497</a> <em>     * @throws XMLStreamException</em>
+<a name="498" href="#498">498</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="499" href="#499">499</a> <em>     */</em>
+<a name="500" href="#500">500</a>     <strong>public</strong> <strong>void</strong> writeDocumentType(<a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType)
+<a name="501" href="#501">501</a>             throws XMLStreamException {
+<a name="502" href="#502">502</a>         consumer.add(createDTD(docType));
+<a name="503" href="#503">503</a>     }
+<a name="504" href="#504">504</a> 
+<a name="505" href="#505">505</a>     <em>/**<em>*</em></em>
+<a name="506" href="#506">506</a> <em>     * Constructs a STAX {@link DTD}event from a DOM4J {@link DocumentType}.</em>
+<a name="507" href="#507">507</a> <em>     * </em>
+<a name="508" href="#508">508</a> <em>     * @param docType</em>
+<a name="509" href="#509">509</a> <em>     *            The {@link DocumentType}from which to construct the event.</em>
+<a name="510" href="#510">510</a> <em>     * </em>
+<a name="511" href="#511">511</a> <em>     * @return The constructed {@link DTD}event.</em>
+<a name="512" href="#512">512</a> <em>     * </em>
+<a name="513" href="#513">513</a> <em>     * @throws RuntimeException</em>
+<a name="514" href="#514">514</a> <em>     *             DOCUMENT ME!</em>
+<a name="515" href="#515">515</a> <em>     */</em>
+<a name="516" href="#516">516</a>     <strong>public</strong> DTD createDTD(<a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType) {
+<a name="517" href="#517">517</a>         StringWriter decl = <strong>new</strong> StringWriter();
+<a name="518" href="#518">518</a> 
+<a name="519" href="#519">519</a>         <strong>try</strong> {
+<a name="520" href="#520">520</a>             docType.write(decl);
+<a name="521" href="#521">521</a>         } <strong>catch</strong> (IOException e) {
+<a name="522" href="#522">522</a>             <strong>throw</strong> <strong>new</strong> RuntimeException(<span class="string">"Error writing DTD"</span>, e);
+<a name="523" href="#523">523</a>         }
+<a name="524" href="#524">524</a> 
+<a name="525" href="#525">525</a>         <strong>return</strong> factory.createDTD(decl.toString());
+<a name="526" href="#526">526</a>     }
+<a name="527" href="#527">527</a> 
+<a name="528" href="#528">528</a>     <em>/**<em>*</em></em>
+<a name="529" href="#529">529</a> <em>     * Writes a DOM4J {@link Document}node, and all its contents, to the</em>
+<a name="530" href="#530">530</a> <em>     * stream.</em>
+<a name="531" href="#531">531</a> <em>     * </em>
+<a name="532" href="#532">532</a> <em>     * @param doc</em>
+<a name="533" href="#533">533</a> <em>     *            The {@link Document}to write to the stream.</em>
+<a name="534" href="#534">534</a> <em>     * </em>
+<a name="535" href="#535">535</a> <em>     * @throws XMLStreamException</em>
+<a name="536" href="#536">536</a> <em>     *             If an error occurs writing to the stream.</em>
+<a name="537" href="#537">537</a> <em>     */</em>
+<a name="538" href="#538">538</a>     <strong>public</strong> <strong>void</strong> writeDocument(<a href="../../../org/dom4j/Document.html">Document</a> doc) throws XMLStreamException {
+<a name="539" href="#539">539</a>         consumer.add(createStartDocument(doc));
+<a name="540" href="#540">540</a> 
+<a name="541" href="#541">541</a>         writeChildNodes(doc);
+<a name="542" href="#542">542</a> 
+<a name="543" href="#543">543</a>         consumer.add(createEndDocument(doc));
+<a name="544" href="#544">544</a>     }
+<a name="545" href="#545">545</a> 
+<a name="546" href="#546">546</a>     <em>/**<em>*</em></em>
+<a name="547" href="#547">547</a> <em>     * Constructs a STAX {@link StartDocument}event from a DOM4J {@link</em>
+<a name="548" href="#548">548</a> <em>     * Document}.</em>
+<a name="549" href="#549">549</a> <em>     * </em>
+<a name="550" href="#550">550</a> <em>     * @param doc</em>
+<a name="551" href="#551">551</a> <em>     *            The {@link Document}from which to construct the event.</em>
+<a name="552" href="#552">552</a> <em>     * </em>
+<a name="553" href="#553">553</a> <em>     * @return The constructed {@link StartDocument}event.</em>
+<a name="554" href="#554">554</a> <em>     */</em>
+<a name="555" href="#555">555</a>     <strong>public</strong> StartDocument createStartDocument(<a href="../../../org/dom4j/Document.html">Document</a> doc) {
+<a name="556" href="#556">556</a>         String encoding = doc.getXMLEncoding();
+<a name="557" href="#557">557</a> 
+<a name="558" href="#558">558</a>         <strong>if</strong> (encoding != <strong>null</strong>) {
+<a name="559" href="#559">559</a>             <strong>return</strong> factory.createStartDocument(encoding);
+<a name="560" href="#560">560</a>         } <strong>else</strong> {
+<a name="561" href="#561">561</a>             <strong>return</strong> factory.createStartDocument();
+<a name="562" href="#562">562</a>         }
+<a name="563" href="#563">563</a>     }
+<a name="564" href="#564">564</a> 
+<a name="565" href="#565">565</a>     <em>/**<em>*</em></em>
+<a name="566" href="#566">566</a> <em>     * Constructs a STAX {@link EndDocument}event from a DOM4J {@link</em>
+<a name="567" href="#567">567</a> <em>     * Document}.</em>
+<a name="568" href="#568">568</a> <em>     * </em>
+<a name="569" href="#569">569</a> <em>     * @param doc</em>
+<a name="570" href="#570">570</a> <em>     *            The {@link Document}from which to construct the event.</em>
+<a name="571" href="#571">571</a> <em>     * </em>
+<a name="572" href="#572">572</a> <em>     * @return The constructed {@link EndDocument}event.</em>
+<a name="573" href="#573">573</a> <em>     */</em>
+<a name="574" href="#574">574</a>     <strong>public</strong> EndDocument createEndDocument(<a href="../../../org/dom4j/Document.html">Document</a> doc) {
+<a name="575" href="#575">575</a>         <strong>return</strong> factory.createEndDocument();
+<a name="576" href="#576">576</a>     }
+<a name="577" href="#577">577</a> 
+<a name="578" href="#578">578</a>     <em>/**<em>*</em></em>
+<a name="579" href="#579">579</a> <em>     * Constructs a STAX {@link QName}from a DOM4J {@link org.dom4j.QName}.</em>
+<a name="580" href="#580">580</a> <em>     * </em>
+<a name="581" href="#581">581</a> <em>     * @param qname</em>
+<a name="582" href="#582">582</a> <em>     *            The {@link org.dom4j.QName}from which to construct the STAX</em>
+<a name="583" href="#583">583</a> <em>     *            {@link QName}.</em>
+<a name="584" href="#584">584</a> <em>     * </em>
+<a name="585" href="#585">585</a> <em>     * @return The constructed {@link QName}.</em>
+<a name="586" href="#586">586</a> <em>     */</em>
+<a name="587" href="#587">587</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> createQName(org.dom4j.QName qname) {
+<a name="588" href="#588">588</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/QName.html">QName</a>(qname.getNamespaceURI(), qname.getName(), qname
+<a name="589" href="#589">589</a>                 .getNamespacePrefix());
+<a name="590" href="#590">590</a>     }
+<a name="591" href="#591">591</a> 
+<a name="592" href="#592">592</a>     <em>/**<em>*</em></em>
+<a name="593" href="#593">593</a> <em>     * Internal {@link Iterator}implementation used to pass DOM4J {@link</em>
+<a name="594" href="#594">594</a> <em>     * Attribute}s to the stream.</em>
+<a name="595" href="#595">595</a> <em>     */</em>
+<a name="596" href="#596">596</a>     <strong>private</strong> <strong>class</strong> AttributeIterator implements Iterator {
+<a name="597" href="#597">597</a>         <em>/**<em>* The underlying DOm4J attribute iterator. */</em></em>
+<a name="598" href="#598">598</a>         <strong>private</strong> Iterator iter;
+<a name="599" href="#599">599</a> 
+<a name="600" href="#600">600</a>         <strong>public</strong> AttributeIterator(Iterator iter) {
+<a name="601" href="#601">601</a>             <strong>this</strong>.iter = iter;
+<a name="602" href="#602">602</a>         }
+<a name="603" href="#603">603</a> 
+<a name="604" href="#604">604</a>         <strong>public</strong> <strong>boolean</strong> hasNext() {
+<a name="605" href="#605">605</a>             <strong>return</strong> iter.hasNext();
+<a name="606" href="#606">606</a>         }
+<a name="607" href="#607">607</a> 
+<a name="608" href="#608">608</a>         <strong>public</strong> Object next() {
+<a name="609" href="#609">609</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attr = (Attribute) iter.next();
+<a name="610" href="#610">610</a>             <a href="../../../org/dom4j/QName.html">QName</a> attrName = createQName(attr.getQName());
+<a name="611" href="#611">611</a>             String value = attr.getValue();
+<a name="612" href="#612">612</a> 
+<a name="613" href="#613">613</a>             <strong>return</strong> factory.createAttribute(attrName, value);
+<a name="614" href="#614">614</a>         }
+<a name="615" href="#615">615</a> 
+<a name="616" href="#616">616</a>         <strong>public</strong> <strong>void</strong> remove() {
+<a name="617" href="#617">617</a>             <strong>throw</strong> <strong>new</strong> UnsupportedOperationException();
+<a name="618" href="#618">618</a>         }
+<a name="619" href="#619">619</a>     }
+<a name="620" href="#620">620</a> 
+<a name="621" href="#621">621</a>     <em>/**<em>*</em></em>
+<a name="622" href="#622">622</a> <em>     * Internal {@link Iterator}implementation used to pass DOM4J {@link</em>
+<a name="623" href="#623">623</a> <em>     * Namespace}s to the stream.</em>
+<a name="624" href="#624">624</a> <em>     */</em>
+<a name="625" href="#625">625</a>     <strong>private</strong> <strong>class</strong> NamespaceIterator implements Iterator {
+<a name="626" href="#626">626</a>         <strong>private</strong> Iterator iter;
+<a name="627" href="#627">627</a> 
+<a name="628" href="#628">628</a>         <strong>public</strong> NamespaceIterator(Iterator iter) {
+<a name="629" href="#629">629</a>             <strong>this</strong>.iter = iter;
+<a name="630" href="#630">630</a>         }
+<a name="631" href="#631">631</a> 
+<a name="632" href="#632">632</a>         <strong>public</strong> <strong>boolean</strong> hasNext() {
+<a name="633" href="#633">633</a>             <strong>return</strong> iter.hasNext();
+<a name="634" href="#634">634</a>         }
+<a name="635" href="#635">635</a> 
+<a name="636" href="#636">636</a>         <strong>public</strong> Object next() {
+<a name="637" href="#637">637</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> ns = (Namespace) iter.next();
+<a name="638" href="#638">638</a>             String prefix = ns.getPrefix();
+<a name="639" href="#639">639</a>             String nsURI = ns.getURI();
+<a name="640" href="#640">640</a> 
+<a name="641" href="#641">641</a>             <strong>return</strong> factory.createNamespace(prefix, nsURI);
+<a name="642" href="#642">642</a>         }
+<a name="643" href="#643">643</a> 
+<a name="644" href="#644">644</a>         <strong>public</strong> <strong>void</strong> remove() {
+<a name="645" href="#645">645</a>             <strong>throw</strong> <strong>new</strong> UnsupportedOperationException();
+<a name="646" href="#646">646</a>         }
+<a name="647" href="#647">647</a>     }
+<a name="648" href="#648">648</a> }
+<a name="649" href="#649">649</a> 
+<a name="650" href="#650">650</a> <em class="comment">/*</em>
+<a name="651" href="#651">651</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="652" href="#652">652</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="653" href="#653">653</a> <em class="comment"> * following conditions are met:</em>
+<a name="654" href="#654">654</a> <em class="comment"> * </em>
+<a name="655" href="#655">655</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="656" href="#656">656</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="657" href="#657">657</a> <em class="comment"> * </em>
+<a name="658" href="#658">658</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="659" href="#659">659</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="660" href="#660">660</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="661" href="#661">661</a> <em class="comment"> * </em>
+<a name="662" href="#662">662</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="663" href="#663">663</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="664" href="#664">664</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="665" href="#665">665</a> <em class="comment"> * </em>
+<a name="666" href="#666">666</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="667" href="#667">667</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="668" href="#668">668</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="669" href="#669">669</a> <em class="comment"> * </em>
+<a name="670" href="#670">670</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="671" href="#671">671</a> <em class="comment"> * </em>
+<a name="672" href="#672">672</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="673" href="#673">673</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="674" href="#674">674</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="675" href="#675">675</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="676" href="#676">676</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="677" href="#677">677</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="678" href="#678">678</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="679" href="#679">679</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="680" href="#680">680</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="681" href="#681">681</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="682" href="#682">682</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="683" href="#683">683</a> <em class="comment"> * </em>
+<a name="684" href="#684">684</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="685" href="#685">685</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/XMLResult.html b/docs/xref/org/dom4j/io/XMLResult.html
new file mode 100644
index 0000000..4b255e9
--- /dev/null
+++ b/docs/xref/org/dom4j/io/XMLResult.html
@@ -0,0 +1,126 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XMLResult xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/XMLResult.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.OutputStream;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.UnsupportedEncodingException;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.Writer;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> javax.xml.transform.sax.SAXResult;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.xml.sax.ContentHandler;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.xml.sax.ext.LexicalHandler;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * <code>XMLResult</code> implements a JAXP {@link SAXResult}for an output</em>
+<a name="22" href="#22">22</a>  <em> * stream with support for pretty printing and control over how the XML is</em>
+<a name="23" href="#23">23</a>  <em> * formatted.</em>
+<a name="24" href="#24">24</a>  <em> * </p></em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/XMLResult.html">XMLResult</a> <strong>extends</strong> SAXResult {
+<a name="30" href="#30">30</a>      <strong>private</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> xmlWriter;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/io/XMLResult.html">XMLResult</a>() {
+<a name="33" href="#33">33</a>          <strong>this</strong>(<strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>());
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <a href="../../../org/dom4j/io/XMLResult.html">XMLResult</a>(Writer writer) {
+<a name="37" href="#37">37</a>          <strong>this</strong>(<strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(writer));
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <a href="../../../org/dom4j/io/XMLResult.html">XMLResult</a>(Writer writer, <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format) {
+<a name="41" href="#41">41</a>          <strong>this</strong>(<strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(writer, format));
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/io/XMLResult.html">XMLResult</a>(OutputStream out) throws UnsupportedEncodingException {
+<a name="45" href="#45">45</a>          <strong>this</strong>(<strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(out));
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <a href="../../../org/dom4j/io/XMLResult.html">XMLResult</a>(OutputStream out, <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format)
+<a name="49" href="#49">49</a>              throws UnsupportedEncodingException {
+<a name="50" href="#50">50</a>          <strong>this</strong>(<strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(out, format));
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <a href="../../../org/dom4j/io/XMLResult.html">XMLResult</a>(<a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> xmlWriter) {
+<a name="54" href="#54">54</a>          <strong>super</strong>(xmlWriter);
+<a name="55" href="#55">55</a>          <strong>this</strong>.xmlWriter = xmlWriter;
+<a name="56" href="#56">56</a>          setLexicalHandler(xmlWriter);
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong>public</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> getXMLWriter() {
+<a name="60" href="#60">60</a>          <strong>return</strong> xmlWriter;
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> setXMLWriter(<a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> writer) {
+<a name="64" href="#64">64</a>          <strong>this</strong>.xmlWriter = writer;
+<a name="65" href="#65">65</a>          setHandler(xmlWriter);
+<a name="66" href="#66">66</a>          setLexicalHandler(xmlWriter);
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> ContentHandler getHandler() {
+<a name="70" href="#70">70</a>          <strong>return</strong> xmlWriter;
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> LexicalHandler getLexicalHandler() {
+<a name="74" href="#74">74</a>          <strong>return</strong> xmlWriter;
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>  <em class="comment">/*</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * following conditions are met:</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * </em>
+<a name="94" href="#94">94</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="99" href="#99">99</a>  <em class="comment"> * </em>
+<a name="100" href="#100">100</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="103" href="#103">103</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="104" href="#104">104</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="105" href="#105">105</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="106" href="#106">106</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="107" href="#107">107</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="108" href="#108">108</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="109" href="#109">109</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="110" href="#110">110</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="111" href="#111">111</a> <em class="comment"> * </em>
+<a name="112" href="#112">112</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="113" href="#113">113</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/XMLWriter.html b/docs/xref/org/dom4j/io/XMLWriter.html
new file mode 100644
index 0000000..c430c54
--- /dev/null
+++ b/docs/xref/org/dom4j/io/XMLWriter.html
@@ -0,0 +1,1947 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XMLWriter xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/XMLWriter.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.BufferedWriter;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.IOException;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.OutputStream;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.OutputStreamWriter;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.UnsupportedEncodingException;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.Writer;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.HashMap;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.util.Iterator;
+<a name="18" href="#18">18</a>  <strong>import</strong> java.util.List;
+<a name="19" href="#19">19</a>  <strong>import</strong> java.util.Map;
+<a name="20" href="#20">20</a>  <strong>import</strong> java.util.StringTokenizer;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.Document;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.dom4j.Element;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="30" href="#30">30</a>  <strong>import</strong> org.dom4j.Node;
+<a name="31" href="#31">31</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="32" href="#32">32</a>  <strong>import</strong> org.dom4j.Text;
+<a name="33" href="#33">33</a>  <strong>import</strong> org.dom4j.tree.NamespaceStack;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>  <strong>import</strong> org.xml.sax.Attributes;
+<a name="36" href="#36">36</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="37" href="#37">37</a>  <strong>import</strong> org.xml.sax.Locator;
+<a name="38" href="#38">38</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="39" href="#39">39</a>  <strong>import</strong> org.xml.sax.SAXNotRecognizedException;
+<a name="40" href="#40">40</a>  <strong>import</strong> org.xml.sax.SAXNotSupportedException;
+<a name="41" href="#41">41</a>  <strong>import</strong> org.xml.sax.XMLReader;
+<a name="42" href="#42">42</a>  <strong>import</strong> org.xml.sax.ext.LexicalHandler;
+<a name="43" href="#43">43</a>  <strong>import</strong> org.xml.sax.helpers.XMLFilterImpl;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>  <em>/**<em>*</em></em>
+<a name="46" href="#46">46</a>  <em> * <p></em>
+<a name="47" href="#47">47</a>  <em> * <code>XMLWriter</code> takes a DOM4J tree and formats it to a stream as</em>
+<a name="48" href="#48">48</a>  <em> * XML. It can also take SAX events too so can be used by SAX clients as this</em>
+<a name="49" href="#49">49</a>  <em> * object implements the {@link org.xml.sax.ContentHandler}and {@link</em>
+<a name="50" href="#50">50</a>  <em> * LexicalHandler} interfaces. as well. This formatter performs typical document</em>
+<a name="51" href="#51">51</a>  <em> * formatting. The XML declaration and processing instructions are always on</em>
+<a name="52" href="#52">52</a>  <em> * their own lines. An {@link OutputFormat}object can be used to define how</em>
+<a name="53" href="#53">53</a>  <em> * whitespace is handled when printing and allows various configuration options,</em>
+<a name="54" href="#54">54</a>  <em> * such as to allow suppression of the XML declaration, the encoding declaration</em>
+<a name="55" href="#55">55</a>  <em> * or whether empty documents are collapsed.</em>
+<a name="56" href="#56">56</a>  <em> * </p></em>
+<a name="57" href="#57">57</a>  <em> * </em>
+<a name="58" href="#58">58</a>  <em> * <p></em>
+<a name="59" href="#59">59</a>  <em> * There are <code>write(...)</code> methods to print any of the standard</em>
+<a name="60" href="#60">60</a>  <em> * DOM4J classes, including <code>Document</code> and <code>Element</code>,</em>
+<a name="61" href="#61">61</a>  <em> * to either a <code>Writer</code> or an <code>OutputStream</code>.</em>
+<a name="62" href="#62">62</a>  <em> * Warning: using your own <code>Writer</code> may cause the writer's</em>
+<a name="63" href="#63">63</a>  <em> * preferred character encoding to be ignored. If you use encodings other than</em>
+<a name="64" href="#64">64</a>  <em> * UTF8, we recommend using the method that takes an OutputStream instead.</em>
+<a name="65" href="#65">65</a>  <em> * </p></em>
+<a name="66" href="#66">66</a>  <em> * </em>
+<a name="67" href="#67">67</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="68" href="#68">68</a>  <em> * @author Joseph Bowbeer</em>
+<a name="69" href="#69">69</a>  <em> * @version $Revision: 1.83.2.2 $</em>
+<a name="70" href="#70">70</a>  <em> */</em>
+<a name="71" href="#71">71</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> <strong>extends</strong> XMLFilterImpl implements LexicalHandler {
+<a name="72" href="#72">72</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String PAD_TEXT = <span class="string">" "</span>;
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String[] LEXICAL_HANDLER_NAMES = {
+<a name="75" href="#75">75</a>              <span class="string">"http://xml.org/sax/properties/lexical-handler"</span>,
+<a name="76" href="#76">76</a>              <span class="string">"http://xml.org/sax/handlers/LexicalHandler"</span>};
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> DEFAULT_FORMAT = <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>();
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <em>/**<em>* Should entityRefs by resolved when writing ? */</em></em>
+<a name="81" href="#81">81</a>      <strong>private</strong> <strong>boolean</strong> resolveEntityRefs = <strong>true</strong>;
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <em>/**<em>*</em></em>
+<a name="84" href="#84">84</a>  <em>     * Stores the last type of node written so algorithms can refer to the</em>
+<a name="85" href="#85">85</a>  <em>     * previous node type</em>
+<a name="86" href="#86">86</a>  <em>     */</em>
+<a name="87" href="#87">87</a>      <strong>protected</strong> <strong>int</strong> lastOutputNodeType;
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <em>/**<em>*</em></em>
+<a name="90" href="#90">90</a>  <em>     * Stores if the last written element node was a closing tag or an opening</em>
+<a name="91" href="#91">91</a>  <em>     * tag.</em>
+<a name="92" href="#92">92</a>  <em>     */</em>
+<a name="93" href="#93">93</a>      <strong>private</strong> <strong>boolean</strong> lastElementClosed = false;
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <em>/**<em>* Stores the xml:space attribute value of preserve for whitespace flag */</em></em>
+<a name="96" href="#96">96</a>      <strong>protected</strong> <strong>boolean</strong> preserve = false;
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <em>/**<em>* The Writer used to output to */</em></em>
+<a name="99" href="#99">99</a>      <strong>protected</strong> Writer writer;
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <em>/**<em>* The Stack of namespaceStack written so far */</em></em>
+<a name="102" href="#102">102</a>     <strong>private</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack = <strong>new</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>();
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>     <em>/**<em>* The format used by this writer */</em></em>
+<a name="105" href="#105">105</a>     <strong>private</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format;
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <em>/**<em>* whether we should escape text */</em></em>
+<a name="108" href="#108">108</a>     <strong>private</strong> <strong>boolean</strong> escapeText = <strong>true</strong>;
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <em>/**<em>*</em></em>
+<a name="111" href="#111">111</a> <em>     * The initial number of indentations (so you can print a whole document</em>
+<a name="112" href="#112">112</a> <em>     * indented, if you like)</em>
+<a name="113" href="#113">113</a> <em>     */</em>
+<a name="114" href="#114">114</a>     <strong>private</strong> <strong>int</strong> indentLevel = 0;
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>     <em>/**<em>* buffer used when escaping strings */</em></em>
+<a name="117" href="#117">117</a>     <strong>private</strong> StringBuffer buffer = <strong>new</strong> StringBuffer();
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <em>/**<em>*</em></em>
+<a name="120" href="#120">120</a> <em>     * whether we have added characters before from the same chunk of characters</em>
+<a name="121" href="#121">121</a> <em>     */</em>
+<a name="122" href="#122">122</a>     <strong>private</strong> <strong>boolean</strong> charsAdded = false;
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <strong>private</strong> <strong>char</strong> lastChar;
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <em>/**<em>* Whether a flush should occur after writing a document */</em></em>
+<a name="127" href="#127">127</a>     <strong>private</strong> <strong>boolean</strong> autoFlush;
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>     <em>/**<em>* Lexical handler we should delegate to */</em></em>
+<a name="130" href="#130">130</a>     <strong>private</strong> LexicalHandler lexicalHandler;
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <em>/**<em>*</em></em>
+<a name="133" href="#133">133</a> <em>     * Whether comments should appear inside DTD declarations - defaults to</em>
+<a name="134" href="#134">134</a> <em>     * false</em>
+<a name="135" href="#135">135</a> <em>     */</em>
+<a name="136" href="#136">136</a>     <strong>private</strong> <strong>boolean</strong> showCommentsInDTDs;
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <em>/**<em>* Is the writer curerntly inside a DTD definition? */</em></em>
+<a name="139" href="#139">139</a>     <strong>private</strong> <strong>boolean</strong> inDTD;
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>     <em>/**<em>* The namespaces used for the current element when consuming SAX events */</em></em>
+<a name="142" href="#142">142</a>     <strong>private</strong> Map namespacesMap;
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>     <em>/**<em>*</em></em>
+<a name="145" href="#145">145</a> <em>     * what is the maximum allowed character code such as 127 in US-ASCII (7</em>
+<a name="146" href="#146">146</a> <em>     * bit) or 255 in ISO- (8 bit) or -1 to not escape any characters (other</em>
+<a name="147" href="#147">147</a> <em>     * than the special XML characters like &lt; &gt; &amp;)</em>
+<a name="148" href="#148">148</a> <em>     */</em>
+<a name="149" href="#149">149</a>     <strong>private</strong> <strong>int</strong> maximumAllowedCharacter;
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>     <strong>public</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(Writer writer) {
+<a name="152" href="#152">152</a>         <strong>this</strong>(writer, DEFAULT_FORMAT);
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(Writer writer, <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format) {
+<a name="156" href="#156">156</a>         <strong>this</strong>.writer = writer;
+<a name="157" href="#157">157</a>         <strong>this</strong>.format = format;
+<a name="158" href="#158">158</a>         namespaceStack.push(Namespace.NO_NAMESPACE);
+<a name="159" href="#159">159</a>     }
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>     <strong>public</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>() {
+<a name="162" href="#162">162</a>         <strong>this</strong>.format = DEFAULT_FORMAT;
+<a name="163" href="#163">163</a>         <strong>this</strong>.writer = <strong>new</strong> BufferedWriter(<strong>new</strong> OutputStreamWriter(System.out));
+<a name="164" href="#164">164</a>         <strong>this</strong>.autoFlush = <strong>true</strong>;
+<a name="165" href="#165">165</a>         namespaceStack.push(Namespace.NO_NAMESPACE);
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>     <strong>public</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(OutputStream out) throws UnsupportedEncodingException {
+<a name="169" href="#169">169</a>         <strong>this</strong>.format = DEFAULT_FORMAT;
+<a name="170" href="#170">170</a>         <strong>this</strong>.writer = createWriter(out, format.getEncoding());
+<a name="171" href="#171">171</a>         <strong>this</strong>.autoFlush = <strong>true</strong>;
+<a name="172" href="#172">172</a>         namespaceStack.push(Namespace.NO_NAMESPACE);
+<a name="173" href="#173">173</a>     }
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>     <strong>public</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(OutputStream out, <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format)
+<a name="176" href="#176">176</a>             throws UnsupportedEncodingException {
+<a name="177" href="#177">177</a>         <strong>this</strong>.format = format;
+<a name="178" href="#178">178</a>         <strong>this</strong>.writer = createWriter(out, format.getEncoding());
+<a name="179" href="#179">179</a>         <strong>this</strong>.autoFlush = <strong>true</strong>;
+<a name="180" href="#180">180</a>         namespaceStack.push(Namespace.NO_NAMESPACE);
+<a name="181" href="#181">181</a>     }
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>     <strong>public</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(<a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format) throws UnsupportedEncodingException {
+<a name="184" href="#184">184</a>         <strong>this</strong>.format = format;
+<a name="185" href="#185">185</a>         <strong>this</strong>.writer = createWriter(System.out, format.getEncoding());
+<a name="186" href="#186">186</a>         <strong>this</strong>.autoFlush = <strong>true</strong>;
+<a name="187" href="#187">187</a>         namespaceStack.push(Namespace.NO_NAMESPACE);
+<a name="188" href="#188">188</a>     }
+<a name="189" href="#189">189</a> 
+<a name="190" href="#190">190</a>     <strong>public</strong> <strong>void</strong> setWriter(Writer writer) {
+<a name="191" href="#191">191</a>         <strong>this</strong>.writer = writer;
+<a name="192" href="#192">192</a>         <strong>this</strong>.autoFlush = false;
+<a name="193" href="#193">193</a>     }
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>     <strong>public</strong> <strong>void</strong> setOutputStream(OutputStream out)
+<a name="196" href="#196">196</a>             throws UnsupportedEncodingException {
+<a name="197" href="#197">197</a>         <strong>this</strong>.writer = createWriter(out, format.getEncoding());
+<a name="198" href="#198">198</a>         <strong>this</strong>.autoFlush = <strong>true</strong>;
+<a name="199" href="#199">199</a>     }
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>     <em>/**<em>*</em></em>
+<a name="202" href="#202">202</a> <em>     * DOCUMENT ME!</em>
+<a name="203" href="#203">203</a> <em>     * </em>
+<a name="204" href="#204">204</a> <em>     * @return true if text thats output should be escaped. This is enabled by</em>
+<a name="205" href="#205">205</a> <em>     *         default. It could be disabled if the output format is textual,</em>
+<a name="206" href="#206">206</a> <em>     *         like in XSLT where we can have xml, html or text output.</em>
+<a name="207" href="#207">207</a> <em>     */</em>
+<a name="208" href="#208">208</a>     <strong>public</strong> <strong>boolean</strong> isEscapeText() {
+<a name="209" href="#209">209</a>         <strong>return</strong> escapeText;
+<a name="210" href="#210">210</a>     }
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>     <em>/**<em>*</em></em>
+<a name="213" href="#213">213</a> <em>     * Sets whether text output should be escaped or not. This is enabled by</em>
+<a name="214" href="#214">214</a> <em>     * default. It could be disabled if the output format is textual, like in</em>
+<a name="215" href="#215">215</a> <em>     * XSLT where we can have xml, html or text output.</em>
+<a name="216" href="#216">216</a> <em>     * </em>
+<a name="217" href="#217">217</a> <em>     * @param escapeText</em>
+<a name="218" href="#218">218</a> <em>     *            DOCUMENT ME!</em>
+<a name="219" href="#219">219</a> <em>     */</em>
+<a name="220" href="#220">220</a>     <strong>public</strong> <strong>void</strong> setEscapeText(<strong>boolean</strong> escapeText) {
+<a name="221" href="#221">221</a>         <strong>this</strong>.escapeText = escapeText;
+<a name="222" href="#222">222</a>     }
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>     <em>/**<em>*</em></em>
+<a name="225" href="#225">225</a> <em>     * Set the initial indentation level. This can be used to output a document</em>
+<a name="226" href="#226">226</a> <em>     * (or, more likely, an element) starting at a given indent level, so it's</em>
+<a name="227" href="#227">227</a> <em>     * not always flush against the left margin. Default: 0</em>
+<a name="228" href="#228">228</a> <em>     * </em>
+<a name="229" href="#229">229</a> <em>     * @param indentLevel</em>
+<a name="230" href="#230">230</a> <em>     *            the number of indents to start with</em>
+<a name="231" href="#231">231</a> <em>     */</em>
+<a name="232" href="#232">232</a>     <strong>public</strong> <strong>void</strong> setIndentLevel(<strong>int</strong> indentLevel) {
+<a name="233" href="#233">233</a>         <strong>this</strong>.indentLevel = indentLevel;
+<a name="234" href="#234">234</a>     }
+<a name="235" href="#235">235</a> 
+<a name="236" href="#236">236</a>     <em>/**<em>*</em></em>
+<a name="237" href="#237">237</a> <em>     * Returns the maximum allowed character code that should be allowed</em>
+<a name="238" href="#238">238</a> <em>     * unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8</em>
+<a name="239" href="#239">239</a> <em>     * bit).</em>
+<a name="240" href="#240">240</a> <em>     * </em>
+<a name="241" href="#241">241</a> <em>     * @return DOCUMENT ME!</em>
+<a name="242" href="#242">242</a> <em>     */</em>
+<a name="243" href="#243">243</a>     <strong>public</strong> <strong>int</strong> getMaximumAllowedCharacter() {
+<a name="244" href="#244">244</a>         <strong>if</strong> (maximumAllowedCharacter == 0) {
+<a name="245" href="#245">245</a>             maximumAllowedCharacter = defaultMaximumAllowedCharacter();
+<a name="246" href="#246">246</a>         }
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>         <strong>return</strong> maximumAllowedCharacter;
+<a name="249" href="#249">249</a>     }
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>     <em>/**<em>*</em></em>
+<a name="252" href="#252">252</a> <em>     * Sets the maximum allowed character code that should be allowed unescaped</em>
+<a name="253" href="#253">253</a> <em>     * such as 127 in US-ASCII (7 bit) or 255 in ISO- (8 bit) or -1 to not</em>
+<a name="254" href="#254">254</a> <em>     * escape any characters (other than the special XML characters like &lt;</em>
+<a name="255" href="#255">255</a> <em>     * &gt; &amp;) If this is not explicitly set then it is defaulted from the</em>
+<a name="256" href="#256">256</a> <em>     * encoding.</em>
+<a name="257" href="#257">257</a> <em>     * </em>
+<a name="258" href="#258">258</a> <em>     * @param maximumAllowedCharacter</em>
+<a name="259" href="#259">259</a> <em>     *            The maximumAllowedCharacter to set</em>
+<a name="260" href="#260">260</a> <em>     */</em>
+<a name="261" href="#261">261</a>     <strong>public</strong> <strong>void</strong> setMaximumAllowedCharacter(<strong>int</strong> maximumAllowedCharacter) {
+<a name="262" href="#262">262</a>         <strong>this</strong>.maximumAllowedCharacter = maximumAllowedCharacter;
+<a name="263" href="#263">263</a>     }
+<a name="264" href="#264">264</a> 
+<a name="265" href="#265">265</a>     <em>/**<em>*</em></em>
+<a name="266" href="#266">266</a> <em>     * Flushes the underlying Writer</em>
+<a name="267" href="#267">267</a> <em>     * </em>
+<a name="268" href="#268">268</a> <em>     * @throws IOException</em>
+<a name="269" href="#269">269</a> <em>     *             DOCUMENT ME!</em>
+<a name="270" href="#270">270</a> <em>     */</em>
+<a name="271" href="#271">271</a>     <strong>public</strong> <strong>void</strong> flush() throws IOException {
+<a name="272" href="#272">272</a>         writer.flush();
+<a name="273" href="#273">273</a>     }
+<a name="274" href="#274">274</a> 
+<a name="275" href="#275">275</a>     <em>/**<em>*</em></em>
+<a name="276" href="#276">276</a> <em>     * Closes the underlying Writer</em>
+<a name="277" href="#277">277</a> <em>     * </em>
+<a name="278" href="#278">278</a> <em>     * @throws IOException</em>
+<a name="279" href="#279">279</a> <em>     *             DOCUMENT ME!</em>
+<a name="280" href="#280">280</a> <em>     */</em>
+<a name="281" href="#281">281</a>     <strong>public</strong> <strong>void</strong> close() throws IOException {
+<a name="282" href="#282">282</a>         writer.close();
+<a name="283" href="#283">283</a>     }
+<a name="284" href="#284">284</a> 
+<a name="285" href="#285">285</a>     <em>/**<em>*</em></em>
+<a name="286" href="#286">286</a> <em>     * Writes the new line text to the underlying Writer</em>
+<a name="287" href="#287">287</a> <em>     * </em>
+<a name="288" href="#288">288</a> <em>     * @throws IOException</em>
+<a name="289" href="#289">289</a> <em>     *             DOCUMENT ME!</em>
+<a name="290" href="#290">290</a> <em>     */</em>
+<a name="291" href="#291">291</a>     <strong>public</strong> <strong>void</strong> println() throws IOException {
+<a name="292" href="#292">292</a>         writer.write(format.getLineSeparator());
+<a name="293" href="#293">293</a>     }
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>     <em>/**<em>*</em></em>
+<a name="296" href="#296">296</a> <em>     * Writes the given {@link Attribute}.</em>
+<a name="297" href="#297">297</a> <em>     * </em>
+<a name="298" href="#298">298</a> <em>     * @param attribute</em>
+<a name="299" href="#299">299</a> <em>     *            <code>Attribute</code> to output.</em>
+<a name="300" href="#300">300</a> <em>     * </em>
+<a name="301" href="#301">301</a> <em>     * @throws IOException</em>
+<a name="302" href="#302">302</a> <em>     *             DOCUMENT ME!</em>
+<a name="303" href="#303">303</a> <em>     */</em>
+<a name="304" href="#304">304</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute) throws IOException {
+<a name="305" href="#305">305</a>         writeAttribute(attribute);
+<a name="306" href="#306">306</a> 
+<a name="307" href="#307">307</a>         <strong>if</strong> (autoFlush) {
+<a name="308" href="#308">308</a>             flush();
+<a name="309" href="#309">309</a>         }
+<a name="310" href="#310">310</a>     }
+<a name="311" href="#311">311</a> 
+<a name="312" href="#312">312</a>     <em>/**<em>*</em></em>
+<a name="313" href="#313">313</a> <em>     * <p></em>
+<a name="314" href="#314">314</a> <em>     * This will print the <code>Document</code> to the current Writer.</em>
+<a name="315" href="#315">315</a> <em>     * </p></em>
+<a name="316" href="#316">316</a> <em>     * </em>
+<a name="317" href="#317">317</a> <em>     * <p></em>
+<a name="318" href="#318">318</a> <em>     * Warning: using your own Writer may cause the writer's preferred character</em>
+<a name="319" href="#319">319</a> <em>     * encoding to be ignored. If you use encodings other than UTF8, we</em>
+<a name="320" href="#320">320</a> <em>     * recommend using the method that takes an OutputStream instead.</em>
+<a name="321" href="#321">321</a> <em>     * </p></em>
+<a name="322" href="#322">322</a> <em>     * </em>
+<a name="323" href="#323">323</a> <em>     * <p></em>
+<a name="324" href="#324">324</a> <em>     * Note: as with all Writers, you may need to flush() yours after this</em>
+<a name="325" href="#325">325</a> <em>     * method returns.</em>
+<a name="326" href="#326">326</a> <em>     * </p></em>
+<a name="327" href="#327">327</a> <em>     * </em>
+<a name="328" href="#328">328</a> <em>     * @param doc</em>
+<a name="329" href="#329">329</a> <em>     *            <code>Document</code> to format.</em>
+<a name="330" href="#330">330</a> <em>     * </em>
+<a name="331" href="#331">331</a> <em>     * @throws IOException</em>
+<a name="332" href="#332">332</a> <em>     *             if there's any problem writing.</em>
+<a name="333" href="#333">333</a> <em>     */</em>
+<a name="334" href="#334">334</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Document.html">Document</a> doc) throws IOException {
+<a name="335" href="#335">335</a>         writeDeclaration();
+<a name="336" href="#336">336</a> 
+<a name="337" href="#337">337</a>         <strong>if</strong> (doc.getDocType() != <strong>null</strong>) {
+<a name="338" href="#338">338</a>             indent();
+<a name="339" href="#339">339</a>             writeDocType(doc.getDocType());
+<a name="340" href="#340">340</a>         }
+<a name="341" href="#341">341</a> 
+<a name="342" href="#342">342</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = doc.nodeCount(); i < size; i++) {
+<a name="343" href="#343">343</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = doc.node(i);
+<a name="344" href="#344">344</a>             writeNode(node);
+<a name="345" href="#345">345</a>         }
+<a name="346" href="#346">346</a> 
+<a name="347" href="#347">347</a>         writePrintln();
+<a name="348" href="#348">348</a> 
+<a name="349" href="#349">349</a>         <strong>if</strong> (autoFlush) {
+<a name="350" href="#350">350</a>             flush();
+<a name="351" href="#351">351</a>         }
+<a name="352" href="#352">352</a>     }
+<a name="353" href="#353">353</a> 
+<a name="354" href="#354">354</a>     <em>/**<em>*</em></em>
+<a name="355" href="#355">355</a> <em>     * <p></em>
+<a name="356" href="#356">356</a> <em>     * Writes the <code>{@link Element}</code>, including its <code>{@link</em>
+<a name="357" href="#357">357</a> <em>     * Attribute}</code></em>
+<a name="358" href="#358">358</a> <em>     * s, and its value, and all its content (child nodes) to the current</em>
+<a name="359" href="#359">359</a> <em>     * Writer.</em>
+<a name="360" href="#360">360</a> <em>     * </p></em>
+<a name="361" href="#361">361</a> <em>     * </em>
+<a name="362" href="#362">362</a> <em>     * @param element</em>
+<a name="363" href="#363">363</a> <em>     *            <code>Element</code> to output.</em>
+<a name="364" href="#364">364</a> <em>     * </em>
+<a name="365" href="#365">365</a> <em>     * @throws IOException</em>
+<a name="366" href="#366">366</a> <em>     *             DOCUMENT ME!</em>
+<a name="367" href="#367">367</a> <em>     */</em>
+<a name="368" href="#368">368</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="369" href="#369">369</a>         writeElement(element);
+<a name="370" href="#370">370</a> 
+<a name="371" href="#371">371</a>         <strong>if</strong> (autoFlush) {
+<a name="372" href="#372">372</a>             flush();
+<a name="373" href="#373">373</a>         }
+<a name="374" href="#374">374</a>     }
+<a name="375" href="#375">375</a> 
+<a name="376" href="#376">376</a>     <em>/**<em>*</em></em>
+<a name="377" href="#377">377</a> <em>     * Writes the given {@link CDATA}.</em>
+<a name="378" href="#378">378</a> <em>     * </em>
+<a name="379" href="#379">379</a> <em>     * @param cdata</em>
+<a name="380" href="#380">380</a> <em>     *            <code>CDATA</code> to output.</em>
+<a name="381" href="#381">381</a> <em>     * </em>
+<a name="382" href="#382">382</a> <em>     * @throws IOException</em>
+<a name="383" href="#383">383</a> <em>     *             DOCUMENT ME!</em>
+<a name="384" href="#384">384</a> <em>     */</em>
+<a name="385" href="#385">385</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/CDATA.html">CDATA</a> cdata) throws IOException {
+<a name="386" href="#386">386</a>         writeCDATA(cdata.getText());
+<a name="387" href="#387">387</a> 
+<a name="388" href="#388">388</a>         <strong>if</strong> (autoFlush) {
+<a name="389" href="#389">389</a>             flush();
+<a name="390" href="#390">390</a>         }
+<a name="391" href="#391">391</a>     }
+<a name="392" href="#392">392</a> 
+<a name="393" href="#393">393</a>     <em>/**<em>*</em></em>
+<a name="394" href="#394">394</a> <em>     * Writes the given {@link Comment}.</em>
+<a name="395" href="#395">395</a> <em>     * </em>
+<a name="396" href="#396">396</a> <em>     * @param comment</em>
+<a name="397" href="#397">397</a> <em>     *            <code>Comment</code> to output.</em>
+<a name="398" href="#398">398</a> <em>     * </em>
+<a name="399" href="#399">399</a> <em>     * @throws IOException</em>
+<a name="400" href="#400">400</a> <em>     *             DOCUMENT ME!</em>
+<a name="401" href="#401">401</a> <em>     */</em>
+<a name="402" href="#402">402</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Comment.html">Comment</a> comment) throws IOException {
+<a name="403" href="#403">403</a>         writeComment(comment.getText());
+<a name="404" href="#404">404</a> 
+<a name="405" href="#405">405</a>         <strong>if</strong> (autoFlush) {
+<a name="406" href="#406">406</a>             flush();
+<a name="407" href="#407">407</a>         }
+<a name="408" href="#408">408</a>     }
+<a name="409" href="#409">409</a> 
+<a name="410" href="#410">410</a>     <em>/**<em>*</em></em>
+<a name="411" href="#411">411</a> <em>     * Writes the given {@link DocumentType}.</em>
+<a name="412" href="#412">412</a> <em>     * </em>
+<a name="413" href="#413">413</a> <em>     * @param docType</em>
+<a name="414" href="#414">414</a> <em>     *            <code>DocumentType</code> to output.</em>
+<a name="415" href="#415">415</a> <em>     * </em>
+<a name="416" href="#416">416</a> <em>     * @throws IOException</em>
+<a name="417" href="#417">417</a> <em>     *             DOCUMENT ME!</em>
+<a name="418" href="#418">418</a> <em>     */</em>
+<a name="419" href="#419">419</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType) throws IOException {
+<a name="420" href="#420">420</a>         writeDocType(docType);
+<a name="421" href="#421">421</a> 
+<a name="422" href="#422">422</a>         <strong>if</strong> (autoFlush) {
+<a name="423" href="#423">423</a>             flush();
+<a name="424" href="#424">424</a>         }
+<a name="425" href="#425">425</a>     }
+<a name="426" href="#426">426</a> 
+<a name="427" href="#427">427</a>     <em>/**<em>*</em></em>
+<a name="428" href="#428">428</a> <em>     * Writes the given {@link Entity}.</em>
+<a name="429" href="#429">429</a> <em>     * </em>
+<a name="430" href="#430">430</a> <em>     * @param entity</em>
+<a name="431" href="#431">431</a> <em>     *            <code>Entity</code> to output.</em>
+<a name="432" href="#432">432</a> <em>     * </em>
+<a name="433" href="#433">433</a> <em>     * @throws IOException</em>
+<a name="434" href="#434">434</a> <em>     *             DOCUMENT ME!</em>
+<a name="435" href="#435">435</a> <em>     */</em>
+<a name="436" href="#436">436</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Entity.html">Entity</a> entity) throws IOException {
+<a name="437" href="#437">437</a>         writeEntity(entity);
+<a name="438" href="#438">438</a> 
+<a name="439" href="#439">439</a>         <strong>if</strong> (autoFlush) {
+<a name="440" href="#440">440</a>             flush();
+<a name="441" href="#441">441</a>         }
+<a name="442" href="#442">442</a>     }
+<a name="443" href="#443">443</a> 
+<a name="444" href="#444">444</a>     <em>/**<em>*</em></em>
+<a name="445" href="#445">445</a> <em>     * Writes the given {@link Namespace}.</em>
+<a name="446" href="#446">446</a> <em>     * </em>
+<a name="447" href="#447">447</a> <em>     * @param namespace</em>
+<a name="448" href="#448">448</a> <em>     *            <code>Namespace</code> to output.</em>
+<a name="449" href="#449">449</a> <em>     * </em>
+<a name="450" href="#450">450</a> <em>     * @throws IOException</em>
+<a name="451" href="#451">451</a> <em>     *             DOCUMENT ME!</em>
+<a name="452" href="#452">452</a> <em>     */</em>
+<a name="453" href="#453">453</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) throws IOException {
+<a name="454" href="#454">454</a>         writeNamespace(namespace);
+<a name="455" href="#455">455</a> 
+<a name="456" href="#456">456</a>         <strong>if</strong> (autoFlush) {
+<a name="457" href="#457">457</a>             flush();
+<a name="458" href="#458">458</a>         }
+<a name="459" href="#459">459</a>     }
+<a name="460" href="#460">460</a> 
+<a name="461" href="#461">461</a>     <em>/**<em>*</em></em>
+<a name="462" href="#462">462</a> <em>     * Writes the given {@link ProcessingInstruction}.</em>
+<a name="463" href="#463">463</a> <em>     * </em>
+<a name="464" href="#464">464</a> <em>     * @param processingInstruction</em>
+<a name="465" href="#465">465</a> <em>     *            <code>ProcessingInstruction</code> to output.</em>
+<a name="466" href="#466">466</a> <em>     * </em>
+<a name="467" href="#467">467</a> <em>     * @throws IOException</em>
+<a name="468" href="#468">468</a> <em>     *             DOCUMENT ME!</em>
+<a name="469" href="#469">469</a> <em>     */</em>
+<a name="470" href="#470">470</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> processingInstruction)
+<a name="471" href="#471">471</a>             throws IOException {
+<a name="472" href="#472">472</a>         writeProcessingInstruction(processingInstruction);
+<a name="473" href="#473">473</a> 
+<a name="474" href="#474">474</a>         <strong>if</strong> (autoFlush) {
+<a name="475" href="#475">475</a>             flush();
+<a name="476" href="#476">476</a>         }
+<a name="477" href="#477">477</a>     }
+<a name="478" href="#478">478</a> 
+<a name="479" href="#479">479</a>     <em>/**<em>*</em></em>
+<a name="480" href="#480">480</a> <em>     * <p></em>
+<a name="481" href="#481">481</a> <em>     * Print out a {@link String}, Perfoms the necessary entity escaping and</em>
+<a name="482" href="#482">482</a> <em>     * whitespace stripping.</em>
+<a name="483" href="#483">483</a> <em>     * </p></em>
+<a name="484" href="#484">484</a> <em>     * </em>
+<a name="485" href="#485">485</a> <em>     * @param text</em>
+<a name="486" href="#486">486</a> <em>     *            is the text to output</em>
+<a name="487" href="#487">487</a> <em>     * </em>
+<a name="488" href="#488">488</a> <em>     * @throws IOException</em>
+<a name="489" href="#489">489</a> <em>     *             DOCUMENT ME!</em>
+<a name="490" href="#490">490</a> <em>     */</em>
+<a name="491" href="#491">491</a>     <strong>public</strong> <strong>void</strong> write(String text) throws IOException {
+<a name="492" href="#492">492</a>         writeString(text);
+<a name="493" href="#493">493</a> 
+<a name="494" href="#494">494</a>         <strong>if</strong> (autoFlush) {
+<a name="495" href="#495">495</a>             flush();
+<a name="496" href="#496">496</a>         }
+<a name="497" href="#497">497</a>     }
+<a name="498" href="#498">498</a> 
+<a name="499" href="#499">499</a>     <em>/**<em>*</em></em>
+<a name="500" href="#500">500</a> <em>     * Writes the given {@link Text}.</em>
+<a name="501" href="#501">501</a> <em>     * </em>
+<a name="502" href="#502">502</a> <em>     * @param text</em>
+<a name="503" href="#503">503</a> <em>     *            <code>Text</code> to output.</em>
+<a name="504" href="#504">504</a> <em>     * </em>
+<a name="505" href="#505">505</a> <em>     * @throws IOException</em>
+<a name="506" href="#506">506</a> <em>     *             DOCUMENT ME!</em>
+<a name="507" href="#507">507</a> <em>     */</em>
+<a name="508" href="#508">508</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Text.html">Text</a> text) throws IOException {
+<a name="509" href="#509">509</a>         writeString(text.getText());
+<a name="510" href="#510">510</a> 
+<a name="511" href="#511">511</a>         <strong>if</strong> (autoFlush) {
+<a name="512" href="#512">512</a>             flush();
+<a name="513" href="#513">513</a>         }
+<a name="514" href="#514">514</a>     }
+<a name="515" href="#515">515</a> 
+<a name="516" href="#516">516</a>     <em>/**<em>*</em></em>
+<a name="517" href="#517">517</a> <em>     * Writes the given {@link Node}.</em>
+<a name="518" href="#518">518</a> <em>     * </em>
+<a name="519" href="#519">519</a> <em>     * @param node</em>
+<a name="520" href="#520">520</a> <em>     *            <code>Node</code> to output.</em>
+<a name="521" href="#521">521</a> <em>     * </em>
+<a name="522" href="#522">522</a> <em>     * @throws IOException</em>
+<a name="523" href="#523">523</a> <em>     *             DOCUMENT ME!</em>
+<a name="524" href="#524">524</a> <em>     */</em>
+<a name="525" href="#525">525</a>     <strong>public</strong> <strong>void</strong> write(<a href="../../../org/dom4j/Node.html">Node</a> node) throws IOException {
+<a name="526" href="#526">526</a>         writeNode(node);
+<a name="527" href="#527">527</a> 
+<a name="528" href="#528">528</a>         <strong>if</strong> (autoFlush) {
+<a name="529" href="#529">529</a>             flush();
+<a name="530" href="#530">530</a>         }
+<a name="531" href="#531">531</a>     }
+<a name="532" href="#532">532</a> 
+<a name="533" href="#533">533</a>     <em>/**<em>*</em></em>
+<a name="534" href="#534">534</a> <em>     * Writes the given object which should be a String, a Node or a List of</em>
+<a name="535" href="#535">535</a> <em>     * Nodes.</em>
+<a name="536" href="#536">536</a> <em>     * </em>
+<a name="537" href="#537">537</a> <em>     * @param object</em>
+<a name="538" href="#538">538</a> <em>     *            is the object to output.</em>
+<a name="539" href="#539">539</a> <em>     * </em>
+<a name="540" href="#540">540</a> <em>     * @throws IOException</em>
+<a name="541" href="#541">541</a> <em>     *             DOCUMENT ME!</em>
+<a name="542" href="#542">542</a> <em>     */</em>
+<a name="543" href="#543">543</a>     <strong>public</strong> <strong>void</strong> write(Object object) throws IOException {
+<a name="544" href="#544">544</a>         <strong>if</strong> (object instanceof Node) {
+<a name="545" href="#545">545</a>             write((Node) object);
+<a name="546" href="#546">546</a>         } <strong>else</strong> <strong>if</strong> (object instanceof String) {
+<a name="547" href="#547">547</a>             write((String) object);
+<a name="548" href="#548">548</a>         } <strong>else</strong> <strong>if</strong> (object instanceof List) {
+<a name="549" href="#549">549</a>             List list = (List) object;
+<a name="550" href="#550">550</a> 
+<a name="551" href="#551">551</a>             <strong>for</strong> (<strong>int</strong> i = 0, size = list.size(); i < size; i++) {
+<a name="552" href="#552">552</a>                 write(list.get(i));
+<a name="553" href="#553">553</a>             }
+<a name="554" href="#554">554</a>         } <strong>else</strong> <strong>if</strong> (object != <strong>null</strong>) {
+<a name="555" href="#555">555</a>             <strong>throw</strong> <strong>new</strong> IOException(<span class="string">"Invalid object: "</span> + object);
+<a name="556" href="#556">556</a>         }
+<a name="557" href="#557">557</a>     }
+<a name="558" href="#558">558</a> 
+<a name="559" href="#559">559</a>     <em>/**<em>*</em></em>
+<a name="560" href="#560">560</a> <em>     * <p></em>
+<a name="561" href="#561">561</a> <em>     * Writes the opening tag of an {@link Element}, including its {@link</em>
+<a name="562" href="#562">562</a> <em>     * Attribute}s but without its content.</em>
+<a name="563" href="#563">563</a> <em>     * </p></em>
+<a name="564" href="#564">564</a> <em>     * </em>
+<a name="565" href="#565">565</a> <em>     * @param element</em>
+<a name="566" href="#566">566</a> <em>     *            <code>Element</code> to output.</em>
+<a name="567" href="#567">567</a> <em>     * </em>
+<a name="568" href="#568">568</a> <em>     * @throws IOException</em>
+<a name="569" href="#569">569</a> <em>     *             DOCUMENT ME!</em>
+<a name="570" href="#570">570</a> <em>     */</em>
+<a name="571" href="#571">571</a>     <strong>public</strong> <strong>void</strong> writeOpen(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="572" href="#572">572</a>         writer.write(<span class="string">"<"</span>);
+<a name="573" href="#573">573</a>         writer.write(element.getQualifiedName());
+<a name="574" href="#574">574</a>         writeAttributes(element);
+<a name="575" href="#575">575</a>         writer.write(<span class="string">">"</span>);
+<a name="576" href="#576">576</a>     }
+<a name="577" href="#577">577</a> 
+<a name="578" href="#578">578</a>     <em>/**<em>*</em></em>
+<a name="579" href="#579">579</a> <em>     * <p></em>
+<a name="580" href="#580">580</a> <em>     * Writes the closing tag of an {@link Element}</em>
+<a name="581" href="#581">581</a> <em>     * </p></em>
+<a name="582" href="#582">582</a> <em>     * </em>
+<a name="583" href="#583">583</a> <em>     * @param element</em>
+<a name="584" href="#584">584</a> <em>     *            <code>Element</code> to output.</em>
+<a name="585" href="#585">585</a> <em>     * </em>
+<a name="586" href="#586">586</a> <em>     * @throws IOException</em>
+<a name="587" href="#587">587</a> <em>     *             DOCUMENT ME!</em>
+<a name="588" href="#588">588</a> <em>     */</em>
+<a name="589" href="#589">589</a>     <strong>public</strong> <strong>void</strong> writeClose(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="590" href="#590">590</a>         writeClose(element.getQualifiedName());
+<a name="591" href="#591">591</a>     }
+<a name="592" href="#592">592</a> 
+<a name="593" href="#593">593</a>     <em class="comment">// XMLFilterImpl methods</em>
+<a name="594" href="#594">594</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="595" href="#595">595</a>     <strong>public</strong> <strong>void</strong> parse(InputSource source) throws IOException, SAXException {
+<a name="596" href="#596">596</a>         installLexicalHandler();
+<a name="597" href="#597">597</a>         <strong>super</strong>.parse(source);
+<a name="598" href="#598">598</a>     }
+<a name="599" href="#599">599</a> 
+<a name="600" href="#600">600</a>     <strong>public</strong> <strong>void</strong> setProperty(String name, Object value)
+<a name="601" href="#601">601</a>             throws SAXNotRecognizedException, SAXNotSupportedException {
+<a name="602" href="#602">602</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+<a name="603" href="#603">603</a>             <strong>if</strong> (LEXICAL_HANDLER_NAMES[i].equals(name)) {
+<a name="604" href="#604">604</a>                 setLexicalHandler((LexicalHandler) value);
+<a name="605" href="#605">605</a> 
+<a name="606" href="#606">606</a>                 <strong>return</strong>;
+<a name="607" href="#607">607</a>             }
+<a name="608" href="#608">608</a>         }
+<a name="609" href="#609">609</a> 
+<a name="610" href="#610">610</a>         <strong>super</strong>.setProperty(name, value);
+<a name="611" href="#611">611</a>     }
+<a name="612" href="#612">612</a> 
+<a name="613" href="#613">613</a>     <strong>public</strong> Object getProperty(String name) throws SAXNotRecognizedException,
+<a name="614" href="#614">614</a>             SAXNotSupportedException {
+<a name="615" href="#615">615</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+<a name="616" href="#616">616</a>             <strong>if</strong> (LEXICAL_HANDLER_NAMES[i].equals(name)) {
+<a name="617" href="#617">617</a>                 <strong>return</strong> getLexicalHandler();
+<a name="618" href="#618">618</a>             }
+<a name="619" href="#619">619</a>         }
+<a name="620" href="#620">620</a> 
+<a name="621" href="#621">621</a>         <strong>return</strong> <strong>super</strong>.getProperty(name);
+<a name="622" href="#622">622</a>     }
+<a name="623" href="#623">623</a> 
+<a name="624" href="#624">624</a>     <strong>public</strong> <strong>void</strong> setLexicalHandler(LexicalHandler handler) {
+<a name="625" href="#625">625</a>         <strong>if</strong> (handler == <strong>null</strong>) {
+<a name="626" href="#626">626</a>             <strong>throw</strong> <strong>new</strong> NullPointerException(<span class="string">"Null lexical handler"</span>);
+<a name="627" href="#627">627</a>         } <strong>else</strong> {
+<a name="628" href="#628">628</a>             <strong>this</strong>.lexicalHandler = handler;
+<a name="629" href="#629">629</a>         }
+<a name="630" href="#630">630</a>     }
+<a name="631" href="#631">631</a> 
+<a name="632" href="#632">632</a>     <strong>public</strong> LexicalHandler getLexicalHandler() {
+<a name="633" href="#633">633</a>         <strong>return</strong> lexicalHandler;
+<a name="634" href="#634">634</a>     }
+<a name="635" href="#635">635</a> 
+<a name="636" href="#636">636</a>     <em class="comment">// ContentHandler interface</em>
+<a name="637" href="#637">637</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="638" href="#638">638</a>     <strong>public</strong> <strong>void</strong> setDocumentLocator(Locator locator) {
+<a name="639" href="#639">639</a>         <strong>super</strong>.setDocumentLocator(locator);
+<a name="640" href="#640">640</a>     }
+<a name="641" href="#641">641</a> 
+<a name="642" href="#642">642</a>     <strong>public</strong> <strong>void</strong> startDocument() throws SAXException {
+<a name="643" href="#643">643</a>         <strong>try</strong> {
+<a name="644" href="#644">644</a>             writeDeclaration();
+<a name="645" href="#645">645</a>             <strong>super</strong>.startDocument();
+<a name="646" href="#646">646</a>         } <strong>catch</strong> (IOException e) {
+<a name="647" href="#647">647</a>             handleException(e);
+<a name="648" href="#648">648</a>         }
+<a name="649" href="#649">649</a>     }
+<a name="650" href="#650">650</a> 
+<a name="651" href="#651">651</a>     <strong>public</strong> <strong>void</strong> endDocument() throws SAXException {
+<a name="652" href="#652">652</a>         <strong>super</strong>.endDocument();
+<a name="653" href="#653">653</a> 
+<a name="654" href="#654">654</a>         <strong>if</strong> (autoFlush) {
+<a name="655" href="#655">655</a>             <strong>try</strong> {
+<a name="656" href="#656">656</a>                 flush();
+<a name="657" href="#657">657</a>             } <strong>catch</strong> (IOException e) {
+<a name="658" href="#658">658</a>             }
+<a name="659" href="#659">659</a>         }
+<a name="660" href="#660">660</a>     }
+<a name="661" href="#661">661</a> 
+<a name="662" href="#662">662</a>     <strong>public</strong> <strong>void</strong> startPrefixMapping(String prefix, String uri)
+<a name="663" href="#663">663</a>             throws SAXException {
+<a name="664" href="#664">664</a>         <strong>if</strong> (namespacesMap == <strong>null</strong>) {
+<a name="665" href="#665">665</a>             namespacesMap = <strong>new</strong> HashMap();
+<a name="666" href="#666">666</a>         }
+<a name="667" href="#667">667</a> 
+<a name="668" href="#668">668</a>         namespacesMap.put(prefix, uri);
+<a name="669" href="#669">669</a>         <strong>super</strong>.startPrefixMapping(prefix, uri);
+<a name="670" href="#670">670</a>     }
+<a name="671" href="#671">671</a> 
+<a name="672" href="#672">672</a>     <strong>public</strong> <strong>void</strong> endPrefixMapping(String prefix) throws SAXException {
+<a name="673" href="#673">673</a>         <strong>super</strong>.endPrefixMapping(prefix);
+<a name="674" href="#674">674</a>     }
+<a name="675" href="#675">675</a> 
+<a name="676" href="#676">676</a>     <strong>public</strong> <strong>void</strong> startElement(String namespaceURI, String localName,
+<a name="677" href="#677">677</a>             String qName, Attributes attributes) throws SAXException {
+<a name="678" href="#678">678</a>         <strong>try</strong> {
+<a name="679" href="#679">679</a>             charsAdded = false;
+<a name="680" href="#680">680</a> 
+<a name="681" href="#681">681</a>             writePrintln();
+<a name="682" href="#682">682</a>             indent();
+<a name="683" href="#683">683</a>             writer.write(<span class="string">"<"</span>);
+<a name="684" href="#684">684</a>             writer.write(qName);
+<a name="685" href="#685">685</a>             writeNamespaces();
+<a name="686" href="#686">686</a>             writeAttributes(attributes);
+<a name="687" href="#687">687</a>             writer.write(<span class="string">">"</span>);
+<a name="688" href="#688">688</a>             ++indentLevel;
+<a name="689" href="#689">689</a>             lastOutputNodeType = Node.ELEMENT_NODE;
+<a name="690" href="#690">690</a>             lastElementClosed = false;
+<a name="691" href="#691">691</a> 
+<a name="692" href="#692">692</a>             <strong>super</strong>.startElement(namespaceURI, localName, qName, attributes);
+<a name="693" href="#693">693</a>         } <strong>catch</strong> (IOException e) {
+<a name="694" href="#694">694</a>             handleException(e);
+<a name="695" href="#695">695</a>         }
+<a name="696" href="#696">696</a>     }
+<a name="697" href="#697">697</a> 
+<a name="698" href="#698">698</a>     <strong>public</strong> <strong>void</strong> endElement(String namespaceURI, String localName, String qName)
+<a name="699" href="#699">699</a>             throws SAXException {
+<a name="700" href="#700">700</a>         <strong>try</strong> {
+<a name="701" href="#701">701</a>             charsAdded = false;
+<a name="702" href="#702">702</a>             --indentLevel;
+<a name="703" href="#703">703</a> 
+<a name="704" href="#704">704</a>             <strong>if</strong> (lastElementClosed) {
+<a name="705" href="#705">705</a>                 writePrintln();
+<a name="706" href="#706">706</a>                 indent();
+<a name="707" href="#707">707</a>             }
+<a name="708" href="#708">708</a> 
+<a name="709" href="#709">709</a>             <em class="comment">// XXXX: need to determine this using a stack and checking for</em>
+<a name="710" href="#710">710</a>             <em class="comment">// content / children</em>
+<a name="711" href="#711">711</a>             <strong>boolean</strong> hadContent = <strong>true</strong>;
+<a name="712" href="#712">712</a> 
+<a name="713" href="#713">713</a>             <strong>if</strong> (hadContent) {
+<a name="714" href="#714">714</a>                 writeClose(qName);
+<a name="715" href="#715">715</a>             } <strong>else</strong> {
+<a name="716" href="#716">716</a>                 writeEmptyElementClose(qName);
+<a name="717" href="#717">717</a>             }
+<a name="718" href="#718">718</a> 
+<a name="719" href="#719">719</a>             lastOutputNodeType = Node.ELEMENT_NODE;
+<a name="720" href="#720">720</a>             lastElementClosed = <strong>true</strong>;
+<a name="721" href="#721">721</a> 
+<a name="722" href="#722">722</a>             <strong>super</strong>.endElement(namespaceURI, localName, qName);
+<a name="723" href="#723">723</a>         } <strong>catch</strong> (IOException e) {
+<a name="724" href="#724">724</a>             handleException(e);
+<a name="725" href="#725">725</a>         }
+<a name="726" href="#726">726</a>     }
+<a name="727" href="#727">727</a> 
+<a name="728" href="#728">728</a>     <strong>public</strong> <strong>void</strong> <strong>char</strong>acters(<strong>char</strong>[] ch, <strong>int</strong> start, <strong>int</strong> length)
+<a name="729" href="#729">729</a>             throws SAXException {
+<a name="730" href="#730">730</a>         <strong>if</strong> ((ch == <strong>null</strong>) || (ch.length == 0) || (length <= 0)) {
+<a name="731" href="#731">731</a>             <strong>return</strong>;
+<a name="732" href="#732">732</a>         }
+<a name="733" href="#733">733</a> 
+<a name="734" href="#734">734</a>         <strong>try</strong> {
+<a name="735" href="#735">735</a>             <em class="comment">/*</em>
+<a name="736" href="#736">736</a> <em class="comment">             * we can't use the writeString method here because it's possible we</em>
+<a name="737" href="#737">737</a> <em class="comment">             * don't receive all characters at once and calling writeString</em>
+<a name="738" href="#738">738</a> <em class="comment">             * would cause unwanted spaces to be added in between these chunks</em>
+<a name="739" href="#739">739</a> <em class="comment">             * of character arrays.</em>
+<a name="740" href="#740">740</a> <em class="comment">             */</em>
+<a name="741" href="#741">741</a>             String string = String.valueOf(ch, start, length);
+<a name="742" href="#742">742</a> 
+<a name="743" href="#743">743</a>             <strong>if</strong> (escapeText) {
+<a name="744" href="#744">744</a>                 string = escapeElementEntities(string);
+<a name="745" href="#745">745</a>             }
+<a name="746" href="#746">746</a> 
+<a name="747" href="#747">747</a>             <strong>if</strong> (format.isTrimText()) {
+<a name="748" href="#748">748</a>                 <strong>if</strong> ((lastOutputNodeType == Node.TEXT_NODE) && !charsAdded) {
+<a name="749" href="#749">749</a>                     writer.write(' ');
+<a name="750" href="#750">750</a>                 } <strong>else</strong> <strong>if</strong> (charsAdded && Character.isWhitespace(lastChar)) {
+<a name="751" href="#751">751</a>                     writer.write(' ');
+<a name="752" href="#752">752</a>                 } <strong>else</strong> <strong>if</strong> (lastOutputNodeType == Node.ELEMENT_NODE
+<a name="753" href="#753">753</a>                         && format.isPadText() && lastElementClosed
+<a name="754" href="#754">754</a>                         && Character.isWhitespace(ch[0])) {
+<a name="755" href="#755">755</a>                     writer.write(PAD_TEXT);
+<a name="756" href="#756">756</a>                 }
+<a name="757" href="#757">757</a> 
+<a name="758" href="#758">758</a>                 String delim = <span class="string">""</span>;
+<a name="759" href="#759">759</a>                 StringTokenizer tokens = <strong>new</strong> StringTokenizer(string);
+<a name="760" href="#760">760</a> 
+<a name="761" href="#761">761</a>                 <strong>while</strong> (tokens.hasMoreTokens()) {
+<a name="762" href="#762">762</a>                     writer.write(delim);
+<a name="763" href="#763">763</a>                     writer.write(tokens.nextToken());
+<a name="764" href="#764">764</a>                     delim = <span class="string">" "</span>;
+<a name="765" href="#765">765</a>                 }
+<a name="766" href="#766">766</a>             } <strong>else</strong> {
+<a name="767" href="#767">767</a>                 writer.write(string);
+<a name="768" href="#768">768</a>             }
+<a name="769" href="#769">769</a> 
+<a name="770" href="#770">770</a>             charsAdded = <strong>true</strong>;
+<a name="771" href="#771">771</a>             lastChar = ch[(start + length) - 1];
+<a name="772" href="#772">772</a>             lastOutputNodeType = Node.TEXT_NODE;
+<a name="773" href="#773">773</a> 
+<a name="774" href="#774">774</a>             <strong>super</strong>.characters(ch, start, length);
+<a name="775" href="#775">775</a>         } <strong>catch</strong> (IOException e) {
+<a name="776" href="#776">776</a>             handleException(e);
+<a name="777" href="#777">777</a>         }
+<a name="778" href="#778">778</a>     }
+<a name="779" href="#779">779</a> 
+<a name="780" href="#780">780</a>     <strong>public</strong> <strong>void</strong> ignorableWhitespace(<strong>char</strong>[] ch, <strong>int</strong> start, <strong>int</strong> length)
+<a name="781" href="#781">781</a>             throws SAXException {
+<a name="782" href="#782">782</a>         <strong>super</strong>.ignorableWhitespace(ch, start, length);
+<a name="783" href="#783">783</a>     }
+<a name="784" href="#784">784</a> 
+<a name="785" href="#785">785</a>     <strong>public</strong> <strong>void</strong> processingInstruction(String target, String data)
+<a name="786" href="#786">786</a>             throws SAXException {
+<a name="787" href="#787">787</a>         <strong>try</strong> {
+<a name="788" href="#788">788</a>             indent();
+<a name="789" href="#789">789</a>             writer.write(<span class="string">"<?"</span>);
+<a name="790" href="#790">790</a>             writer.write(target);
+<a name="791" href="#791">791</a>             writer.write(<span class="string">" "</span>);
+<a name="792" href="#792">792</a>             writer.write(data);
+<a name="793" href="#793">793</a>             writer.write(<span class="string">"?>"</span>);
+<a name="794" href="#794">794</a>             writePrintln();
+<a name="795" href="#795">795</a>             lastOutputNodeType = Node.PROCESSING_INSTRUCTION_NODE;
+<a name="796" href="#796">796</a> 
+<a name="797" href="#797">797</a>             <strong>super</strong>.processingInstruction(target, data);
+<a name="798" href="#798">798</a>         } <strong>catch</strong> (IOException e) {
+<a name="799" href="#799">799</a>             handleException(e);
+<a name="800" href="#800">800</a>         }
+<a name="801" href="#801">801</a>     }
+<a name="802" href="#802">802</a> 
+<a name="803" href="#803">803</a>     <em class="comment">// DTDHandler interface</em>
+<a name="804" href="#804">804</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="805" href="#805">805</a>     <strong>public</strong> <strong>void</strong> notationDecl(String name, String <strong>public</strong>ID, String systemID)
+<a name="806" href="#806">806</a>             throws SAXException {
+<a name="807" href="#807">807</a>         <strong>super</strong>.notationDecl(name, publicID, systemID);
+<a name="808" href="#808">808</a>     }
+<a name="809" href="#809">809</a> 
+<a name="810" href="#810">810</a>     <strong>public</strong> <strong>void</strong> unparsedEntityDecl(String name, String <strong>public</strong>ID,
+<a name="811" href="#811">811</a>             String systemID, String notationName) throws SAXException {
+<a name="812" href="#812">812</a>         <strong>super</strong>.unparsedEntityDecl(name, publicID, systemID, notationName);
+<a name="813" href="#813">813</a>     }
+<a name="814" href="#814">814</a> 
+<a name="815" href="#815">815</a>     <em class="comment">// LexicalHandler interface</em>
+<a name="816" href="#816">816</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="817" href="#817">817</a>     <strong>public</strong> <strong>void</strong> startDTD(String name, String <strong>public</strong>ID, String systemID)
+<a name="818" href="#818">818</a>             throws SAXException {
+<a name="819" href="#819">819</a>         inDTD = <strong>true</strong>;
+<a name="820" href="#820">820</a> 
+<a name="821" href="#821">821</a>         <strong>try</strong> {
+<a name="822" href="#822">822</a>             writeDocType(name, publicID, systemID);
+<a name="823" href="#823">823</a>         } <strong>catch</strong> (IOException e) {
+<a name="824" href="#824">824</a>             handleException(e);
+<a name="825" href="#825">825</a>         }
+<a name="826" href="#826">826</a> 
+<a name="827" href="#827">827</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="828" href="#828">828</a>             lexicalHandler.startDTD(name, publicID, systemID);
+<a name="829" href="#829">829</a>         }
+<a name="830" href="#830">830</a>     }
+<a name="831" href="#831">831</a> 
+<a name="832" href="#832">832</a>     <strong>public</strong> <strong>void</strong> endDTD() throws SAXException {
+<a name="833" href="#833">833</a>         inDTD = false;
+<a name="834" href="#834">834</a> 
+<a name="835" href="#835">835</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="836" href="#836">836</a>             lexicalHandler.endDTD();
+<a name="837" href="#837">837</a>         }
+<a name="838" href="#838">838</a>     }
+<a name="839" href="#839">839</a> 
+<a name="840" href="#840">840</a>     <strong>public</strong> <strong>void</strong> startCDATA() throws SAXException {
+<a name="841" href="#841">841</a>         <strong>try</strong> {
+<a name="842" href="#842">842</a>             writer.write(<span class="string">"<![CDATA["</span>);
+<a name="843" href="#843">843</a>         } <strong>catch</strong> (IOException e) {
+<a name="844" href="#844">844</a>             handleException(e);
+<a name="845" href="#845">845</a>         }
+<a name="846" href="#846">846</a> 
+<a name="847" href="#847">847</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="848" href="#848">848</a>             lexicalHandler.startCDATA();
+<a name="849" href="#849">849</a>         }
+<a name="850" href="#850">850</a>     }
+<a name="851" href="#851">851</a> 
+<a name="852" href="#852">852</a>     <strong>public</strong> <strong>void</strong> endCDATA() throws SAXException {
+<a name="853" href="#853">853</a>         <strong>try</strong> {
+<a name="854" href="#854">854</a>             writer.write(<span class="string">"]]>"</span>);
+<a name="855" href="#855">855</a>         } <strong>catch</strong> (IOException e) {
+<a name="856" href="#856">856</a>             handleException(e);
+<a name="857" href="#857">857</a>         }
+<a name="858" href="#858">858</a> 
+<a name="859" href="#859">859</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="860" href="#860">860</a>             lexicalHandler.endCDATA();
+<a name="861" href="#861">861</a>         }
+<a name="862" href="#862">862</a>     }
+<a name="863" href="#863">863</a> 
+<a name="864" href="#864">864</a>     <strong>public</strong> <strong>void</strong> startEntity(String name) throws SAXException {
+<a name="865" href="#865">865</a>         <strong>try</strong> {
+<a name="866" href="#866">866</a>             writeEntityRef(name);
+<a name="867" href="#867">867</a>         } <strong>catch</strong> (IOException e) {
+<a name="868" href="#868">868</a>             handleException(e);
+<a name="869" href="#869">869</a>         }
+<a name="870" href="#870">870</a> 
+<a name="871" href="#871">871</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="872" href="#872">872</a>             lexicalHandler.startEntity(name);
+<a name="873" href="#873">873</a>         }
+<a name="874" href="#874">874</a>     }
+<a name="875" href="#875">875</a> 
+<a name="876" href="#876">876</a>     <strong>public</strong> <strong>void</strong> endEntity(String name) throws SAXException {
+<a name="877" href="#877">877</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="878" href="#878">878</a>             lexicalHandler.endEntity(name);
+<a name="879" href="#879">879</a>         }
+<a name="880" href="#880">880</a>     }
+<a name="881" href="#881">881</a> 
+<a name="882" href="#882">882</a>     <strong>public</strong> <strong>void</strong> comment(<strong>char</strong>[] ch, <strong>int</strong> start, <strong>int</strong> length) throws SAXException {
+<a name="883" href="#883">883</a>         <strong>if</strong> (showCommentsInDTDs || !inDTD) {
+<a name="884" href="#884">884</a>             <strong>try</strong> {
+<a name="885" href="#885">885</a>                 charsAdded = false;
+<a name="886" href="#886">886</a>                 writeComment(<strong>new</strong> String(ch, start, length));
+<a name="887" href="#887">887</a>             } <strong>catch</strong> (IOException e) {
+<a name="888" href="#888">888</a>                 handleException(e);
+<a name="889" href="#889">889</a>             }
+<a name="890" href="#890">890</a>         }
+<a name="891" href="#891">891</a> 
+<a name="892" href="#892">892</a>         <strong>if</strong> (lexicalHandler != <strong>null</strong>) {
+<a name="893" href="#893">893</a>             lexicalHandler.comment(ch, start, length);
+<a name="894" href="#894">894</a>         }
+<a name="895" href="#895">895</a>     }
+<a name="896" href="#896">896</a> 
+<a name="897" href="#897">897</a>     <em class="comment">// Implementation methods</em>
+<a name="898" href="#898">898</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="899" href="#899">899</a>     <strong>protected</strong> <strong>void</strong> writeElement(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="900" href="#900">900</a>         <strong>int</strong> size = element.nodeCount();
+<a name="901" href="#901">901</a>         String qualifiedName = element.getQualifiedName();
+<a name="902" href="#902">902</a> 
+<a name="903" href="#903">903</a>         writePrintln();
+<a name="904" href="#904">904</a>         indent();
+<a name="905" href="#905">905</a> 
+<a name="906" href="#906">906</a>         writer.write(<span class="string">"<"</span>);
+<a name="907" href="#907">907</a>         writer.write(qualifiedName);
+<a name="908" href="#908">908</a> 
+<a name="909" href="#909">909</a>         <strong>int</strong> previouslyDeclaredNamespaces = namespaceStack.size();
+<a name="910" href="#910">910</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> ns = element.getNamespace();
+<a name="911" href="#911">911</a> 
+<a name="912" href="#912">912</a>         <strong>if</strong> (isNamespaceDeclaration(ns)) {
+<a name="913" href="#913">913</a>             namespaceStack.push(ns);
+<a name="914" href="#914">914</a>             writeNamespace(ns);
+<a name="915" href="#915">915</a>         }
+<a name="916" href="#916">916</a> 
+<a name="917" href="#917">917</a>         <em class="comment">// Print out additional namespace declarations</em>
+<a name="918" href="#918">918</a>         <strong>boolean</strong> textOnly = <strong>true</strong>;
+<a name="919" href="#919">919</a> 
+<a name="920" href="#920">920</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="921" href="#921">921</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = element.node(i);
+<a name="922" href="#922">922</a> 
+<a name="923" href="#923">923</a>             <strong>if</strong> (node instanceof Namespace) {
+<a name="924" href="#924">924</a>                 <a href="../../../org/dom4j/Namespace.html">Namespace</a> additional = (Namespace) node;
+<a name="925" href="#925">925</a> 
+<a name="926" href="#926">926</a>                 <strong>if</strong> (isNamespaceDeclaration(additional)) {
+<a name="927" href="#927">927</a>                     namespaceStack.push(additional);
+<a name="928" href="#928">928</a>                     writeNamespace(additional);
+<a name="929" href="#929">929</a>                 }
+<a name="930" href="#930">930</a>             } <strong>else</strong> <strong>if</strong> (node instanceof Element) {
+<a name="931" href="#931">931</a>                 textOnly = false;
+<a name="932" href="#932">932</a>             } <strong>else</strong> <strong>if</strong> (node instanceof Comment) {
+<a name="933" href="#933">933</a>                 textOnly = false;
+<a name="934" href="#934">934</a>             }
+<a name="935" href="#935">935</a>         }
+<a name="936" href="#936">936</a> 
+<a name="937" href="#937">937</a>         writeAttributes(element);
+<a name="938" href="#938">938</a> 
+<a name="939" href="#939">939</a>         lastOutputNodeType = Node.ELEMENT_NODE;
+<a name="940" href="#940">940</a> 
+<a name="941" href="#941">941</a>         <strong>if</strong> (size <= 0) {
+<a name="942" href="#942">942</a>             writeEmptyElementClose(qualifiedName);
+<a name="943" href="#943">943</a>         } <strong>else</strong> {
+<a name="944" href="#944">944</a>             writer.write(<span class="string">">"</span>);
+<a name="945" href="#945">945</a> 
+<a name="946" href="#946">946</a>             <strong>if</strong> (textOnly) {
+<a name="947" href="#947">947</a>                 <em class="comment">// we have at least one text node so lets assume</em>
+<a name="948" href="#948">948</a>                 <em class="comment">// that its non-empty</em>
+<a name="949" href="#949">949</a>                 writeElementContent(element);
+<a name="950" href="#950">950</a>             } <strong>else</strong> {
+<a name="951" href="#951">951</a>                 <em class="comment">// we know it's not null or empty from above</em>
+<a name="952" href="#952">952</a>                 ++indentLevel;
+<a name="953" href="#953">953</a> 
+<a name="954" href="#954">954</a>                 writeElementContent(element);
+<a name="955" href="#955">955</a> 
+<a name="956" href="#956">956</a>                 --indentLevel;
+<a name="957" href="#957">957</a> 
+<a name="958" href="#958">958</a>                 writePrintln();
+<a name="959" href="#959">959</a>                 indent();
+<a name="960" href="#960">960</a>             }
+<a name="961" href="#961">961</a> 
+<a name="962" href="#962">962</a>             writer.write(<span class="string">"</"</span>);
+<a name="963" href="#963">963</a>             writer.write(qualifiedName);
+<a name="964" href="#964">964</a>             writer.write(<span class="string">">"</span>);
+<a name="965" href="#965">965</a>         }
+<a name="966" href="#966">966</a> 
+<a name="967" href="#967">967</a>         <em class="comment">// remove declared namespaceStack from stack</em>
+<a name="968" href="#968">968</a>         <strong>while</strong> (namespaceStack.size() > previouslyDeclaredNamespaces) {
+<a name="969" href="#969">969</a>             namespaceStack.pop();
+<a name="970" href="#970">970</a>         }
+<a name="971" href="#971">971</a> 
+<a name="972" href="#972">972</a>         lastOutputNodeType = Node.ELEMENT_NODE;
+<a name="973" href="#973">973</a>     }
+<a name="974" href="#974">974</a> 
+<a name="975" href="#975">975</a>     <em>/**<em>*</em></em>
+<a name="976" href="#976">976</a> <em>     * Determines if element is a special case of XML elements where it contains</em>
+<a name="977" href="#977">977</a> <em>     * an xml:space attribute of "preserve". If it does, then retain whitespace.</em>
+<a name="978" href="#978">978</a> <em>     * </em>
+<a name="979" href="#979">979</a> <em>     * @param element</em>
+<a name="980" href="#980">980</a> <em>     *            DOCUMENT ME!</em>
+<a name="981" href="#981">981</a> <em>     * </em>
+<a name="982" href="#982">982</a> <em>     * @return DOCUMENT ME!</em>
+<a name="983" href="#983">983</a> <em>     */</em>
+<a name="984" href="#984">984</a>     <strong>protected</strong> <strong>final</strong> <strong>boolean</strong> isElementSpacePreserved(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="985" href="#985">985</a>         <strong>final</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attr = (Attribute) element.attribute(<span class="string">"space"</span>);
+<a name="986" href="#986">986</a>         <strong>boolean</strong> preserveFound = preserve; <em class="comment">// default to global state</em>
+<a name="987" href="#987">987</a> 
+<a name="988" href="#988">988</a>         <strong>if</strong> (attr != <strong>null</strong>) {
+<a name="989" href="#989">989</a>             <strong>if</strong> (<span class="string">"xml"</span>.equals(attr.getNamespacePrefix())
+<a name="990" href="#990">990</a>                     && <span class="string">"preserve"</span>.equals(attr.getText())) {
+<a name="991" href="#991">991</a>                 preserveFound = <strong>true</strong>;
+<a name="992" href="#992">992</a>             } <strong>else</strong> {
+<a name="993" href="#993">993</a>                 preserveFound = false;
+<a name="994" href="#994">994</a>             }
+<a name="995" href="#995">995</a>         }
+<a name="996" href="#996">996</a> 
+<a name="997" href="#997">997</a>         <strong>return</strong> preserveFound;
+<a name="998" href="#998">998</a>     }
+<a name="999" href="#999">999</a> 
+<a name="1000" href="#1000">1000</a>     <em>/**<em>*</em></em>
+<a name="1001" href="#1001">1001</a> <em>     * Outputs the content of the given element. If whitespace trimming is</em>
+<a name="1002" href="#1002">1002</a> <em>     * enabled then all adjacent text nodes are appended together before the</em>
+<a name="1003" href="#1003">1003</a> <em>     * whitespace trimming occurs to avoid problems with multiple text nodes</em>
+<a name="1004" href="#1004">1004</a> <em>     * being created due to text content that spans parser buffers in a SAX</em>
+<a name="1005" href="#1005">1005</a> <em>     * parser.</em>
+<a name="1006" href="#1006">1006</a> <em>     * </em>
+<a name="1007" href="#1007">1007</a> <em>     * @param element</em>
+<a name="1008" href="#1008">1008</a> <em>     *            DOCUMENT ME!</em>
+<a name="1009" href="#1009">1009</a> <em>     * </em>
+<a name="1010" href="#1010">1010</a> <em>     * @throws IOException</em>
+<a name="1011" href="#1011">1011</a> <em>     *             DOCUMENT ME!</em>
+<a name="1012" href="#1012">1012</a> <em>     */</em>
+<a name="1013" href="#1013">1013</a>     <strong>protected</strong> <strong>void</strong> writeElementContent(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="1014" href="#1014">1014</a>         <strong>boolean</strong> trim = format.isTrimText();
+<a name="1015" href="#1015">1015</a>         <strong>boolean</strong> oldPreserve = preserve;
+<a name="1016" href="#1016">1016</a> 
+<a name="1017" href="#1017">1017</a>         <strong>if</strong> (trim) { <em class="comment">// verify we have to before more expensive test</em>
+<a name="1018" href="#1018">1018</a>             preserve = isElementSpacePreserved(element);
+<a name="1019" href="#1019">1019</a>             trim = !preserve;
+<a name="1020" href="#1020">1020</a>         }
+<a name="1021" href="#1021">1021</a> 
+<a name="1022" href="#1022">1022</a>         <strong>if</strong> (trim) {
+<a name="1023" href="#1023">1023</a>             <em class="comment">// concatenate adjacent text nodes together</em>
+<a name="1024" href="#1024">1024</a>             <em class="comment">// so that whitespace trimming works properly</em>
+<a name="1025" href="#1025">1025</a>             <a href="../../../org/dom4j/Text.html">Text</a> lastTextNode = <strong>null</strong>;
+<a name="1026" href="#1026">1026</a>             StringBuffer buff = <strong>null</strong>;
+<a name="1027" href="#1027">1027</a>             <strong>boolean</strong> textOnly = <strong>true</strong>;
+<a name="1028" href="#1028">1028</a> 
+<a name="1029" href="#1029">1029</a>             <strong>for</strong> (<strong>int</strong> i = 0, size = element.nodeCount(); i < size; i++) {
+<a name="1030" href="#1030">1030</a>                 <a href="../../../org/dom4j/Node.html">Node</a> node = element.node(i);
+<a name="1031" href="#1031">1031</a> 
+<a name="1032" href="#1032">1032</a>                 <strong>if</strong> (node instanceof Text) {
+<a name="1033" href="#1033">1033</a>                     <strong>if</strong> (lastTextNode == <strong>null</strong>) {
+<a name="1034" href="#1034">1034</a>                         lastTextNode = (Text) node;
+<a name="1035" href="#1035">1035</a>                     } <strong>else</strong> {
+<a name="1036" href="#1036">1036</a>                         <strong>if</strong> (buff == <strong>null</strong>) {
+<a name="1037" href="#1037">1037</a>                             buff = <strong>new</strong> StringBuffer(lastTextNode.getText());
+<a name="1038" href="#1038">1038</a>                         }
+<a name="1039" href="#1039">1039</a> 
+<a name="1040" href="#1040">1040</a>                         buff.append(((Text) node).getText());
+<a name="1041" href="#1041">1041</a>                     }
+<a name="1042" href="#1042">1042</a>                 } <strong>else</strong> {
+<a name="1043" href="#1043">1043</a>                     <strong>if</strong> (!textOnly && format.isPadText()) {
+<a name="1044" href="#1044">1044</a>                         <em class="comment">// only add the PAD_TEXT if the text itself starts with</em>
+<a name="1045" href="#1045">1045</a>                         <em class="comment">// whitespace</em>
+<a name="1046" href="#1046">1046</a>                         <strong>char</strong> firstChar = 'a';
+<a name="1047" href="#1047">1047</a>                         <strong>if</strong> (buff != <strong>null</strong>) {
+<a name="1048" href="#1048">1048</a>                             firstChar = buff.charAt(0);
+<a name="1049" href="#1049">1049</a>                         } <strong>else</strong> <strong>if</strong> (lastTextNode != <strong>null</strong>) {
+<a name="1050" href="#1050">1050</a>                             firstChar = lastTextNode.getText().charAt(0);
+<a name="1051" href="#1051">1051</a>                         }
+<a name="1052" href="#1052">1052</a> 
+<a name="1053" href="#1053">1053</a>                         <strong>if</strong> (Character.isWhitespace(firstChar)) {
+<a name="1054" href="#1054">1054</a>                             writer.write(PAD_TEXT);
+<a name="1055" href="#1055">1055</a>                         }
+<a name="1056" href="#1056">1056</a>                     }
+<a name="1057" href="#1057">1057</a> 
+<a name="1058" href="#1058">1058</a>                     <strong>if</strong> (lastTextNode != <strong>null</strong>) {
+<a name="1059" href="#1059">1059</a>                         <strong>if</strong> (buff != <strong>null</strong>) {
+<a name="1060" href="#1060">1060</a>                             writeString(buff.toString());
+<a name="1061" href="#1061">1061</a>                             buff = <strong>null</strong>;
+<a name="1062" href="#1062">1062</a>                         } <strong>else</strong> {
+<a name="1063" href="#1063">1063</a>                             writeString(lastTextNode.getText());
+<a name="1064" href="#1064">1064</a>                         }
+<a name="1065" href="#1065">1065</a> 
+<a name="1066" href="#1066">1066</a>                         <strong>if</strong> (format.isPadText()) {
+<a name="1067" href="#1067">1067</a>                             <em class="comment">// only add the PAD_TEXT if the text itself ends</em>
+<a name="1068" href="#1068">1068</a>                             <em class="comment">// with whitespace</em>
+<a name="1069" href="#1069">1069</a>                             <strong>char</strong> lastTextChar = 'a';
+<a name="1070" href="#1070">1070</a>                             <strong>if</strong> (buff != <strong>null</strong>) {
+<a name="1071" href="#1071">1071</a>                                 lastTextChar = buff.charAt(buff.length() - 1);
+<a name="1072" href="#1072">1072</a>                             } <strong>else</strong> <strong>if</strong> (lastTextNode != <strong>null</strong>) {
+<a name="1073" href="#1073">1073</a>                                 String txt = lastTextNode.getText();
+<a name="1074" href="#1074">1074</a>                                 lastTextChar = txt.charAt(txt.length() - 1);
+<a name="1075" href="#1075">1075</a>                             }
+<a name="1076" href="#1076">1076</a> 
+<a name="1077" href="#1077">1077</a>                             <strong>if</strong> (Character.isWhitespace(lastTextChar)) {
+<a name="1078" href="#1078">1078</a>                                 writer.write(PAD_TEXT);
+<a name="1079" href="#1079">1079</a>                             }
+<a name="1080" href="#1080">1080</a>                         }
+<a name="1081" href="#1081">1081</a> 
+<a name="1082" href="#1082">1082</a>                         lastTextNode = <strong>null</strong>;
+<a name="1083" href="#1083">1083</a>                     }
+<a name="1084" href="#1084">1084</a> 
+<a name="1085" href="#1085">1085</a>                     textOnly = false;
+<a name="1086" href="#1086">1086</a>                     writeNode(node);
+<a name="1087" href="#1087">1087</a>                 }
+<a name="1088" href="#1088">1088</a>             }
+<a name="1089" href="#1089">1089</a> 
+<a name="1090" href="#1090">1090</a>             <strong>if</strong> (lastTextNode != <strong>null</strong>) {
+<a name="1091" href="#1091">1091</a>                 <strong>if</strong> (!textOnly && format.isPadText()) {
+<a name="1092" href="#1092">1092</a>                     <em class="comment">// only add the PAD_TEXT if the text itself starts with</em>
+<a name="1093" href="#1093">1093</a>                     <em class="comment">// whitespace</em>
+<a name="1094" href="#1094">1094</a>                     <strong>char</strong> firstChar = 'a';
+<a name="1095" href="#1095">1095</a>                     <strong>if</strong> (buff != <strong>null</strong>) {
+<a name="1096" href="#1096">1096</a>                         firstChar = buff.charAt(0);
+<a name="1097" href="#1097">1097</a>                     } <strong>else</strong> {
+<a name="1098" href="#1098">1098</a>                         firstChar = lastTextNode.getText().charAt(0);
+<a name="1099" href="#1099">1099</a>                     }
+<a name="1100" href="#1100">1100</a> 
+<a name="1101" href="#1101">1101</a>                     <strong>if</strong> (Character.isWhitespace(firstChar)) {
+<a name="1102" href="#1102">1102</a>                         writer.write(PAD_TEXT);
+<a name="1103" href="#1103">1103</a>                     }
+<a name="1104" href="#1104">1104</a>                 }
+<a name="1105" href="#1105">1105</a> 
+<a name="1106" href="#1106">1106</a>                 <strong>if</strong> (buff != <strong>null</strong>) {
+<a name="1107" href="#1107">1107</a>                     writeString(buff.toString());
+<a name="1108" href="#1108">1108</a>                     buff = <strong>null</strong>;
+<a name="1109" href="#1109">1109</a>                 } <strong>else</strong> {
+<a name="1110" href="#1110">1110</a>                     writeString(lastTextNode.getText());
+<a name="1111" href="#1111">1111</a>                 }
+<a name="1112" href="#1112">1112</a> 
+<a name="1113" href="#1113">1113</a>                 lastTextNode = <strong>null</strong>;
+<a name="1114" href="#1114">1114</a>             }
+<a name="1115" href="#1115">1115</a>         } <strong>else</strong> {
+<a name="1116" href="#1116">1116</a>             <a href="../../../org/dom4j/Node.html">Node</a> lastTextNode = <strong>null</strong>;
+<a name="1117" href="#1117">1117</a> 
+<a name="1118" href="#1118">1118</a>             <strong>for</strong> (<strong>int</strong> i = 0, size = element.nodeCount(); i < size; i++) {
+<a name="1119" href="#1119">1119</a>                 <a href="../../../org/dom4j/Node.html">Node</a> node = element.node(i);
+<a name="1120" href="#1120">1120</a> 
+<a name="1121" href="#1121">1121</a>                 <strong>if</strong> (node instanceof Text) {
+<a name="1122" href="#1122">1122</a>                     writeNode(node);
+<a name="1123" href="#1123">1123</a>                     lastTextNode = node;
+<a name="1124" href="#1124">1124</a>                 } <strong>else</strong> {
+<a name="1125" href="#1125">1125</a>                     <strong>if</strong> ((lastTextNode != <strong>null</strong>) && format.isPadText()) {
+<a name="1126" href="#1126">1126</a>                         <em class="comment">// only add the PAD_TEXT if the text itself ends with</em>
+<a name="1127" href="#1127">1127</a>                         <em class="comment">// whitespace</em>
+<a name="1128" href="#1128">1128</a>                         String txt = lastTextNode.getText();
+<a name="1129" href="#1129">1129</a>                         <strong>char</strong> lastTextChar = txt.<strong>char</strong>At(txt.length() - 1);
+<a name="1130" href="#1130">1130</a> 
+<a name="1131" href="#1131">1131</a>                         <strong>if</strong> (Character.isWhitespace(lastTextChar)) {
+<a name="1132" href="#1132">1132</a>                             writer.write(PAD_TEXT);
+<a name="1133" href="#1133">1133</a>                         }
+<a name="1134" href="#1134">1134</a>                     }
+<a name="1135" href="#1135">1135</a> 
+<a name="1136" href="#1136">1136</a>                     writeNode(node);
+<a name="1137" href="#1137">1137</a> 
+<a name="1138" href="#1138">1138</a>                     <em class="comment">// if ((lastTextNode != null) && format.isPadText()) {</em>
+<a name="1139" href="#1139">1139</a>                     <em class="comment">// writer.write(PAD_TEXT);</em>
+<a name="1140" href="#1140">1140</a>                     <em class="comment">// }</em>
+<a name="1141" href="#1141">1141</a> 
+<a name="1142" href="#1142">1142</a>                     lastTextNode = <strong>null</strong>;
+<a name="1143" href="#1143">1143</a>                 }
+<a name="1144" href="#1144">1144</a>             }
+<a name="1145" href="#1145">1145</a>         }
+<a name="1146" href="#1146">1146</a> 
+<a name="1147" href="#1147">1147</a>         preserve = oldPreserve;
+<a name="1148" href="#1148">1148</a>     }
+<a name="1149" href="#1149">1149</a> 
+<a name="1150" href="#1150">1150</a>     <strong>protected</strong> <strong>void</strong> writeCDATA(String text) throws IOException {
+<a name="1151" href="#1151">1151</a>         writer.write(<span class="string">"<![CDATA["</span>);
+<a name="1152" href="#1152">1152</a> 
+<a name="1153" href="#1153">1153</a>         <strong>if</strong> (text != <strong>null</strong>) {
+<a name="1154" href="#1154">1154</a>             writer.write(text);
+<a name="1155" href="#1155">1155</a>         }
+<a name="1156" href="#1156">1156</a> 
+<a name="1157" href="#1157">1157</a>         writer.write(<span class="string">"]]>"</span>);
+<a name="1158" href="#1158">1158</a> 
+<a name="1159" href="#1159">1159</a>         lastOutputNodeType = Node.CDATA_SECTION_NODE;
+<a name="1160" href="#1160">1160</a>     }
+<a name="1161" href="#1161">1161</a> 
+<a name="1162" href="#1162">1162</a>     <strong>protected</strong> <strong>void</strong> writeDocType(<a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType) throws IOException {
+<a name="1163" href="#1163">1163</a>         <strong>if</strong> (docType != <strong>null</strong>) {
+<a name="1164" href="#1164">1164</a>             docType.write(writer);
+<a name="1165" href="#1165">1165</a>             writePrintln();
+<a name="1166" href="#1166">1166</a>         }
+<a name="1167" href="#1167">1167</a>     }
+<a name="1168" href="#1168">1168</a> 
+<a name="1169" href="#1169">1169</a>     <strong>protected</strong> <strong>void</strong> writeNamespace(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) throws IOException {
+<a name="1170" href="#1170">1170</a>         <strong>if</strong> (namespace != <strong>null</strong>) {
+<a name="1171" href="#1171">1171</a>             writeNamespace(namespace.getPrefix(), namespace.getURI());
+<a name="1172" href="#1172">1172</a>         }
+<a name="1173" href="#1173">1173</a>     }
+<a name="1174" href="#1174">1174</a> 
+<a name="1175" href="#1175">1175</a>     <em>/**<em>*</em></em>
+<a name="1176" href="#1176">1176</a> <em>     * Writes the SAX namepsaces</em>
+<a name="1177" href="#1177">1177</a> <em>     * </em>
+<a name="1178" href="#1178">1178</a> <em>     * @throws IOException</em>
+<a name="1179" href="#1179">1179</a> <em>     *             DOCUMENT ME!</em>
+<a name="1180" href="#1180">1180</a> <em>     */</em>
+<a name="1181" href="#1181">1181</a>     <strong>protected</strong> <strong>void</strong> writeNamespaces() throws IOException {
+<a name="1182" href="#1182">1182</a>         <strong>if</strong> (namespacesMap != <strong>null</strong>) {
+<a name="1183" href="#1183">1183</a>             <strong>for</strong> (Iterator iter = namespacesMap.entrySet().iterator(); iter
+<a name="1184" href="#1184">1184</a>                     .hasNext();) {
+<a name="1185" href="#1185">1185</a>                 Map.Entry entry = (Map.Entry) iter.next();
+<a name="1186" href="#1186">1186</a>                 String prefix = (String) entry.getKey();
+<a name="1187" href="#1187">1187</a>                 String uri = (String) entry.getValue();
+<a name="1188" href="#1188">1188</a>                 writeNamespace(prefix, uri);
+<a name="1189" href="#1189">1189</a>             }
+<a name="1190" href="#1190">1190</a> 
+<a name="1191" href="#1191">1191</a>             namespacesMap = <strong>null</strong>;
+<a name="1192" href="#1192">1192</a>         }
+<a name="1193" href="#1193">1193</a>     }
+<a name="1194" href="#1194">1194</a> 
+<a name="1195" href="#1195">1195</a>     <em>/**<em>*</em></em>
+<a name="1196" href="#1196">1196</a> <em>     * Writes the SAX namepsaces</em>
+<a name="1197" href="#1197">1197</a> <em>     * </em>
+<a name="1198" href="#1198">1198</a> <em>     * @param prefix</em>
+<a name="1199" href="#1199">1199</a> <em>     *            the prefix</em>
+<a name="1200" href="#1200">1200</a> <em>     * @param uri</em>
+<a name="1201" href="#1201">1201</a> <em>     *            the namespace uri</em>
+<a name="1202" href="#1202">1202</a> <em>     * </em>
+<a name="1203" href="#1203">1203</a> <em>     * @throws IOException</em>
+<a name="1204" href="#1204">1204</a> <em>     */</em>
+<a name="1205" href="#1205">1205</a>     <strong>protected</strong> <strong>void</strong> writeNamespace(String prefix, String uri) 
+<a name="1206" href="#1206">1206</a>             throws IOException {
+<a name="1207" href="#1207">1207</a>         <strong>if</strong> ((prefix != <strong>null</strong>) && (prefix.length() > 0)) {
+<a name="1208" href="#1208">1208</a>             writer.write(<span class="string">" xmlns:"</span>);
+<a name="1209" href="#1209">1209</a>             writer.write(prefix);
+<a name="1210" href="#1210">1210</a>             writer.write(<span class="string">"=\""</span>);
+<a name="1211" href="#1211">1211</a>         } <strong>else</strong> {
+<a name="1212" href="#1212">1212</a>             writer.write(<span class="string">" xmlns=\""</span>);
+<a name="1213" href="#1213">1213</a>         }
+<a name="1214" href="#1214">1214</a> 
+<a name="1215" href="#1215">1215</a>         writer.write(uri);
+<a name="1216" href="#1216">1216</a>         writer.write(<span class="string">"\""</span>);
+<a name="1217" href="#1217">1217</a>     }
+<a name="1218" href="#1218">1218</a> 
+<a name="1219" href="#1219">1219</a>     <strong>protected</strong> <strong>void</strong> writeProcessingInstruction(<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi)
+<a name="1220" href="#1220">1220</a>             throws IOException {
+<a name="1221" href="#1221">1221</a>         <em class="comment">// indent();</em>
+<a name="1222" href="#1222">1222</a>         writer.write(<span class="string">"<?"</span>);
+<a name="1223" href="#1223">1223</a>         writer.write(pi.getName());
+<a name="1224" href="#1224">1224</a>         writer.write(<span class="string">" "</span>);
+<a name="1225" href="#1225">1225</a>         writer.write(pi.getText());
+<a name="1226" href="#1226">1226</a>         writer.write(<span class="string">"?>"</span>);
+<a name="1227" href="#1227">1227</a>         writePrintln();
+<a name="1228" href="#1228">1228</a> 
+<a name="1229" href="#1229">1229</a>         lastOutputNodeType = Node.PROCESSING_INSTRUCTION_NODE;
+<a name="1230" href="#1230">1230</a>     }
+<a name="1231" href="#1231">1231</a> 
+<a name="1232" href="#1232">1232</a>     <strong>protected</strong> <strong>void</strong> writeString(String text) throws IOException {
+<a name="1233" href="#1233">1233</a>         <strong>if</strong> ((text != <strong>null</strong>) && (text.length() > 0)) {
+<a name="1234" href="#1234">1234</a>             <strong>if</strong> (escapeText) {
+<a name="1235" href="#1235">1235</a>                 text = escapeElementEntities(text);
+<a name="1236" href="#1236">1236</a>             }
+<a name="1237" href="#1237">1237</a> 
+<a name="1238" href="#1238">1238</a>             <em class="comment">// if (format.isPadText()) {</em>
+<a name="1239" href="#1239">1239</a>             <em class="comment">// if (lastOutputNodeType == Node.ELEMENT_NODE) {</em>
+<a name="1240" href="#1240">1240</a>             <em class="comment">// writer.write(PAD_TEXT);</em>
+<a name="1241" href="#1241">1241</a>             <em class="comment">// }</em>
+<a name="1242" href="#1242">1242</a>             <em class="comment">// }</em>
+<a name="1243" href="#1243">1243</a>             <strong>if</strong> (format.isTrimText()) {
+<a name="1244" href="#1244">1244</a>                 <strong>boolean</strong> first = <strong>true</strong>;
+<a name="1245" href="#1245">1245</a>                 StringTokenizer tokenizer = <strong>new</strong> StringTokenizer(text);
+<a name="1246" href="#1246">1246</a> 
+<a name="1247" href="#1247">1247</a>                 <strong>while</strong> (tokenizer.hasMoreTokens()) {
+<a name="1248" href="#1248">1248</a>                     String token = tokenizer.nextToken();
+<a name="1249" href="#1249">1249</a> 
+<a name="1250" href="#1250">1250</a>                     <strong>if</strong> (first) {
+<a name="1251" href="#1251">1251</a>                         first = false;
+<a name="1252" href="#1252">1252</a> 
+<a name="1253" href="#1253">1253</a>                         <strong>if</strong> (lastOutputNodeType == Node.TEXT_NODE) {
+<a name="1254" href="#1254">1254</a>                             writer.write(<span class="string">" "</span>);
+<a name="1255" href="#1255">1255</a>                         }
+<a name="1256" href="#1256">1256</a>                     } <strong>else</strong> {
+<a name="1257" href="#1257">1257</a>                         writer.write(<span class="string">" "</span>);
+<a name="1258" href="#1258">1258</a>                     }
+<a name="1259" href="#1259">1259</a> 
+<a name="1260" href="#1260">1260</a>                     writer.write(token);
+<a name="1261" href="#1261">1261</a>                     lastOutputNodeType = Node.TEXT_NODE;
+<a name="1262" href="#1262">1262</a>                     lastChar = token.charAt(token.length() - 1);
+<a name="1263" href="#1263">1263</a>                 }
+<a name="1264" href="#1264">1264</a>             } <strong>else</strong> {
+<a name="1265" href="#1265">1265</a>                 lastOutputNodeType = Node.TEXT_NODE;
+<a name="1266" href="#1266">1266</a>                 writer.write(text);
+<a name="1267" href="#1267">1267</a>                 lastChar = text.charAt(text.length() - 1);
+<a name="1268" href="#1268">1268</a>             }
+<a name="1269" href="#1269">1269</a>         }
+<a name="1270" href="#1270">1270</a>     }
+<a name="1271" href="#1271">1271</a> 
+<a name="1272" href="#1272">1272</a>     <em>/**<em>*</em></em>
+<a name="1273" href="#1273">1273</a> <em>     * This method is used to write out Nodes that contain text and still allow</em>
+<a name="1274" href="#1274">1274</a> <em>     * for xml:space to be handled properly.</em>
+<a name="1275" href="#1275">1275</a> <em>     * </em>
+<a name="1276" href="#1276">1276</a> <em>     * @param node</em>
+<a name="1277" href="#1277">1277</a> <em>     *            DOCUMENT ME!</em>
+<a name="1278" href="#1278">1278</a> <em>     * </em>
+<a name="1279" href="#1279">1279</a> <em>     * @throws IOException</em>
+<a name="1280" href="#1280">1280</a> <em>     *             DOCUMENT ME!</em>
+<a name="1281" href="#1281">1281</a> <em>     */</em>
+<a name="1282" href="#1282">1282</a>     <strong>protected</strong> <strong>void</strong> writeNodeText(<a href="../../../org/dom4j/Node.html">Node</a> node) throws IOException {
+<a name="1283" href="#1283">1283</a>         String text = node.getText();
+<a name="1284" href="#1284">1284</a> 
+<a name="1285" href="#1285">1285</a>         <strong>if</strong> ((text != <strong>null</strong>) && (text.length() > 0)) {
+<a name="1286" href="#1286">1286</a>             <strong>if</strong> (escapeText) {
+<a name="1287" href="#1287">1287</a>                 text = escapeElementEntities(text);
+<a name="1288" href="#1288">1288</a>             }
+<a name="1289" href="#1289">1289</a> 
+<a name="1290" href="#1290">1290</a>             lastOutputNodeType = Node.TEXT_NODE;
+<a name="1291" href="#1291">1291</a>             writer.write(text);
+<a name="1292" href="#1292">1292</a>             lastChar = text.charAt(text.length() - 1);
+<a name="1293" href="#1293">1293</a>         }
+<a name="1294" href="#1294">1294</a>     }
+<a name="1295" href="#1295">1295</a> 
+<a name="1296" href="#1296">1296</a>     <strong>protected</strong> <strong>void</strong> writeNode(<a href="../../../org/dom4j/Node.html">Node</a> node) throws IOException {
+<a name="1297" href="#1297">1297</a>         <strong>int</strong> nodeType = node.getNodeType();
+<a name="1298" href="#1298">1298</a> 
+<a name="1299" href="#1299">1299</a>         <strong>switch</strong> (nodeType) {
+<a name="1300" href="#1300">1300</a>             <strong>case</strong> Node.ELEMENT_NODE:
+<a name="1301" href="#1301">1301</a>                 writeElement((Element) node);
+<a name="1302" href="#1302">1302</a> 
+<a name="1303" href="#1303">1303</a>                 <strong>break</strong>;
+<a name="1304" href="#1304">1304</a> 
+<a name="1305" href="#1305">1305</a>             <strong>case</strong> Node.ATTRIBUTE_NODE:
+<a name="1306" href="#1306">1306</a>                 writeAttribute((Attribute) node);
+<a name="1307" href="#1307">1307</a> 
+<a name="1308" href="#1308">1308</a>                 <strong>break</strong>;
+<a name="1309" href="#1309">1309</a> 
+<a name="1310" href="#1310">1310</a>             <strong>case</strong> Node.TEXT_NODE:
+<a name="1311" href="#1311">1311</a>                 writeNodeText(node);
+<a name="1312" href="#1312">1312</a> 
+<a name="1313" href="#1313">1313</a>                 <em class="comment">// write((Text) node);</em>
+<a name="1314" href="#1314">1314</a>                 <strong>break</strong>;
+<a name="1315" href="#1315">1315</a> 
+<a name="1316" href="#1316">1316</a>             <strong>case</strong> Node.CDATA_SECTION_NODE:
+<a name="1317" href="#1317">1317</a>                 writeCDATA(node.getText());
+<a name="1318" href="#1318">1318</a> 
+<a name="1319" href="#1319">1319</a>                 <strong>break</strong>;
+<a name="1320" href="#1320">1320</a> 
+<a name="1321" href="#1321">1321</a>             <strong>case</strong> Node.ENTITY_REFERENCE_NODE:
+<a name="1322" href="#1322">1322</a>                 writeEntity((Entity) node);
+<a name="1323" href="#1323">1323</a> 
+<a name="1324" href="#1324">1324</a>                 <strong>break</strong>;
+<a name="1325" href="#1325">1325</a> 
+<a name="1326" href="#1326">1326</a>             <strong>case</strong> Node.PROCESSING_INSTRUCTION_NODE:
+<a name="1327" href="#1327">1327</a>                 writeProcessingInstruction((ProcessingInstruction) node);
+<a name="1328" href="#1328">1328</a> 
+<a name="1329" href="#1329">1329</a>                 <strong>break</strong>;
+<a name="1330" href="#1330">1330</a> 
+<a name="1331" href="#1331">1331</a>             <strong>case</strong> Node.COMMENT_NODE:
+<a name="1332" href="#1332">1332</a>                 writeComment(node.getText());
+<a name="1333" href="#1333">1333</a> 
+<a name="1334" href="#1334">1334</a>                 <strong>break</strong>;
+<a name="1335" href="#1335">1335</a> 
+<a name="1336" href="#1336">1336</a>             <strong>case</strong> Node.DOCUMENT_NODE:
+<a name="1337" href="#1337">1337</a>                 write((Document) node);
+<a name="1338" href="#1338">1338</a> 
+<a name="1339" href="#1339">1339</a>                 <strong>break</strong>;
+<a name="1340" href="#1340">1340</a> 
+<a name="1341" href="#1341">1341</a>             <strong>case</strong> Node.DOCUMENT_TYPE_NODE:
+<a name="1342" href="#1342">1342</a>                 writeDocType((DocumentType) node);
+<a name="1343" href="#1343">1343</a> 
+<a name="1344" href="#1344">1344</a>                 <strong>break</strong>;
+<a name="1345" href="#1345">1345</a> 
+<a name="1346" href="#1346">1346</a>             <strong>case</strong> Node.NAMESPACE_NODE:
+<a name="1347" href="#1347">1347</a> 
+<a name="1348" href="#1348">1348</a>                 <em class="comment">// Will be output with attributes</em>
+<a name="1349" href="#1349">1349</a>                 <em class="comment">// write((Namespace) node);</em>
+<a name="1350" href="#1350">1350</a>                 <strong>break</strong>;
+<a name="1351" href="#1351">1351</a> 
+<a name="1352" href="#1352">1352</a>             <strong>default</strong>:
+<a name="1353" href="#1353">1353</a>                 <strong>throw</strong> <strong>new</strong> IOException(<span class="string">"Invalid node type: "</span> + node);
+<a name="1354" href="#1354">1354</a>         }
+<a name="1355" href="#1355">1355</a>     }
+<a name="1356" href="#1356">1356</a> 
+<a name="1357" href="#1357">1357</a>     <strong>protected</strong> <strong>void</strong> installLexicalHandler() {
+<a name="1358" href="#1358">1358</a>         XMLReader parent = getParent();
+<a name="1359" href="#1359">1359</a> 
+<a name="1360" href="#1360">1360</a>         <strong>if</strong> (parent == <strong>null</strong>) {
+<a name="1361" href="#1361">1361</a>             <strong>throw</strong> <strong>new</strong> NullPointerException(<span class="string">"No parent for filter"</span>);
+<a name="1362" href="#1362">1362</a>         }
+<a name="1363" href="#1363">1363</a> 
+<a name="1364" href="#1364">1364</a>         <em class="comment">// try to register for lexical events</em>
+<a name="1365" href="#1365">1365</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+<a name="1366" href="#1366">1366</a>             <strong>try</strong> {
+<a name="1367" href="#1367">1367</a>                 parent.setProperty(LEXICAL_HANDLER_NAMES[i], <strong>this</strong>);
+<a name="1368" href="#1368">1368</a> 
+<a name="1369" href="#1369">1369</a>                 <strong>break</strong>;
+<a name="1370" href="#1370">1370</a>             } <strong>catch</strong> (SAXNotRecognizedException ex) {
+<a name="1371" href="#1371">1371</a>                 <em class="comment">// ignore</em>
+<a name="1372" href="#1372">1372</a>             } <strong>catch</strong> (SAXNotSupportedException ex) {
+<a name="1373" href="#1373">1373</a>                 <em class="comment">// ignore</em>
+<a name="1374" href="#1374">1374</a>             }
+<a name="1375" href="#1375">1375</a>         }
+<a name="1376" href="#1376">1376</a>     }
+<a name="1377" href="#1377">1377</a> 
+<a name="1378" href="#1378">1378</a>     <strong>protected</strong> <strong>void</strong> writeDocType(String name, String publicID, String systemID)
+<a name="1379" href="#1379">1379</a>             throws IOException {
+<a name="1380" href="#1380">1380</a>         <strong>boolean</strong> hasPublic = false;
+<a name="1381" href="#1381">1381</a> 
+<a name="1382" href="#1382">1382</a>         writer.write(<span class="string">"<!DOCTYPE "</span>);
+<a name="1383" href="#1383">1383</a>         writer.write(name);
+<a name="1384" href="#1384">1384</a> 
+<a name="1385" href="#1385">1385</a>         <strong>if</strong> ((publicID != <strong>null</strong>) && (!publicID.equals(<span class="string">""</span>))) {
+<a name="1386" href="#1386">1386</a>             writer.write(<span class="string">" PUBLIC \""</span>);
+<a name="1387" href="#1387">1387</a>             writer.write(publicID);
+<a name="1388" href="#1388">1388</a>             writer.write(<span class="string">"\""</span>);
+<a name="1389" href="#1389">1389</a>             hasPublic = <strong>true</strong>;
+<a name="1390" href="#1390">1390</a>         }
+<a name="1391" href="#1391">1391</a> 
+<a name="1392" href="#1392">1392</a>         <strong>if</strong> ((systemID != <strong>null</strong>) && (!systemID.equals(<span class="string">""</span>))) {
+<a name="1393" href="#1393">1393</a>             <strong>if</strong> (!hasPublic) {
+<a name="1394" href="#1394">1394</a>                 writer.write(<span class="string">" SYSTEM"</span>);
+<a name="1395" href="#1395">1395</a>             }
+<a name="1396" href="#1396">1396</a> 
+<a name="1397" href="#1397">1397</a>             writer.write(<span class="string">" \""</span>);
+<a name="1398" href="#1398">1398</a>             writer.write(systemID);
+<a name="1399" href="#1399">1399</a>             writer.write(<span class="string">"\""</span>);
+<a name="1400" href="#1400">1400</a>         }
+<a name="1401" href="#1401">1401</a> 
+<a name="1402" href="#1402">1402</a>         writer.write(<span class="string">">"</span>);
+<a name="1403" href="#1403">1403</a>         writePrintln();
+<a name="1404" href="#1404">1404</a>     }
+<a name="1405" href="#1405">1405</a> 
+<a name="1406" href="#1406">1406</a>     <strong>protected</strong> <strong>void</strong> writeEntity(<a href="../../../org/dom4j/Entity.html">Entity</a> entity) throws IOException {
+<a name="1407" href="#1407">1407</a>         <strong>if</strong> (!resolveEntityRefs()) {
+<a name="1408" href="#1408">1408</a>             writeEntityRef(entity.getName());
+<a name="1409" href="#1409">1409</a>         } <strong>else</strong> {
+<a name="1410" href="#1410">1410</a>             writer.write(entity.getText());
+<a name="1411" href="#1411">1411</a>         }
+<a name="1412" href="#1412">1412</a>     }
+<a name="1413" href="#1413">1413</a> 
+<a name="1414" href="#1414">1414</a>     <strong>protected</strong> <strong>void</strong> writeEntityRef(String name) throws IOException {
+<a name="1415" href="#1415">1415</a>         writer.write(<span class="string">"&"</span>);
+<a name="1416" href="#1416">1416</a>         writer.write(name);
+<a name="1417" href="#1417">1417</a>         writer.write(<span class="string">";"</span>);
+<a name="1418" href="#1418">1418</a> 
+<a name="1419" href="#1419">1419</a>         lastOutputNodeType = Node.ENTITY_REFERENCE_NODE;
+<a name="1420" href="#1420">1420</a>     }
+<a name="1421" href="#1421">1421</a> 
+<a name="1422" href="#1422">1422</a>     <strong>protected</strong> <strong>void</strong> writeComment(String text) throws IOException {
+<a name="1423" href="#1423">1423</a>         <strong>if</strong> (format.isNewlines()) {
+<a name="1424" href="#1424">1424</a>             println();
+<a name="1425" href="#1425">1425</a>             indent();
+<a name="1426" href="#1426">1426</a>         }
+<a name="1427" href="#1427">1427</a> 
+<a name="1428" href="#1428">1428</a>         writer.write(<span class="string">"<!--"</span>);
+<a name="1429" href="#1429">1429</a>         writer.write(text);
+<a name="1430" href="#1430">1430</a>         writer.write(<span class="string">"-->"</span>);
+<a name="1431" href="#1431">1431</a> 
+<a name="1432" href="#1432">1432</a>         lastOutputNodeType = Node.COMMENT_NODE;
+<a name="1433" href="#1433">1433</a>     }
+<a name="1434" href="#1434">1434</a> 
+<a name="1435" href="#1435">1435</a>     <em>/**<em>*</em></em>
+<a name="1436" href="#1436">1436</a> <em>     * Writes the attributes of the given element</em>
+<a name="1437" href="#1437">1437</a> <em>     * </em>
+<a name="1438" href="#1438">1438</a> <em>     * @param element</em>
+<a name="1439" href="#1439">1439</a> <em>     *            DOCUMENT ME!</em>
+<a name="1440" href="#1440">1440</a> <em>     * </em>
+<a name="1441" href="#1441">1441</a> <em>     * @throws IOException</em>
+<a name="1442" href="#1442">1442</a> <em>     *             DOCUMENT ME!</em>
+<a name="1443" href="#1443">1443</a> <em>     */</em>
+<a name="1444" href="#1444">1444</a>     <strong>protected</strong> <strong>void</strong> writeAttributes(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="1445" href="#1445">1445</a>         <em class="comment">// I do not yet handle the case where the same prefix maps to</em>
+<a name="1446" href="#1446">1446</a>         <em class="comment">// two different URIs. For attributes on the same element</em>
+<a name="1447" href="#1447">1447</a>         <em class="comment">// this is illegal; but as yet we don't throw an exception</em>
+<a name="1448" href="#1448">1448</a>         <em class="comment">// if someone tries to do this</em>
+<a name="1449" href="#1449">1449</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = element.attributeCount(); i < size; i++) {
+<a name="1450" href="#1450">1450</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(i);
+<a name="1451" href="#1451">1451</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> ns = attribute.getNamespace();
+<a name="1452" href="#1452">1452</a> 
+<a name="1453" href="#1453">1453</a>             <strong>if</strong> ((ns != <strong>null</strong>) && (ns != Namespace.NO_NAMESPACE)
+<a name="1454" href="#1454">1454</a>                     && (ns != Namespace.XML_NAMESPACE)) {
+<a name="1455" href="#1455">1455</a>                 String prefix = ns.getPrefix();
+<a name="1456" href="#1456">1456</a>                 String uri = namespaceStack.getURI(prefix);
+<a name="1457" href="#1457">1457</a> 
+<a name="1458" href="#1458">1458</a>                 <strong>if</strong> (!ns.getURI().equals(uri)) {
+<a name="1459" href="#1459">1459</a>                     writeNamespace(ns);
+<a name="1460" href="#1460">1460</a>                     namespaceStack.push(ns);
+<a name="1461" href="#1461">1461</a>                 }
+<a name="1462" href="#1462">1462</a>             }
+<a name="1463" href="#1463">1463</a> 
+<a name="1464" href="#1464">1464</a>             <em class="comment">// If the attribute is a namespace declaration, check if we have</em>
+<a name="1465" href="#1465">1465</a>             <em class="comment">// already written that declaration elsewhere (if that's the case,</em>
+<a name="1466" href="#1466">1466</a>             <em class="comment">// it must be in the namespace stack</em>
+<a name="1467" href="#1467">1467</a>             String attName = attribute.getName();
+<a name="1468" href="#1468">1468</a> 
+<a name="1469" href="#1469">1469</a>             <strong>if</strong> (attName.startsWith(<span class="string">"xmlns:"</span>)) {
+<a name="1470" href="#1470">1470</a>                 String prefix = attName.substring(6);
+<a name="1471" href="#1471">1471</a> 
+<a name="1472" href="#1472">1472</a>                 <strong>if</strong> (namespaceStack.getNamespaceForPrefix(prefix) == <strong>null</strong>) {
+<a name="1473" href="#1473">1473</a>                     String uri = attribute.getValue();
+<a name="1474" href="#1474">1474</a>                     namespaceStack.push(prefix, uri);
+<a name="1475" href="#1475">1475</a>                     writeNamespace(prefix, uri);
+<a name="1476" href="#1476">1476</a>                 }
+<a name="1477" href="#1477">1477</a>             } <strong>else</strong> <strong>if</strong> (attName.equals(<span class="string">"xmlns"</span>)) {
+<a name="1478" href="#1478">1478</a>                 <strong>if</strong> (namespaceStack.getDefaultNamespace() == <strong>null</strong>) {
+<a name="1479" href="#1479">1479</a>                     String uri = attribute.getValue();
+<a name="1480" href="#1480">1480</a>                     namespaceStack.push(<strong>null</strong>, uri);
+<a name="1481" href="#1481">1481</a>                     writeNamespace(<strong>null</strong>, uri);
+<a name="1482" href="#1482">1482</a>                 }
+<a name="1483" href="#1483">1483</a>             } <strong>else</strong> {
+<a name="1484" href="#1484">1484</a>                 <strong>char</strong> quote = format.getAttributeQuoteCharacter();
+<a name="1485" href="#1485">1485</a>                 writer.write(<span class="string">" "</span>);
+<a name="1486" href="#1486">1486</a>                 writer.write(attribute.getQualifiedName());
+<a name="1487" href="#1487">1487</a>                 writer.write(<span class="string">"="</span>);
+<a name="1488" href="#1488">1488</a>                 writer.write(quote);
+<a name="1489" href="#1489">1489</a>                 writeEscapeAttributeEntities(attribute.getValue());
+<a name="1490" href="#1490">1490</a>                 writer.write(quote);
+<a name="1491" href="#1491">1491</a>             }
+<a name="1492" href="#1492">1492</a>         }
+<a name="1493" href="#1493">1493</a>     }
+<a name="1494" href="#1494">1494</a> 
+<a name="1495" href="#1495">1495</a>     <strong>protected</strong> <strong>void</strong> writeAttribute(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute) throws IOException {
+<a name="1496" href="#1496">1496</a>         writer.write(<span class="string">" "</span>);
+<a name="1497" href="#1497">1497</a>         writer.write(attribute.getQualifiedName());
+<a name="1498" href="#1498">1498</a>         writer.write(<span class="string">"="</span>);
+<a name="1499" href="#1499">1499</a> 
+<a name="1500" href="#1500">1500</a>         <strong>char</strong> quote = format.getAttributeQuoteCharacter();
+<a name="1501" href="#1501">1501</a>         writer.write(quote);
+<a name="1502" href="#1502">1502</a> 
+<a name="1503" href="#1503">1503</a>         writeEscapeAttributeEntities(attribute.getValue());
+<a name="1504" href="#1504">1504</a> 
+<a name="1505" href="#1505">1505</a>         writer.write(quote);
+<a name="1506" href="#1506">1506</a>         lastOutputNodeType = Node.ATTRIBUTE_NODE;
+<a name="1507" href="#1507">1507</a>     }
+<a name="1508" href="#1508">1508</a> 
+<a name="1509" href="#1509">1509</a>     <strong>protected</strong> <strong>void</strong> writeAttributes(Attributes attributes) throws IOException {
+<a name="1510" href="#1510">1510</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = attributes.getLength(); i < size; i++) {
+<a name="1511" href="#1511">1511</a>             writeAttribute(attributes, i);
+<a name="1512" href="#1512">1512</a>         }
+<a name="1513" href="#1513">1513</a>     }
+<a name="1514" href="#1514">1514</a> 
+<a name="1515" href="#1515">1515</a>     <strong>protected</strong> <strong>void</strong> writeAttribute(Attributes attributes, <strong>int</strong> index)
+<a name="1516" href="#1516">1516</a>             throws IOException {
+<a name="1517" href="#1517">1517</a>         <strong>char</strong> quote = format.getAttributeQuoteCharacter();
+<a name="1518" href="#1518">1518</a>         writer.write(<span class="string">" "</span>);
+<a name="1519" href="#1519">1519</a>         writer.write(attributes.getQName(index));
+<a name="1520" href="#1520">1520</a>         writer.write(<span class="string">"="</span>);
+<a name="1521" href="#1521">1521</a>         writer.write(quote);
+<a name="1522" href="#1522">1522</a>         writeEscapeAttributeEntities(attributes.getValue(index));
+<a name="1523" href="#1523">1523</a>         writer.write(quote);
+<a name="1524" href="#1524">1524</a>     }
+<a name="1525" href="#1525">1525</a> 
+<a name="1526" href="#1526">1526</a>     <strong>protected</strong> <strong>void</strong> indent() throws IOException {
+<a name="1527" href="#1527">1527</a>         String indent = format.getIndent();
+<a name="1528" href="#1528">1528</a> 
+<a name="1529" href="#1529">1529</a>         <strong>if</strong> ((indent != <strong>null</strong>) && (indent.length() > 0)) {
+<a name="1530" href="#1530">1530</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < indentLevel; i++) {
+<a name="1531" href="#1531">1531</a>                 writer.write(indent);
+<a name="1532" href="#1532">1532</a>             }
+<a name="1533" href="#1533">1533</a>         }
+<a name="1534" href="#1534">1534</a>     }
+<a name="1535" href="#1535">1535</a> 
+<a name="1536" href="#1536">1536</a>     <em>/**<em>*</em></em>
+<a name="1537" href="#1537">1537</a> <em>     * <p></em>
+<a name="1538" href="#1538">1538</a> <em>     * This will print a new line only if the newlines flag was set to true</em>
+<a name="1539" href="#1539">1539</a> <em>     * </p></em>
+<a name="1540" href="#1540">1540</a> <em>     * </em>
+<a name="1541" href="#1541">1541</a> <em>     * @throws IOException</em>
+<a name="1542" href="#1542">1542</a> <em>     *             DOCUMENT ME!</em>
+<a name="1543" href="#1543">1543</a> <em>     */</em>
+<a name="1544" href="#1544">1544</a>     <strong>protected</strong> <strong>void</strong> writePrintln() throws IOException {
+<a name="1545" href="#1545">1545</a>         <strong>if</strong> (format.isNewlines()) {
+<a name="1546" href="#1546">1546</a>             String seperator = format.getLineSeparator();
+<a name="1547" href="#1547">1547</a>             <strong>if</strong> (lastChar != seperator.charAt(seperator.length() - 1)) {
+<a name="1548" href="#1548">1548</a>                 writer.write(format.getLineSeparator());
+<a name="1549" href="#1549">1549</a>             }
+<a name="1550" href="#1550">1550</a>         }
+<a name="1551" href="#1551">1551</a>     }
+<a name="1552" href="#1552">1552</a> 
+<a name="1553" href="#1553">1553</a>     <em>/**<em>*</em></em>
+<a name="1554" href="#1554">1554</a> <em>     * Get an OutputStreamWriter, use preferred encoding.</em>
+<a name="1555" href="#1555">1555</a> <em>     * </em>
+<a name="1556" href="#1556">1556</a> <em>     * @param outStream</em>
+<a name="1557" href="#1557">1557</a> <em>     *            DOCUMENT ME!</em>
+<a name="1558" href="#1558">1558</a> <em>     * @param encoding</em>
+<a name="1559" href="#1559">1559</a> <em>     *            DOCUMENT ME!</em>
+<a name="1560" href="#1560">1560</a> <em>     * </em>
+<a name="1561" href="#1561">1561</a> <em>     * @return DOCUMENT ME!</em>
+<a name="1562" href="#1562">1562</a> <em>     * </em>
+<a name="1563" href="#1563">1563</a> <em>     * @throws UnsupportedEncodingException</em>
+<a name="1564" href="#1564">1564</a> <em>     *             DOCUMENT ME!</em>
+<a name="1565" href="#1565">1565</a> <em>     */</em>
+<a name="1566" href="#1566">1566</a>     <strong>protected</strong> Writer createWriter(OutputStream outStream, String encoding)
+<a name="1567" href="#1567">1567</a>             throws UnsupportedEncodingException {
+<a name="1568" href="#1568">1568</a>         <strong>return</strong> <strong>new</strong> BufferedWriter(<strong>new</strong> OutputStreamWriter(outStream, encoding));
+<a name="1569" href="#1569">1569</a>     }
+<a name="1570" href="#1570">1570</a> 
+<a name="1571" href="#1571">1571</a>     <em>/**<em>*</em></em>
+<a name="1572" href="#1572">1572</a> <em>     * <p></em>
+<a name="1573" href="#1573">1573</a> <em>     * This will write the declaration to the given Writer. Assumes XML version</em>
+<a name="1574" href="#1574">1574</a> <em>     * 1.0 since we don't directly know.</em>
+<a name="1575" href="#1575">1575</a> <em>     * </p></em>
+<a name="1576" href="#1576">1576</a> <em>     * </em>
+<a name="1577" href="#1577">1577</a> <em>     * @throws IOException</em>
+<a name="1578" href="#1578">1578</a> <em>     *             DOCUMENT ME!</em>
+<a name="1579" href="#1579">1579</a> <em>     */</em>
+<a name="1580" href="#1580">1580</a>     <strong>protected</strong> <strong>void</strong> writeDeclaration() throws IOException {
+<a name="1581" href="#1581">1581</a>         String encoding = format.getEncoding();
+<a name="1582" href="#1582">1582</a> 
+<a name="1583" href="#1583">1583</a>         <em class="comment">// Only print of declaration is not suppressed</em>
+<a name="1584" href="#1584">1584</a>         <strong>if</strong> (!format.isSuppressDeclaration()) {
+<a name="1585" href="#1585">1585</a>             <em class="comment">// Assume 1.0 version</em>
+<a name="1586" href="#1586">1586</a>             <strong>if</strong> (encoding.equals(<span class="string">"UTF8"</span>)) {
+<a name="1587" href="#1587">1587</a>                 writer.write(<span class="string">"<?xml version=\"1.0\""</span>);
+<a name="1588" href="#1588">1588</a> 
+<a name="1589" href="#1589">1589</a>                 <strong>if</strong> (!format.isOmitEncoding()) {
+<a name="1590" href="#1590">1590</a>                     writer.write(<span class="string">" encoding=\"UTF-8\""</span>);
+<a name="1591" href="#1591">1591</a>                 }
+<a name="1592" href="#1592">1592</a> 
+<a name="1593" href="#1593">1593</a>                 writer.write(<span class="string">"?>"</span>);
+<a name="1594" href="#1594">1594</a>             } <strong>else</strong> {
+<a name="1595" href="#1595">1595</a>                 writer.write(<span class="string">"<?xml version=\"1.0\""</span>);
+<a name="1596" href="#1596">1596</a> 
+<a name="1597" href="#1597">1597</a>                 <strong>if</strong> (!format.isOmitEncoding()) {
+<a name="1598" href="#1598">1598</a>                     writer.write(<span class="string">" encoding=\""</span> + encoding + <span class="string">"\""</span>);
+<a name="1599" href="#1599">1599</a>                 }
+<a name="1600" href="#1600">1600</a> 
+<a name="1601" href="#1601">1601</a>                 writer.write(<span class="string">"?>"</span>);
+<a name="1602" href="#1602">1602</a>             }
+<a name="1603" href="#1603">1603</a> 
+<a name="1604" href="#1604">1604</a>             <strong>if</strong> (format.isNewLineAfterDeclaration()) {
+<a name="1605" href="#1605">1605</a>                 println();
+<a name="1606" href="#1606">1606</a>             }
+<a name="1607" href="#1607">1607</a>         }
+<a name="1608" href="#1608">1608</a>     }
+<a name="1609" href="#1609">1609</a> 
+<a name="1610" href="#1610">1610</a>     <strong>protected</strong> <strong>void</strong> writeClose(String qualifiedName) throws IOException {
+<a name="1611" href="#1611">1611</a>         writer.write(<span class="string">"</"</span>);
+<a name="1612" href="#1612">1612</a>         writer.write(qualifiedName);
+<a name="1613" href="#1613">1613</a>         writer.write(<span class="string">">"</span>);
+<a name="1614" href="#1614">1614</a>     }
+<a name="1615" href="#1615">1615</a> 
+<a name="1616" href="#1616">1616</a>     <strong>protected</strong> <strong>void</strong> writeEmptyElementClose(String qualifiedName)
+<a name="1617" href="#1617">1617</a>             throws IOException {
+<a name="1618" href="#1618">1618</a>         <em class="comment">// Simply close up</em>
+<a name="1619" href="#1619">1619</a>         <strong>if</strong> (!format.isExpandEmptyElements()) {
+<a name="1620" href="#1620">1620</a>             writer.write(<span class="string">"/>"</span>);
+<a name="1621" href="#1621">1621</a>         } <strong>else</strong> {
+<a name="1622" href="#1622">1622</a>             writer.write(<span class="string">"></"</span>);
+<a name="1623" href="#1623">1623</a>             writer.write(qualifiedName);
+<a name="1624" href="#1624">1624</a>             writer.write(<span class="string">">"</span>);
+<a name="1625" href="#1625">1625</a>         }
+<a name="1626" href="#1626">1626</a>     }
+<a name="1627" href="#1627">1627</a> 
+<a name="1628" href="#1628">1628</a>     <strong>protected</strong> <strong>boolean</strong> isExpandEmptyElements() {
+<a name="1629" href="#1629">1629</a>         <strong>return</strong> format.isExpandEmptyElements();
+<a name="1630" href="#1630">1630</a>     }
+<a name="1631" href="#1631">1631</a> 
+<a name="1632" href="#1632">1632</a>     <em>/**<em>*</em></em>
+<a name="1633" href="#1633">1633</a> <em>     * This will take the pre-defined entities in XML 1.0 and convert their</em>
+<a name="1634" href="#1634">1634</a> <em>     * character representation to the appropriate entity reference, suitable</em>
+<a name="1635" href="#1635">1635</a> <em>     * for XML attributes.</em>
+<a name="1636" href="#1636">1636</a> <em>     * </em>
+<a name="1637" href="#1637">1637</a> <em>     * @param text</em>
+<a name="1638" href="#1638">1638</a> <em>     *            DOCUMENT ME!</em>
+<a name="1639" href="#1639">1639</a> <em>     * </em>
+<a name="1640" href="#1640">1640</a> <em>     * @return DOCUMENT ME!</em>
+<a name="1641" href="#1641">1641</a> <em>     */</em>
+<a name="1642" href="#1642">1642</a>     <strong>protected</strong> String escapeElementEntities(String text) {
+<a name="1643" href="#1643">1643</a>         <strong>char</strong>[] block = <strong>null</strong>;
+<a name="1644" href="#1644">1644</a>         <strong>int</strong> i;
+<a name="1645" href="#1645">1645</a>         <strong>int</strong> last = 0;
+<a name="1646" href="#1646">1646</a>         <strong>int</strong> size = text.length();
+<a name="1647" href="#1647">1647</a> 
+<a name="1648" href="#1648">1648</a>         <strong>for</strong> (i = 0; i < size; i++) {
+<a name="1649" href="#1649">1649</a>             String entity = <strong>null</strong>;
+<a name="1650" href="#1650">1650</a>             <strong>char</strong> c = text.<strong>char</strong>At(i);
+<a name="1651" href="#1651">1651</a> 
+<a name="1652" href="#1652">1652</a>             <strong>switch</strong> (c) {
+<a name="1653" href="#1653">1653</a>                 <strong>case</strong> '<':
+<a name="1654" href="#1654">1654</a>                     entity = <span class="string">"&lt;"</span>;
+<a name="1655" href="#1655">1655</a> 
+<a name="1656" href="#1656">1656</a>                     <strong>break</strong>;
+<a name="1657" href="#1657">1657</a> 
+<a name="1658" href="#1658">1658</a>                 <strong>case</strong> '>':
+<a name="1659" href="#1659">1659</a>                     entity = <span class="string">"&gt;"</span>;
+<a name="1660" href="#1660">1660</a> 
+<a name="1661" href="#1661">1661</a>                     <strong>break</strong>;
+<a name="1662" href="#1662">1662</a> 
+<a name="1663" href="#1663">1663</a>                 <strong>case</strong> '&':
+<a name="1664" href="#1664">1664</a>                     entity = <span class="string">"&amp;"</span>;
+<a name="1665" href="#1665">1665</a> 
+<a name="1666" href="#1666">1666</a>                     <strong>break</strong>;
+<a name="1667" href="#1667">1667</a> 
+<a name="1668" href="#1668">1668</a>                 <strong>case</strong> '\t':
+<a name="1669" href="#1669">1669</a>                 <strong>case</strong> '\n':
+<a name="1670" href="#1670">1670</a>                 <strong>case</strong> '\r':
+<a name="1671" href="#1671">1671</a> 
+<a name="1672" href="#1672">1672</a>                     <em class="comment">// don't encode standard whitespace characters</em>
+<a name="1673" href="#1673">1673</a>                     <strong>if</strong> (preserve) {
+<a name="1674" href="#1674">1674</a>                         entity = String.valueOf(c);
+<a name="1675" href="#1675">1675</a>                     }
+<a name="1676" href="#1676">1676</a> 
+<a name="1677" href="#1677">1677</a>                     <strong>break</strong>;
+<a name="1678" href="#1678">1678</a> 
+<a name="1679" href="#1679">1679</a>                 <strong>default</strong>:
+<a name="1680" href="#1680">1680</a> 
+<a name="1681" href="#1681">1681</a>                     <strong>if</strong> ((c < 32) || shouldEncodeChar(c)) {
+<a name="1682" href="#1682">1682</a>                         entity = <span class="string">"&#"</span> + (<strong>int</strong>) c + <span class="string">";"</span>;
+<a name="1683" href="#1683">1683</a>                     }
+<a name="1684" href="#1684">1684</a> 
+<a name="1685" href="#1685">1685</a>                     <strong>break</strong>;
+<a name="1686" href="#1686">1686</a>             }
+<a name="1687" href="#1687">1687</a> 
+<a name="1688" href="#1688">1688</a>             <strong>if</strong> (entity != <strong>null</strong>) {
+<a name="1689" href="#1689">1689</a>                 <strong>if</strong> (block == <strong>null</strong>) {
+<a name="1690" href="#1690">1690</a>                     block = text.toCharArray();
+<a name="1691" href="#1691">1691</a>                 }
+<a name="1692" href="#1692">1692</a> 
+<a name="1693" href="#1693">1693</a>                 buffer.append(block, last, i - last);
+<a name="1694" href="#1694">1694</a>                 buffer.append(entity);
+<a name="1695" href="#1695">1695</a>                 last = i + 1;
+<a name="1696" href="#1696">1696</a>             }
+<a name="1697" href="#1697">1697</a>         }
+<a name="1698" href="#1698">1698</a> 
+<a name="1699" href="#1699">1699</a>         <strong>if</strong> (last == 0) {
+<a name="1700" href="#1700">1700</a>             <strong>return</strong> text;
+<a name="1701" href="#1701">1701</a>         }
+<a name="1702" href="#1702">1702</a> 
+<a name="1703" href="#1703">1703</a>         <strong>if</strong> (last < size) {
+<a name="1704" href="#1704">1704</a>             <strong>if</strong> (block == <strong>null</strong>) {
+<a name="1705" href="#1705">1705</a>                 block = text.toCharArray();
+<a name="1706" href="#1706">1706</a>             }
+<a name="1707" href="#1707">1707</a> 
+<a name="1708" href="#1708">1708</a>             buffer.append(block, last, i - last);
+<a name="1709" href="#1709">1709</a>         }
+<a name="1710" href="#1710">1710</a> 
+<a name="1711" href="#1711">1711</a>         String answer = buffer.toString();
+<a name="1712" href="#1712">1712</a>         buffer.setLength(0);
+<a name="1713" href="#1713">1713</a> 
+<a name="1714" href="#1714">1714</a>         <strong>return</strong> answer;
+<a name="1715" href="#1715">1715</a>     }
+<a name="1716" href="#1716">1716</a> 
+<a name="1717" href="#1717">1717</a>     <strong>protected</strong> <strong>void</strong> writeEscapeAttributeEntities(String txt) throws IOException {
+<a name="1718" href="#1718">1718</a>         <strong>if</strong> (txt != <strong>null</strong>) {
+<a name="1719" href="#1719">1719</a>             String escapedText = escapeAttributeEntities(txt);
+<a name="1720" href="#1720">1720</a>             writer.write(escapedText);
+<a name="1721" href="#1721">1721</a>         }
+<a name="1722" href="#1722">1722</a>     }
+<a name="1723" href="#1723">1723</a> 
+<a name="1724" href="#1724">1724</a>     <em>/**<em>*</em></em>
+<a name="1725" href="#1725">1725</a> <em>     * This will take the pre-defined entities in XML 1.0 and convert their</em>
+<a name="1726" href="#1726">1726</a> <em>     * character representation to the appropriate entity reference, suitable</em>
+<a name="1727" href="#1727">1727</a> <em>     * for XML attributes.</em>
+<a name="1728" href="#1728">1728</a> <em>     * </em>
+<a name="1729" href="#1729">1729</a> <em>     * @param text</em>
+<a name="1730" href="#1730">1730</a> <em>     *            DOCUMENT ME!</em>
+<a name="1731" href="#1731">1731</a> <em>     * </em>
+<a name="1732" href="#1732">1732</a> <em>     * @return DOCUMENT ME!</em>
+<a name="1733" href="#1733">1733</a> <em>     */</em>
+<a name="1734" href="#1734">1734</a>     <strong>protected</strong> String escapeAttributeEntities(String text) {
+<a name="1735" href="#1735">1735</a>         <strong>char</strong> quote = format.getAttributeQuoteCharacter();
+<a name="1736" href="#1736">1736</a> 
+<a name="1737" href="#1737">1737</a>         <strong>char</strong>[] block = <strong>null</strong>;
+<a name="1738" href="#1738">1738</a>         <strong>int</strong> i;
+<a name="1739" href="#1739">1739</a>         <strong>int</strong> last = 0;
+<a name="1740" href="#1740">1740</a>         <strong>int</strong> size = text.length();
+<a name="1741" href="#1741">1741</a> 
+<a name="1742" href="#1742">1742</a>         <strong>for</strong> (i = 0; i < size; i++) {
+<a name="1743" href="#1743">1743</a>             String entity = <strong>null</strong>;
+<a name="1744" href="#1744">1744</a>             <strong>char</strong> c = text.<strong>char</strong>At(i);
+<a name="1745" href="#1745">1745</a> 
+<a name="1746" href="#1746">1746</a>             <strong>switch</strong> (c) {
+<a name="1747" href="#1747">1747</a>                 <strong>case</strong> '<':
+<a name="1748" href="#1748">1748</a>                     entity = <span class="string">"&lt;"</span>;
+<a name="1749" href="#1749">1749</a> 
+<a name="1750" href="#1750">1750</a>                     <strong>break</strong>;
+<a name="1751" href="#1751">1751</a> 
+<a name="1752" href="#1752">1752</a>                 <strong>case</strong> '>':
+<a name="1753" href="#1753">1753</a>                     entity = <span class="string">"&gt;"</span>;
+<a name="1754" href="#1754">1754</a> 
+<a name="1755" href="#1755">1755</a>                     <strong>break</strong>;
+<a name="1756" href="#1756">1756</a> 
+<a name="1757" href="#1757">1757</a>                 <strong>case</strong> '\'':
+<a name="1758" href="#1758">1758</a> 
+<a name="1759" href="#1759">1759</a>                     <strong>if</strong> (quote == '\'') {
+<a name="1760" href="#1760">1760</a>                         entity = <span class="string">"&apos;"</span>;
+<a name="1761" href="#1761">1761</a>                     }
+<a name="1762" href="#1762">1762</a> 
+<a name="1763" href="#1763">1763</a>                     <strong>break</strong>;
+<a name="1764" href="#1764">1764</a> 
+<a name="1765" href="#1765">1765</a>                 <strong>case</strong> '\"':
+<a name="1766" href="#1766">1766</a> 
+<a name="1767" href="#1767">1767</a>                     <strong>if</strong> (quote == '\"') {
+<a name="1768" href="#1768">1768</a>                         entity = <span class="string">"&quot;"</span>;
+<a name="1769" href="#1769">1769</a>                     }
+<a name="1770" href="#1770">1770</a> 
+<a name="1771" href="#1771">1771</a>                     <strong>break</strong>;
+<a name="1772" href="#1772">1772</a> 
+<a name="1773" href="#1773">1773</a>                 <strong>case</strong> '&':
+<a name="1774" href="#1774">1774</a>                     entity = <span class="string">"&amp;"</span>;
+<a name="1775" href="#1775">1775</a> 
+<a name="1776" href="#1776">1776</a>                     <strong>break</strong>;
+<a name="1777" href="#1777">1777</a> 
+<a name="1778" href="#1778">1778</a>                 <strong>case</strong> '\t':
+<a name="1779" href="#1779">1779</a>                 <strong>case</strong> '\n':
+<a name="1780" href="#1780">1780</a>                 <strong>case</strong> '\r':
+<a name="1781" href="#1781">1781</a> 
+<a name="1782" href="#1782">1782</a>                     <em class="comment">// don't encode standard whitespace characters</em>
+<a name="1783" href="#1783">1783</a>                     <strong>break</strong>;
+<a name="1784" href="#1784">1784</a> 
+<a name="1785" href="#1785">1785</a>                 <strong>default</strong>:
+<a name="1786" href="#1786">1786</a> 
+<a name="1787" href="#1787">1787</a>                     <strong>if</strong> ((c < 32) || shouldEncodeChar(c)) {
+<a name="1788" href="#1788">1788</a>                         entity = <span class="string">"&#"</span> + (<strong>int</strong>) c + <span class="string">";"</span>;
+<a name="1789" href="#1789">1789</a>                     }
+<a name="1790" href="#1790">1790</a> 
+<a name="1791" href="#1791">1791</a>                     <strong>break</strong>;
+<a name="1792" href="#1792">1792</a>             }
+<a name="1793" href="#1793">1793</a> 
+<a name="1794" href="#1794">1794</a>             <strong>if</strong> (entity != <strong>null</strong>) {
+<a name="1795" href="#1795">1795</a>                 <strong>if</strong> (block == <strong>null</strong>) {
+<a name="1796" href="#1796">1796</a>                     block = text.toCharArray();
+<a name="1797" href="#1797">1797</a>                 }
+<a name="1798" href="#1798">1798</a> 
+<a name="1799" href="#1799">1799</a>                 buffer.append(block, last, i - last);
+<a name="1800" href="#1800">1800</a>                 buffer.append(entity);
+<a name="1801" href="#1801">1801</a>                 last = i + 1;
+<a name="1802" href="#1802">1802</a>             }
+<a name="1803" href="#1803">1803</a>         }
+<a name="1804" href="#1804">1804</a> 
+<a name="1805" href="#1805">1805</a>         <strong>if</strong> (last == 0) {
+<a name="1806" href="#1806">1806</a>             <strong>return</strong> text;
+<a name="1807" href="#1807">1807</a>         }
+<a name="1808" href="#1808">1808</a> 
+<a name="1809" href="#1809">1809</a>         <strong>if</strong> (last < size) {
+<a name="1810" href="#1810">1810</a>             <strong>if</strong> (block == <strong>null</strong>) {
+<a name="1811" href="#1811">1811</a>                 block = text.toCharArray();
+<a name="1812" href="#1812">1812</a>             }
+<a name="1813" href="#1813">1813</a> 
+<a name="1814" href="#1814">1814</a>             buffer.append(block, last, i - last);
+<a name="1815" href="#1815">1815</a>         }
+<a name="1816" href="#1816">1816</a> 
+<a name="1817" href="#1817">1817</a>         String answer = buffer.toString();
+<a name="1818" href="#1818">1818</a>         buffer.setLength(0);
+<a name="1819" href="#1819">1819</a> 
+<a name="1820" href="#1820">1820</a>         <strong>return</strong> answer;
+<a name="1821" href="#1821">1821</a>     }
+<a name="1822" href="#1822">1822</a> 
+<a name="1823" href="#1823">1823</a>     <em>/**<em>*</em></em>
+<a name="1824" href="#1824">1824</a> <em>     * Should the given character be escaped. This depends on the encoding of</em>
+<a name="1825" href="#1825">1825</a> <em>     * the document.</em>
+<a name="1826" href="#1826">1826</a> <em>     * </em>
+<a name="1827" href="#1827">1827</a> <em>     * @param c</em>
+<a name="1828" href="#1828">1828</a> <em>     *            DOCUMENT ME!</em>
+<a name="1829" href="#1829">1829</a> <em>     * </em>
+<a name="1830" href="#1830">1830</a> <em>     * @return boolean</em>
+<a name="1831" href="#1831">1831</a> <em>     */</em>
+<a name="1832" href="#1832">1832</a>     <strong>protected</strong> <strong>boolean</strong> shouldEncodeChar(<strong>char</strong> c) {
+<a name="1833" href="#1833">1833</a>         <strong>int</strong> max = getMaximumAllowedCharacter();
+<a name="1834" href="#1834">1834</a> 
+<a name="1835" href="#1835">1835</a>         <strong>return</strong> (max > 0) && (c > max);
+<a name="1836" href="#1836">1836</a>     }
+<a name="1837" href="#1837">1837</a> 
+<a name="1838" href="#1838">1838</a>     <em>/**<em>*</em></em>
+<a name="1839" href="#1839">1839</a> <em>     * Returns the maximum allowed character code that should be allowed</em>
+<a name="1840" href="#1840">1840</a> <em>     * unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8</em>
+<a name="1841" href="#1841">1841</a> <em>     * bit).</em>
+<a name="1842" href="#1842">1842</a> <em>     * </em>
+<a name="1843" href="#1843">1843</a> <em>     * @return DOCUMENT ME!</em>
+<a name="1844" href="#1844">1844</a> <em>     */</em>
+<a name="1845" href="#1845">1845</a>     <strong>protected</strong> <strong>int</strong> defaultMaximumAllowedCharacter() {
+<a name="1846" href="#1846">1846</a>         String encoding = format.getEncoding();
+<a name="1847" href="#1847">1847</a> 
+<a name="1848" href="#1848">1848</a>         <strong>if</strong> (encoding != <strong>null</strong>) {
+<a name="1849" href="#1849">1849</a>             <strong>if</strong> (encoding.equals(<span class="string">"US-ASCII"</span>)) {
+<a name="1850" href="#1850">1850</a>                 <strong>return</strong> 127;
+<a name="1851" href="#1851">1851</a>             }
+<a name="1852" href="#1852">1852</a>         }
+<a name="1853" href="#1853">1853</a> 
+<a name="1854" href="#1854">1854</a>         <em class="comment">// no encoding for things like ISO-*, UTF-8 or UTF-16</em>
+<a name="1855" href="#1855">1855</a>         <strong>return</strong> -1;
+<a name="1856" href="#1856">1856</a>     }
+<a name="1857" href="#1857">1857</a> 
+<a name="1858" href="#1858">1858</a>     <strong>protected</strong> <strong>boolean</strong> isNamespaceDeclaration(<a href="../../../org/dom4j/Namespace.html">Namespace</a> ns) {
+<a name="1859" href="#1859">1859</a>         <strong>if</strong> ((ns != <strong>null</strong>) && (ns != Namespace.XML_NAMESPACE)) {
+<a name="1860" href="#1860">1860</a>             String uri = ns.getURI();
+<a name="1861" href="#1861">1861</a> 
+<a name="1862" href="#1862">1862</a>             <strong>if</strong> (uri != <strong>null</strong>) {
+<a name="1863" href="#1863">1863</a>                 <strong>if</strong> (!namespaceStack.contains(ns)) {
+<a name="1864" href="#1864">1864</a>                     <strong>return</strong> <strong>true</strong>;
+<a name="1865" href="#1865">1865</a>                 }
+<a name="1866" href="#1866">1866</a>             }
+<a name="1867" href="#1867">1867</a>         }
+<a name="1868" href="#1868">1868</a> 
+<a name="1869" href="#1869">1869</a>         <strong>return</strong> false;
+<a name="1870" href="#1870">1870</a>     }
+<a name="1871" href="#1871">1871</a> 
+<a name="1872" href="#1872">1872</a>     <strong>protected</strong> <strong>void</strong> handleException(IOException e) throws SAXException {
+<a name="1873" href="#1873">1873</a>         <strong>throw</strong> <strong>new</strong> SAXException(e);
+<a name="1874" href="#1874">1874</a>     }
+<a name="1875" href="#1875">1875</a> 
+<a name="1876" href="#1876">1876</a>     <em class="comment">// Laramie Crocker 4/8/2002 10:38AM</em>
+<a name="1877" href="#1877">1877</a> 
+<a name="1878" href="#1878">1878</a>     <em>/**<em>*</em></em>
+<a name="1879" href="#1879">1879</a> <em>     * Lets subclasses get at the current format object, so they can call</em>
+<a name="1880" href="#1880">1880</a> <em>     * setTrimText, setNewLines, etc. Put in to support the HTMLWriter, in the</em>
+<a name="1881" href="#1881">1881</a> <em>     * way that it pushes the current newline/trim state onto a stack and</em>
+<a name="1882" href="#1882">1882</a> <em>     * overrides the state within preformatted tags.</em>
+<a name="1883" href="#1883">1883</a> <em>     * </em>
+<a name="1884" href="#1884">1884</a> <em>     * @return DOCUMENT ME!</em>
+<a name="1885" href="#1885">1885</a> <em>     */</em>
+<a name="1886" href="#1886">1886</a>     <strong>protected</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> getOutputFormat() {
+<a name="1887" href="#1887">1887</a>         <strong>return</strong> format;
+<a name="1888" href="#1888">1888</a>     }
+<a name="1889" href="#1889">1889</a> 
+<a name="1890" href="#1890">1890</a>     <strong>public</strong> <strong>boolean</strong> resolveEntityRefs() {
+<a name="1891" href="#1891">1891</a>         <strong>return</strong> resolveEntityRefs;
+<a name="1892" href="#1892">1892</a>     }
+<a name="1893" href="#1893">1893</a> 
+<a name="1894" href="#1894">1894</a>     <strong>public</strong> <strong>void</strong> setResolveEntityRefs(<strong>boolean</strong> resolve) {
+<a name="1895" href="#1895">1895</a>         <strong>this</strong>.resolveEntityRefs = resolve;
+<a name="1896" href="#1896">1896</a>     }
+<a name="1897" href="#1897">1897</a> }
+<a name="1898" href="#1898">1898</a> 
+<a name="1899" href="#1899">1899</a> <em class="comment">/*</em>
+<a name="1900" href="#1900">1900</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="1901" href="#1901">1901</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="1902" href="#1902">1902</a> <em class="comment"> * following conditions are met:</em>
+<a name="1903" href="#1903">1903</a> <em class="comment"> * </em>
+<a name="1904" href="#1904">1904</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="1905" href="#1905">1905</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="1906" href="#1906">1906</a> <em class="comment"> * </em>
+<a name="1907" href="#1907">1907</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="1908" href="#1908">1908</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="1909" href="#1909">1909</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="1910" href="#1910">1910</a> <em class="comment"> * </em>
+<a name="1911" href="#1911">1911</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="1912" href="#1912">1912</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="1913" href="#1913">1913</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="1914" href="#1914">1914</a> <em class="comment"> * </em>
+<a name="1915" href="#1915">1915</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="1916" href="#1916">1916</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="1917" href="#1917">1917</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="1918" href="#1918">1918</a> <em class="comment"> * </em>
+<a name="1919" href="#1919">1919</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="1920" href="#1920">1920</a> <em class="comment"> * </em>
+<a name="1921" href="#1921">1921</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="1922" href="#1922">1922</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="1923" href="#1923">1923</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="1924" href="#1924">1924</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="1925" href="#1925">1925</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="1926" href="#1926">1926</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="1927" href="#1927">1927</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="1928" href="#1928">1928</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="1929" href="#1929">1929</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="1930" href="#1930">1930</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="1931" href="#1931">1931</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="1932" href="#1932">1932</a> <em class="comment"> * </em>
+<a name="1933" href="#1933">1933</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="1934" href="#1934">1934</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/XPP3Reader.html b/docs/xref/org/dom4j/io/XPP3Reader.html
new file mode 100644
index 0000000..2ce5a9f
--- /dev/null
+++ b/docs/xref/org/dom4j/io/XPP3Reader.html
@@ -0,0 +1,554 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XPP3Reader xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/XPP3Reader.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.BufferedReader;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.CharArrayReader;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.File;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.FileReader;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.IOException;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.InputStream;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.io.InputStreamReader;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.io.Reader;
+<a name="18" href="#18">18</a>  <strong>import</strong> java.net.URL;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Document;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.DocumentException;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.Element;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.QName;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>  <strong>import</strong> org.xmlpull.v1.XmlPullParser;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.xmlpull.v1.XmlPullParserException;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.xmlpull.v1.XmlPullParserFactory;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>  <em>/**<em>*</em></em>
+<a name="32" href="#32">32</a>  <em> * <p></em>
+<a name="33" href="#33">33</a>  <em> * <code>XPP3Reader</code> is a Reader of DOM4J documents that uses the fast</em>
+<a name="34" href="#34">34</a>  <em> * <a href="<a href="http://www.extreme.indiana.edu/soap/xpp/" target="alexandria_uri">http://www.extreme.indiana.edu/soap/xpp/</a>">XML Pull Parser 3.x </a>.</em>
+<a name="35" href="#35">35</a>  <em> * It is very fast for use in SOAP style environments.</em>
+<a name="36" href="#36">36</a>  <em> * </p></em>
+<a name="37" href="#37">37</a>  <em> * </em>
+<a name="38" href="#38">38</a>  <em> * @author <a href="<a href="mailto:pelle at neubia.com" target="alexandria_uri">mailto:pelle at neubia.com</a>">Pelle Braendgaard </a></em>
+<a name="39" href="#39">39</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="40" href="#40">40</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="41" href="#41">41</a>  <em> */</em>
+<a name="42" href="#42">42</a>  <strong>public</strong> <strong>class</strong> XPP3Reader {
+<a name="43" href="#43">43</a>      <em>/**<em>* <code>DocumentFactory</code> used to create new document objects */</em></em>
+<a name="44" href="#44">44</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory;
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>* <code>XmlPullParser</code> used to parse XML */</em></em>
+<a name="47" href="#47">47</a>      <strong>private</strong> XmlPullParser xppParser;
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>* <code>XmlPullParser</code> used to parse XML */</em></em>
+<a name="50" href="#50">50</a>      <strong>private</strong> XmlPullParserFactory xppFactory;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <em>/**<em>* <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> to call when each <code>Element</code> is encountered */</em></em>
+<a name="53" href="#53">53</a>      <strong>private</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> dispatchHandler;
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> XPP3Reader() {
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> XPP3Reader(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory) {
+<a name="59" href="#59">59</a>          <strong>this</strong>.factory = factory;
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em>/**<em>*</em></em>
+<a name="63" href="#63">63</a>  <em>     * <p></em>
+<a name="64" href="#64">64</a>  <em>     * Reads a Document from the given <code>File</code></em>
+<a name="65" href="#65">65</a>  <em>     * </p></em>
+<a name="66" href="#66">66</a>  <em>     * </em>
+<a name="67" href="#67">67</a>  <em>     * @param file</em>
+<a name="68" href="#68">68</a>  <em>     *            is the <code>File</code> to read from.</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @return the newly created Document instance</em>
+<a name="71" href="#71">71</a>  <em>     * </em>
+<a name="72" href="#72">72</a>  <em>     * @throws DocumentException</em>
+<a name="73" href="#73">73</a>  <em>     *             if an error occurs during parsing.</em>
+<a name="74" href="#74">74</a>  <em>     * @throws IOException</em>
+<a name="75" href="#75">75</a>  <em>     *             if a URL could not be made for the given File</em>
+<a name="76" href="#76">76</a>  <em>     * @throws XmlPullParserException</em>
+<a name="77" href="#77">77</a>  <em>     *             DOCUMENT ME!</em>
+<a name="78" href="#78">78</a>  <em>     */</em>
+<a name="79" href="#79">79</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(File file) throws DocumentException, IOException,
+<a name="80" href="#80">80</a>              XmlPullParserException {
+<a name="81" href="#81">81</a>          String systemID = file.getAbsolutePath();
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>          <strong>return</strong> read(<strong>new</strong> BufferedReader(<strong>new</strong> FileReader(file)), systemID);
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <em>/**<em>*</em></em>
+<a name="87" href="#87">87</a>  <em>     * <p></em>
+<a name="88" href="#88">88</a>  <em>     * Reads a Document from the given <code>URL</code></em>
+<a name="89" href="#89">89</a>  <em>     * </p></em>
+<a name="90" href="#90">90</a>  <em>     * </em>
+<a name="91" href="#91">91</a>  <em>     * @param url</em>
+<a name="92" href="#92">92</a>  <em>     *            <code>URL</code> to read from.</em>
+<a name="93" href="#93">93</a>  <em>     * </em>
+<a name="94" href="#94">94</a>  <em>     * @return the newly created Document instance</em>
+<a name="95" href="#95">95</a>  <em>     * </em>
+<a name="96" href="#96">96</a>  <em>     * @throws DocumentException</em>
+<a name="97" href="#97">97</a>  <em>     *             if an error occurs during parsing.</em>
+<a name="98" href="#98">98</a>  <em>     * @throws IOException</em>
+<a name="99" href="#99">99</a>  <em>     *             DOCUMENT ME!</em>
+<a name="100" href="#100">100</a> <em>     * @throws XmlPullParserException</em>
+<a name="101" href="#101">101</a> <em>     *             DOCUMENT ME!</em>
+<a name="102" href="#102">102</a> <em>     */</em>
+<a name="103" href="#103">103</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(URL url) throws DocumentException, IOException,
+<a name="104" href="#104">104</a>             XmlPullParserException {
+<a name="105" href="#105">105</a>         String systemID = url.toExternalForm();
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>         <strong>return</strong> read(createReader(url.openStream()), systemID);
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <em>/**<em>*</em></em>
+<a name="111" href="#111">111</a> <em>     * <p></em>
+<a name="112" href="#112">112</a> <em>     * Reads a Document from the given URL or filename.</em>
+<a name="113" href="#113">113</a> <em>     * </p></em>
+<a name="114" href="#114">114</a> <em>     * </em>
+<a name="115" href="#115">115</a> <em>     * <p></em>
+<a name="116" href="#116">116</a> <em>     * If the systemID contains a <code>':'</code> character then it is</em>
+<a name="117" href="#117">117</a> <em>     * assumed to be a URL otherwise its assumed to be a file name. If you want</em>
+<a name="118" href="#118">118</a> <em>     * finer grained control over this mechansim then please explicitly pass in</em>
+<a name="119" href="#119">119</a> <em>     * either a {@link URL}or a {@link File}instance instead of a {@link</em>
+<a name="120" href="#120">120</a> <em>     * String} to denote the source of the document.</em>
+<a name="121" href="#121">121</a> <em>     * </p></em>
+<a name="122" href="#122">122</a> <em>     * </em>
+<a name="123" href="#123">123</a> <em>     * @param systemID</em>
+<a name="124" href="#124">124</a> <em>     *            is a URL for a document or a file name.</em>
+<a name="125" href="#125">125</a> <em>     * </em>
+<a name="126" href="#126">126</a> <em>     * @return the newly created Document instance</em>
+<a name="127" href="#127">127</a> <em>     * </em>
+<a name="128" href="#128">128</a> <em>     * @throws DocumentException</em>
+<a name="129" href="#129">129</a> <em>     *             if an error occurs during parsing.</em>
+<a name="130" href="#130">130</a> <em>     * @throws IOException</em>
+<a name="131" href="#131">131</a> <em>     *             if a URL could not be made for the given File</em>
+<a name="132" href="#132">132</a> <em>     * @throws XmlPullParserException</em>
+<a name="133" href="#133">133</a> <em>     *             DOCUMENT ME!</em>
+<a name="134" href="#134">134</a> <em>     */</em>
+<a name="135" href="#135">135</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(String systemID) throws DocumentException,
+<a name="136" href="#136">136</a>             IOException, XmlPullParserException {
+<a name="137" href="#137">137</a>         <strong>if</strong> (systemID.indexOf(':') >= 0) {
+<a name="138" href="#138">138</a>             <em class="comment">// lets assume its a URL</em>
+<a name="139" href="#139">139</a>             <strong>return</strong> read(<strong>new</strong> URL(systemID));
+<a name="140" href="#140">140</a>         } <strong>else</strong> {
+<a name="141" href="#141">141</a>             <em class="comment">// lets assume that we are given a file name</em>
+<a name="142" href="#142">142</a>             <strong>return</strong> read(<strong>new</strong> File(systemID));
+<a name="143" href="#143">143</a>         }
+<a name="144" href="#144">144</a>     }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <em>/**<em>*</em></em>
+<a name="147" href="#147">147</a> <em>     * <p></em>
+<a name="148" href="#148">148</a> <em>     * Reads a Document from the given stream</em>
+<a name="149" href="#149">149</a> <em>     * </p></em>
+<a name="150" href="#150">150</a> <em>     * </em>
+<a name="151" href="#151">151</a> <em>     * @param in</em>
+<a name="152" href="#152">152</a> <em>     *            <code>InputStream</code> to read from.</em>
+<a name="153" href="#153">153</a> <em>     * </em>
+<a name="154" href="#154">154</a> <em>     * @return the newly created Document instance</em>
+<a name="155" href="#155">155</a> <em>     * </em>
+<a name="156" href="#156">156</a> <em>     * @throws DocumentException</em>
+<a name="157" href="#157">157</a> <em>     *             if an error occurs during parsing.</em>
+<a name="158" href="#158">158</a> <em>     * @throws IOException</em>
+<a name="159" href="#159">159</a> <em>     *             DOCUMENT ME!</em>
+<a name="160" href="#160">160</a> <em>     * @throws XmlPullParserException</em>
+<a name="161" href="#161">161</a> <em>     *             DOCUMENT ME!</em>
+<a name="162" href="#162">162</a> <em>     */</em>
+<a name="163" href="#163">163</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputStream in) throws DocumentException, IOException,
+<a name="164" href="#164">164</a>             XmlPullParserException {
+<a name="165" href="#165">165</a>         <strong>return</strong> read(createReader(in));
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>     <em>/**<em>*</em></em>
+<a name="169" href="#169">169</a> <em>     * <p></em>
+<a name="170" href="#170">170</a> <em>     * Reads a Document from the given <code>Reader</code></em>
+<a name="171" href="#171">171</a> <em>     * </p></em>
+<a name="172" href="#172">172</a> <em>     * </em>
+<a name="173" href="#173">173</a> <em>     * @param reader</em>
+<a name="174" href="#174">174</a> <em>     *            is the reader for the input</em>
+<a name="175" href="#175">175</a> <em>     * </em>
+<a name="176" href="#176">176</a> <em>     * @return the newly created Document instance</em>
+<a name="177" href="#177">177</a> <em>     * </em>
+<a name="178" href="#178">178</a> <em>     * @throws DocumentException</em>
+<a name="179" href="#179">179</a> <em>     *             if an error occurs during parsing.</em>
+<a name="180" href="#180">180</a> <em>     * @throws IOException</em>
+<a name="181" href="#181">181</a> <em>     *             DOCUMENT ME!</em>
+<a name="182" href="#182">182</a> <em>     * @throws XmlPullParserException</em>
+<a name="183" href="#183">183</a> <em>     *             DOCUMENT ME!</em>
+<a name="184" href="#184">184</a> <em>     */</em>
+<a name="185" href="#185">185</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(Reader reader) throws DocumentException, IOException,
+<a name="186" href="#186">186</a>             XmlPullParserException {
+<a name="187" href="#187">187</a>         getXPPParser().setInput(reader);
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>         <strong>return</strong> parseDocument();
+<a name="190" href="#190">190</a>     }
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>     <em>/**<em>*</em></em>
+<a name="193" href="#193">193</a> <em>     * <p></em>
+<a name="194" href="#194">194</a> <em>     * Reads a Document from the given array of characters</em>
+<a name="195" href="#195">195</a> <em>     * </p></em>
+<a name="196" href="#196">196</a> <em>     * </em>
+<a name="197" href="#197">197</a> <em>     * @param text</em>
+<a name="198" href="#198">198</a> <em>     *            is the text to parse</em>
+<a name="199" href="#199">199</a> <em>     * </em>
+<a name="200" href="#200">200</a> <em>     * @return the newly created Document instance</em>
+<a name="201" href="#201">201</a> <em>     * </em>
+<a name="202" href="#202">202</a> <em>     * @throws DocumentException</em>
+<a name="203" href="#203">203</a> <em>     *             if an error occurs during parsing.</em>
+<a name="204" href="#204">204</a> <em>     * @throws IOException</em>
+<a name="205" href="#205">205</a> <em>     *             DOCUMENT ME!</em>
+<a name="206" href="#206">206</a> <em>     * @throws XmlPullParserException</em>
+<a name="207" href="#207">207</a> <em>     *             DOCUMENT ME!</em>
+<a name="208" href="#208">208</a> <em>     */</em>
+<a name="209" href="#209">209</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(<strong>char</strong>[] text) throws DocumentException, IOException,
+<a name="210" href="#210">210</a>             XmlPullParserException {
+<a name="211" href="#211">211</a>         getXPPParser().setInput(<strong>new</strong> CharArrayReader(text));
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>         <strong>return</strong> parseDocument();
+<a name="214" href="#214">214</a>     }
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>     <em>/**<em>*</em></em>
+<a name="217" href="#217">217</a> <em>     * <p></em>
+<a name="218" href="#218">218</a> <em>     * Reads a Document from the given stream</em>
+<a name="219" href="#219">219</a> <em>     * </p></em>
+<a name="220" href="#220">220</a> <em>     * </em>
+<a name="221" href="#221">221</a> <em>     * @param in</em>
+<a name="222" href="#222">222</a> <em>     *            <code>InputStream</code> to read from.</em>
+<a name="223" href="#223">223</a> <em>     * @param systemID</em>
+<a name="224" href="#224">224</a> <em>     *            is the URI for the input</em>
+<a name="225" href="#225">225</a> <em>     * </em>
+<a name="226" href="#226">226</a> <em>     * @return the newly created Document instance</em>
+<a name="227" href="#227">227</a> <em>     * </em>
+<a name="228" href="#228">228</a> <em>     * @throws DocumentException</em>
+<a name="229" href="#229">229</a> <em>     *             if an error occurs during parsing.</em>
+<a name="230" href="#230">230</a> <em>     * @throws IOException</em>
+<a name="231" href="#231">231</a> <em>     *             DOCUMENT ME!</em>
+<a name="232" href="#232">232</a> <em>     * @throws XmlPullParserException</em>
+<a name="233" href="#233">233</a> <em>     *             DOCUMENT ME!</em>
+<a name="234" href="#234">234</a> <em>     */</em>
+<a name="235" href="#235">235</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputStream in, String systemID)
+<a name="236" href="#236">236</a>             throws DocumentException, IOException, XmlPullParserException {
+<a name="237" href="#237">237</a>         <strong>return</strong> read(createReader(in), systemID);
+<a name="238" href="#238">238</a>     }
+<a name="239" href="#239">239</a> 
+<a name="240" href="#240">240</a>     <em>/**<em>*</em></em>
+<a name="241" href="#241">241</a> <em>     * <p></em>
+<a name="242" href="#242">242</a> <em>     * Reads a Document from the given <code>Reader</code></em>
+<a name="243" href="#243">243</a> <em>     * </p></em>
+<a name="244" href="#244">244</a> <em>     * </em>
+<a name="245" href="#245">245</a> <em>     * @param reader</em>
+<a name="246" href="#246">246</a> <em>     *            is the reader for the input</em>
+<a name="247" href="#247">247</a> <em>     * @param systemID</em>
+<a name="248" href="#248">248</a> <em>     *            is the URI for the input</em>
+<a name="249" href="#249">249</a> <em>     * </em>
+<a name="250" href="#250">250</a> <em>     * @return the newly created Document instance</em>
+<a name="251" href="#251">251</a> <em>     * </em>
+<a name="252" href="#252">252</a> <em>     * @throws DocumentException</em>
+<a name="253" href="#253">253</a> <em>     *             if an error occurs during parsing.</em>
+<a name="254" href="#254">254</a> <em>     * @throws IOException</em>
+<a name="255" href="#255">255</a> <em>     *             DOCUMENT ME!</em>
+<a name="256" href="#256">256</a> <em>     * @throws XmlPullParserException</em>
+<a name="257" href="#257">257</a> <em>     *             DOCUMENT ME!</em>
+<a name="258" href="#258">258</a> <em>     */</em>
+<a name="259" href="#259">259</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(Reader reader, String systemID)
+<a name="260" href="#260">260</a>             throws DocumentException, IOException, XmlPullParserException {
+<a name="261" href="#261">261</a>         <a href="../../../org/dom4j/Document.html">Document</a> document = read(reader);
+<a name="262" href="#262">262</a>         document.setName(systemID);
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>         <strong>return</strong> document;
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <em class="comment">// Properties</em>
+<a name="268" href="#268">268</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="269" href="#269">269</a>     <strong>public</strong> XmlPullParser getXPPParser() throws XmlPullParserException {
+<a name="270" href="#270">270</a>         <strong>if</strong> (xppParser == <strong>null</strong>) {
+<a name="271" href="#271">271</a>             xppParser = getXPPFactory().newPullParser();
+<a name="272" href="#272">272</a>         }
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>         <strong>return</strong> xppParser;
+<a name="275" href="#275">275</a>     }
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a>     <strong>public</strong> XmlPullParserFactory getXPPFactory() throws XmlPullParserException {
+<a name="278" href="#278">278</a>         <strong>if</strong> (xppFactory == <strong>null</strong>) {
+<a name="279" href="#279">279</a>             xppFactory = XmlPullParserFactory.newInstance();
+<a name="280" href="#280">280</a>         }
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>         xppFactory.setNamespaceAware(<strong>true</strong>);
+<a name="283" href="#283">283</a> 
+<a name="284" href="#284">284</a>         <strong>return</strong> xppFactory;
+<a name="285" href="#285">285</a>     }
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a>     <strong>public</strong> <strong>void</strong> setXPPFactory(XmlPullParserFactory xPPfactory) {
+<a name="288" href="#288">288</a>         <strong>this</strong>.xppFactory = xPPfactory;
+<a name="289" href="#289">289</a>     }
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>     <em>/**<em>*</em></em>
+<a name="292" href="#292">292</a> <em>     * DOCUMENT ME!</em>
+<a name="293" href="#293">293</a> <em>     * </em>
+<a name="294" href="#294">294</a> <em>     * @return the <code>DocumentFactory</code> used to create document</em>
+<a name="295" href="#295">295</a> <em>     *         objects</em>
+<a name="296" href="#296">296</a> <em>     */</em>
+<a name="297" href="#297">297</a>     <strong>public</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="298" href="#298">298</a>         <strong>if</strong> (factory == <strong>null</strong>) {
+<a name="299" href="#299">299</a>             factory = DocumentFactory.getInstance();
+<a name="300" href="#300">300</a>         }
+<a name="301" href="#301">301</a> 
+<a name="302" href="#302">302</a>         <strong>return</strong> factory;
+<a name="303" href="#303">303</a>     }
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>     <em>/**<em>*</em></em>
+<a name="306" href="#306">306</a> <em>     * <p></em>
+<a name="307" href="#307">307</a> <em>     * This sets the <code>DocumentFactory</code> used to create new</em>
+<a name="308" href="#308">308</a> <em>     * documents. This method allows the building of custom DOM4J tree objects</em>
+<a name="309" href="#309">309</a> <em>     * to be implemented easily using a custom derivation of</em>
+<a name="310" href="#310">310</a> <em>     * {@link DocumentFactory}</em>
+<a name="311" href="#311">311</a> <em>     * </p></em>
+<a name="312" href="#312">312</a> <em>     * </em>
+<a name="313" href="#313">313</a> <em>     * @param documentFactory</em>
+<a name="314" href="#314">314</a> <em>     *            <code>DocumentFactory</code> used to create DOM4J objects</em>
+<a name="315" href="#315">315</a> <em>     */</em>
+<a name="316" href="#316">316</a>     <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="317" href="#317">317</a>         <strong>this</strong>.factory = documentFactory;
+<a name="318" href="#318">318</a>     }
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>     <em>/**<em>*</em></em>
+<a name="321" href="#321">321</a> <em>     * Adds the <code>ElementHandler</code> to be called when the specified</em>
+<a name="322" href="#322">322</a> <em>     * path is encounted.</em>
+<a name="323" href="#323">323</a> <em>     * </em>
+<a name="324" href="#324">324</a> <em>     * @param path</em>
+<a name="325" href="#325">325</a> <em>     *            is the path to be handled</em>
+<a name="326" href="#326">326</a> <em>     * @param handler</em>
+<a name="327" href="#327">327</a> <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="328" href="#328">328</a> <em>     *            based processor.</em>
+<a name="329" href="#329">329</a> <em>     */</em>
+<a name="330" href="#330">330</a>     <strong>public</strong> <strong>void</strong> addHandler(String path, <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler) {
+<a name="331" href="#331">331</a>         getDispatchHandler().addHandler(path, handler);
+<a name="332" href="#332">332</a>     }
+<a name="333" href="#333">333</a> 
+<a name="334" href="#334">334</a>     <em>/**<em>*</em></em>
+<a name="335" href="#335">335</a> <em>     * Removes the <code>ElementHandler</code> from the event based processor,</em>
+<a name="336" href="#336">336</a> <em>     * for the specified path.</em>
+<a name="337" href="#337">337</a> <em>     * </em>
+<a name="338" href="#338">338</a> <em>     * @param path</em>
+<a name="339" href="#339">339</a> <em>     *            is the path to remove the <code>ElementHandler</code> for.</em>
+<a name="340" href="#340">340</a> <em>     */</em>
+<a name="341" href="#341">341</a>     <strong>public</strong> <strong>void</strong> removeHandler(String path) {
+<a name="342" href="#342">342</a>         getDispatchHandler().removeHandler(path);
+<a name="343" href="#343">343</a>     }
+<a name="344" href="#344">344</a> 
+<a name="345" href="#345">345</a>     <em>/**<em>*</em></em>
+<a name="346" href="#346">346</a> <em>     * When multiple <code>ElementHandler</code> instances have been</em>
+<a name="347" href="#347">347</a> <em>     * registered, this will set a default <code>ElementHandler</code> to be</em>
+<a name="348" href="#348">348</a> <em>     * called for any path which does <b>NOT </b> have a handler registered.</em>
+<a name="349" href="#349">349</a> <em>     * </em>
+<a name="350" href="#350">350</a> <em>     * @param handler</em>
+<a name="351" href="#351">351</a> <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="352" href="#352">352</a> <em>     *            based processor.</em>
+<a name="353" href="#353">353</a> <em>     */</em>
+<a name="354" href="#354">354</a>     <strong>public</strong> <strong>void</strong> setDefaultHandler(<a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler) {
+<a name="355" href="#355">355</a>         getDispatchHandler().setDefaultHandler(handler);
+<a name="356" href="#356">356</a>     }
+<a name="357" href="#357">357</a> 
+<a name="358" href="#358">358</a>     <em class="comment">// Implementation methods</em>
+<a name="359" href="#359">359</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="360" href="#360">360</a>     <strong>protected</strong> <a href="../../../org/dom4j/Document.html">Document</a> parseDocument() throws DocumentException, IOException,
+<a name="361" href="#361">361</a>             XmlPullParserException {
+<a name="362" href="#362">362</a>         <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> df = getDocumentFactory();
+<a name="363" href="#363">363</a>         <a href="../../../org/dom4j/Document.html">Document</a> document = df.createDocument();
+<a name="364" href="#364">364</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = <strong>null</strong>;
+<a name="365" href="#365">365</a>         XmlPullParser pp = getXPPParser();
+<a name="366" href="#366">366</a>         pp.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, <strong>true</strong>);
+<a name="367" href="#367">367</a> 
+<a name="368" href="#368">368</a>         <strong>while</strong> (<strong>true</strong>) {
+<a name="369" href="#369">369</a>             <strong>int</strong> type = pp.nextToken();
+<a name="370" href="#370">370</a> 
+<a name="371" href="#371">371</a>             <strong>switch</strong> (type) {
+<a name="372" href="#372">372</a>                 <strong>case</strong> XmlPullParser.PROCESSING_INSTRUCTION: {
+<a name="373" href="#373">373</a>                     String text = pp.getText();
+<a name="374" href="#374">374</a>                     <strong>int</strong> loc = text.indexOf(<span class="string">" "</span>);
+<a name="375" href="#375">375</a> 
+<a name="376" href="#376">376</a>                     <strong>if</strong> (loc >= 0) {
+<a name="377" href="#377">377</a>                         String target = text.substring(0, loc);
+<a name="378" href="#378">378</a>                         String txt = text.substring(loc + 1);
+<a name="379" href="#379">379</a>                         document.addProcessingInstruction(target, txt);
+<a name="380" href="#380">380</a>                     } <strong>else</strong> {
+<a name="381" href="#381">381</a>                         document.addProcessingInstruction(text, <span class="string">""</span>);
+<a name="382" href="#382">382</a>                     }
+<a name="383" href="#383">383</a> 
+<a name="384" href="#384">384</a>                     <strong>break</strong>;
+<a name="385" href="#385">385</a>                 }
+<a name="386" href="#386">386</a> 
+<a name="387" href="#387">387</a>                 <strong>case</strong> XmlPullParser.COMMENT: {
+<a name="388" href="#388">388</a>                     <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="389" href="#389">389</a>                         parent.addComment(pp.getText());
+<a name="390" href="#390">390</a>                     } <strong>else</strong> {
+<a name="391" href="#391">391</a>                         document.addComment(pp.getText());
+<a name="392" href="#392">392</a>                     }
+<a name="393" href="#393">393</a> 
+<a name="394" href="#394">394</a>                     <strong>break</strong>;
+<a name="395" href="#395">395</a>                 }
+<a name="396" href="#396">396</a> 
+<a name="397" href="#397">397</a>                 <strong>case</strong> XmlPullParser.CDSECT: {
+<a name="398" href="#398">398</a>                     <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="399" href="#399">399</a>                         parent.addCDATA(pp.getText());
+<a name="400" href="#400">400</a>                     } <strong>else</strong> {
+<a name="401" href="#401">401</a>                         String msg = <span class="string">"Cannot have text content outside of the "</span>
+<a name="402" href="#402">402</a>                                 + <span class="string">"root document"</span>;
+<a name="403" href="#403">403</a>                         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(msg);
+<a name="404" href="#404">404</a>                     }
+<a name="405" href="#405">405</a> 
+<a name="406" href="#406">406</a>                     <strong>break</strong>;
+<a name="407" href="#407">407</a>                 }
+<a name="408" href="#408">408</a> 
+<a name="409" href="#409">409</a>                 <strong>case</strong> XmlPullParser.ENTITY_REF:
+<a name="410" href="#410">410</a>                     <strong>break</strong>;
+<a name="411" href="#411">411</a> 
+<a name="412" href="#412">412</a>                 <strong>case</strong> XmlPullParser.END_DOCUMENT:
+<a name="413" href="#413">413</a>                     <strong>return</strong> document;
+<a name="414" href="#414">414</a> 
+<a name="415" href="#415">415</a>                 <strong>case</strong> XmlPullParser.START_TAG: {
+<a name="416" href="#416">416</a>                     <a href="../../../org/dom4j/QName.html">QName</a> qname = (pp.getPrefix() == <strong>null</strong>) ? df.createQName(pp
+<a name="417" href="#417">417</a>                             .getName(), pp.getNamespace()) : df.createQName(pp
+<a name="418" href="#418">418</a>                             .getName(), pp.getPrefix(), pp.getNamespace());
+<a name="419" href="#419">419</a>                     <a href="../../../org/dom4j/Element.html">Element</a> newElement = df.createElement(qname);
+<a name="420" href="#420">420</a>                     <strong>int</strong> nsStart = pp.getNamespaceCount(pp.getDepth() - 1);
+<a name="421" href="#421">421</a>                     <strong>int</strong> nsEnd = pp.getNamespaceCount(pp.getDepth());
+<a name="422" href="#422">422</a> 
+<a name="423" href="#423">423</a>                     <strong>for</strong> (<strong>int</strong> i = nsStart; i < nsEnd; i++) {
+<a name="424" href="#424">424</a>                         <strong>if</strong> (pp.getNamespacePrefix(i) != <strong>null</strong>) {
+<a name="425" href="#425">425</a>                             newElement.addNamespace(pp.getNamespacePrefix(i),
+<a name="426" href="#426">426</a>                                     pp.getNamespaceUri(i));
+<a name="427" href="#427">427</a>                         }
+<a name="428" href="#428">428</a>                     }
+<a name="429" href="#429">429</a> 
+<a name="430" href="#430">430</a>                     <strong>for</strong> (<strong>int</strong> i = 0; i < pp.getAttributeCount(); i++) {
+<a name="431" href="#431">431</a>                         <a href="../../../org/dom4j/QName.html">QName</a> qa = (pp.getAttributePrefix(i) == <strong>null</strong>) ? df
+<a name="432" href="#432">432</a>                                 .createQName(pp.getAttributeName(i)) : df
+<a name="433" href="#433">433</a>                                 .createQName(pp.getAttributeName(i), pp
+<a name="434" href="#434">434</a>                                         .getAttributePrefix(i), pp
+<a name="435" href="#435">435</a>                                         .getAttributeNamespace(i));
+<a name="436" href="#436">436</a>                         newElement.addAttribute(qa, pp.getAttributeValue(i));
+<a name="437" href="#437">437</a>                     }
+<a name="438" href="#438">438</a> 
+<a name="439" href="#439">439</a>                     <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="440" href="#440">440</a>                         parent.add(newElement);
+<a name="441" href="#441">441</a>                     } <strong>else</strong> {
+<a name="442" href="#442">442</a>                         document.add(newElement);
+<a name="443" href="#443">443</a>                     }
+<a name="444" href="#444">444</a> 
+<a name="445" href="#445">445</a>                     parent = newElement;
+<a name="446" href="#446">446</a> 
+<a name="447" href="#447">447</a>                     <strong>break</strong>;
+<a name="448" href="#448">448</a>                 }
+<a name="449" href="#449">449</a> 
+<a name="450" href="#450">450</a>                 <strong>case</strong> XmlPullParser.END_TAG: {
+<a name="451" href="#451">451</a>                     <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="452" href="#452">452</a>                         parent = parent.getParent();
+<a name="453" href="#453">453</a>                     }
+<a name="454" href="#454">454</a> 
+<a name="455" href="#455">455</a>                     <strong>break</strong>;
+<a name="456" href="#456">456</a>                 }
+<a name="457" href="#457">457</a> 
+<a name="458" href="#458">458</a>                 <strong>case</strong> XmlPullParser.TEXT: {
+<a name="459" href="#459">459</a>                     String text = pp.getText();
+<a name="460" href="#460">460</a> 
+<a name="461" href="#461">461</a>                     <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="462" href="#462">462</a>                         parent.addText(text);
+<a name="463" href="#463">463</a>                     } <strong>else</strong> {
+<a name="464" href="#464">464</a>                         String msg = <span class="string">"Cannot have text content outside of the "</span>
+<a name="465" href="#465">465</a>                                 + <span class="string">"root document"</span>;
+<a name="466" href="#466">466</a>                         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(msg);
+<a name="467" href="#467">467</a>                     }
+<a name="468" href="#468">468</a> 
+<a name="469" href="#469">469</a>                     <strong>break</strong>;
+<a name="470" href="#470">470</a>                 }
+<a name="471" href="#471">471</a> 
+<a name="472" href="#472">472</a>                 <strong>default</strong>:
+<a name="473" href="#473">473</a>                     <strong>break</strong>;
+<a name="474" href="#474">474</a>             }
+<a name="475" href="#475">475</a>         }
+<a name="476" href="#476">476</a>     }
+<a name="477" href="#477">477</a> 
+<a name="478" href="#478">478</a>     <strong>protected</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> getDispatchHandler() {
+<a name="479" href="#479">479</a>         <strong>if</strong> (dispatchHandler == <strong>null</strong>) {
+<a name="480" href="#480">480</a>             dispatchHandler = <strong>new</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a>();
+<a name="481" href="#481">481</a>         }
+<a name="482" href="#482">482</a> 
+<a name="483" href="#483">483</a>         <strong>return</strong> dispatchHandler;
+<a name="484" href="#484">484</a>     }
+<a name="485" href="#485">485</a> 
+<a name="486" href="#486">486</a>     <strong>protected</strong> <strong>void</strong> setDispatchHandler(<a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> dispatchHandler) {
+<a name="487" href="#487">487</a>         <strong>this</strong>.dispatchHandler = dispatchHandler;
+<a name="488" href="#488">488</a>     }
+<a name="489" href="#489">489</a> 
+<a name="490" href="#490">490</a>     <em>/**<em>*</em></em>
+<a name="491" href="#491">491</a> <em>     * Factory method to create a Reader from the given InputStream.</em>
+<a name="492" href="#492">492</a> <em>     * </em>
+<a name="493" href="#493">493</a> <em>     * @param in</em>
+<a name="494" href="#494">494</a> <em>     *            DOCUMENT ME!</em>
+<a name="495" href="#495">495</a> <em>     * </em>
+<a name="496" href="#496">496</a> <em>     * @return DOCUMENT ME!</em>
+<a name="497" href="#497">497</a> <em>     * </em>
+<a name="498" href="#498">498</a> <em>     * @throws IOException</em>
+<a name="499" href="#499">499</a> <em>     *             DOCUMENT ME!</em>
+<a name="500" href="#500">500</a> <em>     */</em>
+<a name="501" href="#501">501</a>     <strong>protected</strong> Reader createReader(InputStream in) throws IOException {
+<a name="502" href="#502">502</a>         <strong>return</strong> <strong>new</strong> BufferedReader(<strong>new</strong> InputStreamReader(in));
+<a name="503" href="#503">503</a>     }
+<a name="504" href="#504">504</a> }
+<a name="505" href="#505">505</a> 
+<a name="506" href="#506">506</a> <em class="comment">/*</em>
+<a name="507" href="#507">507</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="508" href="#508">508</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="509" href="#509">509</a> <em class="comment"> * following conditions are met:</em>
+<a name="510" href="#510">510</a> <em class="comment"> * </em>
+<a name="511" href="#511">511</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="512" href="#512">512</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="513" href="#513">513</a> <em class="comment"> * </em>
+<a name="514" href="#514">514</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="515" href="#515">515</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="516" href="#516">516</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="517" href="#517">517</a> <em class="comment"> * </em>
+<a name="518" href="#518">518</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="519" href="#519">519</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="520" href="#520">520</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="521" href="#521">521</a> <em class="comment"> * </em>
+<a name="522" href="#522">522</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="523" href="#523">523</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="524" href="#524">524</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="525" href="#525">525</a> <em class="comment"> * </em>
+<a name="526" href="#526">526</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="527" href="#527">527</a> <em class="comment"> * </em>
+<a name="528" href="#528">528</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="529" href="#529">529</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="530" href="#530">530</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="531" href="#531">531</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="532" href="#532">532</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="533" href="#533">533</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="534" href="#534">534</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="535" href="#535">535</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="536" href="#536">536</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="537" href="#537">537</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="538" href="#538">538</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="539" href="#539">539</a> <em class="comment"> * </em>
+<a name="540" href="#540">540</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="541" href="#541">541</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/XPPReader.html b/docs/xref/org/dom4j/io/XPPReader.html
new file mode 100644
index 0000000..6c2cc08
--- /dev/null
+++ b/docs/xref/org/dom4j/io/XPPReader.html
@@ -0,0 +1,497 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XPPReader xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/io/XPPReader.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/io/package-summary.html">org.dom4j.io</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.BufferedReader;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.File;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.FileReader;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.IOException;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.InputStream;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.InputStreamReader;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.io.Reader;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.net.URL;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Document;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.DocumentException;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Element;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.xpp.ProxyXmlStartTag;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>  <strong>import</strong> org.gjt.xpp.XmlEndTag;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.gjt.xpp.XmlPullParser;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.gjt.xpp.XmlPullParserException;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.gjt.xpp.XmlPullParserFactory;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>  <em>/**<em>*</em></em>
+<a name="32" href="#32">32</a>  <em> * <p></em>
+<a name="33" href="#33">33</a>  <em> * <code>XPPReader</code> is a Reader of DOM4J documents that uses the fast <a</em>
+<a name="34" href="#34">34</a>  <em> * href="<a href="http://www.extreme.indiana.edu/soap/xpp/" target="alexandria_uri">http://www.extreme.indiana.edu/soap/xpp/</a>">XML Pull Parser 2.x </a>. It</em>
+<a name="35" href="#35">35</a>  <em> * does not currently support comments, CDATA or ProcessingInstructions or</em>
+<a name="36" href="#36">36</a>  <em> * validation but it is very fast for use in SOAP style environments.</em>
+<a name="37" href="#37">37</a>  <em> * </p></em>
+<a name="38" href="#38">38</a>  <em> * </em>
+<a name="39" href="#39">39</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="40" href="#40">40</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="41" href="#41">41</a>  <em> */</em>
+<a name="42" href="#42">42</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/io/XPPReader.html">XPPReader</a> {
+<a name="43" href="#43">43</a>      <em>/**<em>* <code>DocumentFactory</code> used to create new document objects */</em></em>
+<a name="44" href="#44">44</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory;
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>* <code>XmlPullParser</code> used to parse XML */</em></em>
+<a name="47" href="#47">47</a>      <strong>private</strong> XmlPullParser xppParser;
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>* <code>XmlPullParser</code> used to parse XML */</em></em>
+<a name="50" href="#50">50</a>      <strong>private</strong> XmlPullParserFactory xppFactory;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <em>/**<em>* <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> to call when each <code>Element</code> is encountered */</em></em>
+<a name="53" href="#53">53</a>      <strong>private</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> dispatchHandler;
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> <a href="../../../org/dom4j/io/XPPReader.html">XPPReader</a>() {
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> <a href="../../../org/dom4j/io/XPPReader.html">XPPReader</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory) {
+<a name="59" href="#59">59</a>          <strong>this</strong>.factory = factory;
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <em>/**<em>*</em></em>
+<a name="63" href="#63">63</a>  <em>     * <p></em>
+<a name="64" href="#64">64</a>  <em>     * Reads a Document from the given <code>File</code></em>
+<a name="65" href="#65">65</a>  <em>     * </p></em>
+<a name="66" href="#66">66</a>  <em>     * </em>
+<a name="67" href="#67">67</a>  <em>     * @param file</em>
+<a name="68" href="#68">68</a>  <em>     *            is the <code>File</code> to read from.</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @return the newly created Document instance</em>
+<a name="71" href="#71">71</a>  <em>     * </em>
+<a name="72" href="#72">72</a>  <em>     * @throws DocumentException</em>
+<a name="73" href="#73">73</a>  <em>     *             if an error occurs during parsing.</em>
+<a name="74" href="#74">74</a>  <em>     * @throws IOException</em>
+<a name="75" href="#75">75</a>  <em>     *             if a URL could not be made for the given File</em>
+<a name="76" href="#76">76</a>  <em>     * @throws XmlPullParserException</em>
+<a name="77" href="#77">77</a>  <em>     *             DOCUMENT ME!</em>
+<a name="78" href="#78">78</a>  <em>     */</em>
+<a name="79" href="#79">79</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(File file) throws DocumentException, IOException,
+<a name="80" href="#80">80</a>              XmlPullParserException {
+<a name="81" href="#81">81</a>          String systemID = file.getAbsolutePath();
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>          <strong>return</strong> read(<strong>new</strong> BufferedReader(<strong>new</strong> FileReader(file)), systemID);
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <em>/**<em>*</em></em>
+<a name="87" href="#87">87</a>  <em>     * <p></em>
+<a name="88" href="#88">88</a>  <em>     * Reads a Document from the given <code>URL</code></em>
+<a name="89" href="#89">89</a>  <em>     * </p></em>
+<a name="90" href="#90">90</a>  <em>     * </em>
+<a name="91" href="#91">91</a>  <em>     * @param url</em>
+<a name="92" href="#92">92</a>  <em>     *            <code>URL</code> to read from.</em>
+<a name="93" href="#93">93</a>  <em>     * </em>
+<a name="94" href="#94">94</a>  <em>     * @return the newly created Document instance</em>
+<a name="95" href="#95">95</a>  <em>     * </em>
+<a name="96" href="#96">96</a>  <em>     * @throws DocumentException</em>
+<a name="97" href="#97">97</a>  <em>     *             if an error occurs during parsing.</em>
+<a name="98" href="#98">98</a>  <em>     * @throws IOException</em>
+<a name="99" href="#99">99</a>  <em>     *             DOCUMENT ME!</em>
+<a name="100" href="#100">100</a> <em>     * @throws XmlPullParserException</em>
+<a name="101" href="#101">101</a> <em>     *             DOCUMENT ME!</em>
+<a name="102" href="#102">102</a> <em>     */</em>
+<a name="103" href="#103">103</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(URL url) throws DocumentException, IOException,
+<a name="104" href="#104">104</a>             XmlPullParserException {
+<a name="105" href="#105">105</a>         String systemID = url.toExternalForm();
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>         <strong>return</strong> read(createReader(url.openStream()), systemID);
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <em>/**<em>*</em></em>
+<a name="111" href="#111">111</a> <em>     * <p></em>
+<a name="112" href="#112">112</a> <em>     * Reads a Document from the given URL or filename.</em>
+<a name="113" href="#113">113</a> <em>     * </p></em>
+<a name="114" href="#114">114</a> <em>     * </em>
+<a name="115" href="#115">115</a> <em>     * <p></em>
+<a name="116" href="#116">116</a> <em>     * If the systemID contains a <code>':'</code> character then it is</em>
+<a name="117" href="#117">117</a> <em>     * assumed to be a URL otherwise its assumed to be a file name. If you want</em>
+<a name="118" href="#118">118</a> <em>     * finer grained control over this mechansim then please explicitly pass in</em>
+<a name="119" href="#119">119</a> <em>     * either a {@link URL}or a {@link File}instance instead of a {@link</em>
+<a name="120" href="#120">120</a> <em>     * String} to denote the source of the document.</em>
+<a name="121" href="#121">121</a> <em>     * </p></em>
+<a name="122" href="#122">122</a> <em>     * </em>
+<a name="123" href="#123">123</a> <em>     * @param systemID</em>
+<a name="124" href="#124">124</a> <em>     *            is a URL for a document or a file name.</em>
+<a name="125" href="#125">125</a> <em>     * </em>
+<a name="126" href="#126">126</a> <em>     * @return the newly created Document instance</em>
+<a name="127" href="#127">127</a> <em>     * </em>
+<a name="128" href="#128">128</a> <em>     * @throws DocumentException</em>
+<a name="129" href="#129">129</a> <em>     *             if an error occurs during parsing.</em>
+<a name="130" href="#130">130</a> <em>     * @throws IOException</em>
+<a name="131" href="#131">131</a> <em>     *             if a URL could not be made for the given File</em>
+<a name="132" href="#132">132</a> <em>     * @throws XmlPullParserException</em>
+<a name="133" href="#133">133</a> <em>     *             DOCUMENT ME!</em>
+<a name="134" href="#134">134</a> <em>     */</em>
+<a name="135" href="#135">135</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(String systemID) throws DocumentException,
+<a name="136" href="#136">136</a>             IOException, XmlPullParserException {
+<a name="137" href="#137">137</a>         <strong>if</strong> (systemID.indexOf(':') >= 0) {
+<a name="138" href="#138">138</a>             <em class="comment">// lets assume its a URL</em>
+<a name="139" href="#139">139</a>             <strong>return</strong> read(<strong>new</strong> URL(systemID));
+<a name="140" href="#140">140</a>         } <strong>else</strong> {
+<a name="141" href="#141">141</a>             <em class="comment">// lets assume that we are given a file name</em>
+<a name="142" href="#142">142</a>             <strong>return</strong> read(<strong>new</strong> File(systemID));
+<a name="143" href="#143">143</a>         }
+<a name="144" href="#144">144</a>     }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <em>/**<em>*</em></em>
+<a name="147" href="#147">147</a> <em>     * <p></em>
+<a name="148" href="#148">148</a> <em>     * Reads a Document from the given stream</em>
+<a name="149" href="#149">149</a> <em>     * </p></em>
+<a name="150" href="#150">150</a> <em>     * </em>
+<a name="151" href="#151">151</a> <em>     * @param in</em>
+<a name="152" href="#152">152</a> <em>     *            <code>InputStream</code> to read from.</em>
+<a name="153" href="#153">153</a> <em>     * </em>
+<a name="154" href="#154">154</a> <em>     * @return the newly created Document instance</em>
+<a name="155" href="#155">155</a> <em>     * </em>
+<a name="156" href="#156">156</a> <em>     * @throws DocumentException</em>
+<a name="157" href="#157">157</a> <em>     *             if an error occurs during parsing.</em>
+<a name="158" href="#158">158</a> <em>     * @throws IOException</em>
+<a name="159" href="#159">159</a> <em>     *             DOCUMENT ME!</em>
+<a name="160" href="#160">160</a> <em>     * @throws XmlPullParserException</em>
+<a name="161" href="#161">161</a> <em>     *             DOCUMENT ME!</em>
+<a name="162" href="#162">162</a> <em>     */</em>
+<a name="163" href="#163">163</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputStream in) throws DocumentException, IOException,
+<a name="164" href="#164">164</a>             XmlPullParserException {
+<a name="165" href="#165">165</a>         <strong>return</strong> read(createReader(in));
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>     <em>/**<em>*</em></em>
+<a name="169" href="#169">169</a> <em>     * <p></em>
+<a name="170" href="#170">170</a> <em>     * Reads a Document from the given <code>Reader</code></em>
+<a name="171" href="#171">171</a> <em>     * </p></em>
+<a name="172" href="#172">172</a> <em>     * </em>
+<a name="173" href="#173">173</a> <em>     * @param reader</em>
+<a name="174" href="#174">174</a> <em>     *            is the reader for the input</em>
+<a name="175" href="#175">175</a> <em>     * </em>
+<a name="176" href="#176">176</a> <em>     * @return the newly created Document instance</em>
+<a name="177" href="#177">177</a> <em>     * </em>
+<a name="178" href="#178">178</a> <em>     * @throws DocumentException</em>
+<a name="179" href="#179">179</a> <em>     *             if an error occurs during parsing.</em>
+<a name="180" href="#180">180</a> <em>     * @throws IOException</em>
+<a name="181" href="#181">181</a> <em>     *             DOCUMENT ME!</em>
+<a name="182" href="#182">182</a> <em>     * @throws XmlPullParserException</em>
+<a name="183" href="#183">183</a> <em>     *             DOCUMENT ME!</em>
+<a name="184" href="#184">184</a> <em>     */</em>
+<a name="185" href="#185">185</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(Reader reader) throws DocumentException, IOException,
+<a name="186" href="#186">186</a>             XmlPullParserException {
+<a name="187" href="#187">187</a>         getXPPParser().setInput(reader);
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>         <strong>return</strong> parseDocument();
+<a name="190" href="#190">190</a>     }
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>     <em>/**<em>*</em></em>
+<a name="193" href="#193">193</a> <em>     * <p></em>
+<a name="194" href="#194">194</a> <em>     * Reads a Document from the given array of characters</em>
+<a name="195" href="#195">195</a> <em>     * </p></em>
+<a name="196" href="#196">196</a> <em>     * </em>
+<a name="197" href="#197">197</a> <em>     * @param text</em>
+<a name="198" href="#198">198</a> <em>     *            is the text to parse</em>
+<a name="199" href="#199">199</a> <em>     * </em>
+<a name="200" href="#200">200</a> <em>     * @return the newly created Document instance</em>
+<a name="201" href="#201">201</a> <em>     * </em>
+<a name="202" href="#202">202</a> <em>     * @throws DocumentException</em>
+<a name="203" href="#203">203</a> <em>     *             if an error occurs during parsing.</em>
+<a name="204" href="#204">204</a> <em>     * @throws IOException</em>
+<a name="205" href="#205">205</a> <em>     *             DOCUMENT ME!</em>
+<a name="206" href="#206">206</a> <em>     * @throws XmlPullParserException</em>
+<a name="207" href="#207">207</a> <em>     *             DOCUMENT ME!</em>
+<a name="208" href="#208">208</a> <em>     */</em>
+<a name="209" href="#209">209</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(<strong>char</strong>[] text) throws DocumentException, IOException,
+<a name="210" href="#210">210</a>             XmlPullParserException {
+<a name="211" href="#211">211</a>         getXPPParser().setInput(text);
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>         <strong>return</strong> parseDocument();
+<a name="214" href="#214">214</a>     }
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>     <em>/**<em>*</em></em>
+<a name="217" href="#217">217</a> <em>     * <p></em>
+<a name="218" href="#218">218</a> <em>     * Reads a Document from the given stream</em>
+<a name="219" href="#219">219</a> <em>     * </p></em>
+<a name="220" href="#220">220</a> <em>     * </em>
+<a name="221" href="#221">221</a> <em>     * @param in</em>
+<a name="222" href="#222">222</a> <em>     *            <code>InputStream</code> to read from.</em>
+<a name="223" href="#223">223</a> <em>     * @param systemID</em>
+<a name="224" href="#224">224</a> <em>     *            is the URI for the input</em>
+<a name="225" href="#225">225</a> <em>     * </em>
+<a name="226" href="#226">226</a> <em>     * @return the newly created Document instance</em>
+<a name="227" href="#227">227</a> <em>     * </em>
+<a name="228" href="#228">228</a> <em>     * @throws DocumentException</em>
+<a name="229" href="#229">229</a> <em>     *             if an error occurs during parsing.</em>
+<a name="230" href="#230">230</a> <em>     * @throws IOException</em>
+<a name="231" href="#231">231</a> <em>     *             DOCUMENT ME!</em>
+<a name="232" href="#232">232</a> <em>     * @throws XmlPullParserException</em>
+<a name="233" href="#233">233</a> <em>     *             DOCUMENT ME!</em>
+<a name="234" href="#234">234</a> <em>     */</em>
+<a name="235" href="#235">235</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputStream in, String systemID)
+<a name="236" href="#236">236</a>             throws DocumentException, IOException, XmlPullParserException {
+<a name="237" href="#237">237</a>         <strong>return</strong> read(createReader(in), systemID);
+<a name="238" href="#238">238</a>     }
+<a name="239" href="#239">239</a> 
+<a name="240" href="#240">240</a>     <em>/**<em>*</em></em>
+<a name="241" href="#241">241</a> <em>     * <p></em>
+<a name="242" href="#242">242</a> <em>     * Reads a Document from the given <code>Reader</code></em>
+<a name="243" href="#243">243</a> <em>     * </p></em>
+<a name="244" href="#244">244</a> <em>     * </em>
+<a name="245" href="#245">245</a> <em>     * @param reader</em>
+<a name="246" href="#246">246</a> <em>     *            is the reader for the input</em>
+<a name="247" href="#247">247</a> <em>     * @param systemID</em>
+<a name="248" href="#248">248</a> <em>     *            is the URI for the input</em>
+<a name="249" href="#249">249</a> <em>     * </em>
+<a name="250" href="#250">250</a> <em>     * @return the newly created Document instance</em>
+<a name="251" href="#251">251</a> <em>     * </em>
+<a name="252" href="#252">252</a> <em>     * @throws DocumentException</em>
+<a name="253" href="#253">253</a> <em>     *             if an error occurs during parsing.</em>
+<a name="254" href="#254">254</a> <em>     * @throws IOException</em>
+<a name="255" href="#255">255</a> <em>     *             DOCUMENT ME!</em>
+<a name="256" href="#256">256</a> <em>     * @throws XmlPullParserException</em>
+<a name="257" href="#257">257</a> <em>     *             DOCUMENT ME!</em>
+<a name="258" href="#258">258</a> <em>     */</em>
+<a name="259" href="#259">259</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(Reader reader, String systemID)
+<a name="260" href="#260">260</a>             throws DocumentException, IOException, XmlPullParserException {
+<a name="261" href="#261">261</a>         <a href="../../../org/dom4j/Document.html">Document</a> document = read(reader);
+<a name="262" href="#262">262</a>         document.setName(systemID);
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>         <strong>return</strong> document;
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <em class="comment">// Properties</em>
+<a name="268" href="#268">268</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="269" href="#269">269</a>     <strong>public</strong> XmlPullParser getXPPParser() throws XmlPullParserException {
+<a name="270" href="#270">270</a>         <strong>if</strong> (xppParser == <strong>null</strong>) {
+<a name="271" href="#271">271</a>             xppParser = getXPPFactory().newPullParser();
+<a name="272" href="#272">272</a>         }
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a>         <strong>return</strong> xppParser;
+<a name="275" href="#275">275</a>     }
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a>     <strong>public</strong> XmlPullParserFactory getXPPFactory() throws XmlPullParserException {
+<a name="278" href="#278">278</a>         <strong>if</strong> (xppFactory == <strong>null</strong>) {
+<a name="279" href="#279">279</a>             xppFactory = XmlPullParserFactory.newInstance();
+<a name="280" href="#280">280</a>         }
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>         <strong>return</strong> xppFactory;
+<a name="283" href="#283">283</a>     }
+<a name="284" href="#284">284</a> 
+<a name="285" href="#285">285</a>     <strong>public</strong> <strong>void</strong> setXPPFactory(XmlPullParserFactory xPPFactory) {
+<a name="286" href="#286">286</a>         <strong>this</strong>.xppFactory = xPPFactory;
+<a name="287" href="#287">287</a>     }
+<a name="288" href="#288">288</a> 
+<a name="289" href="#289">289</a>     <em>/**<em>*</em></em>
+<a name="290" href="#290">290</a> <em>     * DOCUMENT ME!</em>
+<a name="291" href="#291">291</a> <em>     * </em>
+<a name="292" href="#292">292</a> <em>     * @return the <code>DocumentFactory</code> used to create document</em>
+<a name="293" href="#293">293</a> <em>     *         objects</em>
+<a name="294" href="#294">294</a> <em>     */</em>
+<a name="295" href="#295">295</a>     <strong>public</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="296" href="#296">296</a>         <strong>if</strong> (factory == <strong>null</strong>) {
+<a name="297" href="#297">297</a>             factory = DocumentFactory.getInstance();
+<a name="298" href="#298">298</a>         }
+<a name="299" href="#299">299</a> 
+<a name="300" href="#300">300</a>         <strong>return</strong> factory;
+<a name="301" href="#301">301</a>     }
+<a name="302" href="#302">302</a> 
+<a name="303" href="#303">303</a>     <em>/**<em>*</em></em>
+<a name="304" href="#304">304</a> <em>     * <p></em>
+<a name="305" href="#305">305</a> <em>     * This sets the <code>DocumentFactory</code> used to create new</em>
+<a name="306" href="#306">306</a> <em>     * documents. This method allows the building of custom DOM4J tree objects</em>
+<a name="307" href="#307">307</a> <em>     * to be implemented easily using a custom derivation of</em>
+<a name="308" href="#308">308</a> <em>     * {@link DocumentFactory}</em>
+<a name="309" href="#309">309</a> <em>     * </p></em>
+<a name="310" href="#310">310</a> <em>     * </em>
+<a name="311" href="#311">311</a> <em>     * @param documentFactory</em>
+<a name="312" href="#312">312</a> <em>     *            <code>DocumentFactory</code> used to create DOM4J objects</em>
+<a name="313" href="#313">313</a> <em>     */</em>
+<a name="314" href="#314">314</a>     <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="315" href="#315">315</a>         <strong>this</strong>.factory = documentFactory;
+<a name="316" href="#316">316</a>     }
+<a name="317" href="#317">317</a> 
+<a name="318" href="#318">318</a>     <em>/**<em>*</em></em>
+<a name="319" href="#319">319</a> <em>     * Adds the <code>ElementHandler</code> to be called when the specified</em>
+<a name="320" href="#320">320</a> <em>     * path is encounted.</em>
+<a name="321" href="#321">321</a> <em>     * </em>
+<a name="322" href="#322">322</a> <em>     * @param path</em>
+<a name="323" href="#323">323</a> <em>     *            is the path to be handled</em>
+<a name="324" href="#324">324</a> <em>     * @param handler</em>
+<a name="325" href="#325">325</a> <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="326" href="#326">326</a> <em>     *            based processor.</em>
+<a name="327" href="#327">327</a> <em>     */</em>
+<a name="328" href="#328">328</a>     <strong>public</strong> <strong>void</strong> addHandler(String path, <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler) {
+<a name="329" href="#329">329</a>         getDispatchHandler().addHandler(path, handler);
+<a name="330" href="#330">330</a>     }
+<a name="331" href="#331">331</a> 
+<a name="332" href="#332">332</a>     <em>/**<em>*</em></em>
+<a name="333" href="#333">333</a> <em>     * Removes the <code>ElementHandler</code> from the event based processor,</em>
+<a name="334" href="#334">334</a> <em>     * for the specified path.</em>
+<a name="335" href="#335">335</a> <em>     * </em>
+<a name="336" href="#336">336</a> <em>     * @param path</em>
+<a name="337" href="#337">337</a> <em>     *            is the path to remove the <code>ElementHandler</code> for.</em>
+<a name="338" href="#338">338</a> <em>     */</em>
+<a name="339" href="#339">339</a>     <strong>public</strong> <strong>void</strong> removeHandler(String path) {
+<a name="340" href="#340">340</a>         getDispatchHandler().removeHandler(path);
+<a name="341" href="#341">341</a>     }
+<a name="342" href="#342">342</a> 
+<a name="343" href="#343">343</a>     <em>/**<em>*</em></em>
+<a name="344" href="#344">344</a> <em>     * When multiple <code>ElementHandler</code> instances have been</em>
+<a name="345" href="#345">345</a> <em>     * registered, this will set a default <code>ElementHandler</code> to be</em>
+<a name="346" href="#346">346</a> <em>     * called for any path which does <b>NOT </b> have a handler registered.</em>
+<a name="347" href="#347">347</a> <em>     * </em>
+<a name="348" href="#348">348</a> <em>     * @param handler</em>
+<a name="349" href="#349">349</a> <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="350" href="#350">350</a> <em>     *            based processor.</em>
+<a name="351" href="#351">351</a> <em>     */</em>
+<a name="352" href="#352">352</a>     <strong>public</strong> <strong>void</strong> setDefaultHandler(<a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler) {
+<a name="353" href="#353">353</a>         getDispatchHandler().setDefaultHandler(handler);
+<a name="354" href="#354">354</a>     }
+<a name="355" href="#355">355</a> 
+<a name="356" href="#356">356</a>     <em class="comment">// Implementation methods</em>
+<a name="357" href="#357">357</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="358" href="#358">358</a>     <strong>protected</strong> <a href="../../../org/dom4j/Document.html">Document</a> parseDocument() throws DocumentException, IOException,
+<a name="359" href="#359">359</a>             XmlPullParserException {
+<a name="360" href="#360">360</a>         <a href="../../../org/dom4j/Document.html">Document</a> document = getDocumentFactory().createDocument();
+<a name="361" href="#361">361</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = <strong>null</strong>;
+<a name="362" href="#362">362</a>         XmlPullParser parser = getXPPParser();
+<a name="363" href="#363">363</a>         parser.setNamespaceAware(<strong>true</strong>);
+<a name="364" href="#364">364</a> 
+<a name="365" href="#365">365</a>         <a href="../../../org/dom4j/xpp/ProxyXmlStartTag.html">ProxyXmlStartTag</a> startTag = <strong>new</strong> <a href="../../../org/dom4j/xpp/ProxyXmlStartTag.html">ProxyXmlStartTag</a>();
+<a name="366" href="#366">366</a>         XmlEndTag endTag = xppFactory.newEndTag();
+<a name="367" href="#367">367</a> 
+<a name="368" href="#368">368</a>         <strong>while</strong> (<strong>true</strong>) {
+<a name="369" href="#369">369</a>             <strong>int</strong> type = parser.next();
+<a name="370" href="#370">370</a> 
+<a name="371" href="#371">371</a>             <strong>switch</strong> (type) {
+<a name="372" href="#372">372</a>                 <strong>case</strong> XmlPullParser.END_DOCUMENT:
+<a name="373" href="#373">373</a>                     <strong>return</strong> document;
+<a name="374" href="#374">374</a> 
+<a name="375" href="#375">375</a>                 <strong>case</strong> XmlPullParser.START_TAG: {
+<a name="376" href="#376">376</a>                     parser.readStartTag(startTag);
+<a name="377" href="#377">377</a> 
+<a name="378" href="#378">378</a>                     <a href="../../../org/dom4j/Element.html">Element</a> newElement = startTag.getElement();
+<a name="379" href="#379">379</a> 
+<a name="380" href="#380">380</a>                     <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="381" href="#381">381</a>                         parent.add(newElement);
+<a name="382" href="#382">382</a>                     } <strong>else</strong> {
+<a name="383" href="#383">383</a>                         document.add(newElement);
+<a name="384" href="#384">384</a>                     }
+<a name="385" href="#385">385</a> 
+<a name="386" href="#386">386</a>                     parent = newElement;
+<a name="387" href="#387">387</a> 
+<a name="388" href="#388">388</a>                     <strong>break</strong>;
+<a name="389" href="#389">389</a>                 }
+<a name="390" href="#390">390</a> 
+<a name="391" href="#391">391</a>                 <strong>case</strong> XmlPullParser.END_TAG: {
+<a name="392" href="#392">392</a>                     parser.readEndTag(endTag);
+<a name="393" href="#393">393</a> 
+<a name="394" href="#394">394</a>                     <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="395" href="#395">395</a>                         parent = parent.getParent();
+<a name="396" href="#396">396</a>                     }
+<a name="397" href="#397">397</a> 
+<a name="398" href="#398">398</a>                     <strong>break</strong>;
+<a name="399" href="#399">399</a>                 }
+<a name="400" href="#400">400</a> 
+<a name="401" href="#401">401</a>                 <strong>case</strong> XmlPullParser.CONTENT: {
+<a name="402" href="#402">402</a>                     String text = parser.readContent();
+<a name="403" href="#403">403</a> 
+<a name="404" href="#404">404</a>                     <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="405" href="#405">405</a>                         parent.addText(text);
+<a name="406" href="#406">406</a>                     } <strong>else</strong> {
+<a name="407" href="#407">407</a>                         String msg = <span class="string">"Cannot have text content outside of the "</span>
+<a name="408" href="#408">408</a>                                 + <span class="string">"root document"</span>;
+<a name="409" href="#409">409</a>                         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(msg);
+<a name="410" href="#410">410</a>                     }
+<a name="411" href="#411">411</a> 
+<a name="412" href="#412">412</a>                     <strong>break</strong>;
+<a name="413" href="#413">413</a>                 }
+<a name="414" href="#414">414</a> 
+<a name="415" href="#415">415</a>                 <strong>default</strong>:
+<a name="416" href="#416">416</a>                     <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(<span class="string">"Error: unknown type: "</span> + type);
+<a name="417" href="#417">417</a>             }
+<a name="418" href="#418">418</a>         }
+<a name="419" href="#419">419</a>     }
+<a name="420" href="#420">420</a> 
+<a name="421" href="#421">421</a>     <strong>protected</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> getDispatchHandler() {
+<a name="422" href="#422">422</a>         <strong>if</strong> (dispatchHandler == <strong>null</strong>) {
+<a name="423" href="#423">423</a>             dispatchHandler = <strong>new</strong> <a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a>();
+<a name="424" href="#424">424</a>         }
+<a name="425" href="#425">425</a> 
+<a name="426" href="#426">426</a>         <strong>return</strong> dispatchHandler;
+<a name="427" href="#427">427</a>     }
+<a name="428" href="#428">428</a> 
+<a name="429" href="#429">429</a>     <strong>protected</strong> <strong>void</strong> setDispatchHandler(<a href="../../../org/dom4j/io/DispatchHandler.html">DispatchHandler</a> dispatchHandler) {
+<a name="430" href="#430">430</a>         <strong>this</strong>.dispatchHandler = dispatchHandler;
+<a name="431" href="#431">431</a>     }
+<a name="432" href="#432">432</a> 
+<a name="433" href="#433">433</a>     <em>/**<em>*</em></em>
+<a name="434" href="#434">434</a> <em>     * Factory method to create a Reader from the given InputStream.</em>
+<a name="435" href="#435">435</a> <em>     * </em>
+<a name="436" href="#436">436</a> <em>     * @param in</em>
+<a name="437" href="#437">437</a> <em>     *            DOCUMENT ME!</em>
+<a name="438" href="#438">438</a> <em>     * </em>
+<a name="439" href="#439">439</a> <em>     * @return DOCUMENT ME!</em>
+<a name="440" href="#440">440</a> <em>     * </em>
+<a name="441" href="#441">441</a> <em>     * @throws IOException</em>
+<a name="442" href="#442">442</a> <em>     *             DOCUMENT ME!</em>
+<a name="443" href="#443">443</a> <em>     */</em>
+<a name="444" href="#444">444</a>     <strong>protected</strong> Reader createReader(InputStream in) throws IOException {
+<a name="445" href="#445">445</a>         <strong>return</strong> <strong>new</strong> BufferedReader(<strong>new</strong> InputStreamReader(in));
+<a name="446" href="#446">446</a>     }
+<a name="447" href="#447">447</a> }
+<a name="448" href="#448">448</a> 
+<a name="449" href="#449">449</a> <em class="comment">/*</em>
+<a name="450" href="#450">450</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="451" href="#451">451</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="452" href="#452">452</a> <em class="comment"> * following conditions are met:</em>
+<a name="453" href="#453">453</a> <em class="comment"> * </em>
+<a name="454" href="#454">454</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="455" href="#455">455</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="456" href="#456">456</a> <em class="comment"> * </em>
+<a name="457" href="#457">457</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="458" href="#458">458</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="459" href="#459">459</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="460" href="#460">460</a> <em class="comment"> * </em>
+<a name="461" href="#461">461</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="462" href="#462">462</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="463" href="#463">463</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="464" href="#464">464</a> <em class="comment"> * </em>
+<a name="465" href="#465">465</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="466" href="#466">466</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="467" href="#467">467</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="468" href="#468">468</a> <em class="comment"> * </em>
+<a name="469" href="#469">469</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="470" href="#470">470</a> <em class="comment"> * </em>
+<a name="471" href="#471">471</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="472" href="#472">472</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="473" href="#473">473</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="474" href="#474">474</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="475" href="#475">475</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="476" href="#476">476</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="477" href="#477">477</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="478" href="#478">478</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="479" href="#479">479</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="480" href="#480">480</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="481" href="#481">481</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="482" href="#482">482</a> <em class="comment"> * </em>
+<a name="483" href="#483">483</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="484" href="#484">484</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/io/package-frame.html b/docs/xref/org/dom4j/io/package-frame.html
new file mode 100644
index 0000000..ea27e91
--- /dev/null
+++ b/docs/xref/org/dom4j/io/package-frame.html
@@ -0,0 +1,143 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.io</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.io</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="DOMReader.html" target="classFrame">DOMReader</a>
+          </li>
+        
+          <li>
+            <a href="DOMWriter.html" target="classFrame">DOMWriter</a>
+          </li>
+        
+          <li>
+            <a href="DispatchHandler.html" target="classFrame">DispatchHandler</a>
+          </li>
+        
+          <li>
+            <a href="DocumentInputSource.html" target="classFrame">DocumentInputSource</a>
+          </li>
+        
+          <li>
+            <a href="DocumentResult.html" target="classFrame">DocumentResult</a>
+          </li>
+        
+          <li>
+            <a href="DocumentSource.html" target="classFrame">DocumentSource</a>
+          </li>
+        
+          <li>
+            <a href="ElementModifier.html" target="classFrame">ElementModifier</a>
+          </li>
+        
+          <li>
+            <a href="ElementStack.html" target="classFrame">ElementStack</a>
+          </li>
+        
+          <li>
+            <a href="HTMLWriter.html" target="classFrame">HTMLWriter</a>
+          </li>
+        
+          <li>
+            <a href="JAXPHelper.html" target="classFrame">JAXPHelper</a>
+          </li>
+        
+          <li>
+            <a href="OutputFormat.html" target="classFrame">OutputFormat</a>
+          </li>
+        
+          <li>
+            <a href="PruningDispatchHandler.html" target="classFrame">PruningDispatchHandler</a>
+          </li>
+        
+          <li>
+            <a href="PruningElementStack.html" target="classFrame">PruningElementStack</a>
+          </li>
+        
+          <li>
+            <a href="SAXContentHandler.html" target="classFrame">SAXContentHandler</a>
+          </li>
+        
+          <li>
+            <a href="SAXEventRecorder.html" target="classFrame">SAXEventRecorder</a>
+          </li>
+        
+          <li>
+            <a href="SAXHelper.html" target="classFrame">SAXHelper</a>
+          </li>
+        
+          <li>
+            <a href="SAXModifier.html" target="classFrame">SAXModifier</a>
+          </li>
+        
+          <li>
+            <a href="SAXModifyContentHandler.html" target="classFrame">SAXModifyContentHandler</a>
+          </li>
+        
+          <li>
+            <a href="SAXModifyElementHandler.html" target="classFrame">SAXModifyElementHandler</a>
+          </li>
+        
+          <li>
+            <a href="SAXModifyException.html" target="classFrame">SAXModifyException</a>
+          </li>
+        
+          <li>
+            <a href="SAXModifyReader.html" target="classFrame">SAXModifyReader</a>
+          </li>
+        
+          <li>
+            <a href="SAXReader.html" target="classFrame">SAXReader</a>
+          </li>
+        
+          <li>
+            <a href="SAXValidator.html" target="classFrame">SAXValidator</a>
+          </li>
+        
+          <li>
+            <a href="SAXWriter.html" target="classFrame">SAXWriter</a>
+          </li>
+        
+          <li>
+            <a href="STAXEventReader.html" target="classFrame">STAXEventReader</a>
+          </li>
+        
+          <li>
+            <a href="STAXEventWriter.html" target="classFrame">STAXEventWriter</a>
+          </li>
+        
+          <li>
+            <a href="XMLResult.html" target="classFrame">XMLResult</a>
+          </li>
+        
+          <li>
+            <a href="XMLWriter.html" target="classFrame">XMLWriter</a>
+          </li>
+        
+          <li>
+            <a href="XPP3Reader.html" target="classFrame">XPP3Reader</a>
+          </li>
+        
+          <li>
+            <a href="XPPReader.html" target="classFrame">XPPReader</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/io/package-summary.html b/docs/xref/org/dom4j/io/package-summary.html
new file mode 100644
index 0000000..e77709b
--- /dev/null
+++ b/docs/xref/org/dom4j/io/package-summary.html
@@ -0,0 +1,276 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.io</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="DOMReader.html" target="classFrame">DOMReader</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DOMWriter.html" target="classFrame">DOMWriter</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DispatchHandler.html" target="classFrame">DispatchHandler</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocumentInputSource.html" target="classFrame">DocumentInputSource</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocumentResult.html" target="classFrame">DocumentResult</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocumentSource.html" target="classFrame">DocumentSource</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementModifier.html" target="classFrame">ElementModifier</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementStack.html" target="classFrame">ElementStack</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="HTMLWriter.html" target="classFrame">HTMLWriter</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="JAXPHelper.html" target="classFrame">JAXPHelper</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="OutputFormat.html" target="classFrame">OutputFormat</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="PruningDispatchHandler.html" target="classFrame">PruningDispatchHandler</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="PruningElementStack.html" target="classFrame">PruningElementStack</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXContentHandler.html" target="classFrame">SAXContentHandler</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXEventRecorder.html" target="classFrame">SAXEventRecorder</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXHelper.html" target="classFrame">SAXHelper</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXModifier.html" target="classFrame">SAXModifier</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXModifyContentHandler.html" target="classFrame">SAXModifyContentHandler</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXModifyElementHandler.html" target="classFrame">SAXModifyElementHandler</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXModifyException.html" target="classFrame">SAXModifyException</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXModifyReader.html" target="classFrame">SAXModifyReader</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXReader.html" target="classFrame">SAXReader</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXValidator.html" target="classFrame">SAXValidator</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SAXWriter.html" target="classFrame">SAXWriter</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="STAXEventReader.html" target="classFrame">STAXEventReader</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="STAXEventWriter.html" target="classFrame">STAXEventWriter</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XMLResult.html" target="classFrame">XMLResult</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XMLWriter.html" target="classFrame">XMLWriter</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XPP3Reader.html" target="classFrame">XPP3Reader</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XPPReader.html" target="classFrame">XPPReader</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/jaxb/JAXBModifier.html b/docs/xref/org/dom4j/jaxb/JAXBModifier.html
new file mode 100644
index 0000000..f4d3270
--- /dev/null
+++ b/docs/xref/org/dom4j/jaxb/JAXBModifier.html
@@ -0,0 +1,549 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>JAXBModifier xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/jaxb/JAXBModifier.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.File;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.FileInputStream;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.FileNotFoundException;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.FileOutputStream;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.IOException;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.InputStream;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.io.InputStreamReader;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.io.OutputStream;
+<a name="18" href="#18">18</a>  <strong>import</strong> java.io.Reader;
+<a name="19" href="#19">19</a>  <strong>import</strong> java.io.Writer;
+<a name="20" href="#20">20</a>  <strong>import</strong> java.net.URL;
+<a name="21" href="#21">21</a>  <strong>import</strong> java.nio.charset.Charset;
+<a name="22" href="#22">22</a>  <strong>import</strong> java.util.HashMap;
+<a name="23" href="#23">23</a>  <strong>import</strong> java.util.Iterator;
+<a name="24" href="#24">24</a>  <strong>import</strong> java.util.Map;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.Document;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.dom4j.DocumentException;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.dom4j.io.ElementModifier;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.dom4j.io.OutputFormat;
+<a name="30" href="#30">30</a>  <strong>import</strong> org.dom4j.io.SAXModifier;
+<a name="31" href="#31">31</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>  <em>/**<em>*</em></em>
+<a name="36" href="#36">36</a>  <em> * Reads an XML document using SAX and writes its content to the provided</em>
+<a name="37" href="#37">37</a>  <em> * {@link org.dom4j.io.XMLWriter}. Modifications must be provided by {@link</em>
+<a name="38" href="#38">38</a>  <em> * org.dom4j.jaxb.JAXBObjectModifier} objects, which are called prior to writing</em>
+<a name="39" href="#39">39</a>  <em> * the XML fragment they are registered for.</em>
+<a name="40" href="#40">40</a>  <em> * </em>
+<a name="41" href="#41">41</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="42" href="#42">42</a>  <em> * </em>
+<a name="43" href="#43">43</a>  <em> * @see org.dom4j.io.SAXModifier</em>
+<a name="44" href="#44">44</a>  <em> */</em>
+<a name="45" href="#45">45</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/jaxb/JAXBModifier.html">JAXBModifier</a> <strong>extends</strong> <a href="../../../org/dom4j/jaxb/JAXBSupport.html">JAXBSupport</a> {
+<a name="46" href="#46">46</a>      <strong>private</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a> modifier;
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>private</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> xmlWriter;
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>private</strong> <strong>boolean</strong> pruneElements;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>private</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> outputFormat;
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>private</strong> HashMap modifiers = <strong>new</strong> HashMap();
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <em>/**<em>*</em></em>
+<a name="57" href="#57">57</a>  <em>     * Creates a new JAXBModifier for the given JAXB context path. This is the</em>
+<a name="58" href="#58">58</a>  <em>     * Java package where JAXB can find the generated XML classes. This package</em>
+<a name="59" href="#59">59</a>  <em>     * MUST contain jaxb.properties!</em>
+<a name="60" href="#60">60</a>  <em>     * </em>
+<a name="61" href="#61">61</a>  <em>     * @param contextPath</em>
+<a name="62" href="#62">62</a>  <em>     *            JAXB context path to be used</em>
+<a name="63" href="#63">63</a>  <em>     * </em>
+<a name="64" href="#64">64</a>  <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="65" href="#65">65</a>  <em>     */</em>
+<a name="66" href="#66">66</a>      <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBModifier.html">JAXBModifier</a>(String contextPath) {
+<a name="67" href="#67">67</a>          <strong>super</strong>(contextPath);
+<a name="68" href="#68">68</a>          <strong>this</strong>.outputFormat = <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>();
+<a name="69" href="#69">69</a>      }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em>/**<em>*</em></em>
+<a name="72" href="#72">72</a>  <em>     * Creates a new JAXBModifier for the given JAXB context path, using the</em>
+<a name="73" href="#73">73</a>  <em>     * given {@link java.lang.ClassLoader}. This is the Java package where JAXB</em>
+<a name="74" href="#74">74</a>  <em>     * can find the generated XML classes. This package MUST contain</em>
+<a name="75" href="#75">75</a>  <em>     * jaxb.properties!</em>
+<a name="76" href="#76">76</a>  <em>     * </em>
+<a name="77" href="#77">77</a>  <em>     * @param contextPath</em>
+<a name="78" href="#78">78</a>  <em>     *            JAXB context path to be used</em>
+<a name="79" href="#79">79</a>  <em>     * @param classloader</em>
+<a name="80" href="#80">80</a>  <em>     *            the classloader to use</em>
+<a name="81" href="#81">81</a>  <em>     * </em>
+<a name="82" href="#82">82</a>  <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="83" href="#83">83</a>  <em>     */</em>
+<a name="84" href="#84">84</a>      <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBModifier.html">JAXBModifier</a>(String contextPath, ClassLoader classloader) {
+<a name="85" href="#85">85</a>          <strong>super</strong>(contextPath, classloader);
+<a name="86" href="#86">86</a>          <strong>this</strong>.outputFormat = <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>();
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <em>/**<em>*</em></em>
+<a name="90" href="#90">90</a>  <em>     * Creates a new JAXBModifier for the given JAXB context path. The specified</em>
+<a name="91" href="#91">91</a>  <em>     * {@link org.dom4j.io.OutputFormat}will be used while writing the XML</em>
+<a name="92" href="#92">92</a>  <em>     * stream.</em>
+<a name="93" href="#93">93</a>  <em>     * </em>
+<a name="94" href="#94">94</a>  <em>     * @param contextPath</em>
+<a name="95" href="#95">95</a>  <em>     *            JAXB context path to be used</em>
+<a name="96" href="#96">96</a>  <em>     * @param outputFormat</em>
+<a name="97" href="#97">97</a>  <em>     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used</em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="100" href="#100">100</a> <em>     */</em>
+<a name="101" href="#101">101</a>     <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBModifier.html">JAXBModifier</a>(String contextPath, <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> outputFormat) {
+<a name="102" href="#102">102</a>         <strong>super</strong>(contextPath);
+<a name="103" href="#103">103</a>         <strong>this</strong>.outputFormat = outputFormat;
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <em>/**<em>*</em></em>
+<a name="107" href="#107">107</a> <em>     * Creates a new JAXBModifier for the given JAXB context path, using the</em>
+<a name="108" href="#108">108</a> <em>     * specified {@link java.lang.Classloader}. The specified {@link</em>
+<a name="109" href="#109">109</a> <em>     * org.dom4j.io.OutputFormat} will be used while writing the XML stream.</em>
+<a name="110" href="#110">110</a> <em>     * </em>
+<a name="111" href="#111">111</a> <em>     * @param contextPath</em>
+<a name="112" href="#112">112</a> <em>     *            JAXB context path to be used</em>
+<a name="113" href="#113">113</a> <em>     * @param classloader</em>
+<a name="114" href="#114">114</a> <em>     *            the class loader to be used to load JAXB</em>
+<a name="115" href="#115">115</a> <em>     * @param outputFormat</em>
+<a name="116" href="#116">116</a> <em>     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used</em>
+<a name="117" href="#117">117</a> <em>     * </em>
+<a name="118" href="#118">118</a> <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="119" href="#119">119</a> <em>     */</em>
+<a name="120" href="#120">120</a>     <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBModifier.html">JAXBModifier</a>(String contextPath, ClassLoader classloader,
+<a name="121" href="#121">121</a>             <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> outputFormat) {
+<a name="122" href="#122">122</a>         <strong>super</strong>(contextPath, classloader);
+<a name="123" href="#123">123</a>         <strong>this</strong>.outputFormat = outputFormat;
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <em>/**<em>*</em></em>
+<a name="127" href="#127">127</a> <em>     * Parses the specified {@link java.io.File}with SAX</em>
+<a name="128" href="#128">128</a> <em>     * </em>
+<a name="129" href="#129">129</a> <em>     * @param source</em>
+<a name="130" href="#130">130</a> <em>     *            the file to parse</em>
+<a name="131" href="#131">131</a> <em>     * </em>
+<a name="132" href="#132">132</a> <em>     * @return the resulting DOM4J document</em>
+<a name="133" href="#133">133</a> <em>     * </em>
+<a name="134" href="#134">134</a> <em>     * @throws DocumentException</em>
+<a name="135" href="#135">135</a> <em>     *             when an error occurs while parsing</em>
+<a name="136" href="#136">136</a> <em>     * @throws IOException</em>
+<a name="137" href="#137">137</a> <em>     *             when an error occurs while writing to the {@link</em>
+<a name="138" href="#138">138</a> <em>     *             org.dom4j.io.XMLWriter}</em>
+<a name="139" href="#139">139</a> <em>     */</em>
+<a name="140" href="#140">140</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(File source) throws DocumentException, IOException {
+<a name="141" href="#141">141</a>         <strong>return</strong> installModifier().modify(source);
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>     <em>/**<em>*</em></em>
+<a name="145" href="#145">145</a> <em>     * Parses the specified {@link java.io.File}with SAX, using the given</em>
+<a name="146" href="#146">146</a> <em>     * {@link java.nio.charset.Charset}.</em>
+<a name="147" href="#147">147</a> <em>     * </em>
+<a name="148" href="#148">148</a> <em>     * @param source</em>
+<a name="149" href="#149">149</a> <em>     *            the file to parse</em>
+<a name="150" href="#150">150</a> <em>     * @param charset</em>
+<a name="151" href="#151">151</a> <em>     *            the character set to use</em>
+<a name="152" href="#152">152</a> <em>     * </em>
+<a name="153" href="#153">153</a> <em>     * @return the resulting DOM4J document</em>
+<a name="154" href="#154">154</a> <em>     * </em>
+<a name="155" href="#155">155</a> <em>     * @throws DocumentException</em>
+<a name="156" href="#156">156</a> <em>     *             when an error occurs while parsing</em>
+<a name="157" href="#157">157</a> <em>     * @throws IOException</em>
+<a name="158" href="#158">158</a> <em>     *             when an error occurs while writing to the {@link</em>
+<a name="159" href="#159">159</a> <em>     *             org.dom4j.io.XMLWriter}</em>
+<a name="160" href="#160">160</a> <em>     */</em>
+<a name="161" href="#161">161</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(File source, Charset charset)
+<a name="162" href="#162">162</a>             throws DocumentException, IOException {
+<a name="163" href="#163">163</a>         <strong>try</strong> {
+<a name="164" href="#164">164</a>             Reader reader = <strong>new</strong> InputStreamReader(<strong>new</strong> FileInputStream(source),
+<a name="165" href="#165">165</a>                     charset);
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>             <strong>return</strong> installModifier().modify(reader);
+<a name="168" href="#168">168</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="169" href="#169">169</a>             Throwable cause = ex.getCause();
+<a name="170" href="#170">170</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="171" href="#171">171</a>         } <strong>catch</strong> (FileNotFoundException ex) {
+<a name="172" href="#172">172</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(ex.getMessage(), ex);
+<a name="173" href="#173">173</a>         }
+<a name="174" href="#174">174</a>     }
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>     <em>/**<em>*</em></em>
+<a name="177" href="#177">177</a> <em>     * Parses the specified {@link org.xml.sax.InputSource}with SAX.</em>
+<a name="178" href="#178">178</a> <em>     * </em>
+<a name="179" href="#179">179</a> <em>     * @param source</em>
+<a name="180" href="#180">180</a> <em>     *            the input source to parse</em>
+<a name="181" href="#181">181</a> <em>     * </em>
+<a name="182" href="#182">182</a> <em>     * @return the resulting DOM4J document</em>
+<a name="183" href="#183">183</a> <em>     * </em>
+<a name="184" href="#184">184</a> <em>     * @throws DocumentException</em>
+<a name="185" href="#185">185</a> <em>     *             when an error occurs while parsing</em>
+<a name="186" href="#186">186</a> <em>     * @throws IOException</em>
+<a name="187" href="#187">187</a> <em>     *             when an error occurs while writing to the {@link</em>
+<a name="188" href="#188">188</a> <em>     *             org.dom4j.io.XMLWriter}</em>
+<a name="189" href="#189">189</a> <em>     */</em>
+<a name="190" href="#190">190</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(InputSource source) throws DocumentException,
+<a name="191" href="#191">191</a>             IOException {
+<a name="192" href="#192">192</a>         <strong>try</strong> {
+<a name="193" href="#193">193</a>             <strong>return</strong> installModifier().modify(source);
+<a name="194" href="#194">194</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="195" href="#195">195</a>             Throwable cause = ex.getCause();
+<a name="196" href="#196">196</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="197" href="#197">197</a>         }
+<a name="198" href="#198">198</a>     }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>     <em>/**<em>*</em></em>
+<a name="201" href="#201">201</a> <em>     * Parses the specified {@link java.io.InputStream}with SAX.</em>
+<a name="202" href="#202">202</a> <em>     * </em>
+<a name="203" href="#203">203</a> <em>     * @param source</em>
+<a name="204" href="#204">204</a> <em>     *            the inputstream to parse</em>
+<a name="205" href="#205">205</a> <em>     * </em>
+<a name="206" href="#206">206</a> <em>     * @return the resulting DOM4J document</em>
+<a name="207" href="#207">207</a> <em>     * </em>
+<a name="208" href="#208">208</a> <em>     * @throws DocumentException</em>
+<a name="209" href="#209">209</a> <em>     *             when an error occurs while parsing</em>
+<a name="210" href="#210">210</a> <em>     * @throws IOException</em>
+<a name="211" href="#211">211</a> <em>     *             when an error occurs while writing to the {@link</em>
+<a name="212" href="#212">212</a> <em>     *             org.dom4j.io.XMLWriter}</em>
+<a name="213" href="#213">213</a> <em>     */</em>
+<a name="214" href="#214">214</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(InputStream source) throws DocumentException,
+<a name="215" href="#215">215</a>             IOException {
+<a name="216" href="#216">216</a>         <strong>try</strong> {
+<a name="217" href="#217">217</a>             <strong>return</strong> installModifier().modify(source);
+<a name="218" href="#218">218</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="219" href="#219">219</a>             Throwable cause = ex.getCause();
+<a name="220" href="#220">220</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="221" href="#221">221</a>         }
+<a name="222" href="#222">222</a>     }
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>     <em>/**<em>*</em></em>
+<a name="225" href="#225">225</a> <em>     * Parses the specified {@link java.io.InputStream}with SAX.</em>
+<a name="226" href="#226">226</a> <em>     * </em>
+<a name="227" href="#227">227</a> <em>     * @param source</em>
+<a name="228" href="#228">228</a> <em>     *            the inputstream to parse</em>
+<a name="229" href="#229">229</a> <em>     * @param systemId</em>
+<a name="230" href="#230">230</a> <em>     *            the URI of the given inputstream</em>
+<a name="231" href="#231">231</a> <em>     * </em>
+<a name="232" href="#232">232</a> <em>     * @return the resulting DOM4J document</em>
+<a name="233" href="#233">233</a> <em>     * </em>
+<a name="234" href="#234">234</a> <em>     * @throws DocumentException</em>
+<a name="235" href="#235">235</a> <em>     *             when an error occurs while parsing</em>
+<a name="236" href="#236">236</a> <em>     * @throws IOException</em>
+<a name="237" href="#237">237</a> <em>     *             when an error occurs while writing to the {@link</em>
+<a name="238" href="#238">238</a> <em>     *             org.dom4j.io.XMLWriter}</em>
+<a name="239" href="#239">239</a> <em>     */</em>
+<a name="240" href="#240">240</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(InputStream source, String systemId)
+<a name="241" href="#241">241</a>             throws DocumentException, IOException {
+<a name="242" href="#242">242</a>         <strong>try</strong> {
+<a name="243" href="#243">243</a>             <strong>return</strong> installModifier().modify(source);
+<a name="244" href="#244">244</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="245" href="#245">245</a>             Throwable cause = ex.getCause();
+<a name="246" href="#246">246</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="247" href="#247">247</a>         }
+<a name="248" href="#248">248</a>     }
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>     <em>/**<em>*</em></em>
+<a name="251" href="#251">251</a> <em>     * Parses the specified {@link java.io.Reader}with SAX.</em>
+<a name="252" href="#252">252</a> <em>     * </em>
+<a name="253" href="#253">253</a> <em>     * @param r</em>
+<a name="254" href="#254">254</a> <em>     *            the reader to use for parsing</em>
+<a name="255" href="#255">255</a> <em>     * </em>
+<a name="256" href="#256">256</a> <em>     * @return the resulting DOM4J document</em>
+<a name="257" href="#257">257</a> <em>     * </em>
+<a name="258" href="#258">258</a> <em>     * @throws DocumentException</em>
+<a name="259" href="#259">259</a> <em>     *             when an error occurs while parsing</em>
+<a name="260" href="#260">260</a> <em>     * @throws IOException</em>
+<a name="261" href="#261">261</a> <em>     *             when an error occurs while writing to the {@link</em>
+<a name="262" href="#262">262</a> <em>     *             org.dom4j.io.XMLWriter}</em>
+<a name="263" href="#263">263</a> <em>     */</em>
+<a name="264" href="#264">264</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(Reader r) throws DocumentException, IOException {
+<a name="265" href="#265">265</a>         <strong>try</strong> {
+<a name="266" href="#266">266</a>             <strong>return</strong> installModifier().modify(r);
+<a name="267" href="#267">267</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="268" href="#268">268</a>             Throwable cause = ex.getCause();
+<a name="269" href="#269">269</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="270" href="#270">270</a>         }
+<a name="271" href="#271">271</a>     }
+<a name="272" href="#272">272</a> 
+<a name="273" href="#273">273</a>     <em>/**<em>*</em></em>
+<a name="274" href="#274">274</a> <em>     * Parses the specified {@link java.io.Reader}with SAX.</em>
+<a name="275" href="#275">275</a> <em>     * </em>
+<a name="276" href="#276">276</a> <em>     * @param source</em>
+<a name="277" href="#277">277</a> <em>     *            the reader to parse</em>
+<a name="278" href="#278">278</a> <em>     * @param systemId</em>
+<a name="279" href="#279">279</a> <em>     *            the URI of the given reader</em>
+<a name="280" href="#280">280</a> <em>     * </em>
+<a name="281" href="#281">281</a> <em>     * @return the resulting DOM4J document</em>
+<a name="282" href="#282">282</a> <em>     * </em>
+<a name="283" href="#283">283</a> <em>     * @throws DocumentException</em>
+<a name="284" href="#284">284</a> <em>     *             when an error occurs while parsing</em>
+<a name="285" href="#285">285</a> <em>     * @throws IOException</em>
+<a name="286" href="#286">286</a> <em>     *             when an error occurs while writing to the {@link</em>
+<a name="287" href="#287">287</a> <em>     *             org.dom4j.io.XMLWriter}</em>
+<a name="288" href="#288">288</a> <em>     */</em>
+<a name="289" href="#289">289</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(Reader source, String systemId)
+<a name="290" href="#290">290</a>             throws DocumentException, IOException {
+<a name="291" href="#291">291</a>         <strong>try</strong> {
+<a name="292" href="#292">292</a>             <strong>return</strong> installModifier().modify(source);
+<a name="293" href="#293">293</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="294" href="#294">294</a>             Throwable cause = ex.getCause();
+<a name="295" href="#295">295</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="296" href="#296">296</a>         }
+<a name="297" href="#297">297</a>     }
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>     <em>/**<em>*</em></em>
+<a name="300" href="#300">300</a> <em>     * Parses the the given URL or filename.</em>
+<a name="301" href="#301">301</a> <em>     * </em>
+<a name="302" href="#302">302</a> <em>     * @param url</em>
+<a name="303" href="#303">303</a> <em>     *            the URL or filename to parse</em>
+<a name="304" href="#304">304</a> <em>     * </em>
+<a name="305" href="#305">305</a> <em>     * @return the resulting DOM4J document</em>
+<a name="306" href="#306">306</a> <em>     * </em>
+<a name="307" href="#307">307</a> <em>     * @throws DocumentException</em>
+<a name="308" href="#308">308</a> <em>     *             when an error occurs while parsing</em>
+<a name="309" href="#309">309</a> <em>     * @throws IOException</em>
+<a name="310" href="#310">310</a> <em>     *             when an error occurs while writing to the {@link</em>
+<a name="311" href="#311">311</a> <em>     *             org.dom4j.io.XMLWriter}</em>
+<a name="312" href="#312">312</a> <em>     */</em>
+<a name="313" href="#313">313</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(String url) throws DocumentException, IOException {
+<a name="314" href="#314">314</a>         <strong>try</strong> {
+<a name="315" href="#315">315</a>             <strong>return</strong> installModifier().modify(url);
+<a name="316" href="#316">316</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="317" href="#317">317</a>             Throwable cause = ex.getCause();
+<a name="318" href="#318">318</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="319" href="#319">319</a>         }
+<a name="320" href="#320">320</a>     }
+<a name="321" href="#321">321</a> 
+<a name="322" href="#322">322</a>     <em>/**<em>*</em></em>
+<a name="323" href="#323">323</a> <em>     * Parses the the given URL.</em>
+<a name="324" href="#324">324</a> <em>     * </em>
+<a name="325" href="#325">325</a> <em>     * @param source</em>
+<a name="326" href="#326">326</a> <em>     *            the URL to parse</em>
+<a name="327" href="#327">327</a> <em>     * </em>
+<a name="328" href="#328">328</a> <em>     * @return the resulting DOM4J document</em>
+<a name="329" href="#329">329</a> <em>     * </em>
+<a name="330" href="#330">330</a> <em>     * @throws DocumentException</em>
+<a name="331" href="#331">331</a> <em>     *             when an error occurs while parsing</em>
+<a name="332" href="#332">332</a> <em>     * @throws IOException</em>
+<a name="333" href="#333">333</a> <em>     *             when an error occurs while writing to the {@link</em>
+<a name="334" href="#334">334</a> <em>     *             org.dom4j.io.XMLWriter}</em>
+<a name="335" href="#335">335</a> <em>     */</em>
+<a name="336" href="#336">336</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> modify(URL source) throws DocumentException, IOException {
+<a name="337" href="#337">337</a>         <strong>try</strong> {
+<a name="338" href="#338">338</a>             <strong>return</strong> installModifier().modify(source);
+<a name="339" href="#339">339</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="340" href="#340">340</a>             Throwable cause = ex.getCause();
+<a name="341" href="#341">341</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="342" href="#342">342</a>         }
+<a name="343" href="#343">343</a>     }
+<a name="344" href="#344">344</a> 
+<a name="345" href="#345">345</a>     <em>/**<em>*</em></em>
+<a name="346" href="#346">346</a> <em>     * Sets the Output to write the (modified) xml document to.</em>
+<a name="347" href="#347">347</a> <em>     * </em>
+<a name="348" href="#348">348</a> <em>     * @param file</em>
+<a name="349" href="#349">349</a> <em>     *            the {@link java.io.File}to write to</em>
+<a name="350" href="#350">350</a> <em>     * </em>
+<a name="351" href="#351">351</a> <em>     * @throws IOException</em>
+<a name="352" href="#352">352</a> <em>     *             when the file cannot be found or when the outputformat</em>
+<a name="353" href="#353">353</a> <em>     */</em>
+<a name="354" href="#354">354</a>     <strong>public</strong> <strong>void</strong> setOutput(File file) throws IOException {
+<a name="355" href="#355">355</a>         createXMLWriter().setOutputStream(<strong>new</strong> FileOutputStream(file));
+<a name="356" href="#356">356</a>     }
+<a name="357" href="#357">357</a> 
+<a name="358" href="#358">358</a>     <em>/**<em>*</em></em>
+<a name="359" href="#359">359</a> <em>     * Sets the Output to write the (modified) xml document to.</em>
+<a name="360" href="#360">360</a> <em>     * </em>
+<a name="361" href="#361">361</a> <em>     * @param outputStream</em>
+<a name="362" href="#362">362</a> <em>     *            the {@link java.io.OutputStream}to write to</em>
+<a name="363" href="#363">363</a> <em>     * </em>
+<a name="364" href="#364">364</a> <em>     * @throws IOException</em>
+<a name="365" href="#365">365</a> <em>     *             when an error occurs</em>
+<a name="366" href="#366">366</a> <em>     */</em>
+<a name="367" href="#367">367</a>     <strong>public</strong> <strong>void</strong> setOutput(OutputStream outputStream) throws IOException {
+<a name="368" href="#368">368</a>         createXMLWriter().setOutputStream(outputStream);
+<a name="369" href="#369">369</a>     }
+<a name="370" href="#370">370</a> 
+<a name="371" href="#371">371</a>     <em>/**<em>*</em></em>
+<a name="372" href="#372">372</a> <em>     * Sets the Output to write the (modified) xml document to.</em>
+<a name="373" href="#373">373</a> <em>     * </em>
+<a name="374" href="#374">374</a> <em>     * @param writer</em>
+<a name="375" href="#375">375</a> <em>     *            the {@link java.io.Writer}to write to</em>
+<a name="376" href="#376">376</a> <em>     * </em>
+<a name="377" href="#377">377</a> <em>     * @throws IOException</em>
+<a name="378" href="#378">378</a> <em>     *             when an error occurs</em>
+<a name="379" href="#379">379</a> <em>     */</em>
+<a name="380" href="#380">380</a>     <strong>public</strong> <strong>void</strong> setOutput(Writer writer) throws IOException {
+<a name="381" href="#381">381</a>         createXMLWriter().setWriter(writer);
+<a name="382" href="#382">382</a>     }
+<a name="383" href="#383">383</a> 
+<a name="384" href="#384">384</a>     <em>/**<em>*</em></em>
+<a name="385" href="#385">385</a> <em>     * Adds the {@link JAXBObjectModifier}to be called when the specified xml</em>
+<a name="386" href="#386">386</a> <em>     * path is encounted while parsing the source.</em>
+<a name="387" href="#387">387</a> <em>     * </em>
+<a name="388" href="#388">388</a> <em>     * @param path</em>
+<a name="389" href="#389">389</a> <em>     *            the element path to listen for</em>
+<a name="390" href="#390">390</a> <em>     * @param mod</em>
+<a name="391" href="#391">391</a> <em>     *            the modifier to register</em>
+<a name="392" href="#392">392</a> <em>     */</em>
+<a name="393" href="#393">393</a>     <strong>public</strong> <strong>void</strong> addObjectModifier(String path, <a href="../../../org/dom4j/jaxb/JAXBObjectModifier.html">JAXBObjectModifier</a> mod) {
+<a name="394" href="#394">394</a>         modifiers.put(path, mod);
+<a name="395" href="#395">395</a>     }
+<a name="396" href="#396">396</a> 
+<a name="397" href="#397">397</a>     <em>/**<em>*</em></em>
+<a name="398" href="#398">398</a> <em>     * Removes the {@link JAXBObjectModifier}from the event based processor,</em>
+<a name="399" href="#399">399</a> <em>     * for the specified element path.</em>
+<a name="400" href="#400">400</a> <em>     * </em>
+<a name="401" href="#401">401</a> <em>     * @param path</em>
+<a name="402" href="#402">402</a> <em>     *            the xml path to remove the modifier for</em>
+<a name="403" href="#403">403</a> <em>     */</em>
+<a name="404" href="#404">404</a>     <strong>public</strong> <strong>void</strong> removeObjectModifier(String path) {
+<a name="405" href="#405">405</a>         modifiers.remove(path);
+<a name="406" href="#406">406</a>         getModifier().removeModifier(path);
+<a name="407" href="#407">407</a>     }
+<a name="408" href="#408">408</a> 
+<a name="409" href="#409">409</a>     <em>/**<em>*</em></em>
+<a name="410" href="#410">410</a> <em>     * Removes all registered {@link JAXBObjectModifier}instances from the</em>
+<a name="411" href="#411">411</a> <em>     * event based processor.</em>
+<a name="412" href="#412">412</a> <em>     */</em>
+<a name="413" href="#413">413</a>     <strong>public</strong> <strong>void</strong> resetObjectModifiers() {
+<a name="414" href="#414">414</a>         modifiers.clear();
+<a name="415" href="#415">415</a>         getModifier().resetModifiers();
+<a name="416" href="#416">416</a>     }
+<a name="417" href="#417">417</a> 
+<a name="418" href="#418">418</a>     <em>/**<em>*</em></em>
+<a name="419" href="#419">419</a> <em>     * Returns true when the modified {@link org.dom4j.Document}is not kept in</em>
+<a name="420" href="#420">420</a> <em>     * memory.</em>
+<a name="421" href="#421">421</a> <em>     * </em>
+<a name="422" href="#422">422</a> <em>     * @return Returns true if elements are pruned.</em>
+<a name="423" href="#423">423</a> <em>     */</em>
+<a name="424" href="#424">424</a>     <strong>public</strong> <strong>boolean</strong> isPruneElements() {
+<a name="425" href="#425">425</a>         <strong>return</strong> pruneElements;
+<a name="426" href="#426">426</a>     }
+<a name="427" href="#427">427</a> 
+<a name="428" href="#428">428</a>     <em>/**<em>*</em></em>
+<a name="429" href="#429">429</a> <em>     * Define whether the modified {@link org.dom4j.Document}must only be</em>
+<a name="430" href="#430">430</a> <em>     * written to the output and pruned from the DOM4J tree.</em>
+<a name="431" href="#431">431</a> <em>     * </em>
+<a name="432" href="#432">432</a> <em>     * @param pruneElements</em>
+<a name="433" href="#433">433</a> <em>     *            When true, elements will not be kept in memory</em>
+<a name="434" href="#434">434</a> <em>     */</em>
+<a name="435" href="#435">435</a>     <strong>public</strong> <strong>void</strong> setPruneElements(<strong>boolean</strong> pruneElements) {
+<a name="436" href="#436">436</a>         <strong>this</strong>.pruneElements = pruneElements;
+<a name="437" href="#437">437</a>     }
+<a name="438" href="#438">438</a> 
+<a name="439" href="#439">439</a>     <strong>private</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a> installModifier() throws IOException {
+<a name="440" href="#440">440</a>         modifier = <strong>new</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a>(isPruneElements());
+<a name="441" href="#441">441</a> 
+<a name="442" href="#442">442</a>         modifier.resetModifiers();
+<a name="443" href="#443">443</a> 
+<a name="444" href="#444">444</a>         Iterator modifierIt = modifiers.entrySet().iterator();
+<a name="445" href="#445">445</a> 
+<a name="446" href="#446">446</a>         <strong>while</strong> (modifierIt.hasNext()) {
+<a name="447" href="#447">447</a>             Map.Entry entry = (Map.Entry) modifierIt.next();
+<a name="448" href="#448">448</a>             <a href="../../../org/dom4j/io/ElementModifier.html">ElementModifier</a> mod = <strong>new</strong> JAXBElementModifier(<strong>this</strong>,
+<a name="449" href="#449">449</a>                     (<a href="../../../org/dom4j/jaxb/JAXBObjectModifier.html">JAXBObjectModifier</a>) entry.getValue());
+<a name="450" href="#450">450</a>             getModifier().addModifier((String) entry.getKey(), mod);
+<a name="451" href="#451">451</a>         }
+<a name="452" href="#452">452</a> 
+<a name="453" href="#453">453</a>         modifier.setXMLWriter(getXMLWriter());
+<a name="454" href="#454">454</a> 
+<a name="455" href="#455">455</a>         <strong>return</strong> modifier;
+<a name="456" href="#456">456</a>     }
+<a name="457" href="#457">457</a> 
+<a name="458" href="#458">458</a>     <strong>private</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a> getModifier() {
+<a name="459" href="#459">459</a>         <strong>if</strong> (<strong>this</strong>.mod<strong>if</strong>ier == <strong>null</strong>) {
+<a name="460" href="#460">460</a>             modifier = <strong>new</strong> <a href="../../../org/dom4j/io/SAXModifier.html">SAXModifier</a>(isPruneElements());
+<a name="461" href="#461">461</a>         }
+<a name="462" href="#462">462</a> 
+<a name="463" href="#463">463</a>         <strong>return</strong> modifier;
+<a name="464" href="#464">464</a>     }
+<a name="465" href="#465">465</a> 
+<a name="466" href="#466">466</a>     <strong>private</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> getXMLWriter() {
+<a name="467" href="#467">467</a>         <strong>return</strong> xmlWriter;
+<a name="468" href="#468">468</a>     }
+<a name="469" href="#469">469</a> 
+<a name="470" href="#470">470</a>     <strong>private</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> createXMLWriter() throws IOException {
+<a name="471" href="#471">471</a>         <strong>if</strong> (<strong>this</strong>.xmlWriter == <strong>null</strong>) {
+<a name="472" href="#472">472</a>             xmlWriter = <strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(outputFormat);
+<a name="473" href="#473">473</a>         }
+<a name="474" href="#474">474</a> 
+<a name="475" href="#475">475</a>         <strong>return</strong> xmlWriter;
+<a name="476" href="#476">476</a>     }
+<a name="477" href="#477">477</a> 
+<a name="478" href="#478">478</a>     <strong>private</strong> <strong>class</strong> JAXBElementModifier implements <a href="../../../org/dom4j/io/ElementModifier.html">ElementModifier</a> {
+<a name="479" href="#479">479</a>         <strong>private</strong> <a href="../../../org/dom4j/jaxb/JAXBModifier.html">JAXBModifier</a> jaxbModifier;
+<a name="480" href="#480">480</a> 
+<a name="481" href="#481">481</a>         <strong>private</strong> <a href="../../../org/dom4j/jaxb/JAXBObjectModifier.html">JAXBObjectModifier</a> objectModifier;
+<a name="482" href="#482">482</a> 
+<a name="483" href="#483">483</a>         <strong>public</strong> JAXBElementModifier(<a href="../../../org/dom4j/jaxb/JAXBModifier.html">JAXBModifier</a> jaxbModifier,
+<a name="484" href="#484">484</a>                 <a href="../../../org/dom4j/jaxb/JAXBObjectModifier.html">JAXBObjectModifier</a> objectModifier) {
+<a name="485" href="#485">485</a>             <strong>this</strong>.jaxbModifier = jaxbModifier;
+<a name="486" href="#486">486</a>             <strong>this</strong>.objectModifier = objectModifier;
+<a name="487" href="#487">487</a>         }
+<a name="488" href="#488">488</a> 
+<a name="489" href="#489">489</a>         <strong>public</strong> org.dom4j.Element modifyElement(org.dom4j.Element element)
+<a name="490" href="#490">490</a>                 throws Exception {
+<a name="491" href="#491">491</a>             javax.xml.bind.Element originalObject = jaxbModifier
+<a name="492" href="#492">492</a>                     .unmarshal(element);
+<a name="493" href="#493">493</a>             javax.xml.bind.Element modifiedObject = objectModifier
+<a name="494" href="#494">494</a>                     .modifyObject(originalObject);
+<a name="495" href="#495">495</a> 
+<a name="496" href="#496">496</a>             <strong>return</strong> jaxbModifier.marshal(modifiedObject);
+<a name="497" href="#497">497</a>         }
+<a name="498" href="#498">498</a>     }
+<a name="499" href="#499">499</a> }
+<a name="500" href="#500">500</a> 
+<a name="501" href="#501">501</a> <em class="comment">/*</em>
+<a name="502" href="#502">502</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="503" href="#503">503</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="504" href="#504">504</a> <em class="comment"> * following conditions are met:</em>
+<a name="505" href="#505">505</a> <em class="comment"> * </em>
+<a name="506" href="#506">506</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="507" href="#507">507</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="508" href="#508">508</a> <em class="comment"> * </em>
+<a name="509" href="#509">509</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="510" href="#510">510</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="511" href="#511">511</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="512" href="#512">512</a> <em class="comment"> * </em>
+<a name="513" href="#513">513</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="514" href="#514">514</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="515" href="#515">515</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="516" href="#516">516</a> <em class="comment"> * </em>
+<a name="517" href="#517">517</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="518" href="#518">518</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="519" href="#519">519</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="520" href="#520">520</a> <em class="comment"> * </em>
+<a name="521" href="#521">521</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="522" href="#522">522</a> <em class="comment"> * </em>
+<a name="523" href="#523">523</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="524" href="#524">524</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="525" href="#525">525</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="526" href="#526">526</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="527" href="#527">527</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="528" href="#528">528</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="529" href="#529">529</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="530" href="#530">530</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="531" href="#531">531</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="532" href="#532">532</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="533" href="#533">533</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="534" href="#534">534</a> <em class="comment"> * </em>
+<a name="535" href="#535">535</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="536" href="#536">536</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/jaxb/JAXBObjectHandler.html b/docs/xref/org/dom4j/jaxb/JAXBObjectHandler.html
new file mode 100644
index 0000000..2ad9b55
--- /dev/null
+++ b/docs/xref/org/dom4j/jaxb/JAXBObjectHandler.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>JAXBObjectHandler xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/jaxb/JAXBObjectHandler.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> javax.xml.bind.Element;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * JAXBObjectHandler implementations can be registered with the JAXB Reader in</em>
+<a name="14" href="#14">14</a>  <em> * order to receive unmarshalled XML fragments.</em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>interface</strong> <a href="../../../org/dom4j/jaxb/JAXBObjectHandler.html">JAXBObjectHandler</a> {
+<a name="19" href="#19">19</a>      <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em>     * Called when the {@link JAXBReader}has finished parsing the xml path the</em>
+<a name="21" href="#21">21</a>  <em>     * handler was registered for. The provided object is the unmarshalled</em>
+<a name="22" href="#22">22</a>  <em>     * representation of the XML path. It can be casted to the appropriate</em>
+<a name="23" href="#23">23</a>  <em>     * implementation class that is generated by the JAXB compiler.</em>
+<a name="24" href="#24">24</a>  <em>     * </em>
+<a name="25" href="#25">25</a>  <em>     * @param jaxbElement</em>
+<a name="26" href="#26">26</a>  <em>     *            the unmarshalled JAXB object to handle</em>
+<a name="27" href="#27">27</a>  <em>     * </em>
+<a name="28" href="#28">28</a>  <em>     * @throws Exception</em>
+<a name="29" href="#29">29</a>  <em>     *             of any kind, thrown by the implementation</em>
+<a name="30" href="#30">30</a>  <em>     */</em>
+<a name="31" href="#31">31</a>      <strong>void</strong> handleObject(Element jaxbElement) throws Exception;
+<a name="32" href="#32">32</a>  }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>  <em class="comment">/*</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="37" href="#37">37</a>  <em class="comment"> * following conditions are met:</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * </em>
+<a name="39" href="#39">39</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="41" href="#41">41</a>  <em class="comment"> * </em>
+<a name="42" href="#42">42</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * </em>
+<a name="46" href="#46">46</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * </em>
+<a name="50" href="#50">50</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/jaxb/JAXBObjectModifier.html b/docs/xref/org/dom4j/jaxb/JAXBObjectModifier.html
new file mode 100644
index 0000000..db6aa5c
--- /dev/null
+++ b/docs/xref/org/dom4j/jaxb/JAXBObjectModifier.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>JAXBObjectModifier xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/jaxb/JAXBObjectModifier.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> javax.xml.bind.Element;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * JAXBObjectHandler implementations can be registered with the {@link</em>
+<a name="14" href="#14">14</a>  <em> * JAXBModifier} in order to change unmarshalled XML fragments.</em>
+<a name="15" href="#15">15</a>  <em> * </em>
+<a name="16" href="#16">16</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="17" href="#17">17</a>  <em> */</em>
+<a name="18" href="#18">18</a>  <strong>public</strong> <strong>interface</strong> <a href="../../../org/dom4j/jaxb/JAXBObjectModifier.html">JAXBObjectModifier</a> {
+<a name="19" href="#19">19</a>      <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em>     * Called when the {@link JAXBModifier}has finished parsing the xml path</em>
+<a name="21" href="#21">21</a>  <em>     * the handler was registered for. The provided object is the unmarshalled</em>
+<a name="22" href="#22">22</a>  <em>     * representation of the XML fragment. It can be casted to the appropriate</em>
+<a name="23" href="#23">23</a>  <em>     * implementation class that is generated by the JAXB compiler. <br></em>
+<a name="24" href="#24">24</a>  <em>     * The modified JAXB element that returns from this method will be</em>
+<a name="25" href="#25">25</a>  <em>     * marshalled by the {@link JAXBModifier}and put in the DOM4J tree.</em>
+<a name="26" href="#26">26</a>  <em>     * </em>
+<a name="27" href="#27">27</a>  <em>     * @param jaxbElement</em>
+<a name="28" href="#28">28</a>  <em>     *            the JAXB object to be modified</em>
+<a name="29" href="#29">29</a>  <em>     * </em>
+<a name="30" href="#30">30</a>  <em>     * @return the modified JAXB object, or null when it must be removed.</em>
+<a name="31" href="#31">31</a>  <em>     * </em>
+<a name="32" href="#32">32</a>  <em>     * @throws Exception</em>
+<a name="33" href="#33">33</a>  <em>     *             possibly thrown by the implementation.</em>
+<a name="34" href="#34">34</a>  <em>     */</em>
+<a name="35" href="#35">35</a>      Element modifyObject(Element jaxbElement) throws Exception;
+<a name="36" href="#36">36</a>  }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>  <em class="comment">/*</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="41" href="#41">41</a>  <em class="comment"> * following conditions are met:</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * </em>
+<a name="43" href="#43">43</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * </em>
+<a name="46" href="#46">46</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * </em>
+<a name="50" href="#50">50</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/jaxb/JAXBReader.html b/docs/xref/org/dom4j/jaxb/JAXBReader.html
new file mode 100644
index 0000000..1f33ced
--- /dev/null
+++ b/docs/xref/org/dom4j/jaxb/JAXBReader.html
@@ -0,0 +1,449 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>JAXBReader xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/jaxb/JAXBReader.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.File;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.FileInputStream;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.FileNotFoundException;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.InputStream;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.InputStreamReader;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.io.Reader;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.net.URL;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.nio.charset.Charset;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Document;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.DocumentException;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.Element;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.ElementHandler;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.ElementPath;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.io.SAXReader;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>  <strong>import</strong> org.xml.sax.InputSource;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>  <em>/**<em>*</em></em>
+<a name="29" href="#29">29</a>  <em> * Reads an XML document and creates a DOM4J tree from SAX parsing events.</em>
+<a name="30" href="#30">30</a>  <em> * {@link JAXBObjectHandler}objects can be registered to automatically receive</em>
+<a name="31" href="#31">31</a>  <em> * unmarshalled XML fragments. Registered {@linkorg.dom4j.ElementHandler}</em>
+<a name="32" href="#32">32</a>  <em> * implementations are notified when a certain element path is encountered</em>
+<a name="33" href="#33">33</a>  <em> * </em>
+<a name="34" href="#34">34</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="35" href="#35">35</a>  <em> * </em>
+<a name="36" href="#36">36</a>  <em> * @see org.dom4j.io.SAXReader</em>
+<a name="37" href="#37">37</a>  <em> * @see javax.xml.bind.JAXBContext</em>
+<a name="38" href="#38">38</a>  <em> */</em>
+<a name="39" href="#39">39</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/jaxb/JAXBReader.html">JAXBReader</a> <strong>extends</strong> <a href="../../../org/dom4j/jaxb/JAXBSupport.html">JAXBSupport</a> {
+<a name="40" href="#40">40</a>      <strong>private</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a> reader;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>private</strong> <strong>boolean</strong> pruneElements;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em>/**<em>*</em></em>
+<a name="45" href="#45">45</a>  <em>     * Creates a new JAXBReader for the given JAXB context path. This is the</em>
+<a name="46" href="#46">46</a>  <em>     * Java package where JAXB can find the generated XML classes. This package</em>
+<a name="47" href="#47">47</a>  <em>     * MUST contain jaxb.properties!</em>
+<a name="48" href="#48">48</a>  <em>     * </em>
+<a name="49" href="#49">49</a>  <em>     * @param contextPath</em>
+<a name="50" href="#50">50</a>  <em>     *            context path to be used</em>
+<a name="51" href="#51">51</a>  <em>     * </em>
+<a name="52" href="#52">52</a>  <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="53" href="#53">53</a>  <em>     */</em>
+<a name="54" href="#54">54</a>      <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBReader.html">JAXBReader</a>(String contextPath) {
+<a name="55" href="#55">55</a>          <strong>super</strong>(contextPath);
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <em>/**<em>*</em></em>
+<a name="59" href="#59">59</a>  <em>     * Creates a new JAXBReader for the given JAXB context path, using the</em>
+<a name="60" href="#60">60</a>  <em>     * specified {@link java.lang.Classloader}. This is the Java package where</em>
+<a name="61" href="#61">61</a>  <em>     * JAXB can find the generated XML classes. This package MUST contain</em>
+<a name="62" href="#62">62</a>  <em>     * jaxb.properties!</em>
+<a name="63" href="#63">63</a>  <em>     * </em>
+<a name="64" href="#64">64</a>  <em>     * @param contextPath</em>
+<a name="65" href="#65">65</a>  <em>     *            to be used</em>
+<a name="66" href="#66">66</a>  <em>     * @param classloader</em>
+<a name="67" href="#67">67</a>  <em>     *            to be used</em>
+<a name="68" href="#68">68</a>  <em>     * </em>
+<a name="69" href="#69">69</a>  <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="70" href="#70">70</a>  <em>     */</em>
+<a name="71" href="#71">71</a>      <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBReader.html">JAXBReader</a>(String contextPath, ClassLoader classloader) {
+<a name="72" href="#72">72</a>          <strong>super</strong>(contextPath, classloader);
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <em>/**<em>*</em></em>
+<a name="76" href="#76">76</a>  <em>     * Parses the specified {@link java.io.File}</em>
+<a name="77" href="#77">77</a>  <em>     * </em>
+<a name="78" href="#78">78</a>  <em>     * @param source</em>
+<a name="79" href="#79">79</a>  <em>     *            the file to parse</em>
+<a name="80" href="#80">80</a>  <em>     * </em>
+<a name="81" href="#81">81</a>  <em>     * @return the resulting DOM4J document</em>
+<a name="82" href="#82">82</a>  <em>     * </em>
+<a name="83" href="#83">83</a>  <em>     * @throws DocumentException</em>
+<a name="84" href="#84">84</a>  <em>     *             when an error occurs while parsing</em>
+<a name="85" href="#85">85</a>  <em>     */</em>
+<a name="86" href="#86">86</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(File source) throws DocumentException {
+<a name="87" href="#87">87</a>          <strong>return</strong> getReader().read(source);
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <em>/**<em>*</em></em>
+<a name="91" href="#91">91</a>  <em>     * Parses the specified {@link java.io.File}, using the given {@link</em>
+<a name="92" href="#92">92</a>  <em>     * java.nio.charset.Charset}.</em>
+<a name="93" href="#93">93</a>  <em>     * </em>
+<a name="94" href="#94">94</a>  <em>     * @param file</em>
+<a name="95" href="#95">95</a>  <em>     *            the file to parse</em>
+<a name="96" href="#96">96</a>  <em>     * @param charset</em>
+<a name="97" href="#97">97</a>  <em>     *            the charset to be used</em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     * @return the resulting DOM4J document</em>
+<a name="100" href="#100">100</a> <em>     * </em>
+<a name="101" href="#101">101</a> <em>     * @throws DocumentException</em>
+<a name="102" href="#102">102</a> <em>     *             when an error occurs while parsing</em>
+<a name="103" href="#103">103</a> <em>     */</em>
+<a name="104" href="#104">104</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(File file, Charset charset) throws DocumentException {
+<a name="105" href="#105">105</a>         <strong>try</strong> {
+<a name="106" href="#106">106</a>             Reader xmlReader = <strong>new</strong> InputStreamReader(<strong>new</strong> FileInputStream(file),
+<a name="107" href="#107">107</a>                     charset);
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>             <strong>return</strong> getReader().read(xmlReader);
+<a name="110" href="#110">110</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="111" href="#111">111</a>             Throwable cause = ex.getCause();
+<a name="112" href="#112">112</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="113" href="#113">113</a>         } <strong>catch</strong> (FileNotFoundException ex) {
+<a name="114" href="#114">114</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(ex.getMessage(), ex);
+<a name="115" href="#115">115</a>         }
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <em>/**<em>*</em></em>
+<a name="119" href="#119">119</a> <em>     * Parses the specified {@link org.xml.sax.InputSource}</em>
+<a name="120" href="#120">120</a> <em>     * </em>
+<a name="121" href="#121">121</a> <em>     * @param source</em>
+<a name="122" href="#122">122</a> <em>     *            the source to parse</em>
+<a name="123" href="#123">123</a> <em>     * </em>
+<a name="124" href="#124">124</a> <em>     * @return the resulting DOM4J document</em>
+<a name="125" href="#125">125</a> <em>     * </em>
+<a name="126" href="#126">126</a> <em>     * @throws DocumentException</em>
+<a name="127" href="#127">127</a> <em>     *             when an error occurs while parsing</em>
+<a name="128" href="#128">128</a> <em>     */</em>
+<a name="129" href="#129">129</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputSource source) throws DocumentException {
+<a name="130" href="#130">130</a>         <strong>try</strong> {
+<a name="131" href="#131">131</a>             <strong>return</strong> getReader().read(source);
+<a name="132" href="#132">132</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="133" href="#133">133</a>             Throwable cause = ex.getCause();
+<a name="134" href="#134">134</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="135" href="#135">135</a>         }
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <em>/**<em>*</em></em>
+<a name="139" href="#139">139</a> <em>     * Parses the specified {@link java.io.InputStream}</em>
+<a name="140" href="#140">140</a> <em>     * </em>
+<a name="141" href="#141">141</a> <em>     * @param source</em>
+<a name="142" href="#142">142</a> <em>     *            the input stream to parse</em>
+<a name="143" href="#143">143</a> <em>     * </em>
+<a name="144" href="#144">144</a> <em>     * @return the resulting DOM4J document</em>
+<a name="145" href="#145">145</a> <em>     * </em>
+<a name="146" href="#146">146</a> <em>     * @throws DocumentException</em>
+<a name="147" href="#147">147</a> <em>     *             when an error occurs while parsing</em>
+<a name="148" href="#148">148</a> <em>     */</em>
+<a name="149" href="#149">149</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputStream source) throws DocumentException {
+<a name="150" href="#150">150</a>         <strong>try</strong> {
+<a name="151" href="#151">151</a>             <strong>return</strong> getReader().read(source);
+<a name="152" href="#152">152</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="153" href="#153">153</a>             Throwable cause = ex.getCause();
+<a name="154" href="#154">154</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="155" href="#155">155</a>         }
+<a name="156" href="#156">156</a>     }
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <em>/**<em>*</em></em>
+<a name="159" href="#159">159</a> <em>     * Parses the specified {@link java.io.InputStream}</em>
+<a name="160" href="#160">160</a> <em>     * </em>
+<a name="161" href="#161">161</a> <em>     * @param source</em>
+<a name="162" href="#162">162</a> <em>     *            the input stream to parse</em>
+<a name="163" href="#163">163</a> <em>     * @param systemId</em>
+<a name="164" href="#164">164</a> <em>     *            is the URI for the input</em>
+<a name="165" href="#165">165</a> <em>     * </em>
+<a name="166" href="#166">166</a> <em>     * @return the resulting DOM4J document</em>
+<a name="167" href="#167">167</a> <em>     * </em>
+<a name="168" href="#168">168</a> <em>     * @throws DocumentException</em>
+<a name="169" href="#169">169</a> <em>     *             when an error occurs while parsing</em>
+<a name="170" href="#170">170</a> <em>     */</em>
+<a name="171" href="#171">171</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(InputStream source, String systemId)
+<a name="172" href="#172">172</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="173" href="#173">173</a>         <strong>try</strong> {
+<a name="174" href="#174">174</a>             <strong>return</strong> getReader().read(source);
+<a name="175" href="#175">175</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="176" href="#176">176</a>             Throwable cause = ex.getCause();
+<a name="177" href="#177">177</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="178" href="#178">178</a>         }
+<a name="179" href="#179">179</a>     }
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>     <em>/**<em>*</em></em>
+<a name="182" href="#182">182</a> <em>     * Parses the specified {@link java.io.Reader}</em>
+<a name="183" href="#183">183</a> <em>     * </em>
+<a name="184" href="#184">184</a> <em>     * @param source</em>
+<a name="185" href="#185">185</a> <em>     *            the input reader to use</em>
+<a name="186" href="#186">186</a> <em>     * </em>
+<a name="187" href="#187">187</a> <em>     * @return the resulting DOM4J document</em>
+<a name="188" href="#188">188</a> <em>     * </em>
+<a name="189" href="#189">189</a> <em>     * @throws DocumentException</em>
+<a name="190" href="#190">190</a> <em>     *             when an error occurs while parsing</em>
+<a name="191" href="#191">191</a> <em>     */</em>
+<a name="192" href="#192">192</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(Reader source) throws DocumentException {
+<a name="193" href="#193">193</a>         <strong>try</strong> {
+<a name="194" href="#194">194</a>             <strong>return</strong> getReader().read(source);
+<a name="195" href="#195">195</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="196" href="#196">196</a>             Throwable cause = ex.getCause();
+<a name="197" href="#197">197</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="198" href="#198">198</a>         }
+<a name="199" href="#199">199</a>     }
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>     <em>/**<em>*</em></em>
+<a name="202" href="#202">202</a> <em>     * Parses the specified {@link java.io.Reader}</em>
+<a name="203" href="#203">203</a> <em>     * </em>
+<a name="204" href="#204">204</a> <em>     * @param source</em>
+<a name="205" href="#205">205</a> <em>     *            the input reader to parse</em>
+<a name="206" href="#206">206</a> <em>     * @param systemId</em>
+<a name="207" href="#207">207</a> <em>     *            is the URI for the input</em>
+<a name="208" href="#208">208</a> <em>     * </em>
+<a name="209" href="#209">209</a> <em>     * @return the resulting DOM4J document</em>
+<a name="210" href="#210">210</a> <em>     * </em>
+<a name="211" href="#211">211</a> <em>     * @throws DocumentException</em>
+<a name="212" href="#212">212</a> <em>     *             when an error occurs while parsing</em>
+<a name="213" href="#213">213</a> <em>     */</em>
+<a name="214" href="#214">214</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(Reader source, String systemId)
+<a name="215" href="#215">215</a>             throws <a href="../../../org/dom4j/DocumentException.html">DocumentException</a> {
+<a name="216" href="#216">216</a>         <strong>try</strong> {
+<a name="217" href="#217">217</a>             <strong>return</strong> getReader().read(source);
+<a name="218" href="#218">218</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="219" href="#219">219</a>             Throwable cause = ex.getCause();
+<a name="220" href="#220">220</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="221" href="#221">221</a>         }
+<a name="222" href="#222">222</a>     }
+<a name="223" href="#223">223</a> 
+<a name="224" href="#224">224</a>     <em>/**<em>*</em></em>
+<a name="225" href="#225">225</a> <em>     * Parses the the given URL or filename.</em>
+<a name="226" href="#226">226</a> <em>     * </em>
+<a name="227" href="#227">227</a> <em>     * @param source</em>
+<a name="228" href="#228">228</a> <em>     *            the location to parse</em>
+<a name="229" href="#229">229</a> <em>     * </em>
+<a name="230" href="#230">230</a> <em>     * @return the resulting DOM4J document</em>
+<a name="231" href="#231">231</a> <em>     * </em>
+<a name="232" href="#232">232</a> <em>     * @throws DocumentException</em>
+<a name="233" href="#233">233</a> <em>     *             when an error occurs while parsing</em>
+<a name="234" href="#234">234</a> <em>     */</em>
+<a name="235" href="#235">235</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(String source) throws DocumentException {
+<a name="236" href="#236">236</a>         <strong>try</strong> {
+<a name="237" href="#237">237</a>             <strong>return</strong> getReader().read(source);
+<a name="238" href="#238">238</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="239" href="#239">239</a>             Throwable cause = ex.getCause();
+<a name="240" href="#240">240</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="241" href="#241">241</a>         }
+<a name="242" href="#242">242</a>     }
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>     <em>/**<em>*</em></em>
+<a name="245" href="#245">245</a> <em>     * Parses the the given URL.</em>
+<a name="246" href="#246">246</a> <em>     * </em>
+<a name="247" href="#247">247</a> <em>     * @param source</em>
+<a name="248" href="#248">248</a> <em>     *            the URL to parse</em>
+<a name="249" href="#249">249</a> <em>     * </em>
+<a name="250" href="#250">250</a> <em>     * @return the resulting DOM4J document</em>
+<a name="251" href="#251">251</a> <em>     * </em>
+<a name="252" href="#252">252</a> <em>     * @throws DocumentException</em>
+<a name="253" href="#253">253</a> <em>     *             when an error occurs while parsing</em>
+<a name="254" href="#254">254</a> <em>     */</em>
+<a name="255" href="#255">255</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> read(URL source) throws DocumentException {
+<a name="256" href="#256">256</a>         <strong>try</strong> {
+<a name="257" href="#257">257</a>             <strong>return</strong> getReader().read(source);
+<a name="258" href="#258">258</a>         } <strong>catch</strong> (JAXBRuntimeException ex) {
+<a name="259" href="#259">259</a>             Throwable cause = ex.getCause();
+<a name="260" href="#260">260</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/DocumentException.html">DocumentException</a>(cause.getMessage(), cause);
+<a name="261" href="#261">261</a>         }
+<a name="262" href="#262">262</a>     }
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>     <em>/**<em>*</em></em>
+<a name="265" href="#265">265</a> <em>     * Registers a {@link JAXBObjectHandler}that will be supplied with the</em>
+<a name="266" href="#266">266</a> <em>     * unmarshalled representation of the xml fragment whenever the specified</em>
+<a name="267" href="#267">267</a> <em>     * path is encounted.</em>
+<a name="268" href="#268">268</a> <em>     * </em>
+<a name="269" href="#269">269</a> <em>     * @param path</em>
+<a name="270" href="#270">270</a> <em>     *            the path to listen for</em>
+<a name="271" href="#271">271</a> <em>     * @param handler</em>
+<a name="272" href="#272">272</a> <em>     *            the handler to be notified</em>
+<a name="273" href="#273">273</a> <em>     */</em>
+<a name="274" href="#274">274</a>     <strong>public</strong> <strong>void</strong> addObjectHandler(String path, <a href="../../../org/dom4j/jaxb/JAXBObjectHandler.html">JAXBObjectHandler</a> handler) {
+<a name="275" href="#275">275</a>         <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> eHandler = <strong>new</strong> UnmarshalElementHandler(<strong>this</strong>, handler);
+<a name="276" href="#276">276</a>         getReader().addHandler(path, eHandler);
+<a name="277" href="#277">277</a>     }
+<a name="278" href="#278">278</a> 
+<a name="279" href="#279">279</a>     <em>/**<em>*</em></em>
+<a name="280" href="#280">280</a> <em>     * Removes the {@link JAXBObjectHandler}from the event based processor, for</em>
+<a name="281" href="#281">281</a> <em>     * the specified element path.</em>
+<a name="282" href="#282">282</a> <em>     * </em>
+<a name="283" href="#283">283</a> <em>     * @param path</em>
+<a name="284" href="#284">284</a> <em>     *            The path to remove the {@link JAXBObjectHandler}for</em>
+<a name="285" href="#285">285</a> <em>     */</em>
+<a name="286" href="#286">286</a>     <strong>public</strong> <strong>void</strong> removeObjectHandler(String path) {
+<a name="287" href="#287">287</a>         getReader().removeHandler(path);
+<a name="288" href="#288">288</a>     }
+<a name="289" href="#289">289</a> 
+<a name="290" href="#290">290</a>     <em>/**<em>*</em></em>
+<a name="291" href="#291">291</a> <em>     * Adds the <code>ElementHandler</code> to be called when the specified</em>
+<a name="292" href="#292">292</a> <em>     * path is encounted.</em>
+<a name="293" href="#293">293</a> <em>     * </em>
+<a name="294" href="#294">294</a> <em>     * @param path</em>
+<a name="295" href="#295">295</a> <em>     *            is the path to be handled</em>
+<a name="296" href="#296">296</a> <em>     * @param handler</em>
+<a name="297" href="#297">297</a> <em>     *            is the <code>ElementHandler</code> to be called by the event</em>
+<a name="298" href="#298">298</a> <em>     *            based processor.</em>
+<a name="299" href="#299">299</a> <em>     */</em>
+<a name="300" href="#300">300</a>     <strong>public</strong> <strong>void</strong> addHandler(String path, <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> handler) {
+<a name="301" href="#301">301</a>         getReader().addHandler(path, handler);
+<a name="302" href="#302">302</a>     }
+<a name="303" href="#303">303</a> 
+<a name="304" href="#304">304</a>     <em>/**<em>*</em></em>
+<a name="305" href="#305">305</a> <em>     * Removes the <code>ElementHandler</code> from the event based processor,</em>
+<a name="306" href="#306">306</a> <em>     * for the specified path.</em>
+<a name="307" href="#307">307</a> <em>     * </em>
+<a name="308" href="#308">308</a> <em>     * @param path</em>
+<a name="309" href="#309">309</a> <em>     *            is the path to remove the <code>ElementHandler</code> for.</em>
+<a name="310" href="#310">310</a> <em>     */</em>
+<a name="311" href="#311">311</a>     <strong>public</strong> <strong>void</strong> removeHandler(String path) {
+<a name="312" href="#312">312</a>         getReader().removeHandler(path);
+<a name="313" href="#313">313</a>     }
+<a name="314" href="#314">314</a> 
+<a name="315" href="#315">315</a>     <em>/**<em>*</em></em>
+<a name="316" href="#316">316</a> <em>     * Removes all registered {@link JAXBObjectHandler}and {@link</em>
+<a name="317" href="#317">317</a> <em>     * org.dom4j.ElementHandler} instances from the event based processor.</em>
+<a name="318" href="#318">318</a> <em>     */</em>
+<a name="319" href="#319">319</a>     <strong>public</strong> <strong>void</strong> resetHandlers() {
+<a name="320" href="#320">320</a>         getReader().resetHandlers();
+<a name="321" href="#321">321</a>     }
+<a name="322" href="#322">322</a> 
+<a name="323" href="#323">323</a>     <em>/**<em>*</em></em>
+<a name="324" href="#324">324</a> <em>     * When 'true', the DOM4J document will not be kept in memory while parsing.</em>
+<a name="325" href="#325">325</a> <em>     * </em>
+<a name="326" href="#326">326</a> <em>     * @return Returns the pruneElements.</em>
+<a name="327" href="#327">327</a> <em>     */</em>
+<a name="328" href="#328">328</a>     <strong>public</strong> <strong>boolean</strong> isPruneElements() {
+<a name="329" href="#329">329</a>         <strong>return</strong> pruneElements;
+<a name="330" href="#330">330</a>     }
+<a name="331" href="#331">331</a> 
+<a name="332" href="#332">332</a>     <em>/**<em>*</em></em>
+<a name="333" href="#333">333</a> <em>     * Set to true when DOM4J elements must immediately be pruned from the tree.</em>
+<a name="334" href="#334">334</a> <em>     * The {@link Document}will not be available afterwards!</em>
+<a name="335" href="#335">335</a> <em>     * </em>
+<a name="336" href="#336">336</a> <em>     * @param pruneElements</em>
+<a name="337" href="#337">337</a> <em>     */</em>
+<a name="338" href="#338">338</a>     <strong>public</strong> <strong>void</strong> setPruneElements(<strong>boolean</strong> pruneElements) {
+<a name="339" href="#339">339</a>         <strong>this</strong>.pruneElements = pruneElements;
+<a name="340" href="#340">340</a> 
+<a name="341" href="#341">341</a>         <strong>if</strong> (pruneElements) {
+<a name="342" href="#342">342</a>             getReader().setDefaultHandler(<strong>new</strong> PruningElementHandler());
+<a name="343" href="#343">343</a>         }
+<a name="344" href="#344">344</a>     }
+<a name="345" href="#345">345</a> 
+<a name="346" href="#346">346</a>     <strong>private</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a> getReader() {
+<a name="347" href="#347">347</a>         <strong>if</strong> (reader == <strong>null</strong>) {
+<a name="348" href="#348">348</a>             reader = <strong>new</strong> <a href="../../../org/dom4j/io/SAXReader.html">SAXReader</a>();
+<a name="349" href="#349">349</a>         }
+<a name="350" href="#350">350</a> 
+<a name="351" href="#351">351</a>         <strong>return</strong> reader;
+<a name="352" href="#352">352</a>     }
+<a name="353" href="#353">353</a> 
+<a name="354" href="#354">354</a>     <strong>private</strong> <strong>class</strong> UnmarshalElementHandler implements <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> {
+<a name="355" href="#355">355</a>         <strong>private</strong> <a href="../../../org/dom4j/jaxb/JAXBReader.html">JAXBReader</a> jaxbReader;
+<a name="356" href="#356">356</a> 
+<a name="357" href="#357">357</a>         <strong>private</strong> <a href="../../../org/dom4j/jaxb/JAXBObjectHandler.html">JAXBObjectHandler</a> handler;
+<a name="358" href="#358">358</a> 
+<a name="359" href="#359">359</a>         <strong>public</strong> UnmarshalElementHandler(<a href="../../../org/dom4j/jaxb/JAXBReader.html">JAXBReader</a> documentReader,
+<a name="360" href="#360">360</a>                 <a href="../../../org/dom4j/jaxb/JAXBObjectHandler.html">JAXBObjectHandler</a> handler) {
+<a name="361" href="#361">361</a>             <strong>this</strong>.jaxbReader = documentReader;
+<a name="362" href="#362">362</a>             <strong>this</strong>.handler = handler;
+<a name="363" href="#363">363</a>         }
+<a name="364" href="#364">364</a> 
+<a name="365" href="#365">365</a>         <strong>public</strong> <strong>void</strong> onStart(<a href="../../../org/dom4j/ElementPath.html">ElementPath</a> elementPath) {
+<a name="366" href="#366">366</a>         }
+<a name="367" href="#367">367</a> 
+<a name="368" href="#368">368</a>         <strong>public</strong> <strong>void</strong> onEnd(<a href="../../../org/dom4j/ElementPath.html">ElementPath</a> elementPath) {
+<a name="369" href="#369">369</a>             <strong>try</strong> {
+<a name="370" href="#370">370</a>                 org.dom4j.Element elem = elementPath.getCurrent();
+<a name="371" href="#371">371</a> 
+<a name="372" href="#372">372</a>                 javax.xml.bind.Element jaxbObject 
+<a name="373" href="#373">373</a>                         = (javax.xml.bind.Element) jaxbReader.unmarshal(elem);
+<a name="374" href="#374">374</a> 
+<a name="375" href="#375">375</a>                 <strong>if</strong> (jaxbReader.isPruneElements()) {
+<a name="376" href="#376">376</a>                     elem.detach();
+<a name="377" href="#377">377</a>                 }
+<a name="378" href="#378">378</a> 
+<a name="379" href="#379">379</a>                 handler.handleObject(jaxbObject);
+<a name="380" href="#380">380</a>             } <strong>catch</strong> (Exception ex) {
+<a name="381" href="#381">381</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/jaxb/JAXBRuntimeException.html">JAXBRuntimeException</a>(ex);
+<a name="382" href="#382">382</a>             }
+<a name="383" href="#383">383</a>         }
+<a name="384" href="#384">384</a>     }
+<a name="385" href="#385">385</a> 
+<a name="386" href="#386">386</a>     <strong>private</strong> <strong>class</strong> PruningElementHandler implements <a href="../../../org/dom4j/ElementHandler.html">ElementHandler</a> {
+<a name="387" href="#387">387</a>         <strong>public</strong> PruningElementHandler() {
+<a name="388" href="#388">388</a>         }
+<a name="389" href="#389">389</a> 
+<a name="390" href="#390">390</a>         <strong>public</strong> <strong>void</strong> onStart(<a href="../../../org/dom4j/ElementPath.html">ElementPath</a> parm1) {
+<a name="391" href="#391">391</a>         }
+<a name="392" href="#392">392</a> 
+<a name="393" href="#393">393</a>         <strong>public</strong> <strong>void</strong> onEnd(<a href="../../../org/dom4j/ElementPath.html">ElementPath</a> elementPath) {
+<a name="394" href="#394">394</a>             <a href="../../../org/dom4j/Element.html">Element</a> elem = elementPath.getCurrent();
+<a name="395" href="#395">395</a>             elem.detach();
+<a name="396" href="#396">396</a>             elem = <strong>null</strong>;
+<a name="397" href="#397">397</a>         }
+<a name="398" href="#398">398</a>     }
+<a name="399" href="#399">399</a> }
+<a name="400" href="#400">400</a> 
+<a name="401" href="#401">401</a> <em class="comment">/*</em>
+<a name="402" href="#402">402</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="403" href="#403">403</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="404" href="#404">404</a> <em class="comment"> * following conditions are met:</em>
+<a name="405" href="#405">405</a> <em class="comment"> * </em>
+<a name="406" href="#406">406</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="407" href="#407">407</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="408" href="#408">408</a> <em class="comment"> * </em>
+<a name="409" href="#409">409</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="410" href="#410">410</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="411" href="#411">411</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="412" href="#412">412</a> <em class="comment"> * </em>
+<a name="413" href="#413">413</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="414" href="#414">414</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="415" href="#415">415</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="416" href="#416">416</a> <em class="comment"> * </em>
+<a name="417" href="#417">417</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="418" href="#418">418</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="419" href="#419">419</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="420" href="#420">420</a> <em class="comment"> * </em>
+<a name="421" href="#421">421</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="422" href="#422">422</a> <em class="comment"> * </em>
+<a name="423" href="#423">423</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="424" href="#424">424</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="425" href="#425">425</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="426" href="#426">426</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="427" href="#427">427</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="428" href="#428">428</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="429" href="#429">429</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="430" href="#430">430</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="431" href="#431">431</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="432" href="#432">432</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="433" href="#433">433</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="434" href="#434">434</a> <em class="comment"> * </em>
+<a name="435" href="#435">435</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="436" href="#436">436</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/jaxb/JAXBRuntimeException.html b/docs/xref/org/dom4j/jaxb/JAXBRuntimeException.html
new file mode 100644
index 0000000..6a5806a
--- /dev/null
+++ b/docs/xref/org/dom4j/jaxb/JAXBRuntimeException.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>JAXBRuntimeException xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/jaxb/JAXBRuntimeException.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * Exception internally thrown by the JAXBReader classes. This is a</em>
+<a name="12" href="#12">12</a>  <em> * RuntimeException since the {@link org.dom4j.ElementHandler}methods do not</em>
+<a name="13" href="#13">13</a>  <em> * throw Exceptions.</em>
+<a name="14" href="#14">14</a>  <em> * </em>
+<a name="15" href="#15">15</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="16" href="#16">16</a>  <em> */</em>
+<a name="17" href="#17">17</a>  <strong>class</strong> <a href="../../../org/dom4j/jaxb/JAXBRuntimeException.html">JAXBRuntimeException</a> <strong>extends</strong> RuntimeException {
+<a name="18" href="#18">18</a>      <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em>     * DOCUMENT ME!</em>
+<a name="20" href="#20">20</a>  <em>     * </em>
+<a name="21" href="#21">21</a>  <em>     * @param cause</em>
+<a name="22" href="#22">22</a>  <em>     *            The causing {@link java.lang.Throwable}</em>
+<a name="23" href="#23">23</a>  <em>     */</em>
+<a name="24" href="#24">24</a>      <strong>protected</strong> <a href="../../../org/dom4j/jaxb/JAXBRuntimeException.html">JAXBRuntimeException</a>(Throwable cause) {
+<a name="25" href="#25">25</a>          <strong>super</strong>(cause);
+<a name="26" href="#26">26</a>      }
+<a name="27" href="#27">27</a>  }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>  <em class="comment">/*</em>
+<a name="30" href="#30">30</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="32" href="#32">32</a>  <em class="comment"> * following conditions are met:</em>
+<a name="33" href="#33">33</a>  <em class="comment"> * </em>
+<a name="34" href="#34">34</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * </em>
+<a name="37" href="#37">37</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * </em>
+<a name="45" href="#45">45</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="50" href="#50">50</a>  <em class="comment"> * </em>
+<a name="51" href="#51">51</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="64" href="#64">64</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/jaxb/JAXBSupport.html b/docs/xref/org/dom4j/jaxb/JAXBSupport.html
new file mode 100644
index 0000000..eccf649
--- /dev/null
+++ b/docs/xref/org/dom4j/jaxb/JAXBSupport.html
@@ -0,0 +1,162 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>JAXBSupport xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/jaxb/JAXBSupport.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.StringReader;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> javax.xml.bind.JAXBContext;
+<a name="13" href="#13">13</a>  <strong>import</strong> javax.xml.bind.JAXBException;
+<a name="14" href="#14">14</a>  <strong>import</strong> javax.xml.bind.Marshaller;
+<a name="15" href="#15">15</a>  <strong>import</strong> javax.xml.bind.Unmarshaller;
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.transform.Source;
+<a name="17" href="#17">17</a>  <strong>import</strong> javax.xml.transform.stream.StreamSource;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.dom.DOMDocument;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * DOCUMENT ME!</em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/jaxb/JAXBSupport.html">JAXBSupport</a> {
+<a name="27" href="#27">27</a>      <strong>private</strong> String contextPath;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>private</strong> ClassLoader classloader;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>private</strong> JAXBContext jaxbContext;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>private</strong> Marshaller marshaller;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>private</strong> Unmarshaller unmarshaller;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBSupport.html">JAXBSupport</a>(String contextPath) {
+<a name="38" href="#38">38</a>          <strong>this</strong>.contextPath = contextPath;
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBSupport.html">JAXBSupport</a>(String contextPath, ClassLoader classloader) {
+<a name="42" href="#42">42</a>          <strong>this</strong>.contextPath = contextPath;
+<a name="43" href="#43">43</a>          <strong>this</strong>.classloader = classloader;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>*</em></em>
+<a name="47" href="#47">47</a>  <em>     * Marshals the given {@link javax.xml.bind.Element}in to its DOM4J</em>
+<a name="48" href="#48">48</a>  <em>     * counterpart.</em>
+<a name="49" href="#49">49</a>  <em>     * </em>
+<a name="50" href="#50">50</a>  <em>     * @param element</em>
+<a name="51" href="#51">51</a>  <em>     *            JAXB Element to be marshalled</em>
+<a name="52" href="#52">52</a>  <em>     * </em>
+<a name="53" href="#53">53</a>  <em>     * @return the marshalled DOM4J {@link org.dom4j.Element}</em>
+<a name="54" href="#54">54</a>  <em>     * </em>
+<a name="55" href="#55">55</a>  <em>     * @throws JAXBException</em>
+<a name="56" href="#56">56</a>  <em>     *             when an error occurs</em>
+<a name="57" href="#57">57</a>  <em>     */</em>
+<a name="58" href="#58">58</a>      <strong>protected</strong> org.dom4j.Element marshal(javax.xml.bind.Element element)
+<a name="59" href="#59">59</a>              throws JAXBException {
+<a name="60" href="#60">60</a>          <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a> doc = <strong>new</strong> <a href="../../../org/dom4j/dom/DOMDocument.html">DOMDocument</a>();
+<a name="61" href="#61">61</a>          getMarshaller().marshal(element, doc);
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          <strong>return</strong> doc.getRootElement();
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <em>/**<em>*</em></em>
+<a name="67" href="#67">67</a>  <em>     * Unmarshalls the specified DOM4J {@link org.dom4j.Element}into a {@link</em>
+<a name="68" href="#68">68</a>  <em>     * javax.xml.bind.Element}</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @param element</em>
+<a name="71" href="#71">71</a>  <em>     *            the DOM4J element to unmarshall</em>
+<a name="72" href="#72">72</a>  <em>     * </em>
+<a name="73" href="#73">73</a>  <em>     * @return the unmarshalled JAXB object</em>
+<a name="74" href="#74">74</a>  <em>     * </em>
+<a name="75" href="#75">75</a>  <em>     * @throws JAXBException</em>
+<a name="76" href="#76">76</a>  <em>     *             when an error occurs</em>
+<a name="77" href="#77">77</a>  <em>     */</em>
+<a name="78" href="#78">78</a>      <strong>protected</strong> javax.xml.bind.Element unmarshal(org.dom4j.Element element)
+<a name="79" href="#79">79</a>              throws JAXBException {
+<a name="80" href="#80">80</a>          Source source = <strong>new</strong> StreamSource(<strong>new</strong> StringReader(element.asXML()));
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          <strong>return</strong> (javax.xml.bind.Element) getUnmarshaller().unmarshal(source);
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>private</strong> Marshaller getMarshaller() throws JAXBException {
+<a name="86" href="#86">86</a>          <strong>if</strong> (marshaller == <strong>null</strong>) {
+<a name="87" href="#87">87</a>              marshaller = getContext().createMarshaller();
+<a name="88" href="#88">88</a>          }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          <strong>return</strong> marshaller;
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>private</strong> Unmarshaller getUnmarshaller() throws JAXBException {
+<a name="94" href="#94">94</a>          <strong>if</strong> (unmarshaller == <strong>null</strong>) {
+<a name="95" href="#95">95</a>              unmarshaller = getContext().createUnmarshaller();
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          <strong>return</strong> unmarshaller;
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>private</strong> JAXBContext getContext() throws JAXBException {
+<a name="102" href="#102">102</a>         <strong>if</strong> (jaxbContext == <strong>null</strong>) {
+<a name="103" href="#103">103</a>             <strong>if</strong> (classloader == <strong>null</strong>) {
+<a name="104" href="#104">104</a>                 jaxbContext = JAXBContext.newInstance(contextPath);
+<a name="105" href="#105">105</a>             } <strong>else</strong> {
+<a name="106" href="#106">106</a>                 jaxbContext = JAXBContext.newInstance(contextPath, classloader);
+<a name="107" href="#107">107</a>             }
+<a name="108" href="#108">108</a>         }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         <strong>return</strong> jaxbContext;
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a> <em class="comment">/*</em>
+<a name="115" href="#115">115</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="116" href="#116">116</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="117" href="#117">117</a> <em class="comment"> * following conditions are met:</em>
+<a name="118" href="#118">118</a> <em class="comment"> * </em>
+<a name="119" href="#119">119</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="120" href="#120">120</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="121" href="#121">121</a> <em class="comment"> * </em>
+<a name="122" href="#122">122</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="123" href="#123">123</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="124" href="#124">124</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="125" href="#125">125</a> <em class="comment"> * </em>
+<a name="126" href="#126">126</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="127" href="#127">127</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="128" href="#128">128</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="129" href="#129">129</a> <em class="comment"> * </em>
+<a name="130" href="#130">130</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="131" href="#131">131</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="132" href="#132">132</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="133" href="#133">133</a> <em class="comment"> * </em>
+<a name="134" href="#134">134</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="135" href="#135">135</a> <em class="comment"> * </em>
+<a name="136" href="#136">136</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="137" href="#137">137</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="138" href="#138">138</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="139" href="#139">139</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="140" href="#140">140</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="141" href="#141">141</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="142" href="#142">142</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="143" href="#143">143</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="144" href="#144">144</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="145" href="#145">145</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="146" href="#146">146</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="147" href="#147">147</a> <em class="comment"> * </em>
+<a name="148" href="#148">148</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="149" href="#149">149</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/jaxb/JAXBWriter.html b/docs/xref/org/dom4j/jaxb/JAXBWriter.html
new file mode 100644
index 0000000..41f781e
--- /dev/null
+++ b/docs/xref/org/dom4j/jaxb/JAXBWriter.html
@@ -0,0 +1,339 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>JAXBWriter xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/jaxb/JAXBWriter.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.File;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.FileOutputStream;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.IOException;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.io.OutputStream;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.io.Writer;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> javax.xml.bind.JAXBException;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Element;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.io.OutputFormat;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>import</strong> org.xml.sax.SAXException;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <em>/**<em>*</em></em>
+<a name="25" href="#25">25</a>  <em> * Writes {@link javax.xml.bind.Element}objects to an XML stream. {@link</em>
+<a name="26" href="#26">26</a>  <em> * javax.xml.bind.Element} instances can be created using the ObjectFactory that</em>
+<a name="27" href="#27">27</a>  <em> * is generated by the JAXB compiler.</em>
+<a name="28" href="#28">28</a>  <em> * </em>
+<a name="29" href="#29">29</a>  <em> * @author Wonne Keysers (Realsoftware.be)</em>
+<a name="30" href="#30">30</a>  <em> * </em>
+<a name="31" href="#31">31</a>  <em> * @see org.dom4j.io.XMLWriter</em>
+<a name="32" href="#32">32</a>  <em> * @see javax.xml.bind.JAXBContext</em>
+<a name="33" href="#33">33</a>  <em> */</em>
+<a name="34" href="#34">34</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/jaxb/JAXBWriter.html">JAXBWriter</a> <strong>extends</strong> <a href="../../../org/dom4j/jaxb/JAXBSupport.html">JAXBSupport</a> {
+<a name="35" href="#35">35</a>      <strong>private</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> xmlWriter;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>private</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> outputFormat;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>*</em></em>
+<a name="40" href="#40">40</a>  <em>     * Creates a new JAXBWriter for the given JAXB context path. This is the</em>
+<a name="41" href="#41">41</a>  <em>     * Java package where JAXB can find the generated XML classes. This package</em>
+<a name="42" href="#42">42</a>  <em>     * MUST contain jaxb.properties!</em>
+<a name="43" href="#43">43</a>  <em>     * </em>
+<a name="44" href="#44">44</a>  <em>     * @param contextPath</em>
+<a name="45" href="#45">45</a>  <em>     *            JAXB context path to be used</em>
+<a name="46" href="#46">46</a>  <em>     * </em>
+<a name="47" href="#47">47</a>  <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="48" href="#48">48</a>  <em>     */</em>
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBWriter.html">JAXBWriter</a>(String contextPath) {
+<a name="50" href="#50">50</a>          <strong>super</strong>(contextPath);
+<a name="51" href="#51">51</a>          outputFormat = <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>();
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <em>/**<em>*</em></em>
+<a name="55" href="#55">55</a>  <em>     * Creates a new JAXBWriter for the given JAXB context path. The specied</em>
+<a name="56" href="#56">56</a>  <em>     * {@link org.dom4j.io.OutputFormat}will be used for writing the XML</em>
+<a name="57" href="#57">57</a>  <em>     * stream.</em>
+<a name="58" href="#58">58</a>  <em>     * </em>
+<a name="59" href="#59">59</a>  <em>     * @param contextPath</em>
+<a name="60" href="#60">60</a>  <em>     *            JAXB context path to be used</em>
+<a name="61" href="#61">61</a>  <em>     * @param outputFormat</em>
+<a name="62" href="#62">62</a>  <em>     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used</em>
+<a name="63" href="#63">63</a>  <em>     * </em>
+<a name="64" href="#64">64</a>  <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="65" href="#65">65</a>  <em>     */</em>
+<a name="66" href="#66">66</a>      <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBWriter.html">JAXBWriter</a>(String contextPath, <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> outputFormat) {
+<a name="67" href="#67">67</a>          <strong>super</strong>(contextPath);
+<a name="68" href="#68">68</a>          <strong>this</strong>.outputFormat = outputFormat;
+<a name="69" href="#69">69</a>      }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <em>/**<em>*</em></em>
+<a name="72" href="#72">72</a>  <em>     * Creates a new JAXBWriter for the given JAXB context path, using the</em>
+<a name="73" href="#73">73</a>  <em>     * specified {@link java.lang.Classloader}. (This is the Java package where</em>
+<a name="74" href="#74">74</a>  <em>     * JAXB can find the generated XML classes. This package MUST contain</em>
+<a name="75" href="#75">75</a>  <em>     * jaxb.properties!)</em>
+<a name="76" href="#76">76</a>  <em>     * </em>
+<a name="77" href="#77">77</a>  <em>     * @param contextPath</em>
+<a name="78" href="#78">78</a>  <em>     *            JAXB context path to be used</em>
+<a name="79" href="#79">79</a>  <em>     * @param classloader</em>
+<a name="80" href="#80">80</a>  <em>     *            the classloader to be used for loading JAXB</em>
+<a name="81" href="#81">81</a>  <em>     * </em>
+<a name="82" href="#82">82</a>  <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="83" href="#83">83</a>  <em>     */</em>
+<a name="84" href="#84">84</a>      <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBWriter.html">JAXBWriter</a>(String contextPath, ClassLoader classloader) {
+<a name="85" href="#85">85</a>          <strong>super</strong>(contextPath, classloader);
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <em>/**<em>*</em></em>
+<a name="89" href="#89">89</a>  <em>     * Creates a new JAXBWriter for the given JAXB context path, using the</em>
+<a name="90" href="#90">90</a>  <em>     * specified {@link java.lang.Classloader}. The specied {@link</em>
+<a name="91" href="#91">91</a>  <em>     * org.dom4j.io.OutputFormat} will be used while writing the XML stream.</em>
+<a name="92" href="#92">92</a>  <em>     * </em>
+<a name="93" href="#93">93</a>  <em>     * @param contextPath</em>
+<a name="94" href="#94">94</a>  <em>     *            JAXB context path to be used</em>
+<a name="95" href="#95">95</a>  <em>     * @param classloader</em>
+<a name="96" href="#96">96</a>  <em>     *            the class loader to be used to load JAXB</em>
+<a name="97" href="#97">97</a>  <em>     * @param outputFormat</em>
+<a name="98" href="#98">98</a>  <em>     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used</em>
+<a name="99" href="#99">99</a>  <em>     * </em>
+<a name="100" href="#100">100</a> <em>     * @see javax.xml.bind.JAXBContext</em>
+<a name="101" href="#101">101</a> <em>     */</em>
+<a name="102" href="#102">102</a>     <strong>public</strong> <a href="../../../org/dom4j/jaxb/JAXBWriter.html">JAXBWriter</a>(String contextPath, ClassLoader classloader,
+<a name="103" href="#103">103</a>             <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> outputFormat) {
+<a name="104" href="#104">104</a>         <strong>super</strong>(contextPath, classloader);
+<a name="105" href="#105">105</a>         <strong>this</strong>.outputFormat = outputFormat;
+<a name="106" href="#106">106</a>     }
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>     <em>/**<em>*</em></em>
+<a name="109" href="#109">109</a> <em>     * Returns the OutputFormat that will be used when writing the XML stream.</em>
+<a name="110" href="#110">110</a> <em>     * </em>
+<a name="111" href="#111">111</a> <em>     * @return Returns the output format.</em>
+<a name="112" href="#112">112</a> <em>     */</em>
+<a name="113" href="#113">113</a>     <strong>public</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> getOutputFormat() {
+<a name="114" href="#114">114</a>         <strong>return</strong> outputFormat;
+<a name="115" href="#115">115</a>     }
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>     <em>/**<em>*</em></em>
+<a name="118" href="#118">118</a> <em>     * Defines to write the resulting output to the specified {@link</em>
+<a name="119" href="#119">119</a> <em>     * java.io.File}.</em>
+<a name="120" href="#120">120</a> <em>     * </em>
+<a name="121" href="#121">121</a> <em>     * @param file</em>
+<a name="122" href="#122">122</a> <em>     *            file to write to</em>
+<a name="123" href="#123">123</a> <em>     * </em>
+<a name="124" href="#124">124</a> <em>     * @throws IOException</em>
+<a name="125" href="#125">125</a> <em>     *             when the file cannot be found</em>
+<a name="126" href="#126">126</a> <em>     */</em>
+<a name="127" href="#127">127</a>     <strong>public</strong> <strong>void</strong> setOutput(File file) throws IOException {
+<a name="128" href="#128">128</a>         getWriter().setOutputStream(<strong>new</strong> FileOutputStream(file));
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <em>/**<em>*</em></em>
+<a name="132" href="#132">132</a> <em>     * Defines to write the resulting output to the specified {@link</em>
+<a name="133" href="#133">133</a> <em>     * java.io.OutputStream}</em>
+<a name="134" href="#134">134</a> <em>     * </em>
+<a name="135" href="#135">135</a> <em>     * @param outputStream</em>
+<a name="136" href="#136">136</a> <em>     *            outputStream to write to.</em>
+<a name="137" href="#137">137</a> <em>     * </em>
+<a name="138" href="#138">138</a> <em>     * @throws IOException</em>
+<a name="139" href="#139">139</a> <em>     *             DOCUMENT ME!</em>
+<a name="140" href="#140">140</a> <em>     */</em>
+<a name="141" href="#141">141</a>     <strong>public</strong> <strong>void</strong> setOutput(OutputStream outputStream) throws IOException {
+<a name="142" href="#142">142</a>         getWriter().setOutputStream(outputStream);
+<a name="143" href="#143">143</a>     }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <em>/**<em>*</em></em>
+<a name="146" href="#146">146</a> <em>     * Defines to write the resulting output to the specified {@link Writer}.</em>
+<a name="147" href="#147">147</a> <em>     * </em>
+<a name="148" href="#148">148</a> <em>     * @param writer</em>
+<a name="149" href="#149">149</a> <em>     *            writer to write to</em>
+<a name="150" href="#150">150</a> <em>     * </em>
+<a name="151" href="#151">151</a> <em>     * @throws IOException</em>
+<a name="152" href="#152">152</a> <em>     */</em>
+<a name="153" href="#153">153</a>     <strong>public</strong> <strong>void</strong> setOutput(Writer writer) throws IOException {
+<a name="154" href="#154">154</a>         getWriter().setWriter(writer);
+<a name="155" href="#155">155</a>     }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>     <em>/**<em>*</em></em>
+<a name="158" href="#158">158</a> <em>     * Start a document by writing the initial XML declaration to the output.</em>
+<a name="159" href="#159">159</a> <em>     * This must be done prior to writing any other elements.</em>
+<a name="160" href="#160">160</a> <em>     * </em>
+<a name="161" href="#161">161</a> <em>     * @throws IOException</em>
+<a name="162" href="#162">162</a> <em>     *             if an error occured while writing the output</em>
+<a name="163" href="#163">163</a> <em>     * @throws SAXException</em>
+<a name="164" href="#164">164</a> <em>     *             thrown by the underlying SAX driver</em>
+<a name="165" href="#165">165</a> <em>     */</em>
+<a name="166" href="#166">166</a>     <strong>public</strong> <strong>void</strong> startDocument() throws IOException, SAXException {
+<a name="167" href="#167">167</a>         getWriter().startDocument();
+<a name="168" href="#168">168</a>     }
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>     <em>/**<em>*</em></em>
+<a name="171" href="#171">171</a> <em>     * Stop writing the document to the output. This must be done when all other</em>
+<a name="172" href="#172">172</a> <em>     * elements are finished.</em>
+<a name="173" href="#173">173</a> <em>     * </em>
+<a name="174" href="#174">174</a> <em>     * @throws IOException</em>
+<a name="175" href="#175">175</a> <em>     *             if an error occured while writing the output</em>
+<a name="176" href="#176">176</a> <em>     * @throws SAXException</em>
+<a name="177" href="#177">177</a> <em>     *             thrown by the underlying SAX driver</em>
+<a name="178" href="#178">178</a> <em>     */</em>
+<a name="179" href="#179">179</a>     <strong>public</strong> <strong>void</strong> endDocument() throws IOException, SAXException {
+<a name="180" href="#180">180</a>         getWriter().endDocument();
+<a name="181" href="#181">181</a>     }
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>     <em>/**<em>*</em></em>
+<a name="184" href="#184">184</a> <em>     * Writes the specified {@link javax.xml.bind.Element}to the document.</em>
+<a name="185" href="#185">185</a> <em>     * {@link javax.xml.bind.Element}instances can be created using the</em>
+<a name="186" href="#186">186</a> <em>     * ObjectFactory that is generated by the JAXB compiler.</em>
+<a name="187" href="#187">187</a> <em>     * </em>
+<a name="188" href="#188">188</a> <em>     * @param jaxbObject</em>
+<a name="189" href="#189">189</a> <em>     * </em>
+<a name="190" href="#190">190</a> <em>     * @throws IOException</em>
+<a name="191" href="#191">191</a> <em>     *             if an error occured while writing the output</em>
+<a name="192" href="#192">192</a> <em>     * @throws JAXBException</em>
+<a name="193" href="#193">193</a> <em>     *             when an error occured while marshalling the jaxbObject</em>
+<a name="194" href="#194">194</a> <em>     */</em>
+<a name="195" href="#195">195</a>     <strong>public</strong> <strong>void</strong> write(javax.xml.bind.Element jaxbObject) throws IOException,
+<a name="196" href="#196">196</a>             JAXBException {
+<a name="197" href="#197">197</a>         getWriter().write(marshal(jaxbObject));
+<a name="198" href="#198">198</a>     }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>     <em>/**<em>*</em></em>
+<a name="201" href="#201">201</a> <em>     * Writes the closing tag of the specified {@link javax.xml.bind.Element}to</em>
+<a name="202" href="#202">202</a> <em>     * the document. This method can be used for writing {@link</em>
+<a name="203" href="#203">203</a> <em>     * javax.xml.bind.Element} instances can be created using the ObjectFactory</em>
+<a name="204" href="#204">204</a> <em>     * that is generated by the JAXB compiler.</em>
+<a name="205" href="#205">205</a> <em>     * </em>
+<a name="206" href="#206">206</a> <em>     * @param jaxbObject</em>
+<a name="207" href="#207">207</a> <em>     *            the JAXB element to write</em>
+<a name="208" href="#208">208</a> <em>     * </em>
+<a name="209" href="#209">209</a> <em>     * @throws IOException</em>
+<a name="210" href="#210">210</a> <em>     *             if an error occured while writing the output</em>
+<a name="211" href="#211">211</a> <em>     * @throws JAXBException</em>
+<a name="212" href="#212">212</a> <em>     *             when an error occured while marshalling the jaxbObject</em>
+<a name="213" href="#213">213</a> <em>     */</em>
+<a name="214" href="#214">214</a>     <strong>public</strong> <strong>void</strong> writeClose(javax.xml.bind.Element jaxbObject)
+<a name="215" href="#215">215</a>             throws IOException, JAXBException {
+<a name="216" href="#216">216</a>         getWriter().writeClose(marshal(jaxbObject));
+<a name="217" href="#217">217</a>     }
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>     <em>/**<em>*</em></em>
+<a name="220" href="#220">220</a> <em>     * Writes the opening tag of the specified {@link javax.xml.bind.Element}to</em>
+<a name="221" href="#221">221</a> <em>     * the document. {@link javax.xml.bind.Element}instances can be created</em>
+<a name="222" href="#222">222</a> <em>     * using the ObjectFactory that is generated by the JAXB compiler.</em>
+<a name="223" href="#223">223</a> <em>     * </em>
+<a name="224" href="#224">224</a> <em>     * @param jaxbObject</em>
+<a name="225" href="#225">225</a> <em>     *            the JAXB element to write</em>
+<a name="226" href="#226">226</a> <em>     * </em>
+<a name="227" href="#227">227</a> <em>     * @throws IOException</em>
+<a name="228" href="#228">228</a> <em>     *             if an error occured while writing the output</em>
+<a name="229" href="#229">229</a> <em>     * @throws JAXBException</em>
+<a name="230" href="#230">230</a> <em>     *             when an error occured while marshalling the jaxbObject</em>
+<a name="231" href="#231">231</a> <em>     */</em>
+<a name="232" href="#232">232</a>     <strong>public</strong> <strong>void</strong> writeOpen(javax.xml.bind.Element jaxbObject)
+<a name="233" href="#233">233</a>             throws IOException, JAXBException {
+<a name="234" href="#234">234</a>         getWriter().writeOpen(marshal(jaxbObject));
+<a name="235" href="#235">235</a>     }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>     <em>/**<em>*</em></em>
+<a name="238" href="#238">238</a> <em>     * Writes the specified {@link org.dom4j.Element}to the document.</em>
+<a name="239" href="#239">239</a> <em>     * </em>
+<a name="240" href="#240">240</a> <em>     * @param element</em>
+<a name="241" href="#241">241</a> <em>     *            the {@link org.dom4j.Element}to write</em>
+<a name="242" href="#242">242</a> <em>     * </em>
+<a name="243" href="#243">243</a> <em>     * @throws IOException</em>
+<a name="244" href="#244">244</a> <em>     *             if an error occured while writing the output</em>
+<a name="245" href="#245">245</a> <em>     */</em>
+<a name="246" href="#246">246</a>     <strong>public</strong> <strong>void</strong> writeElement(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="247" href="#247">247</a>         getWriter().write(element);
+<a name="248" href="#248">248</a>     }
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>     <em>/**<em>*</em></em>
+<a name="251" href="#251">251</a> <em>     * Writes the closing tag of the specified {@link org.dom4j.Element}to the</em>
+<a name="252" href="#252">252</a> <em>     * document.</em>
+<a name="253" href="#253">253</a> <em>     * </em>
+<a name="254" href="#254">254</a> <em>     * @param element</em>
+<a name="255" href="#255">255</a> <em>     *            the {@link org.dom4j.Element}to write</em>
+<a name="256" href="#256">256</a> <em>     * </em>
+<a name="257" href="#257">257</a> <em>     * @throws IOException</em>
+<a name="258" href="#258">258</a> <em>     *             if an error occured while writing the output</em>
+<a name="259" href="#259">259</a> <em>     */</em>
+<a name="260" href="#260">260</a>     <strong>public</strong> <strong>void</strong> writeCloseElement(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="261" href="#261">261</a>         getWriter().writeClose(element);
+<a name="262" href="#262">262</a>     }
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>     <em>/**<em>*</em></em>
+<a name="265" href="#265">265</a> <em>     * Writes the opening tag of the specified {@link org.dom4j.Element}to the</em>
+<a name="266" href="#266">266</a> <em>     * document.</em>
+<a name="267" href="#267">267</a> <em>     * </em>
+<a name="268" href="#268">268</a> <em>     * @param element</em>
+<a name="269" href="#269">269</a> <em>     *            the {@link org.dom4j.Element}to write</em>
+<a name="270" href="#270">270</a> <em>     * </em>
+<a name="271" href="#271">271</a> <em>     * @throws IOException</em>
+<a name="272" href="#272">272</a> <em>     *             if an error occured while writing the output</em>
+<a name="273" href="#273">273</a> <em>     */</em>
+<a name="274" href="#274">274</a>     <strong>public</strong> <strong>void</strong> writeOpenElement(<a href="../../../org/dom4j/Element.html">Element</a> element) throws IOException {
+<a name="275" href="#275">275</a>         getWriter().writeOpen(element);
+<a name="276" href="#276">276</a>     }
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>     <strong>private</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> getWriter() throws IOException {
+<a name="279" href="#279">279</a>         <strong>if</strong> (xmlWriter == <strong>null</strong>) {
+<a name="280" href="#280">280</a>             <strong>if</strong> (<strong>this</strong>.outputFormat != <strong>null</strong>) {
+<a name="281" href="#281">281</a>                 xmlWriter = <strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(outputFormat);
+<a name="282" href="#282">282</a>             } <strong>else</strong> {
+<a name="283" href="#283">283</a>                 xmlWriter = <strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>();
+<a name="284" href="#284">284</a>             }
+<a name="285" href="#285">285</a>         }
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a>         <strong>return</strong> xmlWriter;
+<a name="288" href="#288">288</a>     }
+<a name="289" href="#289">289</a> }
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a> <em class="comment">/*</em>
+<a name="292" href="#292">292</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="293" href="#293">293</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="294" href="#294">294</a> <em class="comment"> * following conditions are met:</em>
+<a name="295" href="#295">295</a> <em class="comment"> * </em>
+<a name="296" href="#296">296</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="297" href="#297">297</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="298" href="#298">298</a> <em class="comment"> * </em>
+<a name="299" href="#299">299</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="300" href="#300">300</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="301" href="#301">301</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="302" href="#302">302</a> <em class="comment"> * </em>
+<a name="303" href="#303">303</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="304" href="#304">304</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="305" href="#305">305</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="306" href="#306">306</a> <em class="comment"> * </em>
+<a name="307" href="#307">307</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="308" href="#308">308</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="309" href="#309">309</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="310" href="#310">310</a> <em class="comment"> * </em>
+<a name="311" href="#311">311</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="312" href="#312">312</a> <em class="comment"> * </em>
+<a name="313" href="#313">313</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="314" href="#314">314</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="315" href="#315">315</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="316" href="#316">316</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="317" href="#317">317</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="318" href="#318">318</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="319" href="#319">319</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="320" href="#320">320</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="321" href="#321">321</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="322" href="#322">322</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="323" href="#323">323</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="324" href="#324">324</a> <em class="comment"> * </em>
+<a name="325" href="#325">325</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="326" href="#326">326</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/jaxb/package-frame.html b/docs/xref/org/dom4j/jaxb/package-frame.html
new file mode 100644
index 0000000..fe09579
--- /dev/null
+++ b/docs/xref/org/dom4j/jaxb/package-frame.html
@@ -0,0 +1,51 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.jaxb</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.jaxb</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="JAXBModifier.html" target="classFrame">JAXBModifier</a>
+          </li>
+        
+          <li>
+            <a href="JAXBObjectHandler.html" target="classFrame">JAXBObjectHandler</a>
+          </li>
+        
+          <li>
+            <a href="JAXBObjectModifier.html" target="classFrame">JAXBObjectModifier</a>
+          </li>
+        
+          <li>
+            <a href="JAXBReader.html" target="classFrame">JAXBReader</a>
+          </li>
+        
+          <li>
+            <a href="JAXBRuntimeException.html" target="classFrame">JAXBRuntimeException</a>
+          </li>
+        
+          <li>
+            <a href="JAXBSupport.html" target="classFrame">JAXBSupport</a>
+          </li>
+        
+          <li>
+            <a href="JAXBWriter.html" target="classFrame">JAXBWriter</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/jaxb/package-summary.html b/docs/xref/org/dom4j/jaxb/package-summary.html
new file mode 100644
index 0000000..b3344ea
--- /dev/null
+++ b/docs/xref/org/dom4j/jaxb/package-summary.html
@@ -0,0 +1,138 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.jaxb</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="JAXBModifier.html" target="classFrame">JAXBModifier</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="JAXBObjectHandler.html" target="classFrame">JAXBObjectHandler</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="JAXBObjectModifier.html" target="classFrame">JAXBObjectModifier</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="JAXBReader.html" target="classFrame">JAXBReader</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="JAXBRuntimeException.html" target="classFrame">JAXBRuntimeException</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="JAXBSupport.html" target="classFrame">JAXBSupport</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="JAXBWriter.html" target="classFrame">JAXBWriter</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/package-frame.html b/docs/xref/org/dom4j/package-frame.html
new file mode 100644
index 0000000..0c9c908
--- /dev/null
+++ b/docs/xref/org/dom4j/package-frame.html
@@ -0,0 +1,127 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j</title>
+      <link rel="stylesheet" href="../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="Attribute.html" target="classFrame">Attribute</a>
+          </li>
+        
+          <li>
+            <a href="Branch.html" target="classFrame">Branch</a>
+          </li>
+        
+          <li>
+            <a href="CDATA.html" target="classFrame">CDATA</a>
+          </li>
+        
+          <li>
+            <a href="CharacterData.html" target="classFrame">CharacterData</a>
+          </li>
+        
+          <li>
+            <a href="Comment.html" target="classFrame">Comment</a>
+          </li>
+        
+          <li>
+            <a href="Document.html" target="classFrame">Document</a>
+          </li>
+        
+          <li>
+            <a href="DocumentException.html" target="classFrame">DocumentException</a>
+          </li>
+        
+          <li>
+            <a href="DocumentFactory.html" target="classFrame">DocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="DocumentHelper.html" target="classFrame">DocumentHelper</a>
+          </li>
+        
+          <li>
+            <a href="DocumentType.html" target="classFrame">DocumentType</a>
+          </li>
+        
+          <li>
+            <a href="Element.html" target="classFrame">Element</a>
+          </li>
+        
+          <li>
+            <a href="ElementHandler.html" target="classFrame">ElementHandler</a>
+          </li>
+        
+          <li>
+            <a href="ElementPath.html" target="classFrame">ElementPath</a>
+          </li>
+        
+          <li>
+            <a href="Entity.html" target="classFrame">Entity</a>
+          </li>
+        
+          <li>
+            <a href="IllegalAddException.html" target="classFrame">IllegalAddException</a>
+          </li>
+        
+          <li>
+            <a href="InvalidXPathException.html" target="classFrame">InvalidXPathException</a>
+          </li>
+        
+          <li>
+            <a href="Namespace.html" target="classFrame">Namespace</a>
+          </li>
+        
+          <li>
+            <a href="Node.html" target="classFrame">Node</a>
+          </li>
+        
+          <li>
+            <a href="NodeFilter.html" target="classFrame">NodeFilter</a>
+          </li>
+        
+          <li>
+            <a href="ProcessingInstruction.html" target="classFrame">ProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="QName.html" target="classFrame">QName</a>
+          </li>
+        
+          <li>
+            <a href="Text.html" target="classFrame">Text</a>
+          </li>
+        
+          <li>
+            <a href="Visitor.html" target="classFrame">Visitor</a>
+          </li>
+        
+          <li>
+            <a href="VisitorSupport.html" target="classFrame">VisitorSupport</a>
+          </li>
+        
+          <li>
+            <a href="XPath.html" target="classFrame">XPath</a>
+          </li>
+        
+          <li>
+            <a href="XPathException.html" target="classFrame">XPathException</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/package-summary.html b/docs/xref/org/dom4j/package-summary.html
new file mode 100644
index 0000000..4a6fd79
--- /dev/null
+++ b/docs/xref/org/dom4j/package-summary.html
@@ -0,0 +1,252 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="Attribute.html" target="classFrame">Attribute</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Branch.html" target="classFrame">Branch</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="CDATA.html" target="classFrame">CDATA</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="CharacterData.html" target="classFrame">CharacterData</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Comment.html" target="classFrame">Comment</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Document.html" target="classFrame">Document</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocumentException.html" target="classFrame">DocumentException</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocumentFactory.html" target="classFrame">DocumentFactory</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocumentHelper.html" target="classFrame">DocumentHelper</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocumentType.html" target="classFrame">DocumentType</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Element.html" target="classFrame">Element</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementHandler.html" target="classFrame">ElementHandler</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementPath.html" target="classFrame">ElementPath</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Entity.html" target="classFrame">Entity</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="IllegalAddException.html" target="classFrame">IllegalAddException</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="InvalidXPathException.html" target="classFrame">InvalidXPathException</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Namespace.html" target="classFrame">Namespace</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Node.html" target="classFrame">Node</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NodeFilter.html" target="classFrame">NodeFilter</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ProcessingInstruction.html" target="classFrame">ProcessingInstruction</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="QName.html" target="classFrame">QName</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Text.html" target="classFrame">Text</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Visitor.html" target="classFrame">Visitor</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="VisitorSupport.html" target="classFrame">VisitorSupport</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XPath.html" target="classFrame">XPath</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XPathException.html" target="classFrame">XPathException</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/rule/Action.html b/docs/xref/org/dom4j/rule/Action.html
new file mode 100644
index 0000000..8f1f6de
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/Action.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Action xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/rule/Action.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Node;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>Action</code> represents some default action which should occur when</em>
+<a name="15" href="#15">15</a>  <em> * a rule matches a node in the XSLT processing model.</em>
+<a name="16" href="#16">16</a>  <em> * </p></em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>interface</strong> <a href="../../../org/dom4j/rule/Action.html">Action</a> {
+<a name="22" href="#22">22</a>      <strong>void</strong> run(<a href="../../../org/dom4j/Node.html">Node</a> node) throws Exception;
+<a name="23" href="#23">23</a>  }
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>  <em class="comment">/*</em>
+<a name="26" href="#26">26</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="27" href="#27">27</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="28" href="#28">28</a>  <em class="comment"> * following conditions are met:</em>
+<a name="29" href="#29">29</a>  <em class="comment"> * </em>
+<a name="30" href="#30">30</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="32" href="#32">32</a>  <em class="comment"> * </em>
+<a name="33" href="#33">33</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="34" href="#34">34</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="36" href="#36">36</a>  <em class="comment"> * </em>
+<a name="37" href="#37">37</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="40" href="#40">40</a>  <em class="comment"> * </em>
+<a name="41" href="#41">41</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * </em>
+<a name="45" href="#45">45</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="46" href="#46">46</a>  <em class="comment"> * </em>
+<a name="47" href="#47">47</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="60" href="#60">60</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/Mode.html b/docs/xref/org/dom4j/rule/Mode.html
new file mode 100644
index 0000000..aa36ffa
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/Mode.html
@@ -0,0 +1,319 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Mode xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/rule/Mode.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.HashMap;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Map;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Document;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Element;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Node;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>Mode</code> manages a number of RuleSet instances for the mode in a</em>
+<a name="21" href="#21">21</a>  <em> * stylesheet. It is responsible for finding the correct rule for a given DOM4J</em>
+<a name="22" href="#22">22</a>  <em> * Node using the XSLT processing model uses the smallest possible RuleSet to</em>
+<a name="23" href="#23">23</a>  <em> * reduce the number of Rule evaluations.</em>
+<a name="24" href="#24">24</a>  <em> * </p></em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="28" href="#28">28</a>  <em> */</em>
+<a name="29" href="#29">29</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/rule/Mode.html">Mode</a> {
+<a name="30" href="#30">30</a>      <strong>private</strong> <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a>[] ruleSets = <strong>new</strong> <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a>[Pattern.NUMBER_OF_TYPES];
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em>/**<em>* Map of exact (local) element names to RuleSet instances */</em></em>
+<a name="33" href="#33">33</a>      <strong>private</strong> Map elementNameRuleSets;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>* Map of exact (local) attribute names to RuleSet instances */</em></em>
+<a name="36" href="#36">36</a>      <strong>private</strong> Map attributeNameRuleSets;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/Mode.html">Mode</a>() {
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em>/**<em>*</em></em>
+<a name="42" href="#42">42</a>  <em>     * Runs the actions associated with the given node</em>
+<a name="43" href="#43">43</a>  <em>     * </em>
+<a name="44" href="#44">44</a>  <em>     * @param node</em>
+<a name="45" href="#45">45</a>  <em>     *            DOCUMENT ME!</em>
+<a name="46" href="#46">46</a>  <em>     * </em>
+<a name="47" href="#47">47</a>  <em>     * @throws Exception</em>
+<a name="48" href="#48">48</a>  <em>     *             DOCUMENT ME!</em>
+<a name="49" href="#49">49</a>  <em>     */</em>
+<a name="50" href="#50">50</a>      <strong>public</strong> <strong>void</strong> fireRule(<a href="../../../org/dom4j/Node.html">Node</a> node) throws Exception {
+<a name="51" href="#51">51</a>          <strong>if</strong> (node != <strong>null</strong>) {
+<a name="52" href="#52">52</a>              <a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule = getMatchingRule(node);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>              <strong>if</strong> (rule != <strong>null</strong>) {
+<a name="55" href="#55">55</a>                  <a href="../../../org/dom4j/rule/Action.html">Action</a> action = rule.getAction();
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>                  <strong>if</strong> (action != <strong>null</strong>) {
+<a name="58" href="#58">58</a>                      action.run(node);
+<a name="59" href="#59">59</a>                  }
+<a name="60" href="#60">60</a>              }
+<a name="61" href="#61">61</a>          }
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <strong>void</strong> applyTemplates(<a href="../../../org/dom4j/Element.html">Element</a> element) throws Exception {
+<a name="65" href="#65">65</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = element.attributeCount(); i < size; i++) {
+<a name="66" href="#66">66</a>              <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(i);
+<a name="67" href="#67">67</a>              fireRule(attribute);
+<a name="68" href="#68">68</a>          }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = element.nodeCount(); i < size; i++) {
+<a name="71" href="#71">71</a>              <a href="../../../org/dom4j/Node.html">Node</a> node = element.node(i);
+<a name="72" href="#72">72</a>              fireRule(node);
+<a name="73" href="#73">73</a>          }
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> <strong>void</strong> applyTemplates(<a href="../../../org/dom4j/Document.html">Document</a> document) throws Exception {
+<a name="77" href="#77">77</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = document.nodeCount(); i < size; i++) {
+<a name="78" href="#78">78</a>              <a href="../../../org/dom4j/Node.html">Node</a> node = document.node(i);
+<a name="79" href="#79">79</a>              fireRule(node);
+<a name="80" href="#80">80</a>          }
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> <strong>void</strong> addRule(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="84" href="#84">84</a>          <strong>int</strong> matchType = rule.getMatchType();
+<a name="85" href="#85">85</a>          String name = rule.getMatchesNodeName();
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>          <strong>if</strong> (name != <strong>null</strong>) {
+<a name="88" href="#88">88</a>              <strong>if</strong> (matchType == Node.ELEMENT_NODE) {
+<a name="89" href="#89">89</a>                  elementNameRuleSets = addToNameMap(elementNameRuleSets, name,
+<a name="90" href="#90">90</a>                          rule);
+<a name="91" href="#91">91</a>              } <strong>else</strong> <strong>if</strong> (matchType == Node.ATTRIBUTE_NODE) {
+<a name="92" href="#92">92</a>                  attributeNameRuleSets = addToNameMap(attributeNameRuleSets,
+<a name="93" href="#93">93</a>                          name, rule);
+<a name="94" href="#94">94</a>              }
+<a name="95" href="#95">95</a>          }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>          <strong>if</strong> (matchType >= Pattern.NUMBER_OF_TYPES) {
+<a name="98" href="#98">98</a>              matchType = Pattern.ANY_NODE;
+<a name="99" href="#99">99</a>          }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>         <strong>if</strong> (matchType == Pattern.ANY_NODE) {
+<a name="102" href="#102">102</a>             <em class="comment">// add rule to all other RuleSets if they exist</em>
+<a name="103" href="#103">103</a>             <strong>for</strong> (<strong>int</strong> i = 1, size = ruleSets.length; i < size; i++) {
+<a name="104" href="#104">104</a>                 <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> ruleSet = ruleSets[i];
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>                 <strong>if</strong> (ruleSet != <strong>null</strong>) {
+<a name="107" href="#107">107</a>                     ruleSet.addRule(rule);
+<a name="108" href="#108">108</a>                 }
+<a name="109" href="#109">109</a>             }
+<a name="110" href="#110">110</a>         }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         getRuleSet(matchType).addRule(rule);
+<a name="113" href="#113">113</a>     }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <strong>public</strong> <strong>void</strong> removeRule(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="116" href="#116">116</a>         <strong>int</strong> matchType = rule.getMatchType();
+<a name="117" href="#117">117</a>         String name = rule.getMatchesNodeName();
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         <strong>if</strong> (name != <strong>null</strong>) {
+<a name="120" href="#120">120</a>             <strong>if</strong> (matchType == Node.ELEMENT_NODE) {
+<a name="121" href="#121">121</a>                 removeFromNameMap(elementNameRuleSets, name, rule);
+<a name="122" href="#122">122</a>             } <strong>else</strong> <strong>if</strong> (matchType == Node.ATTRIBUTE_NODE) {
+<a name="123" href="#123">123</a>                 removeFromNameMap(attributeNameRuleSets, name, rule);
+<a name="124" href="#124">124</a>             }
+<a name="125" href="#125">125</a>         }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         <strong>if</strong> (matchType >= Pattern.NUMBER_OF_TYPES) {
+<a name="128" href="#128">128</a>             matchType = Pattern.ANY_NODE;
+<a name="129" href="#129">129</a>         }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>         getRuleSet(matchType).removeRule(rule);
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>         <strong>if</strong> (matchType != Pattern.ANY_NODE) {
+<a name="134" href="#134">134</a>             getRuleSet(Pattern.ANY_NODE).removeRule(rule);
+<a name="135" href="#135">135</a>         }
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <em>/**<em>*</em></em>
+<a name="139" href="#139">139</a> <em>     * Performs an XSLT processing model match for the rule which matches the</em>
+<a name="140" href="#140">140</a> <em>     * given Node the best.</em>
+<a name="141" href="#141">141</a> <em>     * </em>
+<a name="142" href="#142">142</a> <em>     * @param node</em>
+<a name="143" href="#143">143</a> <em>     *            is the DOM4J Node to match against</em>
+<a name="144" href="#144">144</a> <em>     * </em>
+<a name="145" href="#145">145</a> <em>     * @return the matching Rule or no rule if none matched</em>
+<a name="146" href="#146">146</a> <em>     */</em>
+<a name="147" href="#147">147</a>     <strong>public</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a> getMatchingRule(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="148" href="#148">148</a>         <strong>int</strong> matchType = node.getNodeType();
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         <strong>if</strong> (matchType == Node.ELEMENT_NODE) {
+<a name="151" href="#151">151</a>             <strong>if</strong> (elementNameRuleSets != <strong>null</strong>) {
+<a name="152" href="#152">152</a>                 String name = node.getName();
+<a name="153" href="#153">153</a>                 <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> ruleSet = (RuleSet) elementNameRuleSets.get(name);
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>                 <strong>if</strong> (ruleSet != <strong>null</strong>) {
+<a name="156" href="#156">156</a>                     <a href="../../../org/dom4j/rule/Rule.html">Rule</a> answer = ruleSet.getMatchingRule(node);
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>                     <strong>if</strong> (answer != <strong>null</strong>) {
+<a name="159" href="#159">159</a>                         <strong>return</strong> answer;
+<a name="160" href="#160">160</a>                     }
+<a name="161" href="#161">161</a>                 }
+<a name="162" href="#162">162</a>             }
+<a name="163" href="#163">163</a>         } <strong>else</strong> <strong>if</strong> (matchType == Node.ATTRIBUTE_NODE) {
+<a name="164" href="#164">164</a>             <strong>if</strong> (attributeNameRuleSets != <strong>null</strong>) {
+<a name="165" href="#165">165</a>                 String name = node.getName();
+<a name="166" href="#166">166</a>                 <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> ruleSet = (RuleSet) attributeNameRuleSets.get(name);
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>                 <strong>if</strong> (ruleSet != <strong>null</strong>) {
+<a name="169" href="#169">169</a>                     <a href="../../../org/dom4j/rule/Rule.html">Rule</a> answer = ruleSet.getMatchingRule(node);
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>                     <strong>if</strong> (answer != <strong>null</strong>) {
+<a name="172" href="#172">172</a>                         <strong>return</strong> answer;
+<a name="173" href="#173">173</a>                     }
+<a name="174" href="#174">174</a>                 }
+<a name="175" href="#175">175</a>             }
+<a name="176" href="#176">176</a>         }
+<a name="177" href="#177">177</a> 
+<a name="178" href="#178">178</a>         <strong>if</strong> ((matchType < 0) || (matchType >= ruleSets.length)) {
+<a name="179" href="#179">179</a>             matchType = Pattern.ANY_NODE;
+<a name="180" href="#180">180</a>         }
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>         <a href="../../../org/dom4j/rule/Rule.html">Rule</a> answer = <strong>null</strong>;
+<a name="183" href="#183">183</a>         <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> ruleSet = ruleSets[matchType];
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>         <strong>if</strong> (ruleSet != <strong>null</strong>) {
+<a name="186" href="#186">186</a>             <em class="comment">// try rules that match this kind of node first</em>
+<a name="187" href="#187">187</a>             answer = ruleSet.getMatchingRule(node);
+<a name="188" href="#188">188</a>         }
+<a name="189" href="#189">189</a> 
+<a name="190" href="#190">190</a>         <strong>if</strong> ((answer == <strong>null</strong>) && (matchType != Pattern.ANY_NODE)) {
+<a name="191" href="#191">191</a>             <em class="comment">// try general rules that match any kind of node</em>
+<a name="192" href="#192">192</a>             ruleSet = ruleSets[Pattern.ANY_NODE];
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>             <strong>if</strong> (ruleSet != <strong>null</strong>) {
+<a name="195" href="#195">195</a>                 answer = ruleSet.getMatchingRule(node);
+<a name="196" href="#196">196</a>             }
+<a name="197" href="#197">197</a>         }
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a>         <strong>return</strong> answer;
+<a name="200" href="#200">200</a>     }
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>     <em>/**<em>*</em></em>
+<a name="203" href="#203">203</a> <em>     * DOCUMENT ME!</em>
+<a name="204" href="#204">204</a> <em>     * </em>
+<a name="205" href="#205">205</a> <em>     * @param matchType</em>
+<a name="206" href="#206">206</a> <em>     *            DOCUMENT ME!</em>
+<a name="207" href="#207">207</a> <em>     * </em>
+<a name="208" href="#208">208</a> <em>     * @return the RuleSet for the given matching type. This method will never</em>
+<a name="209" href="#209">209</a> <em>     *         return null, a new instance will be created.</em>
+<a name="210" href="#210">210</a> <em>     */</em>
+<a name="211" href="#211">211</a>     <strong>protected</strong> <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> getRuleSet(<strong>int</strong> matchType) {
+<a name="212" href="#212">212</a>         <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> ruleSet = ruleSets[matchType];
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>         <strong>if</strong> (ruleSet == <strong>null</strong>) {
+<a name="215" href="#215">215</a>             ruleSet = <strong>new</strong> <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a>();
+<a name="216" href="#216">216</a>             ruleSets[matchType] = ruleSet;
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>             <em class="comment">// add the patterns that match any node</em>
+<a name="219" href="#219">219</a>             <strong>if</strong> (matchType != Pattern.ANY_NODE) {
+<a name="220" href="#220">220</a>                 <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> allRules = ruleSets[Pattern.ANY_NODE];
+<a name="221" href="#221">221</a> 
+<a name="222" href="#222">222</a>                 <strong>if</strong> (allRules != <strong>null</strong>) {
+<a name="223" href="#223">223</a>                     ruleSet.addAll(allRules);
+<a name="224" href="#224">224</a>                 }
+<a name="225" href="#225">225</a>             }
+<a name="226" href="#226">226</a>         }
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>         <strong>return</strong> ruleSet;
+<a name="229" href="#229">229</a>     }
+<a name="230" href="#230">230</a> 
+<a name="231" href="#231">231</a>     <em>/**<em>*</em></em>
+<a name="232" href="#232">232</a> <em>     * Adds the Rule to a RuleSet for the given name.</em>
+<a name="233" href="#233">233</a> <em>     * </em>
+<a name="234" href="#234">234</a> <em>     * @param map</em>
+<a name="235" href="#235">235</a> <em>     *            DOCUMENT ME!</em>
+<a name="236" href="#236">236</a> <em>     * @param name</em>
+<a name="237" href="#237">237</a> <em>     *            DOCUMENT ME!</em>
+<a name="238" href="#238">238</a> <em>     * @param rule</em>
+<a name="239" href="#239">239</a> <em>     *            DOCUMENT ME!</em>
+<a name="240" href="#240">240</a> <em>     * </em>
+<a name="241" href="#241">241</a> <em>     * @return the Map (which will be created if the given map was null</em>
+<a name="242" href="#242">242</a> <em>     */</em>
+<a name="243" href="#243">243</a>     <strong>protected</strong> Map addToNameMap(Map map, String name, <a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="244" href="#244">244</a>         <strong>if</strong> (map == <strong>null</strong>) {
+<a name="245" href="#245">245</a>             map = <strong>new</strong> HashMap();
+<a name="246" href="#246">246</a>         }
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>         <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> ruleSet = (RuleSet) map.get(name);
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>         <strong>if</strong> (ruleSet == <strong>null</strong>) {
+<a name="251" href="#251">251</a>             ruleSet = <strong>new</strong> <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a>();
+<a name="252" href="#252">252</a>             map.put(name, ruleSet);
+<a name="253" href="#253">253</a>         }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>         ruleSet.addRule(rule);
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>         <strong>return</strong> map;
+<a name="258" href="#258">258</a>     }
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>     <strong>protected</strong> <strong>void</strong> removeFromNameMap(Map map, String name, <a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="261" href="#261">261</a>         <strong>if</strong> (map != <strong>null</strong>) {
+<a name="262" href="#262">262</a>             <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> ruleSet = (RuleSet) map.get(name);
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>             <strong>if</strong> (ruleSet != <strong>null</strong>) {
+<a name="265" href="#265">265</a>                 ruleSet.removeRule(rule);
+<a name="266" href="#266">266</a>             }
+<a name="267" href="#267">267</a>         }
+<a name="268" href="#268">268</a>     }
+<a name="269" href="#269">269</a> }
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a> <em class="comment">/*</em>
+<a name="272" href="#272">272</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="273" href="#273">273</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="274" href="#274">274</a> <em class="comment"> * following conditions are met:</em>
+<a name="275" href="#275">275</a> <em class="comment"> * </em>
+<a name="276" href="#276">276</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="277" href="#277">277</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="278" href="#278">278</a> <em class="comment"> * </em>
+<a name="279" href="#279">279</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="280" href="#280">280</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="281" href="#281">281</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="282" href="#282">282</a> <em class="comment"> * </em>
+<a name="283" href="#283">283</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="284" href="#284">284</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="285" href="#285">285</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="286" href="#286">286</a> <em class="comment"> * </em>
+<a name="287" href="#287">287</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="288" href="#288">288</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="289" href="#289">289</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="290" href="#290">290</a> <em class="comment"> * </em>
+<a name="291" href="#291">291</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="292" href="#292">292</a> <em class="comment"> * </em>
+<a name="293" href="#293">293</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="294" href="#294">294</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="295" href="#295">295</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="296" href="#296">296</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="297" href="#297">297</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="298" href="#298">298</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="299" href="#299">299</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="300" href="#300">300</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="301" href="#301">301</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="302" href="#302">302</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="303" href="#303">303</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="304" href="#304">304</a> <em class="comment"> * </em>
+<a name="305" href="#305">305</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="306" href="#306">306</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/NullAction.html b/docs/xref/org/dom4j/rule/NullAction.html
new file mode 100644
index 0000000..8161e81
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/NullAction.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NullAction xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/rule/NullAction.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Node;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>NullAction</code> represents an empty action that does nothing.</em>
+<a name="15" href="#15">15</a>  <em> * </p></em>
+<a name="16" href="#16">16</a>  <em> * </em>
+<a name="17" href="#17">17</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="18" href="#18">18</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="19" href="#19">19</a>  <em> */</em>
+<a name="20" href="#20">20</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/rule/NullAction.html">NullAction</a> implements <a href="../../../org/dom4j/rule/Action.html">Action</a> {
+<a name="21" href="#21">21</a>      <em>/**<em>* Singleton instance */</em></em>
+<a name="22" href="#22">22</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/rule/NullAction.html">NullAction</a> SINGLETON = <strong>new</strong> <a href="../../../org/dom4j/rule/NullAction.html">NullAction</a>();
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>void</strong> run(<a href="../../../org/dom4j/Node.html">Node</a> node) throws Exception {
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  }
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>  <em class="comment">/*</em>
+<a name="29" href="#29">29</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="30" href="#30">30</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="31" href="#31">31</a>  <em class="comment"> * following conditions are met:</em>
+<a name="32" href="#32">32</a>  <em class="comment"> * </em>
+<a name="33" href="#33">33</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="34" href="#34">34</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="35" href="#35">35</a>  <em class="comment"> * </em>
+<a name="36" href="#36">36</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="37" href="#37">37</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="38" href="#38">38</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="39" href="#39">39</a>  <em class="comment"> * </em>
+<a name="40" href="#40">40</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="41" href="#41">41</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * </em>
+<a name="44" href="#44">44</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * </em>
+<a name="48" href="#48">48</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="49" href="#49">49</a>  <em class="comment"> * </em>
+<a name="50" href="#50">50</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/Pattern.html b/docs/xref/org/dom4j/rule/Pattern.html
new file mode 100644
index 0000000..7a57984
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/Pattern.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Pattern xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/rule/Pattern.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Node;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.NodeFilter;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>Pattern</code> defines the behaviour for pattern in the XSLT</em>
+<a name="16" href="#16">16</a>  <em> * processing model.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>interface</strong> <a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> <strong>extends</strong> <a href="../../../org/dom4j/NodeFilter.html">NodeFilter</a> {
+<a name="23" href="#23">23</a>      <em class="comment">// These node numbers are compatable with DOM4J's Node types</em>
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <em>/**<em>* Matches any node */</em></em>
+<a name="26" href="#26">26</a>      <strong>short</strong> ANY_NODE = 0;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em>/**<em>* Matches no nodes */</em></em>
+<a name="29" href="#29">29</a>      <strong>short</strong> NONE = 9999;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>* Count of the number of node types */</em></em>
+<a name="32" href="#32">32</a>      <strong>short</strong> NUMBER_OF_TYPES = Node.UNKNOWN_NODE;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em>/**<em>*</em></em>
+<a name="35" href="#35">35</a>  <em>     * According to the <a href="<a href="http://www.w3.org/TR/xslt11/" target="alexandria_uri">http://www.w3.org/TR/xslt11/</a>#conflict">spec</em>
+<a name="36" href="#36">36</a>  <em>     * </a> we should return 0.5 if we cannot determine the priority</em>
+<a name="37" href="#37">37</a>  <em>     */</em>
+<a name="38" href="#38">38</a>      <strong>double</strong> DEFAULT_PRIORITY = 0.5;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * DOCUMENT ME!</em>
+<a name="42" href="#42">42</a>  <em>     * </em>
+<a name="43" href="#43">43</a>  <em>     * @param node</em>
+<a name="44" href="#44">44</a>  <em>     *            DOCUMENT ME!</em>
+<a name="45" href="#45">45</a>  <em>     * </em>
+<a name="46" href="#46">46</a>  <em>     * @return true if the pattern matches the given DOM4J node.</em>
+<a name="47" href="#47">47</a>  <em>     */</em>
+<a name="48" href="#48">48</a>      <strong>boolean</strong> matches(<a href="../../../org/dom4j/Node.html">Node</a> node);
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
+<a name="51" href="#51">51</a>  <em>     * Returns the default resolution policy of the pattern according to the <a</em>
+<a name="52" href="#52">52</a>  <em>     * href="<a href="http://www.w3.org/TR/xslt11/" target="alexandria_uri">http://www.w3.org/TR/xslt11/</a>#conflict"> XSLT conflict resolution</em>
+<a name="53" href="#53">53</a>  <em>     * spec </a>.</em>
+<a name="54" href="#54">54</a>  <em>     * </em>
+<a name="55" href="#55">55</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="56" href="#56">56</a>  <em>     */</em>
+<a name="57" href="#57">57</a>      <strong>double</strong> getPriority();
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <em>/**<em>*</em></em>
+<a name="60" href="#60">60</a>  <em>     * If this pattern is a union pattern then this method should return an</em>
+<a name="61" href="#61">61</a>  <em>     * array of patterns which describe the union pattern, which should contain</em>
+<a name="62" href="#62">62</a>  <em>     * more than one pattern. Otherwise this method should return null.</em>
+<a name="63" href="#63">63</a>  <em>     * </em>
+<a name="64" href="#64">64</a>  <em>     * @return an array of the patterns which make up this union pattern or null</em>
+<a name="65" href="#65">65</a>  <em>     *         if this pattern is not a union pattern</em>
+<a name="66" href="#66">66</a>  <em>     */</em>
+<a name="67" href="#67">67</a>      <a href="../../../org/dom4j/rule/Pattern.html">Pattern</a>[] getUnionPatterns();
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <em>/**<em>*</em></em>
+<a name="70" href="#70">70</a>  <em>     * DOCUMENT ME!</em>
+<a name="71" href="#71">71</a>  <em>     * </em>
+<a name="72" href="#72">72</a>  <em>     * @return the type of node the pattern matches which by default should</em>
+<a name="73" href="#73">73</a>  <em>     *         return ANY_NODE if it can match any kind of node.</em>
+<a name="74" href="#74">74</a>  <em>     */</em>
+<a name="75" href="#75">75</a>      <strong>short</strong> getMatchType();
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <em>/**<em>*</em></em>
+<a name="78" href="#78">78</a>  <em>     * For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then</em>
+<a name="79" href="#79">79</a>  <em>     * this pattern may return the name of the element or attribute it matches.</em>
+<a name="80" href="#80">80</a>  <em>     * This allows a more efficient rule matching algorithm to be performed,</em>
+<a name="81" href="#81">81</a>  <em>     * rather than a brute force approach of evaluating every pattern for a</em>
+<a name="82" href="#82">82</a>  <em>     * given Node.</em>
+<a name="83" href="#83">83</a>  <em>     * </em>
+<a name="84" href="#84">84</a>  <em>     * @return the name of the element or attribute this pattern matches or null</em>
+<a name="85" href="#85">85</a>  <em>     *         if this pattern matches any or more than one name.</em>
+<a name="86" href="#86">86</a>  <em>     */</em>
+<a name="87" href="#87">87</a>      String getMatchesNodeName();
+<a name="88" href="#88">88</a>  }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>  <em class="comment">/*</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * following conditions are met:</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * </em>
+<a name="95" href="#95">95</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="100" href="#100">100</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="103" href="#103">103</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="104" href="#104">104</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="105" href="#105">105</a> <em class="comment"> * </em>
+<a name="106" href="#106">106</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="107" href="#107">107</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="108" href="#108">108</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="111" href="#111">111</a> <em class="comment"> * </em>
+<a name="112" href="#112">112</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="113" href="#113">113</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="114" href="#114">114</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="115" href="#115">115</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="116" href="#116">116</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="117" href="#117">117</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="118" href="#118">118</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="119" href="#119">119</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="120" href="#120">120</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="121" href="#121">121</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="122" href="#122">122</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="123" href="#123">123</a> <em class="comment"> * </em>
+<a name="124" href="#124">124</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="125" href="#125">125</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/Rule.html b/docs/xref/org/dom4j/rule/Rule.html
new file mode 100644
index 0000000..09bff0f
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/Rule.html
@@ -0,0 +1,344 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Rule xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/rule/Rule.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Node;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>Rule</code> matches against DOM4J Node so that some action can be</em>
+<a name="15" href="#15">15</a>  <em> * performed such as in the XSLT processing model.</em>
+<a name="16" href="#16">16</a>  <em> * </p></em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a> implements Comparable {
+<a name="22" href="#22">22</a>      <em>/**<em>* Holds value of property mode. */</em></em>
+<a name="23" href="#23">23</a>      <strong>private</strong> String mode;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <em>/**<em>* Holds value of property importPrecedence. */</em></em>
+<a name="26" href="#26">26</a>      <strong>private</strong> <strong>int</strong> importPrecedence;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em>/**<em>* Holds value of property priority. */</em></em>
+<a name="29" href="#29">29</a>      <strong>private</strong> <strong>double</strong> priority;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>* Holds value of property appearenceCount. */</em></em>
+<a name="32" href="#32">32</a>      <strong>private</strong> <strong>int</strong> appearenceCount;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em>/**<em>* Holds value of property pattern. */</em></em>
+<a name="35" href="#35">35</a>      <strong>private</strong> <a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> pattern;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>* Holds value of property action. */</em></em>
+<a name="38" href="#38">38</a>      <strong>private</strong> <a href="../../../org/dom4j/rule/Action.html">Action</a> action;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>() {
+<a name="41" href="#41">41</a>          <strong>this</strong>.priority = Pattern.DEFAULT_PRIORITY;
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>(<a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> pattern) {
+<a name="45" href="#45">45</a>          <strong>this</strong>.pattern = pattern;
+<a name="46" href="#46">46</a>          <strong>this</strong>.priority = pattern.getPriority();
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>(<a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> pattern, <a href="../../../org/dom4j/rule/Action.html">Action</a> action) {
+<a name="50" href="#50">50</a>          <strong>this</strong>(pattern);
+<a name="51" href="#51">51</a>          <strong>this</strong>.action = action;
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <em>/**<em>*</em></em>
+<a name="55" href="#55">55</a>  <em>     * Constructs a new Rule with the same instance data as the given rule but a</em>
+<a name="56" href="#56">56</a>  <em>     * different pattern.</em>
+<a name="57" href="#57">57</a>  <em>     * </em>
+<a name="58" href="#58">58</a>  <em>     * @param that</em>
+<a name="59" href="#59">59</a>  <em>     *            DOCUMENT ME!</em>
+<a name="60" href="#60">60</a>  <em>     * @param pattern</em>
+<a name="61" href="#61">61</a>  <em>     *            DOCUMENT ME!</em>
+<a name="62" href="#62">62</a>  <em>     */</em>
+<a name="63" href="#63">63</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> that, <a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> pattern) {
+<a name="64" href="#64">64</a>          <strong>this</strong>.mode = that.mode;
+<a name="65" href="#65">65</a>          <strong>this</strong>.importPrecedence = that.importPrecedence;
+<a name="66" href="#66">66</a>          <strong>this</strong>.priority = that.priority;
+<a name="67" href="#67">67</a>          <strong>this</strong>.appearenceCount = that.appearenceCount;
+<a name="68" href="#68">68</a>          <strong>this</strong>.action = that.action;
+<a name="69" href="#69">69</a>          <strong>this</strong>.pattern = pattern;
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> <strong>boolean</strong> equals(Object that) {
+<a name="73" href="#73">73</a>          <strong>if</strong> (that instanceof Rule) {
+<a name="74" href="#74">74</a>              <strong>return</strong> compareTo((Rule) that) == 0;
+<a name="75" href="#75">75</a>          }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>          <strong>return</strong> false;
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <strong>public</strong> <strong>int</strong> hashCode() {
+<a name="81" href="#81">81</a>          <strong>return</strong> importPrecedence + appearenceCount;
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>public</strong> <strong>int</strong> compareTo(Object that) {
+<a name="85" href="#85">85</a>          <strong>if</strong> (that instanceof Rule) {
+<a name="86" href="#86">86</a>              <strong>return</strong> compareTo((Rule) that);
+<a name="87" href="#87">87</a>          }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          <strong>return</strong> getClass().getName().compareTo(that.getClass().getName());
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <em>/**<em>*</em></em>
+<a name="93" href="#93">93</a>  <em>     * Compares two rules in XSLT processing model order assuming that the modes</em>
+<a name="94" href="#94">94</a>  <em>     * are equal.</em>
+<a name="95" href="#95">95</a>  <em>     * </em>
+<a name="96" href="#96">96</a>  <em>     * @param that</em>
+<a name="97" href="#97">97</a>  <em>     *            DOCUMENT ME!</em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="100" href="#100">100</a> <em>     */</em>
+<a name="101" href="#101">101</a>     <strong>public</strong> <strong>int</strong> compareTo(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> that) {
+<a name="102" href="#102">102</a>         <strong>int</strong> answer = <strong>this</strong>.importPrecedence - that.importPrecedence;
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>         <strong>if</strong> (answer == 0) {
+<a name="105" href="#105">105</a>             answer = (<strong>int</strong>) Math.round(<strong>this</strong>.priority - that.priority);
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>             <strong>if</strong> (answer == 0) {
+<a name="108" href="#108">108</a>                 answer = <strong>this</strong>.appearenceCount - that.appearenceCount;
+<a name="109" href="#109">109</a>             }
+<a name="110" href="#110">110</a>         }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         <strong>return</strong> answer;
+<a name="113" href="#113">113</a>     }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <strong>public</strong> String toString() {
+<a name="116" href="#116">116</a>         <strong>return</strong> <strong>super</strong>.toString() + <span class="string">"[ pattern: "</span> + getPattern() + <span class="string">" action: "</span>
+<a name="117" href="#117">117</a>                 + getAction() + <span class="string">" ]"</span>;
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <em>/**<em>*</em></em>
+<a name="121" href="#121">121</a> <em>     * DOCUMENT ME!</em>
+<a name="122" href="#122">122</a> <em>     * </em>
+<a name="123" href="#123">123</a> <em>     * @param node</em>
+<a name="124" href="#124">124</a> <em>     *            DOCUMENT ME!</em>
+<a name="125" href="#125">125</a> <em>     * </em>
+<a name="126" href="#126">126</a> <em>     * @return true if the pattern matches the given DOM4J node.</em>
+<a name="127" href="#127">127</a> <em>     */</em>
+<a name="128" href="#128">128</a>     <strong>public</strong> <strong>final</strong> <strong>boolean</strong> matches(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="129" href="#129">129</a>         <strong>return</strong> pattern.matches(node);
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <em>/**<em>*</em></em>
+<a name="133" href="#133">133</a> <em>     * If this rule contains a union pattern then this method should return an</em>
+<a name="134" href="#134">134</a> <em>     * array of Rules which describe the union rule, which should contain more</em>
+<a name="135" href="#135">135</a> <em>     * than one rule. Otherwise this method should return null.</em>
+<a name="136" href="#136">136</a> <em>     * </em>
+<a name="137" href="#137">137</a> <em>     * @return an array of the rules which make up this union rule or null if</em>
+<a name="138" href="#138">138</a> <em>     *         this rule is not a union rule</em>
+<a name="139" href="#139">139</a> <em>     */</em>
+<a name="140" href="#140">140</a>     <strong>public</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>[] getUnionRules() {
+<a name="141" href="#141">141</a>         <a href="../../../org/dom4j/rule/Pattern.html">Pattern</a>[] patterns = pattern.getUnionPatterns();
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         <strong>if</strong> (patterns == <strong>null</strong>) {
+<a name="144" href="#144">144</a>             <strong>return</strong> <strong>null</strong>;
+<a name="145" href="#145">145</a>         }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>         <strong>int</strong> size = patterns.length;
+<a name="148" href="#148">148</a>         <a href="../../../org/dom4j/rule/Rule.html">Rule</a>[] answer = <strong>new</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>[size];
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="151" href="#151">151</a>             answer[i] = <strong>new</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>(<strong>this</strong>, patterns[i]);
+<a name="152" href="#152">152</a>         }
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>         <strong>return</strong> answer;
+<a name="155" href="#155">155</a>     }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>     <em>/**<em>*</em></em>
+<a name="158" href="#158">158</a> <em>     * DOCUMENT ME!</em>
+<a name="159" href="#159">159</a> <em>     * </em>
+<a name="160" href="#160">160</a> <em>     * @return the type of node the pattern matches which by default should</em>
+<a name="161" href="#161">161</a> <em>     *         return ANY_NODE if it can match any kind of node.</em>
+<a name="162" href="#162">162</a> <em>     */</em>
+<a name="163" href="#163">163</a>     <strong>public</strong> <strong>final</strong> <strong>short</strong> getMatchType() {
+<a name="164" href="#164">164</a>         <strong>return</strong> pattern.getMatchType();
+<a name="165" href="#165">165</a>     }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>     <em>/**<em>*</em></em>
+<a name="168" href="#168">168</a> <em>     * For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then</em>
+<a name="169" href="#169">169</a> <em>     * this pattern may return the name of the element or attribute it matches.</em>
+<a name="170" href="#170">170</a> <em>     * This allows a more efficient rule matching algorithm to be performed,</em>
+<a name="171" href="#171">171</a> <em>     * rather than a brute force approach of evaluating every pattern for a</em>
+<a name="172" href="#172">172</a> <em>     * given Node.</em>
+<a name="173" href="#173">173</a> <em>     * </em>
+<a name="174" href="#174">174</a> <em>     * @return the name of the element or attribute this pattern matches or null</em>
+<a name="175" href="#175">175</a> <em>     *         if this pattern matches any or more than one name.</em>
+<a name="176" href="#176">176</a> <em>     */</em>
+<a name="177" href="#177">177</a>     <strong>public</strong> <strong>final</strong> String getMatchesNodeName() {
+<a name="178" href="#178">178</a>         <strong>return</strong> pattern.getMatchesNodeName();
+<a name="179" href="#179">179</a>     }
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>     <em>/**<em>*</em></em>
+<a name="182" href="#182">182</a> <em>     * Getter for property mode.</em>
+<a name="183" href="#183">183</a> <em>     * </em>
+<a name="184" href="#184">184</a> <em>     * @return Value of property mode.</em>
+<a name="185" href="#185">185</a> <em>     */</em>
+<a name="186" href="#186">186</a>     <strong>public</strong> String getMode() {
+<a name="187" href="#187">187</a>         <strong>return</strong> mode;
+<a name="188" href="#188">188</a>     }
+<a name="189" href="#189">189</a> 
+<a name="190" href="#190">190</a>     <em>/**<em>*</em></em>
+<a name="191" href="#191">191</a> <em>     * Setter for property mode.</em>
+<a name="192" href="#192">192</a> <em>     * </em>
+<a name="193" href="#193">193</a> <em>     * @param mode</em>
+<a name="194" href="#194">194</a> <em>     *            New value of property mode.</em>
+<a name="195" href="#195">195</a> <em>     */</em>
+<a name="196" href="#196">196</a>     <strong>public</strong> <strong>void</strong> setMode(String mode) {
+<a name="197" href="#197">197</a>         <strong>this</strong>.mode = mode;
+<a name="198" href="#198">198</a>     }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>     <em>/**<em>*</em></em>
+<a name="201" href="#201">201</a> <em>     * Getter for property importPrecedence.</em>
+<a name="202" href="#202">202</a> <em>     * </em>
+<a name="203" href="#203">203</a> <em>     * @return Value of property importPrecedence.</em>
+<a name="204" href="#204">204</a> <em>     */</em>
+<a name="205" href="#205">205</a>     <strong>public</strong> <strong>int</strong> getImportPrecedence() {
+<a name="206" href="#206">206</a>         <strong>return</strong> importPrecedence;
+<a name="207" href="#207">207</a>     }
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>     <em>/**<em>*</em></em>
+<a name="210" href="#210">210</a> <em>     * Setter for property importPrecedence.</em>
+<a name="211" href="#211">211</a> <em>     * </em>
+<a name="212" href="#212">212</a> <em>     * @param importPrecedence</em>
+<a name="213" href="#213">213</a> <em>     *            New value of property importPrecedence.</em>
+<a name="214" href="#214">214</a> <em>     */</em>
+<a name="215" href="#215">215</a>     <strong>public</strong> <strong>void</strong> setImportPrecedence(<strong>int</strong> importPrecedence) {
+<a name="216" href="#216">216</a>         <strong>this</strong>.importPrecedence = importPrecedence;
+<a name="217" href="#217">217</a>     }
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>     <em>/**<em>*</em></em>
+<a name="220" href="#220">220</a> <em>     * Getter for property priority.</em>
+<a name="221" href="#221">221</a> <em>     * </em>
+<a name="222" href="#222">222</a> <em>     * @return Value of property priority.</em>
+<a name="223" href="#223">223</a> <em>     */</em>
+<a name="224" href="#224">224</a>     <strong>public</strong> <strong>double</strong> getPriority() {
+<a name="225" href="#225">225</a>         <strong>return</strong> priority;
+<a name="226" href="#226">226</a>     }
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>     <em>/**<em>*</em></em>
+<a name="229" href="#229">229</a> <em>     * Setter for property priority.</em>
+<a name="230" href="#230">230</a> <em>     * </em>
+<a name="231" href="#231">231</a> <em>     * @param priority</em>
+<a name="232" href="#232">232</a> <em>     *            New value of property priority.</em>
+<a name="233" href="#233">233</a> <em>     */</em>
+<a name="234" href="#234">234</a>     <strong>public</strong> <strong>void</strong> setPriority(<strong>double</strong> priority) {
+<a name="235" href="#235">235</a>         <strong>this</strong>.priority = priority;
+<a name="236" href="#236">236</a>     }
+<a name="237" href="#237">237</a> 
+<a name="238" href="#238">238</a>     <em>/**<em>*</em></em>
+<a name="239" href="#239">239</a> <em>     * Getter for property appearenceCount.</em>
+<a name="240" href="#240">240</a> <em>     * </em>
+<a name="241" href="#241">241</a> <em>     * @return Value of property appearenceCount.</em>
+<a name="242" href="#242">242</a> <em>     */</em>
+<a name="243" href="#243">243</a>     <strong>public</strong> <strong>int</strong> getAppearenceCount() {
+<a name="244" href="#244">244</a>         <strong>return</strong> appearenceCount;
+<a name="245" href="#245">245</a>     }
+<a name="246" href="#246">246</a> 
+<a name="247" href="#247">247</a>     <em>/**<em>*</em></em>
+<a name="248" href="#248">248</a> <em>     * Setter for property appearenceCount.</em>
+<a name="249" href="#249">249</a> <em>     * </em>
+<a name="250" href="#250">250</a> <em>     * @param appearenceCount</em>
+<a name="251" href="#251">251</a> <em>     *            New value of property appearenceCount.</em>
+<a name="252" href="#252">252</a> <em>     */</em>
+<a name="253" href="#253">253</a>     <strong>public</strong> <strong>void</strong> setAppearenceCount(<strong>int</strong> appearenceCount) {
+<a name="254" href="#254">254</a>         <strong>this</strong>.appearenceCount = appearenceCount;
+<a name="255" href="#255">255</a>     }
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>     <em>/**<em>*</em></em>
+<a name="258" href="#258">258</a> <em>     * Getter for property pattern.</em>
+<a name="259" href="#259">259</a> <em>     * </em>
+<a name="260" href="#260">260</a> <em>     * @return Value of property pattern.</em>
+<a name="261" href="#261">261</a> <em>     */</em>
+<a name="262" href="#262">262</a>     <strong>public</strong> <a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> getPattern() {
+<a name="263" href="#263">263</a>         <strong>return</strong> pattern;
+<a name="264" href="#264">264</a>     }
+<a name="265" href="#265">265</a> 
+<a name="266" href="#266">266</a>     <em>/**<em>*</em></em>
+<a name="267" href="#267">267</a> <em>     * Setter for property pattern.</em>
+<a name="268" href="#268">268</a> <em>     * </em>
+<a name="269" href="#269">269</a> <em>     * @param pattern</em>
+<a name="270" href="#270">270</a> <em>     *            New value of property pattern.</em>
+<a name="271" href="#271">271</a> <em>     */</em>
+<a name="272" href="#272">272</a>     <strong>public</strong> <strong>void</strong> setPattern(<a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> pattern) {
+<a name="273" href="#273">273</a>         <strong>this</strong>.pattern = pattern;
+<a name="274" href="#274">274</a>     }
+<a name="275" href="#275">275</a> 
+<a name="276" href="#276">276</a>     <em>/**<em>*</em></em>
+<a name="277" href="#277">277</a> <em>     * Getter for property action.</em>
+<a name="278" href="#278">278</a> <em>     * </em>
+<a name="279" href="#279">279</a> <em>     * @return Value of property action.</em>
+<a name="280" href="#280">280</a> <em>     */</em>
+<a name="281" href="#281">281</a>     <strong>public</strong> <a href="../../../org/dom4j/rule/Action.html">Action</a> getAction() {
+<a name="282" href="#282">282</a>         <strong>return</strong> action;
+<a name="283" href="#283">283</a>     }
+<a name="284" href="#284">284</a> 
+<a name="285" href="#285">285</a>     <em>/**<em>*</em></em>
+<a name="286" href="#286">286</a> <em>     * Setter for property action.</em>
+<a name="287" href="#287">287</a> <em>     * </em>
+<a name="288" href="#288">288</a> <em>     * @param action</em>
+<a name="289" href="#289">289</a> <em>     *            New value of property action.</em>
+<a name="290" href="#290">290</a> <em>     */</em>
+<a name="291" href="#291">291</a>     <strong>public</strong> <strong>void</strong> setAction(<a href="../../../org/dom4j/rule/Action.html">Action</a> action) {
+<a name="292" href="#292">292</a>         <strong>this</strong>.action = action;
+<a name="293" href="#293">293</a>     }
+<a name="294" href="#294">294</a> }
+<a name="295" href="#295">295</a> 
+<a name="296" href="#296">296</a> <em class="comment">/*</em>
+<a name="297" href="#297">297</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="298" href="#298">298</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="299" href="#299">299</a> <em class="comment"> * following conditions are met:</em>
+<a name="300" href="#300">300</a> <em class="comment"> * </em>
+<a name="301" href="#301">301</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="302" href="#302">302</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="303" href="#303">303</a> <em class="comment"> * </em>
+<a name="304" href="#304">304</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="305" href="#305">305</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="306" href="#306">306</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="307" href="#307">307</a> <em class="comment"> * </em>
+<a name="308" href="#308">308</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="309" href="#309">309</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="310" href="#310">310</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="311" href="#311">311</a> <em class="comment"> * </em>
+<a name="312" href="#312">312</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="313" href="#313">313</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="314" href="#314">314</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="315" href="#315">315</a> <em class="comment"> * </em>
+<a name="316" href="#316">316</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="317" href="#317">317</a> <em class="comment"> * </em>
+<a name="318" href="#318">318</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="319" href="#319">319</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="320" href="#320">320</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="321" href="#321">321</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="322" href="#322">322</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="323" href="#323">323</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="324" href="#324">324</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="325" href="#325">325</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="326" href="#326">326</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="327" href="#327">327</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="328" href="#328">328</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="329" href="#329">329</a> <em class="comment"> * </em>
+<a name="330" href="#330">330</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="331" href="#331">331</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/RuleManager.html b/docs/xref/org/dom4j/rule/RuleManager.html
new file mode 100644
index 0000000..ff1987f
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/RuleManager.html
@@ -0,0 +1,248 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RuleManager xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/rule/RuleManager.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.HashMap;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Document;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Element;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Node;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.rule.pattern.NodeTypePattern;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <p></em>
+<a name="19" href="#19">19</a>  <em> * <code>RuleManager</code> manages a set of rules such that a rule can be</em>
+<a name="20" href="#20">20</a>  <em> * found for a given DOM4J Node using the XSLT processing model.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/rule/RuleManager.html">RuleManager</a> {
+<a name="27" href="#27">27</a>      <em>/**<em>* Map of modes indexed by mode */</em></em>
+<a name="28" href="#28">28</a>      <strong>private</strong> HashMap modes = <strong>new</strong> HashMap();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em>     * A counter so that rules can be ordered by the order in which they were</em>
+<a name="32" href="#32">32</a>  <em>     * added to the rule base</em>
+<a name="33" href="#33">33</a>  <em>     */</em>
+<a name="34" href="#34">34</a>      <strong>private</strong> <strong>int</strong> appearenceCount;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>* Holds value of property valueOfAction. */</em></em>
+<a name="37" href="#37">37</a>      <strong>private</strong> <a href="../../../org/dom4j/rule/Action.html">Action</a> valueOfAction;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/RuleManager.html">RuleManager</a>() {
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em>/**<em>*</em></em>
+<a name="43" href="#43">43</a>  <em>     * DOCUMENT ME!</em>
+<a name="44" href="#44">44</a>  <em>     * </em>
+<a name="45" href="#45">45</a>  <em>     * @param modeName</em>
+<a name="46" href="#46">46</a>  <em>     *            DOCUMENT ME!</em>
+<a name="47" href="#47">47</a>  <em>     * </em>
+<a name="48" href="#48">48</a>  <em>     * @return the Mode instance for the given mode name. If one does not exist</em>
+<a name="49" href="#49">49</a>  <em>     *         then it will be created.</em>
+<a name="50" href="#50">50</a>  <em>     */</em>
+<a name="51" href="#51">51</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/Mode.html">Mode</a> getMode(String modeName) {
+<a name="52" href="#52">52</a>          <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mode = (Mode) modes.get(modeName);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          <strong>if</strong> (mode == <strong>null</strong>) {
+<a name="55" href="#55">55</a>              mode = createMode();
+<a name="56" href="#56">56</a>              modes.put(modeName, mode);
+<a name="57" href="#57">57</a>          }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>          <strong>return</strong> mode;
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>public</strong> <strong>void</strong> addRule(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="63" href="#63">63</a>          rule.setAppearenceCount(++appearenceCount);
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>          <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mode = getMode(rule.getMode());
+<a name="66" href="#66">66</a>          <a href="../../../org/dom4j/rule/Rule.html">Rule</a>[] childRules = rule.getUnionRules();
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>          <strong>if</strong> (childRules != <strong>null</strong>) {
+<a name="69" href="#69">69</a>              <strong>for</strong> (<strong>int</strong> i = 0, size = childRules.length; i < size; i++) {
+<a name="70" href="#70">70</a>                  mode.addRule(childRules[i]);
+<a name="71" href="#71">71</a>              }
+<a name="72" href="#72">72</a>          } <strong>else</strong> {
+<a name="73" href="#73">73</a>              mode.addRule(rule);
+<a name="74" href="#74">74</a>          }
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> <strong>void</strong> removeRule(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="78" href="#78">78</a>          <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mode = getMode(rule.getMode());
+<a name="79" href="#79">79</a>          <a href="../../../org/dom4j/rule/Rule.html">Rule</a>[] childRules = rule.getUnionRules();
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>          <strong>if</strong> (childRules != <strong>null</strong>) {
+<a name="82" href="#82">82</a>              <strong>for</strong> (<strong>int</strong> i = 0, size = childRules.length; i < size; i++) {
+<a name="83" href="#83">83</a>                  mode.removeRule(childRules[i]);
+<a name="84" href="#84">84</a>              }
+<a name="85" href="#85">85</a>          } <strong>else</strong> {
+<a name="86" href="#86">86</a>              mode.removeRule(rule);
+<a name="87" href="#87">87</a>          }
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <em>/**<em>*</em></em>
+<a name="91" href="#91">91</a>  <em>     * Performs an XSLT processing model match for the rule which matches the</em>
+<a name="92" href="#92">92</a>  <em>     * given Node the best.</em>
+<a name="93" href="#93">93</a>  <em>     * </em>
+<a name="94" href="#94">94</a>  <em>     * @param modeName</em>
+<a name="95" href="#95">95</a>  <em>     *            is the name of the mode associated with the rule if any</em>
+<a name="96" href="#96">96</a>  <em>     * @param node</em>
+<a name="97" href="#97">97</a>  <em>     *            is the DOM4J Node to match against</em>
+<a name="98" href="#98">98</a>  <em>     * </em>
+<a name="99" href="#99">99</a>  <em>     * @return the matching Rule or no rule if none matched</em>
+<a name="100" href="#100">100</a> <em>     */</em>
+<a name="101" href="#101">101</a>     <strong>public</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a> getMatchingRule(String modeName, <a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="102" href="#102">102</a>         <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mode = (Mode) modes.get(modeName);
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>         <strong>if</strong> (mode != <strong>null</strong>) {
+<a name="105" href="#105">105</a>             <strong>return</strong> mode.getMatchingRule(node);
+<a name="106" href="#106">106</a>         } <strong>else</strong> {
+<a name="107" href="#107">107</a>             System.out.println(<span class="string">"Warning: No Mode for mode: "</span> + mode);
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>             <strong>return</strong> <strong>null</strong>;
+<a name="110" href="#110">110</a>         }
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <strong>public</strong> <strong>void</strong> clear() {
+<a name="114" href="#114">114</a>         modes.clear();
+<a name="115" href="#115">115</a>         appearenceCount = 0;
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <em class="comment">// Properties</em>
+<a name="119" href="#119">119</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <em>/**<em>*</em></em>
+<a name="122" href="#122">122</a> <em>     * DOCUMENT ME!</em>
+<a name="123" href="#123">123</a> <em>     * </em>
+<a name="124" href="#124">124</a> <em>     * @return the default value-of action which is used in the default rules</em>
+<a name="125" href="#125">125</a> <em>     *         for the pattern "text()|&#64;"</em>
+<a name="126" href="#126">126</a> <em>     */</em>
+<a name="127" href="#127">127</a>     <strong>public</strong> <a href="../../../org/dom4j/rule/Action.html">Action</a> getValueOfAction() {
+<a name="128" href="#128">128</a>         <strong>return</strong> valueOfAction;
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <em>/**<em>*</em></em>
+<a name="132" href="#132">132</a> <em>     * Sets the default value-of action which is used in the default rules for</em>
+<a name="133" href="#133">133</a> <em>     * the pattern "text()|&#64;"</em>
+<a name="134" href="#134">134</a> <em>     * </em>
+<a name="135" href="#135">135</a> <em>     * @param valueOfAction</em>
+<a name="136" href="#136">136</a> <em>     *            DOCUMENT ME!</em>
+<a name="137" href="#137">137</a> <em>     */</em>
+<a name="138" href="#138">138</a>     <strong>public</strong> <strong>void</strong> setValueOfAction(<a href="../../../org/dom4j/rule/Action.html">Action</a> valueOfAction) {
+<a name="139" href="#139">139</a>         <strong>this</strong>.valueOfAction = valueOfAction;
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>     <em class="comment">// Implementation methods</em>
+<a name="143" href="#143">143</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <em>/**<em>*</em></em>
+<a name="146" href="#146">146</a> <em>     * A factory method to return a new {@link Mode}instance which should add</em>
+<a name="147" href="#147">147</a> <em>     * the necessary default rules</em>
+<a name="148" href="#148">148</a> <em>     * </em>
+<a name="149" href="#149">149</a> <em>     * @return DOCUMENT ME!</em>
+<a name="150" href="#150">150</a> <em>     */</em>
+<a name="151" href="#151">151</a>     <strong>protected</strong> <a href="../../../org/dom4j/rule/Mode.html">Mode</a> createMode() {
+<a name="152" href="#152">152</a>         <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mode = <strong>new</strong> <a href="../../../org/dom4j/rule/Mode.html">Mode</a>();
+<a name="153" href="#153">153</a>         addDefaultRules(mode);
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>         <strong>return</strong> mode;
+<a name="156" href="#156">156</a>     }
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <em>/**<em>*</em></em>
+<a name="159" href="#159">159</a> <em>     * Adds the default stylesheet rules to the given {@link Mode}instance</em>
+<a name="160" href="#160">160</a> <em>     * </em>
+<a name="161" href="#161">161</a> <em>     * @param mode</em>
+<a name="162" href="#162">162</a> <em>     *            DOCUMENT ME!</em>
+<a name="163" href="#163">163</a> <em>     */</em>
+<a name="164" href="#164">164</a>     <strong>protected</strong> <strong>void</strong> addDefaultRules(<strong>final</strong> <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mode) {
+<a name="165" href="#165">165</a>         <em class="comment">// add an apply templates rule</em>
+<a name="166" href="#166">166</a>         <a href="../../../org/dom4j/rule/Action.html">Action</a> applyTemplates = <strong>new</strong> <a href="../../../org/dom4j/rule/Action.html">Action</a>() {
+<a name="167" href="#167">167</a>             <strong>public</strong> <strong>void</strong> run(<a href="../../../org/dom4j/Node.html">Node</a> node) throws Exception {
+<a name="168" href="#168">168</a>                 <strong>if</strong> (node instanceof Element) {
+<a name="169" href="#169">169</a>                     mode.applyTemplates((Element) node);
+<a name="170" href="#170">170</a>                 } <strong>else</strong> <strong>if</strong> (node instanceof Document) {
+<a name="171" href="#171">171</a>                     mode.applyTemplates((Document) node);
+<a name="172" href="#172">172</a>                 }
+<a name="173" href="#173">173</a>             }
+<a name="174" href="#174">174</a>         };
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>         <a href="../../../org/dom4j/rule/Action.html">Action</a> valueOf = getValueOfAction();
+<a name="177" href="#177">177</a> 
+<a name="178" href="#178">178</a>         addDefaultRule(mode, NodeTypePattern.ANY_DOCUMENT, applyTemplates);
+<a name="179" href="#179">179</a>         addDefaultRule(mode, NodeTypePattern.ANY_ELEMENT, applyTemplates);
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>         <strong>if</strong> (valueOf != <strong>null</strong>) {
+<a name="182" href="#182">182</a>             addDefaultRule(mode, NodeTypePattern.ANY_ATTRIBUTE, valueOf);
+<a name="183" href="#183">183</a>             addDefaultRule(mode, NodeTypePattern.ANY_TEXT, valueOf);
+<a name="184" href="#184">184</a>         }
+<a name="185" href="#185">185</a>     }
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>     <strong>protected</strong> <strong>void</strong> addDefaultRule(<a href="../../../org/dom4j/rule/Mode.html">Mode</a> mode, <a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> pattern, <a href="../../../org/dom4j/rule/Action.html">Action</a> action) {
+<a name="188" href="#188">188</a>         <a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule = createDefaultRule(pattern, action);
+<a name="189" href="#189">189</a>         mode.addRule(rule);
+<a name="190" href="#190">190</a>     }
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>     <strong>protected</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a> createDefaultRule(<a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> pattern, <a href="../../../org/dom4j/rule/Action.html">Action</a> action) {
+<a name="193" href="#193">193</a>         <a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule = <strong>new</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>(pattern, action);
+<a name="194" href="#194">194</a>         rule.setImportPrecedence(-1);
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>         <strong>return</strong> rule;
+<a name="197" href="#197">197</a>     }
+<a name="198" href="#198">198</a> }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a> <em class="comment">/*</em>
+<a name="201" href="#201">201</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="202" href="#202">202</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="203" href="#203">203</a> <em class="comment"> * following conditions are met:</em>
+<a name="204" href="#204">204</a> <em class="comment"> * </em>
+<a name="205" href="#205">205</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="206" href="#206">206</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="207" href="#207">207</a> <em class="comment"> * </em>
+<a name="208" href="#208">208</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="209" href="#209">209</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="210" href="#210">210</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="211" href="#211">211</a> <em class="comment"> * </em>
+<a name="212" href="#212">212</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="213" href="#213">213</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="214" href="#214">214</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="215" href="#215">215</a> <em class="comment"> * </em>
+<a name="216" href="#216">216</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="217" href="#217">217</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="218" href="#218">218</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="219" href="#219">219</a> <em class="comment"> * </em>
+<a name="220" href="#220">220</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="221" href="#221">221</a> <em class="comment"> * </em>
+<a name="222" href="#222">222</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="223" href="#223">223</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="224" href="#224">224</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="225" href="#225">225</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="226" href="#226">226</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="227" href="#227">227</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="228" href="#228">228</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="229" href="#229">229</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="230" href="#230">230</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="231" href="#231">231</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="232" href="#232">232</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="233" href="#233">233</a> <em class="comment"> * </em>
+<a name="234" href="#234">234</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="235" href="#235">235</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/RuleSet.html b/docs/xref/org/dom4j/rule/RuleSet.html
new file mode 100644
index 0000000..67e54a8
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/RuleSet.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>RuleSet xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/rule/RuleSet.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Collections;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Node;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * <p></em>
+<a name="17" href="#17">17</a>  <em> * <code>RuleSet</code> manages a set of rules which are sorted in order of</em>
+<a name="18" href="#18">18</a>  <em> * relevance according to the XSLT defined conflict resolution policy. This</em>
+<a name="19" href="#19">19</a>  <em> * makes finding the correct rule for a DOM4J Node using the XSLT processing</em>
+<a name="20" href="#20">20</a>  <em> * model efficient as the rules can be evaluated in order of priority.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> {
+<a name="27" href="#27">27</a>      <em>/**<em>* An unordered list of <a href="../../../org/dom4j/rule/Rule.html">Rule</a> objects */</em></em>
+<a name="28" href="#28">28</a>      <strong>private</strong> ArrayList rules = <strong>new</strong> ArrayList();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>* A lazily evaluated and cached array of rules sorted */</em></em>
+<a name="31" href="#31">31</a>      <strong>private</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>[] ruleArray;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a>() {
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> String toString() {
+<a name="37" href="#37">37</a>          <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [RuleSet: "</span> + rules + <span class="string">" ]"</span>;
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * Performs an XSLT processing model match for the rule which matches the</em>
+<a name="42" href="#42">42</a>  <em>     * given Node the best.</em>
+<a name="43" href="#43">43</a>  <em>     * </em>
+<a name="44" href="#44">44</a>  <em>     * @param node</em>
+<a name="45" href="#45">45</a>  <em>     *            is the DOM4J Node to match against</em>
+<a name="46" href="#46">46</a>  <em>     * </em>
+<a name="47" href="#47">47</a>  <em>     * @return the matching Rule or no rule if none matched</em>
+<a name="48" href="#48">48</a>  <em>     */</em>
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a> getMatchingRule(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="50" href="#50">50</a>          <a href="../../../org/dom4j/rule/Rule.html">Rule</a>[] matches = getRuleArray();
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          <strong>for</strong> (<strong>int</strong> i = matches.length - 1; i >= 0; i--) {
+<a name="53" href="#53">53</a>              <a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule = matches[i];
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>              <strong>if</strong> (rule.matches(node)) {
+<a name="56" href="#56">56</a>                  <strong>return</strong> rule;
+<a name="57" href="#57">57</a>              }
+<a name="58" href="#58">58</a>          }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>return</strong> <strong>null</strong>;
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> addRule(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="64" href="#64">64</a>          rules.add(rule);
+<a name="65" href="#65">65</a>          ruleArray = <strong>null</strong>;
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> <strong>void</strong> removeRule(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="69" href="#69">69</a>          rules.remove(rule);
+<a name="70" href="#70">70</a>          ruleArray = <strong>null</strong>;
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <em>/**<em>*</em></em>
+<a name="74" href="#74">74</a>  <em>     * Adds all the rules to this RuleSet from the given other rule set.</em>
+<a name="75" href="#75">75</a>  <em>     * </em>
+<a name="76" href="#76">76</a>  <em>     * @param that</em>
+<a name="77" href="#77">77</a>  <em>     *            DOCUMENT ME!</em>
+<a name="78" href="#78">78</a>  <em>     */</em>
+<a name="79" href="#79">79</a>      <strong>public</strong> <strong>void</strong> addAll(<a href="../../../org/dom4j/rule/RuleSet.html">RuleSet</a> that) {
+<a name="80" href="#80">80</a>          rules.addAll(that.rules);
+<a name="81" href="#81">81</a>          ruleArray = <strong>null</strong>;
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <em>/**<em>*</em></em>
+<a name="85" href="#85">85</a>  <em>     * Returns an array of sorted rules.</em>
+<a name="86" href="#86">86</a>  <em>     * </em>
+<a name="87" href="#87">87</a>  <em>     * @return the rules as a sorted array in ascending precendence so that the</em>
+<a name="88" href="#88">88</a>  <em>     *         rules at the end of the array should be used first</em>
+<a name="89" href="#89">89</a>  <em>     */</em>
+<a name="90" href="#90">90</a>      <strong>protected</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>[] getRuleArray() {
+<a name="91" href="#91">91</a>          <strong>if</strong> (ruleArray == <strong>null</strong>) {
+<a name="92" href="#92">92</a>              Collections.sort(rules);
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>              <strong>int</strong> size = rules.size();
+<a name="95" href="#95">95</a>              ruleArray = <strong>new</strong> <a href="../../../org/dom4j/rule/Rule.html">Rule</a>[size];
+<a name="96" href="#96">96</a>              rules.toArray(ruleArray);
+<a name="97" href="#97">97</a>          }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          <strong>return</strong> ruleArray;
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a> <em class="comment">/*</em>
+<a name="104" href="#104">104</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="105" href="#105">105</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="106" href="#106">106</a> <em class="comment"> * following conditions are met:</em>
+<a name="107" href="#107">107</a> <em class="comment"> * </em>
+<a name="108" href="#108">108</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="109" href="#109">109</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="110" href="#110">110</a> <em class="comment"> * </em>
+<a name="111" href="#111">111</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="112" href="#112">112</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="113" href="#113">113</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="114" href="#114">114</a> <em class="comment"> * </em>
+<a name="115" href="#115">115</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="116" href="#116">116</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="117" href="#117">117</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="118" href="#118">118</a> <em class="comment"> * </em>
+<a name="119" href="#119">119</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="120" href="#120">120</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="121" href="#121">121</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="122" href="#122">122</a> <em class="comment"> * </em>
+<a name="123" href="#123">123</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="124" href="#124">124</a> <em class="comment"> * </em>
+<a name="125" href="#125">125</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="126" href="#126">126</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="127" href="#127">127</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="128" href="#128">128</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="129" href="#129">129</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="130" href="#130">130</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="131" href="#131">131</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="132" href="#132">132</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="133" href="#133">133</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="134" href="#134">134</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="135" href="#135">135</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="136" href="#136">136</a> <em class="comment"> * </em>
+<a name="137" href="#137">137</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="138" href="#138">138</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/Stylesheet.html b/docs/xref/org/dom4j/rule/Stylesheet.html
new file mode 100644
index 0000000..94f9074
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/Stylesheet.html
@@ -0,0 +1,347 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>Stylesheet xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/rule/Stylesheet.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/rule/package-summary.html">org.dom4j.rule</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Iterator;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.List;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Document;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Element;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Node;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>Stylesheet</code> implements an XSLT stylesheet such that rules can</em>
+<a name="21" href="#21">21</a>  <em> * be added to the stylesheet and the stylesheet can be applied to a source</em>
+<a name="22" href="#22">22</a>  <em> * document or node.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.14 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/rule/Stylesheet.html">Stylesheet</a> {
+<a name="29" href="#29">29</a>      <strong>private</strong> <a href="../../../org/dom4j/rule/RuleManager.html">RuleManager</a> ruleManager = <strong>new</strong> <a href="../../../org/dom4j/rule/RuleManager.html">RuleManager</a>();
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>* Holds value of property mode. */</em></em>
+<a name="32" href="#32">32</a>      <strong>private</strong> String modeName;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em>/**<em>*</em></em>
+<a name="35" href="#35">35</a>  <em>     * Creates a new empty stylesheet.</em>
+<a name="36" href="#36">36</a>  <em>     */</em>
+<a name="37" href="#37">37</a>      <strong>public</strong> <a href="../../../org/dom4j/rule/Stylesheet.html">Stylesheet</a>() {
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * Add a rule to this stylesheet.</em>
+<a name="42" href="#42">42</a>  <em>     * </em>
+<a name="43" href="#43">43</a>  <em>     * @param rule</em>
+<a name="44" href="#44">44</a>  <em>     *            the rule to add</em>
+<a name="45" href="#45">45</a>  <em>     */</em>
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> addRule(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="47" href="#47">47</a>          ruleManager.addRule(rule);
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
+<a name="51" href="#51">51</a>  <em>     * Removes the specified rule from this stylesheet.</em>
+<a name="52" href="#52">52</a>  <em>     * </em>
+<a name="53" href="#53">53</a>  <em>     * @param rule</em>
+<a name="54" href="#54">54</a>  <em>     *            the rule to remove</em>
+<a name="55" href="#55">55</a>  <em>     */</em>
+<a name="56" href="#56">56</a>      <strong>public</strong> <strong>void</strong> removeRule(<a href="../../../org/dom4j/rule/Rule.html">Rule</a> rule) {
+<a name="57" href="#57">57</a>          ruleManager.removeRule(rule);
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <em>/**<em>*</em></em>
+<a name="61" href="#61">61</a>  <em>     * Runs this stylesheet on the given input which should be either a Node or</em>
+<a name="62" href="#62">62</a>  <em>     * a List of Node objects.</em>
+<a name="63" href="#63">63</a>  <em>     * </em>
+<a name="64" href="#64">64</a>  <em>     * @param input</em>
+<a name="65" href="#65">65</a>  <em>     *            the input to run this stylesheet on</em>
+<a name="66" href="#66">66</a>  <em>     * </em>
+<a name="67" href="#67">67</a>  <em>     * @throws Exception</em>
+<a name="68" href="#68">68</a>  <em>     *             if something goes wrong</em>
+<a name="69" href="#69">69</a>  <em>     */</em>
+<a name="70" href="#70">70</a>      <strong>public</strong> <strong>void</strong> run(Object input) throws Exception {
+<a name="71" href="#71">71</a>          run(input, <strong>this</strong>.modeName);
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>public</strong> <strong>void</strong> run(Object input, String mode) throws Exception {
+<a name="75" href="#75">75</a>          <strong>if</strong> (input instanceof Node) {
+<a name="76" href="#76">76</a>              run((Node) input, mode);
+<a name="77" href="#77">77</a>          } <strong>else</strong> <strong>if</strong> (input instanceof List) {
+<a name="78" href="#78">78</a>              run((List) input, mode);
+<a name="79" href="#79">79</a>          }
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <strong>public</strong> <strong>void</strong> run(List list) throws Exception {
+<a name="83" href="#83">83</a>          run(list, <strong>this</strong>.modeName);
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <strong>public</strong> <strong>void</strong> run(List list, String mode) throws Exception {
+<a name="87" href="#87">87</a>          <strong>for</strong> (<strong>int</strong> i = 0, size = list.size(); i < size; i++) {
+<a name="88" href="#88">88</a>              Object object = list.get(i);
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>              <strong>if</strong> (object instanceof Node) {
+<a name="91" href="#91">91</a>                  run((Node) object, mode);
+<a name="92" href="#92">92</a>              }
+<a name="93" href="#93">93</a>          }
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <strong>public</strong> <strong>void</strong> run(<a href="../../../org/dom4j/Node.html">Node</a> node) throws Exception {
+<a name="97" href="#97">97</a>          run(node, <strong>this</strong>.modeName);
+<a name="98" href="#98">98</a>      }
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <strong>public</strong> <strong>void</strong> run(<a href="../../../org/dom4j/Node.html">Node</a> node, String mode) throws Exception {
+<a name="101" href="#101">101</a>         <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mod = ruleManager.getMode(mode);
+<a name="102" href="#102">102</a>         mod.fireRule(node);
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em>/**<em>*</em></em>
+<a name="106" href="#106">106</a> <em>     * Processes the result of the xpath expression. The xpath expression is</em>
+<a name="107" href="#107">107</a> <em>     * evaluated against the provided input object.</em>
+<a name="108" href="#108">108</a> <em>     * </em>
+<a name="109" href="#109">109</a> <em>     * @param input</em>
+<a name="110" href="#110">110</a> <em>     *            the input object</em>
+<a name="111" href="#111">111</a> <em>     * @param xpath</em>
+<a name="112" href="#112">112</a> <em>     *            the xpath expression</em>
+<a name="113" href="#113">113</a> <em>     * @throws Exception</em>
+<a name="114" href="#114">114</a> <em>     *             if something goes wrong</em>
+<a name="115" href="#115">115</a> <em>     */</em>
+<a name="116" href="#116">116</a>     <strong>public</strong> <strong>void</strong> applyTemplates(Object input, <a href="../../../org/dom4j/XPath.html">XPath</a> xpath) throws Exception {
+<a name="117" href="#117">117</a>         applyTemplates(input, xpath, <strong>this</strong>.modeName);
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <em>/**<em>*</em></em>
+<a name="121" href="#121">121</a> <em>     * Processes the result of the xpath expression in the given mode. The xpath</em>
+<a name="122" href="#122">122</a> <em>     * expression is evaluated against the provided input object.</em>
+<a name="123" href="#123">123</a> <em>     * </em>
+<a name="124" href="#124">124</a> <em>     * @param input</em>
+<a name="125" href="#125">125</a> <em>     *            the input object</em>
+<a name="126" href="#126">126</a> <em>     * @param xpath</em>
+<a name="127" href="#127">127</a> <em>     *            the xpath expression</em>
+<a name="128" href="#128">128</a> <em>     * @param mode</em>
+<a name="129" href="#129">129</a> <em>     *            the mode</em>
+<a name="130" href="#130">130</a> <em>     * @throws Exception</em>
+<a name="131" href="#131">131</a> <em>     *             if something goes wrong</em>
+<a name="132" href="#132">132</a> <em>     */</em>
+<a name="133" href="#133">133</a>     <strong>public</strong> <strong>void</strong> applyTemplates(Object input, <a href="../../../org/dom4j/XPath.html">XPath</a> xpath, String mode)
+<a name="134" href="#134">134</a>             throws Exception {
+<a name="135" href="#135">135</a>         <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mod = ruleManager.getMode(mode);
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>         List list = xpath.selectNodes(input);
+<a name="138" href="#138">138</a>         Iterator it = list.iterator();
+<a name="139" href="#139">139</a>         <strong>while</strong> (it.hasNext()) {
+<a name="140" href="#140">140</a>             <a href="../../../org/dom4j/Node.html">Node</a> current = (Node) it.next();
+<a name="141" href="#141">141</a>             mod.fireRule(current);
+<a name="142" href="#142">142</a>         }
+<a name="143" href="#143">143</a>     }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <em>/**<em>*</em></em>
+<a name="146" href="#146">146</a> <em>     * Processes the result of the xpath expression. The xpath expression is</em>
+<a name="147" href="#147">147</a> <em>     * evaluated against the provided input object.</em>
+<a name="148" href="#148">148</a> <em>     * </em>
+<a name="149" href="#149">149</a> <em>     * @param input</em>
+<a name="150" href="#150">150</a> <em>     *            the input object</em>
+<a name="151" href="#151">151</a> <em>     * @param xpath</em>
+<a name="152" href="#152">152</a> <em>     *            the xpath expression</em>
+<a name="153" href="#153">153</a> <em>     * @throws Exception</em>
+<a name="154" href="#154">154</a> <em>     *             if something goes wrong</em>
+<a name="155" href="#155">155</a> <em>     * @deprecated Use {@link Stylesheet#applyTemplates(Object, XPath)}instead.</em>
+<a name="156" href="#156">156</a> <em>     */</em>
+<a name="157" href="#157">157</a>     <strong>public</strong> <strong>void</strong> applyTemplates(Object input, org.jaxen.XPath xpath)
+<a name="158" href="#158">158</a>             throws Exception {
+<a name="159" href="#159">159</a>         applyTemplates(input, xpath, <strong>this</strong>.modeName);
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <em>/**<em>*</em></em>
+<a name="163" href="#163">163</a> <em>     * Processes the result of the xpath expression in the given mode. The xpath</em>
+<a name="164" href="#164">164</a> <em>     * expression is evaluated against the provided input object.</em>
+<a name="165" href="#165">165</a> <em>     * </em>
+<a name="166" href="#166">166</a> <em>     * @param input</em>
+<a name="167" href="#167">167</a> <em>     *            the input object</em>
+<a name="168" href="#168">168</a> <em>     * @param xpath</em>
+<a name="169" href="#169">169</a> <em>     *            the xpath expression</em>
+<a name="170" href="#170">170</a> <em>     * @param mode</em>
+<a name="171" href="#171">171</a> <em>     *            the mode</em>
+<a name="172" href="#172">172</a> <em>     * @throws Exception</em>
+<a name="173" href="#173">173</a> <em>     *             if something goes wrong</em>
+<a name="174" href="#174">174</a> <em>     * @deprecated Use {@link Stylesheet#applyTemplates(Object, XPath, String)}</em>
+<a name="175" href="#175">175</a> <em>     *             instead.</em>
+<a name="176" href="#176">176</a> <em>     */</em>
+<a name="177" href="#177">177</a>     <strong>public</strong> <strong>void</strong> applyTemplates(Object input, org.jaxen.XPath xpath, String mode)
+<a name="178" href="#178">178</a>             throws Exception {
+<a name="179" href="#179">179</a>         <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mod = ruleManager.getMode(mode);
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>         List list = xpath.selectNodes(input);
+<a name="182" href="#182">182</a>         Iterator it = list.iterator();
+<a name="183" href="#183">183</a>         <strong>while</strong> (it.hasNext()) {
+<a name="184" href="#184">184</a>             <a href="../../../org/dom4j/Node.html">Node</a> current = (Node) it.next();
+<a name="185" href="#185">185</a>             mod.fireRule(current);
+<a name="186" href="#186">186</a>         }
+<a name="187" href="#187">187</a>     }
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>     <em>/**<em>*</em></em>
+<a name="190" href="#190">190</a> <em>     * If input is a <code>Node</code>, this will processes all of the</em>
+<a name="191" href="#191">191</a> <em>     * children of that node. If input is a <code>List</code> of</em>
+<a name="192" href="#192">192</a> <em>     * <code>Nodes</code>s, these nodes will be iterated and all children of</em>
+<a name="193" href="#193">193</a> <em>     * each node will be processed.</em>
+<a name="194" href="#194">194</a> <em>     * </em>
+<a name="195" href="#195">195</a> <em>     * @param input</em>
+<a name="196" href="#196">196</a> <em>     *            the input object, this can either be a <code>Node</code> or</em>
+<a name="197" href="#197">197</a> <em>     *            a <code>List</code></em>
+<a name="198" href="#198">198</a> <em>     * @throws Exception</em>
+<a name="199" href="#199">199</a> <em>     *             if something goes wrong</em>
+<a name="200" href="#200">200</a> <em>     */</em>
+<a name="201" href="#201">201</a>     <strong>public</strong> <strong>void</strong> applyTemplates(Object input) throws Exception {
+<a name="202" href="#202">202</a>         applyTemplates(input, <strong>this</strong>.modeName);
+<a name="203" href="#203">203</a>     }
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>     <em>/**<em>*</em></em>
+<a name="206" href="#206">206</a> <em>     * Processes the input object in the given mode. If input is a</em>
+<a name="207" href="#207">207</a> <em>     * <code>Node</code>, this will processes all of the children of that</em>
+<a name="208" href="#208">208</a> <em>     * node. If input is a <code>List</code> of <code>Nodes</code>s, these</em>
+<a name="209" href="#209">209</a> <em>     * nodes will be iterated and all children of each node will be processed.</em>
+<a name="210" href="#210">210</a> <em>     * </em>
+<a name="211" href="#211">211</a> <em>     * @param input</em>
+<a name="212" href="#212">212</a> <em>     *            the input object, this can either be a <code>Node</code> or</em>
+<a name="213" href="#213">213</a> <em>     *            a <code>List</code></em>
+<a name="214" href="#214">214</a> <em>     * @param mode</em>
+<a name="215" href="#215">215</a> <em>     *            the mode</em>
+<a name="216" href="#216">216</a> <em>     * @throws Exception</em>
+<a name="217" href="#217">217</a> <em>     *             if something goes wrong</em>
+<a name="218" href="#218">218</a> <em>     */</em>
+<a name="219" href="#219">219</a>     <strong>public</strong> <strong>void</strong> applyTemplates(Object input, String mode) throws Exception {
+<a name="220" href="#220">220</a>         <a href="../../../org/dom4j/rule/Mode.html">Mode</a> mod = ruleManager.getMode(mode);
+<a name="221" href="#221">221</a> 
+<a name="222" href="#222">222</a>         <strong>if</strong> (input instanceof Element) {
+<a name="223" href="#223">223</a>             <em class="comment">// iterate through all children</em>
+<a name="224" href="#224">224</a>             <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) input;
+<a name="225" href="#225">225</a>             <strong>for</strong> (<strong>int</strong> i = 0, size = element.nodeCount(); i < size; i++) {
+<a name="226" href="#226">226</a>                 <a href="../../../org/dom4j/Node.html">Node</a> node = element.node(i);
+<a name="227" href="#227">227</a>                 mod.fireRule(node);
+<a name="228" href="#228">228</a>             }
+<a name="229" href="#229">229</a>         } <strong>else</strong> <strong>if</strong> (input instanceof Document) {
+<a name="230" href="#230">230</a>             <em class="comment">// iterate through all children</em>
+<a name="231" href="#231">231</a>             <a href="../../../org/dom4j/Document.html">Document</a> document = (Document) input;
+<a name="232" href="#232">232</a>             <strong>for</strong> (<strong>int</strong> i = 0, size = document.nodeCount(); i < size; i++) {
+<a name="233" href="#233">233</a>                 <a href="../../../org/dom4j/Node.html">Node</a> node = document.node(i);
+<a name="234" href="#234">234</a>                 mod.fireRule(node);
+<a name="235" href="#235">235</a>             }
+<a name="236" href="#236">236</a>         } <strong>else</strong> <strong>if</strong> (input instanceof List) {
+<a name="237" href="#237">237</a>             List list = (List) input;
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>             <strong>for</strong> (<strong>int</strong> i = 0, size = list.size(); i < size; i++) {
+<a name="240" href="#240">240</a>                 Object object = list.get(i);
+<a name="241" href="#241">241</a> 
+<a name="242" href="#242">242</a>                 <strong>if</strong> (object instanceof Element) {
+<a name="243" href="#243">243</a>                     applyTemplates((Element) object, mode);
+<a name="244" href="#244">244</a>                 } <strong>else</strong> <strong>if</strong> (object instanceof Document) {
+<a name="245" href="#245">245</a>                     applyTemplates((Document) object, mode);
+<a name="246" href="#246">246</a>                 }
+<a name="247" href="#247">247</a>             }
+<a name="248" href="#248">248</a>         }
+<a name="249" href="#249">249</a>     }
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>     <strong>public</strong> <strong>void</strong> clear() {
+<a name="252" href="#252">252</a>         ruleManager.clear();
+<a name="253" href="#253">253</a>     }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>     <em class="comment">// Properties</em>
+<a name="256" href="#256">256</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a>     <em>/**<em>*</em></em>
+<a name="259" href="#259">259</a> <em>     * DOCUMENT ME!</em>
+<a name="260" href="#260">260</a> <em>     * </em>
+<a name="261" href="#261">261</a> <em>     * @return the name of the mode the stylesheet uses by default</em>
+<a name="262" href="#262">262</a> <em>     */</em>
+<a name="263" href="#263">263</a>     <strong>public</strong> String getModeName() {
+<a name="264" href="#264">264</a>         <strong>return</strong> modeName;
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <em>/**<em>*</em></em>
+<a name="268" href="#268">268</a> <em>     * Sets the name of the mode that the stylesheet uses by default.</em>
+<a name="269" href="#269">269</a> <em>     * </em>
+<a name="270" href="#270">270</a> <em>     * @param modeName</em>
+<a name="271" href="#271">271</a> <em>     *            DOCUMENT ME!</em>
+<a name="272" href="#272">272</a> <em>     */</em>
+<a name="273" href="#273">273</a>     <strong>public</strong> <strong>void</strong> setModeName(String modeName) {
+<a name="274" href="#274">274</a>         <strong>this</strong>.modeName = modeName;
+<a name="275" href="#275">275</a>     }
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a>     <em>/**<em>*</em></em>
+<a name="278" href="#278">278</a> <em>     * DOCUMENT ME!</em>
+<a name="279" href="#279">279</a> <em>     * </em>
+<a name="280" href="#280">280</a> <em>     * @return the default value-of action which is used in the default rules</em>
+<a name="281" href="#281">281</a> <em>     *         for the pattern "text()|&#64;"</em>
+<a name="282" href="#282">282</a> <em>     */</em>
+<a name="283" href="#283">283</a>     <strong>public</strong> <a href="../../../org/dom4j/rule/Action.html">Action</a> getValueOfAction() {
+<a name="284" href="#284">284</a>         <strong>return</strong> ruleManager.getValueOfAction();
+<a name="285" href="#285">285</a>     }
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a>     <em>/**<em>*</em></em>
+<a name="288" href="#288">288</a> <em>     * Sets the default value-of action which is used in the default rules for</em>
+<a name="289" href="#289">289</a> <em>     * the pattern "text()|&#64;"</em>
+<a name="290" href="#290">290</a> <em>     * </em>
+<a name="291" href="#291">291</a> <em>     * @param valueOfAction</em>
+<a name="292" href="#292">292</a> <em>     *            DOCUMENT ME!</em>
+<a name="293" href="#293">293</a> <em>     */</em>
+<a name="294" href="#294">294</a>     <strong>public</strong> <strong>void</strong> setValueOfAction(<a href="../../../org/dom4j/rule/Action.html">Action</a> valueOfAction) {
+<a name="295" href="#295">295</a>         ruleManager.setValueOfAction(valueOfAction);
+<a name="296" href="#296">296</a>     }
+<a name="297" href="#297">297</a> }
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a> <em class="comment">/*</em>
+<a name="300" href="#300">300</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="301" href="#301">301</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="302" href="#302">302</a> <em class="comment"> * following conditions are met:</em>
+<a name="303" href="#303">303</a> <em class="comment"> * </em>
+<a name="304" href="#304">304</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="305" href="#305">305</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="306" href="#306">306</a> <em class="comment"> * </em>
+<a name="307" href="#307">307</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="308" href="#308">308</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="309" href="#309">309</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="310" href="#310">310</a> <em class="comment"> * </em>
+<a name="311" href="#311">311</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="312" href="#312">312</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="313" href="#313">313</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="314" href="#314">314</a> <em class="comment"> * </em>
+<a name="315" href="#315">315</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="316" href="#316">316</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="317" href="#317">317</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="318" href="#318">318</a> <em class="comment"> * </em>
+<a name="319" href="#319">319</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="320" href="#320">320</a> <em class="comment"> * </em>
+<a name="321" href="#321">321</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="322" href="#322">322</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="323" href="#323">323</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="324" href="#324">324</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="325" href="#325">325</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="326" href="#326">326</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="327" href="#327">327</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="328" href="#328">328</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="329" href="#329">329</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="330" href="#330">330</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="331" href="#331">331</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="332" href="#332">332</a> <em class="comment"> * </em>
+<a name="333" href="#333">333</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="334" href="#334">334</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/package-frame.html b/docs/xref/org/dom4j/rule/package-frame.html
new file mode 100644
index 0000000..5dff246
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/package-frame.html
@@ -0,0 +1,55 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.rule</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.rule</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="Action.html" target="classFrame">Action</a>
+          </li>
+        
+          <li>
+            <a href="Mode.html" target="classFrame">Mode</a>
+          </li>
+        
+          <li>
+            <a href="NullAction.html" target="classFrame">NullAction</a>
+          </li>
+        
+          <li>
+            <a href="Pattern.html" target="classFrame">Pattern</a>
+          </li>
+        
+          <li>
+            <a href="Rule.html" target="classFrame">Rule</a>
+          </li>
+        
+          <li>
+            <a href="RuleManager.html" target="classFrame">RuleManager</a>
+          </li>
+        
+          <li>
+            <a href="RuleSet.html" target="classFrame">RuleSet</a>
+          </li>
+        
+          <li>
+            <a href="Stylesheet.html" target="classFrame">Stylesheet</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/rule/package-summary.html b/docs/xref/org/dom4j/rule/package-summary.html
new file mode 100644
index 0000000..50af801
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/package-summary.html
@@ -0,0 +1,144 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.rule</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="Action.html" target="classFrame">Action</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Mode.html" target="classFrame">Mode</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NullAction.html" target="classFrame">NullAction</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Pattern.html" target="classFrame">Pattern</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Rule.html" target="classFrame">Rule</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="RuleManager.html" target="classFrame">RuleManager</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="RuleSet.html" target="classFrame">RuleSet</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="Stylesheet.html" target="classFrame">Stylesheet</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/rule/pattern/DefaultPattern.html b/docs/xref/org/dom4j/rule/pattern/DefaultPattern.html
new file mode 100644
index 0000000..db98769
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/pattern/DefaultPattern.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultPattern xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../../apidocs/org/dom4j/rule/pattern/DefaultPattern.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Node;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.NodeFilter;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.rule.Pattern;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>DefaultPattern</code> a default implementation of Pattern which can</em>
+<a name="17" href="#17">17</a>  <em> * take any XPath implementation or NodeFilter for defining the pattern.</em>
+<a name="18" href="#18">18</a>  <em> * <b>WARNING </b> this implementation causes a worst case, brute force XSLT</em>
+<a name="19" href="#19">19</a>  <em> * rule evaluation to be performed. Wherever possible the methods {@link</em>
+<a name="20" href="#20">20</a>  <em> * #getPriority}, {@link #getMatchType}and {@link #getMatchesNodeName}should</em>
+<a name="21" href="#21">21</a>  <em> * be overloaded to allow more rule filtering to occur.</em>
+<a name="22" href="#22">22</a>  <em> * </p></em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/dom4j/rule/pattern/DefaultPattern.html">DefaultPattern</a> implements <a href="../../../../org/dom4j/rule/Pattern.html">Pattern</a> {
+<a name="28" href="#28">28</a>      <strong>private</strong> <a href="../../../../org/dom4j/NodeFilter.html">NodeFilter</a> filter;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <a href="../../../../org/dom4j/rule/pattern/DefaultPattern.html">DefaultPattern</a>(<a href="../../../../org/dom4j/NodeFilter.html">NodeFilter</a> filter) {
+<a name="31" href="#31">31</a>          <strong>this</strong>.filter = filter;
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>boolean</strong> matches(<a href="../../../../org/dom4j/Node.html">Node</a> node) {
+<a name="35" href="#35">35</a>          <strong>return</strong> filter.matches(node);
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <strong>double</strong> getPriority() {
+<a name="39" href="#39">39</a>          <strong>return</strong> Pattern.DEFAULT_PRIORITY;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <a href="../../../../org/dom4j/rule/Pattern.html">Pattern</a>[] getUnionPatterns() {
+<a name="43" href="#43">43</a>          <strong>return</strong> <strong>null</strong>;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>short</strong> getMatchType() {
+<a name="47" href="#47">47</a>          <strong>return</strong> ANY_NODE;
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> String getMatchesNodeName() {
+<a name="51" href="#51">51</a>          <strong>return</strong> <strong>null</strong>;
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>  <em class="comment">/*</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * following conditions are met:</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/pattern/NodeTypePattern.html b/docs/xref/org/dom4j/rule/pattern/NodeTypePattern.html
new file mode 100644
index 0000000..65013f6
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/pattern/NodeTypePattern.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NodeTypePattern xref</title>
+<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../../apidocs/org/dom4j/rule/pattern/NodeTypePattern.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../../org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Node;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.rule.Pattern;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>NodeTypePattern</code> implements a Pattern which matches any node of</em>
+<a name="16" href="#16">16</a>  <em> * the given node type.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a> implements <a href="../../../../org/dom4j/rule/Pattern.html">Pattern</a> {
+<a name="23" href="#23">23</a>      <em>/**<em>* A pattern which matches any <a href="../../../../org/dom4j/Attribute.html">Attribute</a> node */</em></em>
+<a name="24" href="#24">24</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a> ANY_ATTRIBUTE = <strong>new</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a>(
+<a name="25" href="#25">25</a>              Node.ATTRIBUTE_NODE);
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em>/**<em>* A pattern which matches any <a href="../../../../org/dom4j/Comment.html">Comment</a> node */</em></em>
+<a name="28" href="#28">28</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a> ANY_COMMENT = <strong>new</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a>(
+<a name="29" href="#29">29</a>              Node.COMMENT_NODE);
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>* A pattern which matches any <a href="../../../../org/dom4j/Document.html">Document</a> node */</em></em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a> ANY_DOCUMENT = <strong>new</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a>(
+<a name="33" href="#33">33</a>              Node.DOCUMENT_NODE);
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>* A pattern which matches any <a href="../../../../org/dom4j/Element.html">Element</a> node */</em></em>
+<a name="36" href="#36">36</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a> ANY_ELEMENT = <strong>new</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a>(
+<a name="37" href="#37">37</a>              Node.ELEMENT_NODE);
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>* A pattern which matches any <a href="../../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> node */</em></em>
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a> ANY_PROCESSING_INSTRUCTION = 
+<a name="41" href="#41">41</a>              <strong>new</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a>(Node.PROCESSING_INSTRUCTION_NODE);
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>* A pattern which matches any <a href="../../../../org/dom4j/Text.html">Text</a> node */</em></em>
+<a name="44" href="#44">44</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a> ANY_TEXT = <strong>new</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a>(
+<a name="45" href="#45">45</a>              Node.TEXT_NODE);
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>private</strong> <strong>short</strong> nodeType;
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../../org/dom4j/rule/pattern/NodeTypePattern.html">NodeTypePattern</a>(<strong>short</strong> nodeType) {
+<a name="50" href="#50">50</a>          <strong>this</strong>.nodeType = nodeType;
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <strong>boolean</strong> matches(<a href="../../../../org/dom4j/Node.html">Node</a> node) {
+<a name="54" href="#54">54</a>          <strong>return</strong> node.getNodeType() == nodeType;
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>double</strong> getPriority() {
+<a name="58" href="#58">58</a>          <strong>return</strong> Pattern.DEFAULT_PRIORITY;
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <a href="../../../../org/dom4j/rule/Pattern.html">Pattern</a>[] getUnionPatterns() {
+<a name="62" href="#62">62</a>          <strong>return</strong> <strong>null</strong>;
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>short</strong> getMatchType() {
+<a name="66" href="#66">66</a>          <strong>return</strong> nodeType;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> String getMatchesNodeName() {
+<a name="70" href="#70">70</a>          <strong>return</strong> <strong>null</strong>;
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>  <em class="comment">/*</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * following conditions are met:</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * </em>
+<a name="94" href="#94">94</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="101" href="#101">101</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="102" href="#102">102</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="103" href="#103">103</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="104" href="#104">104</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="105" href="#105">105</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="106" href="#106">106</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="107" href="#107">107</a> <em class="comment"> * </em>
+<a name="108" href="#108">108</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="109" href="#109">109</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/rule/pattern/package-frame.html b/docs/xref/org/dom4j/rule/pattern/package-frame.html
new file mode 100644
index 0000000..16d4c3b
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/pattern/package-frame.html
@@ -0,0 +1,31 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.rule.pattern</title>
+      <link rel="stylesheet" href="../../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.rule.pattern</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="DefaultPattern.html" target="classFrame">DefaultPattern</a>
+          </li>
+        
+          <li>
+            <a href="NodeTypePattern.html" target="classFrame">NodeTypePattern</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/rule/pattern/package-summary.html b/docs/xref/org/dom4j/rule/pattern/package-summary.html
new file mode 100644
index 0000000..c005e1d
--- /dev/null
+++ b/docs/xref/org/dom4j/rule/pattern/package-summary.html
@@ -0,0 +1,108 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.rule.pattern</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="DefaultPattern.html" target="classFrame">DefaultPattern</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NodeTypePattern.html" target="classFrame">NodeTypePattern</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/swing/BranchTreeNode.html b/docs/xref/org/dom4j/swing/BranchTreeNode.html
new file mode 100644
index 0000000..a378dbd
--- /dev/null
+++ b/docs/xref/org/dom4j/swing/BranchTreeNode.html
@@ -0,0 +1,209 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BranchTreeNode xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/swing/BranchTreeNode.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Enumeration;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> javax.swing.tree.TreeNode;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.CharacterData;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Node;
+<a name="19" href="#19">19</a>  
+<a name="20" href="#20">20</a>  <em>/**<em>*</em></em>
+<a name="21" href="#21">21</a>  <em> * <p></em>
+<a name="22" href="#22">22</a>  <em> * <code>BranchTreeNode</code> implements the Swing TreeNode interface to bind</em>
+<a name="23" href="#23">23</a>  <em> * dom4j XML Branch nodes (i.e. Document and Element nodes) to a Swing</em>
+<a name="24" href="#24">24</a>  <em> * TreeModel.</em>
+<a name="25" href="#25">25</a>  <em> * </p></em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="28" href="#28">28</a>  <em> * @author Jakob Jenkov</em>
+<a name="29" href="#29">29</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="30" href="#30">30</a>  <em> */</em>
+<a name="31" href="#31">31</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/swing/BranchTreeNode.html">BranchTreeNode</a> <strong>extends</strong> <a href="../../../org/dom4j/swing/LeafTreeNode.html">LeafTreeNode</a> {
+<a name="32" href="#32">32</a>      <em>/**<em>* Stores the child tree nodes */</em></em>
+<a name="33" href="#33">33</a>      <strong>protected</strong> List children;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/BranchTreeNode.html">BranchTreeNode</a>() {
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/BranchTreeNode.html">BranchTreeNode</a>(<a href="../../../org/dom4j/Branch.html">Branch</a> xmlNode) {
+<a name="39" href="#39">39</a>          <strong>super</strong>(xmlNode);
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/BranchTreeNode.html">BranchTreeNode</a>(TreeNode parent, <a href="../../../org/dom4j/Branch.html">Branch</a> xmlNode) {
+<a name="43" href="#43">43</a>          <strong>super</strong>(parent, xmlNode);
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em class="comment">// TreeNode methods</em>
+<a name="47" href="#47">47</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="48" href="#48">48</a>      <strong>public</strong> Enumeration children() {
+<a name="49" href="#49">49</a>          <strong>return</strong> <strong>new</strong> Enumeration() {
+<a name="50" href="#50">50</a>              <strong>private</strong> <strong>int</strong> index = -1;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>              <strong>public</strong> <strong>boolean</strong> hasMoreElements() {
+<a name="53" href="#53">53</a>                  <strong>return</strong> (index + 1) < getChildCount();
+<a name="54" href="#54">54</a>              }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>              <strong>public</strong> Object nextElement() {
+<a name="57" href="#57">57</a>                  <strong>return</strong> getChildAt(++index);
+<a name="58" href="#58">58</a>              }
+<a name="59" href="#59">59</a>          };
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>public</strong> <strong>boolean</strong> getAllowsChildren() {
+<a name="63" href="#63">63</a>          <strong>return</strong> <strong>true</strong>;
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <strong>public</strong> TreeNode getChildAt(<strong>int</strong> childIndex) {
+<a name="67" href="#67">67</a>          <strong>return</strong> (TreeNode) getChildList().get(childIndex);
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <strong>public</strong> <strong>int</strong> getChildCount() {
+<a name="71" href="#71">71</a>          <strong>return</strong> getChildList().size();
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>public</strong> <strong>int</strong> getIndex(TreeNode node) {
+<a name="75" href="#75">75</a>          <strong>return</strong> getChildList().indexOf(node);
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> <strong>boolean</strong> isLeaf() {
+<a name="79" href="#79">79</a>          <strong>return</strong> getXmlBranch().nodeCount() <= 0;
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <strong>public</strong> String toString() {
+<a name="83" href="#83">83</a>          <strong>return</strong> xmlNode.getName();
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <em class="comment">// Implementation methods</em>
+<a name="87" href="#87">87</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <em>/**<em>*</em></em>
+<a name="90" href="#90">90</a>  <em>     * Uses Lazy Initialization pattern to create a List of children</em>
+<a name="91" href="#91">91</a>  <em>     * </em>
+<a name="92" href="#92">92</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="93" href="#93">93</a>  <em>     */</em>
+<a name="94" href="#94">94</a>      <strong>protected</strong> List getChildList() {
+<a name="95" href="#95">95</a>          <em class="comment">// for now lets just create the children once, the first time they</em>
+<a name="96" href="#96">96</a>          <em class="comment">// are asked for.</em>
+<a name="97" href="#97">97</a>          <em class="comment">// XXXX - we may wish to detect inconsistencies here....</em>
+<a name="98" href="#98">98</a>          <strong>if</strong> (children == <strong>null</strong>) {
+<a name="99" href="#99">99</a>              children = createChildList();
+<a name="100" href="#100">100</a>         }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         <strong>return</strong> children;
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em>/**<em>*</em></em>
+<a name="106" href="#106">106</a> <em>     * Factory method to create List of children TreeNodes</em>
+<a name="107" href="#107">107</a> <em>     * </em>
+<a name="108" href="#108">108</a> <em>     * @return DOCUMENT ME!</em>
+<a name="109" href="#109">109</a> <em>     */</em>
+<a name="110" href="#110">110</a>     <strong>protected</strong> List createChildList() {
+<a name="111" href="#111">111</a>         <em class="comment">// add attributes and content as children?</em>
+<a name="112" href="#112">112</a>         <a href="../../../org/dom4j/Branch.html">Branch</a> branch = getXmlBranch();
+<a name="113" href="#113">113</a>         <strong>int</strong> size = branch.nodeCount();
+<a name="114" href="#114">114</a>         List childList = <strong>new</strong> ArrayList(size);
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="117" href="#117">117</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = branch.node(i);
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>             <em class="comment">// ignore whitespace text nodes</em>
+<a name="120" href="#120">120</a>             <strong>if</strong> (node instanceof CharacterData) {
+<a name="121" href="#121">121</a>                 String text = node.getText();
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>                 <strong>if</strong> (text == <strong>null</strong>) {
+<a name="124" href="#124">124</a>                     <strong>continue</strong>;
+<a name="125" href="#125">125</a>                 }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>                 text = text.trim();
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>                 <strong>if</strong> (text.length() <= 0) {
+<a name="130" href="#130">130</a>                     <strong>continue</strong>;
+<a name="131" href="#131">131</a>                 }
+<a name="132" href="#132">132</a>             }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>             childList.add(createChildTreeNode(node));
+<a name="135" href="#135">135</a>         }
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>         <strong>return</strong> childList;
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <em>/**<em>*</em></em>
+<a name="141" href="#141">141</a> <em>     * Factory method to create child tree nodes for a given XML node type</em>
+<a name="142" href="#142">142</a> <em>     * </em>
+<a name="143" href="#143">143</a> <em>     * @param xmlNode</em>
+<a name="144" href="#144">144</a> <em>     *            DOCUMENT ME!</em>
+<a name="145" href="#145">145</a> <em>     * </em>
+<a name="146" href="#146">146</a> <em>     * @return DOCUMENT ME!</em>
+<a name="147" href="#147">147</a> <em>     */</em>
+<a name="148" href="#148">148</a>     <strong>protected</strong> TreeNode createChildTreeNode(<a href="../../../org/dom4j/Node.html">Node</a> xmlNode) {
+<a name="149" href="#149">149</a>         <strong>if</strong> (xmlNode instanceof Branch) {
+<a name="150" href="#150">150</a>             <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/swing/BranchTreeNode.html">BranchTreeNode</a>(<strong>this</strong>, (Branch) xmlNode);
+<a name="151" href="#151">151</a>         } <strong>else</strong> {
+<a name="152" href="#152">152</a>             <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/swing/LeafTreeNode.html">LeafTreeNode</a>(<strong>this</strong>, xmlNode);
+<a name="153" href="#153">153</a>         }
+<a name="154" href="#154">154</a>     }
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>     <strong>protected</strong> <a href="../../../org/dom4j/Branch.html">Branch</a> getXmlBranch() {
+<a name="157" href="#157">157</a>         <strong>return</strong> (Branch) xmlNode;
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> }
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a> <em class="comment">/*</em>
+<a name="162" href="#162">162</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="163" href="#163">163</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="164" href="#164">164</a> <em class="comment"> * following conditions are met:</em>
+<a name="165" href="#165">165</a> <em class="comment"> * </em>
+<a name="166" href="#166">166</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="167" href="#167">167</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="168" href="#168">168</a> <em class="comment"> * </em>
+<a name="169" href="#169">169</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="170" href="#170">170</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="171" href="#171">171</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="172" href="#172">172</a> <em class="comment"> * </em>
+<a name="173" href="#173">173</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="174" href="#174">174</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="175" href="#175">175</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="176" href="#176">176</a> <em class="comment"> * </em>
+<a name="177" href="#177">177</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="178" href="#178">178</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="179" href="#179">179</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="180" href="#180">180</a> <em class="comment"> * </em>
+<a name="181" href="#181">181</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="182" href="#182">182</a> <em class="comment"> * </em>
+<a name="183" href="#183">183</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="184" href="#184">184</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="185" href="#185">185</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="186" href="#186">186</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="187" href="#187">187</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="188" href="#188">188</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="189" href="#189">189</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="190" href="#190">190</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="191" href="#191">191</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="192" href="#192">192</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="193" href="#193">193</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="194" href="#194">194</a> <em class="comment"> * </em>
+<a name="195" href="#195">195</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="196" href="#196">196</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/swing/DocumentTreeModel.html b/docs/xref/org/dom4j/swing/DocumentTreeModel.html
new file mode 100644
index 0000000..37e848d
--- /dev/null
+++ b/docs/xref/org/dom4j/swing/DocumentTreeModel.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DocumentTreeModel xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/swing/DocumentTreeModel.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> javax.swing.tree.DefaultTreeModel;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Document;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>DocumentTreeModel</code> implements a Swing TreeModel for a dom4j XML</em>
+<a name="17" href="#17">17</a>  <em> * Document.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @author Jakob Jenkov</em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/swing/DocumentTreeModel.html">DocumentTreeModel</a> <strong>extends</strong> DefaultTreeModel {
+<a name="25" href="#25">25</a>      <em>/**<em>* The document for this model */</em></em>
+<a name="26" href="#26">26</a>      <strong>protected</strong> <a href="../../../org/dom4j/Document.html">Document</a> document;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/DocumentTreeModel.html">DocumentTreeModel</a>(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="29" href="#29">29</a>          <strong>super</strong>(<strong>new</strong> <a href="../../../org/dom4j/swing/BranchTreeNode.html">BranchTreeNode</a>(document));
+<a name="30" href="#30">30</a>          <strong>this</strong>.document = document;
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em class="comment">// Properties</em>
+<a name="34" href="#34">34</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * DOCUMENT ME!</em>
+<a name="38" href="#38">38</a>  <em>     * </em>
+<a name="39" href="#39">39</a>  <em>     * @return the <code>Document</code> instance that this</em>
+<a name="40" href="#40">40</a>  <em>     *         <code>TreeModel</code> is based on</em>
+<a name="41" href="#41">41</a>  <em>     */</em>
+<a name="42" href="#42">42</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getDocument() {
+<a name="43" href="#43">43</a>          <strong>return</strong> document;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>*</em></em>
+<a name="47" href="#47">47</a>  <em>     * Sets the <code>Document</code> instance that this</em>
+<a name="48" href="#48">48</a>  <em>     * <code>TreeModel</code> is based on</em>
+<a name="49" href="#49">49</a>  <em>     * </em>
+<a name="50" href="#50">50</a>  <em>     * @param document</em>
+<a name="51" href="#51">51</a>  <em>     *            DOCUMENT ME!</em>
+<a name="52" href="#52">52</a>  <em>     */</em>
+<a name="53" href="#53">53</a>      <strong>public</strong> <strong>void</strong> setDocument(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="54" href="#54">54</a>          <strong>this</strong>.document = document;
+<a name="55" href="#55">55</a>          setRoot(<strong>new</strong> <a href="../../../org/dom4j/swing/BranchTreeNode.html">BranchTreeNode</a>(document));
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>  <em class="comment">/*</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * following conditions are met:</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="94" href="#94">94</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/swing/LeafTreeNode.html b/docs/xref/org/dom4j/swing/LeafTreeNode.html
new file mode 100644
index 0000000..5563963
--- /dev/null
+++ b/docs/xref/org/dom4j/swing/LeafTreeNode.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>LeafTreeNode xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/swing/LeafTreeNode.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Enumeration;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> javax.swing.tree.TreeNode;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Node;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * <p></em>
+<a name="18" href="#18">18</a>  <em> * <code>LeafTreeNode</code> implements the Swing TreeNode interface to bind a</em>
+<a name="19" href="#19">19</a>  <em> * leaf XML nodes to a Swing TreeModel.</em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @author Jakob Jenkov</em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/swing/LeafTreeNode.html">LeafTreeNode</a> implements TreeNode {
+<a name="27" href="#27">27</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> Enumeration EMPTY_ENUMERATION = <strong>new</strong> Enumeration() {
+<a name="28" href="#28">28</a>          <strong>public</strong> <strong>boolean</strong> hasMoreElements() {
+<a name="29" href="#29">29</a>              <strong>return</strong> false;
+<a name="30" href="#30">30</a>          }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>          <strong>public</strong> Object nextElement() {
+<a name="33" href="#33">33</a>              <strong>return</strong> <strong>null</strong>;
+<a name="34" href="#34">34</a>          }
+<a name="35" href="#35">35</a>      };
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>* The parent node of this TreeNode */</em></em>
+<a name="38" href="#38">38</a>      <strong>private</strong> TreeNode parent;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>* The dom4j <a href="../../../org/dom4j/Node.html">Node</a> which contains the */</em></em>
+<a name="41" href="#41">41</a>      <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> xmlNode;
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/LeafTreeNode.html">LeafTreeNode</a>() {
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/LeafTreeNode.html">LeafTreeNode</a>(<a href="../../../org/dom4j/Node.html">Node</a> xmlNode) {
+<a name="47" href="#47">47</a>          <strong>this</strong>.xmlNode = xmlNode;
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/LeafTreeNode.html">LeafTreeNode</a>(TreeNode parent, <a href="../../../org/dom4j/Node.html">Node</a> xmlNode) {
+<a name="51" href="#51">51</a>          <strong>this</strong>.parent = parent;
+<a name="52" href="#52">52</a>          <strong>this</strong>.xmlNode = xmlNode;
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em class="comment">// TreeNode methods</em>
+<a name="56" href="#56">56</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="57" href="#57">57</a>      <strong>public</strong> Enumeration children() {
+<a name="58" href="#58">58</a>          <strong>return</strong> EMPTY_ENUMERATION;
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>boolean</strong> getAllowsChildren() {
+<a name="62" href="#62">62</a>          <strong>return</strong> false;
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> TreeNode getChildAt(<strong>int</strong> childIndex) {
+<a name="66" href="#66">66</a>          <strong>return</strong> <strong>null</strong>;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <strong>int</strong> getChildCount() {
+<a name="70" href="#70">70</a>          <strong>return</strong> 0;
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <strong>int</strong> getIndex(TreeNode node) {
+<a name="74" href="#74">74</a>          <strong>return</strong> -1;
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> TreeNode getParent() {
+<a name="78" href="#78">78</a>          <strong>return</strong> parent;
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>boolean</strong> isLeaf() {
+<a name="82" href="#82">82</a>          <strong>return</strong> <strong>true</strong>;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> String toString() {
+<a name="86" href="#86">86</a>          <em class="comment">// should maybe do things differently based on content?</em>
+<a name="87" href="#87">87</a>          String text = xmlNode.getText();
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          <strong>return</strong> (text != <strong>null</strong>) ? text.trim() : <span class="string">""</span>;
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <em class="comment">// Properties</em>
+<a name="93" href="#93">93</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <em>/**<em>*</em></em>
+<a name="96" href="#96">96</a>  <em>     * Sets the parent of this node but doesn't change the parents children</em>
+<a name="97" href="#97">97</a>  <em>     * </em>
+<a name="98" href="#98">98</a>  <em>     * @param parent</em>
+<a name="99" href="#99">99</a>  <em>     *            DOCUMENT ME!</em>
+<a name="100" href="#100">100</a> <em>     */</em>
+<a name="101" href="#101">101</a>     <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/swing/LeafTreeNode.html">LeafTreeNode</a> parent) {
+<a name="102" href="#102">102</a>         <strong>this</strong>.parent = parent;
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> getXmlNode() {
+<a name="106" href="#106">106</a>         <strong>return</strong> xmlNode;
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a> <em class="comment">/*</em>
+<a name="111" href="#111">111</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="112" href="#112">112</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="113" href="#113">113</a> <em class="comment"> * following conditions are met:</em>
+<a name="114" href="#114">114</a> <em class="comment"> * </em>
+<a name="115" href="#115">115</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="116" href="#116">116</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="117" href="#117">117</a> <em class="comment"> * </em>
+<a name="118" href="#118">118</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="119" href="#119">119</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="120" href="#120">120</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="121" href="#121">121</a> <em class="comment"> * </em>
+<a name="122" href="#122">122</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="123" href="#123">123</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="124" href="#124">124</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="125" href="#125">125</a> <em class="comment"> * </em>
+<a name="126" href="#126">126</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="127" href="#127">127</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="128" href="#128">128</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="129" href="#129">129</a> <em class="comment"> * </em>
+<a name="130" href="#130">130</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="131" href="#131">131</a> <em class="comment"> * </em>
+<a name="132" href="#132">132</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="133" href="#133">133</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="134" href="#134">134</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="135" href="#135">135</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="136" href="#136">136</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="137" href="#137">137</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="138" href="#138">138</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="139" href="#139">139</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="140" href="#140">140</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="141" href="#141">141</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="142" href="#142">142</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="143" href="#143">143</a> <em class="comment"> * </em>
+<a name="144" href="#144">144</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="145" href="#145">145</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/swing/XMLTableColumnDefinition.html b/docs/xref/org/dom4j/swing/XMLTableColumnDefinition.html
new file mode 100644
index 0000000..9704d7d
--- /dev/null
+++ b/docs/xref/org/dom4j/swing/XMLTableColumnDefinition.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XMLTableColumnDefinition xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/swing/XMLTableColumnDefinition.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.Serializable;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Node;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * <p></em>
+<a name="18" href="#18">18</a>  <em> * <code>XMLTableColumnDefinition</code> a column within a table definition.</em>
+<a name="19" href="#19">19</a>  <em> * </p></em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a> implements Serializable {
+<a name="25" href="#25">25</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> OBJECT_TYPE = 0;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> STRING_TYPE = 1;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> NUMBER_TYPE = 2;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> NODE_TYPE = 3;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>* Holds value of property type. */</em></em>
+<a name="34" href="#34">34</a>      <strong>private</strong> <strong>int</strong> type;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>* Holds value of property name. */</em></em>
+<a name="37" href="#37">37</a>      <strong>private</strong> String name;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>* Holds value of property xpath. */</em></em>
+<a name="40" href="#40">40</a>      <strong>private</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> xpath;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em>/**<em>* Holds the <a href="../../../org/dom4j/XPath.html">XPath</a> used for the column name */</em></em>
+<a name="43" href="#43">43</a>      <strong>private</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> columnNameXPath;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a>() {
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a>(String name, String expression, <strong>int</strong> type) {
+<a name="49" href="#49">49</a>          <strong>this</strong>.name = name;
+<a name="50" href="#50">50</a>          <strong>this</strong>.type = type;
+<a name="51" href="#51">51</a>          <strong>this</strong>.xpath = createXPath(expression);
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a>(String name, <a href="../../../org/dom4j/XPath.html">XPath</a> xpath, <strong>int</strong> type) {
+<a name="55" href="#55">55</a>          <strong>this</strong>.name = name;
+<a name="56" href="#56">56</a>          <strong>this</strong>.xpath = xpath;
+<a name="57" href="#57">57</a>          <strong>this</strong>.type = type;
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a>(<a href="../../../org/dom4j/XPath.html">XPath</a> columnXPath, <a href="../../../org/dom4j/XPath.html">XPath</a> xpath, <strong>int</strong> type) {
+<a name="61" href="#61">61</a>          <strong>this</strong>.xpath = xpath;
+<a name="62" href="#62">62</a>          <strong>this</strong>.columnNameXPath = columnXPath;
+<a name="63" href="#63">63</a>          <strong>this</strong>.type = type;
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <strong>public</strong> <strong>static</strong> <strong>int</strong> parseType(String typeName) {
+<a name="67" href="#67">67</a>          <strong>if</strong> ((typeName != <strong>null</strong>) && (typeName.length() > 0)) {
+<a name="68" href="#68">68</a>              <strong>if</strong> (typeName.equals(<span class="string">"string"</span>)) {
+<a name="69" href="#69">69</a>                  <strong>return</strong> STRING_TYPE;
+<a name="70" href="#70">70</a>              } <strong>else</strong> <strong>if</strong> (typeName.equals(<span class="string">"number"</span>)) {
+<a name="71" href="#71">71</a>                  <strong>return</strong> NUMBER_TYPE;
+<a name="72" href="#72">72</a>              } <strong>else</strong> <strong>if</strong> (typeName.equals(<span class="string">"node"</span>)) {
+<a name="73" href="#73">73</a>                  <strong>return</strong> NODE_TYPE;
+<a name="74" href="#74">74</a>              }
+<a name="75" href="#75">75</a>          }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>          <strong>return</strong> OBJECT_TYPE;
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <strong>public</strong> Class getColumnClass() {
+<a name="81" href="#81">81</a>          <strong>switch</strong> (type) {
+<a name="82" href="#82">82</a>              <strong>case</strong> STRING_TYPE:
+<a name="83" href="#83">83</a>                  <strong>return</strong> String.<strong>class</strong>;
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>              <strong>case</strong> NUMBER_TYPE:
+<a name="86" href="#86">86</a>                  <strong>return</strong> Number.<strong>class</strong>;
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>              <strong>case</strong> NODE_TYPE:
+<a name="89" href="#89">89</a>                  <strong>return</strong> Node.<strong>class</strong>;
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>              <strong>default</strong>:
+<a name="92" href="#92">92</a>                  <strong>return</strong> Object.<strong>class</strong>;
+<a name="93" href="#93">93</a>          }
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <strong>public</strong> Object getValue(Object row) {
+<a name="97" href="#97">97</a>          <strong>switch</strong> (type) {
+<a name="98" href="#98">98</a>              <strong>case</strong> STRING_TYPE:
+<a name="99" href="#99">99</a>                  <strong>return</strong> xpath.valueOf(row);
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>             <strong>case</strong> NUMBER_TYPE:
+<a name="102" href="#102">102</a>                 <strong>return</strong> xpath.numberValueOf(row);
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>             <strong>case</strong> NODE_TYPE:
+<a name="105" href="#105">105</a>                 <strong>return</strong> xpath.selectSingleNode(row);
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>             <strong>default</strong>:
+<a name="108" href="#108">108</a>                 <strong>return</strong> xpath.evaluate(row);
+<a name="109" href="#109">109</a>         }
+<a name="110" href="#110">110</a>     }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <em class="comment">// Properties</em>
+<a name="113" href="#113">113</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <em>/**<em>*</em></em>
+<a name="116" href="#116">116</a> <em>     * Getter for property type.</em>
+<a name="117" href="#117">117</a> <em>     * </em>
+<a name="118" href="#118">118</a> <em>     * @return Value of property type.</em>
+<a name="119" href="#119">119</a> <em>     */</em>
+<a name="120" href="#120">120</a>     <strong>public</strong> <strong>int</strong> getType() {
+<a name="121" href="#121">121</a>         <strong>return</strong> type;
+<a name="122" href="#122">122</a>     }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <em>/**<em>*</em></em>
+<a name="125" href="#125">125</a> <em>     * Setter for property type.</em>
+<a name="126" href="#126">126</a> <em>     * </em>
+<a name="127" href="#127">127</a> <em>     * @param type</em>
+<a name="128" href="#128">128</a> <em>     *            New value of property type.</em>
+<a name="129" href="#129">129</a> <em>     */</em>
+<a name="130" href="#130">130</a>     <strong>public</strong> <strong>void</strong> setType(<strong>int</strong> type) {
+<a name="131" href="#131">131</a>         <strong>this</strong>.type = type;
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>     <em>/**<em>*</em></em>
+<a name="135" href="#135">135</a> <em>     * Getter for property name.</em>
+<a name="136" href="#136">136</a> <em>     * </em>
+<a name="137" href="#137">137</a> <em>     * @return Value of property name.</em>
+<a name="138" href="#138">138</a> <em>     */</em>
+<a name="139" href="#139">139</a>     <strong>public</strong> String getName() {
+<a name="140" href="#140">140</a>         <strong>return</strong> name;
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <em>/**<em>*</em></em>
+<a name="144" href="#144">144</a> <em>     * Setter for property name.</em>
+<a name="145" href="#145">145</a> <em>     * </em>
+<a name="146" href="#146">146</a> <em>     * @param name</em>
+<a name="147" href="#147">147</a> <em>     *            New value of property name.</em>
+<a name="148" href="#148">148</a> <em>     */</em>
+<a name="149" href="#149">149</a>     <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="150" href="#150">150</a>         <strong>this</strong>.name = name;
+<a name="151" href="#151">151</a>     }
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>     <em>/**<em>*</em></em>
+<a name="154" href="#154">154</a> <em>     * Getter for property xpath.</em>
+<a name="155" href="#155">155</a> <em>     * </em>
+<a name="156" href="#156">156</a> <em>     * @return Value of property xpath.</em>
+<a name="157" href="#157">157</a> <em>     */</em>
+<a name="158" href="#158">158</a>     <strong>public</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> getXPath() {
+<a name="159" href="#159">159</a>         <strong>return</strong> xpath;
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <em>/**<em>*</em></em>
+<a name="163" href="#163">163</a> <em>     * Setter for property xpath.</em>
+<a name="164" href="#164">164</a> <em>     * </em>
+<a name="165" href="#165">165</a> <em>     * @param xPath</em>
+<a name="166" href="#166">166</a> <em>     *            New value of property xpath.</em>
+<a name="167" href="#167">167</a> <em>     */</em>
+<a name="168" href="#168">168</a>     <strong>public</strong> <strong>void</strong> setXPath(<a href="../../../org/dom4j/XPath.html">XPath</a> xPath) {
+<a name="169" href="#169">169</a>         <strong>this</strong>.xpath = xPath;
+<a name="170" href="#170">170</a>     }
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>     <em>/**<em>*</em></em>
+<a name="173" href="#173">173</a> <em>     * DOCUMENT ME!</em>
+<a name="174" href="#174">174</a> <em>     * </em>
+<a name="175" href="#175">175</a> <em>     * @return the XPath used to create the column name</em>
+<a name="176" href="#176">176</a> <em>     */</em>
+<a name="177" href="#177">177</a>     <strong>public</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> getColumnNameXPath() {
+<a name="178" href="#178">178</a>         <strong>return</strong> columnNameXPath;
+<a name="179" href="#179">179</a>     }
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>     <em>/**<em>*</em></em>
+<a name="182" href="#182">182</a> <em>     * Setter for property columnNameXPath.</em>
+<a name="183" href="#183">183</a> <em>     * </em>
+<a name="184" href="#184">184</a> <em>     * @param columnNameXPath</em>
+<a name="185" href="#185">185</a> <em>     *            New value of property xpath.</em>
+<a name="186" href="#186">186</a> <em>     */</em>
+<a name="187" href="#187">187</a>     <strong>public</strong> <strong>void</strong> setColumnNameXPath(<a href="../../../org/dom4j/XPath.html">XPath</a> columnNameXPath) {
+<a name="188" href="#188">188</a>         <strong>this</strong>.columnNameXPath = columnNameXPath;
+<a name="189" href="#189">189</a>     }
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>     <em class="comment">// Implementation methods</em>
+<a name="192" href="#192">192</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="193" href="#193">193</a>     <strong>protected</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> createXPath(String expression) {
+<a name="194" href="#194">194</a>         <strong>return</strong> DocumentHelper.createXPath(expression);
+<a name="195" href="#195">195</a>     }
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>     <strong>protected</strong> <strong>void</strong> handleException(Exception e) {
+<a name="198" href="#198">198</a>         <em class="comment">// #### should use jakarta commons-logging</em>
+<a name="199" href="#199">199</a>         System.out.println(<span class="string">"Caught: "</span> + e);
+<a name="200" href="#200">200</a>     }
+<a name="201" href="#201">201</a> }
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a> <em class="comment">/*</em>
+<a name="204" href="#204">204</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="205" href="#205">205</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="206" href="#206">206</a> <em class="comment"> * following conditions are met:</em>
+<a name="207" href="#207">207</a> <em class="comment"> * </em>
+<a name="208" href="#208">208</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="209" href="#209">209</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="210" href="#210">210</a> <em class="comment"> * </em>
+<a name="211" href="#211">211</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="212" href="#212">212</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="213" href="#213">213</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="214" href="#214">214</a> <em class="comment"> * </em>
+<a name="215" href="#215">215</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="216" href="#216">216</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="217" href="#217">217</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="218" href="#218">218</a> <em class="comment"> * </em>
+<a name="219" href="#219">219</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="220" href="#220">220</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="221" href="#221">221</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="222" href="#222">222</a> <em class="comment"> * </em>
+<a name="223" href="#223">223</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="224" href="#224">224</a> <em class="comment"> * </em>
+<a name="225" href="#225">225</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="226" href="#226">226</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="227" href="#227">227</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="228" href="#228">228</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="229" href="#229">229</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="230" href="#230">230</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="231" href="#231">231</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="232" href="#232">232</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="233" href="#233">233</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="234" href="#234">234</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="235" href="#235">235</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="236" href="#236">236</a> <em class="comment"> * </em>
+<a name="237" href="#237">237</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="238" href="#238">238</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/swing/XMLTableDefinition.html b/docs/xref/org/dom4j/swing/XMLTableDefinition.html
new file mode 100644
index 0000000..b2f35f5
--- /dev/null
+++ b/docs/xref/org/dom4j/swing/XMLTableDefinition.html
@@ -0,0 +1,330 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XMLTableDefinition xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/swing/XMLTableDefinition.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.Serializable;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.ArrayList;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.HashMap;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Iterator;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.List;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Map;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Document;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Element;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>import</strong> org.jaxen.VariableContext;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <em>/**<em>*</em></em>
+<a name="25" href="#25">25</a>  <em> * <p></em>
+<a name="26" href="#26">26</a>  <em> * <code>XMLTableDefinition</code> represents a table definition based on</em>
+<a name="27" href="#27">27</a>  <em> * XPath expression evaluated on an XML document.</em>
+<a name="28" href="#28">28</a>  <em> * </p></em>
+<a name="29" href="#29">29</a>  <em> * </em>
+<a name="30" href="#30">30</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="31" href="#31">31</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="32" href="#32">32</a>  <em> */</em>
+<a name="33" href="#33">33</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a> implements Serializable, VariableContext {
+<a name="34" href="#34">34</a>      <em>/**<em>* Holds value of property rowXPath. */</em></em>
+<a name="35" href="#35">35</a>      <strong>private</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> rowXPath;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>* The columns to display in this table */</em></em>
+<a name="38" href="#38">38</a>      <strong>private</strong> List columns = <strong>new</strong> ArrayList();
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>* integer index array cache */</em></em>
+<a name="41" href="#41">41</a>      <strong>private</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a>[] columnArray;
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>* name index cache */</em></em>
+<a name="44" href="#44">44</a>      <strong>private</strong> Map columnNameIndex;
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>* for cross-row variables */</em></em>
+<a name="47" href="#47">47</a>      <strong>private</strong> VariableContext variableContext;
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>* stores the current row value for the variableContext */</em></em>
+<a name="50" href="#50">50</a>      <strong>private</strong> Object rowValue;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a>() {
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em>/**<em>*</em></em>
+<a name="56" href="#56">56</a>  <em>     * Loads an XML table definition from an XML definition document</em>
+<a name="57" href="#57">57</a>  <em>     * </em>
+<a name="58" href="#58">58</a>  <em>     * @param definition</em>
+<a name="59" href="#59">59</a>  <em>     *            DOCUMENT ME!</em>
+<a name="60" href="#60">60</a>  <em>     * </em>
+<a name="61" href="#61">61</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="62" href="#62">62</a>  <em>     */</em>
+<a name="63" href="#63">63</a>      <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a> load(<a href="../../../org/dom4j/Document.html">Document</a> definition) {
+<a name="64" href="#64">64</a>          <strong>return</strong> load(definition.getRootElement());
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <em>/**<em>*</em></em>
+<a name="68" href="#68">68</a>  <em>     * Loads an XML table definition from an XML definition document</em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @param definition</em>
+<a name="71" href="#71">71</a>  <em>     *            DOCUMENT ME!</em>
+<a name="72" href="#72">72</a>  <em>     * </em>
+<a name="73" href="#73">73</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="74" href="#74">74</a>  <em>     */</em>
+<a name="75" href="#75">75</a>      <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a> load(<a href="../../../org/dom4j/Element.html">Element</a> definition) {
+<a name="76" href="#76">76</a>          <a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a> answer = <strong>new</strong> <a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a>();
+<a name="77" href="#77">77</a>          answer.setRowExpression(definition.attributeValue(<span class="string">"select"</span>));
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>          <strong>for</strong> (Iterator iter = definition.elementIterator(<span class="string">"column"</span>); iter
+<a name="80" href="#80">80</a>                  .hasNext();) {
+<a name="81" href="#81">81</a>              <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) iter.next();
+<a name="82" href="#82">82</a>              String expression = element.attributeValue(<span class="string">"select"</span>);
+<a name="83" href="#83">83</a>              String name = element.getText();
+<a name="84" href="#84">84</a>              String typeName = element.attributeValue(<span class="string">"type"</span>, <span class="string">"string"</span>);
+<a name="85" href="#85">85</a>              String columnXPath = element.attributeValue(<span class="string">"columnNameXPath"</span>);
+<a name="86" href="#86">86</a>              <strong>int</strong> type = XMLTableColumnDefinition.parseType(typeName);
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>              <strong>if</strong> (columnXPath != <strong>null</strong>) {
+<a name="89" href="#89">89</a>                  answer.addColumnWithXPathName(columnXPath, expression, type);
+<a name="90" href="#90">90</a>              } <strong>else</strong> {
+<a name="91" href="#91">91</a>                  answer.addColumn(name, expression, type);
+<a name="92" href="#92">92</a>              }
+<a name="93" href="#93">93</a>          }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>          <strong>return</strong> answer;
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <strong>public</strong> Class getColumnClass(<strong>int</strong> columnIndex) {
+<a name="99" href="#99">99</a>          <strong>return</strong> getColumn(columnIndex).getColumnClass();
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>int</strong> getColumnCount() {
+<a name="103" href="#103">103</a>         <strong>return</strong> columns.size();
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <em>/**<em>*</em></em>
+<a name="107" href="#107">107</a> <em>     * DOCUMENT ME!</em>
+<a name="108" href="#108">108</a> <em>     * </em>
+<a name="109" href="#109">109</a> <em>     * @param columnIndex</em>
+<a name="110" href="#110">110</a> <em>     *            DOCUMENT ME!</em>
+<a name="111" href="#111">111</a> <em>     * </em>
+<a name="112" href="#112">112</a> <em>     * @return the static column name. This is used if there is no</em>
+<a name="113" href="#113">113</a> <em>     *         columnNameXPath</em>
+<a name="114" href="#114">114</a> <em>     */</em>
+<a name="115" href="#115">115</a>     <strong>public</strong> String getColumnName(<strong>int</strong> columnIndex) {
+<a name="116" href="#116">116</a>         <strong>return</strong> getColumn(columnIndex).getName();
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <em>/**<em>*</em></em>
+<a name="120" href="#120">120</a> <em>     * DOCUMENT ME!</em>
+<a name="121" href="#121">121</a> <em>     * </em>
+<a name="122" href="#122">122</a> <em>     * @param columnIndex</em>
+<a name="123" href="#123">123</a> <em>     *            DOCUMENT ME!</em>
+<a name="124" href="#124">124</a> <em>     * </em>
+<a name="125" href="#125">125</a> <em>     * @return the XPath expression used to evaluate the value of cells in this</em>
+<a name="126" href="#126">126</a> <em>     *         column</em>
+<a name="127" href="#127">127</a> <em>     */</em>
+<a name="128" href="#128">128</a>     <strong>public</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> getColumnXPath(<strong>int</strong> columnIndex) {
+<a name="129" href="#129">129</a>         <strong>return</strong> getColumn(columnIndex).getXPath();
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <em>/**<em>*</em></em>
+<a name="133" href="#133">133</a> <em>     * DOCUMENT ME!</em>
+<a name="134" href="#134">134</a> <em>     * </em>
+<a name="135" href="#135">135</a> <em>     * @param columnIndex</em>
+<a name="136" href="#136">136</a> <em>     *            DOCUMENT ME!</em>
+<a name="137" href="#137">137</a> <em>     * </em>
+<a name="138" href="#138">138</a> <em>     * @return the XPath expresssion used to create the column name, if there is</em>
+<a name="139" href="#139">139</a> <em>     *         one or null if there is no XPath expression to name the column.</em>
+<a name="140" href="#140">140</a> <em>     */</em>
+<a name="141" href="#141">141</a>     <strong>public</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> getColumnNameXPath(<strong>int</strong> columnIndex) {
+<a name="142" href="#142">142</a>         <strong>return</strong> getColumn(columnIndex).getColumnNameXPath();
+<a name="143" href="#143">143</a>     }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <strong>public</strong> <strong>synchronized</strong> Object getValueAt(Object row, <strong>int</strong> columnIndex) {
+<a name="146" href="#146">146</a>         <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a> column = getColumn(columnIndex);
+<a name="147" href="#147">147</a>         Object answer = <strong>null</strong>;
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>         <strong>synchronized</strong> (<strong>this</strong>) {
+<a name="150" href="#150">150</a>             <strong>this</strong>.rowValue = row;
+<a name="151" href="#151">151</a>             answer = column.getValue(row);
+<a name="152" href="#152">152</a>             <strong>this</strong>.rowValue = <strong>null</strong>;
+<a name="153" href="#153">153</a>         }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>         <strong>return</strong> answer;
+<a name="156" href="#156">156</a>     }
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <strong>public</strong> <strong>void</strong> addColumn(String name, String expression) {
+<a name="159" href="#159">159</a>         addColumn(name, expression, XMLTableColumnDefinition.OBJECT_TYPE);
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <strong>public</strong> <strong>void</strong> addColumn(String name, String expression, <strong>int</strong> type) {
+<a name="163" href="#163">163</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = createColumnXPath(expression);
+<a name="164" href="#164">164</a>         addColumn(<strong>new</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a>(name, xpath, type));
+<a name="165" href="#165">165</a>     }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>     <strong>public</strong> <strong>void</strong> addColumnWithXPathName(String columnNameXPathExpression,
+<a name="168" href="#168">168</a>             String expression, <strong>int</strong> type) {
+<a name="169" href="#169">169</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> columnNameXPath = createColumnXPath(columnNameXPathExpression);
+<a name="170" href="#170">170</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = createColumnXPath(expression);
+<a name="171" href="#171">171</a>         addColumn(<strong>new</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a>(columnNameXPath, xpath, type));
+<a name="172" href="#172">172</a>     }
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>     <strong>public</strong> <strong>void</strong> addStringColumn(String name, String expression) {
+<a name="175" href="#175">175</a>         addColumn(name, expression, XMLTableColumnDefinition.STRING_TYPE);
+<a name="176" href="#176">176</a>     }
+<a name="177" href="#177">177</a> 
+<a name="178" href="#178">178</a>     <strong>public</strong> <strong>void</strong> addNumberColumn(String name, String expression) {
+<a name="179" href="#179">179</a>         addColumn(name, expression, XMLTableColumnDefinition.NUMBER_TYPE);
+<a name="180" href="#180">180</a>     }
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>     <strong>public</strong> <strong>void</strong> addColumn(<a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a> column) {
+<a name="183" href="#183">183</a>         clearCaches();
+<a name="184" href="#184">184</a>         columns.add(column);
+<a name="185" href="#185">185</a>     }
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>     <strong>public</strong> <strong>void</strong> removeColumn(<a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a> column) {
+<a name="188" href="#188">188</a>         clearCaches();
+<a name="189" href="#189">189</a>         columns.remove(column);
+<a name="190" href="#190">190</a>     }
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>     <strong>public</strong> <strong>void</strong> clear() {
+<a name="193" href="#193">193</a>         clearCaches();
+<a name="194" href="#194">194</a>         columns.clear();
+<a name="195" href="#195">195</a>     }
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>     <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a> getColumn(<strong>int</strong> index) {
+<a name="198" href="#198">198</a>         <strong>if</strong> (columnArray == <strong>null</strong>) {
+<a name="199" href="#199">199</a>             columnArray = <strong>new</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a>[columns.size()];
+<a name="200" href="#200">200</a>             columns.toArray(columnArray);
+<a name="201" href="#201">201</a>         }
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>         <strong>return</strong> columnArray[index];
+<a name="204" href="#204">204</a>     }
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>     <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a> getColumn(String columnName) {
+<a name="207" href="#207">207</a>         <strong>if</strong> (columnNameIndex == <strong>null</strong>) {
+<a name="208" href="#208">208</a>             columnNameIndex = <strong>new</strong> HashMap();
+<a name="209" href="#209">209</a> 
+<a name="210" href="#210">210</a>             <strong>for</strong> (Iterator it = columns.iterator(); it.hasNext();) {
+<a name="211" href="#211">211</a>                 <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a> column = (XMLTableColumnDefinition) it
+<a name="212" href="#212">212</a>                         .next();
+<a name="213" href="#213">213</a>                 columnNameIndex.put(column.getName(), column);
+<a name="214" href="#214">214</a>             }
+<a name="215" href="#215">215</a>         }
+<a name="216" href="#216">216</a> 
+<a name="217" href="#217">217</a>         <strong>return</strong> (XMLTableColumnDefinition) columnNameIndex.get(columnName);
+<a name="218" href="#218">218</a>     }
+<a name="219" href="#219">219</a> 
+<a name="220" href="#220">220</a>     <em>/**<em>*</em></em>
+<a name="221" href="#221">221</a> <em>     * Getter for property rowXPath.</em>
+<a name="222" href="#222">222</a> <em>     * </em>
+<a name="223" href="#223">223</a> <em>     * @return Value of property rowXPath.</em>
+<a name="224" href="#224">224</a> <em>     */</em>
+<a name="225" href="#225">225</a>     <strong>public</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> getRowXPath() {
+<a name="226" href="#226">226</a>         <strong>return</strong> rowXPath;
+<a name="227" href="#227">227</a>     }
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>     <em>/**<em>*</em></em>
+<a name="230" href="#230">230</a> <em>     * Setter for property rowXPath.</em>
+<a name="231" href="#231">231</a> <em>     * </em>
+<a name="232" href="#232">232</a> <em>     * @param rowXPath</em>
+<a name="233" href="#233">233</a> <em>     *            New value of property rowXPath.</em>
+<a name="234" href="#234">234</a> <em>     */</em>
+<a name="235" href="#235">235</a>     <strong>public</strong> <strong>void</strong> setRowXPath(<a href="../../../org/dom4j/XPath.html">XPath</a> rowXPath) {
+<a name="236" href="#236">236</a>         <strong>this</strong>.rowXPath = rowXPath;
+<a name="237" href="#237">237</a>     }
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>     <strong>public</strong> <strong>void</strong> setRowExpression(String xpath) {
+<a name="240" href="#240">240</a>         setRowXPath(createXPath(xpath));
+<a name="241" href="#241">241</a>     }
+<a name="242" href="#242">242</a> 
+<a name="243" href="#243">243</a>     <em class="comment">// VariableContext interface</em>
+<a name="244" href="#244">244</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="245" href="#245">245</a>     <strong>public</strong> Object getVariableValue(String namespaceURI, String prefix,
+<a name="246" href="#246">246</a>             String localName) {
+<a name="247" href="#247">247</a>         <a href="../../../org/dom4j/swing/XMLTableColumnDefinition.html">XMLTableColumnDefinition</a> column = getColumn(localName);
+<a name="248" href="#248">248</a> 
+<a name="249" href="#249">249</a>         <strong>if</strong> (column != <strong>null</strong>) {
+<a name="250" href="#250">250</a>             <strong>return</strong> column.getValue(rowValue);
+<a name="251" href="#251">251</a>         }
+<a name="252" href="#252">252</a> 
+<a name="253" href="#253">253</a>         <strong>return</strong> <strong>null</strong>;
+<a name="254" href="#254">254</a>     }
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a>     <em class="comment">// Implementation methods</em>
+<a name="257" href="#257">257</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="258" href="#258">258</a>     <strong>protected</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> createXPath(String expression) {
+<a name="259" href="#259">259</a>         <strong>return</strong> DocumentHelper.createXPath(expression);
+<a name="260" href="#260">260</a>     }
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>     <strong>protected</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> createColumnXPath(String expression) {
+<a name="263" href="#263">263</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(expression);
+<a name="264" href="#264">264</a> 
+<a name="265" href="#265">265</a>         <em class="comment">// associate my variable context</em>
+<a name="266" href="#266">266</a>         xpath.setVariableContext(<strong>this</strong>);
+<a name="267" href="#267">267</a> 
+<a name="268" href="#268">268</a>         <strong>return</strong> xpath;
+<a name="269" href="#269">269</a>     }
+<a name="270" href="#270">270</a> 
+<a name="271" href="#271">271</a>     <strong>protected</strong> <strong>void</strong> clearCaches() {
+<a name="272" href="#272">272</a>         columnArray = <strong>null</strong>;
+<a name="273" href="#273">273</a>         columnNameIndex = <strong>null</strong>;
+<a name="274" href="#274">274</a>     }
+<a name="275" href="#275">275</a> 
+<a name="276" href="#276">276</a>     <strong>protected</strong> <strong>void</strong> handleException(Exception e) {
+<a name="277" href="#277">277</a>         <em class="comment">// #### should use jakarta commons-logging</em>
+<a name="278" href="#278">278</a>         System.out.println(<span class="string">"Caught: "</span> + e);
+<a name="279" href="#279">279</a>     }
+<a name="280" href="#280">280</a> }
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a> <em class="comment">/*</em>
+<a name="283" href="#283">283</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="284" href="#284">284</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="285" href="#285">285</a> <em class="comment"> * following conditions are met:</em>
+<a name="286" href="#286">286</a> <em class="comment"> * </em>
+<a name="287" href="#287">287</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="288" href="#288">288</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="289" href="#289">289</a> <em class="comment"> * </em>
+<a name="290" href="#290">290</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="291" href="#291">291</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="292" href="#292">292</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="293" href="#293">293</a> <em class="comment"> * </em>
+<a name="294" href="#294">294</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="295" href="#295">295</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="296" href="#296">296</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="297" href="#297">297</a> <em class="comment"> * </em>
+<a name="298" href="#298">298</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="299" href="#299">299</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="300" href="#300">300</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="301" href="#301">301</a> <em class="comment"> * </em>
+<a name="302" href="#302">302</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="303" href="#303">303</a> <em class="comment"> * </em>
+<a name="304" href="#304">304</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="305" href="#305">305</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="306" href="#306">306</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="307" href="#307">307</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="308" href="#308">308</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="309" href="#309">309</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="310" href="#310">310</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="311" href="#311">311</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="312" href="#312">312</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="313" href="#313">313</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="314" href="#314">314</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="315" href="#315">315</a> <em class="comment"> * </em>
+<a name="316" href="#316">316</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="317" href="#317">317</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/swing/XMLTableModel.html b/docs/xref/org/dom4j/swing/XMLTableModel.html
new file mode 100644
index 0000000..ab0ea76
--- /dev/null
+++ b/docs/xref/org/dom4j/swing/XMLTableModel.html
@@ -0,0 +1,216 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XMLTableModel xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/swing/XMLTableModel.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/swing/package-summary.html">org.dom4j.swing</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.List;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> javax.swing.table.AbstractTableModel;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Document;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Element;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>XMLTableDefinition</code> repro.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/swing/XMLTableModel.html">XMLTableModel</a> <strong>extends</strong> AbstractTableModel {
+<a name="27" href="#27">27</a>      <em>/**<em>* Holds value of property definition. */</em></em>
+<a name="28" href="#28">28</a>      <strong>private</strong> <a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a> definition;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>* Holds value of property source. */</em></em>
+<a name="31" href="#31">31</a>      <strong>private</strong> Object source;
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>* The rows evaluated from the row <a href="../../../org/dom4j/XPath.html">XPath</a> expression */</em></em>
+<a name="34" href="#34">34</a>      <strong>private</strong> List rows;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * Creates a TableModel from an XML table definition document and an XML</em>
+<a name="38" href="#38">38</a>  <em>     * source</em>
+<a name="39" href="#39">39</a>  <em>     * </em>
+<a name="40" href="#40">40</a>  <em>     * @param tableDefinition</em>
+<a name="41" href="#41">41</a>  <em>     *            DOCUMENT ME!</em>
+<a name="42" href="#42">42</a>  <em>     * @param source</em>
+<a name="43" href="#43">43</a>  <em>     *            DOCUMENT ME!</em>
+<a name="44" href="#44">44</a>  <em>     */</em>
+<a name="45" href="#45">45</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableModel.html">XMLTableModel</a>(<a href="../../../org/dom4j/Element.html">Element</a> tableDefinition, Object source) {
+<a name="46" href="#46">46</a>          <strong>this</strong>(XMLTableDefinition.load(tableDefinition), source);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>*</em></em>
+<a name="50" href="#50">50</a>  <em>     * Creates a TableModel from an XML table definition document and an XML</em>
+<a name="51" href="#51">51</a>  <em>     * source</em>
+<a name="52" href="#52">52</a>  <em>     * </em>
+<a name="53" href="#53">53</a>  <em>     * @param tableDefinition</em>
+<a name="54" href="#54">54</a>  <em>     *            DOCUMENT ME!</em>
+<a name="55" href="#55">55</a>  <em>     * @param source</em>
+<a name="56" href="#56">56</a>  <em>     *            DOCUMENT ME!</em>
+<a name="57" href="#57">57</a>  <em>     */</em>
+<a name="58" href="#58">58</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableModel.html">XMLTableModel</a>(<a href="../../../org/dom4j/Document.html">Document</a> tableDefinition, Object source) {
+<a name="59" href="#59">59</a>          <strong>this</strong>(XMLTableDefinition.load(tableDefinition), source);
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableModel.html">XMLTableModel</a>(<a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a> definition, Object source) {
+<a name="63" href="#63">63</a>          <strong>this</strong>.definition = definition;
+<a name="64" href="#64">64</a>          <strong>this</strong>.source = source;
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <strong>public</strong> Object getRowValue(<strong>int</strong> rowIndex) {
+<a name="68" href="#68">68</a>          <strong>return</strong> getRows().get(rowIndex);
+<a name="69" href="#69">69</a>      }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <strong>public</strong> List getRows() {
+<a name="72" href="#72">72</a>          <strong>if</strong> (rows == <strong>null</strong>) {
+<a name="73" href="#73">73</a>              rows = definition.getRowXPath().selectNodes(source);
+<a name="74" href="#74">74</a>          }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>          <strong>return</strong> rows;
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <em class="comment">// TableModel interface</em>
+<a name="80" href="#80">80</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="81" href="#81">81</a>      <strong>public</strong> Class getColumnClass(<strong>int</strong> columnIndex) {
+<a name="82" href="#82">82</a>          <strong>return</strong> definition.getColumnClass(columnIndex);
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <strong>int</strong> getColumnCount() {
+<a name="86" href="#86">86</a>          <strong>return</strong> definition.getColumnCount();
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> String getColumnName(<strong>int</strong> columnIndex) {
+<a name="90" href="#90">90</a>          <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = definition.getColumnNameXPath(columnIndex);
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>          <strong>if</strong> (xpath != <strong>null</strong>) {
+<a name="93" href="#93">93</a>              System.out.println(<span class="string">"Evaluating column xpath: "</span> + xpath + <span class="string">" value: "</span>
+<a name="94" href="#94">94</a>                      + xpath.valueOf(source));
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>              <strong>return</strong> xpath.valueOf(source);
+<a name="97" href="#97">97</a>          }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          <strong>return</strong> definition.getColumnName(columnIndex);
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> Object getValueAt(<strong>int</strong> rowIndex, <strong>int</strong> columnIndex) {
+<a name="103" href="#103">103</a>         <strong>try</strong> {
+<a name="104" href="#104">104</a>             Object row = getRowValue(rowIndex);
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>             <strong>return</strong> definition.getValueAt(row, columnIndex);
+<a name="107" href="#107">107</a>         } <strong>catch</strong> (Exception e) {
+<a name="108" href="#108">108</a>             handleException(e);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>             <strong>return</strong> <strong>null</strong>;
+<a name="111" href="#111">111</a>         }
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> <strong>int</strong> getRowCount() {
+<a name="115" href="#115">115</a>         <strong>return</strong> getRows().size();
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <em class="comment">// Properties</em>
+<a name="119" href="#119">119</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <em>/**<em>*</em></em>
+<a name="122" href="#122">122</a> <em>     * Getter for property definition.</em>
+<a name="123" href="#123">123</a> <em>     * </em>
+<a name="124" href="#124">124</a> <em>     * @return Value of property definition.</em>
+<a name="125" href="#125">125</a> <em>     */</em>
+<a name="126" href="#126">126</a>     <strong>public</strong> <a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a> getDefinition() {
+<a name="127" href="#127">127</a>         <strong>return</strong> definition;
+<a name="128" href="#128">128</a>     }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>     <em>/**<em>*</em></em>
+<a name="131" href="#131">131</a> <em>     * Setter for property definition.</em>
+<a name="132" href="#132">132</a> <em>     * </em>
+<a name="133" href="#133">133</a> <em>     * @param definition</em>
+<a name="134" href="#134">134</a> <em>     *            New value of property definition.</em>
+<a name="135" href="#135">135</a> <em>     */</em>
+<a name="136" href="#136">136</a>     <strong>public</strong> <strong>void</strong> setDefinition(<a href="../../../org/dom4j/swing/XMLTableDefinition.html">XMLTableDefinition</a> definition) {
+<a name="137" href="#137">137</a>         <strong>this</strong>.definition = definition;
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <em>/**<em>*</em></em>
+<a name="141" href="#141">141</a> <em>     * Getter for the XML source, which is usually a Node or List of nodes.</em>
+<a name="142" href="#142">142</a> <em>     * </em>
+<a name="143" href="#143">143</a> <em>     * @return Value of property source.</em>
+<a name="144" href="#144">144</a> <em>     */</em>
+<a name="145" href="#145">145</a>     <strong>public</strong> Object getSource() {
+<a name="146" href="#146">146</a>         <strong>return</strong> source;
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <em>/**<em>*</em></em>
+<a name="150" href="#150">150</a> <em>     * Setter for the XML source, which is usually a Node or List of nodes.</em>
+<a name="151" href="#151">151</a> <em>     * </em>
+<a name="152" href="#152">152</a> <em>     * @param source</em>
+<a name="153" href="#153">153</a> <em>     *            New value of property source.</em>
+<a name="154" href="#154">154</a> <em>     */</em>
+<a name="155" href="#155">155</a>     <strong>public</strong> <strong>void</strong> setSource(Object source) {
+<a name="156" href="#156">156</a>         <strong>this</strong>.source = source;
+<a name="157" href="#157">157</a>         <strong>this</strong>.rows = <strong>null</strong>;
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <em class="comment">// Implementation methods</em>
+<a name="161" href="#161">161</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="162" href="#162">162</a>     <strong>protected</strong> <strong>void</strong> handleException(Exception e) {
+<a name="163" href="#163">163</a>         <em class="comment">// #### should use jakarta commons-logging</em>
+<a name="164" href="#164">164</a>         System.out.println(<span class="string">"Caught: "</span> + e);
+<a name="165" href="#165">165</a>     }
+<a name="166" href="#166">166</a> }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a> <em class="comment">/*</em>
+<a name="169" href="#169">169</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="170" href="#170">170</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="171" href="#171">171</a> <em class="comment"> * following conditions are met:</em>
+<a name="172" href="#172">172</a> <em class="comment"> * </em>
+<a name="173" href="#173">173</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="174" href="#174">174</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="175" href="#175">175</a> <em class="comment"> * </em>
+<a name="176" href="#176">176</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="177" href="#177">177</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="178" href="#178">178</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="179" href="#179">179</a> <em class="comment"> * </em>
+<a name="180" href="#180">180</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="181" href="#181">181</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="182" href="#182">182</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="183" href="#183">183</a> <em class="comment"> * </em>
+<a name="184" href="#184">184</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="185" href="#185">185</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="186" href="#186">186</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="187" href="#187">187</a> <em class="comment"> * </em>
+<a name="188" href="#188">188</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="189" href="#189">189</a> <em class="comment"> * </em>
+<a name="190" href="#190">190</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="191" href="#191">191</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="192" href="#192">192</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="193" href="#193">193</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="194" href="#194">194</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="195" href="#195">195</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="196" href="#196">196</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="197" href="#197">197</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="198" href="#198">198</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="199" href="#199">199</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="200" href="#200">200</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="201" href="#201">201</a> <em class="comment"> * </em>
+<a name="202" href="#202">202</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="203" href="#203">203</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/swing/package-frame.html b/docs/xref/org/dom4j/swing/package-frame.html
new file mode 100644
index 0000000..f04f34a
--- /dev/null
+++ b/docs/xref/org/dom4j/swing/package-frame.html
@@ -0,0 +1,47 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.swing</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.swing</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="BranchTreeNode.html" target="classFrame">BranchTreeNode</a>
+          </li>
+        
+          <li>
+            <a href="DocumentTreeModel.html" target="classFrame">DocumentTreeModel</a>
+          </li>
+        
+          <li>
+            <a href="LeafTreeNode.html" target="classFrame">LeafTreeNode</a>
+          </li>
+        
+          <li>
+            <a href="XMLTableColumnDefinition.html" target="classFrame">XMLTableColumnDefinition</a>
+          </li>
+        
+          <li>
+            <a href="XMLTableDefinition.html" target="classFrame">XMLTableDefinition</a>
+          </li>
+        
+          <li>
+            <a href="XMLTableModel.html" target="classFrame">XMLTableModel</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/swing/package-summary.html b/docs/xref/org/dom4j/swing/package-summary.html
new file mode 100644
index 0000000..2fe7eb4
--- /dev/null
+++ b/docs/xref/org/dom4j/swing/package-summary.html
@@ -0,0 +1,132 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.swing</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="BranchTreeNode.html" target="classFrame">BranchTreeNode</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DocumentTreeModel.html" target="classFrame">DocumentTreeModel</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="LeafTreeNode.html" target="classFrame">LeafTreeNode</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XMLTableColumnDefinition.html" target="classFrame">XMLTableColumnDefinition</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XMLTableDefinition.html" target="classFrame">XMLTableDefinition</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XMLTableModel.html" target="classFrame">XMLTableModel</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/tree/AbstractAttribute.html b/docs/xref/org/dom4j/tree/AbstractAttribute.html
new file mode 100644
index 0000000..9bf5a12
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractAttribute.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractAttribute xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractAttribute.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Writer;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Element;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Node;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Visitor;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * <code>AbstractNamespace</code> is an abstract base class for tree</em>
+<a name="22" href="#22">22</a>  <em> * implementors to use for implementation inheritence.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.21 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractAttribute.html">AbstractAttribute</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractNode.html">AbstractNode</a> implements
+<a name="29" href="#29">29</a>          <a href="../../../org/dom4j/Attribute.html">Attribute</a> {
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="31" href="#31">31</a>          <strong>return</strong> ATTRIBUTE_NODE;
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>void</strong> setNamespace(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="35" href="#35">35</a>          String msg = <span class="string">"This Attribute is read only and cannot be changed"</span>;
+<a name="36" href="#36">36</a>          <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(msg);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> String getText() {
+<a name="40" href="#40">40</a>          <strong>return</strong> getValue();
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="44" href="#44">44</a>          setValue(text);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> <strong>void</strong> setValue(String value) {
+<a name="48" href="#48">48</a>          String msg = <span class="string">"This Attribute is read only and cannot be changed"</span>;
+<a name="49" href="#49">49</a>          <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(msg);
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> Object getData() {
+<a name="53" href="#53">53</a>          <strong>return</strong> getValue();
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>public</strong> <strong>void</strong> setData(Object data) {
+<a name="57" href="#57">57</a>          setValue((data == <strong>null</strong>) ? <strong>null</strong> : data.toString());
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> String toString() {
+<a name="61" href="#61">61</a>          <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Attribute: name "</span> + getQualifiedName()
+<a name="62" href="#62">62</a>                  + <span class="string">" value \""</span> + getValue() + <span class="string">"\"]"</span>;
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> String asXML() {
+<a name="66" href="#66">66</a>          <strong>return</strong> getQualifiedName() + <span class="string">"=\""</span> + getValue() + <span class="string">"\""</span>;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <strong>void</strong> write(Writer writer) throws IOException {
+<a name="70" href="#70">70</a>          writer.write(getQualifiedName());
+<a name="71" href="#71">71</a>          writer.write(<span class="string">"=\""</span>);
+<a name="72" href="#72">72</a>          writer.write(getValue());
+<a name="73" href="#73">73</a>          writer.write(<span class="string">"\""</span>);
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> <strong>void</strong> accept(<a href="../../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="77" href="#77">77</a>          visitor.visit(<strong>this</strong>);
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <em class="comment">// QName methods</em>
+<a name="81" href="#81">81</a>      <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getNamespace() {
+<a name="82" href="#82">82</a>          <strong>return</strong> getQName().getNamespace();
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> String getName() {
+<a name="86" href="#86">86</a>          <strong>return</strong> getQName().getName();
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> String getNamespacePrefix() {
+<a name="90" href="#90">90</a>          <strong>return</strong> getQName().getNamespacePrefix();
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> String getNamespaceURI() {
+<a name="94" href="#94">94</a>          <strong>return</strong> getQName().getNamespaceURI();
+<a name="95" href="#95">95</a>      }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <strong>public</strong> String getQualifiedName() {
+<a name="98" href="#98">98</a>          <strong>return</strong> getQName().getQualifiedName();
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> String getPath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="102" href="#102">102</a>         StringBuffer result = <strong>new</strong> StringBuffer();
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         <strong>if</strong> ((parent != <strong>null</strong>) && (parent != context)) {
+<a name="107" href="#107">107</a>             result.append(parent.getPath(context));
+<a name="108" href="#108">108</a>             result.append(<span class="string">"/"</span>);
+<a name="109" href="#109">109</a>         }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         result.append(<span class="string">"@"</span>);
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>         String uri = getNamespaceURI();
+<a name="114" href="#114">114</a>         String prefix = getNamespacePrefix();
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <strong>if</strong> ((uri == <strong>null</strong>) || (uri.length() == 0) || (prefix == <strong>null</strong>)
+<a name="117" href="#117">117</a>                 || (prefix.length() == 0)) {
+<a name="118" href="#118">118</a>             result.append(getName());
+<a name="119" href="#119">119</a>         } <strong>else</strong> {
+<a name="120" href="#120">120</a>             result.append(getQualifiedName());
+<a name="121" href="#121">121</a>         }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>         <strong>return</strong> result.toString();
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <strong>public</strong> String getUniquePath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="127" href="#127">127</a>         StringBuffer result = <strong>new</strong> StringBuffer();
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>         <strong>if</strong> ((parent != <strong>null</strong>) && (parent != context)) {
+<a name="132" href="#132">132</a>             result.append(parent.getUniquePath(context));
+<a name="133" href="#133">133</a>             result.append(<span class="string">"/"</span>);
+<a name="134" href="#134">134</a>         }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>         result.append(<span class="string">"@"</span>);
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>         String uri = getNamespaceURI();
+<a name="139" href="#139">139</a>         String prefix = getNamespacePrefix();
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>         <strong>if</strong> ((uri == <strong>null</strong>) || (uri.length() == 0) || (prefix == <strong>null</strong>)
+<a name="142" href="#142">142</a>                 || (prefix.length() == 0)) {
+<a name="143" href="#143">143</a>             result.append(getName());
+<a name="144" href="#144">144</a>         } <strong>else</strong> {
+<a name="145" href="#145">145</a>             result.append(getQualifiedName());
+<a name="146" href="#146">146</a>         }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>         <strong>return</strong> result.toString();
+<a name="149" href="#149">149</a>     }
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>     <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> createXPathResult(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="152" href="#152">152</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>(parent, getQName(), getValue());
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> }
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a> <em class="comment">/*</em>
+<a name="157" href="#157">157</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="158" href="#158">158</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="159" href="#159">159</a> <em class="comment"> * following conditions are met:</em>
+<a name="160" href="#160">160</a> <em class="comment"> * </em>
+<a name="161" href="#161">161</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="162" href="#162">162</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="163" href="#163">163</a> <em class="comment"> * </em>
+<a name="164" href="#164">164</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="165" href="#165">165</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="166" href="#166">166</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="167" href="#167">167</a> <em class="comment"> * </em>
+<a name="168" href="#168">168</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="169" href="#169">169</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="170" href="#170">170</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="171" href="#171">171</a> <em class="comment"> * </em>
+<a name="172" href="#172">172</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="173" href="#173">173</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="174" href="#174">174</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="175" href="#175">175</a> <em class="comment"> * </em>
+<a name="176" href="#176">176</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="177" href="#177">177</a> <em class="comment"> * </em>
+<a name="178" href="#178">178</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="179" href="#179">179</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="180" href="#180">180</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="181" href="#181">181</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="182" href="#182">182</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="183" href="#183">183</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="184" href="#184">184</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="185" href="#185">185</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="186" href="#186">186</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="187" href="#187">187</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="188" href="#188">188</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="189" href="#189">189</a> <em class="comment"> * </em>
+<a name="190" href="#190">190</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="191" href="#191">191</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractBranch.html b/docs/xref/org/dom4j/tree/AbstractBranch.html
new file mode 100644
index 0000000..527cccf
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractBranch.html
@@ -0,0 +1,506 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractBranch xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractBranch.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Iterator;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.StringTokenizer;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Element;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.IllegalAddException;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Node;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.QName;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <em>/**<em>*</em></em>
+<a name="25" href="#25">25</a>  <em> * <p></em>
+<a name="26" href="#26">26</a>  <em> * <code>AbstractBranch</code> is an abstract base class for tree implementors</em>
+<a name="27" href="#27">27</a>  <em> * to use for implementation inheritence.</em>
+<a name="28" href="#28">28</a>  <em> * </p></em>
+<a name="29" href="#29">29</a>  <em> * </em>
+<a name="30" href="#30">30</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="31" href="#31">31</a>  <em> * @version $Revision: 1.44 $</em>
+<a name="32" href="#32">32</a>  <em> */</em>
+<a name="33" href="#33">33</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractNode.html">AbstractNode</a> implements <a href="../../../org/dom4j/Branch.html">Branch</a> {
+<a name="34" href="#34">34</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> DEFAULT_CONTENT_LIST_SIZE = 5;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a>() {
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="40" href="#40">40</a>          <strong>return</strong> false;
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> <strong>boolean</strong> hasContent() {
+<a name="44" href="#44">44</a>          <strong>return</strong> nodeCount() > 0;
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> List content() {
+<a name="48" href="#48">48</a>          List backingList = contentList();
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/ContentListFacade.html">ContentListFacade</a>(<strong>this</strong>, backingList);
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> String getText() {
+<a name="54" href="#54">54</a>          List content = contentList();
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          <strong>if</strong> (content != <strong>null</strong>) {
+<a name="57" href="#57">57</a>              <strong>int</strong> size = content.size();
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>              <strong>if</strong> (size >= 1) {
+<a name="60" href="#60">60</a>                  Object first = content.get(0);
+<a name="61" href="#61">61</a>                  String firstText = getContentAsText(first);
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>                  <strong>if</strong> (size == 1) {
+<a name="64" href="#64">64</a>                      <em class="comment">// optimised to avoid StringBuffer creation</em>
+<a name="65" href="#65">65</a>                      <strong>return</strong> firstText;
+<a name="66" href="#66">66</a>                  } <strong>else</strong> {
+<a name="67" href="#67">67</a>                      StringBuffer buffer = <strong>new</strong> StringBuffer(firstText);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>                      <strong>for</strong> (<strong>int</strong> i = 1; i < size; i++) {
+<a name="70" href="#70">70</a>                          Object node = content.get(i);
+<a name="71" href="#71">71</a>                          buffer.append(getContentAsText(node));
+<a name="72" href="#72">72</a>                      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>                      <strong>return</strong> buffer.toString();
+<a name="75" href="#75">75</a>                  }
+<a name="76" href="#76">76</a>              }
+<a name="77" href="#77">77</a>          }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>          <strong>return</strong> <span class="string">""</span>;
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <em>/**<em>*</em></em>
+<a name="83" href="#83">83</a>  <em>     * DOCUMENT ME!</em>
+<a name="84" href="#84">84</a>  <em>     * </em>
+<a name="85" href="#85">85</a>  <em>     * @param content</em>
+<a name="86" href="#86">86</a>  <em>     *            DOCUMENT ME!</em>
+<a name="87" href="#87">87</a>  <em>     * </em>
+<a name="88" href="#88">88</a>  <em>     * @return the text value of the given content object as text which returns</em>
+<a name="89" href="#89">89</a>  <em>     *         the text value of CDATA, Entity or Text nodes</em>
+<a name="90" href="#90">90</a>  <em>     */</em>
+<a name="91" href="#91">91</a>      <strong>protected</strong> String getContentAsText(Object content) {
+<a name="92" href="#92">92</a>          <strong>if</strong> (content instanceof Node) {
+<a name="93" href="#93">93</a>              <a href="../../../org/dom4j/Node.html">Node</a> node = (Node) content;
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>              <strong>switch</strong> (node.getNodeType()) {
+<a name="96" href="#96">96</a>                  <strong>case</strong> CDATA_SECTION_NODE:
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>                  <em class="comment">// case ENTITY_NODE:</em>
+<a name="99" href="#99">99</a>                  <strong>case</strong> ENTITY_REFERENCE_NODE:
+<a name="100" href="#100">100</a>                 <strong>case</strong> TEXT_NODE:
+<a name="101" href="#101">101</a>                     <strong>return</strong> node.getText();
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>                 <strong>default</strong>:
+<a name="104" href="#104">104</a>                     <strong>break</strong>;
+<a name="105" href="#105">105</a>             }
+<a name="106" href="#106">106</a>         } <strong>else</strong> <strong>if</strong> (content instanceof String) {
+<a name="107" href="#107">107</a>             <strong>return</strong> (String) content;
+<a name="108" href="#108">108</a>         }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         <strong>return</strong> <span class="string">""</span>;
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <em>/**<em>*</em></em>
+<a name="114" href="#114">114</a> <em>     * DOCUMENT ME!</em>
+<a name="115" href="#115">115</a> <em>     * </em>
+<a name="116" href="#116">116</a> <em>     * @param content</em>
+<a name="117" href="#117">117</a> <em>     *            DOCUMENT ME!</em>
+<a name="118" href="#118">118</a> <em>     * </em>
+<a name="119" href="#119">119</a> <em>     * @return the XPath defined string-value of the given content object</em>
+<a name="120" href="#120">120</a> <em>     */</em>
+<a name="121" href="#121">121</a>     <strong>protected</strong> String getContentAsStringValue(Object content) {
+<a name="122" href="#122">122</a>         <strong>if</strong> (content instanceof Node) {
+<a name="123" href="#123">123</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = (Node) content;
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>             <strong>switch</strong> (node.getNodeType()) {
+<a name="126" href="#126">126</a>                 <strong>case</strong> CDATA_SECTION_NODE:
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>                 <em class="comment">// case ENTITY_NODE:</em>
+<a name="129" href="#129">129</a>                 <strong>case</strong> ENTITY_REFERENCE_NODE:
+<a name="130" href="#130">130</a>                 <strong>case</strong> TEXT_NODE:
+<a name="131" href="#131">131</a>                 <strong>case</strong> ELEMENT_NODE:
+<a name="132" href="#132">132</a>                     <strong>return</strong> node.getStringValue();
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>                 <strong>default</strong>:
+<a name="135" href="#135">135</a>                     <strong>break</strong>;
+<a name="136" href="#136">136</a>             }
+<a name="137" href="#137">137</a>         } <strong>else</strong> <strong>if</strong> (content instanceof String) {
+<a name="138" href="#138">138</a>             <strong>return</strong> (String) content;
+<a name="139" href="#139">139</a>         }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>         <strong>return</strong> <span class="string">""</span>;
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>     <strong>public</strong> String getTextTrim() {
+<a name="145" href="#145">145</a>         String text = getText();
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>         StringBuffer textContent = <strong>new</strong> StringBuffer();
+<a name="148" href="#148">148</a>         StringTokenizer tokenizer = <strong>new</strong> StringTokenizer(text);
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         <strong>while</strong> (tokenizer.hasMoreTokens()) {
+<a name="151" href="#151">151</a>             String str = tokenizer.nextToken();
+<a name="152" href="#152">152</a>             textContent.append(str);
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>             <strong>if</strong> (tokenizer.hasMoreTokens()) {
+<a name="155" href="#155">155</a>                 textContent.append(<span class="string">" "</span>); <em class="comment">// separator</em>
+<a name="156" href="#156">156</a>             }
+<a name="157" href="#157">157</a>         }
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>         <strong>return</strong> textContent.toString();
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <strong>public</strong> <strong>void</strong> setProcessingInstructions(List listOfPIs) {
+<a name="163" href="#163">163</a>         <strong>for</strong> (Iterator iter = listOfPIs.iterator(); iter.hasNext();) {
+<a name="164" href="#164">164</a>             <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) iter.next();
+<a name="165" href="#165">165</a>             addNode(pi);
+<a name="166" href="#166">166</a>         }
+<a name="167" href="#167">167</a>     }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addElement(String name) {
+<a name="170" href="#170">170</a>         <a href="../../../org/dom4j/Element.html">Element</a> node = getDocumentFactory().createElement(name);
+<a name="171" href="#171">171</a>         add(node);
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>         <strong>return</strong> node;
+<a name="174" href="#174">174</a>     }
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addElement(String qualifiedName, String namespaceURI) {
+<a name="177" href="#177">177</a>         <a href="../../../org/dom4j/Element.html">Element</a> node = getDocumentFactory().createElement(qualifiedName,
+<a name="178" href="#178">178</a>                 namespaceURI);
+<a name="179" href="#179">179</a>         add(node);
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a>         <strong>return</strong> node;
+<a name="182" href="#182">182</a>     }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addElement(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="185" href="#185">185</a>         <a href="../../../org/dom4j/Element.html">Element</a> node = getDocumentFactory().createElement(qname);
+<a name="186" href="#186">186</a>         add(node);
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>         <strong>return</strong> node;
+<a name="189" href="#189">189</a>     }
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addElement(String name, String prefix, String uri) {
+<a name="192" href="#192">192</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = Namespace.get(prefix, uri);
+<a name="193" href="#193">193</a>         <a href="../../../org/dom4j/QName.html">QName</a> qName = getDocumentFactory().createQName(name, namespace);
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>         <strong>return</strong> addElement(qName);
+<a name="196" href="#196">196</a>     }
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>     <em class="comment">// polymorphic node methods</em>
+<a name="199" href="#199">199</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="200" href="#200">200</a>         <strong>switch</strong> (node.getNodeType()) {
+<a name="201" href="#201">201</a>             <strong>case</strong> ELEMENT_NODE:
+<a name="202" href="#202">202</a>                 add((Element) node);
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>                 <strong>break</strong>;
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>             <strong>case</strong> COMMENT_NODE:
+<a name="207" href="#207">207</a>                 add((Comment) node);
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>                 <strong>break</strong>;
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>             <strong>case</strong> PROCESSING_INSTRUCTION_NODE:
+<a name="212" href="#212">212</a>                 add((ProcessingInstruction) node);
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>                 <strong>break</strong>;
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>             <strong>default</strong>:
+<a name="217" href="#217">217</a>                 invalidNodeTypeAddException(node);
+<a name="218" href="#218">218</a>         }
+<a name="219" href="#219">219</a>     }
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="222" href="#222">222</a>         <strong>switch</strong> (node.getNodeType()) {
+<a name="223" href="#223">223</a>             <strong>case</strong> ELEMENT_NODE:
+<a name="224" href="#224">224</a>                 <strong>return</strong> remove((Element) node);
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>             <strong>case</strong> COMMENT_NODE:
+<a name="227" href="#227">227</a>                 <strong>return</strong> remove((Comment) node);
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>             <strong>case</strong> PROCESSING_INSTRUCTION_NODE:
+<a name="230" href="#230">230</a>                 <strong>return</strong> remove((ProcessingInstruction) node);
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>             <strong>default</strong>:
+<a name="233" href="#233">233</a>                 invalidNodeTypeAddException(node);
+<a name="234" href="#234">234</a> 
+<a name="235" href="#235">235</a>                 <strong>return</strong> false;
+<a name="236" href="#236">236</a>         }
+<a name="237" href="#237">237</a>     }
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>     <em class="comment">// typesafe versions using node classes</em>
+<a name="240" href="#240">240</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Comment.html">Comment</a> comment) {
+<a name="241" href="#241">241</a>         addNode(comment);
+<a name="242" href="#242">242</a>     }
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="245" href="#245">245</a>         addNode(element);
+<a name="246" href="#246">246</a>     }
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi) {
+<a name="249" href="#249">249</a>         addNode(pi);
+<a name="250" href="#250">250</a>     }
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Comment.html">Comment</a> comment) {
+<a name="253" href="#253">253</a>         <strong>return</strong> removeNode(comment);
+<a name="254" href="#254">254</a>     }
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="257" href="#257">257</a>         <strong>return</strong> removeNode(element);
+<a name="258" href="#258">258</a>     }
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi) {
+<a name="261" href="#261">261</a>         <strong>return</strong> removeNode(pi);
+<a name="262" href="#262">262</a>     }
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> elementByID(String elementID) {
+<a name="265" href="#265">265</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = nodeCount(); i < size; i++) {
+<a name="266" href="#266">266</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = node(i);
+<a name="267" href="#267">267</a> 
+<a name="268" href="#268">268</a>             <strong>if</strong> (node instanceof Element) {
+<a name="269" href="#269">269</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) node;
+<a name="270" href="#270">270</a>                 String id = elementID(element);
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>                 <strong>if</strong> ((id != <strong>null</strong>) && id.equals(elementID)) {
+<a name="273" href="#273">273</a>                     <strong>return</strong> element;
+<a name="274" href="#274">274</a>                 } <strong>else</strong> {
+<a name="275" href="#275">275</a>                     element = element.elementByID(elementID);
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a>                     <strong>if</strong> (element != <strong>null</strong>) {
+<a name="278" href="#278">278</a>                         <strong>return</strong> element;
+<a name="279" href="#279">279</a>                     }
+<a name="280" href="#280">280</a>                 }
+<a name="281" href="#281">281</a>             }
+<a name="282" href="#282">282</a>         }
+<a name="283" href="#283">283</a> 
+<a name="284" href="#284">284</a>         <strong>return</strong> <strong>null</strong>;
+<a name="285" href="#285">285</a>     }
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a>     <strong>public</strong> <strong>void</strong> appendContent(<a href="../../../org/dom4j/Branch.html">Branch</a> branch) {
+<a name="288" href="#288">288</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = branch.nodeCount(); i < size; i++) {
+<a name="289" href="#289">289</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = branch.node(i);
+<a name="290" href="#290">290</a>             add((Node) node.clone());
+<a name="291" href="#291">291</a>         }
+<a name="292" href="#292">292</a>     }
+<a name="293" href="#293">293</a> 
+<a name="294" href="#294">294</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> node(<strong>int</strong> index) {
+<a name="295" href="#295">295</a>         Object object = contentList().get(index);
+<a name="296" href="#296">296</a> 
+<a name="297" href="#297">297</a>         <strong>if</strong> (object instanceof Node) {
+<a name="298" href="#298">298</a>             <strong>return</strong> (Node) object;
+<a name="299" href="#299">299</a>         }
+<a name="300" href="#300">300</a> 
+<a name="301" href="#301">301</a>         <strong>if</strong> (object instanceof String) {
+<a name="302" href="#302">302</a>             <strong>return</strong> getDocumentFactory().createText(object.toString());
+<a name="303" href="#303">303</a>         }
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>         <strong>return</strong> <strong>null</strong>;
+<a name="306" href="#306">306</a>     }
+<a name="307" href="#307">307</a> 
+<a name="308" href="#308">308</a>     <strong>public</strong> <strong>int</strong> nodeCount() {
+<a name="309" href="#309">309</a>         <strong>return</strong> contentList().size();
+<a name="310" href="#310">310</a>     }
+<a name="311" href="#311">311</a> 
+<a name="312" href="#312">312</a>     <strong>public</strong> <strong>int</strong> indexOf(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="313" href="#313">313</a>         <strong>return</strong> contentList().indexOf(node);
+<a name="314" href="#314">314</a>     }
+<a name="315" href="#315">315</a> 
+<a name="316" href="#316">316</a>     <strong>public</strong> Iterator nodeIterator() {
+<a name="317" href="#317">317</a>         <strong>return</strong> contentList().iterator();
+<a name="318" href="#318">318</a>     }
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>     <em class="comment">// Implementation methods</em>
+<a name="321" href="#321">321</a> 
+<a name="322" href="#322">322</a>     <em>/**<em>*</em></em>
+<a name="323" href="#323">323</a> <em>     * DOCUMENT ME!</em>
+<a name="324" href="#324">324</a> <em>     * </em>
+<a name="325" href="#325">325</a> <em>     * @param element</em>
+<a name="326" href="#326">326</a> <em>     *            DOCUMENT ME!</em>
+<a name="327" href="#327">327</a> <em>     * </em>
+<a name="328" href="#328">328</a> <em>     * @return the ID of the given <code>Element</code></em>
+<a name="329" href="#329">329</a> <em>     */</em>
+<a name="330" href="#330">330</a>     <strong>protected</strong> String elementID(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="331" href="#331">331</a>         <em class="comment">// XXX: there will be other ways of finding the ID</em>
+<a name="332" href="#332">332</a>         <em class="comment">// XXX: should probably have an IDResolver or something</em>
+<a name="333" href="#333">333</a>         <strong>return</strong> element.attributeValue(<span class="string">"ID"</span>);
+<a name="334" href="#334">334</a>     }
+<a name="335" href="#335">335</a> 
+<a name="336" href="#336">336</a>     <em>/**<em>*</em></em>
+<a name="337" href="#337">337</a> <em>     * DOCUMENT ME!</em>
+<a name="338" href="#338">338</a> <em>     * </em>
+<a name="339" href="#339">339</a> <em>     * @return the internal List used to manage the content</em>
+<a name="340" href="#340">340</a> <em>     */</em>
+<a name="341" href="#341">341</a>     <strong>protected</strong> <strong>abstract</strong> List contentList();
+<a name="342" href="#342">342</a> 
+<a name="343" href="#343">343</a>     <em>/**<em>*</em></em>
+<a name="344" href="#344">344</a> <em>     * A Factory Method pattern which creates a List implementation used to</em>
+<a name="345" href="#345">345</a> <em>     * store content</em>
+<a name="346" href="#346">346</a> <em>     * </em>
+<a name="347" href="#347">347</a> <em>     * @return DOCUMENT ME!</em>
+<a name="348" href="#348">348</a> <em>     */</em>
+<a name="349" href="#349">349</a>     <strong>protected</strong> List createContentList() {
+<a name="350" href="#350">350</a>         <strong>return</strong> <strong>new</strong> ArrayList(DEFAULT_CONTENT_LIST_SIZE);
+<a name="351" href="#351">351</a>     }
+<a name="352" href="#352">352</a> 
+<a name="353" href="#353">353</a>     <em>/**<em>*</em></em>
+<a name="354" href="#354">354</a> <em>     * A Factory Method pattern which creates a List implementation used to</em>
+<a name="355" href="#355">355</a> <em>     * store content</em>
+<a name="356" href="#356">356</a> <em>     * </em>
+<a name="357" href="#357">357</a> <em>     * @param size</em>
+<a name="358" href="#358">358</a> <em>     *            DOCUMENT ME!</em>
+<a name="359" href="#359">359</a> <em>     * </em>
+<a name="360" href="#360">360</a> <em>     * @return DOCUMENT ME!</em>
+<a name="361" href="#361">361</a> <em>     */</em>
+<a name="362" href="#362">362</a>     <strong>protected</strong> List createContentList(<strong>int</strong> size) {
+<a name="363" href="#363">363</a>         <strong>return</strong> <strong>new</strong> ArrayList(size);
+<a name="364" href="#364">364</a>     }
+<a name="365" href="#365">365</a> 
+<a name="366" href="#366">366</a>     <em>/**<em>*</em></em>
+<a name="367" href="#367">367</a> <em>     * A Factory Method pattern which creates a BackedList implementation used</em>
+<a name="368" href="#368">368</a> <em>     * to store results of a filtered content query.</em>
+<a name="369" href="#369">369</a> <em>     * </em>
+<a name="370" href="#370">370</a> <em>     * @return DOCUMENT ME!</em>
+<a name="371" href="#371">371</a> <em>     */</em>
+<a name="372" href="#372">372</a>     <strong>protected</strong> <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> createResultList() {
+<a name="373" href="#373">373</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a>(<strong>this</strong>, contentList());
+<a name="374" href="#374">374</a>     }
+<a name="375" href="#375">375</a> 
+<a name="376" href="#376">376</a>     <em>/**<em>*</em></em>
+<a name="377" href="#377">377</a> <em>     * A Factory Method pattern which creates a BackedList implementation which</em>
+<a name="378" href="#378">378</a> <em>     * contains a single result</em>
+<a name="379" href="#379">379</a> <em>     * </em>
+<a name="380" href="#380">380</a> <em>     * @param result</em>
+<a name="381" href="#381">381</a> <em>     *            DOCUMENT ME!</em>
+<a name="382" href="#382">382</a> <em>     * </em>
+<a name="383" href="#383">383</a> <em>     * @return DOCUMENT ME!</em>
+<a name="384" href="#384">384</a> <em>     */</em>
+<a name="385" href="#385">385</a>     <strong>protected</strong> List createSingleResultList(Object result) {
+<a name="386" href="#386">386</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> list = <strong>new</strong> <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a>(<strong>this</strong>, contentList(), 1);
+<a name="387" href="#387">387</a>         list.addLocal(result);
+<a name="388" href="#388">388</a> 
+<a name="389" href="#389">389</a>         <strong>return</strong> list;
+<a name="390" href="#390">390</a>     }
+<a name="391" href="#391">391</a> 
+<a name="392" href="#392">392</a>     <em>/**<em>*</em></em>
+<a name="393" href="#393">393</a> <em>     * A Factory Method pattern which creates an empty a BackedList</em>
+<a name="394" href="#394">394</a> <em>     * implementation</em>
+<a name="395" href="#395">395</a> <em>     * </em>
+<a name="396" href="#396">396</a> <em>     * @return DOCUMENT ME!</em>
+<a name="397" href="#397">397</a> <em>     */</em>
+<a name="398" href="#398">398</a>     <strong>protected</strong> List createEmptyList() {
+<a name="399" href="#399">399</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a>(<strong>this</strong>, contentList(), 0);
+<a name="400" href="#400">400</a>     }
+<a name="401" href="#401">401</a> 
+<a name="402" href="#402">402</a>     <strong>protected</strong> <strong>abstract</strong> <strong>void</strong> addNode(<a href="../../../org/dom4j/Node.html">Node</a> node);
+<a name="403" href="#403">403</a> 
+<a name="404" href="#404">404</a>     <strong>protected</strong> <strong>abstract</strong> <strong>void</strong> addNode(<strong>int</strong> index, <a href="../../../org/dom4j/Node.html">Node</a> node);
+<a name="405" href="#405">405</a> 
+<a name="406" href="#406">406</a>     <strong>protected</strong> <strong>abstract</strong> <strong>boolean</strong> removeNode(<a href="../../../org/dom4j/Node.html">Node</a> node);
+<a name="407" href="#407">407</a> 
+<a name="408" href="#408">408</a>     <em>/**<em>*</em></em>
+<a name="409" href="#409">409</a> <em>     * Called when a new child node has been added to me to allow any parent</em>
+<a name="410" href="#410">410</a> <em>     * relationships to be created or events to be fired.</em>
+<a name="411" href="#411">411</a> <em>     * </em>
+<a name="412" href="#412">412</a> <em>     * @param node</em>
+<a name="413" href="#413">413</a> <em>     *            DOCUMENT ME!</em>
+<a name="414" href="#414">414</a> <em>     */</em>
+<a name="415" href="#415">415</a>     <strong>protected</strong> <strong>abstract</strong> <strong>void</strong> childAdded(<a href="../../../org/dom4j/Node.html">Node</a> node);
+<a name="416" href="#416">416</a> 
+<a name="417" href="#417">417</a>     <em>/**<em>*</em></em>
+<a name="418" href="#418">418</a> <em>     * Called when a child node has been removed to allow any parent</em>
+<a name="419" href="#419">419</a> <em>     * relationships to be deleted or events to be fired.</em>
+<a name="420" href="#420">420</a> <em>     * </em>
+<a name="421" href="#421">421</a> <em>     * @param node</em>
+<a name="422" href="#422">422</a> <em>     *            DOCUMENT ME!</em>
+<a name="423" href="#423">423</a> <em>     */</em>
+<a name="424" href="#424">424</a>     <strong>protected</strong> <strong>abstract</strong> <strong>void</strong> childRemoved(<a href="../../../org/dom4j/Node.html">Node</a> node);
+<a name="425" href="#425">425</a> 
+<a name="426" href="#426">426</a>     <em>/**<em>*</em></em>
+<a name="427" href="#427">427</a> <em>     * Called when the given List content has been removed so each node should</em>
+<a name="428" href="#428">428</a> <em>     * have its parent and document relationships cleared</em>
+<a name="429" href="#429">429</a> <em>     */</em>
+<a name="430" href="#430">430</a>     <strong>protected</strong> <strong>void</strong> contentRemoved() {
+<a name="431" href="#431">431</a>         List content = contentList();
+<a name="432" href="#432">432</a> 
+<a name="433" href="#433">433</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = content.size(); i < size; i++) {
+<a name="434" href="#434">434</a>             Object object = content.get(i);
+<a name="435" href="#435">435</a> 
+<a name="436" href="#436">436</a>             <strong>if</strong> (object instanceof Node) {
+<a name="437" href="#437">437</a>                 childRemoved((Node) object);
+<a name="438" href="#438">438</a>             }
+<a name="439" href="#439">439</a>         }
+<a name="440" href="#440">440</a>     }
+<a name="441" href="#441">441</a> 
+<a name="442" href="#442">442</a>     <em>/**<em>*</em></em>
+<a name="443" href="#443">443</a> <em>     * Called when an invalid node has been added. Throws an {@link</em>
+<a name="444" href="#444">444</a> <em>     * IllegalAddException}.</em>
+<a name="445" href="#445">445</a> <em>     * </em>
+<a name="446" href="#446">446</a> <em>     * @param node</em>
+<a name="447" href="#447">447</a> <em>     *            DOCUMENT ME!</em>
+<a name="448" href="#448">448</a> <em>     * </em>
+<a name="449" href="#449">449</a> <em>     * @throws IllegalAddException</em>
+<a name="450" href="#450">450</a> <em>     *             DOCUMENT ME!</em>
+<a name="451" href="#451">451</a> <em>     */</em>
+<a name="452" href="#452">452</a>     <strong>protected</strong> <strong>void</strong> invalidNodeTypeAddException(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="453" href="#453">453</a>         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<span class="string">"Invalid node type. Cannot add node: "</span>
+<a name="454" href="#454">454</a>                 + node + <span class="string">" to this branch: "</span> + <strong>this</strong>);
+<a name="455" href="#455">455</a>     }
+<a name="456" href="#456">456</a> }
+<a name="457" href="#457">457</a> 
+<a name="458" href="#458">458</a> <em class="comment">/*</em>
+<a name="459" href="#459">459</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="460" href="#460">460</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="461" href="#461">461</a> <em class="comment"> * following conditions are met:</em>
+<a name="462" href="#462">462</a> <em class="comment"> * </em>
+<a name="463" href="#463">463</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="464" href="#464">464</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="465" href="#465">465</a> <em class="comment"> * </em>
+<a name="466" href="#466">466</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="467" href="#467">467</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="468" href="#468">468</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="469" href="#469">469</a> <em class="comment"> * </em>
+<a name="470" href="#470">470</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="471" href="#471">471</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="472" href="#472">472</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="473" href="#473">473</a> <em class="comment"> * </em>
+<a name="474" href="#474">474</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="475" href="#475">475</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="476" href="#476">476</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="477" href="#477">477</a> <em class="comment"> * </em>
+<a name="478" href="#478">478</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="479" href="#479">479</a> <em class="comment"> * </em>
+<a name="480" href="#480">480</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="481" href="#481">481</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="482" href="#482">482</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="483" href="#483">483</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="484" href="#484">484</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="485" href="#485">485</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="486" href="#486">486</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="487" href="#487">487</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="488" href="#488">488</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="489" href="#489">489</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="490" href="#490">490</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="491" href="#491">491</a> <em class="comment"> * </em>
+<a name="492" href="#492">492</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="493" href="#493">493</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractCDATA.html b/docs/xref/org/dom4j/tree/AbstractCDATA.html
new file mode 100644
index 0000000..fd21500
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractCDATA.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractCDATA xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractCDATA.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.StringWriter;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.Writer;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Visitor;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <p></em>
+<a name="19" href="#19">19</a>  <em> * <code>AbstractCDATA</code> is an abstract base class for tree implementors</em>
+<a name="20" href="#20">20</a>  <em> * to use for implementation inheritence.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.12 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractCDATA.html">AbstractCDATA</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractCharacterData.html">AbstractCharacterData</a> implements
+<a name="27" href="#27">27</a>          <a href="../../../org/dom4j/CDATA.html">CDATA</a> {
+<a name="28" href="#28">28</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractCDATA.html">AbstractCDATA</a>() {
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="32" href="#32">32</a>          <strong>return</strong> CDATA_SECTION_NODE;
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> String toString() {
+<a name="36" href="#36">36</a>          <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [CDATA: \""</span> + getText() + <span class="string">"\"]"</span>;
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> String asXML() {
+<a name="40" href="#40">40</a>          StringWriter writer = <strong>new</strong> StringWriter();
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          <strong>try</strong> {
+<a name="43" href="#43">43</a>              write(writer);
+<a name="44" href="#44">44</a>          } <strong>catch</strong> (IOException e) {
+<a name="45" href="#45">45</a>              <em class="comment">// will not happen since we are using a StringWriter!</em>
+<a name="46" href="#46">46</a>          }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>          <strong>return</strong> writer.toString();
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> write(Writer writer) throws IOException {
+<a name="52" href="#52">52</a>          writer.write(<span class="string">"<![CDATA["</span>);
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          <strong>if</strong> (getText() != <strong>null</strong>) {
+<a name="55" href="#55">55</a>              writer.write(getText());
+<a name="56" href="#56">56</a>          }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>          writer.write(<span class="string">"]]>"</span>);
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>void</strong> accept(<a href="../../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="62" href="#62">62</a>          visitor.visit(<strong>this</strong>);
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>  <em class="comment">/*</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * following conditions are met:</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * </em>
+<a name="100" href="#100">100</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="101" href="#101">101</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractCharacterData.html b/docs/xref/org/dom4j/tree/AbstractCharacterData.html
new file mode 100644
index 0000000..baa4991
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractCharacterData.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractCharacterData xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractCharacterData.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.CharacterData;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Element;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>AbstractCharacterData</code> is an abstract base class for tree</em>
+<a name="16" href="#16">16</a>  <em> * implementors to use for implementation inheritence.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.12 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractCharacterData.html">AbstractCharacterData</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractNode.html">AbstractNode</a> implements
+<a name="23" href="#23">23</a>          <a href="../../../org/dom4j/CharacterData.html">CharacterData</a> {
+<a name="24" href="#24">24</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractCharacterData.html">AbstractCharacterData</a>() {
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>public</strong> String getPath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="28" href="#28">28</a>          <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>          <strong>return</strong> ((parent != <strong>null</strong>) && (parent != context)) ? (parent
+<a name="31" href="#31">31</a>                  .getPath(context) + <span class="string">"/text()"</span>) : <span class="string">"text()"</span>;
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> String getUniquePath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="35" href="#35">35</a>          <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>          <strong>return</strong> ((parent != <strong>null</strong>) && (parent != context)) ? (parent
+<a name="38" href="#38">38</a>                  .getUniquePath(context) + <span class="string">"/text()"</span>) : <span class="string">"text()"</span>;
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> <strong>void</strong> appendText(String text) {
+<a name="42" href="#42">42</a>          setText(getText() + text);
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>  <em class="comment">/*</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * following conditions are met:</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * </em>
+<a name="51" href="#51">51</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractComment.html b/docs/xref/org/dom4j/tree/AbstractComment.html
new file mode 100644
index 0000000..ace061d
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractComment.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractComment xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractComment.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Writer;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Element;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Visitor;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <p></em>
+<a name="19" href="#19">19</a>  <em> * <code>AbstractComment</code> is an abstract base class for tree</em>
+<a name="20" href="#20">20</a>  <em> * implementors to use for implementation inheritence.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.13 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractComment.html">AbstractComment</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractCharacterData.html">AbstractCharacterData</a> implements
+<a name="27" href="#27">27</a>          <a href="../../../org/dom4j/Comment.html">Comment</a> {
+<a name="28" href="#28">28</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractComment.html">AbstractComment</a>() {
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="32" href="#32">32</a>          <strong>return</strong> COMMENT_NODE;
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> String getPath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="36" href="#36">36</a>          <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          <strong>return</strong> ((parent != <strong>null</strong>) && (parent != context)) ? (parent
+<a name="39" href="#39">39</a>                  .getPath(context) + <span class="string">"/comment()"</span>) : <span class="string">"comment()"</span>;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> String getUniquePath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="43" href="#43">43</a>          <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>          <strong>return</strong> ((parent != <strong>null</strong>) && (parent != context)) ? (parent
+<a name="46" href="#46">46</a>                  .getUniquePath(context) + <span class="string">"/comment()"</span>) : <span class="string">"comment()"</span>;
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> String toString() {
+<a name="50" href="#50">50</a>          <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Comment: \""</span> + getText() + <span class="string">"\"]"</span>;
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> String asXML() {
+<a name="54" href="#54">54</a>          <strong>return</strong> <span class="string">"<!--"</span> + getText() + <span class="string">"-->"</span>;
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> write(Writer writer) throws IOException {
+<a name="58" href="#58">58</a>          writer.write(<span class="string">"<!--"</span>);
+<a name="59" href="#59">59</a>          writer.write(getText());
+<a name="60" href="#60">60</a>          writer.write(<span class="string">"-->"</span>);
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> accept(<a href="../../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="64" href="#64">64</a>          visitor.visit(<strong>this</strong>);
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>  <em class="comment">/*</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * following conditions are met:</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="103" href="#103">103</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractDocument.html b/docs/xref/org/dom4j/tree/AbstractDocument.html
new file mode 100644
index 0000000..230eb77
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractDocument.html
@@ -0,0 +1,309 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractDocument xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractDocument.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.StringWriter;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.Writer;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Iterator;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.List;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Map;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Document;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Element;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.IllegalAddException;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Node;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.QName;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.Text;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.Visitor;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.dom4j.io.OutputFormat;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>  <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em> * <p></em>
+<a name="32" href="#32">32</a>  <em> * <code>AbstractDocument</code> is an abstract base class for tree</em>
+<a name="33" href="#33">33</a>  <em> * implementors to use for implementation inheritence.</em>
+<a name="34" href="#34">34</a>  <em> * </p></em>
+<a name="35" href="#35">35</a>  <em> * </em>
+<a name="36" href="#36">36</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="37" href="#37">37</a>  <em> * @version $Revision: 1.33 $</em>
+<a name="38" href="#38">38</a>  <em> */</em>
+<a name="39" href="#39">39</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractDocument.html">AbstractDocument</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a> implements
+<a name="40" href="#40">40</a>          <a href="../../../org/dom4j/Document.html">Document</a> {
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em>/**<em>* The encoding of this document as stated in the XML declaration */</em></em>
+<a name="43" href="#43">43</a>      <strong>protected</strong> String encoding;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractDocument.html">AbstractDocument</a>() {
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="49" href="#49">49</a>          <strong>return</strong> DOCUMENT_NODE;
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> String getPath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="53" href="#53">53</a>          <strong>return</strong> <span class="string">"/"</span>;
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>public</strong> String getUniquePath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="57" href="#57">57</a>          <strong>return</strong> <span class="string">"/"</span>;
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getDocument() {
+<a name="61" href="#61">61</a>          <strong>return</strong> <strong>this</strong>;
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> String getXMLEncoding() {
+<a name="65" href="#65">65</a>          <strong>return</strong> <strong>null</strong>;
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> String getStringValue() {
+<a name="69" href="#69">69</a>          <a href="../../../org/dom4j/Element.html">Element</a> root = getRootElement();
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          <strong>return</strong> (root != <strong>null</strong>) ? root.getStringValue() : <span class="string">""</span>;
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>public</strong> String asXML() {
+<a name="75" href="#75">75</a>          <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format = <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>();
+<a name="76" href="#76">76</a>          format.setEncoding(encoding);
+<a name="77" href="#77">77</a>          
+<a name="78" href="#78">78</a>          <strong>try</strong> {
+<a name="79" href="#79">79</a>              StringWriter out = <strong>new</strong> StringWriter();
+<a name="80" href="#80">80</a>              <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> writer = <strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(out, format);
+<a name="81" href="#81">81</a>              writer.write(<strong>this</strong>);
+<a name="82" href="#82">82</a>              writer.flush();
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>              <strong>return</strong> out.toString();
+<a name="85" href="#85">85</a>          } <strong>catch</strong> (IOException e) {
+<a name="86" href="#86">86</a>              <strong>throw</strong> <strong>new</strong> RuntimeException(<span class="string">"IOException while generating textual "</span>
+<a name="87" href="#87">87</a>                      + <span class="string">"representation: "</span> + e.getMessage());
+<a name="88" href="#88">88</a>          }
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>void</strong> write(Writer out) throws IOException {
+<a name="92" href="#92">92</a>          <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a> format = <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>();
+<a name="93" href="#93">93</a>          format.setEncoding(encoding);
+<a name="94" href="#94">94</a>          
+<a name="95" href="#95">95</a>          <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> writer = <strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(out, format);
+<a name="96" href="#96">96</a>          writer.write(<strong>this</strong>);
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <em>/**<em>*</em></em>
+<a name="100" href="#100">100</a> <em>     * <p></em>
+<a name="101" href="#101">101</a> <em>     * <code>accept</code> method is the <code>Visitor Pattern</code></em>
+<a name="102" href="#102">102</a> <em>     * method.</em>
+<a name="103" href="#103">103</a> <em>     * </p></em>
+<a name="104" href="#104">104</a> <em>     * </em>
+<a name="105" href="#105">105</a> <em>     * @param visitor</em>
+<a name="106" href="#106">106</a> <em>     *            <code>Visitor</code> is the visitor.</em>
+<a name="107" href="#107">107</a> <em>     */</em>
+<a name="108" href="#108">108</a>     <strong>public</strong> <strong>void</strong> accept(<a href="../../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="109" href="#109">109</a>         visitor.visit(<strong>this</strong>);
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType = getDocType();
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>         <strong>if</strong> (docType != <strong>null</strong>) {
+<a name="114" href="#114">114</a>             visitor.visit(docType);
+<a name="115" href="#115">115</a>         }
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         <em class="comment">// visit content</em>
+<a name="118" href="#118">118</a>         List content = content();
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         <strong>if</strong> (content != <strong>null</strong>) {
+<a name="121" href="#121">121</a>             <strong>for</strong> (Iterator iter = content.iterator(); iter.hasNext();) {
+<a name="122" href="#122">122</a>                 Object object = iter.next();
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>                 <strong>if</strong> (object instanceof String) {
+<a name="125" href="#125">125</a>                     <a href="../../../org/dom4j/Text.html">Text</a> text = getDocumentFactory()
+<a name="126" href="#126">126</a>                             .createText((String) object);
+<a name="127" href="#127">127</a>                     visitor.visit(text);
+<a name="128" href="#128">128</a>                 } <strong>else</strong> {
+<a name="129" href="#129">129</a>                     <a href="../../../org/dom4j/Node.html">Node</a> node = (Node) object;
+<a name="130" href="#130">130</a>                     node.accept(visitor);
+<a name="131" href="#131">131</a>                 }
+<a name="132" href="#132">132</a>             }
+<a name="133" href="#133">133</a>         }
+<a name="134" href="#134">134</a>     }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>     <strong>public</strong> String toString() {
+<a name="137" href="#137">137</a>         <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Document: name "</span> + getName() + <span class="string">"]"</span>;
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="141" href="#141">141</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = getRootElement();
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         <strong>if</strong> (element != <strong>null</strong>) {
+<a name="144" href="#144">144</a>             element.normalize();
+<a name="145" href="#145">145</a>         }
+<a name="146" href="#146">146</a>     }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> addComment(String comment) {
+<a name="149" href="#149">149</a>         <a href="../../../org/dom4j/Comment.html">Comment</a> node = getDocumentFactory().createComment(comment);
+<a name="150" href="#150">150</a>         add(node);
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>         <strong>return</strong> <strong>this</strong>;
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> addProcessingInstruction(String target, String data) {
+<a name="156" href="#156">156</a>         <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> node = getDocumentFactory()
+<a name="157" href="#157">157</a>                 .createProcessingInstruction(target, data);
+<a name="158" href="#158">158</a>         add(node);
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>         <strong>return</strong> <strong>this</strong>;
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> addProcessingInstruction(String target, Map data) {
+<a name="164" href="#164">164</a>         <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> node = getDocumentFactory()
+<a name="165" href="#165">165</a>                 .createProcessingInstruction(target, data);
+<a name="166" href="#166">166</a>         add(node);
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>         <strong>return</strong> <strong>this</strong>;
+<a name="169" href="#169">169</a>     }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addElement(String name) {
+<a name="172" href="#172">172</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = getDocumentFactory().createElement(name);
+<a name="173" href="#173">173</a>         add(element);
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>         <strong>return</strong> element;
+<a name="176" href="#176">176</a>     }
+<a name="177" href="#177">177</a> 
+<a name="178" href="#178">178</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addElement(String qualifiedName, String namespaceURI) {
+<a name="179" href="#179">179</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = getDocumentFactory().createElement(qualifiedName,
+<a name="180" href="#180">180</a>                 namespaceURI);
+<a name="181" href="#181">181</a>         add(element);
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>         <strong>return</strong> element;
+<a name="184" href="#184">184</a>     }
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addElement(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="187" href="#187">187</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = getDocumentFactory().createElement(qName);
+<a name="188" href="#188">188</a>         add(element);
+<a name="189" href="#189">189</a> 
+<a name="190" href="#190">190</a>         <strong>return</strong> element;
+<a name="191" href="#191">191</a>     }
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>     <strong>public</strong> <strong>void</strong> setRootElement(<a href="../../../org/dom4j/Element.html">Element</a> rootElement) {
+<a name="194" href="#194">194</a>         clearContent();
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>         <strong>if</strong> (rootElement != <strong>null</strong>) {
+<a name="197" href="#197">197</a>             <strong>super</strong>.add(rootElement);
+<a name="198" href="#198">198</a>             rootElementAdded(rootElement);
+<a name="199" href="#199">199</a>         }
+<a name="200" href="#200">200</a>     }
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="203" href="#203">203</a>         checkAddElementAllowed(element);
+<a name="204" href="#204">204</a>         <strong>super</strong>.add(element);
+<a name="205" href="#205">205</a>         rootElementAdded(element);
+<a name="206" href="#206">206</a>     }
+<a name="207" href="#207">207</a> 
+<a name="208" href="#208">208</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="209" href="#209">209</a>         <strong>boolean</strong> answer = <strong>super</strong>.remove(element);
+<a name="210" href="#210">210</a>         <a href="../../../org/dom4j/Element.html">Element</a> root = getRootElement();
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>         <strong>if</strong> ((root != <strong>null</strong>) && answer) {
+<a name="213" href="#213">213</a>             setRootElement(<strong>null</strong>);
+<a name="214" href="#214">214</a>         }
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>         element.setDocument(<strong>null</strong>);
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>         <strong>return</strong> answer;
+<a name="219" href="#219">219</a>     }
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> asXPathResult(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="222" href="#222">222</a>         <strong>return</strong> <strong>this</strong>;
+<a name="223" href="#223">223</a>     }
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>     <strong>protected</strong> <strong>void</strong> childAdded(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="226" href="#226">226</a>         <strong>if</strong> (node != <strong>null</strong>) {
+<a name="227" href="#227">227</a>             node.setDocument(<strong>this</strong>);
+<a name="228" href="#228">228</a>         }
+<a name="229" href="#229">229</a>     }
+<a name="230" href="#230">230</a> 
+<a name="231" href="#231">231</a>     <strong>protected</strong> <strong>void</strong> childRemoved(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="232" href="#232">232</a>         <strong>if</strong> (node != <strong>null</strong>) {
+<a name="233" href="#233">233</a>             node.setDocument(<strong>null</strong>);
+<a name="234" href="#234">234</a>         }
+<a name="235" href="#235">235</a>     }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>     <strong>protected</strong> <strong>void</strong> checkAddElementAllowed(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="238" href="#238">238</a>         <a href="../../../org/dom4j/Element.html">Element</a> root = getRootElement();
+<a name="239" href="#239">239</a> 
+<a name="240" href="#240">240</a>         <strong>if</strong> (root != <strong>null</strong>) {
+<a name="241" href="#241">241</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<strong>this</strong>, element,
+<a name="242" href="#242">242</a>                     <span class="string">"Cannot add another element to this "</span>
+<a name="243" href="#243">243</a>                             + <span class="string">"Document as it already has a root "</span>
+<a name="244" href="#244">244</a>                             + <span class="string">"element of: "</span> + root.getQualifiedName());
+<a name="245" href="#245">245</a>         }
+<a name="246" href="#246">246</a>     }
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>     <em>/**<em>*</em></em>
+<a name="249" href="#249">249</a> <em>     * Called to set the root element variable</em>
+<a name="250" href="#250">250</a> <em>     * </em>
+<a name="251" href="#251">251</a> <em>     * @param rootElement</em>
+<a name="252" href="#252">252</a> <em>     *            DOCUMENT ME!</em>
+<a name="253" href="#253">253</a> <em>     */</em>
+<a name="254" href="#254">254</a>     <strong>protected</strong> <strong>abstract</strong> <strong>void</strong> rootElementAdded(<a href="../../../org/dom4j/Element.html">Element</a> rootElement);
+<a name="255" href="#255">255</a> 
+<a name="256" href="#256">256</a>     <strong>public</strong> <strong>void</strong> setXMLEncoding(String enc) {
+<a name="257" href="#257">257</a>         <strong>this</strong>.encoding = enc;
+<a name="258" href="#258">258</a>     }
+<a name="259" href="#259">259</a> }
+<a name="260" href="#260">260</a> 
+<a name="261" href="#261">261</a> <em class="comment">/*</em>
+<a name="262" href="#262">262</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="263" href="#263">263</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="264" href="#264">264</a> <em class="comment"> * following conditions are met:</em>
+<a name="265" href="#265">265</a> <em class="comment"> * </em>
+<a name="266" href="#266">266</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="267" href="#267">267</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="268" href="#268">268</a> <em class="comment"> * </em>
+<a name="269" href="#269">269</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="270" href="#270">270</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="271" href="#271">271</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="272" href="#272">272</a> <em class="comment"> * </em>
+<a name="273" href="#273">273</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="274" href="#274">274</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="275" href="#275">275</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="276" href="#276">276</a> <em class="comment"> * </em>
+<a name="277" href="#277">277</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="278" href="#278">278</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="279" href="#279">279</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="280" href="#280">280</a> <em class="comment"> * </em>
+<a name="281" href="#281">281</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="282" href="#282">282</a> <em class="comment"> * </em>
+<a name="283" href="#283">283</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="284" href="#284">284</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="285" href="#285">285</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="286" href="#286">286</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="287" href="#287">287</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="288" href="#288">288</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="289" href="#289">289</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="290" href="#290">290</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="291" href="#291">291</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="292" href="#292">292</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="293" href="#293">293</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="294" href="#294">294</a> <em class="comment"> * </em>
+<a name="295" href="#295">295</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="296" href="#296">296</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractDocumentType.html b/docs/xref/org/dom4j/tree/AbstractDocumentType.html
new file mode 100644
index 0000000..5667ca4
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractDocumentType.html
@@ -0,0 +1,216 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractDocumentType xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractDocumentType.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Writer;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Element;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Visitor;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * <code>AbstractDocumentType</code> is an abstract base class for tree</em>
+<a name="22" href="#22">22</a>  <em> * implementors to use for implementation inheritence.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.17 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractDocumentType.html">AbstractDocumentType</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractNode.html">AbstractNode</a> implements
+<a name="29" href="#29">29</a>          <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> {
+<a name="30" href="#30">30</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractDocumentType.html">AbstractDocumentType</a>() {
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="34" href="#34">34</a>          <strong>return</strong> DOCUMENT_TYPE_NODE;
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> String getName() {
+<a name="38" href="#38">38</a>          <strong>return</strong> getElementName();
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="42" href="#42">42</a>          setElementName(name);
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> String getPath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="46" href="#46">46</a>          <em class="comment">// not available in XPath</em>
+<a name="47" href="#47">47</a>          <strong>return</strong> <span class="string">""</span>;
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> String getUniquePath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="51" href="#51">51</a>          <em class="comment">// not available in XPath</em>
+<a name="52" href="#52">52</a>          <strong>return</strong> <span class="string">""</span>;
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em>/**<em>*</em></em>
+<a name="56" href="#56">56</a>  <em>     * Returns the text format of the declarations if applicable, or the empty</em>
+<a name="57" href="#57">57</a>  <em>     * String</em>
+<a name="58" href="#58">58</a>  <em>     * </em>
+<a name="59" href="#59">59</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="60" href="#60">60</a>  <em>     */</em>
+<a name="61" href="#61">61</a>      <strong>public</strong> String getText() {
+<a name="62" href="#62">62</a>          List list = getInternalDeclarations();
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          <strong>if</strong> ((list != <strong>null</strong>) && (list.size() > 0)) {
+<a name="65" href="#65">65</a>              StringBuffer buffer = <strong>new</strong> StringBuffer();
+<a name="66" href="#66">66</a>              Iterator iter = list.iterator();
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>              <strong>if</strong> (iter.hasNext()) {
+<a name="69" href="#69">69</a>                  Object decl = iter.next();
+<a name="70" href="#70">70</a>                  buffer.append(decl.toString());
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>                  <strong>while</strong> (iter.hasNext()) {
+<a name="73" href="#73">73</a>                      decl = iter.next();
+<a name="74" href="#74">74</a>                      buffer.append(<span class="string">"\n"</span>);
+<a name="75" href="#75">75</a>                      buffer.append(decl.toString());
+<a name="76" href="#76">76</a>                  }
+<a name="77" href="#77">77</a>              }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>              <strong>return</strong> buffer.toString();
+<a name="80" href="#80">80</a>          }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          <strong>return</strong> <span class="string">""</span>;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> String toString() {
+<a name="86" href="#86">86</a>          <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [DocumentType: "</span> + asXML() + <span class="string">"]"</span>;
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> String asXML() {
+<a name="90" href="#90">90</a>          StringBuffer buffer = <strong>new</strong> StringBuffer(<span class="string">"<!DOCTYPE "</span>);
+<a name="91" href="#91">91</a>          buffer.append(getElementName());
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          <strong>boolean</strong> hasPublicID = false;
+<a name="94" href="#94">94</a>          String publicID = getPublicID();
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>          <strong>if</strong> ((publicID != <strong>null</strong>) && (publicID.length() > 0)) {
+<a name="97" href="#97">97</a>              buffer.append(<span class="string">" PUBLIC \""</span>);
+<a name="98" href="#98">98</a>              buffer.append(publicID);
+<a name="99" href="#99">99</a>              buffer.append(<span class="string">"\""</span>);
+<a name="100" href="#100">100</a>             hasPublicID = <strong>true</strong>;
+<a name="101" href="#101">101</a>         }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         String systemID = getSystemID();
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>         <strong>if</strong> ((systemID != <strong>null</strong>) && (systemID.length() > 0)) {
+<a name="106" href="#106">106</a>             <strong>if</strong> (!hasPublicID) {
+<a name="107" href="#107">107</a>                 buffer.append(<span class="string">" SYSTEM"</span>);
+<a name="108" href="#108">108</a>             }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>             buffer.append(<span class="string">" \""</span>);
+<a name="111" href="#111">111</a>             buffer.append(systemID);
+<a name="112" href="#112">112</a>             buffer.append(<span class="string">"\""</span>);
+<a name="113" href="#113">113</a>         }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         buffer.append(<span class="string">">"</span>);
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         <strong>return</strong> buffer.toString();
+<a name="118" href="#118">118</a>     }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>     <strong>public</strong> <strong>void</strong> write(Writer writer) throws IOException {
+<a name="121" href="#121">121</a>         writer.write(<span class="string">"<!DOCTYPE "</span>);
+<a name="122" href="#122">122</a>         writer.write(getElementName());
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         <strong>boolean</strong> hasPublicID = false;
+<a name="125" href="#125">125</a>         String publicID = getPublicID();
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         <strong>if</strong> ((publicID != <strong>null</strong>) && (publicID.length() > 0)) {
+<a name="128" href="#128">128</a>             writer.write(<span class="string">" PUBLIC \""</span>);
+<a name="129" href="#129">129</a>             writer.write(publicID);
+<a name="130" href="#130">130</a>             writer.write(<span class="string">"\""</span>);
+<a name="131" href="#131">131</a>             hasPublicID = <strong>true</strong>;
+<a name="132" href="#132">132</a>         }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>         String systemID = getSystemID();
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>         <strong>if</strong> ((systemID != <strong>null</strong>) && (systemID.length() > 0)) {
+<a name="137" href="#137">137</a>             <strong>if</strong> (!hasPublicID) {
+<a name="138" href="#138">138</a>                 writer.write(<span class="string">" SYSTEM"</span>);
+<a name="139" href="#139">139</a>             }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>             writer.write(<span class="string">" \""</span>);
+<a name="142" href="#142">142</a>             writer.write(systemID);
+<a name="143" href="#143">143</a>             writer.write(<span class="string">"\""</span>);
+<a name="144" href="#144">144</a>         }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>         List list = getInternalDeclarations();
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>         <strong>if</strong> ((list != <strong>null</strong>) && (list.size() > 0)) {
+<a name="149" href="#149">149</a>             writer.write(<span class="string">" ["</span>);
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>             <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="152" href="#152">152</a>                 Object decl = iter.next();
+<a name="153" href="#153">153</a>                 writer.write(<span class="string">"\n  "</span>);
+<a name="154" href="#154">154</a>                 writer.write(decl.toString());
+<a name="155" href="#155">155</a>             }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>             writer.write(<span class="string">"\n]"</span>);
+<a name="158" href="#158">158</a>         }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>         writer.write(<span class="string">">"</span>);
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <strong>public</strong> <strong>void</strong> accept(<a href="../../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="164" href="#164">164</a>         visitor.visit(<strong>this</strong>);
+<a name="165" href="#165">165</a>     }
+<a name="166" href="#166">166</a> }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a> <em class="comment">/*</em>
+<a name="169" href="#169">169</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="170" href="#170">170</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="171" href="#171">171</a> <em class="comment"> * following conditions are met:</em>
+<a name="172" href="#172">172</a> <em class="comment"> * </em>
+<a name="173" href="#173">173</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="174" href="#174">174</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="175" href="#175">175</a> <em class="comment"> * </em>
+<a name="176" href="#176">176</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="177" href="#177">177</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="178" href="#178">178</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="179" href="#179">179</a> <em class="comment"> * </em>
+<a name="180" href="#180">180</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="181" href="#181">181</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="182" href="#182">182</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="183" href="#183">183</a> <em class="comment"> * </em>
+<a name="184" href="#184">184</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="185" href="#185">185</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="186" href="#186">186</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="187" href="#187">187</a> <em class="comment"> * </em>
+<a name="188" href="#188">188</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="189" href="#189">189</a> <em class="comment"> * </em>
+<a name="190" href="#190">190</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="191" href="#191">191</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="192" href="#192">192</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="193" href="#193">193</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="194" href="#194">194</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="195" href="#195">195</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="196" href="#196">196</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="197" href="#197">197</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="198" href="#198">198</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="199" href="#199">199</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="200" href="#200">200</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="201" href="#201">201</a> <em class="comment"> * </em>
+<a name="202" href="#202">202</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="203" href="#203">203</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractElement.html b/docs/xref/org/dom4j/tree/AbstractElement.html
new file mode 100644
index 0000000..5fc2e69
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractElement.html
@@ -0,0 +1,1697 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractElement xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractElement.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.StringWriter;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.Writer;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.ArrayList;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.Collections;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Iterator;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.List;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.util.Map;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.CharacterData;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.Document;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.Element;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.dom4j.IllegalAddException;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.dom4j.Node;
+<a name="30" href="#30">30</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="31" href="#31">31</a>  <strong>import</strong> org.dom4j.QName;
+<a name="32" href="#32">32</a>  <strong>import</strong> org.dom4j.Text;
+<a name="33" href="#33">33</a>  <strong>import</strong> org.dom4j.Visitor;
+<a name="34" href="#34">34</a>  <strong>import</strong> org.dom4j.io.OutputFormat;
+<a name="35" href="#35">35</a>  <strong>import</strong> org.dom4j.io.XMLWriter;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>  <strong>import</strong> org.xml.sax.Attributes;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>  <em>/**<em>*</em></em>
+<a name="40" href="#40">40</a>  <em> * <p></em>
+<a name="41" href="#41">41</a>  <em> * <code>AbstractElement</code> is an abstract base class for tree</em>
+<a name="42" href="#42">42</a>  <em> * implementors to use for implementation inheritence.</em>
+<a name="43" href="#43">43</a>  <em> * </p></em>
+<a name="44" href="#44">44</a>  <em> * </em>
+<a name="45" href="#45">45</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="46" href="#46">46</a>  <em> * @version $Revision: 1.80 $</em>
+<a name="47" href="#47">47</a>  <em> */</em>
+<a name="48" href="#48">48</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractElement.html">AbstractElement</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a> implements
+<a name="49" href="#49">49</a>          org.dom4j.Element {
+<a name="50" href="#50">50</a>      <em>/**<em>* The <code>DocumentFactory</code> instance used by default */</em></em>
+<a name="51" href="#51">51</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> DOCUMENT_FACTORY = <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a>
+<a name="52" href="#52">52</a>              .getInstance();
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> List EMPTY_LIST = Collections.EMPTY_LIST;
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> Iterator EMPTY_ITERATOR = EMPTY_LIST.iterator();
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <strong>boolean</strong> VERBOSE_TOSTRING = false;
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <strong>boolean</strong> USE_STRINGVALUE_SEPARATOR = false;
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractElement.html">AbstractElement</a>() {
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="66" href="#66">66</a>          <strong>return</strong> ELEMENT_NODE;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <strong>boolean</strong> isRootElement() {
+<a name="70" href="#70">70</a>          <a href="../../../org/dom4j/Document.html">Document</a> document = getDocument();
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>          <strong>if</strong> (document != <strong>null</strong>) {
+<a name="73" href="#73">73</a>              <a href="../../../org/dom4j/Element.html">Element</a> root = document.getRootElement();
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>              <strong>if</strong> (root == <strong>this</strong>) {
+<a name="76" href="#76">76</a>                  <strong>return</strong> <strong>true</strong>;
+<a name="77" href="#77">77</a>              }
+<a name="78" href="#78">78</a>          }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>          <strong>return</strong> false;
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="84" href="#84">84</a>          setQName(getDocumentFactory().createQName(name));
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <strong>public</strong> <strong>void</strong> setNamespace(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="88" href="#88">88</a>          setQName(getDocumentFactory().createQName(getName(), namespace));
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <em>/**<em>*</em></em>
+<a name="92" href="#92">92</a>  <em>     * Returns the XPath expression to match this Elements name which is</em>
+<a name="93" href="#93">93</a>  <em>     * getQualifiedName() if there is a namespace prefix defined or if no</em>
+<a name="94" href="#94">94</a>  <em>     * namespace is present then it is getName() or if a namespace is defined</em>
+<a name="95" href="#95">95</a>  <em>     * with no prefix then the expression is [name()='X'] where X = getName().</em>
+<a name="96" href="#96">96</a>  <em>     * </em>
+<a name="97" href="#97">97</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="98" href="#98">98</a>  <em>     */</em>
+<a name="99" href="#99">99</a>      <strong>public</strong> String getXPathNameStep() {
+<a name="100" href="#100">100</a>         String uri = getNamespaceURI();
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         <strong>if</strong> ((uri == <strong>null</strong>) || (uri.length() == 0)) {
+<a name="103" href="#103">103</a>             <strong>return</strong> getName();
+<a name="104" href="#104">104</a>         }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         String prefix = getNamespacePrefix();
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>         <strong>if</strong> ((prefix == <strong>null</strong>) || (prefix.length() == 0)) {
+<a name="109" href="#109">109</a>             <strong>return</strong> <span class="string">"*[name()='"</span> + getName() + <span class="string">"']"</span>;
+<a name="110" href="#110">110</a>         }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         <strong>return</strong> getQualifiedName();
+<a name="113" href="#113">113</a>     }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <strong>public</strong> String getPath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="116" href="#116">116</a>         <strong>if</strong> (<strong>this</strong> == context) {
+<a name="117" href="#117">117</a>             <strong>return</strong> <span class="string">"."</span>;
+<a name="118" href="#118">118</a>         }
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>         <strong>if</strong> (parent == <strong>null</strong>) {
+<a name="123" href="#123">123</a>             <strong>return</strong> <span class="string">"/"</span> + getXPathNameStep();
+<a name="124" href="#124">124</a>         } <strong>else</strong> <strong>if</strong> (parent == context) {
+<a name="125" href="#125">125</a>             <strong>return</strong> getXPathNameStep();
+<a name="126" href="#126">126</a>         }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         <strong>return</strong> parent.getPath(context) + <span class="string">"/"</span> + getXPathNameStep();
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>public</strong> String getUniquePath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="132" href="#132">132</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>         <strong>if</strong> (parent == <strong>null</strong>) {
+<a name="135" href="#135">135</a>             <strong>return</strong> <span class="string">"/"</span> + getXPathNameStep();
+<a name="136" href="#136">136</a>         }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>         StringBuffer buffer = <strong>new</strong> StringBuffer();
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>         <strong>if</strong> (parent != context) {
+<a name="141" href="#141">141</a>             buffer.append(parent.getUniquePath(context));
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>             buffer.append(<span class="string">"/"</span>);
+<a name="144" href="#144">144</a>         }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>         buffer.append(getXPathNameStep());
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>         List mySiblings = parent.elements(getQName());
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         <strong>if</strong> (mySiblings.size() > 1) {
+<a name="151" href="#151">151</a>             <strong>int</strong> idx = mySiblings.indexOf(<strong>this</strong>);
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>             <strong>if</strong> (idx >= 0) {
+<a name="154" href="#154">154</a>                 buffer.append(<span class="string">"["</span>);
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>                 buffer.append(Integer.toString(++idx));
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>                 buffer.append(<span class="string">"]"</span>);
+<a name="159" href="#159">159</a>             }
+<a name="160" href="#160">160</a>         }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>         <strong>return</strong> buffer.toString();
+<a name="163" href="#163">163</a>     }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>     <strong>public</strong> String asXML() {
+<a name="166" href="#166">166</a>         <strong>try</strong> {
+<a name="167" href="#167">167</a>             StringWriter out = <strong>new</strong> StringWriter();
+<a name="168" href="#168">168</a>             <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> writer = <strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(out, <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>());
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>             writer.write(<strong>this</strong>);
+<a name="171" href="#171">171</a>             writer.flush();
+<a name="172" href="#172">172</a> 
+<a name="173" href="#173">173</a>             <strong>return</strong> out.toString();
+<a name="174" href="#174">174</a>         } <strong>catch</strong> (IOException e) {
+<a name="175" href="#175">175</a>             <strong>throw</strong> <strong>new</strong> RuntimeException(<span class="string">"IOException while generating "</span>
+<a name="176" href="#176">176</a>                     + <span class="string">"textual representation: "</span> + e.getMessage());
+<a name="177" href="#177">177</a>         }
+<a name="178" href="#178">178</a>     }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>     <strong>public</strong> <strong>void</strong> write(Writer out) throws IOException {
+<a name="181" href="#181">181</a>         <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a> writer = <strong>new</strong> <a href="../../../org/dom4j/io/XMLWriter.html">XMLWriter</a>(out, <strong>new</strong> <a href="../../../org/dom4j/io/OutputFormat.html">OutputFormat</a>());
+<a name="182" href="#182">182</a>         writer.write(<strong>this</strong>);
+<a name="183" href="#183">183</a>     }
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>     <em>/**<em>*</em></em>
+<a name="186" href="#186">186</a> <em>     * <p></em>
+<a name="187" href="#187">187</a> <em>     * <code>accept</code> method is the <code>Visitor Pattern</code></em>
+<a name="188" href="#188">188</a> <em>     * method.</em>
+<a name="189" href="#189">189</a> <em>     * </p></em>
+<a name="190" href="#190">190</a> <em>     * </em>
+<a name="191" href="#191">191</a> <em>     * @param visitor</em>
+<a name="192" href="#192">192</a> <em>     *            <code>Visitor</code> is the visitor.</em>
+<a name="193" href="#193">193</a> <em>     */</em>
+<a name="194" href="#194">194</a>     <strong>public</strong> <strong>void</strong> accept(<a href="../../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="195" href="#195">195</a>         visitor.visit(<strong>this</strong>);
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>         <em class="comment">// visit attributes</em>
+<a name="198" href="#198">198</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = attributeCount(); i < size; i++) {
+<a name="199" href="#199">199</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(i);
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>             visitor.visit(attribute);
+<a name="202" href="#202">202</a>         }
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>         <em class="comment">// visit content</em>
+<a name="205" href="#205">205</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = nodeCount(); i < size; i++) {
+<a name="206" href="#206">206</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = node(i);
+<a name="207" href="#207">207</a> 
+<a name="208" href="#208">208</a>             node.accept(visitor);
+<a name="209" href="#209">209</a>         }
+<a name="210" href="#210">210</a>     }
+<a name="211" href="#211">211</a> 
+<a name="212" href="#212">212</a>     <strong>public</strong> String toString() {
+<a name="213" href="#213">213</a>         String uri = getNamespaceURI();
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>         <strong>if</strong> ((uri != <strong>null</strong>) && (uri.length() > 0)) {
+<a name="216" href="#216">216</a>             <strong>if</strong> (VERBOSE_TOSTRING) {
+<a name="217" href="#217">217</a>                 <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Element: <"</span> + getQualifiedName()
+<a name="218" href="#218">218</a>                         + <span class="string">" uri: "</span> + uri + <span class="string">" attributes: "</span> + attributeList()
+<a name="219" href="#219">219</a>                         + <span class="string">" content: "</span> + contentList() + <span class="string">" />]"</span>;
+<a name="220" href="#220">220</a>             } <strong>else</strong> {
+<a name="221" href="#221">221</a>                 <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Element: <"</span> + getQualifiedName()
+<a name="222" href="#222">222</a>                         + <span class="string">" uri: "</span> + uri + <span class="string">" attributes: "</span> + attributeList()
+<a name="223" href="#223">223</a>                         + <span class="string">"/>]"</span>;
+<a name="224" href="#224">224</a>             }
+<a name="225" href="#225">225</a>         } <strong>else</strong> {
+<a name="226" href="#226">226</a>             <strong>if</strong> (VERBOSE_TOSTRING) {
+<a name="227" href="#227">227</a>                 <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Element: <"</span> + getQualifiedName()
+<a name="228" href="#228">228</a>                         + <span class="string">" attributes: "</span> + attributeList() + <span class="string">" content: "</span>
+<a name="229" href="#229">229</a>                         + contentList() + <span class="string">" />]"</span>;
+<a name="230" href="#230">230</a>             } <strong>else</strong> {
+<a name="231" href="#231">231</a>                 <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Element: <"</span> + getQualifiedName()
+<a name="232" href="#232">232</a>                         + <span class="string">" attributes: "</span> + attributeList() + <span class="string">"/>]"</span>;
+<a name="233" href="#233">233</a>             }
+<a name="234" href="#234">234</a>         }
+<a name="235" href="#235">235</a>     }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>     <em class="comment">// QName methods</em>
+<a name="238" href="#238">238</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="239" href="#239">239</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getNamespace() {
+<a name="240" href="#240">240</a>         <strong>return</strong> getQName().getNamespace();
+<a name="241" href="#241">241</a>     }
+<a name="242" href="#242">242</a> 
+<a name="243" href="#243">243</a>     <strong>public</strong> String getName() {
+<a name="244" href="#244">244</a>         <strong>return</strong> getQName().getName();
+<a name="245" href="#245">245</a>     }
+<a name="246" href="#246">246</a> 
+<a name="247" href="#247">247</a>     <strong>public</strong> String getNamespacePrefix() {
+<a name="248" href="#248">248</a>         <strong>return</strong> getQName().getNamespacePrefix();
+<a name="249" href="#249">249</a>     }
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>     <strong>public</strong> String getNamespaceURI() {
+<a name="252" href="#252">252</a>         <strong>return</strong> getQName().getNamespaceURI();
+<a name="253" href="#253">253</a>     }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>     <strong>public</strong> String getQualifiedName() {
+<a name="256" href="#256">256</a>         <strong>return</strong> getQName().getQualifiedName();
+<a name="257" href="#257">257</a>     }
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>     <strong>public</strong> Object getData() {
+<a name="260" href="#260">260</a>         <strong>return</strong> getText();
+<a name="261" href="#261">261</a>     }
+<a name="262" href="#262">262</a> 
+<a name="263" href="#263">263</a>     <strong>public</strong> <strong>void</strong> setData(Object data) {
+<a name="264" href="#264">264</a>         <em class="comment">// ignore this method</em>
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <em class="comment">// Node methods</em>
+<a name="268" href="#268">268</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="269" href="#269">269</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> node(<strong>int</strong> index) {
+<a name="270" href="#270">270</a>         <strong>if</strong> (index >= 0) {
+<a name="271" href="#271">271</a>             List list = contentList();
+<a name="272" href="#272">272</a> 
+<a name="273" href="#273">273</a>             <strong>if</strong> (index >= list.size()) {
+<a name="274" href="#274">274</a>                 <strong>return</strong> <strong>null</strong>;
+<a name="275" href="#275">275</a>             }
+<a name="276" href="#276">276</a> 
+<a name="277" href="#277">277</a>             Object node = list.get(index);
+<a name="278" href="#278">278</a> 
+<a name="279" href="#279">279</a>             <strong>if</strong> (node != <strong>null</strong>) {
+<a name="280" href="#280">280</a>                 <strong>if</strong> (node instanceof Node) {
+<a name="281" href="#281">281</a>                     <strong>return</strong> (Node) node;
+<a name="282" href="#282">282</a>                 } <strong>else</strong> {
+<a name="283" href="#283">283</a>                     <strong>return</strong> getDocumentFactory().createText(node.toString());
+<a name="284" href="#284">284</a>                 }
+<a name="285" href="#285">285</a>             }
+<a name="286" href="#286">286</a>         }
+<a name="287" href="#287">287</a> 
+<a name="288" href="#288">288</a>         <strong>return</strong> <strong>null</strong>;
+<a name="289" href="#289">289</a>     }
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>     <strong>public</strong> <strong>int</strong> indexOf(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="292" href="#292">292</a>         <strong>return</strong> contentList().indexOf(node);
+<a name="293" href="#293">293</a>     }
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>     <strong>public</strong> <strong>int</strong> nodeCount() {
+<a name="296" href="#296">296</a>         <strong>return</strong> contentList().size();
+<a name="297" href="#297">297</a>     }
+<a name="298" href="#298">298</a> 
+<a name="299" href="#299">299</a>     <strong>public</strong> Iterator nodeIterator() {
+<a name="300" href="#300">300</a>         <strong>return</strong> contentList().iterator();
+<a name="301" href="#301">301</a>     }
+<a name="302" href="#302">302</a> 
+<a name="303" href="#303">303</a>     <em class="comment">// Element methods</em>
+<a name="304" href="#304">304</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="305" href="#305">305</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> element(String name) {
+<a name="306" href="#306">306</a>         List list = contentList();
+<a name="307" href="#307">307</a> 
+<a name="308" href="#308">308</a>         <strong>int</strong> size = list.size();
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="311" href="#311">311</a>             Object object = list.get(i);
+<a name="312" href="#312">312</a> 
+<a name="313" href="#313">313</a>             <strong>if</strong> (object instanceof Element) {
+<a name="314" href="#314">314</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) object;
+<a name="315" href="#315">315</a> 
+<a name="316" href="#316">316</a>                 <strong>if</strong> (name.equals(element.getName())) {
+<a name="317" href="#317">317</a>                     <strong>return</strong> element;
+<a name="318" href="#318">318</a>                 }
+<a name="319" href="#319">319</a>             }
+<a name="320" href="#320">320</a>         }
+<a name="321" href="#321">321</a> 
+<a name="322" href="#322">322</a>         <strong>return</strong> <strong>null</strong>;
+<a name="323" href="#323">323</a>     }
+<a name="324" href="#324">324</a> 
+<a name="325" href="#325">325</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> element(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="326" href="#326">326</a>         List list = contentList();
+<a name="327" href="#327">327</a> 
+<a name="328" href="#328">328</a>         <strong>int</strong> size = list.size();
+<a name="329" href="#329">329</a> 
+<a name="330" href="#330">330</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="331" href="#331">331</a>             Object object = list.get(i);
+<a name="332" href="#332">332</a> 
+<a name="333" href="#333">333</a>             <strong>if</strong> (object instanceof Element) {
+<a name="334" href="#334">334</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) object;
+<a name="335" href="#335">335</a> 
+<a name="336" href="#336">336</a>                 <strong>if</strong> (qName.equals(element.getQName())) {
+<a name="337" href="#337">337</a>                     <strong>return</strong> element;
+<a name="338" href="#338">338</a>                 }
+<a name="339" href="#339">339</a>             }
+<a name="340" href="#340">340</a>         }
+<a name="341" href="#341">341</a> 
+<a name="342" href="#342">342</a>         <strong>return</strong> <strong>null</strong>;
+<a name="343" href="#343">343</a>     }
+<a name="344" href="#344">344</a> 
+<a name="345" href="#345">345</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> element(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="346" href="#346">346</a>         <strong>return</strong> element(getDocumentFactory().createQName(name, namespace));
+<a name="347" href="#347">347</a>     }
+<a name="348" href="#348">348</a> 
+<a name="349" href="#349">349</a>     <strong>public</strong> List elements() {
+<a name="350" href="#350">350</a>         List list = contentList();
+<a name="351" href="#351">351</a> 
+<a name="352" href="#352">352</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="353" href="#353">353</a> 
+<a name="354" href="#354">354</a>         <strong>int</strong> size = list.size();
+<a name="355" href="#355">355</a> 
+<a name="356" href="#356">356</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="357" href="#357">357</a>             Object object = list.get(i);
+<a name="358" href="#358">358</a> 
+<a name="359" href="#359">359</a>             <strong>if</strong> (object instanceof Element) {
+<a name="360" href="#360">360</a>                 answer.addLocal(object);
+<a name="361" href="#361">361</a>             }
+<a name="362" href="#362">362</a>         }
+<a name="363" href="#363">363</a> 
+<a name="364" href="#364">364</a>         <strong>return</strong> answer;
+<a name="365" href="#365">365</a>     }
+<a name="366" href="#366">366</a> 
+<a name="367" href="#367">367</a>     <strong>public</strong> List elements(String name) {
+<a name="368" href="#368">368</a>         List list = contentList();
+<a name="369" href="#369">369</a> 
+<a name="370" href="#370">370</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="371" href="#371">371</a> 
+<a name="372" href="#372">372</a>         <strong>int</strong> size = list.size();
+<a name="373" href="#373">373</a> 
+<a name="374" href="#374">374</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="375" href="#375">375</a>             Object object = list.get(i);
+<a name="376" href="#376">376</a> 
+<a name="377" href="#377">377</a>             <strong>if</strong> (object instanceof Element) {
+<a name="378" href="#378">378</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) object;
+<a name="379" href="#379">379</a> 
+<a name="380" href="#380">380</a>                 <strong>if</strong> (name.equals(element.getName())) {
+<a name="381" href="#381">381</a>                     answer.addLocal(element);
+<a name="382" href="#382">382</a>                 }
+<a name="383" href="#383">383</a>             }
+<a name="384" href="#384">384</a>         }
+<a name="385" href="#385">385</a> 
+<a name="386" href="#386">386</a>         <strong>return</strong> answer;
+<a name="387" href="#387">387</a>     }
+<a name="388" href="#388">388</a> 
+<a name="389" href="#389">389</a>     <strong>public</strong> List elements(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="390" href="#390">390</a>         List list = contentList();
+<a name="391" href="#391">391</a> 
+<a name="392" href="#392">392</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="393" href="#393">393</a> 
+<a name="394" href="#394">394</a>         <strong>int</strong> size = list.size();
+<a name="395" href="#395">395</a> 
+<a name="396" href="#396">396</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="397" href="#397">397</a>             Object object = list.get(i);
+<a name="398" href="#398">398</a> 
+<a name="399" href="#399">399</a>             <strong>if</strong> (object instanceof Element) {
+<a name="400" href="#400">400</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) object;
+<a name="401" href="#401">401</a> 
+<a name="402" href="#402">402</a>                 <strong>if</strong> (qName.equals(element.getQName())) {
+<a name="403" href="#403">403</a>                     answer.addLocal(element);
+<a name="404" href="#404">404</a>                 }
+<a name="405" href="#405">405</a>             }
+<a name="406" href="#406">406</a>         }
+<a name="407" href="#407">407</a> 
+<a name="408" href="#408">408</a>         <strong>return</strong> answer;
+<a name="409" href="#409">409</a>     }
+<a name="410" href="#410">410</a> 
+<a name="411" href="#411">411</a>     <strong>public</strong> List elements(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="412" href="#412">412</a>         <strong>return</strong> elements(getDocumentFactory().createQName(name, namespace));
+<a name="413" href="#413">413</a>     }
+<a name="414" href="#414">414</a> 
+<a name="415" href="#415">415</a>     <strong>public</strong> Iterator elementIterator() {
+<a name="416" href="#416">416</a>         List list = elements();
+<a name="417" href="#417">417</a> 
+<a name="418" href="#418">418</a>         <strong>return</strong> list.iterator();
+<a name="419" href="#419">419</a>     }
+<a name="420" href="#420">420</a> 
+<a name="421" href="#421">421</a>     <strong>public</strong> Iterator elementIterator(String name) {
+<a name="422" href="#422">422</a>         List list = elements(name);
+<a name="423" href="#423">423</a> 
+<a name="424" href="#424">424</a>         <strong>return</strong> list.iterator();
+<a name="425" href="#425">425</a>     }
+<a name="426" href="#426">426</a> 
+<a name="427" href="#427">427</a>     <strong>public</strong> Iterator elementIterator(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="428" href="#428">428</a>         List list = elements(qName);
+<a name="429" href="#429">429</a> 
+<a name="430" href="#430">430</a>         <strong>return</strong> list.iterator();
+<a name="431" href="#431">431</a>     }
+<a name="432" href="#432">432</a> 
+<a name="433" href="#433">433</a>     <strong>public</strong> Iterator elementIterator(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> ns) {
+<a name="434" href="#434">434</a>         <strong>return</strong> elementIterator(getDocumentFactory().createQName(name, ns));
+<a name="435" href="#435">435</a>     }
+<a name="436" href="#436">436</a> 
+<a name="437" href="#437">437</a>     <em class="comment">// Attribute methods</em>
+<a name="438" href="#438">438</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="439" href="#439">439</a>     <strong>public</strong> List attributes() {
+<a name="440" href="#440">440</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/ContentListFacade.html">ContentListFacade</a>(<strong>this</strong>, attributeList());
+<a name="441" href="#441">441</a>     }
+<a name="442" href="#442">442</a> 
+<a name="443" href="#443">443</a>     <strong>public</strong> Iterator attributeIterator() {
+<a name="444" href="#444">444</a>         <strong>return</strong> attributeList().iterator();
+<a name="445" href="#445">445</a>     }
+<a name="446" href="#446">446</a> 
+<a name="447" href="#447">447</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(<strong>int</strong> index) {
+<a name="448" href="#448">448</a>         <strong>return</strong> (Attribute) attributeList().get(index);
+<a name="449" href="#449">449</a>     }
+<a name="450" href="#450">450</a> 
+<a name="451" href="#451">451</a>     <strong>public</strong> <strong>int</strong> attributeCount() {
+<a name="452" href="#452">452</a>         <strong>return</strong> attributeList().size();
+<a name="453" href="#453">453</a>     }
+<a name="454" href="#454">454</a> 
+<a name="455" href="#455">455</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(String name) {
+<a name="456" href="#456">456</a>         List list = attributeList();
+<a name="457" href="#457">457</a> 
+<a name="458" href="#458">458</a>         <strong>int</strong> size = list.size();
+<a name="459" href="#459">459</a> 
+<a name="460" href="#460">460</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="461" href="#461">461</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) list.get(i);
+<a name="462" href="#462">462</a> 
+<a name="463" href="#463">463</a>             <strong>if</strong> (name.equals(attribute.getName())) {
+<a name="464" href="#464">464</a>                 <strong>return</strong> attribute;
+<a name="465" href="#465">465</a>             }
+<a name="466" href="#466">466</a>         }
+<a name="467" href="#467">467</a> 
+<a name="468" href="#468">468</a>         <strong>return</strong> <strong>null</strong>;
+<a name="469" href="#469">469</a>     }
+<a name="470" href="#470">470</a> 
+<a name="471" href="#471">471</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="472" href="#472">472</a>         List list = attributeList();
+<a name="473" href="#473">473</a> 
+<a name="474" href="#474">474</a>         <strong>int</strong> size = list.size();
+<a name="475" href="#475">475</a> 
+<a name="476" href="#476">476</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="477" href="#477">477</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) list.get(i);
+<a name="478" href="#478">478</a> 
+<a name="479" href="#479">479</a>             <strong>if</strong> (qName.equals(attribute.getQName())) {
+<a name="480" href="#480">480</a>                 <strong>return</strong> attribute;
+<a name="481" href="#481">481</a>             }
+<a name="482" href="#482">482</a>         }
+<a name="483" href="#483">483</a> 
+<a name="484" href="#484">484</a>         <strong>return</strong> <strong>null</strong>;
+<a name="485" href="#485">485</a>     }
+<a name="486" href="#486">486</a> 
+<a name="487" href="#487">487</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="488" href="#488">488</a>         <strong>return</strong> attribute(getDocumentFactory().createQName(name, namespace));
+<a name="489" href="#489">489</a>     }
+<a name="490" href="#490">490</a> 
+<a name="491" href="#491">491</a>     <em>/**<em>*</em></em>
+<a name="492" href="#492">492</a> <em>     * This method provides a more optimal way of setting all the attributes on</em>
+<a name="493" href="#493">493</a> <em>     * an Element particularly for use in {@link org.dom4j.io.SAXReader}.</em>
+<a name="494" href="#494">494</a> <em>     * </em>
+<a name="495" href="#495">495</a> <em>     * @param attributes</em>
+<a name="496" href="#496">496</a> <em>     *            DOCUMENT ME!</em>
+<a name="497" href="#497">497</a> <em>     * @param namespaceStack</em>
+<a name="498" href="#498">498</a> <em>     *            DOCUMENT ME!</em>
+<a name="499" href="#499">499</a> <em>     * @param noNamespaceAttributes</em>
+<a name="500" href="#500">500</a> <em>     *            DOCUMENT ME!</em>
+<a name="501" href="#501">501</a> <em>     */</em>
+<a name="502" href="#502">502</a>     <strong>public</strong> <strong>void</strong> setAttributes(Attributes attributes,
+<a name="503" href="#503">503</a>             <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> namespaceStack, <strong>boolean</strong> noNamespaceAttributes) {
+<a name="504" href="#504">504</a>         <em class="comment">// now lets add all attribute values</em>
+<a name="505" href="#505">505</a>         <strong>int</strong> size = attributes.getLength();
+<a name="506" href="#506">506</a> 
+<a name="507" href="#507">507</a>         <strong>if</strong> (size > 0) {
+<a name="508" href="#508">508</a>             <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = getDocumentFactory();
+<a name="509" href="#509">509</a> 
+<a name="510" href="#510">510</a>             <strong>if</strong> (size == 1) {
+<a name="511" href="#511">511</a>                 <em class="comment">// allow lazy construction of the List of Attributes</em>
+<a name="512" href="#512">512</a>                 String name = attributes.getQName(0);
+<a name="513" href="#513">513</a> 
+<a name="514" href="#514">514</a>                 <strong>if</strong> (noNamespaceAttributes || !name.startsWith(<span class="string">"xmlns"</span>)) {
+<a name="515" href="#515">515</a>                     String attributeURI = attributes.getURI(0);
+<a name="516" href="#516">516</a> 
+<a name="517" href="#517">517</a>                     String attributeLocalName = attributes.getLocalName(0);
+<a name="518" href="#518">518</a> 
+<a name="519" href="#519">519</a>                     String attributeValue = attributes.getValue(0);
+<a name="520" href="#520">520</a> 
+<a name="521" href="#521">521</a>                     <a href="../../../org/dom4j/QName.html">QName</a> attributeQName = namespaceStack.getAttributeQName(
+<a name="522" href="#522">522</a>                             attributeURI, attributeLocalName, name);
+<a name="523" href="#523">523</a> 
+<a name="524" href="#524">524</a>                     add(factory.createAttribute(<strong>this</strong>, attributeQName,
+<a name="525" href="#525">525</a>                             attributeValue));
+<a name="526" href="#526">526</a>                 }
+<a name="527" href="#527">527</a>             } <strong>else</strong> {
+<a name="528" href="#528">528</a>                 List list = attributeList(size);
+<a name="529" href="#529">529</a> 
+<a name="530" href="#530">530</a>                 list.clear();
+<a name="531" href="#531">531</a> 
+<a name="532" href="#532">532</a>                 <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="533" href="#533">533</a>                     <em class="comment">// optimised to avoid the call to attribute(QName) to</em>
+<a name="534" href="#534">534</a>                     <em class="comment">// lookup an attribute for a given QName</em>
+<a name="535" href="#535">535</a>                     String attributeName = attributes.getQName(i);
+<a name="536" href="#536">536</a> 
+<a name="537" href="#537">537</a>                     <strong>if</strong> (noNamespaceAttributes
+<a name="538" href="#538">538</a>                             || !attributeName.startsWith(<span class="string">"xmlns"</span>)) {
+<a name="539" href="#539">539</a>                         String attributeURI = attributes.getURI(i);
+<a name="540" href="#540">540</a> 
+<a name="541" href="#541">541</a>                         String attributeLocalName = attributes.getLocalName(i);
+<a name="542" href="#542">542</a> 
+<a name="543" href="#543">543</a>                         String attributeValue = attributes.getValue(i);
+<a name="544" href="#544">544</a> 
+<a name="545" href="#545">545</a>                         <a href="../../../org/dom4j/QName.html">QName</a> attributeQName = namespaceStack
+<a name="546" href="#546">546</a>                                 .getAttributeQName(attributeURI,
+<a name="547" href="#547">547</a>                                         attributeLocalName, attributeName);
+<a name="548" href="#548">548</a> 
+<a name="549" href="#549">549</a>                         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = factory.createAttribute(<strong>this</strong>,
+<a name="550" href="#550">550</a>                                 attributeQName, attributeValue);
+<a name="551" href="#551">551</a> 
+<a name="552" href="#552">552</a>                         list.add(attribute);
+<a name="553" href="#553">553</a> 
+<a name="554" href="#554">554</a>                         childAdded(attribute);
+<a name="555" href="#555">555</a>                     }
+<a name="556" href="#556">556</a>                 }
+<a name="557" href="#557">557</a>             }
+<a name="558" href="#558">558</a>         }
+<a name="559" href="#559">559</a>     }
+<a name="560" href="#560">560</a> 
+<a name="561" href="#561">561</a>     <strong>public</strong> String attributeValue(String name) {
+<a name="562" href="#562">562</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attrib = attribute(name);
+<a name="563" href="#563">563</a> 
+<a name="564" href="#564">564</a>         <strong>if</strong> (attrib == <strong>null</strong>) {
+<a name="565" href="#565">565</a>             <strong>return</strong> <strong>null</strong>;
+<a name="566" href="#566">566</a>         } <strong>else</strong> {
+<a name="567" href="#567">567</a>             <strong>return</strong> attrib.getValue();
+<a name="568" href="#568">568</a>         }
+<a name="569" href="#569">569</a>     }
+<a name="570" href="#570">570</a> 
+<a name="571" href="#571">571</a>     <strong>public</strong> String attributeValue(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="572" href="#572">572</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attrib = attribute(qName);
+<a name="573" href="#573">573</a> 
+<a name="574" href="#574">574</a>         <strong>if</strong> (attrib == <strong>null</strong>) {
+<a name="575" href="#575">575</a>             <strong>return</strong> <strong>null</strong>;
+<a name="576" href="#576">576</a>         } <strong>else</strong> {
+<a name="577" href="#577">577</a>             <strong>return</strong> attrib.getValue();
+<a name="578" href="#578">578</a>         }
+<a name="579" href="#579">579</a>     }
+<a name="580" href="#580">580</a> 
+<a name="581" href="#581">581</a>     <strong>public</strong> String attributeValue(String name, String defaultValue) {
+<a name="582" href="#582">582</a>         String answer = attributeValue(name);
+<a name="583" href="#583">583</a> 
+<a name="584" href="#584">584</a>         <strong>return</strong> (answer != <strong>null</strong>) ? answer : defaultValue;
+<a name="585" href="#585">585</a>     }
+<a name="586" href="#586">586</a> 
+<a name="587" href="#587">587</a>     <strong>public</strong> String attributeValue(<a href="../../../org/dom4j/QName.html">QName</a> qName, String defaultValue) {
+<a name="588" href="#588">588</a>         String answer = attributeValue(qName);
+<a name="589" href="#589">589</a> 
+<a name="590" href="#590">590</a>         <strong>return</strong> (answer != <strong>null</strong>) ? answer : defaultValue;
+<a name="591" href="#591">591</a>     }
+<a name="592" href="#592">592</a> 
+<a name="593" href="#593">593</a>     <em>/**<em>*</em></em>
+<a name="594" href="#594">594</a> <em>     * DOCUMENT ME!</em>
+<a name="595" href="#595">595</a> <em>     * </em>
+<a name="596" href="#596">596</a> <em>     * @param name</em>
+<a name="597" href="#597">597</a> <em>     *            DOCUMENT ME!</em>
+<a name="598" href="#598">598</a> <em>     * @param value</em>
+<a name="599" href="#599">599</a> <em>     *            DOCUMENT ME!</em>
+<a name="600" href="#600">600</a> <em>     * </em>
+<a name="601" href="#601">601</a> <em>     * @deprecated As of version 0.5. Please use {@link</em>
+<a name="602" href="#602">602</a> <em>     *             #addAttribute(String,String)} instead. WILL BE REMOVED IN</em>
+<a name="603" href="#603">603</a> <em>     *             dom4j-1.6 !!</em>
+<a name="604" href="#604">604</a> <em>     */</em>
+<a name="605" href="#605">605</a>     <strong>public</strong> <strong>void</strong> setAttributeValue(String name, String value) {
+<a name="606" href="#606">606</a>         addAttribute(name, value);
+<a name="607" href="#607">607</a>     }
+<a name="608" href="#608">608</a> 
+<a name="609" href="#609">609</a>     <em>/**<em>*</em></em>
+<a name="610" href="#610">610</a> <em>     * DOCUMENT ME!</em>
+<a name="611" href="#611">611</a> <em>     * </em>
+<a name="612" href="#612">612</a> <em>     * @param qName</em>
+<a name="613" href="#613">613</a> <em>     *            DOCUMENT ME!</em>
+<a name="614" href="#614">614</a> <em>     * @param value</em>
+<a name="615" href="#615">615</a> <em>     *            DOCUMENT ME!</em>
+<a name="616" href="#616">616</a> <em>     * </em>
+<a name="617" href="#617">617</a> <em>     * @deprecated As of version 0.5. Please use {@link</em>
+<a name="618" href="#618">618</a> <em>     *             #addAttribute(String,String)} instead. WILL BE REMOVED IN</em>
+<a name="619" href="#619">619</a> <em>     *             dom4j-1.6 !!</em>
+<a name="620" href="#620">620</a> <em>     */</em>
+<a name="621" href="#621">621</a>     <strong>public</strong> <strong>void</strong> setAttributeValue(<a href="../../../org/dom4j/QName.html">QName</a> qName, String value) {
+<a name="622" href="#622">622</a>         addAttribute(qName, value);
+<a name="623" href="#623">623</a>     }
+<a name="624" href="#624">624</a> 
+<a name="625" href="#625">625</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute) {
+<a name="626" href="#626">626</a>         <strong>if</strong> (attribute.getParent() != <strong>null</strong>) {
+<a name="627" href="#627">627</a>             String message = <span class="string">"The Attribute already has an existing parent \""</span>
+<a name="628" href="#628">628</a>                     + attribute.getParent().getQualifiedName() + <span class="string">"\""</span>;
+<a name="629" href="#629">629</a> 
+<a name="630" href="#630">630</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<strong>this</strong>, attribute, message);
+<a name="631" href="#631">631</a>         }
+<a name="632" href="#632">632</a> 
+<a name="633" href="#633">633</a>         <strong>if</strong> (attribute.getValue() == <strong>null</strong>) {
+<a name="634" href="#634">634</a>             <em class="comment">// try remove a previous attribute with the same</em>
+<a name="635" href="#635">635</a>             <em class="comment">// name since adding an attribute with a null value</em>
+<a name="636" href="#636">636</a>             <em class="comment">// is equivalent to removing it.</em>
+<a name="637" href="#637">637</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> oldAttribute = attribute(attribute.getQName());
+<a name="638" href="#638">638</a> 
+<a name="639" href="#639">639</a>             <strong>if</strong> (oldAttribute != <strong>null</strong>) {
+<a name="640" href="#640">640</a>                 remove(oldAttribute);
+<a name="641" href="#641">641</a>             }
+<a name="642" href="#642">642</a>         } <strong>else</strong> {
+<a name="643" href="#643">643</a>             attributeList().add(attribute);
+<a name="644" href="#644">644</a> 
+<a name="645" href="#645">645</a>             childAdded(attribute);
+<a name="646" href="#646">646</a>         }
+<a name="647" href="#647">647</a>     }
+<a name="648" href="#648">648</a> 
+<a name="649" href="#649">649</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute) {
+<a name="650" href="#650">650</a>         List list = attributeList();
+<a name="651" href="#651">651</a> 
+<a name="652" href="#652">652</a>         <strong>boolean</strong> answer = list.remove(attribute);
+<a name="653" href="#653">653</a> 
+<a name="654" href="#654">654</a>         <strong>if</strong> (answer) {
+<a name="655" href="#655">655</a>             childRemoved(attribute);
+<a name="656" href="#656">656</a>         } <strong>else</strong> {
+<a name="657" href="#657">657</a>             <em class="comment">// we may have a copy of the attribute</em>
+<a name="658" href="#658">658</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> copy = attribute(attribute.getQName());
+<a name="659" href="#659">659</a> 
+<a name="660" href="#660">660</a>             <strong>if</strong> (copy != <strong>null</strong>) {
+<a name="661" href="#661">661</a>                 list.remove(copy);
+<a name="662" href="#662">662</a> 
+<a name="663" href="#663">663</a>                 answer = <strong>true</strong>;
+<a name="664" href="#664">664</a>             }
+<a name="665" href="#665">665</a>         }
+<a name="666" href="#666">666</a> 
+<a name="667" href="#667">667</a>         <strong>return</strong> answer;
+<a name="668" href="#668">668</a>     }
+<a name="669" href="#669">669</a> 
+<a name="670" href="#670">670</a>     <em class="comment">// Processing instruction API</em>
+<a name="671" href="#671">671</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="672" href="#672">672</a>     <strong>public</strong> List processingInstructions() {
+<a name="673" href="#673">673</a>         List list = contentList();
+<a name="674" href="#674">674</a> 
+<a name="675" href="#675">675</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="676" href="#676">676</a> 
+<a name="677" href="#677">677</a>         <strong>int</strong> size = list.size();
+<a name="678" href="#678">678</a> 
+<a name="679" href="#679">679</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="680" href="#680">680</a>             Object object = list.get(i);
+<a name="681" href="#681">681</a> 
+<a name="682" href="#682">682</a>             <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="683" href="#683">683</a>                 answer.addLocal(object);
+<a name="684" href="#684">684</a>             }
+<a name="685" href="#685">685</a>         }
+<a name="686" href="#686">686</a> 
+<a name="687" href="#687">687</a>         <strong>return</strong> answer;
+<a name="688" href="#688">688</a>     }
+<a name="689" href="#689">689</a> 
+<a name="690" href="#690">690</a>     <strong>public</strong> List processingInstructions(String target) {
+<a name="691" href="#691">691</a>         List list = contentList();
+<a name="692" href="#692">692</a> 
+<a name="693" href="#693">693</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="694" href="#694">694</a> 
+<a name="695" href="#695">695</a>         <strong>int</strong> size = list.size();
+<a name="696" href="#696">696</a> 
+<a name="697" href="#697">697</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="698" href="#698">698</a>             Object object = list.get(i);
+<a name="699" href="#699">699</a> 
+<a name="700" href="#700">700</a>             <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="701" href="#701">701</a>                 <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) object;
+<a name="702" href="#702">702</a> 
+<a name="703" href="#703">703</a>                 <strong>if</strong> (target.equals(pi.getName())) {
+<a name="704" href="#704">704</a>                     answer.addLocal(pi);
+<a name="705" href="#705">705</a>                 }
+<a name="706" href="#706">706</a>             }
+<a name="707" href="#707">707</a>         }
+<a name="708" href="#708">708</a> 
+<a name="709" href="#709">709</a>         <strong>return</strong> answer;
+<a name="710" href="#710">710</a>     }
+<a name="711" href="#711">711</a> 
+<a name="712" href="#712">712</a>     <strong>public</strong> <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> processingInstruction(String target) {
+<a name="713" href="#713">713</a>         List list = contentList();
+<a name="714" href="#714">714</a> 
+<a name="715" href="#715">715</a>         <strong>int</strong> size = list.size();
+<a name="716" href="#716">716</a> 
+<a name="717" href="#717">717</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="718" href="#718">718</a>             Object object = list.get(i);
+<a name="719" href="#719">719</a> 
+<a name="720" href="#720">720</a>             <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="721" href="#721">721</a>                 <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) object;
+<a name="722" href="#722">722</a> 
+<a name="723" href="#723">723</a>                 <strong>if</strong> (target.equals(pi.getName())) {
+<a name="724" href="#724">724</a>                     <strong>return</strong> pi;
+<a name="725" href="#725">725</a>                 }
+<a name="726" href="#726">726</a>             }
+<a name="727" href="#727">727</a>         }
+<a name="728" href="#728">728</a> 
+<a name="729" href="#729">729</a>         <strong>return</strong> <strong>null</strong>;
+<a name="730" href="#730">730</a>     }
+<a name="731" href="#731">731</a> 
+<a name="732" href="#732">732</a>     <strong>public</strong> <strong>boolean</strong> removeProcessingInstruction(String target) {
+<a name="733" href="#733">733</a>         List list = contentList();
+<a name="734" href="#734">734</a> 
+<a name="735" href="#735">735</a>         <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="736" href="#736">736</a>             Object object = iter.next();
+<a name="737" href="#737">737</a> 
+<a name="738" href="#738">738</a>             <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="739" href="#739">739</a>                 <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) object;
+<a name="740" href="#740">740</a> 
+<a name="741" href="#741">741</a>                 <strong>if</strong> (target.equals(pi.getName())) {
+<a name="742" href="#742">742</a>                     iter.remove();
+<a name="743" href="#743">743</a> 
+<a name="744" href="#744">744</a>                     <strong>return</strong> <strong>true</strong>;
+<a name="745" href="#745">745</a>                 }
+<a name="746" href="#746">746</a>             }
+<a name="747" href="#747">747</a>         }
+<a name="748" href="#748">748</a> 
+<a name="749" href="#749">749</a>         <strong>return</strong> false;
+<a name="750" href="#750">750</a>     }
+<a name="751" href="#751">751</a> 
+<a name="752" href="#752">752</a>     <em class="comment">// Content Model methods</em>
+<a name="753" href="#753">753</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="754" href="#754">754</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> getXPathResult(<strong>int</strong> index) {
+<a name="755" href="#755">755</a>         <a href="../../../org/dom4j/Node.html">Node</a> answer = node(index);
+<a name="756" href="#756">756</a> 
+<a name="757" href="#757">757</a>         <strong>if</strong> ((answer != <strong>null</strong>) && !answer.supportsParent()) {
+<a name="758" href="#758">758</a>             <strong>return</strong> answer.asXPathResult(<strong>this</strong>);
+<a name="759" href="#759">759</a>         }
+<a name="760" href="#760">760</a> 
+<a name="761" href="#761">761</a>         <strong>return</strong> answer;
+<a name="762" href="#762">762</a>     }
+<a name="763" href="#763">763</a> 
+<a name="764" href="#764">764</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addAttribute(String name, String value) {
+<a name="765" href="#765">765</a>         <em class="comment">// adding a null value is equivalent to removing the attribute</em>
+<a name="766" href="#766">766</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(name);
+<a name="767" href="#767">767</a> 
+<a name="768" href="#768">768</a>         <strong>if</strong> (value != <strong>null</strong>) {
+<a name="769" href="#769">769</a>             <strong>if</strong> (attribute == <strong>null</strong>) {
+<a name="770" href="#770">770</a>                 add(getDocumentFactory().createAttribute(<strong>this</strong>, name, value));
+<a name="771" href="#771">771</a>             } <strong>else</strong> <strong>if</strong> (attribute.isReadOnly()) {
+<a name="772" href="#772">772</a>                 remove(attribute);
+<a name="773" href="#773">773</a> 
+<a name="774" href="#774">774</a>                 add(getDocumentFactory().createAttribute(<strong>this</strong>, name, value));
+<a name="775" href="#775">775</a>             } <strong>else</strong> {
+<a name="776" href="#776">776</a>                 attribute.setValue(value);
+<a name="777" href="#777">777</a>             }
+<a name="778" href="#778">778</a>         } <strong>else</strong> <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="779" href="#779">779</a>             remove(attribute);
+<a name="780" href="#780">780</a>         }
+<a name="781" href="#781">781</a> 
+<a name="782" href="#782">782</a>         <strong>return</strong> <strong>this</strong>;
+<a name="783" href="#783">783</a>     }
+<a name="784" href="#784">784</a> 
+<a name="785" href="#785">785</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addAttribute(<a href="../../../org/dom4j/QName.html">QName</a> qName, String value) {
+<a name="786" href="#786">786</a>         <em class="comment">// adding a null value is equivalent to removing the attribute</em>
+<a name="787" href="#787">787</a>         <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = attribute(qName);
+<a name="788" href="#788">788</a> 
+<a name="789" href="#789">789</a>         <strong>if</strong> (value != <strong>null</strong>) {
+<a name="790" href="#790">790</a>             <strong>if</strong> (attribute == <strong>null</strong>) {
+<a name="791" href="#791">791</a>                 add(getDocumentFactory().createAttribute(<strong>this</strong>, qName, value));
+<a name="792" href="#792">792</a>             } <strong>else</strong> <strong>if</strong> (attribute.isReadOnly()) {
+<a name="793" href="#793">793</a>                 remove(attribute);
+<a name="794" href="#794">794</a> 
+<a name="795" href="#795">795</a>                 add(getDocumentFactory().createAttribute(<strong>this</strong>, qName, value));
+<a name="796" href="#796">796</a>             } <strong>else</strong> {
+<a name="797" href="#797">797</a>                 attribute.setValue(value);
+<a name="798" href="#798">798</a>             }
+<a name="799" href="#799">799</a>         } <strong>else</strong> <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="800" href="#800">800</a>             remove(attribute);
+<a name="801" href="#801">801</a>         }
+<a name="802" href="#802">802</a> 
+<a name="803" href="#803">803</a>         <strong>return</strong> <strong>this</strong>;
+<a name="804" href="#804">804</a>     }
+<a name="805" href="#805">805</a> 
+<a name="806" href="#806">806</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addCDATA(String cdata) {
+<a name="807" href="#807">807</a>         <a href="../../../org/dom4j/CDATA.html">CDATA</a> node = getDocumentFactory().createCDATA(cdata);
+<a name="808" href="#808">808</a> 
+<a name="809" href="#809">809</a>         addNewNode(node);
+<a name="810" href="#810">810</a> 
+<a name="811" href="#811">811</a>         <strong>return</strong> <strong>this</strong>;
+<a name="812" href="#812">812</a>     }
+<a name="813" href="#813">813</a> 
+<a name="814" href="#814">814</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addComment(String comment) {
+<a name="815" href="#815">815</a>         <a href="../../../org/dom4j/Comment.html">Comment</a> node = getDocumentFactory().createComment(comment);
+<a name="816" href="#816">816</a> 
+<a name="817" href="#817">817</a>         addNewNode(node);
+<a name="818" href="#818">818</a> 
+<a name="819" href="#819">819</a>         <strong>return</strong> <strong>this</strong>;
+<a name="820" href="#820">820</a>     }
+<a name="821" href="#821">821</a> 
+<a name="822" href="#822">822</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addElement(String name) {
+<a name="823" href="#823">823</a>         <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = getDocumentFactory();
+<a name="824" href="#824">824</a> 
+<a name="825" href="#825">825</a>         <strong>int</strong> index = name.indexOf(<span class="string">":"</span>);
+<a name="826" href="#826">826</a> 
+<a name="827" href="#827">827</a>         String prefix = <span class="string">""</span>;
+<a name="828" href="#828">828</a> 
+<a name="829" href="#829">829</a>         String localName = name;
+<a name="830" href="#830">830</a> 
+<a name="831" href="#831">831</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = <strong>null</strong>;
+<a name="832" href="#832">832</a> 
+<a name="833" href="#833">833</a>         <strong>if</strong> (index > 0) {
+<a name="834" href="#834">834</a>             prefix = name.substring(0, index);
+<a name="835" href="#835">835</a> 
+<a name="836" href="#836">836</a>             localName = name.substring(index + 1);
+<a name="837" href="#837">837</a> 
+<a name="838" href="#838">838</a>             namespace = getNamespaceForPrefix(prefix);
+<a name="839" href="#839">839</a> 
+<a name="840" href="#840">840</a>             <strong>if</strong> (namespace == <strong>null</strong>) {
+<a name="841" href="#841">841</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<span class="string">"No such namespace prefix: "</span>
+<a name="842" href="#842">842</a>                         + prefix + <span class="string">" is in scope on: "</span> + <strong>this</strong>
+<a name="843" href="#843">843</a>                         + <span class="string">" so cannot add element: "</span> + name);
+<a name="844" href="#844">844</a>             }
+<a name="845" href="#845">845</a>         } <strong>else</strong> {
+<a name="846" href="#846">846</a>             namespace = getNamespaceForPrefix(<span class="string">""</span>);
+<a name="847" href="#847">847</a>         }
+<a name="848" href="#848">848</a> 
+<a name="849" href="#849">849</a>         <a href="../../../org/dom4j/Element.html">Element</a> node;
+<a name="850" href="#850">850</a> 
+<a name="851" href="#851">851</a>         <strong>if</strong> (namespace != <strong>null</strong>) {
+<a name="852" href="#852">852</a>             <a href="../../../org/dom4j/QName.html">QName</a> qname = factory.createQName(localName, namespace);
+<a name="853" href="#853">853</a> 
+<a name="854" href="#854">854</a>             node = factory.createElement(qname);
+<a name="855" href="#855">855</a>         } <strong>else</strong> {
+<a name="856" href="#856">856</a>             node = factory.createElement(name);
+<a name="857" href="#857">857</a>         }
+<a name="858" href="#858">858</a> 
+<a name="859" href="#859">859</a>         addNewNode(node);
+<a name="860" href="#860">860</a> 
+<a name="861" href="#861">861</a>         <strong>return</strong> node;
+<a name="862" href="#862">862</a>     }
+<a name="863" href="#863">863</a> 
+<a name="864" href="#864">864</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addEntity(String name, String text) {
+<a name="865" href="#865">865</a>         <a href="../../../org/dom4j/Entity.html">Entity</a> node = getDocumentFactory().createEntity(name, text);
+<a name="866" href="#866">866</a> 
+<a name="867" href="#867">867</a>         addNewNode(node);
+<a name="868" href="#868">868</a> 
+<a name="869" href="#869">869</a>         <strong>return</strong> <strong>this</strong>;
+<a name="870" href="#870">870</a>     }
+<a name="871" href="#871">871</a> 
+<a name="872" href="#872">872</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addNamespace(String prefix, String uri) {
+<a name="873" href="#873">873</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> node = getDocumentFactory().createNamespace(prefix, uri);
+<a name="874" href="#874">874</a> 
+<a name="875" href="#875">875</a>         addNewNode(node);
+<a name="876" href="#876">876</a> 
+<a name="877" href="#877">877</a>         <strong>return</strong> <strong>this</strong>;
+<a name="878" href="#878">878</a>     }
+<a name="879" href="#879">879</a> 
+<a name="880" href="#880">880</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addProcessingInstruction(String target, String data) {
+<a name="881" href="#881">881</a>         <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> node = getDocumentFactory()
+<a name="882" href="#882">882</a>                 .createProcessingInstruction(target, data);
+<a name="883" href="#883">883</a> 
+<a name="884" href="#884">884</a>         addNewNode(node);
+<a name="885" href="#885">885</a> 
+<a name="886" href="#886">886</a>         <strong>return</strong> <strong>this</strong>;
+<a name="887" href="#887">887</a>     }
+<a name="888" href="#888">888</a> 
+<a name="889" href="#889">889</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addProcessingInstruction(String target, Map data) {
+<a name="890" href="#890">890</a>         <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> node = getDocumentFactory()
+<a name="891" href="#891">891</a>                 .createProcessingInstruction(target, data);
+<a name="892" href="#892">892</a> 
+<a name="893" href="#893">893</a>         addNewNode(node);
+<a name="894" href="#894">894</a> 
+<a name="895" href="#895">895</a>         <strong>return</strong> <strong>this</strong>;
+<a name="896" href="#896">896</a>     }
+<a name="897" href="#897">897</a> 
+<a name="898" href="#898">898</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> addText(String text) {
+<a name="899" href="#899">899</a>         <a href="../../../org/dom4j/Text.html">Text</a> node = getDocumentFactory().createText(text);
+<a name="900" href="#900">900</a> 
+<a name="901" href="#901">901</a>         addNewNode(node);
+<a name="902" href="#902">902</a> 
+<a name="903" href="#903">903</a>         <strong>return</strong> <strong>this</strong>;
+<a name="904" href="#904">904</a>     }
+<a name="905" href="#905">905</a> 
+<a name="906" href="#906">906</a>     <em class="comment">// polymorphic node methods</em>
+<a name="907" href="#907">907</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="908" href="#908">908</a>         <strong>switch</strong> (node.getNodeType()) {
+<a name="909" href="#909">909</a>             <strong>case</strong> ELEMENT_NODE:
+<a name="910" href="#910">910</a>                 add((Element) node);
+<a name="911" href="#911">911</a> 
+<a name="912" href="#912">912</a>                 <strong>break</strong>;
+<a name="913" href="#913">913</a> 
+<a name="914" href="#914">914</a>             <strong>case</strong> ATTRIBUTE_NODE:
+<a name="915" href="#915">915</a>                 add((Attribute) node);
+<a name="916" href="#916">916</a> 
+<a name="917" href="#917">917</a>                 <strong>break</strong>;
+<a name="918" href="#918">918</a> 
+<a name="919" href="#919">919</a>             <strong>case</strong> TEXT_NODE:
+<a name="920" href="#920">920</a>                 add((Text) node);
+<a name="921" href="#921">921</a> 
+<a name="922" href="#922">922</a>                 <strong>break</strong>;
+<a name="923" href="#923">923</a> 
+<a name="924" href="#924">924</a>             <strong>case</strong> CDATA_SECTION_NODE:
+<a name="925" href="#925">925</a>                 add((CDATA) node);
+<a name="926" href="#926">926</a> 
+<a name="927" href="#927">927</a>                 <strong>break</strong>;
+<a name="928" href="#928">928</a> 
+<a name="929" href="#929">929</a>             <strong>case</strong> ENTITY_REFERENCE_NODE:
+<a name="930" href="#930">930</a>                 add((Entity) node);
+<a name="931" href="#931">931</a> 
+<a name="932" href="#932">932</a>                 <strong>break</strong>;
+<a name="933" href="#933">933</a> 
+<a name="934" href="#934">934</a>             <strong>case</strong> PROCESSING_INSTRUCTION_NODE:
+<a name="935" href="#935">935</a>                 add((ProcessingInstruction) node);
+<a name="936" href="#936">936</a> 
+<a name="937" href="#937">937</a>                 <strong>break</strong>;
+<a name="938" href="#938">938</a> 
+<a name="939" href="#939">939</a>             <strong>case</strong> COMMENT_NODE:
+<a name="940" href="#940">940</a>                 add((Comment) node);
+<a name="941" href="#941">941</a> 
+<a name="942" href="#942">942</a>                 <strong>break</strong>;
+<a name="943" href="#943">943</a> 
+<a name="944" href="#944">944</a>             <em class="comment">/*</em>
+<a name="945" href="#945">945</a> <em class="comment">             * XXXX: to do! case DOCUMENT_TYPE_NODE: add((DocumentType) node);</em>
+<a name="946" href="#946">946</a> <em class="comment">             * break;</em>
+<a name="947" href="#947">947</a> <em class="comment">             */</em>
+<a name="948" href="#948">948</a>             <strong>case</strong> NAMESPACE_NODE:
+<a name="949" href="#949">949</a>                 add((Namespace) node);
+<a name="950" href="#950">950</a> 
+<a name="951" href="#951">951</a>                 <strong>break</strong>;
+<a name="952" href="#952">952</a> 
+<a name="953" href="#953">953</a>             <strong>default</strong>:
+<a name="954" href="#954">954</a>                 invalidNodeTypeAddException(node);
+<a name="955" href="#955">955</a>         }
+<a name="956" href="#956">956</a>     }
+<a name="957" href="#957">957</a> 
+<a name="958" href="#958">958</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="959" href="#959">959</a>         <strong>switch</strong> (node.getNodeType()) {
+<a name="960" href="#960">960</a>             <strong>case</strong> ELEMENT_NODE:
+<a name="961" href="#961">961</a>                 <strong>return</strong> remove((Element) node);
+<a name="962" href="#962">962</a> 
+<a name="963" href="#963">963</a>             <strong>case</strong> ATTRIBUTE_NODE:
+<a name="964" href="#964">964</a>                 <strong>return</strong> remove((Attribute) node);
+<a name="965" href="#965">965</a> 
+<a name="966" href="#966">966</a>             <strong>case</strong> TEXT_NODE:
+<a name="967" href="#967">967</a>                 <strong>return</strong> remove((Text) node);
+<a name="968" href="#968">968</a> 
+<a name="969" href="#969">969</a>             <strong>case</strong> CDATA_SECTION_NODE:
+<a name="970" href="#970">970</a>                 <strong>return</strong> remove((CDATA) node);
+<a name="971" href="#971">971</a> 
+<a name="972" href="#972">972</a>             <strong>case</strong> ENTITY_REFERENCE_NODE:
+<a name="973" href="#973">973</a>                 <strong>return</strong> remove((Entity) node);
+<a name="974" href="#974">974</a> 
+<a name="975" href="#975">975</a>             <strong>case</strong> PROCESSING_INSTRUCTION_NODE:
+<a name="976" href="#976">976</a>                 <strong>return</strong> remove((ProcessingInstruction) node);
+<a name="977" href="#977">977</a> 
+<a name="978" href="#978">978</a>             <strong>case</strong> COMMENT_NODE:
+<a name="979" href="#979">979</a>                 <strong>return</strong> remove((Comment) node);
+<a name="980" href="#980">980</a> 
+<a name="981" href="#981">981</a>             <em class="comment">/*</em>
+<a name="982" href="#982">982</a> <em class="comment">             * case DOCUMENT_TYPE_NODE: return remove((DocumentType) node);</em>
+<a name="983" href="#983">983</a> <em class="comment">             */</em>
+<a name="984" href="#984">984</a>             <strong>case</strong> NAMESPACE_NODE:
+<a name="985" href="#985">985</a>                 <strong>return</strong> remove((Namespace) node);
+<a name="986" href="#986">986</a> 
+<a name="987" href="#987">987</a>             <strong>default</strong>:
+<a name="988" href="#988">988</a>                 <strong>return</strong> false;
+<a name="989" href="#989">989</a>         }
+<a name="990" href="#990">990</a>     }
+<a name="991" href="#991">991</a> 
+<a name="992" href="#992">992</a>     <em class="comment">// typesafe versions using node classes</em>
+<a name="993" href="#993">993</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/CDATA.html">CDATA</a> cdata) {
+<a name="994" href="#994">994</a>         addNode(cdata);
+<a name="995" href="#995">995</a>     }
+<a name="996" href="#996">996</a> 
+<a name="997" href="#997">997</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Comment.html">Comment</a> comment) {
+<a name="998" href="#998">998</a>         addNode(comment);
+<a name="999" href="#999">999</a>     }
+<a name="1000" href="#1000">1000</a> 
+<a name="1001" href="#1001">1001</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="1002" href="#1002">1002</a>         addNode(element);
+<a name="1003" href="#1003">1003</a>     }
+<a name="1004" href="#1004">1004</a> 
+<a name="1005" href="#1005">1005</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Entity.html">Entity</a> entity) {
+<a name="1006" href="#1006">1006</a>         addNode(entity);
+<a name="1007" href="#1007">1007</a>     }
+<a name="1008" href="#1008">1008</a> 
+<a name="1009" href="#1009">1009</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="1010" href="#1010">1010</a>         addNode(namespace);
+<a name="1011" href="#1011">1011</a>     }
+<a name="1012" href="#1012">1012</a> 
+<a name="1013" href="#1013">1013</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi) {
+<a name="1014" href="#1014">1014</a>         addNode(pi);
+<a name="1015" href="#1015">1015</a>     }
+<a name="1016" href="#1016">1016</a> 
+<a name="1017" href="#1017">1017</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Text.html">Text</a> text) {
+<a name="1018" href="#1018">1018</a>         addNode(text);
+<a name="1019" href="#1019">1019</a>     }
+<a name="1020" href="#1020">1020</a> 
+<a name="1021" href="#1021">1021</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/CDATA.html">CDATA</a> cdata) {
+<a name="1022" href="#1022">1022</a>         <strong>return</strong> removeNode(cdata);
+<a name="1023" href="#1023">1023</a>     }
+<a name="1024" href="#1024">1024</a> 
+<a name="1025" href="#1025">1025</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Comment.html">Comment</a> comment) {
+<a name="1026" href="#1026">1026</a>         <strong>return</strong> removeNode(comment);
+<a name="1027" href="#1027">1027</a>     }
+<a name="1028" href="#1028">1028</a> 
+<a name="1029" href="#1029">1029</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="1030" href="#1030">1030</a>         <strong>return</strong> removeNode(element);
+<a name="1031" href="#1031">1031</a>     }
+<a name="1032" href="#1032">1032</a> 
+<a name="1033" href="#1033">1033</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Entity.html">Entity</a> entity) {
+<a name="1034" href="#1034">1034</a>         <strong>return</strong> removeNode(entity);
+<a name="1035" href="#1035">1035</a>     }
+<a name="1036" href="#1036">1036</a> 
+<a name="1037" href="#1037">1037</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="1038" href="#1038">1038</a>         <strong>return</strong> removeNode(namespace);
+<a name="1039" href="#1039">1039</a>     }
+<a name="1040" href="#1040">1040</a> 
+<a name="1041" href="#1041">1041</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi) {
+<a name="1042" href="#1042">1042</a>         <strong>return</strong> removeNode(pi);
+<a name="1043" href="#1043">1043</a>     }
+<a name="1044" href="#1044">1044</a> 
+<a name="1045" href="#1045">1045</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Text.html">Text</a> text) {
+<a name="1046" href="#1046">1046</a>         <strong>return</strong> removeNode(text);
+<a name="1047" href="#1047">1047</a>     }
+<a name="1048" href="#1048">1048</a> 
+<a name="1049" href="#1049">1049</a>     <em class="comment">// Helper methods</em>
+<a name="1050" href="#1050">1050</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="1051" href="#1051">1051</a>     <strong>public</strong> <strong>boolean</strong> hasMixedContent() {
+<a name="1052" href="#1052">1052</a>         List content = contentList();
+<a name="1053" href="#1053">1053</a> 
+<a name="1054" href="#1054">1054</a>         <strong>if</strong> ((content == <strong>null</strong>) || content.isEmpty() || (content.size() < 2)) {
+<a name="1055" href="#1055">1055</a>             <strong>return</strong> false;
+<a name="1056" href="#1056">1056</a>         }
+<a name="1057" href="#1057">1057</a> 
+<a name="1058" href="#1058">1058</a>         Class prevClass = <strong>null</strong>;
+<a name="1059" href="#1059">1059</a> 
+<a name="1060" href="#1060">1060</a>         <strong>for</strong> (Iterator iter = content.iterator(); iter.hasNext();) {
+<a name="1061" href="#1061">1061</a>             Object object = iter.next();
+<a name="1062" href="#1062">1062</a> 
+<a name="1063" href="#1063">1063</a>             Class newClass = object.getClass();
+<a name="1064" href="#1064">1064</a> 
+<a name="1065" href="#1065">1065</a>             <strong>if</strong> (newClass != prevClass) {
+<a name="1066" href="#1066">1066</a>                 <strong>if</strong> (prevClass != <strong>null</strong>) {
+<a name="1067" href="#1067">1067</a>                     <strong>return</strong> <strong>true</strong>;
+<a name="1068" href="#1068">1068</a>                 }
+<a name="1069" href="#1069">1069</a> 
+<a name="1070" href="#1070">1070</a>                 prevClass = newClass;
+<a name="1071" href="#1071">1071</a>             }
+<a name="1072" href="#1072">1072</a>         }
+<a name="1073" href="#1073">1073</a> 
+<a name="1074" href="#1074">1074</a>         <strong>return</strong> false;
+<a name="1075" href="#1075">1075</a>     }
+<a name="1076" href="#1076">1076</a> 
+<a name="1077" href="#1077">1077</a>     <strong>public</strong> <strong>boolean</strong> isTextOnly() {
+<a name="1078" href="#1078">1078</a>         List content = contentList();
+<a name="1079" href="#1079">1079</a> 
+<a name="1080" href="#1080">1080</a>         <strong>if</strong> ((content == <strong>null</strong>) || content.isEmpty()) {
+<a name="1081" href="#1081">1081</a>             <strong>return</strong> <strong>true</strong>;
+<a name="1082" href="#1082">1082</a>         }
+<a name="1083" href="#1083">1083</a> 
+<a name="1084" href="#1084">1084</a>         <strong>for</strong> (Iterator iter = content.iterator(); iter.hasNext();) {
+<a name="1085" href="#1085">1085</a>             Object object = iter.next();
+<a name="1086" href="#1086">1086</a> 
+<a name="1087" href="#1087">1087</a>             <strong>if</strong> (!(object instanceof CharacterData)
+<a name="1088" href="#1088">1088</a>                     && !(object instanceof String)) {
+<a name="1089" href="#1089">1089</a>                 <strong>return</strong> false;
+<a name="1090" href="#1090">1090</a>             }
+<a name="1091" href="#1091">1091</a>         }
+<a name="1092" href="#1092">1092</a> 
+<a name="1093" href="#1093">1093</a>         <strong>return</strong> <strong>true</strong>;
+<a name="1094" href="#1094">1094</a>     }
+<a name="1095" href="#1095">1095</a> 
+<a name="1096" href="#1096">1096</a>     <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="1097" href="#1097">1097</a>         <em class="comment">/*<em class="comment"> remove all text nodes */</em></em>
+<a name="1098" href="#1098">1098</a>         List allContent = contentList();
+<a name="1099" href="#1099">1099</a> 
+<a name="1100" href="#1100">1100</a>         <strong>if</strong> (allContent != <strong>null</strong>) {
+<a name="1101" href="#1101">1101</a>             Iterator it = allContent.iterator();
+<a name="1102" href="#1102">1102</a> 
+<a name="1103" href="#1103">1103</a>             <strong>while</strong> (it.hasNext()) {
+<a name="1104" href="#1104">1104</a>                 <a href="../../../org/dom4j/Node.html">Node</a> node = (Node) it.next();
+<a name="1105" href="#1105">1105</a> 
+<a name="1106" href="#1106">1106</a>                 <strong>switch</strong> (node.getNodeType()) {
+<a name="1107" href="#1107">1107</a>                     <strong>case</strong> CDATA_SECTION_NODE:
+<a name="1108" href="#1108">1108</a> 
+<a name="1109" href="#1109">1109</a>                     <em class="comment">// case ENTITY_NODE:</em>
+<a name="1110" href="#1110">1110</a>                     <strong>case</strong> ENTITY_REFERENCE_NODE:
+<a name="1111" href="#1111">1111</a>                     <strong>case</strong> TEXT_NODE:
+<a name="1112" href="#1112">1112</a>                         it.remove();
+<a name="1113" href="#1113">1113</a> 
+<a name="1114" href="#1114">1114</a>                     <strong>default</strong>:
+<a name="1115" href="#1115">1115</a>                         <strong>break</strong>;
+<a name="1116" href="#1116">1116</a>                 }
+<a name="1117" href="#1117">1117</a>             }
+<a name="1118" href="#1118">1118</a>         }
+<a name="1119" href="#1119">1119</a> 
+<a name="1120" href="#1120">1120</a>         addText(text);
+<a name="1121" href="#1121">1121</a>     }
+<a name="1122" href="#1122">1122</a> 
+<a name="1123" href="#1123">1123</a>     <strong>public</strong> String getStringValue() {
+<a name="1124" href="#1124">1124</a>         List list = contentList();
+<a name="1125" href="#1125">1125</a> 
+<a name="1126" href="#1126">1126</a>         <strong>int</strong> size = list.size();
+<a name="1127" href="#1127">1127</a> 
+<a name="1128" href="#1128">1128</a>         <strong>if</strong> (size > 0) {
+<a name="1129" href="#1129">1129</a>             <strong>if</strong> (size == 1) {
+<a name="1130" href="#1130">1130</a>                 <em class="comment">// optimised to avoid StringBuffer creation</em>
+<a name="1131" href="#1131">1131</a>                 <strong>return</strong> getContentAsStringValue(list.get(0));
+<a name="1132" href="#1132">1132</a>             } <strong>else</strong> {
+<a name="1133" href="#1133">1133</a>                 StringBuffer buffer = <strong>new</strong> StringBuffer();
+<a name="1134" href="#1134">1134</a> 
+<a name="1135" href="#1135">1135</a>                 <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="1136" href="#1136">1136</a>                     Object node = list.get(i);
+<a name="1137" href="#1137">1137</a> 
+<a name="1138" href="#1138">1138</a>                     String string = getContentAsStringValue(node);
+<a name="1139" href="#1139">1139</a> 
+<a name="1140" href="#1140">1140</a>                     <strong>if</strong> (string.length() > 0) {
+<a name="1141" href="#1141">1141</a>                         <strong>if</strong> (USE_STRINGVALUE_SEPARATOR) {
+<a name="1142" href="#1142">1142</a>                             <strong>if</strong> (buffer.length() > 0) {
+<a name="1143" href="#1143">1143</a>                                 buffer.append(' ');
+<a name="1144" href="#1144">1144</a>                             }
+<a name="1145" href="#1145">1145</a>                         }
+<a name="1146" href="#1146">1146</a> 
+<a name="1147" href="#1147">1147</a>                         buffer.append(string);
+<a name="1148" href="#1148">1148</a>                     }
+<a name="1149" href="#1149">1149</a>                 }
+<a name="1150" href="#1150">1150</a> 
+<a name="1151" href="#1151">1151</a>                 <strong>return</strong> buffer.toString();
+<a name="1152" href="#1152">1152</a>             }
+<a name="1153" href="#1153">1153</a>         }
+<a name="1154" href="#1154">1154</a> 
+<a name="1155" href="#1155">1155</a>         <strong>return</strong> <span class="string">""</span>;
+<a name="1156" href="#1156">1156</a>     }
+<a name="1157" href="#1157">1157</a> 
+<a name="1158" href="#1158">1158</a>     <em>/**<em>*</em></em>
+<a name="1159" href="#1159">1159</a> <em>     * Puts all <code>Text</code> nodes in the full depth of the sub-tree</em>
+<a name="1160" href="#1160">1160</a> <em>     * underneath this <code>Node</code>, including attribute nodes, into a</em>
+<a name="1161" href="#1161">1161</a> <em>     * "normal" form where only structure (e.g., elements, comments, processing</em>
+<a name="1162" href="#1162">1162</a> <em>     * instructions, CDATA sections, and entity references) separates</em>
+<a name="1163" href="#1163">1163</a> <em>     * <code>Text</code> nodes, i.e., there are neither adjacent</em>
+<a name="1164" href="#1164">1164</a> <em>     * <code>Text</code> nodes nor empty <code>Text</code> nodes. This can</em>
+<a name="1165" href="#1165">1165</a> <em>     * be used to ensure that the DOM view of a document is the same as if it</em>
+<a name="1166" href="#1166">1166</a> <em>     * were saved and re-loaded, and is useful when operations (such as XPointer</em>
+<a name="1167" href="#1167">1167</a> <em>     * lookups) that depend on a particular document tree structure are to be</em>
+<a name="1168" href="#1168">1168</a> <em>     * used.In cases where the document contains <code>CDATASections</code>,</em>
+<a name="1169" href="#1169">1169</a> <em>     * the normalize operation alone may not be sufficient, since XPointers do</em>
+<a name="1170" href="#1170">1170</a> <em>     * not differentiate between <code>Text</code> nodes and</em>
+<a name="1171" href="#1171">1171</a> <em>     * <code>CDATASection</code> nodes.</em>
+<a name="1172" href="#1172">1172</a> <em>     * </em>
+<a name="1173" href="#1173">1173</a> <em>     * @since DOM Level 2</em>
+<a name="1174" href="#1174">1174</a> <em>     */</em>
+<a name="1175" href="#1175">1175</a>     <strong>public</strong> <strong>void</strong> normalize() {
+<a name="1176" href="#1176">1176</a>         List content = contentList();
+<a name="1177" href="#1177">1177</a> 
+<a name="1178" href="#1178">1178</a>         <a href="../../../org/dom4j/Text.html">Text</a> previousText = <strong>null</strong>;
+<a name="1179" href="#1179">1179</a> 
+<a name="1180" href="#1180">1180</a>         <strong>int</strong> i = 0;
+<a name="1181" href="#1181">1181</a> 
+<a name="1182" href="#1182">1182</a>         <strong>while</strong> (i < content.size()) {
+<a name="1183" href="#1183">1183</a>             <a href="../../../org/dom4j/Node.html">Node</a> node = (Node) content.get(i);
+<a name="1184" href="#1184">1184</a> 
+<a name="1185" href="#1185">1185</a>             <strong>if</strong> (node instanceof Text) {
+<a name="1186" href="#1186">1186</a>                 <a href="../../../org/dom4j/Text.html">Text</a> text = (Text) node;
+<a name="1187" href="#1187">1187</a> 
+<a name="1188" href="#1188">1188</a>                 <strong>if</strong> (previousText != <strong>null</strong>) {
+<a name="1189" href="#1189">1189</a>                     previousText.appendText(text.getText());
+<a name="1190" href="#1190">1190</a> 
+<a name="1191" href="#1191">1191</a>                     remove(text);
+<a name="1192" href="#1192">1192</a>                 } <strong>else</strong> {
+<a name="1193" href="#1193">1193</a>                     String value = text.getText();
+<a name="1194" href="#1194">1194</a> 
+<a name="1195" href="#1195">1195</a>                     <em class="comment">// only remove empty Text nodes, not whitespace nodes</em>
+<a name="1196" href="#1196">1196</a>                     <em class="comment">// if ( value == null || value.trim().length() <= 0 ) {</em>
+<a name="1197" href="#1197">1197</a>                     <strong>if</strong> ((value == <strong>null</strong>) || (value.length() <= 0)) {
+<a name="1198" href="#1198">1198</a>                         remove(text);
+<a name="1199" href="#1199">1199</a>                     } <strong>else</strong> {
+<a name="1200" href="#1200">1200</a>                         previousText = text;
+<a name="1201" href="#1201">1201</a> 
+<a name="1202" href="#1202">1202</a>                         i++;
+<a name="1203" href="#1203">1203</a>                     }
+<a name="1204" href="#1204">1204</a>                 }
+<a name="1205" href="#1205">1205</a>             } <strong>else</strong> {
+<a name="1206" href="#1206">1206</a>                 <strong>if</strong> (node instanceof Element) {
+<a name="1207" href="#1207">1207</a>                     <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) node;
+<a name="1208" href="#1208">1208</a> 
+<a name="1209" href="#1209">1209</a>                     element.normalize();
+<a name="1210" href="#1210">1210</a>                 }
+<a name="1211" href="#1211">1211</a> 
+<a name="1212" href="#1212">1212</a>                 previousText = <strong>null</strong>;
+<a name="1213" href="#1213">1213</a> 
+<a name="1214" href="#1214">1214</a>                 i++;
+<a name="1215" href="#1215">1215</a>             }
+<a name="1216" href="#1216">1216</a>         }
+<a name="1217" href="#1217">1217</a>     }
+<a name="1218" href="#1218">1218</a> 
+<a name="1219" href="#1219">1219</a>     <strong>public</strong> String elementText(String name) {
+<a name="1220" href="#1220">1220</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = element(name);
+<a name="1221" href="#1221">1221</a> 
+<a name="1222" href="#1222">1222</a>         <strong>return</strong> (element != <strong>null</strong>) ? element.getText() : <strong>null</strong>;
+<a name="1223" href="#1223">1223</a>     }
+<a name="1224" href="#1224">1224</a> 
+<a name="1225" href="#1225">1225</a>     <strong>public</strong> String elementText(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="1226" href="#1226">1226</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = element(qName);
+<a name="1227" href="#1227">1227</a> 
+<a name="1228" href="#1228">1228</a>         <strong>return</strong> (element != <strong>null</strong>) ? element.getText() : <strong>null</strong>;
+<a name="1229" href="#1229">1229</a>     }
+<a name="1230" href="#1230">1230</a> 
+<a name="1231" href="#1231">1231</a>     <strong>public</strong> String elementTextTrim(String name) {
+<a name="1232" href="#1232">1232</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = element(name);
+<a name="1233" href="#1233">1233</a> 
+<a name="1234" href="#1234">1234</a>         <strong>return</strong> (element != <strong>null</strong>) ? element.getTextTrim() : <strong>null</strong>;
+<a name="1235" href="#1235">1235</a>     }
+<a name="1236" href="#1236">1236</a> 
+<a name="1237" href="#1237">1237</a>     <strong>public</strong> String elementTextTrim(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="1238" href="#1238">1238</a>         <a href="../../../org/dom4j/Element.html">Element</a> element = element(qName);
+<a name="1239" href="#1239">1239</a> 
+<a name="1240" href="#1240">1240</a>         <strong>return</strong> (element != <strong>null</strong>) ? element.getTextTrim() : <strong>null</strong>;
+<a name="1241" href="#1241">1241</a>     }
+<a name="1242" href="#1242">1242</a> 
+<a name="1243" href="#1243">1243</a>     <em class="comment">// add to me content from another element</em>
+<a name="1244" href="#1244">1244</a>     <em class="comment">// analagous to the addAll(collection) methods in Java 2 collections</em>
+<a name="1245" href="#1245">1245</a>     <strong>public</strong> <strong>void</strong> appendAttributes(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="1246" href="#1246">1246</a>         <strong>for</strong> (<strong>int</strong> i = 0, size = element.attributeCount(); i < size; i++) {
+<a name="1247" href="#1247">1247</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(i);
+<a name="1248" href="#1248">1248</a> 
+<a name="1249" href="#1249">1249</a>             <strong>if</strong> (attribute.supportsParent()) {
+<a name="1250" href="#1250">1250</a>                 addAttribute(attribute.getQName(), attribute.getValue());
+<a name="1251" href="#1251">1251</a>             } <strong>else</strong> {
+<a name="1252" href="#1252">1252</a>                 add(attribute);
+<a name="1253" href="#1253">1253</a>             }
+<a name="1254" href="#1254">1254</a>         }
+<a name="1255" href="#1255">1255</a>     }
+<a name="1256" href="#1256">1256</a> 
+<a name="1257" href="#1257">1257</a>     <em>/**<em>*</em></em>
+<a name="1258" href="#1258">1258</a> <em>     * <p></em>
+<a name="1259" href="#1259">1259</a> <em>     * This returns a deep clone of this element. The new element is detached</em>
+<a name="1260" href="#1260">1260</a> <em>     * from its parent, and getParent() on the clone will return null.</em>
+<a name="1261" href="#1261">1261</a> <em>     * </p></em>
+<a name="1262" href="#1262">1262</a> <em>     * </em>
+<a name="1263" href="#1263">1263</a> <em>     * @return the clone of this element</em>
+<a name="1264" href="#1264">1264</a> <em>     */</em>
+<a name="1265" href="#1265">1265</a> 
+<a name="1266" href="#1266">1266</a>     <em class="comment">/*</em>
+<a name="1267" href="#1267">1267</a> <em class="comment">     * public Object clone() { Element clone = createElement(getQName());</em>
+<a name="1268" href="#1268">1268</a> <em class="comment">     * clone.appendAttributes(this); clone.appendContent(this); return clone; }</em>
+<a name="1269" href="#1269">1269</a> <em class="comment">     */</em>
+<a name="1270" href="#1270">1270</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createCopy() {
+<a name="1271" href="#1271">1271</a>         <a href="../../../org/dom4j/Element.html">Element</a> clone = createElement(getQName());
+<a name="1272" href="#1272">1272</a> 
+<a name="1273" href="#1273">1273</a>         clone.appendAttributes(<strong>this</strong>);
+<a name="1274" href="#1274">1274</a> 
+<a name="1275" href="#1275">1275</a>         clone.appendContent(<strong>this</strong>);
+<a name="1276" href="#1276">1276</a> 
+<a name="1277" href="#1277">1277</a>         <strong>return</strong> clone;
+<a name="1278" href="#1278">1278</a>     }
+<a name="1279" href="#1279">1279</a> 
+<a name="1280" href="#1280">1280</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createCopy(String name) {
+<a name="1281" href="#1281">1281</a>         <a href="../../../org/dom4j/Element.html">Element</a> clone = createElement(name);
+<a name="1282" href="#1282">1282</a> 
+<a name="1283" href="#1283">1283</a>         clone.appendAttributes(<strong>this</strong>);
+<a name="1284" href="#1284">1284</a> 
+<a name="1285" href="#1285">1285</a>         clone.appendContent(<strong>this</strong>);
+<a name="1286" href="#1286">1286</a> 
+<a name="1287" href="#1287">1287</a>         <strong>return</strong> clone;
+<a name="1288" href="#1288">1288</a>     }
+<a name="1289" href="#1289">1289</a> 
+<a name="1290" href="#1290">1290</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createCopy(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="1291" href="#1291">1291</a>         <a href="../../../org/dom4j/Element.html">Element</a> clone = createElement(qName);
+<a name="1292" href="#1292">1292</a> 
+<a name="1293" href="#1293">1293</a>         clone.appendAttributes(<strong>this</strong>);
+<a name="1294" href="#1294">1294</a> 
+<a name="1295" href="#1295">1295</a>         clone.appendContent(<strong>this</strong>);
+<a name="1296" href="#1296">1296</a> 
+<a name="1297" href="#1297">1297</a>         <strong>return</strong> clone;
+<a name="1298" href="#1298">1298</a>     }
+<a name="1299" href="#1299">1299</a> 
+<a name="1300" href="#1300">1300</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName(String qualifiedName) {
+<a name="1301" href="#1301">1301</a>         String prefix = <span class="string">""</span>;
+<a name="1302" href="#1302">1302</a> 
+<a name="1303" href="#1303">1303</a>         String localName = qualifiedName;
+<a name="1304" href="#1304">1304</a> 
+<a name="1305" href="#1305">1305</a>         <strong>int</strong> index = qualifiedName.indexOf(<span class="string">":"</span>);
+<a name="1306" href="#1306">1306</a> 
+<a name="1307" href="#1307">1307</a>         <strong>if</strong> (index > 0) {
+<a name="1308" href="#1308">1308</a>             prefix = qualifiedName.substring(0, index);
+<a name="1309" href="#1309">1309</a> 
+<a name="1310" href="#1310">1310</a>             localName = qualifiedName.substring(index + 1);
+<a name="1311" href="#1311">1311</a>         }
+<a name="1312" href="#1312">1312</a> 
+<a name="1313" href="#1313">1313</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = getNamespaceForPrefix(prefix);
+<a name="1314" href="#1314">1314</a> 
+<a name="1315" href="#1315">1315</a>         <strong>if</strong> (namespace != <strong>null</strong>) {
+<a name="1316" href="#1316">1316</a>             <strong>return</strong> getDocumentFactory().createQName(localName, namespace);
+<a name="1317" href="#1317">1317</a>         } <strong>else</strong> {
+<a name="1318" href="#1318">1318</a>             <strong>return</strong> getDocumentFactory().createQName(localName);
+<a name="1319" href="#1319">1319</a>         }
+<a name="1320" href="#1320">1320</a>     }
+<a name="1321" href="#1321">1321</a> 
+<a name="1322" href="#1322">1322</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getNamespaceForPrefix(String prefix) {
+<a name="1323" href="#1323">1323</a>         <strong>if</strong> (prefix == <strong>null</strong>) {
+<a name="1324" href="#1324">1324</a>             prefix = <span class="string">""</span>;
+<a name="1325" href="#1325">1325</a>         }
+<a name="1326" href="#1326">1326</a> 
+<a name="1327" href="#1327">1327</a>         <strong>if</strong> (prefix.equals(getNamespacePrefix())) {
+<a name="1328" href="#1328">1328</a>             <strong>return</strong> getNamespace();
+<a name="1329" href="#1329">1329</a>         } <strong>else</strong> <strong>if</strong> (prefix.equals(<span class="string">"xml"</span>)) {
+<a name="1330" href="#1330">1330</a>             <strong>return</strong> Namespace.XML_NAMESPACE;
+<a name="1331" href="#1331">1331</a>         } <strong>else</strong> {
+<a name="1332" href="#1332">1332</a>             List list = contentList();
+<a name="1333" href="#1333">1333</a> 
+<a name="1334" href="#1334">1334</a>             <strong>int</strong> size = list.size();
+<a name="1335" href="#1335">1335</a> 
+<a name="1336" href="#1336">1336</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="1337" href="#1337">1337</a>                 Object object = list.get(i);
+<a name="1338" href="#1338">1338</a> 
+<a name="1339" href="#1339">1339</a>                 <strong>if</strong> (object instanceof Namespace) {
+<a name="1340" href="#1340">1340</a>                     <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) object;
+<a name="1341" href="#1341">1341</a> 
+<a name="1342" href="#1342">1342</a>                     <strong>if</strong> (prefix.equals(namespace.getPrefix())) {
+<a name="1343" href="#1343">1343</a>                         <strong>return</strong> namespace;
+<a name="1344" href="#1344">1344</a>                     }
+<a name="1345" href="#1345">1345</a>                 }
+<a name="1346" href="#1346">1346</a>             }
+<a name="1347" href="#1347">1347</a>         }
+<a name="1348" href="#1348">1348</a> 
+<a name="1349" href="#1349">1349</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="1350" href="#1350">1350</a> 
+<a name="1351" href="#1351">1351</a>         <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="1352" href="#1352">1352</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> answer = parent.getNamespaceForPrefix(prefix);
+<a name="1353" href="#1353">1353</a> 
+<a name="1354" href="#1354">1354</a>             <strong>if</strong> (answer != <strong>null</strong>) {
+<a name="1355" href="#1355">1355</a>                 <strong>return</strong> answer;
+<a name="1356" href="#1356">1356</a>             }
+<a name="1357" href="#1357">1357</a>         }
+<a name="1358" href="#1358">1358</a> 
+<a name="1359" href="#1359">1359</a>         <strong>if</strong> ((prefix == <strong>null</strong>) || (prefix.length() <= 0)) {
+<a name="1360" href="#1360">1360</a>             <strong>return</strong> Namespace.NO_NAMESPACE;
+<a name="1361" href="#1361">1361</a>         }
+<a name="1362" href="#1362">1362</a> 
+<a name="1363" href="#1363">1363</a>         <strong>return</strong> <strong>null</strong>;
+<a name="1364" href="#1364">1364</a>     }
+<a name="1365" href="#1365">1365</a> 
+<a name="1366" href="#1366">1366</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getNamespaceForURI(String uri) {
+<a name="1367" href="#1367">1367</a>         <strong>if</strong> ((uri == <strong>null</strong>) || (uri.length() <= 0)) {
+<a name="1368" href="#1368">1368</a>             <strong>return</strong> Namespace.NO_NAMESPACE;
+<a name="1369" href="#1369">1369</a>         } <strong>else</strong> <strong>if</strong> (uri.equals(getNamespaceURI())) {
+<a name="1370" href="#1370">1370</a>             <strong>return</strong> getNamespace();
+<a name="1371" href="#1371">1371</a>         } <strong>else</strong> {
+<a name="1372" href="#1372">1372</a>             List list = contentList();
+<a name="1373" href="#1373">1373</a> 
+<a name="1374" href="#1374">1374</a>             <strong>int</strong> size = list.size();
+<a name="1375" href="#1375">1375</a> 
+<a name="1376" href="#1376">1376</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="1377" href="#1377">1377</a>                 Object object = list.get(i);
+<a name="1378" href="#1378">1378</a> 
+<a name="1379" href="#1379">1379</a>                 <strong>if</strong> (object instanceof Namespace) {
+<a name="1380" href="#1380">1380</a>                     <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) object;
+<a name="1381" href="#1381">1381</a> 
+<a name="1382" href="#1382">1382</a>                     <strong>if</strong> (uri.equals(namespace.getURI())) {
+<a name="1383" href="#1383">1383</a>                         <strong>return</strong> namespace;
+<a name="1384" href="#1384">1384</a>                     }
+<a name="1385" href="#1385">1385</a>                 }
+<a name="1386" href="#1386">1386</a>             }
+<a name="1387" href="#1387">1387</a> 
+<a name="1388" href="#1388">1388</a>             <strong>return</strong> <strong>null</strong>;
+<a name="1389" href="#1389">1389</a>         }
+<a name="1390" href="#1390">1390</a>     }
+<a name="1391" href="#1391">1391</a> 
+<a name="1392" href="#1392">1392</a>     <strong>public</strong> List getNamespacesForURI(String uri) {
+<a name="1393" href="#1393">1393</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="1394" href="#1394">1394</a> 
+<a name="1395" href="#1395">1395</a>         <em class="comment">// if (getNamespaceURI().equals(uri)) {</em>
+<a name="1396" href="#1396">1396</a>         <em class="comment">//</em>
+<a name="1397" href="#1397">1397</a>         <em class="comment">// answer.addLocal(getNamespace());</em>
+<a name="1398" href="#1398">1398</a>         <em class="comment">//</em>
+<a name="1399" href="#1399">1399</a>         <em class="comment">// }</em>
+<a name="1400" href="#1400">1400</a>         List list = contentList();
+<a name="1401" href="#1401">1401</a> 
+<a name="1402" href="#1402">1402</a>         <strong>int</strong> size = list.size();
+<a name="1403" href="#1403">1403</a> 
+<a name="1404" href="#1404">1404</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="1405" href="#1405">1405</a>             Object object = list.get(i);
+<a name="1406" href="#1406">1406</a> 
+<a name="1407" href="#1407">1407</a>             <strong>if</strong> ((object instanceof Namespace)
+<a name="1408" href="#1408">1408</a>                     && ((Namespace) object).getURI().equals(uri)) {
+<a name="1409" href="#1409">1409</a>                 answer.addLocal(object);
+<a name="1410" href="#1410">1410</a>             }
+<a name="1411" href="#1411">1411</a>         }
+<a name="1412" href="#1412">1412</a> 
+<a name="1413" href="#1413">1413</a>         <strong>return</strong> answer;
+<a name="1414" href="#1414">1414</a>     }
+<a name="1415" href="#1415">1415</a> 
+<a name="1416" href="#1416">1416</a>     <strong>public</strong> List declaredNamespaces() {
+<a name="1417" href="#1417">1417</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="1418" href="#1418">1418</a> 
+<a name="1419" href="#1419">1419</a>         <em class="comment">// if (getNamespaceURI().length() > 0) {</em>
+<a name="1420" href="#1420">1420</a>         <em class="comment">//</em>
+<a name="1421" href="#1421">1421</a>         <em class="comment">// answer.addLocal(getNamespace());</em>
+<a name="1422" href="#1422">1422</a>         <em class="comment">//</em>
+<a name="1423" href="#1423">1423</a>         <em class="comment">// }</em>
+<a name="1424" href="#1424">1424</a>         <em class="comment">//</em>
+<a name="1425" href="#1425">1425</a>         List list = contentList();
+<a name="1426" href="#1426">1426</a> 
+<a name="1427" href="#1427">1427</a>         <strong>int</strong> size = list.size();
+<a name="1428" href="#1428">1428</a> 
+<a name="1429" href="#1429">1429</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="1430" href="#1430">1430</a>             Object object = list.get(i);
+<a name="1431" href="#1431">1431</a> 
+<a name="1432" href="#1432">1432</a>             <strong>if</strong> (object instanceof Namespace) {
+<a name="1433" href="#1433">1433</a>                 answer.addLocal(object);
+<a name="1434" href="#1434">1434</a>             }
+<a name="1435" href="#1435">1435</a>         }
+<a name="1436" href="#1436">1436</a> 
+<a name="1437" href="#1437">1437</a>         <strong>return</strong> answer;
+<a name="1438" href="#1438">1438</a>     }
+<a name="1439" href="#1439">1439</a> 
+<a name="1440" href="#1440">1440</a>     <strong>public</strong> List additionalNamespaces() {
+<a name="1441" href="#1441">1441</a>         List list = contentList();
+<a name="1442" href="#1442">1442</a> 
+<a name="1443" href="#1443">1443</a>         <strong>int</strong> size = list.size();
+<a name="1444" href="#1444">1444</a> 
+<a name="1445" href="#1445">1445</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="1446" href="#1446">1446</a> 
+<a name="1447" href="#1447">1447</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="1448" href="#1448">1448</a>             Object object = list.get(i);
+<a name="1449" href="#1449">1449</a> 
+<a name="1450" href="#1450">1450</a>             <strong>if</strong> (object instanceof Namespace) {
+<a name="1451" href="#1451">1451</a>                 <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) object;
+<a name="1452" href="#1452">1452</a> 
+<a name="1453" href="#1453">1453</a>                 <strong>if</strong> (!namespace.equals(getNamespace())) {
+<a name="1454" href="#1454">1454</a>                     answer.addLocal(namespace);
+<a name="1455" href="#1455">1455</a>                 }
+<a name="1456" href="#1456">1456</a>             }
+<a name="1457" href="#1457">1457</a>         }
+<a name="1458" href="#1458">1458</a> 
+<a name="1459" href="#1459">1459</a>         <strong>return</strong> answer;
+<a name="1460" href="#1460">1460</a>     }
+<a name="1461" href="#1461">1461</a> 
+<a name="1462" href="#1462">1462</a>     <strong>public</strong> List additionalNamespaces(String defaultNamespaceURI) {
+<a name="1463" href="#1463">1463</a>         List list = contentList();
+<a name="1464" href="#1464">1464</a> 
+<a name="1465" href="#1465">1465</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="1466" href="#1466">1466</a> 
+<a name="1467" href="#1467">1467</a>         <strong>int</strong> size = list.size();
+<a name="1468" href="#1468">1468</a> 
+<a name="1469" href="#1469">1469</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="1470" href="#1470">1470</a>             Object object = list.get(i);
+<a name="1471" href="#1471">1471</a> 
+<a name="1472" href="#1472">1472</a>             <strong>if</strong> (object instanceof Namespace) {
+<a name="1473" href="#1473">1473</a>                 <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) object;
+<a name="1474" href="#1474">1474</a> 
+<a name="1475" href="#1475">1475</a>                 <strong>if</strong> (!defaultNamespaceURI.equals(namespace.getURI())) {
+<a name="1476" href="#1476">1476</a>                     answer.addLocal(namespace);
+<a name="1477" href="#1477">1477</a>                 }
+<a name="1478" href="#1478">1478</a>             }
+<a name="1479" href="#1479">1479</a>         }
+<a name="1480" href="#1480">1480</a> 
+<a name="1481" href="#1481">1481</a>         <strong>return</strong> answer;
+<a name="1482" href="#1482">1482</a>     }
+<a name="1483" href="#1483">1483</a> 
+<a name="1484" href="#1484">1484</a>     <em class="comment">// Implementation helper methods</em>
+<a name="1485" href="#1485">1485</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="1486" href="#1486">1486</a> 
+<a name="1487" href="#1487">1487</a>     <em>/**<em>*</em></em>
+<a name="1488" href="#1488">1488</a> <em>     * Ensures that the list of attributes has the given size</em>
+<a name="1489" href="#1489">1489</a> <em>     * </em>
+<a name="1490" href="#1490">1490</a> <em>     * @param minCapacity</em>
+<a name="1491" href="#1491">1491</a> <em>     *            DOCUMENT ME!</em>
+<a name="1492" href="#1492">1492</a> <em>     */</em>
+<a name="1493" href="#1493">1493</a>     <strong>public</strong> <strong>void</strong> ensureAttributesCapacity(<strong>int</strong> minCapacity) {
+<a name="1494" href="#1494">1494</a>         <strong>if</strong> (minCapacity > 1) {
+<a name="1495" href="#1495">1495</a>             List list = attributeList();
+<a name="1496" href="#1496">1496</a> 
+<a name="1497" href="#1497">1497</a>             <strong>if</strong> (list instanceof ArrayList) {
+<a name="1498" href="#1498">1498</a>                 ArrayList arrayList = (ArrayList) list;
+<a name="1499" href="#1499">1499</a> 
+<a name="1500" href="#1500">1500</a>                 arrayList.ensureCapacity(minCapacity);
+<a name="1501" href="#1501">1501</a>             }
+<a name="1502" href="#1502">1502</a>         }
+<a name="1503" href="#1503">1503</a>     }
+<a name="1504" href="#1504">1504</a> 
+<a name="1505" href="#1505">1505</a>     <em class="comment">// Implementation methods</em>
+<a name="1506" href="#1506">1506</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="1507" href="#1507">1507</a>     <strong>protected</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(String name) {
+<a name="1508" href="#1508">1508</a>         <strong>return</strong> getDocumentFactory().createElement(name);
+<a name="1509" href="#1509">1509</a>     }
+<a name="1510" href="#1510">1510</a> 
+<a name="1511" href="#1511">1511</a>     <strong>protected</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="1512" href="#1512">1512</a>         <strong>return</strong> getDocumentFactory().createElement(qName);
+<a name="1513" href="#1513">1513</a>     }
+<a name="1514" href="#1514">1514</a> 
+<a name="1515" href="#1515">1515</a>     <strong>protected</strong> <strong>void</strong> addNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="1516" href="#1516">1516</a>         <strong>if</strong> (node.getParent() != <strong>null</strong>) {
+<a name="1517" href="#1517">1517</a>             <em class="comment">// XXX: could clone here</em>
+<a name="1518" href="#1518">1518</a>             String message = <span class="string">"The Node already has an existing parent of \""</span>
+<a name="1519" href="#1519">1519</a>                     + node.getParent().getQualifiedName() + <span class="string">"\""</span>;
+<a name="1520" href="#1520">1520</a> 
+<a name="1521" href="#1521">1521</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<strong>this</strong>, node, message);
+<a name="1522" href="#1522">1522</a>         }
+<a name="1523" href="#1523">1523</a> 
+<a name="1524" href="#1524">1524</a>         addNewNode(node);
+<a name="1525" href="#1525">1525</a>     }
+<a name="1526" href="#1526">1526</a> 
+<a name="1527" href="#1527">1527</a>     <strong>protected</strong> <strong>void</strong> addNode(<strong>int</strong> index, <a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="1528" href="#1528">1528</a>         <strong>if</strong> (node.getParent() != <strong>null</strong>) {
+<a name="1529" href="#1529">1529</a>             <em class="comment">// XXX: could clone here</em>
+<a name="1530" href="#1530">1530</a>             String message = <span class="string">"The Node already has an existing parent of \""</span>
+<a name="1531" href="#1531">1531</a>                     + node.getParent().getQualifiedName() + <span class="string">"\""</span>;
+<a name="1532" href="#1532">1532</a> 
+<a name="1533" href="#1533">1533</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<strong>this</strong>, node, message);
+<a name="1534" href="#1534">1534</a>         }
+<a name="1535" href="#1535">1535</a> 
+<a name="1536" href="#1536">1536</a>         addNewNode(index, node);
+<a name="1537" href="#1537">1537</a>     }
+<a name="1538" href="#1538">1538</a> 
+<a name="1539" href="#1539">1539</a>     <em>/**<em>*</em></em>
+<a name="1540" href="#1540">1540</a> <em>     * Like addNode() but does not require a parent check</em>
+<a name="1541" href="#1541">1541</a> <em>     * </em>
+<a name="1542" href="#1542">1542</a> <em>     * @param node</em>
+<a name="1543" href="#1543">1543</a> <em>     *            DOCUMENT ME!</em>
+<a name="1544" href="#1544">1544</a> <em>     */</em>
+<a name="1545" href="#1545">1545</a>     <strong>protected</strong> <strong>void</strong> addNewNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="1546" href="#1546">1546</a>         contentList().add(node);
+<a name="1547" href="#1547">1547</a> 
+<a name="1548" href="#1548">1548</a>         childAdded(node);
+<a name="1549" href="#1549">1549</a>     }
+<a name="1550" href="#1550">1550</a> 
+<a name="1551" href="#1551">1551</a>     <strong>protected</strong> <strong>void</strong> addNewNode(<strong>int</strong> index, <a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="1552" href="#1552">1552</a>         contentList().add(index, node);
+<a name="1553" href="#1553">1553</a> 
+<a name="1554" href="#1554">1554</a>         childAdded(node);
+<a name="1555" href="#1555">1555</a>     }
+<a name="1556" href="#1556">1556</a> 
+<a name="1557" href="#1557">1557</a>     <strong>protected</strong> <strong>boolean</strong> removeNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="1558" href="#1558">1558</a>         <strong>boolean</strong> answer = contentList().remove(node);
+<a name="1559" href="#1559">1559</a> 
+<a name="1560" href="#1560">1560</a>         <strong>if</strong> (answer) {
+<a name="1561" href="#1561">1561</a>             childRemoved(node);
+<a name="1562" href="#1562">1562</a>         }
+<a name="1563" href="#1563">1563</a> 
+<a name="1564" href="#1564">1564</a>         <strong>return</strong> answer;
+<a name="1565" href="#1565">1565</a>     }
+<a name="1566" href="#1566">1566</a> 
+<a name="1567" href="#1567">1567</a>     <em>/**<em>*</em></em>
+<a name="1568" href="#1568">1568</a> <em>     * Called when a new child node is added to create any parent relationships</em>
+<a name="1569" href="#1569">1569</a> <em>     * </em>
+<a name="1570" href="#1570">1570</a> <em>     * @param node</em>
+<a name="1571" href="#1571">1571</a> <em>     *            DOCUMENT ME!</em>
+<a name="1572" href="#1572">1572</a> <em>     */</em>
+<a name="1573" href="#1573">1573</a>     <strong>protected</strong> <strong>void</strong> childAdded(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="1574" href="#1574">1574</a>         <strong>if</strong> (node != <strong>null</strong>) {
+<a name="1575" href="#1575">1575</a>             node.setParent(<strong>this</strong>);
+<a name="1576" href="#1576">1576</a>         }
+<a name="1577" href="#1577">1577</a>     }
+<a name="1578" href="#1578">1578</a> 
+<a name="1579" href="#1579">1579</a>     <strong>protected</strong> <strong>void</strong> childRemoved(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="1580" href="#1580">1580</a>         <strong>if</strong> (node != <strong>null</strong>) {
+<a name="1581" href="#1581">1581</a>             node.setParent(<strong>null</strong>);
+<a name="1582" href="#1582">1582</a> 
+<a name="1583" href="#1583">1583</a>             node.setDocument(<strong>null</strong>);
+<a name="1584" href="#1584">1584</a>         }
+<a name="1585" href="#1585">1585</a>     }
+<a name="1586" href="#1586">1586</a> 
+<a name="1587" href="#1587">1587</a>     <em>/**<em>*</em></em>
+<a name="1588" href="#1588">1588</a> <em>     * DOCUMENT ME!</em>
+<a name="1589" href="#1589">1589</a> <em>     * </em>
+<a name="1590" href="#1590">1590</a> <em>     * @return the internal List used to store attributes or creates one if one</em>
+<a name="1591" href="#1591">1591</a> <em>     *         is not available</em>
+<a name="1592" href="#1592">1592</a> <em>     */</em>
+<a name="1593" href="#1593">1593</a>     <strong>protected</strong> <strong>abstract</strong> List attributeList();
+<a name="1594" href="#1594">1594</a> 
+<a name="1595" href="#1595">1595</a>     <em>/**<em>*</em></em>
+<a name="1596" href="#1596">1596</a> <em>     * DOCUMENT ME!</em>
+<a name="1597" href="#1597">1597</a> <em>     * </em>
+<a name="1598" href="#1598">1598</a> <em>     * @param attributeCount</em>
+<a name="1599" href="#1599">1599</a> <em>     *            DOCUMENT ME!</em>
+<a name="1600" href="#1600">1600</a> <em>     * </em>
+<a name="1601" href="#1601">1601</a> <em>     * @return the internal List used to store attributes or creates one with</em>
+<a name="1602" href="#1602">1602</a> <em>     *         the specified size if one is not available</em>
+<a name="1603" href="#1603">1603</a> <em>     */</em>
+<a name="1604" href="#1604">1604</a>     <strong>protected</strong> <strong>abstract</strong> List attributeList(<strong>int</strong> attributeCount);
+<a name="1605" href="#1605">1605</a> 
+<a name="1606" href="#1606">1606</a>     <strong>protected</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="1607" href="#1607">1607</a>         <a href="../../../org/dom4j/QName.html">QName</a> qName = getQName();
+<a name="1608" href="#1608">1608</a> 
+<a name="1609" href="#1609">1609</a>         <em class="comment">// QName might be null as we might not have been constructed yet</em>
+<a name="1610" href="#1610">1610</a>         <strong>if</strong> (qName != <strong>null</strong>) {
+<a name="1611" href="#1611">1611</a>             <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = qName.getDocumentFactory();
+<a name="1612" href="#1612">1612</a> 
+<a name="1613" href="#1613">1613</a>             <strong>if</strong> (factory != <strong>null</strong>) {
+<a name="1614" href="#1614">1614</a>                 <strong>return</strong> factory;
+<a name="1615" href="#1615">1615</a>             }
+<a name="1616" href="#1616">1616</a>         }
+<a name="1617" href="#1617">1617</a> 
+<a name="1618" href="#1618">1618</a>         <strong>return</strong> DOCUMENT_FACTORY;
+<a name="1619" href="#1619">1619</a>     }
+<a name="1620" href="#1620">1620</a> 
+<a name="1621" href="#1621">1621</a>     <em>/**<em>*</em></em>
+<a name="1622" href="#1622">1622</a> <em>     * A Factory Method pattern which creates a List implementation used to</em>
+<a name="1623" href="#1623">1623</a> <em>     * store attributes</em>
+<a name="1624" href="#1624">1624</a> <em>     * </em>
+<a name="1625" href="#1625">1625</a> <em>     * @return DOCUMENT ME!</em>
+<a name="1626" href="#1626">1626</a> <em>     */</em>
+<a name="1627" href="#1627">1627</a>     <strong>protected</strong> List createAttributeList() {
+<a name="1628" href="#1628">1628</a>         <strong>return</strong> createAttributeList(DEFAULT_CONTENT_LIST_SIZE);
+<a name="1629" href="#1629">1629</a>     }
+<a name="1630" href="#1630">1630</a> 
+<a name="1631" href="#1631">1631</a>     <em>/**<em>*</em></em>
+<a name="1632" href="#1632">1632</a> <em>     * A Factory Method pattern which creates a List implementation used to</em>
+<a name="1633" href="#1633">1633</a> <em>     * store attributes</em>
+<a name="1634" href="#1634">1634</a> <em>     * </em>
+<a name="1635" href="#1635">1635</a> <em>     * @param size</em>
+<a name="1636" href="#1636">1636</a> <em>     *            DOCUMENT ME!</em>
+<a name="1637" href="#1637">1637</a> <em>     * </em>
+<a name="1638" href="#1638">1638</a> <em>     * @return DOCUMENT ME!</em>
+<a name="1639" href="#1639">1639</a> <em>     */</em>
+<a name="1640" href="#1640">1640</a>     <strong>protected</strong> List createAttributeList(<strong>int</strong> size) {
+<a name="1641" href="#1641">1641</a>         <strong>return</strong> <strong>new</strong> ArrayList(size);
+<a name="1642" href="#1642">1642</a>     }
+<a name="1643" href="#1643">1643</a> 
+<a name="1644" href="#1644">1644</a>     <strong>protected</strong> Iterator createSingleIterator(Object result) {
+<a name="1645" href="#1645">1645</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/SingleIterator.html">SingleIterator</a>(result);
+<a name="1646" href="#1646">1646</a>     }
+<a name="1647" href="#1647">1647</a> }
+<a name="1648" href="#1648">1648</a> 
+<a name="1649" href="#1649">1649</a> <em class="comment">/*</em>
+<a name="1650" href="#1650">1650</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="1651" href="#1651">1651</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="1652" href="#1652">1652</a> <em class="comment"> * following conditions are met:</em>
+<a name="1653" href="#1653">1653</a> <em class="comment"> * </em>
+<a name="1654" href="#1654">1654</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="1655" href="#1655">1655</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="1656" href="#1656">1656</a> <em class="comment"> * </em>
+<a name="1657" href="#1657">1657</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="1658" href="#1658">1658</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="1659" href="#1659">1659</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="1660" href="#1660">1660</a> <em class="comment"> * </em>
+<a name="1661" href="#1661">1661</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="1662" href="#1662">1662</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="1663" href="#1663">1663</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="1664" href="#1664">1664</a> <em class="comment"> * </em>
+<a name="1665" href="#1665">1665</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="1666" href="#1666">1666</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="1667" href="#1667">1667</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="1668" href="#1668">1668</a> <em class="comment"> * </em>
+<a name="1669" href="#1669">1669</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="1670" href="#1670">1670</a> <em class="comment"> * </em>
+<a name="1671" href="#1671">1671</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="1672" href="#1672">1672</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="1673" href="#1673">1673</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="1674" href="#1674">1674</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="1675" href="#1675">1675</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="1676" href="#1676">1676</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="1677" href="#1677">1677</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="1678" href="#1678">1678</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="1679" href="#1679">1679</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="1680" href="#1680">1680</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="1681" href="#1681">1681</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="1682" href="#1682">1682</a> <em class="comment"> * </em>
+<a name="1683" href="#1683">1683</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="1684" href="#1684">1684</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractEntity.html b/docs/xref/org/dom4j/tree/AbstractEntity.html
new file mode 100644
index 0000000..4646313
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractEntity.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractEntity xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractEntity.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Writer;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Element;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Visitor;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <p></em>
+<a name="19" href="#19">19</a>  <em> * <code>AbstractEntity</code> is an abstract base class for tree implementors</em>
+<a name="20" href="#20">20</a>  <em> * to use for implementation inheritence.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.15 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractEntity.html">AbstractEntity</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractNode.html">AbstractNode</a> implements <a href="../../../org/dom4j/Entity.html">Entity</a> {
+<a name="27" href="#27">27</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractEntity.html">AbstractEntity</a>() {
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="31" href="#31">31</a>          <strong>return</strong> ENTITY_REFERENCE_NODE;
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> String getPath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="35" href="#35">35</a>          <em class="comment">// From XPaths perspective, entities are included in text</em>
+<a name="36" href="#36">36</a>          <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          <strong>return</strong> ((parent != <strong>null</strong>) && (parent != context)) ? (parent
+<a name="39" href="#39">39</a>                  .getPath(context) + <span class="string">"/text()"</span>) : <span class="string">"text()"</span>;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> String getUniquePath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="43" href="#43">43</a>          <em class="comment">// From XPaths perspective, entities are included in text</em>
+<a name="44" href="#44">44</a>          <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          <strong>return</strong> ((parent != <strong>null</strong>) && (parent != context)) ? (parent
+<a name="47" href="#47">47</a>                  .getUniquePath(context) + <span class="string">"/text()"</span>) : <span class="string">"text()"</span>;
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> String toString() {
+<a name="51" href="#51">51</a>          <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Entity: &"</span> + getName() + <span class="string">";]"</span>;
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> String getStringValue() {
+<a name="55" href="#55">55</a>          <strong>return</strong> <span class="string">"&"</span> + getName() + <span class="string">";"</span>;
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> String asXML() {
+<a name="59" href="#59">59</a>          <strong>return</strong> <span class="string">"&"</span> + getName() + <span class="string">";"</span>;
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>public</strong> <strong>void</strong> write(Writer writer) throws IOException {
+<a name="63" href="#63">63</a>          writer.write(<span class="string">"&"</span>);
+<a name="64" href="#64">64</a>          writer.write(getName());
+<a name="65" href="#65">65</a>          writer.write(<span class="string">";"</span>);
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> <strong>void</strong> accept(<a href="../../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="69" href="#69">69</a>          visitor.visit(<strong>this</strong>);
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>  <em class="comment">/*</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * following conditions are met:</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="94" href="#94">94</a>  <em class="comment"> * </em>
+<a name="95" href="#95">95</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="100" href="#100">100</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="101" href="#101">101</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="102" href="#102">102</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="103" href="#103">103</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="104" href="#104">104</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="105" href="#105">105</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="106" href="#106">106</a> <em class="comment"> * </em>
+<a name="107" href="#107">107</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="108" href="#108">108</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractNode.html b/docs/xref/org/dom4j/tree/AbstractNode.html
new file mode 100644
index 0000000..173d919
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractNode.html
@@ -0,0 +1,284 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractNode xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractNode.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Serializable;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.io.Writer;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Document;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Element;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Node;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.NodeFilter;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.rule.Pattern;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em> * <p></em>
+<a name="25" href="#25">25</a>  <em> * <code>AbstractNode</code> is an abstract base class for tree implementors</em>
+<a name="26" href="#26">26</a>  <em> * to use for implementation inheritence.</em>
+<a name="27" href="#27">27</a>  <em> * </p></em>
+<a name="28" href="#28">28</a>  <em> * </em>
+<a name="29" href="#29">29</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="30" href="#30">30</a>  <em> * @version $Revision: 1.31 $</em>
+<a name="31" href="#31">31</a>  <em> */</em>
+<a name="32" href="#32">32</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractNode.html">AbstractNode</a> implements Node, Cloneable, Serializable {
+<a name="33" href="#33">33</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> String[] NODE_TYPE_NAMES = {<span class="string">"Node"</span>, <span class="string">"Element"</span>,
+<a name="34" href="#34">34</a>              <span class="string">"Attribute"</span>, <span class="string">"Text"</span>, <span class="string">"CDATA"</span>, <span class="string">"Entity"</span>, <span class="string">"Entity"</span>,
+<a name="35" href="#35">35</a>              <span class="string">"ProcessingInstruction"</span>, <span class="string">"Comment"</span>, <span class="string">"Document"</span>, <span class="string">"DocumentType"</span>,
+<a name="36" href="#36">36</a>              <span class="string">"DocumentFragment"</span>, <span class="string">"Notation"</span>, <span class="string">"Namespace"</span>, <span class="string">"Unknown"</span> };
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>* The <code>DocumentFactory</code> instance used by default */</em></em>
+<a name="39" href="#39">39</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> DOCUMENT_FACTORY = <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a>
+<a name="40" href="#40">40</a>              .getInstance();
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractNode.html">AbstractNode</a>() {
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="46" href="#46">46</a>          <strong>return</strong> UNKNOWN_NODE;
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> String getNodeTypeName() {
+<a name="50" href="#50">50</a>          <strong>int</strong> type = getNodeType();
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          <strong>if</strong> ((type < 0) || (type >= NODE_TYPE_NAMES.length)) {
+<a name="53" href="#53">53</a>              <strong>return</strong> <span class="string">"Unknown"</span>;
+<a name="54" href="#54">54</a>          }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>          <strong>return</strong> NODE_TYPE_NAMES[type];
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getDocument() {
+<a name="60" href="#60">60</a>          <a href="../../../org/dom4j/Element.html">Element</a> element = getParent();
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>          <strong>return</strong> (element != <strong>null</strong>) ? element.getDocument() : <strong>null</strong>;
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>void</strong> setDocument(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="69" href="#69">69</a>          <strong>return</strong> <strong>null</strong>;
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="76" href="#76">76</a>          <strong>return</strong> false;
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="80" href="#80">80</a>          <strong>return</strong> <strong>true</strong>;
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> <strong>boolean</strong> hasContent() {
+<a name="84" href="#84">84</a>          <strong>return</strong> false;
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <strong>public</strong> String getPath() {
+<a name="88" href="#88">88</a>          <strong>return</strong> getPath(<strong>null</strong>);
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> String getUniquePath() {
+<a name="92" href="#92">92</a>          <strong>return</strong> getUniquePath(<strong>null</strong>);
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> Object clone() {
+<a name="96" href="#96">96</a>          <strong>if</strong> (isReadOnly()) {
+<a name="97" href="#97">97</a>              <strong>return</strong> <strong>this</strong>;
+<a name="98" href="#98">98</a>          } <strong>else</strong> {
+<a name="99" href="#99">99</a>              <strong>try</strong> {
+<a name="100" href="#100">100</a>                 <a href="../../../org/dom4j/Node.html">Node</a> answer = (Node) <strong>super</strong>.clone();
+<a name="101" href="#101">101</a>                 answer.setParent(<strong>null</strong>);
+<a name="102" href="#102">102</a>                 answer.setDocument(<strong>null</strong>);
+<a name="103" href="#103">103</a> 
+<a name="104" href="#104">104</a>                 <strong>return</strong> answer;
+<a name="105" href="#105">105</a>             } <strong>catch</strong> (CloneNotSupportedException e) {
+<a name="106" href="#106">106</a>                 <em class="comment">// should never happen</em>
+<a name="107" href="#107">107</a>                 <strong>throw</strong> <strong>new</strong> RuntimeException(<span class="string">"This should never happen. Caught: "</span>
+<a name="108" href="#108">108</a>                         + e);
+<a name="109" href="#109">109</a>             }
+<a name="110" href="#110">110</a>         }
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> detach() {
+<a name="114" href="#114">114</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="117" href="#117">117</a>             parent.remove(<strong>this</strong>);
+<a name="118" href="#118">118</a>         } <strong>else</strong> {
+<a name="119" href="#119">119</a>             <a href="../../../org/dom4j/Document.html">Document</a> document = getDocument();
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>             <strong>if</strong> (document != <strong>null</strong>) {
+<a name="122" href="#122">122</a>                 document.remove(<strong>this</strong>);
+<a name="123" href="#123">123</a>             }
+<a name="124" href="#124">124</a>         }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>         setParent(<strong>null</strong>);
+<a name="127" href="#127">127</a>         setDocument(<strong>null</strong>);
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         <strong>return</strong> <strong>this</strong>;
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <strong>public</strong> String getName() {
+<a name="133" href="#133">133</a>         <strong>return</strong> <strong>null</strong>;
+<a name="134" href="#134">134</a>     }
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>     <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="137" href="#137">137</a>         <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"This node cannot be modified"</span>);
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <strong>public</strong> String getText() {
+<a name="141" href="#141">141</a>         <strong>return</strong> <strong>null</strong>;
+<a name="142" href="#142">142</a>     }
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>     <strong>public</strong> String getStringValue() {
+<a name="145" href="#145">145</a>         <strong>return</strong> getText();
+<a name="146" href="#146">146</a>     }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="149" href="#149">149</a>         <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"This node cannot be modified"</span>);
+<a name="150" href="#150">150</a>     }
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>     <strong>public</strong> <strong>void</strong> write(Writer writer) throws IOException {
+<a name="153" href="#153">153</a>         writer.write(asXML());
+<a name="154" href="#154">154</a>     }
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>     <em class="comment">// XPath methods</em>
+<a name="157" href="#157">157</a>     <strong>public</strong> Object selectObject(String xpathExpression) {
+<a name="158" href="#158">158</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathExpression);
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>         <strong>return</strong> xpath.evaluate(<strong>this</strong>);
+<a name="161" href="#161">161</a>     }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>     <strong>public</strong> List selectNodes(String xpathExpression) {
+<a name="164" href="#164">164</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathExpression);
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>         <strong>return</strong> xpath.selectNodes(<strong>this</strong>);
+<a name="167" href="#167">167</a>     }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>     <strong>public</strong> List selectNodes(String xpathExpression,
+<a name="170" href="#170">170</a>             String comparisonXPathExpression) {
+<a name="171" href="#171">171</a>         <strong>return</strong> selectNodes(xpathExpression, comparisonXPathExpression, false);
+<a name="172" href="#172">172</a>     }
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>     <strong>public</strong> List selectNodes(String xpathExpression,
+<a name="175" href="#175">175</a>             String comparisonXPathExpression, <strong>boolean</strong> removeDuplicates) {
+<a name="176" href="#176">176</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathExpression);
+<a name="177" href="#177">177</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> sortBy = createXPath(comparisonXPathExpression);
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         <strong>return</strong> xpath.selectNodes(<strong>this</strong>, sortBy, removeDuplicates);
+<a name="180" href="#180">180</a>     }
+<a name="181" href="#181">181</a> 
+<a name="182" href="#182">182</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> selectSingleNode(String xpathExpression) {
+<a name="183" href="#183">183</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathExpression);
+<a name="184" href="#184">184</a> 
+<a name="185" href="#185">185</a>         <strong>return</strong> xpath.selectSingleNode(<strong>this</strong>);
+<a name="186" href="#186">186</a>     }
+<a name="187" href="#187">187</a> 
+<a name="188" href="#188">188</a>     <strong>public</strong> String valueOf(String xpathExpression) {
+<a name="189" href="#189">189</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathExpression);
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>         <strong>return</strong> xpath.valueOf(<strong>this</strong>);
+<a name="192" href="#192">192</a>     }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>     <strong>public</strong> Number numberValueOf(String xpathExpression) {
+<a name="195" href="#195">195</a>         <a href="../../../org/dom4j/XPath.html">XPath</a> xpath = createXPath(xpathExpression);
+<a name="196" href="#196">196</a> 
+<a name="197" href="#197">197</a>         <strong>return</strong> xpath.numberValueOf(<strong>this</strong>);
+<a name="198" href="#198">198</a>     }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a>     <strong>public</strong> <strong>boolean</strong> matches(String patternText) {
+<a name="201" href="#201">201</a>         <a href="../../../org/dom4j/NodeFilter.html">NodeFilter</a> filter = createXPathFilter(patternText);
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>         <strong>return</strong> filter.matches(<strong>this</strong>);
+<a name="204" href="#204">204</a>     }
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>     <strong>public</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> createXPath(String xpathExpression) {
+<a name="207" href="#207">207</a>         <strong>return</strong> getDocumentFactory().createXPath(xpathExpression);
+<a name="208" href="#208">208</a>     }
+<a name="209" href="#209">209</a> 
+<a name="210" href="#210">210</a>     <strong>public</strong> <a href="../../../org/dom4j/NodeFilter.html">NodeFilter</a> createXPathFilter(String patternText) {
+<a name="211" href="#211">211</a>         <strong>return</strong> getDocumentFactory().createXPathFilter(patternText);
+<a name="212" href="#212">212</a>     }
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>     <strong>public</strong> <a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> createPattern(String patternText) {
+<a name="215" href="#215">215</a>         <strong>return</strong> getDocumentFactory().createPattern(patternText);
+<a name="216" href="#216">216</a>     }
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> asXPathResult(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="219" href="#219">219</a>         <strong>if</strong> (supportsParent()) {
+<a name="220" href="#220">220</a>             <strong>return</strong> <strong>this</strong>;
+<a name="221" href="#221">221</a>         }
+<a name="222" href="#222">222</a> 
+<a name="223" href="#223">223</a>         <strong>return</strong> createXPathResult(parent);
+<a name="224" href="#224">224</a>     }
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>     <strong>protected</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="227" href="#227">227</a>         <strong>return</strong> DOCUMENT_FACTORY;
+<a name="228" href="#228">228</a>     }
+<a name="229" href="#229">229</a> 
+<a name="230" href="#230">230</a>     <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> createXPathResult(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="231" href="#231">231</a>         <strong>throw</strong> <strong>new</strong> RuntimeException(<span class="string">"asXPathResult() not yet implemented fully "</span>
+<a name="232" href="#232">232</a>                 + <span class="string">"for: "</span> + <strong>this</strong>);
+<a name="233" href="#233">233</a>     }
+<a name="234" href="#234">234</a> }
+<a name="235" href="#235">235</a> 
+<a name="236" href="#236">236</a> <em class="comment">/*</em>
+<a name="237" href="#237">237</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="238" href="#238">238</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="239" href="#239">239</a> <em class="comment"> * following conditions are met:</em>
+<a name="240" href="#240">240</a> <em class="comment"> * </em>
+<a name="241" href="#241">241</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="242" href="#242">242</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="243" href="#243">243</a> <em class="comment"> * </em>
+<a name="244" href="#244">244</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="245" href="#245">245</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="246" href="#246">246</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="247" href="#247">247</a> <em class="comment"> * </em>
+<a name="248" href="#248">248</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="249" href="#249">249</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="250" href="#250">250</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="251" href="#251">251</a> <em class="comment"> * </em>
+<a name="252" href="#252">252</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="253" href="#253">253</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="254" href="#254">254</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="255" href="#255">255</a> <em class="comment"> * </em>
+<a name="256" href="#256">256</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="257" href="#257">257</a> <em class="comment"> * </em>
+<a name="258" href="#258">258</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="259" href="#259">259</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="260" href="#260">260</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="261" href="#261">261</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="262" href="#262">262</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="263" href="#263">263</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="264" href="#264">264</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="265" href="#265">265</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="266" href="#266">266</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="267" href="#267">267</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="268" href="#268">268</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="269" href="#269">269</a> <em class="comment"> * </em>
+<a name="270" href="#270">270</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="271" href="#271">271</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractProcessingInstruction.html b/docs/xref/org/dom4j/tree/AbstractProcessingInstruction.html
new file mode 100644
index 0000000..b2e88df
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractProcessingInstruction.html
@@ -0,0 +1,248 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractProcessingInstruction xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractProcessingInstruction.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Writer;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.HashMap;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Iterator;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.Map;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.StringTokenizer;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Element;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Visitor;
+<a name="20" href="#20">20</a>  
+<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
+<a name="22" href="#22">22</a>  <em> * <p></em>
+<a name="23" href="#23">23</a>  <em> * <code>AbstractProcessingInstruction</code> is an abstract base class for</em>
+<a name="24" href="#24">24</a>  <em> * tree implementors to use for implementation inheritence.</em>
+<a name="25" href="#25">25</a>  <em> * </p></em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="28" href="#28">28</a>  <em> * @version $Revision: 1.17 $</em>
+<a name="29" href="#29">29</a>  <em> */</em>
+<a name="30" href="#30">30</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractProcessingInstruction.html">AbstractProcessingInstruction</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractNode.html">AbstractNode</a>
+<a name="31" href="#31">31</a>          implements <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> {
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractProcessingInstruction.html">AbstractProcessingInstruction</a>() {
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="36" href="#36">36</a>          <strong>return</strong> PROCESSING_INSTRUCTION_NODE;
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> String getPath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="40" href="#40">40</a>          <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          <strong>return</strong> ((parent != <strong>null</strong>) && (parent != context)) ? (parent
+<a name="43" href="#43">43</a>                  .getPath(context) + <span class="string">"/processing-instruction()"</span>)
+<a name="44" href="#44">44</a>                  : <span class="string">"processing-instruction()"</span>;
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> String getUniquePath(<a href="../../../org/dom4j/Element.html">Element</a> context) {
+<a name="48" href="#48">48</a>          <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          <strong>return</strong> ((parent != <strong>null</strong>) && (parent != context)) ? (parent
+<a name="51" href="#51">51</a>                  .getUniquePath(context) + <span class="string">"/processing-instruction()"</span>)
+<a name="52" href="#52">52</a>                  : <span class="string">"processing-instruction()"</span>;
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> String toString() {
+<a name="56" href="#56">56</a>          <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [ProcessingInstruction: &"</span> + getName()
+<a name="57" href="#57">57</a>                  + <span class="string">";]"</span>;
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> String asXML() {
+<a name="61" href="#61">61</a>          <strong>return</strong> <span class="string">"<?"</span> + getName() + <span class="string">" "</span> + getText() + <span class="string">"?>"</span>;
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <strong>void</strong> write(Writer writer) throws IOException {
+<a name="65" href="#65">65</a>          writer.write(<span class="string">"<?"</span>);
+<a name="66" href="#66">66</a>          writer.write(getName());
+<a name="67" href="#67">67</a>          writer.write(<span class="string">" "</span>);
+<a name="68" href="#68">68</a>          writer.write(getText());
+<a name="69" href="#69">69</a>          writer.write(<span class="string">"?>"</span>);
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> <strong>void</strong> accept(<a href="../../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="73" href="#73">73</a>          visitor.visit(<strong>this</strong>);
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> <strong>void</strong> setValue(String name, String value) {
+<a name="77" href="#77">77</a>          <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"This PI is read-only and "</span>
+<a name="78" href="#78">78</a>                  + <span class="string">"cannot be modified"</span>);
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>void</strong> setValues(Map data) {
+<a name="82" href="#82">82</a>          <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"This PI is read-only and "</span>
+<a name="83" href="#83">83</a>                  + <span class="string">"cannot be modified"</span>);
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <strong>public</strong> String getName() {
+<a name="87" href="#87">87</a>          <strong>return</strong> getTarget();
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="91" href="#91">91</a>          setTarget(name);
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <strong>public</strong> <strong>boolean</strong> removeValue(String name) {
+<a name="95" href="#95">95</a>          <strong>return</strong> false;
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <em class="comment">// Helper methods</em>
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>     <em>/**<em>*</em></em>
+<a name="101" href="#101">101</a> <em>     * <p></em>
+<a name="102" href="#102">102</a> <em>     * This will convert the Map to a string representation.</em>
+<a name="103" href="#103">103</a> <em>     * </p></em>
+<a name="104" href="#104">104</a> <em>     * </em>
+<a name="105" href="#105">105</a> <em>     * @param values</em>
+<a name="106" href="#106">106</a> <em>     *            is a <code>Map</code> of PI data to convert</em>
+<a name="107" href="#107">107</a> <em>     * </em>
+<a name="108" href="#108">108</a> <em>     * @return DOCUMENT ME!</em>
+<a name="109" href="#109">109</a> <em>     */</em>
+<a name="110" href="#110">110</a>     <strong>protected</strong> String toString(Map values) {
+<a name="111" href="#111">111</a>         StringBuffer buffer = <strong>new</strong> StringBuffer();
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>         <strong>for</strong> (Iterator iter = values.entrySet().iterator(); iter.hasNext();) {
+<a name="114" href="#114">114</a>             Map.Entry entry = (Map.Entry) iter.next();
+<a name="115" href="#115">115</a>             String name = (String) entry.getKey();
+<a name="116" href="#116">116</a>             String value = (String) entry.getValue();
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>             buffer.append(name);
+<a name="119" href="#119">119</a>             buffer.append(<span class="string">"=\""</span>);
+<a name="120" href="#120">120</a>             buffer.append(value);
+<a name="121" href="#121">121</a>             buffer.append(<span class="string">"\" "</span>);
+<a name="122" href="#122">122</a>         }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         <em class="comment">// remove the last space</em>
+<a name="125" href="#125">125</a>         buffer.setLength(buffer.length() - 1);
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         <strong>return</strong> buffer.toString();
+<a name="128" href="#128">128</a>     }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>     <em>/**<em>*</em></em>
+<a name="131" href="#131">131</a> <em>     * <p></em>
+<a name="132" href="#132">132</a> <em>     * Parses the raw data of PI as a <code>Map</code>.</em>
+<a name="133" href="#133">133</a> <em>     * </p></em>
+<a name="134" href="#134">134</a> <em>     * </em>
+<a name="135" href="#135">135</a> <em>     * @param text</em>
+<a name="136" href="#136">136</a> <em>     *            <code>String</code> PI data to parse</em>
+<a name="137" href="#137">137</a> <em>     * </em>
+<a name="138" href="#138">138</a> <em>     * @return DOCUMENT ME!</em>
+<a name="139" href="#139">139</a> <em>     */</em>
+<a name="140" href="#140">140</a>     <strong>protected</strong> Map parseValues(String text) {
+<a name="141" href="#141">141</a>         Map data = <strong>new</strong> HashMap();
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         StringTokenizer s = <strong>new</strong> StringTokenizer(text, <span class="string">" =\'\""</span>, <strong>true</strong>);
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>         <strong>while</strong> (s.hasMoreTokens()) {
+<a name="146" href="#146">146</a>             String name = getName(s);
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>             <strong>if</strong> (s.hasMoreTokens()) {
+<a name="149" href="#149">149</a>                 String value = getValue(s);
+<a name="150" href="#150">150</a>                 data.put(name, value);
+<a name="151" href="#151">151</a>             }
+<a name="152" href="#152">152</a>         }
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>         <strong>return</strong> data;
+<a name="155" href="#155">155</a>     }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>     <strong>private</strong> String getName(StringTokenizer tokenizer) {
+<a name="158" href="#158">158</a>         String token = tokenizer.nextToken();
+<a name="159" href="#159">159</a>         StringBuffer name = <strong>new</strong> StringBuffer(token);
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>         <strong>while</strong> (tokenizer.hasMoreTokens()) {
+<a name="162" href="#162">162</a>             token = tokenizer.nextToken();
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>             <strong>if</strong> (!token.equals(<span class="string">"="</span>)) {
+<a name="165" href="#165">165</a>                 name.append(token);
+<a name="166" href="#166">166</a>             } <strong>else</strong> {
+<a name="167" href="#167">167</a>                 <strong>break</strong>;
+<a name="168" href="#168">168</a>             }
+<a name="169" href="#169">169</a>         }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>         <strong>return</strong> name.toString().trim();
+<a name="172" href="#172">172</a>     }
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>     <strong>private</strong> String getValue(StringTokenizer tokenizer) {
+<a name="175" href="#175">175</a>         String token = tokenizer.nextToken();
+<a name="176" href="#176">176</a>         StringBuffer value = <strong>new</strong> StringBuffer();
+<a name="177" href="#177">177</a> 
+<a name="178" href="#178">178</a>         <em class="comment">/*<em class="comment"> get the quote */</em></em>
+<a name="179" href="#179">179</a>         <strong>while</strong> (tokenizer.hasMoreTokens() && !token.equals(<span class="string">"\'"</span>)
+<a name="180" href="#180">180</a>                 && !token.equals(<span class="string">"\""</span>)) {
+<a name="181" href="#181">181</a>             token = tokenizer.nextToken();
+<a name="182" href="#182">182</a>         }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>         String quote = token;
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>         <strong>while</strong> (tokenizer.hasMoreTokens()) {
+<a name="187" href="#187">187</a>             token = tokenizer.nextToken();
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>             <strong>if</strong> (!quote.equals(token)) {
+<a name="190" href="#190">190</a>                 value.append(token);
+<a name="191" href="#191">191</a>             } <strong>else</strong> {
+<a name="192" href="#192">192</a>                 <strong>break</strong>;
+<a name="193" href="#193">193</a>             }
+<a name="194" href="#194">194</a>         }
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>         <strong>return</strong> value.toString();
+<a name="197" href="#197">197</a>     }
+<a name="198" href="#198">198</a> }
+<a name="199" href="#199">199</a> 
+<a name="200" href="#200">200</a> <em class="comment">/*</em>
+<a name="201" href="#201">201</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="202" href="#202">202</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="203" href="#203">203</a> <em class="comment"> * following conditions are met:</em>
+<a name="204" href="#204">204</a> <em class="comment"> * </em>
+<a name="205" href="#205">205</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="206" href="#206">206</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="207" href="#207">207</a> <em class="comment"> * </em>
+<a name="208" href="#208">208</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="209" href="#209">209</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="210" href="#210">210</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="211" href="#211">211</a> <em class="comment"> * </em>
+<a name="212" href="#212">212</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="213" href="#213">213</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="214" href="#214">214</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="215" href="#215">215</a> <em class="comment"> * </em>
+<a name="216" href="#216">216</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="217" href="#217">217</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="218" href="#218">218</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="219" href="#219">219</a> <em class="comment"> * </em>
+<a name="220" href="#220">220</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="221" href="#221">221</a> <em class="comment"> * </em>
+<a name="222" href="#222">222</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="223" href="#223">223</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="224" href="#224">224</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="225" href="#225">225</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="226" href="#226">226</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="227" href="#227">227</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="228" href="#228">228</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="229" href="#229">229</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="230" href="#230">230</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="231" href="#231">231</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="232" href="#232">232</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="233" href="#233">233</a> <em class="comment"> * </em>
+<a name="234" href="#234">234</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="235" href="#235">235</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/AbstractText.html b/docs/xref/org/dom4j/tree/AbstractText.html
new file mode 100644
index 0000000..13fad78
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/AbstractText.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractText xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/AbstractText.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.IOException;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.io.Writer;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Visitor;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * <p></em>
+<a name="17" href="#17">17</a>  <em> * <code>AbstractText</code> is an abstract base class for tree implementors</em>
+<a name="18" href="#18">18</a>  <em> * to use for implementation inheritence.</em>
+<a name="19" href="#19">19</a>  <em> * </p></em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/AbstractText.html">AbstractText</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractCharacterData.html">AbstractCharacterData</a> implements
+<a name="25" href="#25">25</a>          org.dom4j.Text {
+<a name="26" href="#26">26</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/AbstractText.html">AbstractText</a>() {
+<a name="27" href="#27">27</a>      }
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <strong>short</strong> getNodeType() {
+<a name="30" href="#30">30</a>          <strong>return</strong> TEXT_NODE;
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> String toString() {
+<a name="34" href="#34">34</a>          <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" [Text: \""</span> + getText() + <span class="string">"\"]"</span>;
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> String asXML() {
+<a name="38" href="#38">38</a>          <strong>return</strong> getText();
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> <strong>void</strong> write(Writer writer) throws IOException {
+<a name="42" href="#42">42</a>          writer.write(getText());
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <strong>void</strong> accept(<a href="../../../org/dom4j/Visitor.html">Visitor</a> visitor) {
+<a name="46" href="#46">46</a>          visitor.visit(<strong>this</strong>);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>  <em class="comment">/*</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * following conditions are met:</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * </em>
+<a name="55" href="#55">55</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/BackedList.html b/docs/xref/org/dom4j/tree/BackedList.html
new file mode 100644
index 0000000..0d68e57
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/BackedList.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BackedList xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/BackedList.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Collection;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.IllegalAddException;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Node;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>BackedList</code> represents a list of content of a {@link</em>
+<a name="21" href="#21">21</a>  <em> * org.dom4j.Branch}. Changes to the list will be reflected in the branch,</em>
+<a name="22" href="#22">22</a>  <em> * though changes to the branch will not be reflected in this list.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.14 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> <strong>extends</strong> ArrayList {
+<a name="29" href="#29">29</a>      <em>/**<em>* The content of the <a href="../../../org/dom4j/Branch.html">Branch</a> which is modified if I am modified */</em></em>
+<a name="30" href="#30">30</a>      <strong>private</strong> List branchContent;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em>/**<em>* The <code>AbstractBranch</code> instance which owns the content */</em></em>
+<a name="33" href="#33">33</a>      <strong>private</strong> <a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a> branch;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a>(<a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a> branch, List branchContent) {
+<a name="36" href="#36">36</a>          <strong>this</strong>(branch, branchContent, branchContent.size());
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a>(<a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a> branch, List branchContent, <strong>int</strong> capacity) {
+<a name="40" href="#40">40</a>          <strong>super</strong>(capacity);
+<a name="41" href="#41">41</a>          <strong>this</strong>.branch = branch;
+<a name="42" href="#42">42</a>          <strong>this</strong>.branchContent = branchContent;
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a>(<a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a> branch, List branchContent,
+<a name="46" href="#46">46</a>              List initialContent) {
+<a name="47" href="#47">47</a>          <strong>super</strong>(initialContent);
+<a name="48" href="#48">48</a>          <strong>this</strong>.branch = branch;
+<a name="49" href="#49">49</a>          <strong>this</strong>.branchContent = branchContent;
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <strong>boolean</strong> add(Object object) {
+<a name="53" href="#53">53</a>          branch.addNode(asNode(object));
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>          <strong>return</strong> <strong>super</strong>.add(object);
+<a name="56" href="#56">56</a>      }
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> <strong>void</strong> add(<strong>int</strong> index, Object object) {
+<a name="59" href="#59">59</a>          <strong>int</strong> size = size();
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>          <strong>if</strong> (index < 0) {
+<a name="62" href="#62">62</a>              <strong>throw</strong> <strong>new</strong> IndexOutOfBoundsException(<span class="string">"Index value: "</span> + index
+<a name="63" href="#63">63</a>                      + <span class="string">" is less than zero"</span>);
+<a name="64" href="#64">64</a>          } <strong>else</strong> <strong>if</strong> (index > size) {
+<a name="65" href="#65">65</a>              <strong>throw</strong> <strong>new</strong> IndexOutOfBoundsException(<span class="string">"Index value: "</span> + index
+<a name="66" href="#66">66</a>                      + <span class="string">" cannot be greater than "</span> + <span class="string">"the size: "</span> + size);
+<a name="67" href="#67">67</a>          }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          <strong>int</strong> realIndex;
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          <strong>if</strong> (size == 0) {
+<a name="72" href="#72">72</a>              realIndex = branchContent.size();
+<a name="73" href="#73">73</a>          } <strong>else</strong> <strong>if</strong> (index < size) {
+<a name="74" href="#74">74</a>              realIndex = branchContent.indexOf(get(index));
+<a name="75" href="#75">75</a>          } <strong>else</strong> {
+<a name="76" href="#76">76</a>              realIndex = branchContent.indexOf(get(size - 1)) + 1;
+<a name="77" href="#77">77</a>          }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>          branch.addNode(realIndex, asNode(object));
+<a name="80" href="#80">80</a>          <strong>super</strong>.add(index, object);
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> Object set(<strong>int</strong> index, Object object) {
+<a name="84" href="#84">84</a>          <strong>int</strong> realIndex = branchContent.indexOf(get(index));
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>          <strong>if</strong> (realIndex < 0) {
+<a name="87" href="#87">87</a>              realIndex = (index == 0) ? 0 : Integer.MAX_VALUE;
+<a name="88" href="#88">88</a>          }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          <strong>if</strong> (realIndex < branchContent.size()) {
+<a name="91" href="#91">91</a>              branch.removeNode(asNode(get(index)));
+<a name="92" href="#92">92</a>              branch.addNode(realIndex, asNode(object));
+<a name="93" href="#93">93</a>          } <strong>else</strong> {
+<a name="94" href="#94">94</a>              branch.removeNode(asNode(get(index)));
+<a name="95" href="#95">95</a>              branch.addNode(asNode(object));
+<a name="96" href="#96">96</a>          }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>          branch.childAdded(asNode(object));
+<a name="99" href="#99">99</a>  
+<a name="100" href="#100">100</a>         <strong>return</strong> <strong>super</strong>.set(index, object);
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <strong>public</strong> <strong>boolean</strong> remove(Object object) {
+<a name="104" href="#104">104</a>         branch.removeNode(asNode(object));
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         <strong>return</strong> <strong>super</strong>.remove(object);
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <strong>public</strong> Object remove(<strong>int</strong> index) {
+<a name="110" href="#110">110</a>         Object object = <strong>super</strong>.remove(index);
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>         <strong>if</strong> (object != <strong>null</strong>) {
+<a name="113" href="#113">113</a>             branch.removeNode(asNode(object));
+<a name="114" href="#114">114</a>         }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <strong>return</strong> object;
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <strong>public</strong> <strong>boolean</strong> addAll(Collection collection) {
+<a name="120" href="#120">120</a>         ensureCapacity(size() + collection.size());
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>         <strong>int</strong> count = size();
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>         <strong>for</strong> (Iterator iter = collection.iterator(); iter.hasNext(); count--) {
+<a name="125" href="#125">125</a>             add(iter.next());
+<a name="126" href="#126">126</a>         }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         <strong>return</strong> count != 0;
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>public</strong> <strong>boolean</strong> addAll(<strong>int</strong> index, Collection collection) {
+<a name="132" href="#132">132</a>         ensureCapacity(size() + collection.size());
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>         <strong>int</strong> count = size();
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>         <strong>for</strong> (Iterator iter = collection.iterator(); iter.hasNext(); count--) {
+<a name="137" href="#137">137</a>             add(index++, iter.next());
+<a name="138" href="#138">138</a>         }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>         <strong>return</strong> count != 0;
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <strong>public</strong> <strong>void</strong> clear() {
+<a name="144" href="#144">144</a>         <strong>for</strong> (Iterator iter = iterator(); iter.hasNext();) {
+<a name="145" href="#145">145</a>             Object object = iter.next();
+<a name="146" href="#146">146</a>             branchContent.remove(object);
+<a name="147" href="#147">147</a>             branch.childRemoved(asNode(object));
+<a name="148" href="#148">148</a>         }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>         <strong>super</strong>.clear();
+<a name="151" href="#151">151</a>     }
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>     <em>/**<em>*</em></em>
+<a name="154" href="#154">154</a> <em>     * Performs a local addition which is not forward through to the Branch or</em>
+<a name="155" href="#155">155</a> <em>     * backing list</em>
+<a name="156" href="#156">156</a> <em>     * </em>
+<a name="157" href="#157">157</a> <em>     * @param object</em>
+<a name="158" href="#158">158</a> <em>     *            DOCUMENT ME!</em>
+<a name="159" href="#159">159</a> <em>     */</em>
+<a name="160" href="#160">160</a>     <strong>public</strong> <strong>void</strong> addLocal(Object object) {
+<a name="161" href="#161">161</a>         <strong>super</strong>.add(object);
+<a name="162" href="#162">162</a>     }
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>     <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> asNode(Object object) {
+<a name="165" href="#165">165</a>         <strong>if</strong> (object instanceof Node) {
+<a name="166" href="#166">166</a>             <strong>return</strong> (Node) object;
+<a name="167" href="#167">167</a>         } <strong>else</strong> {
+<a name="168" href="#168">168</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<span class="string">"This list must contain instances "</span>
+<a name="169" href="#169">169</a>                     + <span class="string">"of Node. Invalid type: "</span> + object);
+<a name="170" href="#170">170</a>         }
+<a name="171" href="#171">171</a>     }
+<a name="172" href="#172">172</a> }
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a> <em class="comment">/*</em>
+<a name="175" href="#175">175</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="176" href="#176">176</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="177" href="#177">177</a> <em class="comment"> * following conditions are met:</em>
+<a name="178" href="#178">178</a> <em class="comment"> * </em>
+<a name="179" href="#179">179</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="180" href="#180">180</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="181" href="#181">181</a> <em class="comment"> * </em>
+<a name="182" href="#182">182</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="183" href="#183">183</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="184" href="#184">184</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="185" href="#185">185</a> <em class="comment"> * </em>
+<a name="186" href="#186">186</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="187" href="#187">187</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="188" href="#188">188</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="189" href="#189">189</a> <em class="comment"> * </em>
+<a name="190" href="#190">190</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="191" href="#191">191</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="192" href="#192">192</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="193" href="#193">193</a> <em class="comment"> * </em>
+<a name="194" href="#194">194</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="195" href="#195">195</a> <em class="comment"> * </em>
+<a name="196" href="#196">196</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="197" href="#197">197</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="198" href="#198">198</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="199" href="#199">199</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="200" href="#200">200</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="201" href="#201">201</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="202" href="#202">202</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="203" href="#203">203</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="204" href="#204">204</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="205" href="#205">205</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="206" href="#206">206</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="207" href="#207">207</a> <em class="comment"> * </em>
+<a name="208" href="#208">208</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="209" href="#209">209</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/BaseElement.html b/docs/xref/org/dom4j/tree/BaseElement.html
new file mode 100644
index 0000000..71fb387
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/BaseElement.html
@@ -0,0 +1,202 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>BaseElement xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/BaseElement.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.List;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Document;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Element;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.QName;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>BaseElement</code> is a useful base class for implemementation</em>
+<a name="21" href="#21">21</a>  <em> * inheritence of an XML element.</em>
+<a name="22" href="#22">22</a>  <em> * </p></em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/BaseElement.html">BaseElement</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractElement.html">AbstractElement</a> {
+<a name="28" href="#28">28</a>      <em>/**<em>* The <code>QName</code> for this element */</em></em>
+<a name="29" href="#29">29</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> qname;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>*</em></em>
+<a name="32" href="#32">32</a>  <em>     * Stores the parent branch of this node which is either a Document if this</em>
+<a name="33" href="#33">33</a>  <em>     * element is the root element in a document, or another Element if it is a</em>
+<a name="34" href="#34">34</a>  <em>     * child of the root document, or null if it has not been added to a</em>
+<a name="35" href="#35">35</a>  <em>     * document yet.</em>
+<a name="36" href="#36">36</a>  <em>     */</em>
+<a name="37" href="#37">37</a>      <strong>private</strong> <a href="../../../org/dom4j/Branch.html">Branch</a> parentBranch;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>* List of content nodes. */</em></em>
+<a name="40" href="#40">40</a>      <strong>protected</strong> List content;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em>/**<em>* list of attributes */</em></em>
+<a name="43" href="#43">43</a>      <strong>protected</strong> List attributes;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/BaseElement.html">BaseElement</a>(String name) {
+<a name="46" href="#46">46</a>          <strong>this</strong>.qname = getDocumentFactory().createQName(name);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/BaseElement.html">BaseElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="50" href="#50">50</a>          <strong>this</strong>.qname = qname;
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/BaseElement.html">BaseElement</a>(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="54" href="#54">54</a>          <strong>this</strong>.qname = getDocumentFactory().createQName(name, namespace);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="58" href="#58">58</a>          <a href="../../../org/dom4j/Element.html">Element</a> result = <strong>null</strong>;
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>          <strong>if</strong> (parentBranch instanceof Element) {
+<a name="61" href="#61">61</a>              result = (Element) parentBranch;
+<a name="62" href="#62">62</a>          }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>          <strong>return</strong> result;
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="68" href="#68">68</a>          <strong>if</strong> (parentBranch instanceof Element || (parent != <strong>null</strong>)) {
+<a name="69" href="#69">69</a>              parentBranch = parent;
+<a name="70" href="#70">70</a>          }
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getDocument() {
+<a name="74" href="#74">74</a>          <strong>if</strong> (parentBranch instanceof Document) {
+<a name="75" href="#75">75</a>              <strong>return</strong> (Document) parentBranch;
+<a name="76" href="#76">76</a>          } <strong>else</strong> <strong>if</strong> (parentBranch instanceof Element) {
+<a name="77" href="#77">77</a>              <a href="../../../org/dom4j/Element.html">Element</a> parent = (Element) parentBranch;
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>              <strong>return</strong> parent.getDocument();
+<a name="80" href="#80">80</a>          }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>          <strong>return</strong> <strong>null</strong>;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <strong>void</strong> setDocument(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="86" href="#86">86</a>          <strong>if</strong> (parentBranch instanceof Document || (document != <strong>null</strong>)) {
+<a name="87" href="#87">87</a>              parentBranch = document;
+<a name="88" href="#88">88</a>          }
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="92" href="#92">92</a>          <strong>return</strong> <strong>true</strong>;
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName() {
+<a name="96" href="#96">96</a>          <strong>return</strong> qname;
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <strong>public</strong> <strong>void</strong> setQName(<a href="../../../org/dom4j/QName.html">QName</a> name) {
+<a name="100" href="#100">100</a>         <strong>this</strong>.qname = name;
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <strong>public</strong> <strong>void</strong> clearContent() {
+<a name="104" href="#104">104</a>         contentList().clear();
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong>public</strong> <strong>void</strong> setContent(List content) {
+<a name="108" href="#108">108</a>         <strong>this</strong>.content = content;
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         <strong>if</strong> (content instanceof ContentListFacade) {
+<a name="111" href="#111">111</a>             <strong>this</strong>.content = ((ContentListFacade) content).getBackingList();
+<a name="112" href="#112">112</a>         }
+<a name="113" href="#113">113</a>     }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <strong>public</strong> <strong>void</strong> setAttributes(List attributes) {
+<a name="116" href="#116">116</a>         <strong>this</strong>.attributes = attributes;
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>         <strong>if</strong> (attributes instanceof ContentListFacade) {
+<a name="119" href="#119">119</a>             <strong>this</strong>.attributes = ((ContentListFacade) attributes).getBackingList();
+<a name="120" href="#120">120</a>         }
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <em class="comment">// Implementation methods</em>
+<a name="124" href="#124">124</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="125" href="#125">125</a>     <strong>protected</strong> List contentList() {
+<a name="126" href="#126">126</a>         <strong>if</strong> (content == <strong>null</strong>) {
+<a name="127" href="#127">127</a>             content = createContentList();
+<a name="128" href="#128">128</a>         }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>         <strong>return</strong> content;
+<a name="131" href="#131">131</a>     }
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a>     <strong>protected</strong> List attributeList() {
+<a name="134" href="#134">134</a>         <strong>if</strong> (attributes == <strong>null</strong>) {
+<a name="135" href="#135">135</a>             attributes = createAttributeList();
+<a name="136" href="#136">136</a>         }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>         <strong>return</strong> attributes;
+<a name="139" href="#139">139</a>     }
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>     <strong>protected</strong> List attributeList(<strong>int</strong> size) {
+<a name="142" href="#142">142</a>         <strong>if</strong> (attributes == <strong>null</strong>) {
+<a name="143" href="#143">143</a>             attributes = createAttributeList(size);
+<a name="144" href="#144">144</a>         }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>         <strong>return</strong> attributes;
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <strong>protected</strong> <strong>void</strong> setAttributeList(List attributeList) {
+<a name="150" href="#150">150</a>         <strong>this</strong>.attributes = attributeList;
+<a name="151" href="#151">151</a>     }
+<a name="152" href="#152">152</a> }
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a> <em class="comment">/*</em>
+<a name="155" href="#155">155</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="156" href="#156">156</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="157" href="#157">157</a> <em class="comment"> * following conditions are met:</em>
+<a name="158" href="#158">158</a> <em class="comment"> * </em>
+<a name="159" href="#159">159</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="160" href="#160">160</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="161" href="#161">161</a> <em class="comment"> * </em>
+<a name="162" href="#162">162</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="163" href="#163">163</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="164" href="#164">164</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="165" href="#165">165</a> <em class="comment"> * </em>
+<a name="166" href="#166">166</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="167" href="#167">167</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="168" href="#168">168</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="169" href="#169">169</a> <em class="comment"> * </em>
+<a name="170" href="#170">170</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="171" href="#171">171</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="172" href="#172">172</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="173" href="#173">173</a> <em class="comment"> * </em>
+<a name="174" href="#174">174</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="175" href="#175">175</a> <em class="comment"> * </em>
+<a name="176" href="#176">176</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="177" href="#177">177</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="178" href="#178">178</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="179" href="#179">179</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="180" href="#180">180</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="181" href="#181">181</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="182" href="#182">182</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="183" href="#183">183</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="184" href="#184">184</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="185" href="#185">185</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="186" href="#186">186</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="187" href="#187">187</a> <em class="comment"> * </em>
+<a name="188" href="#188">188</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="189" href="#189">189</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/ConcurrentReaderHashMap.html b/docs/xref/org/dom4j/tree/ConcurrentReaderHashMap.html
new file mode 100644
index 0000000..ee3141d
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/ConcurrentReaderHashMap.html
@@ -0,0 +1,1297 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ConcurrentReaderHashMap xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/ConcurrentReaderHashMap.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> File: ConcurrentReaderHashMap</em>
+<a name="3" href="#3">3</a>   
+<a name="4" href="#4">4</a>   <em class="comment"> Written by Doug Lea. Adapted and released, under explicit</em>
+<a name="5" href="#5">5</a>   <em class="comment"> permission, from JDK1.2 HashMap.java and Hashtable.java which</em>
+<a name="6" href="#6">6</a>   <em class="comment"> carries the following copyright:</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <em class="comment"> * Copyright 1997 by Sun Microsystems, Inc.,</em>
+<a name="9" href="#9">9</a>   <em class="comment"> * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.</em>
+<a name="10" href="#10">10</a>  <em class="comment"> * All rights reserved.</em>
+<a name="11" href="#11">11</a>  <em class="comment"> *</em>
+<a name="12" href="#12">12</a>  <em class="comment"> * This software is the confidential and proprietary information</em>
+<a name="13" href="#13">13</a>  <em class="comment"> * of Sun Microsystems, Inc. ("Confidential Information").  You</em>
+<a name="14" href="#14">14</a>  <em class="comment"> * shall not disclose such Confidential Information and shall use</em>
+<a name="15" href="#15">15</a>  <em class="comment"> * it only in accordance with the terms of the license agreement</em>
+<a name="16" href="#16">16</a>  <em class="comment"> * you entered into with Sun.</em>
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em class="comment"> History:</em>
+<a name="19" href="#19">19</a>  <em class="comment"> Date       Who                What</em>
+<a name="20" href="#20">20</a>  <em class="comment"> 28oct1999  dl               Created</em>
+<a name="21" href="#21">21</a>  <em class="comment"> 14dec1999  dl               jmm snapshot</em>
+<a name="22" href="#22">22</a>  <em class="comment"> 19apr2000  dl               use barrierLock</em>
+<a name="23" href="#23">23</a>  <em class="comment"> 12jan2001  dl               public release</em>
+<a name="24" href="#24">24</a>  <em class="comment"> 17nov2001  dl               Minor tunings</em>
+<a name="25" href="#25">25</a>  <em class="comment"> 20may2002  dl               BarrierLock can now be serialized.</em>
+<a name="26" href="#26">26</a>  <em class="comment"> 09dec2002  dl               Fix interference checks.</em>
+<a name="27" href="#27">27</a>  <em class="comment"> */</em>
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>  <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>  <strong>import</strong> java.io.IOException;
+<a name="32" href="#32">32</a>  <strong>import</strong> java.io.Serializable;
+<a name="33" href="#33">33</a>  <strong>import</strong> java.util.AbstractCollection;
+<a name="34" href="#34">34</a>  <strong>import</strong> java.util.AbstractMap;
+<a name="35" href="#35">35</a>  <strong>import</strong> java.util.AbstractSet;
+<a name="36" href="#36">36</a>  <strong>import</strong> java.util.Collection;
+<a name="37" href="#37">37</a>  <strong>import</strong> java.util.Enumeration;
+<a name="38" href="#38">38</a>  <strong>import</strong> java.util.Iterator;
+<a name="39" href="#39">39</a>  <strong>import</strong> java.util.Map;
+<a name="40" href="#40">40</a>  <strong>import</strong> java.util.NoSuchElementException;
+<a name="41" href="#41">41</a>  <strong>import</strong> java.util.Set;
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>  <em>/**<em>*</em></em>
+<a name="44" href="#44">44</a>  <em> * A version of Hashtable that supports mostly-concurrent reading, but exclusive</em>
+<a name="45" href="#45">45</a>  <em> * writing. Because reads are not limited to periods without writes, a</em>
+<a name="46" href="#46">46</a>  <em> * concurrent reader policy is weaker than a classic reader/writer policy, but</em>
+<a name="47" href="#47">47</a>  <em> * is generally faster and allows more concurrency. This class is a good choice</em>
+<a name="48" href="#48">48</a>  <em> * especially for tables that are mainly created by one thread during the</em>
+<a name="49" href="#49">49</a>  <em> * start-up phase of a program, and from then on, are mainly read (with perhaps</em>
+<a name="50" href="#50">50</a>  <em> * occasional additions or removals) in many threads. If you also need</em>
+<a name="51" href="#51">51</a>  <em> * concurrency among writes, consider instead using ConcurrentHashMap.</em>
+<a name="52" href="#52">52</a>  <em> * <p></em>
+<a name="53" href="#53">53</a>  <em> * </em>
+<a name="54" href="#54">54</a>  <em> * Successful retrievals using get(key) and containsKey(key) usually run without</em>
+<a name="55" href="#55">55</a>  <em> * locking. Unsuccessful ones (i.e., when the key is not present) do involve</em>
+<a name="56" href="#56">56</a>  <em> * brief synchronization (locking). Also, the size and isEmpty methods are</em>
+<a name="57" href="#57">57</a>  <em> * always synchronized.</em>
+<a name="58" href="#58">58</a>  <em> * </em>
+<a name="59" href="#59">59</a>  <em> * <p></em>
+<a name="60" href="#60">60</a>  <em> * Because retrieval operations can ordinarily overlap with writing operations</em>
+<a name="61" href="#61">61</a>  <em> * (i.e., put, remove, and their derivatives), retrievals can only be guaranteed</em>
+<a name="62" href="#62">62</a>  <em> * to return the results of the most recently <em>completed</em> operations</em>
+<a name="63" href="#63">63</a>  <em> * holding upon their onset. Retrieval operations may or may not return results</em>
+<a name="64" href="#64">64</a>  <em> * reflecting in-progress writing operations. However, the retrieval operations</em>
+<a name="65" href="#65">65</a>  <em> * do always return consistent results -- either those holding before any single</em>
+<a name="66" href="#66">66</a>  <em> * modification or after it, but never a nonsense result. For aggregate</em>
+<a name="67" href="#67">67</a>  <em> * operations such as putAll and clear, concurrent reads may reflect insertion</em>
+<a name="68" href="#68">68</a>  <em> * or removal of only some entries. In those rare contexts in which you use a</em>
+<a name="69" href="#69">69</a>  <em> * hash table to synchronize operations across threads (for example, to prevent</em>
+<a name="70" href="#70">70</a>  <em> * reads until after clears), you should either encase operations in</em>
+<a name="71" href="#71">71</a>  <em> * synchronized blocks, or instead use java.util.Hashtable.</em>
+<a name="72" href="#72">72</a>  <em> * </em>
+<a name="73" href="#73">73</a>  <em> * <p></em>
+<a name="74" href="#74">74</a>  <em> * </em>
+<a name="75" href="#75">75</a>  <em> * This class also supports optional guaranteed exclusive reads, simply by</em>
+<a name="76" href="#76">76</a>  <em> * surrounding a call within a synchronized block, as in <br></em>
+<a name="77" href="#77">77</a>  <em> * <code>ConcurrentReaderHashMap t; ... Object v; <br></em>
+<a name="78" href="#78">78</a>  <em> * synchronized(t) { v = t.get(k); } </code><br></em>
+<a name="79" href="#79">79</a>  <em> * </em>
+<a name="80" href="#80">80</a>  <em> * But this is not usually necessary in practice. For example, it is generally</em>
+<a name="81" href="#81">81</a>  <em> * inefficient to write:</em>
+<a name="82" href="#82">82</a>  <em> * </em>
+<a name="83" href="#83">83</a>  <em> * <pre></em>
+<a name="84" href="#84">84</a>  <em> * </em>
+<a name="85" href="#85">85</a>  <em> *  </em>
+<a name="86" href="#86">86</a>  <em> *     ConcurrentReaderHashMap t; ...            // Inefficient version</em>
+<a name="87" href="#87">87</a>  <em> *     Object key; ...</em>
+<a name="88" href="#88">88</a>  <em> *     Object value; ...</em>
+<a name="89" href="#89">89</a>  <em> *     synchronized(t) { </em>
+<a name="90" href="#90">90</a>  <em> *       if (!t.containsKey(key))</em>
+<a name="91" href="#91">91</a>  <em> *         t.put(key, value);</em>
+<a name="92" href="#92">92</a>  <em> *         // other code if not previously present</em>
+<a name="93" href="#93">93</a>  <em> *       }</em>
+<a name="94" href="#94">94</a>  <em> *       else {</em>
+<a name="95" href="#95">95</a>  <em> *         // other code if it was previously present</em>
+<a name="96" href="#96">96</a>  <em> *       }</em>
+<a name="97" href="#97">97</a>  <em> *     }</em>
+<a name="98" href="#98">98</a>  <em> *  </em>
+<a name="99" href="#99">99</a>  <em> *  </em>
+<a name="100" href="#100">100</a> <em> * </pre></em>
+<a name="101" href="#101">101</a> <em> * </em>
+<a name="102" href="#102">102</a> <em> * Instead, if the values are intended to be the same in each case, just take</em>
+<a name="103" href="#103">103</a> <em> * advantage of the fact that put returns null if the key was not previously</em>
+<a name="104" href="#104">104</a> <em> * present:</em>
+<a name="105" href="#105">105</a> <em> * </em>
+<a name="106" href="#106">106</a> <em> * <pre></em>
+<a name="107" href="#107">107</a> <em> * </em>
+<a name="108" href="#108">108</a> <em> *  </em>
+<a name="109" href="#109">109</a> <em> *     ConcurrentReaderHashMap t; ...                // Use this instead</em>
+<a name="110" href="#110">110</a> <em> *     Object key; ...</em>
+<a name="111" href="#111">111</a> <em> *     Object value; ...</em>
+<a name="112" href="#112">112</a> <em> *     Object oldValue = t.put(key, value);</em>
+<a name="113" href="#113">113</a> <em> *     if (oldValue == null) {</em>
+<a name="114" href="#114">114</a> <em> *       // other code if not previously present</em>
+<a name="115" href="#115">115</a> <em> *     }</em>
+<a name="116" href="#116">116</a> <em> *     else {</em>
+<a name="117" href="#117">117</a> <em> *       // other code if it was previously present</em>
+<a name="118" href="#118">118</a> <em> *     }</em>
+<a name="119" href="#119">119</a> <em> *  </em>
+<a name="120" href="#120">120</a> <em> *  </em>
+<a name="121" href="#121">121</a> <em> * </pre></em>
+<a name="122" href="#122">122</a> <em> * </em>
+<a name="123" href="#123">123</a> <em> * <p></em>
+<a name="124" href="#124">124</a> <em> * </em>
+<a name="125" href="#125">125</a> <em> * Iterators and Enumerations (i.e., those returned by keySet().iterator(),</em>
+<a name="126" href="#126">126</a> <em> * entrySet().iterator(), values().iterator(), keys(), and elements()) return</em>
+<a name="127" href="#127">127</a> <em> * elements reflecting the state of the hash table at some point at or since the</em>
+<a name="128" href="#128">128</a> <em> * creation of the iterator/enumeration. They will return at most one instance</em>
+<a name="129" href="#129">129</a> <em> * of each element (via next()/nextElement()), but might or might not reflect</em>
+<a name="130" href="#130">130</a> <em> * puts and removes that have been processed since they were created. They do</em>
+<a name="131" href="#131">131</a> <em> * <em>not</em> throw ConcurrentModificationException. However, these</em>
+<a name="132" href="#132">132</a> <em> * iterators are designed to be used by only one thread at a time. Sharing an</em>
+<a name="133" href="#133">133</a> <em> * iterator across multiple threads may lead to unpredictable results if the</em>
+<a name="134" href="#134">134</a> <em> * table is being concurrently modified. Again, you can ensure interference-free</em>
+<a name="135" href="#135">135</a> <em> * iteration by enclosing the iteration in a synchronized block.</em>
+<a name="136" href="#136">136</a> <em> * <p></em>
+<a name="137" href="#137">137</a> <em> * </em>
+<a name="138" href="#138">138</a> <em> * This class may be used as a direct replacement for any use of</em>
+<a name="139" href="#139">139</a> <em> * java.util.Hashtable that does not depend on readers being blocked during</em>
+<a name="140" href="#140">140</a> <em> * updates. Like Hashtable but unlike java.util.HashMap, this class does NOT</em>
+<a name="141" href="#141">141</a> <em> * allow <tt>null</tt> to be used as a key or value. This class is also</em>
+<a name="142" href="#142">142</a> <em> * typically faster than ConcurrentHashMap when there is usually only one thread</em>
+<a name="143" href="#143">143</a> <em> * updating the table, but possibly many retrieving values from it.</em>
+<a name="144" href="#144">144</a> <em> * <p></em>
+<a name="145" href="#145">145</a> <em> * </em>
+<a name="146" href="#146">146</a> <em> * Implementation note: A slightly faster implementation of this class will be</em>
+<a name="147" href="#147">147</a> <em> * possible once planned Java Memory Model revisions are in place.</em>
+<a name="148" href="#148">148</a> <em> * </em>
+<a name="149" href="#149">149</a> <em> * <p>[ <a</em>
+<a name="150" href="#150">150</a> <em> * href="<a href="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html" target="alexandria_uri">http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html</a>"></em>
+<a name="151" href="#151">151</a> <em> * Introduction to this package. </a>]</em>
+<a name="152" href="#152">152</a> <em> * </em>
+<a name="153" href="#153">153</a> <em> */</em>
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a> <strong>class</strong> <a href="../../../org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a> <strong>extends</strong> AbstractMap implements Map, Cloneable,
+<a name="156" href="#156">156</a>         Serializable {
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>     <em class="comment">/*</em>
+<a name="159" href="#159">159</a> <em class="comment">     * The basic strategy is an optimistic-style scheme based on the guarantee</em>
+<a name="160" href="#160">160</a> <em class="comment">     * that the hash table and its lists are always kept in a consistent enough</em>
+<a name="161" href="#161">161</a> <em class="comment">     * state to be read without locking:</em>
+<a name="162" href="#162">162</a> <em class="comment">     * </em>
+<a name="163" href="#163">163</a> <em class="comment">     * Read operations first proceed without locking, by traversing the</em>
+<a name="164" href="#164">164</a> <em class="comment">     * apparently correct list of the apparently correct bin. If an entry is</em>
+<a name="165" href="#165">165</a> <em class="comment">     * found, but not invalidated (value field null), it is returned. If not</em>
+<a name="166" href="#166">166</a> <em class="comment">     * found, operations must recheck (after a memory barrier) to make sure they</em>
+<a name="167" href="#167">167</a> <em class="comment">     * are using both the right list and the right table (which can change under</em>
+<a name="168" href="#168">168</a> <em class="comment">     * resizes). If invalidated, reads must acquire main update lock to wait out</em>
+<a name="169" href="#169">169</a> <em class="comment">     * the update, and then re-traverse.</em>
+<a name="170" href="#170">170</a> <em class="comment">     * </em>
+<a name="171" href="#171">171</a> <em class="comment">     * All list additions are at the front of each bin, making it easy to check</em>
+<a name="172" href="#172">172</a> <em class="comment">     * changes, and also fast to traverse. Entry next pointers are never</em>
+<a name="173" href="#173">173</a> <em class="comment">     * assigned. Remove() builds new nodes when necessary to preserve this.</em>
+<a name="174" href="#174">174</a> <em class="comment">     * </em>
+<a name="175" href="#175">175</a> <em class="comment">     * Remove() (also clear()) invalidates removed nodes to alert read</em>
+<a name="176" href="#176">176</a> <em class="comment">     * operations that they must wait out the full modifications.</em>
+<a name="177" href="#177">177</a> <em class="comment">     * </em>
+<a name="178" href="#178">178</a> <em class="comment">     */</em>
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>     <em>/**<em>* A Serializable class for barrier lock * */</em></em>
+<a name="181" href="#181">181</a>     <strong>protected</strong> <strong>static</strong> <strong>class</strong> BarrierLock implements java.io.Serializable {
+<a name="182" href="#182">182</a>     }
+<a name="183" href="#183">183</a> 
+<a name="184" href="#184">184</a>     <em>/**<em>*</em></em>
+<a name="185" href="#185">185</a> <em>     * Lock used only for its memory effects.</em>
+<a name="186" href="#186">186</a> <em>     */</em>
+<a name="187" href="#187">187</a>     <strong>protected</strong> <strong>final</strong> BarrierLock barrierLock = <strong>new</strong> BarrierLock();
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>     <em>/**<em>*</em></em>
+<a name="190" href="#190">190</a> <em>     * field written to only to guarantee lock ordering.</em>
+<a name="191" href="#191">191</a> <em>     */</em>
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>     <strong>protected</strong> <strong>transient</strong> Object lastWrite;
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>     <em>/**<em>*</em></em>
+<a name="196" href="#196">196</a> <em>     * Force a memory synchronization that will cause all readers to see table.</em>
+<a name="197" href="#197">197</a> <em>     * Call only when already holding main synch lock.</em>
+<a name="198" href="#198">198</a> <em>     */</em>
+<a name="199" href="#199">199</a>     <strong>protected</strong> <strong>final</strong> <strong>void</strong> recordModification(Object x) {
+<a name="200" href="#200">200</a>         <strong>synchronized</strong> (barrierLock) {
+<a name="201" href="#201">201</a>             lastWrite = x;
+<a name="202" href="#202">202</a>         }
+<a name="203" href="#203">203</a>     }
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>     <em>/**<em>*</em></em>
+<a name="206" href="#206">206</a> <em>     * Get ref to table; the reference and the cells it accesses will be at</em>
+<a name="207" href="#207">207</a> <em>     * least as fresh as from last use of barrierLock</em>
+<a name="208" href="#208">208</a> <em>     */</em>
+<a name="209" href="#209">209</a>     <strong>protected</strong> <strong>final</strong> Entry[] getTableForReading() {
+<a name="210" href="#210">210</a>         <strong>synchronized</strong> (barrierLock) {
+<a name="211" href="#211">211</a>             <strong>return</strong> table;
+<a name="212" href="#212">212</a>         }
+<a name="213" href="#213">213</a>     }
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>     <em>/**<em>*</em></em>
+<a name="216" href="#216">216</a> <em>     * The default initial number of table slots for this table (32). Used when</em>
+<a name="217" href="#217">217</a> <em>     * not otherwise specified in constructor.</em>
+<a name="218" href="#218">218</a> <em>     */</em>
+<a name="219" href="#219">219</a>     <strong>public</strong> <strong>static</strong> <strong>int</strong> DEFAULT_INITIAL_CAPACITY = 32;
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>     <em>/**<em>*</em></em>
+<a name="222" href="#222">222</a> <em>     * The minimum capacity, used if a lower value is implicitly specified by</em>
+<a name="223" href="#223">223</a> <em>     * either of the constructors with arguments. MUST be a power of two.</em>
+<a name="224" href="#224">224</a> <em>     */</em>
+<a name="225" href="#225">225</a>     <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MINIMUM_CAPACITY = 4;
+<a name="226" href="#226">226</a> 
+<a name="227" href="#227">227</a>     <em>/**<em>*</em></em>
+<a name="228" href="#228">228</a> <em>     * The maximum capacity, used if a higher value is implicitly specified by</em>
+<a name="229" href="#229">229</a> <em>     * either of the constructors with arguments. MUST be a power of two <= 1 <</em>
+<a name="230" href="#230">230</a> <em>     * <30.</em>
+<a name="231" href="#231">231</a> <em>     */</em>
+<a name="232" href="#232">232</a>     <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>int</strong> MAXIMUM_CAPACITY = 1 << 30;
+<a name="233" href="#233">233</a> 
+<a name="234" href="#234">234</a>     <em>/**<em>*</em></em>
+<a name="235" href="#235">235</a> <em>     * The default load factor for this table (1.0). Used when not otherwise</em>
+<a name="236" href="#236">236</a> <em>     * specified in constructor.</em>
+<a name="237" href="#237">237</a> <em>     */</em>
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>     <strong>public</strong> <strong>static</strong> <strong>final</strong> <strong>float</strong> DEFAULT_LOAD_FACTOR = 0.75f;
+<a name="240" href="#240">240</a> 
+<a name="241" href="#241">241</a>     <em>/**<em>*</em></em>
+<a name="242" href="#242">242</a> <em>     * The hash table data.</em>
+<a name="243" href="#243">243</a> <em>     */</em>
+<a name="244" href="#244">244</a>     <strong>protected</strong> <strong>transient</strong> Entry[] table;
+<a name="245" href="#245">245</a> 
+<a name="246" href="#246">246</a>     <em>/**<em>*</em></em>
+<a name="247" href="#247">247</a> <em>     * The total number of mappings in the hash table.</em>
+<a name="248" href="#248">248</a> <em>     */</em>
+<a name="249" href="#249">249</a>     <strong>protected</strong> <strong>transient</strong> <strong>int</strong> count;
+<a name="250" href="#250">250</a> 
+<a name="251" href="#251">251</a>     <em>/**<em>*</em></em>
+<a name="252" href="#252">252</a> <em>     * The table is rehashed when its size exceeds this threshold. (The value of</em>
+<a name="253" href="#253">253</a> <em>     * this field is always (int)(capacity * loadFactor).)</em>
+<a name="254" href="#254">254</a> <em>     * </em>
+<a name="255" href="#255">255</a> <em>     * @serial</em>
+<a name="256" href="#256">256</a> <em>     */</em>
+<a name="257" href="#257">257</a>     <strong>protected</strong> <strong>int</strong> threshold;
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>     <em>/**<em>*</em></em>
+<a name="260" href="#260">260</a> <em>     * The load factor for the hash table.</em>
+<a name="261" href="#261">261</a> <em>     * </em>
+<a name="262" href="#262">262</a> <em>     * @serial</em>
+<a name="263" href="#263">263</a> <em>     */</em>
+<a name="264" href="#264">264</a>     <strong>protected</strong> <strong>float</strong> loadFactor;
+<a name="265" href="#265">265</a> 
+<a name="266" href="#266">266</a>     <em>/**<em>*</em></em>
+<a name="267" href="#267">267</a> <em>     * Returns the appropriate capacity (power of two) for the specified initial</em>
+<a name="268" href="#268">268</a> <em>     * capacity argument.</em>
+<a name="269" href="#269">269</a> <em>     */</em>
+<a name="270" href="#270">270</a>     <strong>private</strong> <strong>int</strong> p2capacity(<strong>int</strong> initialCapacity) {
+<a name="271" href="#271">271</a>         <strong>int</strong> cap = initialCapacity;
+<a name="272" href="#272">272</a> 
+<a name="273" href="#273">273</a>         <em class="comment">// Compute the appropriate capacity</em>
+<a name="274" href="#274">274</a>         <strong>int</strong> result;
+<a name="275" href="#275">275</a>         <strong>if</strong> (cap > MAXIMUM_CAPACITY || cap < 0) {
+<a name="276" href="#276">276</a>             result = MAXIMUM_CAPACITY;
+<a name="277" href="#277">277</a>         } <strong>else</strong> {
+<a name="278" href="#278">278</a>             result = MINIMUM_CAPACITY;
+<a name="279" href="#279">279</a>             <strong>while</strong> (result < cap)
+<a name="280" href="#280">280</a>                 result <<= 1;
+<a name="281" href="#281">281</a>         }
+<a name="282" href="#282">282</a>         <strong>return</strong> result;
+<a name="283" href="#283">283</a>     }
+<a name="284" href="#284">284</a> 
+<a name="285" href="#285">285</a>     <em>/**<em>*</em></em>
+<a name="286" href="#286">286</a> <em>     * Return hash code for Object x. Since we are using power-of-two tables, it</em>
+<a name="287" href="#287">287</a> <em>     * is worth the effort to improve hashcode via the same multiplicative</em>
+<a name="288" href="#288">288</a> <em>     * scheme as used in IdentityHashMap.</em>
+<a name="289" href="#289">289</a> <em>     */</em>
+<a name="290" href="#290">290</a>     <strong>private</strong> <strong>static</strong> <strong>int</strong> hash(Object x) {
+<a name="291" href="#291">291</a>         <strong>int</strong> h = x.hashCode();
+<a name="292" href="#292">292</a>         <em class="comment">// Multiply by 127 (quickly, via shifts), and mix in some high</em>
+<a name="293" href="#293">293</a>         <em class="comment">// bits to help guard against bunching of codes that are</em>
+<a name="294" href="#294">294</a>         <em class="comment">// consecutive or equally spaced.</em>
+<a name="295" href="#295">295</a>         <strong>return</strong> ((h << 7) - h + (h >>> 9) + (h >>> 17));
+<a name="296" href="#296">296</a>     }
+<a name="297" href="#297">297</a> 
+<a name="298" href="#298">298</a>     <em>/**<em>*</em></em>
+<a name="299" href="#299">299</a> <em>     * Check for equality of non-null references x and y.</em>
+<a name="300" href="#300">300</a> <em>     */</em>
+<a name="301" href="#301">301</a>     <strong>protected</strong> <strong>boolean</strong> eq(Object x, Object y) {
+<a name="302" href="#302">302</a>         <strong>return</strong> x == y || x.equals(y);
+<a name="303" href="#303">303</a>     }
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>     <em>/**<em>*</em></em>
+<a name="306" href="#306">306</a> <em>     * Constructs a new, empty map with the specified initial capacity and the</em>
+<a name="307" href="#307">307</a> <em>     * specified load factor.</em>
+<a name="308" href="#308">308</a> <em>     * </em>
+<a name="309" href="#309">309</a> <em>     * @param initialCapacity</em>
+<a name="310" href="#310">310</a> <em>     *            the initial capacity The actual initial capacity is rounded to</em>
+<a name="311" href="#311">311</a> <em>     *            the nearest power of two.</em>
+<a name="312" href="#312">312</a> <em>     * @param loadFactor</em>
+<a name="313" href="#313">313</a> <em>     *            the load factor of the ConcurrentReaderHashMap</em>
+<a name="314" href="#314">314</a> <em>     * @throws IllegalArgumentException</em>
+<a name="315" href="#315">315</a> <em>     *             if the initial maximum number of elements is less than zero,</em>
+<a name="316" href="#316">316</a> <em>     *             or if the load factor is nonpositive.</em>
+<a name="317" href="#317">317</a> <em>     */</em>
+<a name="318" href="#318">318</a> 
+<a name="319" href="#319">319</a>     <strong>public</strong> <a href="../../../org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a>(<strong>int</strong> initialCapacity, <strong>float</strong> loadFactor) {
+<a name="320" href="#320">320</a>         <strong>if</strong> (loadFactor <= 0)
+<a name="321" href="#321">321</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Illegal Load factor: "</span>
+<a name="322" href="#322">322</a>                     + loadFactor);
+<a name="323" href="#323">323</a>         <strong>this</strong>.loadFactor = loadFactor;
+<a name="324" href="#324">324</a> 
+<a name="325" href="#325">325</a>         <strong>int</strong> cap = p2capacity(initialCapacity);
+<a name="326" href="#326">326</a> 
+<a name="327" href="#327">327</a>         table = <strong>new</strong> Entry[cap];
+<a name="328" href="#328">328</a>         threshold = (<strong>int</strong>) (cap * loadFactor);
+<a name="329" href="#329">329</a>     }
+<a name="330" href="#330">330</a> 
+<a name="331" href="#331">331</a>     <em>/**<em>*</em></em>
+<a name="332" href="#332">332</a> <em>     * Constructs a new, empty map with the specified initial capacity and</em>
+<a name="333" href="#333">333</a> <em>     * default load factor.</em>
+<a name="334" href="#334">334</a> <em>     * </em>
+<a name="335" href="#335">335</a> <em>     * @param initialCapacity</em>
+<a name="336" href="#336">336</a> <em>     *            the initial capacity of the ConcurrentReaderHashMap.</em>
+<a name="337" href="#337">337</a> <em>     * @throws IllegalArgumentException</em>
+<a name="338" href="#338">338</a> <em>     *             if the initial maximum number of elements is less than zero.</em>
+<a name="339" href="#339">339</a> <em>     */</em>
+<a name="340" href="#340">340</a> 
+<a name="341" href="#341">341</a>     <strong>public</strong> <a href="../../../org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a>(<strong>int</strong> initialCapacity) {
+<a name="342" href="#342">342</a>         <strong>this</strong>(initialCapacity, DEFAULT_LOAD_FACTOR);
+<a name="343" href="#343">343</a>     }
+<a name="344" href="#344">344</a> 
+<a name="345" href="#345">345</a>     <em>/**<em>*</em></em>
+<a name="346" href="#346">346</a> <em>     * Constructs a new, empty map with a default initial capacity and load</em>
+<a name="347" href="#347">347</a> <em>     * factor.</em>
+<a name="348" href="#348">348</a> <em>     */</em>
+<a name="349" href="#349">349</a> 
+<a name="350" href="#350">350</a>     <strong>public</strong> <a href="../../../org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a>() {
+<a name="351" href="#351">351</a>         <strong>this</strong>(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);
+<a name="352" href="#352">352</a>     }
+<a name="353" href="#353">353</a> 
+<a name="354" href="#354">354</a>     <em>/**<em>*</em></em>
+<a name="355" href="#355">355</a> <em>     * Constructs a new map with the same mappings as the given map. The map is</em>
+<a name="356" href="#356">356</a> <em>     * created with a capacity of twice the number of mappings in the given map</em>
+<a name="357" href="#357">357</a> <em>     * or 16 (whichever is greater), and a default load factor.</em>
+<a name="358" href="#358">358</a> <em>     */</em>
+<a name="359" href="#359">359</a> 
+<a name="360" href="#360">360</a>     <strong>public</strong> <a href="../../../org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a>(Map t) {
+<a name="361" href="#361">361</a>         <strong>this</strong>(Math.max((<strong>int</strong>) (t.size() / DEFAULT_LOAD_FACTOR) + 1, 16),
+<a name="362" href="#362">362</a>                 DEFAULT_LOAD_FACTOR);
+<a name="363" href="#363">363</a>         putAll(t);
+<a name="364" href="#364">364</a>     }
+<a name="365" href="#365">365</a> 
+<a name="366" href="#366">366</a>     <em>/**<em>*</em></em>
+<a name="367" href="#367">367</a> <em>     * Returns the number of key-value mappings in this map.</em>
+<a name="368" href="#368">368</a> <em>     * </em>
+<a name="369" href="#369">369</a> <em>     * @return the number of key-value mappings in this map.</em>
+<a name="370" href="#370">370</a> <em>     */</em>
+<a name="371" href="#371">371</a> 
+<a name="372" href="#372">372</a>     <strong>public</strong> <strong>synchronized</strong> <strong>int</strong> size() {
+<a name="373" href="#373">373</a>         <strong>return</strong> count;
+<a name="374" href="#374">374</a>     }
+<a name="375" href="#375">375</a> 
+<a name="376" href="#376">376</a>     <em>/**<em>*</em></em>
+<a name="377" href="#377">377</a> <em>     * Returns <tt>true</tt> if this map contains no key-value mappings.</em>
+<a name="378" href="#378">378</a> <em>     * </em>
+<a name="379" href="#379">379</a> <em>     * @return <tt>true</tt> if this map contains no key-value mappings.</em>
+<a name="380" href="#380">380</a> <em>     */</em>
+<a name="381" href="#381">381</a> 
+<a name="382" href="#382">382</a>     <strong>public</strong> <strong>synchronized</strong> <strong>boolean</strong> isEmpty() {
+<a name="383" href="#383">383</a>         <strong>return</strong> count == 0;
+<a name="384" href="#384">384</a>     }
+<a name="385" href="#385">385</a> 
+<a name="386" href="#386">386</a>     <em>/**<em>*</em></em>
+<a name="387" href="#387">387</a> <em>     * Returns the value to which the specified key is mapped in this table.</em>
+<a name="388" href="#388">388</a> <em>     * </em>
+<a name="389" href="#389">389</a> <em>     * @param key</em>
+<a name="390" href="#390">390</a> <em>     *            a key in the table.</em>
+<a name="391" href="#391">391</a> <em>     * @return the value to which the key is mapped in this table;</em>
+<a name="392" href="#392">392</a> <em>     *         <code>null</code> if the key is not mapped to any value in this</em>
+<a name="393" href="#393">393</a> <em>     *         table.</em>
+<a name="394" href="#394">394</a> <em>     * @exception NullPointerException</em>
+<a name="395" href="#395">395</a> <em>     *                if the key is <code>null</code>.</em>
+<a name="396" href="#396">396</a> <em>     * @see #put(Object, Object)</em>
+<a name="397" href="#397">397</a> <em>     */</em>
+<a name="398" href="#398">398</a> 
+<a name="399" href="#399">399</a>     <strong>public</strong> Object get(Object key) {
+<a name="400" href="#400">400</a> 
+<a name="401" href="#401">401</a>         <em class="comment">// throw null pointer exception if key null</em>
+<a name="402" href="#402">402</a>         <strong>int</strong> hash = hash(key);
+<a name="403" href="#403">403</a> 
+<a name="404" href="#404">404</a>         <em class="comment">/*</em>
+<a name="405" href="#405">405</a> <em class="comment">         * Start off at the apparently correct bin. If entry is found, we need</em>
+<a name="406" href="#406">406</a> <em class="comment">         * to check after a barrier anyway. If not found, we need a barrier to</em>
+<a name="407" href="#407">407</a> <em class="comment">         * check if we are actually in right bin. So either way, we encounter</em>
+<a name="408" href="#408">408</a> <em class="comment">         * only one barrier unless we need to retry. And we only need to fully</em>
+<a name="409" href="#409">409</a> <em class="comment">         * synchronize if there have been concurrent modifications.</em>
+<a name="410" href="#410">410</a> <em class="comment">         */</em>
+<a name="411" href="#411">411</a> 
+<a name="412" href="#412">412</a>         Entry[] tab = table;
+<a name="413" href="#413">413</a>         <strong>int</strong> index = hash & (tab.length - 1);
+<a name="414" href="#414">414</a>         Entry first = tab[index];
+<a name="415" href="#415">415</a>         Entry e = first;
+<a name="416" href="#416">416</a> 
+<a name="417" href="#417">417</a>         <strong>for</strong> (;;) {
+<a name="418" href="#418">418</a>             <strong>if</strong> (e == <strong>null</strong>) {
+<a name="419" href="#419">419</a> 
+<a name="420" href="#420">420</a>                 <em class="comment">// If key apparently not there, check to</em>
+<a name="421" href="#421">421</a>                 <em class="comment">// make sure this was a valid read</em>
+<a name="422" href="#422">422</a> 
+<a name="423" href="#423">423</a>                 Entry[] reread = getTableForReading();
+<a name="424" href="#424">424</a>                 <strong>if</strong> (tab == reread && first == tab[index])
+<a name="425" href="#425">425</a>                     <strong>return</strong> <strong>null</strong>;
+<a name="426" href="#426">426</a>                 <strong>else</strong> {
+<a name="427" href="#427">427</a>                     <em class="comment">// Wrong list -- must restart traversal at new first</em>
+<a name="428" href="#428">428</a>                     tab = reread;
+<a name="429" href="#429">429</a>                     e = first = tab[index = hash & (tab.length - 1)];
+<a name="430" href="#430">430</a>                 }
+<a name="431" href="#431">431</a> 
+<a name="432" href="#432">432</a>             }
+<a name="433" href="#433">433</a> 
+<a name="434" href="#434">434</a>             <strong>else</strong> <strong>if</strong> (e.hash == hash && eq(key, e.key)) {
+<a name="435" href="#435">435</a>                 Object value = e.value;
+<a name="436" href="#436">436</a>                 <strong>if</strong> (value != <strong>null</strong>)
+<a name="437" href="#437">437</a>                     <strong>return</strong> value;
+<a name="438" href="#438">438</a> 
+<a name="439" href="#439">439</a>                 <em class="comment">// Entry was invalidated during deletion. But it could</em>
+<a name="440" href="#440">440</a>                 <em class="comment">// have been re-inserted, so we must retraverse.</em>
+<a name="441" href="#441">441</a>                 <em class="comment">// To avoid useless contention, get lock to wait out</em>
+<a name="442" href="#442">442</a>                 <em class="comment">// modifications</em>
+<a name="443" href="#443">443</a>                 <em class="comment">// before retraversing.</em>
+<a name="444" href="#444">444</a> 
+<a name="445" href="#445">445</a>                 <strong>synchronized</strong> (<strong>this</strong>) {
+<a name="446" href="#446">446</a>                     tab = table;
+<a name="447" href="#447">447</a>                 }
+<a name="448" href="#448">448</a>                 e = first = tab[index = hash & (tab.length - 1)];
+<a name="449" href="#449">449</a> 
+<a name="450" href="#450">450</a>             } <strong>else</strong>
+<a name="451" href="#451">451</a>                 e = e.next;
+<a name="452" href="#452">452</a>         }
+<a name="453" href="#453">453</a>     }
+<a name="454" href="#454">454</a> 
+<a name="455" href="#455">455</a>     <em>/**<em>*</em></em>
+<a name="456" href="#456">456</a> <em>     * Tests if the specified object is a key in this table.</em>
+<a name="457" href="#457">457</a> <em>     * </em>
+<a name="458" href="#458">458</a> <em>     * @param key</em>
+<a name="459" href="#459">459</a> <em>     *            possible key.</em>
+<a name="460" href="#460">460</a> <em>     * @return <code>true</code> if and only if the specified object is a key</em>
+<a name="461" href="#461">461</a> <em>     *         in this table, as determined by the <tt>equals</tt> method;</em>
+<a name="462" href="#462">462</a> <em>     *         <code>false</code> otherwise.</em>
+<a name="463" href="#463">463</a> <em>     * @exception NullPointerException</em>
+<a name="464" href="#464">464</a> <em>     *                if the key is <code>null</code>.</em>
+<a name="465" href="#465">465</a> <em>     * @see #contains(Object)</em>
+<a name="466" href="#466">466</a> <em>     */</em>
+<a name="467" href="#467">467</a> 
+<a name="468" href="#468">468</a>     <strong>public</strong> <strong>boolean</strong> containsKey(Object key) {
+<a name="469" href="#469">469</a>         <strong>return</strong> get(key) != <strong>null</strong>;
+<a name="470" href="#470">470</a>     }
+<a name="471" href="#471">471</a> 
+<a name="472" href="#472">472</a>     <em>/**<em>*</em></em>
+<a name="473" href="#473">473</a> <em>     * Maps the specified <code>key</code> to the specified <code>value</code></em>
+<a name="474" href="#474">474</a> <em>     * in this table. Neither the key nor the value can be <code>null</code>.</em>
+<a name="475" href="#475">475</a> <em>     * <p></em>
+<a name="476" href="#476">476</a> <em>     * </em>
+<a name="477" href="#477">477</a> <em>     * The value can be retrieved by calling the <code>get</code> method with</em>
+<a name="478" href="#478">478</a> <em>     * a key that is equal to the original key.</em>
+<a name="479" href="#479">479</a> <em>     * </em>
+<a name="480" href="#480">480</a> <em>     * @param key</em>
+<a name="481" href="#481">481</a> <em>     *            the table key.</em>
+<a name="482" href="#482">482</a> <em>     * @param value</em>
+<a name="483" href="#483">483</a> <em>     *            the value.</em>
+<a name="484" href="#484">484</a> <em>     * @return the previous value of the specified key in this table, or</em>
+<a name="485" href="#485">485</a> <em>     *         <code>null</code> if it did not have one.</em>
+<a name="486" href="#486">486</a> <em>     * @exception NullPointerException</em>
+<a name="487" href="#487">487</a> <em>     *                if the key or value is <code>null</code>.</em>
+<a name="488" href="#488">488</a> <em>     * @see Object#equals(Object)</em>
+<a name="489" href="#489">489</a> <em>     * @see #get(Object)</em>
+<a name="490" href="#490">490</a> <em>     */</em>
+<a name="491" href="#491">491</a> 
+<a name="492" href="#492">492</a>     <strong>public</strong> Object put(Object key, Object value) {
+<a name="493" href="#493">493</a>         <strong>if</strong> (value == <strong>null</strong>)
+<a name="494" href="#494">494</a>             <strong>throw</strong> <strong>new</strong> NullPointerException();
+<a name="495" href="#495">495</a> 
+<a name="496" href="#496">496</a>         <strong>int</strong> hash = hash(key);
+<a name="497" href="#497">497</a>         Entry[] tab = table;
+<a name="498" href="#498">498</a>         <strong>int</strong> index = hash & (tab.length - 1);
+<a name="499" href="#499">499</a>         Entry first = tab[index];
+<a name="500" href="#500">500</a>         Entry e;
+<a name="501" href="#501">501</a> 
+<a name="502" href="#502">502</a>         <strong>for</strong> (e = first; e != <strong>null</strong>; e = e.next)
+<a name="503" href="#503">503</a>             <strong>if</strong> (e.hash == hash && eq(key, e.key))
+<a name="504" href="#504">504</a>                 <strong>break</strong>;
+<a name="505" href="#505">505</a> 
+<a name="506" href="#506">506</a>         <strong>synchronized</strong> (<strong>this</strong>) {
+<a name="507" href="#507">507</a>             <strong>if</strong> (tab == table) {
+<a name="508" href="#508">508</a>                 <strong>if</strong> (e == <strong>null</strong>) {
+<a name="509" href="#509">509</a>                     <em class="comment">// make sure we are adding to correct list</em>
+<a name="510" href="#510">510</a>                     <strong>if</strong> (first == tab[index]) {
+<a name="511" href="#511">511</a>                         <em class="comment">// Add to front of list</em>
+<a name="512" href="#512">512</a>                         Entry <strong>new</strong>Entry = <strong>new</strong> Entry(hash, key, value, first);
+<a name="513" href="#513">513</a>                         tab[index] = newEntry;
+<a name="514" href="#514">514</a>                         <strong>if</strong> (++count >= threshold)
+<a name="515" href="#515">515</a>                             rehash();
+<a name="516" href="#516">516</a>                         <strong>else</strong>
+<a name="517" href="#517">517</a>                             recordModification(newEntry);
+<a name="518" href="#518">518</a>                         <strong>return</strong> <strong>null</strong>;
+<a name="519" href="#519">519</a>                     }
+<a name="520" href="#520">520</a>                 } <strong>else</strong> {
+<a name="521" href="#521">521</a>                     Object oldValue = e.value;
+<a name="522" href="#522">522</a>                     <strong>if</strong> (first == tab[index] && oldValue != <strong>null</strong>) {
+<a name="523" href="#523">523</a>                         e.value = value;
+<a name="524" href="#524">524</a>                         <strong>return</strong> oldValue;
+<a name="525" href="#525">525</a>                     }
+<a name="526" href="#526">526</a>                 }
+<a name="527" href="#527">527</a>             }
+<a name="528" href="#528">528</a> 
+<a name="529" href="#529">529</a>             <em class="comment">// retry if wrong list or lost race against concurrent remove</em>
+<a name="530" href="#530">530</a>             <strong>return</strong> sput(key, value, hash);
+<a name="531" href="#531">531</a>         }
+<a name="532" href="#532">532</a>     }
+<a name="533" href="#533">533</a> 
+<a name="534" href="#534">534</a>     <em>/**<em>*</em></em>
+<a name="535" href="#535">535</a> <em>     * Continuation of put(), called only when synch lock is held and</em>
+<a name="536" href="#536">536</a> <em>     * interference has been detected.</em>
+<a name="537" href="#537">537</a> <em>     */</em>
+<a name="538" href="#538">538</a>     <strong>protected</strong> Object sput(Object key, Object value, <strong>int</strong> hash) {
+<a name="539" href="#539">539</a> 
+<a name="540" href="#540">540</a>         Entry[] tab = table;
+<a name="541" href="#541">541</a>         <strong>int</strong> index = hash & (tab.length - 1);
+<a name="542" href="#542">542</a>         Entry first = tab[index];
+<a name="543" href="#543">543</a>         Entry e = first;
+<a name="544" href="#544">544</a> 
+<a name="545" href="#545">545</a>         <strong>for</strong> (;;) {
+<a name="546" href="#546">546</a>             <strong>if</strong> (e == <strong>null</strong>) {
+<a name="547" href="#547">547</a>                 Entry <strong>new</strong>Entry = <strong>new</strong> Entry(hash, key, value, first);
+<a name="548" href="#548">548</a>                 tab[index] = newEntry;
+<a name="549" href="#549">549</a>                 <strong>if</strong> (++count >= threshold)
+<a name="550" href="#550">550</a>                     rehash();
+<a name="551" href="#551">551</a>                 <strong>else</strong>
+<a name="552" href="#552">552</a>                     recordModification(newEntry);
+<a name="553" href="#553">553</a>                 <strong>return</strong> <strong>null</strong>;
+<a name="554" href="#554">554</a>             } <strong>else</strong> <strong>if</strong> (e.hash == hash && eq(key, e.key)) {
+<a name="555" href="#555">555</a>                 Object oldValue = e.value;
+<a name="556" href="#556">556</a>                 e.value = value;
+<a name="557" href="#557">557</a>                 <strong>return</strong> oldValue;
+<a name="558" href="#558">558</a>             } <strong>else</strong>
+<a name="559" href="#559">559</a>                 e = e.next;
+<a name="560" href="#560">560</a>         }
+<a name="561" href="#561">561</a>     }
+<a name="562" href="#562">562</a> 
+<a name="563" href="#563">563</a>     <em>/**<em>*</em></em>
+<a name="564" href="#564">564</a> <em>     * Rehashes the contents of this map into a new table with a larger</em>
+<a name="565" href="#565">565</a> <em>     * capacity. This method is called automatically when the number of keys in</em>
+<a name="566" href="#566">566</a> <em>     * this map exceeds its capacity and load factor.</em>
+<a name="567" href="#567">567</a> <em>     */</em>
+<a name="568" href="#568">568</a>     <strong>protected</strong> <strong>void</strong> rehash() {
+<a name="569" href="#569">569</a>         Entry[] oldTable = table;
+<a name="570" href="#570">570</a>         <strong>int</strong> oldCapacity = oldTable.length;
+<a name="571" href="#571">571</a>         <strong>if</strong> (oldCapacity >= MAXIMUM_CAPACITY) {
+<a name="572" href="#572">572</a>             threshold = Integer.MAX_VALUE; <em class="comment">// avoid retriggering</em>
+<a name="573" href="#573">573</a>             <strong>return</strong>;
+<a name="574" href="#574">574</a>         }
+<a name="575" href="#575">575</a> 
+<a name="576" href="#576">576</a>         <strong>int</strong> newCapacity = oldCapacity << 1;
+<a name="577" href="#577">577</a>         <strong>int</strong> mask = newCapacity - 1;
+<a name="578" href="#578">578</a>         threshold = (<strong>int</strong>) (newCapacity * loadFactor);
+<a name="579" href="#579">579</a> 
+<a name="580" href="#580">580</a>         Entry[] <strong>new</strong>Table = <strong>new</strong> Entry[<strong>new</strong>Capacity];
+<a name="581" href="#581">581</a>         <em class="comment">/*</em>
+<a name="582" href="#582">582</a> <em class="comment">         * Reclassify nodes in each list to new Map. Because we are using</em>
+<a name="583" href="#583">583</a> <em class="comment">         * power-of-two expansion, the elements from each bin must either stay</em>
+<a name="584" href="#584">584</a> <em class="comment">         * at same index, or move to oldCapacity+index. We also eliminate</em>
+<a name="585" href="#585">585</a> <em class="comment">         * unnecessary node creation by catching cases where old nodes can be</em>
+<a name="586" href="#586">586</a> <em class="comment">         * reused because their next fields won't change. Statistically, at the</em>
+<a name="587" href="#587">587</a> <em class="comment">         * default threshhold, only about one-sixth of them need cloning. (The</em>
+<a name="588" href="#588">588</a> <em class="comment">         * nodes they replace will be garbage collectable as soon as they are no</em>
+<a name="589" href="#589">589</a> <em class="comment">         * longer referenced by any reader thread that may be in the midst of</em>
+<a name="590" href="#590">590</a> <em class="comment">         * traversing table right now.)</em>
+<a name="591" href="#591">591</a> <em class="comment">         */</em>
+<a name="592" href="#592">592</a> 
+<a name="593" href="#593">593</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < oldCapacity; i++) {
+<a name="594" href="#594">594</a>             <em class="comment">// We need to guarantee that any existing reads of old Map can</em>
+<a name="595" href="#595">595</a>             <em class="comment">// proceed. So we cannot yet null out each bin.</em>
+<a name="596" href="#596">596</a>             Entry e = oldTable[i];
+<a name="597" href="#597">597</a> 
+<a name="598" href="#598">598</a>             <strong>if</strong> (e != <strong>null</strong>) {
+<a name="599" href="#599">599</a>                 <strong>int</strong> idx = e.hash & mask;
+<a name="600" href="#600">600</a>                 Entry next = e.next;
+<a name="601" href="#601">601</a> 
+<a name="602" href="#602">602</a>                 <em class="comment">// Single node on list</em>
+<a name="603" href="#603">603</a>                 <strong>if</strong> (next == <strong>null</strong>)
+<a name="604" href="#604">604</a>                     newTable[idx] = e;
+<a name="605" href="#605">605</a> 
+<a name="606" href="#606">606</a>                 <strong>else</strong> {
+<a name="607" href="#607">607</a>                     <em class="comment">// Reuse trailing consecutive sequence of all same bit</em>
+<a name="608" href="#608">608</a>                     Entry lastRun = e;
+<a name="609" href="#609">609</a>                     <strong>int</strong> lastIdx = idx;
+<a name="610" href="#610">610</a>                     <strong>for</strong> (Entry last = next; last != <strong>null</strong>; last = last.next) {
+<a name="611" href="#611">611</a>                         <strong>int</strong> k = last.hash & mask;
+<a name="612" href="#612">612</a>                         <strong>if</strong> (k != lastIdx) {
+<a name="613" href="#613">613</a>                             lastIdx = k;
+<a name="614" href="#614">614</a>                             lastRun = last;
+<a name="615" href="#615">615</a>                         }
+<a name="616" href="#616">616</a>                     }
+<a name="617" href="#617">617</a>                     newTable[lastIdx] = lastRun;
+<a name="618" href="#618">618</a> 
+<a name="619" href="#619">619</a>                     <em class="comment">// Clone all remaining nodes</em>
+<a name="620" href="#620">620</a>                     <strong>for</strong> (Entry p = e; p != lastRun; p = p.next) {
+<a name="621" href="#621">621</a>                         <strong>int</strong> k = p.hash & mask;
+<a name="622" href="#622">622</a>                         <strong>new</strong>Table[k] = <strong>new</strong> Entry(p.hash, p.key, p.value,
+<a name="623" href="#623">623</a>                                 newTable[k]);
+<a name="624" href="#624">624</a>                     }
+<a name="625" href="#625">625</a>                 }
+<a name="626" href="#626">626</a>             }
+<a name="627" href="#627">627</a>         }
+<a name="628" href="#628">628</a> 
+<a name="629" href="#629">629</a>         table = newTable;
+<a name="630" href="#630">630</a>         recordModification(newTable);
+<a name="631" href="#631">631</a>     }
+<a name="632" href="#632">632</a> 
+<a name="633" href="#633">633</a>     <em>/**<em>*</em></em>
+<a name="634" href="#634">634</a> <em>     * Removes the key (and its corresponding value) from this table. This</em>
+<a name="635" href="#635">635</a> <em>     * method does nothing if the key is not in the table.</em>
+<a name="636" href="#636">636</a> <em>     * </em>
+<a name="637" href="#637">637</a> <em>     * @param key</em>
+<a name="638" href="#638">638</a> <em>     *            the key that needs to be removed.</em>
+<a name="639" href="#639">639</a> <em>     * @return the value to which the key had been mapped in this table, or</em>
+<a name="640" href="#640">640</a> <em>     *         <code>null</code> if the key did not have a mapping.</em>
+<a name="641" href="#641">641</a> <em>     * @exception NullPointerException</em>
+<a name="642" href="#642">642</a> <em>     *                if the key is <code>null</code>.</em>
+<a name="643" href="#643">643</a> <em>     */</em>
+<a name="644" href="#644">644</a> 
+<a name="645" href="#645">645</a>     <strong>public</strong> Object remove(Object key) {
+<a name="646" href="#646">646</a>         <em class="comment">/*</em>
+<a name="647" href="#647">647</a> <em class="comment">         * Find the entry, then 1. Set value field to null, to force get() to</em>
+<a name="648" href="#648">648</a> <em class="comment">         * retry 2. Rebuild the list without this entry. All entries following</em>
+<a name="649" href="#649">649</a> <em class="comment">         * removed node can stay in list, but all preceeding ones need to be</em>
+<a name="650" href="#650">650</a> <em class="comment">         * cloned. Traversals rely on this strategy to ensure that elements will</em>
+<a name="651" href="#651">651</a> <em class="comment">         * not be repeated during iteration.</em>
+<a name="652" href="#652">652</a> <em class="comment">         */</em>
+<a name="653" href="#653">653</a> 
+<a name="654" href="#654">654</a>         <strong>int</strong> hash = hash(key);
+<a name="655" href="#655">655</a>         Entry[] tab = table;
+<a name="656" href="#656">656</a>         <strong>int</strong> index = hash & (tab.length - 1);
+<a name="657" href="#657">657</a>         Entry first = tab[index];
+<a name="658" href="#658">658</a>         Entry e = first;
+<a name="659" href="#659">659</a> 
+<a name="660" href="#660">660</a>         <strong>for</strong> (e = first; e != <strong>null</strong>; e = e.next)
+<a name="661" href="#661">661</a>             <strong>if</strong> (e.hash == hash && eq(key, e.key))
+<a name="662" href="#662">662</a>                 <strong>break</strong>;
+<a name="663" href="#663">663</a> 
+<a name="664" href="#664">664</a>         <strong>synchronized</strong> (<strong>this</strong>) {
+<a name="665" href="#665">665</a>             <strong>if</strong> (tab == table) {
+<a name="666" href="#666">666</a>                 <strong>if</strong> (e == <strong>null</strong>) {
+<a name="667" href="#667">667</a>                     <strong>if</strong> (first == tab[index])
+<a name="668" href="#668">668</a>                         <strong>return</strong> <strong>null</strong>;
+<a name="669" href="#669">669</a>                 } <strong>else</strong> {
+<a name="670" href="#670">670</a>                     Object oldValue = e.value;
+<a name="671" href="#671">671</a>                     <strong>if</strong> (first == tab[index] && oldValue != <strong>null</strong>) {
+<a name="672" href="#672">672</a>                         e.value = <strong>null</strong>;
+<a name="673" href="#673">673</a>                         count--;
+<a name="674" href="#674">674</a> 
+<a name="675" href="#675">675</a>                         Entry head = e.next;
+<a name="676" href="#676">676</a>                         <strong>for</strong> (Entry p = first; p != e; p = p.next)
+<a name="677" href="#677">677</a>                             head = <strong>new</strong> Entry(p.hash, p.key, p.value, head);
+<a name="678" href="#678">678</a> 
+<a name="679" href="#679">679</a>                         tab[index] = head;
+<a name="680" href="#680">680</a>                         recordModification(head);
+<a name="681" href="#681">681</a>                         <strong>return</strong> oldValue;
+<a name="682" href="#682">682</a>                     }
+<a name="683" href="#683">683</a>                 }
+<a name="684" href="#684">684</a>             }
+<a name="685" href="#685">685</a> 
+<a name="686" href="#686">686</a>             <em class="comment">// Wrong list or interference</em>
+<a name="687" href="#687">687</a>             <strong>return</strong> sremove(key, hash);
+<a name="688" href="#688">688</a>         }
+<a name="689" href="#689">689</a>     }
+<a name="690" href="#690">690</a> 
+<a name="691" href="#691">691</a>     <em>/**<em>*</em></em>
+<a name="692" href="#692">692</a> <em>     * Continuation of remove(), called only when synch lock is held and</em>
+<a name="693" href="#693">693</a> <em>     * interference has been detected.</em>
+<a name="694" href="#694">694</a> <em>     */</em>
+<a name="695" href="#695">695</a> 
+<a name="696" href="#696">696</a>     <strong>protected</strong> Object sremove(Object key, <strong>int</strong> hash) {
+<a name="697" href="#697">697</a>         Entry[] tab = table;
+<a name="698" href="#698">698</a>         <strong>int</strong> index = hash & (tab.length - 1);
+<a name="699" href="#699">699</a>         Entry first = tab[index];
+<a name="700" href="#700">700</a> 
+<a name="701" href="#701">701</a>         <strong>for</strong> (Entry e = first; e != <strong>null</strong>; e = e.next) {
+<a name="702" href="#702">702</a>             <strong>if</strong> (e.hash == hash && eq(key, e.key)) {
+<a name="703" href="#703">703</a>                 Object oldValue = e.value;
+<a name="704" href="#704">704</a>                 e.value = <strong>null</strong>;
+<a name="705" href="#705">705</a>                 count--;
+<a name="706" href="#706">706</a>                 Entry head = e.next;
+<a name="707" href="#707">707</a>                 <strong>for</strong> (Entry p = first; p != e; p = p.next)
+<a name="708" href="#708">708</a>                     head = <strong>new</strong> Entry(p.hash, p.key, p.value, head);
+<a name="709" href="#709">709</a> 
+<a name="710" href="#710">710</a>                 tab[index] = head;
+<a name="711" href="#711">711</a>                 recordModification(head);
+<a name="712" href="#712">712</a>                 <strong>return</strong> oldValue;
+<a name="713" href="#713">713</a>             }
+<a name="714" href="#714">714</a>         }
+<a name="715" href="#715">715</a>         <strong>return</strong> <strong>null</strong>;
+<a name="716" href="#716">716</a>     }
+<a name="717" href="#717">717</a> 
+<a name="718" href="#718">718</a>     <em>/**<em>*</em></em>
+<a name="719" href="#719">719</a> <em>     * Returns <tt>true</tt> if this map maps one or more keys to the</em>
+<a name="720" href="#720">720</a> <em>     * specified value. Note: This method requires a full internal traversal of</em>
+<a name="721" href="#721">721</a> <em>     * the hash table, and so is much slower than method <tt>containsKey</tt>.</em>
+<a name="722" href="#722">722</a> <em>     * </em>
+<a name="723" href="#723">723</a> <em>     * @param value</em>
+<a name="724" href="#724">724</a> <em>     *            value whose presence in this map is to be tested.</em>
+<a name="725" href="#725">725</a> <em>     * @return <tt>true</tt> if this map maps one or more keys to the</em>
+<a name="726" href="#726">726</a> <em>     *         specified value.</em>
+<a name="727" href="#727">727</a> <em>     * @exception NullPointerException</em>
+<a name="728" href="#728">728</a> <em>     *                if the value is <code>null</code>.</em>
+<a name="729" href="#729">729</a> <em>     */</em>
+<a name="730" href="#730">730</a> 
+<a name="731" href="#731">731</a>     <strong>public</strong> <strong>boolean</strong> containsValue(Object value) {
+<a name="732" href="#732">732</a>         <strong>if</strong> (value == <strong>null</strong>)
+<a name="733" href="#733">733</a>             <strong>throw</strong> <strong>new</strong> NullPointerException();
+<a name="734" href="#734">734</a> 
+<a name="735" href="#735">735</a>         Entry tab[] = getTableForReading();
+<a name="736" href="#736">736</a> 
+<a name="737" href="#737">737</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < tab.length; ++i) {
+<a name="738" href="#738">738</a>             <strong>for</strong> (Entry e = tab[i]; e != <strong>null</strong>; e = e.next)
+<a name="739" href="#739">739</a>                 <strong>if</strong> (value.equals(e.value))
+<a name="740" href="#740">740</a>                     <strong>return</strong> <strong>true</strong>;
+<a name="741" href="#741">741</a>         }
+<a name="742" href="#742">742</a> 
+<a name="743" href="#743">743</a>         <strong>return</strong> false;
+<a name="744" href="#744">744</a>     }
+<a name="745" href="#745">745</a> 
+<a name="746" href="#746">746</a>     <em>/**<em>*</em></em>
+<a name="747" href="#747">747</a> <em>     * Tests if some key maps into the specified value in this table. This</em>
+<a name="748" href="#748">748</a> <em>     * operation is more expensive than the <code>containsKey</code> method.</em>
+<a name="749" href="#749">749</a> <em>     * <p></em>
+<a name="750" href="#750">750</a> <em>     * </em>
+<a name="751" href="#751">751</a> <em>     * Note that this method is identical in functionality to containsValue,</em>
+<a name="752" href="#752">752</a> <em>     * (which is part of the Map interface in the collections framework).</em>
+<a name="753" href="#753">753</a> <em>     * </em>
+<a name="754" href="#754">754</a> <em>     * @param value</em>
+<a name="755" href="#755">755</a> <em>     *            a value to search for.</em>
+<a name="756" href="#756">756</a> <em>     * @return <code>true</code> if and only if some key maps to the</em>
+<a name="757" href="#757">757</a> <em>     *         <code>value</code> argument in this table as determined by the</em>
+<a name="758" href="#758">758</a> <em>     *         <tt>equals</tt> method; <code>false</code> otherwise.</em>
+<a name="759" href="#759">759</a> <em>     * @exception NullPointerException</em>
+<a name="760" href="#760">760</a> <em>     *                if the value is <code>null</code>.</em>
+<a name="761" href="#761">761</a> <em>     * @see #containsKey(Object)</em>
+<a name="762" href="#762">762</a> <em>     * @see #containsValue(Object)</em>
+<a name="763" href="#763">763</a> <em>     * @see Map</em>
+<a name="764" href="#764">764</a> <em>     */</em>
+<a name="765" href="#765">765</a> 
+<a name="766" href="#766">766</a>     <strong>public</strong> <strong>boolean</strong> contains(Object value) {
+<a name="767" href="#767">767</a>         <strong>return</strong> containsValue(value);
+<a name="768" href="#768">768</a>     }
+<a name="769" href="#769">769</a> 
+<a name="770" href="#770">770</a>     <em>/**<em>*</em></em>
+<a name="771" href="#771">771</a> <em>     * Copies all of the mappings from the specified map to this one.</em>
+<a name="772" href="#772">772</a> <em>     * </em>
+<a name="773" href="#773">773</a> <em>     * These mappings replace any mappings that this map had for any of the keys</em>
+<a name="774" href="#774">774</a> <em>     * currently in the specified Map.</em>
+<a name="775" href="#775">775</a> <em>     * </em>
+<a name="776" href="#776">776</a> <em>     * @param t</em>
+<a name="777" href="#777">777</a> <em>     *            Mappings to be stored in this map.</em>
+<a name="778" href="#778">778</a> <em>     */</em>
+<a name="779" href="#779">779</a> 
+<a name="780" href="#780">780</a>     <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> putAll(Map t) {
+<a name="781" href="#781">781</a>         <strong>int</strong> n = t.size();
+<a name="782" href="#782">782</a>         <strong>if</strong> (n == 0)
+<a name="783" href="#783">783</a>             <strong>return</strong>;
+<a name="784" href="#784">784</a> 
+<a name="785" href="#785">785</a>         <em class="comment">// Expand enough to hold at least n elements without resizing.</em>
+<a name="786" href="#786">786</a>         <em class="comment">// We can only resize table by factor of two at a time.</em>
+<a name="787" href="#787">787</a>         <em class="comment">// It is faster to rehash with fewer elements, so do it now.</em>
+<a name="788" href="#788">788</a>         <strong>while</strong> (n >= threshold)
+<a name="789" href="#789">789</a>             rehash();
+<a name="790" href="#790">790</a> 
+<a name="791" href="#791">791</a>         <strong>for</strong> (Iterator it = t.entrySet().iterator(); it.hasNext();) {
+<a name="792" href="#792">792</a>             Map.Entry entry = (Map.Entry) it.next();
+<a name="793" href="#793">793</a>             Object key = entry.getKey();
+<a name="794" href="#794">794</a>             Object value = entry.getValue();
+<a name="795" href="#795">795</a>             put(key, value);
+<a name="796" href="#796">796</a>         }
+<a name="797" href="#797">797</a>     }
+<a name="798" href="#798">798</a> 
+<a name="799" href="#799">799</a>     <em>/**<em>*</em></em>
+<a name="800" href="#800">800</a> <em>     * Removes all mappings from this map.</em>
+<a name="801" href="#801">801</a> <em>     */</em>
+<a name="802" href="#802">802</a>     <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> clear() {
+<a name="803" href="#803">803</a>         Entry tab[] = table;
+<a name="804" href="#804">804</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < tab.length; ++i) {
+<a name="805" href="#805">805</a> 
+<a name="806" href="#806">806</a>             <em class="comment">// must invalidate all to force concurrent get's to wait and then</em>
+<a name="807" href="#807">807</a>             <em class="comment">// retry</em>
+<a name="808" href="#808">808</a>             <strong>for</strong> (Entry e = tab[i]; e != <strong>null</strong>; e = e.next)
+<a name="809" href="#809">809</a>                 e.value = <strong>null</strong>;
+<a name="810" href="#810">810</a> 
+<a name="811" href="#811">811</a>             tab[i] = <strong>null</strong>;
+<a name="812" href="#812">812</a>         }
+<a name="813" href="#813">813</a>         count = 0;
+<a name="814" href="#814">814</a>         recordModification(tab);
+<a name="815" href="#815">815</a>     }
+<a name="816" href="#816">816</a> 
+<a name="817" href="#817">817</a>     <em>/**<em>*</em></em>
+<a name="818" href="#818">818</a> <em>     * Returns a shallow copy of this <tt>ConcurrentReaderHashMap</tt></em>
+<a name="819" href="#819">819</a> <em>     * instance: the keys and values themselves are not cloned.</em>
+<a name="820" href="#820">820</a> <em>     * </em>
+<a name="821" href="#821">821</a> <em>     * @return a shallow copy of this map.</em>
+<a name="822" href="#822">822</a> <em>     */</em>
+<a name="823" href="#823">823</a> 
+<a name="824" href="#824">824</a>     <strong>public</strong> <strong>synchronized</strong> Object clone() {
+<a name="825" href="#825">825</a>         <strong>try</strong> {
+<a name="826" href="#826">826</a>             <a href="../../../org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a> t = (ConcurrentReaderHashMap) <strong>super</strong>.clone();
+<a name="827" href="#827">827</a> 
+<a name="828" href="#828">828</a>             t.keySet = <strong>null</strong>;
+<a name="829" href="#829">829</a>             t.entrySet = <strong>null</strong>;
+<a name="830" href="#830">830</a>             t.values = <strong>null</strong>;
+<a name="831" href="#831">831</a> 
+<a name="832" href="#832">832</a>             Entry[] tab = table;
+<a name="833" href="#833">833</a>             t.table = <strong>new</strong> Entry[tab.length];
+<a name="834" href="#834">834</a>             Entry[] ttab = t.table;
+<a name="835" href="#835">835</a> 
+<a name="836" href="#836">836</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < tab.length; ++i) {
+<a name="837" href="#837">837</a>                 Entry first = <strong>null</strong>;
+<a name="838" href="#838">838</a>                 <strong>for</strong> (Entry e = tab[i]; e != <strong>null</strong>; e = e.next)
+<a name="839" href="#839">839</a>                     first = <strong>new</strong> Entry(e.hash, e.key, e.value, first);
+<a name="840" href="#840">840</a>                 ttab[i] = first;
+<a name="841" href="#841">841</a>             }
+<a name="842" href="#842">842</a> 
+<a name="843" href="#843">843</a>             <strong>return</strong> t;
+<a name="844" href="#844">844</a>         } <strong>catch</strong> (CloneNotSupportedException e) {
+<a name="845" href="#845">845</a>             <em class="comment">// this shouldn't happen, since we are Cloneable</em>
+<a name="846" href="#846">846</a>             <strong>throw</strong> <strong>new</strong> InternalError();
+<a name="847" href="#847">847</a>         }
+<a name="848" href="#848">848</a>     }
+<a name="849" href="#849">849</a> 
+<a name="850" href="#850">850</a>     <em class="comment">// Views</em>
+<a name="851" href="#851">851</a> 
+<a name="852" href="#852">852</a>     <strong>protected</strong> <strong>transient</strong> Set keySet = <strong>null</strong>;
+<a name="853" href="#853">853</a> 
+<a name="854" href="#854">854</a>     <strong>protected</strong> <strong>transient</strong> Set entrySet = <strong>null</strong>;
+<a name="855" href="#855">855</a> 
+<a name="856" href="#856">856</a>     <strong>protected</strong> <strong>transient</strong> Collection values = <strong>null</strong>;
+<a name="857" href="#857">857</a> 
+<a name="858" href="#858">858</a>     <em>/**<em>*</em></em>
+<a name="859" href="#859">859</a> <em>     * Returns a set view of the keys contained in this map. The set is backed</em>
+<a name="860" href="#860">860</a> <em>     * by the map, so changes to the map are reflected in the set, and</em>
+<a name="861" href="#861">861</a> <em>     * vice-versa. The set supports element removal, which removes the</em>
+<a name="862" href="#862">862</a> <em>     * corresponding mapping from this map, via the <tt>Iterator.remove</tt>,</em>
+<a name="863" href="#863">863</a> <em>     * <tt>Set.remove</tt>,<tt>removeAll</tt>,<tt>retainAll</tt>, and</em>
+<a name="864" href="#864">864</a> <em>     * <tt>clear</tt> operations. It does not support the <tt>add</tt> or</em>
+<a name="865" href="#865">865</a> <em>     * <tt>addAll</tt> operations.</em>
+<a name="866" href="#866">866</a> <em>     * </em>
+<a name="867" href="#867">867</a> <em>     * @return a set view of the keys contained in this map.</em>
+<a name="868" href="#868">868</a> <em>     */</em>
+<a name="869" href="#869">869</a> 
+<a name="870" href="#870">870</a>     <strong>public</strong> Set keySet() {
+<a name="871" href="#871">871</a>         Set ks = keySet;
+<a name="872" href="#872">872</a>         <strong>return</strong> (ks != <strong>null</strong>) ? ks : (keySet = <strong>new</strong> KeySet());
+<a name="873" href="#873">873</a>     }
+<a name="874" href="#874">874</a> 
+<a name="875" href="#875">875</a>     <strong>private</strong> <strong>class</strong> KeySet <strong>extends</strong> AbstractSet {
+<a name="876" href="#876">876</a>         <strong>public</strong> Iterator iterator() {
+<a name="877" href="#877">877</a>             <strong>return</strong> <strong>new</strong> KeyIterator();
+<a name="878" href="#878">878</a>         }
+<a name="879" href="#879">879</a> 
+<a name="880" href="#880">880</a>         <strong>public</strong> <strong>int</strong> size() {
+<a name="881" href="#881">881</a>             <strong>return</strong> ConcurrentReaderHashMap.<strong>this</strong>.size();
+<a name="882" href="#882">882</a>         }
+<a name="883" href="#883">883</a> 
+<a name="884" href="#884">884</a>         <strong>public</strong> <strong>boolean</strong> contains(Object o) {
+<a name="885" href="#885">885</a>             <strong>return</strong> ConcurrentReaderHashMap.<strong>this</strong>.containsKey(o);
+<a name="886" href="#886">886</a>         }
+<a name="887" href="#887">887</a> 
+<a name="888" href="#888">888</a>         <strong>public</strong> <strong>boolean</strong> remove(Object o) {
+<a name="889" href="#889">889</a>             <strong>return</strong> ConcurrentReaderHashMap.<strong>this</strong>.remove(o) != <strong>null</strong>;
+<a name="890" href="#890">890</a>         }
+<a name="891" href="#891">891</a> 
+<a name="892" href="#892">892</a>         <strong>public</strong> <strong>void</strong> clear() {
+<a name="893" href="#893">893</a>             ConcurrentReaderHashMap.<strong>this</strong>.clear();
+<a name="894" href="#894">894</a>         }
+<a name="895" href="#895">895</a>     }
+<a name="896" href="#896">896</a> 
+<a name="897" href="#897">897</a>     <em>/**<em>*</em></em>
+<a name="898" href="#898">898</a> <em>     * Returns a collection view of the values contained in this map. The</em>
+<a name="899" href="#899">899</a> <em>     * collection is backed by the map, so changes to the map are reflected in</em>
+<a name="900" href="#900">900</a> <em>     * the collection, and vice-versa. The collection supports element removal,</em>
+<a name="901" href="#901">901</a> <em>     * which removes the corresponding mapping from this map, via the</em>
+<a name="902" href="#902">902</a> <em>     * <tt>Iterator.remove</tt>,<tt>Collection.remove</tt>,</em>
+<a name="903" href="#903">903</a> <em>     * <tt>removeAll</tt>,<tt>retainAll</tt>, and <tt>clear</tt></em>
+<a name="904" href="#904">904</a> <em>     * operations. It does not support the <tt>add</tt> or <tt>addAll</tt></em>
+<a name="905" href="#905">905</a> <em>     * operations.</em>
+<a name="906" href="#906">906</a> <em>     * </em>
+<a name="907" href="#907">907</a> <em>     * @return a collection view of the values contained in this map.</em>
+<a name="908" href="#908">908</a> <em>     */</em>
+<a name="909" href="#909">909</a> 
+<a name="910" href="#910">910</a>     <strong>public</strong> Collection values() {
+<a name="911" href="#911">911</a>         Collection vs = values;
+<a name="912" href="#912">912</a>         <strong>return</strong> (vs != <strong>null</strong>) ? vs : (values = <strong>new</strong> Values());
+<a name="913" href="#913">913</a>     }
+<a name="914" href="#914">914</a> 
+<a name="915" href="#915">915</a>     <strong>private</strong> <strong>class</strong> Values <strong>extends</strong> AbstractCollection {
+<a name="916" href="#916">916</a>         <strong>public</strong> Iterator iterator() {
+<a name="917" href="#917">917</a>             <strong>return</strong> <strong>new</strong> ValueIterator();
+<a name="918" href="#918">918</a>         }
+<a name="919" href="#919">919</a> 
+<a name="920" href="#920">920</a>         <strong>public</strong> <strong>int</strong> size() {
+<a name="921" href="#921">921</a>             <strong>return</strong> ConcurrentReaderHashMap.<strong>this</strong>.size();
+<a name="922" href="#922">922</a>         }
+<a name="923" href="#923">923</a> 
+<a name="924" href="#924">924</a>         <strong>public</strong> <strong>boolean</strong> contains(Object o) {
+<a name="925" href="#925">925</a>             <strong>return</strong> ConcurrentReaderHashMap.<strong>this</strong>.containsValue(o);
+<a name="926" href="#926">926</a>         }
+<a name="927" href="#927">927</a> 
+<a name="928" href="#928">928</a>         <strong>public</strong> <strong>void</strong> clear() {
+<a name="929" href="#929">929</a>             ConcurrentReaderHashMap.<strong>this</strong>.clear();
+<a name="930" href="#930">930</a>         }
+<a name="931" href="#931">931</a>     }
+<a name="932" href="#932">932</a> 
+<a name="933" href="#933">933</a>     <em>/**<em>*</em></em>
+<a name="934" href="#934">934</a> <em>     * Returns a collection view of the mappings contained in this map. Each</em>
+<a name="935" href="#935">935</a> <em>     * element in the returned collection is a <tt>Map.Entry</tt>. The</em>
+<a name="936" href="#936">936</a> <em>     * collection is backed by the map, so changes to the map are reflected in</em>
+<a name="937" href="#937">937</a> <em>     * the collection, and vice-versa. The collection supports element removal,</em>
+<a name="938" href="#938">938</a> <em>     * which removes the corresponding mapping from the map, via the</em>
+<a name="939" href="#939">939</a> <em>     * <tt>Iterator.remove</tt>,<tt>Collection.remove</tt>,</em>
+<a name="940" href="#940">940</a> <em>     * <tt>removeAll</tt>,<tt>retainAll</tt>, and <tt>clear</tt></em>
+<a name="941" href="#941">941</a> <em>     * operations. It does not support the <tt>add</tt> or <tt>addAll</tt></em>
+<a name="942" href="#942">942</a> <em>     * operations.</em>
+<a name="943" href="#943">943</a> <em>     * </em>
+<a name="944" href="#944">944</a> <em>     * @return a collection view of the mappings contained in this map.</em>
+<a name="945" href="#945">945</a> <em>     */</em>
+<a name="946" href="#946">946</a> 
+<a name="947" href="#947">947</a>     <strong>public</strong> Set entrySet() {
+<a name="948" href="#948">948</a>         Set es = entrySet;
+<a name="949" href="#949">949</a>         <strong>return</strong> (es != <strong>null</strong>) ? es : (entrySet = <strong>new</strong> EntrySet());
+<a name="950" href="#950">950</a>     }
+<a name="951" href="#951">951</a> 
+<a name="952" href="#952">952</a>     <strong>private</strong> <strong>class</strong> EntrySet <strong>extends</strong> AbstractSet {
+<a name="953" href="#953">953</a>         <strong>public</strong> Iterator iterator() {
+<a name="954" href="#954">954</a>             <strong>return</strong> <strong>new</strong> HashIterator();
+<a name="955" href="#955">955</a>         }
+<a name="956" href="#956">956</a> 
+<a name="957" href="#957">957</a>         <strong>public</strong> <strong>boolean</strong> contains(Object o) {
+<a name="958" href="#958">958</a>             <strong>if</strong> (!(o instanceof Map.Entry))
+<a name="959" href="#959">959</a>                 <strong>return</strong> false;
+<a name="960" href="#960">960</a>             Map.Entry entry = (Map.Entry) o;
+<a name="961" href="#961">961</a>             Object v = ConcurrentReaderHashMap.<strong>this</strong>.get(entry.getKey());
+<a name="962" href="#962">962</a>             <strong>return</strong> v != <strong>null</strong> && v.equals(entry.getValue());
+<a name="963" href="#963">963</a>         }
+<a name="964" href="#964">964</a> 
+<a name="965" href="#965">965</a>         <strong>public</strong> <strong>boolean</strong> remove(Object o) {
+<a name="966" href="#966">966</a>             <strong>if</strong> (!(o instanceof Map.Entry))
+<a name="967" href="#967">967</a>                 <strong>return</strong> false;
+<a name="968" href="#968">968</a>             <strong>return</strong> ConcurrentReaderHashMap.<strong>this</strong>
+<a name="969" href="#969">969</a>                     .findAndRemoveEntry((Map.Entry) o);
+<a name="970" href="#970">970</a>         }
+<a name="971" href="#971">971</a> 
+<a name="972" href="#972">972</a>         <strong>public</strong> <strong>int</strong> size() {
+<a name="973" href="#973">973</a>             <strong>return</strong> ConcurrentReaderHashMap.<strong>this</strong>.size();
+<a name="974" href="#974">974</a>         }
+<a name="975" href="#975">975</a> 
+<a name="976" href="#976">976</a>         <strong>public</strong> <strong>void</strong> clear() {
+<a name="977" href="#977">977</a>             ConcurrentReaderHashMap.<strong>this</strong>.clear();
+<a name="978" href="#978">978</a>         }
+<a name="979" href="#979">979</a>     }
+<a name="980" href="#980">980</a> 
+<a name="981" href="#981">981</a>     <em>/**<em>*</em></em>
+<a name="982" href="#982">982</a> <em>     * Helper method for entrySet.remove</em>
+<a name="983" href="#983">983</a> <em>     */</em>
+<a name="984" href="#984">984</a>     <strong>protected</strong> <strong>synchronized</strong> <strong>boolean</strong> findAndRemoveEntry(Map.Entry entry) {
+<a name="985" href="#985">985</a>         Object key = entry.getKey();
+<a name="986" href="#986">986</a>         Object v = get(key);
+<a name="987" href="#987">987</a>         <strong>if</strong> (v != <strong>null</strong> && v.equals(entry.getValue())) {
+<a name="988" href="#988">988</a>             remove(key);
+<a name="989" href="#989">989</a>             <strong>return</strong> <strong>true</strong>;
+<a name="990" href="#990">990</a>         } <strong>else</strong>
+<a name="991" href="#991">991</a>             <strong>return</strong> false;
+<a name="992" href="#992">992</a>     }
+<a name="993" href="#993">993</a> 
+<a name="994" href="#994">994</a>     <em>/**<em>*</em></em>
+<a name="995" href="#995">995</a> <em>     * Returns an enumeration of the keys in this table.</em>
+<a name="996" href="#996">996</a> <em>     * </em>
+<a name="997" href="#997">997</a> <em>     * @return an enumeration of the keys in this table.</em>
+<a name="998" href="#998">998</a> <em>     * @see Enumeration</em>
+<a name="999" href="#999">999</a> <em>     * @see #elements()</em>
+<a name="1000" href="#1000">1000</a> <em>     * @see #keySet()</em>
+<a name="1001" href="#1001">1001</a> <em>     * @see Map</em>
+<a name="1002" href="#1002">1002</a> <em>     */</em>
+<a name="1003" href="#1003">1003</a>     <strong>public</strong> Enumeration keys() {
+<a name="1004" href="#1004">1004</a>         <strong>return</strong> <strong>new</strong> KeyIterator();
+<a name="1005" href="#1005">1005</a>     }
+<a name="1006" href="#1006">1006</a> 
+<a name="1007" href="#1007">1007</a>     <em>/**<em>*</em></em>
+<a name="1008" href="#1008">1008</a> <em>     * Returns an enumeration of the values in this table. Use the Enumeration</em>
+<a name="1009" href="#1009">1009</a> <em>     * methods on the returned object to fetch the elements sequentially.</em>
+<a name="1010" href="#1010">1010</a> <em>     * </em>
+<a name="1011" href="#1011">1011</a> <em>     * @return an enumeration of the values in this table.</em>
+<a name="1012" href="#1012">1012</a> <em>     * @see java.util.Enumeration</em>
+<a name="1013" href="#1013">1013</a> <em>     * @see #keys()</em>
+<a name="1014" href="#1014">1014</a> <em>     * @see #values()</em>
+<a name="1015" href="#1015">1015</a> <em>     * @see Map</em>
+<a name="1016" href="#1016">1016</a> <em>     */</em>
+<a name="1017" href="#1017">1017</a> 
+<a name="1018" href="#1018">1018</a>     <strong>public</strong> Enumeration elements() {
+<a name="1019" href="#1019">1019</a>         <strong>return</strong> <strong>new</strong> ValueIterator();
+<a name="1020" href="#1020">1020</a>     }
+<a name="1021" href="#1021">1021</a> 
+<a name="1022" href="#1022">1022</a>     <em>/**<em>*</em></em>
+<a name="1023" href="#1023">1023</a> <em>     * ConcurrentReaderHashMap collision list entry.</em>
+<a name="1024" href="#1024">1024</a> <em>     */</em>
+<a name="1025" href="#1025">1025</a> 
+<a name="1026" href="#1026">1026</a>     <strong>protected</strong> <strong>static</strong> <strong>class</strong> Entry implements Map.Entry {
+<a name="1027" href="#1027">1027</a> 
+<a name="1028" href="#1028">1028</a>         <em class="comment">/*</em>
+<a name="1029" href="#1029">1029</a> <em class="comment">         * The use of volatile for value field ensures that we can detect status</em>
+<a name="1030" href="#1030">1030</a> <em class="comment">         * changes without synchronization. The other fields are never changed,</em>
+<a name="1031" href="#1031">1031</a> <em class="comment">         * and are marked as final.</em>
+<a name="1032" href="#1032">1032</a> <em class="comment">         */</em>
+<a name="1033" href="#1033">1033</a> 
+<a name="1034" href="#1034">1034</a>         <strong>protected</strong> <strong>final</strong> <strong>int</strong> hash;
+<a name="1035" href="#1035">1035</a> 
+<a name="1036" href="#1036">1036</a>         <strong>protected</strong> <strong>final</strong> Object key;
+<a name="1037" href="#1037">1037</a> 
+<a name="1038" href="#1038">1038</a>         <strong>protected</strong> <strong>final</strong> Entry next;
+<a name="1039" href="#1039">1039</a> 
+<a name="1040" href="#1040">1040</a>         <strong>protected</strong> <strong>volatile</strong> Object value;
+<a name="1041" href="#1041">1041</a> 
+<a name="1042" href="#1042">1042</a>         Entry(<strong>int</strong> hash, Object key, Object value, Entry next) {
+<a name="1043" href="#1043">1043</a>             <strong>this</strong>.hash = hash;
+<a name="1044" href="#1044">1044</a>             <strong>this</strong>.key = key;
+<a name="1045" href="#1045">1045</a>             <strong>this</strong>.next = next;
+<a name="1046" href="#1046">1046</a>             <strong>this</strong>.value = value;
+<a name="1047" href="#1047">1047</a>         }
+<a name="1048" href="#1048">1048</a> 
+<a name="1049" href="#1049">1049</a>         <em class="comment">// Map.Entry Ops</em>
+<a name="1050" href="#1050">1050</a> 
+<a name="1051" href="#1051">1051</a>         <strong>public</strong> Object getKey() {
+<a name="1052" href="#1052">1052</a>             <strong>return</strong> key;
+<a name="1053" href="#1053">1053</a>         }
+<a name="1054" href="#1054">1054</a> 
+<a name="1055" href="#1055">1055</a>         <em>/**<em>*</em></em>
+<a name="1056" href="#1056">1056</a> <em>         * Get the value. Note: In an entrySet or entrySet.iterator, unless the</em>
+<a name="1057" href="#1057">1057</a> <em>         * set or iterator is used under synchronization of the table as a whole</em>
+<a name="1058" href="#1058">1058</a> <em>         * (or you can otherwise guarantee lack of concurrent modification),</em>
+<a name="1059" href="#1059">1059</a> <em>         * <tt>getValue</tt> <em>might</em> return null, reflecting the fact</em>
+<a name="1060" href="#1060">1060</a> <em>         * that the entry has been concurrently removed. However, there are no</em>
+<a name="1061" href="#1061">1061</a> <em>         * assurances that concurrent removals will be reflected using this</em>
+<a name="1062" href="#1062">1062</a> <em>         * method.</em>
+<a name="1063" href="#1063">1063</a> <em>         * </em>
+<a name="1064" href="#1064">1064</a> <em>         * @return the current value, or null if the entry has been detectably</em>
+<a name="1065" href="#1065">1065</a> <em>         *         removed.</em>
+<a name="1066" href="#1066">1066</a> <em>         */</em>
+<a name="1067" href="#1067">1067</a>         <strong>public</strong> Object getValue() {
+<a name="1068" href="#1068">1068</a>             <strong>return</strong> value;
+<a name="1069" href="#1069">1069</a>         }
+<a name="1070" href="#1070">1070</a> 
+<a name="1071" href="#1071">1071</a>         <em>/**<em>*</em></em>
+<a name="1072" href="#1072">1072</a> <em>         * Set the value of this entry. Note: In an entrySet or</em>
+<a name="1073" href="#1073">1073</a> <em>         * entrySet.iterator), unless the set or iterator is used under</em>
+<a name="1074" href="#1074">1074</a> <em>         * synchronization of the table as a whole (or you can otherwise</em>
+<a name="1075" href="#1075">1075</a> <em>         * guarantee lack of concurrent modification), <tt>setValue</tt> is</em>
+<a name="1076" href="#1076">1076</a> <em>         * not strictly guaranteed to actually replace the value field obtained</em>
+<a name="1077" href="#1077">1077</a> <em>         * via the <tt>get</tt> operation of the underlying hash table in</em>
+<a name="1078" href="#1078">1078</a> <em>         * multithreaded applications. If iterator-wide synchronization is not</em>
+<a name="1079" href="#1079">1079</a> <em>         * used, and any other concurrent <tt>put</tt> or <tt>remove</tt></em>
+<a name="1080" href="#1080">1080</a> <em>         * operations occur, sometimes even to <em>other</em> entries, then</em>
+<a name="1081" href="#1081">1081</a> <em>         * this change is not guaranteed to be reflected in the hash table. (It</em>
+<a name="1082" href="#1082">1082</a> <em>         * might, or it might not. There are no assurances either way.)</em>
+<a name="1083" href="#1083">1083</a> <em>         * </em>
+<a name="1084" href="#1084">1084</a> <em>         * @param value</em>
+<a name="1085" href="#1085">1085</a> <em>         *            the new value.</em>
+<a name="1086" href="#1086">1086</a> <em>         * @return the previous value, or null if entry has been detectably</em>
+<a name="1087" href="#1087">1087</a> <em>         *         removed.</em>
+<a name="1088" href="#1088">1088</a> <em>         * @exception NullPointerException</em>
+<a name="1089" href="#1089">1089</a> <em>         *                if the value is <code>null</code>.</em>
+<a name="1090" href="#1090">1090</a> <em>         * </em>
+<a name="1091" href="#1091">1091</a> <em>         */</em>
+<a name="1092" href="#1092">1092</a> 
+<a name="1093" href="#1093">1093</a>         <strong>public</strong> Object setValue(Object value) {
+<a name="1094" href="#1094">1094</a>             <strong>if</strong> (value == <strong>null</strong>)
+<a name="1095" href="#1095">1095</a>                 <strong>throw</strong> <strong>new</strong> NullPointerException();
+<a name="1096" href="#1096">1096</a>             Object oldValue = <strong>this</strong>.value;
+<a name="1097" href="#1097">1097</a>             <strong>this</strong>.value = value;
+<a name="1098" href="#1098">1098</a>             <strong>return</strong> oldValue;
+<a name="1099" href="#1099">1099</a>         }
+<a name="1100" href="#1100">1100</a> 
+<a name="1101" href="#1101">1101</a>         <strong>public</strong> <strong>boolean</strong> equals(Object o) {
+<a name="1102" href="#1102">1102</a>             <strong>if</strong> (!(o instanceof Map.Entry))
+<a name="1103" href="#1103">1103</a>                 <strong>return</strong> false;
+<a name="1104" href="#1104">1104</a>             Map.Entry e = (Map.Entry) o;
+<a name="1105" href="#1105">1105</a>             <strong>return</strong> (key.equals(e.getKey()) && value.equals(e.getValue()));
+<a name="1106" href="#1106">1106</a>         }
+<a name="1107" href="#1107">1107</a> 
+<a name="1108" href="#1108">1108</a>         <strong>public</strong> <strong>int</strong> hashCode() {
+<a name="1109" href="#1109">1109</a>             <strong>return</strong> key.hashCode() ^ value.hashCode();
+<a name="1110" href="#1110">1110</a>         }
+<a name="1111" href="#1111">1111</a> 
+<a name="1112" href="#1112">1112</a>         <strong>public</strong> String toString() {
+<a name="1113" href="#1113">1113</a>             <strong>return</strong> key + <span class="string">"="</span> + value;
+<a name="1114" href="#1114">1114</a>         }
+<a name="1115" href="#1115">1115</a> 
+<a name="1116" href="#1116">1116</a>     }
+<a name="1117" href="#1117">1117</a> 
+<a name="1118" href="#1118">1118</a>     <strong>protected</strong> <strong>class</strong> HashIterator implements Iterator, Enumeration {
+<a name="1119" href="#1119">1119</a>         <strong>protected</strong> <strong>final</strong> Entry[] tab; <em class="comment">// snapshot of table</em>
+<a name="1120" href="#1120">1120</a> 
+<a name="1121" href="#1121">1121</a>         <strong>protected</strong> <strong>int</strong> index; <em class="comment">// current slot</em>
+<a name="1122" href="#1122">1122</a> 
+<a name="1123" href="#1123">1123</a>         <strong>protected</strong> Entry entry = <strong>null</strong>; <em class="comment">// current node of slot</em>
+<a name="1124" href="#1124">1124</a> 
+<a name="1125" href="#1125">1125</a>         <strong>protected</strong> Object currentKey; <em class="comment">// key for current node</em>
+<a name="1126" href="#1126">1126</a> 
+<a name="1127" href="#1127">1127</a>         <strong>protected</strong> Object currentValue; <em class="comment">// value for current node</em>
+<a name="1128" href="#1128">1128</a> 
+<a name="1129" href="#1129">1129</a>         <strong>protected</strong> Entry lastReturned = <strong>null</strong>; <em class="comment">// last node returned by next</em>
+<a name="1130" href="#1130">1130</a> 
+<a name="1131" href="#1131">1131</a>         <strong>protected</strong> HashIterator() {
+<a name="1132" href="#1132">1132</a>             tab = ConcurrentReaderHashMap.<strong>this</strong>.getTableForReading();
+<a name="1133" href="#1133">1133</a>             index = tab.length - 1;
+<a name="1134" href="#1134">1134</a>         }
+<a name="1135" href="#1135">1135</a> 
+<a name="1136" href="#1136">1136</a>         <strong>public</strong> <strong>boolean</strong> hasMoreElements() {
+<a name="1137" href="#1137">1137</a>             <strong>return</strong> hasNext();
+<a name="1138" href="#1138">1138</a>         }
+<a name="1139" href="#1139">1139</a> 
+<a name="1140" href="#1140">1140</a>         <strong>public</strong> Object nextElement() {
+<a name="1141" href="#1141">1141</a>             <strong>return</strong> next();
+<a name="1142" href="#1142">1142</a>         }
+<a name="1143" href="#1143">1143</a> 
+<a name="1144" href="#1144">1144</a>         <strong>public</strong> <strong>boolean</strong> hasNext() {
+<a name="1145" href="#1145">1145</a> 
+<a name="1146" href="#1146">1146</a>             <em class="comment">/*</em>
+<a name="1147" href="#1147">1147</a> <em class="comment">             * currentkey and currentValue are set here to ensure that next()</em>
+<a name="1148" href="#1148">1148</a> <em class="comment">             * returns normally if hasNext() returns true. This avoids surprises</em>
+<a name="1149" href="#1149">1149</a> <em class="comment">             * especially when final element is removed during traversal --</em>
+<a name="1150" href="#1150">1150</a> <em class="comment">             * instead, we just ignore the removal during current traversal.</em>
+<a name="1151" href="#1151">1151</a> <em class="comment">             */</em>
+<a name="1152" href="#1152">1152</a> 
+<a name="1153" href="#1153">1153</a>             <strong>for</strong> (;;) {
+<a name="1154" href="#1154">1154</a>                 <strong>if</strong> (entry != <strong>null</strong>) {
+<a name="1155" href="#1155">1155</a>                     Object v = entry.value;
+<a name="1156" href="#1156">1156</a>                     <strong>if</strong> (v != <strong>null</strong>) {
+<a name="1157" href="#1157">1157</a>                         currentKey = entry.key;
+<a name="1158" href="#1158">1158</a>                         currentValue = v;
+<a name="1159" href="#1159">1159</a>                         <strong>return</strong> <strong>true</strong>;
+<a name="1160" href="#1160">1160</a>                     } <strong>else</strong>
+<a name="1161" href="#1161">1161</a>                         entry = entry.next;
+<a name="1162" href="#1162">1162</a>                 }
+<a name="1163" href="#1163">1163</a> 
+<a name="1164" href="#1164">1164</a>                 <strong>while</strong> (entry == <strong>null</strong> && index >= 0)
+<a name="1165" href="#1165">1165</a>                     entry = tab[index--];
+<a name="1166" href="#1166">1166</a> 
+<a name="1167" href="#1167">1167</a>                 <strong>if</strong> (entry == <strong>null</strong>) {
+<a name="1168" href="#1168">1168</a>                     currentKey = currentValue = <strong>null</strong>;
+<a name="1169" href="#1169">1169</a>                     <strong>return</strong> false;
+<a name="1170" href="#1170">1170</a>                 }
+<a name="1171" href="#1171">1171</a>             }
+<a name="1172" href="#1172">1172</a>         }
+<a name="1173" href="#1173">1173</a> 
+<a name="1174" href="#1174">1174</a>         <strong>protected</strong> Object returnValueOfNext() {
+<a name="1175" href="#1175">1175</a>             <strong>return</strong> entry;
+<a name="1176" href="#1176">1176</a>         }
+<a name="1177" href="#1177">1177</a> 
+<a name="1178" href="#1178">1178</a>         <strong>public</strong> Object next() {
+<a name="1179" href="#1179">1179</a>             <strong>if</strong> (currentKey == <strong>null</strong> && !hasNext())
+<a name="1180" href="#1180">1180</a>                 <strong>throw</strong> <strong>new</strong> NoSuchElementException();
+<a name="1181" href="#1181">1181</a> 
+<a name="1182" href="#1182">1182</a>             Object result = returnValueOfNext();
+<a name="1183" href="#1183">1183</a>             lastReturned = entry;
+<a name="1184" href="#1184">1184</a>             currentKey = currentValue = <strong>null</strong>;
+<a name="1185" href="#1185">1185</a>             entry = entry.next;
+<a name="1186" href="#1186">1186</a>             <strong>return</strong> result;
+<a name="1187" href="#1187">1187</a>         }
+<a name="1188" href="#1188">1188</a> 
+<a name="1189" href="#1189">1189</a>         <strong>public</strong> <strong>void</strong> remove() {
+<a name="1190" href="#1190">1190</a>             <strong>if</strong> (lastReturned == <strong>null</strong>)
+<a name="1191" href="#1191">1191</a>                 <strong>throw</strong> <strong>new</strong> IllegalStateException();
+<a name="1192" href="#1192">1192</a>             ConcurrentReaderHashMap.<strong>this</strong>.remove(lastReturned.key);
+<a name="1193" href="#1193">1193</a>             lastReturned = <strong>null</strong>;
+<a name="1194" href="#1194">1194</a>         }
+<a name="1195" href="#1195">1195</a> 
+<a name="1196" href="#1196">1196</a>     }
+<a name="1197" href="#1197">1197</a> 
+<a name="1198" href="#1198">1198</a>     <strong>protected</strong> <strong>class</strong> KeyIterator <strong>extends</strong> HashIterator {
+<a name="1199" href="#1199">1199</a>         <strong>protected</strong> Object returnValueOfNext() {
+<a name="1200" href="#1200">1200</a>             <strong>return</strong> currentKey;
+<a name="1201" href="#1201">1201</a>         }
+<a name="1202" href="#1202">1202</a>     }
+<a name="1203" href="#1203">1203</a> 
+<a name="1204" href="#1204">1204</a>     <strong>protected</strong> <strong>class</strong> ValueIterator <strong>extends</strong> HashIterator {
+<a name="1205" href="#1205">1205</a>         <strong>protected</strong> Object returnValueOfNext() {
+<a name="1206" href="#1206">1206</a>             <strong>return</strong> currentValue;
+<a name="1207" href="#1207">1207</a>         }
+<a name="1208" href="#1208">1208</a>     }
+<a name="1209" href="#1209">1209</a> 
+<a name="1210" href="#1210">1210</a>     <em>/**<em>*</em></em>
+<a name="1211" href="#1211">1211</a> <em>     * Save the state of the <tt>ConcurrentReaderHashMap</tt> instance to a</em>
+<a name="1212" href="#1212">1212</a> <em>     * stream (i.e., serialize it).</em>
+<a name="1213" href="#1213">1213</a> <em>     * </em>
+<a name="1214" href="#1214">1214</a> <em>     * @serialData The <i>capacity </i> of the ConcurrentReaderHashMap (the</em>
+<a name="1215" href="#1215">1215</a> <em>     *             length of the bucket array) is emitted (int), followed by the</em>
+<a name="1216" href="#1216">1216</a> <em>     *             <i>size </i> of the ConcurrentReaderHashMap (the number of</em>
+<a name="1217" href="#1217">1217</a> <em>     *             key-value mappings), followed by the key (Object) and value</em>
+<a name="1218" href="#1218">1218</a> <em>     *             (Object) for each key-value mapping represented by the</em>
+<a name="1219" href="#1219">1219</a> <em>     *             ConcurrentReaderHashMap The key-value mappings are emitted in</em>
+<a name="1220" href="#1220">1220</a> <em>     *             no particular order.</em>
+<a name="1221" href="#1221">1221</a> <em>     */</em>
+<a name="1222" href="#1222">1222</a> 
+<a name="1223" href="#1223">1223</a>     <strong>private</strong> <strong>synchronized</strong> <strong>void</strong> writeObject(java.io.ObjectOutputStream s)
+<a name="1224" href="#1224">1224</a>             throws IOException {
+<a name="1225" href="#1225">1225</a>         <em class="comment">// Write out the threshold, loadfactor, and any hidden stuff</em>
+<a name="1226" href="#1226">1226</a>         s.defaultWriteObject();
+<a name="1227" href="#1227">1227</a> 
+<a name="1228" href="#1228">1228</a>         <em class="comment">// Write out number of buckets</em>
+<a name="1229" href="#1229">1229</a>         s.writeInt(table.length);
+<a name="1230" href="#1230">1230</a> 
+<a name="1231" href="#1231">1231</a>         <em class="comment">// Write out size (number of Mappings)</em>
+<a name="1232" href="#1232">1232</a>         s.writeInt(count);
+<a name="1233" href="#1233">1233</a> 
+<a name="1234" href="#1234">1234</a>         <em class="comment">// Write out keys and values (alternating)</em>
+<a name="1235" href="#1235">1235</a>         <strong>for</strong> (<strong>int</strong> index = table.length - 1; index >= 0; index--) {
+<a name="1236" href="#1236">1236</a>             Entry entry = table[index];
+<a name="1237" href="#1237">1237</a> 
+<a name="1238" href="#1238">1238</a>             <strong>while</strong> (entry != <strong>null</strong>) {
+<a name="1239" href="#1239">1239</a>                 s.writeObject(entry.key);
+<a name="1240" href="#1240">1240</a>                 s.writeObject(entry.value);
+<a name="1241" href="#1241">1241</a>                 entry = entry.next;
+<a name="1242" href="#1242">1242</a>             }
+<a name="1243" href="#1243">1243</a>         }
+<a name="1244" href="#1244">1244</a>     }
+<a name="1245" href="#1245">1245</a> 
+<a name="1246" href="#1246">1246</a>     <em>/**<em>*</em></em>
+<a name="1247" href="#1247">1247</a> <em>     * Reconstitute the <tt>ConcurrentReaderHashMap</tt> instance from a</em>
+<a name="1248" href="#1248">1248</a> <em>     * stream (i.e., deserialize it).</em>
+<a name="1249" href="#1249">1249</a> <em>     */</em>
+<a name="1250" href="#1250">1250</a>     <strong>private</strong> <strong>synchronized</strong> <strong>void</strong> readObject(java.io.ObjectInputStream s)
+<a name="1251" href="#1251">1251</a>             throws IOException, ClassNotFoundException {
+<a name="1252" href="#1252">1252</a>         <em class="comment">// Read in the threshold, loadfactor, and any hidden stuff</em>
+<a name="1253" href="#1253">1253</a>         s.defaultReadObject();
+<a name="1254" href="#1254">1254</a> 
+<a name="1255" href="#1255">1255</a>         <em class="comment">// Read in number of buckets and allocate the bucket array;</em>
+<a name="1256" href="#1256">1256</a>         <strong>int</strong> numBuckets = s.readInt();
+<a name="1257" href="#1257">1257</a>         table = <strong>new</strong> Entry[numBuckets];
+<a name="1258" href="#1258">1258</a> 
+<a name="1259" href="#1259">1259</a>         <em class="comment">// Read in size (number of Mappings)</em>
+<a name="1260" href="#1260">1260</a>         <strong>int</strong> size = s.readInt();
+<a name="1261" href="#1261">1261</a> 
+<a name="1262" href="#1262">1262</a>         <em class="comment">// Read the keys and values, and put the mappings in the table</em>
+<a name="1263" href="#1263">1263</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="1264" href="#1264">1264</a>             Object key = s.readObject();
+<a name="1265" href="#1265">1265</a>             Object value = s.readObject();
+<a name="1266" href="#1266">1266</a>             put(key, value);
+<a name="1267" href="#1267">1267</a>         }
+<a name="1268" href="#1268">1268</a>     }
+<a name="1269" href="#1269">1269</a> 
+<a name="1270" href="#1270">1270</a>     <em>/**<em>*</em></em>
+<a name="1271" href="#1271">1271</a> <em>     * Return the number of slots in this table</em>
+<a name="1272" href="#1272">1272</a> <em>     */</em>
+<a name="1273" href="#1273">1273</a> 
+<a name="1274" href="#1274">1274</a>     <strong>public</strong> <strong>synchronized</strong> <strong>int</strong> capacity() {
+<a name="1275" href="#1275">1275</a>         <strong>return</strong> table.length;
+<a name="1276" href="#1276">1276</a>     }
+<a name="1277" href="#1277">1277</a> 
+<a name="1278" href="#1278">1278</a>     <em>/**<em>*</em></em>
+<a name="1279" href="#1279">1279</a> <em>     * Return the load factor</em>
+<a name="1280" href="#1280">1280</a> <em>     */</em>
+<a name="1281" href="#1281">1281</a>     <strong>public</strong> <strong>float</strong> loadFactor() {
+<a name="1282" href="#1282">1282</a>         <strong>return</strong> loadFactor;
+<a name="1283" href="#1283">1283</a>     }
+<a name="1284" href="#1284">1284</a> }
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/ContentListFacade.html b/docs/xref/org/dom4j/tree/ContentListFacade.html
new file mode 100644
index 0000000..cf3df2c
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/ContentListFacade.html
@@ -0,0 +1,213 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ContentListFacade xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/ContentListFacade.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.AbstractList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Collection;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.IllegalAddException;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Node;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * <code>ContentListFacade</code> represents a facade of the content of a</em>
+<a name="21" href="#21">21</a>  <em> * {@link org.dom4j.Branch} which is returned via calls to the {@link</em>
+<a name="22" href="#22">22</a>  <em> * org.dom4j.Branch#content}  method to allow users to modify the content of a</em>
+<a name="23" href="#23">23</a>  <em> * {@link org.dom4j.Branch} directly using the {@link List} interface. This list</em>
+<a name="24" href="#24">24</a>  <em> * is backed by the branch such that changes to the list will be reflected in</em>
+<a name="25" href="#25">25</a>  <em> * the branch and changes to the branch will be reflected in this list.</em>
+<a name="26" href="#26">26</a>  <em> * </p></em>
+<a name="27" href="#27">27</a>  <em> * </em>
+<a name="28" href="#28">28</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="29" href="#29">29</a>  <em> * @version $Revision: 1.11 $</em>
+<a name="30" href="#30">30</a>  <em> */</em>
+<a name="31" href="#31">31</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/ContentListFacade.html">ContentListFacade</a> <strong>extends</strong> AbstractList {
+<a name="32" href="#32">32</a>      <em>/**<em>* The content of the <a href="../../../org/dom4j/Branch.html">Branch</a> which is modified if I am modified */</em></em>
+<a name="33" href="#33">33</a>      <strong>private</strong> List branchContent;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>* The <code>AbstractBranch</code> instance which owns the content */</em></em>
+<a name="36" href="#36">36</a>      <strong>private</strong> <a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a> branch;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/ContentListFacade.html">ContentListFacade</a>(<a href="../../../org/dom4j/tree/AbstractBranch.html">AbstractBranch</a> branch, List branchContent) {
+<a name="39" href="#39">39</a>          <strong>this</strong>.branch = branch;
+<a name="40" href="#40">40</a>          <strong>this</strong>.branchContent = branchContent;
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <strong>public</strong> <strong>boolean</strong> add(Object object) {
+<a name="44" href="#44">44</a>          branch.childAdded(asNode(object));
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>          <strong>return</strong> branchContent.add(object);
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> add(<strong>int</strong> index, Object object) {
+<a name="50" href="#50">50</a>          branch.childAdded(asNode(object));
+<a name="51" href="#51">51</a>          branchContent.add(index, object);
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> Object set(<strong>int</strong> index, Object object) {
+<a name="55" href="#55">55</a>          branch.childAdded(asNode(object));
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          <strong>return</strong> branchContent.set(index, object);
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> <strong>boolean</strong> remove(Object object) {
+<a name="61" href="#61">61</a>          branch.childRemoved(asNode(object));
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          <strong>return</strong> branchContent.remove(object);
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <strong>public</strong> Object remove(<strong>int</strong> index) {
+<a name="67" href="#67">67</a>          Object object = branchContent.remove(index);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>          <strong>if</strong> (object != <strong>null</strong>) {
+<a name="70" href="#70">70</a>              branch.childRemoved(asNode(object));
+<a name="71" href="#71">71</a>          }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          <strong>return</strong> object;
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> <strong>boolean</strong> addAll(Collection collection) {
+<a name="77" href="#77">77</a>          <strong>int</strong> count = branchContent.size();
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>          <strong>for</strong> (Iterator iter = collection.iterator(); iter.hasNext(); count++) {
+<a name="80" href="#80">80</a>              add(iter.next());
+<a name="81" href="#81">81</a>          }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>          <strong>return</strong> count == branchContent.size();
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <strong>public</strong> <strong>boolean</strong> addAll(<strong>int</strong> index, Collection collection) {
+<a name="87" href="#87">87</a>          <strong>int</strong> count = branchContent.size();
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          <strong>for</strong> (Iterator iter = collection.iterator(); iter.hasNext(); count--) {
+<a name="90" href="#90">90</a>              add(index++, iter.next());
+<a name="91" href="#91">91</a>          }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          <strong>return</strong> count == branchContent.size();
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <strong>public</strong> <strong>void</strong> clear() {
+<a name="97" href="#97">97</a>          <strong>for</strong> (Iterator iter = iterator(); iter.hasNext();) {
+<a name="98" href="#98">98</a>              Object object = iter.next();
+<a name="99" href="#99">99</a>              branch.childRemoved(asNode(object));
+<a name="100" href="#100">100</a>         }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>         branchContent.clear();
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> <strong>boolean</strong> removeAll(Collection c) {
+<a name="106" href="#106">106</a>         <strong>for</strong> (Iterator iter = c.iterator(); iter.hasNext();) {
+<a name="107" href="#107">107</a>             Object object = iter.next();
+<a name="108" href="#108">108</a>             branch.childRemoved(asNode(object));
+<a name="109" href="#109">109</a>         }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a>         <strong>return</strong> branchContent.removeAll(c);
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> <strong>int</strong> size() {
+<a name="115" href="#115">115</a>         <strong>return</strong> branchContent.size();
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <strong>public</strong> <strong>boolean</strong> isEmpty() {
+<a name="119" href="#119">119</a>         <strong>return</strong> branchContent.isEmpty();
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>     <strong>public</strong> <strong>boolean</strong> contains(Object o) {
+<a name="123" href="#123">123</a>         <strong>return</strong> branchContent.contains(o);
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <strong>public</strong> Object[] toArray() {
+<a name="127" href="#127">127</a>         <strong>return</strong> branchContent.toArray();
+<a name="128" href="#128">128</a>     }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>     <strong>public</strong> Object[] toArray(Object[] a) {
+<a name="131" href="#131">131</a>         <strong>return</strong> branchContent.toArray(a);
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>     <strong>public</strong> <strong>boolean</strong> containsAll(Collection c) {
+<a name="135" href="#135">135</a>         <strong>return</strong> branchContent.containsAll(c);
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>     <strong>public</strong> Object get(<strong>int</strong> index) {
+<a name="139" href="#139">139</a>         <strong>return</strong> branchContent.get(index);
+<a name="140" href="#140">140</a>     }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>     <strong>public</strong> <strong>int</strong> indexOf(Object o) {
+<a name="143" href="#143">143</a>         <strong>return</strong> branchContent.indexOf(o);
+<a name="144" href="#144">144</a>     }
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>     <strong>public</strong> <strong>int</strong> lastIndexOf(Object o) {
+<a name="147" href="#147">147</a>         <strong>return</strong> branchContent.lastIndexOf(o);
+<a name="148" href="#148">148</a>     }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>     <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> asNode(Object object) {
+<a name="151" href="#151">151</a>         <strong>if</strong> (object instanceof Node) {
+<a name="152" href="#152">152</a>             <strong>return</strong> (Node) object;
+<a name="153" href="#153">153</a>         } <strong>else</strong> {
+<a name="154" href="#154">154</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(
+<a name="155" href="#155">155</a>                     <span class="string">"This list must contain instances of "</span>
+<a name="156" href="#156">156</a>                             + <span class="string">"Node. Invalid type: "</span> + object);
+<a name="157" href="#157">157</a>         }
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <strong>protected</strong> List getBackingList() {
+<a name="161" href="#161">161</a>         <strong>return</strong> branchContent;
+<a name="162" href="#162">162</a>     }
+<a name="163" href="#163">163</a> }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a> <em class="comment">/*</em>
+<a name="166" href="#166">166</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="167" href="#167">167</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="168" href="#168">168</a> <em class="comment"> * following conditions are met:</em>
+<a name="169" href="#169">169</a> <em class="comment"> * </em>
+<a name="170" href="#170">170</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="171" href="#171">171</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="172" href="#172">172</a> <em class="comment"> * </em>
+<a name="173" href="#173">173</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="174" href="#174">174</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="175" href="#175">175</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="176" href="#176">176</a> <em class="comment"> * </em>
+<a name="177" href="#177">177</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="178" href="#178">178</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="179" href="#179">179</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="180" href="#180">180</a> <em class="comment"> * </em>
+<a name="181" href="#181">181</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="182" href="#182">182</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="183" href="#183">183</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="184" href="#184">184</a> <em class="comment"> * </em>
+<a name="185" href="#185">185</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="186" href="#186">186</a> <em class="comment"> * </em>
+<a name="187" href="#187">187</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="188" href="#188">188</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="189" href="#189">189</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="190" href="#190">190</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="191" href="#191">191</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="192" href="#192">192</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="193" href="#193">193</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="194" href="#194">194</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="195" href="#195">195</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="196" href="#196">196</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="197" href="#197">197</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="198" href="#198">198</a> <em class="comment"> * </em>
+<a name="199" href="#199">199</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="200" href="#200">200</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultAttribute.html b/docs/xref/org/dom4j/tree/DefaultAttribute.html
new file mode 100644
index 0000000..20a68d1
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultAttribute.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultAttribute xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultAttribute.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.QName;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>DefaultAttribute</code> implements a doubly linked node which</em>
+<a name="17" href="#17">17</a>  <em> * supports the parent relationship and is mutable.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.13 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/FlyweightAttribute.html">FlyweightAttribute</a> {
+<a name="24" href="#24">24</a>      <em>/**<em>* The parent of this node */</em></em>
+<a name="25" href="#25">25</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> parent;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="28" href="#28">28</a>          <strong>super</strong>(qname);
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="32" href="#32">32</a>          <strong>super</strong>(qname, value);
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, <a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="36" href="#36">36</a>          <strong>super</strong>(qname, value);
+<a name="37" href="#37">37</a>          <strong>this</strong>.parent = parent;
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * Creates the <code>Attribute</code> with the specified local name and</em>
+<a name="42" href="#42">42</a>  <em>     * value.</em>
+<a name="43" href="#43">43</a>  <em>     * </em>
+<a name="44" href="#44">44</a>  <em>     * @param name</em>
+<a name="45" href="#45">45</a>  <em>     *            is the name of the attribute</em>
+<a name="46" href="#46">46</a>  <em>     * @param value</em>
+<a name="47" href="#47">47</a>  <em>     *            is the value of the attribute</em>
+<a name="48" href="#48">48</a>  <em>     */</em>
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>(String name, String value) {
+<a name="50" href="#50">50</a>          <strong>super</strong>(name, value);
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <em>/**<em>*</em></em>
+<a name="54" href="#54">54</a>  <em>     * Creates the <code>Attribute</code> with the specified local name, value</em>
+<a name="55" href="#55">55</a>  <em>     * and <code>Namespace</code>.</em>
+<a name="56" href="#56">56</a>  <em>     * </em>
+<a name="57" href="#57">57</a>  <em>     * @param name</em>
+<a name="58" href="#58">58</a>  <em>     *            is the name of the attribute</em>
+<a name="59" href="#59">59</a>  <em>     * @param value</em>
+<a name="60" href="#60">60</a>  <em>     *            is the value of the attribute</em>
+<a name="61" href="#61">61</a>  <em>     * @param namespace</em>
+<a name="62" href="#62">62</a>  <em>     *            is the namespace of the attribute</em>
+<a name="63" href="#63">63</a>  <em>     */</em>
+<a name="64" href="#64">64</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>(String name, String value, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="65" href="#65">65</a>          <strong>super</strong>(name, value, namespace);
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <em>/**<em>*</em></em>
+<a name="69" href="#69">69</a>  <em>     * Creates the <code>Attribute</code> with the specified local name, value</em>
+<a name="70" href="#70">70</a>  <em>     * and <code>Namespace</code>.</em>
+<a name="71" href="#71">71</a>  <em>     * </em>
+<a name="72" href="#72">72</a>  <em>     * @param parent</em>
+<a name="73" href="#73">73</a>  <em>     *            is the parent element</em>
+<a name="74" href="#74">74</a>  <em>     * @param name</em>
+<a name="75" href="#75">75</a>  <em>     *            is the name of the attribute</em>
+<a name="76" href="#76">76</a>  <em>     * @param value</em>
+<a name="77" href="#77">77</a>  <em>     *            is the value of the attribute</em>
+<a name="78" href="#78">78</a>  <em>     * @param namespace</em>
+<a name="79" href="#79">79</a>  <em>     *            is the namespace of the attribute</em>
+<a name="80" href="#80">80</a>  <em>     */</em>
+<a name="81" href="#81">81</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String name, String value,
+<a name="82" href="#82">82</a>              <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="83" href="#83">83</a>          <strong>super</strong>(name, value, namespace);
+<a name="84" href="#84">84</a>          <strong>this</strong>.parent = parent;
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <strong>public</strong> <strong>void</strong> setValue(String value) {
+<a name="88" href="#88">88</a>          <strong>this</strong>.value = value;
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="92" href="#92">92</a>          <strong>return</strong> parent;
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="96" href="#96">96</a>          <strong>this</strong>.parent = parent;
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="100" href="#100">100</a>         <strong>return</strong> <strong>true</strong>;
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="104" href="#104">104</a>         <strong>return</strong> false;
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> }
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a> <em class="comment">/*</em>
+<a name="109" href="#109">109</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="110" href="#110">110</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="111" href="#111">111</a> <em class="comment"> * following conditions are met:</em>
+<a name="112" href="#112">112</a> <em class="comment"> * </em>
+<a name="113" href="#113">113</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="114" href="#114">114</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="115" href="#115">115</a> <em class="comment"> * </em>
+<a name="116" href="#116">116</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="117" href="#117">117</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="118" href="#118">118</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="119" href="#119">119</a> <em class="comment"> * </em>
+<a name="120" href="#120">120</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="121" href="#121">121</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="122" href="#122">122</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="123" href="#123">123</a> <em class="comment"> * </em>
+<a name="124" href="#124">124</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="125" href="#125">125</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="126" href="#126">126</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="129" href="#129">129</a> <em class="comment"> * </em>
+<a name="130" href="#130">130</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="131" href="#131">131</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="132" href="#132">132</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="133" href="#133">133</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="134" href="#134">134</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="135" href="#135">135</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="136" href="#136">136</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="137" href="#137">137</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="138" href="#138">138</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="139" href="#139">139</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="140" href="#140">140</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="141" href="#141">141</a> <em class="comment"> * </em>
+<a name="142" href="#142">142</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="143" href="#143">143</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultCDATA.html b/docs/xref/org/dom4j/tree/DefaultCDATA.html
new file mode 100644
index 0000000..8bb1b68
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultCDATA.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultCDATA xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultCDATA.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>DefaultCDATA</code> is the default CDATA implementation. It is a</em>
+<a name="15" href="#15">15</a>  <em> * doubly linked node which supports the parent relationship and can be modified</em>
+<a name="16" href="#16">16</a>  <em> * in place.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.12 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultCDATA.html">DefaultCDATA</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/FlyweightCDATA.html">FlyweightCDATA</a> {
+<a name="23" href="#23">23</a>      <em>/**<em>* The parent of this node */</em></em>
+<a name="24" href="#24">24</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> parent;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em>/**<em>*</em></em>
+<a name="27" href="#27">27</a>  <em>     * DOCUMENT ME!</em>
+<a name="28" href="#28">28</a>  <em>     * </em>
+<a name="29" href="#29">29</a>  <em>     * @param text</em>
+<a name="30" href="#30">30</a>  <em>     *            is the CDATA text</em>
+<a name="31" href="#31">31</a>  <em>     */</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultCDATA.html">DefaultCDATA</a>(String text) {
+<a name="33" href="#33">33</a>          <strong>super</strong>(text);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * DOCUMENT ME!</em>
+<a name="38" href="#38">38</a>  <em>     * </em>
+<a name="39" href="#39">39</a>  <em>     * @param parent</em>
+<a name="40" href="#40">40</a>  <em>     *            is the parent element</em>
+<a name="41" href="#41">41</a>  <em>     * @param text</em>
+<a name="42" href="#42">42</a>  <em>     *            is the CDATA text</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultCDATA.html">DefaultCDATA</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String text) {
+<a name="45" href="#45">45</a>          <strong>super</strong>(text);
+<a name="46" href="#46">46</a>          <strong>this</strong>.parent = parent;
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="50" href="#50">50</a>          <strong>this</strong>.text = text;
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="54" href="#54">54</a>          <strong>return</strong> parent;
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="58" href="#58">58</a>          <strong>this</strong>.parent = parent;
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="62" href="#62">62</a>          <strong>return</strong> <strong>true</strong>;
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="66" href="#66">66</a>          <strong>return</strong> false;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>  <em class="comment">/*</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * following conditions are met:</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="91" href="#91">91</a>  <em class="comment"> * </em>
+<a name="92" href="#92">92</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="100" href="#100">100</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="105" href="#105">105</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultComment.html b/docs/xref/org/dom4j/tree/DefaultComment.html
new file mode 100644
index 0000000..37b0c41
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultComment.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultComment xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultComment.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>DefaultComment</code> is the default Comment implementation. It is a</em>
+<a name="15" href="#15">15</a>  <em> * doubly linked node which supports the parent relationship and can be modified</em>
+<a name="16" href="#16">16</a>  <em> * in place.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.11 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultComment.html">DefaultComment</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/FlyweightComment.html">FlyweightComment</a> {
+<a name="23" href="#23">23</a>      <em>/**<em>* The parent of this node */</em></em>
+<a name="24" href="#24">24</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> parent;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em>/**<em>*</em></em>
+<a name="27" href="#27">27</a>  <em>     * DOCUMENT ME!</em>
+<a name="28" href="#28">28</a>  <em>     * </em>
+<a name="29" href="#29">29</a>  <em>     * @param text</em>
+<a name="30" href="#30">30</a>  <em>     *            is the Comment text</em>
+<a name="31" href="#31">31</a>  <em>     */</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultComment.html">DefaultComment</a>(String text) {
+<a name="33" href="#33">33</a>          <strong>super</strong>(text);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * DOCUMENT ME!</em>
+<a name="38" href="#38">38</a>  <em>     * </em>
+<a name="39" href="#39">39</a>  <em>     * @param parent</em>
+<a name="40" href="#40">40</a>  <em>     *            is the parent element</em>
+<a name="41" href="#41">41</a>  <em>     * @param text</em>
+<a name="42" href="#42">42</a>  <em>     *            is the Comment text</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultComment.html">DefaultComment</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String text) {
+<a name="45" href="#45">45</a>          <strong>super</strong>(text);
+<a name="46" href="#46">46</a>          <strong>this</strong>.parent = parent;
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="50" href="#50">50</a>          <strong>this</strong>.text = text;
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="54" href="#54">54</a>          <strong>return</strong> parent;
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="58" href="#58">58</a>          <strong>this</strong>.parent = parent;
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="62" href="#62">62</a>          <strong>return</strong> <strong>true</strong>;
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="66" href="#66">66</a>          <strong>return</strong> false;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>  <em class="comment">/*</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * following conditions are met:</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="91" href="#91">91</a>  <em class="comment"> * </em>
+<a name="92" href="#92">92</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="100" href="#100">100</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="105" href="#105">105</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultDocument.html b/docs/xref/org/dom4j/tree/DefaultDocument.html
new file mode 100644
index 0000000..cc3c771
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultDocument.html
@@ -0,0 +1,382 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultDocument xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultDocument.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Collections;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Iterator;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Document;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Element;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.IllegalAddException;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Node;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>import</strong> org.xml.sax.EntityResolver;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <em>/**<em>*</em></em>
+<a name="25" href="#25">25</a>  <em> * <p></em>
+<a name="26" href="#26">26</a>  <em> * <code>DefaultDocument</code> is the default DOM4J default implementation of</em>
+<a name="27" href="#27">27</a>  <em> * an XML document.</em>
+<a name="28" href="#28">28</a>  <em> * </p></em>
+<a name="29" href="#29">29</a>  <em> * </em>
+<a name="30" href="#30">30</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="31" href="#31">31</a>  <em> * @version $Revision: 1.34 $</em>
+<a name="32" href="#32">32</a>  <em> */</em>
+<a name="33" href="#33">33</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractDocument.html">AbstractDocument</a> {
+<a name="34" href="#34">34</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> List EMPTY_LIST = Collections.EMPTY_LIST;
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> Iterator EMPTY_ITERATOR = EMPTY_LIST.iterator();
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>* The name of the document */</em></em>
+<a name="39" href="#39">39</a>      <strong>private</strong> String name;
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em>/**<em>* The root element of this document */</em></em>
+<a name="42" href="#42">42</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> rootElement;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em>/**<em>*</em></em>
+<a name="45" href="#45">45</a>  <em>     * Store the contents of the document as a lazily created <code>List</code></em>
+<a name="46" href="#46">46</a>  <em>     */</em>
+<a name="47" href="#47">47</a>      <strong>private</strong> List content;
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <em>/**<em>* The document type for this document */</em></em>
+<a name="50" href="#50">50</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <em>/**<em>* The document factory used by default */</em></em>
+<a name="53" href="#53">53</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory = DocumentFactory.getInstance();
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em>/**<em>* The resolver of URIs */</em></em>
+<a name="56" href="#56">56</a>      <strong>private</strong> <strong>transient</strong> EntityResolver entityResolver;
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a>() {
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a>(String name) {
+<a name="62" href="#62">62</a>          <strong>this</strong>.name = name;
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a>(<a href="../../../org/dom4j/Element.html">Element</a> rootElement) {
+<a name="66" href="#66">66</a>          <strong>this</strong>.rootElement = rootElement;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a>(<a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType) {
+<a name="70" href="#70">70</a>          <strong>this</strong>.docType = docType;
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a>(<a href="../../../org/dom4j/Element.html">Element</a> rootElement, <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType) {
+<a name="74" href="#74">74</a>          <strong>this</strong>.rootElement = rootElement;
+<a name="75" href="#75">75</a>          <strong>this</strong>.docType = docType;
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a>(String name, <a href="../../../org/dom4j/Element.html">Element</a> rootElement,
+<a name="79" href="#79">79</a>              <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType) {
+<a name="80" href="#80">80</a>          <strong>this</strong>.name = name;
+<a name="81" href="#81">81</a>          <strong>this</strong>.rootElement = rootElement;
+<a name="82" href="#82">82</a>          <strong>this</strong>.docType = docType;
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> String getName() {
+<a name="86" href="#86">86</a>          <strong>return</strong> name;
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="90" href="#90">90</a>          <strong>this</strong>.name = name;
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getRootElement() {
+<a name="94" href="#94">94</a>          <strong>return</strong> rootElement;
+<a name="95" href="#95">95</a>      }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <strong>public</strong> <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> getDocType() {
+<a name="98" href="#98">98</a>          <strong>return</strong> docType;
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> <strong>void</strong> setDocType(<a href="../../../org/dom4j/DocumentType.html">DocumentType</a> docType) {
+<a name="102" href="#102">102</a>         <strong>this</strong>.docType = docType;
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> addDocType(String docTypeName, String <strong>public</strong>Id,
+<a name="106" href="#106">106</a>             String systemId) {
+<a name="107" href="#107">107</a>         setDocType(getDocumentFactory().createDocType(docTypeName, publicId,
+<a name="108" href="#108">108</a>                 systemId));
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>         <strong>return</strong> <strong>this</strong>;
+<a name="111" href="#111">111</a>     }
+<a name="112" href="#112">112</a> 
+<a name="113" href="#113">113</a>     <strong>public</strong> String getXMLEncoding() {
+<a name="114" href="#114">114</a>         <strong>return</strong> encoding;
+<a name="115" href="#115">115</a>     }
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>     <strong>public</strong> EntityResolver getEntityResolver() {
+<a name="118" href="#118">118</a>         <strong>return</strong> entityResolver;
+<a name="119" href="#119">119</a>     }
+<a name="120" href="#120">120</a> 
+<a name="121" href="#121">121</a>     <strong>public</strong> <strong>void</strong> setEntityResolver(EntityResolver entityResolver) {
+<a name="122" href="#122">122</a>         <strong>this</strong>.entityResolver = entityResolver;
+<a name="123" href="#123">123</a>     }
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>     <strong>public</strong> Object clone() {
+<a name="126" href="#126">126</a>         <a href="../../../org/dom4j/tree/DefaultDocument.html">DefaultDocument</a> document = (DefaultDocument) <strong>super</strong>.clone();
+<a name="127" href="#127">127</a>         document.rootElement = <strong>null</strong>;
+<a name="128" href="#128">128</a>         document.content = <strong>null</strong>;
+<a name="129" href="#129">129</a>         document.appendContent(<strong>this</strong>);
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>         <strong>return</strong> document;
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>     <strong>public</strong> List processingInstructions() {
+<a name="135" href="#135">135</a>         List source = contentList();
+<a name="136" href="#136">136</a>         List answer = createResultList();
+<a name="137" href="#137">137</a>         <strong>int</strong> size = source.size();
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="140" href="#140">140</a>             Object object = source.get(i);
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>             <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="143" href="#143">143</a>                 answer.add(object);
+<a name="144" href="#144">144</a>             }
+<a name="145" href="#145">145</a>         }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>         <strong>return</strong> answer;
+<a name="148" href="#148">148</a>     }
+<a name="149" href="#149">149</a> 
+<a name="150" href="#150">150</a>     <strong>public</strong> List processingInstructions(String target) {
+<a name="151" href="#151">151</a>         List source = contentList();
+<a name="152" href="#152">152</a>         List answer = createResultList();
+<a name="153" href="#153">153</a>         <strong>int</strong> size = source.size();
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="156" href="#156">156</a>             Object object = source.get(i);
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>             <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="159" href="#159">159</a>                 <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) object;
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>                 <strong>if</strong> (target.equals(pi.getName())) {
+<a name="162" href="#162">162</a>                     answer.add(pi);
+<a name="163" href="#163">163</a>                 }
+<a name="164" href="#164">164</a>             }
+<a name="165" href="#165">165</a>         }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>         <strong>return</strong> answer;
+<a name="168" href="#168">168</a>     }
+<a name="169" href="#169">169</a> 
+<a name="170" href="#170">170</a>     <strong>public</strong> <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> processingInstruction(String target) {
+<a name="171" href="#171">171</a>         List source = contentList();
+<a name="172" href="#172">172</a>         <strong>int</strong> size = source.size();
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>         <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="175" href="#175">175</a>             Object object = source.get(i);
+<a name="176" href="#176">176</a> 
+<a name="177" href="#177">177</a>             <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="178" href="#178">178</a>                 <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) object;
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>                 <strong>if</strong> (target.equals(pi.getName())) {
+<a name="181" href="#181">181</a>                     <strong>return</strong> pi;
+<a name="182" href="#182">182</a>                 }
+<a name="183" href="#183">183</a>             }
+<a name="184" href="#184">184</a>         }
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>         <strong>return</strong> <strong>null</strong>;
+<a name="187" href="#187">187</a>     }
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>     <strong>public</strong> <strong>boolean</strong> removeProcessingInstruction(String target) {
+<a name="190" href="#190">190</a>         List source = contentList();
+<a name="191" href="#191">191</a> 
+<a name="192" href="#192">192</a>         <strong>for</strong> (Iterator iter = source.iterator(); iter.hasNext();) {
+<a name="193" href="#193">193</a>             Object object = iter.next();
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>             <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="196" href="#196">196</a>                 <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) object;
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>                 <strong>if</strong> (target.equals(pi.getName())) {
+<a name="199" href="#199">199</a>                     iter.remove();
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>                     <strong>return</strong> <strong>true</strong>;
+<a name="202" href="#202">202</a>                 }
+<a name="203" href="#203">203</a>             }
+<a name="204" href="#204">204</a>         }
+<a name="205" href="#205">205</a> 
+<a name="206" href="#206">206</a>         <strong>return</strong> false;
+<a name="207" href="#207">207</a>     }
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>     <strong>public</strong> <strong>void</strong> setContent(List content) {
+<a name="210" href="#210">210</a>         rootElement = <strong>null</strong>;
+<a name="211" href="#211">211</a>         contentRemoved();
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>         <strong>if</strong> (content instanceof ContentListFacade) {
+<a name="214" href="#214">214</a>             content = ((ContentListFacade) content).getBackingList();
+<a name="215" href="#215">215</a>         }
+<a name="216" href="#216">216</a> 
+<a name="217" href="#217">217</a>         <strong>if</strong> (content == <strong>null</strong>) {
+<a name="218" href="#218">218</a>             <strong>this</strong>.content = <strong>null</strong>;
+<a name="219" href="#219">219</a>         } <strong>else</strong> {
+<a name="220" href="#220">220</a>             <strong>int</strong> size = content.size();
+<a name="221" href="#221">221</a>             List newContent = createContentList(size);
+<a name="222" href="#222">222</a> 
+<a name="223" href="#223">223</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="224" href="#224">224</a>                 Object object = content.get(i);
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>                 <strong>if</strong> (object instanceof Node) {
+<a name="227" href="#227">227</a>                     <a href="../../../org/dom4j/Node.html">Node</a> node = (Node) object;
+<a name="228" href="#228">228</a>                     <a href="../../../org/dom4j/Document.html">Document</a> doc = node.getDocument();
+<a name="229" href="#229">229</a> 
+<a name="230" href="#230">230</a>                     <strong>if</strong> ((doc != <strong>null</strong>) && (doc != <strong>this</strong>)) {
+<a name="231" href="#231">231</a>                         node = (Node) node.clone();
+<a name="232" href="#232">232</a>                     }
+<a name="233" href="#233">233</a> 
+<a name="234" href="#234">234</a>                     <strong>if</strong> (node instanceof Element) {
+<a name="235" href="#235">235</a>                         <strong>if</strong> (rootElement == <strong>null</strong>) {
+<a name="236" href="#236">236</a>                             rootElement = (Element) node;
+<a name="237" href="#237">237</a>                         } <strong>else</strong> {
+<a name="238" href="#238">238</a>                             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(
+<a name="239" href="#239">239</a>                                     <span class="string">"A document may only "</span>
+<a name="240" href="#240">240</a>                                             + <span class="string">"contain one root "</span> + <span class="string">"element: "</span>
+<a name="241" href="#241">241</a>                                             + content);
+<a name="242" href="#242">242</a>                         }
+<a name="243" href="#243">243</a>                     }
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>                     newContent.add(node);
+<a name="246" href="#246">246</a>                     childAdded(node);
+<a name="247" href="#247">247</a>                 }
+<a name="248" href="#248">248</a>             }
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>             <strong>this</strong>.content = newContent;
+<a name="251" href="#251">251</a>         }
+<a name="252" href="#252">252</a>     }
+<a name="253" href="#253">253</a> 
+<a name="254" href="#254">254</a>     <strong>public</strong> <strong>void</strong> clearContent() {
+<a name="255" href="#255">255</a>         contentRemoved();
+<a name="256" href="#256">256</a>         content = <strong>null</strong>;
+<a name="257" href="#257">257</a>         rootElement = <strong>null</strong>;
+<a name="258" href="#258">258</a>     }
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>     <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="261" href="#261">261</a>         <strong>this</strong>.documentFactory = documentFactory;
+<a name="262" href="#262">262</a>     }
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>     <em class="comment">// Implementation methods</em>
+<a name="265" href="#265">265</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="266" href="#266">266</a>     <strong>protected</strong> List contentList() {
+<a name="267" href="#267">267</a>         <strong>if</strong> (content == <strong>null</strong>) {
+<a name="268" href="#268">268</a>             content = createContentList();
+<a name="269" href="#269">269</a> 
+<a name="270" href="#270">270</a>             <strong>if</strong> (rootElement != <strong>null</strong>) {
+<a name="271" href="#271">271</a>                 content.add(rootElement);
+<a name="272" href="#272">272</a>             }
+<a name="273" href="#273">273</a>         }
+<a name="274" href="#274">274</a> 
+<a name="275" href="#275">275</a>         <strong>return</strong> content;
+<a name="276" href="#276">276</a>     }
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>     <strong>protected</strong> <strong>void</strong> addNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="279" href="#279">279</a>         <strong>if</strong> (node != <strong>null</strong>) {
+<a name="280" href="#280">280</a>             <a href="../../../org/dom4j/Document.html">Document</a> document = node.getDocument();
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>             <strong>if</strong> ((document != <strong>null</strong>) && (document != <strong>this</strong>)) {
+<a name="283" href="#283">283</a>                 <em class="comment">// XXX: could clone here</em>
+<a name="284" href="#284">284</a>                 String message = <span class="string">"The Node already has an existing document: "</span>
+<a name="285" href="#285">285</a>                         + document;
+<a name="286" href="#286">286</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<strong>this</strong>, node, message);
+<a name="287" href="#287">287</a>             }
+<a name="288" href="#288">288</a> 
+<a name="289" href="#289">289</a>             contentList().add(node);
+<a name="290" href="#290">290</a>             childAdded(node);
+<a name="291" href="#291">291</a>         }
+<a name="292" href="#292">292</a>     }
+<a name="293" href="#293">293</a> 
+<a name="294" href="#294">294</a>     <strong>protected</strong> <strong>void</strong> addNode(<strong>int</strong> index, <a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="295" href="#295">295</a>         <strong>if</strong> (node != <strong>null</strong>) {
+<a name="296" href="#296">296</a>             <a href="../../../org/dom4j/Document.html">Document</a> document = node.getDocument();
+<a name="297" href="#297">297</a> 
+<a name="298" href="#298">298</a>             <strong>if</strong> ((document != <strong>null</strong>) && (document != <strong>this</strong>)) {
+<a name="299" href="#299">299</a>                 <em class="comment">// XXX: could clone here</em>
+<a name="300" href="#300">300</a>                 String message = <span class="string">"The Node already has an existing document: "</span>
+<a name="301" href="#301">301</a>                         + document;
+<a name="302" href="#302">302</a>                 <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<strong>this</strong>, node, message);
+<a name="303" href="#303">303</a>             }
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>             contentList().add(index, node);
+<a name="306" href="#306">306</a>             childAdded(node);
+<a name="307" href="#307">307</a>         }
+<a name="308" href="#308">308</a>     }
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a>     <strong>protected</strong> <strong>boolean</strong> removeNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="311" href="#311">311</a>         <strong>if</strong> (node == rootElement) {
+<a name="312" href="#312">312</a>             rootElement = <strong>null</strong>;
+<a name="313" href="#313">313</a>         }
+<a name="314" href="#314">314</a> 
+<a name="315" href="#315">315</a>         <strong>if</strong> (contentList().remove(node)) {
+<a name="316" href="#316">316</a>             childRemoved(node);
+<a name="317" href="#317">317</a> 
+<a name="318" href="#318">318</a>             <strong>return</strong> <strong>true</strong>;
+<a name="319" href="#319">319</a>         }
+<a name="320" href="#320">320</a> 
+<a name="321" href="#321">321</a>         <strong>return</strong> false;
+<a name="322" href="#322">322</a>     }
+<a name="323" href="#323">323</a> 
+<a name="324" href="#324">324</a>     <strong>protected</strong> <strong>void</strong> rootElementAdded(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="325" href="#325">325</a>         <strong>this</strong>.rootElement = element;
+<a name="326" href="#326">326</a>         element.setDocument(<strong>this</strong>);
+<a name="327" href="#327">327</a>     }
+<a name="328" href="#328">328</a> 
+<a name="329" href="#329">329</a>     <strong>protected</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="330" href="#330">330</a>         <strong>return</strong> documentFactory;
+<a name="331" href="#331">331</a>     }
+<a name="332" href="#332">332</a> }
+<a name="333" href="#333">333</a> 
+<a name="334" href="#334">334</a> <em class="comment">/*</em>
+<a name="335" href="#335">335</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="336" href="#336">336</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="337" href="#337">337</a> <em class="comment"> * following conditions are met:</em>
+<a name="338" href="#338">338</a> <em class="comment"> * </em>
+<a name="339" href="#339">339</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="340" href="#340">340</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="341" href="#341">341</a> <em class="comment"> * </em>
+<a name="342" href="#342">342</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="343" href="#343">343</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="344" href="#344">344</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="345" href="#345">345</a> <em class="comment"> * </em>
+<a name="346" href="#346">346</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="347" href="#347">347</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="348" href="#348">348</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="349" href="#349">349</a> <em class="comment"> * </em>
+<a name="350" href="#350">350</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="351" href="#351">351</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="352" href="#352">352</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="353" href="#353">353</a> <em class="comment"> * </em>
+<a name="354" href="#354">354</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="355" href="#355">355</a> <em class="comment"> * </em>
+<a name="356" href="#356">356</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="357" href="#357">357</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="358" href="#358">358</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="359" href="#359">359</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="360" href="#360">360</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="361" href="#361">361</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="362" href="#362">362</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="363" href="#363">363</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="364" href="#364">364</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="365" href="#365">365</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="366" href="#366">366</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="367" href="#367">367</a> <em class="comment"> * </em>
+<a name="368" href="#368">368</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="369" href="#369">369</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultDocumentType.html b/docs/xref/org/dom4j/tree/DefaultDocumentType.html
new file mode 100644
index 0000000..49be762
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultDocumentType.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultDocumentType xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultDocumentType.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.List;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>DefaultDocumentType</code> is the DOM4J default implementation of an</em>
+<a name="15" href="#15">15</a>  <em> * XML document type.</em>
+<a name="16" href="#16">16</a>  <em> * </p></em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultDocumentType.html">DefaultDocumentType</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractDocumentType.html">AbstractDocumentType</a> {
+<a name="22" href="#22">22</a>      <em>/**<em>* The root element name of the document typ */</em></em>
+<a name="23" href="#23">23</a>      <strong>protected</strong> String elementName;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <em>/**<em>* Holds value of property publicID. */</em></em>
+<a name="26" href="#26">26</a>      <strong>private</strong> String publicID;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em>/**<em>* Holds value of property systemID. */</em></em>
+<a name="29" href="#29">29</a>      <strong>private</strong> String systemID;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>* The internal DTD declarations */</em></em>
+<a name="32" href="#32">32</a>      <strong>private</strong> List internalDeclarations;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em>/**<em>* The external DTD declarations */</em></em>
+<a name="35" href="#35">35</a>      <strong>private</strong> List externalDeclarations;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultDocumentType.html">DefaultDocumentType</a>() {
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * <p></em>
+<a name="42" href="#42">42</a>  <em>     * This will create a new <code>DocumentType</code> with a reference to</em>
+<a name="43" href="#43">43</a>  <em>     * the external DTD</em>
+<a name="44" href="#44">44</a>  <em>     * </p></em>
+<a name="45" href="#45">45</a>  <em>     * </em>
+<a name="46" href="#46">46</a>  <em>     * @param elementName</em>
+<a name="47" href="#47">47</a>  <em>     *            is the root element name of the document type</em>
+<a name="48" href="#48">48</a>  <em>     * @param systemID</em>
+<a name="49" href="#49">49</a>  <em>     *            is the system ID of the external DTD</em>
+<a name="50" href="#50">50</a>  <em>     */</em>
+<a name="51" href="#51">51</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultDocumentType.html">DefaultDocumentType</a>(String elementName, String systemID) {
+<a name="52" href="#52">52</a>          <strong>this</strong>.elementName = elementName;
+<a name="53" href="#53">53</a>          <strong>this</strong>.systemID = systemID;
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <em>/**<em>*</em></em>
+<a name="57" href="#57">57</a>  <em>     * <p></em>
+<a name="58" href="#58">58</a>  <em>     * This will create a new <code>DocumentType</code> with a reference to</em>
+<a name="59" href="#59">59</a>  <em>     * the external DTD</em>
+<a name="60" href="#60">60</a>  <em>     * </p></em>
+<a name="61" href="#61">61</a>  <em>     * </em>
+<a name="62" href="#62">62</a>  <em>     * @param elementName</em>
+<a name="63" href="#63">63</a>  <em>     *            is the root element name of the document type</em>
+<a name="64" href="#64">64</a>  <em>     * @param publicID</em>
+<a name="65" href="#65">65</a>  <em>     *            is the public ID of the DTD</em>
+<a name="66" href="#66">66</a>  <em>     * @param systemID</em>
+<a name="67" href="#67">67</a>  <em>     *            is the system ID of the DTD</em>
+<a name="68" href="#68">68</a>  <em>     */</em>
+<a name="69" href="#69">69</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultDocumentType.html">DefaultDocumentType</a>(String elementName, String <strong>public</strong>ID,
+<a name="70" href="#70">70</a>              String systemID) {
+<a name="71" href="#71">71</a>          <strong>this</strong>.elementName = elementName;
+<a name="72" href="#72">72</a>          <strong>this</strong>.publicID = publicID;
+<a name="73" href="#73">73</a>          <strong>this</strong>.systemID = systemID;
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> String getElementName() {
+<a name="77" href="#77">77</a>          <strong>return</strong> elementName;
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <strong>public</strong> <strong>void</strong> setElementName(String elementName) {
+<a name="81" href="#81">81</a>          <strong>this</strong>.elementName = elementName;
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <em>/**<em>*</em></em>
+<a name="85" href="#85">85</a>  <em>     * DOCUMENT ME!</em>
+<a name="86" href="#86">86</a>  <em>     * </em>
+<a name="87" href="#87">87</a>  <em>     * @return the public ID of the document type</em>
+<a name="88" href="#88">88</a>  <em>     */</em>
+<a name="89" href="#89">89</a>      <strong>public</strong> String getPublicID() {
+<a name="90" href="#90">90</a>          <strong>return</strong> publicID;
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <em>/**<em>*</em></em>
+<a name="94" href="#94">94</a>  <em>     * Sets the public ID of the document type</em>
+<a name="95" href="#95">95</a>  <em>     * </em>
+<a name="96" href="#96">96</a>  <em>     * @param publicID</em>
+<a name="97" href="#97">97</a>  <em>     *            DOCUMENT ME!</em>
+<a name="98" href="#98">98</a>  <em>     */</em>
+<a name="99" href="#99">99</a>      <strong>public</strong> <strong>void</strong> setPublicID(String <strong>public</strong>ID) {
+<a name="100" href="#100">100</a>         <strong>this</strong>.publicID = publicID;
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <em>/**<em>*</em></em>
+<a name="104" href="#104">104</a> <em>     * DOCUMENT ME!</em>
+<a name="105" href="#105">105</a> <em>     * </em>
+<a name="106" href="#106">106</a> <em>     * @return the system ID of the document type</em>
+<a name="107" href="#107">107</a> <em>     */</em>
+<a name="108" href="#108">108</a>     <strong>public</strong> String getSystemID() {
+<a name="109" href="#109">109</a>         <strong>return</strong> systemID;
+<a name="110" href="#110">110</a>     }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>     <em>/**<em>*</em></em>
+<a name="113" href="#113">113</a> <em>     * Sets the system ID of the document type</em>
+<a name="114" href="#114">114</a> <em>     * </em>
+<a name="115" href="#115">115</a> <em>     * @param systemID</em>
+<a name="116" href="#116">116</a> <em>     *            DOCUMENT ME!</em>
+<a name="117" href="#117">117</a> <em>     */</em>
+<a name="118" href="#118">118</a>     <strong>public</strong> <strong>void</strong> setSystemID(String systemID) {
+<a name="119" href="#119">119</a>         <strong>this</strong>.systemID = systemID;
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>     <strong>public</strong> List getInternalDeclarations() {
+<a name="123" href="#123">123</a>         <strong>return</strong> internalDeclarations;
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <strong>public</strong> <strong>void</strong> setInternalDeclarations(List internalDeclarations) {
+<a name="127" href="#127">127</a>         <strong>this</strong>.internalDeclarations = internalDeclarations;
+<a name="128" href="#128">128</a>     }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>     <strong>public</strong> List getExternalDeclarations() {
+<a name="131" href="#131">131</a>         <strong>return</strong> externalDeclarations;
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>     <strong>public</strong> <strong>void</strong> setExternalDeclarations(List externalDeclarations) {
+<a name="135" href="#135">135</a>         <strong>this</strong>.externalDeclarations = externalDeclarations;
+<a name="136" href="#136">136</a>     }
+<a name="137" href="#137">137</a> }
+<a name="138" href="#138">138</a> 
+<a name="139" href="#139">139</a> <em class="comment">/*</em>
+<a name="140" href="#140">140</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="141" href="#141">141</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="142" href="#142">142</a> <em class="comment"> * following conditions are met:</em>
+<a name="143" href="#143">143</a> <em class="comment"> * </em>
+<a name="144" href="#144">144</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="145" href="#145">145</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="146" href="#146">146</a> <em class="comment"> * </em>
+<a name="147" href="#147">147</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="148" href="#148">148</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="149" href="#149">149</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="150" href="#150">150</a> <em class="comment"> * </em>
+<a name="151" href="#151">151</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="152" href="#152">152</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="153" href="#153">153</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="154" href="#154">154</a> <em class="comment"> * </em>
+<a name="155" href="#155">155</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="156" href="#156">156</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="157" href="#157">157</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="158" href="#158">158</a> <em class="comment"> * </em>
+<a name="159" href="#159">159</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="160" href="#160">160</a> <em class="comment"> * </em>
+<a name="161" href="#161">161</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="162" href="#162">162</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="163" href="#163">163</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="164" href="#164">164</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="165" href="#165">165</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="166" href="#166">166</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="167" href="#167">167</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="168" href="#168">168</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="169" href="#169">169</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="170" href="#170">170</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="171" href="#171">171</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="172" href="#172">172</a> <em class="comment"> * </em>
+<a name="173" href="#173">173</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="174" href="#174">174</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultElement.html b/docs/xref/org/dom4j/tree/DefaultElement.html
new file mode 100644
index 0000000..5d35e45
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultElement.html
@@ -0,0 +1,1068 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultElement xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultElement.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Iterator;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.List;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Document;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Element;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.IllegalAddException;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.Node;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.QName;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>  <em>/**<em>*</em></em>
+<a name="26" href="#26">26</a>  <em> * <p></em>
+<a name="27" href="#27">27</a>  <em> * <code>DefaultElement</code> is the default DOM4J default implementation of</em>
+<a name="28" href="#28">28</a>  <em> * an XML element.</em>
+<a name="29" href="#29">29</a>  <em> * </p></em>
+<a name="30" href="#30">30</a>  <em> * </em>
+<a name="31" href="#31">31</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="32" href="#32">32</a>  <em> * @version $Revision: 1.59 $</em>
+<a name="33" href="#33">33</a>  <em> */</em>
+<a name="34" href="#34">34</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractElement.html">AbstractElement</a> {
+<a name="35" href="#35">35</a>      <em>/**<em>* The <code>DocumentFactory</code> instance used by default */</em></em>
+<a name="36" href="#36">36</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>transient</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> DOCUMENT_FACTORY = 
+<a name="37" href="#37">37</a>              DocumentFactory.getInstance();
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>* The <code>QName</code> for this element */</em></em>
+<a name="40" href="#40">40</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> qname;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em>/**<em>*</em></em>
+<a name="43" href="#43">43</a>  <em>     * Stores the parent branch of this node which is either a Document if this</em>
+<a name="44" href="#44">44</a>  <em>     * element is the root element in a document, or another Element if it is a</em>
+<a name="45" href="#45">45</a>  <em>     * child of the root document, or null if it has not been added to a</em>
+<a name="46" href="#46">46</a>  <em>     * document yet.</em>
+<a name="47" href="#47">47</a>  <em>     */</em>
+<a name="48" href="#48">48</a>      <strong>private</strong> <a href="../../../org/dom4j/Branch.html">Branch</a> parentBranch;
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <em>/**<em>*</em></em>
+<a name="51" href="#51">51</a>  <em>     * Stores null for no content, a Node for a single content node or a List</em>
+<a name="52" href="#52">52</a>  <em>     * for multiple content nodes. The List will be lazily constructed when</em>
+<a name="53" href="#53">53</a>  <em>     * required.</em>
+<a name="54" href="#54">54</a>  <em>     */</em>
+<a name="55" href="#55">55</a>      <strong>private</strong> Object content;
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <em>/**<em>* Lazily constructes list of attributes */</em></em>
+<a name="58" href="#58">58</a>      <strong>private</strong> Object attributes;
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a>(String name) {
+<a name="61" href="#61">61</a>          <strong>this</strong>.qname = DOCUMENT_FACTORY.createQName(name);
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="65" href="#65">65</a>          <strong>this</strong>.qname = qname;
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, <strong>int</strong> attributeCount) {
+<a name="69" href="#69">69</a>          <strong>this</strong>.qname = qname;
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          <strong>if</strong> (attributeCount > 1) {
+<a name="72" href="#72">72</a>              <strong>this</strong>.attributes = <strong>new</strong> ArrayList(attributeCount);
+<a name="73" href="#73">73</a>          }
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a>(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="77" href="#77">77</a>          <strong>this</strong>.qname = DOCUMENT_FACTORY.createQName(name, namespace);
+<a name="78" href="#78">78</a>      }
+<a name="79" href="#79">79</a>  
+<a name="80" href="#80">80</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="81" href="#81">81</a>          <a href="../../../org/dom4j/Element.html">Element</a> result = <strong>null</strong>;
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>          <strong>if</strong> (parentBranch instanceof Element) {
+<a name="84" href="#84">84</a>              result = (Element) parentBranch;
+<a name="85" href="#85">85</a>          }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>          <strong>return</strong> result;
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="91" href="#91">91</a>          <strong>if</strong> (parentBranch instanceof Element || (parent != <strong>null</strong>)) {
+<a name="92" href="#92">92</a>              parentBranch = parent;
+<a name="93" href="#93">93</a>          }
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> getDocument() {
+<a name="97" href="#97">97</a>          <strong>if</strong> (parentBranch instanceof Document) {
+<a name="98" href="#98">98</a>              <strong>return</strong> (Document) parentBranch;
+<a name="99" href="#99">99</a>          } <strong>else</strong> <strong>if</strong> (parentBranch instanceof Element) {
+<a name="100" href="#100">100</a>             <a href="../../../org/dom4j/Element.html">Element</a> parent = (Element) parentBranch;
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>             <strong>return</strong> parent.getDocument();
+<a name="103" href="#103">103</a>         }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>         <strong>return</strong> <strong>null</strong>;
+<a name="106" href="#106">106</a>     }
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>     <strong>public</strong> <strong>void</strong> setDocument(<a href="../../../org/dom4j/Document.html">Document</a> document) {
+<a name="109" href="#109">109</a>         <strong>if</strong> (parentBranch instanceof Document || (document != <strong>null</strong>)) {
+<a name="110" href="#110">110</a>             parentBranch = document;
+<a name="111" href="#111">111</a>         }
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="115" href="#115">115</a>         <strong>return</strong> <strong>true</strong>;
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName() {
+<a name="119" href="#119">119</a>         <strong>return</strong> qname;
+<a name="120" href="#120">120</a>     }
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>     <strong>public</strong> <strong>void</strong> setQName(<a href="../../../org/dom4j/QName.html">QName</a> name) {
+<a name="123" href="#123">123</a>         <strong>this</strong>.qname = name;
+<a name="124" href="#124">124</a>     }
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>     <strong>public</strong> String getText() {
+<a name="127" href="#127">127</a>         <strong>final</strong> Object contentShadow = content;
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="130" href="#130">130</a>             <strong>return</strong> <strong>super</strong>.getText();
+<a name="131" href="#131">131</a>         } <strong>else</strong> {
+<a name="132" href="#132">132</a>             <strong>if</strong> (contentShadow != <strong>null</strong>) {
+<a name="133" href="#133">133</a>                 <strong>return</strong> getContentAsText(contentShadow);
+<a name="134" href="#134">134</a>             } <strong>else</strong> {
+<a name="135" href="#135">135</a>                 <strong>return</strong> <span class="string">""</span>;
+<a name="136" href="#136">136</a>             }
+<a name="137" href="#137">137</a>         }
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <strong>public</strong> String getStringValue() {
+<a name="141" href="#141">141</a>         <strong>final</strong> Object contentShadow = content;
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="144" href="#144">144</a>             List list = (List) contentShadow;
+<a name="145" href="#145">145</a> 
+<a name="146" href="#146">146</a>             <strong>int</strong> size = list.size();
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>             <strong>if</strong> (size > 0) {
+<a name="149" href="#149">149</a>                 <strong>if</strong> (size == 1) {
+<a name="150" href="#150">150</a>                     <em class="comment">// optimised to avoid StringBuffer creation</em>
+<a name="151" href="#151">151</a>                     <strong>return</strong> getContentAsStringValue(list.get(0));
+<a name="152" href="#152">152</a>                 } <strong>else</strong> {
+<a name="153" href="#153">153</a>                     StringBuffer buffer = <strong>new</strong> StringBuffer();
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>                     <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="156" href="#156">156</a>                         Object node = list.get(i);
+<a name="157" href="#157">157</a> 
+<a name="158" href="#158">158</a>                         String string = getContentAsStringValue(node);
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>                         <strong>if</strong> (string.length() > 0) {
+<a name="161" href="#161">161</a>                             <strong>if</strong> (USE_STRINGVALUE_SEPARATOR) {
+<a name="162" href="#162">162</a>                                 <strong>if</strong> (buffer.length() > 0) {
+<a name="163" href="#163">163</a>                                     buffer.append(' ');
+<a name="164" href="#164">164</a>                                 }
+<a name="165" href="#165">165</a>                             }
+<a name="166" href="#166">166</a> 
+<a name="167" href="#167">167</a>                             buffer.append(string);
+<a name="168" href="#168">168</a>                         }
+<a name="169" href="#169">169</a>                     }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>                     <strong>return</strong> buffer.toString();
+<a name="172" href="#172">172</a>                 }
+<a name="173" href="#173">173</a>             }
+<a name="174" href="#174">174</a>         } <strong>else</strong> {
+<a name="175" href="#175">175</a>             <strong>if</strong> (contentShadow != <strong>null</strong>) {
+<a name="176" href="#176">176</a>                 <strong>return</strong> getContentAsStringValue(contentShadow);
+<a name="177" href="#177">177</a>             }
+<a name="178" href="#178">178</a>         }
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>         <strong>return</strong> <span class="string">""</span>;
+<a name="181" href="#181">181</a>     }
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>     <strong>public</strong> Object clone() {
+<a name="184" href="#184">184</a>         <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a> answer = (DefaultElement) <strong>super</strong>.clone();
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>         <strong>if</strong> (answer != <strong>this</strong>) {
+<a name="187" href="#187">187</a>             answer.content = <strong>null</strong>;
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>             answer.attributes = <strong>null</strong>;
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>             answer.appendAttributes(<strong>this</strong>);
+<a name="192" href="#192">192</a> 
+<a name="193" href="#193">193</a>             answer.appendContent(<strong>this</strong>);
+<a name="194" href="#194">194</a>         }
+<a name="195" href="#195">195</a> 
+<a name="196" href="#196">196</a>         <strong>return</strong> answer;
+<a name="197" href="#197">197</a>     }
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getNamespaceForPrefix(String prefix) {
+<a name="200" href="#200">200</a>         <strong>if</strong> (prefix == <strong>null</strong>) {
+<a name="201" href="#201">201</a>             prefix = <span class="string">""</span>;
+<a name="202" href="#202">202</a>         }
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>         <strong>if</strong> (prefix.equals(getNamespacePrefix())) {
+<a name="205" href="#205">205</a>             <strong>return</strong> getNamespace();
+<a name="206" href="#206">206</a>         } <strong>else</strong> <strong>if</strong> (prefix.equals(<span class="string">"xml"</span>)) {
+<a name="207" href="#207">207</a>             <strong>return</strong> Namespace.XML_NAMESPACE;
+<a name="208" href="#208">208</a>         } <strong>else</strong> {
+<a name="209" href="#209">209</a>             <strong>final</strong> Object contentShadow = content;
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>             <strong>if</strong> (contentShadow instanceof List) {
+<a name="212" href="#212">212</a>                 List list = (List) contentShadow;
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>                 <strong>int</strong> size = list.size();
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>                 <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="217" href="#217">217</a>                     Object object = list.get(i);
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>                     <strong>if</strong> (object instanceof Namespace) {
+<a name="220" href="#220">220</a>                         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) object;
+<a name="221" href="#221">221</a> 
+<a name="222" href="#222">222</a>                         <strong>if</strong> (prefix.equals(namespace.getPrefix())) {
+<a name="223" href="#223">223</a>                             <strong>return</strong> namespace;
+<a name="224" href="#224">224</a>                         }
+<a name="225" href="#225">225</a>                     }
+<a name="226" href="#226">226</a>                 }
+<a name="227" href="#227">227</a>             } <strong>else</strong> <strong>if</strong> (contentShadow instanceof Namespace) {
+<a name="228" href="#228">228</a>                 <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) contentShadow;
+<a name="229" href="#229">229</a> 
+<a name="230" href="#230">230</a>                 <strong>if</strong> (prefix.equals(namespace.getPrefix())) {
+<a name="231" href="#231">231</a>                     <strong>return</strong> namespace;
+<a name="232" href="#232">232</a>                 }
+<a name="233" href="#233">233</a>             }
+<a name="234" href="#234">234</a>         }
+<a name="235" href="#235">235</a> 
+<a name="236" href="#236">236</a>         <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="237" href="#237">237</a> 
+<a name="238" href="#238">238</a>         <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="239" href="#239">239</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> answer = parent.getNamespaceForPrefix(prefix);
+<a name="240" href="#240">240</a> 
+<a name="241" href="#241">241</a>             <strong>if</strong> (answer != <strong>null</strong>) {
+<a name="242" href="#242">242</a>                 <strong>return</strong> answer;
+<a name="243" href="#243">243</a>             }
+<a name="244" href="#244">244</a>         }
+<a name="245" href="#245">245</a> 
+<a name="246" href="#246">246</a>         <strong>if</strong> ((prefix == <strong>null</strong>) || (prefix.length() <= 0)) {
+<a name="247" href="#247">247</a>             <strong>return</strong> Namespace.NO_NAMESPACE;
+<a name="248" href="#248">248</a>         }
+<a name="249" href="#249">249</a> 
+<a name="250" href="#250">250</a>         <strong>return</strong> <strong>null</strong>;
+<a name="251" href="#251">251</a>     }
+<a name="252" href="#252">252</a> 
+<a name="253" href="#253">253</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getNamespaceForURI(String uri) {
+<a name="254" href="#254">254</a>         <strong>if</strong> ((uri == <strong>null</strong>) || (uri.length() <= 0)) {
+<a name="255" href="#255">255</a>             <strong>return</strong> Namespace.NO_NAMESPACE;
+<a name="256" href="#256">256</a>         } <strong>else</strong> <strong>if</strong> (uri.equals(getNamespaceURI())) {
+<a name="257" href="#257">257</a>             <strong>return</strong> getNamespace();
+<a name="258" href="#258">258</a>         } <strong>else</strong> {
+<a name="259" href="#259">259</a>             <strong>final</strong> Object contentShadow = content;
+<a name="260" href="#260">260</a> 
+<a name="261" href="#261">261</a>             <strong>if</strong> (contentShadow instanceof List) {
+<a name="262" href="#262">262</a>                 List list = (List) contentShadow;
+<a name="263" href="#263">263</a> 
+<a name="264" href="#264">264</a>                 <strong>int</strong> size = list.size();
+<a name="265" href="#265">265</a> 
+<a name="266" href="#266">266</a>                 <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="267" href="#267">267</a>                     Object object = list.get(i);
+<a name="268" href="#268">268</a> 
+<a name="269" href="#269">269</a>                     <strong>if</strong> (object instanceof Namespace) {
+<a name="270" href="#270">270</a>                         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) object;
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>                         <strong>if</strong> (uri.equals(namespace.getURI())) {
+<a name="273" href="#273">273</a>                             <strong>return</strong> namespace;
+<a name="274" href="#274">274</a>                         }
+<a name="275" href="#275">275</a>                     }
+<a name="276" href="#276">276</a>                 }
+<a name="277" href="#277">277</a>             } <strong>else</strong> <strong>if</strong> (contentShadow instanceof Namespace) {
+<a name="278" href="#278">278</a>                 <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) contentShadow;
+<a name="279" href="#279">279</a> 
+<a name="280" href="#280">280</a>                 <strong>if</strong> (uri.equals(namespace.getURI())) {
+<a name="281" href="#281">281</a>                     <strong>return</strong> namespace;
+<a name="282" href="#282">282</a>                 }
+<a name="283" href="#283">283</a>             }
+<a name="284" href="#284">284</a> 
+<a name="285" href="#285">285</a>             <a href="../../../org/dom4j/Element.html">Element</a> parent = getParent();
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a>             <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="288" href="#288">288</a>                 <strong>return</strong> parent.getNamespaceForURI(uri);
+<a name="289" href="#289">289</a>             }
+<a name="290" href="#290">290</a> 
+<a name="291" href="#291">291</a>             <strong>return</strong> <strong>null</strong>;
+<a name="292" href="#292">292</a>         }
+<a name="293" href="#293">293</a>     }
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>     <strong>public</strong> List declaredNamespaces() {
+<a name="296" href="#296">296</a>         <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="297" href="#297">297</a> 
+<a name="298" href="#298">298</a>         <em class="comment">// if (getNamespaceURI().length() > 0) {</em>
+<a name="299" href="#299">299</a>         <em class="comment">//</em>
+<a name="300" href="#300">300</a>         <em class="comment">// answer.addLocal(getNamespace());</em>
+<a name="301" href="#301">301</a>         <em class="comment">//</em>
+<a name="302" href="#302">302</a>         <em class="comment">// }</em>
+<a name="303" href="#303">303</a>         <strong>final</strong> Object contentShadow = content;
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="306" href="#306">306</a>             List list = (List) contentShadow;
+<a name="307" href="#307">307</a> 
+<a name="308" href="#308">308</a>             <strong>int</strong> size = list.size();
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="311" href="#311">311</a>                 Object object = list.get(i);
+<a name="312" href="#312">312</a> 
+<a name="313" href="#313">313</a>                 <strong>if</strong> (object instanceof Namespace) {
+<a name="314" href="#314">314</a>                     answer.addLocal(object);
+<a name="315" href="#315">315</a>                 }
+<a name="316" href="#316">316</a>             }
+<a name="317" href="#317">317</a>         } <strong>else</strong> {
+<a name="318" href="#318">318</a>             <strong>if</strong> (contentShadow instanceof Namespace) {
+<a name="319" href="#319">319</a>                 answer.addLocal(contentShadow);
+<a name="320" href="#320">320</a>             }
+<a name="321" href="#321">321</a>         }
+<a name="322" href="#322">322</a> 
+<a name="323" href="#323">323</a>         <strong>return</strong> answer;
+<a name="324" href="#324">324</a>     }
+<a name="325" href="#325">325</a> 
+<a name="326" href="#326">326</a>     <strong>public</strong> List additionalNamespaces() {
+<a name="327" href="#327">327</a>         <strong>final</strong> Object contentShadow = content;
+<a name="328" href="#328">328</a> 
+<a name="329" href="#329">329</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="330" href="#330">330</a>             List list = (List) contentShadow;
+<a name="331" href="#331">331</a> 
+<a name="332" href="#332">332</a>             <strong>int</strong> size = list.size();
+<a name="333" href="#333">333</a> 
+<a name="334" href="#334">334</a>             <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="335" href="#335">335</a> 
+<a name="336" href="#336">336</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="337" href="#337">337</a>                 Object object = list.get(i);
+<a name="338" href="#338">338</a> 
+<a name="339" href="#339">339</a>                 <strong>if</strong> (object instanceof Namespace) {
+<a name="340" href="#340">340</a>                     <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) object;
+<a name="341" href="#341">341</a> 
+<a name="342" href="#342">342</a>                     <strong>if</strong> (!namespace.equals(getNamespace())) {
+<a name="343" href="#343">343</a>                         answer.addLocal(namespace);
+<a name="344" href="#344">344</a>                     }
+<a name="345" href="#345">345</a>                 }
+<a name="346" href="#346">346</a>             }
+<a name="347" href="#347">347</a> 
+<a name="348" href="#348">348</a>             <strong>return</strong> answer;
+<a name="349" href="#349">349</a>         } <strong>else</strong> {
+<a name="350" href="#350">350</a>             <strong>if</strong> (contentShadow instanceof Namespace) {
+<a name="351" href="#351">351</a>                 <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) contentShadow;
+<a name="352" href="#352">352</a> 
+<a name="353" href="#353">353</a>                 <strong>if</strong> (namespace.equals(getNamespace())) {
+<a name="354" href="#354">354</a>                     <strong>return</strong> createEmptyList();
+<a name="355" href="#355">355</a>                 }
+<a name="356" href="#356">356</a> 
+<a name="357" href="#357">357</a>                 <strong>return</strong> createSingleResultList(namespace);
+<a name="358" href="#358">358</a>             } <strong>else</strong> {
+<a name="359" href="#359">359</a>                 <strong>return</strong> createEmptyList();
+<a name="360" href="#360">360</a>             }
+<a name="361" href="#361">361</a>         }
+<a name="362" href="#362">362</a>     }
+<a name="363" href="#363">363</a> 
+<a name="364" href="#364">364</a>     <strong>public</strong> List additionalNamespaces(String defaultNamespaceURI) {
+<a name="365" href="#365">365</a>         <strong>final</strong> Object contentShadow = content;
+<a name="366" href="#366">366</a> 
+<a name="367" href="#367">367</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="368" href="#368">368</a>             List list = (List) contentShadow;
+<a name="369" href="#369">369</a> 
+<a name="370" href="#370">370</a>             <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="371" href="#371">371</a> 
+<a name="372" href="#372">372</a>             <strong>int</strong> size = list.size();
+<a name="373" href="#373">373</a> 
+<a name="374" href="#374">374</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="375" href="#375">375</a>                 Object object = list.get(i);
+<a name="376" href="#376">376</a> 
+<a name="377" href="#377">377</a>                 <strong>if</strong> (object instanceof Namespace) {
+<a name="378" href="#378">378</a>                     <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) object;
+<a name="379" href="#379">379</a> 
+<a name="380" href="#380">380</a>                     <strong>if</strong> (!defaultNamespaceURI.equals(namespace.getURI())) {
+<a name="381" href="#381">381</a>                         answer.addLocal(namespace);
+<a name="382" href="#382">382</a>                     }
+<a name="383" href="#383">383</a>                 }
+<a name="384" href="#384">384</a>             }
+<a name="385" href="#385">385</a> 
+<a name="386" href="#386">386</a>             <strong>return</strong> answer;
+<a name="387" href="#387">387</a>         } <strong>else</strong> {
+<a name="388" href="#388">388</a>             <strong>if</strong> (contentShadow instanceof Namespace) {
+<a name="389" href="#389">389</a>                 <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) contentShadow;
+<a name="390" href="#390">390</a> 
+<a name="391" href="#391">391</a>                 <strong>if</strong> (!defaultNamespaceURI.equals(namespace.getURI())) {
+<a name="392" href="#392">392</a>                     <strong>return</strong> createSingleResultList(namespace);
+<a name="393" href="#393">393</a>                 }
+<a name="394" href="#394">394</a>             }
+<a name="395" href="#395">395</a>         }
+<a name="396" href="#396">396</a> 
+<a name="397" href="#397">397</a>         <strong>return</strong> createEmptyList();
+<a name="398" href="#398">398</a>     }
+<a name="399" href="#399">399</a> 
+<a name="400" href="#400">400</a>     <em class="comment">// Processing instruction API</em>
+<a name="401" href="#401">401</a>     <strong>public</strong> List processingInstructions() {
+<a name="402" href="#402">402</a>         <strong>final</strong> Object contentShadow = content;
+<a name="403" href="#403">403</a> 
+<a name="404" href="#404">404</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="405" href="#405">405</a>             List list = (List) contentShadow;
+<a name="406" href="#406">406</a> 
+<a name="407" href="#407">407</a>             <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="408" href="#408">408</a> 
+<a name="409" href="#409">409</a>             <strong>int</strong> size = list.size();
+<a name="410" href="#410">410</a> 
+<a name="411" href="#411">411</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="412" href="#412">412</a>                 Object object = list.get(i);
+<a name="413" href="#413">413</a> 
+<a name="414" href="#414">414</a>                 <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="415" href="#415">415</a>                     answer.addLocal(object);
+<a name="416" href="#416">416</a>                 }
+<a name="417" href="#417">417</a>             }
+<a name="418" href="#418">418</a> 
+<a name="419" href="#419">419</a>             <strong>return</strong> answer;
+<a name="420" href="#420">420</a>         } <strong>else</strong> {
+<a name="421" href="#421">421</a>             <strong>if</strong> (contentShadow instanceof ProcessingInstruction) {
+<a name="422" href="#422">422</a>                 <strong>return</strong> createSingleResultList(contentShadow);
+<a name="423" href="#423">423</a>             }
+<a name="424" href="#424">424</a> 
+<a name="425" href="#425">425</a>             <strong>return</strong> createEmptyList();
+<a name="426" href="#426">426</a>         }
+<a name="427" href="#427">427</a>     }
+<a name="428" href="#428">428</a> 
+<a name="429" href="#429">429</a>     <strong>public</strong> List processingInstructions(String target) {
+<a name="430" href="#430">430</a>         <strong>final</strong> Object shadow = content;
+<a name="431" href="#431">431</a> 
+<a name="432" href="#432">432</a>         <strong>if</strong> (shadow instanceof List) {
+<a name="433" href="#433">433</a>             List list = (List) shadow;
+<a name="434" href="#434">434</a> 
+<a name="435" href="#435">435</a>             <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="436" href="#436">436</a> 
+<a name="437" href="#437">437</a>             <strong>int</strong> size = list.size();
+<a name="438" href="#438">438</a> 
+<a name="439" href="#439">439</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="440" href="#440">440</a>                 Object object = list.get(i);
+<a name="441" href="#441">441</a> 
+<a name="442" href="#442">442</a>                 <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="443" href="#443">443</a>                     <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) object;
+<a name="444" href="#444">444</a> 
+<a name="445" href="#445">445</a>                     <strong>if</strong> (target.equals(pi.getName())) {
+<a name="446" href="#446">446</a>                         answer.addLocal(pi);
+<a name="447" href="#447">447</a>                     }
+<a name="448" href="#448">448</a>                 }
+<a name="449" href="#449">449</a>             }
+<a name="450" href="#450">450</a> 
+<a name="451" href="#451">451</a>             <strong>return</strong> answer;
+<a name="452" href="#452">452</a>         } <strong>else</strong> {
+<a name="453" href="#453">453</a>             <strong>if</strong> (shadow instanceof ProcessingInstruction) {
+<a name="454" href="#454">454</a>                 <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) shadow;
+<a name="455" href="#455">455</a> 
+<a name="456" href="#456">456</a>                 <strong>if</strong> (target.equals(pi.getName())) {
+<a name="457" href="#457">457</a>                     <strong>return</strong> createSingleResultList(pi);
+<a name="458" href="#458">458</a>                 }
+<a name="459" href="#459">459</a>             }
+<a name="460" href="#460">460</a> 
+<a name="461" href="#461">461</a>             <strong>return</strong> createEmptyList();
+<a name="462" href="#462">462</a>         }
+<a name="463" href="#463">463</a>     }
+<a name="464" href="#464">464</a> 
+<a name="465" href="#465">465</a>     <strong>public</strong> <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> processingInstruction(String target) {
+<a name="466" href="#466">466</a>         <strong>final</strong> Object shadow = content;
+<a name="467" href="#467">467</a> 
+<a name="468" href="#468">468</a>         <strong>if</strong> (shadow instanceof List) {
+<a name="469" href="#469">469</a>             List list = (List) shadow;
+<a name="470" href="#470">470</a> 
+<a name="471" href="#471">471</a>             <strong>int</strong> size = list.size();
+<a name="472" href="#472">472</a> 
+<a name="473" href="#473">473</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="474" href="#474">474</a>                 Object object = list.get(i);
+<a name="475" href="#475">475</a> 
+<a name="476" href="#476">476</a>                 <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="477" href="#477">477</a>                     <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) object;
+<a name="478" href="#478">478</a> 
+<a name="479" href="#479">479</a>                     <strong>if</strong> (target.equals(pi.getName())) {
+<a name="480" href="#480">480</a>                         <strong>return</strong> pi;
+<a name="481" href="#481">481</a>                     }
+<a name="482" href="#482">482</a>                 }
+<a name="483" href="#483">483</a>             }
+<a name="484" href="#484">484</a>         } <strong>else</strong> {
+<a name="485" href="#485">485</a>             <strong>if</strong> (shadow instanceof ProcessingInstruction) {
+<a name="486" href="#486">486</a>                 <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) shadow;
+<a name="487" href="#487">487</a> 
+<a name="488" href="#488">488</a>                 <strong>if</strong> (target.equals(pi.getName())) {
+<a name="489" href="#489">489</a>                     <strong>return</strong> pi;
+<a name="490" href="#490">490</a>                 }
+<a name="491" href="#491">491</a>             }
+<a name="492" href="#492">492</a>         }
+<a name="493" href="#493">493</a> 
+<a name="494" href="#494">494</a>         <strong>return</strong> <strong>null</strong>;
+<a name="495" href="#495">495</a>     }
+<a name="496" href="#496">496</a> 
+<a name="497" href="#497">497</a>     <strong>public</strong> <strong>boolean</strong> removeProcessingInstruction(String target) {
+<a name="498" href="#498">498</a>         <strong>final</strong> Object shadow = content;
+<a name="499" href="#499">499</a> 
+<a name="500" href="#500">500</a>         <strong>if</strong> (shadow instanceof List) {
+<a name="501" href="#501">501</a>             List list = (List) shadow;
+<a name="502" href="#502">502</a> 
+<a name="503" href="#503">503</a>             <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="504" href="#504">504</a>                 Object object = iter.next();
+<a name="505" href="#505">505</a> 
+<a name="506" href="#506">506</a>                 <strong>if</strong> (object instanceof ProcessingInstruction) {
+<a name="507" href="#507">507</a>                     <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) object;
+<a name="508" href="#508">508</a> 
+<a name="509" href="#509">509</a>                     <strong>if</strong> (target.equals(pi.getName())) {
+<a name="510" href="#510">510</a>                         iter.remove();
+<a name="511" href="#511">511</a> 
+<a name="512" href="#512">512</a>                         <strong>return</strong> <strong>true</strong>;
+<a name="513" href="#513">513</a>                     }
+<a name="514" href="#514">514</a>                 }
+<a name="515" href="#515">515</a>             }
+<a name="516" href="#516">516</a>         } <strong>else</strong> {
+<a name="517" href="#517">517</a>             <strong>if</strong> (shadow instanceof ProcessingInstruction) {
+<a name="518" href="#518">518</a>                 <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> pi = (ProcessingInstruction) shadow;
+<a name="519" href="#519">519</a> 
+<a name="520" href="#520">520</a>                 <strong>if</strong> (target.equals(pi.getName())) {
+<a name="521" href="#521">521</a>                     <strong>this</strong>.content = <strong>null</strong>;
+<a name="522" href="#522">522</a> 
+<a name="523" href="#523">523</a>                     <strong>return</strong> <strong>true</strong>;
+<a name="524" href="#524">524</a>                 }
+<a name="525" href="#525">525</a>             }
+<a name="526" href="#526">526</a>         }
+<a name="527" href="#527">527</a> 
+<a name="528" href="#528">528</a>         <strong>return</strong> false;
+<a name="529" href="#529">529</a>     }
+<a name="530" href="#530">530</a> 
+<a name="531" href="#531">531</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> element(String name) {
+<a name="532" href="#532">532</a>         <strong>final</strong> Object contentShadow = content;
+<a name="533" href="#533">533</a> 
+<a name="534" href="#534">534</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="535" href="#535">535</a>             List list = (List) contentShadow;
+<a name="536" href="#536">536</a> 
+<a name="537" href="#537">537</a>             <strong>int</strong> size = list.size();
+<a name="538" href="#538">538</a> 
+<a name="539" href="#539">539</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="540" href="#540">540</a>                 Object object = list.get(i);
+<a name="541" href="#541">541</a> 
+<a name="542" href="#542">542</a>                 <strong>if</strong> (object instanceof Element) {
+<a name="543" href="#543">543</a>                     <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) object;
+<a name="544" href="#544">544</a> 
+<a name="545" href="#545">545</a>                     <strong>if</strong> (name.equals(element.getName())) {
+<a name="546" href="#546">546</a>                         <strong>return</strong> element;
+<a name="547" href="#547">547</a>                     }
+<a name="548" href="#548">548</a>                 }
+<a name="549" href="#549">549</a>             }
+<a name="550" href="#550">550</a>         } <strong>else</strong> {
+<a name="551" href="#551">551</a>             <strong>if</strong> (contentShadow instanceof Element) {
+<a name="552" href="#552">552</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) contentShadow;
+<a name="553" href="#553">553</a> 
+<a name="554" href="#554">554</a>                 <strong>if</strong> (name.equals(element.getName())) {
+<a name="555" href="#555">555</a>                     <strong>return</strong> element;
+<a name="556" href="#556">556</a>                 }
+<a name="557" href="#557">557</a>             }
+<a name="558" href="#558">558</a>         }
+<a name="559" href="#559">559</a> 
+<a name="560" href="#560">560</a>         <strong>return</strong> <strong>null</strong>;
+<a name="561" href="#561">561</a>     }
+<a name="562" href="#562">562</a> 
+<a name="563" href="#563">563</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> element(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="564" href="#564">564</a>         <strong>final</strong> Object contentShadow = content;
+<a name="565" href="#565">565</a> 
+<a name="566" href="#566">566</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="567" href="#567">567</a>             List list = (List) contentShadow;
+<a name="568" href="#568">568</a> 
+<a name="569" href="#569">569</a>             <strong>int</strong> size = list.size();
+<a name="570" href="#570">570</a> 
+<a name="571" href="#571">571</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="572" href="#572">572</a>                 Object object = list.get(i);
+<a name="573" href="#573">573</a> 
+<a name="574" href="#574">574</a>                 <strong>if</strong> (object instanceof Element) {
+<a name="575" href="#575">575</a>                     <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) object;
+<a name="576" href="#576">576</a> 
+<a name="577" href="#577">577</a>                     <strong>if</strong> (qName.equals(element.getQName())) {
+<a name="578" href="#578">578</a>                         <strong>return</strong> element;
+<a name="579" href="#579">579</a>                     }
+<a name="580" href="#580">580</a>                 }
+<a name="581" href="#581">581</a>             }
+<a name="582" href="#582">582</a>         } <strong>else</strong> {
+<a name="583" href="#583">583</a>             <strong>if</strong> (contentShadow instanceof Element) {
+<a name="584" href="#584">584</a>                 <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) contentShadow;
+<a name="585" href="#585">585</a> 
+<a name="586" href="#586">586</a>                 <strong>if</strong> (qName.equals(element.getQName())) {
+<a name="587" href="#587">587</a>                     <strong>return</strong> element;
+<a name="588" href="#588">588</a>                 }
+<a name="589" href="#589">589</a>             }
+<a name="590" href="#590">590</a>         }
+<a name="591" href="#591">591</a> 
+<a name="592" href="#592">592</a>         <strong>return</strong> <strong>null</strong>;
+<a name="593" href="#593">593</a>     }
+<a name="594" href="#594">594</a> 
+<a name="595" href="#595">595</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> element(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="596" href="#596">596</a>         <strong>return</strong> element(getDocumentFactory().createQName(name, namespace));
+<a name="597" href="#597">597</a>     }
+<a name="598" href="#598">598</a> 
+<a name="599" href="#599">599</a>     <strong>public</strong> <strong>void</strong> setContent(List content) {
+<a name="600" href="#600">600</a>         contentRemoved();
+<a name="601" href="#601">601</a> 
+<a name="602" href="#602">602</a>         <strong>if</strong> (content instanceof ContentListFacade) {
+<a name="603" href="#603">603</a>             content = ((ContentListFacade) content).getBackingList();
+<a name="604" href="#604">604</a>         }
+<a name="605" href="#605">605</a> 
+<a name="606" href="#606">606</a>         <strong>if</strong> (content == <strong>null</strong>) {
+<a name="607" href="#607">607</a>             <strong>this</strong>.content = <strong>null</strong>;
+<a name="608" href="#608">608</a>         } <strong>else</strong> {
+<a name="609" href="#609">609</a>             <strong>int</strong> size = content.size();
+<a name="610" href="#610">610</a> 
+<a name="611" href="#611">611</a>             List newContent = createContentList(size);
+<a name="612" href="#612">612</a> 
+<a name="613" href="#613">613</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="614" href="#614">614</a>                 Object object = content.get(i);
+<a name="615" href="#615">615</a> 
+<a name="616" href="#616">616</a>                 <strong>if</strong> (object instanceof Node) {
+<a name="617" href="#617">617</a>                     <a href="../../../org/dom4j/Node.html">Node</a> node = (Node) object;
+<a name="618" href="#618">618</a>                     <a href="../../../org/dom4j/Element.html">Element</a> parent = node.getParent();
+<a name="619" href="#619">619</a> 
+<a name="620" href="#620">620</a>                     <strong>if</strong> ((parent != <strong>null</strong>) && (parent != <strong>this</strong>)) {
+<a name="621" href="#621">621</a>                         node = (Node) node.clone();
+<a name="622" href="#622">622</a>                     }
+<a name="623" href="#623">623</a> 
+<a name="624" href="#624">624</a>                     newContent.add(node);
+<a name="625" href="#625">625</a>                     childAdded(node);
+<a name="626" href="#626">626</a>                 } <strong>else</strong> <strong>if</strong> (object != <strong>null</strong>) {
+<a name="627" href="#627">627</a>                     String text = object.toString();
+<a name="628" href="#628">628</a>                     <a href="../../../org/dom4j/Node.html">Node</a> node = getDocumentFactory().createText(text);
+<a name="629" href="#629">629</a>                     newContent.add(node);
+<a name="630" href="#630">630</a>                     childAdded(node);
+<a name="631" href="#631">631</a>                 }
+<a name="632" href="#632">632</a>             }
+<a name="633" href="#633">633</a> 
+<a name="634" href="#634">634</a>             <strong>this</strong>.content = newContent;
+<a name="635" href="#635">635</a>         }
+<a name="636" href="#636">636</a>     }
+<a name="637" href="#637">637</a> 
+<a name="638" href="#638">638</a>     <strong>public</strong> <strong>void</strong> clearContent() {
+<a name="639" href="#639">639</a>         <strong>if</strong> (content != <strong>null</strong>) {
+<a name="640" href="#640">640</a>             contentRemoved();
+<a name="641" href="#641">641</a> 
+<a name="642" href="#642">642</a>             content = <strong>null</strong>;
+<a name="643" href="#643">643</a>         }
+<a name="644" href="#644">644</a>     }
+<a name="645" href="#645">645</a> 
+<a name="646" href="#646">646</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> node(<strong>int</strong> index) {
+<a name="647" href="#647">647</a>         <strong>if</strong> (index >= 0) {
+<a name="648" href="#648">648</a>             <strong>final</strong> Object contentShadow = content;
+<a name="649" href="#649">649</a>             Object node;
+<a name="650" href="#650">650</a> 
+<a name="651" href="#651">651</a>             <strong>if</strong> (contentShadow instanceof List) {
+<a name="652" href="#652">652</a>                 List list = (List) contentShadow;
+<a name="653" href="#653">653</a> 
+<a name="654" href="#654">654</a>                 <strong>if</strong> (index >= list.size()) {
+<a name="655" href="#655">655</a>                     <strong>return</strong> <strong>null</strong>;
+<a name="656" href="#656">656</a>                 }
+<a name="657" href="#657">657</a> 
+<a name="658" href="#658">658</a>                 node = list.get(index);
+<a name="659" href="#659">659</a>             } <strong>else</strong> {
+<a name="660" href="#660">660</a>                 node = (index == 0) ? contentShadow : <strong>null</strong>;
+<a name="661" href="#661">661</a>             }
+<a name="662" href="#662">662</a> 
+<a name="663" href="#663">663</a>             <strong>if</strong> (node != <strong>null</strong>) {
+<a name="664" href="#664">664</a>                 <strong>if</strong> (node instanceof Node) {
+<a name="665" href="#665">665</a>                     <strong>return</strong> (Node) node;
+<a name="666" href="#666">666</a>                 } <strong>else</strong> {
+<a name="667" href="#667">667</a>                     <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/DefaultText.html">DefaultText</a>(node.toString());
+<a name="668" href="#668">668</a>                 }
+<a name="669" href="#669">669</a>             }
+<a name="670" href="#670">670</a>         }
+<a name="671" href="#671">671</a> 
+<a name="672" href="#672">672</a>         <strong>return</strong> <strong>null</strong>;
+<a name="673" href="#673">673</a>     }
+<a name="674" href="#674">674</a> 
+<a name="675" href="#675">675</a>     <strong>public</strong> <strong>int</strong> indexOf(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="676" href="#676">676</a>         <strong>final</strong> Object contentShadow = content;
+<a name="677" href="#677">677</a> 
+<a name="678" href="#678">678</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="679" href="#679">679</a>             List list = (List) contentShadow;
+<a name="680" href="#680">680</a> 
+<a name="681" href="#681">681</a>             <strong>return</strong> list.indexOf(node);
+<a name="682" href="#682">682</a>         } <strong>else</strong> {
+<a name="683" href="#683">683</a>             <strong>if</strong> ((contentShadow != <strong>null</strong>) && contentShadow.equals(node)) {
+<a name="684" href="#684">684</a>                 <strong>return</strong> 0;
+<a name="685" href="#685">685</a>             } <strong>else</strong> {
+<a name="686" href="#686">686</a>                 <strong>return</strong> -1;
+<a name="687" href="#687">687</a>             }
+<a name="688" href="#688">688</a>         }
+<a name="689" href="#689">689</a>     }
+<a name="690" href="#690">690</a> 
+<a name="691" href="#691">691</a>     <strong>public</strong> <strong>int</strong> nodeCount() {
+<a name="692" href="#692">692</a>         <strong>final</strong> Object contentShadow = content;
+<a name="693" href="#693">693</a> 
+<a name="694" href="#694">694</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="695" href="#695">695</a>             List list = (List) contentShadow;
+<a name="696" href="#696">696</a> 
+<a name="697" href="#697">697</a>             <strong>return</strong> list.size();
+<a name="698" href="#698">698</a>         } <strong>else</strong> {
+<a name="699" href="#699">699</a>             <strong>return</strong> (contentShadow != <strong>null</strong>) ? 1 : 0;
+<a name="700" href="#700">700</a>         }
+<a name="701" href="#701">701</a>     }
+<a name="702" href="#702">702</a> 
+<a name="703" href="#703">703</a>     <strong>public</strong> Iterator nodeIterator() {
+<a name="704" href="#704">704</a>         <strong>final</strong> Object contentShadow = content;
+<a name="705" href="#705">705</a> 
+<a name="706" href="#706">706</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="707" href="#707">707</a>             List list = (List) contentShadow;
+<a name="708" href="#708">708</a> 
+<a name="709" href="#709">709</a>             <strong>return</strong> list.iterator();
+<a name="710" href="#710">710</a>         } <strong>else</strong> {
+<a name="711" href="#711">711</a>             <strong>if</strong> (contentShadow != <strong>null</strong>) {
+<a name="712" href="#712">712</a>                 <strong>return</strong> createSingleIterator(contentShadow);
+<a name="713" href="#713">713</a>             } <strong>else</strong> {
+<a name="714" href="#714">714</a>                 <strong>return</strong> EMPTY_ITERATOR;
+<a name="715" href="#715">715</a>             }
+<a name="716" href="#716">716</a>         }
+<a name="717" href="#717">717</a>     }
+<a name="718" href="#718">718</a> 
+<a name="719" href="#719">719</a>     <strong>public</strong> List attributes() {
+<a name="720" href="#720">720</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/ContentListFacade.html">ContentListFacade</a>(<strong>this</strong>, attributeList());
+<a name="721" href="#721">721</a>     }
+<a name="722" href="#722">722</a> 
+<a name="723" href="#723">723</a>     <strong>public</strong> <strong>void</strong> setAttributes(List attributes) {
+<a name="724" href="#724">724</a>         <strong>if</strong> (attributes instanceof ContentListFacade) {
+<a name="725" href="#725">725</a>             attributes = ((ContentListFacade) attributes).getBackingList();
+<a name="726" href="#726">726</a>         }
+<a name="727" href="#727">727</a> 
+<a name="728" href="#728">728</a>         <strong>this</strong>.attributes = attributes;
+<a name="729" href="#729">729</a>     }
+<a name="730" href="#730">730</a> 
+<a name="731" href="#731">731</a>     <strong>public</strong> Iterator attributeIterator() {
+<a name="732" href="#732">732</a>         <strong>final</strong> Object attributesShadow = <strong>this</strong>.attributes;
+<a name="733" href="#733">733</a> 
+<a name="734" href="#734">734</a>         <strong>if</strong> (attributesShadow instanceof List) {
+<a name="735" href="#735">735</a>             List list = (List) attributesShadow;
+<a name="736" href="#736">736</a> 
+<a name="737" href="#737">737</a>             <strong>return</strong> list.iterator();
+<a name="738" href="#738">738</a>         } <strong>else</strong> <strong>if</strong> (attributesShadow != <strong>null</strong>) {
+<a name="739" href="#739">739</a>             <strong>return</strong> createSingleIterator(attributesShadow);
+<a name="740" href="#740">740</a>         } <strong>else</strong> {
+<a name="741" href="#741">741</a>             <strong>return</strong> EMPTY_ITERATOR;
+<a name="742" href="#742">742</a>         }
+<a name="743" href="#743">743</a>     }
+<a name="744" href="#744">744</a> 
+<a name="745" href="#745">745</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(<strong>int</strong> index) {
+<a name="746" href="#746">746</a>         <strong>final</strong> Object attributesShadow = <strong>this</strong>.attributes;
+<a name="747" href="#747">747</a> 
+<a name="748" href="#748">748</a>         <strong>if</strong> (attributesShadow instanceof List) {
+<a name="749" href="#749">749</a>             List list = (List) attributesShadow;
+<a name="750" href="#750">750</a> 
+<a name="751" href="#751">751</a>             <strong>return</strong> (Attribute) list.get(index);
+<a name="752" href="#752">752</a>         } <strong>else</strong> <strong>if</strong> ((attributesShadow != <strong>null</strong>) && (index == 0)) {
+<a name="753" href="#753">753</a>             <strong>return</strong> (Attribute) attributesShadow;
+<a name="754" href="#754">754</a>         } <strong>else</strong> {
+<a name="755" href="#755">755</a>             <strong>return</strong> <strong>null</strong>;
+<a name="756" href="#756">756</a>         }
+<a name="757" href="#757">757</a>     }
+<a name="758" href="#758">758</a> 
+<a name="759" href="#759">759</a>     <strong>public</strong> <strong>int</strong> attributeCount() {
+<a name="760" href="#760">760</a>         <strong>final</strong> Object attributesShadow = <strong>this</strong>.attributes;
+<a name="761" href="#761">761</a> 
+<a name="762" href="#762">762</a>         <strong>if</strong> (attributesShadow instanceof List) {
+<a name="763" href="#763">763</a>             List list = (List) attributesShadow;
+<a name="764" href="#764">764</a> 
+<a name="765" href="#765">765</a>             <strong>return</strong> list.size();
+<a name="766" href="#766">766</a>         } <strong>else</strong> {
+<a name="767" href="#767">767</a>             <strong>return</strong> (attributesShadow != <strong>null</strong>) ? 1 : 0;
+<a name="768" href="#768">768</a>         }
+<a name="769" href="#769">769</a>     }
+<a name="770" href="#770">770</a> 
+<a name="771" href="#771">771</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(String name) {
+<a name="772" href="#772">772</a>         <strong>final</strong> Object attributesShadow = <strong>this</strong>.attributes;
+<a name="773" href="#773">773</a> 
+<a name="774" href="#774">774</a>         <strong>if</strong> (attributesShadow instanceof List) {
+<a name="775" href="#775">775</a>             List list = (List) attributesShadow;
+<a name="776" href="#776">776</a> 
+<a name="777" href="#777">777</a>             <strong>int</strong> size = list.size();
+<a name="778" href="#778">778</a> 
+<a name="779" href="#779">779</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="780" href="#780">780</a>                 <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) list.get(i);
+<a name="781" href="#781">781</a> 
+<a name="782" href="#782">782</a>                 <strong>if</strong> (name.equals(attribute.getName())) {
+<a name="783" href="#783">783</a>                     <strong>return</strong> attribute;
+<a name="784" href="#784">784</a>                 }
+<a name="785" href="#785">785</a>             }
+<a name="786" href="#786">786</a>         } <strong>else</strong> <strong>if</strong> (attributesShadow != <strong>null</strong>) {
+<a name="787" href="#787">787</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) attributesShadow;
+<a name="788" href="#788">788</a> 
+<a name="789" href="#789">789</a>             <strong>if</strong> (name.equals(attribute.getName())) {
+<a name="790" href="#790">790</a>                 <strong>return</strong> attribute;
+<a name="791" href="#791">791</a>             }
+<a name="792" href="#792">792</a>         }
+<a name="793" href="#793">793</a> 
+<a name="794" href="#794">794</a>         <strong>return</strong> <strong>null</strong>;
+<a name="795" href="#795">795</a>     }
+<a name="796" href="#796">796</a> 
+<a name="797" href="#797">797</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="798" href="#798">798</a>         <strong>final</strong> Object attributesShadow = <strong>this</strong>.attributes;
+<a name="799" href="#799">799</a> 
+<a name="800" href="#800">800</a>         <strong>if</strong> (attributesShadow instanceof List) {
+<a name="801" href="#801">801</a>             List list = (List) attributesShadow;
+<a name="802" href="#802">802</a> 
+<a name="803" href="#803">803</a>             <strong>int</strong> size = list.size();
+<a name="804" href="#804">804</a> 
+<a name="805" href="#805">805</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="806" href="#806">806</a>                 <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) list.get(i);
+<a name="807" href="#807">807</a> 
+<a name="808" href="#808">808</a>                 <strong>if</strong> (qName.equals(attribute.getQName())) {
+<a name="809" href="#809">809</a>                     <strong>return</strong> attribute;
+<a name="810" href="#810">810</a>                 }
+<a name="811" href="#811">811</a>             }
+<a name="812" href="#812">812</a>         } <strong>else</strong> <strong>if</strong> (attributesShadow != <strong>null</strong>) {
+<a name="813" href="#813">813</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) attributesShadow;
+<a name="814" href="#814">814</a> 
+<a name="815" href="#815">815</a>             <strong>if</strong> (qName.equals(attribute.getQName())) {
+<a name="816" href="#816">816</a>                 <strong>return</strong> attribute;
+<a name="817" href="#817">817</a>             }
+<a name="818" href="#818">818</a>         }
+<a name="819" href="#819">819</a> 
+<a name="820" href="#820">820</a>         <strong>return</strong> <strong>null</strong>;
+<a name="821" href="#821">821</a>     }
+<a name="822" href="#822">822</a> 
+<a name="823" href="#823">823</a>     <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="824" href="#824">824</a>         <strong>return</strong> attribute(getDocumentFactory().createQName(name, namespace));
+<a name="825" href="#825">825</a>     }
+<a name="826" href="#826">826</a> 
+<a name="827" href="#827">827</a>     <strong>public</strong> <strong>void</strong> add(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute) {
+<a name="828" href="#828">828</a>         <strong>if</strong> (attribute.getParent() != <strong>null</strong>) {
+<a name="829" href="#829">829</a>             String message = <span class="string">"The Attribute already has an existing parent \""</span>
+<a name="830" href="#830">830</a>                     + attribute.getParent().getQualifiedName() + <span class="string">"\""</span>;
+<a name="831" href="#831">831</a> 
+<a name="832" href="#832">832</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/IllegalAddException.html">IllegalAddException</a>(<strong>this</strong>, attribute, message);
+<a name="833" href="#833">833</a>         }
+<a name="834" href="#834">834</a> 
+<a name="835" href="#835">835</a>         <strong>if</strong> (attribute.getValue() == <strong>null</strong>) {
+<a name="836" href="#836">836</a>             <em class="comment">// try remove a previous attribute with the same</em>
+<a name="837" href="#837">837</a>             <em class="comment">// name since adding an attribute with a null value</em>
+<a name="838" href="#838">838</a>             <em class="comment">// is equivalent to removing it.</em>
+<a name="839" href="#839">839</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> oldAttribute = attribute(attribute.getQName());
+<a name="840" href="#840">840</a> 
+<a name="841" href="#841">841</a>             <strong>if</strong> (oldAttribute != <strong>null</strong>) {
+<a name="842" href="#842">842</a>                 remove(oldAttribute);
+<a name="843" href="#843">843</a>             }
+<a name="844" href="#844">844</a>         } <strong>else</strong> {
+<a name="845" href="#845">845</a>             <strong>if</strong> (attributes == <strong>null</strong>) {
+<a name="846" href="#846">846</a>                 attributes = attribute;
+<a name="847" href="#847">847</a>             } <strong>else</strong> {
+<a name="848" href="#848">848</a>                 attributeList().add(attribute);
+<a name="849" href="#849">849</a>             }
+<a name="850" href="#850">850</a> 
+<a name="851" href="#851">851</a>             childAdded(attribute);
+<a name="852" href="#852">852</a>         }
+<a name="853" href="#853">853</a>     }
+<a name="854" href="#854">854</a> 
+<a name="855" href="#855">855</a>     <strong>public</strong> <strong>boolean</strong> remove(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute) {
+<a name="856" href="#856">856</a>         <strong>boolean</strong> answer = false;
+<a name="857" href="#857">857</a>         <strong>final</strong> Object attributesShadow = <strong>this</strong>.attributes;
+<a name="858" href="#858">858</a> 
+<a name="859" href="#859">859</a>         <strong>if</strong> (attributesShadow instanceof List) {
+<a name="860" href="#860">860</a>             List list = (List) attributesShadow;
+<a name="861" href="#861">861</a> 
+<a name="862" href="#862">862</a>             answer = list.remove(attribute);
+<a name="863" href="#863">863</a> 
+<a name="864" href="#864">864</a>             <strong>if</strong> (!answer) {
+<a name="865" href="#865">865</a>                 <em class="comment">// we may have a copy of the attribute</em>
+<a name="866" href="#866">866</a>                 <a href="../../../org/dom4j/Attribute.html">Attribute</a> copy = attribute(attribute.getQName());
+<a name="867" href="#867">867</a> 
+<a name="868" href="#868">868</a>                 <strong>if</strong> (copy != <strong>null</strong>) {
+<a name="869" href="#869">869</a>                     list.remove(copy);
+<a name="870" href="#870">870</a> 
+<a name="871" href="#871">871</a>                     answer = <strong>true</strong>;
+<a name="872" href="#872">872</a>                 }
+<a name="873" href="#873">873</a>             }
+<a name="874" href="#874">874</a>         } <strong>else</strong> <strong>if</strong> (attributesShadow != <strong>null</strong>) {
+<a name="875" href="#875">875</a>             <strong>if</strong> (attribute.equals(attributesShadow)) {
+<a name="876" href="#876">876</a>                 <strong>this</strong>.attributes = <strong>null</strong>;
+<a name="877" href="#877">877</a> 
+<a name="878" href="#878">878</a>                 answer = <strong>true</strong>;
+<a name="879" href="#879">879</a>             } <strong>else</strong> {
+<a name="880" href="#880">880</a>                 <em class="comment">// we may have a copy of the attribute</em>
+<a name="881" href="#881">881</a>                 <a href="../../../org/dom4j/Attribute.html">Attribute</a> other = (Attribute) attributesShadow;
+<a name="882" href="#882">882</a> 
+<a name="883" href="#883">883</a>                 <strong>if</strong> (attribute.getQName().equals(other.getQName())) {
+<a name="884" href="#884">884</a>                     attributes = <strong>null</strong>;
+<a name="885" href="#885">885</a> 
+<a name="886" href="#886">886</a>                     answer = <strong>true</strong>;
+<a name="887" href="#887">887</a>                 }
+<a name="888" href="#888">888</a>             }
+<a name="889" href="#889">889</a>         }
+<a name="890" href="#890">890</a> 
+<a name="891" href="#891">891</a>         <strong>if</strong> (answer) {
+<a name="892" href="#892">892</a>             childRemoved(attribute);
+<a name="893" href="#893">893</a>         }
+<a name="894" href="#894">894</a> 
+<a name="895" href="#895">895</a>         <strong>return</strong> answer;
+<a name="896" href="#896">896</a>     }
+<a name="897" href="#897">897</a> 
+<a name="898" href="#898">898</a>     <em class="comment">// Implementation methods</em>
+<a name="899" href="#899">899</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="900" href="#900">900</a>     <strong>protected</strong> <strong>void</strong> addNewNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="901" href="#901">901</a>         <strong>final</strong> Object contentShadow = content;
+<a name="902" href="#902">902</a> 
+<a name="903" href="#903">903</a>         <strong>if</strong> (contentShadow == <strong>null</strong>) {
+<a name="904" href="#904">904</a>             <strong>this</strong>.content = node;
+<a name="905" href="#905">905</a>         } <strong>else</strong> {
+<a name="906" href="#906">906</a>             <strong>if</strong> (contentShadow instanceof List) {
+<a name="907" href="#907">907</a>                 List list = (List) contentShadow;
+<a name="908" href="#908">908</a> 
+<a name="909" href="#909">909</a>                 list.add(node);
+<a name="910" href="#910">910</a>             } <strong>else</strong> {
+<a name="911" href="#911">911</a>                 List list = createContentList();
+<a name="912" href="#912">912</a> 
+<a name="913" href="#913">913</a>                 list.add(contentShadow);
+<a name="914" href="#914">914</a> 
+<a name="915" href="#915">915</a>                 list.add(node);
+<a name="916" href="#916">916</a> 
+<a name="917" href="#917">917</a>                 <strong>this</strong>.content = list;
+<a name="918" href="#918">918</a>             }
+<a name="919" href="#919">919</a>         }
+<a name="920" href="#920">920</a> 
+<a name="921" href="#921">921</a>         childAdded(node);
+<a name="922" href="#922">922</a>     }
+<a name="923" href="#923">923</a> 
+<a name="924" href="#924">924</a>     <strong>protected</strong> <strong>boolean</strong> removeNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="925" href="#925">925</a>         <strong>boolean</strong> answer = false;
+<a name="926" href="#926">926</a>         <strong>final</strong> Object contentShadow = content;
+<a name="927" href="#927">927</a> 
+<a name="928" href="#928">928</a>         <strong>if</strong> (contentShadow != <strong>null</strong>) {
+<a name="929" href="#929">929</a>             <strong>if</strong> (contentShadow == node) {
+<a name="930" href="#930">930</a>                 <strong>this</strong>.content = <strong>null</strong>;
+<a name="931" href="#931">931</a> 
+<a name="932" href="#932">932</a>                 answer = <strong>true</strong>;
+<a name="933" href="#933">933</a>             } <strong>else</strong> <strong>if</strong> (contentShadow instanceof List) {
+<a name="934" href="#934">934</a>                 List list = (List) contentShadow;
+<a name="935" href="#935">935</a> 
+<a name="936" href="#936">936</a>                 answer = list.remove(node);
+<a name="937" href="#937">937</a>             }
+<a name="938" href="#938">938</a>         }
+<a name="939" href="#939">939</a> 
+<a name="940" href="#940">940</a>         <strong>if</strong> (answer) {
+<a name="941" href="#941">941</a>             childRemoved(node);
+<a name="942" href="#942">942</a>         }
+<a name="943" href="#943">943</a> 
+<a name="944" href="#944">944</a>         <strong>return</strong> answer;
+<a name="945" href="#945">945</a>     }
+<a name="946" href="#946">946</a> 
+<a name="947" href="#947">947</a>     <strong>protected</strong> List contentList() {
+<a name="948" href="#948">948</a>         <strong>final</strong> Object contentShadow = content;
+<a name="949" href="#949">949</a> 
+<a name="950" href="#950">950</a>         <strong>if</strong> (contentShadow instanceof List) {
+<a name="951" href="#951">951</a>             <strong>return</strong> (List) contentShadow;
+<a name="952" href="#952">952</a>         } <strong>else</strong> {
+<a name="953" href="#953">953</a>             List list = createContentList();
+<a name="954" href="#954">954</a> 
+<a name="955" href="#955">955</a>             <strong>if</strong> (contentShadow != <strong>null</strong>) {
+<a name="956" href="#956">956</a>                 list.add(contentShadow);
+<a name="957" href="#957">957</a>             }
+<a name="958" href="#958">958</a> 
+<a name="959" href="#959">959</a>             <strong>this</strong>.content = list;
+<a name="960" href="#960">960</a> 
+<a name="961" href="#961">961</a>             <strong>return</strong> list;
+<a name="962" href="#962">962</a>         }
+<a name="963" href="#963">963</a>     }
+<a name="964" href="#964">964</a> 
+<a name="965" href="#965">965</a>     <strong>protected</strong> List attributeList() {
+<a name="966" href="#966">966</a>         <strong>final</strong> Object attributesShadow = <strong>this</strong>.attributes;
+<a name="967" href="#967">967</a> 
+<a name="968" href="#968">968</a>         <strong>if</strong> (attributesShadow instanceof List) {
+<a name="969" href="#969">969</a>             <strong>return</strong> (List) attributesShadow;
+<a name="970" href="#970">970</a>         } <strong>else</strong> <strong>if</strong> (attributesShadow != <strong>null</strong>) {
+<a name="971" href="#971">971</a>             List list = createAttributeList();
+<a name="972" href="#972">972</a> 
+<a name="973" href="#973">973</a>             list.add(attributesShadow);
+<a name="974" href="#974">974</a> 
+<a name="975" href="#975">975</a>             <strong>this</strong>.attributes = list;
+<a name="976" href="#976">976</a> 
+<a name="977" href="#977">977</a>             <strong>return</strong> list;
+<a name="978" href="#978">978</a>         } <strong>else</strong> {
+<a name="979" href="#979">979</a>             List list = createAttributeList();
+<a name="980" href="#980">980</a> 
+<a name="981" href="#981">981</a>             <strong>this</strong>.attributes = list;
+<a name="982" href="#982">982</a> 
+<a name="983" href="#983">983</a>             <strong>return</strong> list;
+<a name="984" href="#984">984</a>         }
+<a name="985" href="#985">985</a>     }
+<a name="986" href="#986">986</a> 
+<a name="987" href="#987">987</a>     <strong>protected</strong> List attributeList(<strong>int</strong> size) {
+<a name="988" href="#988">988</a>         <strong>final</strong> Object attributesShadow = <strong>this</strong>.attributes;
+<a name="989" href="#989">989</a> 
+<a name="990" href="#990">990</a>         <strong>if</strong> (attributesShadow instanceof List) {
+<a name="991" href="#991">991</a>             <strong>return</strong> (List) attributesShadow;
+<a name="992" href="#992">992</a>         } <strong>else</strong> <strong>if</strong> (attributesShadow != <strong>null</strong>) {
+<a name="993" href="#993">993</a>             List list = createAttributeList(size);
+<a name="994" href="#994">994</a> 
+<a name="995" href="#995">995</a>             list.add(attributesShadow);
+<a name="996" href="#996">996</a> 
+<a name="997" href="#997">997</a>             <strong>this</strong>.attributes = list;
+<a name="998" href="#998">998</a> 
+<a name="999" href="#999">999</a>             <strong>return</strong> list;
+<a name="1000" href="#1000">1000</a>         } <strong>else</strong> {
+<a name="1001" href="#1001">1001</a>             List list = createAttributeList(size);
+<a name="1002" href="#1002">1002</a> 
+<a name="1003" href="#1003">1003</a>             <strong>this</strong>.attributes = list;
+<a name="1004" href="#1004">1004</a> 
+<a name="1005" href="#1005">1005</a>             <strong>return</strong> list;
+<a name="1006" href="#1006">1006</a>         }
+<a name="1007" href="#1007">1007</a>     }
+<a name="1008" href="#1008">1008</a> 
+<a name="1009" href="#1009">1009</a>     <strong>protected</strong> <strong>void</strong> setAttributeList(List attributeList) {
+<a name="1010" href="#1010">1010</a>         <strong>this</strong>.attributes = attributeList;
+<a name="1011" href="#1011">1011</a>     }
+<a name="1012" href="#1012">1012</a> 
+<a name="1013" href="#1013">1013</a>     <strong>protected</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="1014" href="#1014">1014</a>         <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = qname.getDocumentFactory();
+<a name="1015" href="#1015">1015</a> 
+<a name="1016" href="#1016">1016</a>         <strong>return</strong> (factory != <strong>null</strong>) ? factory : DOCUMENT_FACTORY;
+<a name="1017" href="#1017">1017</a>     }
+<a name="1018" href="#1018">1018</a> }
+<a name="1019" href="#1019">1019</a> 
+<a name="1020" href="#1020">1020</a> <em class="comment">/*</em>
+<a name="1021" href="#1021">1021</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="1022" href="#1022">1022</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="1023" href="#1023">1023</a> <em class="comment"> * following conditions are met:</em>
+<a name="1024" href="#1024">1024</a> <em class="comment"> * </em>
+<a name="1025" href="#1025">1025</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="1026" href="#1026">1026</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="1027" href="#1027">1027</a> <em class="comment"> * </em>
+<a name="1028" href="#1028">1028</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="1029" href="#1029">1029</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="1030" href="#1030">1030</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="1031" href="#1031">1031</a> <em class="comment"> * </em>
+<a name="1032" href="#1032">1032</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="1033" href="#1033">1033</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="1034" href="#1034">1034</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="1035" href="#1035">1035</a> <em class="comment"> * </em>
+<a name="1036" href="#1036">1036</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="1037" href="#1037">1037</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="1038" href="#1038">1038</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="1039" href="#1039">1039</a> <em class="comment"> * </em>
+<a name="1040" href="#1040">1040</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="1041" href="#1041">1041</a> <em class="comment"> * </em>
+<a name="1042" href="#1042">1042</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="1043" href="#1043">1043</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="1044" href="#1044">1044</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="1045" href="#1045">1045</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="1046" href="#1046">1046</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="1047" href="#1047">1047</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="1048" href="#1048">1048</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="1049" href="#1049">1049</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="1050" href="#1050">1050</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="1051" href="#1051">1051</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="1052" href="#1052">1052</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="1053" href="#1053">1053</a> <em class="comment"> * </em>
+<a name="1054" href="#1054">1054</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="1055" href="#1055">1055</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultEntity.html b/docs/xref/org/dom4j/tree/DefaultEntity.html
new file mode 100644
index 0000000..b5c163a
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultEntity.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultEntity xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultEntity.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>DefaultEntity</code> is the default Entity implementation. It is a</em>
+<a name="15" href="#15">15</a>  <em> * doubly linked node which supports the parent relationship and can be modified</em>
+<a name="16" href="#16">16</a>  <em> * in place.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.11 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultEntity.html">DefaultEntity</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/FlyweightEntity.html">FlyweightEntity</a> {
+<a name="23" href="#23">23</a>      <em>/**<em>* The parent of this node */</em></em>
+<a name="24" href="#24">24</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> parent;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em>/**<em>*</em></em>
+<a name="27" href="#27">27</a>  <em>     * Creates the <code>Entity</code> with the specified name</em>
+<a name="28" href="#28">28</a>  <em>     * </em>
+<a name="29" href="#29">29</a>  <em>     * @param name</em>
+<a name="30" href="#30">30</a>  <em>     *            is the name of the entity</em>
+<a name="31" href="#31">31</a>  <em>     */</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultEntity.html">DefaultEntity</a>(String name) {
+<a name="33" href="#33">33</a>          <strong>super</strong>(name);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * Creates the <code>Entity</code> with the specified name and text.</em>
+<a name="38" href="#38">38</a>  <em>     * </em>
+<a name="39" href="#39">39</a>  <em>     * @param name</em>
+<a name="40" href="#40">40</a>  <em>     *            is the name of the entity</em>
+<a name="41" href="#41">41</a>  <em>     * @param text</em>
+<a name="42" href="#42">42</a>  <em>     *            is the text of the entity</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultEntity.html">DefaultEntity</a>(String name, String text) {
+<a name="45" href="#45">45</a>          <strong>super</strong>(name, text);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <em>/**<em>*</em></em>
+<a name="49" href="#49">49</a>  <em>     * Creates the <code>Entity</code> with the specified name and text.</em>
+<a name="50" href="#50">50</a>  <em>     * </em>
+<a name="51" href="#51">51</a>  <em>     * @param parent</em>
+<a name="52" href="#52">52</a>  <em>     *            is the parent element</em>
+<a name="53" href="#53">53</a>  <em>     * @param name</em>
+<a name="54" href="#54">54</a>  <em>     *            is the name of the entity</em>
+<a name="55" href="#55">55</a>  <em>     * @param text</em>
+<a name="56" href="#56">56</a>  <em>     *            is the text of the entity</em>
+<a name="57" href="#57">57</a>  <em>     */</em>
+<a name="58" href="#58">58</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultEntity.html">DefaultEntity</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String name, String text) {
+<a name="59" href="#59">59</a>          <strong>super</strong>(name, text);
+<a name="60" href="#60">60</a>          <strong>this</strong>.parent = parent;
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> setName(String name) {
+<a name="64" href="#64">64</a>          <strong>this</strong>.name = name;
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="68" href="#68">68</a>          <strong>this</strong>.text = text;
+<a name="69" href="#69">69</a>      }
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="72" href="#72">72</a>          <strong>return</strong> parent;
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="76" href="#76">76</a>          <strong>this</strong>.parent = parent;
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="80" href="#80">80</a>          <strong>return</strong> <strong>true</strong>;
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="84" href="#84">84</a>          <strong>return</strong> false;
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>  <em class="comment">/*</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * following conditions are met:</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * </em>
+<a name="96" href="#96">96</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * </em>
+<a name="100" href="#100">100</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="101" href="#101">101</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="102" href="#102">102</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="105" href="#105">105</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="106" href="#106">106</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="107" href="#107">107</a> <em class="comment"> * </em>
+<a name="108" href="#108">108</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="111" href="#111">111</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="112" href="#112">112</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="113" href="#113">113</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="114" href="#114">114</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="115" href="#115">115</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="116" href="#116">116</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="117" href="#117">117</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="118" href="#118">118</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="119" href="#119">119</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="120" href="#120">120</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="121" href="#121">121</a> <em class="comment"> * </em>
+<a name="122" href="#122">122</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="123" href="#123">123</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultNamespace.html b/docs/xref/org/dom4j/tree/DefaultNamespace.html
new file mode 100644
index 0000000..35abc25
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultNamespace.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultNamespace xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultNamespace.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>DefaultNamespace</code> implements a doubly linked node which</em>
+<a name="16" href="#16">16</a>  <em> * supports the parent relationship and is mutable. It is useful when returning</em>
+<a name="17" href="#17">17</a>  <em> * results from XPath expressions.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.16 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultNamespace.html">DefaultNamespace</a> <strong>extends</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> {
+<a name="24" href="#24">24</a>      <em>/**<em>* The parent of this node */</em></em>
+<a name="25" href="#25">25</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> parent;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <em>/**<em>*</em></em>
+<a name="28" href="#28">28</a>  <em>     * DOCUMENT ME!</em>
+<a name="29" href="#29">29</a>  <em>     * </em>
+<a name="30" href="#30">30</a>  <em>     * @param prefix</em>
+<a name="31" href="#31">31</a>  <em>     *            is the prefix for this namespace</em>
+<a name="32" href="#32">32</a>  <em>     * @param uri</em>
+<a name="33" href="#33">33</a>  <em>     *            is the URI for this namespace</em>
+<a name="34" href="#34">34</a>  <em>     */</em>
+<a name="35" href="#35">35</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultNamespace.html">DefaultNamespace</a>(String prefix, String uri) {
+<a name="36" href="#36">36</a>          <strong>super</strong>(prefix, uri);
+<a name="37" href="#37">37</a>      }
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>*</em></em>
+<a name="40" href="#40">40</a>  <em>     * DOCUMENT ME!</em>
+<a name="41" href="#41">41</a>  <em>     * </em>
+<a name="42" href="#42">42</a>  <em>     * @param parent</em>
+<a name="43" href="#43">43</a>  <em>     *            is the parent element</em>
+<a name="44" href="#44">44</a>  <em>     * @param prefix</em>
+<a name="45" href="#45">45</a>  <em>     *            is the prefix for this namespace</em>
+<a name="46" href="#46">46</a>  <em>     * @param uri</em>
+<a name="47" href="#47">47</a>  <em>     *            is the URI for this namespace</em>
+<a name="48" href="#48">48</a>  <em>     */</em>
+<a name="49" href="#49">49</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultNamespace.html">DefaultNamespace</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String prefix, String uri) {
+<a name="50" href="#50">50</a>          <strong>super</strong>(prefix, uri);
+<a name="51" href="#51">51</a>          <strong>this</strong>.parent = parent;
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <em>/**<em>*</em></em>
+<a name="55" href="#55">55</a>  <em>     * DOCUMENT ME!</em>
+<a name="56" href="#56">56</a>  <em>     * </em>
+<a name="57" href="#57">57</a>  <em>     * @return the hash code based on the qualified name and the URI of the</em>
+<a name="58" href="#58">58</a>  <em>     *         namespace and the hashCode() of the parent element.</em>
+<a name="59" href="#59">59</a>  <em>     */</em>
+<a name="60" href="#60">60</a>      <strong>protected</strong> <strong>int</strong> createHashCode() {
+<a name="61" href="#61">61</a>          <strong>int</strong> hashCode = <strong>super</strong>.createHashCode();
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          <strong>if</strong> (parent != <strong>null</strong>) {
+<a name="64" href="#64">64</a>              hashCode ^= parent.hashCode();
+<a name="65" href="#65">65</a>          }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>          <strong>return</strong> hashCode;
+<a name="68" href="#68">68</a>      }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>      <em>/**<em>*</em></em>
+<a name="71" href="#71">71</a>  <em>     * Implements an identity based comparsion using the parent element as well</em>
+<a name="72" href="#72">72</a>  <em>     * as the prefix and URI</em>
+<a name="73" href="#73">73</a>  <em>     * </em>
+<a name="74" href="#74">74</a>  <em>     * @param object</em>
+<a name="75" href="#75">75</a>  <em>     *            DOCUMENT ME!</em>
+<a name="76" href="#76">76</a>  <em>     * </em>
+<a name="77" href="#77">77</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="78" href="#78">78</a>  <em>     */</em>
+<a name="79" href="#79">79</a>      <strong>public</strong> <strong>boolean</strong> equals(Object object) {
+<a name="80" href="#80">80</a>          <strong>if</strong> (object instanceof DefaultNamespace) {
+<a name="81" href="#81">81</a>              <a href="../../../org/dom4j/tree/DefaultNamespace.html">DefaultNamespace</a> that = (DefaultNamespace) object;
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>              <strong>if</strong> (that.parent == parent) {
+<a name="84" href="#84">84</a>                  <strong>return</strong> <strong>super</strong>.equals(object);
+<a name="85" href="#85">85</a>              }
+<a name="86" href="#86">86</a>          }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>          <strong>return</strong> false;
+<a name="89" href="#89">89</a>      }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>      <strong>public</strong> <strong>int</strong> hashCode() {
+<a name="92" href="#92">92</a>          <strong>return</strong> <strong>super</strong>.hashCode();
+<a name="93" href="#93">93</a>      }
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="96" href="#96">96</a>          <strong>return</strong> parent;
+<a name="97" href="#97">97</a>      }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="100" href="#100">100</a>         <strong>this</strong>.parent = parent;
+<a name="101" href="#101">101</a>     }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>     <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="104" href="#104">104</a>         <strong>return</strong> <strong>true</strong>;
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a>     
+<a name="107" href="#107">107</a>     <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="108" href="#108">108</a>         <strong>return</strong> false;
+<a name="109" href="#109">109</a>     }
+<a name="110" href="#110">110</a> }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a> <em class="comment">/*</em>
+<a name="113" href="#113">113</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="114" href="#114">114</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="115" href="#115">115</a> <em class="comment"> * following conditions are met:</em>
+<a name="116" href="#116">116</a> <em class="comment"> * </em>
+<a name="117" href="#117">117</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="118" href="#118">118</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="119" href="#119">119</a> <em class="comment"> * </em>
+<a name="120" href="#120">120</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="121" href="#121">121</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="122" href="#122">122</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="123" href="#123">123</a> <em class="comment"> * </em>
+<a name="124" href="#124">124</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="125" href="#125">125</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="126" href="#126">126</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="129" href="#129">129</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="130" href="#130">130</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="131" href="#131">131</a> <em class="comment"> * </em>
+<a name="132" href="#132">132</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="133" href="#133">133</a> <em class="comment"> * </em>
+<a name="134" href="#134">134</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="135" href="#135">135</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="136" href="#136">136</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="137" href="#137">137</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="138" href="#138">138</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="139" href="#139">139</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="140" href="#140">140</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="141" href="#141">141</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="142" href="#142">142</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="143" href="#143">143</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="144" href="#144">144</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="145" href="#145">145</a> <em class="comment"> * </em>
+<a name="146" href="#146">146</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="147" href="#147">147</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultProcessingInstruction.html b/docs/xref/org/dom4j/tree/DefaultProcessingInstruction.html
new file mode 100644
index 0000000..952757b
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultProcessingInstruction.html
@@ -0,0 +1,158 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultProcessingInstruction xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultProcessingInstruction.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Map;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Element;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>DefaultProcessingInstruction</code> is the default Processing</em>
+<a name="17" href="#17">17</a>  <em> * Instruction implementation. It is a doubly linked node which supports the</em>
+<a name="18" href="#18">18</a>  <em> * parent relationship and can be modified in place.</em>
+<a name="19" href="#19">19</a>  <em> * </p></em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.13 $</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultProcessingInstruction.html">DefaultProcessingInstruction</a> <strong>extends</strong>
+<a name="25" href="#25">25</a>          org.dom4j.tree.FlyweightProcessingInstruction {
+<a name="26" href="#26">26</a>      <em>/**<em>* The parent of this node */</em></em>
+<a name="27" href="#27">27</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> parent;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <em>/**<em>*</em></em>
+<a name="30" href="#30">30</a>  <em>     * <p></em>
+<a name="31" href="#31">31</a>  <em>     * This will create a new PI with the given target and values</em>
+<a name="32" href="#32">32</a>  <em>     * </p></em>
+<a name="33" href="#33">33</a>  <em>     * </em>
+<a name="34" href="#34">34</a>  <em>     * @param target</em>
+<a name="35" href="#35">35</a>  <em>     *            is the name of the PI</em>
+<a name="36" href="#36">36</a>  <em>     * @param values</em>
+<a name="37" href="#37">37</a>  <em>     *            is the <code>Map</code> values for the PI</em>
+<a name="38" href="#38">38</a>  <em>     */</em>
+<a name="39" href="#39">39</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultProcessingInstruction.html">DefaultProcessingInstruction</a>(String target, Map values) {
+<a name="40" href="#40">40</a>          <strong>super</strong>(target, values);
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>*</em></em>
+<a name="44" href="#44">44</a>  <em>     * <p></em>
+<a name="45" href="#45">45</a>  <em>     * This will create a new PI with the given target and values</em>
+<a name="46" href="#46">46</a>  <em>     * </p></em>
+<a name="47" href="#47">47</a>  <em>     * </em>
+<a name="48" href="#48">48</a>  <em>     * @param target</em>
+<a name="49" href="#49">49</a>  <em>     *            is the name of the PI</em>
+<a name="50" href="#50">50</a>  <em>     * @param values</em>
+<a name="51" href="#51">51</a>  <em>     *            is the values for the PI</em>
+<a name="52" href="#52">52</a>  <em>     */</em>
+<a name="53" href="#53">53</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultProcessingInstruction.html">DefaultProcessingInstruction</a>(String target, String values) {
+<a name="54" href="#54">54</a>          <strong>super</strong>(target, values);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <em>/**<em>*</em></em>
+<a name="58" href="#58">58</a>  <em>     * <p></em>
+<a name="59" href="#59">59</a>  <em>     * This will create a new PI with the given target and values</em>
+<a name="60" href="#60">60</a>  <em>     * </p></em>
+<a name="61" href="#61">61</a>  <em>     * </em>
+<a name="62" href="#62">62</a>  <em>     * @param parent</em>
+<a name="63" href="#63">63</a>  <em>     *            is the parent element</em>
+<a name="64" href="#64">64</a>  <em>     * @param target</em>
+<a name="65" href="#65">65</a>  <em>     *            is the name of the PI</em>
+<a name="66" href="#66">66</a>  <em>     * @param values</em>
+<a name="67" href="#67">67</a>  <em>     *            is the values for the PI</em>
+<a name="68" href="#68">68</a>  <em>     */</em>
+<a name="69" href="#69">69</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultProcessingInstruction.html">DefaultProcessingInstruction</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String target,
+<a name="70" href="#70">70</a>              String values) {
+<a name="71" href="#71">71</a>          <strong>super</strong>(target, values);
+<a name="72" href="#72">72</a>          <strong>this</strong>.parent = parent;
+<a name="73" href="#73">73</a>      }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>      <strong>public</strong> <strong>void</strong> setTarget(String target) {
+<a name="76" href="#76">76</a>          <strong>this</strong>.target = target;
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="80" href="#80">80</a>          <strong>this</strong>.text = text;
+<a name="81" href="#81">81</a>          <strong>this</strong>.values = parseValues(text);
+<a name="82" href="#82">82</a>      }
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>      <strong>public</strong> <strong>void</strong> setValues(Map values) {
+<a name="85" href="#85">85</a>          <strong>this</strong>.values = values;
+<a name="86" href="#86">86</a>          <strong>this</strong>.text = toString(values);
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> <strong>void</strong> setValue(String name, String value) {
+<a name="90" href="#90">90</a>          values.put(name, value);
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="94" href="#94">94</a>          <strong>return</strong> parent;
+<a name="95" href="#95">95</a>      }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="98" href="#98">98</a>          <strong>this</strong>.parent = parent;
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="102" href="#102">102</a>         <strong>return</strong> <strong>true</strong>;
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="106" href="#106">106</a>         <strong>return</strong> false;
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a> <em class="comment">/*</em>
+<a name="111" href="#111">111</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="112" href="#112">112</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="113" href="#113">113</a> <em class="comment"> * following conditions are met:</em>
+<a name="114" href="#114">114</a> <em class="comment"> * </em>
+<a name="115" href="#115">115</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="116" href="#116">116</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="117" href="#117">117</a> <em class="comment"> * </em>
+<a name="118" href="#118">118</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="119" href="#119">119</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="120" href="#120">120</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="121" href="#121">121</a> <em class="comment"> * </em>
+<a name="122" href="#122">122</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="123" href="#123">123</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="124" href="#124">124</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="125" href="#125">125</a> <em class="comment"> * </em>
+<a name="126" href="#126">126</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="127" href="#127">127</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="128" href="#128">128</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="129" href="#129">129</a> <em class="comment"> * </em>
+<a name="130" href="#130">130</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="131" href="#131">131</a> <em class="comment"> * </em>
+<a name="132" href="#132">132</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="133" href="#133">133</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="134" href="#134">134</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="135" href="#135">135</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="136" href="#136">136</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="137" href="#137">137</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="138" href="#138">138</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="139" href="#139">139</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="140" href="#140">140</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="141" href="#141">141</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="142" href="#142">142</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="143" href="#143">143</a> <em class="comment"> * </em>
+<a name="144" href="#144">144</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="145" href="#145">145</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/DefaultText.html b/docs/xref/org/dom4j/tree/DefaultText.html
new file mode 100644
index 0000000..6dd4e44
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/DefaultText.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultText xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/DefaultText.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>DefaultText</code> is the default Text implementation. It is a doubly</em>
+<a name="15" href="#15">15</a>  <em> * linked node which supports the parent relationship and can be modified in</em>
+<a name="16" href="#16">16</a>  <em> * place.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.11 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/DefaultText.html">DefaultText</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/FlyweightText.html">FlyweightText</a> {
+<a name="23" href="#23">23</a>      <em>/**<em>* The parent of this node */</em></em>
+<a name="24" href="#24">24</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> parent;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <em>/**<em>*</em></em>
+<a name="27" href="#27">27</a>  <em>     * DOCUMENT ME!</em>
+<a name="28" href="#28">28</a>  <em>     * </em>
+<a name="29" href="#29">29</a>  <em>     * @param text</em>
+<a name="30" href="#30">30</a>  <em>     *            is the Text text</em>
+<a name="31" href="#31">31</a>  <em>     */</em>
+<a name="32" href="#32">32</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultText.html">DefaultText</a>(String text) {
+<a name="33" href="#33">33</a>          <strong>super</strong>(text);
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * DOCUMENT ME!</em>
+<a name="38" href="#38">38</a>  <em>     * </em>
+<a name="39" href="#39">39</a>  <em>     * @param parent</em>
+<a name="40" href="#40">40</a>  <em>     *            is the parent element</em>
+<a name="41" href="#41">41</a>  <em>     * @param text</em>
+<a name="42" href="#42">42</a>  <em>     *            is the Text text</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/DefaultText.html">DefaultText</a>(<a href="../../../org/dom4j/Element.html">Element</a> parent, String text) {
+<a name="45" href="#45">45</a>          <strong>super</strong>(text);
+<a name="46" href="#46">46</a>          <strong>this</strong>.parent = parent;
+<a name="47" href="#47">47</a>      }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>      <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="50" href="#50">50</a>          <strong>this</strong>.text = text;
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getParent() {
+<a name="54" href="#54">54</a>          <strong>return</strong> parent;
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> setParent(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="58" href="#58">58</a>          <strong>this</strong>.parent = parent;
+<a name="59" href="#59">59</a>      }
+<a name="60" href="#60">60</a>  
+<a name="61" href="#61">61</a>      <strong>public</strong> <strong>boolean</strong> supportsParent() {
+<a name="62" href="#62">62</a>          <strong>return</strong> <strong>true</strong>;
+<a name="63" href="#63">63</a>      }
+<a name="64" href="#64">64</a>  
+<a name="65" href="#65">65</a>      <strong>public</strong> <strong>boolean</strong> isReadOnly() {
+<a name="66" href="#66">66</a>          <strong>return</strong> false;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  }
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>  <em class="comment">/*</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * following conditions are met:</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="91" href="#91">91</a>  <em class="comment"> * </em>
+<a name="92" href="#92">92</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="100" href="#100">100</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="101" href="#101">101</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="102" href="#102">102</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="105" href="#105">105</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/ElementIterator.html b/docs/xref/org/dom4j/tree/ElementIterator.html
new file mode 100644
index 0000000..3541b3a
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/ElementIterator.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementIterator xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/ElementIterator.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Iterator;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Element;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>ElementIterator</code> is a filtering {@link Iterator}which filters</em>
+<a name="17" href="#17">17</a>  <em> * out objects which do not implement the {@link Element}interface.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @deprecated THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/ElementIterator.html">ElementIterator</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/FilterIterator.html">FilterIterator</a> {
+<a name="26" href="#26">26</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/ElementIterator.html">ElementIterator</a>(Iterator proxy) {
+<a name="27" href="#27">27</a>          <strong>super</strong>(proxy);
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em>     * DOCUMENT ME!</em>
+<a name="32" href="#32">32</a>  <em>     * </em>
+<a name="33" href="#33">33</a>  <em>     * @param element</em>
+<a name="34" href="#34">34</a>  <em>     *            DOCUMENT ME!</em>
+<a name="35" href="#35">35</a>  <em>     * </em>
+<a name="36" href="#36">36</a>  <em>     * @return true if the given element implements the {@link Element}</em>
+<a name="37" href="#37">37</a>  <em>     *         interface</em>
+<a name="38" href="#38">38</a>  <em>     */</em>
+<a name="39" href="#39">39</a>      <strong>protected</strong> <strong>boolean</strong> matches(Object element) {
+<a name="40" href="#40">40</a>          <strong>return</strong> element instanceof Element;
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>  <em class="comment">/*</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="46" href="#46">46</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * following conditions are met:</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * </em>
+<a name="52" href="#52">52</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * </em>
+<a name="78" href="#78">78</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="79" href="#79">79</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/ElementNameIterator.html b/docs/xref/org/dom4j/tree/ElementNameIterator.html
new file mode 100644
index 0000000..d6cbc51
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/ElementNameIterator.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementNameIterator xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/ElementNameIterator.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Iterator;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Element;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>ElementNameIterator</code> is a filtering {@link Iterator}which</em>
+<a name="17" href="#17">17</a>  <em> * filters out objects which do not implement the {@link Element}interface and</em>
+<a name="18" href="#18">18</a>  <em> * are not of the correct element name.</em>
+<a name="19" href="#19">19</a>  <em> * </p></em>
+<a name="20" href="#20">20</a>  <em> * </em>
+<a name="21" href="#21">21</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="22" href="#22">22</a>  <em> * @version $Revision: 1.11 $</em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @deprecated THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/ElementNameIterator.html">ElementNameIterator</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/FilterIterator.html">FilterIterator</a> {
+<a name="27" href="#27">27</a>      <strong>private</strong> String name;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/ElementNameIterator.html">ElementNameIterator</a>(Iterator proxy, String name) {
+<a name="30" href="#30">30</a>          <strong>super</strong>(proxy);
+<a name="31" href="#31">31</a>          <strong>this</strong>.name = name;
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em>/**<em>*</em></em>
+<a name="35" href="#35">35</a>  <em>     * DOCUMENT ME!</em>
+<a name="36" href="#36">36</a>  <em>     * </em>
+<a name="37" href="#37">37</a>  <em>     * @param object</em>
+<a name="38" href="#38">38</a>  <em>     *            DOCUMENT ME!</em>
+<a name="39" href="#39">39</a>  <em>     * </em>
+<a name="40" href="#40">40</a>  <em>     * @return true if the given element implements the {@link Element}</em>
+<a name="41" href="#41">41</a>  <em>     *         interface</em>
+<a name="42" href="#42">42</a>  <em>     */</em>
+<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>boolean</strong> matches(Object object) {
+<a name="44" href="#44">44</a>          <strong>if</strong> (object instanceof Element) {
+<a name="45" href="#45">45</a>              <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) object;
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>              <strong>return</strong> name.equals(element.getName());
+<a name="48" href="#48">48</a>          }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>          <strong>return</strong> false;
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>  <em class="comment">/*</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * following conditions are met:</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/ElementQNameIterator.html b/docs/xref/org/dom4j/tree/ElementQNameIterator.html
new file mode 100644
index 0000000..a3d829f
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/ElementQNameIterator.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ElementQNameIterator xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/ElementQNameIterator.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Iterator;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Element;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.QName;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * <p></em>
+<a name="17" href="#17">17</a>  <em> * <code>ElementQNameIterator</code> is a filtering {@link Iterator}which</em>
+<a name="18" href="#18">18</a>  <em> * filters out objects which do not implement the {@link Element}interface and</em>
+<a name="19" href="#19">19</a>  <em> * are not of the correct fully qualified element name.</em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @deprecated THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/ElementQNameIterator.html">ElementQNameIterator</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/FilterIterator.html">FilterIterator</a> {
+<a name="28" href="#28">28</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> qName;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/ElementQNameIterator.html">ElementQNameIterator</a>(Iterator proxy, <a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="31" href="#31">31</a>          <strong>super</strong>(proxy);
+<a name="32" href="#32">32</a>          <strong>this</strong>.qName = qName;
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>*</em></em>
+<a name="36" href="#36">36</a>  <em>     * DOCUMENT ME!</em>
+<a name="37" href="#37">37</a>  <em>     * </em>
+<a name="38" href="#38">38</a>  <em>     * @param object</em>
+<a name="39" href="#39">39</a>  <em>     *            DOCUMENT ME!</em>
+<a name="40" href="#40">40</a>  <em>     * </em>
+<a name="41" href="#41">41</a>  <em>     * @return true if the given element implements the {@link Element}</em>
+<a name="42" href="#42">42</a>  <em>     *         interface and matches the given {@link QName}</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>      <strong>protected</strong> <strong>boolean</strong> matches(Object object) {
+<a name="45" href="#45">45</a>          <strong>if</strong> (object instanceof Element) {
+<a name="46" href="#46">46</a>              <a href="../../../org/dom4j/Element.html">Element</a> element = (Element) object;
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>              <strong>return</strong> qName.equals(element.getQName());
+<a name="49" href="#49">49</a>          }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          <strong>return</strong> false;
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>  <em class="comment">/*</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * following conditions are met:</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/FilterIterator.html b/docs/xref/org/dom4j/tree/FilterIterator.html
new file mode 100644
index 0000000..e629434
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/FilterIterator.html
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FilterIterator xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/FilterIterator.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Iterator;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.NoSuchElementException;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>FilterIterator</code> is an abstract base class which is useful for</em>
+<a name="16" href="#16">16</a>  <em> * implementors of {@link Iterator}which filter an existing iterator.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @deprecated THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!</em>
+<a name="23" href="#23">23</a>  <em> */</em>
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/FilterIterator.html">FilterIterator</a> implements Iterator {
+<a name="25" href="#25">25</a>      <strong>protected</strong> Iterator proxy;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>private</strong> Object next;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>private</strong> <strong>boolean</strong> first = <strong>true</strong>;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FilterIterator.html">FilterIterator</a>(Iterator proxy) {
+<a name="32" href="#32">32</a>          <strong>this</strong>.proxy = proxy;
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <strong>boolean</strong> hasNext() {
+<a name="36" href="#36">36</a>          <strong>if</strong> (first) {
+<a name="37" href="#37">37</a>              next = findNext();
+<a name="38" href="#38">38</a>              first = false;
+<a name="39" href="#39">39</a>          }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>          <strong>return</strong> next != <strong>null</strong>;
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> Object next() throws NoSuchElementException {
+<a name="45" href="#45">45</a>          <strong>if</strong> (!hasNext()) {
+<a name="46" href="#46">46</a>              <strong>throw</strong> <strong>new</strong> NoSuchElementException();
+<a name="47" href="#47">47</a>          }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          Object answer = <strong>this</strong>.next;
+<a name="50" href="#50">50</a>          <strong>this</strong>.next = findNext();
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>          <strong>return</strong> answer;
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <em>/**<em>*</em></em>
+<a name="56" href="#56">56</a>  <em>     * Always throws UnsupportedOperationException as this class does look-ahead</em>
+<a name="57" href="#57">57</a>  <em>     * with its internal iterator.</em>
+<a name="58" href="#58">58</a>  <em>     * </em>
+<a name="59" href="#59">59</a>  <em>     * @throws UnsupportedOperationException</em>
+<a name="60" href="#60">60</a>  <em>     *             always</em>
+<a name="61" href="#61">61</a>  <em>     */</em>
+<a name="62" href="#62">62</a>      <strong>public</strong> <strong>void</strong> remove() {
+<a name="63" href="#63">63</a>          <strong>throw</strong> <strong>new</strong> UnsupportedOperationException();
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <em>/**<em>*</em></em>
+<a name="67" href="#67">67</a>  <em>     * Filter method to perform some matching on the given element.</em>
+<a name="68" href="#68">68</a>  <em>     * </em>
+<a name="69" href="#69">69</a>  <em>     * @param element</em>
+<a name="70" href="#70">70</a>  <em>     *            DOCUMENT ME!</em>
+<a name="71" href="#71">71</a>  <em>     * </em>
+<a name="72" href="#72">72</a>  <em>     * @return true if the given element matches the filter and should be appear</em>
+<a name="73" href="#73">73</a>  <em>     *         in the iteration</em>
+<a name="74" href="#74">74</a>  <em>     */</em>
+<a name="75" href="#75">75</a>      <strong>protected</strong> <strong>abstract</strong> <strong>boolean</strong> matches(Object element);
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>protected</strong> Object findNext() {
+<a name="78" href="#78">78</a>          <strong>if</strong> (proxy != <strong>null</strong>) {
+<a name="79" href="#79">79</a>              <strong>while</strong> (proxy.hasNext()) {
+<a name="80" href="#80">80</a>                  Object nextObject = proxy.next();
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>                  <strong>if</strong> ((nextObject != <strong>null</strong>) && matches(nextObject)) {
+<a name="83" href="#83">83</a>                      <strong>return</strong> nextObject;
+<a name="84" href="#84">84</a>                  }
+<a name="85" href="#85">85</a>              }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>              proxy = <strong>null</strong>;
+<a name="88" href="#88">88</a>          }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>          <strong>return</strong> <strong>null</strong>;
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>  <em class="comment">/*</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * following conditions are met:</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * </em>
+<a name="99" href="#99">99</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="100" href="#100">100</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="103" href="#103">103</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="104" href="#104">104</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="105" href="#105">105</a> <em class="comment"> * </em>
+<a name="106" href="#106">106</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="107" href="#107">107</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="108" href="#108">108</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="109" href="#109">109</a> <em class="comment"> * </em>
+<a name="110" href="#110">110</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="111" href="#111">111</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="112" href="#112">112</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="113" href="#113">113</a> <em class="comment"> * </em>
+<a name="114" href="#114">114</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="115" href="#115">115</a> <em class="comment"> * </em>
+<a name="116" href="#116">116</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="117" href="#117">117</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="118" href="#118">118</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="119" href="#119">119</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="120" href="#120">120</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="121" href="#121">121</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="122" href="#122">122</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="123" href="#123">123</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="124" href="#124">124</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="125" href="#125">125</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="126" href="#126">126</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="129" href="#129">129</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/FlyweightAttribute.html b/docs/xref/org/dom4j/tree/FlyweightAttribute.html
new file mode 100644
index 0000000..6c5d1cd
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/FlyweightAttribute.html
@@ -0,0 +1,130 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FlyweightAttribute xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/FlyweightAttribute.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.QName;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a</em>
+<a name="16" href="#16">16</a>  <em> * singly linked, read-only XML Attribute.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * This node could be shared across documents and elements though it does not</em>
+<a name="21" href="#21">21</a>  <em> * support the parent relationship.</em>
+<a name="22" href="#22">22</a>  <em> * </p></em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="25" href="#25">25</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="26" href="#26">26</a>  <em> */</em>
+<a name="27" href="#27">27</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/FlyweightAttribute.html">FlyweightAttribute</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractAttribute.html">AbstractAttribute</a> {
+<a name="28" href="#28">28</a>      <em>/**<em>* The <code>QName</code> for this element */</em></em>
+<a name="29" href="#29">29</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> qname;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <em>/**<em>* The value of the <code>Attribute</code> */</em></em>
+<a name="32" href="#32">32</a>      <strong>protected</strong> String value;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightAttribute.html">FlyweightAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="35" href="#35">35</a>          <strong>this</strong>.qname = qname;
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightAttribute.html">FlyweightAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="39" href="#39">39</a>          <strong>this</strong>.qname = qname;
+<a name="40" href="#40">40</a>          <strong>this</strong>.value = value;
+<a name="41" href="#41">41</a>      }
+<a name="42" href="#42">42</a>  
+<a name="43" href="#43">43</a>      <em>/**<em>*</em></em>
+<a name="44" href="#44">44</a>  <em>     * Creates the <code>Attribute</code> with the specified local name and</em>
+<a name="45" href="#45">45</a>  <em>     * value.</em>
+<a name="46" href="#46">46</a>  <em>     * </em>
+<a name="47" href="#47">47</a>  <em>     * @param name</em>
+<a name="48" href="#48">48</a>  <em>     *            is the name of the attribute</em>
+<a name="49" href="#49">49</a>  <em>     * @param value</em>
+<a name="50" href="#50">50</a>  <em>     *            is the value of the attribute</em>
+<a name="51" href="#51">51</a>  <em>     */</em>
+<a name="52" href="#52">52</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightAttribute.html">FlyweightAttribute</a>(String name, String value) {
+<a name="53" href="#53">53</a>          <strong>this</strong>.qname = getDocumentFactory().createQName(name);
+<a name="54" href="#54">54</a>          <strong>this</strong>.value = value;
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <em>/**<em>*</em></em>
+<a name="58" href="#58">58</a>  <em>     * Creates the <code>Attribute</code> with the specified local name, value</em>
+<a name="59" href="#59">59</a>  <em>     * and <code>Namespace</code>.</em>
+<a name="60" href="#60">60</a>  <em>     * </em>
+<a name="61" href="#61">61</a>  <em>     * @param name</em>
+<a name="62" href="#62">62</a>  <em>     *            is the name of the attribute</em>
+<a name="63" href="#63">63</a>  <em>     * @param value</em>
+<a name="64" href="#64">64</a>  <em>     *            is the value of the attribute</em>
+<a name="65" href="#65">65</a>  <em>     * @param namespace</em>
+<a name="66" href="#66">66</a>  <em>     *            is the namespace of the attribute</em>
+<a name="67" href="#67">67</a>  <em>     */</em>
+<a name="68" href="#68">68</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightAttribute.html">FlyweightAttribute</a>(String name, String value, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="69" href="#69">69</a>          <strong>this</strong>.qname = getDocumentFactory().createQName(name, namespace);
+<a name="70" href="#70">70</a>          <strong>this</strong>.value = value;
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> String getValue() {
+<a name="74" href="#74">74</a>          <strong>return</strong> value;
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName() {
+<a name="78" href="#78">78</a>          <strong>return</strong> qname;
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>  <em class="comment">/*</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * following conditions are met:</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * </em>
+<a name="94" href="#94">94</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="100" href="#100">100</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="103" href="#103">103</a> <em class="comment"> * </em>
+<a name="104" href="#104">104</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="105" href="#105">105</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="106" href="#106">106</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="107" href="#107">107</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="108" href="#108">108</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="109" href="#109">109</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="110" href="#110">110</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="111" href="#111">111</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="112" href="#112">112</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="113" href="#113">113</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="114" href="#114">114</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="115" href="#115">115</a> <em class="comment"> * </em>
+<a name="116" href="#116">116</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="117" href="#117">117</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/FlyweightCDATA.html b/docs/xref/org/dom4j/tree/FlyweightCDATA.html
new file mode 100644
index 0000000..21bace0
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/FlyweightCDATA.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FlyweightCDATA xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/FlyweightCDATA.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Element;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Node;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a</em>
+<a name="17" href="#17">17</a>  <em> * singly linked, read-only XML CDATA.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * This node could be shared across documents and elements though it does not</em>
+<a name="22" href="#22">22</a>  <em> * support the parent relationship.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/FlyweightCDATA.html">FlyweightCDATA</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractCDATA.html">AbstractCDATA</a> implements <a href="../../../org/dom4j/CDATA.html">CDATA</a> {
+<a name="29" href="#29">29</a>      <em>/**<em>* <a href="../../../org/dom4j/Text.html">Text</a> of the <code>CDATA</code> node */</em></em>
+<a name="30" href="#30">30</a>      <strong>protected</strong> String text;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em>/**<em>*</em></em>
+<a name="33" href="#33">33</a>  <em>     * DOCUMENT ME!</em>
+<a name="34" href="#34">34</a>  <em>     * </em>
+<a name="35" href="#35">35</a>  <em>     * @param text</em>
+<a name="36" href="#36">36</a>  <em>     *            is the CDATA text</em>
+<a name="37" href="#37">37</a>  <em>     */</em>
+<a name="38" href="#38">38</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightCDATA.html">FlyweightCDATA</a>(String text) {
+<a name="39" href="#39">39</a>          <strong>this</strong>.text = text;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> String getText() {
+<a name="43" href="#43">43</a>          <strong>return</strong> text;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> createXPathResult(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="47" href="#47">47</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/DefaultCDATA.html">DefaultCDATA</a>(parent, getText());
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>  <em class="comment">/*</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * following conditions are met:</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/FlyweightComment.html b/docs/xref/org/dom4j/tree/FlyweightComment.html
new file mode 100644
index 0000000..42d301b
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/FlyweightComment.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FlyweightComment xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/FlyweightComment.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Element;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Node;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>FlyweightComment</code> is a Flyweight pattern implementation of a</em>
+<a name="17" href="#17">17</a>  <em> * singly linked, read-only XML Comment.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * This node could be shared across documents and elements though it does not</em>
+<a name="22" href="#22">22</a>  <em> * support the parent relationship.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/FlyweightComment.html">FlyweightComment</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractComment.html">AbstractComment</a> implements <a href="../../../org/dom4j/Comment.html">Comment</a> {
+<a name="29" href="#29">29</a>      <em>/**<em>* <a href="../../../org/dom4j/Text.html">Text</a> of the <code>Comment</code> node */</em></em>
+<a name="30" href="#30">30</a>      <strong>protected</strong> String text;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em>/**<em>*</em></em>
+<a name="33" href="#33">33</a>  <em>     * DOCUMENT ME!</em>
+<a name="34" href="#34">34</a>  <em>     * </em>
+<a name="35" href="#35">35</a>  <em>     * @param text</em>
+<a name="36" href="#36">36</a>  <em>     *            is the Comment text</em>
+<a name="37" href="#37">37</a>  <em>     */</em>
+<a name="38" href="#38">38</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightComment.html">FlyweightComment</a>(String text) {
+<a name="39" href="#39">39</a>          <strong>this</strong>.text = text;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> String getText() {
+<a name="43" href="#43">43</a>          <strong>return</strong> text;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> createXPathResult(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="47" href="#47">47</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/DefaultComment.html">DefaultComment</a>(parent, getText());
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>  <em class="comment">/*</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * following conditions are met:</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/FlyweightEntity.html b/docs/xref/org/dom4j/tree/FlyweightEntity.html
new file mode 100644
index 0000000..f66c6f3
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/FlyweightEntity.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FlyweightEntity xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/FlyweightEntity.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Node;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>FlyweightEntity</code> is a Flyweight pattern implementation of a</em>
+<a name="16" href="#16">16</a>  <em> * singly linked, read-only XML entity.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * <p></em>
+<a name="20" href="#20">20</a>  <em> * This node could be shared across documents and elements though it does not</em>
+<a name="21" href="#21">21</a>  <em> * support the parent relationship.</em>
+<a name="22" href="#22">22</a>  <em> * </p></em>
+<a name="23" href="#23">23</a>  <em> * </em>
+<a name="24" href="#24">24</a>  <em> * <p></em>
+<a name="25" href="#25">25</a>  <em> * Often this node needs to be created and then the text content added later</em>
+<a name="26" href="#26">26</a>  <em> * (for example in SAX) so this implementation allows a call to {@link#setText}</em>
+<a name="27" href="#27">27</a>  <em> * providing the entity has no text already.</em>
+<a name="28" href="#28">28</a>  <em> * </p></em>
+<a name="29" href="#29">29</a>  <em> * </em>
+<a name="30" href="#30">30</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="31" href="#31">31</a>  <em> * @version $Revision: 1.6 $</em>
+<a name="32" href="#32">32</a>  <em> */</em>
+<a name="33" href="#33">33</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/FlyweightEntity.html">FlyweightEntity</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractEntity.html">AbstractEntity</a> {
+<a name="34" href="#34">34</a>      <em>/**<em>* The name of the <code>Entity</code> */</em></em>
+<a name="35" href="#35">35</a>      <strong>protected</strong> String name;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>* The text of the <code>Entity</code> */</em></em>
+<a name="38" href="#38">38</a>      <strong>protected</strong> String text;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
+<a name="41" href="#41">41</a>  <em>     * A default constructor for implementors to use.</em>
+<a name="42" href="#42">42</a>  <em>     */</em>
+<a name="43" href="#43">43</a>      <strong>protected</strong> <a href="../../../org/dom4j/tree/FlyweightEntity.html">FlyweightEntity</a>() {
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>*</em></em>
+<a name="47" href="#47">47</a>  <em>     * Creates the <code>Entity</code> with the specified name</em>
+<a name="48" href="#48">48</a>  <em>     * </em>
+<a name="49" href="#49">49</a>  <em>     * @param name</em>
+<a name="50" href="#50">50</a>  <em>     *            is the name of the entity</em>
+<a name="51" href="#51">51</a>  <em>     */</em>
+<a name="52" href="#52">52</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightEntity.html">FlyweightEntity</a>(String name) {
+<a name="53" href="#53">53</a>          <strong>this</strong>.name = name;
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <em>/**<em>*</em></em>
+<a name="57" href="#57">57</a>  <em>     * Creates the <code>Entity</code> with the specified name and text.</em>
+<a name="58" href="#58">58</a>  <em>     * </em>
+<a name="59" href="#59">59</a>  <em>     * @param name</em>
+<a name="60" href="#60">60</a>  <em>     *            is the name of the entity</em>
+<a name="61" href="#61">61</a>  <em>     * @param text</em>
+<a name="62" href="#62">62</a>  <em>     *            is the text of the entity</em>
+<a name="63" href="#63">63</a>  <em>     */</em>
+<a name="64" href="#64">64</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightEntity.html">FlyweightEntity</a>(String name, String text) {
+<a name="65" href="#65">65</a>          <strong>this</strong>.name = name;
+<a name="66" href="#66">66</a>          <strong>this</strong>.text = text;
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <em>/**<em>*</em></em>
+<a name="70" href="#70">70</a>  <em>     * DOCUMENT ME!</em>
+<a name="71" href="#71">71</a>  <em>     * </em>
+<a name="72" href="#72">72</a>  <em>     * @return the name of the entity</em>
+<a name="73" href="#73">73</a>  <em>     */</em>
+<a name="74" href="#74">74</a>      <strong>public</strong> String getName() {
+<a name="75" href="#75">75</a>          <strong>return</strong> name;
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <em>/**<em>*</em></em>
+<a name="79" href="#79">79</a>  <em>     * DOCUMENT ME!</em>
+<a name="80" href="#80">80</a>  <em>     * </em>
+<a name="81" href="#81">81</a>  <em>     * @return the text of the entity</em>
+<a name="82" href="#82">82</a>  <em>     */</em>
+<a name="83" href="#83">83</a>      <strong>public</strong> String getText() {
+<a name="84" href="#84">84</a>          <strong>return</strong> text;
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <em>/**<em>*</em></em>
+<a name="88" href="#88">88</a>  <em>     * sets the value of the entity if it is not defined yet otherwise an</em>
+<a name="89" href="#89">89</a>  <em>     * <code>UnsupportedOperationException</code> is thrown as this class is</em>
+<a name="90" href="#90">90</a>  <em>     * read only.</em>
+<a name="91" href="#91">91</a>  <em>     * </em>
+<a name="92" href="#92">92</a>  <em>     * @param text</em>
+<a name="93" href="#93">93</a>  <em>     *            DOCUMENT ME!</em>
+<a name="94" href="#94">94</a>  <em>     * </em>
+<a name="95" href="#95">95</a>  <em>     * @throws UnsupportedOperationException</em>
+<a name="96" href="#96">96</a>  <em>     *             DOCUMENT ME!</em>
+<a name="97" href="#97">97</a>  <em>     */</em>
+<a name="98" href="#98">98</a>      <strong>public</strong> <strong>void</strong> setText(String text) {
+<a name="99" href="#99">99</a>          <strong>if</strong> (<strong>this</strong>.text != <strong>null</strong>) {
+<a name="100" href="#100">100</a>             <strong>this</strong>.text = text;
+<a name="101" href="#101">101</a>         } <strong>else</strong> {
+<a name="102" href="#102">102</a>             <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(
+<a name="103" href="#103">103</a>                     <span class="string">"This Entity is read-only. "</span> + <span class="string">"It cannot be modified"</span>);
+<a name="104" href="#104">104</a>         }
+<a name="105" href="#105">105</a>     }
+<a name="106" href="#106">106</a> 
+<a name="107" href="#107">107</a>     <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> createXPathResult(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="108" href="#108">108</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/DefaultEntity.html">DefaultEntity</a>(parent, getName(), getText());
+<a name="109" href="#109">109</a>     }
+<a name="110" href="#110">110</a> }
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a> <em class="comment">/*</em>
+<a name="113" href="#113">113</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="114" href="#114">114</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="115" href="#115">115</a> <em class="comment"> * following conditions are met:</em>
+<a name="116" href="#116">116</a> <em class="comment"> * </em>
+<a name="117" href="#117">117</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="118" href="#118">118</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="119" href="#119">119</a> <em class="comment"> * </em>
+<a name="120" href="#120">120</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="121" href="#121">121</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="122" href="#122">122</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="123" href="#123">123</a> <em class="comment"> * </em>
+<a name="124" href="#124">124</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="125" href="#125">125</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="126" href="#126">126</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="127" href="#127">127</a> <em class="comment"> * </em>
+<a name="128" href="#128">128</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="129" href="#129">129</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="130" href="#130">130</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="131" href="#131">131</a> <em class="comment"> * </em>
+<a name="132" href="#132">132</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="133" href="#133">133</a> <em class="comment"> * </em>
+<a name="134" href="#134">134</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="135" href="#135">135</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="136" href="#136">136</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="137" href="#137">137</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="138" href="#138">138</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="139" href="#139">139</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="140" href="#140">140</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="141" href="#141">141</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="142" href="#142">142</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="143" href="#143">143</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="144" href="#144">144</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="145" href="#145">145</a> <em class="comment"> * </em>
+<a name="146" href="#146">146</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="147" href="#147">147</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/FlyweightProcessingInstruction.html b/docs/xref/org/dom4j/tree/FlyweightProcessingInstruction.html
new file mode 100644
index 0000000..58603f7
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/FlyweightProcessingInstruction.html
@@ -0,0 +1,159 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FlyweightProcessingInstruction xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/FlyweightProcessingInstruction.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Collections;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Map;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Element;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Node;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * <p></em>
+<a name="18" href="#18">18</a>  <em> * <code>FlyweightProcessingInstruction</code> is a Flyweight pattern</em>
+<a name="19" href="#19">19</a>  <em> * implementation of a singly linked, read-only XML Processing Instruction.</em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * <p></em>
+<a name="23" href="#23">23</a>  <em> * This node could be shared across documents and elements though it does not</em>
+<a name="24" href="#24">24</a>  <em> * support the parent relationship.</em>
+<a name="25" href="#25">25</a>  <em> * </p></em>
+<a name="26" href="#26">26</a>  <em> * </em>
+<a name="27" href="#27">27</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="28" href="#28">28</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="29" href="#29">29</a>  <em> */</em>
+<a name="30" href="#30">30</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/FlyweightProcessingInstruction.html">FlyweightProcessingInstruction</a> <strong>extends</strong>
+<a name="31" href="#31">31</a>          <a href="../../../org/dom4j/tree/AbstractProcessingInstruction.html">AbstractProcessingInstruction</a> {
+<a name="32" href="#32">32</a>      <em>/**<em>* The target of the PI */</em></em>
+<a name="33" href="#33">33</a>      <strong>protected</strong> String target;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>* The values for the PI as a String */</em></em>
+<a name="36" href="#36">36</a>      <strong>protected</strong> String text;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>* The values for the PI in name/value pairs */</em></em>
+<a name="39" href="#39">39</a>      <strong>protected</strong> Map values;
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em>/**<em>*</em></em>
+<a name="42" href="#42">42</a>  <em>     * A default constructor for implementors to use.</em>
+<a name="43" href="#43">43</a>  <em>     */</em>
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightProcessingInstruction.html">FlyweightProcessingInstruction</a>() {
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <em>/**<em>*</em></em>
+<a name="48" href="#48">48</a>  <em>     * <p></em>
+<a name="49" href="#49">49</a>  <em>     * This will create a new PI with the given target and values</em>
+<a name="50" href="#50">50</a>  <em>     * </p></em>
+<a name="51" href="#51">51</a>  <em>     * </em>
+<a name="52" href="#52">52</a>  <em>     * @param target</em>
+<a name="53" href="#53">53</a>  <em>     *            is the name of the PI</em>
+<a name="54" href="#54">54</a>  <em>     * @param values</em>
+<a name="55" href="#55">55</a>  <em>     *            is the <code>Map</code> of the values for the PI</em>
+<a name="56" href="#56">56</a>  <em>     */</em>
+<a name="57" href="#57">57</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightProcessingInstruction.html">FlyweightProcessingInstruction</a>(String target, Map values) {
+<a name="58" href="#58">58</a>          <strong>this</strong>.target = target;
+<a name="59" href="#59">59</a>          <strong>this</strong>.values = values;
+<a name="60" href="#60">60</a>          <strong>this</strong>.text = toString(values);
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <em>/**<em>*</em></em>
+<a name="64" href="#64">64</a>  <em>     * <p></em>
+<a name="65" href="#65">65</a>  <em>     * This will create a new PI with the given target and values</em>
+<a name="66" href="#66">66</a>  <em>     * </p></em>
+<a name="67" href="#67">67</a>  <em>     * </em>
+<a name="68" href="#68">68</a>  <em>     * @param target</em>
+<a name="69" href="#69">69</a>  <em>     *            is the name of the PI</em>
+<a name="70" href="#70">70</a>  <em>     * @param text</em>
+<a name="71" href="#71">71</a>  <em>     *            is the values for the PI as text</em>
+<a name="72" href="#72">72</a>  <em>     */</em>
+<a name="73" href="#73">73</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightProcessingInstruction.html">FlyweightProcessingInstruction</a>(String target, String text) {
+<a name="74" href="#74">74</a>          <strong>this</strong>.target = target;
+<a name="75" href="#75">75</a>          <strong>this</strong>.text = text;
+<a name="76" href="#76">76</a>          <strong>this</strong>.values = parseValues(text);
+<a name="77" href="#77">77</a>      }
+<a name="78" href="#78">78</a>  
+<a name="79" href="#79">79</a>      <strong>public</strong> String getTarget() {
+<a name="80" href="#80">80</a>          <strong>return</strong> target;
+<a name="81" href="#81">81</a>      }
+<a name="82" href="#82">82</a>  
+<a name="83" href="#83">83</a>      <strong>public</strong> <strong>void</strong> setTarget(String target) {
+<a name="84" href="#84">84</a>          <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"This PI is read-only and "</span>
+<a name="85" href="#85">85</a>                  + <span class="string">"cannot be modified"</span>);
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <strong>public</strong> String getText() {
+<a name="89" href="#89">89</a>          <strong>return</strong> text;
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <strong>public</strong> String getValue(String name) {
+<a name="93" href="#93">93</a>          String answer = (String) values.get(name);
+<a name="94" href="#94">94</a>  
+<a name="95" href="#95">95</a>          <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="96" href="#96">96</a>              <strong>return</strong> <span class="string">""</span>;
+<a name="97" href="#97">97</a>          }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          <strong>return</strong> answer;
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> Map getValues() {
+<a name="103" href="#103">103</a>         <strong>return</strong> Collections.unmodifiableMap(values);
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> createXPathResult(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="107" href="#107">107</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/DefaultProcessingInstruction.html">DefaultProcessingInstruction</a>(parent, getTarget(), getText());
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> }
+<a name="110" href="#110">110</a> 
+<a name="111" href="#111">111</a> <em class="comment">/*</em>
+<a name="112" href="#112">112</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="113" href="#113">113</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="114" href="#114">114</a> <em class="comment"> * following conditions are met:</em>
+<a name="115" href="#115">115</a> <em class="comment"> * </em>
+<a name="116" href="#116">116</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="117" href="#117">117</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="118" href="#118">118</a> <em class="comment"> * </em>
+<a name="119" href="#119">119</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="120" href="#120">120</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="121" href="#121">121</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="122" href="#122">122</a> <em class="comment"> * </em>
+<a name="123" href="#123">123</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="124" href="#124">124</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="125" href="#125">125</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="126" href="#126">126</a> <em class="comment"> * </em>
+<a name="127" href="#127">127</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="128" href="#128">128</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="129" href="#129">129</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="130" href="#130">130</a> <em class="comment"> * </em>
+<a name="131" href="#131">131</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="132" href="#132">132</a> <em class="comment"> * </em>
+<a name="133" href="#133">133</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="134" href="#134">134</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="135" href="#135">135</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="136" href="#136">136</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="137" href="#137">137</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="138" href="#138">138</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="139" href="#139">139</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="140" href="#140">140</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="141" href="#141">141</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="142" href="#142">142</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="143" href="#143">143</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="146" href="#146">146</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/FlyweightText.html b/docs/xref/org/dom4j/tree/FlyweightText.html
new file mode 100644
index 0000000..b348303
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/FlyweightText.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>FlyweightText xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/FlyweightText.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Node;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Text;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>FlyweightText</code> is a Flyweight pattern implementation of a</em>
+<a name="17" href="#17">17</a>  <em> * singly linked, read-only XML Text.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * This node could be shared across documents and elements though it does not</em>
+<a name="22" href="#22">22</a>  <em> * support the parent relationship.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/FlyweightText.html">FlyweightText</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/AbstractText.html">AbstractText</a> implements <a href="../../../org/dom4j/Text.html">Text</a> {
+<a name="29" href="#29">29</a>      <em>/**<em>* <a href="../../../org/dom4j/Text.html">Text</a> of the <code>Text</code> node */</em></em>
+<a name="30" href="#30">30</a>      <strong>protected</strong> String text;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em>/**<em>*</em></em>
+<a name="33" href="#33">33</a>  <em>     * DOCUMENT ME!</em>
+<a name="34" href="#34">34</a>  <em>     * </em>
+<a name="35" href="#35">35</a>  <em>     * @param text</em>
+<a name="36" href="#36">36</a>  <em>     *            is the Text text</em>
+<a name="37" href="#37">37</a>  <em>     */</em>
+<a name="38" href="#38">38</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/FlyweightText.html">FlyweightText</a>(String text) {
+<a name="39" href="#39">39</a>          <strong>this</strong>.text = text;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> String getText() {
+<a name="43" href="#43">43</a>          <strong>return</strong> text;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>protected</strong> <a href="../../../org/dom4j/Node.html">Node</a> createXPathResult(<a href="../../../org/dom4j/Element.html">Element</a> parent) {
+<a name="47" href="#47">47</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/tree/DefaultText.html">DefaultText</a>(parent, getText());
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>  <em class="comment">/*</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * following conditions are met:</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * </em>
+<a name="85" href="#85">85</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/NamespaceCache.html b/docs/xref/org/dom4j/tree/NamespaceCache.html
new file mode 100644
index 0000000..c076aaa
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/NamespaceCache.html
@@ -0,0 +1,229 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NamespaceCache xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/NamespaceCache.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.lang.ref.WeakReference;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.lang.reflect.Constructor;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Map;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <em>/**<em>*</em></em>
+<a name="17" href="#17">17</a>  <em> * <p></em>
+<a name="18" href="#18">18</a>  <em> * <code>NamespaceCache</code> caches instances of</em>
+<a name="19" href="#19">19</a>  <em> * <code>DefaultNamespace</code> for reuse both across documents and within</em>
+<a name="20" href="#20">20</a>  <em> * documents.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @author Maarten Coene</em>
+<a name="25" href="#25">25</a>  <em> * @author Brett Finnell</em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.15 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/NamespaceCache.html">NamespaceCache</a> {
+<a name="29" href="#29">29</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> String CONCURRENTREADERHASHMAP_CLASS
+<a name="30" href="#30">30</a>              = <span class="string">"EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap"</span>;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em>/**<em>*</em></em>
+<a name="33" href="#33">33</a>  <em>     * Cache of {@link Map}instances indexed by URI which contain caches of</em>
+<a name="34" href="#34">34</a>  <em>     * {@link Namespace}for each prefix</em>
+<a name="35" href="#35">35</a>  <em>     */</em>
+<a name="36" href="#36">36</a>      <strong>protected</strong> <strong>static</strong> Map cache;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>*</em></em>
+<a name="39" href="#39">39</a>  <em>     * Cache of {@link Namespace}instances indexed by URI for default</em>
+<a name="40" href="#40">40</a>  <em>     * namespaces with no prefixes</em>
+<a name="41" href="#41">41</a>  <em>     */</em>
+<a name="42" href="#42">42</a>      <strong>protected</strong> <strong>static</strong> Map noPrefixCache;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>static</strong> {
+<a name="45" href="#45">45</a>          <em class="comment">/*<em class="comment"> Try the java.util.concurrent.ConcurrentHashMap first. */</em></em>
+<a name="46" href="#46">46</a>          <strong>try</strong> {
+<a name="47" href="#47">47</a>              Class clazz = Class
+<a name="48" href="#48">48</a>                      .forName(<span class="string">"java.util.concurrent.ConcurrentHashMap"</span>);
+<a name="49" href="#49">49</a>              Constructor construct = clazz.getConstructor(<strong>new</strong> Class[] {
+<a name="50" href="#50">50</a>                      Integer.TYPE, Float.TYPE, Integer.TYPE });
+<a name="51" href="#51">51</a>              cache = (Map) construct.<strong>new</strong>Instance(<strong>new</strong> Object[] {<strong>new</strong> Integer(11),
+<a name="52" href="#52">52</a>                      <strong>new</strong> Float(0.75f), <strong>new</strong> Integer(1) });
+<a name="53" href="#53">53</a>              noPrefixCache = (Map) construct.<strong>new</strong>Instance(<strong>new</strong> Object[] {
+<a name="54" href="#54">54</a>                      <strong>new</strong> Integer(11), <strong>new</strong> Float(0.75f), <strong>new</strong> Integer(1) });
+<a name="55" href="#55">55</a>          } <strong>catch</strong> (Throwable t1) {
+<a name="56" href="#56">56</a>              <em class="comment">/*<em class="comment"> Try to use the util.concurrent library (if in classpath) */</em></em>
+<a name="57" href="#57">57</a>              <strong>try</strong> {
+<a name="58" href="#58">58</a>                  Class clazz = Class.forName(CONCURRENTREADERHASHMAP_CLASS);
+<a name="59" href="#59">59</a>                  cache = (Map) clazz.newInstance();
+<a name="60" href="#60">60</a>                  noPrefixCache = (Map) clazz.newInstance();
+<a name="61" href="#61">61</a>              } <strong>catch</strong> (Throwable t2) {
+<a name="62" href="#62">62</a>                  <em class="comment">/*<em class="comment"> If previous implementations fail, use internal one */</em></em>
+<a name="63" href="#63">63</a>                  cache = <strong>new</strong> <a href="../../../org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a>();
+<a name="64" href="#64">64</a>                  noPrefixCache = <strong>new</strong> <a href="../../../org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a>();
+<a name="65" href="#65">65</a>              }
+<a name="66" href="#66">66</a>          }
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <em>/**<em>*</em></em>
+<a name="70" href="#70">70</a>  <em>     * DOCUMENT ME!</em>
+<a name="71" href="#71">71</a>  <em>     * </em>
+<a name="72" href="#72">72</a>  <em>     * @param prefix</em>
+<a name="73" href="#73">73</a>  <em>     *            DOCUMENT ME!</em>
+<a name="74" href="#74">74</a>  <em>     * @param uri</em>
+<a name="75" href="#75">75</a>  <em>     *            DOCUMENT ME!</em>
+<a name="76" href="#76">76</a>  <em>     * </em>
+<a name="77" href="#77">77</a>  <em>     * @return the namespace for the given prefix and uri</em>
+<a name="78" href="#78">78</a>  <em>     */</em>
+<a name="79" href="#79">79</a>      <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> get(String prefix, String uri) {
+<a name="80" href="#80">80</a>          Map uriCache = getURICache(uri);
+<a name="81" href="#81">81</a>          WeakReference ref = (WeakReference) uriCache.get(prefix);
+<a name="82" href="#82">82</a>          <a href="../../../org/dom4j/Namespace.html">Namespace</a> answer = <strong>null</strong>;
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>          <strong>if</strong> (ref != <strong>null</strong>) {
+<a name="85" href="#85">85</a>              answer = (Namespace) ref.get();
+<a name="86" href="#86">86</a>          }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>          <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="89" href="#89">89</a>              <strong>synchronized</strong> (uriCache) {
+<a name="90" href="#90">90</a>                  ref = (WeakReference) uriCache.get(prefix);
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>                  <strong>if</strong> (ref != <strong>null</strong>) {
+<a name="93" href="#93">93</a>                      answer = (Namespace) ref.get();
+<a name="94" href="#94">94</a>                  }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>                  <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="97" href="#97">97</a>                      answer = createNamespace(prefix, uri);
+<a name="98" href="#98">98</a>                      uriCache.put(prefix, <strong>new</strong> WeakReference(answer));
+<a name="99" href="#99">99</a>                  }
+<a name="100" href="#100">100</a>             }
+<a name="101" href="#101">101</a>         }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         <strong>return</strong> answer;
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <em>/**<em>*</em></em>
+<a name="107" href="#107">107</a> <em>     * DOCUMENT ME!</em>
+<a name="108" href="#108">108</a> <em>     * </em>
+<a name="109" href="#109">109</a> <em>     * @param uri</em>
+<a name="110" href="#110">110</a> <em>     *            DOCUMENT ME!</em>
+<a name="111" href="#111">111</a> <em>     * </em>
+<a name="112" href="#112">112</a> <em>     * @return the name model for the given name and namepsace</em>
+<a name="113" href="#113">113</a> <em>     */</em>
+<a name="114" href="#114">114</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> get(String uri) {
+<a name="115" href="#115">115</a>         WeakReference ref = (WeakReference) noPrefixCache.get(uri);
+<a name="116" href="#116">116</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> answer = <strong>null</strong>;
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>         <strong>if</strong> (ref != <strong>null</strong>) {
+<a name="119" href="#119">119</a>             answer = (Namespace) ref.get();
+<a name="120" href="#120">120</a>         }
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>         <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="123" href="#123">123</a>             <strong>synchronized</strong> (noPrefixCache) {
+<a name="124" href="#124">124</a>                 ref = (WeakReference) noPrefixCache.get(uri);
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>                 <strong>if</strong> (ref != <strong>null</strong>) {
+<a name="127" href="#127">127</a>                     answer = (Namespace) ref.get();
+<a name="128" href="#128">128</a>                 }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a>                 <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="131" href="#131">131</a>                     answer = createNamespace(<span class="string">""</span>, uri);
+<a name="132" href="#132">132</a>                     noPrefixCache.put(uri, <strong>new</strong> WeakReference(answer));
+<a name="133" href="#133">133</a>                 }
+<a name="134" href="#134">134</a>             }
+<a name="135" href="#135">135</a>         }
+<a name="136" href="#136">136</a> 
+<a name="137" href="#137">137</a>         <strong>return</strong> answer;
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <em>/**<em>*</em></em>
+<a name="141" href="#141">141</a> <em>     * DOCUMENT ME!</em>
+<a name="142" href="#142">142</a> <em>     * </em>
+<a name="143" href="#143">143</a> <em>     * @param uri</em>
+<a name="144" href="#144">144</a> <em>     *            DOCUMENT ME!</em>
+<a name="145" href="#145">145</a> <em>     * </em>
+<a name="146" href="#146">146</a> <em>     * @return the cache for the given namespace URI. If one does not currently</em>
+<a name="147" href="#147">147</a> <em>     *         exist it is created.</em>
+<a name="148" href="#148">148</a> <em>     */</em>
+<a name="149" href="#149">149</a>     <strong>protected</strong> Map getURICache(String uri) {
+<a name="150" href="#150">150</a>         Map answer = (Map) cache.get(uri);
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>         <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="153" href="#153">153</a>             <strong>synchronized</strong> (cache) {
+<a name="154" href="#154">154</a>                 answer = (Map) cache.get(uri);
+<a name="155" href="#155">155</a> 
+<a name="156" href="#156">156</a>                 <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="157" href="#157">157</a>                     answer = <strong>new</strong> <a href="../../../org/dom4j/tree/ConcurrentReaderHashMap.html">ConcurrentReaderHashMap</a>();
+<a name="158" href="#158">158</a>                     cache.put(uri, answer);
+<a name="159" href="#159">159</a>                 }
+<a name="160" href="#160">160</a>             }
+<a name="161" href="#161">161</a>         }
+<a name="162" href="#162">162</a> 
+<a name="163" href="#163">163</a>         <strong>return</strong> answer;
+<a name="164" href="#164">164</a>     }
+<a name="165" href="#165">165</a> 
+<a name="166" href="#166">166</a>     <em>/**<em>*</em></em>
+<a name="167" href="#167">167</a> <em>     * A factory method to create {@link Namespace}instance</em>
+<a name="168" href="#168">168</a> <em>     * </em>
+<a name="169" href="#169">169</a> <em>     * @param prefix</em>
+<a name="170" href="#170">170</a> <em>     *            DOCUMENT ME!</em>
+<a name="171" href="#171">171</a> <em>     * @param uri</em>
+<a name="172" href="#172">172</a> <em>     *            DOCUMENT ME!</em>
+<a name="173" href="#173">173</a> <em>     * </em>
+<a name="174" href="#174">174</a> <em>     * @return a newly created {@link Namespace}instance.</em>
+<a name="175" href="#175">175</a> <em>     */</em>
+<a name="176" href="#176">176</a>     <strong>protected</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> createNamespace(String prefix, String uri) {
+<a name="177" href="#177">177</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a>(prefix, uri);
+<a name="178" href="#178">178</a>     }
+<a name="179" href="#179">179</a> }
+<a name="180" href="#180">180</a> 
+<a name="181" href="#181">181</a> <em class="comment">/*</em>
+<a name="182" href="#182">182</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="183" href="#183">183</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="184" href="#184">184</a> <em class="comment"> * following conditions are met:</em>
+<a name="185" href="#185">185</a> <em class="comment"> * </em>
+<a name="186" href="#186">186</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="187" href="#187">187</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="188" href="#188">188</a> <em class="comment"> * </em>
+<a name="189" href="#189">189</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="190" href="#190">190</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="191" href="#191">191</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="192" href="#192">192</a> <em class="comment"> * </em>
+<a name="193" href="#193">193</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="194" href="#194">194</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="195" href="#195">195</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="196" href="#196">196</a> <em class="comment"> * </em>
+<a name="197" href="#197">197</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="198" href="#198">198</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="199" href="#199">199</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="200" href="#200">200</a> <em class="comment"> * </em>
+<a name="201" href="#201">201</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="202" href="#202">202</a> <em class="comment"> * </em>
+<a name="203" href="#203">203</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="204" href="#204">204</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="205" href="#205">205</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="206" href="#206">206</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="207" href="#207">207</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="208" href="#208">208</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="209" href="#209">209</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="210" href="#210">210</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="211" href="#211">211</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="212" href="#212">212</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="213" href="#213">213</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="214" href="#214">214</a> <em class="comment"> * </em>
+<a name="215" href="#215">215</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="216" href="#216">216</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/NamespaceStack.html b/docs/xref/org/dom4j/tree/NamespaceStack.html
new file mode 100644
index 0000000..92af3ad
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/NamespaceStack.html
@@ -0,0 +1,517 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NamespaceStack xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/NamespaceStack.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.HashMap;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Map;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.QName;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <em>/**<em>*</em></em>
+<a name="19" href="#19">19</a>  <em> * NamespaceStack implements a stack of namespaces and optionally maintains a</em>
+<a name="20" href="#20">20</a>  <em> * cache of all the fully qualified names (<code>QName</code>) which are in</em>
+<a name="21" href="#21">21</a>  <em> * scope. This is useful when building or navigating a <i>dom4j </i> document.</em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.13 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a> {
+<a name="27" href="#27">27</a>      <em>/**<em>* The factory used to create new <code>Namespace</code> instances */</em></em>
+<a name="28" href="#28">28</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>* The Stack of namespaces */</em></em>
+<a name="31" href="#31">31</a>      <strong>private</strong> ArrayList namespaceStack = <strong>new</strong> ArrayList();
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>* The cache of qualifiedNames to QNames per namespace context */</em></em>
+<a name="34" href="#34">34</a>      <strong>private</strong> ArrayList namespaceCacheList = <strong>new</strong> ArrayList();
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <em>/**<em>*</em></em>
+<a name="37" href="#37">37</a>  <em>     * A cache of current namespace context cache of mapping from qualifiedName</em>
+<a name="38" href="#38">38</a>  <em>     * to QName</em>
+<a name="39" href="#39">39</a>  <em>     */</em>
+<a name="40" href="#40">40</a>      <strong>private</strong> Map currentNamespaceCache;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <em>/**<em>*</em></em>
+<a name="43" href="#43">43</a>  <em>     * A cache of mapping from qualifiedName to QName before any namespaces are</em>
+<a name="44" href="#44">44</a>  <em>     * declared</em>
+<a name="45" href="#45">45</a>  <em>     */</em>
+<a name="46" href="#46">46</a>      <strong>private</strong> Map rootNamespaceCache = <strong>new</strong> HashMap();
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <em>/**<em>* Caches the default namespace defined via xmlns="" */</em></em>
+<a name="49" href="#49">49</a>      <strong>private</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> defaultNamespace;
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>() {
+<a name="52" href="#52">52</a>          <strong>this</strong>.documentFactory = DocumentFactory.getInstance();
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/NamespaceStack.html">NamespaceStack</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="56" href="#56">56</a>          <strong>this</strong>.documentFactory = documentFactory;
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <em>/**<em>*</em></em>
+<a name="60" href="#60">60</a>  <em>     * Pushes the given namespace onto the stack so that its prefix becomes</em>
+<a name="61" href="#61">61</a>  <em>     * available.</em>
+<a name="62" href="#62">62</a>  <em>     * </em>
+<a name="63" href="#63">63</a>  <em>     * @param namespace</em>
+<a name="64" href="#64">64</a>  <em>     *            is the <code>Namespace</code> to add to the stack.</em>
+<a name="65" href="#65">65</a>  <em>     */</em>
+<a name="66" href="#66">66</a>      <strong>public</strong> <strong>void</strong> push(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="67" href="#67">67</a>          namespaceStack.add(namespace);
+<a name="68" href="#68">68</a>          namespaceCacheList.add(<strong>null</strong>);
+<a name="69" href="#69">69</a>          currentNamespaceCache = <strong>null</strong>;
+<a name="70" href="#70">70</a>  
+<a name="71" href="#71">71</a>          String prefix = namespace.getPrefix();
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          <strong>if</strong> ((prefix == <strong>null</strong>) || (prefix.length() == 0)) {
+<a name="74" href="#74">74</a>              defaultNamespace = namespace;
+<a name="75" href="#75">75</a>          }
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <em>/**<em>*</em></em>
+<a name="79" href="#79">79</a>  <em>     * Pops the most recently used <code>Namespace</code> from the stack</em>
+<a name="80" href="#80">80</a>  <em>     * </em>
+<a name="81" href="#81">81</a>  <em>     * @return Namespace popped from the stack</em>
+<a name="82" href="#82">82</a>  <em>     */</em>
+<a name="83" href="#83">83</a>      <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> pop() {
+<a name="84" href="#84">84</a>          <strong>return</strong> remove(namespaceStack.size() - 1);
+<a name="85" href="#85">85</a>      }
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>      <em>/**<em>*</em></em>
+<a name="88" href="#88">88</a>  <em>     * DOCUMENT ME!</em>
+<a name="89" href="#89">89</a>  <em>     * </em>
+<a name="90" href="#90">90</a>  <em>     * @return the number of namespaces on the stackce stack.</em>
+<a name="91" href="#91">91</a>  <em>     */</em>
+<a name="92" href="#92">92</a>      <strong>public</strong> <strong>int</strong> size() {
+<a name="93" href="#93">93</a>          <strong>return</strong> namespaceStack.size();
+<a name="94" href="#94">94</a>      }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>      <em>/**<em>*</em></em>
+<a name="97" href="#97">97</a>  <em>     * Clears the stack</em>
+<a name="98" href="#98">98</a>  <em>     */</em>
+<a name="99" href="#99">99</a>      <strong>public</strong> <strong>void</strong> clear() {
+<a name="100" href="#100">100</a>         namespaceStack.clear();
+<a name="101" href="#101">101</a>         namespaceCacheList.clear();
+<a name="102" href="#102">102</a>         rootNamespaceCache.clear();
+<a name="103" href="#103">103</a>         currentNamespaceCache = <strong>null</strong>;
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <em>/**<em>*</em></em>
+<a name="107" href="#107">107</a> <em>     * DOCUMENT ME!</em>
+<a name="108" href="#108">108</a> <em>     * </em>
+<a name="109" href="#109">109</a> <em>     * @param index</em>
+<a name="110" href="#110">110</a> <em>     *            DOCUMENT ME!</em>
+<a name="111" href="#111">111</a> <em>     * </em>
+<a name="112" href="#112">112</a> <em>     * @return the namespace at the specified index on the stack</em>
+<a name="113" href="#113">113</a> <em>     */</em>
+<a name="114" href="#114">114</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getNamespace(<strong>int</strong> index) {
+<a name="115" href="#115">115</a>         <strong>return</strong> (Namespace) namespaceStack.get(index);
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <em>/**<em>*</em></em>
+<a name="119" href="#119">119</a> <em>     * DOCUMENT ME!</em>
+<a name="120" href="#120">120</a> <em>     * </em>
+<a name="121" href="#121">121</a> <em>     * @param prefix</em>
+<a name="122" href="#122">122</a> <em>     *            DOCUMENT ME!</em>
+<a name="123" href="#123">123</a> <em>     * </em>
+<a name="124" href="#124">124</a> <em>     * @return the namespace for the given prefix or null if it could not be</em>
+<a name="125" href="#125">125</a> <em>     *         found.</em>
+<a name="126" href="#126">126</a> <em>     */</em>
+<a name="127" href="#127">127</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getNamespaceForPrefix(String prefix) {
+<a name="128" href="#128">128</a>         <strong>if</strong> (prefix == <strong>null</strong>) {
+<a name="129" href="#129">129</a>             prefix = <span class="string">""</span>;
+<a name="130" href="#130">130</a>         }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>         <strong>for</strong> (<strong>int</strong> i = namespaceStack.size() - 1; i >= 0; i--) {
+<a name="133" href="#133">133</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) namespaceStack.get(i);
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>             <strong>if</strong> (prefix.equals(namespace.getPrefix())) {
+<a name="136" href="#136">136</a>                 <strong>return</strong> namespace;
+<a name="137" href="#137">137</a>             }
+<a name="138" href="#138">138</a>         }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>         <strong>return</strong> <strong>null</strong>;
+<a name="141" href="#141">141</a>     }
+<a name="142" href="#142">142</a> 
+<a name="143" href="#143">143</a>     <em>/**<em>*</em></em>
+<a name="144" href="#144">144</a> <em>     * DOCUMENT ME!</em>
+<a name="145" href="#145">145</a> <em>     * </em>
+<a name="146" href="#146">146</a> <em>     * @param prefix</em>
+<a name="147" href="#147">147</a> <em>     *            DOCUMENT ME!</em>
+<a name="148" href="#148">148</a> <em>     * </em>
+<a name="149" href="#149">149</a> <em>     * @return the URI for the given prefix or null if it could not be found.</em>
+<a name="150" href="#150">150</a> <em>     */</em>
+<a name="151" href="#151">151</a>     <strong>public</strong> String getURI(String prefix) {
+<a name="152" href="#152">152</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = getNamespaceForPrefix(prefix);
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>         <strong>return</strong> (namespace != <strong>null</strong>) ? namespace.getURI() : <strong>null</strong>;
+<a name="155" href="#155">155</a>     }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>     <em>/**<em>*</em></em>
+<a name="158" href="#158">158</a> <em>     * DOCUMENT ME!</em>
+<a name="159" href="#159">159</a> <em>     * </em>
+<a name="160" href="#160">160</a> <em>     * @param namespace</em>
+<a name="161" href="#161">161</a> <em>     *            DOCUMENT ME!</em>
+<a name="162" href="#162">162</a> <em>     * </em>
+<a name="163" href="#163">163</a> <em>     * @return true if the given prefix is in the stack.</em>
+<a name="164" href="#164">164</a> <em>     */</em>
+<a name="165" href="#165">165</a>     <strong>public</strong> <strong>boolean</strong> contains(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="166" href="#166">166</a>         String prefix = namespace.getPrefix();
+<a name="167" href="#167">167</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> current = <strong>null</strong>;
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>         <strong>if</strong> ((prefix == <strong>null</strong>) || (prefix.length() == 0)) {
+<a name="170" href="#170">170</a>             current = getDefaultNamespace();
+<a name="171" href="#171">171</a>         } <strong>else</strong> {
+<a name="172" href="#172">172</a>             current = getNamespaceForPrefix(prefix);
+<a name="173" href="#173">173</a>         }
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>         <strong>if</strong> (current == <strong>null</strong>) {
+<a name="176" href="#176">176</a>             <strong>return</strong> false;
+<a name="177" href="#177">177</a>         }
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>         <strong>if</strong> (current == namespace) {
+<a name="180" href="#180">180</a>             <strong>return</strong> <strong>true</strong>;
+<a name="181" href="#181">181</a>         }
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>         <strong>return</strong> namespace.getURI().equals(current.getURI());
+<a name="184" href="#184">184</a>     }
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getQName(String namespaceURI, String localName,
+<a name="187" href="#187">187</a>             String qualifiedName) {
+<a name="188" href="#188">188</a>         <strong>if</strong> (localName == <strong>null</strong>) {
+<a name="189" href="#189">189</a>             localName = qualifiedName;
+<a name="190" href="#190">190</a>         } <strong>else</strong> <strong>if</strong> (qual<strong>if</strong>iedName == <strong>null</strong>) {
+<a name="191" href="#191">191</a>             qualifiedName = localName;
+<a name="192" href="#192">192</a>         }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>         <strong>if</strong> (namespaceURI == <strong>null</strong>) {
+<a name="195" href="#195">195</a>             namespaceURI = <span class="string">""</span>;
+<a name="196" href="#196">196</a>         }
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>         String prefix = <span class="string">""</span>;
+<a name="199" href="#199">199</a>         <strong>int</strong> index = qualifiedName.indexOf(<span class="string">":"</span>);
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>         <strong>if</strong> (index > 0) {
+<a name="202" href="#202">202</a>             prefix = qualifiedName.substring(0, index);
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>             <strong>if</strong> (localName.trim().length() == 0) {
+<a name="205" href="#205">205</a>                 localName = qualifiedName.substring(index + 1);
+<a name="206" href="#206">206</a>             }
+<a name="207" href="#207">207</a>         } <strong>else</strong> <strong>if</strong> (localName.trim().length() == 0) {
+<a name="208" href="#208">208</a>             localName = qualifiedName;
+<a name="209" href="#209">209</a>         }
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = createNamespace(prefix, namespaceURI);
+<a name="212" href="#212">212</a> 
+<a name="213" href="#213">213</a>         <strong>return</strong> pushQName(localName, qualifiedName, namespace, prefix);
+<a name="214" href="#214">214</a>     }
+<a name="215" href="#215">215</a> 
+<a name="216" href="#216">216</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getAttributeQName(String namespaceURI, String localName,
+<a name="217" href="#217">217</a>             String qualifiedName) {
+<a name="218" href="#218">218</a>         <strong>if</strong> (qual<strong>if</strong>iedName == <strong>null</strong>) {
+<a name="219" href="#219">219</a>             qualifiedName = localName;
+<a name="220" href="#220">220</a>         }
+<a name="221" href="#221">221</a> 
+<a name="222" href="#222">222</a>         Map map = getNamespaceCache();
+<a name="223" href="#223">223</a>         <a href="../../../org/dom4j/QName.html">QName</a> answer = (QName) map.get(qualifiedName);
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>         <strong>if</strong> (answer != <strong>null</strong>) {
+<a name="226" href="#226">226</a>             <strong>return</strong> answer;
+<a name="227" href="#227">227</a>         }
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>         <strong>if</strong> (localName == <strong>null</strong>) {
+<a name="230" href="#230">230</a>             localName = qualifiedName;
+<a name="231" href="#231">231</a>         }
+<a name="232" href="#232">232</a> 
+<a name="233" href="#233">233</a>         <strong>if</strong> (namespaceURI == <strong>null</strong>) {
+<a name="234" href="#234">234</a>             namespaceURI = <span class="string">""</span>;
+<a name="235" href="#235">235</a>         }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = <strong>null</strong>;
+<a name="238" href="#238">238</a>         String prefix = <span class="string">""</span>;
+<a name="239" href="#239">239</a>         <strong>int</strong> index = qualifiedName.indexOf(<span class="string">":"</span>);
+<a name="240" href="#240">240</a> 
+<a name="241" href="#241">241</a>         <strong>if</strong> (index > 0) {
+<a name="242" href="#242">242</a>             prefix = qualifiedName.substring(0, index);
+<a name="243" href="#243">243</a>             namespace = createNamespace(prefix, namespaceURI);
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>             <strong>if</strong> (localName.trim().length() == 0) {
+<a name="246" href="#246">246</a>                 localName = qualifiedName.substring(index + 1);
+<a name="247" href="#247">247</a>             }
+<a name="248" href="#248">248</a>         } <strong>else</strong> {
+<a name="249" href="#249">249</a>             <em class="comment">// attributes with no prefix have no namespace</em>
+<a name="250" href="#250">250</a>             namespace = Namespace.NO_NAMESPACE;
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>             <strong>if</strong> (localName.trim().length() == 0) {
+<a name="253" href="#253">253</a>                 localName = qualifiedName;
+<a name="254" href="#254">254</a>             }
+<a name="255" href="#255">255</a>         }
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>         answer = pushQName(localName, qualifiedName, namespace, prefix);
+<a name="258" href="#258">258</a>         map.put(qualifiedName, answer);
+<a name="259" href="#259">259</a> 
+<a name="260" href="#260">260</a>         <strong>return</strong> answer;
+<a name="261" href="#261">261</a>     }
+<a name="262" href="#262">262</a> 
+<a name="263" href="#263">263</a>     <em>/**<em>*</em></em>
+<a name="264" href="#264">264</a> <em>     * Adds a namepace to the stack with the given prefix and URI</em>
+<a name="265" href="#265">265</a> <em>     * </em>
+<a name="266" href="#266">266</a> <em>     * @param prefix</em>
+<a name="267" href="#267">267</a> <em>     *            DOCUMENT ME!</em>
+<a name="268" href="#268">268</a> <em>     * @param uri</em>
+<a name="269" href="#269">269</a> <em>     *            DOCUMENT ME!</em>
+<a name="270" href="#270">270</a> <em>     */</em>
+<a name="271" href="#271">271</a>     <strong>public</strong> <strong>void</strong> push(String prefix, String uri) {
+<a name="272" href="#272">272</a>         <strong>if</strong> (uri == <strong>null</strong>) {
+<a name="273" href="#273">273</a>             uri = <span class="string">""</span>;
+<a name="274" href="#274">274</a>         }
+<a name="275" href="#275">275</a> 
+<a name="276" href="#276">276</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = createNamespace(prefix, uri);
+<a name="277" href="#277">277</a>         push(namespace);
+<a name="278" href="#278">278</a>     }
+<a name="279" href="#279">279</a> 
+<a name="280" href="#280">280</a>     <em>/**<em>*</em></em>
+<a name="281" href="#281">281</a> <em>     * Adds a new namespace to the stack</em>
+<a name="282" href="#282">282</a> <em>     * </em>
+<a name="283" href="#283">283</a> <em>     * @param prefix</em>
+<a name="284" href="#284">284</a> <em>     *            DOCUMENT ME!</em>
+<a name="285" href="#285">285</a> <em>     * @param uri</em>
+<a name="286" href="#286">286</a> <em>     *            DOCUMENT ME!</em>
+<a name="287" href="#287">287</a> <em>     * </em>
+<a name="288" href="#288">288</a> <em>     * @return DOCUMENT ME!</em>
+<a name="289" href="#289">289</a> <em>     */</em>
+<a name="290" href="#290">290</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> addNamespace(String prefix, String uri) {
+<a name="291" href="#291">291</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = createNamespace(prefix, uri);
+<a name="292" href="#292">292</a>         push(namespace);
+<a name="293" href="#293">293</a> 
+<a name="294" href="#294">294</a>         <strong>return</strong> namespace;
+<a name="295" href="#295">295</a>     }
+<a name="296" href="#296">296</a> 
+<a name="297" href="#297">297</a>     <em>/**<em>*</em></em>
+<a name="298" href="#298">298</a> <em>     * Pops a namepace from the stack with the given prefix and URI</em>
+<a name="299" href="#299">299</a> <em>     * </em>
+<a name="300" href="#300">300</a> <em>     * @param prefix</em>
+<a name="301" href="#301">301</a> <em>     *            DOCUMENT ME!</em>
+<a name="302" href="#302">302</a> <em>     * </em>
+<a name="303" href="#303">303</a> <em>     * @return DOCUMENT ME!</em>
+<a name="304" href="#304">304</a> <em>     */</em>
+<a name="305" href="#305">305</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> pop(String prefix) {
+<a name="306" href="#306">306</a>         <strong>if</strong> (prefix == <strong>null</strong>) {
+<a name="307" href="#307">307</a>             prefix = <span class="string">""</span>;
+<a name="308" href="#308">308</a>         }
+<a name="309" href="#309">309</a> 
+<a name="310" href="#310">310</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = <strong>null</strong>;
+<a name="311" href="#311">311</a> 
+<a name="312" href="#312">312</a>         <strong>for</strong> (<strong>int</strong> i = namespaceStack.size() - 1; i >= 0; i--) {
+<a name="313" href="#313">313</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> ns = (Namespace) namespaceStack.get(i);
+<a name="314" href="#314">314</a> 
+<a name="315" href="#315">315</a>             <strong>if</strong> (prefix.equals(ns.getPrefix())) {
+<a name="316" href="#316">316</a>                 remove(i);
+<a name="317" href="#317">317</a>                 namespace = ns;
+<a name="318" href="#318">318</a> 
+<a name="319" href="#319">319</a>                 <strong>break</strong>;
+<a name="320" href="#320">320</a>             }
+<a name="321" href="#321">321</a>         }
+<a name="322" href="#322">322</a> 
+<a name="323" href="#323">323</a>         <strong>if</strong> (namespace == <strong>null</strong>) {
+<a name="324" href="#324">324</a>             System.out.println(<span class="string">"Warning: missing namespace prefix ignored: "</span>
+<a name="325" href="#325">325</a>                     + prefix);
+<a name="326" href="#326">326</a>         }
+<a name="327" href="#327">327</a> 
+<a name="328" href="#328">328</a>         <strong>return</strong> namespace;
+<a name="329" href="#329">329</a>     }
+<a name="330" href="#330">330</a> 
+<a name="331" href="#331">331</a>     <strong>public</strong> String toString() {
+<a name="332" href="#332">332</a>         <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" Stack: "</span> + namespaceStack.toString();
+<a name="333" href="#333">333</a>     }
+<a name="334" href="#334">334</a> 
+<a name="335" href="#335">335</a>     <strong>public</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="336" href="#336">336</a>         <strong>return</strong> documentFactory;
+<a name="337" href="#337">337</a>     }
+<a name="338" href="#338">338</a> 
+<a name="339" href="#339">339</a>     <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="340" href="#340">340</a>         <strong>this</strong>.documentFactory = documentFactory;
+<a name="341" href="#341">341</a>     }
+<a name="342" href="#342">342</a> 
+<a name="343" href="#343">343</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> getDefaultNamespace() {
+<a name="344" href="#344">344</a>         <strong>if</strong> (defaultNamespace == <strong>null</strong>) {
+<a name="345" href="#345">345</a>             defaultNamespace = findDefaultNamespace();
+<a name="346" href="#346">346</a>         }
+<a name="347" href="#347">347</a> 
+<a name="348" href="#348">348</a>         <strong>return</strong> defaultNamespace;
+<a name="349" href="#349">349</a>     }
+<a name="350" href="#350">350</a> 
+<a name="351" href="#351">351</a>     <em class="comment">// Implementation methods</em>
+<a name="352" href="#352">352</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="353" href="#353">353</a> 
+<a name="354" href="#354">354</a>     <em>/**<em>*</em></em>
+<a name="355" href="#355">355</a> <em>     * Adds the QName to the stack of available QNames</em>
+<a name="356" href="#356">356</a> <em>     * </em>
+<a name="357" href="#357">357</a> <em>     * @param localName</em>
+<a name="358" href="#358">358</a> <em>     *            DOCUMENT ME!</em>
+<a name="359" href="#359">359</a> <em>     * @param qualifiedName</em>
+<a name="360" href="#360">360</a> <em>     *            DOCUMENT ME!</em>
+<a name="361" href="#361">361</a> <em>     * @param namespace</em>
+<a name="362" href="#362">362</a> <em>     *            DOCUMENT ME!</em>
+<a name="363" href="#363">363</a> <em>     * @param prefix</em>
+<a name="364" href="#364">364</a> <em>     *            DOCUMENT ME!</em>
+<a name="365" href="#365">365</a> <em>     * </em>
+<a name="366" href="#366">366</a> <em>     * @return DOCUMENT ME!</em>
+<a name="367" href="#367">367</a> <em>     */</em>
+<a name="368" href="#368">368</a>     <strong>protected</strong> <a href="../../../org/dom4j/QName.html">QName</a> pushQName(String localName, String qualifiedName,
+<a name="369" href="#369">369</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace, String prefix) {
+<a name="370" href="#370">370</a>         <strong>if</strong> ((prefix == <strong>null</strong>) || (prefix.length() == 0)) {
+<a name="371" href="#371">371</a>             <strong>this</strong>.defaultNamespace = <strong>null</strong>;
+<a name="372" href="#372">372</a>         }
+<a name="373" href="#373">373</a> 
+<a name="374" href="#374">374</a>         <strong>return</strong> createQName(localName, qualifiedName, namespace);
+<a name="375" href="#375">375</a>     }
+<a name="376" href="#376">376</a> 
+<a name="377" href="#377">377</a>     <em>/**<em>*</em></em>
+<a name="378" href="#378">378</a> <em>     * Factory method to creeate new QName instances. By default this method</em>
+<a name="379" href="#379">379</a> <em>     * interns the QName</em>
+<a name="380" href="#380">380</a> <em>     * </em>
+<a name="381" href="#381">381</a> <em>     * @param localName</em>
+<a name="382" href="#382">382</a> <em>     *            DOCUMENT ME!</em>
+<a name="383" href="#383">383</a> <em>     * @param qualifiedName</em>
+<a name="384" href="#384">384</a> <em>     *            DOCUMENT ME!</em>
+<a name="385" href="#385">385</a> <em>     * @param namespace</em>
+<a name="386" href="#386">386</a> <em>     *            DOCUMENT ME!</em>
+<a name="387" href="#387">387</a> <em>     * </em>
+<a name="388" href="#388">388</a> <em>     * @return DOCUMENT ME!</em>
+<a name="389" href="#389">389</a> <em>     */</em>
+<a name="390" href="#390">390</a>     <strong>protected</strong> <a href="../../../org/dom4j/QName.html">QName</a> createQName(String localName, String qualifiedName,
+<a name="391" href="#391">391</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="392" href="#392">392</a>         <strong>return</strong> documentFactory.createQName(localName, namespace);
+<a name="393" href="#393">393</a>     }
+<a name="394" href="#394">394</a> 
+<a name="395" href="#395">395</a>     <em>/**<em>*</em></em>
+<a name="396" href="#396">396</a> <em>     * Factory method to creeate new Namespace instances. By default this method</em>
+<a name="397" href="#397">397</a> <em>     * interns the Namespace</em>
+<a name="398" href="#398">398</a> <em>     * </em>
+<a name="399" href="#399">399</a> <em>     * @param prefix</em>
+<a name="400" href="#400">400</a> <em>     *            DOCUMENT ME!</em>
+<a name="401" href="#401">401</a> <em>     * @param namespaceURI</em>
+<a name="402" href="#402">402</a> <em>     *            DOCUMENT ME!</em>
+<a name="403" href="#403">403</a> <em>     * </em>
+<a name="404" href="#404">404</a> <em>     * @return DOCUMENT ME!</em>
+<a name="405" href="#405">405</a> <em>     */</em>
+<a name="406" href="#406">406</a>     <strong>protected</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> createNamespace(String prefix, String namespaceURI) {
+<a name="407" href="#407">407</a>         <strong>return</strong> documentFactory.createNamespace(prefix, namespaceURI);
+<a name="408" href="#408">408</a>     }
+<a name="409" href="#409">409</a> 
+<a name="410" href="#410">410</a>     <em>/**<em>*</em></em>
+<a name="411" href="#411">411</a> <em>     * Attempts to find the current default namespace on the stack right now or</em>
+<a name="412" href="#412">412</a> <em>     * returns null if one could not be found</em>
+<a name="413" href="#413">413</a> <em>     * </em>
+<a name="414" href="#414">414</a> <em>     * @return DOCUMENT ME!</em>
+<a name="415" href="#415">415</a> <em>     */</em>
+<a name="416" href="#416">416</a>     <strong>protected</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> findDefaultNamespace() {
+<a name="417" href="#417">417</a>         <strong>for</strong> (<strong>int</strong> i = namespaceStack.size() - 1; i >= 0; i--) {
+<a name="418" href="#418">418</a>             <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) namespaceStack.get(i);
+<a name="419" href="#419">419</a> 
+<a name="420" href="#420">420</a>             <strong>if</strong> (namespace != <strong>null</strong>) {
+<a name="421" href="#421">421</a>                 String prefix = namespace.getPrefix();
+<a name="422" href="#422">422</a> 
+<a name="423" href="#423">423</a>                 <strong>if</strong> ((prefix == <strong>null</strong>) || (namespace.getPrefix().length() == 0)) {
+<a name="424" href="#424">424</a>                     <strong>return</strong> namespace;
+<a name="425" href="#425">425</a>                 }
+<a name="426" href="#426">426</a>             }
+<a name="427" href="#427">427</a>         }
+<a name="428" href="#428">428</a> 
+<a name="429" href="#429">429</a>         <strong>return</strong> <strong>null</strong>;
+<a name="430" href="#430">430</a>     }
+<a name="431" href="#431">431</a> 
+<a name="432" href="#432">432</a>     <em>/**<em>*</em></em>
+<a name="433" href="#433">433</a> <em>     * Removes the namespace at the given index of the stack</em>
+<a name="434" href="#434">434</a> <em>     * </em>
+<a name="435" href="#435">435</a> <em>     * @param index</em>
+<a name="436" href="#436">436</a> <em>     *            DOCUMENT ME!</em>
+<a name="437" href="#437">437</a> <em>     * </em>
+<a name="438" href="#438">438</a> <em>     * @return DOCUMENT ME!</em>
+<a name="439" href="#439">439</a> <em>     */</em>
+<a name="440" href="#440">440</a>     <strong>protected</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> remove(<strong>int</strong> index) {
+<a name="441" href="#441">441</a>         <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace = (Namespace) namespaceStack.remove(index);
+<a name="442" href="#442">442</a>         namespaceCacheList.remove(index);
+<a name="443" href="#443">443</a>         defaultNamespace = <strong>null</strong>;
+<a name="444" href="#444">444</a>         currentNamespaceCache = <strong>null</strong>;
+<a name="445" href="#445">445</a> 
+<a name="446" href="#446">446</a>         <strong>return</strong> namespace;
+<a name="447" href="#447">447</a>     }
+<a name="448" href="#448">448</a> 
+<a name="449" href="#449">449</a>     <strong>protected</strong> Map getNamespaceCache() {
+<a name="450" href="#450">450</a>         <strong>if</strong> (currentNamespaceCache == <strong>null</strong>) {
+<a name="451" href="#451">451</a>             <strong>int</strong> index = namespaceStack.size() - 1;
+<a name="452" href="#452">452</a> 
+<a name="453" href="#453">453</a>             <strong>if</strong> (index < 0) {
+<a name="454" href="#454">454</a>                 currentNamespaceCache = rootNamespaceCache;
+<a name="455" href="#455">455</a>             } <strong>else</strong> {
+<a name="456" href="#456">456</a>                 currentNamespaceCache = (Map) namespaceCacheList.get(index);
+<a name="457" href="#457">457</a> 
+<a name="458" href="#458">458</a>                 <strong>if</strong> (currentNamespaceCache == <strong>null</strong>) {
+<a name="459" href="#459">459</a>                     currentNamespaceCache = <strong>new</strong> HashMap();
+<a name="460" href="#460">460</a>                     namespaceCacheList.set(index, currentNamespaceCache);
+<a name="461" href="#461">461</a>                 }
+<a name="462" href="#462">462</a>             }
+<a name="463" href="#463">463</a>         }
+<a name="464" href="#464">464</a> 
+<a name="465" href="#465">465</a>         <strong>return</strong> currentNamespaceCache;
+<a name="466" href="#466">466</a>     }
+<a name="467" href="#467">467</a> }
+<a name="468" href="#468">468</a> 
+<a name="469" href="#469">469</a> <em class="comment">/*</em>
+<a name="470" href="#470">470</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="471" href="#471">471</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="472" href="#472">472</a> <em class="comment"> * following conditions are met:</em>
+<a name="473" href="#473">473</a> <em class="comment"> * </em>
+<a name="474" href="#474">474</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="475" href="#475">475</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="476" href="#476">476</a> <em class="comment"> * </em>
+<a name="477" href="#477">477</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="478" href="#478">478</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="479" href="#479">479</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="480" href="#480">480</a> <em class="comment"> * </em>
+<a name="481" href="#481">481</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="482" href="#482">482</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="483" href="#483">483</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="484" href="#484">484</a> <em class="comment"> * </em>
+<a name="485" href="#485">485</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="486" href="#486">486</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="487" href="#487">487</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="488" href="#488">488</a> <em class="comment"> * </em>
+<a name="489" href="#489">489</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="490" href="#490">490</a> <em class="comment"> * </em>
+<a name="491" href="#491">491</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="492" href="#492">492</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="493" href="#493">493</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="494" href="#494">494</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="495" href="#495">495</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="496" href="#496">496</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="497" href="#497">497</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="498" href="#498">498</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="499" href="#499">499</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="500" href="#500">500</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="501" href="#501">501</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="502" href="#502">502</a> <em class="comment"> * </em>
+<a name="503" href="#503">503</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="504" href="#504">504</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/QNameCache.html b/docs/xref/org/dom4j/tree/QNameCache.html
new file mode 100644
index 0000000..6d429f0
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/QNameCache.html
@@ -0,0 +1,323 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>QNameCache xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/QNameCache.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Collections;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.HashMap;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.Iterator;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.List;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Map;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.WeakHashMap;
+<a name="17" href="#17">17</a>  
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.QName;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em> * <p></em>
+<a name="24" href="#24">24</a>  <em> * <code>QNameCache</code> caches instances of <code>QName</code> for reuse</em>
+<a name="25" href="#25">25</a>  <em> * both across documents and within documents.</em>
+<a name="26" href="#26">26</a>  <em> * </p>< < < < < < < QNameCache.java</em>
+<a name="27" href="#27">27</a>  <em> * </em>
+<a name="28" href="#28">28</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="29" href="#29">29</a>  <em> * @version $Revision: 1.16 $ =======</em>
+<a name="30" href="#30">30</a>  <em> * </em>
+<a name="31" href="#31">31</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="32" href="#32">32</a>  <em> * @version $Revision: 1.16 $ >>>>>>> 1.15</em>
+<a name="33" href="#33">33</a>  <em> */</em>
+<a name="34" href="#34">34</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/QNameCache.html">QNameCache</a> {
+<a name="35" href="#35">35</a>      <em>/**<em>* Cache of {@link QName}instances with no namespace */</em></em>
+<a name="36" href="#36">36</a>      <strong>protected</strong> Map noNamespaceCache = Collections
+<a name="37" href="#37">37</a>              .synchronizedMap(<strong>new</strong> WeakHashMap());
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>      <em>/**<em>*</em></em>
+<a name="40" href="#40">40</a>  <em>     * Cache of {@link Map}instances indexed by namespace which contain caches</em>
+<a name="41" href="#41">41</a>  <em>     * of {@link QName}for each name</em>
+<a name="42" href="#42">42</a>  <em>     */</em>
+<a name="43" href="#43">43</a>      <strong>protected</strong> Map namespaceCache = Collections
+<a name="44" href="#44">44</a>              .synchronizedMap(<strong>new</strong> WeakHashMap());
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <em>/**<em>*</em></em>
+<a name="47" href="#47">47</a>  <em>     * The document factory associated with new QNames instances in this cache</em>
+<a name="48" href="#48">48</a>  <em>     * or null if no instances should be associated by default</em>
+<a name="49" href="#49">49</a>  <em>     */</em>
+<a name="50" href="#50">50</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory;
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/QNameCache.html">QNameCache</a>() {
+<a name="53" href="#53">53</a>      }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/QNameCache.html">QNameCache</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="56" href="#56">56</a>          <strong>this</strong>.documentFactory = documentFactory;
+<a name="57" href="#57">57</a>      }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>      <em>/**<em>*</em></em>
+<a name="60" href="#60">60</a>  <em>     * Returns a list of all the QName instances currently used</em>
+<a name="61" href="#61">61</a>  <em>     * </em>
+<a name="62" href="#62">62</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="63" href="#63">63</a>  <em>     */</em>
+<a name="64" href="#64">64</a>      <strong>public</strong> List getQNames() {
+<a name="65" href="#65">65</a>          List answer = <strong>new</strong> ArrayList();
+<a name="66" href="#66">66</a>          answer.addAll(noNamespaceCache.values());
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>          <strong>for</strong> (Iterator it = namespaceCache.values().iterator(); it.hasNext();) {
+<a name="69" href="#69">69</a>              Map map = (Map) it.next();
+<a name="70" href="#70">70</a>              answer.addAll(map.values());
+<a name="71" href="#71">71</a>          }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>          <strong>return</strong> answer;
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <em>/**<em>*</em></em>
+<a name="77" href="#77">77</a>  <em>     * DOCUMENT ME!</em>
+<a name="78" href="#78">78</a>  <em>     * </em>
+<a name="79" href="#79">79</a>  <em>     * @param name</em>
+<a name="80" href="#80">80</a>  <em>     *            DOCUMENT ME!</em>
+<a name="81" href="#81">81</a>  <em>     * </em>
+<a name="82" href="#82">82</a>  <em>     * @return the QName for the given name and no namepsace</em>
+<a name="83" href="#83">83</a>  <em>     */</em>
+<a name="84" href="#84">84</a>      <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> get(String name) {
+<a name="85" href="#85">85</a>          <a href="../../../org/dom4j/QName.html">QName</a> answer = <strong>null</strong>;
+<a name="86" href="#86">86</a>  
+<a name="87" href="#87">87</a>          <strong>if</strong> (name != <strong>null</strong>) {
+<a name="88" href="#88">88</a>              answer = (QName) noNamespaceCache.get(name);
+<a name="89" href="#89">89</a>          } <strong>else</strong> {
+<a name="90" href="#90">90</a>              name = <span class="string">""</span>;
+<a name="91" href="#91">91</a>          }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>          <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="94" href="#94">94</a>              answer = createQName(name);
+<a name="95" href="#95">95</a>              answer.setDocumentFactory(documentFactory);
+<a name="96" href="#96">96</a>              noNamespaceCache.put(name, answer);
+<a name="97" href="#97">97</a>          }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          <strong>return</strong> answer;
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <em>/**<em>*</em></em>
+<a name="103" href="#103">103</a> <em>     * DOCUMENT ME!</em>
+<a name="104" href="#104">104</a> <em>     * </em>
+<a name="105" href="#105">105</a> <em>     * @param name</em>
+<a name="106" href="#106">106</a> <em>     *            DOCUMENT ME!</em>
+<a name="107" href="#107">107</a> <em>     * @param namespace</em>
+<a name="108" href="#108">108</a> <em>     *            DOCUMENT ME!</em>
+<a name="109" href="#109">109</a> <em>     * </em>
+<a name="110" href="#110">110</a> <em>     * @return the QName for the given local name and namepsace</em>
+<a name="111" href="#111">111</a> <em>     */</em>
+<a name="112" href="#112">112</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> get(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="113" href="#113">113</a>         Map cache = getNamespaceCache(namespace);
+<a name="114" href="#114">114</a>         <a href="../../../org/dom4j/QName.html">QName</a> answer = <strong>null</strong>;
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>         <strong>if</strong> (name != <strong>null</strong>) {
+<a name="117" href="#117">117</a>             answer = (QName) cache.get(name);
+<a name="118" href="#118">118</a>         } <strong>else</strong> {
+<a name="119" href="#119">119</a>             name = <span class="string">""</span>;
+<a name="120" href="#120">120</a>         }
+<a name="121" href="#121">121</a> 
+<a name="122" href="#122">122</a>         <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="123" href="#123">123</a>             answer = createQName(name, namespace);
+<a name="124" href="#124">124</a>             answer.setDocumentFactory(documentFactory);
+<a name="125" href="#125">125</a>             cache.put(name, answer);
+<a name="126" href="#126">126</a>         }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>         <strong>return</strong> answer;
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <em>/**<em>*</em></em>
+<a name="132" href="#132">132</a> <em>     * DOCUMENT ME!</em>
+<a name="133" href="#133">133</a> <em>     * </em>
+<a name="134" href="#134">134</a> <em>     * @param localName</em>
+<a name="135" href="#135">135</a> <em>     *            DOCUMENT ME!</em>
+<a name="136" href="#136">136</a> <em>     * @param namespace</em>
+<a name="137" href="#137">137</a> <em>     *            DOCUMENT ME!</em>
+<a name="138" href="#138">138</a> <em>     * @param qName</em>
+<a name="139" href="#139">139</a> <em>     *            DOCUMENT ME!</em>
+<a name="140" href="#140">140</a> <em>     * </em>
+<a name="141" href="#141">141</a> <em>     * @return the QName for the given local name, qualified name and namepsace</em>
+<a name="142" href="#142">142</a> <em>     */</em>
+<a name="143" href="#143">143</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> get(String localName, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace, String qName) {
+<a name="144" href="#144">144</a>         Map cache = getNamespaceCache(namespace);
+<a name="145" href="#145">145</a>         <a href="../../../org/dom4j/QName.html">QName</a> answer = <strong>null</strong>;
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>         <strong>if</strong> (localName != <strong>null</strong>) {
+<a name="148" href="#148">148</a>             answer = (QName) cache.get(localName);
+<a name="149" href="#149">149</a>         } <strong>else</strong> {
+<a name="150" href="#150">150</a>             localName = <span class="string">""</span>;
+<a name="151" href="#151">151</a>         }
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>         <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="154" href="#154">154</a>             answer = createQName(localName, namespace, qName);
+<a name="155" href="#155">155</a>             answer.setDocumentFactory(documentFactory);
+<a name="156" href="#156">156</a>             cache.put(localName, answer);
+<a name="157" href="#157">157</a>         }
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>         <strong>return</strong> answer;
+<a name="160" href="#160">160</a>     }
+<a name="161" href="#161">161</a> 
+<a name="162" href="#162">162</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> get(String qualifiedName, String uri) {
+<a name="163" href="#163">163</a>         <strong>int</strong> index = qualifiedName.indexOf(':');
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>         <strong>if</strong> (index < 0) {
+<a name="166" href="#166">166</a>             <strong>return</strong> get(qualifiedName, Namespace.get(uri));
+<a name="167" href="#167">167</a>         } <strong>else</strong> {
+<a name="168" href="#168">168</a>             String name = qualifiedName.substring(index + 1);
+<a name="169" href="#169">169</a>             String prefix = qualifiedName.substring(0, index);
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>             <strong>return</strong> get(name, Namespace.get(prefix, uri));
+<a name="172" href="#172">172</a>         }
+<a name="173" href="#173">173</a>     }
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>     <em>/**<em>*</em></em>
+<a name="176" href="#176">176</a> <em>     * DOCUMENT ME!</em>
+<a name="177" href="#177">177</a> <em>     * </em>
+<a name="178" href="#178">178</a> <em>     * @param qname</em>
+<a name="179" href="#179">179</a> <em>     *            DOCUMENT ME!</em>
+<a name="180" href="#180">180</a> <em>     * </em>
+<a name="181" href="#181">181</a> <em>     * @return the cached QName instance if there is one or adds the given qname</em>
+<a name="182" href="#182">182</a> <em>     *         to the cache if not</em>
+<a name="183" href="#183">183</a> <em>     */</em>
+<a name="184" href="#184">184</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> intern(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="185" href="#185">185</a>         <strong>return</strong> get(qname.getName(), qname.getNamespace(), qname
+<a name="186" href="#186">186</a>                 .getQualifiedName());
+<a name="187" href="#187">187</a>     }
+<a name="188" href="#188">188</a> 
+<a name="189" href="#189">189</a>     <em>/**<em>*</em></em>
+<a name="190" href="#190">190</a> <em>     * DOCUMENT ME!</em>
+<a name="191" href="#191">191</a> <em>     * </em>
+<a name="192" href="#192">192</a> <em>     * @param namespace</em>
+<a name="193" href="#193">193</a> <em>     *            DOCUMENT ME!</em>
+<a name="194" href="#194">194</a> <em>     * </em>
+<a name="195" href="#195">195</a> <em>     * @return the cache for the given namespace. If one does not currently</em>
+<a name="196" href="#196">196</a> <em>     *         exist it is created.</em>
+<a name="197" href="#197">197</a> <em>     */</em>
+<a name="198" href="#198">198</a>     <strong>protected</strong> Map getNamespaceCache(<a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="199" href="#199">199</a>         <strong>if</strong> (namespace == Namespace.NO_NAMESPACE) {
+<a name="200" href="#200">200</a>             <strong>return</strong> noNamespaceCache;
+<a name="201" href="#201">201</a>         }
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>         Map answer = <strong>null</strong>;
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>         <strong>if</strong> (namespace != <strong>null</strong>) {
+<a name="206" href="#206">206</a>             answer = (Map) namespaceCache.get(namespace);
+<a name="207" href="#207">207</a>         }
+<a name="208" href="#208">208</a> 
+<a name="209" href="#209">209</a>         <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="210" href="#210">210</a>             answer = createMap();
+<a name="211" href="#211">211</a>             namespaceCache.put(namespace, answer);
+<a name="212" href="#212">212</a>         }
+<a name="213" href="#213">213</a> 
+<a name="214" href="#214">214</a>         <strong>return</strong> answer;
+<a name="215" href="#215">215</a>     }
+<a name="216" href="#216">216</a> 
+<a name="217" href="#217">217</a>     <em>/**<em>*</em></em>
+<a name="218" href="#218">218</a> <em>     * A factory method</em>
+<a name="219" href="#219">219</a> <em>     * </em>
+<a name="220" href="#220">220</a> <em>     * @return a newly created {@link Map}instance.</em>
+<a name="221" href="#221">221</a> <em>     */</em>
+<a name="222" href="#222">222</a>     <strong>protected</strong> Map createMap() {
+<a name="223" href="#223">223</a>         <strong>return</strong> Collections.synchronizedMap(<strong>new</strong> HashMap());
+<a name="224" href="#224">224</a>     }
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>     <em>/**<em>*</em></em>
+<a name="227" href="#227">227</a> <em>     * Factory method to create a new QName object which can be overloaded to</em>
+<a name="228" href="#228">228</a> <em>     * create derived QName instances</em>
+<a name="229" href="#229">229</a> <em>     * </em>
+<a name="230" href="#230">230</a> <em>     * @param name</em>
+<a name="231" href="#231">231</a> <em>     *            DOCUMENT ME!</em>
+<a name="232" href="#232">232</a> <em>     * </em>
+<a name="233" href="#233">233</a> <em>     * @return DOCUMENT ME!</em>
+<a name="234" href="#234">234</a> <em>     */</em>
+<a name="235" href="#235">235</a>     <strong>protected</strong> <a href="../../../org/dom4j/QName.html">QName</a> createQName(String name) {
+<a name="236" href="#236">236</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/QName.html">QName</a>(name);
+<a name="237" href="#237">237</a>     }
+<a name="238" href="#238">238</a> 
+<a name="239" href="#239">239</a>     <em>/**<em>*</em></em>
+<a name="240" href="#240">240</a> <em>     * Factory method to create a new QName object which can be overloaded to</em>
+<a name="241" href="#241">241</a> <em>     * create derived QName instances</em>
+<a name="242" href="#242">242</a> <em>     * </em>
+<a name="243" href="#243">243</a> <em>     * @param name</em>
+<a name="244" href="#244">244</a> <em>     *            DOCUMENT ME!</em>
+<a name="245" href="#245">245</a> <em>     * @param namespace</em>
+<a name="246" href="#246">246</a> <em>     *            DOCUMENT ME!</em>
+<a name="247" href="#247">247</a> <em>     * </em>
+<a name="248" href="#248">248</a> <em>     * @return DOCUMENT ME!</em>
+<a name="249" href="#249">249</a> <em>     */</em>
+<a name="250" href="#250">250</a>     <strong>protected</strong> <a href="../../../org/dom4j/QName.html">QName</a> createQName(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="251" href="#251">251</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/QName.html">QName</a>(name, namespace);
+<a name="252" href="#252">252</a>     }
+<a name="253" href="#253">253</a> 
+<a name="254" href="#254">254</a>     <em>/**<em>*</em></em>
+<a name="255" href="#255">255</a> <em>     * Factory method to create a new QName object which can be overloaded to</em>
+<a name="256" href="#256">256</a> <em>     * create derived QName instances</em>
+<a name="257" href="#257">257</a> <em>     * </em>
+<a name="258" href="#258">258</a> <em>     * @param name</em>
+<a name="259" href="#259">259</a> <em>     *            DOCUMENT ME!</em>
+<a name="260" href="#260">260</a> <em>     * @param namespace</em>
+<a name="261" href="#261">261</a> <em>     *            DOCUMENT ME!</em>
+<a name="262" href="#262">262</a> <em>     * @param qualifiedName</em>
+<a name="263" href="#263">263</a> <em>     *            DOCUMENT ME!</em>
+<a name="264" href="#264">264</a> <em>     * </em>
+<a name="265" href="#265">265</a> <em>     * @return DOCUMENT ME!</em>
+<a name="266" href="#266">266</a> <em>     */</em>
+<a name="267" href="#267">267</a>     <strong>protected</strong> <a href="../../../org/dom4j/QName.html">QName</a> createQName(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace,
+<a name="268" href="#268">268</a>             String qualifiedName) {
+<a name="269" href="#269">269</a>         <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/QName.html">QName</a>(name, namespace, qualifiedName);
+<a name="270" href="#270">270</a>     }
+<a name="271" href="#271">271</a> }
+<a name="272" href="#272">272</a> 
+<a name="273" href="#273">273</a> 
+<a name="274" href="#274">274</a> 
+<a name="275" href="#275">275</a> <em class="comment">/*</em>
+<a name="276" href="#276">276</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="277" href="#277">277</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="278" href="#278">278</a> <em class="comment"> * following conditions are met:</em>
+<a name="279" href="#279">279</a> <em class="comment"> * </em>
+<a name="280" href="#280">280</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="281" href="#281">281</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="282" href="#282">282</a> <em class="comment"> * </em>
+<a name="283" href="#283">283</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="284" href="#284">284</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="285" href="#285">285</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="286" href="#286">286</a> <em class="comment"> * </em>
+<a name="287" href="#287">287</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="288" href="#288">288</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="289" href="#289">289</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="290" href="#290">290</a> <em class="comment"> * </em>
+<a name="291" href="#291">291</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="292" href="#292">292</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="293" href="#293">293</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="294" href="#294">294</a> <em class="comment"> * </em>
+<a name="295" href="#295">295</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="296" href="#296">296</a> <em class="comment"> * </em>
+<a name="297" href="#297">297</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="298" href="#298">298</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="299" href="#299">299</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="300" href="#300">300</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="301" href="#301">301</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="302" href="#302">302</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="303" href="#303">303</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="304" href="#304">304</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="305" href="#305">305</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="306" href="#306">306</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="307" href="#307">307</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="308" href="#308">308</a> <em class="comment"> * </em>
+<a name="309" href="#309">309</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="310" href="#310">310</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/SingleIterator.html b/docs/xref/org/dom4j/tree/SingleIterator.html
new file mode 100644
index 0000000..76885c6
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/SingleIterator.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SingleIterator xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/tree/SingleIterator.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/tree/package-summary.html">org.dom4j.tree</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Iterator;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>SingleIterator</code> is an {@link Iterator}over a single object</em>
+<a name="15" href="#15">15</a>  <em> * instance.</em>
+<a name="16" href="#16">16</a>  <em> * </p></em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/tree/SingleIterator.html">SingleIterator</a> implements Iterator {
+<a name="22" href="#22">22</a>      <strong>private</strong> <strong>boolean</strong> first = <strong>true</strong>;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>      <strong>private</strong> Object object;
+<a name="25" href="#25">25</a>  
+<a name="26" href="#26">26</a>      <strong>public</strong> <a href="../../../org/dom4j/tree/SingleIterator.html">SingleIterator</a>(Object object) {
+<a name="27" href="#27">27</a>          <strong>this</strong>.object = object;
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <strong>boolean</strong> hasNext() {
+<a name="31" href="#31">31</a>          <strong>return</strong> first;
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> Object next() {
+<a name="35" href="#35">35</a>          Object answer = object;
+<a name="36" href="#36">36</a>          object = <strong>null</strong>;
+<a name="37" href="#37">37</a>          first = false;
+<a name="38" href="#38">38</a>  
+<a name="39" href="#39">39</a>          <strong>return</strong> answer;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> remove() {
+<a name="43" href="#43">43</a>          <strong>throw</strong> <strong>new</strong> UnsupportedOperationException(<span class="string">"remove() is not supported by "</span>
+<a name="44" href="#44">44</a>                  + <span class="string">"this iterator"</span>);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>  <em class="comment">/*</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * following conditions are met:</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * </em>
+<a name="53" href="#53">53</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/tree/package-frame.html b/docs/xref/org/dom4j/tree/package-frame.html
new file mode 100644
index 0000000..692364d
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/package-frame.html
@@ -0,0 +1,183 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.tree</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.tree</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="AbstractAttribute.html" target="classFrame">AbstractAttribute</a>
+          </li>
+        
+          <li>
+            <a href="AbstractBranch.html" target="classFrame">AbstractBranch</a>
+          </li>
+        
+          <li>
+            <a href="AbstractCDATA.html" target="classFrame">AbstractCDATA</a>
+          </li>
+        
+          <li>
+            <a href="AbstractCharacterData.html" target="classFrame">AbstractCharacterData</a>
+          </li>
+        
+          <li>
+            <a href="AbstractComment.html" target="classFrame">AbstractComment</a>
+          </li>
+        
+          <li>
+            <a href="AbstractDocument.html" target="classFrame">AbstractDocument</a>
+          </li>
+        
+          <li>
+            <a href="AbstractDocumentType.html" target="classFrame">AbstractDocumentType</a>
+          </li>
+        
+          <li>
+            <a href="AbstractElement.html" target="classFrame">AbstractElement</a>
+          </li>
+        
+          <li>
+            <a href="AbstractEntity.html" target="classFrame">AbstractEntity</a>
+          </li>
+        
+          <li>
+            <a href="AbstractNode.html" target="classFrame">AbstractNode</a>
+          </li>
+        
+          <li>
+            <a href="AbstractProcessingInstruction.html" target="classFrame">AbstractProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="AbstractText.html" target="classFrame">AbstractText</a>
+          </li>
+        
+          <li>
+            <a href="BackedList.html" target="classFrame">BackedList</a>
+          </li>
+        
+          <li>
+            <a href="BaseElement.html" target="classFrame">BaseElement</a>
+          </li>
+        
+          <li>
+            <a href="ConcurrentReaderHashMap.html" target="classFrame">ConcurrentReaderHashMap</a>
+          </li>
+        
+          <li>
+            <a href="ContentListFacade.html" target="classFrame">ContentListFacade</a>
+          </li>
+        
+          <li>
+            <a href="DefaultAttribute.html" target="classFrame">DefaultAttribute</a>
+          </li>
+        
+          <li>
+            <a href="DefaultCDATA.html" target="classFrame">DefaultCDATA</a>
+          </li>
+        
+          <li>
+            <a href="DefaultComment.html" target="classFrame">DefaultComment</a>
+          </li>
+        
+          <li>
+            <a href="DefaultDocument.html" target="classFrame">DefaultDocument</a>
+          </li>
+        
+          <li>
+            <a href="DefaultDocumentType.html" target="classFrame">DefaultDocumentType</a>
+          </li>
+        
+          <li>
+            <a href="DefaultElement.html" target="classFrame">DefaultElement</a>
+          </li>
+        
+          <li>
+            <a href="DefaultEntity.html" target="classFrame">DefaultEntity</a>
+          </li>
+        
+          <li>
+            <a href="DefaultNamespace.html" target="classFrame">DefaultNamespace</a>
+          </li>
+        
+          <li>
+            <a href="DefaultProcessingInstruction.html" target="classFrame">DefaultProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="DefaultText.html" target="classFrame">DefaultText</a>
+          </li>
+        
+          <li>
+            <a href="ElementIterator.html" target="classFrame">ElementIterator</a>
+          </li>
+        
+          <li>
+            <a href="ElementNameIterator.html" target="classFrame">ElementNameIterator</a>
+          </li>
+        
+          <li>
+            <a href="ElementQNameIterator.html" target="classFrame">ElementQNameIterator</a>
+          </li>
+        
+          <li>
+            <a href="FilterIterator.html" target="classFrame">FilterIterator</a>
+          </li>
+        
+          <li>
+            <a href="FlyweightAttribute.html" target="classFrame">FlyweightAttribute</a>
+          </li>
+        
+          <li>
+            <a href="FlyweightCDATA.html" target="classFrame">FlyweightCDATA</a>
+          </li>
+        
+          <li>
+            <a href="FlyweightComment.html" target="classFrame">FlyweightComment</a>
+          </li>
+        
+          <li>
+            <a href="FlyweightEntity.html" target="classFrame">FlyweightEntity</a>
+          </li>
+        
+          <li>
+            <a href="FlyweightProcessingInstruction.html" target="classFrame">FlyweightProcessingInstruction</a>
+          </li>
+        
+          <li>
+            <a href="FlyweightText.html" target="classFrame">FlyweightText</a>
+          </li>
+        
+          <li>
+            <a href="NamespaceCache.html" target="classFrame">NamespaceCache</a>
+          </li>
+        
+          <li>
+            <a href="NamespaceStack.html" target="classFrame">NamespaceStack</a>
+          </li>
+        
+          <li>
+            <a href="QNameCache.html" target="classFrame">QNameCache</a>
+          </li>
+        
+          <li>
+            <a href="SingleIterator.html" target="classFrame">SingleIterator</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/tree/package-summary.html b/docs/xref/org/dom4j/tree/package-summary.html
new file mode 100644
index 0000000..97fcd9b
--- /dev/null
+++ b/docs/xref/org/dom4j/tree/package-summary.html
@@ -0,0 +1,336 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.tree</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="AbstractAttribute.html" target="classFrame">AbstractAttribute</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractBranch.html" target="classFrame">AbstractBranch</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractCDATA.html" target="classFrame">AbstractCDATA</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractCharacterData.html" target="classFrame">AbstractCharacterData</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractComment.html" target="classFrame">AbstractComment</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractDocument.html" target="classFrame">AbstractDocument</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractDocumentType.html" target="classFrame">AbstractDocumentType</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractElement.html" target="classFrame">AbstractElement</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractEntity.html" target="classFrame">AbstractEntity</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractNode.html" target="classFrame">AbstractNode</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractProcessingInstruction.html" target="classFrame">AbstractProcessingInstruction</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="AbstractText.html" target="classFrame">AbstractText</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="BackedList.html" target="classFrame">BackedList</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="BaseElement.html" target="classFrame">BaseElement</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ConcurrentReaderHashMap.html" target="classFrame">ConcurrentReaderHashMap</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ContentListFacade.html" target="classFrame">ContentListFacade</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultAttribute.html" target="classFrame">DefaultAttribute</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultCDATA.html" target="classFrame">DefaultCDATA</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultComment.html" target="classFrame">DefaultComment</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultDocument.html" target="classFrame">DefaultDocument</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultDocumentType.html" target="classFrame">DefaultDocumentType</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultElement.html" target="classFrame">DefaultElement</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultEntity.html" target="classFrame">DefaultEntity</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultNamespace.html" target="classFrame">DefaultNamespace</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultProcessingInstruction.html" target="classFrame">DefaultProcessingInstruction</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultText.html" target="classFrame">DefaultText</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementIterator.html" target="classFrame">ElementIterator</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementNameIterator.html" target="classFrame">ElementNameIterator</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ElementQNameIterator.html" target="classFrame">ElementQNameIterator</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="FilterIterator.html" target="classFrame">FilterIterator</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="FlyweightAttribute.html" target="classFrame">FlyweightAttribute</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="FlyweightCDATA.html" target="classFrame">FlyweightCDATA</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="FlyweightComment.html" target="classFrame">FlyweightComment</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="FlyweightEntity.html" target="classFrame">FlyweightEntity</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="FlyweightProcessingInstruction.html" target="classFrame">FlyweightProcessingInstruction</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="FlyweightText.html" target="classFrame">FlyweightText</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NamespaceCache.html" target="classFrame">NamespaceCache</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NamespaceStack.html" target="classFrame">NamespaceStack</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="QNameCache.html" target="classFrame">QNameCache</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SingleIterator.html" target="classFrame">SingleIterator</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/util/AttributeHelper.html b/docs/xref/org/dom4j/util/AttributeHelper.html
new file mode 100644
index 0000000..3fe81b0
--- /dev/null
+++ b/docs/xref/org/dom4j/util/AttributeHelper.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AttributeHelper xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/AttributeHelper.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Element;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.QName;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>AttributeHelper</code> a number of helper methods for working with</em>
+<a name="17" href="#17">17</a>  <em> * attribute values.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/AttributeHelper.html">AttributeHelper</a> {
+<a name="24" href="#24">24</a>      <strong>protected</strong> <a href="../../../org/dom4j/util/AttributeHelper.html">AttributeHelper</a>() {
+<a name="25" href="#25">25</a>      }
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>public</strong> <strong>static</strong> <strong>boolean</strong> <strong>boolean</strong>Value(<a href="../../../org/dom4j/Element.html">Element</a> element, String attributeName) {
+<a name="28" href="#28">28</a>          <strong>return</strong> booleanValue(element.attribute(attributeName));
+<a name="29" href="#29">29</a>      }
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <strong>static</strong> <strong>boolean</strong> <strong>boolean</strong>Value(<a href="../../../org/dom4j/Element.html">Element</a> element, <a href="../../../org/dom4j/QName.html">QName</a> attributeQName) {
+<a name="32" href="#32">32</a>          <strong>return</strong> booleanValue(element.attribute(attributeQName));
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>protected</strong> <strong>static</strong> <strong>boolean</strong> <strong>boolean</strong>Value(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute) {
+<a name="36" href="#36">36</a>          <strong>if</strong> (attribute == <strong>null</strong>) {
+<a name="37" href="#37">37</a>              <strong>return</strong> false;
+<a name="38" href="#38">38</a>          }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>          Object value = attribute.getData();
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>          <strong>if</strong> (value == <strong>null</strong>) {
+<a name="43" href="#43">43</a>              <strong>return</strong> false;
+<a name="44" href="#44">44</a>          } <strong>else</strong> <strong>if</strong> (value instanceof Boolean) {
+<a name="45" href="#45">45</a>              Boolean b = (Boolean) value;
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>              <strong>return</strong> b.booleanValue();
+<a name="48" href="#48">48</a>          } <strong>else</strong> {
+<a name="49" href="#49">49</a>              <strong>return</strong> <span class="string">"true"</span>.equalsIgnoreCase(value.toString());
+<a name="50" href="#50">50</a>          }
+<a name="51" href="#51">51</a>      }
+<a name="52" href="#52">52</a>  }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>  <em class="comment">/*</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * following conditions are met:</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * </em>
+<a name="59" href="#59">59</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="89" href="#89">89</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/IndexedDocumentFactory.html b/docs/xref/org/dom4j/util/IndexedDocumentFactory.html
new file mode 100644
index 0000000..f5e6cb5
--- /dev/null
+++ b/docs/xref/org/dom4j/util/IndexedDocumentFactory.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>IndexedDocumentFactory xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/IndexedDocumentFactory.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Element;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.QName;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>IndexedDocumentFactory</code> is a factory of XML objects which</em>
+<a name="17" href="#17">17</a>  <em> * create indexed Element implementations to allow quicker lookup via name of</em>
+<a name="18" href="#18">18</a>  <em> * Element and Attributes though at the expense of more memory used to create</em>
+<a name="19" href="#19">19</a>  <em> * the name indexes.</em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/IndexedDocumentFactory.html">IndexedDocumentFactory</a> <strong>extends</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> {
+<a name="26" href="#26">26</a>      <em>/**<em>* The Singleton instance */</em></em>
+<a name="27" href="#27">27</a>      <strong>protected</strong> <strong>static</strong> <strong>transient</strong> <a href="../../../org/dom4j/util/IndexedDocumentFactory.html">IndexedDocumentFactory</a> singleton
+<a name="28" href="#28">28</a>              = <strong>new</strong> <a href="../../../org/dom4j/util/IndexedDocumentFactory.html">IndexedDocumentFactory</a>();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em>     * <p></em>
+<a name="32" href="#32">32</a>  <em>     * Access to the singleton instance of this factory.</em>
+<a name="33" href="#33">33</a>  <em>     * </p></em>
+<a name="34" href="#34">34</a>  <em>     * </em>
+<a name="35" href="#35">35</a>  <em>     * @return the default singleon instance</em>
+<a name="36" href="#36">36</a>  <em>     */</em>
+<a name="37" href="#37">37</a>      <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getInstance() {
+<a name="38" href="#38">38</a>          <strong>return</strong> singleton;
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em class="comment">// DocumentFactory methods</em>
+<a name="42" href="#42">42</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="43" href="#43">43</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="44" href="#44">44</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/util/IndexedElement.html">IndexedElement</a>(qname);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname, <strong>int</strong> attributeCount) {
+<a name="48" href="#48">48</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/util/IndexedElement.html">IndexedElement</a>(qname, attributeCount);
+<a name="49" href="#49">49</a>      }
+<a name="50" href="#50">50</a>  }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>  <em class="comment">/*</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * following conditions are met:</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="73" href="#73">73</a>  <em class="comment"> * </em>
+<a name="74" href="#74">74</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * </em>
+<a name="86" href="#86">86</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/IndexedElement.html b/docs/xref/org/dom4j/util/IndexedElement.html
new file mode 100644
index 0000000..d73bde4
--- /dev/null
+++ b/docs/xref/org/dom4j/util/IndexedElement.html
@@ -0,0 +1,334 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>IndexedElement xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/IndexedElement.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.HashMap;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Iterator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.List;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.Map;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Element;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Node;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.QName;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.tree.BackedList;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.tree.DefaultElement;
+<a name="22" href="#22">22</a>  
+<a name="23" href="#23">23</a>  <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em> * <p></em>
+<a name="25" href="#25">25</a>  <em> * <code>IndexedElement</code> is an implementation of {@link Element}which</em>
+<a name="26" href="#26">26</a>  <em> * maintains an index of the attributes and elements it contains to optimise</em>
+<a name="27" href="#27">27</a>  <em> * lookups via name.</em>
+<a name="28" href="#28">28</a>  <em> * </p></em>
+<a name="29" href="#29">29</a>  <em> * </em>
+<a name="30" href="#30">30</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="31" href="#31">31</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="32" href="#32">32</a>  <em> */</em>
+<a name="33" href="#33">33</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/IndexedElement.html">IndexedElement</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a> {
+<a name="34" href="#34">34</a>      <em>/**<em>* Lazily constructed index for elements */</em></em>
+<a name="35" href="#35">35</a>      <strong>private</strong> Map elementIndex;
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <em>/**<em>* Lazily constructed index for attributes */</em></em>
+<a name="38" href="#38">38</a>      <strong>private</strong> Map attributeIndex;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <a href="../../../org/dom4j/util/IndexedElement.html">IndexedElement</a>(String name) {
+<a name="41" href="#41">41</a>          <strong>super</strong>(name);
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/util/IndexedElement.html">IndexedElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="45" href="#45">45</a>          <strong>super</strong>(qname);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <a href="../../../org/dom4j/util/IndexedElement.html">IndexedElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, <strong>int</strong> attributeCount) {
+<a name="49" href="#49">49</a>          <strong>super</strong>(qname, attributeCount);
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(String name) {
+<a name="53" href="#53">53</a>          <strong>return</strong> (Attribute) attributeIndex().get(name);
+<a name="54" href="#54">54</a>      }
+<a name="55" href="#55">55</a>  
+<a name="56" href="#56">56</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="57" href="#57">57</a>          <strong>return</strong> (Attribute) attributeIndex().get(qName);
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> element(String name) {
+<a name="61" href="#61">61</a>          <strong>return</strong> asElement(elementIndex().get(name));
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> element(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="65" href="#65">65</a>          <strong>return</strong> asElement(elementIndex().get(qName));
+<a name="66" href="#66">66</a>      }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <strong>public</strong> List elements(String name) {
+<a name="69" href="#69">69</a>          <strong>return</strong> asElementList(elementIndex().get(name));
+<a name="70" href="#70">70</a>      }
+<a name="71" href="#71">71</a>  
+<a name="72" href="#72">72</a>      <strong>public</strong> List elements(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="73" href="#73">73</a>          <strong>return</strong> asElementList(elementIndex().get(qName));
+<a name="74" href="#74">74</a>      }
+<a name="75" href="#75">75</a>  
+<a name="76" href="#76">76</a>      <em class="comment">// Implementation methods</em>
+<a name="77" href="#77">77</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="78" href="#78">78</a>      <strong>protected</strong> <a href="../../../org/dom4j/Element.html">Element</a> asElement(Object object) {
+<a name="79" href="#79">79</a>          <strong>if</strong> (object instanceof Element) {
+<a name="80" href="#80">80</a>              <strong>return</strong> (Element) object;
+<a name="81" href="#81">81</a>          } <strong>else</strong> <strong>if</strong> (object != <strong>null</strong>) {
+<a name="82" href="#82">82</a>              List list = (List) object;
+<a name="83" href="#83">83</a>  
+<a name="84" href="#84">84</a>              <strong>if</strong> (list.size() >= 1) {
+<a name="85" href="#85">85</a>                  <strong>return</strong> (Element) list.get(0);
+<a name="86" href="#86">86</a>              }
+<a name="87" href="#87">87</a>          }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>          <strong>return</strong> <strong>null</strong>;
+<a name="90" href="#90">90</a>      }
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>      <strong>protected</strong> List asElementList(Object object) {
+<a name="93" href="#93">93</a>          <strong>if</strong> (object instanceof Element) {
+<a name="94" href="#94">94</a>              <strong>return</strong> createSingleResultList(object);
+<a name="95" href="#95">95</a>          } <strong>else</strong> <strong>if</strong> (object != <strong>null</strong>) {
+<a name="96" href="#96">96</a>              List list = (List) object;
+<a name="97" href="#97">97</a>              <a href="../../../org/dom4j/tree/BackedList.html">BackedList</a> answer = createResultList();
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>              <strong>for</strong> (<strong>int</strong> i = 0, size = list.size(); i < size; i++) {
+<a name="100" href="#100">100</a>                 answer.addLocal(list.get(i));
+<a name="101" href="#101">101</a>             }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>             <strong>return</strong> answer;
+<a name="104" href="#104">104</a>         }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>         <strong>return</strong> createEmptyList();
+<a name="107" href="#107">107</a>     }
+<a name="108" href="#108">108</a> 
+<a name="109" href="#109">109</a>     <em>/**<em>*</em></em>
+<a name="110" href="#110">110</a> <em>     * DOCUMENT ME!</em>
+<a name="111" href="#111">111</a> <em>     * </em>
+<a name="112" href="#112">112</a> <em>     * @param object</em>
+<a name="113" href="#113">113</a> <em>     *            DOCUMENT ME!</em>
+<a name="114" href="#114">114</a> <em>     * </em>
+<a name="115" href="#115">115</a> <em>     * @return DOCUMENT ME!</em>
+<a name="116" href="#116">116</a> <em>     * </em>
+<a name="117" href="#117">117</a> <em>     * @deprecated WILL BE REMOVED IN dom4j-1.6 !!</em>
+<a name="118" href="#118">118</a> <em>     */</em>
+<a name="119" href="#119">119</a>     <strong>protected</strong> Iterator asElementIterator(Object object) {
+<a name="120" href="#120">120</a>         <strong>return</strong> asElementList(object).iterator();
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <em class="comment">// #### could we override the add(Element) remove(Element methods?</em>
+<a name="124" href="#124">124</a>     <strong>protected</strong> <strong>void</strong> addNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="125" href="#125">125</a>         <strong>super</strong>.addNode(node);
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>         <strong>if</strong> ((elementIndex != <strong>null</strong>) && node instanceof Element) {
+<a name="128" href="#128">128</a>             addToElementIndex((Element) node);
+<a name="129" href="#129">129</a>         } <strong>else</strong> <strong>if</strong> ((attributeIndex != <strong>null</strong>) && node instanceof Attribute) {
+<a name="130" href="#130">130</a>             addToAttributeIndex((Attribute) node);
+<a name="131" href="#131">131</a>         }
+<a name="132" href="#132">132</a>     }
+<a name="133" href="#133">133</a> 
+<a name="134" href="#134">134</a>     <strong>protected</strong> <strong>boolean</strong> removeNode(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="135" href="#135">135</a>         <strong>if</strong> (<strong>super</strong>.removeNode(node)) {
+<a name="136" href="#136">136</a>             <strong>if</strong> ((elementIndex != <strong>null</strong>) && node instanceof Element) {
+<a name="137" href="#137">137</a>                 removeFromElementIndex((Element) node);
+<a name="138" href="#138">138</a>             } <strong>else</strong> <strong>if</strong> ((attributeIndex != <strong>null</strong>) && node instanceof Attribute) {
+<a name="139" href="#139">139</a>                 removeFromAttributeIndex((Attribute) node);
+<a name="140" href="#140">140</a>             }
+<a name="141" href="#141">141</a> 
+<a name="142" href="#142">142</a>             <strong>return</strong> <strong>true</strong>;
+<a name="143" href="#143">143</a>         }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>         <strong>return</strong> false;
+<a name="146" href="#146">146</a>     }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <strong>protected</strong> Map attributeIndex() {
+<a name="149" href="#149">149</a>         <strong>if</strong> (attributeIndex == <strong>null</strong>) {
+<a name="150" href="#150">150</a>             attributeIndex = createAttributeIndex();
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>             <strong>for</strong> (Iterator iter = attributeIterator(); iter.hasNext();) {
+<a name="153" href="#153">153</a>                 addToAttributeIndex((Attribute) iter.next());
+<a name="154" href="#154">154</a>             }
+<a name="155" href="#155">155</a>         }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>         <strong>return</strong> attributeIndex;
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <strong>protected</strong> Map elementIndex() {
+<a name="161" href="#161">161</a>         <strong>if</strong> (elementIndex == <strong>null</strong>) {
+<a name="162" href="#162">162</a>             elementIndex = createElementIndex();
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>             <strong>for</strong> (Iterator iter = elementIterator(); iter.hasNext();) {
+<a name="165" href="#165">165</a>                 addToElementIndex((Element) iter.next());
+<a name="166" href="#166">166</a>             }
+<a name="167" href="#167">167</a>         }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>         <strong>return</strong> elementIndex;
+<a name="170" href="#170">170</a>     }
+<a name="171" href="#171">171</a> 
+<a name="172" href="#172">172</a>     <em>/**<em>*</em></em>
+<a name="173" href="#173">173</a> <em>     * A Factory Method to create the index for attributes</em>
+<a name="174" href="#174">174</a> <em>     * </em>
+<a name="175" href="#175">175</a> <em>     * @return DOCUMENT ME!</em>
+<a name="176" href="#176">176</a> <em>     */</em>
+<a name="177" href="#177">177</a>     <strong>protected</strong> Map createAttributeIndex() {
+<a name="178" href="#178">178</a>         Map answer = createIndex();
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>         <strong>return</strong> answer;
+<a name="181" href="#181">181</a>     }
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>     <em>/**<em>*</em></em>
+<a name="184" href="#184">184</a> <em>     * A Factory Method to create the index for elements</em>
+<a name="185" href="#185">185</a> <em>     * </em>
+<a name="186" href="#186">186</a> <em>     * @return DOCUMENT ME!</em>
+<a name="187" href="#187">187</a> <em>     */</em>
+<a name="188" href="#188">188</a>     <strong>protected</strong> Map createElementIndex() {
+<a name="189" href="#189">189</a>         Map answer = createIndex();
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>         <strong>return</strong> answer;
+<a name="192" href="#192">192</a>     }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>     <strong>protected</strong> <strong>void</strong> addToElementIndex(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="195" href="#195">195</a>         <a href="../../../org/dom4j/QName.html">QName</a> qName = element.getQName();
+<a name="196" href="#196">196</a>         String name = qName.getName();
+<a name="197" href="#197">197</a>         addToElementIndex(qName, element);
+<a name="198" href="#198">198</a>         addToElementIndex(name, element);
+<a name="199" href="#199">199</a>     }
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>     <strong>protected</strong> <strong>void</strong> addToElementIndex(Object key, <a href="../../../org/dom4j/Element.html">Element</a> value) {
+<a name="202" href="#202">202</a>         Object oldValue = elementIndex.get(key);
+<a name="203" href="#203">203</a> 
+<a name="204" href="#204">204</a>         <strong>if</strong> (oldValue == <strong>null</strong>) {
+<a name="205" href="#205">205</a>             elementIndex.put(key, value);
+<a name="206" href="#206">206</a>         } <strong>else</strong> {
+<a name="207" href="#207">207</a>             <strong>if</strong> (oldValue instanceof List) {
+<a name="208" href="#208">208</a>                 List list = (List) oldValue;
+<a name="209" href="#209">209</a>                 list.add(value);
+<a name="210" href="#210">210</a>             } <strong>else</strong> {
+<a name="211" href="#211">211</a>                 List list = createList();
+<a name="212" href="#212">212</a>                 list.add(oldValue);
+<a name="213" href="#213">213</a>                 list.add(value);
+<a name="214" href="#214">214</a>                 elementIndex.put(key, list);
+<a name="215" href="#215">215</a>             }
+<a name="216" href="#216">216</a>         }
+<a name="217" href="#217">217</a>     }
+<a name="218" href="#218">218</a> 
+<a name="219" href="#219">219</a>     <strong>protected</strong> <strong>void</strong> removeFromElementIndex(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="220" href="#220">220</a>         <a href="../../../org/dom4j/QName.html">QName</a> qName = element.getQName();
+<a name="221" href="#221">221</a>         String name = qName.getName();
+<a name="222" href="#222">222</a>         removeFromElementIndex(qName, element);
+<a name="223" href="#223">223</a>         removeFromElementIndex(name, element);
+<a name="224" href="#224">224</a>     }
+<a name="225" href="#225">225</a> 
+<a name="226" href="#226">226</a>     <strong>protected</strong> <strong>void</strong> removeFromElementIndex(Object key, <a href="../../../org/dom4j/Element.html">Element</a> value) {
+<a name="227" href="#227">227</a>         Object oldValue = elementIndex.get(key);
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>         <strong>if</strong> (oldValue instanceof List) {
+<a name="230" href="#230">230</a>             List list = (List) oldValue;
+<a name="231" href="#231">231</a>             list.remove(value);
+<a name="232" href="#232">232</a>         } <strong>else</strong> {
+<a name="233" href="#233">233</a>             elementIndex.remove(key);
+<a name="234" href="#234">234</a>         }
+<a name="235" href="#235">235</a>     }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>     <strong>protected</strong> <strong>void</strong> addToAttributeIndex(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute) {
+<a name="238" href="#238">238</a>         <a href="../../../org/dom4j/QName.html">QName</a> qName = attribute.getQName();
+<a name="239" href="#239">239</a>         String name = qName.getName();
+<a name="240" href="#240">240</a>         addToAttributeIndex(qName, attribute);
+<a name="241" href="#241">241</a>         addToAttributeIndex(name, attribute);
+<a name="242" href="#242">242</a>     }
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>     <strong>protected</strong> <strong>void</strong> addToAttributeIndex(Object key, <a href="../../../org/dom4j/Attribute.html">Attribute</a> value) {
+<a name="245" href="#245">245</a>         Object oldValue = attributeIndex.get(key);
+<a name="246" href="#246">246</a> 
+<a name="247" href="#247">247</a>         <strong>if</strong> (oldValue != <strong>null</strong>) {
+<a name="248" href="#248">248</a>             attributeIndex.put(key, value);
+<a name="249" href="#249">249</a>         }
+<a name="250" href="#250">250</a>     }
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>     <strong>protected</strong> <strong>void</strong> removeFromAttributeIndex(<a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute) {
+<a name="253" href="#253">253</a>         <a href="../../../org/dom4j/QName.html">QName</a> qName = attribute.getQName();
+<a name="254" href="#254">254</a>         String name = qName.getName();
+<a name="255" href="#255">255</a>         removeFromAttributeIndex(qName, attribute);
+<a name="256" href="#256">256</a>         removeFromAttributeIndex(name, attribute);
+<a name="257" href="#257">257</a>     }
+<a name="258" href="#258">258</a> 
+<a name="259" href="#259">259</a>     <strong>protected</strong> <strong>void</strong> removeFromAttributeIndex(Object key, <a href="../../../org/dom4j/Attribute.html">Attribute</a> value) {
+<a name="260" href="#260">260</a>         Object oldValue = attributeIndex.get(key);
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>         <strong>if</strong> ((oldValue != <strong>null</strong>) && oldValue.equals(value)) {
+<a name="263" href="#263">263</a>             attributeIndex.remove(key);
+<a name="264" href="#264">264</a>         }
+<a name="265" href="#265">265</a>     }
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>     <em>/**<em>*</em></em>
+<a name="268" href="#268">268</a> <em>     * Factory method to return a new map implementation for indices</em>
+<a name="269" href="#269">269</a> <em>     * </em>
+<a name="270" href="#270">270</a> <em>     * @return DOCUMENT ME!</em>
+<a name="271" href="#271">271</a> <em>     */</em>
+<a name="272" href="#272">272</a>     <strong>protected</strong> Map createIndex() {
+<a name="273" href="#273">273</a>         <strong>return</strong> <strong>new</strong> HashMap();
+<a name="274" href="#274">274</a>     }
+<a name="275" href="#275">275</a> 
+<a name="276" href="#276">276</a>     <em>/**<em>*</em></em>
+<a name="277" href="#277">277</a> <em>     * Factory method to return a list implementation for indices</em>
+<a name="278" href="#278">278</a> <em>     * </em>
+<a name="279" href="#279">279</a> <em>     * @return DOCUMENT ME!</em>
+<a name="280" href="#280">280</a> <em>     */</em>
+<a name="281" href="#281">281</a>     <strong>protected</strong> List createList() {
+<a name="282" href="#282">282</a>         <strong>return</strong> <strong>new</strong> ArrayList();
+<a name="283" href="#283">283</a>     }
+<a name="284" href="#284">284</a> }
+<a name="285" href="#285">285</a> 
+<a name="286" href="#286">286</a> <em class="comment">/*</em>
+<a name="287" href="#287">287</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="288" href="#288">288</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="289" href="#289">289</a> <em class="comment"> * following conditions are met:</em>
+<a name="290" href="#290">290</a> <em class="comment"> * </em>
+<a name="291" href="#291">291</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="292" href="#292">292</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="293" href="#293">293</a> <em class="comment"> * </em>
+<a name="294" href="#294">294</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="295" href="#295">295</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="296" href="#296">296</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="297" href="#297">297</a> <em class="comment"> * </em>
+<a name="298" href="#298">298</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="299" href="#299">299</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="300" href="#300">300</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="301" href="#301">301</a> <em class="comment"> * </em>
+<a name="302" href="#302">302</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="303" href="#303">303</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="304" href="#304">304</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="305" href="#305">305</a> <em class="comment"> * </em>
+<a name="306" href="#306">306</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="307" href="#307">307</a> <em class="comment"> * </em>
+<a name="308" href="#308">308</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="309" href="#309">309</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="310" href="#310">310</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="311" href="#311">311</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="312" href="#312">312</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="313" href="#313">313</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="314" href="#314">314</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="315" href="#315">315</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="316" href="#316">316</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="317" href="#317">317</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="318" href="#318">318</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="319" href="#319">319</a> <em class="comment"> * </em>
+<a name="320" href="#320">320</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="321" href="#321">321</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/NodeComparator.html b/docs/xref/org/dom4j/util/NodeComparator.html
new file mode 100644
index 0000000..4a5bb6d
--- /dev/null
+++ b/docs/xref/org/dom4j/util/NodeComparator.html
@@ -0,0 +1,357 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NodeComparator xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/NodeComparator.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Comparator;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Branch;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.CharacterData;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.Document;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Element;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.Node;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.QName;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.Text;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>  <em>/**<em>*</em></em>
+<a name="28" href="#28">28</a>  <em> * <p></em>
+<a name="29" href="#29">29</a>  <em> * <code>NodeComparator</code> is a {@link Comparator}of Node instances which</em>
+<a name="30" href="#30">30</a>  <em> * is capable of comparing Nodes for equality based on their values.</em>
+<a name="31" href="#31">31</a>  <em> * </p></em>
+<a name="32" href="#32">32</a>  <em> * </em>
+<a name="33" href="#33">33</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="34" href="#34">34</a>  <em> * @version $Revision: 1.10 $</em>
+<a name="35" href="#35">35</a>  <em> */</em>
+<a name="36" href="#36">36</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/NodeComparator.html">NodeComparator</a> implements Comparator {
+<a name="37" href="#37">37</a>      <em>/**<em>*</em></em>
+<a name="38" href="#38">38</a>  <em>     * Compares its two arguments for order. Returns a negative integer, zero,</em>
+<a name="39" href="#39">39</a>  <em>     * or a positive integer as the first argument is less than, equal to, or</em>
+<a name="40" href="#40">40</a>  <em>     * greater than the second.</em>
+<a name="41" href="#41">41</a>  <em>     * </em>
+<a name="42" href="#42">42</a>  <em>     * <p></em>
+<a name="43" href="#43">43</a>  <em>     * The implementor must ensure that <tt>sgn(compare(x, y)) ==</em>
+<a name="44" href="#44">44</a>  <em>     * -sgn(compare(y, x))</tt></em>
+<a name="45" href="#45">45</a>  <em>     * for all <tt>x</tt> and <tt>y</tt>. (This implies that</em>
+<a name="46" href="#46">46</a>  <em>     * <tt>compare(x, y)</tt> must throw an exception if and only if</em>
+<a name="47" href="#47">47</a>  <em>     * <tt>compare(y, x)</tt> throws an exception.)</em>
+<a name="48" href="#48">48</a>  <em>     * </p></em>
+<a name="49" href="#49">49</a>  <em>     * </em>
+<a name="50" href="#50">50</a>  <em>     * <p></em>
+<a name="51" href="#51">51</a>  <em>     * The implementor must also ensure that the relation is transitive:</em>
+<a name="52" href="#52">52</a>  <em>     * <tt>((compare(x, y)&gt;0) &amp;&amp; (compare(y, z)&gt;0))</tt> implies</em>
+<a name="53" href="#53">53</a>  <em>     * <tt>compare(x, z)&gt;0</tt>.</em>
+<a name="54" href="#54">54</a>  <em>     * </p></em>
+<a name="55" href="#55">55</a>  <em>     * </em>
+<a name="56" href="#56">56</a>  <em>     * <p></em>
+<a name="57" href="#57">57</a>  <em>     * Finally, the implementer must ensure that <tt>compare(x, y)==0</tt></em>
+<a name="58" href="#58">58</a>  <em>     * implies that <tt>sgn(compare(x, z))==sgn(compare(y, z))</tt> for all</em>
+<a name="59" href="#59">59</a>  <em>     * <tt>z</tt>.</em>
+<a name="60" href="#60">60</a>  <em>     * </p></em>
+<a name="61" href="#61">61</a>  <em>     * </em>
+<a name="62" href="#62">62</a>  <em>     * <p></em>
+<a name="63" href="#63">63</a>  <em>     * It is generally the case, but <i>not </i> strictly required that</em>
+<a name="64" href="#64">64</a>  <em>     * <tt>(compare(x, y)==0) == (x.equals(y))</tt>. Generally speaking, any</em>
+<a name="65" href="#65">65</a>  <em>     * comparator that violates this condition should clearly indicate this</em>
+<a name="66" href="#66">66</a>  <em>     * fact. The recommended language is "Note: this comparator imposes</em>
+<a name="67" href="#67">67</a>  <em>     * orderings that are inconsistent with equals."</em>
+<a name="68" href="#68">68</a>  <em>     * </p></em>
+<a name="69" href="#69">69</a>  <em>     * </em>
+<a name="70" href="#70">70</a>  <em>     * @param o1</em>
+<a name="71" href="#71">71</a>  <em>     *            the first object to be compared.</em>
+<a name="72" href="#72">72</a>  <em>     * @param o2</em>
+<a name="73" href="#73">73</a>  <em>     *            the second object to be compared.</em>
+<a name="74" href="#74">74</a>  <em>     * </em>
+<a name="75" href="#75">75</a>  <em>     * @return a negative integer, zero, or a positive integer as the first</em>
+<a name="76" href="#76">76</a>  <em>     *         argument is less than, equal to, or greater than the second.</em>
+<a name="77" href="#77">77</a>  <em>     */</em>
+<a name="78" href="#78">78</a>      <strong>public</strong> <strong>int</strong> compare(Object o1, Object o2) {
+<a name="79" href="#79">79</a>          <strong>if</strong> (o1 == o2) {
+<a name="80" href="#80">80</a>              <strong>return</strong> 0;
+<a name="81" href="#81">81</a>          } <strong>else</strong> <strong>if</strong> (o1 == <strong>null</strong>) {
+<a name="82" href="#82">82</a>              <em class="comment">// null is less</em>
+<a name="83" href="#83">83</a>              <strong>return</strong> -1;
+<a name="84" href="#84">84</a>          } <strong>else</strong> <strong>if</strong> (o2 == <strong>null</strong>) {
+<a name="85" href="#85">85</a>              <strong>return</strong> 1;
+<a name="86" href="#86">86</a>          }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>          <strong>if</strong> (o1 instanceof Node) {
+<a name="89" href="#89">89</a>              <strong>if</strong> (o2 instanceof Node) {
+<a name="90" href="#90">90</a>                  <strong>return</strong> compare((Node) o1, (Node) o2);
+<a name="91" href="#91">91</a>              } <strong>else</strong> {
+<a name="92" href="#92">92</a>                  <em class="comment">// Node implementations are greater</em>
+<a name="93" href="#93">93</a>                  <strong>return</strong> 1;
+<a name="94" href="#94">94</a>              }
+<a name="95" href="#95">95</a>          } <strong>else</strong> {
+<a name="96" href="#96">96</a>              <strong>if</strong> (o2 instanceof Node) {
+<a name="97" href="#97">97</a>                  <em class="comment">// Node implementations are greater</em>
+<a name="98" href="#98">98</a>                  <strong>return</strong> -1;
+<a name="99" href="#99">99</a>              } <strong>else</strong> {
+<a name="100" href="#100">100</a>                 <strong>if</strong> (o1 instanceof Comparable) {
+<a name="101" href="#101">101</a>                     Comparable c1 = (Comparable) o1;
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>                     <strong>return</strong> c1.compareTo(o2);
+<a name="104" href="#104">104</a>                 } <strong>else</strong> {
+<a name="105" href="#105">105</a>                     String name1 = o1.getClass().getName();
+<a name="106" href="#106">106</a>                     String name2 = o2.getClass().getName();
+<a name="107" href="#107">107</a> 
+<a name="108" href="#108">108</a>                     <strong>return</strong> name1.compareTo(name2);
+<a name="109" href="#109">109</a>                 }
+<a name="110" href="#110">110</a>             }
+<a name="111" href="#111">111</a>         }
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/Node.html">Node</a> n1, <a href="../../../org/dom4j/Node.html">Node</a> n2) {
+<a name="115" href="#115">115</a>         <strong>int</strong> nodeType1 = n1.getNodeType();
+<a name="116" href="#116">116</a>         <strong>int</strong> nodeType2 = n2.getNodeType();
+<a name="117" href="#117">117</a>         <strong>int</strong> answer = nodeType1 - nodeType2;
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         <strong>if</strong> (answer != 0) {
+<a name="120" href="#120">120</a>             <strong>return</strong> answer;
+<a name="121" href="#121">121</a>         } <strong>else</strong> {
+<a name="122" href="#122">122</a>             <strong>switch</strong> (nodeType1) {
+<a name="123" href="#123">123</a>                 <strong>case</strong> Node.ELEMENT_NODE:
+<a name="124" href="#124">124</a>                     <strong>return</strong> compare((Element) n1, (Element) n2);
+<a name="125" href="#125">125</a> 
+<a name="126" href="#126">126</a>                 <strong>case</strong> Node.DOCUMENT_NODE:
+<a name="127" href="#127">127</a>                     <strong>return</strong> compare((Document) n1, (Document) n2);
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>                 <strong>case</strong> Node.ATTRIBUTE_NODE:
+<a name="130" href="#130">130</a>                     <strong>return</strong> compare((Attribute) n1, (Attribute) n2);
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>                 <strong>case</strong> Node.TEXT_NODE:
+<a name="133" href="#133">133</a>                     <strong>return</strong> compare((Text) n1, (Text) n2);
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>                 <strong>case</strong> Node.CDATA_SECTION_NODE:
+<a name="136" href="#136">136</a>                     <strong>return</strong> compare((CDATA) n1, (CDATA) n2);
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>                 <strong>case</strong> Node.ENTITY_REFERENCE_NODE:
+<a name="139" href="#139">139</a>                     <strong>return</strong> compare((Entity) n1, (Entity) n2);
+<a name="140" href="#140">140</a> 
+<a name="141" href="#141">141</a>                 <strong>case</strong> Node.PROCESSING_INSTRUCTION_NODE:
+<a name="142" href="#142">142</a>                     <strong>return</strong> compare((ProcessingInstruction) n1,
+<a name="143" href="#143">143</a>                             (<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a>) n2);
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>                 <strong>case</strong> Node.COMMENT_NODE:
+<a name="146" href="#146">146</a>                     <strong>return</strong> compare((Comment) n1, (Comment) n2);
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>                 <strong>case</strong> Node.DOCUMENT_TYPE_NODE:
+<a name="149" href="#149">149</a>                     <strong>return</strong> compare((DocumentType) n1, (DocumentType) n2);
+<a name="150" href="#150">150</a> 
+<a name="151" href="#151">151</a>                 <strong>case</strong> Node.NAMESPACE_NODE:
+<a name="152" href="#152">152</a>                     <strong>return</strong> compare((Namespace) n1, (Namespace) n2);
+<a name="153" href="#153">153</a> 
+<a name="154" href="#154">154</a>                 <strong>default</strong>:
+<a name="155" href="#155">155</a>                     <strong>throw</strong> <strong>new</strong> RuntimeException(<span class="string">"Invalid node types. node1: "</span>
+<a name="156" href="#156">156</a>                             + n1 + <span class="string">" and node2: "</span> + n2);
+<a name="157" href="#157">157</a>             }
+<a name="158" href="#158">158</a>         }
+<a name="159" href="#159">159</a>     }
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/Document.html">Document</a> n1, <a href="../../../org/dom4j/Document.html">Document</a> n2) {
+<a name="162" href="#162">162</a>         <strong>int</strong> answer = compare(n1.getDocType(), n2.getDocType());
+<a name="163" href="#163">163</a> 
+<a name="164" href="#164">164</a>         <strong>if</strong> (answer == 0) {
+<a name="165" href="#165">165</a>             answer = compareContent(n1, n2);
+<a name="166" href="#166">166</a>         }
+<a name="167" href="#167">167</a> 
+<a name="168" href="#168">168</a>         <strong>return</strong> answer;
+<a name="169" href="#169">169</a>     }
+<a name="170" href="#170">170</a> 
+<a name="171" href="#171">171</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/Element.html">Element</a> n1, <a href="../../../org/dom4j/Element.html">Element</a> n2) {
+<a name="172" href="#172">172</a>         <strong>int</strong> answer = compare(n1.getQName(), n2.getQName());
+<a name="173" href="#173">173</a> 
+<a name="174" href="#174">174</a>         <strong>if</strong> (answer == 0) {
+<a name="175" href="#175">175</a>             <em class="comment">// lets compare attributes</em>
+<a name="176" href="#176">176</a>             <strong>int</strong> c1 = n1.attributeCount();
+<a name="177" href="#177">177</a>             <strong>int</strong> c2 = n2.attributeCount();
+<a name="178" href="#178">178</a>             answer = c1 - c2;
+<a name="179" href="#179">179</a> 
+<a name="180" href="#180">180</a>             <strong>if</strong> (answer == 0) {
+<a name="181" href="#181">181</a>                 <strong>for</strong> (<strong>int</strong> i = 0; i < c1; i++) {
+<a name="182" href="#182">182</a>                     <a href="../../../org/dom4j/Attribute.html">Attribute</a> a1 = n1.attribute(i);
+<a name="183" href="#183">183</a>                     <a href="../../../org/dom4j/Attribute.html">Attribute</a> a2 = n2.attribute(a1.getQName());
+<a name="184" href="#184">184</a>                     answer = compare(a1, a2);
+<a name="185" href="#185">185</a> 
+<a name="186" href="#186">186</a>                     <strong>if</strong> (answer != 0) {
+<a name="187" href="#187">187</a>                         <strong>return</strong> answer;
+<a name="188" href="#188">188</a>                     }
+<a name="189" href="#189">189</a>                 }
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>                 answer = compareContent(n1, n2);
+<a name="192" href="#192">192</a>             }
+<a name="193" href="#193">193</a>         }
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>         <strong>return</strong> answer;
+<a name="196" href="#196">196</a>     }
+<a name="197" href="#197">197</a> 
+<a name="198" href="#198">198</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/Attribute.html">Attribute</a> n1, <a href="../../../org/dom4j/Attribute.html">Attribute</a> n2) {
+<a name="199" href="#199">199</a>         <strong>int</strong> answer = compare(n1.getQName(), n2.getQName());
+<a name="200" href="#200">200</a> 
+<a name="201" href="#201">201</a>         <strong>if</strong> (answer == 0) {
+<a name="202" href="#202">202</a>             answer = compare(n1.getValue(), n2.getValue());
+<a name="203" href="#203">203</a>         }
+<a name="204" href="#204">204</a> 
+<a name="205" href="#205">205</a>         <strong>return</strong> answer;
+<a name="206" href="#206">206</a>     }
+<a name="207" href="#207">207</a> 
+<a name="208" href="#208">208</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/QName.html">QName</a> n1, <a href="../../../org/dom4j/QName.html">QName</a> n2) {
+<a name="209" href="#209">209</a>         <strong>int</strong> answer = compare(n1.getNamespaceURI(), n2.getNamespaceURI());
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>         <strong>if</strong> (answer == 0) {
+<a name="212" href="#212">212</a>             answer = compare(n1.getQualifiedName(), n2.getQualifiedName());
+<a name="213" href="#213">213</a>         }
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>         <strong>return</strong> answer;
+<a name="216" href="#216">216</a>     }
+<a name="217" href="#217">217</a> 
+<a name="218" href="#218">218</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/Namespace.html">Namespace</a> n1, <a href="../../../org/dom4j/Namespace.html">Namespace</a> n2) {
+<a name="219" href="#219">219</a>         <strong>int</strong> answer = compare(n1.getURI(), n2.getURI());
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>         <strong>if</strong> (answer == 0) {
+<a name="222" href="#222">222</a>             answer = compare(n1.getPrefix(), n2.getPrefix());
+<a name="223" href="#223">223</a>         }
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>         <strong>return</strong> answer;
+<a name="226" href="#226">226</a>     }
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/CharacterData.html">CharacterData</a> t1, <a href="../../../org/dom4j/CharacterData.html">CharacterData</a> t2) {
+<a name="229" href="#229">229</a>         <strong>return</strong> compare(t1.getText(), t2.getText());
+<a name="230" href="#230">230</a>     }
+<a name="231" href="#231">231</a> 
+<a name="232" href="#232">232</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/DocumentType.html">DocumentType</a> o1, <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> o2) {
+<a name="233" href="#233">233</a>         <strong>if</strong> (o1 == o2) {
+<a name="234" href="#234">234</a>             <strong>return</strong> 0;
+<a name="235" href="#235">235</a>         } <strong>else</strong> <strong>if</strong> (o1 == <strong>null</strong>) {
+<a name="236" href="#236">236</a>             <em class="comment">// null is less</em>
+<a name="237" href="#237">237</a>             <strong>return</strong> -1;
+<a name="238" href="#238">238</a>         } <strong>else</strong> <strong>if</strong> (o2 == <strong>null</strong>) {
+<a name="239" href="#239">239</a>             <strong>return</strong> 1;
+<a name="240" href="#240">240</a>         }
+<a name="241" href="#241">241</a> 
+<a name="242" href="#242">242</a>         <strong>int</strong> answer = compare(o1.getPublicID(), o2.getPublicID());
+<a name="243" href="#243">243</a> 
+<a name="244" href="#244">244</a>         <strong>if</strong> (answer == 0) {
+<a name="245" href="#245">245</a>             answer = compare(o1.getSystemID(), o2.getSystemID());
+<a name="246" href="#246">246</a> 
+<a name="247" href="#247">247</a>             <strong>if</strong> (answer == 0) {
+<a name="248" href="#248">248</a>                 answer = compare(o1.getName(), o2.getName());
+<a name="249" href="#249">249</a>             }
+<a name="250" href="#250">250</a>         }
+<a name="251" href="#251">251</a> 
+<a name="252" href="#252">252</a>         <strong>return</strong> answer;
+<a name="253" href="#253">253</a>     }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/Entity.html">Entity</a> n1, <a href="../../../org/dom4j/Entity.html">Entity</a> n2) {
+<a name="256" href="#256">256</a>         <strong>int</strong> answer = compare(n1.getName(), n2.getName());
+<a name="257" href="#257">257</a> 
+<a name="258" href="#258">258</a>         <strong>if</strong> (answer == 0) {
+<a name="259" href="#259">259</a>             answer = compare(n1.getText(), n2.getText());
+<a name="260" href="#260">260</a>         }
+<a name="261" href="#261">261</a> 
+<a name="262" href="#262">262</a>         <strong>return</strong> answer;
+<a name="263" href="#263">263</a>     }
+<a name="264" href="#264">264</a> 
+<a name="265" href="#265">265</a>     <strong>public</strong> <strong>int</strong> compare(<a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> n1, <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> n2) {
+<a name="266" href="#266">266</a>         <strong>int</strong> answer = compare(n1.getTarget(), n2.getTarget());
+<a name="267" href="#267">267</a> 
+<a name="268" href="#268">268</a>         <strong>if</strong> (answer == 0) {
+<a name="269" href="#269">269</a>             answer = compare(n1.getText(), n2.getText());
+<a name="270" href="#270">270</a>         }
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>         <strong>return</strong> answer;
+<a name="273" href="#273">273</a>     }
+<a name="274" href="#274">274</a> 
+<a name="275" href="#275">275</a>     <strong>public</strong> <strong>int</strong> compareContent(<a href="../../../org/dom4j/Branch.html">Branch</a> b1, <a href="../../../org/dom4j/Branch.html">Branch</a> b2) {
+<a name="276" href="#276">276</a>         <strong>int</strong> c1 = b1.nodeCount();
+<a name="277" href="#277">277</a>         <strong>int</strong> c2 = b2.nodeCount();
+<a name="278" href="#278">278</a>         <strong>int</strong> answer = c1 - c2;
+<a name="279" href="#279">279</a> 
+<a name="280" href="#280">280</a>         <strong>if</strong> (answer == 0) {
+<a name="281" href="#281">281</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < c1; i++) {
+<a name="282" href="#282">282</a>                 <a href="../../../org/dom4j/Node.html">Node</a> n1 = b1.node(i);
+<a name="283" href="#283">283</a>                 <a href="../../../org/dom4j/Node.html">Node</a> n2 = b2.node(i);
+<a name="284" href="#284">284</a>                 answer = compare(n1, n2);
+<a name="285" href="#285">285</a> 
+<a name="286" href="#286">286</a>                 <strong>if</strong> (answer != 0) {
+<a name="287" href="#287">287</a>                     <strong>break</strong>;
+<a name="288" href="#288">288</a>                 }
+<a name="289" href="#289">289</a>             }
+<a name="290" href="#290">290</a>         }
+<a name="291" href="#291">291</a> 
+<a name="292" href="#292">292</a>         <strong>return</strong> answer;
+<a name="293" href="#293">293</a>     }
+<a name="294" href="#294">294</a> 
+<a name="295" href="#295">295</a>     <strong>public</strong> <strong>int</strong> compare(String o1, String o2) {
+<a name="296" href="#296">296</a>         <strong>if</strong> (o1 == o2) {
+<a name="297" href="#297">297</a>             <strong>return</strong> 0;
+<a name="298" href="#298">298</a>         } <strong>else</strong> <strong>if</strong> (o1 == <strong>null</strong>) {
+<a name="299" href="#299">299</a>             <em class="comment">// null is less</em>
+<a name="300" href="#300">300</a>             <strong>return</strong> -1;
+<a name="301" href="#301">301</a>         } <strong>else</strong> <strong>if</strong> (o2 == <strong>null</strong>) {
+<a name="302" href="#302">302</a>             <strong>return</strong> 1;
+<a name="303" href="#303">303</a>         }
+<a name="304" href="#304">304</a> 
+<a name="305" href="#305">305</a>         <strong>return</strong> o1.compareTo(o2);
+<a name="306" href="#306">306</a>     }
+<a name="307" href="#307">307</a> }
+<a name="308" href="#308">308</a> 
+<a name="309" href="#309">309</a> <em class="comment">/*</em>
+<a name="310" href="#310">310</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="311" href="#311">311</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="312" href="#312">312</a> <em class="comment"> * following conditions are met:</em>
+<a name="313" href="#313">313</a> <em class="comment"> * </em>
+<a name="314" href="#314">314</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="315" href="#315">315</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="316" href="#316">316</a> <em class="comment"> * </em>
+<a name="317" href="#317">317</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="318" href="#318">318</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="319" href="#319">319</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="320" href="#320">320</a> <em class="comment"> * </em>
+<a name="321" href="#321">321</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="322" href="#322">322</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="323" href="#323">323</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="324" href="#324">324</a> <em class="comment"> * </em>
+<a name="325" href="#325">325</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="326" href="#326">326</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="327" href="#327">327</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="328" href="#328">328</a> <em class="comment"> * </em>
+<a name="329" href="#329">329</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="330" href="#330">330</a> <em class="comment"> * </em>
+<a name="331" href="#331">331</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="332" href="#332">332</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="333" href="#333">333</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="334" href="#334">334</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="335" href="#335">335</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="336" href="#336">336</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="337" href="#337">337</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="338" href="#338">338</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="339" href="#339">339</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="340" href="#340">340</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="341" href="#341">341</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="342" href="#342">342</a> <em class="comment"> * </em>
+<a name="343" href="#343">343</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="344" href="#344">344</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/NonLazyDocumentFactory.html b/docs/xref/org/dom4j/util/NonLazyDocumentFactory.html
new file mode 100644
index 0000000..1a590db
--- /dev/null
+++ b/docs/xref/org/dom4j/util/NonLazyDocumentFactory.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NonLazyDocumentFactory xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/NonLazyDocumentFactory.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Element;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.QName;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>NonLazyDocumentFactory</code> is a factory of XML objects which avoid</em>
+<a name="17" href="#17">17</a>  <em> * using the lazy creation pattern. This results in a slower creation of a</em>
+<a name="18" href="#18">18</a>  <em> * Document and uses more memory but it means that the same Document instance</em>
+<a name="19" href="#19">19</a>  <em> * can be shared across threads provided it is not modified.</em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.9 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/NonLazyDocumentFactory.html">NonLazyDocumentFactory</a> <strong>extends</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> {
+<a name="26" href="#26">26</a>      <em>/**<em>* The Singleton instance */</em></em>
+<a name="27" href="#27">27</a>      <strong>protected</strong> <strong>static</strong> <strong>transient</strong> <a href="../../../org/dom4j/util/NonLazyDocumentFactory.html">NonLazyDocumentFactory</a> singleton
+<a name="28" href="#28">28</a>              = <strong>new</strong> <a href="../../../org/dom4j/util/NonLazyDocumentFactory.html">NonLazyDocumentFactory</a>();
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em>     * <p></em>
+<a name="32" href="#32">32</a>  <em>     * Access to the singleton instance of this factory.</em>
+<a name="33" href="#33">33</a>  <em>     * </p></em>
+<a name="34" href="#34">34</a>  <em>     * </em>
+<a name="35" href="#35">35</a>  <em>     * @return the default singleon instance</em>
+<a name="36" href="#36">36</a>  <em>     */</em>
+<a name="37" href="#37">37</a>      <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getInstance() {
+<a name="38" href="#38">38</a>          <strong>return</strong> singleton;
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em class="comment">// DocumentFactory methods</em>
+<a name="42" href="#42">42</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="43" href="#43">43</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="44" href="#44">44</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/util/NonLazyElement.html">NonLazyElement</a>(qname);
+<a name="45" href="#45">45</a>      }
+<a name="46" href="#46">46</a>  }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>  <em class="comment">/*</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * following conditions are met:</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * </em>
+<a name="53" href="#53">53</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * </em>
+<a name="56" href="#56">56</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="69" href="#69">69</a>  <em class="comment"> * </em>
+<a name="70" href="#70">70</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * </em>
+<a name="82" href="#82">82</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/NonLazyElement.html b/docs/xref/org/dom4j/util/NonLazyElement.html
new file mode 100644
index 0000000..7c5fdf5
--- /dev/null
+++ b/docs/xref/org/dom4j/util/NonLazyElement.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>NonLazyElement xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/NonLazyElement.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.QName;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.tree.BaseElement;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>NonLazyElement</code> is the default DOM4J default implementation of</em>
+<a name="17" href="#17">17</a>  <em> * an XML element.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/NonLazyElement.html">NonLazyElement</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/BaseElement.html">BaseElement</a> {
+<a name="24" href="#24">24</a>      <strong>public</strong> <a href="../../../org/dom4j/util/NonLazyElement.html">NonLazyElement</a>(String name) {
+<a name="25" href="#25">25</a>          <strong>super</strong>(name);
+<a name="26" href="#26">26</a>          <strong>this</strong>.attributes = createAttributeList();
+<a name="27" href="#27">27</a>          <strong>this</strong>.content = createContentList();
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <a href="../../../org/dom4j/util/NonLazyElement.html">NonLazyElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="31" href="#31">31</a>          <strong>super</strong>(qname);
+<a name="32" href="#32">32</a>          <strong>this</strong>.attributes = createAttributeList();
+<a name="33" href="#33">33</a>          <strong>this</strong>.content = createContentList();
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> <a href="../../../org/dom4j/util/NonLazyElement.html">NonLazyElement</a>(String name, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="37" href="#37">37</a>          <strong>super</strong>(name, namespace);
+<a name="38" href="#38">38</a>          <strong>this</strong>.attributes = createAttributeList();
+<a name="39" href="#39">39</a>          <strong>this</strong>.content = createContentList();
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <a href="../../../org/dom4j/util/NonLazyElement.html">NonLazyElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, <strong>int</strong> attributeCount) {
+<a name="43" href="#43">43</a>          <strong>super</strong>(qname);
+<a name="44" href="#44">44</a>          <strong>this</strong>.attributes = createAttributeList(attributeCount);
+<a name="45" href="#45">45</a>          <strong>this</strong>.content = createContentList();
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>  <em class="comment">/*</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * following conditions are met:</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * </em>
+<a name="65" href="#65">65</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * </em>
+<a name="69" href="#69">69</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="84" href="#84">84</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/PerThreadSingleton.html b/docs/xref/org/dom4j/util/PerThreadSingleton.html
new file mode 100644
index 0000000..634927c
--- /dev/null
+++ b/docs/xref/org/dom4j/util/PerThreadSingleton.html
@@ -0,0 +1,116 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>PerThreadSingleton xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/PerThreadSingleton.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.lang.ref.WeakReference;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
+<a name="13" href="#13">13</a>  <em> * <p></em>
+<a name="14" href="#14">14</a>  <em> * <code>PerThreadSingleton</code> is an implementation of the</em>
+<a name="15" href="#15">15</a>  <em> * SingletonStrategy used to provide common factory access to a single object</em>
+<a name="16" href="#16">16</a>  <em> * instance based on an implementation strategy for one object instance per</em>
+<a name="17" href="#17">17</a>  <em> * thread. This is useful in replace of the ThreadLocal usage.</em>
+<a name="18" href="#18">18</a>  <em> * </p></em>
+<a name="19" href="#19">19</a>  <em> * </em>
+<a name="20" href="#20">20</a>  <em> * @author <a href="<a href="mailto:ddlucas at users.sourceforge.net" target="alexandria_uri">mailto:ddlucas at users.sourceforge.net</a>">David Lucas </a></em>
+<a name="21" href="#21">21</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="22" href="#22">22</a>  <em> */</em>
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/PerThreadSingleton.html">PerThreadSingleton</a> implements <a href="../../../org/dom4j/util/SingletonStrategy.html">SingletonStrategy</a> {
+<a name="25" href="#25">25</a>      <strong>private</strong> String singletonClassName = <strong>null</strong>;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>private</strong> ThreadLocal perThreadCache = <strong>new</strong> ThreadLocal();
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../../org/dom4j/util/PerThreadSingleton.html">PerThreadSingleton</a>() {
+<a name="30" href="#30">30</a>      }
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <strong>public</strong> <strong>void</strong> reset() {
+<a name="33" href="#33">33</a>          perThreadCache = <strong>new</strong> ThreadLocal();
+<a name="34" href="#34">34</a>      }
+<a name="35" href="#35">35</a>  
+<a name="36" href="#36">36</a>      <strong>public</strong> Object instance() {
+<a name="37" href="#37">37</a>          Object singletonInstancePerThread = <strong>null</strong>;
+<a name="38" href="#38">38</a>          <em class="comment">// use weak reference to prevent cyclic reference during GC</em>
+<a name="39" href="#39">39</a>          WeakReference ref = (WeakReference) perThreadCache.get();
+<a name="40" href="#40">40</a>          <em class="comment">// singletonInstancePerThread=perThreadCache.get();</em>
+<a name="41" href="#41">41</a>          <em class="comment">// if (singletonInstancePerThread==null) {</em>
+<a name="42" href="#42">42</a>          <strong>if</strong> (ref == <strong>null</strong> || ref.get() == <strong>null</strong>) {
+<a name="43" href="#43">43</a>              Class clazz = <strong>null</strong>;
+<a name="44" href="#44">44</a>              <strong>try</strong> {
+<a name="45" href="#45">45</a>                  clazz = Thread.currentThread().getContextClassLoader().loadClass(
+<a name="46" href="#46">46</a>                          singletonClassName);
+<a name="47" href="#47">47</a>                  singletonInstancePerThread = clazz.newInstance();
+<a name="48" href="#48">48</a>              } <strong>catch</strong> (Exception ignore) {
+<a name="49" href="#49">49</a>                  <strong>try</strong> {
+<a name="50" href="#50">50</a>                      clazz = Class.forName(singletonClassName);
+<a name="51" href="#51">51</a>                      singletonInstancePerThread = clazz.newInstance();
+<a name="52" href="#52">52</a>                  } <strong>catch</strong> (Exception ignore2) {
+<a name="53" href="#53">53</a>                  }
+<a name="54" href="#54">54</a>              }
+<a name="55" href="#55">55</a>              perThreadCache.set(<strong>new</strong> WeakReference(singletonInstancePerThread));
+<a name="56" href="#56">56</a>          } <strong>else</strong> {
+<a name="57" href="#57">57</a>              singletonInstancePerThread = ref.get();
+<a name="58" href="#58">58</a>          }
+<a name="59" href="#59">59</a>          <strong>return</strong> singletonInstancePerThread;
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>public</strong> <strong>void</strong> setSingletonClassName(String singletonClassName) {
+<a name="63" href="#63">63</a>          <strong>this</strong>.singletonClassName = singletonClassName;
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>  }
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>  <em class="comment">/*</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * following conditions are met:</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * </em>
+<a name="73" href="#73">73</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * </em>
+<a name="76" href="#76">76</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * </em>
+<a name="84" href="#84">84</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * </em>
+<a name="88" href="#88">88</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="89" href="#89">89</a>  <em class="comment"> * </em>
+<a name="90" href="#90">90</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="100" href="#100">100</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="101" href="#101">101</a> <em class="comment"> * </em>
+<a name="102" href="#102">102</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="103" href="#103">103</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/ProxyDocumentFactory.html b/docs/xref/org/dom4j/util/ProxyDocumentFactory.html
new file mode 100644
index 0000000..5929987
--- /dev/null
+++ b/docs/xref/org/dom4j/util/ProxyDocumentFactory.html
@@ -0,0 +1,217 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ProxyDocumentFactory xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/ProxyDocumentFactory.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.Map;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.CDATA;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Comment;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Document;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.DocumentType;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.dom4j.Element;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.Entity;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.NodeFilter;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.ProcessingInstruction;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.dom4j.QName;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.dom4j.Text;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.dom4j.XPath;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.dom4j.rule.Pattern;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>  <strong>import</strong> org.jaxen.VariableContext;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>  <em>/**<em>*</em></em>
+<a name="31" href="#31">31</a>  <em> * <p></em>
+<a name="32" href="#32">32</a>  <em> * <code>ProxyDocumentFactory</code> implements a proxy to a DocumentFactory</em>
+<a name="33" href="#33">33</a>  <em> * which is useful for implementation inheritence, allowing the pipelining of</em>
+<a name="34" href="#34">34</a>  <em> * various factory implementations. For example an EncodingDocumentFactory which</em>
+<a name="35" href="#35">35</a>  <em> * takes care of encoding strings outside of allowable XML ranges could be used</em>
+<a name="36" href="#36">36</a>  <em> * with a DatatypeDocumentFactory which is XML Schema Data Type aware.</em>
+<a name="37" href="#37">37</a>  <em> * </p></em>
+<a name="38" href="#38">38</a>  <em> * </em>
+<a name="39" href="#39">39</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="40" href="#40">40</a>  <em> * @version $Revision: 1.13 $</em>
+<a name="41" href="#41">41</a>  <em> */</em>
+<a name="42" href="#42">42</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../org/dom4j/util/ProxyDocumentFactory.html">ProxyDocumentFactory</a> {
+<a name="43" href="#43">43</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> proxy;
+<a name="44" href="#44">44</a>  
+<a name="45" href="#45">45</a>      <strong>public</strong> <a href="../../../org/dom4j/util/ProxyDocumentFactory.html">ProxyDocumentFactory</a>() {
+<a name="46" href="#46">46</a>          <em class="comment">// use default factory</em>
+<a name="47" href="#47">47</a>          <strong>this</strong>.proxy = DocumentFactory.getInstance();
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <a href="../../../org/dom4j/util/ProxyDocumentFactory.html">ProxyDocumentFactory</a>(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> proxy) {
+<a name="51" href="#51">51</a>          <strong>this</strong>.proxy = proxy;
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <em class="comment">// Factory methods</em>
+<a name="55" href="#55">55</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="56" href="#56">56</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> createDocument() {
+<a name="57" href="#57">57</a>          <strong>return</strong> proxy.createDocument();
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <strong>public</strong> <a href="../../../org/dom4j/Document.html">Document</a> createDocument(<a href="../../../org/dom4j/Element.html">Element</a> rootElement) {
+<a name="61" href="#61">61</a>          <strong>return</strong> proxy.createDocument(rootElement);
+<a name="62" href="#62">62</a>      }
+<a name="63" href="#63">63</a>  
+<a name="64" href="#64">64</a>      <strong>public</strong> <a href="../../../org/dom4j/DocumentType.html">DocumentType</a> createDocType(String name, String <strong>public</strong>Id,
+<a name="65" href="#65">65</a>              String systemId) {
+<a name="66" href="#66">66</a>          <strong>return</strong> proxy.createDocType(name, publicId, systemId);
+<a name="67" href="#67">67</a>      }
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="70" href="#70">70</a>          <strong>return</strong> proxy.createElement(qname);
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(String name) {
+<a name="74" href="#74">74</a>          <strong>return</strong> proxy.createElement(name);
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../../org/dom4j/Element.html">Element</a> owner, <a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="78" href="#78">78</a>          <strong>return</strong> proxy.createAttribute(owner, qname, value);
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../../org/dom4j/Element.html">Element</a> owner, String name, String value) {
+<a name="82" href="#82">82</a>          <strong>return</strong> proxy.createAttribute(owner, name, value);
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> <a href="../../../org/dom4j/CDATA.html">CDATA</a> createCDATA(String text) {
+<a name="86" href="#86">86</a>          <strong>return</strong> proxy.createCDATA(text);
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> <a href="../../../org/dom4j/Comment.html">Comment</a> createComment(String text) {
+<a name="90" href="#90">90</a>          <strong>return</strong> proxy.createComment(text);
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> <a href="../../../org/dom4j/Text.html">Text</a> createText(String text) {
+<a name="94" href="#94">94</a>          <strong>return</strong> proxy.createText(text);
+<a name="95" href="#95">95</a>      }
+<a name="96" href="#96">96</a>  
+<a name="97" href="#97">97</a>      <strong>public</strong> <a href="../../../org/dom4j/Entity.html">Entity</a> createEntity(String name, String text) {
+<a name="98" href="#98">98</a>          <strong>return</strong> proxy.createEntity(name, text);
+<a name="99" href="#99">99</a>      }
+<a name="100" href="#100">100</a> 
+<a name="101" href="#101">101</a>     <strong>public</strong> <a href="../../../org/dom4j/Namespace.html">Namespace</a> createNamespace(String prefix, String uri) {
+<a name="102" href="#102">102</a>         <strong>return</strong> proxy.createNamespace(prefix, uri);
+<a name="103" href="#103">103</a>     }
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <strong>public</strong> <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(String target,
+<a name="106" href="#106">106</a>             String data) {
+<a name="107" href="#107">107</a>         <strong>return</strong> proxy.createProcessingInstruction(target, data);
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <strong>public</strong> <a href="../../../org/dom4j/ProcessingInstruction.html">ProcessingInstruction</a> createProcessingInstruction(String target,
+<a name="111" href="#111">111</a>             Map data) {
+<a name="112" href="#112">112</a>         <strong>return</strong> proxy.createProcessingInstruction(target, data);
+<a name="113" href="#113">113</a>     }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> createQName(String localName, <a href="../../../org/dom4j/Namespace.html">Namespace</a> namespace) {
+<a name="116" href="#116">116</a>         <strong>return</strong> proxy.createQName(localName, namespace);
+<a name="117" href="#117">117</a>     }
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> createQName(String localName) {
+<a name="120" href="#120">120</a>         <strong>return</strong> proxy.createQName(localName);
+<a name="121" href="#121">121</a>     }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> createQName(String name, String prefix, String uri) {
+<a name="124" href="#124">124</a>         <strong>return</strong> proxy.createQName(name, prefix, uri);
+<a name="125" href="#125">125</a>     }
+<a name="126" href="#126">126</a> 
+<a name="127" href="#127">127</a>     <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> createQName(String qualifiedName, String uri) {
+<a name="128" href="#128">128</a>         <strong>return</strong> proxy.createQName(qualifiedName, uri);
+<a name="129" href="#129">129</a>     }
+<a name="130" href="#130">130</a> 
+<a name="131" href="#131">131</a>     <strong>public</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> createXPath(String xpathExpression) {
+<a name="132" href="#132">132</a>         <strong>return</strong> proxy.createXPath(xpathExpression);
+<a name="133" href="#133">133</a>     }
+<a name="134" href="#134">134</a> 
+<a name="135" href="#135">135</a>     <strong>public</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> createXPath(String xpathExpression,
+<a name="136" href="#136">136</a>             VariableContext variableContext) {
+<a name="137" href="#137">137</a>         <strong>return</strong> proxy.createXPath(xpathExpression, variableContext);
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <strong>public</strong> <a href="../../../org/dom4j/NodeFilter.html">NodeFilter</a> createXPathFilter(String xpathFilterExpression,
+<a name="141" href="#141">141</a>             VariableContext variableContext) {
+<a name="142" href="#142">142</a>         <strong>return</strong> proxy.createXPathFilter(xpathFilterExpression, variableContext);
+<a name="143" href="#143">143</a>     }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>     <strong>public</strong> <a href="../../../org/dom4j/NodeFilter.html">NodeFilter</a> createXPathFilter(String xpathFilterExpression) {
+<a name="146" href="#146">146</a>         <strong>return</strong> proxy.createXPathFilter(xpathFilterExpression);
+<a name="147" href="#147">147</a>     }
+<a name="148" href="#148">148</a> 
+<a name="149" href="#149">149</a>     <strong>public</strong> <a href="../../../org/dom4j/rule/Pattern.html">Pattern</a> createPattern(String xpathPattern) {
+<a name="150" href="#150">150</a>         <strong>return</strong> proxy.createPattern(xpathPattern);
+<a name="151" href="#151">151</a>     }
+<a name="152" href="#152">152</a> 
+<a name="153" href="#153">153</a>     <em class="comment">// Implementation methods</em>
+<a name="154" href="#154">154</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="155" href="#155">155</a>     <strong>protected</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getProxy() {
+<a name="156" href="#156">156</a>         <strong>return</strong> proxy;
+<a name="157" href="#157">157</a>     }
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>     <strong>protected</strong> <strong>void</strong> setProxy(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> proxy) {
+<a name="160" href="#160">160</a>         <strong>if</strong> (proxy == <strong>null</strong>) {
+<a name="161" href="#161">161</a>             <em class="comment">// use default factory</em>
+<a name="162" href="#162">162</a>             proxy = DocumentFactory.getInstance();
+<a name="163" href="#163">163</a>         }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>         <strong>this</strong>.proxy = proxy;
+<a name="166" href="#166">166</a>     }
+<a name="167" href="#167">167</a> }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a> <em class="comment">/*</em>
+<a name="170" href="#170">170</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="171" href="#171">171</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="172" href="#172">172</a> <em class="comment"> * following conditions are met:</em>
+<a name="173" href="#173">173</a> <em class="comment"> * </em>
+<a name="174" href="#174">174</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="175" href="#175">175</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="176" href="#176">176</a> <em class="comment"> * </em>
+<a name="177" href="#177">177</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="178" href="#178">178</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="179" href="#179">179</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="180" href="#180">180</a> <em class="comment"> * </em>
+<a name="181" href="#181">181</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="182" href="#182">182</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="183" href="#183">183</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="184" href="#184">184</a> <em class="comment"> * </em>
+<a name="185" href="#185">185</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="186" href="#186">186</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="187" href="#187">187</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="188" href="#188">188</a> <em class="comment"> * </em>
+<a name="189" href="#189">189</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="190" href="#190">190</a> <em class="comment"> * </em>
+<a name="191" href="#191">191</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="192" href="#192">192</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="193" href="#193">193</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="194" href="#194">194</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="195" href="#195">195</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="196" href="#196">196</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="197" href="#197">197</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="198" href="#198">198</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="199" href="#199">199</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="200" href="#200">200</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="201" href="#201">201</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="202" href="#202">202</a> <em class="comment"> * </em>
+<a name="203" href="#203">203</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="204" href="#204">204</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/SimpleSingleton.html b/docs/xref/org/dom4j/util/SimpleSingleton.html
new file mode 100644
index 0000000..abc68fc
--- /dev/null
+++ b/docs/xref/org/dom4j/util/SimpleSingleton.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SimpleSingleton xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/SimpleSingleton.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>SimpleSingleton</code> is an implementation of the SingletonStrategy</em>
+<a name="13" href="#13">13</a>  <em> * interface used to provide common factory access for the same object instance.</em>
+<a name="14" href="#14">14</a>  <em> * This implementation will create a new instance from the class specified and</em>
+<a name="15" href="#15">15</a>  <em> * will not create a new one unless it is reset.</em>
+<a name="16" href="#16">16</a>  <em> * </p></em>
+<a name="17" href="#17">17</a>  <em> * </em>
+<a name="18" href="#18">18</a>  <em> * @author <a href="<a href="mailto:ddlucas at users.sourceforge.net" target="alexandria_uri">mailto:ddlucas at users.sourceforge.net</a>">David Lucas </a></em>
+<a name="19" href="#19">19</a>  <em> * @version $Revision: 1.3 $</em>
+<a name="20" href="#20">20</a>  <em> */</em>
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/SimpleSingleton.html">SimpleSingleton</a> implements <a href="../../../org/dom4j/util/SingletonStrategy.html">SingletonStrategy</a> {
+<a name="23" href="#23">23</a>      <strong>private</strong> String singletonClassName = <strong>null</strong>;
+<a name="24" href="#24">24</a>  
+<a name="25" href="#25">25</a>      <strong>private</strong> Object singletonInstance = <strong>null</strong>;
+<a name="26" href="#26">26</a>  
+<a name="27" href="#27">27</a>      <strong>public</strong> <a href="../../../org/dom4j/util/SimpleSingleton.html">SimpleSingleton</a>() {
+<a name="28" href="#28">28</a>      }
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> Object instance() {
+<a name="31" href="#31">31</a>          <strong>return</strong> singletonInstance;
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <strong>void</strong> reset() {
+<a name="35" href="#35">35</a>          <strong>if</strong> (singletonClassName != <strong>null</strong>) {
+<a name="36" href="#36">36</a>              Class clazz = <strong>null</strong>;
+<a name="37" href="#37">37</a>              <strong>try</strong> {
+<a name="38" href="#38">38</a>                  clazz = Thread.currentThread().getContextClassLoader().loadClass(
+<a name="39" href="#39">39</a>                          singletonClassName);
+<a name="40" href="#40">40</a>                  singletonInstance = clazz.newInstance();
+<a name="41" href="#41">41</a>              } <strong>catch</strong> (Exception ignore) {
+<a name="42" href="#42">42</a>                  <strong>try</strong> {
+<a name="43" href="#43">43</a>                      clazz = Class.forName(singletonClassName);
+<a name="44" href="#44">44</a>                      singletonInstance = clazz.newInstance();
+<a name="45" href="#45">45</a>                  } <strong>catch</strong> (Exception ignore2) {
+<a name="46" href="#46">46</a>                  }
+<a name="47" href="#47">47</a>              }
+<a name="48" href="#48">48</a>  
+<a name="49" href="#49">49</a>          }
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <strong>void</strong> setSingletonClassName(String singletonClassName) {
+<a name="53" href="#53">53</a>          <strong>this</strong>.singletonClassName = singletonClassName;
+<a name="54" href="#54">54</a>          reset();
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>  }
+<a name="58" href="#58">58</a>  
+<a name="59" href="#59">59</a>  <em class="comment">/*</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * following conditions are met:</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * </em>
+<a name="64" href="#64">64</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="80" href="#80">80</a>  <em class="comment"> * </em>
+<a name="81" href="#81">81</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="89" href="#89">89</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * </em>
+<a name="93" href="#93">93</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="94" href="#94">94</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/SingletonStrategy.html b/docs/xref/org/dom4j/util/SingletonStrategy.html
new file mode 100644
index 0000000..0f95f01
--- /dev/null
+++ b/docs/xref/org/dom4j/util/SingletonStrategy.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>SingletonStrategy xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/SingletonStrategy.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <em>/**<em>*</em></em>
+<a name="11" href="#11">11</a>  <em> * <p></em>
+<a name="12" href="#12">12</a>  <em> * <code>SingletonStrategy</code> is an interface used to provide common</em>
+<a name="13" href="#13">13</a>  <em> * factory access for the same object based on an implementation strategy for</em>
+<a name="14" href="#14">14</a>  <em> * singleton. Right now there are two that accompany this interface:</em>
+<a name="15" href="#15">15</a>  <em> * SimpleSingleton and PerThreadSingleton. This will replace previous usage of</em>
+<a name="16" href="#16">16</a>  <em> * ThreadLocal to allow for alternate strategies.</em>
+<a name="17" href="#17">17</a>  <em> * </p></em>
+<a name="18" href="#18">18</a>  <em> * </em>
+<a name="19" href="#19">19</a>  <em> * @author <a href="<a href="mailto:ddlucas at users.sourceforge.net" target="alexandria_uri">mailto:ddlucas at users.sourceforge.net</a>">David Lucas </a></em>
+<a name="20" href="#20">20</a>  <em> * @version $Revision: 1.2 $</em>
+<a name="21" href="#21">21</a>  <em> */</em>
+<a name="22" href="#22">22</a>  <strong>public</strong> <strong>interface</strong> <a href="../../../org/dom4j/util/SingletonStrategy.html">SingletonStrategy</a> {
+<a name="23" href="#23">23</a>      <em>/**<em>*</em></em>
+<a name="24" href="#24">24</a>  <em>     * return a singleton instance of the class specified in setSingletonClass</em>
+<a name="25" href="#25">25</a>  <em>     */</em>
+<a name="26" href="#26">26</a>      Object instance();
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <em>/**<em>*</em></em>
+<a name="29" href="#29">29</a>  <em>     * reset the instance to a new instance for the implemented strategy</em>
+<a name="30" href="#30">30</a>  <em>     */</em>
+<a name="31" href="#31">31</a>      <strong>void</strong> reset();
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>*</em></em>
+<a name="34" href="#34">34</a>  <em>     * set a singleton class name that will be used to create the singleton</em>
+<a name="35" href="#35">35</a>  <em>     * based on the strategy implementation of this interface. The default</em>
+<a name="36" href="#36">36</a>  <em>     * constructor of the class will be used and must be public.</em>
+<a name="37" href="#37">37</a>  <em>     */</em>
+<a name="38" href="#38">38</a>      <strong>void</strong> setSingletonClassName(String singletonClassName);
+<a name="39" href="#39">39</a>  }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>  <em class="comment">/*</em>
+<a name="42" href="#42">42</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="43" href="#43">43</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="44" href="#44">44</a>  <em class="comment"> * following conditions are met:</em>
+<a name="45" href="#45">45</a>  <em class="comment"> * </em>
+<a name="46" href="#46">46</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * </em>
+<a name="49" href="#49">49</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="51" href="#51">51</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * </em>
+<a name="53" href="#53">53</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="54" href="#54">54</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * </em>
+<a name="57" href="#57">57</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * </em>
+<a name="61" href="#61">61</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="67" href="#67">67</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="76" href="#76">76</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/UserDataAttribute.html b/docs/xref/org/dom4j/util/UserDataAttribute.html
new file mode 100644
index 0000000..d35a8f2
--- /dev/null
+++ b/docs/xref/org/dom4j/util/UserDataAttribute.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>UserDataAttribute xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/UserDataAttribute.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.QName;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.tree.DefaultAttribute;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <em>/**<em>*</em></em>
+<a name="14" href="#14">14</a>  <em> * <p></em>
+<a name="15" href="#15">15</a>  <em> * <code>UserDataAttribute</code> support the adornment of a user data object</em>
+<a name="16" href="#16">16</a>  <em> * on an Element or Attribute instance such that the methods {@link#getData}</em>
+<a name="17" href="#17">17</a>  <em> * {@link #setData(Object)}will get and set the values of a user data object.</em>
+<a name="18" href="#18">18</a>  <em> * This can be useful for developers wishing to create XML trees and adorn the</em>
+<a name="19" href="#19">19</a>  <em> * trees with user defined objects.</em>
+<a name="20" href="#20">20</a>  <em> * </p></em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.8 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/UserDataAttribute.html">UserDataAttribute</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultAttribute.html">DefaultAttribute</a> {
+<a name="26" href="#26">26</a>      <em>/**<em>* The user data object */</em></em>
+<a name="27" href="#27">27</a>      <strong>private</strong> Object data;
+<a name="28" href="#28">28</a>  
+<a name="29" href="#29">29</a>      <strong>public</strong> <a href="../../../org/dom4j/util/UserDataAttribute.html">UserDataAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="30" href="#30">30</a>          <strong>super</strong>(qname);
+<a name="31" href="#31">31</a>      }
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <strong>public</strong> <a href="../../../org/dom4j/util/UserDataAttribute.html">UserDataAttribute</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname, String text) {
+<a name="34" href="#34">34</a>          <strong>super</strong>(qname, text);
+<a name="35" href="#35">35</a>      }
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> Object getData() {
+<a name="38" href="#38">38</a>          <strong>return</strong> data;
+<a name="39" href="#39">39</a>      }
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <strong>public</strong> <strong>void</strong> setData(Object data) {
+<a name="42" href="#42">42</a>          <strong>this</strong>.data = data;
+<a name="43" href="#43">43</a>      }
+<a name="44" href="#44">44</a>  }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>  <em class="comment">/*</em>
+<a name="47" href="#47">47</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="48" href="#48">48</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="49" href="#49">49</a>  <em class="comment"> * following conditions are met:</em>
+<a name="50" href="#50">50</a>  <em class="comment"> * </em>
+<a name="51" href="#51">51</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="52" href="#52">52</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="53" href="#53">53</a>  <em class="comment"> * </em>
+<a name="54" href="#54">54</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="55" href="#55">55</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * </em>
+<a name="58" href="#58">58</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="60" href="#60">60</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * </em>
+<a name="62" href="#62">62</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="63" href="#63">63</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * </em>
+<a name="66" href="#66">66</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="67" href="#67">67</a>  <em class="comment"> * </em>
+<a name="68" href="#68">68</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="75" href="#75">75</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * </em>
+<a name="80" href="#80">80</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="81" href="#81">81</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/UserDataDocumentFactory.html b/docs/xref/org/dom4j/util/UserDataDocumentFactory.html
new file mode 100644
index 0000000..d12f855
--- /dev/null
+++ b/docs/xref/org/dom4j/util/UserDataDocumentFactory.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>UserDataDocumentFactory xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/UserDataDocumentFactory.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Element;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.QName;
+<a name="14" href="#14">14</a>  
+<a name="15" href="#15">15</a>  <em>/**<em>*</em></em>
+<a name="16" href="#16">16</a>  <em> * <p></em>
+<a name="17" href="#17">17</a>  <em> * <code>UserDataDocumentFactory</code> is a factory of XML objects which</em>
+<a name="18" href="#18">18</a>  <em> * support the adornment of a user data object on an Element or Attribute</em>
+<a name="19" href="#19">19</a>  <em> * instance such that the methods <code>getData()</code> and</em>
+<a name="20" href="#20">20</a>  <em> * <code>setData()</code> will get and set the values of a user data object.</em>
+<a name="21" href="#21">21</a>  <em> * This can be useful for developers wishing to create XML trees and adorn the</em>
+<a name="22" href="#22">22</a>  <em> * trees with user defined objects.</em>
+<a name="23" href="#23">23</a>  <em> * </p></em>
+<a name="24" href="#24">24</a>  <em> * </em>
+<a name="25" href="#25">25</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="26" href="#26">26</a>  <em> * @version $Revision: 1.11 $</em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/UserDataDocumentFactory.html">UserDataDocumentFactory</a> <strong>extends</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> {
+<a name="29" href="#29">29</a>      <em>/**<em>* The Singleton instance */</em></em>
+<a name="30" href="#30">30</a>      <strong>protected</strong> <strong>static</strong> <strong>transient</strong> <a href="../../../org/dom4j/util/UserDataDocumentFactory.html">UserDataDocumentFactory</a> singleton
+<a name="31" href="#31">31</a>              = <strong>new</strong> <a href="../../../org/dom4j/util/UserDataDocumentFactory.html">UserDataDocumentFactory</a>();
+<a name="32" href="#32">32</a>  
+<a name="33" href="#33">33</a>      <em>/**<em>*</em></em>
+<a name="34" href="#34">34</a>  <em>     * <p></em>
+<a name="35" href="#35">35</a>  <em>     * Access to the singleton instance of this factory.</em>
+<a name="36" href="#36">36</a>  <em>     * </p></em>
+<a name="37" href="#37">37</a>  <em>     * </em>
+<a name="38" href="#38">38</a>  <em>     * @return the default singleon instance</em>
+<a name="39" href="#39">39</a>  <em>     */</em>
+<a name="40" href="#40">40</a>      <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getInstance() {
+<a name="41" href="#41">41</a>          <strong>return</strong> singleton;
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em class="comment">// DocumentFactory methods</em>
+<a name="45" href="#45">45</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="46" href="#46">46</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="47" href="#47">47</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/util/UserDataElement.html">UserDataElement</a>(qname);
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <a href="../../../org/dom4j/Attribute.html">Attribute</a> createAttribute(<a href="../../../org/dom4j/Element.html">Element</a> owner, <a href="../../../org/dom4j/QName.html">QName</a> qname, String value) {
+<a name="51" href="#51">51</a>          <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/util/UserDataAttribute.html">UserDataAttribute</a>(qname, value);
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  }
+<a name="54" href="#54">54</a>  
+<a name="55" href="#55">55</a>  <em class="comment">/*</em>
+<a name="56" href="#56">56</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="57" href="#57">57</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="58" href="#58">58</a>  <em class="comment"> * following conditions are met:</em>
+<a name="59" href="#59">59</a>  <em class="comment"> * </em>
+<a name="60" href="#60">60</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="61" href="#61">61</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="62" href="#62">62</a>  <em class="comment"> * </em>
+<a name="63" href="#63">63</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="64" href="#64">64</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="65" href="#65">65</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="66" href="#66">66</a>  <em class="comment"> * </em>
+<a name="67" href="#67">67</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * </em>
+<a name="71" href="#71">71</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="72" href="#72">72</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="76" href="#76">76</a>  <em class="comment"> * </em>
+<a name="77" href="#77">77</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="79" href="#79">79</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="83" href="#83">83</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="87" href="#87">87</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="90" href="#90">90</a>  <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/UserDataElement.html b/docs/xref/org/dom4j/util/UserDataElement.html
new file mode 100644
index 0000000..1fb6ccb
--- /dev/null
+++ b/docs/xref/org/dom4j/util/UserDataElement.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>UserDataElement xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/UserDataElement.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.Element;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.QName;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.tree.DefaultElement;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <em>/**<em>*</em></em>
+<a name="15" href="#15">15</a>  <em> * <p></em>
+<a name="16" href="#16">16</a>  <em> * <code>UserDataElement</code> support the adornment of a user data object on</em>
+<a name="17" href="#17">17</a>  <em> * an Element or Attribute instance such that the methods {@link#getData}</em>
+<a name="18" href="#18">18</a>  <em> * {@link #setData(Object)}will get and set the values of a user data object.</em>
+<a name="19" href="#19">19</a>  <em> * This can be useful for developers wishing to create XML trees and adorn the</em>
+<a name="20" href="#20">20</a>  <em> * trees with user defined objects.</em>
+<a name="21" href="#21">21</a>  <em> * </p></em>
+<a name="22" href="#22">22</a>  <em> * </em>
+<a name="23" href="#23">23</a>  <em> * @author <a href="<a href="mailto:james.strachan at metastuff.com" target="alexandria_uri">mailto:james.strachan at metastuff.com</a>">James Strachan </a></em>
+<a name="24" href="#24">24</a>  <em> * @version $Revision: 1.12 $</em>
+<a name="25" href="#25">25</a>  <em> */</em>
+<a name="26" href="#26">26</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/UserDataElement.html">UserDataElement</a> <strong>extends</strong> <a href="../../../org/dom4j/tree/DefaultElement.html">DefaultElement</a> {
+<a name="27" href="#27">27</a>      <em>/**<em>* The user data object */</em></em>
+<a name="28" href="#28">28</a>      <strong>private</strong> Object data;
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>public</strong> <a href="../../../org/dom4j/util/UserDataElement.html">UserDataElement</a>(String name) {
+<a name="31" href="#31">31</a>          <strong>super</strong>(name);
+<a name="32" href="#32">32</a>      }
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <strong>public</strong> <a href="../../../org/dom4j/util/UserDataElement.html">UserDataElement</a>(<a href="../../../org/dom4j/QName.html">QName</a> qname) {
+<a name="35" href="#35">35</a>          <strong>super</strong>(qname);
+<a name="36" href="#36">36</a>      }
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <strong>public</strong> Object getData() {
+<a name="39" href="#39">39</a>          <strong>return</strong> data;
+<a name="40" href="#40">40</a>      }
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>public</strong> <strong>void</strong> setData(Object data) {
+<a name="43" href="#43">43</a>          <strong>this</strong>.data = data;
+<a name="44" href="#44">44</a>      }
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>public</strong> String toString() {
+<a name="47" href="#47">47</a>          <strong>return</strong> <strong>super</strong>.toString() + <span class="string">" userData: "</span> + data;
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> Object clone() {
+<a name="51" href="#51">51</a>          <a href="../../../org/dom4j/util/UserDataElement.html">UserDataElement</a> answer = (UserDataElement) <strong>super</strong>.clone();
+<a name="52" href="#52">52</a>  
+<a name="53" href="#53">53</a>          <strong>if</strong> (answer != <strong>this</strong>) {
+<a name="54" href="#54">54</a>              answer.data = getCopyOfUserData();
+<a name="55" href="#55">55</a>          }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>          <strong>return</strong> answer;
+<a name="58" href="#58">58</a>      }
+<a name="59" href="#59">59</a>  
+<a name="60" href="#60">60</a>      <em class="comment">// Implementation methods</em>
+<a name="61" href="#61">61</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <em>/**<em>*</em></em>
+<a name="64" href="#64">64</a>  <em>     * If a deep copy of user data is required whenever the clone() or</em>
+<a name="65" href="#65">65</a>  <em>     * createCopy() methods are called on this element then this method should</em>
+<a name="66" href="#66">66</a>  <em>     * return a clone of the user data</em>
+<a name="67" href="#67">67</a>  <em>     * </em>
+<a name="68" href="#68">68</a>  <em>     * @return DOCUMENT ME!</em>
+<a name="69" href="#69">69</a>  <em>     */</em>
+<a name="70" href="#70">70</a>      <strong>protected</strong> Object getCopyOfUserData() {
+<a name="71" href="#71">71</a>          <strong>return</strong> data;
+<a name="72" href="#72">72</a>      }
+<a name="73" href="#73">73</a>  
+<a name="74" href="#74">74</a>      <strong>protected</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(String name) {
+<a name="75" href="#75">75</a>          <a href="../../../org/dom4j/Element.html">Element</a> answer = getDocumentFactory().createElement(name);
+<a name="76" href="#76">76</a>          answer.setData(getCopyOfUserData());
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>          <strong>return</strong> answer;
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>protected</strong> <a href="../../../org/dom4j/Element.html">Element</a> createElement(<a href="../../../org/dom4j/QName.html">QName</a> qName) {
+<a name="82" href="#82">82</a>          <a href="../../../org/dom4j/Element.html">Element</a> answer = getDocumentFactory().createElement(qName);
+<a name="83" href="#83">83</a>          answer.setData(getCopyOfUserData());
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>          <strong>return</strong> answer;
+<a name="86" href="#86">86</a>      }
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>      <em class="comment">// protected DocumentFactory getDocumentFactory() {</em>
+<a name="89" href="#89">89</a>      <em class="comment">// return DOCUMENT_FACTORY;</em>
+<a name="90" href="#90">90</a>      <em class="comment">// }</em>
+<a name="91" href="#91">91</a>  }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>  <em class="comment">/*</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * following conditions are met:</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * </em>
+<a name="98" href="#98">98</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="102" href="#102">102</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="103" href="#103">103</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="104" href="#104">104</a> <em class="comment"> * </em>
+<a name="105" href="#105">105</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="106" href="#106">106</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="107" href="#107">107</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="108" href="#108">108</a> <em class="comment"> * </em>
+<a name="109" href="#109">109</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="110" href="#110">110</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="111" href="#111">111</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="112" href="#112">112</a> <em class="comment"> * </em>
+<a name="113" href="#113">113</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="114" href="#114">114</a> <em class="comment"> * </em>
+<a name="115" href="#115">115</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="116" href="#116">116</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="117" href="#117">117</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="118" href="#118">118</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="119" href="#119">119</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="120" href="#120">120</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="121" href="#121">121</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="122" href="#122">122</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="123" href="#123">123</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="124" href="#124">124</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="125" href="#125">125</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="126" href="#126">126</a> <em class="comment"> * </em>
+<a name="127" href="#127">127</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="128" href="#128">128</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/XMLErrorHandler.html b/docs/xref/org/dom4j/util/XMLErrorHandler.html
new file mode 100644
index 0000000..231ee14
--- /dev/null
+++ b/docs/xref/org/dom4j/util/XMLErrorHandler.html
@@ -0,0 +1,181 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XMLErrorHandler xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/util/XMLErrorHandler.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/util/package-summary.html">org.dom4j.util</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> org.dom4j.DocumentHelper;
+<a name="11" href="#11">11</a>  <strong>import</strong> org.dom4j.Element;
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.QName;
+<a name="13" href="#13">13</a>  
+<a name="14" href="#14">14</a>  <strong>import</strong> org.xml.sax.ErrorHandler;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.xml.sax.SAXParseException;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <em>/**<em>*</em></em>
+<a name="18" href="#18">18</a>  <em> * <code>XMLErrorHandler</code> is a SAX {@link ErrorHandler}which turns the</em>
+<a name="19" href="#19">19</a>  <em> * SAX parsing errors into XML so that the output can be formatted using XSLT or</em>
+<a name="20" href="#20">20</a>  <em> * the errors can be included in a SOAP message.</em>
+<a name="21" href="#21">21</a>  <em> * </em>
+<a name="22" href="#22">22</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="23" href="#23">23</a>  <em> * @version $Revision: 1.7 $</em>
+<a name="24" href="#24">24</a>  <em> */</em>
+<a name="25" href="#25">25</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/util/XMLErrorHandler.html">XMLErrorHandler</a> implements ErrorHandler {
+<a name="26" href="#26">26</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> ERROR_QNAME = QName.get(<span class="string">"error"</span>);
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> FATALERROR_QNAME = QName.get(<span class="string">"fatalError"</span>);
+<a name="29" href="#29">29</a>  
+<a name="30" href="#30">30</a>      <strong>protected</strong> <strong>static</strong> <strong>final</strong> <a href="../../../org/dom4j/QName.html">QName</a> WARNING_QNAME = QName.get(<span class="string">"warning"</span>);
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>      <em>/**<em>* Stores the errors that occur during a SAX parse */</em></em>
+<a name="33" href="#33">33</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> errors;
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <em>/**<em>* <a href="../../../org/dom4j/QName.html">QName</a> used for error elements */</em></em>
+<a name="36" href="#36">36</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> errorQName = ERROR_QNAME;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>      <em>/**<em>* <a href="../../../org/dom4j/QName.html">QName</a> used for fatalerror elements */</em></em>
+<a name="39" href="#39">39</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> fatalErrorQName = FATALERROR_QNAME;
+<a name="40" href="#40">40</a>  
+<a name="41" href="#41">41</a>      <em>/**<em>* <a href="../../../org/dom4j/QName.html">QName</a> used for warning elements */</em></em>
+<a name="42" href="#42">42</a>      <strong>private</strong> <a href="../../../org/dom4j/QName.html">QName</a> warningQName = WARNING_QNAME;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/util/XMLErrorHandler.html">XMLErrorHandler</a>() {
+<a name="45" href="#45">45</a>          <strong>this</strong>.errors = DocumentHelper.createElement(<span class="string">"errors"</span>);
+<a name="46" href="#46">46</a>      }
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <strong>public</strong> <a href="../../../org/dom4j/util/XMLErrorHandler.html">XMLErrorHandler</a>(<a href="../../../org/dom4j/Element.html">Element</a> errors) {
+<a name="49" href="#49">49</a>          <strong>this</strong>.errors = errors;
+<a name="50" href="#50">50</a>      }
+<a name="51" href="#51">51</a>  
+<a name="52" href="#52">52</a>      <strong>public</strong> <strong>void</strong> error(SAXParseException e) {
+<a name="53" href="#53">53</a>          <a href="../../../org/dom4j/Element.html">Element</a> element = errors.addElement(errorQName);
+<a name="54" href="#54">54</a>          addException(element, e);
+<a name="55" href="#55">55</a>      }
+<a name="56" href="#56">56</a>  
+<a name="57" href="#57">57</a>      <strong>public</strong> <strong>void</strong> fatalError(SAXParseException e) {
+<a name="58" href="#58">58</a>          <a href="../../../org/dom4j/Element.html">Element</a> element = errors.addElement(fatalErrorQName);
+<a name="59" href="#59">59</a>          addException(element, e);
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>public</strong> <strong>void</strong> warning(SAXParseException e) {
+<a name="63" href="#63">63</a>          <a href="../../../org/dom4j/Element.html">Element</a> element = errors.addElement(warningQName);
+<a name="64" href="#64">64</a>          addException(element, e);
+<a name="65" href="#65">65</a>      }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>      <em class="comment">// Properties</em>
+<a name="68" href="#68">68</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="69" href="#69">69</a>      <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getErrors() {
+<a name="70" href="#70">70</a>          <strong>return</strong> errors;
+<a name="71" href="#71">71</a>      }
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>      <strong>public</strong> <strong>void</strong> setErrors(<a href="../../../org/dom4j/Element.html">Element</a> errors) {
+<a name="74" href="#74">74</a>          <strong>this</strong>.errors = errors;
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <em class="comment">// Allow the QNames used to create subelements to be changed</em>
+<a name="78" href="#78">78</a>      <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getErrorQName() {
+<a name="79" href="#79">79</a>          <strong>return</strong> errorQName;
+<a name="80" href="#80">80</a>      }
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>      <strong>public</strong> <strong>void</strong> setErrorQName(<a href="../../../org/dom4j/QName.html">QName</a> errorQName) {
+<a name="83" href="#83">83</a>          <strong>this</strong>.errorQName = errorQName;
+<a name="84" href="#84">84</a>      }
+<a name="85" href="#85">85</a>  
+<a name="86" href="#86">86</a>      <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getFatalErrorQName() {
+<a name="87" href="#87">87</a>          <strong>return</strong> fatalErrorQName;
+<a name="88" href="#88">88</a>      }
+<a name="89" href="#89">89</a>  
+<a name="90" href="#90">90</a>      <strong>public</strong> <strong>void</strong> setFatalErrorQName(<a href="../../../org/dom4j/QName.html">QName</a> fatalErrorQName) {
+<a name="91" href="#91">91</a>          <strong>this</strong>.fatalErrorQName = fatalErrorQName;
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <strong>public</strong> <a href="../../../org/dom4j/QName.html">QName</a> getWarningQName() {
+<a name="95" href="#95">95</a>          <strong>return</strong> warningQName;
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <strong>public</strong> <strong>void</strong> setWarningQName(<a href="../../../org/dom4j/QName.html">QName</a> warningQName) {
+<a name="99" href="#99">99</a>          <strong>this</strong>.warningQName = warningQName;
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <em class="comment">// Implementation methods</em>
+<a name="103" href="#103">103</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="104" href="#104">104</a> 
+<a name="105" href="#105">105</a>     <em>/**<em>*</em></em>
+<a name="106" href="#106">106</a> <em>     * Adds the given parse exception information to the given element instance</em>
+<a name="107" href="#107">107</a> <em>     * </em>
+<a name="108" href="#108">108</a> <em>     * @param element</em>
+<a name="109" href="#109">109</a> <em>     *            DOCUMENT ME!</em>
+<a name="110" href="#110">110</a> <em>     * @param e</em>
+<a name="111" href="#111">111</a> <em>     *            DOCUMENT ME!</em>
+<a name="112" href="#112">112</a> <em>     */</em>
+<a name="113" href="#113">113</a>     <strong>protected</strong> <strong>void</strong> addException(<a href="../../../org/dom4j/Element.html">Element</a> element, SAXParseException e) {
+<a name="114" href="#114">114</a>         element.addAttribute(<span class="string">"column"</span>, Integer.toString(e.getColumnNumber()));
+<a name="115" href="#115">115</a>         element.addAttribute(<span class="string">"line"</span>, Integer.toString(e.getLineNumber()));
+<a name="116" href="#116">116</a> 
+<a name="117" href="#117">117</a>         String publicID = e.getPublicId();
+<a name="118" href="#118">118</a> 
+<a name="119" href="#119">119</a>         <strong>if</strong> ((publicID != <strong>null</strong>) && (publicID.length() > 0)) {
+<a name="120" href="#120">120</a>             element.addAttribute(<span class="string">"publicID"</span>, publicID);
+<a name="121" href="#121">121</a>         }
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>         String systemID = e.getSystemId();
+<a name="124" href="#124">124</a> 
+<a name="125" href="#125">125</a>         <strong>if</strong> ((systemID != <strong>null</strong>) && (systemID.length() > 0)) {
+<a name="126" href="#126">126</a>             element.addAttribute(<span class="string">"systemID"</span>, systemID);
+<a name="127" href="#127">127</a>         }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         element.addText(e.getMessage());
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> }
+<a name="132" href="#132">132</a> 
+<a name="133" href="#133">133</a> <em class="comment">/*</em>
+<a name="134" href="#134">134</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="135" href="#135">135</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="136" href="#136">136</a> <em class="comment"> * following conditions are met:</em>
+<a name="137" href="#137">137</a> <em class="comment"> * </em>
+<a name="138" href="#138">138</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="139" href="#139">139</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="140" href="#140">140</a> <em class="comment"> * </em>
+<a name="141" href="#141">141</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="142" href="#142">142</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="143" href="#143">143</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="144" href="#144">144</a> <em class="comment"> * </em>
+<a name="145" href="#145">145</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="146" href="#146">146</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="147" href="#147">147</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="148" href="#148">148</a> <em class="comment"> * </em>
+<a name="149" href="#149">149</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="150" href="#150">150</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="151" href="#151">151</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="152" href="#152">152</a> <em class="comment"> * </em>
+<a name="153" href="#153">153</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="154" href="#154">154</a> <em class="comment"> * </em>
+<a name="155" href="#155">155</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="156" href="#156">156</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="157" href="#157">157</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="158" href="#158">158</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="159" href="#159">159</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="160" href="#160">160</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="161" href="#161">161</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="162" href="#162">162</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="163" href="#163">163</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="164" href="#164">164</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="165" href="#165">165</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="166" href="#166">166</a> <em class="comment"> * </em>
+<a name="167" href="#167">167</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="168" href="#168">168</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/util/package-frame.html b/docs/xref/org/dom4j/util/package-frame.html
new file mode 100644
index 0000000..1acf174
--- /dev/null
+++ b/docs/xref/org/dom4j/util/package-frame.html
@@ -0,0 +1,79 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.util</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.util</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="AttributeHelper.html" target="classFrame">AttributeHelper</a>
+          </li>
+        
+          <li>
+            <a href="IndexedDocumentFactory.html" target="classFrame">IndexedDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="IndexedElement.html" target="classFrame">IndexedElement</a>
+          </li>
+        
+          <li>
+            <a href="NodeComparator.html" target="classFrame">NodeComparator</a>
+          </li>
+        
+          <li>
+            <a href="NonLazyDocumentFactory.html" target="classFrame">NonLazyDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="NonLazyElement.html" target="classFrame">NonLazyElement</a>
+          </li>
+        
+          <li>
+            <a href="PerThreadSingleton.html" target="classFrame">PerThreadSingleton</a>
+          </li>
+        
+          <li>
+            <a href="ProxyDocumentFactory.html" target="classFrame">ProxyDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="SimpleSingleton.html" target="classFrame">SimpleSingleton</a>
+          </li>
+        
+          <li>
+            <a href="SingletonStrategy.html" target="classFrame">SingletonStrategy</a>
+          </li>
+        
+          <li>
+            <a href="UserDataAttribute.html" target="classFrame">UserDataAttribute</a>
+          </li>
+        
+          <li>
+            <a href="UserDataDocumentFactory.html" target="classFrame">UserDataDocumentFactory</a>
+          </li>
+        
+          <li>
+            <a href="UserDataElement.html" target="classFrame">UserDataElement</a>
+          </li>
+        
+          <li>
+            <a href="XMLErrorHandler.html" target="classFrame">XMLErrorHandler</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/util/package-summary.html b/docs/xref/org/dom4j/util/package-summary.html
new file mode 100644
index 0000000..62e5304
--- /dev/null
+++ b/docs/xref/org/dom4j/util/package-summary.html
@@ -0,0 +1,180 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.util</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="AttributeHelper.html" target="classFrame">AttributeHelper</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="IndexedDocumentFactory.html" target="classFrame">IndexedDocumentFactory</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="IndexedElement.html" target="classFrame">IndexedElement</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NodeComparator.html" target="classFrame">NodeComparator</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NonLazyDocumentFactory.html" target="classFrame">NonLazyDocumentFactory</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="NonLazyElement.html" target="classFrame">NonLazyElement</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="PerThreadSingleton.html" target="classFrame">PerThreadSingleton</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="ProxyDocumentFactory.html" target="classFrame">ProxyDocumentFactory</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SimpleSingleton.html" target="classFrame">SimpleSingleton</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="SingletonStrategy.html" target="classFrame">SingletonStrategy</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="UserDataAttribute.html" target="classFrame">UserDataAttribute</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="UserDataDocumentFactory.html" target="classFrame">UserDataDocumentFactory</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="UserDataElement.html" target="classFrame">UserDataElement</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XMLErrorHandler.html" target="classFrame">XMLErrorHandler</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/xpath/DefaultNamespaceContext.html b/docs/xref/org/dom4j/xpath/DefaultNamespaceContext.html
new file mode 100644
index 0000000..904c7f8
--- /dev/null
+++ b/docs/xref/org/dom4j/xpath/DefaultNamespaceContext.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultNamespaceContext xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/xpath/DefaultNamespaceContext.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.Serializable;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.Document;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Element;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.Namespace;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Node;
+<a name="16" href="#16">16</a>  
+<a name="17" href="#17">17</a>  <strong>import</strong> org.jaxen.NamespaceContext;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <em>/**<em>*</em></em>
+<a name="20" href="#20">20</a>  <em> * <p></em>
+<a name="21" href="#21">21</a>  <em> * <code>DefaultNamespaceContext</code> implements a Jaxen NamespaceContext</em>
+<a name="22" href="#22">22</a>  <em> * such that a context node is used to determine the current XPath namespace</em>
+<a name="23" href="#23">23</a>  <em> * prefixes and namespace URIs available.</em>
+<a name="24" href="#24">24</a>  <em> * </p></em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="27" href="#27">27</a>  <em> */</em>
+<a name="28" href="#28">28</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/DefaultNamespaceContext.html">DefaultNamespaceContext</a> implements NamespaceContext, Serializable {
+<a name="29" href="#29">29</a>      <strong>private</strong> <strong>final</strong> <a href="../../../org/dom4j/Element.html">Element</a> element;
+<a name="30" href="#30">30</a>  
+<a name="31" href="#31">31</a>      <strong>public</strong> <a href="../../../org/dom4j/xpath/DefaultNamespaceContext.html">DefaultNamespaceContext</a>(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="32" href="#32">32</a>          <strong>this</strong>.element = element;
+<a name="33" href="#33">33</a>      }
+<a name="34" href="#34">34</a>  
+<a name="35" href="#35">35</a>      <strong>public</strong> <strong>static</strong> <a href="../../../org/dom4j/xpath/DefaultNamespaceContext.html">DefaultNamespaceContext</a> create(Object node) {
+<a name="36" href="#36">36</a>          <a href="../../../org/dom4j/Element.html">Element</a> element = <strong>null</strong>;
+<a name="37" href="#37">37</a>  
+<a name="38" href="#38">38</a>          <strong>if</strong> (node instanceof Element) {
+<a name="39" href="#39">39</a>              element = (Element) node;
+<a name="40" href="#40">40</a>          } <strong>else</strong> <strong>if</strong> (node instanceof Document) {
+<a name="41" href="#41">41</a>              <a href="../../../org/dom4j/Document.html">Document</a> doc = (Document) node;
+<a name="42" href="#42">42</a>              element = doc.getRootElement();
+<a name="43" href="#43">43</a>          } <strong>else</strong> <strong>if</strong> (node instanceof Node) {
+<a name="44" href="#44">44</a>              element = ((Node) node).getParent();
+<a name="45" href="#45">45</a>          }
+<a name="46" href="#46">46</a>  
+<a name="47" href="#47">47</a>          <strong>if</strong> (element != <strong>null</strong>) {
+<a name="48" href="#48">48</a>              <strong>return</strong> <strong>new</strong> <a href="../../../org/dom4j/xpath/DefaultNamespaceContext.html">DefaultNamespaceContext</a>(element);
+<a name="49" href="#49">49</a>          }
+<a name="50" href="#50">50</a>  
+<a name="51" href="#51">51</a>          <strong>return</strong> <strong>null</strong>;
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> String translateNamespacePrefixToUri(String prefix) {
+<a name="55" href="#55">55</a>          <strong>if</strong> ((prefix != <strong>null</strong>) && (prefix.length() > 0)) {
+<a name="56" href="#56">56</a>              <a href="../../../org/dom4j/Namespace.html">Namespace</a> ns = element.getNamespaceForPrefix(prefix);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>              <strong>if</strong> (ns != <strong>null</strong>) {
+<a name="59" href="#59">59</a>                  <strong>return</strong> ns.getURI();
+<a name="60" href="#60">60</a>              }
+<a name="61" href="#61">61</a>          }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          <strong>return</strong> <strong>null</strong>;
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  }
+<a name="66" href="#66">66</a>  
+<a name="67" href="#67">67</a>  <em class="comment">/*</em>
+<a name="68" href="#68">68</a>  <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="69" href="#69">69</a>  <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="70" href="#70">70</a>  <em class="comment"> * following conditions are met:</em>
+<a name="71" href="#71">71</a>  <em class="comment"> * </em>
+<a name="72" href="#72">72</a>  <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="73" href="#73">73</a>  <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="74" href="#74">74</a>  <em class="comment"> * </em>
+<a name="75" href="#75">75</a>  <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="76" href="#76">76</a>  <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="77" href="#77">77</a>  <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="78" href="#78">78</a>  <em class="comment"> * </em>
+<a name="79" href="#79">79</a>  <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="80" href="#80">80</a>  <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="81" href="#81">81</a>  <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="82" href="#82">82</a>  <em class="comment"> * </em>
+<a name="83" href="#83">83</a>  <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="84" href="#84">84</a>  <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="85" href="#85">85</a>  <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="86" href="#86">86</a>  <em class="comment"> * </em>
+<a name="87" href="#87">87</a>  <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="88" href="#88">88</a>  <em class="comment"> * </em>
+<a name="89" href="#89">89</a>  <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="90" href="#90">90</a>  <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="91" href="#91">91</a>  <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="92" href="#92">92</a>  <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="93" href="#93">93</a>  <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="94" href="#94">94</a>  <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="95" href="#95">95</a>  <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="96" href="#96">96</a>  <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="97" href="#97">97</a>  <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="98" href="#98">98</a>  <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="99" href="#99">99</a>  <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="100" href="#100">100</a> <em class="comment"> * </em>
+<a name="101" href="#101">101</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="102" href="#102">102</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/xpath/DefaultXPath.html b/docs/xref/org/dom4j/xpath/DefaultXPath.html
new file mode 100644
index 0000000..10b8b9c
--- /dev/null
+++ b/docs/xref/org/dom4j/xpath/DefaultXPath.html
@@ -0,0 +1,426 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>DefaultXPath xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/xpath/DefaultXPath.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.io.Serializable;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Collections;
+<a name="12" href="#12">12</a>  <strong>import</strong> java.util.Comparator;
+<a name="13" href="#13">13</a>  <strong>import</strong> java.util.HashMap;
+<a name="14" href="#14">14</a>  <strong>import</strong> java.util.HashSet;
+<a name="15" href="#15">15</a>  <strong>import</strong> java.util.Iterator;
+<a name="16" href="#16">16</a>  <strong>import</strong> java.util.List;
+<a name="17" href="#17">17</a>  <strong>import</strong> java.util.Map;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.dom4j.InvalidXPathException;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.dom4j.Node;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.dom4j.NodeFilter;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.dom4j.XPathException;
+<a name="23" href="#23">23</a>  
+<a name="24" href="#24">24</a>  <strong>import</strong> org.jaxen.FunctionContext;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.jaxen.JaxenException;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.jaxen.NamespaceContext;
+<a name="27" href="#27">27</a>  <strong>import</strong> org.jaxen.SimpleNamespaceContext;
+<a name="28" href="#28">28</a>  <strong>import</strong> org.jaxen.VariableContext;
+<a name="29" href="#29">29</a>  <strong>import</strong> org.jaxen.XPath;
+<a name="30" href="#30">30</a>  <strong>import</strong> org.jaxen.dom4j.Dom4jXPath;
+<a name="31" href="#31">31</a>  
+<a name="32" href="#32">32</a>  <em>/**<em>*</em></em>
+<a name="33" href="#33">33</a>  <em> * <p></em>
+<a name="34" href="#34">34</a>  <em> * Default implementation of {@link org.dom4j.XPath}which uses the <a</em>
+<a name="35" href="#35">35</a>  <em> * href="<a href="http://jaxen.org" target="alexandria_uri">http://jaxen.org</a>">Jaxen </a> project.</em>
+<a name="36" href="#36">36</a>  <em> * </p></em>
+<a name="37" href="#37">37</a>  <em> * </em>
+<a name="38" href="#38">38</a>  <em> * @author bob mcwhirter</em>
+<a name="39" href="#39">39</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="40" href="#40">40</a>  <em> */</em>
+<a name="41" href="#41">41</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/DefaultXPath.html">DefaultXPath</a> implements org.dom4j.XPath, NodeFilter, Serializable {
+<a name="42" href="#42">42</a>      <strong>private</strong> String text;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>private</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> xpath;
+<a name="45" href="#45">45</a>  
+<a name="46" href="#46">46</a>      <strong>private</strong> NamespaceContext namespaceContext;
+<a name="47" href="#47">47</a>  
+<a name="48" href="#48">48</a>      <em>/**<em>*</em></em>
+<a name="49" href="#49">49</a>  <em>     * Construct an XPath</em>
+<a name="50" href="#50">50</a>  <em>     * </em>
+<a name="51" href="#51">51</a>  <em>     * @param text</em>
+<a name="52" href="#52">52</a>  <em>     *            DOCUMENT ME!</em>
+<a name="53" href="#53">53</a>  <em>     * </em>
+<a name="54" href="#54">54</a>  <em>     * @throws InvalidXPathException</em>
+<a name="55" href="#55">55</a>  <em>     *             DOCUMENT ME!</em>
+<a name="56" href="#56">56</a>  <em>     */</em>
+<a name="57" href="#57">57</a>      <strong>public</strong> <a href="../../../org/dom4j/xpath/DefaultXPath.html">DefaultXPath</a>(String text) throws InvalidXPathException {
+<a name="58" href="#58">58</a>          <strong>this</strong>.text = text;
+<a name="59" href="#59">59</a>          <strong>this</strong>.xpath = parse(text);
+<a name="60" href="#60">60</a>      }
+<a name="61" href="#61">61</a>  
+<a name="62" href="#62">62</a>      <strong>public</strong> String toString() {
+<a name="63" href="#63">63</a>          <strong>return</strong> <span class="string">"[XPath: "</span> + xpath + <span class="string">"]"</span>;
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <em class="comment">// XPath interface</em>
+<a name="67" href="#67">67</a>  
+<a name="68" href="#68">68</a>      <em>/**<em>*</em></em>
+<a name="69" href="#69">69</a>  <em>     * Retrieve the textual XPath string used to initialize this Object</em>
+<a name="70" href="#70">70</a>  <em>     * </em>
+<a name="71" href="#71">71</a>  <em>     * @return The XPath string</em>
+<a name="72" href="#72">72</a>  <em>     */</em>
+<a name="73" href="#73">73</a>      <strong>public</strong> String getText() {
+<a name="74" href="#74">74</a>          <strong>return</strong> text;
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> FunctionContext getFunctionContext() {
+<a name="78" href="#78">78</a>          <strong>return</strong> xpath.getFunctionContext();
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>void</strong> setFunctionContext(FunctionContext functionContext) {
+<a name="82" href="#82">82</a>          xpath.setFunctionContext(functionContext);
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> NamespaceContext getNamespaceContext() {
+<a name="86" href="#86">86</a>          <strong>return</strong> namespaceContext;
+<a name="87" href="#87">87</a>      }
+<a name="88" href="#88">88</a>  
+<a name="89" href="#89">89</a>      <strong>public</strong> <strong>void</strong> setNamespaceURIs(Map map) {
+<a name="90" href="#90">90</a>          setNamespaceContext(<strong>new</strong> SimpleNamespaceContext(map));
+<a name="91" href="#91">91</a>      }
+<a name="92" href="#92">92</a>  
+<a name="93" href="#93">93</a>      <strong>public</strong> <strong>void</strong> setNamespaceContext(NamespaceContext namespaceContext) {
+<a name="94" href="#94">94</a>          <strong>this</strong>.namespaceContext = namespaceContext;
+<a name="95" href="#95">95</a>          xpath.setNamespaceContext(namespaceContext);
+<a name="96" href="#96">96</a>      }
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>      <strong>public</strong> VariableContext getVariableContext() {
+<a name="99" href="#99">99</a>          <strong>return</strong> xpath.getVariableContext();
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>void</strong> setVariableContext(VariableContext variableContext) {
+<a name="103" href="#103">103</a>         xpath.setVariableContext(variableContext);
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <strong>public</strong> Object evaluate(Object context) {
+<a name="107" href="#107">107</a>         <strong>try</strong> {
+<a name="108" href="#108">108</a>             setNSContext(context);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>             List answer = xpath.selectNodes(context);
+<a name="111" href="#111">111</a> 
+<a name="112" href="#112">112</a>             <strong>if</strong> ((answer != <strong>null</strong>) && (answer.size() == 1)) {
+<a name="113" href="#113">113</a>                 <strong>return</strong> answer.get(0);
+<a name="114" href="#114">114</a>             }
+<a name="115" href="#115">115</a> 
+<a name="116" href="#116">116</a>             <strong>return</strong> answer;
+<a name="117" href="#117">117</a>         } <strong>catch</strong> (JaxenException e) {
+<a name="118" href="#118">118</a>             handleJaxenException(e);
+<a name="119" href="#119">119</a> 
+<a name="120" href="#120">120</a>             <strong>return</strong> <strong>null</strong>;
+<a name="121" href="#121">121</a>         }
+<a name="122" href="#122">122</a>     }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <strong>public</strong> Object selectObject(Object context) {
+<a name="125" href="#125">125</a>         <strong>return</strong> evaluate(context);
+<a name="126" href="#126">126</a>     }
+<a name="127" href="#127">127</a> 
+<a name="128" href="#128">128</a>     <strong>public</strong> List selectNodes(Object context) {
+<a name="129" href="#129">129</a>         <strong>try</strong> {
+<a name="130" href="#130">130</a>             setNSContext(context);
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>             <strong>return</strong> xpath.selectNodes(context);
+<a name="133" href="#133">133</a>         } <strong>catch</strong> (JaxenException e) {
+<a name="134" href="#134">134</a>             handleJaxenException(e);
+<a name="135" href="#135">135</a> 
+<a name="136" href="#136">136</a>             <strong>return</strong> Collections.EMPTY_LIST;
+<a name="137" href="#137">137</a>         }
+<a name="138" href="#138">138</a>     }
+<a name="139" href="#139">139</a> 
+<a name="140" href="#140">140</a>     <strong>public</strong> List selectNodes(Object context, org.dom4j.XPath sortXPath) {
+<a name="141" href="#141">141</a>         List answer = selectNodes(context);
+<a name="142" href="#142">142</a>         sortXPath.sort(answer);
+<a name="143" href="#143">143</a> 
+<a name="144" href="#144">144</a>         <strong>return</strong> answer;
+<a name="145" href="#145">145</a>     }
+<a name="146" href="#146">146</a> 
+<a name="147" href="#147">147</a>     <strong>public</strong> List selectNodes(Object context, org.dom4j.XPath sortXPath,
+<a name="148" href="#148">148</a>             <strong>boolean</strong> distinct) {
+<a name="149" href="#149">149</a>         List answer = selectNodes(context);
+<a name="150" href="#150">150</a>         sortXPath.sort(answer, distinct);
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>         <strong>return</strong> answer;
+<a name="153" href="#153">153</a>     }
+<a name="154" href="#154">154</a> 
+<a name="155" href="#155">155</a>     <strong>public</strong> <a href="../../../org/dom4j/Node.html">Node</a> selectSingleNode(Object context) {
+<a name="156" href="#156">156</a>         <strong>try</strong> {
+<a name="157" href="#157">157</a>             setNSContext(context);
+<a name="158" href="#158">158</a> 
+<a name="159" href="#159">159</a>             Object answer = xpath.selectSingleNode(context);
+<a name="160" href="#160">160</a> 
+<a name="161" href="#161">161</a>             <strong>if</strong> (answer instanceof Node) {
+<a name="162" href="#162">162</a>                 <strong>return</strong> (Node) answer;
+<a name="163" href="#163">163</a>             }
+<a name="164" href="#164">164</a> 
+<a name="165" href="#165">165</a>             <strong>if</strong> (answer == <strong>null</strong>) {
+<a name="166" href="#166">166</a>                 <strong>return</strong> <strong>null</strong>;
+<a name="167" href="#167">167</a>             }
+<a name="168" href="#168">168</a> 
+<a name="169" href="#169">169</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/XPathException.html">XPathException</a>(<span class="string">"The result of the XPath expression is "</span>
+<a name="170" href="#170">170</a>                     + <span class="string">"not a Node. It was: "</span> + answer + <span class="string">" of type: "</span>
+<a name="171" href="#171">171</a>                     + answer.getClass().getName());
+<a name="172" href="#172">172</a>         } <strong>catch</strong> (JaxenException e) {
+<a name="173" href="#173">173</a>             handleJaxenException(e);
+<a name="174" href="#174">174</a> 
+<a name="175" href="#175">175</a>             <strong>return</strong> <strong>null</strong>;
+<a name="176" href="#176">176</a>         }
+<a name="177" href="#177">177</a>     }
+<a name="178" href="#178">178</a> 
+<a name="179" href="#179">179</a>     <strong>public</strong> String valueOf(Object context) {
+<a name="180" href="#180">180</a>         <strong>try</strong> {
+<a name="181" href="#181">181</a>             setNSContext(context);
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>             <strong>return</strong> xpath.stringValueOf(context);
+<a name="184" href="#184">184</a>         } <strong>catch</strong> (JaxenException e) {
+<a name="185" href="#185">185</a>             handleJaxenException(e);
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>             <strong>return</strong> <span class="string">""</span>;
+<a name="188" href="#188">188</a>         }
+<a name="189" href="#189">189</a>     }
+<a name="190" href="#190">190</a> 
+<a name="191" href="#191">191</a>     <strong>public</strong> Number numberValueOf(Object context) {
+<a name="192" href="#192">192</a>         <strong>try</strong> {
+<a name="193" href="#193">193</a>             setNSContext(context);
+<a name="194" href="#194">194</a> 
+<a name="195" href="#195">195</a>             <strong>return</strong> xpath.numberValueOf(context);
+<a name="196" href="#196">196</a>         } <strong>catch</strong> (JaxenException e) {
+<a name="197" href="#197">197</a>             handleJaxenException(e);
+<a name="198" href="#198">198</a> 
+<a name="199" href="#199">199</a>             <strong>return</strong> <strong>null</strong>;
+<a name="200" href="#200">200</a>         }
+<a name="201" href="#201">201</a>     }
+<a name="202" href="#202">202</a> 
+<a name="203" href="#203">203</a>     <strong>public</strong> <strong>boolean</strong> <strong>boolean</strong>ValueOf(Object context) {
+<a name="204" href="#204">204</a>         <strong>try</strong> {
+<a name="205" href="#205">205</a>             setNSContext(context);
+<a name="206" href="#206">206</a> 
+<a name="207" href="#207">207</a>             <strong>return</strong> xpath.booleanValueOf(context);
+<a name="208" href="#208">208</a>         } <strong>catch</strong> (JaxenException e) {
+<a name="209" href="#209">209</a>             handleJaxenException(e);
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>             <strong>return</strong> false;
+<a name="212" href="#212">212</a>         }
+<a name="213" href="#213">213</a>     }
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>     <em>/**<em>*</em></em>
+<a name="216" href="#216">216</a> <em>     * <p></em>
+<a name="217" href="#217">217</a> <em>     * <code>sort</code> sorts the given List of Nodes using this XPath</em>
+<a name="218" href="#218">218</a> <em>     * expression as a {@link Comparator}.</em>
+<a name="219" href="#219">219</a> <em>     * </p></em>
+<a name="220" href="#220">220</a> <em>     * </em>
+<a name="221" href="#221">221</a> <em>     * @param list</em>
+<a name="222" href="#222">222</a> <em>     *            is the list of Nodes to sort</em>
+<a name="223" href="#223">223</a> <em>     */</em>
+<a name="224" href="#224">224</a>     <strong>public</strong> <strong>void</strong> sort(List list) {
+<a name="225" href="#225">225</a>         sort(list, false);
+<a name="226" href="#226">226</a>     }
+<a name="227" href="#227">227</a> 
+<a name="228" href="#228">228</a>     <em>/**<em>*</em></em>
+<a name="229" href="#229">229</a> <em>     * <p></em>
+<a name="230" href="#230">230</a> <em>     * <code>sort</code> sorts the given List of Nodes using this XPath</em>
+<a name="231" href="#231">231</a> <em>     * expression as a {@link Comparator}and optionally removing duplicates.</em>
+<a name="232" href="#232">232</a> <em>     * </p></em>
+<a name="233" href="#233">233</a> <em>     * </em>
+<a name="234" href="#234">234</a> <em>     * @param list</em>
+<a name="235" href="#235">235</a> <em>     *            is the list of Nodes to sort</em>
+<a name="236" href="#236">236</a> <em>     * @param distinct</em>
+<a name="237" href="#237">237</a> <em>     *            if true then duplicate values (using the sortXPath for</em>
+<a name="238" href="#238">238</a> <em>     *            comparisions) will be removed from the List</em>
+<a name="239" href="#239">239</a> <em>     */</em>
+<a name="240" href="#240">240</a>     <strong>public</strong> <strong>void</strong> sort(List list, <strong>boolean</strong> distinct) {
+<a name="241" href="#241">241</a>         <strong>if</strong> ((list != <strong>null</strong>) && !list.isEmpty()) {
+<a name="242" href="#242">242</a>             <strong>int</strong> size = list.size();
+<a name="243" href="#243">243</a>             HashMap sortValues = <strong>new</strong> HashMap(size);
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>             <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="246" href="#246">246</a>                 Object object = list.get(i);
+<a name="247" href="#247">247</a> 
+<a name="248" href="#248">248</a>                 <strong>if</strong> (object instanceof Node) {
+<a name="249" href="#249">249</a>                     <a href="../../../org/dom4j/Node.html">Node</a> node = (Node) object;
+<a name="250" href="#250">250</a>                     Object expression = getCompareValue(node);
+<a name="251" href="#251">251</a>                     sortValues.put(node, expression);
+<a name="252" href="#252">252</a>                 }
+<a name="253" href="#253">253</a>             }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>             sort(list, sortValues);
+<a name="256" href="#256">256</a> 
+<a name="257" href="#257">257</a>             <strong>if</strong> (distinct) {
+<a name="258" href="#258">258</a>                 removeDuplicates(list, sortValues);
+<a name="259" href="#259">259</a>             }
+<a name="260" href="#260">260</a>         }
+<a name="261" href="#261">261</a>     }
+<a name="262" href="#262">262</a> 
+<a name="263" href="#263">263</a>     <strong>public</strong> <strong>boolean</strong> matches(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="264" href="#264">264</a>         <strong>try</strong> {
+<a name="265" href="#265">265</a>             setNSContext(node);
+<a name="266" href="#266">266</a> 
+<a name="267" href="#267">267</a>             List answer = xpath.selectNodes(node);
+<a name="268" href="#268">268</a> 
+<a name="269" href="#269">269</a>             <strong>if</strong> ((answer != <strong>null</strong>) && (answer.size() > 0)) {
+<a name="270" href="#270">270</a>                 Object item = answer.get(0);
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>                 <strong>if</strong> (item instanceof Boolean) {
+<a name="273" href="#273">273</a>                     <strong>return</strong> ((Boolean) item).booleanValue();
+<a name="274" href="#274">274</a>                 }
+<a name="275" href="#275">275</a> 
+<a name="276" href="#276">276</a>                 <strong>return</strong> answer.contains(node);
+<a name="277" href="#277">277</a>             }
+<a name="278" href="#278">278</a> 
+<a name="279" href="#279">279</a>             <strong>return</strong> false;
+<a name="280" href="#280">280</a>         } <strong>catch</strong> (JaxenException e) {
+<a name="281" href="#281">281</a>             handleJaxenException(e);
+<a name="282" href="#282">282</a> 
+<a name="283" href="#283">283</a>             <strong>return</strong> false;
+<a name="284" href="#284">284</a>         }
+<a name="285" href="#285">285</a>     }
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a>     <em>/**<em>*</em></em>
+<a name="288" href="#288">288</a> <em>     * Sorts the list based on the sortValues for each node</em>
+<a name="289" href="#289">289</a> <em>     * </em>
+<a name="290" href="#290">290</a> <em>     * @param list</em>
+<a name="291" href="#291">291</a> <em>     *            DOCUMENT ME!</em>
+<a name="292" href="#292">292</a> <em>     * @param sortValues</em>
+<a name="293" href="#293">293</a> <em>     *            DOCUMENT ME!</em>
+<a name="294" href="#294">294</a> <em>     */</em>
+<a name="295" href="#295">295</a>     <strong>protected</strong> <strong>void</strong> sort(List list, <strong>final</strong> Map sortValues) {
+<a name="296" href="#296">296</a>         Collections.sort(list, <strong>new</strong> Comparator() {
+<a name="297" href="#297">297</a>             <strong>public</strong> <strong>int</strong> compare(Object o1, Object o2) {
+<a name="298" href="#298">298</a>                 o1 = sortValues.get(o1);
+<a name="299" href="#299">299</a>                 o2 = sortValues.get(o2);
+<a name="300" href="#300">300</a> 
+<a name="301" href="#301">301</a>                 <strong>if</strong> (o1 == o2) {
+<a name="302" href="#302">302</a>                     <strong>return</strong> 0;
+<a name="303" href="#303">303</a>                 } <strong>else</strong> <strong>if</strong> (o1 instanceof Comparable) {
+<a name="304" href="#304">304</a>                     Comparable c1 = (Comparable) o1;
+<a name="305" href="#305">305</a> 
+<a name="306" href="#306">306</a>                     <strong>return</strong> c1.compareTo(o2);
+<a name="307" href="#307">307</a>                 } <strong>else</strong> <strong>if</strong> (o1 == <strong>null</strong>) {
+<a name="308" href="#308">308</a>                     <strong>return</strong> 1;
+<a name="309" href="#309">309</a>                 } <strong>else</strong> <strong>if</strong> (o2 == <strong>null</strong>) {
+<a name="310" href="#310">310</a>                     <strong>return</strong> -1;
+<a name="311" href="#311">311</a>                 } <strong>else</strong> {
+<a name="312" href="#312">312</a>                     <strong>return</strong> o1.equals(o2) ? 0 : (-1);
+<a name="313" href="#313">313</a>                 }
+<a name="314" href="#314">314</a>             }
+<a name="315" href="#315">315</a>         });
+<a name="316" href="#316">316</a>     }
+<a name="317" href="#317">317</a> 
+<a name="318" href="#318">318</a>     <em class="comment">// Implementation methods</em>
+<a name="319" href="#319">319</a> 
+<a name="320" href="#320">320</a>     <em>/**<em>*</em></em>
+<a name="321" href="#321">321</a> <em>     * Removes items from the list which have duplicate values</em>
+<a name="322" href="#322">322</a> <em>     * </em>
+<a name="323" href="#323">323</a> <em>     * @param list</em>
+<a name="324" href="#324">324</a> <em>     *            DOCUMENT ME!</em>
+<a name="325" href="#325">325</a> <em>     * @param sortValues</em>
+<a name="326" href="#326">326</a> <em>     *            DOCUMENT ME!</em>
+<a name="327" href="#327">327</a> <em>     */</em>
+<a name="328" href="#328">328</a>     <strong>protected</strong> <strong>void</strong> removeDuplicates(List list, Map sortValues) {
+<a name="329" href="#329">329</a>         <em class="comment">// remove distinct</em>
+<a name="330" href="#330">330</a>         HashSet distinctValues = <strong>new</strong> HashSet();
+<a name="331" href="#331">331</a> 
+<a name="332" href="#332">332</a>         <strong>for</strong> (Iterator iter = list.iterator(); iter.hasNext();) {
+<a name="333" href="#333">333</a>             Object node = iter.next();
+<a name="334" href="#334">334</a>             Object value = sortValues.get(node);
+<a name="335" href="#335">335</a> 
+<a name="336" href="#336">336</a>             <strong>if</strong> (distinctValues.contains(value)) {
+<a name="337" href="#337">337</a>                 iter.remove();
+<a name="338" href="#338">338</a>             } <strong>else</strong> {
+<a name="339" href="#339">339</a>                 distinctValues.add(value);
+<a name="340" href="#340">340</a>             }
+<a name="341" href="#341">341</a>         }
+<a name="342" href="#342">342</a>     }
+<a name="343" href="#343">343</a> 
+<a name="344" href="#344">344</a>     <em>/**<em>*</em></em>
+<a name="345" href="#345">345</a> <em>     * DOCUMENT ME!</em>
+<a name="346" href="#346">346</a> <em>     * </em>
+<a name="347" href="#347">347</a> <em>     * @param node</em>
+<a name="348" href="#348">348</a> <em>     *            DOCUMENT ME!</em>
+<a name="349" href="#349">349</a> <em>     * </em>
+<a name="350" href="#350">350</a> <em>     * @return the node expression used for sorting comparisons</em>
+<a name="351" href="#351">351</a> <em>     */</em>
+<a name="352" href="#352">352</a>     <strong>protected</strong> Object getCompareValue(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="353" href="#353">353</a>         <strong>return</strong> valueOf(node);
+<a name="354" href="#354">354</a>     }
+<a name="355" href="#355">355</a> 
+<a name="356" href="#356">356</a>     <strong>protected</strong> <strong>static</strong> <a href="../../../org/dom4j/XPath.html">XPath</a> parse(String text) {
+<a name="357" href="#357">357</a>         <strong>try</strong> {
+<a name="358" href="#358">358</a>             <strong>return</strong> <strong>new</strong> Dom4jXPath(text);
+<a name="359" href="#359">359</a>         } <strong>catch</strong> (JaxenException e) {
+<a name="360" href="#360">360</a>             <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a>(text, e.getMessage());
+<a name="361" href="#361">361</a>         } <strong>catch</strong> (Throwable t) {
+<a name="362" href="#362">362</a>         	<strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a>(text, t);
+<a name="363" href="#363">363</a>         }
+<a name="364" href="#364">364</a>     }
+<a name="365" href="#365">365</a> 
+<a name="366" href="#366">366</a>     <strong>protected</strong> <strong>void</strong> setNSContext(Object context) {
+<a name="367" href="#367">367</a>         <strong>if</strong> (namespaceContext == <strong>null</strong>) {
+<a name="368" href="#368">368</a>             xpath.setNamespaceContext(DefaultNamespaceContext.create(context));
+<a name="369" href="#369">369</a>         }
+<a name="370" href="#370">370</a>     }
+<a name="371" href="#371">371</a> 
+<a name="372" href="#372">372</a>     <strong>protected</strong> <strong>void</strong> handleJaxenException(JaxenException exception)
+<a name="373" href="#373">373</a>             throws <a href="../../../org/dom4j/XPathException.html">XPathException</a> {
+<a name="374" href="#374">374</a>         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/XPathException.html">XPathException</a>(text, exception);
+<a name="375" href="#375">375</a>     }
+<a name="376" href="#376">376</a> }
+<a name="377" href="#377">377</a> 
+<a name="378" href="#378">378</a> <em class="comment">/*</em>
+<a name="379" href="#379">379</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="380" href="#380">380</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="381" href="#381">381</a> <em class="comment"> * following conditions are met:</em>
+<a name="382" href="#382">382</a> <em class="comment"> * </em>
+<a name="383" href="#383">383</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="384" href="#384">384</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="385" href="#385">385</a> <em class="comment"> * </em>
+<a name="386" href="#386">386</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="387" href="#387">387</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="388" href="#388">388</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="389" href="#389">389</a> <em class="comment"> * </em>
+<a name="390" href="#390">390</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="391" href="#391">391</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="392" href="#392">392</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="393" href="#393">393</a> <em class="comment"> * </em>
+<a name="394" href="#394">394</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="395" href="#395">395</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="396" href="#396">396</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="397" href="#397">397</a> <em class="comment"> * </em>
+<a name="398" href="#398">398</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="399" href="#399">399</a> <em class="comment"> * </em>
+<a name="400" href="#400">400</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="401" href="#401">401</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="402" href="#402">402</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="403" href="#403">403</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="404" href="#404">404</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="405" href="#405">405</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="406" href="#406">406</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="407" href="#407">407</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="408" href="#408">408</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="409" href="#409">409</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="410" href="#410">410</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="411" href="#411">411</a> <em class="comment"> * </em>
+<a name="412" href="#412">412</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="413" href="#413">413</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/xpath/XPathPattern.html b/docs/xref/org/dom4j/xpath/XPathPattern.html
new file mode 100644
index 0000000..db0dc86
--- /dev/null
+++ b/docs/xref/org/dom4j/xpath/XPathPattern.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>XPathPattern xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/xpath/XPathPattern.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  
+<a name="12" href="#12">12</a>  <strong>import</strong> org.dom4j.InvalidXPathException;
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Node;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.XPathException;
+<a name="15" href="#15">15</a>  
+<a name="16" href="#16">16</a>  <strong>import</strong> org.jaxen.Context;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.jaxen.ContextSupport;
+<a name="18" href="#18">18</a>  <strong>import</strong> org.jaxen.JaxenException;
+<a name="19" href="#19">19</a>  <strong>import</strong> org.jaxen.SimpleNamespaceContext;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.jaxen.SimpleVariableContext;
+<a name="21" href="#21">21</a>  <strong>import</strong> org.jaxen.VariableContext;
+<a name="22" href="#22">22</a>  <strong>import</strong> org.jaxen.XPathFunctionContext;
+<a name="23" href="#23">23</a>  <strong>import</strong> org.jaxen.dom4j.DocumentNavigator;
+<a name="24" href="#24">24</a>  <strong>import</strong> org.jaxen.pattern.Pattern;
+<a name="25" href="#25">25</a>  <strong>import</strong> org.jaxen.pattern.PatternParser;
+<a name="26" href="#26">26</a>  <strong>import</strong> org.jaxen.saxpath.SAXPathException;
+<a name="27" href="#27">27</a>  
+<a name="28" href="#28">28</a>  <em>/**<em>*</em></em>
+<a name="29" href="#29">29</a>  <em> * <p></em>
+<a name="30" href="#30">30</a>  <em> * <code>XPathPattern</code> is an implementation of Pattern which uses an</em>
+<a name="31" href="#31">31</a>  <em> * XPath xpath.</em>
+<a name="32" href="#32">32</a>  <em> * </p></em>
+<a name="33" href="#33">33</a>  <em> * </em>
+<a name="34" href="#34">34</a>  <em> * @author <a href="<a href="mailto:jstrachan at apache.org" target="alexandria_uri">mailto:jstrachan at apache.org</a>">James Strachan </a></em>
+<a name="35" href="#35">35</a>  <em> * @version $Revision: 1.18.2.1 $</em>
+<a name="36" href="#36">36</a>  <em> */</em>
+<a name="37" href="#37">37</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpath/XPathPattern.html">XPathPattern</a> implements org.dom4j.rule.Pattern {
+<a name="38" href="#38">38</a>      <strong>private</strong> String text;
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>private</strong> Pattern pattern;
+<a name="41" href="#41">41</a>  
+<a name="42" href="#42">42</a>      <strong>private</strong> Context context;
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <strong>public</strong> <a href="../../../org/dom4j/xpath/XPathPattern.html">XPathPattern</a>(Pattern pattern) {
+<a name="45" href="#45">45</a>          <strong>this</strong>.pattern = pattern;
+<a name="46" href="#46">46</a>          <strong>this</strong>.text = pattern.getText();
+<a name="47" href="#47">47</a>          <strong>this</strong>.context = <strong>new</strong> Context(getContextSupport());
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <a href="../../../org/dom4j/xpath/XPathPattern.html">XPathPattern</a>(String text) {
+<a name="51" href="#51">51</a>          <strong>this</strong>.text = text;
+<a name="52" href="#52">52</a>          <strong>this</strong>.context = <strong>new</strong> Context(getContextSupport());
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>          <strong>try</strong> {
+<a name="55" href="#55">55</a>              <strong>this</strong>.pattern = PatternParser.parse(text);
+<a name="56" href="#56">56</a>          } <strong>catch</strong> (SAXPathException e) {
+<a name="57" href="#57">57</a>              <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a>(text, e.getMessage());
+<a name="58" href="#58">58</a>          } <strong>catch</strong> (Throwable t) {
+<a name="59" href="#59">59</a>              <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/InvalidXPathException.html">InvalidXPathException</a>(text, t);
+<a name="60" href="#60">60</a>          }
+<a name="61" href="#61">61</a>      }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>      <strong>public</strong> <strong>boolean</strong> matches(<a href="../../../org/dom4j/Node.html">Node</a> node) {
+<a name="64" href="#64">64</a>          <strong>try</strong> {
+<a name="65" href="#65">65</a>              ArrayList list = <strong>new</strong> ArrayList(1);
+<a name="66" href="#66">66</a>              list.add(node);
+<a name="67" href="#67">67</a>              context.setNodeSet(list);
+<a name="68" href="#68">68</a>  
+<a name="69" href="#69">69</a>              <strong>return</strong> pattern.matches(node, context);
+<a name="70" href="#70">70</a>          } <strong>catch</strong> (JaxenException e) {
+<a name="71" href="#71">71</a>              handleJaxenException(e);
+<a name="72" href="#72">72</a>  
+<a name="73" href="#73">73</a>              <strong>return</strong> false;
+<a name="74" href="#74">74</a>          }
+<a name="75" href="#75">75</a>      }
+<a name="76" href="#76">76</a>  
+<a name="77" href="#77">77</a>      <strong>public</strong> String getText() {
+<a name="78" href="#78">78</a>          <strong>return</strong> text;
+<a name="79" href="#79">79</a>      }
+<a name="80" href="#80">80</a>  
+<a name="81" href="#81">81</a>      <strong>public</strong> <strong>double</strong> getPriority() {
+<a name="82" href="#82">82</a>          <strong>return</strong> pattern.getPriority();
+<a name="83" href="#83">83</a>      }
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>      <strong>public</strong> org.dom4j.rule.Pattern[] getUnionPatterns() {
+<a name="86" href="#86">86</a>          Pattern[] patterns = pattern.getUnionPatterns();
+<a name="87" href="#87">87</a>  
+<a name="88" href="#88">88</a>          <strong>if</strong> (patterns != <strong>null</strong>) {
+<a name="89" href="#89">89</a>              <strong>int</strong> size = patterns.length;
+<a name="90" href="#90">90</a>              <a href="../../../org/dom4j/xpath/XPathPattern.html">XPathPattern</a>[] answer = <strong>new</strong> <a href="../../../org/dom4j/xpath/XPathPattern.html">XPathPattern</a>[size];
+<a name="91" href="#91">91</a>  
+<a name="92" href="#92">92</a>              <strong>for</strong> (<strong>int</strong> i = 0; i < size; i++) {
+<a name="93" href="#93">93</a>                  answer[i] = <strong>new</strong> <a href="../../../org/dom4j/xpath/XPathPattern.html">XPathPattern</a>(patterns[i]);
+<a name="94" href="#94">94</a>              }
+<a name="95" href="#95">95</a>  
+<a name="96" href="#96">96</a>              <strong>return</strong> answer;
+<a name="97" href="#97">97</a>          }
+<a name="98" href="#98">98</a>  
+<a name="99" href="#99">99</a>          <strong>return</strong> <strong>null</strong>;
+<a name="100" href="#100">100</a>     }
+<a name="101" href="#101">101</a> 
+<a name="102" href="#102">102</a>     <strong>public</strong> <strong>short</strong> getMatchType() {
+<a name="103" href="#103">103</a>         <strong>return</strong> pattern.getMatchType();
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <strong>public</strong> String getMatchesNodeName() {
+<a name="107" href="#107">107</a>         <strong>return</strong> pattern.getMatchesNodeName();
+<a name="108" href="#108">108</a>     }
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>     <strong>public</strong> <strong>void</strong> setVariableContext(VariableContext variableContext) {
+<a name="111" href="#111">111</a>         context.getContextSupport().setVariableContext(variableContext);
+<a name="112" href="#112">112</a>     }
+<a name="113" href="#113">113</a> 
+<a name="114" href="#114">114</a>     <strong>public</strong> String toString() {
+<a name="115" href="#115">115</a>         <strong>return</strong> <span class="string">"[XPathPattern: text: "</span> + text + <span class="string">" Pattern: "</span> + pattern + <span class="string">"]"</span>;
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <strong>protected</strong> ContextSupport getContextSupport() {
+<a name="119" href="#119">119</a>         <strong>return</strong> <strong>new</strong> ContextSupport(<strong>new</strong> SimpleNamespaceContext(),
+<a name="120" href="#120">120</a>                 XPathFunctionContext.getInstance(),
+<a name="121" href="#121">121</a>                 <strong>new</strong> SimpleVariableContext(), DocumentNavigator.getInstance());
+<a name="122" href="#122">122</a>     }
+<a name="123" href="#123">123</a> 
+<a name="124" href="#124">124</a>     <strong>protected</strong> <strong>void</strong> handleJaxenException(JaxenException exception)
+<a name="125" href="#125">125</a>             throws <a href="../../../org/dom4j/XPathException.html">XPathException</a> {
+<a name="126" href="#126">126</a>         <strong>throw</strong> <strong>new</strong> <a href="../../../org/dom4j/XPathException.html">XPathException</a>(text, exception);
+<a name="127" href="#127">127</a>     }
+<a name="128" href="#128">128</a> }
+<a name="129" href="#129">129</a> 
+<a name="130" href="#130">130</a> <em class="comment">/*</em>
+<a name="131" href="#131">131</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="132" href="#132">132</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="133" href="#133">133</a> <em class="comment"> * following conditions are met:</em>
+<a name="134" href="#134">134</a> <em class="comment"> * </em>
+<a name="135" href="#135">135</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="136" href="#136">136</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="137" href="#137">137</a> <em class="comment"> * </em>
+<a name="138" href="#138">138</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="139" href="#139">139</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="140" href="#140">140</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="141" href="#141">141</a> <em class="comment"> * </em>
+<a name="142" href="#142">142</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="143" href="#143">143</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="144" href="#144">144</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="145" href="#145">145</a> <em class="comment"> * </em>
+<a name="146" href="#146">146</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="147" href="#147">147</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="148" href="#148">148</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="149" href="#149">149</a> <em class="comment"> * </em>
+<a name="150" href="#150">150</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="151" href="#151">151</a> <em class="comment"> * </em>
+<a name="152" href="#152">152</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="153" href="#153">153</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="154" href="#154">154</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="155" href="#155">155</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="156" href="#156">156</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="157" href="#157">157</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="158" href="#158">158</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="159" href="#159">159</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="160" href="#160">160</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="161" href="#161">161</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="162" href="#162">162</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="163" href="#163">163</a> <em class="comment"> * </em>
+<a name="164" href="#164">164</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="165" href="#165">165</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/xpath/package-frame.html b/docs/xref/org/dom4j/xpath/package-frame.html
new file mode 100644
index 0000000..42a99fb
--- /dev/null
+++ b/docs/xref/org/dom4j/xpath/package-frame.html
@@ -0,0 +1,35 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.xpath</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.xpath</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="DefaultNamespaceContext.html" target="classFrame">DefaultNamespaceContext</a>
+          </li>
+        
+          <li>
+            <a href="DefaultXPath.html" target="classFrame">DefaultXPath</a>
+          </li>
+        
+          <li>
+            <a href="XPathPattern.html" target="classFrame">XPathPattern</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/xpath/package-summary.html b/docs/xref/org/dom4j/xpath/package-summary.html
new file mode 100644
index 0000000..3c64c2d
--- /dev/null
+++ b/docs/xref/org/dom4j/xpath/package-summary.html
@@ -0,0 +1,114 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.xpath</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="DefaultNamespaceContext.html" target="classFrame">DefaultNamespaceContext</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="DefaultXPath.html" target="classFrame">DefaultXPath</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="XPathPattern.html" target="classFrame">XPathPattern</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/org/dom4j/xpp/ProxyXmlStartTag.html b/docs/xref/org/dom4j/xpp/ProxyXmlStartTag.html
new file mode 100644
index 0000000..0526028
--- /dev/null
+++ b/docs/xref/org/dom4j/xpp/ProxyXmlStartTag.html
@@ -0,0 +1,335 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ProxyXmlStartTag xref</title>
+<link type="text/css" rel="stylesheet" href="../../../stylesheet.css" />
+</head>
+<body>
+<div id="overview"><a href="../../../../apidocs/org/dom4j/xpp/ProxyXmlStartTag.html">View Javadoc</a></div><pre>
+
+<a name="1" href="#1">1</a>   <em class="comment">/*</em>
+<a name="2" href="#2">2</a>   <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="3" href="#3">3</a>   <em class="comment"> *</em>
+<a name="4" href="#4">4</a>   <em class="comment"> * This software is open source.</em>
+<a name="5" href="#5">5</a>   <em class="comment"> * See the bottom of this file for the licence.</em>
+<a name="6" href="#6">6</a>   <em class="comment"> */</em>
+<a name="7" href="#7">7</a>   
+<a name="8" href="#8">8</a>   <strong>package</strong> <a href="../../../org/dom4j/xpp/package-summary.html">org.dom4j.xpp</a>;
+<a name="9" href="#9">9</a>   
+<a name="10" href="#10">10</a>  <strong>import</strong> java.util.ArrayList;
+<a name="11" href="#11">11</a>  <strong>import</strong> java.util.Iterator;
+<a name="12" href="#12">12</a>  
+<a name="13" href="#13">13</a>  <strong>import</strong> org.dom4j.Attribute;
+<a name="14" href="#14">14</a>  <strong>import</strong> org.dom4j.DocumentFactory;
+<a name="15" href="#15">15</a>  <strong>import</strong> org.dom4j.Element;
+<a name="16" href="#16">16</a>  <strong>import</strong> org.dom4j.QName;
+<a name="17" href="#17">17</a>  <strong>import</strong> org.dom4j.tree.AbstractElement;
+<a name="18" href="#18">18</a>  
+<a name="19" href="#19">19</a>  <strong>import</strong> org.gjt.xpp.XmlPullParserException;
+<a name="20" href="#20">20</a>  <strong>import</strong> org.gjt.xpp.XmlStartTag;
+<a name="21" href="#21">21</a>  
+<a name="22" href="#22">22</a>  <em>/**<em>*</em></em>
+<a name="23" href="#23">23</a>  <em> * <code>ProxyXmlStartTag</code> implements the XPP <code>XmlSmartTag</code></em>
+<a name="24" href="#24">24</a>  <em> * interface while creating a dom4j <code>Element</code> underneath.</em>
+<a name="25" href="#25">25</a>  <em> * </em>
+<a name="26" href="#26">26</a>  <em> * @author James Strachan</em>
+<a name="27" href="#27">27</a>  <em> * @author Maarten Coene</em>
+<a name="28" href="#28">28</a>  <em> * @author Wolfgang Baer</em>
+<a name="29" href="#29">29</a>  <em> */</em>
+<a name="30" href="#30">30</a>  <strong>public</strong> <strong>class</strong> <a href="../../../org/dom4j/xpp/ProxyXmlStartTag.html">ProxyXmlStartTag</a> implements XmlStartTag {
+<a name="31" href="#31">31</a>      <em>/**<em>* The element being constructed */</em></em>
+<a name="32" href="#32">32</a>      <strong>private</strong> <a href="../../../org/dom4j/Element.html">Element</a> element;
+<a name="33" href="#33">33</a>  
+<a name="34" href="#34">34</a>      <em>/**<em>* The factory used to create new elements */</em></em>
+<a name="35" href="#35">35</a>      <strong>private</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> factory = DocumentFactory.getInstance();
+<a name="36" href="#36">36</a>  
+<a name="37" href="#37">37</a>      <strong>public</strong> <a href="../../../org/dom4j/xpp/ProxyXmlStartTag.html">ProxyXmlStartTag</a>() {
+<a name="38" href="#38">38</a>      }
+<a name="39" href="#39">39</a>  
+<a name="40" href="#40">40</a>      <strong>public</strong> <a href="../../../org/dom4j/xpp/ProxyXmlStartTag.html">ProxyXmlStartTag</a>(<a href="../../../org/dom4j/Element.html">Element</a> element) {
+<a name="41" href="#41">41</a>          <strong>this</strong>.element = element;
+<a name="42" href="#42">42</a>      }
+<a name="43" href="#43">43</a>  
+<a name="44" href="#44">44</a>      <em class="comment">// XmlStartTag interface</em>
+<a name="45" href="#45">45</a>      <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="46" href="#46">46</a>      <strong>public</strong> <strong>void</strong> resetStartTag() {
+<a name="47" href="#47">47</a>          <strong>this</strong>.element = <strong>null</strong>;
+<a name="48" href="#48">48</a>      }
+<a name="49" href="#49">49</a>  
+<a name="50" href="#50">50</a>      <strong>public</strong> <strong>int</strong> getAttributeCount() {
+<a name="51" href="#51">51</a>          <strong>return</strong> (element != <strong>null</strong>) ? element.attributeCount() : 0;
+<a name="52" href="#52">52</a>      }
+<a name="53" href="#53">53</a>  
+<a name="54" href="#54">54</a>      <strong>public</strong> String getAttributeNamespaceUri(<strong>int</strong> index) {
+<a name="55" href="#55">55</a>          <strong>if</strong> (element != <strong>null</strong>) {
+<a name="56" href="#56">56</a>              <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(index);
+<a name="57" href="#57">57</a>  
+<a name="58" href="#58">58</a>              <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="59" href="#59">59</a>                  <strong>return</strong> attribute.getNamespaceURI();
+<a name="60" href="#60">60</a>              }
+<a name="61" href="#61">61</a>          }
+<a name="62" href="#62">62</a>  
+<a name="63" href="#63">63</a>          <strong>return</strong> <strong>null</strong>;
+<a name="64" href="#64">64</a>      }
+<a name="65" href="#65">65</a>  
+<a name="66" href="#66">66</a>      <strong>public</strong> String getAttributeLocalName(<strong>int</strong> index) {
+<a name="67" href="#67">67</a>          <strong>if</strong> (element != <strong>null</strong>) {
+<a name="68" href="#68">68</a>              <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(index);
+<a name="69" href="#69">69</a>  
+<a name="70" href="#70">70</a>              <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="71" href="#71">71</a>                  <strong>return</strong> attribute.getName();
+<a name="72" href="#72">72</a>              }
+<a name="73" href="#73">73</a>          }
+<a name="74" href="#74">74</a>  
+<a name="75" href="#75">75</a>          <strong>return</strong> <strong>null</strong>;
+<a name="76" href="#76">76</a>      }
+<a name="77" href="#77">77</a>  
+<a name="78" href="#78">78</a>      <strong>public</strong> String getAttributePrefix(<strong>int</strong> index) {
+<a name="79" href="#79">79</a>          <strong>if</strong> (element != <strong>null</strong>) {
+<a name="80" href="#80">80</a>              <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(index);
+<a name="81" href="#81">81</a>  
+<a name="82" href="#82">82</a>              <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="83" href="#83">83</a>                  String prefix = attribute.getNamespacePrefix();
+<a name="84" href="#84">84</a>  
+<a name="85" href="#85">85</a>                  <strong>if</strong> ((prefix != <strong>null</strong>) && (prefix.length() > 0)) {
+<a name="86" href="#86">86</a>                      <strong>return</strong> prefix;
+<a name="87" href="#87">87</a>                  }
+<a name="88" href="#88">88</a>              }
+<a name="89" href="#89">89</a>          }
+<a name="90" href="#90">90</a>  
+<a name="91" href="#91">91</a>          <strong>return</strong> <strong>null</strong>;
+<a name="92" href="#92">92</a>      }
+<a name="93" href="#93">93</a>  
+<a name="94" href="#94">94</a>      <strong>public</strong> String getAttributeRawName(<strong>int</strong> index) {
+<a name="95" href="#95">95</a>          <strong>if</strong> (element != <strong>null</strong>) {
+<a name="96" href="#96">96</a>              <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(index);
+<a name="97" href="#97">97</a>  
+<a name="98" href="#98">98</a>              <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="99" href="#99">99</a>                  <strong>return</strong> attribute.getQualifiedName();
+<a name="100" href="#100">100</a>             }
+<a name="101" href="#101">101</a>         }
+<a name="102" href="#102">102</a> 
+<a name="103" href="#103">103</a>         <strong>return</strong> <strong>null</strong>;
+<a name="104" href="#104">104</a>     }
+<a name="105" href="#105">105</a> 
+<a name="106" href="#106">106</a>     <strong>public</strong> String getAttributeValue(<strong>int</strong> index) {
+<a name="107" href="#107">107</a>         <strong>if</strong> (element != <strong>null</strong>) {
+<a name="108" href="#108">108</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(index);
+<a name="109" href="#109">109</a> 
+<a name="110" href="#110">110</a>             <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="111" href="#111">111</a>                 <strong>return</strong> attribute.getValue();
+<a name="112" href="#112">112</a>             }
+<a name="113" href="#113">113</a>         }
+<a name="114" href="#114">114</a> 
+<a name="115" href="#115">115</a>         <strong>return</strong> <strong>null</strong>;
+<a name="116" href="#116">116</a>     }
+<a name="117" href="#117">117</a> 
+<a name="118" href="#118">118</a>     <strong>public</strong> String getAttributeValueFromRawName(String rawName) {
+<a name="119" href="#119">119</a>         <strong>if</strong> (element != <strong>null</strong>) {
+<a name="120" href="#120">120</a>             <strong>for</strong> (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+<a name="121" href="#121">121</a>                 <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) iter.next();
+<a name="122" href="#122">122</a> 
+<a name="123" href="#123">123</a>                 <strong>if</strong> (rawName.equals(attribute.getQual<strong>if</strong>iedName())) {
+<a name="124" href="#124">124</a>                     <strong>return</strong> attribute.getValue();
+<a name="125" href="#125">125</a>                 }
+<a name="126" href="#126">126</a>             }
+<a name="127" href="#127">127</a>         }
+<a name="128" href="#128">128</a> 
+<a name="129" href="#129">129</a>         <strong>return</strong> <strong>null</strong>;
+<a name="130" href="#130">130</a>     }
+<a name="131" href="#131">131</a> 
+<a name="132" href="#132">132</a>     <strong>public</strong> String getAttributeValueFromName(String namespaceURI,
+<a name="133" href="#133">133</a>             String localName) {
+<a name="134" href="#134">134</a>         <strong>if</strong> (element != <strong>null</strong>) {
+<a name="135" href="#135">135</a>             <strong>for</strong> (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+<a name="136" href="#136">136</a>                 <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = (Attribute) iter.next();
+<a name="137" href="#137">137</a> 
+<a name="138" href="#138">138</a>                 <strong>if</strong> (namespaceURI.equals(attribute.getNamespaceURI())
+<a name="139" href="#139">139</a>                         && localName.equals(attribute.getName())) {
+<a name="140" href="#140">140</a>                     <strong>return</strong> attribute.getValue();
+<a name="141" href="#141">141</a>                 }
+<a name="142" href="#142">142</a>             }
+<a name="143" href="#143">143</a>         }
+<a name="144" href="#144">144</a> 
+<a name="145" href="#145">145</a>         <strong>return</strong> <strong>null</strong>;
+<a name="146" href="#146">146</a>     }
+<a name="147" href="#147">147</a> 
+<a name="148" href="#148">148</a>     <strong>public</strong> <strong>boolean</strong> isAttributeNamespaceDeclaration(<strong>int</strong> index) {
+<a name="149" href="#149">149</a>         <strong>if</strong> (element != <strong>null</strong>) {
+<a name="150" href="#150">150</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(index);
+<a name="151" href="#151">151</a> 
+<a name="152" href="#152">152</a>             <strong>if</strong> (attribute != <strong>null</strong>) {
+<a name="153" href="#153">153</a>                 <strong>return</strong> <span class="string">"xmlns"</span>.equals(attribute.getNamespacePrefix());
+<a name="154" href="#154">154</a>             }
+<a name="155" href="#155">155</a>         }
+<a name="156" href="#156">156</a> 
+<a name="157" href="#157">157</a>         <strong>return</strong> false;
+<a name="158" href="#158">158</a>     }
+<a name="159" href="#159">159</a> 
+<a name="160" href="#160">160</a>     <em>/**<em>*</em></em>
+<a name="161" href="#161">161</a> <em>     * parameters modeled after SAX2 attribute approach</em>
+<a name="162" href="#162">162</a> <em>     * </em>
+<a name="163" href="#163">163</a> <em>     * @param namespaceURI DOCUMENT ME!</em>
+<a name="164" href="#164">164</a> <em>     * @param localName DOCUMENT ME!</em>
+<a name="165" href="#165">165</a> <em>     * @param rawName DOCUMENT ME!</em>
+<a name="166" href="#166">166</a> <em>     * @param value DOCUMENT ME!</em>
+<a name="167" href="#167">167</a> <em>     * </em>
+<a name="168" href="#168">168</a> <em>     * @throws XmlPullParserException DOCUMENT ME!</em>
+<a name="169" href="#169">169</a> <em>     */</em>
+<a name="170" href="#170">170</a>     <strong>public</strong> <strong>void</strong> addAttribute(String namespaceURI, String localName,
+<a name="171" href="#171">171</a>             String rawName, String value) throws XmlPullParserException {
+<a name="172" href="#172">172</a>         <a href="../../../org/dom4j/QName.html">QName</a> qname = QName.get(rawName, namespaceURI);
+<a name="173" href="#173">173</a>         element.addAttribute(qname, value);
+<a name="174" href="#174">174</a>     }
+<a name="175" href="#175">175</a> 
+<a name="176" href="#176">176</a>     <strong>public</strong> <strong>void</strong> addAttribute(String namespaceURI, String localName,
+<a name="177" href="#177">177</a>             String rawName, String value, <strong>boolean</strong> isNamespaceDeclaration)
+<a name="178" href="#178">178</a>             throws XmlPullParserException {
+<a name="179" href="#179">179</a>         <strong>if</strong> (isNamespaceDeclaration) {
+<a name="180" href="#180">180</a>             String prefix = <span class="string">""</span>;
+<a name="181" href="#181">181</a>             <strong>int</strong> idx = rawName.indexOf(':');
+<a name="182" href="#182">182</a> 
+<a name="183" href="#183">183</a>             <strong>if</strong> (idx > 0) {
+<a name="184" href="#184">184</a>                 prefix = rawName.substring(0, idx);
+<a name="185" href="#185">185</a>             }
+<a name="186" href="#186">186</a> 
+<a name="187" href="#187">187</a>             element.addNamespace(prefix, namespaceURI);
+<a name="188" href="#188">188</a>         } <strong>else</strong> {
+<a name="189" href="#189">189</a>             <a href="../../../org/dom4j/QName.html">QName</a> qname = QName.get(rawName, namespaceURI);
+<a name="190" href="#190">190</a>             element.addAttribute(qname, value);
+<a name="191" href="#191">191</a>         }
+<a name="192" href="#192">192</a>     }
+<a name="193" href="#193">193</a> 
+<a name="194" href="#194">194</a>     <strong>public</strong> <strong>void</strong> ensureAttributesCapacity(<strong>int</strong> minCapacity)
+<a name="195" href="#195">195</a>             throws XmlPullParserException {
+<a name="196" href="#196">196</a>         <strong>if</strong> (element instanceof AbstractElement) {
+<a name="197" href="#197">197</a>             <a href="../../../org/dom4j/tree/AbstractElement.html">AbstractElement</a> elementImpl = (AbstractElement) element;
+<a name="198" href="#198">198</a>             elementImpl.ensureAttributesCapacity(minCapacity);
+<a name="199" href="#199">199</a>         }
+<a name="200" href="#200">200</a>     }
+<a name="201" href="#201">201</a> 
+<a name="202" href="#202">202</a>     <em>/**<em>*</em></em>
+<a name="203" href="#203">203</a> <em>     * Remove all atributes.</em>
+<a name="204" href="#204">204</a> <em>     * </em>
+<a name="205" href="#205">205</a> <em>     * @deprecated Use {@link #removeAttributes()} instead.</em>
+<a name="206" href="#206">206</a> <em>     */</em>
+<a name="207" href="#207">207</a>     <strong>public</strong> <strong>void</strong> removeAtttributes() throws XmlPullParserException {
+<a name="208" href="#208">208</a>         removeAttributes();
+<a name="209" href="#209">209</a>     }
+<a name="210" href="#210">210</a> 
+<a name="211" href="#211">211</a>     <strong>public</strong> <strong>void</strong> removeAttributes() throws XmlPullParserException {
+<a name="212" href="#212">212</a>         <strong>if</strong> (element != <strong>null</strong>) {
+<a name="213" href="#213">213</a>             element.setAttributes(<strong>new</strong> ArrayList());
+<a name="214" href="#214">214</a> 
+<a name="215" href="#215">215</a>             <em class="comment">// ##### FIXME</em>
+<a name="216" href="#216">216</a>             <em class="comment">// adding this method would be nice...</em>
+<a name="217" href="#217">217</a>             <em class="comment">// element.clearAttributes();</em>
+<a name="218" href="#218">218</a>         }
+<a name="219" href="#219">219</a>     }
+<a name="220" href="#220">220</a> 
+<a name="221" href="#221">221</a>     <strong>public</strong> String getLocalName() {
+<a name="222" href="#222">222</a>         <strong>return</strong> element.getName();
+<a name="223" href="#223">223</a>     }
+<a name="224" href="#224">224</a> 
+<a name="225" href="#225">225</a>     <strong>public</strong> String getNamespaceUri() {
+<a name="226" href="#226">226</a>         <strong>return</strong> element.getNamespaceURI();
+<a name="227" href="#227">227</a>     }
+<a name="228" href="#228">228</a> 
+<a name="229" href="#229">229</a>     <strong>public</strong> String getPrefix() {
+<a name="230" href="#230">230</a>         <strong>return</strong> element.getNamespacePrefix();
+<a name="231" href="#231">231</a>     }
+<a name="232" href="#232">232</a> 
+<a name="233" href="#233">233</a>     <strong>public</strong> String getRawName() {
+<a name="234" href="#234">234</a>         <strong>return</strong> element.getQualifiedName();
+<a name="235" href="#235">235</a>     }
+<a name="236" href="#236">236</a> 
+<a name="237" href="#237">237</a>     <strong>public</strong> <strong>void</strong> modifyTag(String namespaceURI, String lName, String rawName) {
+<a name="238" href="#238">238</a>         <strong>this</strong>.element = factory.createElement(rawName, namespaceURI);
+<a name="239" href="#239">239</a>     }
+<a name="240" href="#240">240</a> 
+<a name="241" href="#241">241</a>     <strong>public</strong> <strong>void</strong> resetTag() {
+<a name="242" href="#242">242</a>         <strong>this</strong>.element = <strong>null</strong>;
+<a name="243" href="#243">243</a>     }
+<a name="244" href="#244">244</a> 
+<a name="245" href="#245">245</a>     <strong>public</strong> <strong>boolean</strong> removeAttributeByName(String namespaceURI, String localName)
+<a name="246" href="#246">246</a>             throws XmlPullParserException {
+<a name="247" href="#247">247</a>         <strong>if</strong> (element != <strong>null</strong>) {
+<a name="248" href="#248">248</a>             <a href="../../../org/dom4j/QName.html">QName</a> qname = QName.get(localName, namespaceURI);
+<a name="249" href="#249">249</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = element.attribute(qname);
+<a name="250" href="#250">250</a>             <strong>return</strong> element.remove(attribute);
+<a name="251" href="#251">251</a>         }
+<a name="252" href="#252">252</a>         <strong>return</strong> false;
+<a name="253" href="#253">253</a>     }
+<a name="254" href="#254">254</a> 
+<a name="255" href="#255">255</a>     <strong>public</strong> <strong>boolean</strong> removeAttributeByRawName(String rawName)
+<a name="256" href="#256">256</a>             throws XmlPullParserException {
+<a name="257" href="#257">257</a>         <strong>if</strong> (element != <strong>null</strong>) {
+<a name="258" href="#258">258</a>             <a href="../../../org/dom4j/Attribute.html">Attribute</a> attribute = <strong>null</strong>;
+<a name="259" href="#259">259</a>             Iterator it = element.attributeIterator();
+<a name="260" href="#260">260</a>             <strong>while</strong> (it.hasNext()) {
+<a name="261" href="#261">261</a>                 <a href="../../../org/dom4j/Attribute.html">Attribute</a> current = (Attribute) it.next();
+<a name="262" href="#262">262</a>                 <strong>if</strong> (current.getQual<strong>if</strong>iedName().equals(rawName)) {
+<a name="263" href="#263">263</a>                     attribute = current;
+<a name="264" href="#264">264</a>                     <strong>break</strong>;
+<a name="265" href="#265">265</a>                 }
+<a name="266" href="#266">266</a>             }
+<a name="267" href="#267">267</a>             <strong>return</strong> element.remove(attribute);
+<a name="268" href="#268">268</a>         }
+<a name="269" href="#269">269</a>         <strong>return</strong> false;
+<a name="270" href="#270">270</a>     }
+<a name="271" href="#271">271</a> 
+<a name="272" href="#272">272</a>     <em class="comment">// Properties</em>
+<a name="273" href="#273">273</a>     <em class="comment">// -------------------------------------------------------------------------</em>
+<a name="274" href="#274">274</a>     <strong>public</strong> <a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> getDocumentFactory() {
+<a name="275" href="#275">275</a>         <strong>return</strong> factory;
+<a name="276" href="#276">276</a>     }
+<a name="277" href="#277">277</a> 
+<a name="278" href="#278">278</a>     <strong>public</strong> <strong>void</strong> setDocumentFactory(<a href="../../../org/dom4j/DocumentFactory.html">DocumentFactory</a> documentFactory) {
+<a name="279" href="#279">279</a>         <strong>this</strong>.factory = documentFactory;
+<a name="280" href="#280">280</a>     }
+<a name="281" href="#281">281</a> 
+<a name="282" href="#282">282</a>     <strong>public</strong> <a href="../../../org/dom4j/Element.html">Element</a> getElement() {
+<a name="283" href="#283">283</a>         <strong>return</strong> element;
+<a name="284" href="#284">284</a>     }
+<a name="285" href="#285">285</a> }
+<a name="286" href="#286">286</a> 
+<a name="287" href="#287">287</a> <em class="comment">/*</em>
+<a name="288" href="#288">288</a> <em class="comment"> * Redistribution and use of this software and associated documentation</em>
+<a name="289" href="#289">289</a> <em class="comment"> * ("Software"), with or without modification, are permitted provided that the</em>
+<a name="290" href="#290">290</a> <em class="comment"> * following conditions are met:</em>
+<a name="291" href="#291">291</a> <em class="comment"> * </em>
+<a name="292" href="#292">292</a> <em class="comment"> * 1. Redistributions of source code must retain copyright statements and</em>
+<a name="293" href="#293">293</a> <em class="comment"> * notices. Redistributions must also contain a copy of this document.</em>
+<a name="294" href="#294">294</a> <em class="comment"> * </em>
+<a name="295" href="#295">295</a> <em class="comment"> * 2. Redistributions in binary form must reproduce the above copyright notice,</em>
+<a name="296" href="#296">296</a> <em class="comment"> * this list of conditions and the following disclaimer in the documentation</em>
+<a name="297" href="#297">297</a> <em class="comment"> * and/or other materials provided with the distribution.</em>
+<a name="298" href="#298">298</a> <em class="comment"> * </em>
+<a name="299" href="#299">299</a> <em class="comment"> * 3. The name "DOM4J" must not be used to endorse or promote products derived</em>
+<a name="300" href="#300">300</a> <em class="comment"> * from this Software without prior written permission of MetaStuff, Ltd. For</em>
+<a name="301" href="#301">301</a> <em class="comment"> * written permission, please contact dom4j-info at metastuff.com.</em>
+<a name="302" href="#302">302</a> <em class="comment"> * </em>
+<a name="303" href="#303">303</a> <em class="comment"> * 4. Products derived from this Software may not be called "DOM4J" nor may</em>
+<a name="304" href="#304">304</a> <em class="comment"> * "DOM4J" appear in their names without prior written permission of MetaStuff,</em>
+<a name="305" href="#305">305</a> <em class="comment"> * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.</em>
+<a name="306" href="#306">306</a> <em class="comment"> * </em>
+<a name="307" href="#307">307</a> <em class="comment"> * 5. Due credit should be given to the DOM4J Project - <a href="http://www.dom4j.org" target="alexandria_uri">http://www.dom4j.org</a></em>
+<a name="308" href="#308">308</a> <em class="comment"> * </em>
+<a name="309" href="#309">309</a> <em class="comment"> * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND</em>
+<a name="310" href="#310">310</a> <em class="comment"> * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</em>
+<a name="311" href="#311">311</a> <em class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</em>
+<a name="312" href="#312">312</a> <em class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE</em>
+<a name="313" href="#313">313</a> <em class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</em>
+<a name="314" href="#314">314</a> <em class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</em>
+<a name="315" href="#315">315</a> <em class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</em>
+<a name="316" href="#316">316</a> <em class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</em>
+<a name="317" href="#317">317</a> <em class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</em>
+<a name="318" href="#318">318</a> <em class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</em>
+<a name="319" href="#319">319</a> <em class="comment"> * POSSIBILITY OF SUCH DAMAGE.</em>
+<a name="320" href="#320">320</a> <em class="comment"> * </em>
+<a name="321" href="#321">321</a> <em class="comment"> * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.</em>
+<a name="322" href="#322">322</a> <em class="comment"> */</em>
+</pre>
+<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
+</html>
+
diff --git a/docs/xref/org/dom4j/xpp/package-frame.html b/docs/xref/org/dom4j/xpp/package-frame.html
new file mode 100644
index 0000000..a2cd3b6
--- /dev/null
+++ b/docs/xref/org/dom4j/xpp/package-frame.html
@@ -0,0 +1,27 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference Package org.dom4j.xpp</title>
+      <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="package-summary.html" target="classFrame">org.dom4j.xpp</a>
+      </h3>
+
+      <h3>Classes</h3>
+
+      <ul>
+        
+          <li>
+            <a href="ProxyXmlStartTag.html" target="classFrame">ProxyXmlStartTag</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/org/dom4j/xpp/package-summary.html b/docs/xref/org/dom4j/xpp/package-summary.html
new file mode 100644
index 0000000..a4651b2
--- /dev/null
+++ b/docs/xref/org/dom4j/xpp/package-summary.html
@@ -0,0 +1,102 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference Package </title>
+          <link rel="stylesheet" href="../../../stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+      
+      <h2>Package org.dom4j.xpp</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Class Summary</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="ProxyXmlStartTag.html" target="classFrame">ProxyXmlStartTag</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li>
+            <a href="../../../overview-summary.html">Overview</a>
+          </li>
+          <li class="selected">Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="../../../index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="package-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+
+    
+    
+
+          <hr></hr>
+
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/overview-frame.html b/docs/xref/overview-frame.html
new file mode 100644
index 0000000..3d7ceec
--- /dev/null
+++ b/docs/xref/overview-frame.html
@@ -0,0 +1,79 @@
+
+
+  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+  <html lang="en">
+    <head>
+      <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+      <title>dom4j 1.6.1 Reference</title>
+      <link rel="stylesheet" href="stylesheet.css" type="text/css" title="style"></link>
+    </head>
+    <body>
+
+      <h3>
+        <a href="allclasses-frame.html" target="packageFrame">All Classes</a>
+      </h3>
+
+      <h3>Packages</h3>
+
+      <ul>
+        
+          <li>
+            <a href="org/dom4j/package-frame.html" target="packageFrame">org.dom4j</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/bean/package-frame.html" target="packageFrame">org.dom4j.bean</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/datatype/package-frame.html" target="packageFrame">org.dom4j.datatype</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dom/package-frame.html" target="packageFrame">org.dom4j.dom</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/dtd/package-frame.html" target="packageFrame">org.dom4j.dtd</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/io/package-frame.html" target="packageFrame">org.dom4j.io</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/jaxb/package-frame.html" target="packageFrame">org.dom4j.jaxb</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/package-frame.html" target="packageFrame">org.dom4j.rule</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/rule/pattern/package-frame.html" target="packageFrame">org.dom4j.rule.pattern</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/swing/package-frame.html" target="packageFrame">org.dom4j.swing</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/tree/package-frame.html" target="packageFrame">org.dom4j.tree</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/util/package-frame.html" target="packageFrame">org.dom4j.util</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpath/package-frame.html" target="packageFrame">org.dom4j.xpath</a>
+          </li>
+        
+          <li>
+            <a href="org/dom4j/xpp/package-frame.html" target="packageFrame">org.dom4j.xpp</a>
+          </li>
+        
+      </ul>
+
+    </body>
+  </html>
diff --git a/docs/xref/overview-summary.html b/docs/xref/overview-summary.html
new file mode 100644
index 0000000..849200d
--- /dev/null
+++ b/docs/xref/overview-summary.html
@@ -0,0 +1,172 @@
+
+
+  
+
+  
+    
+
+    
+
+    
+  
+      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
+      <html lang="en">
+        <head>
+          <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></meta>
+          <title>dom4j 1.6.1 Reference</title>
+          <link rel="stylesheet" href="stylesheet.css" type="text/css" title="style"></link>
+        </head>
+        <body>
+
+          
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li class="selected">Overview</li>
+          <li>Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="overview-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+    
+      
+
+      <h2>dom4j 1.6.1 Reference</h2>
+
+      <table class="summary">
+        <thead>
+          <tr>
+            <th>Packages</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/package-summary.html">org.dom4j</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/bean/package-summary.html">org.dom4j.bean</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/datatype/package-summary.html">org.dom4j.datatype</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/dom/package-summary.html">org.dom4j.dom</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/dtd/package-summary.html">org.dom4j.dtd</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/io/package-summary.html">org.dom4j.io</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/jaxb/package-summary.html">org.dom4j.jaxb</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/rule/package-summary.html">org.dom4j.rule</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/rule/pattern/package-summary.html">org.dom4j.rule.pattern</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/swing/package-summary.html">org.dom4j.swing</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/tree/package-summary.html">org.dom4j.tree</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/util/package-summary.html">org.dom4j.util</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/xpath/package-summary.html">org.dom4j.xpath</a>
+              </td>
+            </tr>
+          
+            <tr>
+              <td>
+                <a href="org/dom4j/xpp/package-summary.html">org.dom4j.xpp</a>
+              </td>
+            </tr>
+          
+        </tbody>
+      </table>
+
+    
+      
+      
+
+      <div class="overview">
+        <ul>
+          <li class="selected">Overview</li>
+          <li>Package</li>
+        </ul>
+      </div>
+      <div class="framenoframe">
+        <ul>
+          <li>
+            <a href="index.html" target="_top">FRAMES</a>
+          </li>
+          <li>
+            <a href="overview-summary.html" target="_top">NO FRAMES</a>
+          </li>
+        </ul>
+      </div>
+
+      
+    
+    
+          <hr></hr>
+          Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.
+        </body>
+      </html>
+    
diff --git a/docs/xref/stylesheet.css b/docs/xref/stylesheet.css
new file mode 100644
index 0000000..d8945b2
--- /dev/null
+++ b/docs/xref/stylesheet.css
@@ -0,0 +1,96 @@
+/* Javadoc style sheet */
+/* Define colors, fonts and other style attributes here to override the defaults  */
+body { 
+	background-color: #fff;
+	font-family: Arial, Helvetica, sans-serif;
+}
+
+a:link {
+ color: #00f;
+}
+a:visited {
+ color: #00a;
+}
+
+a:active, a:hover {
+ color: #f30 !important;
+}
+
+ul, li	{
+	list-style-type:none ;
+	margin:0;
+	padding:0;
+}
+
+table td{
+	padding: 3px;
+	border: 1px solid #000;
+}
+table{
+	width:100%;
+	border: 1px solid #000;
+	border-collapse: collapse;
+}
+
+div.overview {
+	background-color:#ddd;
+	padding: 4px 4px 4px 0;
+}
+div.overview li, div.framenoframe li {
+	display: inline;
+}
+div.framenoframe {
+	text-align: center;
+	font-size: x-small;
+}
+div.framenoframe li {
+	margin: 0 3px 0 3px;
+}
+div.overview li {
+	margin:3px 3px 0 3px;
+	padding: 4px;
+}
+li.selected {
+	background-color:#888;
+	color: #fff;
+	font-weight: bold;
+}
+
+table.summary {
+	margin-bottom: 20px;
+}
+table.summary td, table.summary th {
+	font-weight: bold;
+	text-align: left;
+	padding: 3px;
+}
+table.summary th{
+	background-color:#036;
+	color: #fff;
+}
+table.summary td{
+	background-color:#eee;
+	border: 1px solid black;
+}
+
+em {
+	color: #A00;
+}
+em.comment {
+	color: #390;
+}
+.string {
+	color: #009;
+}
+div#footer {
+	text-align:center;
+}
+#overview {
+	padding:2px;
+}
+            
+            
+hr {
+	height: 1px;
+	color: #000;
+}
\ No newline at end of file
diff --git a/dom4j-1.6.1.jar b/dom4j-1.6.1.jar
new file mode 100644
index 0000000..c8c4dbb
Binary files /dev/null and b/dom4j-1.6.1.jar differ
diff --git a/lib/endorsed/xml-apis-2.0.2.jar b/lib/endorsed/xml-apis-2.0.2.jar
new file mode 100644
index 0000000..ad33a5a
Binary files /dev/null and b/lib/endorsed/xml-apis-2.0.2.jar differ
diff --git a/lib/jaxen-1.1-beta-6.jar b/lib/jaxen-1.1-beta-6.jar
new file mode 100644
index 0000000..6cef35d
Binary files /dev/null and b/lib/jaxen-1.1-beta-6.jar differ
diff --git a/lib/jaxme-api-0.3.jar b/lib/jaxme-api-0.3.jar
new file mode 100644
index 0000000..f2f6ad9
Binary files /dev/null and b/lib/jaxme-api-0.3.jar differ
diff --git a/lib/jsr173_1.0_api.jar b/lib/jsr173_1.0_api.jar
new file mode 100644
index 0000000..a2f6bbe
Binary files /dev/null and b/lib/jsr173_1.0_api.jar differ
diff --git a/lib/msv-20030807.jar b/lib/msv-20030807.jar
new file mode 100644
index 0000000..3e77be9
Binary files /dev/null and b/lib/msv-20030807.jar differ
diff --git a/lib/pull-parser-2.1.10.jar b/lib/pull-parser-2.1.10.jar
new file mode 100644
index 0000000..8db09c0
Binary files /dev/null and b/lib/pull-parser-2.1.10.jar differ
diff --git a/lib/relaxngDatatype-20030807.jar b/lib/relaxngDatatype-20030807.jar
new file mode 100644
index 0000000..5f1c323
Binary files /dev/null and b/lib/relaxngDatatype-20030807.jar differ
diff --git a/lib/test/JUnitPerf_LICENSE b/lib/test/JUnitPerf_LICENSE
new file mode 100644
index 0000000..3e6d721
--- /dev/null
+++ b/lib/test/JUnitPerf_LICENSE
@@ -0,0 +1,29 @@
+Copyright (C) 2001 Clarkware Consulting, Inc.
+All Rights Reserved.
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions 
+are met:
+
+   1. Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+   2. Redistributions in binary form must reproduce the above copyright 
+      notice, this list of conditions and the following disclaimer in the 
+      documentation and/or other materials provided with the distribution.
+
+   3. Neither the name of Clarkware Consulting, Inc. nor the names of its 
+      contributors may be used to endorse or promote products derived 
+      from this software without prior written permission. For written 
+      permission, please contact clarkware at clarkware.com.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+CLARKWARE CONSULTING OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+NEGLIGENCE OR OTHERWISE) ARISING IN  ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/lib/test/jsr173_1.0_ri.jar b/lib/test/jsr173_1.0_ri.jar
new file mode 100644
index 0000000..eea9900
Binary files /dev/null and b/lib/test/jsr173_1.0_ri.jar differ
diff --git a/lib/test/junit-3.8.1.jar b/lib/test/junit-3.8.1.jar
new file mode 100644
index 0000000..674d71e
Binary files /dev/null and b/lib/test/junit-3.8.1.jar differ
diff --git a/lib/test/junitperf-1.8.jar b/lib/test/junitperf-1.8.jar
new file mode 100644
index 0000000..01152bc
Binary files /dev/null and b/lib/test/junitperf-1.8.jar differ
diff --git a/lib/tools/clover.license b/lib/tools/clover.license
new file mode 100644
index 0000000..bea36da
--- /dev/null
+++ b/lib/tools/clover.license
@@ -0,0 +1,164 @@
+Product: Clover
+License: Open Source License, 0.x, 1.x
+Issued: Mon Apr 19 2004 20:06:14 CDT
+Expiry: Never
+Key: 1396f93a739a4dc9ac350277e
+Name: Maarten Coene
+Org: dom4j
+Certificate: AAABhW+Ow8B7/zEbxOMqqKwwrdpP+a1COmJGHco7sCNLjHkHnajPF+dQW
+Ct12PMy0uml0s9xuus5wKngJ9OFk5TFeh01dzQF66bhXH1bvegLfvja3Kle6BYtDv4LZgE
+gk3E0aJN4IbgTn+TgUckSevXDR4KzK77NWJfrVzkxV3/Jerg/Q7IjCbX2gEysSyZKJen1e
+/KmvMnPcfTUNYOj6HT1483QqnhPOWFsBfC77ggTTr2uQmWq3MzTQfAKPFy3LHNEKtZUPnG
+Oayn9MYKn6lmaEzXqkkrLrzG3xhP5oUU1LFdl2T/WJkv0K0aW4dJSu103bnXS7mbk/qDJ3
+m2nrSTGvuM92O7Wz6BkUlp6OBju6ewTAk7T9ltmt9vL1lSVECEPtzRyAnPHUC5463gr9iu
+X5PEC6hs/5tVFy7Y2qNZJ06NXImEZOIMtqycA5SxHlPGOCKpHP0Rj0u8y7OmixYx99ME/0
+aHvIN/gzIauaAAlZmw27rvuBAUF0+Zfef7Hzc5dogw6CaZOdHy9O97xdLJTuUGukfFG7fU
+E18eDhBKchl23D/fi8RtvYF3qxudf0kJFAnEK+WGlUSvcGVZGfe5hEwS82OspRmlux/e15
++54Zk7l5CyZg60Qjh28vSoIKJbpiBksQ8o8ZOaAfsJZyOjeK8H06fBCUVOZFGsf3uZ8gW4
+zNxC5yyw=
+License Agreement: CLOVER VERSION 1 (ONE) SOFTWARE LICENSE AGREEMENT
+
+1. Licenses and Software
+
+Cortex eBusiness Pty Ltd, an Australian Proprietary Limited Company
+("CENQUA") hereby grants to the purchaser (the "LICENSEE") a limited,
+revocable, worldwide, non-exclusive, non-transferable,
+non-sublicensable license to use the Clover version 1 (one) software
+(the "Software"), including any minor upgrades thereof during the Term
+(hereinafter defined) up to, but not including the next major version
+of the Software. The licensee shall not, or knowingly allow others to,
+reverse engineer, decompile, disassemble, modify, adapt, create
+derivative works from or otherwise attempt to derive source code from
+the Software provided. And, in accordance with the terms and
+conditions of this Software License Agreement (the "Agreement"), the
+Software shall be used solely by the licensed users in accordance with
+the following edition specific conditions:
+
+a) Server Edition
+
+A Server Edition license entitles the Licensee to execute one instance
+of Clover Server Edition on one (1) machine for the purposes of
+instrumenting source code and generating reports. There are no
+limitations on the use of the instrumented source code or generated
+reports produced by Server Edition.
+
+b) Workstation Edition
+
+A Workstation Edition license entitles the licensee to use Clover
+Workstation Edition on one (1) machine by one (1) individual end
+user. Workstation Edition does not permit the generation of reports
+for distribution.
+
+c) Team Edition
+
+A Team Edition license entitles the licensee to use Clover Team
+edition on any number of machines solely by the licensed number of
+users. Reports generated by Clover Team Edition are strictly for use
+only by the licensed number of individual end users.
+
+2. License Fee
+
+In exchange for the License(s), the Licensee shall pay to Cenqua a
+one-time, up front, non-refundable license fee. At the sole discretion
+of Cenqua this fee will be waived for non-commercial
+projects. Notwithstanding the Licensee's payment of the License Fee,
+Cenqua reserves the right to terminate the License if Cenqua discovers
+that the Licensee and/or the Licensee's use of the Software is in
+breach of this Agreement.
+
+3. Proprietary Rights
+
+Cenqua will retain all right, title and interest in and to the
+Software, all copies thereof, and Cenqua website(s), software, and
+other intellectual property, including, but not limited to, ownership
+of all copyrights, look and feel, trademark rights, design rights,
+trade secret rights and any and all other intellectual property and
+other proprietary rights therein. The Licensee will not directly or
+indirectly obtain or attempt to obtain at any time, any right, title
+or interest by registration or otherwise in or to the trademarks,
+service marks, copyrights, trade names, symbols, logos or designations
+or other intellectual property rights owned or used by Cenqua. All
+technical manuals or other information provided by Cenqua to the
+Licensee shall be the sole property of Cenqua.
+
+4. Term and Termination
+
+Subject to the other provisions hereof, this Agreement shall commence
+upon the Licensee's opting into this Agreement and continue until the
+Licensee discontinues use of the Software or the Agreement terminates
+automatically upon the Licensee's breach of any term or condition of
+this Agreement (the "Term"). Upon any such termination, the Licensee
+will delete the Software immediately.
+
+5. Copying & Transfer
+
+The Licensee may copy the Software for back-up purposes only. The
+Licensee may not assign or otherwise transfer the Software to any
+third party.
+
+6. Specific Disclaimer of Warranty and Limitation of Liability
+
+THE SOFTWARE IS PROVIDED WITHOUT WARRANTY OF ANY KIND. CENQUA
+DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE. CENQUA WILL NOT BE LIABLE FOR ANY DAMAGES
+ASSOCIATED WITH THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, ORDINARY,
+INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING
+BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN
+IF CENQUA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Warranties and Representations
+
+Licensee Indemnification. CENQUA agrees to indemnify, defend and hold
+the Licensee harmless from and against any and all liabilities, 
+damages, losses, claims, costs, and expenses (including reasonable 
+legal fees) arising out of or resulting from the Software or the use 
+thereof infringing upon, misappropriating or violating any patents, 
+copyrights, trademarks, or trade secret rights or other proprietary 
+rights of persons, firms or entities who are not parties to this 
+Agreement.
+
+CENQUA Indemnification. The Licensee warrants and represents that the 
+Licensee's actions with regard to the Software will be in compliance 
+with all applicable  laws; and the Licensee agrees to indemnify, 
+defend, and hold CENQUA harmless  from and against any and all 
+liabilities, damages, losses, claims, costs,  and expenses (including 
+reasonable legal fees) arising out of or resulting  from the 
+Licensee's failure to observe the use restrictions set forth herein.
+
+8. Publicity
+
+The Licensee grants permission for CENQUA to use Licensee's name 
+solely in customer lists. CENQUA shall not, without prior consent in 
+writing, use the Licensee's name, or that of its affiliates, in any 
+form with the specific  exception of customer lists. CENQUA agrees to 
+remove Licensee's name from  any and all materials within 7 days if 
+notified by the Licensee in writing.
+
+9. Governing Law
+
+This Agreement shall be governed by the laws of New South Wales, 
+Australia.
+
+10. Independent Contractors
+
+The parties are independent contractors with respect to each  other, 
+and nothing in this Agreement shall be construed as creating an 
+employer-employee  relationship, a partnership, agency relationship or 
+a joint venture between  the parties.
+
+11. Assignment
+
+This Agreement is not assignable or transferable by the Licensee. 
+CENQUA  in its sole discretion may transfer a license to a third party 
+at the written  request of the Licensee.
+
+12. Entire Agreement
+
+This Agreement constitutes the entire agreement between the parties 
+concerning  the Licensee's use of the Software. This Agreement 
+supersedes any prior verbal understanding between the parties and any 
+Licensee purchase order or other  ordering document, regardless of 
+whether such document is received by CENQUA  before or after execution 
+of this Agreement. This Agreement may be amended  only in writing by 
+CENQUA.
diff --git a/lib/tools/isorelax-20030108.jar b/lib/tools/isorelax-20030108.jar
new file mode 100644
index 0000000..a2ebb76
Binary files /dev/null and b/lib/tools/isorelax-20030108.jar differ
diff --git a/lib/tools/jaxme-0.3.jar b/lib/tools/jaxme-0.3.jar
new file mode 100644
index 0000000..cbc2f15
Binary files /dev/null and b/lib/tools/jaxme-0.3.jar differ
diff --git a/lib/tools/jaxme-js-0.3.jar b/lib/tools/jaxme-js-0.3.jar
new file mode 100644
index 0000000..c5d237c
Binary files /dev/null and b/lib/tools/jaxme-js-0.3.jar differ
diff --git a/lib/tools/jaxme-xs-0.3.jar b/lib/tools/jaxme-xs-0.3.jar
new file mode 100644
index 0000000..41814df
Binary files /dev/null and b/lib/tools/jaxme-xs-0.3.jar differ
diff --git a/lib/tools/jtidy-4aug2000r7-dev.jar b/lib/tools/jtidy-4aug2000r7-dev.jar
new file mode 100644
index 0000000..0eebfa6
Binary files /dev/null and b/lib/tools/jtidy-4aug2000r7-dev.jar differ
diff --git a/lib/tools/xalan-2.5.1.jar b/lib/tools/xalan-2.5.1.jar
new file mode 100644
index 0000000..44d4d09
Binary files /dev/null and b/lib/tools/xalan-2.5.1.jar differ
diff --git a/lib/tools/xercesImpl-2.6.2.jar b/lib/tools/xercesImpl-2.6.2.jar
new file mode 100644
index 0000000..14c3162
Binary files /dev/null and b/lib/tools/xercesImpl-2.6.2.jar differ
diff --git a/lib/xpp3-1.1.3.3.jar b/lib/xpp3-1.1.3.3.jar
new file mode 100644
index 0000000..1396bd5
Binary files /dev/null and b/lib/xpp3-1.1.3.3.jar differ
diff --git a/lib/xsdlib-20030807.jar b/lib/xsdlib-20030807.jar
new file mode 100644
index 0000000..1d09700
Binary files /dev/null and b/lib/xsdlib-20030807.jar differ
diff --git a/maven.xml b/maven.xml
new file mode 100644
index 0000000..9f2f772
--- /dev/null
+++ b/maven.xml
@@ -0,0 +1,54 @@
+<project default="dist:build-bin" 
+         xmlns:j="jelly:core" 
+         xmlns:ant="jelly:ant"
+         xmlns:doc="doc"
+         xmlns:maven="jelly:maven" >
+
+    <!-- define the classpath used to run examples -->
+    <goal name="create-classpath" prereqs="java:compile,test:compile">
+        <path id="test.classpath">
+            <pathelement path="${maven.build.dest}"/>
+            <pathelement path="target/classes"/>
+            <pathelement path="target/test-classes"/>
+            <pathelement path="src/"/>
+            <path refid="maven.dependency.classpath"/>
+        </path>
+    </goal>
+
+    <postGoal name="clean:clean">
+        <delete>
+            <fileset dir="${basedir}" includes="junit*.properties"/>
+            <fileset dir="${basedir}" includes="javadoc*"/>
+        </delete>
+    </postGoal>
+
+    <postGoal name="dist:prepare-bin-filesystem">
+        <ant:copy todir="${maven.dist.bin.assembly.dir}">
+            <fileset dir=".">
+                <include name="build.xml" />
+                <include name="maven.xml" />
+                <include name="project.properties" />
+                <include name="project.xml" />
+                <include name="LICENSE*" />
+                <include name="lib/**" />
+                <include name="src/**" />
+                <include name="xdocs/**" />
+                <include name="xml/**" />
+            </fileset>
+        </ant:copy>
+        <ant:copy todir="${maven.dist.bin.assembly.dir}/docs">
+            <fileset dir="target/docs"/>
+        </ant:copy>
+    </postGoal>
+
+    <postGoal name="dist:prepare-src-filesystem">
+        <ant:copy todir="${maven.dist.src.assembly.dir}/lib">
+            <fileset dir="lib"/>
+        </ant:copy>
+    </postGoal>
+
+    <preGoal name="site">
+        <attainGoal name="docbook:transform"/>
+    </preGoal>
+
+</project>
diff --git a/project.properties b/project.properties
new file mode 100644
index 0000000..bd29143
--- /dev/null
+++ b/project.properties
@@ -0,0 +1,61 @@
+# -------------------------------------------------------------------
+# P R O J E C T  P R O P E R T I E S
+# -------------------------------------------------------------------
+maven.repo.remote=http://www.ibiblio.org/maven
+
+maven.junit.fork=true
+
+maven.compile.debug = on
+maven.compile.optimize = off
+maven.compile.deprecation = on
+maven.compile.target = 1.3
+maven.compile.source = 1.3
+
+maven.jarResources.basedir = ${basedir}/src/java
+
+# ------------------------------------------------------------------------
+# M A V E N  J A R  O V E R R I D E
+# ------------------------------------------------------------------------
+maven.jar.override = on
+
+# ------------------------------------------------------------------------
+# J A L O P Y  S E T T I N G S
+# ------------------------------------------------------------------------
+maven.jalopy.style = jalopy.xml
+maven.jalopy.filesetExclude = org/dom4j/tree/ConcurrentReaderHashMap.java
+
+maven.checkstyle.properties = ${basedir}/checkstyle.xml
+maven.checkstyle.excludes = org/dom4j/tree/ConcurrentReaderHashMap.java
+
+# ------------------------------------------------------------------------
+# Jars set explicity by path.
+# ------------------------------------------------------------------------
+maven.jar.stax = ${basedir}/lib/jsr173_1.0_api.jar
+maven.jar.stax-ri = ${basedir}/lib/test/jsr173_1.0_ri.jar
+maven.jar.pull-parser = ${basedir}/lib/pull-parser-2.1.10.jar
+
+# -------------------------------------------------------------------
+# J A V A D O C  P R O P E R T I E S
+# -------------------------------------------------------------------
+
+# Display the date on the Maven web site
+maven.xdoc.date = left
+
+# Display the maven version the web site is documenting
+maven.xdoc.version = ${pom.currentVersion}
+
+maven.javadoc.links = http://java.sun.com/j2se/1.3/docs/api/, http://java.sun.com/xml/jaxp/dist/1.1/docs/api/
+
+# -------------------------------------------------------------------
+# D O C  P R O P E R T I E S
+# -------------------------------------------------------------------
+
+maven.ui.banner.background = #fff
+maven.ui.banner.foreground = #000
+
+
+# -------------------------------------------------------------------
+# C L O V E R   P R O P E R T I E S
+# -------------------------------------------------------------------
+maven.clover.license.path = ${basedir}/lib/tools/clover.license
+maven.clover.excludes = org/dom4j/persistence/**
\ No newline at end of file
diff --git a/project.xml b/project.xml
new file mode 100644
index 0000000..7c2b697
--- /dev/null
+++ b/project.xml
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project>
+  <pomVersion>3</pomVersion>
+  <name>dom4j</name>
+  <id>dom4j</id>
+  <currentVersion>1.6.1</currentVersion>
+  
+  <organization>
+    <name>MetaStuff Ltd.</name>
+    <url>http://sourceforge.net/projects/dom4j</url>
+    <logo>http://sourceforge.net/sflogo.php?group_id=16035</logo>
+  </organization>
+  <logo>/images/logo.gif</logo>
+  
+  <inceptionYear>2001</inceptionYear>
+ 
+  <package>org.dom4j</package>
+   <packageGroups>
+    <packageGroup>
+      <title>Core Developer API</title>
+      <packages>org.dom4j,org.dom4j.io</packages>
+    </packageGroup>
+    <packageGroup>
+      <title>Utility classes</title>
+      <packages>org.dom4j.util</packages>
+    </packageGroup>
+    <packageGroup>
+      <title>XRule engine for declarative XSLT style processing</title>
+      <packages>org.dom4j.rule,org.dom4j.rule.*</packages>
+    </packageGroup>
+    <packageGroup>
+      <title>Alternative dom4j implementations</title>
+      <packages>org.dom4j.datatype,org.dom4j.dom,org.dom4j.bean</packages>
+    </packageGroup>
+    <packageGroup>
+      <title>Swing helper classes</title>
+      <packages>org.dom4j.swing</packages>
+    </packageGroup>
+    <packageGroup>
+      <title>Implementation classes</title>
+      <packages>org.dom4j.tree,org.dom4j.dtd,org.dom4j.xpp,org.dom4j.xpath</packages>
+    </packageGroup>
+  </packageGroups>
+  
+  
+  <shortDescription>dom4j : XML framework for Java</shortDescription>
+  <gumpRepositoryId>dom4j</gumpRepositoryId>
+
+  <description>dom4j: the flexible XML framework for Java</description>
+  <url>http://dom4j.org</url>
+
+  <cvsWebUrl>http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/</cvsWebUrl>
+  <cvsModule>dom4j/dom4j</cvsModule>
+  <issueTrackingUrl>http://sourceforge.net/tracker/?group_id=16035</issueTrackingUrl>
+
+  <siteAddress>dom4j.org</siteAddress>
+  <siteDirectory>/home/groups/d/do/dom4j/htdocs</siteDirectory>
+
+  <repository>
+    <connection>scm:cvs:pserver:anonymous at cvs.sourceforge.net:/cvsroot/dom4j:dom4j</connection>
+    <developerConnection>scm:cvs:ext:${maven.username}@cvs.sourceforge.net:/cvsroot/dom4j:dom4j</developerConnection>
+    <url>http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/dom4j/</url>
+  </repository>
+
+  <branches>
+    <branch>
+      <tag>DOM4J_1_X_BRANCH</tag>
+    </branch>
+  </branches>
+   
+  <mailingLists>
+  
+    <mailingList>
+      <name>dom4j user list</name>
+      <subscribe>http://lists.sourceforge.net/lists/listinfo/dom4j-user</subscribe>
+      <unsubscribe>http://lists.sourceforge.net/lists/listinfo/dom4j-user</unsubscribe>
+      <archive>http://www.mail-archive.com/dom4j-user%40lists.sourceforge.net/</archive>
+    </mailingList>
+
+    <mailingList>
+      <name>dom4j developer list</name>
+      <subscribe>http://lists.sourceforge.net/lists/listinfo/dom4j-dev</subscribe>
+      <unsubscribe>http://lists.sourceforge.net/lists/listinfo/dom4j-dev</unsubscribe>
+      <archive>http://www.mail-archive.com/dom4j-dev%40lists.sourceforge.net/</archive>
+    </mailingList>
+  
+    <mailingList>
+      <name>dom4j commits list</name>
+      <subscribe>http://lists.sourceforge.net/lists/listinfo/dom4j-commits</subscribe>
+      <unsubscribe>http://lists.sourceforge.net/lists/listinfo/dom4j-commits</unsubscribe>
+    </mailingList>
+    
+  </mailingLists>
+
+  
+  <developers>
+    <developer>
+      <name>Curt Arnold</name>
+      <id>carnold</id>
+      <email>carnold at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>David Lucas</name>
+      <id>ddlucas</id>
+      <email>ddlucas at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>David White</name>
+      <id>drwhite</id>
+      <email>drwhite at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>Jakob Jenkov</name>
+      <id>jjenkov</id>
+      <email>jjenkov at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>James Strachan</name>
+      <id>jstrachan</id>
+      <email>jstrachan at apache.org</email>
+      <organization>SpiritSoft, Inc.</organization>
+    </developer>
+    <developer>
+      <name>Laramie Crocker</name>
+      <id>laramiec</id>
+      <email>laramiec at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>Maarten Coene</name>
+      <id>maartenc</id>
+      <email>maartenc at users.sourceforge.net</email>
+      <organization>Cronos</organization>
+    </developer>
+    <developer>
+      <name>Michael Skells</name>
+      <id>mskells</id>
+      <email>mskells at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>Nick Sanderson</name>
+      <id>nicksanderson</id>
+      <email>nicksanderson at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>Steen Lehmann</name>
+      <id>slehmann</id>
+      <email>slehmann at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>Tobias Rademacher</name>
+      <id>tradem</id>
+      <email>tradem at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>Bob McWhirter</name>
+      <id>werken</id>
+      <email>werken at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>Todd Wolff</name>
+      <id>wolfftw</id>
+      <email>wolfftw at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>OuYang Chen</name>
+      <id>yeekee</id>
+      <email>yeekee at users.sourceforge.net</email>
+    </developer>
+    <developer>
+      <name>Yuxin Ruan</name>
+      <id>yruan2</id>
+      <email>yruan2 at users.sourceforge.net</email>
+    </developer>
+  </developers>
+  
+  <dependencies>
+
+    <!-- compilation dependencies -->
+
+    <dependency>
+      <groupId>jaxme</groupId>
+      <artifactId>jaxme-api</artifactId>
+      <version>0.3</version>
+      <url>http://ws.apache.org/jaxme/index.html</url>
+    </dependency>
+
+    <dependency>
+      <groupId>jaxen</groupId>
+      <artifactId>jaxen</artifactId>
+      <version>1.1-beta-6</version>
+      <url>http://jaxen.codehaus.org/</url>
+    </dependency>
+
+    <dependency>
+      <groupId>msv</groupId>
+      <artifactId>xsdlib</artifactId>
+      <version>20030807</version>
+      <url>https://msv.dev.java.net/</url>
+    </dependency>
+
+    <dependency>
+      <groupId>msv</groupId>
+      <artifactId>relaxngDatatype</artifactId>
+      <version>20030807</version>
+      <url>https://msv.dev.java.net/</url>
+    </dependency>
+
+    <dependency>
+      <groupId>pull-parser</groupId>
+      <artifactId>pull-parser</artifactId>
+      <version>2</version>
+      <url>http://www.extreme.indiana.edu/xgws/xsoap/xpp/</url>
+    </dependency>
+    
+    <dependency>
+      <groupId>xpp3</groupId>
+      <artifactId>xpp3</artifactId>
+      <version>1.1.3.3</version>
+      <url>http://www.extreme.indiana.edu/xgws/xsoap/xpp/</url>
+    </dependency>
+
+    <dependency>
+      <groupId>stax</groupId>
+      <artifactId>stax</artifactId>
+      <version>1.0</version>
+      <url>http://jcp.org/aboutJava/communityprocess/final/jsr173/index.html</url>
+    </dependency>
+
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>2.0.2</version>
+      <url>http://xml.apache.org/xerces2-j/index.html</url>
+    </dependency>
+
+    <!-- testing dependencies -->
+    
+    <dependency>
+      <groupId>junitperf</groupId>
+      <artifactId>junitperf</artifactId>
+      <version>1.8</version>
+      <url>http://www.clarkware.com/software/JUnitPerf.html</url>
+    </dependency>
+    
+    <dependency>
+      <groupId>stax</groupId>
+      <artifactId>stax-ri</artifactId>
+      <version>1.0</version>
+      <url>http://dev2dev.bea.com/technologies/stax/index.jsp</url>
+    </dependency>
+
+    <dependency>
+      <groupId>xerces</groupId>
+      <artifactId>xercesImpl</artifactId>
+      <version>2.6.2</version>
+      <url>http://xml.apache.org/xerces2-j/index.html</url>
+    </dependency>
+
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <version>2.5.1</version>
+      <url>http://xml.apache.org/xalan-j/index.html</url>
+    </dependency>
+
+  </dependencies>
+  
+  <build>
+    <sourceDirectory>src/java</sourceDirectory>
+    <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
+
+    <!-- Unit test classes -->
+    <unitTest>
+      <includes>
+        <include>**/*Test.java</include>
+      </includes>
+    </unitTest>
+    
+    <nagEmailAddress>dom4j-dev at lists.sourceforge.net</nagEmailAddress>
+  </build>
+
+  <reports>
+     <report>maven-changelog-plugin</report>
+     <report>maven-changes-plugin</report>
+     <report>maven-checkstyle-plugin</report>
+     <report>maven-clover-plugin</report>
+     <report>maven-developer-activity-plugin</report>
+     <report>maven-faq-plugin</report>
+     <report>maven-file-activity-plugin</report>
+     <report>maven-javadoc-plugin</report>
+     <report>maven-jdepend-plugin</report>
+     <report>maven-junit-report-plugin</report>
+     <report>maven-jxr-plugin</report>
+     <report>maven-license-plugin</report>
+  </reports>
+
+</project>
diff --git a/src/conf/MANIFEST.MF b/src/conf/MANIFEST.MF
new file mode 100644
index 0000000..2c8f0d7
--- /dev/null
+++ b/src/conf/MANIFEST.MF
@@ -0,0 +1 @@
+Manifest-Version: 1.0
Extension-Name: org.dom4j
Specification-Title: dom4j 
Specification-Version: 1.3
Specification-Vendor: MetaStuff Ltd.
Created-By: Ant 1.4.1
Implementation-Vendor:  MetaStuff Ltd.
Implementation-Version: 1.3
Implementation-Title: dom4j


diff --git a/src/conf/repository.dtd b/src/conf/repository.dtd
new file mode 100644
index 0000000..7020f26
--- /dev/null
+++ b/src/conf/repository.dtd
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!ELEMENT repository (packagegroup*) >
+<!ELEMENT packagegroup ( package* ) >
+<!ELEMENT package ( definition |  remotedefinition )  >
+<!ELEMENT definition ( info, versionset )  >
+<!ELEMENT remotedefinition (#PCDATA) >
+<!ELEMENT info ( desc, href ) >
+<!ELEMENT desc (#PCDATA) >
+<!ELEMENT href (#PCDATA) >
+<!ELEMENT versionset ( version* ) >
+<!ELEMENT version ( note, jar, dependencies ) >
+<!ELEMENT note ( #PCDATA ) >
+<!ELEMENT jar ( #PCDATA ) >
+<!ELEMENT dependencies ( dep* ) >
+<!ELEMENT dep ( #PCDATA ) >
+
+<!ATTLIST packagegroup name  CDATA #REQUIRED >
+<!ATTLIST package
+        name    CDATA #REQUIRED
+        default CDATA #REQUIRED
+        latest  CDATA #REQUIRED >
+<!ATTLIST version 
+        version CDATA #REQUIRED >
+<!ATTLIST dep 
+        package CDATA #REQUIRED
+        version CDATA #REQUIRED >
diff --git a/src/conf/repository.xml b/src/conf/repository.xml
new file mode 100644
index 0000000..eb4998e
--- /dev/null
+++ b/src/conf/repository.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE repository SYSTEM "repository.dtd">
+<repository>
+
+  <!-- dom4j pakcage group-->
+
+  <packagegroup name="dom4j">
+
+     <!-- JAXP package -->
+
+     <package name="dom4j" latest="1.0" default="1.0">
+
+       <definition>
+        <info>
+           <desc>dom4j: the flexible XML framework for Java</desc>
+           <href>http://dom4j.org</href>
+        </info>
+
+        <versionset>
+          <version version="1.0">
+            <note>production</note>
+            <jar>dom4j-1.0.jar</jar>
+            <dependencies>
+              <dep version="1.1" package="jaxp-parser"/>
+            </dependencies>
+          </version>
+
+          <version version="1.0-daily">
+            <note>current CVS HEAD</note>
+            <jar>dom4j-daily.jar</jar>
+            <dependencies>
+              <dep version="1.1" package="jaxp-parser"/>
+            </dependencies>
+          </version>
+        </versionset>
+       </definition>
+      </package>
+ 
+  </packagegroup>
+
+</repository>
diff --git a/src/conf/xsa.xml b/src/conf/xsa.xml
new file mode 100644
index 0000000..fcbc611
--- /dev/null
+++ b/src/conf/xsa.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE xsa PUBLIC "-//LM Garshol//DTD XML Software Autoupdate 1.0//EN//XML" 
+                     "http://www.garshol.priv.no/download/xsa/xsa.dtd">
+
+<xsa>
+  <vendor>
+    <name>MetaStuff Ltd.</name>
+    <email>info at dom4j.org</email>
+    <url>http://dom4j.org</url>
+  </vendor>
+
+  <product id="dom4j">
+    <name>dom4j</name>
+    <version>1.3</version>
+    <last-release>20020317</last-release>
+    <info-url>http://dom4j.org/</info-url>
+    <changes>
+dom4j is a simple and flexible open source library for working with XML,
+XPath and XSLT on the Java platform using the Java Collections Framework
+with full integration with DOM, SAX and JAXP.
+
+This release is primarily a bug fix release.
+   </changes>
+  </product>
+</xsa>
diff --git a/src/doc/style/javadoc.css b/src/doc/style/javadoc.css
new file mode 100644
index 0000000..6a9ffba
--- /dev/null
+++ b/src/doc/style/javadoc.css
@@ -0,0 +1,27 @@
+/* Apache Javadoc style sheet */

+

+/* Page background color */

+body { background-color: #FFFFFF }

+

+/* Table colors */

+.TableHeadingColor     { background: #D0D0D0 }

+.TableSubHeadingColor  { background: #E0E0E0 }

+.TableRowColor         { background: #F9F9F9 }

+

+/* Navigation bar fonts and colors */

+.NavBarCell1    { background-color:#D0D0D0;}

+.NavBarCell1Rev { background-color:#A0A0A0;}

+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}

+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}

+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#E0E0E0;}

+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#F0F0F0;}

+

+/* Font used in left-hand frame lists */

+.FrameTitleFont   { font-size: normal; font-family: Helvetica, Arial, sans-serif }

+.FrameHeadingFont { font-size: normal; font-family: Helvetica, Arial, sans-serif }

+.FrameItemFont    { font-size: 10pt; font-family: Helvetica, Arial, sans-serif }

+

+/* Link colors styling */

+A:link { color: #0000A0 }          /* unvisited link */

+A:visited { color: #A00000 }       /* visited links */

+A:active { color: #00A000 }        /* active links */

diff --git a/src/docbook/cookbook.xml b/src/docbook/cookbook.xml
new file mode 100644
index 0000000..0839eea
--- /dev/null
+++ b/src/docbook/cookbook.xml
@@ -0,0 +1,1936 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" 
+              "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"-->
+<!--
+     Copyright 2002 (C) MetaStuff, Ltd. All Rights Reserved.
+     This software is open source. 
+ 
+   Redistribution and use of this software and associated documentation
+   ("Software"), with or without modification, are permitted provided
+   that the following conditions are met:
+  
+   1. Redistributions of source code must retain copyright
+      copy of this document.
+  
+   2. Redistributions in binary form must reproduce the
+      above copyright notice, this list of conditions and the
+      following disclaimer in the documentation and/or other
+      materials provided with the distribution.
+  
+   3. The name "DOM4J" must not be used to endorse or promote
+      products derived from this Software without prior written
+      permission of MetaStuff, Ltd.  For written permission,
+      please contact dom4j-info at metastuff.com.
+  
+   4. Products derived from this Software may not be called "DOM4J"
+      nor may "DOM4J" appear in their names without prior written
+      permission of MetaStuff, Ltd. DOM4J is a registered
+      trademark of MetaStuff, Ltd.
+  
+   5. Due credit should be given to the DOM4J Project - 
+      http://www.dom4j.org
+  
+   THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
+   ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+   NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+   FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+   METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+   OF THE POSSIBILITY OF SUCH DAMAGE.
+  
+   Copyright 2002 (C) MetaStuff, Ltd. All Rights Reserved.
+  
+   $Id: cookbook.xml,v 1.5 2004/08/17 18:24:26 maartenc Exp $ 
+-->
+
+<book>
+<bookinfo>
+<title>dom4j cookbook</title>
+<authorgroup>
+  <author><honorific>Mr</honorific><firstname>Tobias</firstname><surname>Rademacher</surname></author>
+  <author><honorific>Mr</honorific><firstname>James</firstname><surname>Strachan</surname></author>
+</authorgroup>
+<revhistory>
+    <revision>
+      <revnumber>0.1.0</revnumber>
+      <date>02-05-09</date>
+      <authorinitials>tradem</authorinitials>
+      <revdescription>
+        <itemizedlist>
+            <listitem><para>Fixed typos</para></listitem>
+            <listitem><para>Better understable description of some situations</para></listitem>
+            <listitem><para>Use of programlistingco for rule API</para></listitem>           
+        </itemizedlist>
+      </revdescription>
+    </revision>
+    <revision>
+      <revnumber>0.0.9</revnumber>
+      <date>02-05-01</date>
+      <authorinitials>tradem</authorinitials>
+      <revdescription>
+        <itemizedlist>
+            <listitem><para>Added rule API description & samples</para></listitem>
+            <listitem><para>Added JRV API sample to schemata chapter</para></listitem>
+            <listitem><para>Used width constrains for programlistings</para></listitem>           
+	    <listitem><para>Extented XPath samples</para></listitem>
+      </itemizedlist>
+      </revdescription>
+  </revision>
+  <revision>
+      <revnumber>0.0.8</revnumber>
+      <date>01-09-25</date>
+      <authorinitials>tradem</authorinitials>
+      <revdescription>
+         <para>Fixed the MSV sample in order make it compilable. Lot's of thanks to Martijn Koster for pointing that out.</para>
+      </revdescription>
+  </revision>
+ <revision>
+    <revnumber>0.0.7</revnumber>
+    <date>01-09-03</date>
+    <authorinitials>tradem</authorinitials>
+    <revdescription>
+      <itemizedlist>
+        <listitem><para>Completed the Schema chapter.</para></listitem>
+        <listitem><para>Fixed the XPath sample.</para></listitem>
+      </itemizedlist>
+    </revdescription>
+  </revision>
+  <revision>
+    <revnumber>0.0.6</revnumber>
+    <date>01-08-03</date>
+    <authorinitials>jstrachan</authorinitials>
+    <revdescription>
+      <itemizedlist>
+        <listitem><para>Fixed a few typos and corrected the odd bit of grammar and code.</para></listitem>
+      </itemizedlist>
+    </revdescription>
+  </revision>
+  <revision>
+    <revnumber>0.0.5</revnumber>
+    <date>01-07-09</date>
+    <authorinitials>tradem</authorinitials>
+    <revdescription>
+      <itemizedlist>
+        <listitem><para>Fixing xml structure mistake</para></listitem>
+        <listitem><para>Make Writer samples dom4j 0.6 compliant</para></listitem>
+      </itemizedlist>
+    </revdescription>
+  </revision>
+<revision>
+    <revnumber>0.0.4</revnumber>
+    <date>01-07-06</date>
+    <authorinitials>tradem</authorinitials>
+    <revdescription>
+      <itemizedlist>
+        <listitem><para>Fixing spelling/gramma mistakes</para></listitem>
+        <listitem><para>Complete vistor listing</para></listitem>
+      </itemizedlist>
+    </revdescription>
+</revision>
+<revision>
+  <revnumber>0.0.3</revnumber>
+  <date>01-06-20</date>
+  <authorinitials>tradem</authorinitials>
+  <revdescription>
+    <para>Completed doc for alpha release</para>
+  </revdescription>
+</revision>
+<revision>
+  <revnumber>0.0.2</revnumber>
+  <date>01-06-06</date>
+  <authorinitials>tradem</authorinitials>
+  <revdescription>
+    <para>Added "Secret of DocumentBuilder" and "Serialization"</para>
+  </revdescription>
+</revision>
+<revision>
+  <revnumber>0.0.1</revnumber>
+  <date>01-06-02</date>
+  <authorinitials>tradem</authorinitials>
+  <revdescription>
+    <para>Created the document</para>
+  </revdescription>
+  </revision>
+</revhistory>
+<pubdate>September 2001</pubdate>
+<abstract>
+  <para>This document provides a practical introduction to dom4j. It guides you through by using a lot of examples and is based on dom4j v1.0</para>
+</abstract>
+</bookinfo>
+<preface>
+  <title>Foreword</title>
+<para>
+</para>
+</preface>
+<chapter>
+<title>Introducing dom4j</title>
+<para>
+<application>dom4j</application> is a object model representing an XML Tree in memory.
+<application>dom4j</application> offers a easy-to-use API that provides a powerful set of
+features to process, manipulate or navigate XML and work with XPath and XSLT as well as integrate with SAX, JAXP and DOM.
+</para>
+<para>
+<application>dom4j</application> is designed to be interface-based in order to provide highly configurable implementation strategies.
+You are able to create your own XML tree implementations by simply providing a DocumentFactory implementation.
+This makes it very simple to reuse much of the dom4j code while extending it to provide whatever implementation features you wish.
+</para>
+<para>
+This
+document will guide you through <application>dom4j</application>'s features in a practical way
+using a lot of examples with source code. The document is
+also designed as a reference so that you don't have to read the entire document at once. This guide concentrates on daily work with
+<application>dom4j</application> and is therefore called <emphasis>cookbook</emphasis>.
+</para>
+</chapter>
+<chapter>
+<title>Creation of an XML Object Model using dom4j</title>
+<para>
+Normally all starts with a set of xml-files or a single xml file that you want to process, manipulate or navigate through to extract some
+values necessary in your application. Most Java Open-Source projects using XML for deployment or as a replacement for property files in order
+to get easily readable property data.
+</para>
+
+<section><title>Reading XML data</title>
+<para>
+How does <application>dom4j</application> help you to get at the data stored in XML?
+<application>dom4j</application> comes with a set of
+builder classes that parse the xml data and create
+a tree-like object structure in memory.
+You can easily manipulate and navigate through that model.
+The following example shows how you can
+read your data using <application>dom4j</application> API.
+
+<programlisting width="59">
+import java.io.File;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+
+public class DeployFileLoaderSample {
+
+  /** dom4j object model representation of a xml document. Note: We use the interface(!) not its implementation */
+  private Document doc;
+
+  /**
+   * Loads a document from a file.
+   *
+   * @throw a org.dom4j.DocumentException occurs whenever the buildprocess fails.
+   */
+  public void parseWithSAX(File aFile) throws DocumentException {
+    SAXReader xmlReader = new SAXReader();
+    this.doc = xmlReader.read(aFile);
+  }
+}
+</programlisting>
+
+</para>
+
+<para>
+The above example code should clarify the use of <classname>org.dom4j.io.SAXReader</classname> to
+build a complete <application>dom4j</application> tree from a given file.
+The org.dom4j.io package contains a set of classes
+for creation and serialization of <acronym>XML</acronym> objects.
+The read() method
+is overloaded so that you able to pass different kind of object that represents a source.
+</para>
+
+<itemizedlist>
+  <listitem><para><classname>java.lang.String</classname> - a SystemId is a String that contains a URI e.g. a URL to a XML file</para></listitem>
+  <listitem><para><classname>java.net.URL</classname> - represents a Uniform Resource Loader or a Uniform Resource Identifier. Encapsulates a URL.</para></listitem>
+  <listitem><para><classname>java.io.InputStream</classname> - an open input stream that transports xml data</para></listitem>
+  <listitem><para><classname>java.io.Reader</classname> - more compatible. Has abilitiy to specify encoding scheme</para></listitem>
+  <listitem><para><classname>org.sax.InputSource</classname> - a single input source for a <acronym>XML</acronym> entity.</para></listitem>
+</itemizedlist>
+
+<para>
+Lets add more more flexibility to our <classname>DeployFileLoaderSample</classname> by adding new methods.
+</para>
+
+<programlisting width="59">
+import java.io.File;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+
+public class DeployFileLoaderSample {
+
+  /** dom4j object model representation of a xml document. Note: We use the interface(!) not its implementation */
+  private Document doc;
+
+  /**
+   * Loads a document from a file.
+   *
+   * @param aFile the data source
+   * @throw a org.dom4j.DocumentExcepiton occurs on parsing failure.
+   */
+  public void parseWithSAX(File aFile) throws DocumentException {
+    SAXReader xmlReader = new SAXReader();
+    this.doc = xmlReader.read(aFile);
+  }
+
+  /**
+   * Loads a document from a file.
+   *
+   * @param aURL the data source
+   * @throw a org.dom4j.DocumentExcepiton occurs on parsing failure.
+   */
+  public void parseWithSAX(URL aURL) throws DocumentException {
+    SAXReader xmlReader = new SAXReader();
+    this.doc = xmlReader.read(aURL);
+  }
+
+
+}
+</programlisting>
+
+</section>
+
+<section>
+<title>Integrating with other XML APIs</title>
+<para>
+<application>dom4j</application> also offers classes for integration with
+the two original XML processing APIs - SAX and DOM.
+So far we have been talking about reading a document with SAX.
+The <classname>org.dom4j.SAXContentHandler</classname> class implements several
+SAX interfaces directly (such as ContentHandler) so that you can embed <application>dom4j</application>
+directly inside any SAX application.
+You can also use this class to implement your own specific SAX-based Reader class if you need to.
+</para>
+
+<para>
+The <classname>DOMReader</classname> class allows you to convert an existing <acronym>DOM</acronym> tree
+into a <application>dom4j</application> tree.
+This could be useful if you already used DOM and want to replace it step by step
+with <application>dom4j</application> or if you just needs some of <acronym>DOM</acronym>'s
+behavior and want to save memory resources by transforming it in a <application>dom4j</application> Model.
+You are able to transform a DOM Document, a <acronym>DOM</acronym> node branch and a single element.
+</para>
+
+<programlisting width="59">
+import org.sax.Document;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.DOMReader;
+
+public class DOMIntegratorSample {
+
+  /** converts a W3C DOM document into a dom4j document */
+  public Document buildDocment(org.w3c.dom.Document domDocument) {
+    DOMReader xmlReader = new DOMReader();
+    return xmlReader.read(domDocument);
+  }
+}
+
+</programlisting>
+</section>
+
+<section><title>The secret of DocumentFactory</title>
+We have talked a lot of reading existing XML information e.g. from files, URL's or even Streams.
+Sometimes it's necessary to generate a XML document programmatically.
+The class <classname>org.dom4j.DocumentFactory</classname> defines a set of factory methods to create documents, document
+types, elements, attributes, unparsed character data (CDATA), a namespace, an <acronym>XPath</acronym> object, a NodeFilter and
+some other useful instances. This makes the <classname>DocumentFactory</classname> a central class whenever you have to create
+one of these instances by yourself.
+</section>
+
+<programlisting width="59">
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileCreator {
+
+  private DocumentFactory factory = DocumentFactory.getInstance();
+  private Document doc;
+
+  public void generateDoc(String aRootElement) {
+    doc = DocumentFactory.getInstance().createDocument();
+    Element root = doc.addElement(aRootElement);
+  }
+
+}
+
+</programlisting>
+
+<para>
+The listing shows how to generate a new Document from scratch.
+The method <classname>generateDoc(String aRootElement)</classname> takes a String parameter.
+The string value contains the name of the root element of the new document.
+As you can see <classname>org.dom4j.DocumentFactory</classname> is a singleton
+accessible via <classname>getInstance()</classname>.
+
+The <classname>DocumentFactory</classname> methods follow the <emphasis>createXXX()</emphasis> naming convention.
+For example, if you want to create a Attribute you would
+call <emphasis>createAttribute()</emphasis>.
+If your class often calls <classname>DocumentFactory</classname> or uses a different DocumentFactory instance
+you could add it as a member variable and initiate it via <emphasis>getInstance</emphasis> in your constructor.
+</para>
+
+<programlisting width="59">
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class GranuatedDeployFileCreator {
+
+ private DocumentFactory factory;
+ private Document doc;
+
+ public GranuatedDeployFileCreator() {
+   this.factory = DocumentFactory.getInstance();
+ }
+
+ public void generateDoc(String aRootElement) {
+    doc = factory.createDocument();
+    Element root = doc.addElement(aRootElement);
+ }
+
+}
+
+</programlisting>
+
+
+
+<para>
+The <classname>Document</classname> and <classname>Element</classname>
+interfaces have a number of helper methods for creating an XML document programmatically
+in a simple way.
+</para>
+
+<programlisting width="59">
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+public class Foo {
+
+  public Document createDocument() {
+    Document document = DocumentHelper.createDocument();
+    Element root = document.addElement( "root" );
+
+    Element author2 = root.addElement( "author" )
+      .addAttribute( "name", "Toby" )
+      .addAttribute( "location", "Germany" )
+      .addText( "Tobias Rademacher" );
+
+    Element author1 = root.addElement( "author" )
+      .addAttribute( "name", "James" )
+      .addAttribute( "location", "UK" )
+      .addText( "James Strachan" );
+
+    return document;
+  }
+}
+
+</programlisting>
+
+
+
+<para>
+As mentioned earlier <application>dom4j</application> is an interface based API.
+This means that DocumentFactory and the reader classes in the org.dom4j.io package always use the org.dom4j interfaces
+rather than any concrete implementation classes.
+The Collection API and <acronym>W3C</acronym>'s <acronym>DOM</acronym> are other examples of APIs that
+use this design approach.
+This widespread design is described by <citation>BillVenners</citation>.
+</para>
+
+</chapter>
+
+<chapter>
+<title>Serialization and Output</title>
+
+<para>
+Once you parsed or created a document you want to serialize it to disk or
+into a plain (or encrypted) stream. <application>dom4j</application> provides a set of classes to serialize
+your dom4j tree in four ways:
+</para>
+
+<itemizedlist>
+  <listitem><para>XML</para></listitem>
+  <listitem><para>HTML</para></listitem>
+  <listitem><para>DOM</para></listitem>
+  <listitem><para>SAX Events</para></listitem>
+</itemizedlist>
+
+<section><title>Serializing to XML</title>
+<classname>org.dom4j.io.XMLWriter</classname> is a easy-to-use and easy-to-understand class used
+to serialize a <application>dom4j</application> tree to a plain <acronym>XML</acronym>.
+You are able
+to write the <acronym>XML</acronym> tree to either an <classname>java.io.OutputStream</classname>
+or a <classname>java.io.Writer</classname>.
+This can be configured with the overloaded constructor or via the
+<classname>setOutputStream()</classname> or <classname>setReader()</classname> methods.
+Let's have a look at a example.
+
+<programlisting width="59">
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+
+ public void serializetoXML(OutputStream out, String aEncodingScheme) throws Exception {
+   OutputFormat outformat = OutputFormat.createPrettyPrint();
+   outformat.setEncoding(aEncodingScheme);
+   XMLWriter writer = new XMLWriter(out, outformat);
+   writer.write(this.doc);
+   writer.flush();
+ }
+
+}
+</programlisting>
+
+<para>
+We use the <classname>XMLWriter</classname> constructor  to pass
+<classname>OutputStream</classname> along with the required character encoding.
+It is easier to use a <classname>Writer</classname> rather than an <classname>OutputStream</classname>,
+because the <classname>Writer</classname> is String based and so has less
+character encoding issues.
+The write() methods of <classname>Writer</classname> are overloaded so that you can write all of the dom4j objects individually if required.
+</para>
+
+
+<section><title>Customizing the output format</title>
+<para>
+The default output format is to write the XML document as-is.
+If you want to change the output format then there is a class
+<classname>org.dom4j.io.OutputFormat</classname> which allows you to define pretty-printing options,
+suppress output of XML declaration, change line ending and so on.
+There is also a helper method <classname>OutputFormat.createPrettyPrint()</classname> which
+creates a default pretty-printing format that you can further customize if you wish.
+</para>
+
+
+<programlisting width="59">
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+
+  public void serializetoXML(OutputStream out, String aEncodingScheme) throws Exception {
+   OutputFormat outformat = OutputFormat.createPrettyPrint();
+   outformat.setEncoding(aEncodingScheme);
+   XMLWriter writer = new XMLWriter(out, outformat);
+   writer.write(this.doc);
+   writer.flush();
+ }
+
+
+}
+</programlisting>
+
+<para>
+An interesting feature of <classname>OutputFormat</classname> is the ability to set
+character encoding. It is a good idiom to use this mechansim for setting the encoding
+for XMLWriter to use this encoding to create an OutputStream as well
+as to output XML declaration.
+</para>
+
+<para>
+The <classname>close()</classname> method closes the underlying <classname>Writer</classname>.
+</para>
+
+<programlisting width="59">
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+ private OutputFormat outFormat;
+
+ public DeployFileCreator() {
+   this.outFormat = OuputFormat.getPrettyPrinting();
+ }
+
+ public DeployFileCreator(OutputFormat outFormat) {
+   this.outFormat = outFormat;
+ }
+
+ public void writeAsXML(OutputStream out) throws Exception {
+   XMLWriter writer = new XMLWriter(outFormat, this.outFormat);
+   writer.write(this.doc);
+ }
+
+ public void writeAsXML(OutputStream out, String encoding) throws Exception {
+   this.outFormat.setEncoding(encoding);
+   this.writeAsXML(out);
+ }
+
+}
+</programlisting>
+
+<para>
+The serialization methods in our little example  set encoding using <classname>OutputFormat</classname>.
+The default encoding if none is specifed is <acronym>UTF-8</acronym>.
+If you need a simple output on screen for debugging or testing you can omit setting of
+a <classname>Writer</classname> or an <classname>OutputStream</classname> completely
+as <classname>XMLWriter</classname> will default to <classname>System.out</classname>.
+</para>
+
+</section>
+
+</section>
+
+<section><title>Printing HTML</title>
+<para>
+<classname>HTMLWriter</classname> takes a <application>dom4j</application> tree
+and formats it to a stream as <acronym>HTML</acronym>. This formatter is similar to
+<classname>XMLWriter</classname> but outputs the text of CDATA and Entity sections rather than the serialized
+format as in <acronym>XML</acronym> and also supports many HTML element which have no corresponding close tag
+such as for <BR> and <P>
+</para>
+
+<programlisting width="59">
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.HTMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+ private OutputFormat outFormat;
+
+ public DeployFileCreator() {
+   this.outFormat = OuputFormat.getPrettyPrinting();
+ }
+
+ public DeployFileCreator(OutputFormat outFormat) {
+   this.outFormat = outFormat;
+ }
+
+ public void writeAsHTML(OutputStream out) throws Exception {
+   HTMLWriter writer = new HTMLWriter(outFormat, this.outFormat);
+   writer.write(this.doc);
+   writer.flush();
+ }
+
+}
+</programlisting>
+
+</section>
+
+<section><title>Building a DOM tree</title>
+<para>
+Sometimes it's necessary to transform your <application>dom4j</application> tree
+into a <acronym>DOM</acronym> tree, because you are currently refactoring your application.
+<application>dom4j</application> is very convenient for integration with older <acronym>XML</acronym>
+<acronym>API</acronym>'s like <acronym>DOM</acronym> or <acronym>SAX</acronym>
+(see <anchor id="dom4j2SAX">Generating SAX Events</anchor>). Let's move to an example:
+</para>
+
+<programlisting width="59">
+import org.w3c.dom.Document;
+
+import org.dom4j.Document;
+import org.dom4j.io.DOMWriter;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+
+  public org.w3c.dom.Document transformtoDOM() {
+    DOMWriter writer = new DOMWriter();
+    return writer.write(this.doc);
+  }
+}
+
+</programlisting>
+
+</section>
+
+<section id="dom4j2SAX"><title>Generating SAX Events</title>
+<para>
+If you want to output a document as sax events in order to integrate with some existing SAX
+code, you can use the <classname>org.dom4j.SAXWriter</classname> class.
+</para>
+
+
+<programlisting width="59">
+import org.xml.ConentHandler;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXWriter;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+
+  public void transformtoSAX(ContentHandler ctxHandler) {
+     SAXWriter writer = new SAXWriter();
+     writer.setContentHandler(ctxHandler);
+     writer.write(doc);
+  }
+}
+
+</programlisting>
+
+<para>
+As you can see using <classname>SAXWriter</classname> is fairly easy.
+You can also pass <classname>org.dom.Element</classname> so
+you are able to process a single element branch or even a single node with <acronym>SAX</acronym>.
+</para>
+</section>
+</chapter>
+
+<chapter>
+<title>Navigation in dom4j</title>
+<para>
+dom4j offers several powerful mechanisms for navigating through a document:
+</para>
+
+<itemizedlist>
+  <listitem><para>Using Iterators</para></listitem>
+  <listitem><para>Fast index based navigation</para></listitem>
+  <listitem><para>Using a backed List</para></listitem>
+  <listitem><para>Using XPath</para></listitem>
+  <listitem><para>In-Build GOF Visitor Pattern</para></listitem>
+</itemizedlist>
+
+<section><title>Using Iterator</title>
+<para>
+Most Java developers used java.util.Iterator or it's ancestor
+<classname>java.util.Enumeration</classname>.
+Both classes are part of the Collection API and used
+to visit elements of a collection.
+Here is an example of using Iterator:
+</para>
+</section>
+
+<programlisting width="59">
+
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void iterateRootChildren() {
+    root = this.doc.getRootElement();
+    Iterator elementIterator = root.elementIterator();
+    while(elementIterator.hasNext()){
+      Element elmeent = (Element)elementIterator.next();
+      System.out.println(element.getName());
+    }
+  }
+}
+</programlisting>
+
+<para>
+The above example might be a little bit confusing if you are not familiar with the Collections API.
+Casting is necessary when you want to access the object. In JDK 1.5 Java Generics solve this problem .
+</para>
+
+<programlisting width="59">
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void iterateRootChildren(String aFilterElementName) {
+    root = this.doc.getRootElement();
+    Iterator elementIterator = root.elementIterator(aFilterElementName);
+    while(elementIterator.hasNext()){
+      Element elmeent = (Element)elementIterator.next();
+      System.out.println(element.getName());
+    }
+  }
+}
+</programlisting>
+
+<para>
+Now the the method iterates on such Elements that have the <emphasis>same name</emphasis> as the parameterized String only. This can be used as a kind of
+filter applied on top of Collection API's Iterator.
+</para>
+
+<section><title>Fast index based Navigation</title>
+<para>
+Sometimes if you need to walk a large tree very quickly, creating an <classname>java.io.Iterator</classname>
+instance to loop through each <classname>Element</classname>'s children can be too expensive.
+To help this situation, <application>dom4j</application> provides a fast index based looping as follows.
+</para>
+
+<programlisting width="59">
+  public void treeWalk(Document document) {
+    treeWalk( document.getRootElement() );
+  }
+
+  public void treeWalk(Element element) {
+    for ( int i = 0, size = element.nodeCount(); i < size; i++ ) {
+      Node node = element.node(i);
+      if ( node instanceof Element ) {
+        treeWalk( (Element) node );
+      }
+      else {
+        // do something....
+      }
+    }
+  }
+</programlisting>
+
+
+<section><title>Using a backed List</title>
+<para>
+You can navigate through an <classname>Element</classname>'s children
+using a backed <classname>List</classname> so the modifications to the
+<classname>List</classname> are reflected back into the <classname>Element</classname>.
+All of the methods on <classname>List</classname> can be used.
+</para>
+
+<programlisting width="59">
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+
+  public void iterateRootChildren() {
+    Element root = doc.getRootElement();
+
+    List elements = root.elements;
+
+    // we have access to the size() and other List methods
+    if ( elements.size() > 4 ) {
+      // now lets remove a range of elements
+      elements.subList( 3, 4 ).clear();
+    }
+  }
+}
+</programlisting>
+
+</section>
+
+<section><title>Using XPath</title>
+<para>
+<acronym>XPath</acronym> is is one of the most useful features of <application>dom4j</application>.
+You can use it to retrieve nodes from any location as well as evaluating complex expressions.
+A good XPath reference can be found in Michael Kay's XSLT book <citation>XSLTReference</citation>
+along with the <citation>Zvon</citation> Zvon tutorial.
+</para>
+</section>
+
+<programlisting width="59">
+import java.util.Iterator;
+
+import org.dom4j.Documet;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.XPath;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void browseRootChildren() {
+
+    /* 
+      Let's look how many "James" are in our XML Document an iterate them  
+      ( Yes, there are three James in this project ;) )
+    */
+      
+    XPath xpathSelector = DocumentHelper.createXPath("/people/person[@name='James']");
+    List results = xpathSelector.selectNodes(doc);
+    for ( Iterator iter = result.iterator(); iter.hasNext(); ) {
+      Element element = (Element) iter.next();
+      System.out.println(element.getName();
+    }
+
+    // select all children of address element having person element with attribute and value "Toby" as parent
+    String address = doc.valueOf( "//person[@name='Toby']/address" );
+
+    // Bob's hobby
+    String hobby = doc.valueOf( "//person[@name='Bob']/hobby/@name" );
+
+    // the second person living in UK
+    String name = doc.value( "/people[@country='UK']/person[2]" );
+    
+    // select people elements which have location attriute with the value "London"
+    Number count = doc.numberValueOf( "//people[@location='London']" );
+   
+  }
+
+}
+</programlisting>
+
+<para>
+As selectNodes returns a List we can apply <classname>Iterator</classname>
+or any other operation avalilable on <classname>java.util.List</classname>.
+You can also select a single node via <classname>selectSingleNode()</classname>
+as well as to select a String expression via <classname>valueOf()</classname>
+or Number
+value of an XPath expression via <classname>numberValueOf()</classname>.
+</para>
+
+
+<section><title>Using Visitor Pattern</title>
+<para>
+The visitor pattern has a recursive behavior and acts like <acronym>SAX</acronym>
+in the way that partial traversal is <emphasis>not</emphasis> possible.
+This means complete document or complete branch will be visited.
+ You should carefully consider situations when you want to use Visitor pattern, but then it
+offers a powerful and elegant way of navigation.
+This document doesn't explain Vistor Pattern in depth,
+<citation>GoF98</citation> covers more information.
+</para>
+
+<programlisting width="59">
+import java.util.Iterator;
+
+import org.dom4j.Visitor;
+import org.dom4j.VisitorSupport;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class VisitorSample {
+
+  public void demo(Document doc) {
+
+    Visitor visitor = new VisitorSupport() {
+      public void visit(Element element) {
+        System.out.println(
+          "Entity name: " + element.getName()  + "text " + element.getText();
+        );
+      }
+    };
+
+    doc.accept( visitor );
+  }
+}
+
+</programlisting>
+
+<para>
+As you can see we used anonymous inner class to override the
+<classname>VisitorSupport</classname> callback adapter method
+visit(Element element) and the accept() method starts
+the visitor mechanism.
+</para>
+</section>
+</section>
+</chapter>
+
+
+<chapter><title>Manipulating dom4j</title>
+<para>
+Accessing XML content statically alone would not very special. Thus dom4j offers several methods for manipulation a documents content.
+</para>
+
+<section><title>What <classname>org.dom4j.Document</classname> provides</title>
+<para>
+A <classname>org.dom4j.Document</classname> allows you to configure and retrieve the root element.
+You are also able to set the DOCTYPE or a SAX based <classname>EntityResolver</classname>.
+An empty <classname>Document</classname> should be created via <classname>org.dom4j.DocumentFactory</classname>.
+</para>
+</section>
+
+<section><title>Working with <classname>org.dom4j.Element</classname></title>
+<para>
+<classname>org.dom4j.Element</classname> is a powerful interface providing many methods for manipulating Element.
+</para>
+
+<programlisting width="59">
+
+  public void changeElementName(String aName) {
+    this.element.setName(aName);
+  }
+
+  public void changeElementText(String aText) {
+    this.element.setText(aText);
+  }
+
+</programlisting>
+</section>
+
+
+  <section><title>Qualified Names</title>
+  <para>
+  An XML Element should have a qualified name. Normally qualified name consists normally of a Namespace and
+  local name. It's recommended to use <classname>org.dom4j.DocumentFactory</classname> to create Qualified
+  Names that are provided by <classname>org.dom4j.QName</classname> instances.
+  </para>
+
+  <programlisting width="59">
+
+  import org.dom4j.Element;
+  import org.dom4j.Document;
+  import org.dom4j.DocumentFactory;
+  import org.dom4j.QName;
+
+  public class DeployFileCreator {
+
+   protected Document deployDoc;
+   protected Element root;
+
+   public void DeployFileCreator()
+   {
+     QName rootName = DocumentFactory.getInstance().createQName("preferences", "", "http://java.sun.com/dtd/preferences.dtd");
+     this.root = DocumentFactory.getInstance().createElement(rootName);
+     this.deployDoc = DocumentFactory.getInstance().createDocument(this.root);
+   }
+  }
+
+  </programlisting>
+
+  </section>
+
+  <section><title>Inserting elements</title>
+  <para>
+  Sometimes it's necessary to insert an element in a existing XML Tree. This is easy to do using dom4j Collection API.
+  </para>
+
+  <programlisting width="59">
+
+    public void insertElementAt(Element newElement, int index) {
+      Element parent = this.element.getParent();
+      List list = parent.content();
+      list.add(index, newElement);
+    }
+
+    public void testInsertElementAt() {
+
+    //insert an clone of current element after the current element
+      Element newElement = this.element.clone();
+      this.insertElementAt(newElement, this.root.indexOf(this.element)+1);
+
+    // insert an clone of current element before the current element
+      this.insertElementAt(newElement, this.root.indexOf(this.element));
+    }
+  </programlisting>
+
+  </section>
+
+<section><title>Cloning - How many sheep do you need?</title>
+  <para>
+  Elements can be cloned. Usually cloning is supported in Java with clone() method that is derived from <classname>Object</classname>. The cloneable Object has to
+  implement interface <classname>Cloneable</classname>. By default clone() method performs shallow copying. dom4j implements  deep cloning
+  because shallow copies would not make sense in context of an XML object model. This means that cloning can take a while because the complete tree branch or event the document
+  will be cloned. Now have a short look <emphasis>how</emphasis> dom4j cloning mechanism is used.
+  </para>
+
+  <programlisting width="59">
+
+  import org.dom4j.Document;
+  import org.dom4j.Element;
+
+  public class DeployFileCreator {
+
+
+   private Element cloneElement(String name) {
+    return this.root.element(name).clone();
+   }
+
+   private Element cloneDetachElement(String name) {
+     return this.root.createCopy(name);
+   }
+
+   public class TestElement extends junit.framework.TestCase {
+
+     public void testCloning() throws junit.framwork.AssertionFailedException {
+       assert("Test cloning with clone() failed!", this.creator.cloneElement("Key") != null);
+       assert("Test cloning with createCopy() failed!", this.creator.cloneDetachElement() != null);
+     }
+   }
+  }
+  </programlisting>
+
+  <para>
+  The difference between <emphasis>createCopy(...)</emphasis> and <emphasis>clone()</emphasis> is that first method creates a <emphasis>detached</emphasis> deep copy whereas <emphasis>clone()</emphasis> returns exact copy of the current document or element.
+  </para>
+
+  <caution><title>Consider use of Cloning</title>
+   <para>
+   Cloning might be useful when you want to build element pool. Memory consumpsion should be carefully considered during design of such pool.
+   Alternatively you can consider to use Reference API <citation>Pawlan98</citation>
+    or Dave Millers approach <citation>JavaWorldTip76</citation>.
+  </para>
+  </caution>
+
+</section>
+</chapter>
+
+<chapter><title>Using dom4j with XSLT</title>
+<para>
+With eXtensible Stylesheet Language XML got a powerfull method of transformation. XML XSL greately simplified job of developing export filters for different data formats. The transformation is done by XSL Processor. XSL covers following subjects:
+</para>
+
+<itemizedlist>
+  <listitem><para>XSL Style Sheet</para></listitem>
+  <listitem><para>XSL Processor for XSLT</para></listitem>
+  <listitem><para>FOP Processor for FOP</para></listitem>
+  <listitem><para>An XML source</para></listitem>
+</itemizedlist>
+
+<para>
+Since JaXP 1.1 TraX is the common API for proceeding a XSL Stylesheet inside of Java. You start with a <classname>TransformerFactory</classname>, specify <classname>Result</classname> and <classname>Source</classname>. <classname>Source</classname> contains source xml file that should be transformed. <classname>Result</classname> contains result of the transformation. dom4j offers <classname>org.dom4j.io.DocumentResult</classname> and <classname>org.dom4j.io.DocumenSource</classname> for [...]
+Whereas <classname>org.dom4j.io.DocumentResult</classname> contains a <classname>org.dom4j.Document</classname> as result tree, <classname>DocumentSource</classname> takes dom4j <classname>Document</classname>s and prepares them for transformation. Both classes are build on top of TraX own SAX classes. This approach has much better performance than a DOM adaptation. The following example explains the use of XSLT with TraX and dom4j.
+</para>
+
+<programlisting width="59">
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+
+import org.dom4j.Document;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+
+public class DocumentStyler
+{
+    private Transformer transformer;
+
+    public DocumentStyler(Source aStyleSheet) throws Exception {
+        // create transformer
+        TransformerFactory factory = TransformerFactory.newInstance();
+        transformer = factory.newTransformer( aStyleSheet );
+    }
+
+    public Document transform(Document aDocument, Source aStyleSheet) throws Exception {
+
+        // perform transformation
+        DocumentSource source = new DocumentSource( aDocument );
+        DocumentResult result = new DocumentResult();
+        transformer.transform(source, result);
+
+        // return resulting document
+        return result.getDocument();
+    }
+}
+
+</programlisting>
+
+<para>
+One could use XSLT to process a XML Schema and generate an empty template xml file according the schema constraints. The code above shows how easy to do that with dom4j and its TraX support. TemplateGenerator can be shared but for this example I avoided this for simplicity. More information about TraX is provided  <ulink url="http://java.sun.com/xml/">here</ulink>.
+</para>
+
+</chapter>
+
+<chapter>
+<title>Schemata-Support</title>
+
+<para>
+First way to describe XML document structure is as old as XML itself.
+Document Type Definitions are used since publishing of the XML specification.
+Many applications use DTD to describe and validate documents. Unfortunately
+the DTD Syntax was not that powerful. Written in SGML, DTDs are also not as easy to handle as
+XML.
+</para>
+
+<para>
+Since then other, more powerful ways to describe XML format were invented.
+The W3C published XML Schema Specification which provides significant improvements over DTD.
+XML Schemas are described using XML.
+A growing group of people use XML Schema now. But XML Schema isn't perfect.
+So a few people swear by Relax or Relax NG. The reader of this document is able to choose one of
+the following technologies:
+</para>
+
+<itemizedlist>
+  <listitem><para>Relax NG (Regular Language description for XML Next Generation)<citation>RelaxNG</citation></para></listitem>
+  <listitem><para>Relax (Regular Language description for XML)<citation>Relax</citation></para></listitem>
+  <listitem><para>TREX<citation>TREX</citation></para></listitem>
+  <listitem><para>XML DTDs<citation>DTD</citation></para></listitem>
+  <listitem><para>XML Schema<citation>XSD</citation></para></listitem>
+</itemizedlist>
+
+<section><title>Using XML Schema Data Types in dom4j</title>
+<para>
+dom4j currently supports only XML Schema Data Types <citation>DataTypes</citation>.
+The dom4j implementation is based on top of MSV. Earlier dom4j releases are built
+on top of Sun Tranquilo (xsdlib.jar) library but later moved to MSV now, because MSV
+provides the same Tranquilo plus exciting additional features we will discuss later.
+</para>
+
+<programlisting width="59">
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.XPath;
+import org.dom4j.io.SAXReader;
+import org.dom4j.dataType.DataTypeElement;
+
+public class SchemaTypeDemo {
+
+public static void main(String[] args) {
+
+  SAXReader reader = new SAXReader();
+  reader.setDocumentFactory( DatatypeDocumentFactory.getInstance() );
+  Document schema =  return reader.read(xmlFile)
+  XPath xpathSelector = DocumentHelper.createXPath("xsd:schema/xsd:complexType[@name='Address']/xsd:structure/xsd:element[@type]");
+  List xsdElements = xpathSelector.selectNodes(schema);
+
+  for (int i=0; i < xsdElements.size(); i++) {
+    DataElement tempXsdElement = (DatatypeElement)xsdElements.get(i);
+
+    if (tempXsdElement.getData() instanceof Integer) {
+       tempXsdElement.setData(new Integer(23));
+     }
+  }
+}
+</programlisting>
+
+<caution><title>Alpha status</title>
+<para>
+Note that the Data Type support is still alpha. If you find any bug, please report it to
+the mailing list. This helps us to make more stable Data Type support.
+</para>
+</caution>
+
+</section>
+
+
+<section><title>Validation</title>
+<para>
+Currently dom4j does not come with a validation engine. You are forced to use a external validator.
+In the past we recommended Xerces, but now you are
+able to use Sun Multi-Schema XML Validator. Xerces is able to validate against DTDs and
+XML Schema, but not against TREX or Relax. The Suns Multi Schema Validator supports all mentioned
+kinds of validation.
+</para>
+
+<caution><title>Consider use of Validation</title>
+<para>
+Validation consumes valuable resources. Use it wisely.
+</para>
+</caution>
+
+<section><title>Using Apaches Xerces 1.4.x and dom4j for validation</title>
+<para>
+It is easy to use Xerces 1.4.x for validation. Download
+Xerces from Apaches XML web sites. Experience shows that the newest version
+is not always the best.
+View Xerces mailing lists in order to find out issues with specific versions.
+Xerces provides Schema support strarting from 1.4.0.
+</para>
+
+<itemizedlist>
+  <listitem><para>Turn on validation mode - which is false for default - using a SAXReader instance</para></listitem>
+  <listitem><para>Set the following Xerces property http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation using the schema URI.</para></listitem>
+  <listitem><para>Create a SAX XMLErrorHandler and install it to your SAXReader instance.</para></listitem>
+  <listitem><para>Parse and validate the Document.</para></listitem>
+  <listitem><para>Output Validation/Parsing errors.</para></listitem>
+</itemizedlist>
+
+<programlisting width="59">
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.util.XMLErrorHandler;
+
+
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXParseException
+
+public class SimpleValidationDemo {
+
+public static void main(String[] args) {
+  SAXReader reader = new SAXReader();
+
+  reader.setValidation(true);
+
+  // specify the schema to use
+  reader.setProperty(
+   "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
+   "prices.xsd"
+  );
+
+  // add error handler which turns any errors into XML
+   XMLErrorHandler errorHandler = new XMLErrorHandler();
+   reader.setErrorHandler( errorHandler );
+
+  // parse the document
+  Document document = reader.read(args[0]);
+
+ // output the errors XML
+  XMLWriter writer = new XMLWriter( OutputFormat.createPrettyPrint() );
+  writer.write( errorHandler.getErrors() );
+}
+
+</programlisting>
+
+<caution><title>Xerces and Crimson</title>
+<para>
+Both, Xerecs and Crimson, are JaXPable parsers. Be careful while using
+Crimson and Xerces in same class path. Xerces will work correctly only when it is
+specified in class path <emphasis>before</emphasis> Crimson. At this time I
+recommend that you should either Xereces <emphasis>or</emphasis> Crimson.
+</para>
+</caution>
+
+</section>
+
+<section><title>A perfect team - Multi Schema Validator<citation>MSV</citation> and dom4j </title>
+<para>
+Kohsuke Kawaguchi a developer from Sun created a extremly usefull tool for XML validation.
+Multi Schema Validator (MSV) supports following specifications:
+</para>
+
+<itemizedlist>
+  <listitem><para>Relax NG</para></listitem>
+  <listitem><para>Relax </para></listitem>
+  <listitem><para>TREX</para></listitem>
+  <listitem><para>XML DTDs</para></listitem>
+  <listitem><para>XML Schema</para></listitem>
+</itemizedlist>
+
+<para>
+Currently its not clear whether XML Schema will be the next standard for validation. Relax NG has an ever more growing
+lobby. If you want to build a open application that is not fixed to a specific XML parser and specific type of XML validation you should use this powerfull
+tool. As  usage of MSV is not trivial the next section shows how to use it in simpler way.
+</para>
+
+  </section>
+  <section><title>Simplified Multi-Schema Validation by using Java API for RELAX Verifiers (JARV)</title>
+  
+<para>
+The Java API for RELAX Verifiers <citation>JARV</citation> defines a set of Interfaces and provide
+a schemata and vendor neutral API for validation of XML documents. The above explained
+MSV offers a Factory that supports JARV. So you can use the JARV API on top of MSV and dom4j
+to validate a dom4j documents.
+</para>
+
+<programlisting>
+import org.iso_relax.verifier.Schema;
+import org.iso_relax.verifier.Verifier;
+import org.iso_relax.verifier.VerifierFactory;
+import org.iso_relax.verifier.VerifierHandler;
+
+import com.sun.msv.verifier.jarv.TheFactoryImpl;
+
+import org.apache.log4j.Category;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXWriter;
+
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXParseException;
+
+public class Validator {
+
+  private final static CATEGORY = Category.getInstance(Validator.class);
+  private String schemaURI;
+  private Document document;
+
+  public Validator(Document document, String schemaURI) {
+    this.schemaURI = schemaURI;
+    this.document = document;
+  }
+  
+  public boolean validate() throws Exception {
+  
+    // (1) use autodetection of schemas
+    VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
+    Schema schema = factory.compileSchema( schemaURI );
+    
+    // (2) configure a Vertifier
+    Verifier verifier = schema.newVerifier();
+        verifier.setErrorHandler(
+            new ErrorHandler() {
+                public void error(SAXParseException saxParseEx) {
+                   CATEGORY.error( "Error during validation.", saxParseEx);
+                }
+                
+                public void fatalError(SAXParseException saxParseEx) {
+                   CATEGORY.fatal( "Fatal error during validation.", saxParseEx);
+                }
+                
+                public void warning(SAXParseException saxParseEx) {
+                   CATEGORY.warn( saxParseEx );
+                }
+            }
+        );    
+        
+    // (3) starting validation by resolving the dom4j document into sax     
+    VerifierHandler handler = verifier.getVerifierHandler();
+    SAXWriter writer = new SAXWriter( handler );
+    writer.write( document );   
+    
+    return handler.isValid();
+  }
+  
+  }
+  
+}
+</programlisting>
+
+<para>
+The whole work in the above example is done in <methodname>validate()</methodname> method.
+Foremost the we create a <emphasis>Factory</emphasis> instance and use it to create a JAVR 
+<classname>org.iso_relax.verifier.Schema</classname> instance.
+In second step we create and configure a <classname>org.iso_relax.verifier.Verifier</classname>
+using a <classname>org.sax.ErrorHandler</classname>. I use Apaches Log4j API
+to log possible errors. You can also use <methodname>System.out.println()</methodname>
+or, depending of the applications desired robustness, any other method to provide information about
+failures. Third and last step resolves the <classname>org.dom4j.Document</classname>
+instance using SAX in order to start the validation. Finally we return a boolean
+value that informs about success of the validation. 
+</para>
+
+<para>
+Using teamwork of dom4j, MSV, JAVR and good old SAX simplifies the usage
+of multi schemata validation while gaining the power of MSV.
+</para>
+
+  </section>
+ </section>
+</chapter>
+
+<chapter><title>Declarative Rule Processing</title>
+<para>
+XSLT defines a declarative rule-based way to transform XML tree into
+plain text, HTML, FO or any other text-based format. XSLT is very powerful.
+Ironically it does not need variables to hold data.
+As Michael Kay <citation>XSLTReference</citation> says: "This style of coding without assignment statements, is
+called <emphasis>Functional Programming</emphasis>. The earliest and most
+famous functional programming language was Lisp ..., while modern examples
+include ML and Scheme." In XSLT you define a so called <emphasis>template</emphasis>
+that matches a certain XPath expression. The XSLT Processor traverse the
+source tree using a recursive tree descent algorithm and performs the commands you defined when a specific tree branch
+matches the template rule.
+</para>
+
+<para>
+dom4j offers an API that supports XSLT similar rule based processing. The
+API can be found in <classname>org.dom4j.rule</classname> package and this 
+chapter will introduce you to this powerful feature of dom4j.
+</para>
+
+<section><title>Introducing dom4j's declarative rule processing</title>
+  <para>
+  This section will demonstrate the usage of dom4j's rule API by example.
+  Consider we have the following XML document, but that we want to transform
+  into another XML document containing less information.  
+  </para>
+  
+  <programlisting>
+  <![CDATA[
+    <?xml version="1.0" encoding="UTF-8" ?>
+    <Songs>
+     <song>
+       <mp3 kbs="128" size="6128">
+         <id3>
+          <title>Simon</title>
+          <artist>Lifehouse</artist>
+          <album>No Name Face</album>
+          <year>2000</year>
+          <genre>Alternative Rock</genre>
+          <track>6</track>     
+         </id3>
+       </mp3>
+      </song>
+      <song>
+       <mp3 kbs="128" size="6359">
+         <id3>
+          <title>Hands Clean</title>
+          <artist>Alanis Morrisette</artist>
+          <album>Under Rug Swept</album>
+          <year>2002</year>
+          <genre>Alternative Rock</genre>
+          <track>3</track>
+         </id3>
+       </mp3>
+      </song>
+      <song>
+       <mp3 kbs="256" size="6460">
+         <id3>
+          <title>Alive</title>
+          <artist>Payable On Deatch</artist>
+          <album>Satellit</album>
+          <year>2002</year>
+          <genre>Metal</genre>
+          <track/>
+         </id3>
+       </mp3>
+       <mp3 kbs="256" size="4203">
+         <id3>
+          <title>Crawling In The Dark</title>
+          <artist>Hoobastank</artist>
+          <album>Hoobastank (Selftitled)</album>
+          <year>2002</year>
+          <genre>Alternative Rock</genre>
+          <track/>
+         </id3>
+       </mp3>
+     </song>
+    </Songs>
+  ]]>
+  </programlisting>
+
+  <para>
+   A common method to transform one XML document into another is XSLT. It's quite
+   powerful but it is very different from Java and uses paradigms different from OO.
+   Such style sheet may look like
+   this. 
+  </para>
+
+    <programlisting>
+    <![CDATA[
+      <xsl:stylesheet version="1.0"
+           xmlns:xsl="http://www.w3.org/1999/XSL/Transform"    
+           xmlns:fo="http://www.w3.org/1999/XSL/Format"
+       >    
+        <xsl:output method="xml" indent="yes"/>
+
+        <xsl:template match="/">
+         <Song-Titles>
+           <xsl:apply-templates/>
+         </Song-Tiltes>
+        </xsl:template>
+        
+        <xsl:template match="/Songs/song/mp3">     
+          <Song>
+            <xsl:apply-template/>
+          </Song>
+        </xsl:template>
+    
+        <xsl:template match="/Songs/song/mp3/title">
+          <xsl:text> <xsl:value-of select="."/> </xsl:text>
+        </xsl:template> 
+   
+      </xsl:stylesheet> 
+     ]]>
+   </programlisting>
+
+  <para>
+  This stylesheet filters all song titles and creates a xml wrapper for it.
+  After applying the stylesheet with XSLT processor you will
+  get the following xml document.
+  </para>
+
+
+    <programlisting>
+    <![CDATA[
+      <?xml version="1.0" encoding="UTF-8" ?>
+      <Song-Titles>
+ 	<song>Simon</song>
+	<song>Hands Clean</song>
+        <song>Alive</song>
+        <song>Crawling in the Dark</song>
+      </Song-Titles>
+     ]]>
+   </programlisting>
+
+
+ <para>
+   Okay. Now it's time to present a possible solution using dom4j's rule API. As you
+   will see this API is very compact. The Classes you have to write are neither complex nor
+   extremely hard to understand. We want to get the same result as your former stylesheet.
+ </para>
+
+
+ <programlistingco>
+   <areaspec>
+     <areaset id="example.rule.step1" coord="">
+       <area id="example.rule.root" coords='32'/>
+       <area id="example.rule.doc" coords='33'/>
+     </areaset>
+     <areaset id="example.rule.step2">
+       <area id="example.rule.rule1" coords="35"/>
+       <area id="example.rule.rule2" coords="39"/>
+     </areaset>
+     <areaset id="example.rule.step3">
+       <area id="example.rule.pattern1" coords="36"/>
+       <area id="example.rule.action1" coords="37"/>
+       <area id="example.rule.pattern2" coords="40"/>
+       <area id="example.rule.action2" coords="41"/>
+     </areaset>
+     <areaset id="example.rule.step4">
+       <area id="example.rule.actionclass1" coords="55"/>
+       <area id="example.rule.actionclass2" coords="64"/>
+     </areaset>
+     <area id="example.rule.step5" coords="43"/>
+     <area id="example.rule.step6" coords="47"/>
+   </areaspec> 
+ <programlisting>
+  import java.io.File;
+
+  import org.dom4j.DocumentHelper;
+  import org.dom4j.Document;
+  import org.dom4j.DocumentException;
+  import org.dom4j.Element;
+  import org.dom4j.Node;
+
+  import org.dom4j.io.SAXReader;
+  import org.dom4j.io.XMLWriter;
+  import org.dom4j.io.OutputFormat;
+
+  import org.dom4j.rule.Action;
+  import org.dom4j.rule.Pattern;
+  import org.dom4j.rule.Stylesheet;
+  import org.dom4j.rule.Rule;
+
+  public class SongFilter {
+    
+    private Document resultDoc;
+    private Element songElement;
+    private Element currentSongElement;
+    private Stylesheet style;
+    
+
+    public SongFilter() {
+        this.songElement = DocumentHelper.createElement( "song" );
+    }
+
+    
+    public Document filtering(org.dom4j.Document doc) throws Exception {
+        Element resultRoot = DocumentHelper.createElement( "Song-Titles" );
+        this.resultDoc = DocumentHelper.createDocument( resultRoot );               
+        
+        Rule songElementRule = new Rule();
+        songElementRule.setPattern( DocumentHelper.createPattern( "/Songs/song/mp3/id3" ) );
+        songElementRule.setAction( new SongElementBuilder() );
+        
+        Rule titleTextNodeFilter = new Rule();
+        titleTextNodeFilter.setPattern( DocumentHelper.createPattern( "/Songs/song/mp3/id3/title" ) );
+        titleTextNodeFilter.setAction( new NodeTextFilter() );
+        
+        this.style = new Stylesheet();
+        this.style.addRule( songElementRule );
+        this.style.addRule( titleTextNodeFilter );
+        
+        style.run( doc );
+        
+        return this.resultDoc;
+    }
+    
+    
+    
+    
+    private class SongElementBuilder implements Action {
+        public void run(Node node) throws Exception {
+           currentSongElement = songElement.createCopy();
+           resultDoc.getRootElement().add ( currentSongElement );
+           
+           style.applyTemplates(node);
+        }
+    }
+    
+    private class NodeTextFilter implements Action {       
+        public void run(Node node) throws Exception {
+          if ( currentSongElement != null )
+          {
+            currentSongElement.setText( node.getText() );
+          }
+        }        
+    }
+        
+      
+}
+ </programlisting>
+ <calloutlist>
+   <callout arearefs="example.rule.step1">
+     <para>Define the root element or another container element for the filtered out information.</para> 
+   </callout>
+   <callout arearefs="example.rule.step2">
+     <para>Create as many instances of <classname>org.dom4j.rule.Rule</classname> as needed.</para> 
+   </callout>
+   <callout arearefs="example.rule.step3">
+     <para>
+     Install for each rule a instance of <classname>org.dom4j.rule.Pattern</classname> and 
+     <classname>org.dom4j.rule.Action</classname>. A <classname>org.dom4j.rule.Pattern</classname>
+     consists of a XPath Expression, which is used for Node matching.
+     </para>
+   </callout>
+   <callout arearefs="example.rule.step4">
+     <para>A <classname>org.dom4j.rule.Action</classname> defines the process if a matching occured.</para> 
+   </callout>
+   <callout arearefs="example.rule.step5">
+     <para>Create a instance of <classname>org.dom4j.rule.Stylesheet</classname></para> 
+   </callout>
+   <callout arearefs="example.rule.step6">
+     <para>Start the processing</para> 
+   </callout>
+</calloutlist>
+</programlistingco>
+
+  
+ <!--para>
+  Following steps are recommended to use this API correctly.
+ </para>
+   
+ <itemizedlist>
+  <listitem><para>Define root element or another container element for the filtered out information.</para></listitem>
+  <listitem><para>Create as many instances of <classname>org.dom4j.rule.Rule</classname> as needed.</para></listitem>
+  <listitem>
+    <para>
+    Install for each rule a instance of <classname>org.dom4j.rule.Pattern</classname> and 
+    <classname>org.dom4j.rule.Action</classname>. A <classname>org.dom4j.rule.Pattern</classname>
+    consists of a XPath Expression, which is used for Node matching.
+    </para>
+  </listitem>
+  <listitem><para>A <classname>org.dom4j.rule.Action</classname> defines the process if a matching occurred.</para></listitem>
+ </itemizedlist-->
+
+ <para>
+   If you are familiar with Java Threads you may encounter usage similarities between <classname>java.lang.Runnable</classname> and <classname>org.dom4j.rule.Action</classname>.
+   Both act as a plugin or listener. And this Observer Pattern has a wide
+   usage in OO and especially in Java.
+   We implemented observers here as private inner classes. You may decide to declare them as outer classes as well. 
+   However if you do that, the design becomes more complex because you need to share instance of 
+   <classname>org.dom4j.rule.StyleSheet</classname>.
+ </para>
+   
+ <note><title>Anonymous adapters</title>
+ <para>
+  Moreover it's possible to create an anonymous inner class for <classname>org.dom4j.rule.Action</classname> interface.
+ </para>
+ </note>
+  
+</section>
+
+<section><title>Understanding dom4j's rule API</title>
+
+<para>
+<table frame="all"><title>Comparing Visitor with Rule API</title>
+  <tgroup cols="2" align="left" colsep="0" rowsep="0">
+  <colspec colname="c1"/>
+  <colspec colname="c2"/>
+  <colspec colname="c3"/>
+  <colspec colnum="5" colname="c5">
+	  <spanspec spanname="hspan" namest="c1" nameend="c2" align="center"/>
+  </colspec>	  
+  <thead>
+  <row>
+    <entry spanname="hspan">Visitor</entry>
+    <entry spanname="hspan">Declartive Rule Processing</entry>
+  </row>
+</thead>
+<tbody>
+<row>
+  <entry>Use of Interfaces in design</entry>
+  <entry>Use of Interfaces in design</entry>
+</row>
+<row>
+  <entry>Uncontrolled automatic recursive descent traversal</entry>
+  <entry>Rule controlled automatic recursive descent traversal</entry>
+</row>
+<row>
+  <entry>Needs knowledge of Visitor pattern to understand</entry>
+  <entry>Knowledge of Observer/Publish-Subscriber pattern (ligua franca pattern besides Singleton) useful</entry>
+</row>
+<row>
+  <entry>Provides adapater class to simplify usage of interface</entry>
+  <entry>Adapter not necessary due to interface using single method</entry>
+</row>
+<row>
+  <entry>Basic knowledge of dom4j's tree object model necessary</entry>
+  <entry>Additional XPath knowlege for pattern specification necessary</entry>
+</row>
+<row>
+  <entry>Implementation is more compact</entry>
+  <entry>More code necessary to define the rules and action</entry>
+</row>
+<row>
+  <entry>High and easy modularity</entry>
+  <entry>High modularity for controlled recursive processing, but more complex handling if you abandon inner or anonymous inner classes.</entry>
+</row>
+</tbody>
+</tgroup>
+</table>   
+</para>
+
+
+<para>
+As shown above, dom4j's uses a very flexible OO-Representation of a XSLT Stylesheet. The smart handling of actions
+produces compact code.
+</para>
+
+<para>
+The rule API is a OO representation of W3C XSLT. The API defines another way of traversing the in-memory dom4j tree.
+The traversal algorithm is called <emphasis>recursive descent</emphasis> and is the same as XSLT defines. Such algorithms 
+are also used in compiler construction and described in literature. 
+</para>
+
+<para>
+XSLT defines a way of tree merging or filtering. If you output an eXtensible stylesheet result to another xml you merge an
+existing tree to another one using the instruction of the Stylesheet and if output to plain text a styling is used for
+filtering. First usage is addressed by this API. The second is also possible but not so easy to implement as in XSLT.
+</para>
+
+<para>
+How does the rule API work? Each Stylesheet has a rule. A rule consists of an action and a pattern. Patterns are described
+with XPath. You start the processing of a Stylesheet on a specific source with must be a dom4j <classname>Node</classname>.
+Calling method <classname>style.applyTemplates(node);</classname> traverses the <classname>Node</classname> using 
+a recursive descent algorithm - branch after branch. If a pattern matches the assigned action is activated.
+</para>
+
+<para>
+If you are interested more in the way a xml document is traversed by XSLT processors I recommend 
+Michael Kay's book <citation>XSLTReference</citation>.
+</para>
+
+</section>
+
+</chapter>
+
+<bibliography>
+  <title>Further Reading</title>
+<bibliodiv><title>Books</title>
+<biblioentry>
+  <abbrev>XSLTReference</abbrev>
+  <authorgroup>
+    <author><firstname>Michael</firstname><surname>Kay</surname></author>
+  </authorgroup>
+  <copyright><year>2001</year>
+    <holder>Worx Press, Inc.</holder>
+  </copyright>
+  <isbn>1-861-005067</isbn>
+  <publisher>
+     <publishername>Worx Press</publishername>
+  </publisher>
+  <title>XSLT Programmer's Reference 2'nd Edition</title>
+  <seriesinfo>
+    <title>Programmer To Programmer</title>
+    <publisher>
+      <publishername>Worx Press</publishername>
+    </publisher>
+  </seriesinfo>
+</biblioentry>
+<biblioentry>
+  <abbrev>GoF95</abbrev>
+  <authorgroup>
+    <author><firstname>Erich</firstname><surname>Gamma</surname></author>
+    <author><firstname>Richard</firstname><surname>Helm</surname></author>
+    <author><firstname>Ralph</firstname><surname>Johnson</surname></author>
+    <author><firstname>John</firstname><surname>Vlissides</surname></author>
+  </authorgroup>
+  <copyright><year>1995</year>
+    <holder>Addison Wesley Pub, Co.</holder>
+  </copyright>
+  <isbn>0-201-633-612</isbn>
+  <publisher>
+     <publishername>Addison-Wesley</publishername>
+  </publisher>
+  <title>Design Patterns: Elements of Reusable Object-Orientated Software</title>
+</biblioentry>
+</bibliodiv>
+</bibliography>
+<bibliodiv><title>Articles</title>
+<biblioentry>
+  <abbrev>Pawlan98</abbrev>
+  <authorgroup>
+    <author><firstname>Monica</firstname><surname>Pawlan</surname></author>
+  </authorgroup>
+  <copyright><year>1998</year>
+    <holder>http://developer.java.sun.com/javatips/jw-tips76.html</holder>
+  </copyright>
+  <title>Reference Objects and Garbage Collection</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>JavaTip76</abbrev>
+  <authorgroup>
+    <author><firstname>Dave</firstname><surname>Miller</surname></author>
+  </authorgroup>
+  <copyright>
+    <holder>http://www.javaworld.com/javaworld/javatips/jw-javatip76.html</holder>
+  </copyright>
+  <title>An alternative to the deep copying technique</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>BillVenners</abbrev>
+  <authorgroup>
+    <author><firstname>Bill</firstname><surname>Venners</surname></author>
+  </authorgroup>
+  <copyright>
+    <holder>http://www.artima.com/designtechniques/interfaces.html</holder>
+  </copyright>
+  <title>Designing with Interfaces - One Programmer's Struggle to Understand the Interface</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>Zvon</abbrev>
+  <copyright>
+    <holder>http://www.zvon.org/xxl/XPathTutorial/General/examples.html</holder>
+  </copyright>
+  <title>Zvon XPath tutorial</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>RelaxNG</abbrev>
+  <copyright>
+    <holder>http://www.oasis-open.org/committees/relax-ng/</holder>
+  </copyright>
+  <title>Developing RELAX NG, the next generation schema language for XML: clean, simple and powerful</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>Relax</abbrev>
+  <copyright>
+    <holder>http://www.xml.gr.jp/relax/</holder>
+  </copyright>
+  <title>The offical site of Relax</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>TREX</abbrev>
+  <copyright>
+    <holder>http://www.thaiopensource.com/trex/</holder>
+  </copyright>
+  <title>TREX - Tree Regular Expressions for XML</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>DTD</abbrev>
+  <copyright>
+    <holder>http://www.w3schools.com/dtd/default.asp</holder>
+  </copyright>
+  <title>Document Type Definitions Tutorial</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>XSD</abbrev>
+  <copyright>
+    <holder>http://www.w3.org/XML/Schema http://www.w3.org/XML/1998/06/xmlspec-report</holder>
+  </copyright>
+  <title>XML Schema</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>JARV</abbrev>
+  <copyright>
+    <holder>http://iso-relax.sourceforge.net/JARV/</holder>
+  </copyright>
+  <title>Java API for RELAX Verifiers</title>
+</biblioentry>
+</bibliodiv>
+</book>
+
+
+
diff --git a/src/java/org/dom4j/Attribute.java b/src/java/org/dom4j/Attribute.java
new file mode 100644
index 0000000..2d7add1
--- /dev/null
+++ b/src/java/org/dom4j/Attribute.java
@@ -0,0 +1,173 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>Attribute</code> defines an XML attribute. An attribute may have a
+ * name, an optional namespace and a value.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public interface Attribute extends Node {
+    /**
+     * <p>
+     * Returns the <code>QName</code> of this attribute which represents the
+     * local name, the qualified name and the <code>Namespace</code>.
+     * </p>
+     * 
+     * @return the <code>QName</code> associated with this attribute
+     */
+    QName getQName();
+
+    /**
+     * <p>
+     * Returns the <code>Namespace</code> of this element if one exists
+     * otherwise null is returned returned.
+     * </p>
+     * 
+     * @return the <code>Namespace</code> associated with this node
+     */
+    Namespace getNamespace();
+
+    /**
+     * <p>
+     * Sets the <code>Namespace</code> of this element or if this element is
+     * read only then an <code>UnsupportedOperationException</code> is thrown.
+     * </p>
+     * 
+     * @param namespace
+     *            is the <code>Namespace</code> to associate with this element
+     */
+    void setNamespace(Namespace namespace);
+
+    /**
+     * <p>
+     * Returns the namespace prefix of this element if one exists otherwise an
+     * empty <code>String</code> is returned.
+     * </p>
+     * 
+     * @return the prefix of the <code>Namespace</code> of this element or an
+     *         empty <code>String</code>
+     */
+    String getNamespacePrefix();
+
+    /**
+     * <p>
+     * Returns the URI mapped to the namespace of this element if one exists
+     * otherwise an empty <code>String</code> is returned.
+     * </p>
+     * 
+     * @return the URI for the <code>Namespace</code> of this element or an
+     *         empty <code>String</code>
+     */
+    String getNamespaceURI();
+
+    /**
+     * <p>
+     * Returns the fully qualified name of this element.
+     * </p>
+     * 
+     * <p>
+     * This will be the same as the value returned from {@link Node#getName()}
+     * if this element has no namespace attached to this element or an
+     * expression of the form
+     * 
+     * <pre>
+     * getNamespacePrefix() + ":" + getName()
+     * </pre>
+     * 
+     * will be returned.
+     * </p>
+     * 
+     * @return the fully qualified name of the element
+     */
+    String getQualifiedName();
+
+    /**
+     * <p>
+     * Returns the value of the attribute. This method returns the same value as
+     * the {@link Node#getText()}method.
+     * </p>
+     * 
+     * @return the value of the attribute
+     */
+    String getValue();
+
+    /**
+     * <p>
+     * Sets the value of this attribute or this method will throw an
+     * <code>UnsupportedOperationException</code> if it is read-only.
+     * </p>
+     * 
+     * @param value
+     *            is the new value of this attribute
+     */
+    void setValue(String value);
+
+    /**
+     * <p>
+     * Accesses the data of this attribute which may implement data typing
+     * bindings such as <code>XML Schema</code> or <code>Java Bean</code>
+     * bindings or will return the same value as {@link Node#getText()}.
+     * </p>
+     * 
+     * @return the attribute data
+     */
+    Object getData();
+
+    /**
+     * <p>
+     * Sets the data value of this attribute if this element supports data
+     * binding or calls {@link Node#setText(String)}if it doesn't.
+     * </p>
+     * 
+     * @param data
+     *            the attribute data
+     */
+    void setData(Object data);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/Branch.java b/src/java/org/dom4j/Branch.java
new file mode 100644
index 0000000..9c7d407
--- /dev/null
+++ b/src/java/org/dom4j/Branch.java
@@ -0,0 +1,351 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * <p>
+ * <code>Branch</code> interface defines the common behaviour for Nodes which
+ * can contain child nodes (content) such as XML elements and documents. This
+ * interface allows both elements and documents to be treated in a polymorphic
+ * manner when changing or navigating child nodes (content).
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.32 $
+ */
+public interface Branch extends Node {
+    /**
+     * Returns the <code>Node</code> at the specified index position.
+     * 
+     * @param index
+     *            the index of the node to return.
+     * 
+     * @return the <code>Node</code> at the specified position.
+     * 
+     * @throws IndexOutOfBoundsException
+     *             if the index is out of range (index < 0 || index >=
+     *             {@link Branch#nodeCount()}).
+     */
+    Node node(int index) throws IndexOutOfBoundsException;
+
+    /**
+     * Returns the index of the given node if it is a child node of this branch
+     * or -1 if the given node is not a child node.
+     * 
+     * @param node
+     *            the content child node to find.
+     * 
+     * @return the index of the given node starting at 0 or -1 if the node is
+     *         not a child node of this branch
+     */
+    int indexOf(Node node);
+
+    /**
+     * Returns the number of <code>Node</code> instances that this branch
+     * contains.
+     * 
+     * @return the number of nodes this branch contains
+     */
+    int nodeCount();
+
+    /**
+     * Returns the element of the given ID attribute value. If this tree is
+     * capable of understanding which attribute value should be used for the ID
+     * then it should be used, otherwise this method should return null.
+     * 
+     * @param elementID
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    Element elementByID(String elementID);
+
+    /**
+     * <p>
+     * Returns the content nodes of this branch as a backed {@link List}so that
+     * the content of this branch may be modified directly using the
+     * {@link List}interface. The <code>List</code> is backed by the
+     * <code>Branch</code> so that changes to the list are reflected in the
+     * branch and vice versa.
+     * </p>
+     * 
+     * @return the nodes that this branch contains as a <code>List</code>
+     */
+    List content();
+
+    /**
+     * Returns an iterator through the content nodes of this branch
+     * 
+     * @return an iterator through the content nodes of this branch
+     */
+    Iterator nodeIterator();
+
+    /**
+     * Sets the contents of this branch as a <code>List</code> of
+     * <code>Node</code> instances.
+     * 
+     * @param content
+     *            is the list of nodes to use as the content for this branch.
+     */
+    void setContent(List content);
+
+    /**
+     * Appends the content of the given branch to this branch instance. This
+     * method behaves like the {@link
+     * java.util.Collection#addAll(java.util.Collection)} method.
+     * 
+     * @param branch
+     *            is the branch whose content will be added to me.
+     */
+    void appendContent(Branch branch);
+
+    /**
+     * Clears the content for this branch, removing any <code>Node</code>
+     * instances this branch may contain.
+     */
+    void clearContent();
+
+    /**
+     * <p>
+     * Returns a list of all the processing instructions in this branch. The
+     * list is backed by this branch so that changes to the list will be
+     * reflected in the branch but the reverse is not the case.
+     * </p>
+     * 
+     * @return a backed list of the processing instructions
+     */
+    List processingInstructions();
+
+    /**
+     * <p>
+     * Returns a list of the processing instructions for the given target. The
+     * list is backed by this branch so that changes to the list will be
+     * reflected in the branch but the reverse is not the case.
+     * </p>
+     * 
+     * @param target
+     *            DOCUMENT ME!
+     * 
+     * @return a backed list of the processing instructions
+     */
+    List processingInstructions(String target);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param target
+     *            DOCUMENT ME!
+     * 
+     * @return the processing instruction for the given target
+     */
+    ProcessingInstruction processingInstruction(String target);
+
+    /**
+     * Sets all the processing instructions for this branch
+     * 
+     * @param listOfPIs
+     *            DOCUMENT ME!
+     */
+    void setProcessingInstructions(List listOfPIs);
+
+    /**
+     * Adds a new <code>Element</code> node with the given name to this branch
+     * and returns a reference to the new node.
+     * 
+     * @param name
+     *            is the name for the <code>Element</code> node.
+     * 
+     * @return the newly added <code>Element</code> node.
+     */
+    Element addElement(String name);
+
+    /**
+     * Adds a new <code>Element</code> node with the given {@link QName}to
+     * this branch and returns a reference to the new node.
+     * 
+     * @param qname
+     *            is the qualified name for the <code>Element</code> node.
+     * 
+     * @return the newly added <code>Element</code> node.
+     */
+    Element addElement(QName qname);
+
+    /**
+     * Adds a new <code>Element</code> node with the given qualified name and
+     * namespace URI to this branch and returns a reference to the new node.
+     * 
+     * @param qualifiedName
+     *            is the fully qualified name of the Element
+     * @param namespaceURI
+     *            is the URI of the namespace to use
+     * 
+     * @return the newly added <code>Element</code> node.
+     */
+    Element addElement(String qualifiedName, String namespaceURI);
+
+    /**
+     * Removes the processing instruction for the given target if it exists
+     * 
+     * @param target
+     *            DOCUMENT ME!
+     * 
+     * @return true if a processing instruction was removed else false
+     */
+    boolean removeProcessingInstruction(String target);
+
+    /**
+     * Adds the given <code>Node</code> or throws {@link IllegalAddException}
+     * if the given node is not of a valid type. This is a polymorphic method
+     * which will call the typesafe method for the node type such as
+     * add(Element) or add(Comment).
+     * 
+     * @param node
+     *            is the given node to add
+     */
+    void add(Node node);
+
+    /**
+     * Adds the given <code>Comment</code> to this branch. If the given node
+     * already has a parent defined then an <code>IllegalAddException</code>
+     * will be thrown.
+     * 
+     * @param comment
+     *            is the comment to be added
+     */
+    void add(Comment comment);
+
+    /**
+     * Adds the given <code>Element</code> to this branch. If the given node
+     * already has a parent defined then an <code>IllegalAddException</code>
+     * will be thrown.
+     * 
+     * @param element
+     *            is the element to be added
+     */
+    void add(Element element);
+
+    /**
+     * Adds the given <code>ProcessingInstruction</code> to this branch. If
+     * the given node already has a parent defined then an
+     * <code>IllegalAddException</code> will be thrown.
+     * 
+     * @param pi
+     *            is the processing instruction to be added
+     */
+    void add(ProcessingInstruction pi);
+
+    /**
+     * Removes the given <code>Node</code> if the node is an immediate child
+     * of this branch. If the given node is not an immediate child of this
+     * branch then the {@link Node#detach()}method should be used instead. This
+     * is a polymorphic method which will call the typesafe method for the node
+     * type such as remove(Element) or remove(Comment).
+     * 
+     * @param node
+     *            is the given node to be removed
+     * 
+     * @return true if the node was removed
+     */
+    boolean remove(Node node);
+
+    /**
+     * Removes the given <code>Comment</code> if the node is an immediate
+     * child of this branch. If the given node is not an immediate child of this
+     * branch then the {@link Node#detach()}method should be used instead.
+     * 
+     * @param comment
+     *            is the comment to be removed
+     * 
+     * @return true if the comment was removed
+     */
+    boolean remove(Comment comment);
+
+    /**
+     * Removes the given <code>Element</code> if the node is an immediate
+     * child of this branch. If the given node is not an immediate child of this
+     * branch then the {@link Node#detach()}method should be used instead.
+     * 
+     * @param element
+     *            is the element to be removed
+     * 
+     * @return true if the element was removed
+     */
+    boolean remove(Element element);
+
+    /**
+     * Removes the given <code>ProcessingInstruction</code> if the node is an
+     * immediate child of this branch. If the given node is not an immediate
+     * child of this branch then the {@link Node#detach()}method should be used
+     * instead.
+     * 
+     * @param pi
+     *            is the processing instruction to be removed
+     * 
+     * @return true if the processing instruction was removed
+     */
+    boolean remove(ProcessingInstruction pi);
+
+    /**
+     * Puts all <code>Text</code> nodes in the full depth of the sub-tree
+     * underneath this <code>Node</code>, including attribute nodes, into a
+     * "normal" form where only structure (e.g., elements, comments, processing
+     * instructions, CDATA sections, and entity references) separates
+     * <code>Text</code> nodes, i.e., there are neither adjacent
+     * <code>Text</code> nodes nor empty <code>Text</code> nodes. This can
+     * be used to ensure that the DOM view of a document is the same as if it
+     * were saved and re-loaded, and is useful when operations (such as XPointer
+     * lookups) that depend on a particular document tree structure are to be
+     * used.In cases where the document contains <code>CDATASections</code>,
+     * the normalize operation alone may not be sufficient, since XPointers do
+     * not differentiate between <code>Text</code> nodes and
+     * <code>CDATASection</code> nodes.
+     * 
+     * @since DOM Level 2
+     */
+    void normalize();
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/CDATA.java b/src/java/org/dom4j/CDATA.java
new file mode 100644
index 0000000..ffb0af3
--- /dev/null
+++ b/src/java/org/dom4j/CDATA.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>CDATA</code> defines an XML CDATA section.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public interface CDATA extends CharacterData {
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/CharacterData.java b/src/java/org/dom4j/CharacterData.java
new file mode 100644
index 0000000..f8d9cd7
--- /dev/null
+++ b/src/java/org/dom4j/CharacterData.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>CharacterData</code> is a marker interface for character based nodes
+ * such as the <code>CDATA</code>,<code>Comment</code> and
+ * <code>Text</code> nodes.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public interface CharacterData extends Node {
+    /**
+     * Appends the given text to this nodes text value. Calling this method is
+     * equivalent of the code <code>node.setText(node.getText() + text)</code>
+     * but allows for possible implementation optimisations (such as a text
+     * based node storing a StringBuffer internally
+     * 
+     * @param text
+     *            the text to append
+     */
+    void appendText(String text);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/Comment.java b/src/java/org/dom4j/Comment.java
new file mode 100644
index 0000000..4374300
--- /dev/null
+++ b/src/java/org/dom4j/Comment.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>Comment</code> defines the behavior of an XML comment.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public interface Comment extends CharacterData {
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/Document.java b/src/java/org/dom4j/Document.java
new file mode 100644
index 0000000..77dd8b6
--- /dev/null
+++ b/src/java/org/dom4j/Document.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.util.Map;
+
+import org.xml.sax.EntityResolver;
+
+/**
+ * <p>
+ * <code>Document</code> defines an XML Document.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.14 $
+ */
+public interface Document extends Branch {
+    /**
+     * Returns the root {@link Element}for this document.
+     * 
+     * @return the root element for this document
+     */
+    Element getRootElement();
+
+    /**
+     * Sets the root element for this document
+     * 
+     * @param rootElement
+     *            the new root element for this document
+     */
+    void setRootElement(Element rootElement);
+
+    /**
+     * Adds a new <code>Comment</code> node with the given text to this
+     * branch.
+     * 
+     * @param comment
+     *            is the text for the <code>Comment</code> node.
+     * 
+     * @return this <code>Document</code> instance.
+     */
+    Document addComment(String comment);
+
+    /**
+     * Adds a processing instruction for the given target
+     * 
+     * @param target
+     *            is the target of the processing instruction
+     * @param text
+     *            is the textual data (key/value pairs) of the processing
+     *            instruction
+     * 
+     * @return this <code>Document</code> instance.
+     */
+    Document addProcessingInstruction(String target, String text);
+
+    /**
+     * Adds a processing instruction for the given target
+     * 
+     * @param target
+     *            is the target of the processing instruction
+     * @param data
+     *            is a Map of the key / value pairs of the processing
+     *            instruction
+     * 
+     * @return this <code>Document</code> instance.
+     */
+    Document addProcessingInstruction(String target, Map data);
+
+    /**
+     * Adds a DOCTYPE declaration to this document
+     * 
+     * @param name
+     *            is the name of the root element
+     * @param publicId
+     *            is the PUBLIC URI
+     * @param systemId
+     *            is the SYSTEM URI
+     * 
+     * @return this <code>Document</code> instance.
+     */
+    Document addDocType(String name, String publicId, String systemId);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the DocumentType property
+     */
+    DocumentType getDocType();
+
+    /**
+     * Sets the DocumentType property
+     * 
+     * @param docType
+     *            DOCUMENT ME!
+     */
+    void setDocType(DocumentType docType);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the EntityResolver used to find resolve URIs such as for DTDs, or
+     *         XML Schema documents
+     */
+    EntityResolver getEntityResolver();
+
+    /**
+     * Sets the EntityResolver used to find resolve URIs such as for DTDs, or
+     * XML Schema documents
+     * 
+     * @param entityResolver
+     *            DOCUMENT ME!
+     */
+    void setEntityResolver(EntityResolver entityResolver);
+
+    /**
+     * Return the encoding of this document, as part of the XML declaration This
+     * is <code>null</code> when unspecified or when it is not known (such as
+     * when the Document was created in memory) or when the implementation does
+     * not support this operation.
+     * 
+     * <p>
+     * The way this encoding is retrieved also depends on the way the XML source
+     * is parsed. For instance, if the SAXReader is used and if the underlying
+     * XMLReader implementation support the
+     * <code>org.xml.sax.ext.Locator2</code> interface, the result returned by
+     * this method is specified by the <code>getEncoding()</code> method of
+     * that interface.
+     * </p>
+     * 
+     * @return The encoding of this document, as stated in the XML declaration,
+     *         or <code>null</code> if unknown.
+     * 
+     * @since 1.5
+     */
+    String getXMLEncoding();
+
+    /**
+     * Sets the encoding of this document as it will appear in the XML
+     * declaration part of the document.
+     * 
+     * @param encoding the encoding of the document
+     * 
+     * @since 1.6
+     */
+    void setXMLEncoding(String encoding);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/DocumentException.java b/src/java/org/dom4j/DocumentException.java
new file mode 100644
index 0000000..21de153
--- /dev/null
+++ b/src/java/org/dom4j/DocumentException.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.io.PrintStream;
+import java.io.PrintWriter;
+
+/**
+ * <p>
+ * <code>DocumentException</code> is a nested Exception which may be thrown
+ * during the processing of a DOM4J document.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class DocumentException extends Exception {
+    /** A wrapped <code>Throwable</code> */
+    private Throwable nestedException;
+
+    public DocumentException() {
+        super("Error occurred in DOM4J application.");
+    }
+
+    public DocumentException(String message) {
+        super(message);
+    }
+
+    public DocumentException(Throwable nestedException) {
+        super(nestedException.getMessage());
+        this.nestedException = nestedException;
+    }
+
+    public DocumentException(String message, Throwable nestedException) {
+        super(message);
+        this.nestedException = nestedException;
+    }
+
+    public Throwable getNestedException() {
+        return nestedException;
+    }
+
+    public String getMessage() {
+        if (nestedException != null) {
+            return super.getMessage() + " Nested exception: "
+                    + nestedException.getMessage();
+        } else {
+            return super.getMessage();
+        }
+    }
+
+    public void printStackTrace() {
+        super.printStackTrace();
+
+        if (nestedException != null) {
+            System.err.print("Nested exception: ");
+            nestedException.printStackTrace();
+        }
+    }
+
+    public void printStackTrace(PrintStream out) {
+        super.printStackTrace(out);
+
+        if (nestedException != null) {
+            out.println("Nested exception: ");
+            nestedException.printStackTrace(out);
+        }
+    }
+
+    public void printStackTrace(PrintWriter writer) {
+        super.printStackTrace(writer);
+
+        if (nestedException != null) {
+            writer.println("Nested exception: ");
+            nestedException.printStackTrace(writer);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/DocumentFactory.java b/src/java/org/dom4j/DocumentFactory.java
new file mode 100644
index 0000000..53e9797
--- /dev/null
+++ b/src/java/org/dom4j/DocumentFactory.java
@@ -0,0 +1,456 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.rule.Pattern;
+import org.dom4j.tree.AbstractDocument;
+import org.dom4j.tree.DefaultAttribute;
+import org.dom4j.tree.DefaultCDATA;
+import org.dom4j.tree.DefaultComment;
+import org.dom4j.tree.DefaultDocument;
+import org.dom4j.tree.DefaultDocumentType;
+import org.dom4j.tree.DefaultElement;
+import org.dom4j.tree.DefaultEntity;
+import org.dom4j.tree.DefaultProcessingInstruction;
+import org.dom4j.tree.DefaultText;
+import org.dom4j.tree.QNameCache;
+import org.dom4j.util.SimpleSingleton;
+import org.dom4j.util.SingletonStrategy;
+import org.dom4j.xpath.DefaultXPath;
+import org.dom4j.xpath.XPathPattern;
+import org.jaxen.VariableContext;
+
+/**
+ * <p>
+ * <code>DocumentFactory</code> is a collection of factory methods to allow
+ * easy custom building of DOM4J trees. The default tree that is built uses a
+ * doubly linked tree.
+ * </p>
+ * 
+ * <p>
+ * The tree built allows full XPath expressions from anywhere on the tree.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ */
+public class DocumentFactory implements Serializable {
+    private static SingletonStrategy singleton = null;
+
+    protected transient QNameCache cache;
+
+    /** Default namespace prefix -> URI mappings for XPath expressions to use */
+    private Map xpathNamespaceURIs;
+
+    private static SingletonStrategy createSingleton() {
+        SingletonStrategy result = null;
+        
+        String documentFactoryClassName;
+        try {
+            documentFactoryClassName = System.getProperty("org.dom4j.factory",
+                    "org.dom4j.DocumentFactory");
+        } catch (Exception e) {
+            documentFactoryClassName = "org.dom4j.DocumentFactory";
+        }
+
+        try {
+            String singletonClass = System.getProperty(
+                    "org.dom4j.DocumentFactory.singleton.strategy",
+                    "org.dom4j.util.SimpleSingleton");
+            Class clazz = Class.forName(singletonClass);
+            result = (SingletonStrategy) clazz.newInstance();
+        } catch (Exception e) {
+            result = new SimpleSingleton();
+        }
+
+        result.setSingletonClassName(documentFactoryClassName);
+        
+        return result;
+    }
+
+    public DocumentFactory() {
+        init();
+    }
+
+    /**
+     * <p>
+     * Access to singleton implementation of DocumentFactory which is used if no
+     * DocumentFactory is specified when building using the standard builders.
+     * </p>
+     * 
+     * @return the default singleon instance
+     */
+    public static synchronized DocumentFactory getInstance() {
+        if (singleton == null) {
+            singleton = createSingleton();
+        }
+        return (DocumentFactory) singleton.instance();
+    }
+
+    // Factory methods
+    public Document createDocument() {
+        DefaultDocument answer = new DefaultDocument();
+        answer.setDocumentFactory(this);
+
+        return answer;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param encoding
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @since 1.5
+     */
+    public Document createDocument(String encoding) {
+        // to keep the DocumentFactory backwards compatible, we have to do this
+        // in this not so nice way, since subclasses only need to extend the
+        // createDocument() method.
+        Document answer = createDocument();
+
+        if (answer instanceof AbstractDocument) {
+            ((AbstractDocument) answer).setXMLEncoding(encoding);
+        }
+
+        return answer;
+    }
+
+    public Document createDocument(Element rootElement) {
+        Document answer = createDocument();
+        answer.setRootElement(rootElement);
+
+        return answer;
+    }
+
+    public DocumentType createDocType(String name, String publicId,
+            String systemId) {
+        return new DefaultDocumentType(name, publicId, systemId);
+    }
+
+    public Element createElement(QName qname) {
+        return new DefaultElement(qname);
+    }
+
+    public Element createElement(String name) {
+        return createElement(createQName(name));
+    }
+
+    public Element createElement(String qualifiedName, String namespaceURI) {
+        return createElement(createQName(qualifiedName, namespaceURI));
+    }
+
+    public Attribute createAttribute(Element owner, QName qname, String value) {
+        return new DefaultAttribute(qname, value);
+    }
+
+    public Attribute createAttribute(Element owner, String name, String value) {
+        return createAttribute(owner, createQName(name), value);
+    }
+
+    public CDATA createCDATA(String text) {
+        return new DefaultCDATA(text);
+    }
+
+    public Comment createComment(String text) {
+        return new DefaultComment(text);
+    }
+
+    public Text createText(String text) {
+        if (text == null) {
+            String msg = "Adding text to an XML document must not be null";
+            throw new IllegalArgumentException(msg);
+        }
+
+        return new DefaultText(text);
+    }
+
+    public Entity createEntity(String name, String text) {
+        return new DefaultEntity(name, text);
+    }
+
+    public Namespace createNamespace(String prefix, String uri) {
+        return Namespace.get(prefix, uri);
+    }
+
+    public ProcessingInstruction createProcessingInstruction(String target,
+            String data) {
+        return new DefaultProcessingInstruction(target, data);
+    }
+
+    public ProcessingInstruction createProcessingInstruction(String target,
+            Map data) {
+        return new DefaultProcessingInstruction(target, data);
+    }
+
+    public QName createQName(String localName, Namespace namespace) {
+        return cache.get(localName, namespace);
+    }
+
+    public QName createQName(String localName) {
+        return cache.get(localName);
+    }
+
+    public QName createQName(String name, String prefix, String uri) {
+        return cache.get(name, Namespace.get(prefix, uri));
+    }
+
+    public QName createQName(String qualifiedName, String uri) {
+        return cache.get(qualifiedName, uri);
+    }
+
+    /**
+     * <p>
+     * <code>createXPath</code> parses an XPath expression and creates a new
+     * XPath <code>XPath</code> instance.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to create
+     * 
+     * @return a new <code>XPath</code> instance
+     * 
+     * @throws InvalidXPathException
+     *             if the XPath expression is invalid
+     */
+    public XPath createXPath(String xpathExpression)
+            throws InvalidXPathException {
+        DefaultXPath xpath = new DefaultXPath(xpathExpression);
+
+        if (xpathNamespaceURIs != null) {
+            xpath.setNamespaceURIs(xpathNamespaceURIs);
+        }
+
+        return xpath;
+    }
+
+    /**
+     * <p>
+     * <code>createXPath</code> parses an XPath expression and creates a new
+     * XPath <code>XPath</code> instance.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to create
+     * @param variableContext
+     *            is the variable context to use when evaluating the XPath
+     * 
+     * @return a new <code>XPath</code> instance
+     */
+    public XPath createXPath(String xpathExpression,
+            VariableContext variableContext) {
+        XPath xpath = createXPath(xpathExpression);
+        xpath.setVariableContext(variableContext);
+
+        return xpath;
+    }
+
+    /**
+     * <p>
+     * <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+     * filter expression. XPath filter expressions occur within XPath
+     * expressions such as <code>self::node()[ filterExpression ]</code>
+     * </p>
+     * 
+     * @param xpathFilterExpression
+     *            is the XPath filter expression to create
+     * @param variableContext
+     *            is the variable context to use when evaluating the XPath
+     * 
+     * @return a new <code>NodeFilter</code> instance
+     */
+    public NodeFilter createXPathFilter(String xpathFilterExpression,
+            VariableContext variableContext) {
+        XPath answer = createXPath(xpathFilterExpression);
+
+        // DefaultXPath answer = new DefaultXPath( xpathFilterExpression );
+        answer.setVariableContext(variableContext);
+
+        return answer;
+    }
+
+    /**
+     * <p>
+     * <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+     * filter expression. XPath filter expressions occur within XPath
+     * expressions such as <code>self::node()[ filterExpression ]</code>
+     * </p>
+     * 
+     * @param xpathFilterExpression
+     *            is the XPath filter expression to create
+     * 
+     * @return a new <code>NodeFilter</code> instance
+     */
+    public NodeFilter createXPathFilter(String xpathFilterExpression) {
+        return createXPath(xpathFilterExpression);
+
+        // return new DefaultXPath( xpathFilterExpression );
+    }
+
+    /**
+     * <p>
+     * <code>createPattern</code> parses the given XPath expression to create
+     * an XSLT style {@link Pattern}instance which can then be used in an XSLT
+     * processing model.
+     * </p>
+     * 
+     * @param xpathPattern
+     *            is the XPath pattern expression to create
+     * 
+     * @return a new <code>Pattern</code> instance
+     */
+    public Pattern createPattern(String xpathPattern) {
+        return new XPathPattern(xpathPattern);
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * Returns a list of all the QName instances currently used by this document
+     * factory
+     * 
+     * @return DOCUMENT ME!
+     */
+    public List getQNames() {
+        return cache.getQNames();
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the Map of namespace URIs that will be used by by XPath
+     *         expressions to resolve namespace prefixes into namespace URIs.
+     *         The map is keyed by namespace prefix and the value is the
+     *         namespace URI. This value could well be null to indicate no
+     *         namespace URIs are being mapped.
+     */
+    public Map getXPathNamespaceURIs() {
+        return xpathNamespaceURIs;
+    }
+
+    /**
+     * Sets the namespace URIs to be used by XPath expressions created by this
+     * factory or by nodes associated with this factory. The keys are namespace
+     * prefixes and the values are namespace URIs.
+     * 
+     * @param namespaceURIs
+     *            DOCUMENT ME!
+     */
+    public void setXPathNamespaceURIs(Map namespaceURIs) {
+        this.xpathNamespaceURIs = namespaceURIs;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * <p>
+     * <code>createSingleton</code> creates the singleton instance from the
+     * given class name.
+     * </p>
+     * 
+     * @param className
+     *            is the name of the DocumentFactory class to use
+     * 
+     * @return a new singleton instance.
+     */
+    protected static DocumentFactory createSingleton(String className) {
+        // let's try and class load an implementation?
+        try {
+            // I'll use the current class loader
+            // that loaded me to avoid problems in J2EE and web apps
+            Class theClass = Class.forName(className, true,
+                    DocumentFactory.class.getClassLoader());
+
+            return (DocumentFactory) theClass.newInstance();
+        } catch (Throwable e) {
+            System.out.println("WARNING: Cannot load DocumentFactory: "
+                    + className);
+
+            return new DocumentFactory();
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param qname
+     *            DOCUMENT ME!
+     * 
+     * @return the cached QName instance if there is one or adds the given qname
+     *         to the cache if not
+     */
+    protected QName intern(QName qname) {
+        return cache.intern(qname);
+    }
+
+    /**
+     * Factory method to create the QNameCache. This method should be overloaded
+     * if you wish to use your own derivation of QName.
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected QNameCache createQNameCache() {
+        return new QNameCache(this);
+    }
+
+    private void readObject(ObjectInputStream in) throws IOException,
+            ClassNotFoundException {
+        in.defaultReadObject();
+        init();
+    }
+
+    protected void init() {
+        cache = createQNameCache();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
\ No newline at end of file
diff --git a/src/java/org/dom4j/DocumentHelper.java b/src/java/org/dom4j/DocumentHelper.java
new file mode 100644
index 0000000..ac7a92c
--- /dev/null
+++ b/src/java/org/dom4j/DocumentHelper.java
@@ -0,0 +1,412 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.io.StringReader;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import org.dom4j.io.SAXReader;
+import org.dom4j.rule.Pattern;
+
+import org.jaxen.VariableContext;
+
+import org.xml.sax.InputSource;
+
+/**
+ * <p>
+ * <code>DocumentHelper</code> is a collection of helper methods for using
+ * DOM4J.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.26 $
+ */
+public final class DocumentHelper {
+    private DocumentHelper() {
+    }
+
+    private static DocumentFactory getDocumentFactory() {
+        return DocumentFactory.getInstance();
+    }
+
+    // Static helper methods
+    public static Document createDocument() {
+        return getDocumentFactory().createDocument();
+    }
+
+    public static Document createDocument(Element rootElement) {
+        return getDocumentFactory().createDocument(rootElement);
+    }
+
+    public static Element createElement(QName qname) {
+        return getDocumentFactory().createElement(qname);
+    }
+
+    public static Element createElement(String name) {
+        return getDocumentFactory().createElement(name);
+    }
+
+    public static Attribute createAttribute(Element owner, QName qname,
+            String value) {
+        return getDocumentFactory().createAttribute(owner, qname, value);
+    }
+
+    public static Attribute createAttribute(Element owner, String name,
+            String value) {
+        return getDocumentFactory().createAttribute(owner, name, value);
+    }
+
+    public static CDATA createCDATA(String text) {
+        return DocumentFactory.getInstance().createCDATA(text);
+    }
+
+    public static Comment createComment(String text) {
+        return DocumentFactory.getInstance().createComment(text);
+    }
+
+    public static Text createText(String text) {
+        return DocumentFactory.getInstance().createText(text);
+    }
+
+    public static Entity createEntity(String name, String text) {
+        return DocumentFactory.getInstance().createEntity(name, text);
+    }
+
+    public static Namespace createNamespace(String prefix, String uri) {
+        return DocumentFactory.getInstance().createNamespace(prefix, uri);
+    }
+
+    public static ProcessingInstruction createProcessingInstruction(String pi,
+            String d) {
+        return getDocumentFactory().createProcessingInstruction(pi, d);
+    }
+
+    public static ProcessingInstruction createProcessingInstruction(String pi,
+            Map data) {
+        return getDocumentFactory().createProcessingInstruction(pi, data);
+    }
+
+    public static QName createQName(String localName, Namespace namespace) {
+        return getDocumentFactory().createQName(localName, namespace);
+    }
+
+    public static QName createQName(String localName) {
+        return getDocumentFactory().createQName(localName);
+    }
+
+    /**
+     * <p>
+     * <code>createXPath</code> parses an XPath expression and creates a new
+     * XPath <code>XPath</code> instance using the singleton {@link
+     * DocumentFactory}.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to create
+     * 
+     * @return a new <code>XPath</code> instance
+     * 
+     * @throws InvalidXPathException
+     *             if the XPath expression is invalid
+     */
+    public static XPath createXPath(String xpathExpression)
+            throws InvalidXPathException {
+        return getDocumentFactory().createXPath(xpathExpression);
+    }
+
+    /**
+     * <p>
+     * <code>createXPath</code> parses an XPath expression and creates a new
+     * XPath <code>XPath</code> instance using the singleton {@link
+     * DocumentFactory}.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to create
+     * @param context
+     *            is the variable context to use when evaluating the XPath
+     * 
+     * @return a new <code>XPath</code> instance
+     * 
+     * @throws InvalidXPathException
+     *             if the XPath expression is invalid
+     */
+    public static XPath createXPath(String xpathExpression,
+            VariableContext context) throws InvalidXPathException {
+        return getDocumentFactory().createXPath(xpathExpression, context);
+    }
+
+    /**
+     * <p>
+     * <code>createXPathFilter</code> parses a NodeFilter from the given XPath
+     * filter expression using the singleton {@link DocumentFactory}. XPath
+     * filter expressions occur within XPath expressions such as
+     * <code>self::node()[ filterExpression ]</code>
+     * </p>
+     * 
+     * @param xpathFilterExpression
+     *            is the XPath filter expression to create
+     * 
+     * @return a new <code>NodeFilter</code> instance
+     */
+    public static NodeFilter createXPathFilter(String xpathFilterExpression) {
+        return getDocumentFactory().createXPathFilter(xpathFilterExpression);
+    }
+
+    /**
+     * <p>
+     * <code>createPattern</code> parses the given XPath expression to create
+     * an XSLT style {@link Pattern}instance which can then be used in an XSLT
+     * processing model.
+     * </p>
+     * 
+     * @param xpathPattern
+     *            is the XPath pattern expression to create
+     * 
+     * @return a new <code>Pattern</code> instance
+     */
+    public static Pattern createPattern(String xpathPattern) {
+        return getDocumentFactory().createPattern(xpathPattern);
+    }
+
+    /**
+     * <p>
+     * <code>selectNodes</code> performs the given XPath expression on the
+     * {@link List}of {@link Node}instances appending all the results together
+     * into a single list.
+     * </p>
+     * 
+     * @param xpathFilterExpression
+     *            is the XPath filter expression to evaluate
+     * @param nodes
+     *            is the list of nodes on which to evalute the XPath
+     * 
+     * @return the results of all the XPath evaluations as a single list
+     */
+    public static List selectNodes(String xpathFilterExpression, List nodes) {
+        XPath xpath = createXPath(xpathFilterExpression);
+
+        return xpath.selectNodes(nodes);
+    }
+
+    /**
+     * <p>
+     * <code>selectNodes</code> performs the given XPath expression on the
+     * {@link List}of {@link Node}instances appending all the results together
+     * into a single list.
+     * </p>
+     * 
+     * @param xpathFilterExpression
+     *            is the XPath filter expression to evaluate
+     * @param node
+     *            is the Node on which to evalute the XPath
+     * 
+     * @return the results of all the XPath evaluations as a single list
+     */
+    public static List selectNodes(String xpathFilterExpression, Node node) {
+        XPath xpath = createXPath(xpathFilterExpression);
+
+        return xpath.selectNodes(node);
+    }
+
+    /**
+     * <p>
+     * <code>sort</code> sorts the given List of Nodes using an XPath
+     * expression as a {@link java.util.Comparator}.
+     * </p>
+     * 
+     * @param list
+     *            is the list of Nodes to sort
+     * @param xpathExpression
+     *            is the XPath expression used for comparison
+     */
+    public static void sort(List list, String xpathExpression) {
+        XPath xpath = createXPath(xpathExpression);
+        xpath.sort(list);
+    }
+
+    /**
+     * <p>
+     * <code>sort</code> sorts the given List of Nodes using an XPath
+     * expression as a {@link java.util.Comparator}and optionally removing
+     * duplicates.
+     * </p>
+     * 
+     * @param list
+     *            is the list of Nodes to sort
+     * @param expression
+     *            is the XPath expression used for comparison
+     * @param distinct
+     *            if true then duplicate values (using the sortXPath for
+     *            comparisions) will be removed from the List
+     */
+    public static void sort(List list, String expression, boolean distinct) {
+        XPath xpath = createXPath(expression);
+        xpath.sort(list, distinct);
+    }
+
+    /**
+     * <p>
+     * <code>parseText</code> parses the given text as an XML document and
+     * returns the newly created Document.
+     * </p>
+     * 
+     * @param text
+     *            the XML text to be parsed
+     * 
+     * @return a newly parsed Document
+     * 
+     * @throws DocumentException
+     *             if the document could not be parsed
+     */
+    public static Document parseText(String text) throws DocumentException {
+        Document result = null;
+
+        SAXReader reader = new SAXReader();
+        String encoding = getEncoding(text);
+
+        InputSource source = new InputSource(new StringReader(text));
+        source.setEncoding(encoding);
+
+        result = reader.read(source);
+
+        // if the XML parser doesn't provide a way to retrieve the encoding,
+        // specify it manually
+        if (result.getXMLEncoding() == null) {
+            result.setXMLEncoding(encoding);
+        }
+
+        return result;
+    }
+
+    private static String getEncoding(String text) {
+        String result = null;
+
+        String xml = text.trim();
+
+        if (xml.startsWith("<?xml")) {
+            int end = xml.indexOf("?>");
+            String sub = xml.substring(0, end);
+            StringTokenizer tokens = new StringTokenizer(sub, " =\"\'");
+
+            while (tokens.hasMoreTokens()) {
+                String token = tokens.nextToken();
+
+                if ("encoding".equals(token)) {
+                    if (tokens.hasMoreTokens()) {
+                        result = tokens.nextToken();
+                    }
+
+                    break;
+                }
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * <p>
+     * makeElement
+     * </p>
+     * a helper method which navigates from the given Document or Element node
+     * to some Element using the path expression, creating any necessary
+     * elements along the way. For example the path <code>a/b/c</code> would
+     * get the first child <a> element, which would be created if it did
+     * not exist, then the next child <b> and so on until finally a
+     * <c> element is returned.
+     * 
+     * @param source
+     *            is the Element or Document to start navigating from
+     * @param path
+     *            is a simple path expression, seperated by '/' which denotes
+     *            the path from the source to the resulting element such as
+     *            a/b/c
+     * 
+     * @return the first Element on the given path which either already existed
+     *         on the path or were created by this method.
+     */
+    public static Element makeElement(Branch source, String path) {
+        StringTokenizer tokens = new StringTokenizer(path, "/");
+        Element parent;
+
+        if (source instanceof Document) {
+            Document document = (Document) source;
+            parent = document.getRootElement();
+
+            // lets throw a NoSuchElementException
+            // if we are given an empty path
+            String name = tokens.nextToken();
+
+            if (parent == null) {
+                parent = document.addElement(name);
+            }
+        } else {
+            parent = (Element) source;
+        }
+
+        Element element = null;
+
+        while (tokens.hasMoreTokens()) {
+            String name = tokens.nextToken();
+
+            if (name.indexOf(':') > 0) {
+                element = parent.element(parent.getQName(name));
+            } else {
+                element = parent.element(name);
+            }
+
+            if (element == null) {
+                element = parent.addElement(name);
+            }
+
+            parent = element;
+        }
+
+        return element;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/DocumentType.java b/src/java/org/dom4j/DocumentType.java
new file mode 100644
index 0000000..160815a
--- /dev/null
+++ b/src/java/org/dom4j/DocumentType.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.util.List;
+
+/**
+ * <p>
+ * <code>DocumentType</code> defines an XML DOCTYPE declaration.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public interface DocumentType extends Node {
+    /**
+     * This method is the equivalent to the {@link #getName}method. It is added
+     * for clarity.
+     * 
+     * @return the root element name for the document type.
+     */
+    String getElementName();
+
+    /**
+     * This method is the equivalent to the {@link #setName}method. It is added
+     * for clarity.
+     * 
+     * @param elementName
+     *            DOCUMENT ME!
+     */
+    void setElementName(String elementName);
+
+    String getPublicID();
+
+    void setPublicID(String publicID);
+
+    String getSystemID();
+
+    void setSystemID(String systemID);
+
+    /**
+     * Returns a list of internal DTD declaration objects, defined in the
+     * {@link org.dom4j.dtd}package
+     * 
+     * @return DOCUMENT ME!
+     */
+    List getInternalDeclarations();
+
+    /**
+     * Sets the list of internal DTD declaration objects, defined in the
+     * {@link org.dom4j.dtd}package
+     * 
+     * @param declarations
+     *            DOCUMENT ME!
+     */
+    void setInternalDeclarations(List declarations);
+
+    /**
+     * Returns a list of internal DTD declaration objects, defined in the
+     * {@link org.dom4j.dtd}package
+     * 
+     * @return DOCUMENT ME!
+     */
+    List getExternalDeclarations();
+
+    /**
+     * Sets the list of internal DTD declaration objects, defined in the
+     * {@link org.dom4j.dtd}package
+     * 
+     * @param declarations
+     *            DOCUMENT ME!
+     */
+    void setExternalDeclarations(List declarations);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/Element.java b/src/java/org/dom4j/Element.java
new file mode 100644
index 0000000..55e4183
--- /dev/null
+++ b/src/java/org/dom4j/Element.java
@@ -0,0 +1,885 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * <code>Element</code> interface defines an XML element. An element can have
+ * declared namespaces, attributes, child nodes and textual content.
+ * </p>
+ * 
+ * <p>
+ * Some of this interface is optional. Some implementations may be read-only and
+ * not support being modified. Some implementations may not support the parent
+ * relationship and methods such as {@link #getParent}or {@link#getDocument}.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.47 $
+ */
+public interface Element extends Branch {
+    // Name and namespace related methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * <p>
+     * Returns the <code>QName</code> of this element which represents the
+     * local name, the qualified name and the <code>Namespace</code>.
+     * </p>
+     * 
+     * @return the <code>QName</code> associated with this element
+     */
+    QName getQName();
+
+    /**
+     * <p>
+     * Sets the <code>QName</code> of this element which represents the local
+     * name, the qualified name and the <code>Namespace</code>.
+     * </p>
+     * 
+     * @param qname
+     *            is the <code>QName</code> to be associated with this element
+     */
+    void setQName(QName qname);
+
+    /**
+     * <p>
+     * Returns the <code>Namespace</code> of this element if one exists
+     * otherwise <code>Namespace.NO_NAMESPACE</code> is returned.
+     * </p>
+     * 
+     * @return the <code>Namespace</code> associated with this element
+     */
+    Namespace getNamespace();
+
+    /**
+     * <p>
+     * Returns the <code>QName</code> for the given qualified name, using the
+     * namespace URI in scope for the given prefix of the qualified name or the
+     * default namespace if the qualified name has no prefix.
+     * </p>
+     * 
+     * @param qualifiedName
+     *            DOCUMENT ME!
+     * 
+     * @return the <code>QName</code> for the given qualified name
+     */
+    QName getQName(String qualifiedName);
+
+    /**
+     * <p>
+     * Returns the <code>Namespace</code> which is mapped to the given prefix
+     * or null if it could not be found.
+     * </p>
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * 
+     * @return the <code>Namespace</code> associated with the given prefix
+     */
+    Namespace getNamespaceForPrefix(String prefix);
+
+    /**
+     * <p>
+     * Returns the <code>Namespace</code> which is mapped to the given URI or
+     * null if it could not be found. If there is more than one
+     * <code>Namespace</code> mapped to the URI, which of them will be
+     * returned is undetermined.
+     * </p>
+     * 
+     * @param uri
+     *            DOCUMENT ME!
+     * 
+     * @return the <code>Namespace</code> associated with the given URI
+     */
+    Namespace getNamespaceForURI(String uri);
+
+    /**
+     * <p>
+     * Returns the all namespaces which are mapped to the given URI or an empty
+     * list if no such namespaces could be found.
+     * </p>
+     * 
+     * @param uri
+     *            DOCUMENT ME!
+     * 
+     * @return the namespaces associated with the given URI
+     * 
+     * @since 1.5
+     */
+    List getNamespacesForURI(String uri);
+
+    /**
+     * <p>
+     * Returns the namespace prefix of this element if one exists otherwise an
+     * empty <code>String</code> is returned.
+     * </p>
+     * 
+     * @return the prefix of the <code>Namespace</code> of this element or an
+     *         empty <code>String</code>
+     */
+    String getNamespacePrefix();
+
+    /**
+     * <p>
+     * Returns the URI mapped to the namespace of this element if one exists
+     * otherwise an empty <code>String</code> is returned.
+     * </p>
+     * 
+     * @return the URI for the <code>Namespace</code> of this element or an
+     *         empty <code>String</code>
+     */
+    String getNamespaceURI();
+
+    /**
+     * <p>
+     * Returns the fully qualified name of this element. This will be the same
+     * as the value returned from {@link #getName}if this element has no
+     * namespace attached to this element or an expression of the form
+     * 
+     * <pre>
+     * getNamespacePrefix() + ":" + getName()
+     * </pre>
+     * 
+     * will be returned.
+     * </p>
+     * 
+     * @return the fully qualified name of the element.
+     */
+    String getQualifiedName();
+
+    /**
+     * <p>
+     * Returns any additional namespaces declarations for this element other
+     * than namespace returned via the {@link #getNamespace()}method. If no
+     * additional namespace declarations are present for this element then an
+     * empty list will be returned. The list is backed by the element such that
+     * changes to the list will be reflected in the element though the reverse
+     * is not the case.
+     * </p>
+     * 
+     * @return a list of any additional namespace declarations.
+     */
+    List additionalNamespaces();
+
+    /**
+     * <p>
+     * Returns all the namespaces declared by this element. If no namespaces are
+     * declared for this element then an empty list will be returned. The list
+     * is backed by the element such that changes to the list will be reflected
+     * in the element though the reverse is not the case.
+     * </p>
+     * 
+     * @return a list of namespaces declared for this element.
+     */
+    List declaredNamespaces();
+
+    // Builder methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * <p>
+     * Adds the attribute value of the given local name. If an attribute already
+     * exists for the given name it will be replaced. Attributes with null
+     * values are silently ignored. If the value of the attribute is null then
+     * this method call will remove any attributes with the given name.
+     * </p>
+     * 
+     * @param name
+     *            is the name of the attribute whose value is to be added or
+     *            updated
+     * @param value
+     *            is the attribute's value
+     * 
+     * @return this <code>Element</code> instance.
+     */
+    Element addAttribute(String name, String value);
+
+    /**
+     * <p>
+     * Adds the attribute value of the given fully qualified name. If an
+     * attribute already exists for the given name it will be replaced.
+     * Attributes with null values are silently ignored. If the value of the
+     * attribute is null then this method call will remove any attributes with
+     * the given name.
+     * </p>
+     * 
+     * @param qName
+     *            is the fully qualified name of the attribute whose value is to
+     *            be added or updated
+     * @param value
+     *            is the attribute's value
+     * 
+     * @return this <code>Element</code> instance.
+     */
+    Element addAttribute(QName qName, String value);
+
+    /**
+     * Adds a new <code>Comment</code> node with the given text to this
+     * element.
+     * 
+     * @param comment
+     *            is the text for the <code>Comment</code> node.
+     * 
+     * @return this <code>Element</code> instance.
+     */
+    Element addComment(String comment);
+
+    /**
+     * Adds a new <code>CDATA</code> node with the given text to this element.
+     * 
+     * @param cdata
+     *            is the text for the <code>CDATA</code> node.
+     * 
+     * @return this <code>Element</code> instance.
+     */
+    Element addCDATA(String cdata);
+
+    /**
+     * Adds a new <code>Entity</code> node with the given name and text to
+     * this element and returns a reference to the new node.
+     * 
+     * @param name
+     *            is the name for the <code>Entity</code> node.
+     * @param text
+     *            is the text for the <code>Entity</code> node.
+     * 
+     * @return this <code>Element</code> instance.
+     */
+    Element addEntity(String name, String text);
+
+    /**
+     * Adds a namespace to this element for use by its child content
+     * 
+     * @param prefix
+     *            is the prefix to use, which should not be null or blank
+     * @param uri
+     *            is the namespace URI
+     * 
+     * @return this <code>Element</code> instance.
+     */
+    Element addNamespace(String prefix, String uri);
+
+    /**
+     * Adds a processing instruction for the given target
+     * 
+     * @param target
+     *            is the target of the processing instruction
+     * @param text
+     *            is the textual data (key/value pairs) of the processing
+     *            instruction
+     * 
+     * @return this <code>Element</code> instance.
+     */
+    Element addProcessingInstruction(String target, String text);
+
+    /**
+     * Adds a processing instruction for the given target
+     * 
+     * @param target
+     *            is the target of the processing instruction
+     * @param data
+     *            is a Map of the key / value pairs of the processing
+     *            instruction
+     * 
+     * @return this <code>Element</code> instance.
+     */
+    Element addProcessingInstruction(String target, Map data);
+
+    /**
+     * Adds a new <code>Text</code> node with the given text to this element.
+     * 
+     * @param text
+     *            is the text for the <code>Text</code> node.
+     * 
+     * @return this <code>Element</code> instance.
+     */
+    Element addText(String text);
+
+    // Typesafe modifying methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Adds the given <code>Attribute</code> to this element. If the given
+     * node already has a parent defined then an
+     * <code>IllegalAddException</code> will be thrown. Attributes with null
+     * values are silently ignored.
+     * 
+     * <p>
+     * If the value of the attribute is null then this method call will remove
+     * any attributes with the QName of this attribute.
+     * </p>
+     * 
+     * @param attribute
+     *            is the attribute to be added
+     */
+    void add(Attribute attribute);
+
+    /**
+     * Adds the given <code>CDATA</code> to this element. If the given node
+     * already has a parent defined then an <code>IllegalAddException</code>
+     * will be thrown.
+     * 
+     * @param cdata
+     *            is the CDATA to be added
+     */
+    void add(CDATA cdata);
+
+    /**
+     * Adds the given <code>Entity</code> to this element. If the given node
+     * already has a parent defined then an <code>IllegalAddException</code>
+     * will be thrown.
+     * 
+     * @param entity
+     *            is the entity to be added
+     */
+    void add(Entity entity);
+
+    /**
+     * Adds the given <code>Text</code> to this element. If the given node
+     * already has a parent defined then an <code>IllegalAddException</code>
+     * will be thrown.
+     * 
+     * @param text
+     *            is the text to be added
+     */
+    void add(Text text);
+
+    /**
+     * Adds the given <code>Namespace</code> to this element. If the given
+     * node already has a parent defined then an
+     * <code>IllegalAddException</code> will be thrown.
+     * 
+     * @param namespace
+     *            is the namespace to be added
+     */
+    void add(Namespace namespace);
+
+    /**
+     * Removes the given <code>Attribute</code> from this element.
+     * 
+     * @param attribute
+     *            is the attribute to be removed
+     * 
+     * @return true if the attribute was removed
+     */
+    boolean remove(Attribute attribute);
+
+    /**
+     * Removes the given <code>CDATA</code> if the node is an immediate child
+     * of this element. If the given node is not an immediate child of this
+     * element then the {@link Node#detach()}method should be used instead.
+     * 
+     * @param cdata
+     *            is the CDATA to be removed
+     * 
+     * @return true if the cdata was removed
+     */
+    boolean remove(CDATA cdata);
+
+    /**
+     * Removes the given <code>Entity</code> if the node is an immediate child
+     * of this element. If the given node is not an immediate child of this
+     * element then the {@link Node#detach()}method should be used instead.
+     * 
+     * @param entity
+     *            is the entity to be removed
+     * 
+     * @return true if the entity was removed
+     */
+    boolean remove(Entity entity);
+
+    /**
+     * Removes the given <code>Namespace</code> if the node is an immediate
+     * child of this element. If the given node is not an immediate child of
+     * this element then the {@link Node#detach()}method should be used
+     * instead.
+     * 
+     * @param namespace
+     *            is the namespace to be removed
+     * 
+     * @return true if the namespace was removed
+     */
+    boolean remove(Namespace namespace);
+
+    /**
+     * Removes the given <code>Text</code> if the node is an immediate child
+     * of this element. If the given node is not an immediate child of this
+     * element then the {@link Node#detach()}method should be used instead.
+     * 
+     * @param text
+     *            is the text to be removed
+     * 
+     * @return true if the text was removed
+     */
+    boolean remove(Text text);
+
+    // Text methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Returns the text value of this element without recursing through child
+     * elements. This method iterates through all {@link Text},{@link CDATA}
+     * and {@link Entity}nodes that this element contains and appends the text
+     * values together.
+     * 
+     * @return the textual content of this Element. Child elements are not
+     *         navigated. This method does not return null;
+     */
+    String getText();
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the trimmed text value where whitespace is trimmed and normalised
+     *         into single spaces. This method does not return null.
+     */
+    String getTextTrim();
+
+    /**
+     * Returns the XPath string-value of this node. The behaviour of this method
+     * is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+     * specification </a>. This method returns the string-value of all the
+     * contained {@link Text},{@link CDATA},{@link Entity}and {@link
+     * Element} nodes all appended together.
+     * 
+     * @return the text from all the child Text and Element nodes appended
+     *         together.
+     */
+    String getStringValue();
+
+    /**
+     * Accesses the data of this element which may implement data typing
+     * bindings such as XML Schema or Java Bean bindings or will return the same
+     * value as {@link #getText}
+     * 
+     * @return DOCUMENT ME!
+     */
+    Object getData();
+
+    /**
+     * Sets the data value of this element if this element supports data binding
+     * or calls {@link #setText}if it doesn't
+     * 
+     * @param data
+     *            DOCUMENT ME!
+     */
+    void setData(Object data);
+
+    // Attribute methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * <p>
+     * Returns the {@link Attribute}instances this element contains as a backed
+     * {@link List}so that the attributes may be modified directly using the
+     * {@link List}interface. The <code>List</code> is backed by the
+     * <code>Element</code> so that changes to the list are reflected in the
+     * element and vice versa.
+     * </p>
+     * 
+     * @return the attributes that this element contains as a <code>List</code>
+     */
+    List attributes();
+
+    /**
+     * Sets the attributes that this element contains
+     * 
+     * @param attributes
+     *            DOCUMENT ME!
+     */
+    void setAttributes(List attributes);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the number of attributes this element contains
+     */
+    int attributeCount();
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return an iterator over the attributes of this element
+     */
+    Iterator attributeIterator();
+
+    /**
+     * Returns the attribute at the specified indexGets the
+     * 
+     * @param index
+     *            DOCUMENT ME!
+     * 
+     * @return the attribute at the specified index where index >= 0 and
+     *         index < number of attributes or throws an
+     *         IndexOutOfBoundsException if the index is not within the
+     *         allowable range
+     */
+    Attribute attribute(int index);
+
+    /**
+     * Returns the attribute with the given name
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return the attribute for the given local name in any namespace. If there
+     *         are more than one attributes with the given local name in
+     *         different namespaces then the first one is returned.
+     */
+    Attribute attribute(String name);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param qName
+     *            is the fully qualified name
+     * 
+     * @return the attribute for the given fully qualified name or null if it
+     *         could not be found.
+     */
+    Attribute attribute(QName qName);
+
+    /**
+     * <p>
+     * This returns the attribute value for the attribute with the given name
+     * and any namespace or null if there is no such attribute or the empty
+     * string if the attribute value is empty.
+     * </p>
+     * 
+     * @param name
+     *            is the name of the attribute value to be returnd
+     * 
+     * @return the value of the attribute, null if the attribute does not exist
+     *         or the empty string
+     */
+    String attributeValue(String name);
+
+    /**
+     * <p>
+     * This returns the attribute value for the attribute with the given name
+     * and any namespace or the default value if there is no such attribute
+     * value.
+     * </p>
+     * 
+     * @param name
+     *            is the name of the attribute value to be returnd
+     * @param defaultValue
+     *            is the default value to be returned if the attribute has no
+     *            value defined.
+     * 
+     * @return the value of the attribute or the defaultValue if the attribute
+     *         has no value defined.
+     */
+    String attributeValue(String name, String defaultValue);
+
+    /**
+     * <p>
+     * This returns the attribute value for the attribute with the given fully
+     * qualified name or null if there is no such attribute or the empty string
+     * if the attribute value is empty.
+     * </p>
+     * 
+     * @param qName
+     *            is the fully qualified name
+     * 
+     * @return the value of the attribute, null if the attribute does not exist
+     *         or the empty string
+     */
+    String attributeValue(QName qName);
+
+    /**
+     * <p>
+     * This returns the attribute value for the attribute with the given fully
+     * qualified name or the default value if there is no such attribute value.
+     * </p>
+     * 
+     * @param qName
+     *            is the fully qualified name
+     * @param defaultValue
+     *            is the default value to be returned if the attribute has no
+     *            value defined.
+     * 
+     * @return the value of the attribute or the defaultValue if the attribute
+     *         has no value defined.
+     */
+    String attributeValue(QName qName, String defaultValue);
+
+    /**
+     * <p>
+     * Sets the attribute value of the given local name.
+     * </p>
+     * 
+     * @param name
+     *            is the name of the attribute whose value is to be added or
+     *            updated
+     * @param value
+     *            is the attribute's value
+     * 
+     * @deprecated As of version 0.5. Please use {@link
+     *             #addAttribute(String,String)} instead. WILL BE REMOVED IN
+     *             dom4j-1.6 !!
+     */
+    void setAttributeValue(String name, String value);
+
+    /**
+     * <p>
+     * Sets the attribute value of the given fully qualified name.
+     * </p>
+     * 
+     * @param qName
+     *            is the fully qualified name of the attribute whose value is to
+     *            be added or updated
+     * @param value
+     *            is the attribute's value
+     * 
+     * @deprecated As of version 0.5. Please use {@link
+     *             #addAttribute(QName,String)} instead. WILL BE REMOVED IN
+     *             dom4j-1.6 !!
+     */
+    void setAttributeValue(QName qName, String value);
+
+    // Content methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Returns the first element for the given local name and any namespace.
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return the first element with the given local name
+     */
+    Element element(String name);
+
+    /**
+     * Returns the first element for the given fully qualified name.
+     * 
+     * @param qName
+     *            is the fully qualified name to search for
+     * 
+     * @return the first element with the given fully qualified name
+     */
+    Element element(QName qName);
+
+    /**
+     * <p>
+     * Returns the elements contained in this element. If this element does not
+     * contain any elements then this method returns an empty list. The list is
+     * backed by the element such that changes to the list will be reflected in
+     * the element though the reverse is not the case.
+     * </p>
+     * 
+     * @return a list of all the elements in this element.
+     */
+    List elements();
+
+    /**
+     * <p>
+     * Returns the elements contained in this element with the given local name
+     * and any namespace. If no elements are found then this method returns an
+     * empty list. The list is backed by the element such that changes to the
+     * list will be reflected in the element though the reverse is not the case.
+     * </p>
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return a list of all the elements in this element for the given local
+     *         name
+     */
+    List elements(String name);
+
+    /**
+     * <p>
+     * Returns the elements contained in this element with the given fully
+     * qualified name. If no elements are found then this method returns an
+     * empty list. The list is backed by the element such that changes to the
+     * list will be reflected in the element though the reverse is not the case.
+     * </p>
+     * 
+     * @param qName
+     *            is the fully qualified name to search for
+     * 
+     * @return a list of all the elements in this element for the given fully
+     *         qualified name.
+     */
+    List elements(QName qName);
+
+    /**
+     * Returns an iterator over all this elements child elements.
+     * 
+     * @return an iterator over the contained elements
+     */
+    Iterator elementIterator();
+
+    /**
+     * Returns an iterator over the elements contained in this element which
+     * match the given local name and any namespace.
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return an iterator over the contained elements matching the given local
+     *         name
+     */
+    Iterator elementIterator(String name);
+
+    /**
+     * Returns an iterator over the elements contained in this element which
+     * match the given fully qualified name.
+     * 
+     * @param qName
+     *            is the fully qualified name to search for
+     * 
+     * @return an iterator over the contained elements matching the given fully
+     *         qualified name
+     */
+    Iterator elementIterator(QName qName);
+
+    // Helper methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return true if this element is the root element of a document and this
+     *         element supports the parent relationship else false.
+     */
+    boolean isRootElement();
+
+    /**
+     * <p>
+     * Returns true if this <code>Element</code> has mixed content. Mixed
+     * content means that an element contains both textual data and child
+     * elements.
+     * </p>
+     * 
+     * @return true if this element contains mixed content.
+     */
+    boolean hasMixedContent();
+
+    /**
+     * <p>
+     * Returns true if this <code>Element</code> has text only content.
+     * </p>
+     * 
+     * @return true if this element is empty or only contains text content.
+     */
+    boolean isTextOnly();
+
+    /**
+     * Appends the attributes of the given element to me. This method behaves
+     * like the {@link java.util.Collection#addAll(java.util.Collection)}
+     * method.
+     * 
+     * @param element
+     *            is the element whose attributes will be added to me.
+     */
+    void appendAttributes(Element element);
+
+    /**
+     * <p>
+     * Creates a deep copy of this element The new element is detached from its
+     * parent, and getParent() on the clone will return null.
+     * </p>
+     * 
+     * @return a new deep copy Element
+     */
+    Element createCopy();
+
+    /**
+     * <p>
+     * Creates a deep copy of this element with the given local name The new
+     * element is detached from its parent, and getParent() on the clone will
+     * return null.
+     * </p>
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return a new deep copy Element
+     */
+    Element createCopy(String name);
+
+    /**
+     * <p>
+     * Creates a deep copy of this element with the given fully qualified name.
+     * The new element is detached from its parent, and getParent() on the clone
+     * will return null.
+     * </p>
+     * 
+     * @param qName
+     *            DOCUMENT ME!
+     * 
+     * @return a new deep copy Element
+     */
+    Element createCopy(QName qName);
+
+    String elementText(String name);
+
+    String elementText(QName qname);
+
+    String elementTextTrim(String name);
+
+    String elementTextTrim(QName qname);
+
+    /**
+     * Returns a node at the given index suitable for an XPath result set. This
+     * means the resulting Node will either be null or it will support the
+     * parent relationship.
+     * 
+     * @param index
+     *            DOCUMENT ME!
+     * 
+     * @return the Node for the given index which will support the parent
+     *         relationship or null if there is not a node at the given index.
+     */
+    Node getXPathResult(int index);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/ElementHandler.java b/src/java/org/dom4j/ElementHandler.java
new file mode 100644
index 0000000..d09dfe2
--- /dev/null
+++ b/src/java/org/dom4j/ElementHandler.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>ElementHandler</code> interface defines a handler of
+ * <code>Element</code> objects. It is used primarily in event based
+ * processing models such as for processing large XML documents as they are
+ * being parsed rather than waiting until the whole document is parsed.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+public interface ElementHandler {
+    /**
+     * Called by an event based processor when an elements openning tag is
+     * encountered.
+     * 
+     * @param elementPath
+     *            is the current <code>ElementPath</code> to process
+     */
+    void onStart(ElementPath elementPath);
+
+    /**
+     * Called by an event based processor when an elements closing tag is
+     * encountered.
+     * 
+     * @param elementPath
+     *            is the current <code>ElementPath</code> to process
+     */
+    void onEnd(ElementPath elementPath);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/ElementPath.java b/src/java/org/dom4j/ElementPath.java
new file mode 100644
index 0000000..7d414c6
--- /dev/null
+++ b/src/java/org/dom4j/ElementPath.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * This interface is used by {@link ElementHandler}instances to retrieve
+ * information about the current path hierarchy they are to process. It's
+ * primary use is to retrieve the current {@link Element}being processed.
+ * 
+ * @author <a href="mailto:dwhite at equipecom.com">Dave White </a>
+ * @version $Revision: 1.6 $
+ */
+public interface ElementPath {
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the number of elements in the path
+     */
+    int size();
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param depth
+     *            DOCUMENT ME!
+     * 
+     * @return the element at the specified depth index, 0 = root element
+     */
+    Element getElement(int depth);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the path as a string
+     */
+    String getPath();
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the current element
+     */
+    Element getCurrent();
+
+    /**
+     * Adds the <code>ElementHandler</code> to be called when the specified
+     * path is encounted. The path can be either an absolute path (i.e. prefixed
+     * with "/") or a relative path (i.e. assummed to be a child of the current
+     * path as retrieved by <b>getPath </b>.
+     * 
+     * @param path
+     *            is the path to be handled
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    void addHandler(String path, ElementHandler handler);
+
+    /**
+     * Removes the <code>ElementHandler</code> from the event based processor,
+     * for the specified path. The path can be either an absolute path (i.e.
+     * prefixed with "/") or a relative path (i.e. assummed to be a child of the
+     * current path as retrieved by <b>getPath </b>.
+     * 
+     * @param path
+     *            is the path to remove the <code>ElementHandler</code> for.
+     */
+    void removeHandler(String path);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/Entity.java b/src/java/org/dom4j/Entity.java
new file mode 100644
index 0000000..88173e8
--- /dev/null
+++ b/src/java/org/dom4j/Entity.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>Entity</code> defines an XML entity.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public interface Entity extends Node {
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/IllegalAddException.java b/src/java/org/dom4j/IllegalAddException.java
new file mode 100644
index 0000000..79e235e
--- /dev/null
+++ b/src/java/org/dom4j/IllegalAddException.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>IllegalAddException</code> is thrown when a node is added incorrectly
+ * to an <code>{@link Element}</code>
+ * </p>
+ * 
+ * @version $Revision: 1.6 $
+ */
+public class IllegalAddException extends IllegalArgumentException {
+    public IllegalAddException(String reason) {
+        super(reason);
+    }
+
+    public IllegalAddException(Element parent, Node node, String reason) {
+        super("The node \"" + node.toString()
+                + "\" could not be added to the element \""
+                + parent.getQualifiedName() + "\" because: " + reason);
+    }
+
+    public IllegalAddException(Branch parent, Node node, String reason) {
+        super("The node \"" + node.toString()
+                + "\" could not be added to the branch \"" + parent.getName()
+                + "\" because: " + reason);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/InvalidXPathException.java b/src/java/org/dom4j/InvalidXPathException.java
new file mode 100644
index 0000000..b69feb7
--- /dev/null
+++ b/src/java/org/dom4j/InvalidXPathException.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>InvalidXPathException</code> is thrown when an invalid XPath
+ * expression is used to traverse an XML document
+ * </p>
+ * 
+ * @version $Revision: 1.6.2.1 $
+ */
+public class InvalidXPathException extends IllegalArgumentException {
+	/** The <code>serialVersionUID</code>. */
+	private static final long serialVersionUID = 3257009869058881592L;
+
+	public InvalidXPathException(String xpath) {
+        super("Invalid XPath expression: " + xpath);
+    }
+
+    public InvalidXPathException(String xpath, String reason) {
+        super("Invalid XPath expression: " + xpath + " " + reason);
+    }
+
+    public InvalidXPathException(String xpath, Throwable t) {
+        super("Invalid XPath expression: '" + xpath 
+        		+ "'. Caused by: " + t.getMessage());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/Namespace.java b/src/java/org/dom4j/Namespace.java
new file mode 100644
index 0000000..6be8ea3
--- /dev/null
+++ b/src/java/org/dom4j/Namespace.java
@@ -0,0 +1,272 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import org.dom4j.tree.AbstractNode;
+import org.dom4j.tree.DefaultNamespace;
+import org.dom4j.tree.NamespaceCache;
+
+/**
+ * <p>
+ * <code>Namespace</code> is a Flyweight Namespace that can be shared amongst
+ * nodes.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.22 $
+ */
+public class Namespace extends AbstractNode {
+    /** Cache of Namespace instances */
+    protected static final NamespaceCache CACHE = new NamespaceCache();
+
+    /** XML Namespace */
+    public static final Namespace XML_NAMESPACE = CACHE.get("xml",
+            "http://www.w3.org/XML/1998/namespace");
+
+    /** No Namespace present */
+    public static final Namespace NO_NAMESPACE = CACHE.get("", "");
+
+    /** The prefix mapped to this namespace */
+    private String prefix;
+
+    /** The URI for this namespace */
+    private String uri;
+
+    /** A cached version of the hashcode for efficiency */
+    private int hashCode;
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param prefix
+     *            is the prefix for this namespace
+     * @param uri
+     *            is the URI for this namespace
+     */
+    public Namespace(String prefix, String uri) {
+        this.prefix = (prefix != null) ? prefix : "";
+        this.uri = (uri != null) ? uri : "";
+    }
+
+    /**
+     * A helper method to return the Namespace instance for the given prefix and
+     * URI
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * @param uri
+     *            DOCUMENT ME!
+     * 
+     * @return an interned Namespace object
+     */
+    public static Namespace get(String prefix, String uri) {
+        return CACHE.get(prefix, uri);
+    }
+
+    /**
+     * A helper method to return the Namespace instance for no prefix and the
+     * URI
+     * 
+     * @param uri
+     *            DOCUMENT ME!
+     * 
+     * @return an interned Namespace object
+     */
+    public static Namespace get(String uri) {
+        return CACHE.get(uri);
+    }
+
+    public short getNodeType() {
+        return NAMESPACE_NODE;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the hash code based on the qualified name and the URI of the
+     *         namespace.
+     */
+    public int hashCode() {
+        if (hashCode == 0) {
+            hashCode = createHashCode();
+        }
+
+        return hashCode;
+    }
+
+    /**
+     * Factory method to create the hashcode allowing derived classes to change
+     * the behaviour
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected int createHashCode() {
+        int result = uri.hashCode() ^ prefix.hashCode();
+
+        if (result == 0) {
+            result = 0xbabe;
+        }
+
+        return result;
+    }
+
+    /**
+     * Checks whether this Namespace equals the given Namespace. Two Namespaces
+     * are equals if their URI and prefix are equal.
+     * 
+     * @param object
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    public boolean equals(Object object) {
+        if (this == object) {
+            return true;
+        } else if (object instanceof Namespace) {
+            Namespace that = (Namespace) object;
+
+            // we cache hash codes so this should be quick
+            if (hashCode() == that.hashCode()) {
+                return uri.equals(that.getURI())
+                        && prefix.equals(that.getPrefix());
+            }
+        }
+
+        return false;
+    }
+
+    public String getText() {
+        return uri;
+    }
+
+    public String getStringValue() {
+        return uri;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the prefix for this <code>Namespace</code>.
+     */
+    public String getPrefix() {
+        return prefix;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the URI for this <code>Namespace</code>.
+     */
+    public String getURI() {
+        return uri;
+    }
+
+    public String getXPathNameStep() {
+        if ((prefix != null) && !"".equals(prefix)) {
+            return "namespace::" + prefix;
+        }
+
+        return "namespace::*[name()='']";
+    }
+
+    public String getPath(Element context) {
+        StringBuffer path = new StringBuffer(10);
+        Element parent = getParent();
+
+        if ((parent != null) && (parent != context)) {
+            path.append(parent.getPath(context));
+            path.append('/');
+        }
+
+        path.append(getXPathNameStep());
+
+        return path.toString();
+    }
+
+    public String getUniquePath(Element context) {
+        StringBuffer path = new StringBuffer(10);
+        Element parent = getParent();
+
+        if ((parent != null) && (parent != context)) {
+            path.append(parent.getUniquePath(context));
+            path.append('/');
+        }
+
+        path.append(getXPathNameStep());
+
+        return path.toString();
+    }
+
+    public String toString() {
+        return super.toString() + " [Namespace: prefix " + getPrefix()
+                + " mapped to URI \"" + getURI() + "\"]";
+    }
+
+    public String asXML() {
+        StringBuffer asxml = new StringBuffer(10);
+        String pref = getPrefix();
+
+        if ((pref != null) && (pref.length() > 0)) {
+            asxml.append("xmlns:");
+            asxml.append(pref);
+            asxml.append("=\"");
+        } else {
+            asxml.append("xmlns=\"");
+        }
+
+        asxml.append(getURI());
+        asxml.append("\"");
+
+        return asxml.toString();
+    }
+
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+    }
+
+    protected Node createXPathResult(Element parent) {
+        return new DefaultNamespace(parent, getPrefix(), getURI());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/Node.java b/src/java/org/dom4j/Node.java
new file mode 100644
index 0000000..360266b
--- /dev/null
+++ b/src/java/org/dom4j/Node.java
@@ -0,0 +1,599 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.List;
+
+/**
+ * <p>
+ * <code>Node</code> defines the polymorphic behavior for all XML nodes in a
+ * dom4j tree.
+ * </p>
+ * 
+ * <p>
+ * A node can be output as its XML format, can be detached from its position in
+ * a document and can have XPath expressions evaluated on itself.
+ * </p>
+ * 
+ * <p>
+ * A node may optionally support the parent relationship and may be read only.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.31 $
+ * 
+ * @see #supportsParent
+ * @see #isReadOnly
+ */
+public interface Node extends Cloneable {
+    // W3C DOM complient node type codes
+
+    /** Matches Element nodes */
+    short ANY_NODE = 0;
+
+    /** Matches Element nodes */
+    short ELEMENT_NODE = 1;
+
+    /** Matches elements nodes */
+    short ATTRIBUTE_NODE = 2;
+
+    /** Matches elements nodes */
+    short TEXT_NODE = 3;
+
+    /** Matches elements nodes */
+    short CDATA_SECTION_NODE = 4;
+
+    /** Matches elements nodes */
+    short ENTITY_REFERENCE_NODE = 5;
+
+    /** Matches elements nodes */
+
+    // public static final short ENTITY_NODE = 6;
+    /** Matches ProcessingInstruction */
+    short PROCESSING_INSTRUCTION_NODE = 7;
+
+    /** Matches Comments nodes */
+    short COMMENT_NODE = 8;
+
+    /** Matches Document nodes */
+    short DOCUMENT_NODE = 9;
+
+    /** Matches DocumentType nodes */
+    short DOCUMENT_TYPE_NODE = 10;
+
+    // public static final short DOCUMENT_FRAGMENT_NODE = 11;
+    // public static final short NOTATION_NODE = 12;
+
+    /** Matchs a Namespace Node - NOTE this differs from DOM */
+
+    // XXXX: ????
+    short NAMESPACE_NODE = 13;
+
+    /** Does not match any valid node */
+    short UNKNOWN_NODE = 14;
+
+    /** The maximum number of node types for sizing purposes */
+    short MAX_NODE_TYPE = 14;
+
+    /**
+     * <p>
+     * <code>supportsParent</code> returns true if this node supports the
+     * parent relationship.
+     * </p>
+     * 
+     * <p>
+     * Some XML tree implementations are singly linked and only support downward
+     * navigation through children relationships. The default case is that both
+     * parent and children relationships are supported though for memory and
+     * performance reasons the parent relationship may not be supported.
+     * </p>
+     * 
+     * @return true if this node supports the parent relationship or false it is
+     *         not supported
+     */
+    boolean supportsParent();
+
+    /**
+     * <p>
+     * <code>getParent</code> returns the parent <code>Element</code> if
+     * this node supports the parent relationship or null if it is the root
+     * element or does not support the parent relationship.
+     * </p>
+     * 
+     * <p>
+     * This method is an optional feature and may not be supported for all
+     * <code>Node</code> implementations.
+     * </p>
+     * 
+     * @return the parent of this node or null if it is the root of the tree or
+     *         the parent relationship is not supported.
+     */
+    Element getParent();
+
+    /**
+     * <p>
+     * <code>setParent</code> sets the parent relationship of this node if the
+     * parent relationship is supported or does nothing if the parent
+     * relationship is not supported.
+     * </p>
+     * 
+     * <p>
+     * This method should only be called from inside an <code>Element</code>
+     * implementation method and is not intended for general use.
+     * </p>
+     * 
+     * @param parent
+     *            is the new parent of this node.
+     */
+    void setParent(Element parent);
+
+    /**
+     * <p>
+     * <code>getDocument</code> returns the <code>Document</code> that this
+     * <code>Node</code> is part of if this node supports the parent
+     * relationship.
+     * </p>
+     * 
+     * <p>
+     * This method is an optional feature and may not be supported for all
+     * <code>Node</code> implementations.
+     * </p>
+     * 
+     * @return the document of this node or null if this feature is not
+     *         supported or the node is not associated with a
+     *         <code>Document</code>
+     */
+    Document getDocument();
+
+    /**
+     * <p>
+     * <code>setDocument</code> sets the document of this node if the parent
+     * relationship is supported or does nothing if the parent relationship is
+     * not supported.
+     * </p>
+     * 
+     * <p>
+     * This method should only be called from inside a <code>Document</code>
+     * implementation method and is not intended for general use.
+     * </p>
+     * 
+     * @param document
+     *            is the new document of this node.
+     */
+    void setDocument(Document document);
+
+    /**
+     * <p>
+     * <code>isReadOnly</code> returns true if this node is read only and
+     * cannot be modified. Any attempt to modify a read-only <code>Node</code>
+     * will result in an <code>UnsupportedOperationException</code> being
+     * thrown.
+     * </p>
+     * 
+     * @return true if this <code>Node</code> is read only and cannot be
+     *         modified otherwise false.
+     */
+    boolean isReadOnly();
+
+    /**
+     * <p>
+     * <code>hasContent</code> returns true if this node is a Branch (either
+     * an Element or a Document) and it contains at least one content node such
+     * as a child Element or Text node.
+     * </p>
+     * 
+     * @return true if this <code>Node</code> is a Branch with a nodeCount()
+     *         of one or more.
+     */
+    boolean hasContent();
+
+    /**
+     * <p>
+     * <code>getName</code> returns the name of this node. This is the XML
+     * local name of the element, attribute, entity or processing instruction.
+     * For CDATA and Text nodes this method will return null.
+     * </p>
+     * 
+     * @return the XML name of this node
+     */
+    String getName();
+
+    /**
+     * <p>
+     * Sets the text data of this node or this method will throw an
+     * <code>UnsupportedOperationException</code> if it is read-only.
+     * </p>
+     * 
+     * @param name
+     *            is the new name of this node
+     */
+    void setName(String name);
+
+    /**
+     * <p>
+     * Returns the text of this node.
+     * </p>
+     * 
+     * @return the text for this node.
+     */
+    String getText();
+
+    /**
+     * <p>
+     * Sets the text data of this node or this method will throw an
+     * <code>UnsupportedOperationException</code> if it is read-only.
+     * </p>
+     * 
+     * @param text
+     *            is the new textual value of this node
+     */
+    void setText(String text);
+
+    /**
+     * Returns the XPath string-value of this node. The behaviour of this method
+     * is defined in the <a href="http://www.w3.org/TR/xpath">XPath
+     * specification </a>.
+     * 
+     * @return the text from all the child Text and Element nodes appended
+     *         together.
+     */
+    String getStringValue();
+
+    /**
+     * <p>
+     * Returns the XPath expression which will return a node set containing the
+     * given node such as /a/b/@c. No indexing will be used to restrict the
+     * path if multiple elements with the same name occur on the path.
+     * </p>
+     * 
+     * @return the XPath expression which will return a nodeset containing at
+     *         least this node.
+     */
+    String getPath();
+
+    /**
+     * Returns the relative XPath expression which will return a node set
+     * containing the given node such as a/b/@c. No indexing will be used to
+     * restrict the path if multiple elements with the same name occur on the
+     * path.
+     * 
+     * @param context
+     *            is the parent context from which the relative path should
+     *            start. If the context is null or the context is not an
+     *            ancestor of this node then the path will be absolute and start
+     *            from the document and so begin with the '/' character.
+     * 
+     * @return the XPath expression relative to the given context which will
+     *         return a nodeset containing at least this node.
+     */
+    String getPath(Element context);
+
+    /**
+     * <p>
+     * Returns the XPath expression which will return a nodeset of one node
+     * which is the current node. This method will use the XPath index operator
+     * to restrict the path if multiple elements with the same name occur on the
+     * path.
+     * </p>
+     * 
+     * @return the XPath expression which will return a nodeset containing just
+     *         this node.
+     */
+    String getUniquePath();
+
+    /**
+     * <p>
+     * Returns the relative unique XPath expression from the given context which
+     * will return a nodeset of one node which is the current node. This method
+     * will use the XPath index operator to restrict the path if multiple
+     * elements with the same name occur on the path.
+     * </p>
+     * 
+     * @param context
+     *            is the parent context from which the path should start. If the
+     *            context is null or the context is not an ancestor of this node
+     *            then the path will start from the document and so begin with
+     *            the '/' character.
+     * 
+     * @return the XPath expression relative to the given context which will
+     *         return a nodeset containing just this node.
+     */
+    String getUniquePath(Element context);
+
+    /**
+     * <p>
+     * <code>asXML</code> returns the textual XML representation of this node.
+     * </p>
+     * 
+     * @return the XML representation of this node
+     */
+    String asXML();
+
+    /**
+     * <p>
+     * <code>write</code> writes this node as the default XML notation for
+     * this node. If you wish to control the XML output (such as for pretty
+     * printing, changing the indentation policy etc.) then please use {@link
+     * org.dom4j.io.XMLWriter} or its derivations.
+     * </p>
+     * 
+     * @param writer
+     *            is the <code>Writer</code> to output the XML to
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    void write(Writer writer) throws IOException;
+
+    /**
+     * Returns the code according to the type of node. This makes processing
+     * nodes polymorphically much easier as the switch statement can be used
+     * instead of multiple if (instanceof) statements.
+     * 
+     * @return a W3C DOM complient code for the node type such as ELEMENT_NODE
+     *         or ATTRIBUTE_NODE
+     */
+    short getNodeType();
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the name of the type of node such as "Document", "Element",
+     *         "Attribute" or "Text"
+     */
+    String getNodeTypeName();
+
+    /**
+     * <p>
+     * Removes this node from its parent if there is one. If this node is the
+     * root element of a document then it is removed from the document as well.
+     * </p>
+     * 
+     * <p>
+     * This method is useful if you want to remove a node from its source
+     * document and add it to another document. For example
+     * </p>
+     * <code> Node node = ...; Element someOtherElement = ...;
+     * someOtherElement.add( node.detach() ); </code>
+     * 
+     * @return the node that has been removed from its parent node if any and
+     *         its document if any.
+     */
+    Node detach();
+
+    /**
+     * <p>
+     * <code>selectNodes</code> evaluates an XPath expression and returns the
+     * result as a <code>List</code> of <code>Node</code> instances or
+     * <code>String</code> instances depending on the XPath expression.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to be evaluated
+     * 
+     * @return the list of <code>Node</code> or <code>String</code>
+     *         instances depending on the XPath expression
+     */
+    List selectNodes(String xpathExpression);
+
+    /**
+     * <p>
+     * <code>selectObject</code> evaluates an XPath expression and returns the
+     * result as an {@link Object}. The object returned can either be a {@link
+     * List} of one or more {@link Node}instances or a scalar object like a
+     * {@link String}or a {@link Number}instance depending on the XPath
+     * expression.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to be evaluated
+     * 
+     * @return the value of the XPath expression as a {@link List}of {@link
+     *         Node} instances, a {@link String}or a {@link Number}instance
+     *         depending on the XPath expression.
+     */
+    Object selectObject(String xpathExpression);
+
+    /**
+     * <p>
+     * <code>selectNodes</code> evaluates an XPath expression then sorts the
+     * results using a secondary XPath expression Returns a sorted
+     * <code>List</code> of <code>Node</code> instances.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to be evaluated
+     * @param comparisonXPathExpression
+     *            is the XPath expression used to compare the results by for
+     *            sorting
+     * 
+     * @return the list of <code>Node</code> instances sorted by the
+     *         comparisonXPathExpression
+     */
+    List selectNodes(String xpathExpression, String comparisonXPathExpression);
+
+    /**
+     * <p>
+     * <code>selectNodes</code> evaluates an XPath expression then sorts the
+     * results using a secondary XPath expression Returns a sorted
+     * <code>List</code> of <code>Node</code> instances.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to be evaluated
+     * @param comparisonXPathExpression
+     *            is the XPath expression used to compare the results by for
+     *            sorting
+     * @param removeDuplicates
+     *            if this parameter is true then duplicate values (using the
+     *            comparisonXPathExpression) are removed from the result List.
+     * 
+     * @return the list of <code>Node</code> instances sorted by the
+     *         comparisonXPathExpression
+     */
+    List selectNodes(String xpathExpression, String comparisonXPathExpression,
+            boolean removeDuplicates);
+
+    /**
+     * <p>
+     * <code>selectSingleNode</code> evaluates an XPath expression and returns
+     * the result as a single <code>Node</code> instance.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to be evaluated
+     * 
+     * @return the <code>Node</code> matching the XPath expression
+     */
+    Node selectSingleNode(String xpathExpression);
+
+    /**
+     * <p>
+     * <code>valueOf</code> evaluates an XPath expression and returns the
+     * textual representation of the results the XPath string-value of this
+     * node. The string-value for a given node type is defined in the <a
+     * href="http://www.w3.org/TR/xpath">XPath specification </a>.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to be evaluated
+     * 
+     * @return the string-value representation of the results of the XPath
+     *         expression
+     */
+    String valueOf(String xpathExpression);
+
+    /**
+     * <p>
+     * <code>numberValueOf</code> evaluates an XPath expression and returns
+     * the numeric value of the XPath expression if the XPath expression results
+     * in a number, or null if the result is not a number.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to be evaluated
+     * 
+     * @return the numeric result of the XPath expression or null if the result
+     *         is not a number.
+     */
+    Number numberValueOf(String xpathExpression);
+
+    /**
+     * <p>
+     * <code>matches</code> returns true if evaluating the given XPath
+     * expression on this node returns a non-empty node set containing this
+     * node.
+     * </p>
+     * 
+     * <p>
+     * This method does not behave like the <xsl:if> element - if you want
+     * that behaviour, to evaluate if an XPath expression matches something,
+     * then you can use the following code to be equivalent...
+     * </p>
+     * <code>if ( node.selectSingleNode( "/some/path" ) != nulll )</code>
+     * 
+     * @param xpathExpression
+     *            is an XPath expression
+     * 
+     * @return true if this node is returned by the given XPath expression
+     */
+    boolean matches(String xpathExpression);
+
+    /**
+     * <p>
+     * <code>createXPath</code> creates an XPath object for the given
+     * xpathExpression. The XPath object allows the variable context to be
+     * specified.
+     * </p>
+     * 
+     * @param xpathExpression
+     *            is the XPath expression to be evaluated
+     * 
+     * @return an XPath object represeting the given expression
+     * 
+     * @throws InvalidXPathException
+     *             if the XPath expression is invalid
+     */
+    XPath createXPath(String xpathExpression) throws InvalidXPathException;
+
+    /**
+     * <p>
+     * <code>asXPathResult</code> returns a version of this node which is
+     * capable of being an XPath result. The result of an XPath expression
+     * should always support the parent relationship, whether the original XML
+     * tree was singly or doubly linked. If the node does not support the parent
+     * relationship then a new node will be created which is linked to its
+     * parent and returned.
+     * </p>
+     * 
+     * @param parent
+     *            DOCUMENT ME!
+     * 
+     * @return a <code>Node</code> which supports the parent relationship
+     */
+    Node asXPathResult(Element parent);
+
+    /**
+     * <p>
+     * <code>accept</code> is the method used in the Visitor Pattern.
+     * </p>
+     * 
+     * @param visitor
+     *            is the visitor in the Visitor Pattern
+     */
+    void accept(Visitor visitor);
+
+    /**
+     * <p>
+     * <code>clone</code> will return a deep clone or if this node is
+     * read-only then clone will return the same instance.
+     * </p>
+     * 
+     * @return a deep clone of myself or myself if I am read only.
+     */
+    Object clone();
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/NodeFilter.java b/src/java/org/dom4j/NodeFilter.java
new file mode 100644
index 0000000..81de205
--- /dev/null
+++ b/src/java/org/dom4j/NodeFilter.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>NodeFilter</code> defines the behavior for a filter or predicate
+ * which acts on a DOM4J Node. Instances can be generated from an {@link
+ * DocumentFactory}.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public interface NodeFilter {
+    /**
+     * <p>
+     * <code>matches</code> returns true if the given node matches the filter
+     * condition.
+     * </p>
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     * 
+     * @return true if this filter matches the given node
+     */
+    boolean matches(Node node);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/ProcessingInstruction.java b/src/java/org/dom4j/ProcessingInstruction.java
new file mode 100644
index 0000000..ba23151
--- /dev/null
+++ b/src/java/org/dom4j/ProcessingInstruction.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * <code>ProcessingInstruction</code> defines an XML processing instruction.
+ * The {@link Node#getName}method will return the target of the PI and the
+ * {@link Node#getText}method will return the data from all of the
+ * instructions.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public interface ProcessingInstruction extends Node {
+    /**
+     * This method is the equivalent to the {@link #getName}method. It is added
+     * for clarity.
+     * 
+     * @return the target of this PI
+     */
+    String getTarget();
+
+    /**
+     * This method is the equivalent to the {@link #setName}method. It is added
+     * for clarity.
+     * 
+     * @param target
+     *            DOCUMENT ME!
+     */
+    void setTarget(String target);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the text for all the data associated with the processing
+     *         instruction
+     */
+    String getText();
+
+    /**
+     * <p>
+     * Returns the value of a specific name in the PI.
+     * </p>
+     * 
+     * @param name
+     *            is the name of the attribute to lookup.
+     * 
+     * @return the value of the named attribute
+     */
+    String getValue(String name);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the values for this processing instruction as a Map
+     */
+    Map getValues();
+
+    void setValue(String name, String value);
+
+    void setValues(Map data);
+
+    boolean removeValue(String name);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/QName.java b/src/java/org/dom4j/QName.java
new file mode 100644
index 0000000..2d706d4
--- /dev/null
+++ b/src/java/org/dom4j/QName.java
@@ -0,0 +1,295 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+
+import org.dom4j.tree.QNameCache;
+import org.dom4j.util.SingletonStrategy;
+
+/**
+ * <p>
+ * <code>QName</code> represents a qualified name value of an XML element or
+ * attribute. It consists of a local name and a {@link Namespace}instance. This
+ * object is immutable.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ */
+public class QName implements Serializable {
+    /** The Singleton instance */
+    private static SingletonStrategy singleton = null;
+
+    static {
+        try {
+            String defaultSingletonClass = "org.dom4j.util.SimpleSingleton";
+            Class clazz = null;
+            try {
+                String singletonClass = defaultSingletonClass;
+                singletonClass = System.getProperty(
+                        "org.dom4j.QName.singleton.strategy", singletonClass);
+                clazz = Class.forName(singletonClass);
+            } catch (Exception exc1) {
+                try {
+                    String singletonClass = defaultSingletonClass;
+                    clazz = Class.forName(singletonClass);
+                } catch (Exception exc2) {
+                }
+            }
+            singleton = (SingletonStrategy) clazz.newInstance();
+            singleton.setSingletonClassName(QNameCache.class.getName());
+        } catch (Exception exc3) {
+        }
+    }
+
+    /** The local name of the element or attribute */
+    private String name;
+
+    /** The qualified name of the element or attribute */
+    private String qualifiedName;
+
+    /** The Namespace of this element or attribute */
+    private transient Namespace namespace;
+
+    /** A cached version of the hashcode for efficiency */
+    private int hashCode;
+
+    /** The document factory used for this QName if specified or null */
+    private DocumentFactory documentFactory;
+
+    public QName(String name) {
+        this(name, Namespace.NO_NAMESPACE);
+    }
+
+    public QName(String name, Namespace namespace) {
+        this.name = (name == null) ? "" : name;
+        this.namespace = (namespace == null) ? Namespace.NO_NAMESPACE
+                : namespace;
+    }
+
+    public QName(String name, Namespace namespace, String qualifiedName) {
+        this.name = (name == null) ? "" : name;
+        this.qualifiedName = qualifiedName;
+        this.namespace = (namespace == null) ? Namespace.NO_NAMESPACE
+                : namespace;
+    }
+
+    public static QName get(String name) {
+        return getCache().get(name);
+    }
+
+    public static QName get(String name, Namespace namespace) {
+        return getCache().get(name, namespace);
+    }
+
+    public static QName get(String name, String prefix, String uri) {
+        if (((prefix == null) || (prefix.length() == 0)) && (uri == null)) {
+            return QName.get(name);
+        } else if ((prefix == null) || (prefix.length() == 0)) {
+            return getCache().get(name, Namespace.get(uri));
+        } else if (uri == null) {
+            return QName.get(name);
+        } else {
+            return getCache().get(name, Namespace.get(prefix, uri));
+        }
+    }
+
+    public static QName get(String qualifiedName, String uri) {
+        if (uri == null) {
+            return getCache().get(qualifiedName);
+        } else {
+            return getCache().get(qualifiedName, uri);
+        }
+    }
+
+    public static QName get(String localName, Namespace namespace,
+            String qualifiedName) {
+        return getCache().get(localName, namespace, qualifiedName);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the local name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the qualified name in the format <code>prefix:localName</code>
+     */
+    public String getQualifiedName() {
+        if (qualifiedName == null) {
+            String prefix = getNamespacePrefix();
+
+            if ((prefix != null) && (prefix.length() > 0)) {
+                qualifiedName = prefix + ":" + name;
+            } else {
+                qualifiedName = name;
+            }
+        }
+
+        return qualifiedName;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the namespace of this QName
+     */
+    public Namespace getNamespace() {
+        return namespace;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the namespace URI of this QName
+     */
+    public String getNamespacePrefix() {
+        if (namespace == null) {
+            return "";
+        }
+
+        return namespace.getPrefix();
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the namespace URI of this QName
+     */
+    public String getNamespaceURI() {
+        if (namespace == null) {
+            return "";
+        }
+
+        return namespace.getURI();
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the hash code based on the qualified name and the URI of the
+     *         namespace.
+     */
+    public int hashCode() {
+        if (hashCode == 0) {
+            hashCode = getName().hashCode() ^ getNamespaceURI().hashCode();
+
+            if (hashCode == 0) {
+                hashCode = 0xbabe;
+            }
+        }
+
+        return hashCode;
+    }
+
+    public boolean equals(Object object) {
+        if (this == object) {
+            return true;
+        } else if (object instanceof QName) {
+            QName that = (QName) object;
+
+            // we cache hash codes so this should be quick
+            if (hashCode() == that.hashCode()) {
+                return getName().equals(that.getName())
+                        && getNamespaceURI().equals(that.getNamespaceURI());
+            }
+        }
+
+        return false;
+    }
+
+    public String toString() {
+        return super.toString() + " [name: " + getName() + " namespace: \""
+                + getNamespace() + "\"]";
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the factory that should be used for Elements of this QName
+     */
+    public DocumentFactory getDocumentFactory() {
+        return documentFactory;
+    }
+
+    public void setDocumentFactory(DocumentFactory documentFactory) {
+        this.documentFactory = documentFactory;
+    }
+
+    private void writeObject(ObjectOutputStream out) throws IOException {
+        // We use writeObject() and not writeUTF() to minimize space
+        // This allows for writing pointers to already written strings
+        out.writeObject(namespace.getPrefix());
+        out.writeObject(namespace.getURI());
+
+        out.defaultWriteObject();
+    }
+
+    private void readObject(ObjectInputStream in) throws IOException,
+            ClassNotFoundException {
+        String prefix = (String) in.readObject();
+        String uri = (String) in.readObject();
+
+        in.defaultReadObject();
+
+        namespace = Namespace.get(prefix, uri);
+    }
+
+    private static QNameCache getCache() {
+        QNameCache cache = (QNameCache) singleton.instance();
+        return cache;
+    }
+}
+
+
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
\ No newline at end of file
diff --git a/src/java/org/dom4j/Text.java b/src/java/org/dom4j/Text.java
new file mode 100644
index 0000000..467667e
--- /dev/null
+++ b/src/java/org/dom4j/Text.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>Text</code> defines an XML Text node.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public interface Text extends CharacterData {
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/Visitor.java b/src/java/org/dom4j/Visitor.java
new file mode 100644
index 0000000..5359ff8
--- /dev/null
+++ b/src/java/org/dom4j/Visitor.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>Visitor</code> is used to implement the <code>Visitor</code>
+ * pattern in DOM4J. An object of this interface can be passed to a
+ * <code>Node</code> which will then call its typesafe methods. Please refer
+ * to the <i>Gang of Four </i> book of Design Patterns for more details on the
+ * <code>Visitor</code> pattern.
+ * </p>
+ * 
+ * <p>
+ * This <a href="http://www.patterndepot.com/put/8/JavaPatterns.htm">site </a>
+ * has further discussion on design patterns and links to the GOF book. This <a
+ * href="http://www.patterndepot.com/put/8/visitor.pdf">link </a> describes the
+ * Visitor pattern in detail.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+public interface Visitor {
+    /**
+     * <p>
+     * Visits the given <code>Document</code>
+     * </p>
+     * 
+     * @param document
+     *            is the <code>Document</code> node to visit.
+     */
+    void visit(Document document);
+
+    /**
+     * <p>
+     * Visits the given <code>DocumentType</code>
+     * </p>
+     * 
+     * @param documentType
+     *            is the <code>DocumentType</code> node to visit.
+     */
+    void visit(DocumentType documentType);
+
+    /**
+     * <p>
+     * Visits the given <code>Element</code>
+     * </p>
+     * 
+     * @param node
+     *            is the <code>Element</code> node to visit.
+     */
+    void visit(Element node);
+
+    /**
+     * <p>
+     * Visits the given <code>Attribute</code>
+     * </p>
+     * 
+     * @param node
+     *            is the <code>Attribute</code> node to visit.
+     */
+    void visit(Attribute node);
+
+    /**
+     * <p>
+     * Visits the given <code>CDATA</code>
+     * </p>
+     * 
+     * @param node
+     *            is the <code>CDATA</code> node to visit.
+     */
+    void visit(CDATA node);
+
+    /**
+     * <p>
+     * Visits the given <code>Comment</code>
+     * </p>
+     * 
+     * @param node
+     *            is the <code>Comment</code> node to visit.
+     */
+    void visit(Comment node);
+
+    /**
+     * <p>
+     * Visits the given <code>Entity</code>
+     * </p>
+     * 
+     * @param node
+     *            is the <code>Entity</code> node to visit.
+     */
+    void visit(Entity node);
+
+    /**
+     * <p>
+     * Visits the given <code>Namespace</code>
+     * </p>
+     * 
+     * @param namespace
+     *            is the <code>Namespace</code> node to visit.
+     */
+    void visit(Namespace namespace);
+
+    /**
+     * <p>
+     * Visits the given <code>ProcessingInstruction</code>
+     * </p>
+     * 
+     * @param node
+     *            is the <code>ProcessingInstruction</code> node to visit.
+     */
+    void visit(ProcessingInstruction node);
+
+    /**
+     * <p>
+     * Visits the given <code>Text</code>
+     * </p>
+     * 
+     * @param node
+     *            is the <code>Text</code> node to visit.
+     */
+    void visit(Text node);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/VisitorSupport.java b/src/java/org/dom4j/VisitorSupport.java
new file mode 100644
index 0000000..70a0ac4
--- /dev/null
+++ b/src/java/org/dom4j/VisitorSupport.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>VisitorSupport</code> is an abstract base class which is useful for
+ * implementation inheritence or when using anonymous inner classes to create
+ * simple <code>Visitor</code> implementations.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.6 $
+ */
+public abstract class VisitorSupport implements Visitor {
+    public VisitorSupport() {
+    }
+
+    public void visit(Document document) {
+    }
+
+    public void visit(DocumentType documentType) {
+    }
+
+    public void visit(Element node) {
+    }
+
+    public void visit(Attribute node) {
+    }
+
+    public void visit(CDATA node) {
+    }
+
+    public void visit(Comment node) {
+    }
+
+    public void visit(Entity node) {
+    }
+
+    public void visit(Namespace namespace) {
+    }
+
+    public void visit(ProcessingInstruction node) {
+    }
+
+    public void visit(Text node) {
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/XPath.java b/src/java/org/dom4j/XPath.java
new file mode 100644
index 0000000..aaf2edd
--- /dev/null
+++ b/src/java/org/dom4j/XPath.java
@@ -0,0 +1,345 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import java.util.List;
+import java.util.Map;
+
+import org.jaxen.FunctionContext;
+import org.jaxen.NamespaceContext;
+import org.jaxen.VariableContext;
+
+/**
+ * <p>
+ * <code>XPath</code> represents an XPath expression after it has been parsed
+ * from a String.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.20 $
+ */
+public interface XPath extends NodeFilter {
+    /**
+     * <p>
+     * <code>getText</code> will return the textual version of the XPath
+     * expression.
+     * </p>
+     * 
+     * @return the textual format of the XPath expression.
+     */
+    String getText();
+
+    /**
+     * <p>
+     * <code>matches</code> returns true if the given node matches the XPath
+     * expression. To be more precise when evaluating this XPath expression on
+     * the given node the result set must include the node.
+     * </p>
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     * 
+     * @return true if the given node matches this XPath expression
+     */
+    boolean matches(Node node);
+
+    /**
+     * <p>
+     * <code>evaluate</code> evaluates an XPath expression and returns the
+     * result as an {@link Object}. The object returned can either be a {@link
+     * List} of {@link Node}instances, a {@link Node}instance, a {@link
+     * String} or a {@link Number}instance depending on the XPath expression.
+     * </p>
+     * 
+     * @param context
+     *            is either a node or a list of nodes on which to evalute the
+     *            XPath
+     * 
+     * @return the value of the XPath expression as a {@link List}of {@link
+     *         Node} instances, a {@link Node}instance, a {@link String}or a
+     *         {@link Number}instance depending on the XPath expression.
+     */
+    Object evaluate(Object context);
+
+    /**
+     * <p>
+     * <code>selectObject</code> evaluates an XPath expression and returns the
+     * result as an {@link Object}. The object returned can either be a {@link
+     * List} of {@link Node}instances, a {@link Node}instance, a {@link
+     * String} or a {@link Number}instance depending on the XPath expression.
+     * </p>
+     * 
+     * @param context
+     *            is either a node or a list of nodes on which to evalute the
+     *            XPath
+     * 
+     * @return the value of the XPath expression as a {@link List}of {@link
+     *         Node} instances, a {@link Node}instance, a {@link String}or a
+     *         {@link Number}instance depending on the XPath expression.
+     * 
+     * @deprecated please use evaluate(Object) instead. WILL BE REMOVED IN
+     *             dom4j-1.6 !!
+     */
+    Object selectObject(Object context);
+
+    /**
+     * <p>
+     * <code>selectNodes</code> performs this XPath expression on the given
+     * {@link Node}or {@link List}of {@link Node}s instances appending all
+     * the results together into a single list.
+     * </p>
+     * 
+     * @param context
+     *            is either a node or a list of nodes on which to evalute the
+     *            XPath
+     * 
+     * @return the results of all the XPath evaluations as a single list
+     */
+    List selectNodes(Object context);
+
+    /**
+     * <p>
+     * <code>selectNodes</code> evaluates the XPath expression on the given
+     * {@link Node}or {@link List}of {@link Node}s and returns the result as
+     * a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+     * expression.
+     * </p>
+     * 
+     * @param context
+     *            is either a node or a list of nodes on which to evalute the
+     *            XPath
+     * @param sortXPath
+     *            is the XPath expression to sort by
+     * 
+     * @return a list of <code>Node</code> instances
+     */
+    List selectNodes(Object context, XPath sortXPath);
+
+    /**
+     * <p>
+     * <code>selectNodes</code> evaluates the XPath expression on the given
+     * {@link Node}or {@link List}of {@link Node}s and returns the result as
+     * a <code>List</code> of <code>Node</code> s sorted by the sort XPath
+     * expression.
+     * </p>
+     * 
+     * @param context
+     *            is either a node or a list of nodes on which to evalute the
+     *            XPath
+     * @param sortXPath
+     *            is the XPath expression to sort by
+     * @param distinct
+     *            specifies whether or not duplicate values of the sort
+     *            expression are allowed. If this parameter is true then only
+     *            distinct sort expressions values are included in the result
+     * 
+     * @return a list of <code>Node</code> instances
+     */
+    List selectNodes(Object context, XPath sortXPath, boolean distinct);
+
+    /**
+     * <p>
+     * <code>selectSingleNode</code> evaluates this XPath expression on the
+     * given {@link Node}or {@link List}of {@link Node}s and returns the
+     * result as a single <code>Node</code> instance.
+     * </p>
+     * 
+     * @param context
+     *            is either a node or a list of nodes on which to evalute the
+     *            XPath
+     * 
+     * @return a single matching <code>Node</code> instance
+     */
+    Node selectSingleNode(Object context);
+
+    /**
+     * <p>
+     * <code>valueOf</code> evaluates this XPath expression and returns the
+     * textual representation of the results using the XPath string() function.
+     * </p>
+     * 
+     * @param context
+     *            is either a node or a list of nodes on which to evalute the
+     *            XPath
+     * 
+     * @return the string representation of the results of the XPath expression
+     */
+    String valueOf(Object context);
+
+    /**
+     * <p>
+     * <code>numberValueOf</code> evaluates an XPath expression and returns
+     * the numeric value of the XPath expression if the XPath expression results
+     * is a number, or null if the result is not a number.
+     * </p>
+     * 
+     * @param context
+     *            is either a node or a list of nodes on which to evalute the
+     *            XPath
+     * 
+     * @return the numeric result of the XPath expression or null if the result
+     *         is not a number.
+     */
+    Number numberValueOf(Object context);
+
+    /**
+     * Retrieve a boolean-value interpretation of this XPath expression when
+     * evaluated against a given context.
+     * 
+     * <p>
+     * The boolean-value of the expression is determined per the
+     * <code>boolean(..)</code> core function as defined in the XPath
+     * specification. This means that an expression that selects zero nodes will
+     * return <code>false</code>, while an expression that selects
+     * one-or-more nodes will return <code>true</code>.
+     * </p>
+     * 
+     * @param context
+     *            The node, nodeset or Context object for evaluation. This value
+     *            can be null
+     * 
+     * @return The boolean-value interpretation of this expression.
+     * 
+     * @since 1.5
+     */
+    boolean booleanValueOf(Object context);
+
+    /**
+     * <p>
+     * <code>sort</code> sorts the given List of Nodes using this XPath
+     * expression as a {@link java.util.Comparator}.
+     * </p>
+     * 
+     * @param list
+     *            is the list of Nodes to sort
+     */
+    void sort(List list);
+
+    /**
+     * <p>
+     * <code>sort</code> sorts the given List of Nodes using this XPath
+     * expression as a {@link java.util.Comparator}and optionally removing
+     * duplicates.
+     * </p>
+     * 
+     * @param list
+     *            is the list of Nodes to sort
+     * @param distinct
+     *            if true then duplicate values (using the sortXPath for
+     *            comparisions) will be removed from the List
+     */
+    void sort(List list, boolean distinct);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the current function context
+     */
+    FunctionContext getFunctionContext();
+
+    /**
+     * Sets the function context to be used when evaluating XPath expressions
+     * 
+     * @param functionContext
+     *            DOCUMENT ME!
+     */
+    void setFunctionContext(FunctionContext functionContext);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the current namespace context
+     */
+    NamespaceContext getNamespaceContext();
+
+    /**
+     * Sets the namespace context to be used when evaluating XPath expressions
+     * 
+     * @param namespaceContext
+     *            DOCUMENT ME!
+     */
+    void setNamespaceContext(NamespaceContext namespaceContext);
+
+    /**
+     * <p>
+     * Sets the current NamespaceContext from a Map where the keys are the
+     * String namespace prefixes and the values are the namespace URIs.
+     * </p>
+     * 
+     * <p>
+     * For example:
+     * 
+     * <pre>
+     * Map uris = new HashMap();
+     * uris.put("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/");
+     * uris.put("m", "urn:xmethodsBabelFish");
+     * XPath xpath = document
+     *         .createXPath("SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish");
+     * xpath.setNamespaceURIs(uris);
+     * Node babelfish = xpath.selectSingleNode(document);
+     * </pre>
+     * 
+     * </p>
+     * 
+     * @param map
+     *            the map containing the namespace mappings
+     */
+    void setNamespaceURIs(Map map);
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the current variable context
+     */
+    VariableContext getVariableContext();
+
+    /**
+     * Sets the variable context to be used when evaluating XPath expressions
+     * 
+     * @param variableContext
+     *            DOCUMENT ME!
+     */
+    void setVariableContext(VariableContext variableContext);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/XPathException.java b/src/java/org/dom4j/XPathException.java
new file mode 100644
index 0000000..41b92ad
--- /dev/null
+++ b/src/java/org/dom4j/XPathException.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+/**
+ * <p>
+ * <code>XPathException</code> is thrown when an exception occurs while
+ * evaluating an XPath expression, usually due to some function throwing an
+ * exception.
+ * </p>
+ * 
+ * @version $Revision: 1.6 $
+ */
+public class XPathException extends RuntimeException {
+    /** The XPath expression that caused the exception */
+    private String xpath;
+
+    public XPathException(String xpath) {
+        super("Exception occurred evaluting XPath: " + xpath);
+        this.xpath = xpath;
+    }
+
+    public XPathException(String xpath, String reason) {
+        super("Exception occurred evaluting XPath: " + xpath + " " + reason);
+        this.xpath = xpath;
+    }
+
+    public XPathException(String xpath, Exception e) {
+        super("Exception occurred evaluting XPath: " + xpath + ". Exception: "
+                + e.getMessage());
+        this.xpath = xpath;
+    }
+
+    /**
+     * Returns the XPath expression that caused the problem
+     * 
+     * @return DOCUMENT ME!
+     */
+    public String getXPath() {
+        return xpath;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/bean/BeanAttribute.java b/src/java/org/dom4j/bean/BeanAttribute.java
new file mode 100644
index 0000000..64b8839
--- /dev/null
+++ b/src/java/org/dom4j/bean/BeanAttribute.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.bean;
+
+import org.dom4j.Element;
+import org.dom4j.QName;
+import org.dom4j.tree.AbstractAttribute;
+
+/**
+ * <p>
+ * <code>BeanAttribute</code> represents a mutable XML attribute which is
+ * backed by a property of the JavaBean of its parent element.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class BeanAttribute extends AbstractAttribute {
+    /** The list of Bean attributes */
+    private final BeanAttributeList beanList;
+
+    /** The index in the Bean attribute list */
+    private final int index;
+
+    public BeanAttribute(BeanAttributeList beanList, int index) {
+        this.beanList = beanList;
+        this.index = index;
+    }
+
+    public QName getQName() {
+        return beanList.getQName(index);
+    }
+
+    public Element getParent() {
+        return beanList.getParent();
+    }
+
+    public String getValue() {
+        Object data = getData();
+
+        return (data != null) ? data.toString() : null;
+    }
+
+    public void setValue(String data) {
+        beanList.setData(index, data);
+    }
+
+    public Object getData() {
+        return beanList.getData(index);
+    }
+
+    public void setData(Object data) {
+        beanList.setData(index, data);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/bean/BeanAttributeList.java b/src/java/org/dom4j/bean/BeanAttributeList.java
new file mode 100644
index 0000000..944c0fb
--- /dev/null
+++ b/src/java/org/dom4j/bean/BeanAttributeList.java
@@ -0,0 +1,185 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.bean;
+
+import java.util.AbstractList;
+
+import org.dom4j.Attribute;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>BeanAttributeList</code> implements a list of Attributes which are
+ * the properties of a JavaBean.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class BeanAttributeList extends AbstractList {
+    /** The BeanElement that this */
+    private BeanElement parent;
+
+    /** The BeanElement that this */
+    private BeanMetaData beanMetaData;
+
+    /** The attributes */
+    private BeanAttribute[] attributes;
+
+    public BeanAttributeList(BeanElement parent, BeanMetaData beanMetaData) {
+        this.parent = parent;
+        this.beanMetaData = beanMetaData;
+        this.attributes = new BeanAttribute[beanMetaData.attributeCount()];
+    }
+
+    public BeanAttributeList(BeanElement parent) {
+        this.parent = parent;
+
+        Object data = parent.getData();
+        Class beanClass = (data != null) ? data.getClass() : null;
+        this.beanMetaData = BeanMetaData.get(beanClass);
+        this.attributes = new BeanAttribute[beanMetaData.attributeCount()];
+    }
+
+    public Attribute attribute(String name) {
+        int index = beanMetaData.getIndex(name);
+
+        return attribute(index);
+    }
+
+    public Attribute attribute(QName qname) {
+        int index = beanMetaData.getIndex(qname);
+
+        return attribute(index);
+    }
+
+    public BeanAttribute attribute(int index) {
+        if ((index >= 0) && (index <= attributes.length)) {
+            BeanAttribute attribute = attributes[index];
+
+            if (attribute == null) {
+                attribute = createAttribute(parent, index);
+                attributes[index] = attribute;
+            }
+
+            return attribute;
+        }
+
+        return null;
+    }
+
+    public BeanElement getParent() {
+        return parent;
+    }
+
+    public QName getQName(int index) {
+        return beanMetaData.getQName(index);
+    }
+
+    public Object getData(int index) {
+        return beanMetaData.getData(index, parent.getData());
+    }
+
+    public void setData(int index, Object data) {
+        beanMetaData.setData(index, parent.getData(), data);
+    }
+
+    // List interface
+    // -------------------------------------------------------------------------
+    public int size() {
+        return attributes.length;
+    }
+
+    public Object get(int index) {
+        BeanAttribute attribute = attributes[index];
+
+        if (attribute == null) {
+            attribute = createAttribute(parent, index);
+            attributes[index] = attribute;
+        }
+
+        return attribute;
+    }
+
+    public boolean add(Object object) {
+        throw new UnsupportedOperationException("add(Object) unsupported");
+    }
+
+    public void add(int index, Object object) {
+        throw new UnsupportedOperationException("add(int,Object) unsupported");
+    }
+
+    public Object set(int index, Object object) {
+        throw new UnsupportedOperationException("set(int,Object) unsupported");
+    }
+
+    public boolean remove(Object object) {
+        return false;
+    }
+
+    public Object remove(int index) {
+        BeanAttribute attribute = (BeanAttribute) get(index);
+        Object oldValue = attribute.getValue();
+        attribute.setValue(null);
+
+        return oldValue;
+    }
+
+    public void clear() {
+        for (int i = 0, size = attributes.length; i < size; i++) {
+            BeanAttribute attribute = attributes[i];
+
+            if (attribute != null) {
+                attribute.setValue(null);
+            }
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected BeanAttribute createAttribute(BeanElement element, int index) {
+        return new BeanAttribute(this, index);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/bean/BeanDocumentFactory.java b/src/java/org/dom4j/bean/BeanDocumentFactory.java
new file mode 100644
index 0000000..5578cf4
--- /dev/null
+++ b/src/java/org/dom4j/bean/BeanDocumentFactory.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.bean;
+
+import org.dom4j.Attribute;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.QName;
+import org.dom4j.tree.DefaultAttribute;
+
+import org.xml.sax.Attributes;
+
+/**
+ * <p>
+ * <code>BeanDocumentFactory</code> is a factory of DOM4J objects which may be
+ * BeanElements which are backed by JavaBeans and their properties.
+ * </p>
+ * 
+ * <p>
+ * The tree built allows full XPath expressions from anywhere on the tree.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.14 $
+ */
+public class BeanDocumentFactory extends DocumentFactory {
+    /** The Singleton instance */
+    private static BeanDocumentFactory singleton = new BeanDocumentFactory();
+
+    /**
+     * <p>
+     * Access to the singleton instance of this factory.
+     * </p>
+     * 
+     * @return the default singleon instance
+     */
+    public static DocumentFactory getInstance() {
+        return singleton;
+    }
+
+    // Factory methods
+    public Element createElement(QName qname) {
+        Object bean = createBean(qname);
+
+        if (bean == null) {
+            return new BeanElement(qname);
+        } else {
+            return new BeanElement(qname, bean);
+        }
+    }
+
+    public Element createElement(QName qname, Attributes attributes) {
+        Object bean = createBean(qname, attributes);
+
+        if (bean == null) {
+            return new BeanElement(qname);
+        } else {
+            return new BeanElement(qname, bean);
+        }
+    }
+
+    public Attribute createAttribute(Element owner, QName qname, String value) {
+        return new DefaultAttribute(qname, value);
+    }
+
+    // Implementation methods
+    protected Object createBean(QName qname) {
+        return null;
+    }
+
+    protected Object createBean(QName qname, Attributes attributes) {
+        String value = attributes.getValue("class");
+
+        if (value != null) {
+            try {
+                Class beanClass = Class.forName(value, true,
+                        BeanDocumentFactory.class.getClassLoader());
+
+                return beanClass.newInstance();
+            } catch (Exception e) {
+                handleException(e);
+            }
+        }
+
+        return null;
+    }
+
+    protected void handleException(Exception e) {
+        // ignore introspection exceptions
+        System.out.println("#### Warning: couldn't create bean: " + e);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/bean/BeanElement.java b/src/java/org/dom4j/bean/BeanElement.java
new file mode 100644
index 0000000..e8ae084
--- /dev/null
+++ b/src/java/org/dom4j/bean/BeanElement.java
@@ -0,0 +1,194 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.bean;
+
+import java.util.List;
+
+import org.dom4j.Attribute;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.dom4j.tree.DefaultElement;
+import org.dom4j.tree.NamespaceStack;
+
+import org.xml.sax.Attributes;
+
+/**
+ * <p>
+ * <code>BeanElement</code> uses a Java Bean to store its attributes.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.15 $
+ */
+public class BeanElement extends DefaultElement {
+    /** The <code>DocumentFactory</code> instance used by default */
+    private static final DocumentFactory DOCUMENT_FACTORY = BeanDocumentFactory
+            .getInstance();
+
+    /** The JavaBean which defines my attributes */
+    private Object bean;
+
+    public BeanElement(String name, Object bean) {
+        this(DOCUMENT_FACTORY.createQName(name), bean);
+    }
+
+    public BeanElement(String name, Namespace namespace, Object bean) {
+        this(DOCUMENT_FACTORY.createQName(name, namespace), bean);
+    }
+
+    public BeanElement(QName qname, Object bean) {
+        super(qname);
+        this.bean = bean;
+    }
+
+    public BeanElement(QName qname) {
+        super(qname);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the JavaBean associated with this element
+     */
+    public Object getData() {
+        return bean;
+    }
+
+    public void setData(Object data) {
+        this.bean = data;
+
+        // force the attributeList to be lazily
+        // created next time an attribute related
+        // method is called again.
+        setAttributeList(null);
+    }
+
+    public Attribute attribute(String name) {
+        return getBeanAttributeList().attribute(name);
+    }
+
+    public Attribute attribute(QName qname) {
+        return getBeanAttributeList().attribute(qname);
+    }
+
+    public Element addAttribute(String name, String value) {
+        Attribute attribute = attribute(name);
+
+        if (attribute != null) {
+            attribute.setValue(value);
+        }
+
+        return this;
+    }
+
+    public Element addAttribute(QName qName, String value) {
+        Attribute attribute = attribute(qName);
+
+        if (attribute != null) {
+            attribute.setValue(value);
+        }
+
+        return this;
+    }
+
+    public void setAttributes(List attributes) {
+        throw new UnsupportedOperationException("Not implemented yet.");
+    }
+
+    // Method overridden from AbstractElement
+    public void setAttributes(Attributes attributes,
+            NamespaceStack namespaceStack, boolean noNamespaceAttributes) {
+        String className = attributes.getValue("class");
+
+        if (className != null) {
+            try {
+                Class beanClass = Class.forName(className, true,
+                        BeanElement.class.getClassLoader());
+                this.setData(beanClass.newInstance());
+
+                for (int i = 0; i < attributes.getLength(); i++) {
+                    String attributeName = attributes.getLocalName(i);
+
+                    if (!"class".equalsIgnoreCase(attributeName)) {
+                        addAttribute(attributeName, attributes.getValue(i));
+                    }
+                }
+            } catch (Exception ex) {
+                // What to do here?
+                ((BeanDocumentFactory) this.getDocumentFactory())
+                        .handleException(ex);
+            }
+        } else {
+            super.setAttributes(attributes, namespaceStack,
+                    noNamespaceAttributes);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected DocumentFactory getDocumentFactory() {
+        return DOCUMENT_FACTORY;
+    }
+
+    protected BeanAttributeList getBeanAttributeList() {
+        return (BeanAttributeList) attributeList();
+    }
+
+    /**
+     * A Factory Method pattern which lazily creates a List implementation used
+     * to store content
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List createAttributeList() {
+        return new BeanAttributeList(this);
+    }
+
+    protected List createAttributeList(int size) {
+        return new BeanAttributeList(this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/bean/BeanMetaData.java b/src/java/org/dom4j/bean/BeanMetaData.java
new file mode 100644
index 0000000..c88fd3d
--- /dev/null
+++ b/src/java/org/dom4j/bean/BeanMetaData.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.bean;
+
+import java.beans.BeanInfo;
+import java.beans.IntrospectionException;
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>BeanMetaData</code> contains metadata about a bean class.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public class BeanMetaData {
+    /** Empty arguments for reflection calls */
+    protected static final Object[] NULL_ARGS = {};
+
+    /** Singleton cache */
+    private static Map singletonCache = new HashMap();
+
+    private static final DocumentFactory DOCUMENT_FACTORY = BeanDocumentFactory
+            .getInstance();
+
+    /** The class of the bean */
+    private Class beanClass;
+
+    /** Property descriptors for the bean */
+    private PropertyDescriptor[] propertyDescriptors;
+
+    /** QNames for the attributes */
+    private QName[] qNames;
+
+    /** Read methods used for getting properties */
+    private Method[] readMethods;
+
+    /** Write methods used for setting properties */
+    private Method[] writeMethods;
+
+    /** Index of names and QNames to indices */
+    private Map nameMap = new HashMap();
+
+    public BeanMetaData(Class beanClass) {
+        this.beanClass = beanClass;
+
+        if (beanClass != null) {
+            try {
+                BeanInfo beanInfo = Introspector.getBeanInfo(beanClass);
+                propertyDescriptors = beanInfo.getPropertyDescriptors();
+            } catch (IntrospectionException e) {
+                handleException(e);
+            }
+        }
+
+        if (propertyDescriptors == null) {
+            propertyDescriptors = new PropertyDescriptor[0];
+        }
+
+        int size = propertyDescriptors.length;
+        qNames = new QName[size];
+        readMethods = new Method[size];
+        writeMethods = new Method[size];
+
+        for (int i = 0; i < size; i++) {
+            PropertyDescriptor propertyDescriptor = propertyDescriptors[i];
+            String name = propertyDescriptor.getName();
+            QName qName = DOCUMENT_FACTORY.createQName(name);
+            qNames[i] = qName;
+            readMethods[i] = propertyDescriptor.getReadMethod();
+            writeMethods[i] = propertyDescriptor.getWriteMethod();
+
+            Integer index = new Integer(i);
+            nameMap.put(name, index);
+            nameMap.put(qName, index);
+        }
+    }
+
+    /**
+     * Static helper method to find and cache meta data objects for bean types
+     * 
+     * @param beanClass
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    public static BeanMetaData get(Class beanClass) {
+        BeanMetaData answer = (BeanMetaData) singletonCache.get(beanClass);
+
+        if (answer == null) {
+            answer = new BeanMetaData(beanClass);
+            singletonCache.put(beanClass, answer);
+        }
+
+        return answer;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the number of attribtutes for this bean type
+     */
+    public int attributeCount() {
+        return propertyDescriptors.length;
+    }
+
+    public BeanAttributeList createAttributeList(BeanElement parent) {
+        return new BeanAttributeList(parent, this);
+    }
+
+    public QName getQName(int index) {
+        return qNames[index];
+    }
+
+    public int getIndex(String name) {
+        Integer index = (Integer) nameMap.get(name);
+
+        return (index != null) ? index.intValue() : (-1);
+    }
+
+    public int getIndex(QName qName) {
+        Integer index = (Integer) nameMap.get(qName);
+
+        return (index != null) ? index.intValue() : (-1);
+    }
+
+    public Object getData(int index, Object bean) {
+        try {
+            Method method = readMethods[index];
+
+            return method.invoke(bean, NULL_ARGS);
+        } catch (Exception e) {
+            handleException(e);
+
+            return null;
+        }
+    }
+
+    public void setData(int index, Object bean, Object data) {
+        try {
+            Method method = writeMethods[index];
+            Object[] args = {data};
+            method.invoke(bean, args);
+        } catch (Exception e) {
+            handleException(e);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void handleException(Exception e) {
+        // ignore introspection exceptions
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/bean/package.html b/src/java/org/dom4j/bean/package.html
new file mode 100644
index 0000000..09932ef
--- /dev/null
+++ b/src/java/org/dom4j/bean/package.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+</head>
+<body>
+
+  <p>An implementation of the <i>dom4j</i> API which allows JavaBeans to be used to 
+    store and retrieve attribute values from Element.</p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/datatype/DatatypeAttribute.java b/src/java/org/dom4j/datatype/DatatypeAttribute.java
new file mode 100644
index 0000000..820a240
--- /dev/null
+++ b/src/java/org/dom4j/datatype/DatatypeAttribute.java
@@ -0,0 +1,229 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import com.sun.msv.datatype.DatabindableDatatype;
+import com.sun.msv.datatype.SerializationContext;
+import com.sun.msv.datatype.xsd.XSDatatype;
+
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.dom4j.tree.AbstractAttribute;
+
+import org.relaxng.datatype.DatatypeException;
+import org.relaxng.datatype.ValidationContext;
+
+/**
+ * <p>
+ * <code>DatatypeAttribute</code> represents an Attribute which supports the
+ * <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ * specification.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class DatatypeAttribute extends AbstractAttribute implements
+        SerializationContext, ValidationContext {
+    /** The parent <code>Element</code> of the <code>Attribute</code> */
+    private Element parent;
+
+    /** The <code>QName</code> for this element */
+    private QName qname;
+
+    /** The <code>XSDatatype</code> of the <code>Attribute</code> */
+    private XSDatatype datatype;
+
+    /** The data (Object) value of the <code>Attribute</code> */
+    private Object data;
+
+    /** The text value of the <code>Attribute</code> */
+    private String text;
+
+    public DatatypeAttribute(QName qname, XSDatatype datatype) {
+        this.qname = qname;
+        this.datatype = datatype;
+    }
+
+    public DatatypeAttribute(QName qname, XSDatatype datatype, String text) {
+        this.qname = qname;
+        this.datatype = datatype;
+        this.text = text;
+        this.data = convertToValue(text);
+    }
+
+    public String toString() {
+        return getClass().getName() + hashCode() + " [Attribute: name "
+                + getQualifiedName() + " value \"" + getValue() + "\" data: "
+                + getData() + "]";
+    }
+
+    /**
+     * Returns the MSV XSDatatype for this node
+     * 
+     * @return DOCUMENT ME!
+     */
+    public XSDatatype getXSDatatype() {
+        return datatype;
+    }
+
+    // SerializationContext interface
+    // -------------------------------------------------------------------------
+    public String getNamespacePrefix(String uri) {
+        Element parentElement = getParent();
+
+        if (parentElement != null) {
+            Namespace namespace = parentElement.getNamespaceForURI(uri);
+
+            if (namespace != null) {
+                return namespace.getPrefix();
+            }
+        }
+
+        return null;
+    }
+
+    // ValidationContext interface
+    // -------------------------------------------------------------------------
+    public String getBaseUri() {
+        // XXXX: could we use a Document for this?
+        return null;
+    }
+
+    public boolean isNotation(String notationName) {
+        // XXXX: no way to do this yet in dom4j so assume false
+        return false;
+    }
+
+    public boolean isUnparsedEntity(String entityName) {
+        // XXXX: no way to do this yet in dom4j so assume valid
+        return true;
+    }
+
+    public String resolveNamespacePrefix(String prefix) {
+        // first lets see if this is our attribute's prefix
+        if (prefix.equals(getNamespacePrefix())) {
+            return getNamespaceURI();
+        } else {
+            Element parentElement = getParent();
+
+            if (parentElement != null) {
+                Namespace namespace = parentElement
+                        .getNamespaceForPrefix(prefix);
+
+                if (namespace != null) {
+                    return namespace.getURI();
+                }
+            }
+        }
+
+        return null;
+    }
+
+    // Attribute interface
+    // -------------------------------------------------------------------------
+    public QName getQName() {
+        return qname;
+    }
+
+    public String getValue() {
+        return text;
+    }
+
+    public void setValue(String value) {
+        validate(value);
+
+        this.text = value;
+        this.data = convertToValue(value);
+    }
+
+    public Object getData() {
+        return data;
+    }
+
+    public void setData(Object data) {
+        String s = datatype.convertToLexicalValue(data, this);
+        validate(s);
+        this.text = s;
+        this.data = data;
+    }
+
+    public Element getParent() {
+        return parent;
+    }
+
+    public void setParent(Element parent) {
+        this.parent = parent;
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+
+    public boolean isReadOnly() {
+        return false;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void validate(String txt) throws IllegalArgumentException {
+        try {
+            datatype.checkValid(txt, this);
+        } catch (DatatypeException e) {
+            throw new IllegalArgumentException(e.getMessage());
+        }
+    }
+
+    protected Object convertToValue(String txt) {
+        if (datatype instanceof DatabindableDatatype) {
+            DatabindableDatatype bindable = (DatabindableDatatype) datatype;
+
+            return bindable.createJavaObject(txt, this);
+        } else {
+            return datatype.createValue(txt, this);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/datatype/DatatypeDocumentFactory.java b/src/java/org/dom4j/datatype/DatatypeDocumentFactory.java
new file mode 100644
index 0000000..798a4b8
--- /dev/null
+++ b/src/java/org/dom4j/datatype/DatatypeDocumentFactory.java
@@ -0,0 +1,223 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import org.dom4j.Attribute;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.dom4j.io.SAXReader;
+
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+
+/**
+ * <p>
+ * <code>DatatypeDocumentFactory</code> is a factory of XML objects which
+ * support the <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types
+ * </a> specification.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class DatatypeDocumentFactory extends DocumentFactory {
+    // XXXX: I don't think interning of QNames is necessary
+    private static final boolean DO_INTERN_QNAME = false;
+
+    /** The Singleton instance */
+    protected static transient DatatypeDocumentFactory singleton 
+            = new DatatypeDocumentFactory();
+
+    private static final Namespace XSI_NAMESPACE = Namespace.get("xsi",
+            "http://www.w3.org/2001/XMLSchema-instance");
+
+    private static final QName XSI_SCHEMA_LOCATION = QName.get(
+            "schemaLocation", XSI_NAMESPACE);
+
+    private static final QName XSI_NO_SCHEMA_LOCATION = QName.get(
+            "noNamespaceSchemaLocation", XSI_NAMESPACE);
+
+    /** The builder of XML Schemas */
+    private SchemaParser schemaBuilder;
+
+    /** reader of XML Schemas */
+    private SAXReader xmlSchemaReader = new SAXReader();
+
+    /** If schemas are automatically loaded when parsing instance documents */
+    private boolean autoLoadSchema = true;
+
+    public DatatypeDocumentFactory() {
+        schemaBuilder = new SchemaParser(this);
+    }
+
+    /**
+     * <p>
+     * Access to the singleton instance of this factory.
+     * </p>
+     * 
+     * @return the default singleon instance
+     */
+    public static DocumentFactory getInstance() {
+        return singleton;
+    }
+
+    /**
+     * Loads the given XML Schema document into this factory so schema-aware
+     * Document, Elements and Attributes will be created by this factory.
+     * 
+     * @param schemaDocument
+     *            is an XML Schema Document instance.
+     */
+    public void loadSchema(Document schemaDocument) {
+        schemaBuilder.build(schemaDocument);
+    }
+
+    public void loadSchema(Document schemaDocument, Namespace targetNamespace) {
+        schemaBuilder.build(schemaDocument, targetNamespace);
+    }
+
+    /**
+     * Registers the given <code>DatatypeElementFactory</code> for the given
+     * <element> schema element
+     * 
+     * @param elementQName
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    public DatatypeElementFactory getElementFactory(QName elementQName) {
+        DatatypeElementFactory result = null;
+        
+        if (DO_INTERN_QNAME) {
+            elementQName = intern(elementQName);
+        }
+
+        DocumentFactory factory = elementQName.getDocumentFactory();
+        if (factory instanceof DatatypeElementFactory) {
+            result = (DatatypeElementFactory) factory;
+        }
+        
+        return result;
+    }
+
+    // DocumentFactory methods
+    // -------------------------------------------------------------------------
+    public Attribute createAttribute(Element owner, QName qname, String value) {
+        if (autoLoadSchema && qname.equals(XSI_NO_SCHEMA_LOCATION)) {
+            Document document = (owner != null) ? owner.getDocument() : null;
+            loadSchema(document, value);
+        } else if (autoLoadSchema && qname.equals(XSI_SCHEMA_LOCATION)) {
+            Document document = (owner != null) ? owner.getDocument() : null;
+            String uri = value.substring(0, value.indexOf(' '));
+            Namespace namespace = owner.getNamespaceForURI(uri);
+            loadSchema(document, value.substring(value.indexOf(' ') + 1),
+                    namespace);
+        }
+
+        return super.createAttribute(owner, qname, value);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void loadSchema(Document document, String schemaInstanceURI) {
+        try {
+            EntityResolver resolver = document.getEntityResolver();
+
+            if (resolver == null) {
+                String msg = "No EntityResolver available for resolving URI: ";
+                throw new InvalidSchemaException(msg + schemaInstanceURI);
+            }
+
+            InputSource inputSource = resolver.resolveEntity(null,
+                    schemaInstanceURI);
+
+            if (resolver == null) {
+                throw new InvalidSchemaException("Could not resolve the URI: "
+                        + schemaInstanceURI);
+            }
+
+            Document schemaDocument = xmlSchemaReader.read(inputSource);
+            loadSchema(schemaDocument);
+        } catch (Exception e) {
+            System.out.println("Failed to load schema: " + schemaInstanceURI);
+            System.out.println("Caught: " + e);
+            e.printStackTrace();
+            throw new InvalidSchemaException("Failed to load schema: "
+                    + schemaInstanceURI);
+        }
+    }
+
+    protected void loadSchema(Document document, String schemaInstanceURI,
+            Namespace namespace) {
+        try {
+            EntityResolver resolver = document.getEntityResolver();
+
+            if (resolver == null) {
+                String msg = "No EntityResolver available for resolving URI: ";
+                throw new InvalidSchemaException(msg + schemaInstanceURI);
+            }
+
+            InputSource inputSource = resolver.resolveEntity(null,
+                    schemaInstanceURI);
+
+            if (resolver == null) {
+                throw new InvalidSchemaException("Could not resolve the URI: "
+                        + schemaInstanceURI);
+            }
+
+            Document schemaDocument = xmlSchemaReader.read(inputSource);
+            loadSchema(schemaDocument, namespace);
+        } catch (Exception e) {
+            System.out.println("Failed to load schema: " + schemaInstanceURI);
+            System.out.println("Caught: " + e);
+            e.printStackTrace();
+            throw new InvalidSchemaException("Failed to load schema: "
+                    + schemaInstanceURI);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/datatype/DatatypeElement.java b/src/java/org/dom4j/datatype/DatatypeElement.java
new file mode 100644
index 0000000..526eba7
--- /dev/null
+++ b/src/java/org/dom4j/datatype/DatatypeElement.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import com.sun.msv.datatype.DatabindableDatatype;
+import com.sun.msv.datatype.SerializationContext;
+import com.sun.msv.datatype.xsd.XSDatatype;
+
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.QName;
+import org.dom4j.tree.DefaultElement;
+
+import org.relaxng.datatype.DatatypeException;
+import org.relaxng.datatype.ValidationContext;
+
+/**
+ * <p>
+ * <code>DatatypeElement</code> represents an Element which supports the <a
+ * href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types </a>
+ * specification.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class DatatypeElement extends DefaultElement implements
+        SerializationContext, ValidationContext {
+    /** The <code>XSDatatype</code> of the <code>Attribute</code> */
+    private XSDatatype datatype;
+
+    /** The data (Object) value of the <code>Attribute</code> */
+    private Object data;
+
+    public DatatypeElement(QName qname, XSDatatype datatype) {
+        super(qname);
+        this.datatype = datatype;
+    }
+
+    public DatatypeElement(QName qname, int attributeCount, XSDatatype type) {
+        super(qname, attributeCount);
+        this.datatype = type;
+    }
+
+    public String toString() {
+        return getClass().getName() + hashCode() + " [Element: <"
+                + getQualifiedName() + " attributes: " + attributeList()
+                + " data: " + getData() + " />]";
+    }
+
+    /**
+     * Returns the MSV XSDatatype for this node
+     * 
+     * @return DOCUMENT ME!
+     */
+    public XSDatatype getXSDatatype() {
+        return datatype;
+    }
+
+    // SerializationContext interface
+    // -------------------------------------------------------------------------
+    public String getNamespacePrefix(String uri) {
+        Namespace namespace = getNamespaceForURI(uri);
+
+        return (namespace != null) ? namespace.getPrefix() : null;
+    }
+
+    // ValidationContext interface
+    // -------------------------------------------------------------------------
+    public String getBaseUri() {
+        // XXXX: could we use a Document for this?
+        return null;
+    }
+
+    public boolean isNotation(String notationName) {
+        // XXXX: no way to do this yet in dom4j so assume false
+        return false;
+    }
+
+    public boolean isUnparsedEntity(String entityName) {
+        // XXXX: no way to do this yet in dom4j so assume valid
+        return true;
+    }
+
+    public String resolveNamespacePrefix(String prefix) {
+        Namespace namespace = getNamespaceForPrefix(prefix);
+
+        if (namespace != null) {
+            return namespace.getURI();
+        }
+
+        return null;
+    }
+
+    // Element interface
+    // -------------------------------------------------------------------------
+    public Object getData() {
+        if (data == null) {
+            String text = getTextTrim();
+
+            if ((text != null) && (text.length() > 0)) {
+                if (datatype instanceof DatabindableDatatype) {
+                    DatabindableDatatype bind = (DatabindableDatatype) datatype;
+                    data = bind.createJavaObject(text, this);
+                } else {
+                    data = datatype.createValue(text, this);
+                }
+            }
+        }
+
+        return data;
+    }
+
+    public void setData(Object data) {
+        String s = datatype.convertToLexicalValue(data, this);
+        validate(s);
+        this.data = data;
+        setText(s);
+    }
+
+    public Element addText(String text) {
+        validate(text);
+
+        return super.addText(text);
+    }
+
+    public void setText(String text) {
+        validate(text);
+        super.setText(text);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Override to force lazy recreation of data object
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     */
+    protected void childAdded(Node node) {
+        data = null;
+        super.childAdded(node);
+    }
+
+    /**
+     * Override to force lazy recreation of data object
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     */
+    protected void childRemoved(Node node) {
+        data = null;
+        super.childRemoved(node);
+    }
+
+    protected void validate(String text) throws IllegalArgumentException {
+        try {
+            datatype.checkValid(text, this);
+        } catch (DatatypeException e) {
+            throw new IllegalArgumentException(e.getMessage());
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/datatype/DatatypeElementFactory.java b/src/java/org/dom4j/datatype/DatatypeElementFactory.java
new file mode 100644
index 0000000..3417482
--- /dev/null
+++ b/src/java/org/dom4j/datatype/DatatypeElementFactory.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import com.sun.msv.datatype.xsd.XSDatatype;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.dom4j.Attribute;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>DatatypeElementFactory</code> is a factory for a specific Element in
+ * an XML Schema.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @author Yuxin Ruan
+ * @version $Revision: 1.9 $
+ */
+public class DatatypeElementFactory extends DocumentFactory {
+    private QName elementQName;
+
+    /**
+     * Cache of <code>XSDatatype</code> instances per Attribute
+     * <code>QName</code>
+     */
+    private Map attributeXSDatatypes = new HashMap();
+
+    /**
+     * Cache of <code>XSDatatype</code> instances per child Element
+     * <code>QName</code>
+     */
+    private Map childrenXSDatatypes = new HashMap();
+
+    public DatatypeElementFactory(QName elementQName) {
+        this.elementQName = elementQName;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the QName this element factory is associated with
+     */
+    public QName getQName() {
+        return elementQName;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param attributeQName
+     *            DOCUMENT ME!
+     * 
+     * @return the <code>XSDatatype</code> associated with the given Attribute
+     *         QName
+     */
+    public XSDatatype getAttributeXSDatatype(QName attributeQName) {
+        return (XSDatatype) attributeXSDatatypes.get(attributeQName);
+    }
+
+    /**
+     * Registers the given <code>XSDatatype</code> for the given
+     * <attribute> QNames
+     * 
+     * @param attributeQName
+     *            DOCUMENT ME!
+     * @param type
+     *            DOCUMENT ME!
+     */
+    public void setAttributeXSDatatype(QName attributeQName, XSDatatype type) {
+        attributeXSDatatypes.put(attributeQName, type);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param qname
+     *            DOCUMENT ME!
+     * 
+     * @return the <code>XSDatatype</code> associated with the given child
+     *         Element QName
+     */
+    public XSDatatype getChildElementXSDatatype(QName qname) {
+        return (XSDatatype) childrenXSDatatypes.get(qname);
+    }
+
+    public void setChildElementXSDatatype(QName qname, XSDatatype dataType) {
+        childrenXSDatatypes.put(qname, dataType);
+    }
+
+    // DocumentFactory methods
+    // -------------------------------------------------------------------------
+    public Element createElement(QName qname) {
+        // the element may have its own element factory!
+        // use factory from the qname for datatype
+        XSDatatype dataType = getChildElementXSDatatype(qname);
+
+        if (dataType != null) {
+            return new DatatypeElement(qname, dataType);
+        }
+
+        DocumentFactory factory = qname.getDocumentFactory();
+
+        if (factory instanceof DatatypeElementFactory) {
+            DatatypeElementFactory dtFactory = (DatatypeElementFactory) factory;
+            dataType = dtFactory.getChildElementXSDatatype(qname);
+
+            if (dataType != null) {
+                return new DatatypeElement(qname, dataType);
+            }
+        }
+
+        return super.createElement(qname);
+    }
+
+    public Attribute createAttribute(Element owner, QName qname, String value) {
+        XSDatatype dataType = getAttributeXSDatatype(qname);
+
+        if (dataType == null) {
+            return super.createAttribute(owner, qname, value);
+        } else {
+            return new DatatypeAttribute(qname, dataType, value);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/datatype/InvalidSchemaException.java b/src/java/org/dom4j/datatype/InvalidSchemaException.java
new file mode 100644
index 0000000..ad57160
--- /dev/null
+++ b/src/java/org/dom4j/datatype/InvalidSchemaException.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+/**
+ * <p>
+ * <code>InvalidSchemaException</code> is thrown when an invalid XML Schema
+ * document is used
+ * </p>
+ * 
+ * @version $Revision: 1.6 $
+ */
+public class InvalidSchemaException extends IllegalArgumentException {
+    public InvalidSchemaException(String reason) {
+        super(reason);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/datatype/NamedTypeResolver.java b/src/java/org/dom4j/datatype/NamedTypeResolver.java
new file mode 100644
index 0000000..8bd14d2
--- /dev/null
+++ b/src/java/org/dom4j/datatype/NamedTypeResolver.java
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import com.sun.msv.datatype.xsd.XSDatatype;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>NamedTypeResolver</code> resolves named types for a given QName.
+ * </p>
+ * 
+ * @author Yuxin Ruan
+ * @version $Revision: 1.8 $
+ */
+class NamedTypeResolver {
+    protected Map complexTypeMap = new HashMap();
+
+    protected Map simpleTypeMap = new HashMap();
+
+    protected Map typedElementMap = new HashMap();
+
+    protected Map elementFactoryMap = new HashMap();
+
+    protected DocumentFactory documentFactory;
+
+    NamedTypeResolver(DocumentFactory documentFactory) {
+        this.documentFactory = documentFactory;
+    }
+
+    void registerComplexType(QName type, DocumentFactory factory) {
+        complexTypeMap.put(type, factory);
+    }
+
+    void registerSimpleType(QName type, XSDatatype datatype) {
+        simpleTypeMap.put(type, datatype);
+    }
+
+    void registerTypedElement(Element element, QName type,
+            DocumentFactory parentFactory) {
+        typedElementMap.put(element, type);
+        elementFactoryMap.put(element, parentFactory);
+    }
+
+    void resolveElementTypes() {
+        Iterator iterator = typedElementMap.keySet().iterator();
+
+        while (iterator.hasNext()) {
+            Element element = (Element) iterator.next();
+            QName elementQName = getQNameOfSchemaElement(element);
+            QName type = (QName) typedElementMap.get(element);
+
+            if (complexTypeMap.containsKey(type)) {
+                DocumentFactory factory = (DocumentFactory) complexTypeMap
+                        .get(type);
+                elementQName.setDocumentFactory(factory);
+            } else if (simpleTypeMap.containsKey(type)) {
+                XSDatatype datatype = (XSDatatype) simpleTypeMap.get(type);
+                DocumentFactory factory = (DocumentFactory) elementFactoryMap
+                        .get(element);
+
+                if (factory instanceof DatatypeElementFactory) {
+                    ((DatatypeElementFactory) factory)
+                            .setChildElementXSDatatype(elementQName, datatype);
+                }
+            }
+        }
+    }
+
+    void resolveNamedTypes() {
+        resolveElementTypes();
+    }
+
+    private QName getQNameOfSchemaElement(Element element) {
+        String name = element.attributeValue("name");
+
+        return getQName(name);
+    }
+
+    private QName getQName(String name) {
+        return documentFactory.createQName(name);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/datatype/SchemaParser.java b/src/java/org/dom4j/datatype/SchemaParser.java
new file mode 100644
index 0000000..553b65f
--- /dev/null
+++ b/src/java/org/dom4j/datatype/SchemaParser.java
@@ -0,0 +1,607 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import com.sun.msv.datatype.xsd.DatatypeFactory;
+import com.sun.msv.datatype.xsd.TypeIncubator;
+import com.sun.msv.datatype.xsd.XSDatatype;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.dom4j.Attribute;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.dom4j.io.SAXReader;
+import org.dom4j.util.AttributeHelper;
+
+import org.relaxng.datatype.DatatypeException;
+import org.relaxng.datatype.ValidationContext;
+
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+
+/**
+ * <p>
+ * <code>SchemaParser</code> reads an XML Schema Document.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @author Yuxin Ruan
+ * @version $Revision: 1.19 $
+ */
+public class SchemaParser {
+    private static final Namespace XSD_NAMESPACE = Namespace.get("xsd",
+            "http://www.w3.org/2001/XMLSchema");
+
+    // Use QNames for the elements
+    private static final QName XSD_ELEMENT = QName
+            .get("element", XSD_NAMESPACE);
+
+    private static final QName XSD_ATTRIBUTE = QName.get("attribute",
+            XSD_NAMESPACE);
+
+    private static final QName XSD_SIMPLETYPE = QName.get("simpleType",
+            XSD_NAMESPACE);
+
+    private static final QName XSD_COMPLEXTYPE = QName.get("complexType",
+            XSD_NAMESPACE);
+
+    private static final QName XSD_RESTRICTION = QName.get("restriction",
+            XSD_NAMESPACE);
+
+    private static final QName XSD_SEQUENCE = QName.get("sequence",
+            XSD_NAMESPACE);
+
+    private static final QName XSD_CHOICE = QName.get("choice", XSD_NAMESPACE);
+
+    private static final QName XSD_ALL = QName.get("all", XSD_NAMESPACE);
+
+    private static final QName XSD_INCLUDE = QName
+            .get("include", XSD_NAMESPACE);
+
+    /** Document factory used to register Element specific factories */
+    private DatatypeDocumentFactory documentFactory;
+
+    /**
+     * Cache of <code>XSDatatype</code> instances loaded or created during
+     * this build
+     */
+    private Map dataTypeCache = new HashMap();
+
+    /** NamedTypeResolver */
+    private NamedTypeResolver namedTypeResolver;
+
+    /** target namespace */
+    private Namespace targetNamespace;
+
+    public SchemaParser() {
+        this(DatatypeDocumentFactory.singleton);
+    }
+
+    public SchemaParser(DatatypeDocumentFactory documentFactory) {
+        this.documentFactory = documentFactory;
+        this.namedTypeResolver = new NamedTypeResolver(documentFactory);
+    }
+
+    /**
+     * Parses the given schema document
+     * 
+     * @param schemaDocument
+     *            is the document of the XML Schema
+     */
+    public void build(Document schemaDocument) {
+        this.targetNamespace = null;
+        internalBuild(schemaDocument);
+    }
+
+    public void build(Document schemaDocument, Namespace namespace) {
+        this.targetNamespace = namespace;
+        internalBuild(schemaDocument);
+    }
+
+    private synchronized void internalBuild(Document schemaDocument) {
+        Element root = schemaDocument.getRootElement();
+
+        if (root != null) {
+            // handle schema includes
+            Iterator includeIter = root.elementIterator(XSD_INCLUDE);
+
+            while (includeIter.hasNext()) {
+                Element includeElement = (Element) includeIter.next();
+                String inclSchemaInstanceURI = includeElement
+                        .attributeValue("schemaLocation");
+                EntityResolver resolver = schemaDocument.getEntityResolver();
+
+                try {
+                    if (resolver == null) {
+                        String msg = "No EntityResolver available";
+                        throw new InvalidSchemaException(msg);
+                    }
+
+                    InputSource inputSource = resolver.resolveEntity(null,
+                            inclSchemaInstanceURI);
+
+                    if (inputSource == null) {
+                        String msg = "Could not resolve the schema URI: "
+                                + inclSchemaInstanceURI;
+                        throw new InvalidSchemaException(msg);
+                    }
+
+                    SAXReader reader = new SAXReader();
+                    Document inclSchemaDocument = reader.read(inputSource);
+                    build(inclSchemaDocument);
+                } catch (Exception e) {
+                    System.out.println("Failed to load schema: "
+                            + inclSchemaInstanceURI);
+                    System.out.println("Caught: " + e);
+                    e.printStackTrace();
+                    throw new InvalidSchemaException("Failed to load schema: "
+                            + inclSchemaInstanceURI);
+                }
+            }
+
+            // handle elements
+            Iterator iter = root.elementIterator(XSD_ELEMENT);
+
+            while (iter.hasNext()) {
+                onDatatypeElement((Element) iter.next(), documentFactory);
+            }
+
+            // handle named simple types
+            iter = root.elementIterator(XSD_SIMPLETYPE);
+
+            while (iter.hasNext()) {
+                onNamedSchemaSimpleType((Element) iter.next());
+            }
+
+            // hanlde named complex types
+            iter = root.elementIterator(XSD_COMPLEXTYPE);
+
+            while (iter.hasNext()) {
+                onNamedSchemaComplexType((Element) iter.next());
+            }
+
+            namedTypeResolver.resolveNamedTypes();
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * processes an XML Schema <element> tag
+     * 
+     * @param xsdElement
+     *            DOCUMENT ME!
+     * @param parentFactory
+     *            DOCUMENT ME!
+     */
+    private void onDatatypeElement(Element xsdElement,
+            DocumentFactory parentFactory) {
+        String name = xsdElement.attributeValue("name");
+        String type = xsdElement.attributeValue("type");
+        QName qname = getQName(name);
+
+        DatatypeElementFactory factory = getDatatypeElementFactory(qname);
+
+        if (type != null) {
+            // register type with this element name
+            XSDatatype dataType = getTypeByName(type);
+
+            if (dataType != null) {
+                factory.setChildElementXSDatatype(qname, dataType);
+            } else {
+                QName typeQName = getQName(type);
+                namedTypeResolver.registerTypedElement(xsdElement, typeQName,
+                        parentFactory);
+            }
+
+            return;
+        }
+
+        // handle element types derrived from simpleTypes
+        Element xsdSimpleType = xsdElement.element(XSD_SIMPLETYPE);
+
+        if (xsdSimpleType != null) {
+            XSDatatype dataType = loadXSDatatypeFromSimpleType(xsdSimpleType);
+
+            if (dataType != null) {
+                factory.setChildElementXSDatatype(qname, dataType);
+            }
+        }
+
+        Element schemaComplexType = xsdElement.element(XSD_COMPLEXTYPE);
+
+        if (schemaComplexType != null) {
+            onSchemaComplexType(schemaComplexType, factory);
+        }
+
+        Iterator iter = xsdElement.elementIterator(XSD_ATTRIBUTE);
+
+        if (iter.hasNext()) {
+            do {
+                onDatatypeAttribute(xsdElement, factory, (Element) iter
+                        .next());
+            } while (iter.hasNext());
+        }
+    }
+
+    /**
+     * processes an named XML Schema <complexTypegt; tag
+     * 
+     * @param schemaComplexType
+     *            DOCUMENT ME!
+     */
+    private void onNamedSchemaComplexType(Element schemaComplexType) {
+        Attribute nameAttr = schemaComplexType.attribute("name");
+
+        if (nameAttr == null) {
+            return;
+        }
+
+        String name = nameAttr.getText();
+        QName qname = getQName(name);
+
+        DatatypeElementFactory factory = getDatatypeElementFactory(qname);
+
+        onSchemaComplexType(schemaComplexType, factory);
+        namedTypeResolver.registerComplexType(qname, factory);
+    }
+
+    /**
+     * processes an XML Schema <complexTypegt; tag
+     * 
+     * @param schemaComplexType
+     *            DOCUMENT ME!
+     * @param elementFactory
+     *            DOCUMENT ME!
+     */
+    private void onSchemaComplexType(Element schemaComplexType,
+            DatatypeElementFactory elementFactory) {
+        Iterator iter = schemaComplexType.elementIterator(XSD_ATTRIBUTE);
+
+        while (iter.hasNext()) {
+            Element xsdAttribute = (Element) iter.next();
+            String name = xsdAttribute.attributeValue("name");
+            QName qname = getQName(name);
+
+            XSDatatype dataType = dataTypeForXsdAttribute(xsdAttribute);
+
+            if (dataType != null) {
+                // register the XSDatatype for the given Attribute
+                // #### should both these be done?
+                // elementFactory.setChildElementXSDatatype( qname, dataType );
+                elementFactory.setAttributeXSDatatype(qname, dataType);
+            }
+        }
+
+        // handle sequence definition
+        Element schemaSequence = schemaComplexType.element(XSD_SEQUENCE);
+
+        if (schemaSequence != null) {
+            onChildElements(schemaSequence, elementFactory);
+        }
+
+        // handle choice definition
+        Element schemaChoice = schemaComplexType.element(XSD_CHOICE);
+
+        if (schemaChoice != null) {
+            onChildElements(schemaChoice, elementFactory);
+        }
+
+        // handle all definition
+        Element schemaAll = schemaComplexType.element(XSD_ALL);
+
+        if (schemaAll != null) {
+            onChildElements(schemaAll, elementFactory);
+        }
+    }
+
+    private void onChildElements(Element element, DatatypeElementFactory fact) {
+        Iterator iter = element.elementIterator(XSD_ELEMENT);
+
+        while (iter.hasNext()) {
+            Element xsdElement = (Element) iter.next();
+            onDatatypeElement(xsdElement, fact);
+        }
+    }
+
+    /**
+     * processes an XML Schema <attribute> tag
+     * 
+     * @param xsdElement
+     *            DOCUMENT ME!
+     * @param elementFactory
+     *            DOCUMENT ME!
+     * @param xsdAttribute
+     *            DOCUMENT ME!
+     */
+    private void onDatatypeAttribute(Element xsdElement,
+            DatatypeElementFactory elementFactory, Element xsdAttribute) {
+        String name = xsdAttribute.attributeValue("name");
+        QName qname = getQName(name);
+        XSDatatype dataType = dataTypeForXsdAttribute(xsdAttribute);
+
+        if (dataType != null) {
+            // register the XSDatatype for the given Attribute
+            elementFactory.setAttributeXSDatatype(qname, dataType);
+        } else {
+            String type = xsdAttribute.attributeValue("type");
+            System.out.println("Warning: Couldn't find XSDatatype for type: "
+                    + type + " attribute: " + name);
+        }
+    }
+
+    /**
+     * processes an XML Schema <attribute> tag
+     * 
+     * @param xsdAttribute
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws InvalidSchemaException
+     *             DOCUMENT ME!
+     */
+    private XSDatatype dataTypeForXsdAttribute(Element xsdAttribute) {
+        String type = xsdAttribute.attributeValue("type");
+        XSDatatype dataType = null;
+
+        if (type != null) {
+            dataType = getTypeByName(type);
+        } else {
+            // must parse the <simpleType> element
+            Element xsdSimpleType = xsdAttribute.element(XSD_SIMPLETYPE);
+
+            if (xsdSimpleType == null) {
+                String name = xsdAttribute.attributeValue("name");
+                String msg = "The attribute: " + name
+                        + " has no type attribute and does not contain a "
+                        + "<simpleType/> element";
+                throw new InvalidSchemaException(msg);
+            }
+
+            dataType = loadXSDatatypeFromSimpleType(xsdSimpleType);
+        }
+
+        return dataType;
+    }
+
+    /**
+     * processes an named XML Schema <simpleTypegt; tag
+     * 
+     * @param schemaSimpleType
+     *            DOCUMENT ME!
+     */
+    private void onNamedSchemaSimpleType(Element schemaSimpleType) {
+        Attribute nameAttr = schemaSimpleType.attribute("name");
+
+        if (nameAttr == null) {
+            return;
+        }
+
+        String name = nameAttr.getText();
+        QName qname = getQName(name);
+        XSDatatype datatype = loadXSDatatypeFromSimpleType(schemaSimpleType);
+        namedTypeResolver.registerSimpleType(qname, datatype);
+    }
+
+    /**
+     * Loads a XSDatatype object from a <simpleType> attribute schema
+     * element
+     * 
+     * @param xsdSimpleType
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    private XSDatatype loadXSDatatypeFromSimpleType(Element xsdSimpleType) {
+        Element xsdRestriction = xsdSimpleType.element(XSD_RESTRICTION);
+
+        if (xsdRestriction != null) {
+            String base = xsdRestriction.attributeValue("base");
+
+            if (base != null) {
+                XSDatatype baseType = getTypeByName(base);
+
+                if (baseType == null) {
+                    onSchemaError("Invalid base type: " + base
+                            + " when trying to build restriction: "
+                            + xsdRestriction);
+                } else {
+                    return deriveSimpleType(baseType, xsdRestriction);
+                }
+            } else {
+                // simpleType and base are mutually exclusive and you
+                // must have one within a <restriction> tag
+                Element xsdSubType = xsdSimpleType.element(XSD_SIMPLETYPE);
+
+                if (xsdSubType == null) {
+                    String msg = "The simpleType element: " + xsdSimpleType
+                            + " must contain a base attribute or simpleType"
+                            + " element";
+                    onSchemaError(msg);
+                } else {
+                    return loadXSDatatypeFromSimpleType(xsdSubType);
+                }
+            }
+        } else {
+            onSchemaError("No <restriction>. Could not create XSDatatype for"
+                    + " simpleType: " + xsdSimpleType);
+        }
+
+        return null;
+    }
+
+    /**
+     * Derives a new type from a base type and a set of restrictions
+     * 
+     * @param baseType
+     *            DOCUMENT ME!
+     * @param xsdRestriction
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    private XSDatatype deriveSimpleType(XSDatatype baseType,
+            Element xsdRestriction) {
+        TypeIncubator incubator = new TypeIncubator(baseType);
+        ValidationContext context = null;
+
+        try {
+            for (Iterator iter = xsdRestriction.elementIterator(); iter
+                    .hasNext();) {
+                Element element = (Element) iter.next();
+                String name = element.getName();
+                String value = element.attributeValue("value");
+                boolean fixed = AttributeHelper.booleanValue(element, "fixed");
+
+                // add facet
+                incubator.addFacet(name, value, fixed, context);
+            }
+
+            // derive a new type by those facets
+            String newTypeName = null;
+
+            return incubator.derive("", newTypeName);
+        } catch (DatatypeException e) {
+            onSchemaError("Invalid restriction: " + e.getMessage()
+                    + " when trying to build restriction: " + xsdRestriction);
+
+            return null;
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param name
+     *            The name of the element
+     * 
+     * @return the <code>DatatypeElementFactory</code> for the given element
+     *         QName, creating one if it does not already exist
+     */
+    private DatatypeElementFactory getDatatypeElementFactory(QName name) {
+        DatatypeElementFactory factory = documentFactory
+                .getElementFactory(name);
+
+        if (factory == null) {
+            factory = new DatatypeElementFactory(name);
+            name.setDocumentFactory(factory);
+        }
+
+        return factory;
+    }
+
+    private XSDatatype getTypeByName(String type) {
+        XSDatatype dataType = (XSDatatype) dataTypeCache.get(type);
+
+        if (dataType == null) {
+            // first check to see if it is a built-in type
+            // maybe a prefix is being used
+            int idx = type.indexOf(':');
+
+            if (idx >= 0) {
+                String localName = type.substring(idx + 1);
+
+                try {
+                    dataType = DatatypeFactory.getTypeByName(localName);
+                } catch (DatatypeException e) {
+                }
+            }
+
+            if (dataType == null) {
+                try {
+                    dataType = DatatypeFactory.getTypeByName(type);
+                } catch (DatatypeException e) {
+                }
+            }
+
+            if (dataType == null) {
+                // it's no built-in type, maybe it's a type we defined ourself
+                QName typeQName = getQName(type);
+                dataType = (XSDatatype) namedTypeResolver.simpleTypeMap
+                        .get(typeQName);
+            }
+
+            if (dataType != null) {
+                // store in cache for later
+                dataTypeCache.put(type, dataType);
+            }
+        }
+
+        return dataType;
+    }
+
+    private QName getQName(String name) {
+        if (targetNamespace == null) {
+            return documentFactory.createQName(name);
+        } else {
+            return documentFactory.createQName(name, targetNamespace);
+        }
+    }
+
+    /**
+     * Called when there is a problem with the schema and the builder cannot
+     * handle the XML Schema Data Types correctly
+     * 
+     * @param message
+     *            DOCUMENT ME!
+     * 
+     * @throws InvalidSchemaException
+     *             DOCUMENT ME!
+     */
+    private void onSchemaError(String message) {
+        // Some users may wish to disable exception throwing
+        // and instead use some kind of listener for errors and continue
+        // System.out.println( "WARNING: " + message );
+        throw new InvalidSchemaException(message);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/datatype/package.html b/src/java/org/dom4j/datatype/package.html
new file mode 100644
index 0000000..1a6bacd
--- /dev/null
+++ b/src/java/org/dom4j/datatype/package.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+</head>
+<body>
+
+  <p>An implementation of the <i>dom4j</i> API which supports the 
+    <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Types</a> specification.</p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/dom/DOMAttribute.java b/src/java/org/dom4j/dom/DOMAttribute.java
new file mode 100644
index 0000000..58fb817
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMAttribute.java
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import org.dom4j.Element;
+import org.dom4j.QName;
+import org.dom4j.tree.DefaultAttribute;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMAttribute</code> implements a doubly linked attribute which
+ * supports the W3C DOM API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.14 $
+ */
+public class DOMAttribute extends DefaultAttribute implements org.w3c.dom.Attr {
+    public DOMAttribute(QName qname) {
+        super(qname);
+    }
+
+    public DOMAttribute(QName qname, String value) {
+        super(qname, value);
+    }
+
+    public DOMAttribute(Element parent, QName qname, String value) {
+        super(parent, qname, value);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return getQName().getNamespaceURI();
+    }
+
+    public String getPrefix() {
+        return getQName().getNamespacePrefix();
+    }
+
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return getQName().getName();
+    }
+
+    public String getNodeName() {
+        return getName();
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return DOMNodeHelper.getNodeValue(this);
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+        DOMNodeHelper.setNodeValue(this, nodeValue);
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        // Per http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-637646024
+        // and the NIST conformance tests, Attr.getParentNode() should always
+        // return null
+        return null;
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.getChildNodes(this);
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.getFirstChild(this);
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.getLastChild(this);
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return null;
+    }
+
+    public Document getOwnerDocument() {
+        return DOMNodeHelper.getOwnerDocument(this);
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    private void checkNewChildNode(org.w3c.dom.Node newChild)
+            throws DOMException {
+        final int nodeType = newChild.getNodeType();
+
+        if (!((nodeType == org.w3c.dom.Node.TEXT_NODE) 
+                || (nodeType == org.w3c.dom.Node.ENTITY_REFERENCE_NODE))) {
+            throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                    "The node cannot be a child of attribute");
+        }
+    }
+
+    public boolean hasChildNodes() {
+        return DOMNodeHelper.hasChildNodes(this);
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public void normalize() {
+        DOMNodeHelper.normalize(this);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+
+    // org.w3c.dom.Attr interface
+    // -------------------------------------------------------------------------
+    // public String getName();
+    public boolean getSpecified() {
+        return true;
+    }
+
+    // public String getValue();
+    // public void setValue(String value) throws DOMException;
+    public org.w3c.dom.Element getOwnerElement() {
+        return DOMNodeHelper.asDOMElement(getParent());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMAttributeNodeMap.java b/src/java/org/dom4j/dom/DOMAttributeNodeMap.java
new file mode 100644
index 0000000..bc485aa
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMAttributeNodeMap.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Node;
+
+/**
+ * <p>
+ * <code>DOMAttributeNodeMap</code> implements a W3C NameNodeMap for the
+ * attributes of an element.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+public class DOMAttributeNodeMap implements org.w3c.dom.NamedNodeMap {
+    private DOMElement element;
+
+    public DOMAttributeNodeMap(DOMElement element) {
+        this.element = element;
+    }
+
+    // org.w3c.dom.NamedNodeMap interface
+    // -------------------------------------------------------------------------
+    public void foo() throws DOMException {
+        DOMNodeHelper.notSupported();
+    }
+
+    public Node getNamedItem(String name) {
+        return element.getAttributeNode(name);
+    }
+
+    public Node setNamedItem(Node arg) throws DOMException {
+        if (arg instanceof Attr) {
+            return element.setAttributeNode((org.w3c.dom.Attr) arg);
+        } else {
+            throw new DOMException(DOMException.NOT_SUPPORTED_ERR,
+                    "Node is not an Attr: " + arg);
+        }
+    }
+
+    public Node removeNamedItem(String name) throws DOMException {
+        org.w3c.dom.Attr attr = element.getAttributeNode(name);
+
+        if (attr == null) {
+            throw new DOMException(DOMException.NOT_FOUND_ERR,
+                    "No attribute named " + name);
+        }
+
+        return element.removeAttributeNode(attr);
+    }
+
+    public Node item(int index) {
+        return DOMNodeHelper.asDOMAttr(element.attribute(index));
+    }
+
+    public int getLength() {
+        return element.attributeCount();
+    }
+
+    public Node getNamedItemNS(String namespaceURI, String localName) {
+        return element.getAttributeNodeNS(namespaceURI, localName);
+    }
+
+    public Node setNamedItemNS(Node arg) throws DOMException {
+        if (arg instanceof Attr) {
+            return element.setAttributeNodeNS((org.w3c.dom.Attr) arg);
+        } else {
+            throw new DOMException(DOMException.NOT_SUPPORTED_ERR,
+                    "Node is not an Attr: " + arg);
+        }
+    }
+
+    public Node removeNamedItemNS(String namespaceURI, String localName)
+            throws DOMException {
+        org.w3c.dom.Attr attr = element.getAttributeNodeNS(namespaceURI,
+                localName);
+
+        if (attr != null) {
+            return element.removeAttributeNode(attr);
+        }
+
+        return attr;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMCDATA.java b/src/java/org/dom4j/dom/DOMCDATA.java
new file mode 100644
index 0000000..fbcda62
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMCDATA.java
@@ -0,0 +1,265 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import org.dom4j.CDATA;
+import org.dom4j.Element;
+import org.dom4j.tree.DefaultCDATA;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMCDATA</code> implements a CDATA Section which supports the W3C DOM
+ * API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.12 $
+ */
+public class DOMCDATA extends DefaultCDATA implements org.w3c.dom.CDATASection {
+    public DOMCDATA(String text) {
+        super(text);
+    }
+
+    public DOMCDATA(Element parent, String text) {
+        super(parent, text);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return DOMNodeHelper.getNamespaceURI(this);
+    }
+
+    public String getPrefix() {
+        return DOMNodeHelper.getPrefix(this);
+    }
+
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return DOMNodeHelper.getLocalName(this);
+    }
+
+    public String getNodeName() {
+        return "#cdata-section";
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return DOMNodeHelper.getNodeValue(this);
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+        DOMNodeHelper.setNodeValue(this, nodeValue);
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        return DOMNodeHelper.getParentNode(this);
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.getChildNodes(this);
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.getFirstChild(this);
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.getLastChild(this);
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return null;
+    }
+
+    public Document getOwnerDocument() {
+        return DOMNodeHelper.getOwnerDocument(this);
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    private void checkNewChildNode(org.w3c.dom.Node newChild)
+            throws DOMException {
+        throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                "CDATASection nodes cannot have children");
+    }
+
+    public boolean hasChildNodes() {
+        return DOMNodeHelper.hasChildNodes(this);
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public void normalize() {
+        DOMNodeHelper.normalize(this);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+
+    // org.w3c.dom.CharacterData interface
+    // -------------------------------------------------------------------------
+    public String getData() throws DOMException {
+        return DOMNodeHelper.getData(this);
+    }
+
+    public void setData(String data) throws DOMException {
+        DOMNodeHelper.setData(this, data);
+    }
+
+    public int getLength() {
+        return DOMNodeHelper.getLength(this);
+    }
+
+    public String substringData(int offset, int count) throws DOMException {
+        return DOMNodeHelper.substringData(this, offset, count);
+    }
+
+    public void appendData(String arg) throws DOMException {
+        DOMNodeHelper.appendData(this, arg);
+    }
+
+    public void insertData(int offset, String arg) throws DOMException {
+        DOMNodeHelper.insertData(this, offset, arg);
+    }
+
+    public void deleteData(int offset, int count) throws DOMException {
+        DOMNodeHelper.deleteData(this, offset, count);
+    }
+
+    public void replaceData(int offset, int count, String arg)
+            throws DOMException {
+        DOMNodeHelper.replaceData(this, offset, count, arg);
+    }
+
+    // org.w3c.dom.Text interface
+    // -------------------------------------------------------------------------
+    public org.w3c.dom.Text splitText(int offset) throws DOMException {
+        if (isReadOnly()) {
+            throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+                    "CharacterData node is read only: " + this);
+        } else {
+            String text = getText();
+            int length = (text != null) ? text.length() : 0;
+
+            if ((offset < 0) || (offset >= length)) {
+                throw new DOMException(DOMException.INDEX_SIZE_ERR,
+                        "No text at offset: " + offset);
+            } else {
+                String start = text.substring(0, offset);
+                String rest = text.substring(offset);
+                setText(start);
+
+                Element parent = getParent();
+                CDATA newText = createCDATA(rest);
+
+                if (parent != null) {
+                    parent.add(newText);
+                }
+
+                return DOMNodeHelper.asDOMText(newText);
+            }
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected CDATA createCDATA(String text) {
+        return new DOMCDATA(text);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMComment.java b/src/java/org/dom4j/dom/DOMComment.java
new file mode 100644
index 0000000..d2e8099
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMComment.java
@@ -0,0 +1,227 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import org.dom4j.Element;
+import org.dom4j.tree.DefaultComment;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.12 $
+ */
+public class DOMComment extends DefaultComment implements org.w3c.dom.Comment {
+    public DOMComment(String text) {
+        super(text);
+    }
+
+    public DOMComment(Element parent, String text) {
+        super(parent, text);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return DOMNodeHelper.getNamespaceURI(this);
+    }
+
+    public String getPrefix() {
+        return DOMNodeHelper.getPrefix(this);
+    }
+
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return DOMNodeHelper.getLocalName(this);
+    }
+
+    public String getNodeName() {
+        return "#comment";
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return DOMNodeHelper.getNodeValue(this);
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+        DOMNodeHelper.setNodeValue(this, nodeValue);
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        return DOMNodeHelper.getParentNode(this);
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.getChildNodes(this);
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.getFirstChild(this);
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.getLastChild(this);
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return null;
+    }
+
+    public Document getOwnerDocument() {
+        return DOMNodeHelper.getOwnerDocument(this);
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    private void checkNewChildNode(org.w3c.dom.Node newChild)
+            throws DOMException {
+        throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                "Comment nodes cannot have children");
+    }
+
+    public boolean hasChildNodes() {
+        return DOMNodeHelper.hasChildNodes(this);
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public void normalize() {
+        DOMNodeHelper.normalize(this);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+
+    // org.w3c.dom.CharacterData interface
+    // -------------------------------------------------------------------------
+    public String getData() throws DOMException {
+        return DOMNodeHelper.getData(this);
+    }
+
+    public void setData(String data) throws DOMException {
+        DOMNodeHelper.setData(this, data);
+    }
+
+    public int getLength() {
+        return DOMNodeHelper.getLength(this);
+    }
+
+    public String substringData(int offset, int count) throws DOMException {
+        return DOMNodeHelper.substringData(this, offset, count);
+    }
+
+    public void appendData(String arg) throws DOMException {
+        DOMNodeHelper.appendData(this, arg);
+    }
+
+    public void insertData(int offset, String arg) throws DOMException {
+        DOMNodeHelper.insertData(this, offset, arg);
+    }
+
+    public void deleteData(int offset, int count) throws DOMException {
+        DOMNodeHelper.deleteData(this, offset, count);
+    }
+
+    public void replaceData(int offset, int count, String arg)
+            throws DOMException {
+        DOMNodeHelper.replaceData(this, offset, count, arg);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMDocument.java b/src/java/org/dom4j/dom/DOMDocument.java
new file mode 100644
index 0000000..d39b016
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMDocument.java
@@ -0,0 +1,341 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import java.util.ArrayList;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.QName;
+import org.dom4j.tree.DefaultDocument;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.CDATASection;
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.EntityReference;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.ProcessingInstruction;
+
+/**
+ * <p>
+ * <code>DOMDocument</code> implements an XML document which supports the W3C
+ * DOM API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.17 $
+ */
+public class DOMDocument extends DefaultDocument implements Document {
+    /** The <code>DocumentFactory</code> instance used by default */
+    private static final DOMDocumentFactory DOCUMENT_FACTORY
+            = (DOMDocumentFactory) DOMDocumentFactory.getInstance();
+
+    public DOMDocument() {
+        init();
+    }
+
+    public DOMDocument(String name) {
+        super(name);
+        init();
+    }
+
+    public DOMDocument(DOMElement rootElement) {
+        super(rootElement);
+        init();
+    }
+
+    public DOMDocument(DOMDocumentType docType) {
+        super(docType);
+        init();
+    }
+
+    public DOMDocument(DOMElement rootElement, DOMDocumentType docType) {
+        super(rootElement, docType);
+        init();
+    }
+
+    public DOMDocument(String name, DOMElement rootElement,
+            DOMDocumentType docType) {
+        super(name, rootElement, docType);
+        init();
+    }
+
+    private void init() {
+        setDocumentFactory(DOCUMENT_FACTORY);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return DOMNodeHelper.getNamespaceURI(this);
+    }
+
+    public String getPrefix() {
+        return DOMNodeHelper.getPrefix(this);
+    }
+
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return DOMNodeHelper.getLocalName(this);
+    }
+
+    public String getNodeName() {
+        return "#document";
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return null;
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        return DOMNodeHelper.getParentNode(this);
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.createNodeList(content());
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.asDOMNode(node(0));
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.asDOMNode(node(nodeCount() - 1));
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return null;
+    }
+
+    public org.w3c.dom.Document getOwnerDocument() {
+        return null;
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    private void checkNewChildNode(org.w3c.dom.Node newChild)
+            throws DOMException {
+        final int nodeType = newChild.getNodeType();
+
+        if (!((nodeType == org.w3c.dom.Node.ELEMENT_NODE)
+                || (nodeType == org.w3c.dom.Node.COMMENT_NODE)
+                || (nodeType == org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE) 
+                || (nodeType == org.w3c.dom.Node.DOCUMENT_TYPE_NODE))) {
+            throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                    "Given node cannot be a child of document");
+        }
+    }
+
+    public boolean hasChildNodes() {
+        return nodeCount() > 0;
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+
+    // org.w3c.dom.Document interface
+    // -------------------------------------------------------------------------
+    public NodeList getElementsByTagName(String name) {
+        ArrayList list = new ArrayList();
+        DOMNodeHelper.appendElementsByTagName(list, this, name);
+
+        return DOMNodeHelper.createNodeList(list);
+    }
+
+    public NodeList getElementsByTagNameNS(String namespace, String name) {
+        ArrayList list = new ArrayList();
+        DOMNodeHelper.appendElementsByTagNameNS(list, this, namespace, name);
+
+        return DOMNodeHelper.createNodeList(list);
+    }
+
+    public org.w3c.dom.DocumentType getDoctype() {
+        return DOMNodeHelper.asDOMDocumentType(getDocType());
+    }
+
+    public org.w3c.dom.DOMImplementation getImplementation() {
+        if (getDocumentFactory() instanceof org.w3c.dom.DOMImplementation) {
+            return (org.w3c.dom.DOMImplementation) getDocumentFactory();
+        } else {
+            return DOCUMENT_FACTORY;
+        }
+    }
+
+    public org.w3c.dom.Element getDocumentElement() {
+        return DOMNodeHelper.asDOMElement(getRootElement());
+    }
+
+    public org.w3c.dom.Element createElement(String name) throws DOMException {
+        return (org.w3c.dom.Element) getDocumentFactory().createElement(name);
+    }
+
+    public org.w3c.dom.DocumentFragment createDocumentFragment() {
+        DOMNodeHelper.notSupported();
+
+        return null;
+    }
+
+    public org.w3c.dom.Text createTextNode(String data) {
+        return (org.w3c.dom.Text) getDocumentFactory().createText(data);
+    }
+
+    public org.w3c.dom.Comment createComment(String data) {
+        return (org.w3c.dom.Comment) getDocumentFactory().createComment(data);
+    }
+
+    public CDATASection createCDATASection(String data) throws DOMException {
+        return (CDATASection) getDocumentFactory().createCDATA(data);
+    }
+
+    public ProcessingInstruction createProcessingInstruction(String target,
+            String data) throws DOMException {
+        return (ProcessingInstruction) getDocumentFactory()
+                .createProcessingInstruction(target, data);
+    }
+
+    public Attr createAttribute(String name) throws DOMException {
+        QName qname = getDocumentFactory().createQName(name);
+
+        return (Attr) getDocumentFactory().createAttribute(null, qname, "");
+    }
+
+    public EntityReference createEntityReference(String name)
+            throws DOMException {
+        return (EntityReference) getDocumentFactory().createEntity(name, null);
+    }
+
+    public org.w3c.dom.Node importNode(org.w3c.dom.Node importedNode,
+            boolean deep) throws DOMException {
+        DOMNodeHelper.notSupported();
+
+        return null;
+    }
+
+    public org.w3c.dom.Element createElementNS(String namespaceURI,
+            String qualifiedName) throws DOMException {
+        QName qname = getDocumentFactory().createQName(qualifiedName,
+                namespaceURI);
+
+        return (org.w3c.dom.Element) getDocumentFactory().createElement(qname);
+    }
+
+    public org.w3c.dom.Attr createAttributeNS(String namespaceURI,
+            String qualifiedName) throws DOMException {
+        QName qname = getDocumentFactory().createQName(qualifiedName,
+                namespaceURI);
+
+        return (org.w3c.dom.Attr) getDocumentFactory().createAttribute(null,
+                qname, null);
+    }
+
+    public org.w3c.dom.Element getElementById(String elementId) {
+        return DOMNodeHelper.asDOMElement(elementByID(elementId));
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected DocumentFactory getDocumentFactory() {
+        if (super.getDocumentFactory() == null) {
+            return DOCUMENT_FACTORY;
+        } else {
+            return super.getDocumentFactory();
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMDocumentFactory.java b/src/java/org/dom4j/dom/DOMDocumentFactory.java
new file mode 100644
index 0000000..04f29c8
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMDocumentFactory.java
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import java.util.Map;
+
+import org.dom4j.Attribute;
+import org.dom4j.CDATA;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Namespace;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.QName;
+import org.dom4j.Text;
+import org.dom4j.util.SingletonStrategy;
+import org.w3c.dom.DOMException;
+
+/**
+ * <p>
+ * <code>DOMDocumentFactory</code> is a factory of DOM4J objects which
+ * implement the W3C DOM API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.21 $
+ */
+public class DOMDocumentFactory extends DocumentFactory implements
+        org.w3c.dom.DOMImplementation {
+
+    /** The Singleton instance */
+    private static SingletonStrategy singleton = null;
+
+    static {
+        try {
+            String defaultSingletonClass = "org.dom4j.util.SimpleSingleton";
+            Class clazz = null;
+            try {
+                String singletonClass = defaultSingletonClass;
+                singletonClass = System.getProperty(
+                        "org.dom4j.dom.DOMDocumentFactory.singleton.strategy",
+                        singletonClass);
+                clazz = Class.forName(singletonClass);
+            } catch (Exception exc1) {
+                try {
+                    String singletonClass = defaultSingletonClass;
+                    clazz = Class.forName(singletonClass);
+                } catch (Exception exc2) {
+                }
+            }
+            singleton = (SingletonStrategy) clazz.newInstance();
+            singleton.setSingletonClassName(DOMDocumentFactory.class.getName());
+        } catch (Exception exc3) {
+        }
+    }
+
+    /**
+     * <p>
+     * Access to the singleton instance of this factory.
+     * </p>
+     * 
+     * @return the default singleon instance
+     */
+    public static DocumentFactory getInstance() {
+        DOMDocumentFactory fact = (DOMDocumentFactory) singleton.instance();
+        return fact;
+    }
+
+    // Factory methods
+    public Document createDocument() {
+        DOMDocument answer = new DOMDocument();
+        answer.setDocumentFactory(this);
+
+        return answer;
+    }
+
+    public DocumentType createDocType(String name, String publicId,
+            String systemId) {
+        return new DOMDocumentType(name, publicId, systemId);
+    }
+
+    public Element createElement(QName qname) {
+        return new DOMElement(qname);
+    }
+
+    public Element createElement(QName qname, int attributeCount) {
+        return new DOMElement(qname, attributeCount);
+    }
+
+    public Attribute createAttribute(Element owner, QName qname, String value) {
+        return new DOMAttribute(qname, value);
+    }
+
+    public CDATA createCDATA(String text) {
+        return new DOMCDATA(text);
+    }
+
+    public Comment createComment(String text) {
+        return new DOMComment(text);
+    }
+
+    public Text createText(String text) {
+        return new DOMText(text);
+    }
+
+    public Entity createEntity(String name) {
+        return new DOMEntityReference(name);
+    }
+
+    public Entity createEntity(String name, String text) {
+        return new DOMEntityReference(name, text);
+    }
+
+    public Namespace createNamespace(String prefix, String uri) {
+        return new DOMNamespace(prefix, uri);
+    }
+
+    public ProcessingInstruction createProcessingInstruction(String target,
+            String data) {
+        return new DOMProcessingInstruction(target, data);
+    }
+
+    public ProcessingInstruction createProcessingInstruction(String target,
+            Map data) {
+        return new DOMProcessingInstruction(target, data);
+    }
+
+    // org.w3c.dom.DOMImplementation interface
+    public boolean hasFeature(String feat, String version) {
+        if ("XML".equalsIgnoreCase(feat) || "Core".equalsIgnoreCase(feat)) {
+            return ((version == null) || (version.length() == 0)
+                    || "1.0".equals(version) || "2.0".equals(version));
+        }
+
+        return false;
+    }
+
+    public org.w3c.dom.DocumentType createDocumentType(String qualifiedName,
+            String publicId, String systemId) throws DOMException {
+        return new DOMDocumentType(qualifiedName, publicId, systemId);
+    }
+
+    public org.w3c.dom.Document createDocument(String namespaceURI,
+            String qualifiedName, org.w3c.dom.DocumentType docType)
+            throws org.w3c.dom.DOMException {
+        DOMDocument document;
+
+        if (docType != null) {
+            DOMDocumentType documentType = asDocumentType(docType);
+            document = new DOMDocument(documentType);
+        } else {
+            document = new DOMDocument();
+        }
+
+        document.addElement(createQName(qualifiedName, namespaceURI));
+
+        return document;
+    }
+
+    // Implementation methods
+    protected DOMDocumentType asDocumentType(org.w3c.dom.DocumentType docType) {
+        if (docType instanceof DOMDocumentType) {
+            return (DOMDocumentType) docType;
+        } else {
+            return new DOMDocumentType(docType.getName(),
+                    docType.getPublicId(), docType.getSystemId());
+        }
+    }
+}
+
+
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
\ No newline at end of file
diff --git a/src/java/org/dom4j/dom/DOMDocumentType.java b/src/java/org/dom4j/dom/DOMDocumentType.java
new file mode 100644
index 0000000..4c01cf6
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMDocumentType.java
@@ -0,0 +1,217 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import org.dom4j.tree.DefaultDocumentType;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMDocumentType</code> implements a DocumentType node which supports
+ * the W3C DOM API.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.11 $
+ */
+public class DOMDocumentType extends DefaultDocumentType implements
+        org.w3c.dom.DocumentType {
+    public DOMDocumentType() {
+    }
+
+    public DOMDocumentType(String elementName, String systemID) {
+        super(elementName, systemID);
+    }
+
+    public DOMDocumentType(String name, String publicID, String systemID) {
+        super(name, publicID, systemID);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return DOMNodeHelper.getNamespaceURI(this);
+    }
+
+    public String getPrefix() {
+        return DOMNodeHelper.getPrefix(this);
+    }
+
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return DOMNodeHelper.getLocalName(this);
+    }
+
+    public String getNodeName() {
+        return getName();
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return null;
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        return DOMNodeHelper.getParentNode(this);
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.getChildNodes(this);
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.getFirstChild(this);
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.getLastChild(this);
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return null;
+    }
+
+    public Document getOwnerDocument() {
+        return DOMNodeHelper.getOwnerDocument(this);
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    private void checkNewChildNode(org.w3c.dom.Node newChild)
+            throws DOMException {
+        throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                "DocumentType nodes cannot have children");
+    }
+
+    public boolean hasChildNodes() {
+        return DOMNodeHelper.hasChildNodes(this);
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public void normalize() {
+        DOMNodeHelper.normalize(this);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+
+    // org.w3c.dom.DocumentType interface
+    // -------------------------------------------------------------------------
+    public NamedNodeMap getEntities() {
+        return null;
+    }
+
+    public NamedNodeMap getNotations() {
+        return null;
+    }
+
+    public String getPublicId() {
+        return getPublicID();
+    }
+
+    public String getSystemId() {
+        return getSystemID();
+    }
+
+    public String getInternalSubset() {
+        return getElementName();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMElement.java b/src/java/org/dom4j/dom/DOMElement.java
new file mode 100644
index 0000000..69e9d46
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMElement.java
@@ -0,0 +1,429 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.dom4j.Attribute;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.dom4j.tree.DefaultElement;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMElement</code> implements an XML element which supports the W3C
+ * DOM API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.23 $
+ */
+public class DOMElement extends DefaultElement implements org.w3c.dom.Element {
+    /** The <code>DocumentFactory</code> instance used by default */
+    private static final DocumentFactory DOCUMENT_FACTORY = DOMDocumentFactory
+            .getInstance();
+
+    public DOMElement(String name) {
+        super(name);
+    }
+
+    public DOMElement(QName qname) {
+        super(qname);
+    }
+
+    public DOMElement(QName qname, int attributeCount) {
+        super(qname, attributeCount);
+    }
+
+    public DOMElement(String name, Namespace namespace) {
+        super(name, namespace);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return getQName().getNamespaceURI();
+    }
+
+    public String getPrefix() {
+        return getQName().getNamespacePrefix();
+    }
+
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return getQName().getName();
+    }
+
+    public String getNodeName() {
+        return getName();
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return null;
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        return DOMNodeHelper.getParentNode(this);
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.createNodeList(content());
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.asDOMNode(node(0));
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.asDOMNode(node(nodeCount() - 1));
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return new DOMAttributeNodeMap(this);
+    }
+
+    public Document getOwnerDocument() {
+        return DOMNodeHelper.getOwnerDocument(this);
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    private void checkNewChildNode(org.w3c.dom.Node newChild)
+            throws DOMException {
+        final int nodeType = newChild.getNodeType();
+
+        if (!((nodeType == Node.ELEMENT_NODE) || (nodeType == Node.TEXT_NODE)
+                || (nodeType == Node.COMMENT_NODE)
+                || (nodeType == Node.PROCESSING_INSTRUCTION_NODE)
+                || (nodeType == Node.CDATA_SECTION_NODE) 
+                || (nodeType == Node.ENTITY_REFERENCE_NODE))) {
+            throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                    "Given node cannot be a child of element");
+        }
+    }
+
+    public boolean hasChildNodes() {
+        return nodeCount() > 0;
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+
+    // org.w3c.dom.Element interface
+    // -------------------------------------------------------------------------
+    public String getTagName() {
+        return getName();
+    }
+
+    public String getAttribute(String name) {
+        String answer = attributeValue(name);
+
+        return (answer != null) ? answer : "";
+    }
+
+    public void setAttribute(String name, String value) throws DOMException {
+        addAttribute(name, value);
+    }
+
+    public void removeAttribute(String name) throws DOMException {
+        Attribute attribute = attribute(name);
+
+        if (attribute != null) {
+            remove(attribute);
+        }
+    }
+
+    public org.w3c.dom.Attr getAttributeNode(String name) {
+        return DOMNodeHelper.asDOMAttr(attribute(name));
+    }
+
+    public org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)
+            throws DOMException {
+        if (this.isReadOnly()) {
+            throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+                    "No modification allowed");
+        }
+
+        Attribute attribute = attribute(newAttr);
+
+        if (attribute != newAttr) {
+            if (newAttr.getOwnerElement() != null) {
+                throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR,
+                        "Attribute is already in use");
+            }
+
+            Attribute newAttribute = createAttribute(newAttr);
+
+            if (attribute != null) {
+                attribute.detach();
+            }
+
+            add(newAttribute);
+        }
+
+        return DOMNodeHelper.asDOMAttr(attribute);
+    }
+
+    public org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)
+            throws DOMException {
+        Attribute attribute = attribute(oldAttr);
+
+        if (attribute != null) {
+            attribute.detach();
+
+            return DOMNodeHelper.asDOMAttr(attribute);
+        } else {
+            throw new DOMException(DOMException.NOT_FOUND_ERR,
+                    "No such attribute");
+        }
+    }
+
+    public String getAttributeNS(String namespaceURI, String localName) {
+        Attribute attribute = attribute(namespaceURI, localName);
+
+        if (attribute != null) {
+            String answer = attribute.getValue();
+
+            if (answer != null) {
+                return answer;
+            }
+        }
+
+        return "";
+    }
+
+    public void setAttributeNS(String namespaceURI, String qualifiedName,
+            String value) throws DOMException {
+        Attribute attribute = attribute(namespaceURI, qualifiedName);
+
+        if (attribute != null) {
+            attribute.setValue(value);
+        } else {
+            QName qname = getQName(namespaceURI, qualifiedName);
+            addAttribute(qname, value);
+        }
+    }
+
+    public void removeAttributeNS(String namespaceURI, String localName)
+            throws DOMException {
+        Attribute attribute = attribute(namespaceURI, localName);
+
+        if (attribute != null) {
+            remove(attribute);
+        }
+    }
+
+    public org.w3c.dom.Attr getAttributeNodeNS(String namespaceURI,
+            String localName) {
+        Attribute attribute = attribute(namespaceURI, localName);
+
+        if (attribute != null) {
+            DOMNodeHelper.asDOMAttr(attribute);
+        }
+
+        return null;
+    }
+
+    public org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr newAttr)
+            throws DOMException {
+        Attribute attribute = attribute(newAttr.getNamespaceURI(), newAttr
+                .getLocalName());
+
+        if (attribute != null) {
+            attribute.setValue(newAttr.getValue());
+        } else {
+            attribute = createAttribute(newAttr);
+            add(attribute);
+        }
+
+        return DOMNodeHelper.asDOMAttr(attribute);
+    }
+
+    public NodeList getElementsByTagName(String name) {
+        ArrayList list = new ArrayList();
+        DOMNodeHelper.appendElementsByTagName(list, this, name);
+
+        return DOMNodeHelper.createNodeList(list);
+    }
+
+    public NodeList getElementsByTagNameNS(String namespace, String lName) {
+        ArrayList list = new ArrayList();
+        DOMNodeHelper.appendElementsByTagNameNS(list, this, namespace, lName);
+
+        return DOMNodeHelper.createNodeList(list);
+    }
+
+    public boolean hasAttribute(String name) {
+        return attribute(name) != null;
+    }
+
+    public boolean hasAttributeNS(String namespaceURI, String localName) {
+        return attribute(namespaceURI, localName) != null;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected DocumentFactory getDocumentFactory() {
+        DocumentFactory factory = getQName().getDocumentFactory();
+
+        return (factory != null) ? factory : DOCUMENT_FACTORY;
+    }
+
+    protected Attribute attribute(org.w3c.dom.Attr attr) {
+        return attribute(DOCUMENT_FACTORY.createQName(attr.getLocalName(), attr
+                .getPrefix(), attr.getNamespaceURI()));
+    }
+
+    protected Attribute attribute(String namespaceURI, String localName) {
+        List attributes = attributeList();
+        int size = attributes.size();
+
+        for (int i = 0; i < size; i++) {
+            Attribute attribute = (Attribute) attributes.get(i);
+
+            if (localName.equals(attribute.getName())
+                    && (((namespaceURI == null || namespaceURI.length() == 0)
+                          && ((attribute.getNamespaceURI() == null) 
+                              || (attribute.getNamespaceURI().length() == 0)))
+                              || ((namespaceURI != null) && namespaceURI
+                                      .equals(attribute.getNamespaceURI())))) {
+                return attribute;
+            }
+        }
+
+        return null;
+    }
+
+    protected Attribute createAttribute(org.w3c.dom.Attr newAttr) {
+        QName qname = null;
+        String name = newAttr.getLocalName();
+
+        if (name != null) {
+            String prefix = newAttr.getPrefix();
+            String uri = newAttr.getNamespaceURI();
+            qname = getDocumentFactory().createQName(name, prefix, uri);
+        } else {
+            name = newAttr.getName();
+            qname = getDocumentFactory().createQName(name);
+        }
+
+        return new DOMAttribute(qname, newAttr.getValue());
+    }
+
+    protected QName getQName(String namespace, String qualifiedName) {
+        int index = qualifiedName.indexOf(':');
+        String prefix = "";
+        String localName = qualifiedName;
+
+        if (index >= 0) {
+            prefix = qualifiedName.substring(0, index);
+            localName = qualifiedName.substring(index + 1);
+        }
+
+        return getDocumentFactory().createQName(localName, prefix, namespace);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMEntityReference.java b/src/java/org/dom4j/dom/DOMEntityReference.java
new file mode 100644
index 0000000..a46cdda
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMEntityReference.java
@@ -0,0 +1,206 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import org.dom4j.Element;
+import org.dom4j.tree.DefaultEntity;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
+ * API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.12 $
+ */
+public class DOMEntityReference extends DefaultEntity implements
+        org.w3c.dom.EntityReference {
+    public DOMEntityReference(String name) {
+        super(name);
+    }
+
+    public DOMEntityReference(String name, String text) {
+        super(name, text);
+    }
+
+    public DOMEntityReference(Element parent, String name, String text) {
+        super(parent, name, text);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return DOMNodeHelper.getNamespaceURI(this);
+    }
+
+    public String getPrefix() {
+        return DOMNodeHelper.getPrefix(this);
+    }
+
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return DOMNodeHelper.getLocalName(this);
+    }
+
+    public String getNodeName() {
+        return getName();
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return null;
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        return DOMNodeHelper.getParentNode(this);
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.getChildNodes(this);
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.getFirstChild(this);
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.getLastChild(this);
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return null;
+    }
+
+    public Document getOwnerDocument() {
+        return DOMNodeHelper.getOwnerDocument(this);
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    private void checkNewChildNode(org.w3c.dom.Node newChild)
+            throws DOMException {
+        final int nodeType = newChild.getNodeType();
+
+        if (!((nodeType == org.w3c.dom.Node.ELEMENT_NODE)
+                || (nodeType == org.w3c.dom.Node.TEXT_NODE)
+                || (nodeType == org.w3c.dom.Node.COMMENT_NODE)
+                || (nodeType == org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE)
+                || (nodeType == org.w3c.dom.Node.CDATA_SECTION_NODE) 
+                || (nodeType == org.w3c.dom.Node.ENTITY_REFERENCE_NODE))) {
+            throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                    "Given node cannot be a child of an entity " + "reference");
+        }
+    }
+
+    public boolean hasChildNodes() {
+        return DOMNodeHelper.hasChildNodes(this);
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public void normalize() {
+        DOMNodeHelper.normalize(this);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMNamespace.java b/src/java/org/dom4j/dom/DOMNamespace.java
new file mode 100644
index 0000000..943a60a
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMNamespace.java
@@ -0,0 +1,180 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import org.dom4j.Element;
+import org.dom4j.tree.DefaultNamespace;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMNamespace</code> implements a Namespace that is compatable with
+ * the DOM API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public class DOMNamespace extends DefaultNamespace implements org.w3c.dom.Node {
+    public DOMNamespace(String prefix, String uri) {
+        super(prefix, uri);
+    }
+
+    public DOMNamespace(Element parent, String prefix, String uri) {
+        super(parent, prefix, uri);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return DOMNodeHelper.getNamespaceURI(this);
+    }
+
+    // public String getPrefix() {
+    // return DOMNodeHelper.getPrefix(this);
+    // }
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return DOMNodeHelper.getLocalName(this);
+    }
+
+    public String getNodeName() {
+        return getName();
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return DOMNodeHelper.getNodeValue(this);
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+        DOMNodeHelper.setNodeValue(this, nodeValue);
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        return DOMNodeHelper.getParentNode(this);
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.getChildNodes(this);
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.getFirstChild(this);
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.getLastChild(this);
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return DOMNodeHelper.getAttributes(this);
+    }
+
+    public Document getOwnerDocument() {
+        return DOMNodeHelper.getOwnerDocument(this);
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    public boolean hasChildNodes() {
+        return DOMNodeHelper.hasChildNodes(this);
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public void normalize() {
+        DOMNodeHelper.normalize(this);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMNodeHelper.java b/src/java/org/dom4j/dom/DOMNodeHelper.java
new file mode 100644
index 0000000..780980b
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMNodeHelper.java
@@ -0,0 +1,583 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import java.util.List;
+
+import org.dom4j.Branch;
+import org.dom4j.CharacterData;
+import org.dom4j.Document;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.Node;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMNodeHelper</code> contains a collection of utility methods for use
+ * across Node implementations.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.20 $
+ */
+public class DOMNodeHelper {
+    public static final NodeList EMPTY_NODE_LIST = new EmptyNodeList();
+
+    protected DOMNodeHelper() {
+    }
+
+    // Node API
+    // -------------------------------------------------------------------------
+    public static boolean supports(Node node, String feature, String version) {
+        return false;
+    }
+
+    public static String getNamespaceURI(Node node) {
+        return null;
+    }
+
+    public static String getPrefix(Node node) {
+        return null;
+    }
+
+    public static String getLocalName(Node node) {
+        return null;
+    }
+
+    public static void setPrefix(Node node, String prefix) throws DOMException {
+        notSupported();
+    }
+
+    public static String getNodeValue(Node node) throws DOMException {
+        return node.getText();
+    }
+
+    public static void setNodeValue(Node node, String nodeValue)
+            throws DOMException {
+        node.setText(nodeValue);
+    }
+
+    public static org.w3c.dom.Node getParentNode(Node node) {
+        return asDOMNode(node.getParent());
+    }
+
+    public static NodeList getChildNodes(Node node) {
+        return EMPTY_NODE_LIST;
+    }
+
+    public static org.w3c.dom.Node getFirstChild(Node node) {
+        return null;
+    }
+
+    public static org.w3c.dom.Node getLastChild(Node node) {
+        return null;
+    }
+
+    public static org.w3c.dom.Node getPreviousSibling(Node node) {
+        Element parent = node.getParent();
+
+        if (parent != null) {
+            int index = parent.indexOf(node);
+
+            if (index > 0) {
+                Node previous = parent.node(index - 1);
+
+                return asDOMNode(previous);
+            }
+        }
+
+        return null;
+    }
+
+    public static org.w3c.dom.Node getNextSibling(Node node) {
+        Element parent = node.getParent();
+
+        if (parent != null) {
+            int index = parent.indexOf(node);
+
+            if (index >= 0) {
+                if (++index < parent.nodeCount()) {
+                    Node next = parent.node(index);
+
+                    return asDOMNode(next);
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public static NamedNodeMap getAttributes(Node node) {
+        return null;
+    }
+
+    public static org.w3c.dom.Document getOwnerDocument(Node node) {
+        return asDOMDocument(node.getDocument());
+    }
+
+    public static org.w3c.dom.Node insertBefore(Node node,
+            org.w3c.dom.Node newChild, org.w3c.dom.Node refChild)
+            throws DOMException {
+        if (node instanceof Branch) {
+            Branch branch = (Branch) node;
+            List list = branch.content();
+            int index = list.indexOf(refChild);
+
+            if (index < 0) {
+                branch.add((Node) newChild);
+            } else {
+                list.add(index, newChild);
+            }
+
+            return newChild;
+        } else {
+            throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                    "Children not allowed for this node: " + node);
+        }
+    }
+
+    public static org.w3c.dom.Node replaceChild(Node node,
+            org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild)
+            throws DOMException {
+        if (node instanceof Branch) {
+            Branch branch = (Branch) node;
+            List list = branch.content();
+            int index = list.indexOf(oldChild);
+
+            if (index < 0) {
+                throw new DOMException(DOMException.NOT_FOUND_ERR,
+                        "Tried to replace a non existing child " + "for node: "
+                                + node);
+            }
+
+            list.set(index, newChild);
+
+            return oldChild;
+        } else {
+            throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                    "Children not allowed for this node: " + node);
+        }
+    }
+
+    public static org.w3c.dom.Node removeChild(Node node,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        if (node instanceof Branch) {
+            Branch branch = (Branch) node;
+            branch.remove((Node) oldChild);
+
+            return oldChild;
+        }
+
+        throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                "Children not allowed for this node: " + node);
+    }
+
+    public static org.w3c.dom.Node appendChild(Node node,
+            org.w3c.dom.Node newChild) throws DOMException {
+        if (node instanceof Branch) {
+            Branch branch = (Branch) node;
+            org.w3c.dom.Node previousParent = newChild.getParentNode();
+
+            if (previousParent != null) {
+                previousParent.removeChild(newChild);
+            }
+
+            branch.add((Node) newChild);
+
+            return newChild;
+        }
+
+        throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                "Children not allowed for this node: " + node);
+    }
+
+    public static boolean hasChildNodes(Node node) {
+        return false;
+    }
+
+    public static org.w3c.dom.Node cloneNode(Node node, boolean deep) {
+        return asDOMNode((Node) node.clone());
+    }
+
+    public static void normalize(Node node) {
+        notSupported();
+    }
+
+    public static boolean isSupported(Node n, String feature, String version) {
+        return false;
+    }
+
+    public static boolean hasAttributes(Node node) {
+        if ((node != null) && node instanceof Element) {
+            return ((Element) node).attributeCount() > 0;
+        } else {
+            return false;
+        }
+    }
+
+    // CharacterData API
+    // -------------------------------------------------------------------------
+    public static String getData(CharacterData charData) throws DOMException {
+        return charData.getText();
+    }
+
+    public static void setData(CharacterData charData, String data)
+            throws DOMException {
+        charData.setText(data);
+    }
+
+    public static int getLength(CharacterData charData) {
+        String text = charData.getText();
+
+        return (text != null) ? text.length() : 0;
+    }
+
+    public static String substringData(CharacterData charData, int offset,
+            int count) throws DOMException {
+        if (count < 0) {
+            throw new DOMException(DOMException.INDEX_SIZE_ERR,
+                    "Illegal value for count: " + count);
+        }
+
+        String text = charData.getText();
+        int length = (text != null) ? text.length() : 0;
+
+        if ((offset < 0) || (offset >= length)) {
+            throw new DOMException(DOMException.INDEX_SIZE_ERR,
+                    "No text at offset: " + offset);
+        }
+
+        if ((offset + count) > length) {
+            return text.substring(offset);
+        }
+
+        return text.substring(offset, offset + count);
+    }
+
+    public static void appendData(CharacterData charData, String arg)
+            throws DOMException {
+        if (charData.isReadOnly()) {
+            throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+                    "CharacterData node is read only: " + charData);
+        } else {
+            String text = charData.getText();
+
+            if (text == null) {
+                charData.setText(text);
+            } else {
+                charData.setText(text + arg);
+            }
+        }
+    }
+
+    public static void insertData(CharacterData data, int offset, String arg)
+            throws DOMException {
+        if (data.isReadOnly()) {
+            throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+                    "CharacterData node is read only: " + data);
+        } else {
+            String text = data.getText();
+
+            if (text == null) {
+                data.setText(arg);
+            } else {
+                int length = text.length();
+
+                if ((offset < 0) || (offset > length)) {
+                    throw new DOMException(DOMException.INDEX_SIZE_ERR,
+                            "No text at offset: " + offset);
+                } else {
+                    StringBuffer buffer = new StringBuffer(text);
+                    buffer.insert(offset, arg);
+                    data.setText(buffer.toString());
+                }
+            }
+        }
+    }
+
+    public static void deleteData(CharacterData charData, int offset, int count)
+            throws DOMException {
+        if (charData.isReadOnly()) {
+            throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+                    "CharacterData node is read only: " + charData);
+        } else {
+            if (count < 0) {
+                throw new DOMException(DOMException.INDEX_SIZE_ERR,
+                        "Illegal value for count: " + count);
+            }
+
+            String text = charData.getText();
+
+            if (text != null) {
+                int length = text.length();
+
+                if ((offset < 0) || (offset >= length)) {
+                    throw new DOMException(DOMException.INDEX_SIZE_ERR,
+                            "No text at offset: " + offset);
+                } else {
+                    StringBuffer buffer = new StringBuffer(text);
+                    buffer.delete(offset, offset + count);
+                    charData.setText(buffer.toString());
+                }
+            }
+        }
+    }
+
+    public static void replaceData(CharacterData charData, int offset,
+            int count, String arg) throws DOMException {
+        if (charData.isReadOnly()) {
+            throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+                    "CharacterData node is read only: " + charData);
+        } else {
+            if (count < 0) {
+                throw new DOMException(DOMException.INDEX_SIZE_ERR,
+                        "Illegal value for count: " + count);
+            }
+
+            String text = charData.getText();
+
+            if (text != null) {
+                int length = text.length();
+
+                if ((offset < 0) || (offset >= length)) {
+                    throw new DOMException(DOMException.INDEX_SIZE_ERR,
+                            "No text at offset: " + offset);
+                } else {
+                    StringBuffer buffer = new StringBuffer(text);
+                    buffer.replace(offset, offset + count, arg);
+                    charData.setText(buffer.toString());
+                }
+            }
+        }
+    }
+
+    // Branch API
+    // -------------------------------------------------------------------------
+    public static void appendElementsByTagName(List list, Branch parent,
+            String name) {
+        final boolean isStar = "*".equals(name);
+
+        for (int i = 0, size = parent.nodeCount(); i < size; i++) {
+            Node node = parent.node(i);
+
+            if (node instanceof Element) {
+                Element element = (Element) node;
+
+                if (isStar || name.equals(element.getName())) {
+                    list.add(element);
+                }
+
+                appendElementsByTagName(list, element, name);
+            }
+        }
+    }
+
+    public static void appendElementsByTagNameNS(List list, Branch parent,
+            String namespace, String localName) {
+        final boolean isStarNS = "*".equals(namespace);
+        final boolean isStar = "*".equals(localName);
+
+        for (int i = 0, size = parent.nodeCount(); i < size; i++) {
+            Node node = parent.node(i);
+
+            if (node instanceof Element) {
+                Element element = (Element) node;
+
+                if ((isStarNS
+                        || (((namespace == null) 
+                                || (namespace.length() == 0)) && ((element
+                                .getNamespaceURI() == null) || (element
+                                .getNamespaceURI().length() == 0))) 
+                                || ((namespace != null) && namespace
+                        .equals(element.getNamespaceURI())))
+                        && (isStar || localName.equals(element.getName()))) {
+                    list.add(element);
+                }
+
+                appendElementsByTagNameNS(list, element, namespace, localName);
+            }
+        }
+    }
+
+    // Helper methods
+    // -------------------------------------------------------------------------
+    public static NodeList createNodeList(final List list) {
+        return new NodeList() {
+            public org.w3c.dom.Node item(int index) {
+                if (index >= getLength()) {
+                    /*
+                     * From the NodeList specification: If index is greater than
+                     * or equal to the number of nodes in the list, this returns
+                     * null.
+                     */
+                    return null;
+                } else {
+                    return DOMNodeHelper.asDOMNode((Node) list.get(index));
+                }
+            }
+
+            public int getLength() {
+                return list.size();
+            }
+        };
+    }
+
+    public static org.w3c.dom.Node asDOMNode(Node node) {
+        if (node == null) {
+            return null;
+        }
+
+        if (node instanceof org.w3c.dom.Node) {
+            return (org.w3c.dom.Node) node;
+        } else {
+            // Use DOMWriter?
+            System.out.println("Cannot convert: " + node
+                    + " into a W3C DOM Node");
+            notSupported();
+
+            return null;
+        }
+    }
+
+    public static org.w3c.dom.Document asDOMDocument(Document document) {
+        if (document == null) {
+            return null;
+        }
+
+        if (document instanceof org.w3c.dom.Document) {
+            return (org.w3c.dom.Document) document;
+        } else {
+            // Use DOMWriter?
+            notSupported();
+
+            return null;
+        }
+    }
+
+    public static org.w3c.dom.DocumentType asDOMDocumentType(DocumentType dt) {
+        if (dt == null) {
+            return null;
+        }
+
+        if (dt instanceof org.w3c.dom.DocumentType) {
+            return (org.w3c.dom.DocumentType) dt;
+        } else {
+            // Use DOMWriter?
+            notSupported();
+
+            return null;
+        }
+    }
+
+    public static org.w3c.dom.Text asDOMText(CharacterData text) {
+        if (text == null) {
+            return null;
+        }
+
+        if (text instanceof org.w3c.dom.Text) {
+            return (org.w3c.dom.Text) text;
+        } else {
+            // Use DOMWriter?
+            notSupported();
+
+            return null;
+        }
+    }
+
+    public static org.w3c.dom.Element asDOMElement(Node element) {
+        if (element == null) {
+            return null;
+        }
+
+        if (element instanceof org.w3c.dom.Element) {
+            return (org.w3c.dom.Element) element;
+        } else {
+            // Use DOMWriter?
+            notSupported();
+
+            return null;
+        }
+    }
+
+    public static org.w3c.dom.Attr asDOMAttr(Node attribute) {
+        if (attribute == null) {
+            return null;
+        }
+
+        if (attribute instanceof org.w3c.dom.Attr) {
+            return (org.w3c.dom.Attr) attribute;
+        } else {
+            // Use DOMWriter?
+            notSupported();
+
+            return null;
+        }
+    }
+
+    /**
+     * Called when a method has not been implemented yet
+     * 
+     * @throws DOMException
+     *             DOCUMENT ME!
+     */
+    public static void notSupported() {
+        throw new DOMException(DOMException.NOT_SUPPORTED_ERR,
+                "Not supported yet");
+    }
+
+    public static class EmptyNodeList implements NodeList {
+        public org.w3c.dom.Node item(int index) {
+            return null;
+        }
+
+        public int getLength() {
+            return 0;
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMProcessingInstruction.java b/src/java/org/dom4j/dom/DOMProcessingInstruction.java
new file mode 100644
index 0000000..cb35f48
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMProcessingInstruction.java
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import java.util.Map;
+
+import org.dom4j.Element;
+import org.dom4j.tree.DefaultProcessingInstruction;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMProcessingInstruction</code> implements a ProcessingInstruction
+ * node which supports the W3C DOM API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.12 $
+ */
+public class DOMProcessingInstruction extends DefaultProcessingInstruction
+        implements org.w3c.dom.ProcessingInstruction {
+    public DOMProcessingInstruction(String target, Map values) {
+        super(target, values);
+    }
+
+    public DOMProcessingInstruction(String target, String values) {
+        super(target, values);
+    }
+
+    public DOMProcessingInstruction(Element parent, String target, String val) {
+        super(parent, target, val);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return DOMNodeHelper.getNamespaceURI(this);
+    }
+
+    public String getPrefix() {
+        return DOMNodeHelper.getPrefix(this);
+    }
+
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return DOMNodeHelper.getLocalName(this);
+    }
+
+    public String getNodeName() {
+        return getName();
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return DOMNodeHelper.getNodeValue(this);
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+        DOMNodeHelper.setNodeValue(this, nodeValue);
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        return DOMNodeHelper.getParentNode(this);
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.getChildNodes(this);
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.getFirstChild(this);
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.getLastChild(this);
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return null;
+    }
+
+    public Document getOwnerDocument() {
+        return DOMNodeHelper.getOwnerDocument(this);
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    private void checkNewChildNode(org.w3c.dom.Node newChild)
+            throws DOMException {
+        throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                "PI nodes cannot have children");
+    }
+
+    public boolean hasChildNodes() {
+        return DOMNodeHelper.hasChildNodes(this);
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public void normalize() {
+        DOMNodeHelper.normalize(this);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+
+    // org.w3c.dom.ProcessingInstruction interface
+    // -------------------------------------------------------------------------
+    // public String getTarget();
+    public String getData() {
+        return getText();
+    }
+
+    public void setData(String data) throws DOMException {
+        if (isReadOnly()) {
+            throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+                    "This ProcessingInstruction is read only");
+        } else {
+            setText(data);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/DOMText.java b/src/java/org/dom4j/dom/DOMText.java
new file mode 100644
index 0000000..5073ba8
--- /dev/null
+++ b/src/java/org/dom4j/dom/DOMText.java
@@ -0,0 +1,264 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import org.dom4j.Element;
+import org.dom4j.Text;
+import org.dom4j.tree.DefaultText;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+
+/**
+ * <p>
+ * <code>DOMText</code> implements a Text node which supports the W3C DOM API.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.12 $
+ */
+public class DOMText extends DefaultText implements org.w3c.dom.Text {
+    public DOMText(String text) {
+        super(text);
+    }
+
+    public DOMText(Element parent, String text) {
+        super(parent, text);
+    }
+
+    // org.w3c.dom.Node interface
+    // -------------------------------------------------------------------------
+    public boolean supports(String feature, String version) {
+        return DOMNodeHelper.supports(this, feature, version);
+    }
+
+    public String getNamespaceURI() {
+        return DOMNodeHelper.getNamespaceURI(this);
+    }
+
+    public String getPrefix() {
+        return DOMNodeHelper.getPrefix(this);
+    }
+
+    public void setPrefix(String prefix) throws DOMException {
+        DOMNodeHelper.setPrefix(this, prefix);
+    }
+
+    public String getLocalName() {
+        return DOMNodeHelper.getLocalName(this);
+    }
+
+    public String getNodeName() {
+        return "#text";
+    }
+
+    // already part of API
+    //
+    // public short getNodeType();
+    public String getNodeValue() throws DOMException {
+        return DOMNodeHelper.getNodeValue(this);
+    }
+
+    public void setNodeValue(String nodeValue) throws DOMException {
+        DOMNodeHelper.setNodeValue(this, nodeValue);
+    }
+
+    public org.w3c.dom.Node getParentNode() {
+        return DOMNodeHelper.getParentNode(this);
+    }
+
+    public NodeList getChildNodes() {
+        return DOMNodeHelper.getChildNodes(this);
+    }
+
+    public org.w3c.dom.Node getFirstChild() {
+        return DOMNodeHelper.getFirstChild(this);
+    }
+
+    public org.w3c.dom.Node getLastChild() {
+        return DOMNodeHelper.getLastChild(this);
+    }
+
+    public org.w3c.dom.Node getPreviousSibling() {
+        return DOMNodeHelper.getPreviousSibling(this);
+    }
+
+    public org.w3c.dom.Node getNextSibling() {
+        return DOMNodeHelper.getNextSibling(this);
+    }
+
+    public NamedNodeMap getAttributes() {
+        return null;
+    }
+
+    public Document getOwnerDocument() {
+        return DOMNodeHelper.getOwnerDocument(this);
+    }
+
+    public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node refChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.insertBefore(this, newChild, refChild);
+    }
+
+    public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
+            org.w3c.dom.Node oldChild) throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.replaceChild(this, newChild, oldChild);
+    }
+
+    public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
+            throws DOMException {
+        return DOMNodeHelper.removeChild(this, oldChild);
+    }
+
+    public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
+            throws DOMException {
+        checkNewChildNode(newChild);
+
+        return DOMNodeHelper.appendChild(this, newChild);
+    }
+
+    private void checkNewChildNode(org.w3c.dom.Node newChild)
+            throws DOMException {
+        throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
+                "Text nodes cannot have children");
+    }
+
+    public boolean hasChildNodes() {
+        return DOMNodeHelper.hasChildNodes(this);
+    }
+
+    public org.w3c.dom.Node cloneNode(boolean deep) {
+        return DOMNodeHelper.cloneNode(this, deep);
+    }
+
+    public void normalize() {
+        DOMNodeHelper.normalize(this);
+    }
+
+    public boolean isSupported(String feature, String version) {
+        return DOMNodeHelper.isSupported(this, feature, version);
+    }
+
+    public boolean hasAttributes() {
+        return DOMNodeHelper.hasAttributes(this);
+    }
+
+    // org.w3c.dom.CharacterData interface
+    // -------------------------------------------------------------------------
+    public String getData() throws DOMException {
+        return DOMNodeHelper.getData(this);
+    }
+
+    public void setData(String data) throws DOMException {
+        DOMNodeHelper.setData(this, data);
+    }
+
+    public int getLength() {
+        return DOMNodeHelper.getLength(this);
+    }
+
+    public String substringData(int offset, int count) throws DOMException {
+        return DOMNodeHelper.substringData(this, offset, count);
+    }
+
+    public void appendData(String arg) throws DOMException {
+        DOMNodeHelper.appendData(this, arg);
+    }
+
+    public void insertData(int offset, String arg) throws DOMException {
+        DOMNodeHelper.insertData(this, offset, arg);
+    }
+
+    public void deleteData(int offset, int count) throws DOMException {
+        DOMNodeHelper.deleteData(this, offset, count);
+    }
+
+    public void replaceData(int offset, int count, String arg)
+            throws DOMException {
+        DOMNodeHelper.replaceData(this, offset, count, arg);
+    }
+
+    // org.w3c.dom.Text interface
+    // -------------------------------------------------------------------------
+    public org.w3c.dom.Text splitText(int offset) throws DOMException {
+        if (isReadOnly()) {
+            throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
+                    "CharacterData node is read only: " + this);
+        } else {
+            String text = getText();
+            int length = (text != null) ? text.length() : 0;
+
+            if ((offset < 0) || (offset >= length)) {
+                throw new DOMException(DOMException.INDEX_SIZE_ERR,
+                        "No text at offset: " + offset);
+            } else {
+                String start = text.substring(0, offset);
+                String rest = text.substring(offset);
+                setText(start);
+
+                Element parent = getParent();
+                Text newText = createText(rest);
+
+                if (parent != null) {
+                    parent.add(newText);
+                }
+
+                return DOMNodeHelper.asDOMText(newText);
+            }
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected Text createText(String text) {
+        return new DOMText(text);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dom/package.html b/src/java/org/dom4j/dom/package.html
new file mode 100644
index 0000000..34752ae
--- /dev/null
+++ b/src/java/org/dom4j/dom/package.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+</head>
+<body>
+
+  <p>An implementation of the <i>dom4j</i> API which also supports the 
+  W3C object model.</p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/dtd/AttributeDecl.java b/src/java/org/dom4j/dtd/AttributeDecl.java
new file mode 100644
index 0000000..fed2b01
--- /dev/null
+++ b/src/java/org/dom4j/dtd/AttributeDecl.java
@@ -0,0 +1,205 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dtd;
+
+/**
+ * <p>
+ * <code>AttributeDecl</code> represents an attribute declaration in a DTD.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class AttributeDecl {
+    /** Holds value of property elementName. */
+    private String elementName;
+
+    /** Holds value of property attributeName. */
+    private String attributeName;
+
+    /** Holds value of property type. */
+    private String type;
+
+    /** Holds value of property value. */
+    private String value;
+
+    /** Holds value of property valueDefault. */
+    private String valueDefault;
+
+    public AttributeDecl() {
+    }
+
+    public AttributeDecl(String elementName, String attributeName, String type,
+            String valueDefault, String value) {
+        this.elementName = elementName;
+        this.attributeName = attributeName;
+        this.type = type;
+        this.value = value;
+        this.valueDefault = valueDefault;
+    }
+
+    /**
+     * Getter for property elementName.
+     * 
+     * @return Value of property elementName.
+     */
+    public String getElementName() {
+        return elementName;
+    }
+
+    /**
+     * Setter for property elementName.
+     * 
+     * @param elementName
+     *            New value of property elementName.
+     */
+    public void setElementName(String elementName) {
+        this.elementName = elementName;
+    }
+
+    /**
+     * Getter for property attributeName.
+     * 
+     * @return Value of property attributeName.
+     */
+    public String getAttributeName() {
+        return attributeName;
+    }
+
+    /**
+     * Setter for property attributeName.
+     * 
+     * @param attributeName
+     *            New value of property attributeName.
+     */
+    public void setAttributeName(String attributeName) {
+        this.attributeName = attributeName;
+    }
+
+    /**
+     * Getter for property type.
+     * 
+     * @return Value of property type.
+     */
+    public String getType() {
+        return type;
+    }
+
+    /**
+     * Setter for property type.
+     * 
+     * @param type
+     *            New value of property type.
+     */
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    /**
+     * Getter for property value.
+     * 
+     * @return Value of property value.
+     */
+    public String getValue() {
+        return value;
+    }
+
+    /**
+     * Setter for property value.
+     * 
+     * @param value
+     *            New value of property value.
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    /**
+     * Getter for property valueDefault.
+     * 
+     * @return Value of property valueDefault.
+     */
+    public String getValueDefault() {
+        return valueDefault;
+    }
+
+    /**
+     * Setter for property valueDefault.
+     * 
+     * @param valueDefault
+     *            New value of property valueDefault.
+     */
+    public void setValueDefault(String valueDefault) {
+        this.valueDefault = valueDefault;
+    }
+
+    public String toString() {
+        StringBuffer buffer = new StringBuffer("<!ATTLIST ");
+        buffer.append(elementName);
+        buffer.append(" ");
+        buffer.append(attributeName);
+        buffer.append(" ");
+        buffer.append(type);
+        buffer.append(" ");
+
+        if (valueDefault != null) {
+            buffer.append(valueDefault);
+
+            if (valueDefault.equals("#FIXED")) {
+                buffer.append(" \"");
+                buffer.append(value);
+                buffer.append("\"");
+            }
+        } else {
+            buffer.append("\"");
+            buffer.append(value);
+            buffer.append("\"");
+        }
+
+        buffer.append(">");
+
+        return buffer.toString();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dtd/ElementDecl.java b/src/java/org/dom4j/dtd/ElementDecl.java
new file mode 100644
index 0000000..4227275
--- /dev/null
+++ b/src/java/org/dom4j/dtd/ElementDecl.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dtd;
+
+/**
+ * <p>
+ * <code>AttributeDecl</code> represents an element declaration in a DTD.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.6 $
+ */
+public class ElementDecl {
+    /** Holds value of property name. */
+    private String name;
+
+    /** Holds value of property model. */
+    private String model;
+
+    public ElementDecl() {
+    }
+
+    public ElementDecl(String name, String model) {
+        this.name = name;
+        this.model = model;
+    }
+
+    /**
+     * Getter for property name.
+     * 
+     * @return Value of property name.
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Setter for property name.
+     * 
+     * @param name
+     *            New value of property name.
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Getter for property model.
+     * 
+     * @return Value of property model.
+     */
+    public String getModel() {
+        return model;
+    }
+
+    /**
+     * Setter for property model.
+     * 
+     * @param model
+     *            New value of property model.
+     */
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public String toString() {
+        return "<!ELEMENT " + name + " " + model + ">";
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dtd/ExternalEntityDecl.java b/src/java/org/dom4j/dtd/ExternalEntityDecl.java
new file mode 100644
index 0000000..4b217ce
--- /dev/null
+++ b/src/java/org/dom4j/dtd/ExternalEntityDecl.java
@@ -0,0 +1,162 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dtd;
+
+/**
+ * <p>
+ * <code>ExternalEntityDecl</code> represents an external entity declaration
+ * in a DTD.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class ExternalEntityDecl {
+    /** Holds value of property name. */
+    private String name;
+
+    /** Holds value of property publicID. */
+    private String publicID;
+
+    /** Holds value of property systemID. */
+    private String systemID;
+
+    public ExternalEntityDecl() {
+    }
+
+    public ExternalEntityDecl(String name, String publicID, String systemID) {
+        this.name = name;
+        this.publicID = publicID;
+        this.systemID = systemID;
+    }
+
+    /**
+     * Getter for property name.
+     * 
+     * @return Value of property name.
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Setter for property name.
+     * 
+     * @param name
+     *            New value of property name.
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Getter for property publicID.
+     * 
+     * @return Value of property publicID.
+     */
+    public String getPublicID() {
+        return publicID;
+    }
+
+    /**
+     * Setter for property publicID.
+     * 
+     * @param publicID
+     *            New value of property publicID.
+     */
+    public void setPublicID(String publicID) {
+        this.publicID = publicID;
+    }
+
+    /**
+     * Getter for property systemID.
+     * 
+     * @return Value of property systemID.
+     */
+    public String getSystemID() {
+        return systemID;
+    }
+
+    /**
+     * Setter for property systemID.
+     * 
+     * @param systemID
+     *            New value of property systemID.
+     */
+    public void setSystemID(String systemID) {
+        this.systemID = systemID;
+    }
+
+    public String toString() {
+        StringBuffer buffer = new StringBuffer("<!ENTITY ");
+
+        if (name.startsWith("%")) {
+            buffer.append("% ");
+            buffer.append(name.substring(1));
+        } else {
+            buffer.append(name);
+        }
+
+        if (publicID != null) {
+            buffer.append(" PUBLIC \"");
+            buffer.append(publicID);
+            buffer.append("\" ");
+
+            if (systemID != null) {
+                buffer.append("\"");
+                buffer.append(systemID);
+                buffer.append("\" ");
+            }
+        } else if (systemID != null) {
+            buffer.append(" SYSTEM \"");
+            buffer.append(systemID);
+            buffer.append("\" ");
+        }
+
+        buffer.append(">");
+
+        return buffer.toString();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dtd/InternalEntityDecl.java b/src/java/org/dom4j/dtd/InternalEntityDecl.java
new file mode 100644
index 0000000..327f62d
--- /dev/null
+++ b/src/java/org/dom4j/dtd/InternalEntityDecl.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dtd;
+
+/**
+ * <p>
+ * <code>InternalEntityDecl</code> represents an internal entity declaration
+ * in a DTD.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class InternalEntityDecl {
+    /** Holds value of property name. */
+    private String name;
+
+    /** Holds value of property value. */
+    private String value;
+
+    public InternalEntityDecl() {
+    }
+
+    public InternalEntityDecl(String name, String value) {
+        this.name = name;
+        this.value = value;
+    }
+
+    /**
+     * Getter for property name.
+     * 
+     * @return Value of property name.
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Setter for property name.
+     * 
+     * @param name
+     *            New value of property name.
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Getter for property value.
+     * 
+     * @return Value of property value.
+     */
+    public String getValue() {
+        return value;
+    }
+
+    /**
+     * Setter for property value.
+     * 
+     * @param value
+     *            New value of property value.
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public String toString() {
+        StringBuffer buffer = new StringBuffer("<!ENTITY ");
+
+        if (name.startsWith("%")) {
+            buffer.append("% ");
+            buffer.append(name.substring(1));
+        } else {
+            buffer.append(name);
+        }
+
+        buffer.append(" \"");
+        buffer.append(escapeEntityValue(value));
+        buffer.append("\">");
+
+        return buffer.toString();
+    }
+
+    private String escapeEntityValue(String text) {
+        StringBuffer result = new StringBuffer();
+
+        for (int i = 0; i < text.length(); i++) {
+            char c = text.charAt(i);
+
+            switch (c) {
+                case '<':
+                    result.append("&#60;");
+
+                    break;
+
+                case '>':
+                    result.append(">");
+
+                    break;
+
+                case '&':
+                    result.append("&#38;");
+
+                    break;
+
+                case '\'':
+                    result.append("'");
+
+                    break;
+
+                case '\"':
+                    result.append(""");
+
+                    break;
+
+                default:
+
+                    if (c < 32) {
+                        result.append("&#" + (int) c + ";");
+                    } else {
+                        result.append(c);
+                    }
+
+                    break;
+            }
+        }
+
+        return result.toString();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/dtd/package.html b/src/java/org/dom4j/dtd/package.html
new file mode 100644
index 0000000..886ba17
--- /dev/null
+++ b/src/java/org/dom4j/dtd/package.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+</head>
+<body>
+
+  <p>Classes to represent the DTD declarations. They are used inside the {@link org.dom4j.DocumentType} interface.</p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/io/DOMReader.java b/src/java/org/dom4j/io/DOMReader.java
new file mode 100644
index 0000000..9916255
--- /dev/null
+++ b/src/java/org/dom4j/io/DOMReader.java
@@ -0,0 +1,313 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.dom4j.Branch;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.dom4j.tree.NamespaceStack;
+
+/**
+ * <p>
+ * <code>DOMReader</code> navigates a W3C DOM tree and creates a DOM4J tree
+ * from it.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.17 $
+ */
+public class DOMReader {
+    /** <code>DocumentFactory</code> used to create new document objects */
+    private DocumentFactory factory;
+
+    /** stack of <code>Namespace</code> and <code>QName</code> objects */
+    private NamespaceStack namespaceStack;
+
+    public DOMReader() {
+        this.factory = DocumentFactory.getInstance();
+        this.namespaceStack = new NamespaceStack(factory);
+    }
+
+    public DOMReader(DocumentFactory factory) {
+        this.factory = factory;
+        this.namespaceStack = new NamespaceStack(factory);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>DocumentFactory</code> used to create document
+     *         objects
+     */
+    public DocumentFactory getDocumentFactory() {
+        return factory;
+    }
+
+    /**
+     * <p>
+     * This sets the <code>DocumentFactory</code> used to create new
+     * documents. This method allows the building of custom DOM4J tree objects
+     * to be implemented easily using a custom derivation of
+     * {@link DocumentFactory}
+     * </p>
+     * 
+     * @param docFactory
+     *            <code>DocumentFactory</code> used to create DOM4J objects
+     */
+    public void setDocumentFactory(DocumentFactory docFactory) {
+        this.factory = docFactory;
+        this.namespaceStack.setDocumentFactory(factory);
+    }
+
+    public Document read(org.w3c.dom.Document domDocument) {
+        if (domDocument instanceof Document) {
+            return (Document) domDocument;
+        }
+
+        Document document = createDocument();
+
+        clearNamespaceStack();
+
+        org.w3c.dom.NodeList nodeList = domDocument.getChildNodes();
+
+        for (int i = 0, size = nodeList.getLength(); i < size; i++) {
+            readTree(nodeList.item(i), document);
+        }
+
+        return document;
+    }
+
+    // Implementation methods
+    protected void readTree(org.w3c.dom.Node node, Branch current) {
+        Element element = null;
+        Document document = null;
+
+        if (current instanceof Element) {
+            element = (Element) current;
+        } else {
+            document = (Document) current;
+        }
+
+        switch (node.getNodeType()) {
+            case org.w3c.dom.Node.ELEMENT_NODE:
+                readElement(node, current);
+
+                break;
+
+            case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:
+
+                if (current instanceof Element) {
+                    Element currentEl = (Element) current;
+                    currentEl.addProcessingInstruction(node.getNodeName(), node
+                            .getNodeValue());
+                } else {
+                    Document currentDoc = (Document) current;
+                    currentDoc.addProcessingInstruction(node.getNodeName(),
+                            node.getNodeValue());
+                }
+
+                break;
+
+            case org.w3c.dom.Node.COMMENT_NODE:
+
+                if (current instanceof Element) {
+                    ((Element) current).addComment(node.getNodeValue());
+                } else {
+                    ((Document) current).addComment(node.getNodeValue());
+                }
+
+                break;
+
+            case org.w3c.dom.Node.DOCUMENT_TYPE_NODE:
+
+                org.w3c.dom.DocumentType domDocType 
+                        = (org.w3c.dom.DocumentType) node;
+                document.addDocType(domDocType.getName(), domDocType
+                        .getPublicId(), domDocType.getSystemId());
+
+                break;
+
+            case org.w3c.dom.Node.TEXT_NODE:
+                element.addText(node.getNodeValue());
+
+                break;
+
+            case org.w3c.dom.Node.CDATA_SECTION_NODE:
+                element.addCDATA(node.getNodeValue());
+
+                break;
+
+            case org.w3c.dom.Node.ENTITY_REFERENCE_NODE:
+
+                // is there a better way to get the value of an entity?
+                org.w3c.dom.Node firstChild = node.getFirstChild();
+
+                if (firstChild != null) {
+                    element.addEntity(node.getNodeName(), firstChild
+                            .getNodeValue());
+                } else {
+                    element.addEntity(node.getNodeName(), "");
+                }
+
+                break;
+
+            case org.w3c.dom.Node.ENTITY_NODE:
+                element.addEntity(node.getNodeName(), node.getNodeValue());
+
+                break;
+
+            default:
+                System.out.println("WARNING: Unknown DOM node type: "
+                        + node.getNodeType());
+        }
+    }
+
+    protected void readElement(org.w3c.dom.Node node, Branch current) {
+        int previouslyDeclaredNamespaces = namespaceStack.size();
+
+        String namespaceUri = node.getNamespaceURI();
+        String elementPrefix = node.getPrefix();
+
+        if (elementPrefix == null) {
+            elementPrefix = "";
+        }
+
+        org.w3c.dom.NamedNodeMap attributeList = node.getAttributes();
+
+        if ((attributeList != null) && (namespaceUri == null)) {
+            // test if we have an "xmlns" attribute
+            org.w3c.dom.Node attribute = attributeList.getNamedItem("xmlns");
+
+            if (attribute != null) {
+                namespaceUri = attribute.getNodeValue();
+                elementPrefix = "";
+            }
+        }
+
+        QName qName = namespaceStack.getQName(namespaceUri,
+                node.getLocalName(), node.getNodeName());
+        Element element = current.addElement(qName);
+
+        if (attributeList != null) {
+            int size = attributeList.getLength();
+            List attributes = new ArrayList(size);
+
+            for (int i = 0; i < size; i++) {
+                org.w3c.dom.Node attribute = attributeList.item(i);
+
+                // Define all namespaces first then process attributes later
+                String name = attribute.getNodeName();
+
+                if (name.startsWith("xmlns")) {
+                    String prefix = getPrefix(name);
+                    String uri = attribute.getNodeValue();
+
+                    Namespace namespace = namespaceStack.addNamespace(prefix,
+                            uri);
+                    element.add(namespace);
+                } else {
+                    attributes.add(attribute);
+                }
+            }
+
+            // now add the attributes, the namespaces should be available
+            size = attributes.size();
+
+            for (int i = 0; i < size; i++) {
+                org.w3c.dom.Node attribute = (org.w3c.dom.Node) attributes
+                        .get(i);
+                QName attributeQName = namespaceStack.getQName(attribute
+                        .getNamespaceURI(), attribute.getLocalName(), attribute
+                        .getNodeName());
+                element.addAttribute(attributeQName, attribute.getNodeValue());
+            }
+        }
+
+        // Recurse on child nodes
+        org.w3c.dom.NodeList children = node.getChildNodes();
+
+        for (int i = 0, size = children.getLength(); i < size; i++) {
+            org.w3c.dom.Node child = children.item(i);
+            readTree(child, element);
+        }
+
+        // pop namespaces from the stack
+        while (namespaceStack.size() > previouslyDeclaredNamespaces) {
+            namespaceStack.pop();
+        }
+    }
+
+    protected Namespace getNamespace(String prefix, String uri) {
+        return getDocumentFactory().createNamespace(prefix, uri);
+    }
+
+    protected Document createDocument() {
+        return getDocumentFactory().createDocument();
+    }
+
+    protected void clearNamespaceStack() {
+        namespaceStack.clear();
+
+        if (!namespaceStack.contains(Namespace.XML_NAMESPACE)) {
+            namespaceStack.push(Namespace.XML_NAMESPACE);
+        }
+    }
+
+    private String getPrefix(String xmlnsDecl) {
+        int index = xmlnsDecl.indexOf(':', 5);
+
+        if (index != -1) {
+            return xmlnsDecl.substring(index + 1);
+        } else {
+            return "";
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/DOMWriter.java b/src/java/org/dom4j/io/DOMWriter.java
new file mode 100644
index 0000000..6a9e76f
--- /dev/null
+++ b/src/java/org/dom4j/io/DOMWriter.java
@@ -0,0 +1,402 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.util.List;
+
+import org.dom4j.Attribute;
+import org.dom4j.CDATA;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Namespace;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.Text;
+import org.dom4j.tree.NamespaceStack;
+
+import org.w3c.dom.DOMImplementation;
+
+/**
+ * <p>
+ * <code>DOMWriter</code> takes a DOM4J tree and outputs it as a W3C DOM
+ * object
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.17 $
+ */
+public class DOMWriter {
+    private static boolean loggedWarning = false;
+
+    private static final String[] DEFAULT_DOM_DOCUMENT_CLASSES = {
+            "org.apache.xerces.dom.DocumentImpl", // Xerces
+            "gnu.xml.dom.DomDocument", // GNU JAXP
+            "org.apache.crimson.tree.XmlDocument", // Crimson
+            "com.sun.xml.tree.XmlDocument", // Sun's Project X
+            "oracle.xml.parser.v2.XMLDocument", // Oracle V2
+            "oracle.xml.parser.XMLDocument", // Oracle V1
+            "org.dom4j.dom.DOMDocument" // Internal DOM implementation
+    };
+
+    // the Class used to create new DOM Document instances
+    private Class domDocumentClass;
+
+    /** stack of <code>Namespace</code> objects */
+    private NamespaceStack namespaceStack = new NamespaceStack();
+
+    public DOMWriter() {
+    }
+
+    public DOMWriter(Class domDocumentClass) {
+        this.domDocumentClass = domDocumentClass;
+    }
+
+    public Class getDomDocumentClass() throws DocumentException {
+        Class result = domDocumentClass;
+
+        if (result == null) {
+            // lets try and find one in the classpath
+            int size = DEFAULT_DOM_DOCUMENT_CLASSES.length;
+
+            for (int i = 0; i < size; i++) {
+                try {
+                    String name = DEFAULT_DOM_DOCUMENT_CLASSES[i];
+                    result = Class.forName(name, true, DOMWriter.class
+                            .getClassLoader());
+
+                    if (result != null) {
+                        break;
+                    }
+                } catch (Exception e) {
+                    // could not load class correctly
+                    // lets carry on to the next one
+                }
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * Sets the DOM {@link org.w3c.dom.Document}implementation class used by
+     * the writer when creating DOM documents.
+     * 
+     * @param domDocumentClass
+     *            is the Class implementing the {@linkorg.w3c.dom.Document}
+     *            interface
+     */
+    public void setDomDocumentClass(Class domDocumentClass) {
+        this.domDocumentClass = domDocumentClass;
+    }
+
+    /**
+     * Sets the DOM {@link org.w3c.dom.Document}implementation class name used
+     * by the writer when creating DOM documents.
+     * 
+     * @param name
+     *            is the name of the Class implementing the {@link
+     *            org.w3c.dom.Document} interface
+     * 
+     * @throws DocumentException
+     *             if the class could not be loaded
+     */
+    public void setDomDocumentClassName(String name) throws DocumentException {
+        try {
+            this.domDocumentClass = Class.forName(name, true, DOMWriter.class
+                    .getClassLoader());
+        } catch (Exception e) {
+            throw new DocumentException("Could not load the DOM Document "
+                    + "class: " + name, e);
+        }
+    }
+
+    public org.w3c.dom.Document write(Document document)
+            throws DocumentException {
+        if (document instanceof org.w3c.dom.Document) {
+            return (org.w3c.dom.Document) document;
+        }
+
+        resetNamespaceStack();
+
+        org.w3c.dom.Document domDocument = createDomDocument(document);
+        appendDOMTree(domDocument, domDocument, document.content());
+        namespaceStack.clear();
+
+        return domDocument;
+    }
+
+    public org.w3c.dom.Document write(Document document,
+            org.w3c.dom.DOMImplementation domImpl) throws DocumentException {
+        if (document instanceof org.w3c.dom.Document) {
+            return (org.w3c.dom.Document) document;
+        }
+
+        resetNamespaceStack();
+
+        org.w3c.dom.Document domDocument = createDomDocument(document, domImpl);
+        appendDOMTree(domDocument, domDocument, document.content());
+        namespaceStack.clear();
+
+        return domDocument;
+    }
+
+    protected void appendDOMTree(org.w3c.dom.Document domDocument,
+            org.w3c.dom.Node domCurrent, List content) {
+        int size = content.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = content.get(i);
+
+            if (object instanceof Element) {
+                appendDOMTree(domDocument, domCurrent, (Element) object);
+            } else if (object instanceof String) {
+                appendDOMTree(domDocument, domCurrent, (String) object);
+            } else if (object instanceof Text) {
+                Text text = (Text) object;
+                appendDOMTree(domDocument, domCurrent, text.getText());
+            } else if (object instanceof CDATA) {
+                appendDOMTree(domDocument, domCurrent, (CDATA) object);
+            } else if (object instanceof Comment) {
+                appendDOMTree(domDocument, domCurrent, (Comment) object);
+            } else if (object instanceof Entity) {
+                appendDOMTree(domDocument, domCurrent, (Entity) object);
+            } else if (object instanceof ProcessingInstruction) {
+                appendDOMTree(domDocument, domCurrent,
+                        (ProcessingInstruction) object);
+            }
+        }
+    }
+
+    protected void appendDOMTree(org.w3c.dom.Document domDocument,
+            org.w3c.dom.Node domCurrent, Element element) {
+        String elUri = element.getNamespaceURI();
+        String elName = element.getQualifiedName();
+        org.w3c.dom.Element domElement = domDocument.createElementNS(elUri,
+                elName);
+
+        int stackSize = namespaceStack.size();
+
+        // add the namespace of the element first
+        Namespace elementNamespace = element.getNamespace();
+
+        if (isNamespaceDeclaration(elementNamespace)) {
+            namespaceStack.push(elementNamespace);
+            writeNamespace(domElement, elementNamespace);
+        }
+
+        // add the additional declared namespaces
+        List declaredNamespaces = element.declaredNamespaces();
+
+        for (int i = 0, size = declaredNamespaces.size(); i < size; i++) {
+            Namespace namespace = (Namespace) declaredNamespaces.get(i);
+
+            if (isNamespaceDeclaration(namespace)) {
+                namespaceStack.push(namespace);
+                writeNamespace(domElement, namespace);
+            }
+        }
+
+        // add the attributes
+        for (int i = 0, size = element.attributeCount(); i < size; i++) {
+            Attribute attribute = (Attribute) element.attribute(i);
+            String attUri = attribute.getNamespaceURI();
+            String attName = attribute.getQualifiedName();
+            String value = attribute.getValue();
+            domElement.setAttributeNS(attUri, attName, value);
+        }
+
+        // add content
+        appendDOMTree(domDocument, domElement, element.content());
+
+        domCurrent.appendChild(domElement);
+
+        while (namespaceStack.size() > stackSize) {
+            namespaceStack.pop();
+        }
+    }
+
+    protected void appendDOMTree(org.w3c.dom.Document domDocument,
+            org.w3c.dom.Node domCurrent, CDATA cdata) {
+        org.w3c.dom.CDATASection domCDATA = domDocument
+                .createCDATASection(cdata.getText());
+        domCurrent.appendChild(domCDATA);
+    }
+
+    protected void appendDOMTree(org.w3c.dom.Document domDocument,
+            org.w3c.dom.Node domCurrent, Comment comment) {
+        org.w3c.dom.Comment domComment = domDocument.createComment(comment
+                .getText());
+        domCurrent.appendChild(domComment);
+    }
+
+    protected void appendDOMTree(org.w3c.dom.Document domDocument,
+            org.w3c.dom.Node domCurrent, String text) {
+        org.w3c.dom.Text domText = domDocument.createTextNode(text);
+        domCurrent.appendChild(domText);
+    }
+
+    protected void appendDOMTree(org.w3c.dom.Document domDocument,
+            org.w3c.dom.Node domCurrent, Entity entity) {
+        org.w3c.dom.EntityReference domEntity = domDocument
+                .createEntityReference(entity.getName());
+        domCurrent.appendChild(domEntity);
+    }
+
+    protected void appendDOMTree(org.w3c.dom.Document domDoc,
+            org.w3c.dom.Node domCurrent, ProcessingInstruction pi) {
+        org.w3c.dom.ProcessingInstruction domPI = domDoc
+                .createProcessingInstruction(pi.getTarget(), pi.getText());
+        domCurrent.appendChild(domPI);
+    }
+
+    protected void writeNamespace(org.w3c.dom.Element domElement,
+            Namespace namespace) {
+        String attributeName = attributeNameForNamespace(namespace);
+
+        // domElement.setAttributeNS("", attributeName, namespace.getURI());
+        domElement.setAttribute(attributeName, namespace.getURI());
+    }
+
+    protected String attributeNameForNamespace(Namespace namespace) {
+        String xmlns = "xmlns";
+        String prefix = namespace.getPrefix();
+
+        if (prefix.length() > 0) {
+            return xmlns + ":" + prefix;
+        }
+
+        return xmlns;
+    }
+
+    protected org.w3c.dom.Document createDomDocument(Document document)
+            throws DocumentException {
+        org.w3c.dom.Document result = null;
+
+        // use the given domDocumentClass (if not null)
+        if (domDocumentClass != null) {
+            try {
+                result = (org.w3c.dom.Document) domDocumentClass.newInstance();
+            } catch (Exception e) {
+                throw new DocumentException(
+                        "Could not instantiate an instance "
+                                + "of DOM Document with class: "
+                                + domDocumentClass.getName(), e);
+            }
+        } else {
+            // lets try JAXP first before using the hardcoded default parsers
+            result = createDomDocumentViaJAXP();
+
+            if (result == null) {
+                Class theClass = getDomDocumentClass();
+
+                try {
+                    result = (org.w3c.dom.Document) theClass.newInstance();
+                } catch (Exception e) {
+                    throw new DocumentException("Could not instantiate an "
+                            + "instance of DOM Document " + "with class: "
+                            + theClass.getName(), e);
+                }
+            }
+        }
+
+        return result;
+    }
+
+    protected org.w3c.dom.Document createDomDocumentViaJAXP()
+            throws DocumentException {
+        try {
+            return JAXPHelper.createDocument(false, true);
+        } catch (Throwable e) {
+            if (!loggedWarning) {
+                loggedWarning = true;
+
+                if (SAXHelper.isVerboseErrorReporting()) {
+                    // log all exceptions as warnings and carry
+                    // on as we have a default SAX parser we can use
+                    System.out.println("Warning: Caught exception attempting "
+                            + "to use JAXP to create a W3C DOM " + "document");
+                    System.out.println("Warning: Exception was: " + e);
+                    e.printStackTrace();
+                } else {
+                    System.out.println("Warning: Error occurred using JAXP to "
+                            + "create a DOM document.");
+                }
+            }
+        }
+
+        return null;
+    }
+
+    protected org.w3c.dom.Document createDomDocument(Document document,
+            DOMImplementation domImpl) throws DocumentException {
+        String namespaceURI = null;
+        String qualifiedName = null;
+        org.w3c.dom.DocumentType docType = null;
+
+        return domImpl.createDocument(namespaceURI, qualifiedName, docType);
+    }
+
+    protected boolean isNamespaceDeclaration(Namespace ns) {
+        if ((ns != null) && (ns != Namespace.NO_NAMESPACE)
+                && (ns != Namespace.XML_NAMESPACE)) {
+            String uri = ns.getURI();
+
+            if ((uri != null) && (uri.length() > 0)) {
+                if (!namespaceStack.contains(ns)) {
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    protected void resetNamespaceStack() {
+        namespaceStack.clear();
+        namespaceStack.push(Namespace.XML_NAMESPACE);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/DispatchHandler.java b/src/java/org/dom4j/io/DispatchHandler.java
new file mode 100644
index 0000000..0a89440
--- /dev/null
+++ b/src/java/org/dom4j/io/DispatchHandler.java
@@ -0,0 +1,255 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+import org.dom4j.ElementPath;
+
+/**
+ * <p>
+ * <code>DispatchHandler</code> implements the <code>ElementHandler</code>
+ * interface and provides a means to register multiple
+ * <code>ElementHandler</code> instances to be used by an event based
+ * processor. This is a special <code>ElementHandler</code> in that it's
+ * <b>onStart </b> and <b>onEnd </b> implementation methods are called for every
+ * element encountered during the parse. It then delegates to other
+ * <code>ElementHandler</code> instances registered with it to process the
+ * elements encountered.
+ * </p>
+ * 
+ * @author <a href="mailto:dwhite at equipecom.com">Dave White </a>
+ * @version $Revision: 1.11 $
+ */
+class DispatchHandler implements ElementHandler {
+    /** Whether the parser is at the root element or not */
+    private boolean atRoot;
+
+    /** The current path in the XML tree (i.e. /a/b/c) */
+    private String path;
+
+    /** maintains a stack of previously encountered paths */
+    private ArrayList pathStack;
+
+    /** maintains a stack of previously encountered handlers */
+    private ArrayList handlerStack;
+
+    /**
+     * <code>HashMap</code> maintains the mapping between element paths and
+     * handlers
+     */
+    private HashMap handlers;
+
+    /**
+     * <code>ElementHandler</code> to use by default for element paths with no
+     * handlers registered
+     */
+    private ElementHandler defaultHandler;
+
+    public DispatchHandler() {
+        atRoot = true;
+        path = "/";
+        pathStack = new ArrayList();
+        handlerStack = new ArrayList();
+        handlers = new HashMap();
+    }
+
+    /**
+     * Adds the <code>ElementHandler</code> to be called when the specified
+     * path is encounted.
+     * 
+     * @param handlerPath
+     *            is the path to be handled
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    public void addHandler(String handlerPath, ElementHandler handler) {
+        handlers.put(handlerPath, handler);
+    }
+
+    /**
+     * Removes the <code>ElementHandler</code> from the event based processor,
+     * for the specified path.
+     * 
+     * @param handlerPath
+     *            is the path to remove the <code>ElementHandler</code> for.
+     * 
+     * @return DOCUMENT ME!
+     */
+    public ElementHandler removeHandler(String handlerPath) {
+        return (ElementHandler) handlers.remove(handlerPath);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param handlerPath
+     *            DOCUMENT ME!
+     * 
+     * @return true when an <code>ElementHandler</code> is registered for the
+     *         specified path.
+     */
+    public boolean containsHandler(String handlerPath) {
+        return handlers.containsKey(handlerPath);
+    }
+
+    /**
+     * Get the registered {@link ElementHandler}for the specified path.
+     * 
+     * @param handlerPath
+     *            XML path to get the handler for
+     * 
+     * @return the registered handler
+     */
+    public ElementHandler getHandler(String handlerPath) {
+        return (ElementHandler) handlers.get(handlerPath);
+    }
+
+    /**
+     * Returns the number of {@link ElementHandler}objects that are waiting for
+     * their elements closing tag.
+     * 
+     * @return number of active handlers
+     */
+    public int getActiveHandlerCount() {
+        return handlerStack.size();
+    }
+
+    /**
+     * When multiple <code>ElementHandler</code> instances have been
+     * registered, this will set a default <code>ElementHandler</code> to be
+     * called for any path which does <b>NOT </b> have a handler registered.
+     * 
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    public void setDefaultHandler(ElementHandler handler) {
+        defaultHandler = handler;
+    }
+
+    /**
+     * Used to remove all the Element Handlers and return things back to the way
+     * they were when object was created.
+     */
+    public void resetHandlers() {
+        atRoot = true;
+        path = "/";
+        pathStack.clear();
+        handlerStack.clear();
+        handlers.clear();
+        defaultHandler = null;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the current path for the parse
+     */
+    public String getPath() {
+        return path;
+    }
+
+    // The following methods implement the ElementHandler interface
+    public void onStart(ElementPath elementPath) {
+        Element element = elementPath.getCurrent();
+
+        // Save the location of the last (i.e. parent) path
+        pathStack.add(path);
+
+        // Calculate the new path
+        if (atRoot) {
+            path = path + element.getName();
+            atRoot = false;
+        } else {
+            path = path + "/" + element.getName();
+        }
+
+        if ((handlers != null) && (handlers.containsKey(path))) {
+            // The current node has a handler associated with it.
+            // Find the handler and save it on the handler stack.
+            ElementHandler handler = (ElementHandler) handlers.get(path);
+            handlerStack.add(handler);
+
+            // Call the handlers onStart method.
+            handler.onStart(elementPath);
+        } else {
+            // No handler is associated with this node, so use the
+            // defaultHandler it it exists.
+            if (handlerStack.isEmpty() && (defaultHandler != null)) {
+                defaultHandler.onStart(elementPath);
+            }
+        }
+    }
+
+    public void onEnd(ElementPath elementPath) {
+        if ((handlers != null) && (handlers.containsKey(path))) {
+            // This node has a handler associated with it.
+            // Find the handler and pop it from the handler stack.
+            ElementHandler handler = (ElementHandler) handlers.get(path);
+            handlerStack.remove(handlerStack.size() - 1);
+
+            // Call the handlers onEnd method
+            handler.onEnd(elementPath);
+        } else {
+            // No handler is associated with this node, so use the
+            // defaultHandler it it exists.
+            if (handlerStack.isEmpty() && (defaultHandler != null)) {
+                defaultHandler.onEnd(elementPath);
+            }
+        }
+
+        // Set path back to its parent
+        path = (String) pathStack.remove(pathStack.size() - 1);
+
+        if (pathStack.size() == 0) {
+            atRoot = true;
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/DocumentInputSource.java b/src/java/org/dom4j/io/DocumentInputSource.java
new file mode 100644
index 0000000..55cc2fd
--- /dev/null
+++ b/src/java/org/dom4j/io/DocumentInputSource.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import org.dom4j.Document;
+
+import org.xml.sax.InputSource;
+
+/**
+ * <p>
+ * <code>DocumentInputSource</code> implements a SAX {@link InputSource}for a
+ * {@link Document}.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+class DocumentInputSource extends InputSource {
+    /** The document source */
+    private Document document;
+
+    public DocumentInputSource() {
+    }
+
+    public DocumentInputSource(Document document) {
+        this.document = document;
+        setSystemId(document.getName());
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the document which is being used as the SAX {@link InputSource}
+     */
+    public Document getDocument() {
+        return document;
+    }
+
+    /**
+     * Sets the document used as the SAX {@link InputSource}
+     * 
+     * @param document
+     *            DOCUMENT ME!
+     */
+    public void setDocument(Document document) {
+        this.document = document;
+        setSystemId(document.getName());
+    }
+
+    // Overloaded methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * This method is not supported as this source is always a {@linkDocument}
+     * instance.
+     * 
+     * @param characterStream
+     *            DOCUMENT ME!
+     * 
+     * @throws UnsupportedOperationException
+     *             as this method is unsupported
+     */
+    public void setCharacterStream(Reader characterStream)
+            throws UnsupportedOperationException {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Note this method is quite inefficent, it turns the in memory XML tree
+     * object model into a single block of text which can then be read by other
+     * XML parsers. Should only be used with care.
+     * 
+     * @return DOCUMENT ME!
+     */
+    public Reader getCharacterStream() {
+        try {
+            StringWriter out = new StringWriter();
+            XMLWriter writer = new XMLWriter(out);
+            writer.write(document);
+            writer.flush();
+
+            return new StringReader(out.toString());
+        } catch (final IOException e) {
+            // this should never really happen
+            // but for completeness we'll return a Reader
+            // with the embedded exception inside it
+            return new Reader() {
+                public int read(char[] ch, int offset, int length)
+                        throws IOException {
+                    throw e;
+                }
+
+                public void close() throws IOException {
+                }
+            };
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/DocumentResult.java b/src/java/org/dom4j/io/DocumentResult.java
new file mode 100644
index 0000000..1908aa0
--- /dev/null
+++ b/src/java/org/dom4j/io/DocumentResult.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import javax.xml.transform.sax.SAXResult;
+
+import org.dom4j.Document;
+
+import org.xml.sax.ContentHandler;
+import org.xml.sax.ext.LexicalHandler;
+
+/**
+ * <p>
+ * <code>DocumentResult</code> implements a JAXP {@link SAXResult}for a
+ * {@link Document}.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+public class DocumentResult extends SAXResult {
+    private SAXContentHandler contentHandler;
+
+    public DocumentResult() {
+        this(new SAXContentHandler());
+    }
+
+    public DocumentResult(SAXContentHandler contentHandler) {
+        this.contentHandler = contentHandler;
+        super.setHandler(this.contentHandler);
+        super.setLexicalHandler(this.contentHandler);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the Document created by the transformation
+     */
+    public Document getDocument() {
+        return contentHandler.getDocument();
+    }
+
+    // Overloaded methods
+    // -------------------------------------------------------------------------
+    public void setHandler(ContentHandler handler) {
+        if (handler instanceof SAXContentHandler) {
+            this.contentHandler = (SAXContentHandler) handler;
+            super.setHandler(this.contentHandler);
+        }
+    }
+
+    public void setLexicalHandler(LexicalHandler handler) {
+        if (handler instanceof SAXContentHandler) {
+            this.contentHandler = (SAXContentHandler) handler;
+            super.setLexicalHandler(this.contentHandler);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/DocumentSource.java b/src/java/org/dom4j/io/DocumentSource.java
new file mode 100644
index 0000000..e4a449e
--- /dev/null
+++ b/src/java/org/dom4j/io/DocumentSource.java
@@ -0,0 +1,184 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import javax.xml.transform.sax.SAXSource;
+
+import org.dom4j.Document;
+import org.dom4j.Node;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.XMLFilter;
+import org.xml.sax.XMLReader;
+
+/**
+ * <p>
+ * <code>DocumentSource</code> implements a JAXP {@link SAXSource}for a
+ * {@linkDocument}.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public class DocumentSource extends SAXSource {
+    /**
+     * If {@link javax.xml.transform.TransformerFactory#getFeature}returns
+     * <code>true</code> when passed this value as an argument then the
+     * Transformer natively supports <i>dom4j </i>.
+     */
+    public static final String DOM4J_FEATURE 
+            = "http://org.dom4j.io.DoucmentSource/feature";
+
+    /** The XMLReader to use */
+    private XMLReader xmlReader = new SAXWriter();
+
+    /**
+     * Creates a JAXP {@link SAXSource}for the given {@link Node}.
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     */
+    public DocumentSource(Node node) {
+        setDocument(node.getDocument());
+    }
+
+    /**
+     * Creates a JAXP {@link SAXSource}for the given {@link Document}.
+     * 
+     * @param document
+     *            DOCUMENT ME!
+     */
+    public DocumentSource(Document document) {
+        setDocument(document);
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the document which is being used as the JAXP {@link SAXSource}
+     */
+    public Document getDocument() {
+        DocumentInputSource source = (DocumentInputSource) getInputSource();
+        return source.getDocument();
+    }
+
+    /**
+     * Sets the document used as the JAXP {@link SAXSource}
+     * 
+     * @param document
+     *            DOCUMENT ME!
+     */
+    public void setDocument(Document document) {
+        super.setInputSource(new DocumentInputSource(document));
+    }
+
+    // Overloaded methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the XMLReader to be used for the JAXP {@link SAXSource}.
+     */
+    public XMLReader getXMLReader() {
+        return xmlReader;
+    }
+
+    /**
+     * This method is not supported as this source is always a {@linkDocument}
+     * instance.
+     * 
+     * @param inputSource
+     *            DOCUMENT ME!
+     * 
+     * @throws UnsupportedOperationException
+     *             as this method is unsupported
+     */
+    public void setInputSource(InputSource inputSource)
+            throws UnsupportedOperationException {
+        if (inputSource instanceof DocumentInputSource) {
+            super.setInputSource((DocumentInputSource) inputSource);
+        } else {
+            throw new UnsupportedOperationException();
+        }
+    }
+
+    /**
+     * Sets the XMLReader used for the JAXP {@link SAXSource}.
+     * 
+     * @param reader
+     *            DOCUMENT ME!
+     * 
+     * @throws UnsupportedOperationException
+     *             DOCUMENT ME!
+     */
+    public void setXMLReader(XMLReader reader)
+            throws UnsupportedOperationException {
+        if (reader instanceof SAXWriter) {
+            this.xmlReader = (SAXWriter) reader;
+        } else if (reader instanceof XMLFilter) {
+            XMLFilter filter = (XMLFilter) reader;
+
+            while (true) {
+                XMLReader parent = filter.getParent();
+
+                if (parent instanceof XMLFilter) {
+                    filter = (XMLFilter) parent;
+                } else {
+                    break;
+                }
+            }
+
+            // install filter in SAXWriter....
+            filter.setParent(xmlReader);
+            xmlReader = filter;
+        } else {
+            throw new UnsupportedOperationException();
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/ElementModifier.java b/src/java/org/dom4j/io/ElementModifier.java
new file mode 100644
index 0000000..aa9aa83
--- /dev/null
+++ b/src/java/org/dom4j/io/ElementModifier.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import org.dom4j.Element;
+
+/**
+ * ElementModifier defines a modifier of {@link org.dom4j.Element}objects. <br>
+ * It can be used in the event based {@link org.dom4j.io.SAXModifier}, in order
+ * to modify elements on the fly, rather than waiting until the complete
+ * document is parsed.
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+public interface ElementModifier {
+    /**
+     * Called by an event based processor when an elements closing tag is
+     * encountered. This method must return the modified version of the provided
+     * {@link org.dom4j.Element}or null if it has to be removed from the
+     * document. <br>
+     * The incoming {@link org.dom4j.Element}is disconnected from the DOM4J
+     * tree. This means that navigation to the elements parent {@link
+     * org.dom4j.Element} and {@link org.dom4j.Document}are not available. Only
+     * the element itself can be modified!
+     * 
+     * @param element
+     *            {@link org.dom4j.Element}to be parsed
+     * 
+     * @return the modified {@link org.dom4j.Element}
+     * 
+     * @throws Exception
+     *             of any kind
+     */
+    Element modifyElement(Element element) throws Exception;
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/ElementStack.java b/src/java/org/dom4j/io/ElementStack.java
new file mode 100644
index 0000000..bd76ec2
--- /dev/null
+++ b/src/java/org/dom4j/io/ElementStack.java
@@ -0,0 +1,218 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+import org.dom4j.ElementPath;
+
+/**
+ * <p>
+ * <code>ElementStack</code> is used internally inside the {@link
+ * SAXContentHandler} to maintain a stack of {@link Element}instances. It opens
+ * an integration possibility allowing derivations to prune the tree when a node
+ * is complete.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.14 $
+ */
+class ElementStack implements ElementPath {
+    /** stack of <code>Element</code> objects */
+    protected Element[] stack;
+
+    /** index of the item at the top of the stack or -1 if the stack is empty */
+    protected int lastElementIndex = -1;
+
+    private DispatchHandler handler = null;
+
+    public ElementStack() {
+        this(50);
+    }
+
+    public ElementStack(int defaultCapacity) {
+        stack = new Element[defaultCapacity];
+    }
+
+    public void setDispatchHandler(DispatchHandler dispatchHandler) {
+        this.handler = dispatchHandler;
+    }
+
+    public DispatchHandler getDispatchHandler() {
+        return this.handler;
+    }
+
+    /**
+     * Peeks at the top element on the stack without changing the contents of
+     * the stack.
+     */
+    public void clear() {
+        lastElementIndex = -1;
+    }
+
+    /**
+     * Peeks at the top element on the stack without changing the contents of
+     * the stack.
+     * 
+     * @return the current element on the stack
+     */
+    public Element peekElement() {
+        if (lastElementIndex < 0) {
+            return null;
+        }
+
+        return stack[lastElementIndex];
+    }
+
+    /**
+     * Pops the element off the stack
+     * 
+     * @return the element that has just been popped off the stack
+     */
+    public Element popElement() {
+        if (lastElementIndex < 0) {
+            return null;
+        }
+
+        return stack[lastElementIndex--];
+    }
+
+    /**
+     * Pushes a new element onto the stack
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     */
+    public void pushElement(Element element) {
+        int length = stack.length;
+
+        if (++lastElementIndex >= length) {
+            reallocate(length * 2);
+        }
+
+        stack[lastElementIndex] = element;
+    }
+
+    /**
+     * Reallocates the stack to the given size
+     * 
+     * @param size
+     *            DOCUMENT ME!
+     */
+    protected void reallocate(int size) {
+        Element[] oldStack = stack;
+        stack = new Element[size];
+        System.arraycopy(oldStack, 0, stack, 0, oldStack.length);
+    }
+
+    // The ElementPath Interface
+    //
+    public int size() {
+        return lastElementIndex + 1;
+    }
+
+    public Element getElement(int depth) {
+        Element element;
+
+        try {
+            element = (Element) stack[depth];
+        } catch (ArrayIndexOutOfBoundsException e) {
+            element = null;
+        }
+
+        return element;
+    }
+
+    public String getPath() {
+        if (handler == null) {
+            setDispatchHandler(new DispatchHandler());
+        }
+
+        return handler.getPath();
+    }
+
+    public Element getCurrent() {
+        return peekElement();
+    }
+
+    public void addHandler(String path, ElementHandler elementHandler) {
+        this.handler.addHandler(getHandlerPath(path), elementHandler);
+    }
+
+    public void removeHandler(String path) {
+        this.handler.removeHandler(getHandlerPath(path));
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param path
+     *            DOCUMENT ME!
+     * 
+     * @return true when an <code>ElementHandler</code> is registered for the
+     *         specified path.
+     */
+    public boolean containsHandler(String path) {
+        return this.handler.containsHandler(path);
+    }
+
+    private String getHandlerPath(String path) {
+        String handlerPath;
+
+        if (this.handler == null) {
+            setDispatchHandler(new DispatchHandler());
+        }
+
+        if (path.startsWith("/")) {
+            handlerPath = path;
+        } else if (getPath().equals("/")) {
+            handlerPath = getPath() + path;
+        } else {
+            handlerPath = getPath() + "/" + path;
+        }
+
+        return handlerPath;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/HTMLWriter.java b/src/java/org/dom4j/io/HTMLWriter.java
new file mode 100644
index 0000000..fec556f
--- /dev/null
+++ b/src/java/org/dom4j/io/HTMLWriter.java
@@ -0,0 +1,841 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.Stack;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Node;
+
+import org.xml.sax.SAXException;
+
+/**
+ * <p>
+ * <code>HTMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ * HTML. This formatter is similar to XMLWriter but it outputs the text of CDATA
+ * and Entity sections rather than the serialised format as in XML, it has an
+ * XHTML mode, it retains whitespace in certain elements such as <PRE>,
+ * and it supports certain elements which have no corresponding close tag such
+ * as for <BR> and <P>.
+ * </p>
+ * 
+ * <p>
+ * The OutputFormat passed in to the constructor is checked for isXHTML() and
+ * isExpandEmptyElements(). See {@link OutputFormat OutputFormat}for details.
+ * Here are the rules for <b>this class </b> based on an OutputFormat, "format",
+ * passed in to the constructor: <br/><br/>
+ * 
+ * <ul>
+ * <li>If an element is in {@link #getOmitElementCloseSet()
+ * getOmitElementCloseSet}, then it is treated specially:
+ * 
+ * <ul>
+ * <li>It never expands, since some browsers treat this as two separate
+ * Horizontal Rules: <HR></HR></li>
+ * <li>If {@link org.dom4j.io.OutputFormat#isXHTML() format.isXHTML()}, then
+ * it has a space before the closing single-tag slash, since Netscape 4.x-
+ * treats this: <HR /> as an element named "HR" with an attribute named
+ * "/", but that's better than when it refuses to recognize this: <hr/>
+ * which it thinks is an element named "HR/".</li>
+ * </ul>
+ * 
+ * </li>
+ * <li>If {@link org.dom4j.io.OutputFormat#isXHTML() format.isXHTML()}, all
+ * elements must have either a close element, or be a closed single tag.</li>
+ * <li>If {@link org.dom4j.io.OutputFormat#isExpandEmptyElements()
+ * format.isExpandEmptyElements()}() is true, all elements are expanded except
+ * as above.</li>
+ * </ul>
+ * 
+ * <b>Examples </b>
+ * </p>
+ * 
+ * <p>
+ * </p>
+ * 
+ * <p>
+ * If isXHTML == true, CDATA sections look like this:
+ * 
+ * <PRE>
+ * 
+ * <b><myelement><![CDATA[My data]]></myelement> </b>
+ * 
+ * </PRE>
+ * 
+ * Otherwise, they look like this:
+ * 
+ * <PRE>
+ * 
+ * <b><myelement>My data</myelement> </b>
+ * 
+ * </PRE>
+ * 
+ * </p>
+ * 
+ * <p>
+ * Basically, {@link OutputFormat.isXHTML() OutputFormat.isXHTML()} ==
+ * <code>true</code> will produce valid XML, while {@link
+ * org.dom4j.io.OutputFormat#isExpandEmptyElements()
+ * format.isExpandEmptyElements()} determines whether empty elements are
+ * expanded if isXHTML is true, excepting the special HTML single tags.
+ * </p>
+ * 
+ * <p>
+ * Also, HTMLWriter handles tags whose contents should be preformatted, that is,
+ * whitespace-preserved. By default, this set includes the tags <PRE>,
+ * <SCRIPT>, <STYLE>, and <TEXTAREA>, case insensitively. It
+ * does not include <IFRAME>. Other tags, such as <CODE>,
+ * <KBD>, <TT>, <VAR>, are usually rendered in a different
+ * font in most browsers, but don't preserve whitespace, so they also don't
+ * appear in the default list. HTML Comments are always whitespace-preserved.
+ * However, the parser you use may store comments with linefeed-only text nodes
+ * (\n) even if your platform uses another line.separator character, and
+ * HTMLWriter outputs Comment nodes exactly as the DOM is set up by the parser.
+ * See examples and discussion here: {@link#setPreformattedTags(java.util.Set)
+ * setPreformattedTags}
+ * </p>
+ * 
+ * <p>
+ * <b>Examples </b>
+ * </p>
+ * <blockquote>
+ * <p>
+ * <b>Pretty Printing </b>
+ * </p>
+ * 
+ * <p>
+ * This example shows how to pretty print a string containing a valid HTML
+ * document to a string. You can also just call the static methods of this
+ * class: <br>
+ * {@link #prettyPrintHTML(String) prettyPrintHTML(String)}or <br>
+ * {@link #prettyPrintHTML(String,boolean,boolean,boolean,boolean)
+ * prettyPrintHTML(String,boolean,boolean,boolean,boolean)} or, <br>
+ * {@link #prettyPrintXHTML(String) prettyPrintXHTML(String)}for XHTML (note
+ * the X)
+ * </p>
+ * 
+ * <pre>
+ * String testPrettyPrint(String html) {
+ *     StringWriter sw = new StringWriter();
+ *     OutputFormat format = OutputFormat.createPrettyPrint();
+ *     // These are the default values for createPrettyPrint,
+ *     // so you needn't set them:
+ *     // format.setNewlines(true);
+ *     // format.setTrimText(true);</font>
+ *     format.setXHTML(true);
+ *     HTMLWriter writer = new HTMLWriter(sw, format);
+ *     Document document = DocumentHelper.parseText(html);
+ *     writer.write(document);
+ *     writer.flush();
+ *     return sw.toString();
+ * }
+ * </pre>
+ * 
+ * <p>
+ * This example shows how to create a "squeezed" document, but one that will
+ * work in browsers even if the browser line length is limited. No newlines are
+ * included, no extra whitespace at all, except where it it required by
+ * {@link #setPreformattedTags(java.util.Set) setPreformattedTags}.
+ * </p>
+ * 
+ * <pre>
+ * String testCrunch(String html) {
+ *     StringWriter sw = new StringWriter();
+ *     OutputFormat format = OutputFormat.createPrettyPrint();
+ *     format.setNewlines(false);
+ *     format.setTrimText(true);
+ *     format.setIndent("");
+ *     format.setXHTML(true);
+ *     format.setExpandEmptyElements(false);
+ *     format.setNewLineAfterNTags(20);
+ *     org.dom4j.io.HTMLWriter writer = new HTMLWriter(sw, format);
+ *     org.dom4j.Document document = DocumentHelper.parseText(html);
+ *     writer.write(document);
+ *     writer.flush();
+ *     return sw.toString();
+ * }
+ * </pre>
+ * 
+ * </blockquote>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @author Laramie Crocker
+ * @version $Revision: 1.21 $
+ */
+public class HTMLWriter extends XMLWriter {
+    private static String lineSeparator = System.getProperty("line.separator");
+
+    protected static final HashSet DEFAULT_PREFORMATTED_TAGS;
+
+    static {
+        // If you change this list, update the javadoc examples, above in the
+        // class javadoc, in writeElement, and in setPreformattedTags().
+        DEFAULT_PREFORMATTED_TAGS = new HashSet();
+        DEFAULT_PREFORMATTED_TAGS.add("PRE");
+        DEFAULT_PREFORMATTED_TAGS.add("SCRIPT");
+        DEFAULT_PREFORMATTED_TAGS.add("STYLE");
+        DEFAULT_PREFORMATTED_TAGS.add("TEXTAREA");
+    }
+
+    protected static final OutputFormat DEFAULT_HTML_FORMAT;
+
+    static {
+        DEFAULT_HTML_FORMAT = new OutputFormat("  ", true);
+        DEFAULT_HTML_FORMAT.setTrimText(true);
+        DEFAULT_HTML_FORMAT.setSuppressDeclaration(true);
+    }
+
+    private Stack formatStack = new Stack();
+
+    private String lastText = "";
+
+    private int tagsOuput = 0;
+
+    // legal values are 0+, but -1 signifies lazy initialization.
+    private int newLineAfterNTags = -1;
+
+    private HashSet preformattedTags = DEFAULT_PREFORMATTED_TAGS;
+
+    /**
+     * Used to store the qualified element names which should have no close
+     * element tag
+     */
+    private HashSet omitElementCloseSet;
+
+    public HTMLWriter(Writer writer) {
+        super(writer, DEFAULT_HTML_FORMAT);
+    }
+
+    public HTMLWriter(Writer writer, OutputFormat format) {
+        super(writer, format);
+    }
+
+    public HTMLWriter() throws UnsupportedEncodingException {
+        super(DEFAULT_HTML_FORMAT);
+    }
+
+    public HTMLWriter(OutputFormat format) throws UnsupportedEncodingException {
+        super(format);
+    }
+
+    public HTMLWriter(OutputStream out) throws UnsupportedEncodingException {
+        super(out, DEFAULT_HTML_FORMAT);
+    }
+
+    public HTMLWriter(OutputStream out, OutputFormat format)
+            throws UnsupportedEncodingException {
+        super(out, format);
+    }
+
+    public void startCDATA() throws SAXException {
+    }
+
+    public void endCDATA() throws SAXException {
+    }
+
+    // Overloaded methods
+    // added isXHTML() stuff so you get the CDATA brackets if you desire.
+    protected void writeCDATA(String text) throws IOException {
+        // XXX: Should we escape entities?
+        // writer.write( escapeElementEntities( text ) );
+        if (getOutputFormat().isXHTML()) {
+            super.writeCDATA(text);
+        } else {
+            writer.write(text);
+        }
+
+        lastOutputNodeType = Node.CDATA_SECTION_NODE;
+    }
+
+    protected void writeEntity(Entity entity) throws IOException {
+        writer.write(entity.getText());
+        lastOutputNodeType = Node.ENTITY_REFERENCE_NODE;
+    }
+
+    protected void writeDeclaration() throws IOException {
+    }
+
+    protected void writeString(String text) throws IOException {
+        /*
+         * DOM stores \n at the end of text nodes that are newlines. This is
+         * significant if we are in a PRE section. However, we only want to
+         * output the system line.separator, not \n. This is a little brittle,
+         * but this function appears to be called with these lineseparators as a
+         * separate TEXT_NODE. If we are in a preformatted section, output the
+         * right line.separator, otherwise ditch. If the single \n character is
+         * not the text, then do the super thing to output the text.
+         * 
+         * Also, we store the last text that was not a \n since it may be used
+         * by writeElement in this class to line up preformatted tags.
+         */
+        if (text.equals("\n")) {
+            if (!formatStack.empty()) {
+                super.writeString(lineSeparator);
+            }
+
+            return;
+        }
+
+        lastText = text;
+
+        if (formatStack.empty()) {
+            super.writeString(text.trim());
+        } else {
+            super.writeString(text);
+        }
+    }
+
+    /**
+     * Overriden method to not close certain element names to avoid wierd
+     * behaviour from browsers for versions up to 5.x
+     * 
+     * @param qualifiedName
+     *            DOCUMENT ME!
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    protected void writeClose(String qualifiedName) throws IOException {
+        if (!omitElementClose(qualifiedName)) {
+            super.writeClose(qualifiedName);
+        }
+    }
+
+    protected void writeEmptyElementClose(String qualifiedName)
+            throws IOException {
+        if (getOutputFormat().isXHTML()) {
+            // xhtml, always check with format object whether to expand or not.
+            if (omitElementClose(qualifiedName)) {
+                // it was a special omit tag, do it the XHTML way: "<br/>",
+                // ignoring the expansion option, since <br></br> is OK XML,
+                // but produces twice the linefeeds desired in the browser.
+                // for netscape 4.7, though all are fine with it, write a space
+                // before the close slash.
+                writer.write(" />");
+            } else {
+                super.writeEmptyElementClose(qualifiedName);
+            }
+        } else {
+            // html, not xhtml
+            if (omitElementClose(qualifiedName)) {
+                // it was a special omit tag, do it the old html way: "<br>".
+                writer.write(">");
+            } else {
+                // it was NOT a special omit tag, check with format object
+                // whether to expand or not.
+                super.writeEmptyElementClose(qualifiedName);
+            }
+        }
+    }
+
+    protected boolean omitElementClose(String qualifiedName) {
+        return internalGetOmitElementCloseSet().contains(
+                qualifiedName.toUpperCase());
+    }
+
+    private HashSet internalGetOmitElementCloseSet() {
+        if (omitElementCloseSet == null) {
+            omitElementCloseSet = new HashSet();
+            loadOmitElementCloseSet(omitElementCloseSet);
+        }
+
+        return omitElementCloseSet;
+    }
+
+    // If you change this, change the javadoc for getOmitElementCloseSet.
+    protected void loadOmitElementCloseSet(Set set) {
+        set.add("AREA");
+        set.add("BASE");
+        set.add("BR");
+        set.add("COL");
+        set.add("HR");
+        set.add("IMG");
+        set.add("INPUT");
+        set.add("LINK");
+        set.add("META");
+        set.add("P");
+        set.add("PARAM");
+    }
+
+    // let the people see the set, but not modify it.
+
+    /**
+     * A clone of the Set of elements that can have their close-tags omitted. By
+     * default it should be "AREA", "BASE", "BR", "COL", "HR", "IMG", "INPUT",
+     * "LINK", "META", "P", "PARAM"
+     * 
+     * @return A clone of the Set.
+     */
+    public Set getOmitElementCloseSet() {
+        return (Set) (internalGetOmitElementCloseSet().clone());
+    }
+
+    /**
+     * To use the empty set, pass an empty Set, or null:
+     * 
+     * <pre>
+     * 
+     * 
+     *       setOmitElementCloseSet(new HashSet());
+     *     or
+     *       setOmitElementCloseSet(null);
+     * 
+     *  
+     * </pre>
+     * 
+     * @param newSet
+     *            DOCUMENT ME!
+     */
+    public void setOmitElementCloseSet(Set newSet) {
+        // resets, and safely empties it out if newSet is null.
+        omitElementCloseSet = new HashSet();
+
+        if (newSet != null) {
+            omitElementCloseSet = new HashSet();
+
+            Object aTag;
+            Iterator iter = newSet.iterator();
+
+            while (iter.hasNext()) {
+                aTag = iter.next();
+
+                if (aTag != null) {
+                    omitElementCloseSet.add(aTag.toString().toUpperCase());
+                }
+            }
+        }
+    }
+
+    /**
+     * @see #setPreformattedTags(java.util.Set) setPreformattedTags
+     */
+    public Set getPreformattedTags() {
+        return (Set) (preformattedTags.clone());
+    }
+
+    /**
+     * <p>
+     * Override the default set, which includes PRE, SCRIPT, STYLE, and
+     * TEXTAREA, case insensitively.
+     * </p>
+     * 
+     * <p>
+     * <b>Setting Preformatted Tags </b>
+     * </p>
+     * 
+     * <p>
+     * Pass in a Set of Strings, one for each tag name that should be treated
+     * like a PRE tag. You may pass in null or an empty Set to assign the empty
+     * set, in which case no tags will be treated as preformatted, except that
+     * HTML Comments will continue to be preformatted. If a tag is included in
+     * the set of preformatted tags, all whitespace within the tag will be
+     * preserved, including whitespace on the same line preceding the close tag.
+     * This will generally make the close tag not line up with the start tag,
+     * but it preserves the intention of the whitespace within the tag.
+     * </p>
+     * 
+     * <p>
+     * The browser considers leading whitespace before the close tag to be
+     * significant, but leading whitespace before the open tag to be
+     * insignificant. For example, if the HTML author doesn't put the close
+     * TEXTAREA tag flush to the left margin, then the TEXTAREA control in the
+     * browser will have spaces on the last line inside the control. This may be
+     * the HTML author's intent. Similarly, in a PRE, the browser treats a
+     * flushed left close PRE tag as different from a close tag with leading
+     * whitespace. Again, this must be left up to the HTML author.
+     * </p>
+     * 
+     * <p>
+     * <b>Examples </b>
+     * </p>
+     * <blockquote>
+     * <p>
+     * Here is an example of how you can set the PreformattedTags list using
+     * setPreformattedTags to include IFRAME, as well as the default set, if you
+     * have an instance of this class named myHTMLWriter:
+     * 
+     * <pre>
+     * Set current = myHTMLWriter.getPreformattedTags();
+     * current.add("IFRAME");
+     * myHTMLWriter.setPreformattedTags(current);
+     * 
+     * //The set is now <b>PRE, SCRIPT, STYLE, TEXTAREA, IFRAME</b>
+     * 
+     * 
+     * </pre>
+     * 
+     * Similarly, you can simply replace it with your own:
+     * 
+     * <pre>
+     * 
+     * 
+     *       HashSet newset = new HashSet();
+     *       newset.add("PRE");
+     *       newset.add("TEXTAREA");
+     *       myHTMLWriter.setPreformattedTags(newset);
+     * 
+     *       //The set is now <b>{PRE, TEXTAREA}</b>
+     * 
+     *  
+     * </pre>
+     * 
+     * You can remove all tags from the preformatted tags list, with an empty
+     * set, like this:
+     * 
+     * <pre>
+     * 
+     * 
+     *       myHTMLWriter.setPreformattedTags(new HashSet());
+     * 
+     *       //The set is now <b>{}</b>
+     * 
+     *  
+     * </pre>
+     * 
+     * or with null, like this:
+     * 
+     * <pre>
+     * 
+     * 
+     *       myHTMLWriter.setPreformattedTags(null);
+     * 
+     *       //The set is now <b>{}</b>
+     * 
+     *  
+     * </pre>
+     * 
+     * </p>
+     * </blockquote>
+     * 
+     * @param newSet
+     *            DOCUMENT ME!
+     */
+    public void setPreformattedTags(Set newSet) {
+        // no fancy merging, just set it, assuming they did a
+        // getExcludeTrimTags() first if they wanted to preserve the default
+        // set.
+        // resets, and safely empties it out if newSet is null.
+        preformattedTags = new HashSet();
+
+        if (newSet != null) {
+            Object aTag;
+            Iterator iter = newSet.iterator();
+
+            while (iter.hasNext()) {
+                aTag = iter.next();
+
+                if (aTag != null) {
+                    preformattedTags.add(aTag.toString().toUpperCase());
+                }
+            }
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param qualifiedName
+     *            DOCUMENT ME!
+     * 
+     * @return true if the qualifiedName passed in matched (case-insensitively)
+     *         a tag in the preformattedTags set, or false if not found or if
+     *         the set is empty or null.
+     * 
+     * @see #setPreformattedTags(java.util.Set) setPreformattedTags
+     */
+    public boolean isPreformattedTag(String qualifiedName) {
+        // A null set implies that the user called setPreformattedTags(null),
+        // which means they want no tags to be preformatted.
+        return (preformattedTags != null)
+                && (preformattedTags.contains(qualifiedName.toUpperCase()));
+    }
+
+    /**
+     * This override handles any elements that should not remove whitespace,
+     * such as <PRE>, <SCRIPT>, <STYLE>, and <TEXTAREA>.
+     * Note: the close tags won't line up with the open tag, but we can't alter
+     * that. See javadoc note at setPreformattedTags.
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * 
+     * @throws IOException
+     *             When the stream could not be written to.
+     * 
+     * @see #setPreformattedTags(java.util.Set) setPreformattedTags
+     */
+    protected void writeElement(Element element) throws IOException {
+        if (newLineAfterNTags == -1) { // lazy initialization check
+            lazyInitNewLinesAfterNTags();
+        }
+
+        if (newLineAfterNTags > 0) {
+            if ((tagsOuput > 0) && ((tagsOuput % newLineAfterNTags) == 0)) {
+                super.writer.write(lineSeparator);
+            }
+        }
+
+        tagsOuput++;
+
+        String qualifiedName = element.getQualifiedName();
+        String saveLastText = lastText;
+        int size = element.nodeCount();
+
+        if (isPreformattedTag(qualifiedName)) {
+            OutputFormat currentFormat = getOutputFormat();
+            boolean saveNewlines = currentFormat.isNewlines();
+            boolean saveTrimText = currentFormat.isTrimText();
+            String currentIndent = currentFormat.getIndent();
+
+            // You could have nested PREs, or SCRIPTS within PRE... etc.,
+            // therefore use push and pop.
+            formatStack.push(new FormatState(saveNewlines, saveTrimText,
+                    currentIndent));
+
+            try {
+                // do this manually, since it won't be done while outputting
+                // the tag.
+                super.writePrintln();
+
+                if ((saveLastText.trim().length() == 0)
+                        && (currentIndent != null)
+                        && (currentIndent.length() > 0)) {
+                    // We are indenting, but we want to line up with the close
+                    // tag. lastText was the indent (whitespace, no \n) before
+                    // the preformatted start tag. So write it out instead of
+                    // the current indent level. This makes it line up with its
+                    // close tag.
+                    super.writer.write(justSpaces(saveLastText));
+                }
+
+                // actually, newlines are handled in this class by writeString,
+                // depending on if the stack is empty.
+                currentFormat.setNewlines(false);
+                currentFormat.setTrimText(false);
+                currentFormat.setIndent("");
+
+                // This line is the recursive one:
+                super.writeElement(element);
+            } finally {
+                FormatState state = (FormatState) formatStack.pop();
+                currentFormat.setNewlines(state.isNewlines());
+                currentFormat.setTrimText(state.isTrimText());
+                currentFormat.setIndent(state.getIndent());
+            }
+        } else {
+            super.writeElement(element);
+        }
+    }
+
+    private String justSpaces(String text) {
+        int size = text.length();
+        StringBuffer res = new StringBuffer(size);
+        char c;
+
+        for (int i = 0; i < size; i++) {
+            c = text.charAt(i);
+
+            switch (c) {
+                case '\r':
+                case '\n':
+
+                    continue;
+
+                default:
+                    res.append(c);
+            }
+        }
+
+        return res.toString();
+    }
+
+    private void lazyInitNewLinesAfterNTags() {
+        if (getOutputFormat().isNewlines()) {
+            // don't bother, newlines are going to happen anyway.
+            newLineAfterNTags = 0;
+        } else {
+            newLineAfterNTags = getOutputFormat().getNewLineAfterNTags();
+        }
+    }
+
+    // Convenience methods, static, with bunch-o-defaults
+
+    /**
+     * Convenience method to just get a String result.
+     * 
+     * @param html
+     *            DOCUMENT ME!
+     * 
+     * @return a pretty printed String from the source string, preserving
+     *         whitespace in the defaultPreformattedTags set, and leaving the
+     *         close tags off of the default omitElementCloseSet set. Use one of
+     *         the write methods if you want stream output.
+     * 
+     * @throws java.io.IOException
+     * @throws java.io.UnsupportedEncodingException
+     * @throws org.dom4j.DocumentException
+     */
+    public static String prettyPrintHTML(String html)
+            throws java.io.IOException, java.io.UnsupportedEncodingException,
+            org.dom4j.DocumentException {
+        return prettyPrintHTML(html, true, true, false, true);
+    }
+
+    /**
+     * Convenience method to just get a String result, but <b>As XHTML </b>.
+     * 
+     * @param html
+     *            DOCUMENT ME!
+     * 
+     * @return a pretty printed String from the source string, preserving
+     *         whitespace in the defaultPreformattedTags set, but conforming to
+     *         XHTML: no close tags are omitted (though if empty, they will be
+     *         converted to XHTML empty tags: <HR/> Use one of the write
+     *         methods if you want stream output.
+     * 
+     * @throws java.io.IOException
+     * @throws java.io.UnsupportedEncodingException
+     * @throws org.dom4j.DocumentException
+     */
+    public static String prettyPrintXHTML(String html)
+            throws java.io.IOException, java.io.UnsupportedEncodingException,
+            org.dom4j.DocumentException {
+        return prettyPrintHTML(html, true, true, true, false);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param html
+     *            DOCUMENT ME!
+     * @param newlines
+     *            DOCUMENT ME!
+     * @param trim
+     *            DOCUMENT ME!
+     * @param isXHTML
+     *            DOCUMENT ME!
+     * @param expandEmpty
+     *            DOCUMENT ME!
+     * 
+     * @return a pretty printed String from the source string, preserving
+     *         whitespace in the defaultPreformattedTags set, and leaving the
+     *         close tags off of the default omitElementCloseSet set. This
+     *         override allows you to specify various formatter options. Use one
+     *         of the write methods if you want stream output.
+     * 
+     * @throws java.io.IOException
+     * @throws java.io.UnsupportedEncodingException
+     * @throws org.dom4j.DocumentException
+     */
+    public static String prettyPrintHTML(String html, boolean newlines,
+            boolean trim, boolean isXHTML, boolean expandEmpty)
+            throws java.io.IOException, java.io.UnsupportedEncodingException,
+            org.dom4j.DocumentException {
+        StringWriter sw = new StringWriter();
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        format.setNewlines(newlines);
+        format.setTrimText(trim);
+        format.setXHTML(isXHTML);
+        format.setExpandEmptyElements(expandEmpty);
+
+        HTMLWriter writer = new HTMLWriter(sw, format);
+        Document document = DocumentHelper.parseText(html);
+        writer.write(document);
+        writer.flush();
+
+        return sw.toString();
+    }
+
+    // Allows us to the current state of the format in this struct on the
+    // formatStack.
+    private class FormatState {
+        private boolean newlines = false;
+
+        private boolean trimText = false;
+
+        private String indent = "";
+
+        public FormatState(boolean newLines, boolean trimText, String indent) {
+            this.newlines = newLines;
+            this.trimText = trimText;
+            this.indent = indent;
+        }
+
+        public boolean isNewlines() {
+            return newlines;
+        }
+
+        public boolean isTrimText() {
+            return trimText;
+        }
+
+        public String getIndent() {
+            return indent;
+        }
+    }
+}
+
+/*
+ * <html> <head> <title>My Title </title> <style> .foo { text-align: Right; }
+ * </style> <script> function mojo(){ return "bar"; } </script> <script
+ * language="JavaScript"> <!-- //this is the canonical javascript hiding.
+ * function foo(){ return "foo"; } //--> </script> </head> <!-- this is a
+ * comment --> <body bgcolor="#A4BFDD" mojo="&"> entities:   &
+ * " < > %23 <p></p> <mojo> </mojo> <foo /> <table border="1"> <tr>
+ * <td><pre> line0 <hr /> line1 <b>line2, should line up, indent-wise </b> line
+ * 3 line 4 </pre></td><td></td></tr> </table> <myCDATAElement> <![CDATA[My
+ * data]]> </myCDATAElement> </body> </html>
+ */
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/JAXPHelper.java b/src/java/org/dom4j/io/JAXPHelper.java
new file mode 100644
index 0000000..65f4842
--- /dev/null
+++ b/src/java/org/dom4j/io/JAXPHelper.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.xml.sax.XMLReader;
+
+/**
+ * <code>JAXPHelper</code> contains some helper methods for working with JAXP.
+ * These methods are kept in a seperate class to avoid class loading issues,
+ * such that dom4j can work without JAXP on the CLASSPATH
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+class JAXPHelper {
+    protected JAXPHelper() {
+    }
+
+    /**
+     * This method attempts to use JAXP to locate the SAX2 XMLReader
+     * implementation. This method uses reflection to avoid being dependent
+     * directly on the JAXP classes.
+     * 
+     * @param validating
+     *            DOCUMENT ME!
+     * @param namespaceAware
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public static XMLReader createXMLReader(boolean validating,
+            boolean namespaceAware) throws Exception {
+        SAXParserFactory factory = SAXParserFactory.newInstance();
+        factory.setValidating(validating);
+        factory.setNamespaceAware(namespaceAware);
+
+        SAXParser parser = factory.newSAXParser();
+
+        return parser.getXMLReader();
+    }
+
+    public static org.w3c.dom.Document createDocument(boolean validating,
+            boolean namespaceAware) throws Exception {
+        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+        factory.setValidating(validating);
+        factory.setNamespaceAware(namespaceAware);
+
+        DocumentBuilder builder = factory.newDocumentBuilder();
+
+        return builder.newDocument();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/OutputFormat.java b/src/java/org/dom4j/io/OutputFormat.java
new file mode 100644
index 0000000..aa231c7
--- /dev/null
+++ b/src/java/org/dom4j/io/OutputFormat.java
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+/**
+ * <p>
+ * <code>OutputFormat</code> represents the format configuration used by
+ * {@linkXMLWriter}and its base classes to format the XML output
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.17 $
+ */
+public class OutputFormat implements Cloneable {
+    /** standard value to indent by, if we are indenting */
+    protected static final String STANDARD_INDENT = "  ";
+
+    /**
+     * Whether or not to suppress the XML declaration - default is
+     * <code>false</code>
+     */
+    private boolean suppressDeclaration = false;
+
+    /**
+     * Whether or not to print new line after the XML declaration - default is
+     * <code>true</code>
+     */
+    private boolean newLineAfterDeclaration = true;
+
+    /** The encoding format */
+    private String encoding = "UTF-8";
+
+    /**
+     * Whether or not to output the encoding in the XML declaration - default is
+     * <code>false</code>
+     */
+    private boolean omitEncoding = false;
+
+    /** The default indent is no spaces (as original document) */
+    private String indent = null;
+
+    /**
+     * Whether or not to expand empty elements to
+     * <tagName></tagName> - default is <code>false</code>
+     */
+    private boolean expandEmptyElements = false;
+
+    /**
+     * The default new line flag, set to do new lines only as in original
+     * document
+     */
+    private boolean newlines = false;
+
+    /** New line separator */
+    private String lineSeparator = "\n";
+
+    /** should we preserve whitespace or not in text nodes? */
+    private boolean trimText = false;
+
+    /** pad string-element boundaries with whitespace */
+    private boolean padText = false;
+
+    /** Whether or not to use XHTML standard. */
+    private boolean doXHTML = false;
+
+    /**
+     * Controls when to output a line.separtor every so many tags in case of no
+     * lines and total text trimming.
+     */
+    private int newLineAfterNTags = 0; // zero means don't bother.
+
+    /** Quote character to use when writing attributes. */
+    private char attributeQuoteChar = '\"';
+
+    /**
+     * Creates an <code>OutputFormat</code> with no additional whitespace
+     * (indent or new lines) added. The whitespace from the element text content
+     * is fully preserved.
+     */
+    public OutputFormat() {
+    }
+
+    /**
+     * Creates an <code>OutputFormat</code> with the given indent added but no
+     * new lines added. All whitespace from element text will be included.
+     * 
+     * @param indent
+     *            is the indent string to be used for indentation (usually a
+     *            number of spaces).
+     */
+    public OutputFormat(String indent) {
+        this.indent = indent;
+    }
+
+    /**
+     * Creates an <code>OutputFormat</code> with the given indent added with
+     * optional newlines between the Elements. All whitespace from element text
+     * will be included.
+     * 
+     * @param indent
+     *            is the indent string to be used for indentation (usually a
+     *            number of spaces).
+     * @param newlines
+     *            whether new lines are added to layout the
+     */
+    public OutputFormat(String indent, boolean newlines) {
+        this.indent = indent;
+        this.newlines = newlines;
+    }
+
+    /**
+     * Creates an <code>OutputFormat</code> with the given indent added with
+     * optional newlines between the Elements and the given encoding format.
+     * 
+     * @param indent
+     *            is the indent string to be used for indentation (usually a
+     *            number of spaces).
+     * @param newlines
+     *            whether new lines are added to layout the
+     * @param encoding
+     *            is the text encoding to use for writing the XML
+     */
+    public OutputFormat(String indent, boolean newlines, String encoding) {
+        this.indent = indent;
+        this.newlines = newlines;
+        this.encoding = encoding;
+    }
+
+    public String getLineSeparator() {
+        return lineSeparator;
+    }
+
+    /**
+     * <p>
+     * This will set the new-line separator. The default is <code>\n</code>.
+     * Note that if the "newlines" property is false, this value is irrelevant.
+     * To make it output the system default line ending string, call
+     * <code>setLineSeparator(System.getProperty("line.separator"))</code>
+     * </p>
+     * 
+     * @param separator
+     *            <code>String</code> line separator to use.
+     * 
+     * @see #setNewlines(boolean)
+     */
+    public void setLineSeparator(String separator) {
+        lineSeparator = separator;
+    }
+
+    public boolean isNewlines() {
+        return newlines;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param newlines
+     *            <code>true</code> indicates new lines should be printed,
+     *            else new lines are ignored (compacted).
+     * 
+     * @see #setLineSeparator(String)
+     */
+    public void setNewlines(boolean newlines) {
+        this.newlines = newlines;
+    }
+
+    public String getEncoding() {
+        return encoding;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param encoding
+     *            encoding format
+     */
+    public void setEncoding(String encoding) {
+        if (encoding != null) {
+            this.encoding = encoding;
+        }
+    }
+
+    public boolean isOmitEncoding() {
+        return omitEncoding;
+    }
+
+    /**
+     * <p>
+     * This will set whether the XML declaration (<code><?xml version="1.0"
+     * encoding="UTF-8"?></code>)
+     * includes the encoding of the document. It is common to suppress this in
+     * protocols such as WML and SOAP.
+     * </p>
+     * 
+     * @param omitEncoding
+     *            <code>boolean</code> indicating whether or not the XML
+     *            declaration should indicate the document encoding.
+     */
+    public void setOmitEncoding(boolean omitEncoding) {
+        this.omitEncoding = omitEncoding;
+    }
+
+    /**
+     * <p>
+     * This will set whether the XML declaration (<code><?xml version="1.0"
+     * encoding="UTF-8"?></code>)
+     * is included or not. It is common to suppress this in protocols such as
+     * WML and SOAP.
+     * </p>
+     * 
+     * @param suppressDeclaration
+     *            <code>boolean</code> indicating whether or not the XML
+     *            declaration should be suppressed.
+     */
+    public void setSuppressDeclaration(boolean suppressDeclaration) {
+        this.suppressDeclaration = suppressDeclaration;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return true if the output of the XML declaration (<code><?xml
+     *         version="1.0"?></code>)
+     *         should be suppressed else false.
+     */
+    public boolean isSuppressDeclaration() {
+        return suppressDeclaration;
+    }
+
+    /**
+     * <p>
+     * This will set whether a new line is printed after the XML declaration
+     * (assuming it is not supressed.)
+     * </p>
+     * 
+     * @param newLineAfterDeclaration
+     *            <code>boolean</code> indicating whether or not to print new
+     *            line following the XML declaration. The default is true.
+     */
+    public void setNewLineAfterDeclaration(boolean newLineAfterDeclaration) {
+        this.newLineAfterDeclaration = newLineAfterDeclaration;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return true if a new line should be printed following XML declaration
+     */
+    public boolean isNewLineAfterDeclaration() {
+        return newLineAfterDeclaration;
+    }
+
+    public boolean isExpandEmptyElements() {
+        return expandEmptyElements;
+    }
+
+    /**
+     * <p>
+     * This will set whether empty elements are expanded from
+     * <code><tagName></code> to
+     * <code><tagName></tagName></code>.
+     * </p>
+     * 
+     * @param expandEmptyElements
+     *            <code>boolean</code> indicating whether or not empty
+     *            elements should be expanded.
+     */
+    public void setExpandEmptyElements(boolean expandEmptyElements) {
+        this.expandEmptyElements = expandEmptyElements;
+    }
+
+    public boolean isTrimText() {
+        return trimText;
+    }
+
+    /**
+     * <p>
+     * This will set whether the text is output verbatim (false) or with
+     * whitespace stripped as per <code>{@link
+     * org.dom4j.Element#getTextTrim()}</code>.
+     * </p>
+     * 
+     * <p>
+     * </p>
+     * 
+     * <p>
+     * Default: false
+     * </p>
+     * 
+     * @param trimText
+     *            <code>boolean</code> true=>trim the whitespace, false=>use
+     *            text verbatim
+     */
+    public void setTrimText(boolean trimText) {
+        this.trimText = trimText;
+    }
+
+    public boolean isPadText() {
+        return padText;
+    }
+
+    /**
+     * <p>
+     * Ensure that text immediately preceded by or followed by an element will
+     * be "padded" with a single space. This is used to allow make
+     * browser-friendly HTML, avoiding trimText's transformation of, e.g.,
+     * <code>The quick <b>brown</b> fox</code> into <code>The
+     * quick<b>brown</b>fox</code>
+     * (the latter will run the three separate words together into a single
+     * word). This setting is not too useful if you haven't also called
+     * {@link #setTrimText}.
+     * </p>
+     * 
+     * <p>
+     * The padding string will only be added if the text itself starts or ends
+     * with some whitespace characters.
+     * </p>
+     * 
+     * <p>
+     * Default: false
+     * </p>
+     * 
+     * @param padText
+     *            <code>boolean</code> if true, pad string-element boundaries
+     */
+    public void setPadText(boolean padText) {
+        this.padText = padText;
+    }
+
+    public String getIndent() {
+        return indent;
+    }
+
+    /**
+     * <p>
+     * This will set the indent <code>String</code> to use; this is usually a
+     * <code>String</code> of empty spaces. If you pass null, or the empty
+     * string (""), then no indentation will happen.
+     * </p>
+     * Default: none (null)
+     * 
+     * @param indent
+     *            <code>String</code> to use for indentation.
+     */
+    public void setIndent(String indent) {
+        // nullify empty string to void unnecessary indentation code
+        if ((indent != null) && (indent.length() <= 0)) {
+            indent = null;
+        }
+
+        this.indent = indent;
+    }
+
+    /**
+     * Set the indent on or off. If setting on, will use the value of
+     * STANDARD_INDENT, which is usually two spaces.
+     * 
+     * @param doIndent
+     *            if true, set indenting on; if false, set indenting off
+     */
+    public void setIndent(boolean doIndent) {
+        if (doIndent) {
+            this.indent = STANDARD_INDENT;
+        } else {
+            this.indent = null;
+        }
+    }
+
+    /**
+     * <p>
+     * This will set the indent <code>String</code>'s size; an indentSize of
+     * 4 would result in the indention being equivalent to the
+     * <code>String</code> "    " (four space characters).
+     * </p>
+     * 
+     * @param indentSize
+     *            <code>int</code> number of spaces in indentation.
+     */
+    public void setIndentSize(int indentSize) {
+        StringBuffer indentBuffer = new StringBuffer();
+
+        for (int i = 0; i < indentSize; i++) {
+            indentBuffer.append(" ");
+        }
+
+        this.indent = indentBuffer.toString();
+    }
+
+    /**
+     * <p>
+     * Whether or not to use the XHTML standard: like HTML but passes an XML
+     * parser with real, closed tags. Also, XHTML CDATA sections will be output
+     * with the CDATA delimiters: ( " <b><![CDATA[ </b>" and "
+     * <b>]]> </b>" ) otherwise, the class HTMLWriter will output the
+     * CDATA text, but not the delimiters.
+     * </p>
+     * 
+     * <p>
+     * Default is <code>false</code>
+     * </p>
+     * 
+     * @return DOCUMENT ME!
+     */
+    public boolean isXHTML() {
+        return doXHTML;
+    }
+
+    /**
+     * <p>
+     * This will set whether or not to use the XHTML standard: like HTML but
+     * passes an XML parser with real, closed tags. Also, XHTML CDATA sections
+     * will be output with the CDATA delimiters: ( " <b><[CDATA[
+     * </b>" and " <b>]]< </b>) otherwise, the class HTMLWriter
+     * will output the CDATA text, but not the delimiters.
+     * </p>
+     * 
+     * <p>
+     * Default: false
+     * </p>
+     * 
+     * @param xhtml
+     *            <code>boolean</code> true=>conform to XHTML, false=>conform
+     *            to HTML, can have unclosed tags, etc.
+     */
+    public void setXHTML(boolean xhtml) {
+        doXHTML = xhtml;
+    }
+
+    public int getNewLineAfterNTags() {
+        return newLineAfterNTags;
+    }
+
+    /**
+     * Controls output of a line.separator every tagCount tags when isNewlines
+     * is false. If tagCount equals zero, it means don't do anything special. If
+     * greater than zero, then a line.separator will be output after tagCount
+     * tags have been output. Used when you would like to squeeze the html as
+     * much as possible, but some browsers don't like really long lines. A tag
+     * count of 10 would produce a line.separator in the output after 10 close
+     * tags (including single tags).
+     * 
+     * @param tagCount
+     *            DOCUMENT ME!
+     */
+    public void setNewLineAfterNTags(int tagCount) {
+        newLineAfterNTags = tagCount;
+    }
+
+    public char getAttributeQuoteCharacter() {
+        return attributeQuoteChar;
+    }
+
+    /**
+     * Sets the character used to quote attribute values. The specified
+     * character must be a valid XML attribute quote character, otherwise an
+     * <code>IllegalArgumentException</code> will be thrown.
+     * 
+     * @param quoteChar
+     *            The character to use when quoting attribute values.
+     * 
+     * @throws IllegalArgumentException
+     *             If the specified character is not a valid XML attribute quote
+     *             character.
+     */
+    public void setAttributeQuoteCharacter(char quoteChar) {
+        if ((quoteChar == '\'') || (quoteChar == '"')) {
+            attributeQuoteChar = quoteChar;
+        } else {
+            throw new IllegalArgumentException("Invalid attribute quote "
+                    + "character (" + quoteChar + ")");
+        }
+    }
+
+    /**
+     * Parses command line arguments of the form <code>-omitEncoding
+     * -indentSize 3 -newlines -trimText</code>
+     * 
+     * @param args
+     *            is the array of command line arguments
+     * @param i
+     *            is the index in args to start parsing options
+     * 
+     * @return the index of first parameter that we didn't understand
+     */
+    public int parseOptions(String[] args, int i) {
+        for (int size = args.length; i < size; i++) {
+            if (args[i].equals("-suppressDeclaration")) {
+                setSuppressDeclaration(true);
+            } else if (args[i].equals("-omitEncoding")) {
+                setOmitEncoding(true);
+            } else if (args[i].equals("-indent")) {
+                setIndent(args[++i]);
+            } else if (args[i].equals("-indentSize")) {
+                setIndentSize(Integer.parseInt(args[++i]));
+            } else if (args[i].startsWith("-expandEmpty")) {
+                setExpandEmptyElements(true);
+            } else if (args[i].equals("-encoding")) {
+                setEncoding(args[++i]);
+            } else if (args[i].equals("-newlines")) {
+                setNewlines(true);
+            } else if (args[i].equals("-lineSeparator")) {
+                setLineSeparator(args[++i]);
+            } else if (args[i].equals("-trimText")) {
+                setTrimText(true);
+            } else if (args[i].equals("-padText")) {
+                setPadText(true);
+            } else if (args[i].startsWith("-xhtml")) {
+                setXHTML(true);
+            } else {
+                return i;
+            }
+        }
+
+        return i;
+    }
+
+    /**
+     * A static helper method to create the default pretty printing format. This
+     * format consists of an indent of 2 spaces, newlines after each element and
+     * all other whitespace trimmed, and XMTML is false.
+     * 
+     * @return DOCUMENT ME!
+     */
+    public static OutputFormat createPrettyPrint() {
+        OutputFormat format = new OutputFormat();
+        format.setIndentSize(2);
+        format.setNewlines(true);
+        format.setTrimText(true);
+        format.setPadText(true);
+
+        return format;
+    }
+
+    /**
+     * A static helper method to create the default compact format. This format
+     * does not have any indentation or newlines after an alement and all other
+     * whitespace trimmed
+     * 
+     * @return DOCUMENT ME!
+     */
+    public static OutputFormat createCompactFormat() {
+        OutputFormat format = new OutputFormat();
+        format.setIndent(false);
+        format.setNewlines(false);
+        format.setTrimText(true);
+
+        return format;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/PruningDispatchHandler.java b/src/java/org/dom4j/io/PruningDispatchHandler.java
new file mode 100644
index 0000000..d1e8603
--- /dev/null
+++ b/src/java/org/dom4j/io/PruningDispatchHandler.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import org.dom4j.ElementPath;
+
+/**
+ * This extension on the {@link DispatchHandler}prunes the current {@link
+ * org.dom4j.Element} when there are no {@link ElementHandler}objects active
+ * the element.
+ * 
+ * @author Wonne keysers (Realsoftware)
+ */
+class PruningDispatchHandler extends DispatchHandler {
+    public void onEnd(ElementPath elementPath) {
+        super.onEnd(elementPath);
+
+        if (getActiveHandlerCount() == 0) {
+            elementPath.getCurrent().detach();
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/PruningElementStack.java b/src/java/org/dom4j/io/PruningElementStack.java
new file mode 100644
index 0000000..f89478f
--- /dev/null
+++ b/src/java/org/dom4j/io/PruningElementStack.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+
+/**
+ * <p>
+ * <code>PruningElementStack</code> is a stack of {@link Element}instances
+ * which will prune the tree when a path expression is reached. This is useful
+ * for parsing very large documents where children of the root element can be
+ * processed individually rather than keeping them all in memory at the same
+ * time.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.11 $
+ */
+class PruningElementStack extends ElementStack {
+    /** ElementHandler to call when pruning occurs */
+    private ElementHandler elementHandler;
+
+    /**
+     * the element name path which denotes the node to remove from its parent
+     * when it is complete (i.e. when it is popped from the stack). The first
+     * entry in the path will be a child of the root node
+     */
+    private String[] path;
+
+    /**
+     * The level at which a path match can occur. We match when we have popped
+     * the selected node so the and the lastElementIndex points to its parent so
+     * this value should be path.length - 2
+     */
+    private int matchingElementIndex;
+
+    public PruningElementStack(String[] path, ElementHandler elementHandler) {
+        this.path = path;
+        this.elementHandler = elementHandler;
+        checkPath();
+    }
+
+    public PruningElementStack(String[] path, ElementHandler elementHandler,
+            int defaultCapacity) {
+        super(defaultCapacity);
+        this.path = path;
+        this.elementHandler = elementHandler;
+        checkPath();
+    }
+
+    public Element popElement() {
+        Element answer = super.popElement();
+
+        if ((lastElementIndex == matchingElementIndex)
+                && (lastElementIndex >= 0)) {
+            // we are popping the correct level in the tree
+            // lets check if the path fits
+            //
+            // NOTE: this is an inefficient way of doing it - we could
+            // maintain a history of which parts matched?
+            if (validElement(answer, lastElementIndex + 1)) {
+                Element parent = null;
+
+                for (int i = 0; i <= lastElementIndex; i++) {
+                    parent = stack[i];
+
+                    if (!validElement(parent, i)) {
+                        parent = null;
+
+                        break;
+                    }
+                }
+
+                if (parent != null) {
+                    pathMatches(parent, answer);
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    protected void pathMatches(Element parent, Element selectedNode) {
+        elementHandler.onEnd(this);
+        parent.remove(selectedNode);
+    }
+
+    protected boolean validElement(Element element, int index) {
+        String requiredName = path[index];
+        String name = element.getName();
+
+        if (requiredName == name) {
+            return true;
+        }
+
+        if ((requiredName != null) && (name != null)) {
+            return requiredName.equals(name);
+        }
+
+        return false;
+    }
+
+    private void checkPath() {
+        if (path.length < 2) {
+            throw new RuntimeException("Invalid path of length: " + path.length
+                    + " it must be greater than 2");
+        }
+
+        matchingElementIndex = path.length - 2;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXContentHandler.java b/src/java/org/dom4j/io/SAXContentHandler.java
new file mode 100644
index 0000000..dc11e88
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXContentHandler.java
@@ -0,0 +1,1006 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.Branch;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.dom4j.dtd.AttributeDecl;
+import org.dom4j.dtd.ElementDecl;
+import org.dom4j.dtd.ExternalEntityDecl;
+import org.dom4j.dtd.InternalEntityDecl;
+import org.dom4j.tree.AbstractElement;
+import org.dom4j.tree.NamespaceStack;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.DTDHandler;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.ext.DeclHandler;
+import org.xml.sax.ext.LexicalHandler;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ * <p>
+ * <code>SAXContentHandler</code> builds a dom4j tree via SAX events.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.61 $
+ */
+public class SAXContentHandler extends DefaultHandler implements
+        LexicalHandler, DeclHandler, DTDHandler {
+    /** The factory used to create new <code>Document</code> instances */
+    private DocumentFactory documentFactory;
+
+    /** The document that is being built */
+    private Document document;
+
+    /** stack of <code>Element</code> objects */
+    private ElementStack elementStack;
+
+    /** stack of <code>Namespace</code> and <code>QName</code> objects */
+    private NamespaceStack namespaceStack;
+
+    /** the <code>ElementHandler</code> called as the elements are complete */
+    private ElementHandler elementHandler;
+
+    /** the Locator */
+    private Locator locator;
+
+    /** The name of the current entity */
+    private String entity;
+
+    /** Flag used to indicate that we are inside a DTD section */
+    private boolean insideDTDSection;
+
+    /** Flag used to indicate that we are inside a CDATA section */
+    private boolean insideCDATASection;
+
+    /**
+     * buffer to hold contents of cdata section across multiple characters
+     * events
+     */
+    private StringBuffer cdataText;
+
+    /** namespaces that are available for use */
+    private Map availableNamespaceMap = new HashMap();
+
+    /** declared namespaces that are not yet available for use */
+    private List declaredNamespaceList = new ArrayList();
+
+    /** internal DTD declarations */
+    private List internalDTDDeclarations;
+
+    /** external DTD declarations */
+    private List externalDTDDeclarations;
+
+    /** The number of namespaces that are declared in the current scope */
+    private int declaredNamespaceIndex;
+
+    /** The entity resolver */
+    private EntityResolver entityResolver;
+
+    private InputSource inputSource;
+
+    /** The current element we are on */
+    private Element currentElement;
+
+    /** Should internal DTD declarations be expanded into a List in the DTD */
+    private boolean includeInternalDTDDeclarations = false;
+
+    /** Should external DTD declarations be expanded into a List in the DTD */
+    private boolean includeExternalDTDDeclarations = false;
+
+    /** The number of levels deep we are inside a startEntity/endEntity call */
+    private int entityLevel;
+
+    /** Are we in an internal DTD subset? */
+    private boolean internalDTDsubset = false;
+
+    /** Whether adjacent text nodes should be merged */
+    private boolean mergeAdjacentText = false;
+
+    /** Have we added text to the buffer */
+    private boolean textInTextBuffer = false;
+
+    /** Should we ignore comments */
+    private boolean ignoreComments = false;
+
+    /** Buffer used to concatenate text together */
+    private StringBuffer textBuffer;
+
+    /** Holds value of property stripWhitespaceText. */
+    private boolean stripWhitespaceText = false;
+
+    public SAXContentHandler() {
+        this(DocumentFactory.getInstance());
+    }
+
+    public SAXContentHandler(DocumentFactory documentFactory) {
+        this(documentFactory, null);
+    }
+
+    public SAXContentHandler(DocumentFactory documentFactory,
+            ElementHandler elementHandler) {
+        this(documentFactory, elementHandler, null);
+        this.elementStack = createElementStack();
+    }
+
+    public SAXContentHandler(DocumentFactory documentFactory,
+            ElementHandler elementHandler, ElementStack elementStack) {
+        this.documentFactory = documentFactory;
+        this.elementHandler = elementHandler;
+        this.elementStack = elementStack;
+        this.namespaceStack = new NamespaceStack(documentFactory);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the document that has been or is being built
+     */
+    public Document getDocument() {
+        if (document == null) {
+            document = createDocument();
+        }
+
+        return document;
+    }
+
+    // ContentHandler interface
+    // -------------------------------------------------------------------------
+    public void setDocumentLocator(Locator documentLocator) {
+        this.locator = documentLocator;
+    }
+
+    public void processingInstruction(String target, String data)
+            throws SAXException {
+        if (mergeAdjacentText && textInTextBuffer) {
+            completeCurrentTextNode();
+        }
+
+        if (currentElement != null) {
+            currentElement.addProcessingInstruction(target, data);
+        } else {
+            getDocument().addProcessingInstruction(target, data);
+        }
+    }
+
+    public void startPrefixMapping(String prefix, String uri)
+            throws SAXException {
+        namespaceStack.push(prefix, uri);
+    }
+
+    public void endPrefixMapping(String prefix) throws SAXException {
+        namespaceStack.pop(prefix);
+        declaredNamespaceIndex = namespaceStack.size();
+    }
+
+    public void startDocument() throws SAXException {
+        // document = createDocument();
+        document = null;
+        currentElement = null;
+
+        elementStack.clear();
+
+        if ((elementHandler != null)
+                && (elementHandler instanceof DispatchHandler)) {
+            elementStack.setDispatchHandler((DispatchHandler) elementHandler);
+        }
+
+        namespaceStack.clear();
+        declaredNamespaceIndex = 0;
+
+        if (mergeAdjacentText && (textBuffer == null)) {
+            textBuffer = new StringBuffer();
+        }
+
+        textInTextBuffer = false;
+    }
+
+    public void endDocument() throws SAXException {
+        namespaceStack.clear();
+        elementStack.clear();
+        currentElement = null;
+        textBuffer = null;
+    }
+
+    public void startElement(String namespaceURI, String localName,
+            String qualifiedName, Attributes attributes) throws SAXException {
+        if (mergeAdjacentText && textInTextBuffer) {
+            completeCurrentTextNode();
+        }
+
+        QName qName = namespaceStack.getQName(namespaceURI, localName,
+                qualifiedName);
+
+        Branch branch = currentElement;
+
+        if (branch == null) {
+            branch = getDocument();
+        }
+
+        Element element = branch.addElement(qName);
+
+        // add all declared namespaces
+        addDeclaredNamespaces(element);
+
+        // now lets add all attribute values
+        addAttributes(element, attributes);
+
+        elementStack.pushElement(element);
+        currentElement = element;
+
+        entity = null; // fixes bug527062
+
+        if (elementHandler != null) {
+            elementHandler.onStart(elementStack);
+        }
+    }
+
+    public void endElement(String namespaceURI, String localName, String qName)
+            throws SAXException {
+        if (mergeAdjacentText && textInTextBuffer) {
+            completeCurrentTextNode();
+        }
+
+        if ((elementHandler != null) && (currentElement != null)) {
+            elementHandler.onEnd(elementStack);
+        }
+
+        elementStack.popElement();
+        currentElement = elementStack.peekElement();
+    }
+
+    public void characters(char[] ch, int start, int end) throws SAXException {
+        if (end == 0) {
+            return;
+        }
+
+        if (currentElement != null) {
+            if (entity != null) {
+                if (mergeAdjacentText && textInTextBuffer) {
+                    completeCurrentTextNode();
+                }
+
+                currentElement.addEntity(entity, new String(ch, start, end));
+                entity = null;
+            } else if (insideCDATASection) {
+                if (mergeAdjacentText && textInTextBuffer) {
+                    completeCurrentTextNode();
+                }
+
+                cdataText.append(new String(ch, start, end));
+            } else {
+                if (mergeAdjacentText) {
+                    textBuffer.append(ch, start, end);
+                    textInTextBuffer = true;
+                } else {
+                    currentElement.addText(new String(ch, start, end));
+                }
+            }
+        }
+    }
+
+    // ErrorHandler interface
+    // -------------------------------------------------------------------------
+
+    /**
+     * This method is called when a warning occurs during the parsing of the
+     * document. This method does nothing.
+     * 
+     * @param exception
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public void warning(SAXParseException exception) throws SAXException {
+        // ignore warnings by default
+    }
+
+    /**
+     * This method is called when an error is detected during parsing such as a
+     * validation error. This method rethrows the exception
+     * 
+     * @param exception
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public void error(SAXParseException exception) throws SAXException {
+        throw exception;
+    }
+
+    /**
+     * This method is called when a fatal error occurs during parsing. This
+     * method rethrows the exception
+     * 
+     * @param exception
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public void fatalError(SAXParseException exception) throws SAXException {
+        throw exception;
+    }
+
+    // LexicalHandler interface
+    // -------------------------------------------------------------------------
+    public void startDTD(String name, String publicId, String systemId)
+            throws SAXException {
+        getDocument().addDocType(name, publicId, systemId);
+        insideDTDSection = true;
+        internalDTDsubset = true;
+    }
+
+    public void endDTD() throws SAXException {
+        insideDTDSection = false;
+
+        DocumentType docType = getDocument().getDocType();
+
+        if (docType != null) {
+            if (internalDTDDeclarations != null) {
+                docType.setInternalDeclarations(internalDTDDeclarations);
+            }
+
+            if (externalDTDDeclarations != null) {
+                docType.setExternalDeclarations(externalDTDDeclarations);
+            }
+        }
+
+        internalDTDDeclarations = null;
+        externalDTDDeclarations = null;
+    }
+
+    public void startEntity(String name) throws SAXException {
+        ++entityLevel;
+
+        // Ignore DTD references
+        entity = null;
+
+        if (!insideDTDSection) {
+            if (!isIgnorableEntity(name)) {
+                entity = name;
+            }
+        }
+
+        // internal DTD subsets can only appear outside of a
+        // startEntity/endEntity block
+        // see the startDTD method in
+        // http://dom4j.org/javadoc/org/xml/sax/ext/LexicalHandler.html
+        internalDTDsubset = false;
+    }
+
+    public void endEntity(String name) throws SAXException {
+        --entityLevel;
+        entity = null;
+
+        if (entityLevel == 0) {
+            internalDTDsubset = true;
+        }
+    }
+
+    public void startCDATA() throws SAXException {
+        insideCDATASection = true;
+        cdataText = new StringBuffer();
+    }
+
+    public void endCDATA() throws SAXException {
+        insideCDATASection = false;
+        currentElement.addCDATA(cdataText.toString());
+    }
+
+    public void comment(char[] ch, int start, int end) throws SAXException {
+        if (!ignoreComments) {
+            if (mergeAdjacentText && textInTextBuffer) {
+                completeCurrentTextNode();
+            }
+
+            String text = new String(ch, start, end);
+
+            if (!insideDTDSection && (text.length() > 0)) {
+                if (currentElement != null) {
+                    currentElement.addComment(text);
+                } else {
+                    getDocument().addComment(text);
+                }
+            }
+        }
+    }
+
+    // DeclHandler interface
+    // -------------------------------------------------------------------------
+
+    /**
+     * Report an element type declaration.
+     * 
+     * <p>
+     * The content model will consist of the string "EMPTY", the string "ANY",
+     * or a parenthesised group, optionally followed by an occurrence indicator.
+     * The model will be normalized so that all parameter entities are fully
+     * resolved and all whitespace is removed,and will include the enclosing
+     * parentheses. Other normalization (such as removing redundant parentheses
+     * or simplifying occurrence indicators) is at the discretion of the parser.
+     * </p>
+     * 
+     * @param name
+     *            The element type name.
+     * @param model
+     *            The content model as a normalized string.
+     * 
+     * @exception SAXException
+     *                The application may raise an exception.
+     */
+    public void elementDecl(String name, String model) throws SAXException {
+        if (internalDTDsubset) {
+            if (includeInternalDTDDeclarations) {
+                addDTDDeclaration(new ElementDecl(name, model));
+            }
+        } else {
+            if (includeExternalDTDDeclarations) {
+                addExternalDTDDeclaration(new ElementDecl(name, model));
+            }
+        }
+    }
+
+    /**
+     * Report an attribute type declaration.
+     * 
+     * <p>
+     * Only the effective (first) declaration for an attribute will be reported.
+     * The type will be one of the strings "CDATA", "ID", "IDREF", "IDREFS",
+     * "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", a parenthesized token group
+     * with the separator "|" and all whitespace removed, or the word "NOTATION"
+     * followed by a space followed by a parenthesized token group with all
+     * whitespace removed.
+     * </p>
+     * 
+     * <p>
+     * Any parameter entities in the attribute value will be expanded, but
+     * general entities will not.
+     * </p>
+     * 
+     * @param eName
+     *            The name of the associated element.
+     * @param aName
+     *            The name of the attribute.
+     * @param type
+     *            A string representing the attribute type.
+     * @param valueDefault
+     *            A string representing the attribute default ("#IMPLIED",
+     *            "#REQUIRED", or "#FIXED") or null if none of these applies.
+     * @param val
+     *            A string representing the attribute's default value, or null
+     *            if there is none.
+     * 
+     * @exception SAXException
+     *                The application may raise an exception.
+     */
+    public void attributeDecl(String eName, String aName, String type,
+            String valueDefault, String val) throws SAXException {
+        if (internalDTDsubset) {
+            if (includeInternalDTDDeclarations) {
+                addDTDDeclaration(new AttributeDecl(eName, aName, type,
+                        valueDefault, val));
+            }
+        } else {
+            if (includeExternalDTDDeclarations) {
+                addExternalDTDDeclaration(new AttributeDecl(eName, aName, type,
+                        valueDefault, val));
+            }
+        }
+    }
+
+    /**
+     * Report an internal entity declaration.
+     * 
+     * <p>
+     * Only the effective (first) declaration for each entity will be reported.
+     * All parameter entities in the value will be expanded, but general
+     * entities will not.
+     * </p>
+     * 
+     * @param name
+     *            The name of the entity. If it is a parameter entity, the name
+     *            will begin with '%'.
+     * @param value
+     *            The replacement text of the entity.
+     * 
+     * @exception SAXException
+     *                The application may raise an exception.
+     * 
+     * @see #externalEntityDecl
+     * @see org.xml.sax.DTDHandler#unparsedEntityDecl
+     */
+    public void internalEntityDecl(String name, String value)
+            throws SAXException {
+        if (internalDTDsubset) {
+            if (includeInternalDTDDeclarations) {
+                addDTDDeclaration(new InternalEntityDecl(name, value));
+            }
+        } else {
+            if (includeExternalDTDDeclarations) {
+                addExternalDTDDeclaration(new InternalEntityDecl(name, value));
+            }
+        }
+    }
+
+    /**
+     * Report a parsed external entity declaration.
+     * 
+     * <p>
+     * Only the effective (first) declaration for each entity will be reported.
+     * </p>
+     * 
+     * @param name
+     *            The name of the entity. If it is a parameter entity, the name
+     *            will begin with '%'.
+     * @param publicId
+     *            The declared public identifier of the entity, or null if none
+     *            was declared.
+     * @param sysId
+     *            The declared system identifier of the entity.
+     * 
+     * @exception SAXException
+     *                The application may raise an exception.
+     * 
+     * @see #internalEntityDecl
+     * @see org.xml.sax.DTDHandler#unparsedEntityDecl
+     */
+    public void externalEntityDecl(String name, String publicId, String sysId)
+            throws SAXException {
+        ExternalEntityDecl declaration = new ExternalEntityDecl(name, publicId,
+                sysId);
+
+        if (internalDTDsubset) {
+            if (includeInternalDTDDeclarations) {
+                addDTDDeclaration(declaration);
+            }
+        } else {
+            if (includeExternalDTDDeclarations) {
+                addExternalDTDDeclaration(declaration);
+            }
+        }
+    }
+
+    // DTDHandler interface
+    // -------------------------------------------------------------------------
+
+    /**
+     * Receive notification of a notation declaration event.
+     * 
+     * <p>
+     * It is up to the application to record the notation for later reference,
+     * if necessary.
+     * </p>
+     * 
+     * <p>
+     * At least one of publicId and systemId must be non-null. If a system
+     * identifier is present, and it is a URL, the SAX parser must resolve it
+     * fully before passing it to the application through this event.
+     * </p>
+     * 
+     * <p>
+     * There is no guarantee that the notation declaration will be reported
+     * before any unparsed entities that use it.
+     * </p>
+     * 
+     * @param name
+     *            The notation name.
+     * @param publicId
+     *            The notation's public identifier, or null if none was given.
+     * @param systemId
+     *            The notation's system identifier, or null if none was given.
+     * 
+     * @exception SAXException
+     *                Any SAX exception, possibly wrapping another exception.
+     * 
+     * @see #unparsedEntityDecl
+     * @see org.xml.sax.AttributeList
+     */
+    public void notationDecl(String name, String publicId, String systemId)
+            throws SAXException {
+        // #### not supported yet!
+    }
+
+    /**
+     * Receive notification of an unparsed entity declaration event.
+     * 
+     * <p>
+     * Note that the notation name corresponds to a notation reported by the
+     * {@link #notationDecl notationDecl}event. It is up to the application to
+     * record the entity for later reference, if necessary.
+     * </p>
+     * 
+     * <p>
+     * If the system identifier is a URL, the parser must resolve it fully
+     * before passing it to the application.
+     * </p>
+     * 
+     * @param name
+     *            The unparsed entity's name.
+     * @param publicId
+     *            The entity's public identifier, or null if none was given.
+     * @param systemId
+     *            The entity's system identifier.
+     * @param notationName
+     *            The name of the associated notation.
+     * 
+     * @exception SAXException
+     *                Any SAX exception, possibly wrapping another exception.
+     * 
+     * @see #notationDecl
+     * @see org.xml.sax.AttributeList
+     */
+    public void unparsedEntityDecl(String name, String publicId,
+            String systemId, String notationName) throws SAXException {
+        // #### not supported yet!
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+    public ElementStack getElementStack() {
+        return elementStack;
+    }
+
+    public void setElementStack(ElementStack elementStack) {
+        this.elementStack = elementStack;
+    }
+
+    public EntityResolver getEntityResolver() {
+        return entityResolver;
+    }
+
+    public void setEntityResolver(EntityResolver entityResolver) {
+        this.entityResolver = entityResolver;
+    }
+
+    public InputSource getInputSource() {
+        return inputSource;
+    }
+
+    public void setInputSource(InputSource inputSource) {
+        this.inputSource = inputSource;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return whether internal DTD declarations should be expanded into the
+     *         DocumentType object or not.
+     */
+    public boolean isIncludeInternalDTDDeclarations() {
+        return includeInternalDTDDeclarations;
+    }
+
+    /**
+     * Sets whether internal DTD declarations should be expanded into the
+     * DocumentType object or not.
+     * 
+     * @param include
+     *            whether or not DTD declarations should be expanded and
+     *            included into the DocumentType object.
+     */
+    public void setIncludeInternalDTDDeclarations(boolean include) {
+        this.includeInternalDTDDeclarations = include;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return whether external DTD declarations should be expanded into the
+     *         DocumentType object or not.
+     */
+    public boolean isIncludeExternalDTDDeclarations() {
+        return includeExternalDTDDeclarations;
+    }
+
+    /**
+     * Sets whether DTD external declarations should be expanded into the
+     * DocumentType object or not.
+     * 
+     * @param include
+     *            whether or not DTD declarations should be expanded and
+     *            included into the DocumentType object.
+     */
+    public void setIncludeExternalDTDDeclarations(boolean include) {
+        this.includeExternalDTDDeclarations = include;
+    }
+
+    /**
+     * Returns whether adjacent text nodes should be merged together.
+     * 
+     * @return Value of property mergeAdjacentText.
+     */
+    public boolean isMergeAdjacentText() {
+        return mergeAdjacentText;
+    }
+
+    /**
+     * Sets whether or not adjacent text nodes should be merged together when
+     * parsing.
+     * 
+     * @param mergeAdjacentText
+     *            New value of property mergeAdjacentText.
+     */
+    public void setMergeAdjacentText(boolean mergeAdjacentText) {
+        this.mergeAdjacentText = mergeAdjacentText;
+    }
+
+    /**
+     * Sets whether whitespace between element start and end tags should be
+     * ignored
+     * 
+     * @return Value of property stripWhitespaceText.
+     */
+    public boolean isStripWhitespaceText() {
+        return stripWhitespaceText;
+    }
+
+    /**
+     * Sets whether whitespace between element start and end tags should be
+     * ignored.
+     * 
+     * @param stripWhitespaceText
+     *            New value of property stripWhitespaceText.
+     */
+    public void setStripWhitespaceText(boolean stripWhitespaceText) {
+        this.stripWhitespaceText = stripWhitespaceText;
+    }
+
+    /**
+     * Returns whether we should ignore comments or not.
+     * 
+     * @return boolean
+     */
+    public boolean isIgnoreComments() {
+        return ignoreComments;
+    }
+
+    /**
+     * Sets whether we should ignore comments or not.
+     * 
+     * @param ignoreComments
+     *            whether we should ignore comments or not.
+     */
+    public void setIgnoreComments(boolean ignoreComments) {
+        this.ignoreComments = ignoreComments;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * If the current text buffer contains any text then create a new text node
+     * with it and add it to the current element
+     */
+    protected void completeCurrentTextNode() {
+        if (stripWhitespaceText) {
+            boolean whitespace = true;
+
+            for (int i = 0, size = textBuffer.length(); i < size; i++) {
+                if (!Character.isWhitespace(textBuffer.charAt(i))) {
+                    whitespace = false;
+
+                    break;
+                }
+            }
+
+            if (!whitespace) {
+                currentElement.addText(textBuffer.toString());
+            }
+        } else {
+            currentElement.addText(textBuffer.toString());
+        }
+
+        textBuffer.setLength(0);
+        textInTextBuffer = false;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the current document
+     */
+    protected Document createDocument() {
+        String encoding = getEncoding();
+        Document doc = documentFactory.createDocument(encoding);
+
+        // set the EntityResolver
+        doc.setEntityResolver(entityResolver);
+
+        if (inputSource != null) {
+            doc.setName(inputSource.getSystemId());
+        }
+
+        return doc;
+    }
+
+    private String getEncoding() {
+        if (locator == null) {
+            return null;
+        }
+
+        // use reflection to avoid dependency on Locator2
+        // or other locator implemenations.
+        try {
+            Method m = locator.getClass().getMethod("getEncoding",
+                    new Class[] {});
+
+            if (m != null) {
+                return (String) m.invoke(locator, null);
+            }
+        } catch (Exception e) {
+            // do nothing
+        }
+
+        // couldn't determine encoding, returning null...
+        return null;
+    }
+
+    /**
+     * a Strategy Method to determine if a given entity name is ignorable
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected boolean isIgnorableEntity(String name) {
+        return "amp".equals(name) || "apos".equals(name) || "gt".equals(name)
+                || "lt".equals(name) || "quot".equals(name);
+    }
+
+    /**
+     * Add all namespaces declared before the startElement() SAX event to the
+     * current element so that they are available to child elements and
+     * attributes
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     */
+    protected void addDeclaredNamespaces(Element element) {
+        Namespace elementNamespace = element.getNamespace();
+
+        for (int size = namespaceStack.size(); declaredNamespaceIndex < size; 
+                declaredNamespaceIndex++) {
+            Namespace namespace = namespaceStack
+                    .getNamespace(declaredNamespaceIndex);
+
+            // if ( namespace != elementNamespace ) {
+            element.add(namespace);
+
+            // }
+        }
+    }
+
+    /**
+     * Add all the attributes to the given elements
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * @param attributes
+     *            DOCUMENT ME!
+     */
+    protected void addAttributes(Element element, Attributes attributes) {
+        // XXXX: as an optimisation, we could deduce this value from the current
+        // SAX parser settings, the SAX namespaces-prefixes feature
+        boolean noNamespaceAttributes = false;
+
+        if (element instanceof AbstractElement) {
+            // optimised method
+            AbstractElement baseElement = (AbstractElement) element;
+            baseElement.setAttributes(attributes, namespaceStack,
+                    noNamespaceAttributes);
+        } else {
+            int size = attributes.getLength();
+
+            for (int i = 0; i < size; i++) {
+                String attributeQName = attributes.getQName(i);
+
+                if (noNamespaceAttributes
+                        || !attributeQName.startsWith("xmlns")) {
+                    String attributeURI = attributes.getURI(i);
+                    String attributeLocalName = attributes.getLocalName(i);
+                    String attributeValue = attributes.getValue(i);
+
+                    QName qName = namespaceStack.getAttributeQName(
+                            attributeURI, attributeLocalName, attributeQName);
+                    element.addAttribute(qName, attributeValue);
+                }
+            }
+        }
+    }
+
+    /**
+     * Adds an internal DTD declaration to the list of declarations
+     * 
+     * @param declaration
+     *            DOCUMENT ME!
+     */
+    protected void addDTDDeclaration(Object declaration) {
+        if (internalDTDDeclarations == null) {
+            internalDTDDeclarations = new ArrayList();
+        }
+
+        internalDTDDeclarations.add(declaration);
+    }
+
+    /**
+     * Adds an external DTD declaration to the list of declarations
+     * 
+     * @param declaration
+     *            DOCUMENT ME!
+     */
+    protected void addExternalDTDDeclaration(Object declaration) {
+        if (externalDTDDeclarations == null) {
+            externalDTDDeclarations = new ArrayList();
+        }
+
+        externalDTDDeclarations.add(declaration);
+    }
+
+    protected ElementStack createElementStack() {
+        return new ElementStack();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXEventRecorder.java b/src/java/org/dom4j/io/SAXEventRecorder.java
new file mode 100644
index 0000000..296f87a
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXEventRecorder.java
@@ -0,0 +1,603 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.DTDHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.ext.DeclHandler;
+import org.xml.sax.ext.LexicalHandler;
+import org.xml.sax.helpers.AttributesImpl;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ * <p>
+ * Records SAX events such that they may be "replayed" at a later time. Provides
+ * an alternative serialization approach when externalizing a DOM4J document.
+ * Rather than serializing a document as text and re-parsing, the sax events may
+ * be serialized instead.
+ * </p>
+ * Example usage:
+ * 
+ * <pre>
+ * 
+ *  
+ *  
+ *         SAXEventRecorder recorder = new SAXEventRecorder();
+ *         SAXWriter saxWriter = new SAXWriter(recorder, recorder);
+ *         saxWriter.write(document);
+ *         out.writeObject(recorder);
+ *         ...
+ *         SAXEventRecorder recorder = (SAXEventRecorder)in.readObject();
+ *         SAXContentHandler saxContentHandler = new SAXContentHandler();
+ *         recorder.replay(saxContentHandler);
+ *         Document document = saxContentHandler.getDocument();
+ *  
+ *   
+ *  
+ * </pre>
+ * 
+ * @author Todd Wolff (Bluestem Software)
+ */
+public class SAXEventRecorder extends DefaultHandler implements LexicalHandler,
+        DeclHandler, DTDHandler, Externalizable {
+    public static final long serialVersionUID = 1;
+
+    private static final byte STRING = 0;
+
+    private static final byte OBJECT = 1;
+
+    private static final byte NULL = 2;
+
+    private List events = new ArrayList();
+
+    private Map prefixMappings = new HashMap();
+
+    private static final String XMLNS = "xmlns";
+
+    private static final String EMPTY_STRING = "";
+
+    public SAXEventRecorder() {
+    }
+
+    public void replay(ContentHandler handler) throws SAXException {
+        SAXEvent saxEvent;
+        Iterator itr = events.iterator();
+
+        while (itr.hasNext()) {
+            saxEvent = (SAXEvent) itr.next();
+
+            switch (saxEvent.event) {
+                // replay to ContentHandler
+                case SAXEvent.PROCESSING_INSTRUCTION:
+                    handler.processingInstruction((String) saxEvent.getParm(0),
+                            (String) saxEvent.getParm(1));
+
+                    break;
+
+                case SAXEvent.START_PREFIX_MAPPING:
+                    handler.startPrefixMapping((String) saxEvent.getParm(0),
+                            (String) saxEvent.getParm(1));
+
+                    break;
+
+                case SAXEvent.END_PREFIX_MAPPING:
+                    handler.endPrefixMapping((String) saxEvent.getParm(0));
+
+                    break;
+
+                case SAXEvent.START_DOCUMENT:
+                    handler.startDocument();
+
+                    break;
+
+                case SAXEvent.END_DOCUMENT:
+                    handler.endDocument();
+
+                    break;
+
+                case SAXEvent.START_ELEMENT:
+
+                    AttributesImpl attributes = new AttributesImpl();
+                    List attParmList = (List) saxEvent.getParm(3);
+
+                    if (attParmList != null) {
+                        Iterator attsItr = attParmList.iterator();
+
+                        while (attsItr.hasNext()) {
+                            String[] attParms = (String[]) attsItr.next();
+                            attributes.addAttribute(attParms[0], attParms[1],
+                                    attParms[2], attParms[3], attParms[4]);
+                        }
+                    }
+
+                    handler.startElement((String) saxEvent.getParm(0),
+                            (String) saxEvent.getParm(1), (String) saxEvent
+                                    .getParm(2), attributes);
+
+                    break;
+
+                case SAXEvent.END_ELEMENT:
+                    handler.endElement((String) saxEvent.getParm(0),
+                            (String) saxEvent.getParm(1), (String) saxEvent
+                                    .getParm(2));
+
+                    break;
+
+                case SAXEvent.CHARACTERS:
+
+                    char[] chars = (char[]) saxEvent.getParm(0);
+                    int start = ((Integer) saxEvent.getParm(1)).intValue();
+                    int end = ((Integer) saxEvent.getParm(2)).intValue();
+                    handler.characters(chars, start, end);
+
+                    break;
+
+                // replay to LexicalHandler
+                case SAXEvent.START_DTD:
+                    ((LexicalHandler) handler).startDTD((String) saxEvent
+                            .getParm(0), (String) saxEvent.getParm(1),
+                            (String) saxEvent.getParm(2));
+
+                    break;
+
+                case SAXEvent.END_DTD:
+                    ((LexicalHandler) handler).endDTD();
+
+                    break;
+
+                case SAXEvent.START_ENTITY:
+                    ((LexicalHandler) handler).startEntity((String) saxEvent
+                            .getParm(0));
+
+                    break;
+
+                case SAXEvent.END_ENTITY:
+                    ((LexicalHandler) handler).endEntity((String) saxEvent
+                            .getParm(0));
+
+                    break;
+
+                case SAXEvent.START_CDATA:
+                    ((LexicalHandler) handler).startCDATA();
+
+                    break;
+
+                case SAXEvent.END_CDATA:
+                    ((LexicalHandler) handler).endCDATA();
+
+                    break;
+
+                case SAXEvent.COMMENT:
+
+                    char[] cchars = (char[]) saxEvent.getParm(0);
+                    int cstart = ((Integer) saxEvent.getParm(1)).intValue();
+                    int cend = ((Integer) saxEvent.getParm(2)).intValue();
+                    ((LexicalHandler) handler).comment(cchars, cstart, cend);
+
+                    break;
+
+                // replay to DeclHandler
+                case SAXEvent.ELEMENT_DECL:
+                    ((DeclHandler) handler).elementDecl((String) saxEvent
+                            .getParm(0), (String) saxEvent.getParm(1));
+
+                    break;
+
+                case SAXEvent.ATTRIBUTE_DECL:
+                    ((DeclHandler) handler).attributeDecl((String) saxEvent
+                            .getParm(0), (String) saxEvent.getParm(1),
+                            (String) saxEvent.getParm(2), (String) saxEvent
+                                    .getParm(3), (String) saxEvent.getParm(4));
+
+                    break;
+
+                case SAXEvent.INTERNAL_ENTITY_DECL:
+                    ((DeclHandler) handler).internalEntityDecl(
+                            (String) saxEvent.getParm(0), (String) saxEvent
+                                    .getParm(1));
+
+                    break;
+
+                case SAXEvent.EXTERNAL_ENTITY_DECL:
+                    ((DeclHandler) handler).externalEntityDecl(
+                            (String) saxEvent.getParm(0), (String) saxEvent
+                                    .getParm(1), (String) saxEvent.getParm(2));
+
+                    break;
+
+                default:
+                    throw new SAXException("Unrecognized event: "
+                            + saxEvent.event);
+            }
+        }
+    }
+
+    // ContentHandler interface
+    // -------------------------------------------------------------------------
+    public void processingInstruction(String target, String data)
+            throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.PROCESSING_INSTRUCTION);
+        saxEvent.addParm(target);
+        saxEvent.addParm(data);
+        events.add(saxEvent);
+    }
+
+    public void startPrefixMapping(String prefix, String uri)
+            throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.START_PREFIX_MAPPING);
+        saxEvent.addParm(prefix);
+        saxEvent.addParm(uri);
+        events.add(saxEvent);
+    }
+
+    public void endPrefixMapping(String prefix) throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.END_PREFIX_MAPPING);
+        saxEvent.addParm(prefix);
+        events.add(saxEvent);
+    }
+
+    public void startDocument() throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.START_DOCUMENT);
+        events.add(saxEvent);
+    }
+
+    public void endDocument() throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.END_DOCUMENT);
+        events.add(saxEvent);
+    }
+
+    public void startElement(String namespaceURI, String localName,
+            String qualifiedName, Attributes attributes) throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.START_ELEMENT);
+        saxEvent.addParm(namespaceURI);
+        saxEvent.addParm(localName);
+        saxEvent.addParm(qualifiedName);
+
+        QName qName = null;
+        if (namespaceURI != null) {
+            qName = new QName(localName, Namespace.get(namespaceURI));
+        } else {
+            qName = new QName(localName);
+        }
+
+        if ((attributes != null) && (attributes.getLength() > 0)) {
+            List attParmList = new ArrayList(attributes.getLength());
+            String[] attParms = null;
+
+            for (int i = 0; i < attributes.getLength(); i++) {
+
+                String attLocalName = attributes.getLocalName(i);
+
+                if (attLocalName.startsWith(XMLNS)) {
+
+                    // if SAXWriter is writing a DOMDocument, namespace
+                    // decls are treated as attributes. record a start
+                    // prefix mapping event
+                    String prefix = null;
+                    if (attLocalName.length() > 5) {
+                        prefix = attLocalName.substring(6);
+                    } else {
+                        prefix = EMPTY_STRING;
+                    }
+
+                    SAXEvent prefixEvent = new SAXEvent(
+                            SAXEvent.START_PREFIX_MAPPING);
+                    prefixEvent.addParm(prefix);
+                    prefixEvent.addParm(attributes.getValue(i));
+                    events.add(prefixEvent);
+
+                    // 'register' the prefix so that we can generate
+                    // an end prefix mapping event within endElement
+                    List prefixes = (List) prefixMappings.get(qName);
+                    if (prefixes == null) {
+                        prefixes = new ArrayList();
+                        prefixMappings.put(qName, prefixes);
+                    }
+                    prefixes.add(prefix);
+
+                } else {
+
+                    attParms = new String[5];
+                    attParms[0] = attributes.getURI(i);
+                    attParms[1] = attLocalName;
+                    attParms[2] = attributes.getQName(i);
+                    attParms[3] = attributes.getType(i);
+                    attParms[4] = attributes.getValue(i);
+                    attParmList.add(attParms);
+
+                }
+
+            }
+
+            saxEvent.addParm(attParmList);
+        }
+
+        events.add(saxEvent);
+    }
+
+    public void endElement(String namespaceURI, String localName, String qName)
+            throws SAXException {
+
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.END_ELEMENT);
+        saxEvent.addParm(namespaceURI);
+        saxEvent.addParm(localName);
+        saxEvent.addParm(qName);
+        events.add(saxEvent);
+
+        // check to see if a we issued a start prefix mapping event
+        // for DOMDocument namespace decls
+
+        QName elementName = null;
+        if (namespaceURI != null) {
+            elementName = new QName(localName, Namespace.get(namespaceURI));
+        } else {
+            elementName = new QName(localName);
+        }
+
+        List prefixes = (List) prefixMappings.get(elementName);
+        if (prefixes != null) {
+            Iterator itr = prefixes.iterator();
+            while (itr.hasNext()) {
+                SAXEvent prefixEvent = 
+                        new SAXEvent(SAXEvent.END_PREFIX_MAPPING);
+                prefixEvent.addParm(itr.next());
+                events.add(prefixEvent);
+            }
+        }
+
+    }
+
+    public void characters(char[] ch, int start, int end) throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.CHARACTERS);
+        saxEvent.addParm(ch);
+        saxEvent.addParm(new Integer(start));
+        saxEvent.addParm(new Integer(end));
+        events.add(saxEvent);
+    }
+
+    // LexicalHandler interface
+    // -------------------------------------------------------------------------
+    public void startDTD(String name, String publicId, String systemId)
+            throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.START_DTD);
+        saxEvent.addParm(name);
+        saxEvent.addParm(publicId);
+        saxEvent.addParm(systemId);
+        events.add(saxEvent);
+    }
+
+    public void endDTD() throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.END_DTD);
+        events.add(saxEvent);
+    }
+
+    public void startEntity(String name) throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.START_ENTITY);
+        saxEvent.addParm(name);
+        events.add(saxEvent);
+    }
+
+    public void endEntity(String name) throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.END_ENTITY);
+        saxEvent.addParm(name);
+        events.add(saxEvent);
+    }
+
+    public void startCDATA() throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.START_CDATA);
+        events.add(saxEvent);
+    }
+
+    public void endCDATA() throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.END_CDATA);
+        events.add(saxEvent);
+    }
+
+    public void comment(char[] ch, int start, int end) throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.COMMENT);
+        saxEvent.addParm(ch);
+        saxEvent.addParm(new Integer(start));
+        saxEvent.addParm(new Integer(end));
+        events.add(saxEvent);
+    }
+
+    // DeclHandler interface
+    // -------------------------------------------------------------------------
+    public void elementDecl(String name, String model) throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.ELEMENT_DECL);
+        saxEvent.addParm(name);
+        saxEvent.addParm(model);
+        events.add(saxEvent);
+    }
+
+    public void attributeDecl(String eName, String aName, String type,
+            String valueDefault, String value) throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.ATTRIBUTE_DECL);
+        saxEvent.addParm(eName);
+        saxEvent.addParm(aName);
+        saxEvent.addParm(type);
+        saxEvent.addParm(valueDefault);
+        saxEvent.addParm(value);
+        events.add(saxEvent);
+    }
+
+    public void internalEntityDecl(String name, String value)
+            throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.INTERNAL_ENTITY_DECL);
+        saxEvent.addParm(name);
+        saxEvent.addParm(value);
+        events.add(saxEvent);
+    }
+
+    public void externalEntityDecl(String name, String publicId, String sysId)
+            throws SAXException {
+        SAXEvent saxEvent = new SAXEvent(SAXEvent.EXTERNAL_ENTITY_DECL);
+        saxEvent.addParm(name);
+        saxEvent.addParm(publicId);
+        saxEvent.addParm(sysId);
+        events.add(saxEvent);
+    }
+
+    public void writeExternal(ObjectOutput out) throws IOException {
+        if (events == null) {
+            out.writeByte(NULL);
+        } else {
+            out.writeByte(OBJECT);
+            out.writeObject(events);
+        }
+    }
+
+    public void readExternal(ObjectInput in) throws ClassNotFoundException,
+            IOException {
+        if (in.readByte() != NULL) {
+            events = (List) in.readObject();
+        }
+    }
+
+    // SAXEvent inner class
+    // -------------------------------------------------------------------------
+    static class SAXEvent implements Externalizable {
+        public static final long serialVersionUID = 1;
+
+        static final byte PROCESSING_INSTRUCTION = 1;
+
+        static final byte START_PREFIX_MAPPING = 2;
+
+        static final byte END_PREFIX_MAPPING = 3;
+
+        static final byte START_DOCUMENT = 4;
+
+        static final byte END_DOCUMENT = 5;
+
+        static final byte START_ELEMENT = 6;
+
+        static final byte END_ELEMENT = 7;
+
+        static final byte CHARACTERS = 8;
+
+        static final byte START_DTD = 9;
+
+        static final byte END_DTD = 10;
+
+        static final byte START_ENTITY = 11;
+
+        static final byte END_ENTITY = 12;
+
+        static final byte START_CDATA = 13;
+
+        static final byte END_CDATA = 14;
+
+        static final byte COMMENT = 15;
+
+        static final byte ELEMENT_DECL = 16;
+
+        static final byte ATTRIBUTE_DECL = 17;
+
+        static final byte INTERNAL_ENTITY_DECL = 18;
+
+        static final byte EXTERNAL_ENTITY_DECL = 19;
+
+        protected byte event;
+
+        protected List parms;
+
+        public SAXEvent() {
+        }
+
+        SAXEvent(byte event) {
+            this.event = event;
+        }
+
+        void addParm(Object parm) {
+            if (parms == null) {
+                parms = new ArrayList(3);
+            }
+
+            parms.add(parm);
+        }
+
+        Object getParm(int index) {
+            if ((parms != null) && (index < parms.size())) {
+                return parms.get(index);
+            } else {
+                return null;
+            }
+        }
+
+        public void writeExternal(ObjectOutput out) throws IOException {
+            out.writeByte(event);
+
+            if (parms == null) {
+                out.writeByte(NULL);
+            } else {
+                out.writeByte(OBJECT);
+                out.writeObject(parms);
+            }
+        }
+
+        public void readExternal(ObjectInput in) throws ClassNotFoundException,
+                IOException {
+            event = in.readByte();
+
+            if (in.readByte() != NULL) {
+                parms = (List) in.readObject();
+            }
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXHelper.java b/src/java/org/dom4j/io/SAXHelper.java
new file mode 100644
index 0000000..d083cf2
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXHelper.java
@@ -0,0 +1,195 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+/**
+ * <p>
+ * <code>SAXHelper</code> contains some helper methods for working with SAX
+ * and XMLReader objects.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.18 $
+ */
+class SAXHelper {
+    private static boolean loggedWarning = true;
+
+    protected SAXHelper() {
+    }
+
+    public static boolean setParserProperty(XMLReader reader,
+            String propertyName, Object value) {
+        try {
+            reader.setProperty(propertyName, value);
+
+            return true;
+        } catch (SAXNotSupportedException e) {
+            // ignore
+        } catch (SAXNotRecognizedException e) {
+            // ignore
+        }
+
+        return false;
+    }
+
+    public static boolean setParserFeature(XMLReader reader,
+            String featureName, boolean value) {
+        try {
+            reader.setFeature(featureName, value);
+
+            return true;
+        } catch (SAXNotSupportedException e) {
+            // ignore
+        } catch (SAXNotRecognizedException e) {
+            // ignore
+        }
+
+        return false;
+    }
+
+    /**
+     * Creats a default XMLReader via the org.xml.sax.driver system property or
+     * JAXP if the system property is not set.
+     * 
+     * @param validating
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public static XMLReader createXMLReader(boolean validating)
+            throws SAXException {
+        XMLReader reader = null;
+
+        if (reader == null) {
+            reader = createXMLReaderViaJAXP(validating, true);
+        }
+
+        if (reader == null) {
+            try {
+                reader = XMLReaderFactory.createXMLReader();
+            } catch (Exception e) {
+                if (isVerboseErrorReporting()) {
+                    // log all exceptions as warnings and carry
+                    // on as we have a default SAX parser we can use
+                    System.out.println("Warning: Caught exception attempting "
+                            + "to use SAX to load a SAX XMLReader ");
+                    System.out.println("Warning: Exception was: " + e);
+                    System.out
+                            .println("Warning: I will print the stack trace "
+                                    + "then carry on using the default "
+                                    + "SAX parser");
+                    e.printStackTrace();
+                }
+
+                throw new SAXException(e);
+            }
+        }
+
+        if (reader == null) {
+            throw new SAXException("Couldn't create SAX reader");
+        }
+
+        return reader;
+    }
+
+    /**
+     * This method attempts to use JAXP to locate the SAX2 XMLReader
+     * implementation. This method uses reflection to avoid being dependent
+     * directly on the JAXP classes.
+     * 
+     * @param validating
+     *            DOCUMENT ME!
+     * @param namespaceAware
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected static XMLReader createXMLReaderViaJAXP(boolean validating,
+            boolean namespaceAware) {
+        // try use JAXP to load the XMLReader...
+        try {
+            return JAXPHelper.createXMLReader(validating, namespaceAware);
+        } catch (Throwable e) {
+            if (!loggedWarning) {
+                loggedWarning = true;
+
+                if (isVerboseErrorReporting()) {
+                    // log all exceptions as warnings and carry
+                    // on as we have a default SAX parser we can use
+                    System.out.println("Warning: Caught exception attempting "
+                            + "to use JAXP to load a SAX XMLReader");
+                    System.out.println("Warning: Exception was: " + e);
+                    e.printStackTrace();
+                }
+            }
+        }
+
+        return null;
+    }
+
+    protected static boolean isVerboseErrorReporting() {
+        try {
+            String flag = System.getProperty("org.dom4j.verbose");
+
+            if ((flag != null) && flag.equalsIgnoreCase("true")) {
+                return true;
+            }
+        } catch (Exception e) {
+            // in case a security exception
+            // happens in an applet or similar JVM
+        }
+
+        return true;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXModifier.java b/src/java/org/dom4j/io/SAXModifier.java
new file mode 100644
index 0000000..3b8b165
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXModifier.java
@@ -0,0 +1,459 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.File;
+import java.io.InputStream;
+import java.io.Reader;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentFactory;
+
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+
+/**
+ * The SAXModifier reads, modifies and writes XML documents using SAX.
+ * 
+ * <p>
+ * Registered {@link ElementModifier}objects can provide modifications to (part
+ * of) the xml tree, while the document is still being processed. This makes it
+ * possible to change large xml documents without having them in memory.
+ * </p>
+ * 
+ * <p>
+ * The modified document is written when the {@link XMLWriter}is specified.
+ * </p>
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ * 
+ * @see org.dom4j.io.SAXReader
+ * @see org.dom4j.io.XMLWriter
+ */
+public class SAXModifier {
+    private XMLWriter xmlWriter;
+
+    private XMLReader xmlReader;
+
+    private boolean pruneElements;
+
+    private SAXModifyReader modifyReader;
+
+    private HashMap modifiers = new HashMap();
+
+    /**
+     * Creates a new modifier. <br>
+     * The XMLReader to parse the source will be created via the
+     * org.xml.sax.driver system property or JAXP if the system property is not
+     * set.
+     */
+    public SAXModifier() {
+    }
+
+    /**
+     * Creates a new modifier. <br>
+     * The XMLReader to parse the source will be created via the
+     * org.xml.sax.driver system property or JAXP if the system property is not
+     * set.
+     * 
+     * @param pruneElements
+     *            Set to true when the modified document must NOT be kept in
+     *            memory.
+     */
+    public SAXModifier(boolean pruneElements) {
+        this.pruneElements = pruneElements;
+    }
+
+    /**
+     * Creates a new modifier that will the specified {@link
+     * org.xml.sax.XMLReader} to parse the source.
+     * 
+     * @param xmlReader
+     *            The XMLReader to use
+     */
+    public SAXModifier(XMLReader xmlReader) {
+        this.xmlReader = xmlReader;
+    }
+
+    /**
+     * Creates a new modifier that will the specified {@link
+     * org.xml.sax.XMLReader} to parse the source.
+     * 
+     * @param xmlReader
+     *            The XMLReader to use
+     * @param pruneElements
+     *            Set to true when the modified document must NOT be kept in
+     *            memory.
+     */
+    public SAXModifier(XMLReader xmlReader, boolean pruneElements) {
+        this.xmlReader = xmlReader;
+    }
+
+    /**
+     * Reads a Document from the given {@link java.io.File}and writes it to the
+     * specified {@link XMLWriter}using SAX. Registered {@linkElementModifier}
+     * objects are invoked on the fly.
+     * 
+     * @param source
+     *            is the <code>File</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             DocumentException org.dom4j.DocumentException} if an error
+     *             occurs during parsing.
+     */
+    public Document modify(File source) throws DocumentException {
+        try {
+            return installModifyReader().read(source);
+        } catch (SAXModifyException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Reads a Document from the given {@link org.xml.sax.InputSource}and
+     * writes it to the specified {@link XMLWriter}using SAX. Registered
+     * {@link ElementModifier}objects are invoked on the fly.
+     * 
+     * @param source
+     *            is the <code>org.xml.sax.InputSource</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             DocumentException org.dom4j.DocumentException} if an error
+     *             occurs during parsing.
+     */
+    public Document modify(InputSource source) throws DocumentException {
+        try {
+            return installModifyReader().read(source);
+        } catch (SAXModifyException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Reads a Document from the given {@link java.io.InputStream}and writes it
+     * to the specified {@link XMLWriter}using SAX. Registered {@link
+     * ElementModifier} objects are invoked on the fly.
+     * 
+     * @param source
+     *            is the <code>java.io.InputStream</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             DocumentException org.dom4j.DocumentException} if an error
+     *             occurs during parsing.
+     */
+    public Document modify(InputStream source) throws DocumentException {
+        try {
+            return installModifyReader().read(source);
+        } catch (SAXModifyException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Reads a Document from the given {@link java.io.InputStream}and writes it
+     * to the specified {@link XMLWriter}using SAX. Registered {@link
+     * ElementModifier} objects are invoked on the fly.
+     * 
+     * @param source
+     *            is the <code>java.io.InputStream</code> to read from.
+     * @param systemId
+     *            DOCUMENT ME!
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             DocumentException org.dom4j.DocumentException} if an error
+     *             occurs during parsing.
+     */
+    public Document modify(InputStream source, String systemId)
+            throws DocumentException {
+        try {
+            return installModifyReader().read(source);
+        } catch (SAXModifyException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Reads a Document from the given {@link java.io.Reader}and writes it to
+     * the specified {@link XMLWriter}using SAX. Registered {@link
+     * ElementModifier} objects are invoked on the fly.
+     * 
+     * @param source
+     *            is the <code>java.io.Reader</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             DocumentException org.dom4j.DocumentException} if an error
+     *             occurs during parsing.
+     */
+    public Document modify(Reader source) throws DocumentException {
+        try {
+            return installModifyReader().read(source);
+        } catch (SAXModifyException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Reads a Document from the given {@link java.io.Reader}and writes it to
+     * the specified {@link XMLWriter}using SAX. Registered {@link
+     * ElementModifier} objects are invoked on the fly.
+     * 
+     * @param source
+     *            is the <code>java.io.Reader</code> to read from.
+     * @param systemId
+     *            DOCUMENT ME!
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             DocumentException org.dom4j.DocumentException} if an error
+     *             occurs during parsing.
+     */
+    public Document modify(Reader source, String systemId)
+            throws DocumentException {
+        try {
+            return installModifyReader().read(source);
+        } catch (SAXModifyException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Reads a Document from the given {@link java.net.URL}and writes it to the
+     * specified {@link XMLWriter}using SAX. Registered {@linkElementModifier}
+     * objects are invoked on the fly.
+     * 
+     * @param source
+     *            is the <code>java.net.URL</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             DocumentException org.dom4j.DocumentException} if an error
+     *             occurs during parsing.
+     */
+    public Document modify(URL source) throws DocumentException {
+        try {
+            return installModifyReader().read(source);
+        } catch (SAXModifyException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Reads a Document from the given URL or filename and writes it to the
+     * specified {@link XMLWriter}using SAX. Registered {@linkElementModifier}
+     * objects are invoked on the fly.
+     * 
+     * @param source
+     *            is the URL or filename to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             DocumentException org.dom4j.DocumentException} if an error
+     *             occurs during parsing.
+     */
+    public Document modify(String source) throws DocumentException {
+        try {
+            return installModifyReader().read(source);
+        } catch (SAXModifyException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Adds the {@link ElementModifier}to be called when the specified element
+     * path is encounted while parsing the source.
+     * 
+     * @param path
+     *            The element path to be handled
+     * @param modifier
+     *            The {@link ElementModifier}to be called by the event based
+     *            processor.
+     */
+    public void addModifier(String path, ElementModifier modifier) {
+        this.modifiers.put(path, modifier);
+    }
+
+    /**
+     * Removes all registered {@link ElementModifier}instances from the event
+     * based processor.
+     */
+    public void resetModifiers() {
+        this.modifiers.clear();
+        getSAXModifyReader().resetHandlers();
+    }
+
+    /**
+     * Removes the {@link ElementModifier}from the event based processor, for
+     * the specified element path.
+     * 
+     * @param path
+     *            The path to remove the {@link ElementModifier}for.
+     */
+    public void removeModifier(String path) {
+        this.modifiers.remove(path);
+        getSAXModifyReader().removeHandler(path);
+    }
+
+    /**
+     * Get the {@link org.dom4j.DocumentFactory}used to create the DOM4J
+     * document structure
+     * 
+     * @return <code>DocumentFactory</code> that will be used
+     */
+    public DocumentFactory getDocumentFactory() {
+        return getSAXModifyReader().getDocumentFactory();
+    }
+
+    /**
+     * Sets the {@link org.dom4j.DocumentFactory}used to create the DOM4J
+     * document tree.
+     * 
+     * @param factory
+     *            <code>DocumentFactory</code> to be used
+     */
+    public void setDocumentFactory(DocumentFactory factory) {
+        getSAXModifyReader().setDocumentFactory(factory);
+    }
+
+    /**
+     * Returns the current {@link XMLWriter}.
+     * 
+     * @return XMLWriter
+     */
+    public XMLWriter getXMLWriter() {
+        return this.xmlWriter;
+    }
+
+    /**
+     * Sets the {@link XMLWriter}used to write the modified document.
+     * 
+     * @param writer
+     *            The writer to use.
+     */
+    public void setXMLWriter(XMLWriter writer) {
+        this.xmlWriter = writer;
+    }
+
+    /**
+     * Returns true when xml elements are not kept in memory while parsing. The
+     * {@link org.dom4j.Document}returned by the modify methods will be null.
+     * 
+     * @return Returns the pruneElements.
+     */
+    public boolean isPruneElements() {
+        return pruneElements;
+    }
+
+    private SAXReader installModifyReader() throws DocumentException {
+        try {
+            SAXModifyReader reader = getSAXModifyReader();
+
+            if (isPruneElements()) {
+                modifyReader.setDispatchHandler(new PruningDispatchHandler());
+            }
+
+            reader.resetHandlers();
+
+            Iterator modifierIt = this.modifiers.entrySet().iterator();
+
+            while (modifierIt.hasNext()) {
+                Map.Entry entry = (Map.Entry) modifierIt.next();
+
+                SAXModifyElementHandler handler = new SAXModifyElementHandler(
+                        (ElementModifier) entry.getValue());
+                reader.addHandler((String) entry.getKey(), handler);
+            }
+
+            reader.setXMLWriter(getXMLWriter());
+            reader.setXMLReader(getXMLReader());
+
+            return reader;
+        } catch (SAXException ex) {
+            throw new DocumentException(ex.getMessage(), ex);
+        }
+    }
+
+    private XMLReader getXMLReader() throws SAXException {
+        if (this.xmlReader == null) {
+            xmlReader = SAXHelper.createXMLReader(false);
+        }
+
+        return this.xmlReader;
+    }
+
+    private SAXModifyReader getSAXModifyReader() {
+        if (modifyReader == null) {
+            modifyReader = new SAXModifyReader();
+        }
+
+        return modifyReader;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXModifyContentHandler.java b/src/java/org/dom4j/io/SAXModifyContentHandler.java
new file mode 100644
index 0000000..99d5235
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXModifyContentHandler.java
@@ -0,0 +1,287 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.IOException;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+
+/**
+ * This extension of the SAXContentHandler writes SAX events immediately to the
+ * provided XMLWriter, unless some {@link org.dom4.ElementHandler}is still
+ * handling the current Element.
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ * 
+ * @see org.dom4j.io.SAXContentHandler
+ */
+class SAXModifyContentHandler extends SAXContentHandler {
+    private XMLWriter xmlWriter;
+
+    public SAXModifyContentHandler() {
+    }
+
+    public SAXModifyContentHandler(DocumentFactory documentFactory) {
+        super(documentFactory);
+    }
+
+    public SAXModifyContentHandler(DocumentFactory documentFactory,
+            ElementHandler elementHandler) {
+        super(documentFactory, elementHandler);
+    }
+
+    public SAXModifyContentHandler(DocumentFactory documentFactory,
+            ElementHandler elementHandler, ElementStack elementStack) {
+        super(documentFactory, elementHandler, elementStack);
+    }
+
+    public void setXMLWriter(XMLWriter writer) {
+        this.xmlWriter = writer;
+    }
+
+    public void startCDATA() throws SAXException {
+        super.startCDATA();
+
+        if (!activeHandlers() && (xmlWriter != null)) {
+            xmlWriter.startCDATA();
+        }
+    }
+
+    public void startDTD(String name, String publicId, String systemId)
+            throws SAXException {
+        super.startDTD(name, publicId, systemId);
+
+        if (xmlWriter != null) {
+            xmlWriter.startDTD(name, publicId, systemId);
+        }
+    }
+
+    public void endDTD() throws org.xml.sax.SAXException {
+        super.endDTD();
+
+        if (xmlWriter != null) {
+            xmlWriter.endDTD();
+        }
+    }
+
+    public void comment(char[] characters, int parm2, int parm3)
+            throws SAXException {
+        super.comment(characters, parm2, parm3);
+
+        if (!activeHandlers() && (xmlWriter != null)) {
+            xmlWriter.comment(characters, parm2, parm3);
+        }
+    }
+
+    public void startEntity(String name) throws SAXException {
+        super.startEntity(name);
+
+        if (xmlWriter != null) {
+            xmlWriter.startEntity(name);
+        }
+    }
+
+    public void endCDATA() throws org.xml.sax.SAXException {
+        super.endCDATA();
+
+        if (!activeHandlers() && (xmlWriter != null)) {
+            xmlWriter.endCDATA();
+        }
+    }
+
+    public void endEntity(String name) throws SAXException {
+        super.endEntity(name);
+
+        if (xmlWriter != null) {
+            xmlWriter.endEntity(name);
+        }
+    }
+
+    public void unparsedEntityDecl(String name, String publicId,
+            String systemId, String notation) throws SAXException {
+        super.unparsedEntityDecl(name, publicId, systemId, notation);
+
+        if (!activeHandlers() && (xmlWriter != null)) {
+            xmlWriter.unparsedEntityDecl(name, publicId, systemId, notation);
+        }
+    }
+
+    public void notationDecl(String name, String publicId, String systemId)
+            throws SAXException {
+        super.notationDecl(name, publicId, systemId);
+
+        if (xmlWriter != null) {
+            xmlWriter.notationDecl(name, publicId, systemId);
+        }
+    }
+
+    public void startElement(String uri, String localName, String qName,
+            Attributes atts) throws SAXException {
+        super.startElement(uri, localName, qName, atts);
+
+        if (!activeHandlers() && (xmlWriter != null)) {
+            xmlWriter.startElement(uri, localName, qName, atts);
+        }
+    }
+
+    public void startDocument() throws SAXException {
+        super.startDocument();
+
+        if (xmlWriter != null) {
+            xmlWriter.startDocument();
+        }
+    }
+
+    public void ignorableWhitespace(char[] parm1, int parm2, int parm3)
+            throws SAXException {
+        super.ignorableWhitespace(parm1, parm2, parm3);
+
+        if (!activeHandlers() && (xmlWriter != null)) {
+            xmlWriter.ignorableWhitespace(parm1, parm2, parm3);
+        }
+    }
+
+    public void processingInstruction(String target, String data)
+            throws SAXException {
+        super.processingInstruction(target, data);
+
+        if (!activeHandlers() && (xmlWriter != null)) {
+            xmlWriter.processingInstruction(target, data);
+        }
+    }
+
+    public void setDocumentLocator(Locator locator) {
+        super.setDocumentLocator(locator);
+
+        if (xmlWriter != null) {
+            xmlWriter.setDocumentLocator(locator);
+        }
+    }
+
+    public void skippedEntity(String name) throws SAXException {
+        super.skippedEntity(name);
+
+        if (!activeHandlers() && (xmlWriter != null)) {
+            xmlWriter.skippedEntity(name);
+        }
+    }
+
+    public void endDocument() throws SAXException {
+        super.endDocument();
+
+        if (xmlWriter != null) {
+            xmlWriter.endDocument();
+        }
+    }
+
+    public void startPrefixMapping(String prefix, String uri)
+            throws SAXException {
+        super.startPrefixMapping(prefix, uri);
+
+        if (xmlWriter != null) {
+            xmlWriter.startPrefixMapping(prefix, uri);
+        }
+    }
+
+    public void endElement(String uri, String localName, String qName)
+            throws SAXException {
+        ElementHandler currentHandler = getElementStack().getDispatchHandler()
+                .getHandler(getElementStack().getPath());
+
+        super.endElement(uri, localName, qName);
+
+        if (!activeHandlers()) {
+            if (xmlWriter != null) {
+                if (currentHandler == null) {
+                    xmlWriter.endElement(uri, localName, qName);
+                } else if (currentHandler instanceof SAXModifyElementHandler) {
+                    SAXModifyElementHandler modifyHandler 
+                            = (SAXModifyElementHandler) currentHandler;
+                    Element modifiedElement = modifyHandler
+                            .getModifiedElement();
+
+                    try {
+                        xmlWriter.write(modifiedElement);
+                    } catch (IOException ex) {
+                        throw new SAXModifyException(ex);
+                    }
+                }
+            }
+        }
+    }
+
+    public void endPrefixMapping(String prefix) throws SAXException {
+        super.endPrefixMapping(prefix);
+
+        if (xmlWriter != null) {
+            xmlWriter.endPrefixMapping(prefix);
+        }
+    }
+
+    public void characters(char[] parm1, int parm2, int parm3)
+            throws SAXException {
+        super.characters(parm1, parm2, parm3);
+
+        if (!activeHandlers() && (xmlWriter != null)) {
+            xmlWriter.characters(parm1, parm2, parm3);
+        }
+    }
+
+    protected XMLWriter getXMLWriter() {
+        return this.xmlWriter;
+    }
+
+    private boolean activeHandlers() {
+        DispatchHandler handler = getElementStack().getDispatchHandler();
+
+        return handler.getActiveHandlerCount() > 0;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXModifyElementHandler.java b/src/java/org/dom4j/io/SAXModifyElementHandler.java
new file mode 100644
index 0000000..d9f0dee
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXModifyElementHandler.java
@@ -0,0 +1,144 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+import org.dom4j.ElementPath;
+
+/**
+ * This {@link org.dom4j.ElementHandler}is used to trigger {@link
+ * ElementModifier} objects in order to modify (parts of) the Document on the
+ * fly.
+ * 
+ * <p>
+ * When an element is completely parsed, a copy is handed to the associated (if
+ * any) {@link ElementModifier}that on his turn returns the modified element
+ * that has to come in the tree.
+ * </p>
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+class SAXModifyElementHandler implements ElementHandler {
+    private ElementModifier elemModifier;
+
+    private Element modifiedElement;
+
+    public SAXModifyElementHandler(ElementModifier elemModifier) {
+        this.elemModifier = elemModifier;
+    }
+
+    public void onStart(ElementPath elementPath) {
+        this.modifiedElement = elementPath.getCurrent();
+    }
+
+    public void onEnd(ElementPath elementPath) {
+        try {
+            Element origElement = elementPath.getCurrent();
+            Element currentParent = origElement.getParent();
+
+            if (currentParent != null) {
+                // Clone sets parent + document to null
+                Element clonedElem = (Element) origElement.clone();
+
+                // Ask for modified element
+                modifiedElement = elemModifier.modifyElement(clonedElem);
+
+                if (modifiedElement != null) {
+                    // Restore parent + document
+                    modifiedElement.setParent(origElement.getParent());
+                    modifiedElement.setDocument(origElement.getDocument());
+
+                    // Replace old with new element in parent
+                    int contentIndex = currentParent.indexOf(origElement);
+                    currentParent.content().set(contentIndex, modifiedElement);
+                }
+
+                // Remove the old element
+                origElement.detach();
+            } else {
+                if (origElement.isRootElement()) {
+                    // Clone sets parent + document to null
+                    Element clonedElem = (Element) origElement.clone();
+
+                    // Ask for modified element
+                    modifiedElement = elemModifier.modifyElement(clonedElem);
+
+                    if (modifiedElement != null) {
+                        // Restore parent + document
+                        modifiedElement.setDocument(origElement.getDocument());
+
+                        // Replace old with new element in parent
+                        Document doc = origElement.getDocument();
+                        doc.setRootElement(modifiedElement);
+                    }
+
+                    // Remove the old element
+                    origElement.detach();
+                }
+            }
+
+            // Put the new element on the ElementStack, it might get pruned by
+            // the PruningDispatchHandler
+            if (elementPath instanceof ElementStack) {
+                ElementStack elementStack = ((ElementStack) elementPath);
+                elementStack.popElement();
+                elementStack.pushElement(modifiedElement);
+            }
+        } catch (Exception ex) {
+            throw new SAXModifyException(ex);
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return Returns the modified Element.
+     */
+    protected Element getModifiedElement() {
+        return modifiedElement;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXModifyException.java b/src/java/org/dom4j/io/SAXModifyException.java
new file mode 100644
index 0000000..0f0b5d9
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXModifyException.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+/**
+ * Exception internally thrown by the SAX Modification classes. This is a
+ * RuntimeException since the {@link org.dom4j.ElementHandler}methods do not
+ * throw Exceptions.
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+class SAXModifyException extends RuntimeException {
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param cause
+     *            The causing {@link java.lang.Throwable}
+     */
+    protected SAXModifyException(Throwable cause) {
+        super(cause);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXModifyReader.java b/src/java/org/dom4j/io/SAXModifyReader.java
new file mode 100644
index 0000000..cb60a22
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXModifyReader.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import org.dom4j.DocumentFactory;
+
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+
+/**
+ * The SAXModifier parses, updates and writes an XML document. <br>
+ * The input that is parsed is directly written to the specified output, unless
+ * the current xml element has an associated ElementHandler. <br>
+ * The {@link org.dom4j.ElementHandler}objects make it possible to update the
+ * document on the fly, without having read tje complete document.
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ * 
+ * @see org.dom4j.io.SAXReader
+ * @see org.dom4j.io.XMLWriters
+ */
+class SAXModifyReader extends SAXReader {
+    private XMLWriter xmlWriter;
+
+    private boolean pruneElements;
+
+    public SAXModifyReader() {
+    }
+
+    public SAXModifyReader(boolean validating) {
+        super(validating);
+    }
+
+    public SAXModifyReader(DocumentFactory factory) {
+        super(factory);
+    }
+
+    public SAXModifyReader(DocumentFactory factory, boolean validating) {
+        super(factory, validating);
+    }
+
+    public SAXModifyReader(XMLReader xmlReader) {
+        super(xmlReader);
+    }
+
+    public SAXModifyReader(XMLReader xmlReader, boolean validating) {
+        super(xmlReader, validating);
+    }
+
+    public SAXModifyReader(String xmlReaderClassName) throws SAXException {
+        super(xmlReaderClassName);
+    }
+
+    public SAXModifyReader(String xmlReaderClassName, boolean validating)
+            throws SAXException {
+        super(xmlReaderClassName, validating);
+    }
+
+    public void setXMLWriter(XMLWriter writer) {
+        this.xmlWriter = writer;
+    }
+
+    public boolean isPruneElements() {
+        return pruneElements;
+    }
+
+    public void setPruneElements(boolean pruneElements) {
+        this.pruneElements = pruneElements;
+    }
+
+    protected SAXContentHandler createContentHandler(XMLReader reader) {
+        SAXModifyContentHandler handler = new SAXModifyContentHandler(
+                getDocumentFactory(), getDispatchHandler());
+
+        handler.setXMLWriter(xmlWriter);
+
+        return handler;
+    }
+
+    protected XMLWriter getXMLWriter() {
+        return this.xmlWriter;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXReader.java b/src/java/org/dom4j/io/SAXReader.java
new file mode 100644
index 0000000..59f7a27
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXReader.java
@@ -0,0 +1,1042 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.io.Serializable;
+import java.net.URL;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentFactory;
+import org.dom4j.ElementHandler;
+
+import org.xml.sax.EntityResolver;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.XMLFilter;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.DefaultHandler;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+/**
+ * <p>
+ * <code>SAXReader</code> creates a DOM4J tree from SAX parsing events.
+ * </p>
+ * 
+ * <p>
+ * The actual SAX parser that is used by this class is configurable so you can
+ * use your favourite SAX parser if you wish. DOM4J comes configured with its
+ * own SAX parser so you do not need to worry about configuring the SAX parser.
+ * </p>
+ * 
+ * <p>
+ * To explicitly configure the SAX parser that is used via Java code you can use
+ * a constructor or use the {@link #setXMLReader(XMLReader)}or {@link
+ * #setXMLReaderClassName(String)} methods.
+ * </p>
+ * 
+ * <p>
+ * If the parser is not specified explicitly then the standard SAX policy of
+ * using the <code>org.xml.sax.driver</code> system property is used to
+ * determine the implementation class of {@link XMLReader}.
+ * </p>
+ * 
+ * <p>
+ * If the <code>org.xml.sax.driver</code> system property is not defined then
+ * JAXP is used via reflection (so that DOM4J is not explicitly dependent on the
+ * JAXP classes) to load the JAXP configured SAXParser. If there is any error
+ * creating a JAXP SAXParser an informational message is output and then the
+ * default (Aelfred) SAX parser is used instead.
+ * </p>
+ * 
+ * <p>
+ * If you are trying to use JAXP to explicitly set your SAX parser and are
+ * experiencing problems, you can turn on verbose error reporting by defining
+ * the system property <code>org.dom4j.verbose</code> to be "true" which will
+ * output a more detailed description of why JAXP could not find a SAX parser
+ * </p>
+ * 
+ * <p>
+ * For more information on JAXP please go to <a
+ * href="http://java.sun.com/xml/">Sun's Java & XML site </a>
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.58 $
+ */
+public class SAXReader {
+    private static final String SAX_STRING_INTERNING = 
+            "http://xml.org/sax/features/string-interning";
+    private static final String SAX_NAMESPACE_PREFIXES = 
+            "http://xml.org/sax/features/namespace-prefixes";
+    private static final String SAX_NAMESPACES = 
+            "http://xml.org/sax/features/namespaces";
+    private static final String SAX_DECL_HANDLER = 
+            "http://xml.org/sax/properties/declaration-handler";
+    private static final String SAX_LEXICAL_HANDLER = 
+            "http://xml.org/sax/properties/lexical-handler";
+    private static final String SAX_LEXICALHANDLER = 
+            "http://xml.org/sax/handlers/LexicalHandler";
+
+    /** <code>DocumentFactory</code> used to create new document objects */
+    private DocumentFactory factory;
+
+    /** <code>XMLReader</code> used to parse the SAX events */
+    private XMLReader xmlReader;
+
+    /** Whether validation should occur */
+    private boolean validating;
+
+    /** DispatchHandler to call when each <code>Element</code> is encountered */
+    private DispatchHandler dispatchHandler;
+
+    /** ErrorHandler class to use */
+    private ErrorHandler errorHandler;
+
+    /** The entity resolver */
+    private EntityResolver entityResolver;
+
+    /** Should element & attribute names and namespace URIs be interned? */
+    private boolean stringInternEnabled = true;
+
+    /** Should internal DTD declarations be expanded into a List in the DTD */
+    private boolean includeInternalDTDDeclarations = false;
+
+    /** Should external DTD declarations be expanded into a List in the DTD */
+    private boolean includeExternalDTDDeclarations = false;
+
+    /** Whether adjacent text nodes should be merged */
+    private boolean mergeAdjacentText = false;
+
+    /** Holds value of property stripWhitespaceText. */
+    private boolean stripWhitespaceText = false;
+
+    /** Should we ignore comments */
+    private boolean ignoreComments = false;
+
+    /** Encoding of InputSource - null means system default encoding */
+    private String encoding = null;
+
+    // private boolean includeExternalGeneralEntities = false;
+    // private boolean includeExternalParameterEntities = false;
+
+    /** The SAX filter used to filter SAX events */
+    private XMLFilter xmlFilter;
+
+    public SAXReader() {
+    }
+
+    public SAXReader(boolean validating) {
+        this.validating = validating;
+    }
+
+    public SAXReader(DocumentFactory factory) {
+        this.factory = factory;
+    }
+
+    public SAXReader(DocumentFactory factory, boolean validating) {
+        this.factory = factory;
+        this.validating = validating;
+    }
+
+    public SAXReader(XMLReader xmlReader) {
+        this.xmlReader = xmlReader;
+    }
+
+    public SAXReader(XMLReader xmlReader, boolean validating) {
+        this.xmlReader = xmlReader;
+        this.validating = validating;
+    }
+
+    public SAXReader(String xmlReaderClassName) throws SAXException {
+        if (xmlReaderClassName != null) {
+            this.xmlReader = XMLReaderFactory
+                    .createXMLReader(xmlReaderClassName);
+        }
+    }
+
+    public SAXReader(String xmlReaderClassName, boolean validating)
+            throws SAXException {
+        if (xmlReaderClassName != null) {
+            this.xmlReader = XMLReaderFactory
+                    .createXMLReader(xmlReaderClassName);
+        }
+
+        this.validating = validating;
+    }
+
+    /**
+     * Allows a SAX property to be set on the underlying SAX parser. This can be
+     * useful to set parser-specific properties such as the location of schema
+     * or DTD resources. Though use this method with caution as it has the
+     * possibility of breaking the standard behaviour. An alternative to calling
+     * this method is to correctly configure an XMLReader object instance and
+     * call the {@link #setXMLReader(XMLReader)}method
+     * 
+     * @param name
+     *            is the SAX property name
+     * @param value
+     *            is the value of the SAX property
+     * 
+     * @throws SAXException
+     *             if the XMLReader could not be created or the property could
+     *             not be changed.
+     */
+    public void setProperty(String name, Object value) throws SAXException {
+        getXMLReader().setProperty(name, value);
+    }
+
+    /**
+     * Sets a SAX feature on the underlying SAX parser. This can be useful to
+     * set parser-specific features. Though use this method with caution as it
+     * has the possibility of breaking the standard behaviour. An alternative to
+     * calling this method is to correctly configure an XMLReader object
+     * instance and call the {@link #setXMLReader(XMLReader)}method
+     * 
+     * @param name
+     *            is the SAX feature name
+     * @param value
+     *            is the value of the SAX feature
+     * 
+     * @throws SAXException
+     *             if the XMLReader could not be created or the feature could
+     *             not be changed.
+     */
+    public void setFeature(String name, boolean value) throws SAXException {
+        getXMLReader().setFeature(name, value);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>File</code>
+     * </p>
+     * 
+     * @param file
+     *            is the <code>File</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     */
+    public Document read(File file) throws DocumentException {
+        try {
+            /*
+             * We cannot convert the file to an URL because if the filename
+             * contains '#' characters, there will be problems with the URL in
+             * the InputSource (because a URL like
+             * http://myhost.com/index#anchor is treated the same as
+             * http://myhost.com/index) Thanks to Christian Oetterli
+             */
+            InputSource source = new InputSource(new FileInputStream(file));
+            if (this.encoding != null) {
+                source.setEncoding(this.encoding);
+            }
+            String path = file.getAbsolutePath();
+
+            if (path != null) {
+                // Code taken from Ant FileUtils
+                StringBuffer sb = new StringBuffer("file://");
+
+                // add an extra slash for filesystems with drive-specifiers
+                if (!path.startsWith(File.separator)) {
+                    sb.append("/");
+                }
+
+                path = path.replace('\\', '/');
+                sb.append(path);
+
+                source.setSystemId(sb.toString());
+            }
+
+            return read(source);
+        } catch (FileNotFoundException e) {
+            throw new DocumentException(e.getMessage(), e);
+        }
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>URL</code> using SAX
+     * </p>
+     * 
+     * @param url
+     *            <code>URL</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     */
+    public Document read(URL url) throws DocumentException {
+        String systemID = url.toExternalForm();
+
+        InputSource source = new InputSource(systemID);
+        if (this.encoding != null) {
+            source.setEncoding(this.encoding);
+        }
+
+        return read(source);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given URL or filename using SAX.
+     * </p>
+     * 
+     * <p>
+     * If the systemId contains a <code>':'</code> character then it is
+     * assumed to be a URL otherwise its assumed to be a file name. If you want
+     * finer grained control over this mechansim then please explicitly pass in
+     * either a {@link URL}or a {@link File}instance instead of a {@link
+     * String} to denote the source of the document.
+     * </p>
+     * 
+     * @param systemId
+     *            is a URL for a document or a file name.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     */
+    public Document read(String systemId) throws DocumentException {
+        InputSource source = new InputSource(systemId);
+        if (this.encoding != null) {
+            source.setEncoding(this.encoding);
+        }
+
+        return read(source);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given stream using SAX
+     * </p>
+     * 
+     * @param in
+     *            <code>InputStream</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     */
+    public Document read(InputStream in) throws DocumentException {
+        InputSource source = new InputSource(in);
+        if (this.encoding != null) {
+            source.setEncoding(this.encoding);
+        }
+
+        return read(source);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>Reader</code> using SAX
+     * </p>
+     * 
+     * @param reader
+     *            is the reader for the input
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     */
+    public Document read(Reader reader) throws DocumentException {
+        InputSource source = new InputSource(reader);
+        if (this.encoding != null) {
+            source.setEncoding(this.encoding);
+        }
+
+        return read(source);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given stream using SAX
+     * </p>
+     * 
+     * @param in
+     *            <code>InputStream</code> to read from.
+     * @param systemId
+     *            is the URI for the input
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     */
+    public Document read(InputStream in, String systemId)
+            throws DocumentException {
+        InputSource source = new InputSource(in);
+        source.setSystemId(systemId);
+        if (this.encoding != null) {
+            source.setEncoding(this.encoding);
+        }
+
+        return read(source);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>Reader</code> using SAX
+     * </p>
+     * 
+     * @param reader
+     *            is the reader for the input
+     * @param systemId
+     *            is the URI for the input
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     */
+    public Document read(Reader reader, String systemId)
+            throws DocumentException {
+        InputSource source = new InputSource(reader);
+        source.setSystemId(systemId);
+        if (this.encoding != null) {
+            source.setEncoding(this.encoding);
+        }
+
+        return read(source);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>InputSource</code> using SAX
+     * </p>
+     * 
+     * @param in
+     *            <code>InputSource</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     */
+    public Document read(InputSource in) throws DocumentException {
+        try {
+            XMLReader reader = getXMLReader();
+
+            reader = installXMLFilter(reader);
+
+            EntityResolver thatEntityResolver = this.entityResolver;
+
+            if (thatEntityResolver == null) {
+                thatEntityResolver = createDefaultEntityResolver(in
+                        .getSystemId());
+                this.entityResolver = thatEntityResolver;
+            }
+
+            reader.setEntityResolver(thatEntityResolver);
+
+            SAXContentHandler contentHandler = createContentHandler(reader);
+            contentHandler.setEntityResolver(thatEntityResolver);
+            contentHandler.setInputSource(in);
+
+            boolean internal = isIncludeInternalDTDDeclarations();
+            boolean external = isIncludeExternalDTDDeclarations();
+
+            contentHandler.setIncludeInternalDTDDeclarations(internal);
+            contentHandler.setIncludeExternalDTDDeclarations(external);
+            contentHandler.setMergeAdjacentText(isMergeAdjacentText());
+            contentHandler.setStripWhitespaceText(isStripWhitespaceText());
+            contentHandler.setIgnoreComments(isIgnoreComments());
+            reader.setContentHandler(contentHandler);
+
+            configureReader(reader, contentHandler);
+
+            reader.parse(in);
+
+            return contentHandler.getDocument();
+        } catch (Exception e) {
+            if (e instanceof SAXParseException) {
+                // e.printStackTrace();
+                SAXParseException parseException = (SAXParseException) e;
+                String systemId = parseException.getSystemId();
+
+                if (systemId == null) {
+                    systemId = "";
+                }
+
+                String message = "Error on line "
+                        + parseException.getLineNumber() + " of document "
+                        + systemId + " : " + parseException.getMessage();
+
+                throw new DocumentException(message, e);
+            } else {
+                throw new DocumentException(e.getMessage(), e);
+            }
+        }
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the validation mode, true if validating will be done otherwise
+     *         false.
+     */
+    public boolean isValidating() {
+        return validating;
+    }
+
+    /**
+     * Sets the validation mode.
+     * 
+     * @param validation
+     *            indicates whether or not validation should occur.
+     */
+    public void setValidation(boolean validation) {
+        this.validating = validation;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return whether internal DTD declarations should be expanded into the
+     *         DocumentType object or not.
+     */
+    public boolean isIncludeInternalDTDDeclarations() {
+        return includeInternalDTDDeclarations;
+    }
+
+    /**
+     * Sets whether internal DTD declarations should be expanded into the
+     * DocumentType object or not.
+     * 
+     * @param include
+     *            whether or not DTD declarations should be expanded and
+     *            included into the DocumentType object.
+     */
+    public void setIncludeInternalDTDDeclarations(boolean include) {
+        this.includeInternalDTDDeclarations = include;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return whether external DTD declarations should be expanded into the
+     *         DocumentType object or not.
+     */
+    public boolean isIncludeExternalDTDDeclarations() {
+        return includeExternalDTDDeclarations;
+    }
+
+    /**
+     * Sets whether DTD external declarations should be expanded into the
+     * DocumentType object or not.
+     * 
+     * @param include
+     *            whether or not DTD declarations should be expanded and
+     *            included into the DocumentType object.
+     */
+    public void setIncludeExternalDTDDeclarations(boolean include) {
+        this.includeExternalDTDDeclarations = include;
+    }
+
+    /**
+     * Sets whether String interning is enabled or disabled for element &
+     * attribute names and namespace URIs. This proprety is enabled by default.
+     * 
+     * @return DOCUMENT ME!
+     */
+    public boolean isStringInternEnabled() {
+        return stringInternEnabled;
+    }
+
+    /**
+     * Sets whether String interning is enabled or disabled for element &
+     * attribute names and namespace URIs
+     * 
+     * @param stringInternEnabled
+     *            DOCUMENT ME!
+     */
+    public void setStringInternEnabled(boolean stringInternEnabled) {
+        this.stringInternEnabled = stringInternEnabled;
+    }
+
+    /**
+     * Returns whether adjacent text nodes should be merged together.
+     * 
+     * @return Value of property mergeAdjacentText.
+     */
+    public boolean isMergeAdjacentText() {
+        return mergeAdjacentText;
+    }
+
+    /**
+     * Sets whether or not adjacent text nodes should be merged together when
+     * parsing.
+     * 
+     * @param mergeAdjacentText
+     *            New value of property mergeAdjacentText.
+     */
+    public void setMergeAdjacentText(boolean mergeAdjacentText) {
+        this.mergeAdjacentText = mergeAdjacentText;
+    }
+
+    /**
+     * Sets whether whitespace between element start and end tags should be
+     * ignored
+     * 
+     * @return Value of property stripWhitespaceText.
+     */
+    public boolean isStripWhitespaceText() {
+        return stripWhitespaceText;
+    }
+
+    /**
+     * Sets whether whitespace between element start and end tags should be
+     * ignored.
+     * 
+     * @param stripWhitespaceText
+     *            New value of property stripWhitespaceText.
+     */
+    public void setStripWhitespaceText(boolean stripWhitespaceText) {
+        this.stripWhitespaceText = stripWhitespaceText;
+    }
+
+    /**
+     * Returns whether we should ignore comments or not.
+     * 
+     * @return boolean
+     */
+    public boolean isIgnoreComments() {
+        return ignoreComments;
+    }
+
+    /**
+     * Sets whether we should ignore comments or not.
+     * 
+     * @param ignoreComments
+     *            whether we should ignore comments or not.
+     */
+    public void setIgnoreComments(boolean ignoreComments) {
+        this.ignoreComments = ignoreComments;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>DocumentFactory</code> used to create document
+     *         objects
+     */
+    public DocumentFactory getDocumentFactory() {
+        if (factory == null) {
+            factory = DocumentFactory.getInstance();
+        }
+
+        return factory;
+    }
+
+    /**
+     * <p>
+     * This sets the <code>DocumentFactory</code> used to create new
+     * documents. This method allows the building of custom DOM4J tree objects
+     * to be implemented easily using a custom derivation of
+     * {@link DocumentFactory}
+     * </p>
+     * 
+     * @param documentFactory
+     *            <code>DocumentFactory</code> used to create DOM4J objects
+     */
+    public void setDocumentFactory(DocumentFactory documentFactory) {
+        this.factory = documentFactory;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>ErrorHandler</code> used by SAX
+     */
+    public ErrorHandler getErrorHandler() {
+        return errorHandler;
+    }
+
+    /**
+     * Sets the <code>ErrorHandler</code> used by the SAX
+     * <code>XMLReader</code>.
+     * 
+     * @param errorHandler
+     *            is the <code>ErrorHandler</code> used by SAX
+     */
+    public void setErrorHandler(ErrorHandler errorHandler) {
+        this.errorHandler = errorHandler;
+    }
+
+    /**
+     * Returns the current entity resolver used to resolve entities
+     * 
+     * @return DOCUMENT ME!
+     */
+    public EntityResolver getEntityResolver() {
+        return entityResolver;
+    }
+
+    /**
+     * Sets the entity resolver used to resolve entities.
+     * 
+     * @param entityResolver
+     *            DOCUMENT ME!
+     */
+    public void setEntityResolver(EntityResolver entityResolver) {
+        this.entityResolver = entityResolver;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>XMLReader</code> used to parse SAX events
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public XMLReader getXMLReader() throws SAXException {
+        if (xmlReader == null) {
+            xmlReader = createXMLReader();
+        }
+
+        return xmlReader;
+    }
+
+    /**
+     * Sets the <code>XMLReader</code> used to parse SAX events
+     * 
+     * @param reader
+     *            is the <code>XMLReader</code> to parse SAX events
+     */
+    public void setXMLReader(XMLReader reader) {
+        this.xmlReader = reader;
+    }
+
+    /**
+     * Returns encoding used for InputSource (null means system default
+     * encoding)
+     * 
+     * @return encoding used for InputSource
+     * 
+     */
+    public String getEncoding() {
+        return encoding;
+    }
+
+    /**
+     * Sets encoding used for InputSource (null means system default encoding)
+     * 
+     * @param encoding
+     *            is encoding used for InputSource
+     */
+    public void setEncoding(String encoding) {
+        this.encoding = encoding;
+    }
+
+    /**
+     * Sets the class name of the <code>XMLReader</code> to be used to parse
+     * SAX events.
+     * 
+     * @param xmlReaderClassName
+     *            is the class name of the <code>XMLReader</code> to parse SAX
+     *            events
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public void setXMLReaderClassName(String xmlReaderClassName)
+            throws SAXException {
+        setXMLReader(XMLReaderFactory.createXMLReader(xmlReaderClassName));
+    }
+
+    /**
+     * Adds the <code>ElementHandler</code> to be called when the specified
+     * path is encounted.
+     * 
+     * @param path
+     *            is the path to be handled
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    public void addHandler(String path, ElementHandler handler) {
+        getDispatchHandler().addHandler(path, handler);
+    }
+
+    /**
+     * Removes the <code>ElementHandler</code> from the event based processor,
+     * for the specified path.
+     * 
+     * @param path
+     *            is the path to remove the <code>ElementHandler</code> for.
+     */
+    public void removeHandler(String path) {
+        getDispatchHandler().removeHandler(path);
+    }
+
+    /**
+     * When multiple <code>ElementHandler</code> instances have been
+     * registered, this will set a default <code>ElementHandler</code> to be
+     * called for any path which does <b>NOT </b> have a handler registered.
+     * 
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    public void setDefaultHandler(ElementHandler handler) {
+        getDispatchHandler().setDefaultHandler(handler);
+    }
+
+    /**
+     * This method clears out all the existing handlers and default handler
+     * setting things back as if no handler existed. Useful when reusing an
+     * object instance.
+     */
+    public void resetHandlers() {
+        getDispatchHandler().resetHandlers();
+    }
+
+    /**
+     * Returns the SAX filter being used to filter SAX events.
+     * 
+     * @return the SAX filter being used or null if no SAX filter is installed
+     */
+    public XMLFilter getXMLFilter() {
+        return xmlFilter;
+    }
+
+    /**
+     * Sets the SAX filter to be used when filtering SAX events
+     * 
+     * @param filter
+     *            is the SAX filter to use or null to disable filtering
+     */
+    public void setXMLFilter(XMLFilter filter) {
+        this.xmlFilter = filter;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Installs any XMLFilter objects required to allow the SAX event stream to
+     * be filtered and preprocessed before it gets to dom4j.
+     * 
+     * @param reader
+     *            DOCUMENT ME!
+     * 
+     * @return the new XMLFilter if applicable or the original XMLReader if no
+     *         filter is being used.
+     */
+    protected XMLReader installXMLFilter(XMLReader reader) {
+        XMLFilter filter = getXMLFilter();
+
+        if (filter != null) {
+            // find the root XMLFilter
+            XMLFilter root = filter;
+
+            while (true) {
+                XMLReader parent = root.getParent();
+
+                if (parent instanceof XMLFilter) {
+                    root = (XMLFilter) parent;
+                } else {
+                    break;
+                }
+            }
+
+            root.setParent(reader);
+
+            return filter;
+        }
+
+        return reader;
+    }
+
+    protected DispatchHandler getDispatchHandler() {
+        if (dispatchHandler == null) {
+            dispatchHandler = new DispatchHandler();
+        }
+
+        return dispatchHandler;
+    }
+
+    protected void setDispatchHandler(DispatchHandler dispatchHandler) {
+        this.dispatchHandler = dispatchHandler;
+    }
+
+    /**
+     * Factory Method to allow alternate methods of creating and configuring
+     * XMLReader objects
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    protected XMLReader createXMLReader() throws SAXException {
+        return SAXHelper.createXMLReader(isValidating());
+    }
+
+    /**
+     * Configures the XMLReader before use
+     * 
+     * @param reader
+     *            DOCUMENT ME!
+     * @param handler
+     *            DOCUMENT ME!
+     * 
+     * @throws DocumentException
+     *             DOCUMENT ME!
+     */
+    protected void configureReader(XMLReader reader, DefaultHandler handler)
+            throws DocumentException {
+        // configure lexical handling
+        SAXHelper.setParserProperty(reader, SAX_LEXICALHANDLER, handler);
+
+        // try alternate property just in case
+        SAXHelper.setParserProperty(reader, SAX_LEXICAL_HANDLER, handler);
+
+        // register the DeclHandler
+        if (includeInternalDTDDeclarations || includeExternalDTDDeclarations) {
+            SAXHelper.setParserProperty(reader, SAX_DECL_HANDLER, handler);
+        }
+
+        // configure namespace support
+        SAXHelper.setParserFeature(reader, SAX_NAMESPACES, true);
+
+        SAXHelper.setParserFeature(reader, SAX_NAMESPACE_PREFIXES, false);
+
+        // string interning
+        SAXHelper.setParserFeature(reader, SAX_STRING_INTERNING,
+                isStringInternEnabled());
+
+        // external entites
+        /*
+         * SAXHelper.setParserFeature( reader,
+         * "http://xml.org/sax/properties/external-general-entities",
+         * includeExternalGeneralEntities ); SAXHelper.setParserFeature( reader,
+         * "http://xml.org/sax/properties/external-parameter-entities",
+         * includeExternalParameterEntities );
+         */
+        // use Locator2 if possible
+        SAXHelper.setParserFeature(reader,
+                "http://xml.org/sax/features/use-locator2", true);
+
+        try {
+            // configure validation support
+            reader.setFeature("http://xml.org/sax/features/validation",
+                    isValidating());
+
+            if (errorHandler != null) {
+                reader.setErrorHandler(errorHandler);
+            } else {
+                reader.setErrorHandler(handler);
+            }
+        } catch (Exception e) {
+            if (isValidating()) {
+                throw new DocumentException("Validation not supported for"
+                        + " XMLReader: " + reader, e);
+            }
+        }
+    }
+
+    /**
+     * Factory Method to allow user derived SAXContentHandler objects to be used
+     * 
+     * @param reader
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected SAXContentHandler createContentHandler(XMLReader reader) {
+        return new SAXContentHandler(getDocumentFactory(), dispatchHandler);
+    }
+
+    protected EntityResolver createDefaultEntityResolver(String systemId) {
+        String prefix = null;
+
+        if ((systemId != null) && (systemId.length() > 0)) {
+            int idx = systemId.lastIndexOf('/');
+
+            if (idx > 0) {
+                prefix = systemId.substring(0, idx + 1);
+            }
+        }
+
+        return new SAXEntityResolver(prefix);
+    }
+
+    protected static class SAXEntityResolver implements EntityResolver,
+            Serializable {
+        protected String uriPrefix;
+
+        public SAXEntityResolver(String uriPrefix) {
+            this.uriPrefix = uriPrefix;
+        }
+
+        public InputSource resolveEntity(String publicId, String systemId) {
+            // try create a relative URI reader...
+            if ((systemId != null) && (systemId.length() > 0)) {
+                if ((uriPrefix != null) && (systemId.indexOf(':') <= 0)) {
+                    systemId = uriPrefix + systemId;
+                }
+            }
+
+            return new InputSource(systemId);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXValidator.java b/src/java/org/dom4j/io/SAXValidator.java
new file mode 100644
index 0000000..d530c21
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXValidator.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.IOException;
+
+import org.dom4j.Document;
+
+import org.xml.sax.ContentHandler;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ * <p>
+ * <code>SAXValidator</code> validates an XML document by writing the document
+ * to a text buffer and parsing it with a validating SAX parser. This could be
+ * implemented much more efficiently by validating against the dom4j object
+ * model directly but at least allows the reuse of existing SAX based validating
+ * parsers.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public class SAXValidator {
+    /** <code>XMLReader</code> used to parse the SAX events */
+    private XMLReader xmlReader;
+
+    /** ErrorHandler class to use */
+    private ErrorHandler errorHandler;
+
+    public SAXValidator() {
+    }
+
+    public SAXValidator(XMLReader xmlReader) {
+        this.xmlReader = xmlReader;
+    }
+
+    /**
+     * Validates the given <code>Document</code> by writing it to a validating
+     * SAX Parser.
+     * 
+     * @param document
+     *            is the Document to validate
+     * 
+     * @throws SAXException
+     *             if a validation error occurs
+     * @throws RuntimeException
+     *             DOCUMENT ME!
+     */
+    public void validate(Document document) throws SAXException {
+        if (document != null) {
+            XMLReader reader = getXMLReader();
+
+            if (errorHandler != null) {
+                reader.setErrorHandler(errorHandler);
+            }
+
+            try {
+                reader.parse(new DocumentInputSource(document));
+            } catch (IOException e) {
+                throw new RuntimeException("Caught and exception that should "
+                        + "never happen: " + e);
+            }
+        }
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>XMLReader</code> used to parse SAX events
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public XMLReader getXMLReader() throws SAXException {
+        if (xmlReader == null) {
+            xmlReader = createXMLReader();
+            configureReader();
+        }
+
+        return xmlReader;
+    }
+
+    /**
+     * Sets the <code>XMLReader</code> used to parse SAX events
+     * 
+     * @param reader
+     *            is the <code>XMLReader</code> to parse SAX events
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public void setXMLReader(XMLReader reader) throws SAXException {
+        this.xmlReader = reader;
+        configureReader();
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>ErrorHandler</code> used by SAX
+     */
+    public ErrorHandler getErrorHandler() {
+        return errorHandler;
+    }
+
+    /**
+     * Sets the <code>ErrorHandler</code> used by the SAX
+     * <code>XMLReader</code>.
+     * 
+     * @param errorHandler
+     *            is the <code>ErrorHandler</code> used by SAX
+     */
+    public void setErrorHandler(ErrorHandler errorHandler) {
+        this.errorHandler = errorHandler;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Factory Method to allow alternate methods of creating and configuring
+     * XMLReader objects
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    protected XMLReader createXMLReader() throws SAXException {
+        return SAXHelper.createXMLReader(true);
+    }
+
+    /**
+     * Configures the XMLReader before use
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    protected void configureReader() throws SAXException {
+        ContentHandler handler = xmlReader.getContentHandler();
+
+        if (handler == null) {
+            xmlReader.setContentHandler(new DefaultHandler());
+        }
+
+        // configure validation support
+        xmlReader.setFeature("http://xml.org/sax/features/validation", true);
+
+        // configure namespace support
+        xmlReader.setFeature("http://xml.org/sax/features/namespaces", true);
+        xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes",
+                false);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/SAXWriter.java b/src/java/org/dom4j/io/SAXWriter.java
new file mode 100644
index 0000000..38d6c51
--- /dev/null
+++ b/src/java/org/dom4j/io/SAXWriter.java
@@ -0,0 +1,945 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.Attribute;
+import org.dom4j.Branch;
+import org.dom4j.CDATA;
+import org.dom4j.CharacterData;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.Text;
+import org.dom4j.tree.NamespaceStack;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.DTDHandler;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.ext.LexicalHandler;
+import org.xml.sax.helpers.AttributesImpl;
+import org.xml.sax.helpers.LocatorImpl;
+
+/**
+ * <p>
+ * <code>SAXWriter</code> writes a DOM4J tree to a SAX ContentHandler.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.24 $
+ */
+public class SAXWriter implements XMLReader {
+    protected static final String[] LEXICAL_HANDLER_NAMES = {
+            "http://xml.org/sax/properties/lexical-handler",
+            "http://xml.org/sax/handlers/LexicalHandler" };
+
+    protected static final String FEATURE_NAMESPACE_PREFIXES 
+            = "http://xml.org/sax/features/namespace-prefixes";
+
+    protected static final String FEATURE_NAMESPACES 
+            = "http://xml.org/sax/features/namespaces";
+
+    /** <code>ContentHandler</code> to which SAX events are raised */
+    private ContentHandler contentHandler;
+
+    /** <code>DTDHandler</code> fired when a document has a DTD */
+    private DTDHandler dtdHandler;
+
+    /** <code>EntityResolver</code> fired when a document has a DTD */
+    private EntityResolver entityResolver;
+
+    private ErrorHandler errorHandler;
+
+    /** <code>LexicalHandler</code> fired on Entity and CDATA sections */
+    private LexicalHandler lexicalHandler;
+
+    /** <code>AttributesImpl</code> used when generating the Attributes */
+    private AttributesImpl attributes = new AttributesImpl();
+
+    /** Stores the features */
+    private Map features = new HashMap();
+
+    /** Stores the properties */
+    private Map properties = new HashMap();
+
+    /** Whether namespace declarations are exported as attributes or not */
+    private boolean declareNamespaceAttributes;
+
+    public SAXWriter() {
+        properties.put(FEATURE_NAMESPACE_PREFIXES, Boolean.FALSE);
+        properties.put(FEATURE_NAMESPACE_PREFIXES, Boolean.TRUE);
+    }
+
+    public SAXWriter(ContentHandler contentHandler) {
+        this();
+        this.contentHandler = contentHandler;
+    }
+
+    public SAXWriter(ContentHandler contentHandler,
+            LexicalHandler lexicalHandler) {
+        this();
+        this.contentHandler = contentHandler;
+        this.lexicalHandler = lexicalHandler;
+    }
+
+    public SAXWriter(ContentHandler contentHandler,
+            LexicalHandler lexicalHandler, EntityResolver entityResolver) {
+        this();
+        this.contentHandler = contentHandler;
+        this.lexicalHandler = lexicalHandler;
+        this.entityResolver = entityResolver;
+    }
+
+    /**
+     * A polymorphic method to write any Node to this SAX stream
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public void write(Node node) throws SAXException {
+        int nodeType = node.getNodeType();
+
+        switch (nodeType) {
+            case Node.ELEMENT_NODE:
+                write((Element) node);
+
+                break;
+
+            case Node.ATTRIBUTE_NODE:
+                write((Attribute) node);
+
+                break;
+
+            case Node.TEXT_NODE:
+                write(node.getText());
+
+                break;
+
+            case Node.CDATA_SECTION_NODE:
+                write((CDATA) node);
+
+                break;
+
+            case Node.ENTITY_REFERENCE_NODE:
+                write((Entity) node);
+
+                break;
+
+            case Node.PROCESSING_INSTRUCTION_NODE:
+                write((ProcessingInstruction) node);
+
+                break;
+
+            case Node.COMMENT_NODE:
+                write((Comment) node);
+
+                break;
+
+            case Node.DOCUMENT_NODE:
+                write((Document) node);
+
+                break;
+
+            case Node.DOCUMENT_TYPE_NODE:
+                write((DocumentType) node);
+
+                break;
+
+            case Node.NAMESPACE_NODE:
+
+                // Will be output with attributes
+                // write((Namespace) node);
+                break;
+
+            default:
+                throw new SAXException("Invalid node type: " + node);
+        }
+    }
+
+    /**
+     * Generates SAX events for the given Document and all its content
+     * 
+     * @param document
+     *            is the Document to parse
+     * 
+     * @throws SAXException
+     *             if there is a SAX error processing the events
+     */
+    public void write(Document document) throws SAXException {
+        if (document != null) {
+            checkForNullHandlers();
+
+            documentLocator(document);
+            startDocument();
+            entityResolver(document);
+            dtdHandler(document);
+
+            writeContent(document, new NamespaceStack());
+            endDocument();
+        }
+    }
+
+    /**
+     * Generates SAX events for the given Element and all its content
+     * 
+     * @param element
+     *            is the Element to parse
+     * 
+     * @throws SAXException
+     *             if there is a SAX error processing the events
+     */
+    public void write(Element element) throws SAXException {
+        write(element, new NamespaceStack());
+    }
+
+    /**
+     * <p>
+     * Writes the opening tag of an {@link Element}, including its {@link
+     * Attribute}s but without its content.
+     * </p>
+     * 
+     * @param element
+     *            <code>Element</code> to output.
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public void writeOpen(Element element) throws SAXException {
+        startElement(element, null);
+    }
+
+    /**
+     * <p>
+     * Writes the closing tag of an {@link Element}
+     * </p>
+     * 
+     * @param element
+     *            <code>Element</code> to output.
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    public void writeClose(Element element) throws SAXException {
+        endElement(element);
+    }
+
+    /**
+     * Generates SAX events for the given text
+     * 
+     * @param text
+     *            is the text to send to the SAX ContentHandler
+     * 
+     * @throws SAXException
+     *             if there is a SAX error processing the events
+     */
+    public void write(String text) throws SAXException {
+        if (text != null) {
+            char[] chars = text.toCharArray();
+            contentHandler.characters(chars, 0, chars.length);
+        }
+    }
+
+    /**
+     * Generates SAX events for the given CDATA
+     * 
+     * @param cdata
+     *            is the CDATA to parse
+     * 
+     * @throws SAXException
+     *             if there is a SAX error processing the events
+     */
+    public void write(CDATA cdata) throws SAXException {
+        String text = cdata.getText();
+
+        if (lexicalHandler != null) {
+            lexicalHandler.startCDATA();
+            write(text);
+            lexicalHandler.endCDATA();
+        } else {
+            write(text);
+        }
+    }
+
+    /**
+     * Generates SAX events for the given Comment
+     * 
+     * @param comment
+     *            is the Comment to parse
+     * 
+     * @throws SAXException
+     *             if there is a SAX error processing the events
+     */
+    public void write(Comment comment) throws SAXException {
+        if (lexicalHandler != null) {
+            String text = comment.getText();
+            char[] chars = text.toCharArray();
+            lexicalHandler.comment(chars, 0, chars.length);
+        }
+    }
+
+    /**
+     * Generates SAX events for the given Entity
+     * 
+     * @param entity
+     *            is the Entity to parse
+     * 
+     * @throws SAXException
+     *             if there is a SAX error processing the events
+     */
+    public void write(Entity entity) throws SAXException {
+        String text = entity.getText();
+
+        if (lexicalHandler != null) {
+            String name = entity.getName();
+            lexicalHandler.startEntity(name);
+            write(text);
+            lexicalHandler.endEntity(name);
+        } else {
+            write(text);
+        }
+    }
+
+    /**
+     * Generates SAX events for the given ProcessingInstruction
+     * 
+     * @param pi
+     *            is the ProcessingInstruction to parse
+     * 
+     * @throws SAXException
+     *             if there is a SAX error processing the events
+     */
+    public void write(ProcessingInstruction pi) throws SAXException {
+        String target = pi.getTarget();
+        String text = pi.getText();
+        contentHandler.processingInstruction(target, text);
+    }
+
+    /**
+     * Should namespace declarations be converted to "xmlns" attributes. This
+     * property defaults to <code>false</code> as per the SAX specification.
+     * This property is set via the SAX feature
+     * "http://xml.org/sax/features/namespace-prefixes"
+     * 
+     * @return DOCUMENT ME!
+     */
+    public boolean isDeclareNamespaceAttributes() {
+        return declareNamespaceAttributes;
+    }
+
+    /**
+     * Sets whether namespace declarations should be exported as "xmlns"
+     * attributes or not. This property is set from the SAX feature
+     * "http://xml.org/sax/features/namespace-prefixes"
+     * 
+     * @param declareNamespaceAttrs
+     *            DOCUMENT ME!
+     */
+    public void setDeclareNamespaceAttributes(boolean declareNamespaceAttrs) {
+        this.declareNamespaceAttributes = declareNamespaceAttrs;
+    }
+
+    // XMLReader methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>ContentHandler</code> called when SAX events are
+     *         raised
+     */
+    public ContentHandler getContentHandler() {
+        return contentHandler;
+    }
+
+    /**
+     * Sets the <code>ContentHandler</code> called when SAX events are raised
+     * 
+     * @param contentHandler
+     *            is the <code>ContentHandler</code> called when SAX events
+     *            are raised
+     */
+    public void setContentHandler(ContentHandler contentHandler) {
+        this.contentHandler = contentHandler;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>DTDHandler</code>
+     */
+    public DTDHandler getDTDHandler() {
+        return dtdHandler;
+    }
+
+    /**
+     * Sets the <code>DTDHandler</code>.
+     * 
+     * @param handler
+     *            DOCUMENT ME!
+     */
+    public void setDTDHandler(DTDHandler handler) {
+        this.dtdHandler = handler;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>ErrorHandler</code>
+     */
+    public ErrorHandler getErrorHandler() {
+        return errorHandler;
+    }
+
+    /**
+     * Sets the <code>ErrorHandler</code>.
+     * 
+     * @param errorHandler
+     *            DOCUMENT ME!
+     */
+    public void setErrorHandler(ErrorHandler errorHandler) {
+        this.errorHandler = errorHandler;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>EntityResolver</code> used when a Document contains a
+     *         DTD
+     */
+    public EntityResolver getEntityResolver() {
+        return entityResolver;
+    }
+
+    /**
+     * Sets the <code>EntityResolver</code>.
+     * 
+     * @param entityResolver
+     *            is the <code>EntityResolver</code>
+     */
+    public void setEntityResolver(EntityResolver entityResolver) {
+        this.entityResolver = entityResolver;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>LexicalHandler</code> used when a Document contains a
+     *         DTD
+     */
+    public LexicalHandler getLexicalHandler() {
+        return lexicalHandler;
+    }
+
+    /**
+     * Sets the <code>LexicalHandler</code>.
+     * 
+     * @param lexicalHandler
+     *            is the <code>LexicalHandler</code>
+     */
+    public void setLexicalHandler(LexicalHandler lexicalHandler) {
+        this.lexicalHandler = lexicalHandler;
+    }
+
+    /**
+     * Sets the <code>XMLReader</code> used to write SAX events to
+     * 
+     * @param xmlReader
+     *            is the <code>XMLReader</code>
+     */
+    public void setXMLReader(XMLReader xmlReader) {
+        setContentHandler(xmlReader.getContentHandler());
+        setDTDHandler(xmlReader.getDTDHandler());
+        setEntityResolver(xmlReader.getEntityResolver());
+        setErrorHandler(xmlReader.getErrorHandler());
+    }
+
+    /**
+     * Looks up the value of a feature.
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws SAXNotRecognizedException
+     *             DOCUMENT ME!
+     * @throws SAXNotSupportedException
+     *             DOCUMENT ME!
+     */
+    public boolean getFeature(String name) throws SAXNotRecognizedException,
+            SAXNotSupportedException {
+        Boolean answer = (Boolean) features.get(name);
+
+        return (answer != null) && answer.booleanValue();
+    }
+
+    /**
+     * This implementation does actually use any features but just stores them
+     * for later retrieval
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * @param value
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXNotRecognizedException
+     *             DOCUMENT ME!
+     * @throws SAXNotSupportedException
+     *             DOCUMENT ME!
+     */
+    public void setFeature(String name, boolean value)
+            throws SAXNotRecognizedException, SAXNotSupportedException {
+        if (FEATURE_NAMESPACE_PREFIXES.equals(name)) {
+            setDeclareNamespaceAttributes(value);
+        } else if (FEATURE_NAMESPACE_PREFIXES.equals(name)) {
+            if (!value) {
+                String msg = "Namespace feature is always supported in dom4j";
+                throw new SAXNotSupportedException(msg);
+            }
+        }
+
+        features.put(name, (value) ? Boolean.TRUE : Boolean.FALSE);
+    }
+
+    /**
+     * Sets the given SAX property
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * @param value
+     *            DOCUMENT ME!
+     */
+    public void setProperty(String name, Object value) {
+        for (int i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+            if (LEXICAL_HANDLER_NAMES[i].equals(name)) {
+                setLexicalHandler((LexicalHandler) value);
+
+                return;
+            }
+        }
+
+        properties.put(name, value);
+    }
+
+    /**
+     * Gets the given SAX property
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws SAXNotRecognizedException
+     *             DOCUMENT ME!
+     * @throws SAXNotSupportedException
+     *             DOCUMENT ME!
+     */
+    public Object getProperty(String name) throws SAXNotRecognizedException,
+            SAXNotSupportedException {
+        for (int i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+            if (LEXICAL_HANDLER_NAMES[i].equals(name)) {
+                return getLexicalHandler();
+            }
+        }
+
+        return properties.get(name);
+    }
+
+    /**
+     * This method is not supported.
+     * 
+     * @param systemId
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXNotSupportedException
+     *             DOCUMENT ME!
+     */
+    public void parse(String systemId) throws SAXNotSupportedException {
+        throw new SAXNotSupportedException("This XMLReader can only accept"
+                + " <dom4j> InputSource objects");
+    }
+
+    /**
+     * Parses an XML document. This method can only accept DocumentInputSource
+     * inputs otherwise a {@link SAXNotSupportedException}exception is thrown.
+     * 
+     * @param input
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     * @throws SAXNotSupportedException
+     *             if the input source is not wrapping a dom4j document
+     */
+    public void parse(InputSource input) throws SAXException {
+        if (input instanceof DocumentInputSource) {
+            DocumentInputSource documentInput = (DocumentInputSource) input;
+            Document document = documentInput.getDocument();
+            write(document);
+        } else {
+            throw new SAXNotSupportedException(
+                    "This XMLReader can only accept "
+                            + "<dom4j> InputSource objects");
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void writeContent(Branch branch, NamespaceStack namespaceStack)
+            throws SAXException {
+        for (Iterator iter = branch.nodeIterator(); iter.hasNext();) {
+            Object object = iter.next();
+
+            if (object instanceof Element) {
+                write((Element) object, namespaceStack);
+            } else if (object instanceof CharacterData) {
+                if (object instanceof Text) {
+                    Text text = (Text) object;
+                    write(text.getText());
+                } else if (object instanceof CDATA) {
+                    write((CDATA) object);
+                } else if (object instanceof Comment) {
+                    write((Comment) object);
+                } else {
+                    throw new SAXException("Invalid Node in DOM4J content: "
+                            + object + " of type: " + object.getClass());
+                }
+            } else if (object instanceof String) {
+                write((String) object);
+            } else if (object instanceof Entity) {
+                write((Entity) object);
+            } else if (object instanceof ProcessingInstruction) {
+                write((ProcessingInstruction) object);
+            } else if (object instanceof Namespace) {
+                write((Namespace) object);
+            } else {
+                throw new SAXException("Invalid Node in DOM4J content: "
+                        + object);
+            }
+        }
+    }
+
+    /**
+     * The {@link org.xml.sax.Locator}is only really useful when parsing a
+     * textual document as its main purpose is to identify the line and column
+     * number. Since we are processing an in memory tree which will probably
+     * have its line number information removed, we'll just use -1 for the line
+     * and column numbers.
+     * 
+     * @param document
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    protected void documentLocator(Document document) throws SAXException {
+        LocatorImpl locator = new LocatorImpl();
+
+        String publicID = null;
+        String systemID = null;
+        DocumentType docType = document.getDocType();
+
+        if (docType != null) {
+            publicID = docType.getPublicID();
+            systemID = docType.getSystemID();
+        }
+
+        if (publicID != null) {
+            locator.setPublicId(publicID);
+        }
+
+        if (systemID != null) {
+            locator.setSystemId(systemID);
+        }
+
+        locator.setLineNumber(-1);
+        locator.setColumnNumber(-1);
+
+        contentHandler.setDocumentLocator(locator);
+    }
+
+    protected void entityResolver(Document document) throws SAXException {
+        if (entityResolver != null) {
+            DocumentType docType = document.getDocType();
+
+            if (docType != null) {
+                String publicID = docType.getPublicID();
+                String systemID = docType.getSystemID();
+
+                if ((publicID != null) || (systemID != null)) {
+                    try {
+                        entityResolver.resolveEntity(publicID, systemID);
+                    } catch (IOException e) {
+                        throw new SAXException("Could not resolve publicID: "
+                                + publicID + " systemID: " + systemID, e);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * We do not yet support DTD or XML Schemas so this method does nothing
+     * right now.
+     * 
+     * @param document
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    protected void dtdHandler(Document document) throws SAXException {
+    }
+
+    protected void startDocument() throws SAXException {
+        contentHandler.startDocument();
+    }
+
+    protected void endDocument() throws SAXException {
+        contentHandler.endDocument();
+    }
+
+    protected void write(Element element, NamespaceStack namespaceStack)
+            throws SAXException {
+        int stackSize = namespaceStack.size();
+        AttributesImpl namespaceAttributes = startPrefixMapping(element,
+                namespaceStack);
+        startElement(element, namespaceAttributes);
+        writeContent(element, namespaceStack);
+        endElement(element);
+        endPrefixMapping(namespaceStack, stackSize);
+    }
+
+    /**
+     * Fires a SAX startPrefixMapping event for all the namespaceStack which
+     * have just come into scope
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * @param namespaceStack
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    protected AttributesImpl startPrefixMapping(Element element,
+            NamespaceStack namespaceStack) throws SAXException {
+        AttributesImpl namespaceAttributes = null;
+
+        // start with the namespace of the element
+        Namespace elementNamespace = element.getNamespace();
+
+        if ((elementNamespace != null)
+                && !isIgnoreableNamespace(elementNamespace, namespaceStack)) {
+            namespaceStack.push(elementNamespace);
+            contentHandler.startPrefixMapping(elementNamespace.getPrefix(),
+                    elementNamespace.getURI());
+            namespaceAttributes = addNamespaceAttribute(namespaceAttributes,
+                    elementNamespace);
+        }
+
+        List declaredNamespaces = element.declaredNamespaces();
+
+        for (int i = 0, size = declaredNamespaces.size(); i < size; i++) {
+            Namespace namespace = (Namespace) declaredNamespaces.get(i);
+
+            if (!isIgnoreableNamespace(namespace, namespaceStack)) {
+                namespaceStack.push(namespace);
+                contentHandler.startPrefixMapping(namespace.getPrefix(),
+                        namespace.getURI());
+                namespaceAttributes = addNamespaceAttribute(
+                        namespaceAttributes, namespace);
+            }
+        }
+
+        return namespaceAttributes;
+    }
+
+    /**
+     * Fires a SAX endPrefixMapping event for all the namespaceStack which have
+     * gone out of scope
+     * 
+     * @param stack
+     *            DOCUMENT ME!
+     * @param stackSize
+     *            DOCUMENT ME!
+     * 
+     * @throws SAXException
+     *             DOCUMENT ME!
+     */
+    protected void endPrefixMapping(NamespaceStack stack, int stackSize)
+            throws SAXException {
+        while (stack.size() > stackSize) {
+            Namespace namespace = stack.pop();
+
+            if (namespace != null) {
+                contentHandler.endPrefixMapping(namespace.getPrefix());
+            }
+        }
+    }
+
+    protected void startElement(Element element,
+            AttributesImpl namespaceAttributes) throws SAXException {
+        contentHandler.startElement(element.getNamespaceURI(), element
+                .getName(), element.getQualifiedName(), createAttributes(
+                element, namespaceAttributes));
+    }
+
+    protected void endElement(Element element) throws SAXException {
+        contentHandler.endElement(element.getNamespaceURI(), element.getName(),
+                element.getQualifiedName());
+    }
+
+    protected Attributes createAttributes(Element element,
+            Attributes namespaceAttributes) throws SAXException {
+        attributes.clear();
+
+        if (namespaceAttributes != null) {
+            attributes.setAttributes(namespaceAttributes);
+        }
+
+        for (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+            Attribute attribute = (Attribute) iter.next();
+            attributes.addAttribute(attribute.getNamespaceURI(), attribute
+                    .getName(), attribute.getQualifiedName(), "CDATA",
+                    attribute.getValue());
+        }
+
+        return attributes;
+    }
+
+    /**
+     * If isDelcareNamespaceAttributes() is enabled then this method will add
+     * the given namespace declaration to the supplied attributes object,
+     * creating one if it does not exist.
+     * 
+     * @param attrs
+     *            DOCUMENT ME!
+     * @param namespace
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected AttributesImpl addNamespaceAttribute(AttributesImpl attrs,
+            Namespace namespace) {
+        if (declareNamespaceAttributes) {
+            if (attrs == null) {
+                attrs = new AttributesImpl();
+            }
+
+            String prefix = namespace.getPrefix();
+            String qualifiedName = "xmlns";
+
+            if ((prefix != null) && (prefix.length() > 0)) {
+                qualifiedName = "xmlns:" + prefix;
+            }
+
+            String uri = "";
+            String localName = prefix;
+            String type = "CDATA";
+            String value = namespace.getURI();
+
+            attrs.addAttribute(uri, localName, qualifiedName, type, value);
+        }
+
+        return attrs;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param namespace
+     *            DOCUMENT ME!
+     * @param namespaceStack
+     *            DOCUMENT ME!
+     * 
+     * @return true if the given namespace is an ignorable namespace (such as
+     *         Namespace.NO_NAMESPACE or Namespace.XML_NAMESPACE) or if the
+     *         namespace has already been declared in the current scope
+     */
+    protected boolean isIgnoreableNamespace(Namespace namespace,
+            NamespaceStack namespaceStack) {
+        if (namespace.equals(Namespace.NO_NAMESPACE)
+                || namespace.equals(Namespace.XML_NAMESPACE)) {
+            return true;
+        }
+
+        String uri = namespace.getURI();
+
+        if ((uri == null) || (uri.length() <= 0)) {
+            return true;
+        }
+
+        return namespaceStack.contains(namespace);
+    }
+
+    /**
+     * Ensures non-null content handlers?
+     */
+    protected void checkForNullHandlers() {
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/STAXEventReader.java b/src/java/org/dom4j/io/STAXEventReader.java
new file mode 100644
index 0000000..a31b393
--- /dev/null
+++ b/src/java/org/dom4j/io/STAXEventReader.java
@@ -0,0 +1,679 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.InputStream;
+import java.io.Reader;
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.events.Attribute;
+import javax.xml.stream.events.Characters;
+import javax.xml.stream.events.Comment;
+import javax.xml.stream.events.EndElement;
+import javax.xml.stream.events.EntityReference;
+import javax.xml.stream.events.Namespace;
+import javax.xml.stream.events.ProcessingInstruction;
+import javax.xml.stream.events.StartDocument;
+import javax.xml.stream.events.StartElement;
+import javax.xml.stream.events.XMLEvent;
+
+import org.dom4j.CharacterData;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Node;
+
+/**
+ * Reads a DOM4J {@link Document}, as well as other {@link Node}s, from a StAX
+ * {@link XMLEventReader}.
+ * 
+ * @author Christian Niles
+ */
+public class STAXEventReader {
+    /** Reference to the DocumentFactory used to build DOM4J nodes. */
+    private DocumentFactory factory;
+
+    /** A StAX input factory, used to construct streams from IO streams. */
+    private XMLInputFactory inputFactory = XMLInputFactory.newInstance();
+
+    /**
+     * Constructs a default <code>STAXEventReader</code> instance with a
+     * default {@link DocumentFactory}.
+     */
+    public STAXEventReader() {
+        this.factory = DocumentFactory.getInstance();
+    }
+
+    /**
+     * Constructs a <code>STAXEventReader</code> instance that uses the
+     * specified {@link DocumentFactory}to construct DOM4J {@link Node}s.
+     * 
+     * @param factory
+     *            The DocumentFactory to use when constructing DOM4J nodes, or
+     *            <code>null</code> if a default should be used.
+     */
+    public STAXEventReader(DocumentFactory factory) {
+        if (factory != null) {
+            this.factory = factory;
+        } else {
+            this.factory = DocumentFactory.getInstance();
+        }
+    }
+
+    /**
+     * Sets the DocumentFactory to be used when constructing DOM4J nodes.
+     * 
+     * @param documentFactory
+     *            The DocumentFactory to use when constructing DOM4J nodes, or
+     *            <code>null</code> if a default should be used.
+     */
+    public void setDocumentFactory(DocumentFactory documentFactory) {
+        if (documentFactory != null) {
+            this.factory = documentFactory;
+        } else {
+            this.factory = DocumentFactory.getInstance();
+        }
+    }
+
+    /**
+     * Constructs a StAX event stream from the provided I/O stream and reads a
+     * DOM4J document from it.
+     * 
+     * @param is
+     *            The I/O stream from which the Document will be read.
+     * 
+     * @return The Document that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs reading content from the stream.
+     */
+    public Document readDocument(InputStream is) throws XMLStreamException {
+        return readDocument(is, null);
+    }
+
+    /**
+     * Constructs a StAX event stream from the provided I/O character stream and
+     * reads a DOM4J document from it.
+     * 
+     * @param reader
+     *            The character stream from which the Document will be read.
+     * 
+     * @return The Document that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs reading content from the stream.
+     */
+    public Document readDocument(Reader reader) throws XMLStreamException {
+        return readDocument(reader, null);
+    }
+
+    /**
+     * Constructs a StAX event stream from the provided I/O stream and reads a
+     * DOM4J document from it.
+     * 
+     * @param is
+     *            The I/O stream from which the Document will be read.
+     * @param systemId
+     *            A system id used to resolve entities.
+     * 
+     * @return The Document that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs reading content from the stream.
+     */
+    public Document readDocument(InputStream is, String systemId)
+            throws XMLStreamException {
+        XMLEventReader eventReader = inputFactory.createXMLEventReader(
+                systemId, is);
+
+        try {
+            return readDocument(eventReader);
+        } finally {
+            eventReader.close();
+        }
+    }
+
+    /**
+     * Constructs a StAX event stream from the provided I/O character stream and
+     * reads a DOM4J document from it.
+     * 
+     * @param reader
+     *            The character stream from which the Document will be read.
+     * @param systemId
+     *            A system id used to resolve entities.
+     * 
+     * @return The Document that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs reading content from the stream.
+     */
+    public Document readDocument(Reader reader, String systemId)
+            throws XMLStreamException {
+        XMLEventReader eventReader = inputFactory.createXMLEventReader(
+                systemId, reader);
+
+        try {
+            return readDocument(eventReader);
+        } finally {
+            eventReader.close();
+        }
+    }
+
+    /**
+     * Reads a {@link Node}from the event stream. If the next event is a
+     * {@link StartElement}, all events until the closing {@link EndElement}
+     * will be read, and the resulting nodes will be added to the returned
+     * {@link Element}.
+     * 
+     * <p>
+     * <strong>Pre-Conditions </strong>: The stream must be positioned before an
+     * event other than an <code>EndElement</code>,<code>EndDocument</code>,
+     * or any DTD-related events, which are not currently supported.
+     * </p>
+     * 
+     * @param reader
+     *            The reader from which events will be read.
+     * 
+     * @return A DOM4J {@link Node}constructed from the read events.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs reading from the stream, or the stream was
+     *             positioned before an unsupported event.
+     */
+    public Node readNode(XMLEventReader reader) throws XMLStreamException {
+        XMLEvent event = reader.peek();
+
+        if (event.isStartElement()) {
+            return readElement(reader);
+        } else if (event.isCharacters()) {
+            return readCharacters(reader);
+        } else if (event.isStartDocument()) {
+            return readDocument(reader);
+        } else if (event.isProcessingInstruction()) {
+            return readProcessingInstruction(reader);
+        } else if (event.isEntityReference()) {
+            return readEntityReference(reader);
+        } else if (event.isAttribute()) {
+            return readAttribute(reader);
+        } else if (event.isNamespace()) {
+            return readNamespace(reader);
+        } else {
+            throw new XMLStreamException("Unsupported event: " + event);
+        }
+    }
+
+    /**
+     * Reads a DOM4J {@link Document}from the provided stream. The stream
+     * should be positioned at the start of a document, or before a {@link
+     * StartElement} event.
+     * 
+     * @param reader
+     *            The event stream from which to read the {@link Document}.
+     * 
+     * @return The {@link Document}that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs reading events from the stream.
+     */
+    public Document readDocument(XMLEventReader reader)
+            throws XMLStreamException {
+        Document doc = null;
+
+        while (reader.hasNext()) {
+            XMLEvent nextEvent = reader.peek();
+            int type = nextEvent.getEventType();
+
+            switch (type) {
+                case XMLStreamConstants.START_DOCUMENT:
+
+                    StartDocument event = (StartDocument) reader.nextEvent();
+
+                    if (doc == null) {
+                        // create document
+                        if (event.encodingSet()) {
+                            String encodingScheme = event
+                                    .getCharacterEncodingScheme();
+                            doc = factory.createDocument(encodingScheme);
+                        } else {
+                            doc = factory.createDocument();
+                        }
+                    } else {
+                        // duplicate or misplaced xml declaration
+                        String msg = "Unexpected StartDocument event";
+                        throw new XMLStreamException(msg, event.getLocation());
+                    }
+
+                    break;
+
+                case XMLStreamConstants.END_DOCUMENT:
+                case XMLStreamConstants.SPACE:
+                case XMLStreamConstants.CHARACTERS:
+
+                    // skip end document and space outside the root element
+                    reader.nextEvent();
+
+                    break;
+
+                default:
+
+                    if (doc == null) {
+                        // create document
+                        doc = factory.createDocument();
+                    }
+
+                    Node n = readNode(reader);
+                    doc.add(n);
+            }
+        }
+
+        return doc;
+    }
+
+    /**
+     * Reads a DOM4J Element from the provided event stream. The stream must be
+     * positioned before an {@link StartElement}event. In addition to the
+     * initial start event, all events up to and including the closing {@link
+     * EndElement} will be read, and included with the returned element.
+     * 
+     * @param eventReader
+     *            The event stream from which to read the Element.
+     * 
+     * @return The Element that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occured reading events from the stream, or the
+     *             stream was not positioned before a {@linkStartElement}event.
+     */
+    public Element readElement(XMLEventReader eventReader)
+            throws XMLStreamException {
+        XMLEvent event = eventReader.peek();
+
+        if (event.isStartElement()) {
+            // advance the reader and get the StartElement event
+            StartElement startTag = eventReader.nextEvent().asStartElement();
+            Element elem = createElement(startTag);
+
+            // read element content
+            while (true) {
+                if (!eventReader.hasNext()) {
+                    String msg = "Unexpected end of stream while reading"
+                            + " element content";
+                    throw new XMLStreamException(msg);
+                }
+
+                XMLEvent nextEvent = eventReader.peek();
+
+                if (nextEvent.isEndElement()) {
+                    EndElement endElem = eventReader.nextEvent().asEndElement();
+
+                    if (!endElem.getName().equals(startTag.getName())) {
+                        throw new XMLStreamException("Expected "
+                                + startTag.getName() + " end-tag, but found"
+                                + endElem.getName());
+                    }
+
+                    break;
+                }
+
+                Node child = readNode(eventReader);
+                elem.add(child);
+            }
+
+            return elem;
+        } else {
+            throw new XMLStreamException("Expected Element event, found: "
+                    + event);
+        }
+    }
+
+    /**
+     * Constructs a DOM4J Attribute from the provided event stream. The stream
+     * must be positioned before an {@link Attribute}event.
+     * 
+     * @param reader
+     *            The event stream from which to read the Attribute.
+     * 
+     * @return The Attribute that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occured reading events from the stream, or the
+     *             stream was not positioned before an {@linkAttribute}event.
+     */
+    public org.dom4j.Attribute readAttribute(XMLEventReader reader)
+            throws XMLStreamException {
+        XMLEvent event = reader.peek();
+
+        if (event.isAttribute()) {
+            Attribute attr = (Attribute) reader.nextEvent();
+
+            return createAttribute(null, attr);
+        } else {
+            throw new XMLStreamException("Expected Attribute event, found: "
+                    + event);
+        }
+    }
+
+    /**
+     * Constructs a DOM4J Namespace from the provided event stream. The stream
+     * must be positioned before a {@link Namespace}event.
+     * 
+     * @param reader
+     *            The event stream from which to read the Namespace.
+     * 
+     * @return The Namespace that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occured reading events from the stream, or the
+     *             stream was not positioned before a {@linkNamespace}event.
+     */
+    public org.dom4j.Namespace readNamespace(XMLEventReader reader)
+            throws XMLStreamException {
+        XMLEvent event = reader.peek();
+
+        if (event.isNamespace()) {
+            Namespace ns = (Namespace) reader.nextEvent();
+
+            return createNamespace(ns);
+        } else {
+            throw new XMLStreamException("Expected Namespace event, found: "
+                    + event);
+        }
+    }
+
+    /**
+     * Constructs a DOM4J Text or CDATA section from the provided event stream.
+     * The stream must be positioned before a {@link Characters}event.
+     * 
+     * @param reader
+     *            The event stream from which to read the Text or CDATA.
+     * 
+     * @return The Text or CDATA that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occured reading events from the stream, or the
+     *             stream was not positioned before a {@linkCharacters}event.
+     */
+    public CharacterData readCharacters(XMLEventReader reader)
+            throws XMLStreamException {
+        XMLEvent event = reader.peek();
+
+        if (event.isCharacters()) {
+            Characters characters = reader.nextEvent().asCharacters();
+
+            return createCharacterData(characters);
+        } else {
+            throw new XMLStreamException("Expected Characters event, found: "
+                    + event);
+        }
+    }
+
+    /**
+     * Constructs a DOM4J Comment from the provided event stream. The stream
+     * must be positioned before a {@link Comment}event.
+     * 
+     * @param reader
+     *            The event stream from which to read the Comment.
+     * 
+     * @return The Comment that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occured reading events from the stream, or the
+     *             stream was not positioned before a {@linkComment}event.
+     */
+    public org.dom4j.Comment readComment(XMLEventReader reader)
+            throws XMLStreamException {
+        XMLEvent event = reader.peek();
+
+        if (event instanceof Comment) {
+            return createComment((Comment) reader.nextEvent());
+        } else {
+            throw new XMLStreamException("Expected Comment event, found: "
+                    + event);
+        }
+    }
+
+    /**
+     * Constructs a DOM4J Entity from the provided event stream. The stream must
+     * be positioned before an {@link EntityReference}event.
+     * 
+     * @param reader
+     *            The event stream from which to read the {@link
+     *            EntityReference}.
+     * 
+     * @return The {@link org.dom4j.Entity}that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occured reading events from the stream, or the
+     *             stream was not positioned before an {@linkEntityReference}
+     *             event.
+     */
+    public Entity readEntityReference(XMLEventReader reader)
+            throws XMLStreamException {
+        XMLEvent event = reader.peek();
+
+        if (event.isEntityReference()) {
+            EntityReference entityRef = (EntityReference) reader.nextEvent();
+
+            return createEntity(entityRef);
+        } else {
+            throw new XMLStreamException("Expected EntityRef event, found: "
+                    + event);
+        }
+    }
+
+    /**
+     * Constructs a DOM4J ProcessingInstruction from the provided event stream.
+     * The stream must be positioned before a {@link ProcessingInstruction}
+     * event.
+     * 
+     * @param reader
+     *            The event stream from which to read the ProcessingInstruction.
+     * 
+     * @return The ProcessingInstruction that was read from the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occured reading events from the stream, or the
+     *             stream was not positioned before a {@link
+     *             ProcessingInstruction} event.
+     */
+    public org.dom4j.ProcessingInstruction readProcessingInstruction(
+            XMLEventReader reader) throws XMLStreamException {
+        XMLEvent event = reader.peek();
+
+        if (event.isProcessingInstruction()) {
+            ProcessingInstruction pi = (ProcessingInstruction) reader
+                    .nextEvent();
+
+            return createProcessingInstruction(pi);
+        } else {
+            throw new XMLStreamException("Expected PI event, found: " + event);
+        }
+    }
+
+    /**
+     * Constructs a new DOM4J Element from the provided StartElement event. All
+     * attributes and namespaces will be added to the returned element.
+     * 
+     * @param startEvent
+     *            The StartElement event from which to construct the new DOM4J
+     *            Element.
+     * 
+     * @return The Element constructed from the provided StartElement event.
+     */
+    public Element createElement(StartElement startEvent) {
+        QName qname = startEvent.getName();
+        org.dom4j.QName elemName = createQName(qname);
+
+        Element elem = factory.createElement(elemName);
+
+        // create attributes
+        for (Iterator i = startEvent.getAttributes(); i.hasNext();) {
+            Attribute attr = (Attribute) i.next();
+            elem.addAttribute(createQName(attr.getName()), attr.getValue());
+        }
+
+        // create namespaces
+        for (Iterator i = startEvent.getNamespaces(); i.hasNext();) {
+            Namespace ns = (Namespace) i.next();
+            elem.addNamespace(ns.getPrefix(), ns.getNamespaceURI());
+        }
+
+        return elem;
+    }
+
+    /**
+     * Constructs a new DOM4J Attribute from the provided StAX Attribute event.
+     * 
+     * @param elem
+     *            DOCUMENT ME!
+     * @param attr
+     *            The Attribute event from which to construct the new DOM4J
+     *            Attribute.
+     * 
+     * @return The Attribute constructed from the provided Attribute event.
+     */
+    public org.dom4j.Attribute createAttribute(Element elem, Attribute attr) {
+        return factory.createAttribute(elem, createQName(attr.getName()), attr
+                .getValue());
+    }
+
+    /**
+     * Constructs a new DOM4J Namespace from the provided StAX Namespace event.
+     * 
+     * @param ns
+     *            The Namespace event from which to construct the new DOM4J
+     *            Namespace.
+     * 
+     * @return The Namespace constructed from the provided Namespace event.
+     */
+    public org.dom4j.Namespace createNamespace(Namespace ns) {
+        return factory.createNamespace(ns.getPrefix(), ns.getNamespaceURI());
+    }
+
+    /**
+     * Constructs a new DOM4J Text or CDATA object from the provided Characters
+     * event.
+     * 
+     * @param characters
+     *            The Characters event from which to construct the new DOM4J
+     *            Text or CDATA object.
+     * 
+     * @return The Text or CDATA object constructed from the provided Characters
+     *         event.
+     */
+    public CharacterData createCharacterData(Characters characters) {
+        String data = characters.getData();
+
+        if (characters.isCData()) {
+            return factory.createCDATA(data);
+        } else {
+            return factory.createText(data);
+        }
+    }
+
+    /**
+     * Constructs a new DOM4J Comment from the provided StAX Comment event.
+     * 
+     * @param comment
+     *            The Comment event from which to construct the new DOM4J
+     *            Comment.
+     * 
+     * @return The Comment constructed from the provided Comment event.
+     */
+    public org.dom4j.Comment createComment(Comment comment) {
+        return factory.createComment(comment.getText());
+    }
+
+    /**
+     * Constructs a new DOM4J Entity from the provided StAX EntityReference
+     * event.
+     * 
+     * @param entityRef
+     *            The EntityReference event from which to construct the new
+     *            DOM4J Entity.
+     * 
+     * @return The Entity constructed from the provided EntityReference event.
+     */
+    public org.dom4j.Entity createEntity(EntityReference entityRef) {
+        return factory.createEntity(entityRef.getName(), entityRef
+                .getDeclaration().getReplacementText());
+    }
+
+    /**
+     * Constructs a new DOM4J ProcessingInstruction from the provided StAX
+     * ProcessingInstruction event.
+     * 
+     * @param pi
+     *            The ProcessingInstruction event from which to construct the
+     *            new DOM4J ProcessingInstruction.
+     * 
+     * @return The ProcessingInstruction constructed from the provided
+     *         ProcessingInstruction event.
+     */
+    public org.dom4j.ProcessingInstruction createProcessingInstruction(
+            ProcessingInstruction pi) {
+        return factory
+                .createProcessingInstruction(pi.getTarget(), pi.getData());
+    }
+
+    /**
+     * Constructs a new DOM4J QName from the provided JAXP QName.
+     * 
+     * @param qname
+     *            The JAXP QName from which to create a DOM4J QName.
+     * 
+     * @return The newly constructed DOM4J QName.
+     */
+    public org.dom4j.QName createQName(QName qname) {
+        return factory.createQName(qname.getLocalPart(), qname.getPrefix(),
+                qname.getNamespaceURI());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/STAXEventWriter.java b/src/java/org/dom4j/io/STAXEventWriter.java
new file mode 100644
index 0000000..483e900
--- /dev/null
+++ b/src/java/org/dom4j/io/STAXEventWriter.java
@@ -0,0 +1,685 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLEventFactory;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.events.Characters;
+import javax.xml.stream.events.DTD;
+import javax.xml.stream.events.EndDocument;
+import javax.xml.stream.events.EndElement;
+import javax.xml.stream.events.EntityReference;
+import javax.xml.stream.events.ProcessingInstruction;
+import javax.xml.stream.events.StartDocument;
+import javax.xml.stream.events.StartElement;
+import javax.xml.stream.util.XMLEventConsumer;
+
+import org.dom4j.Attribute;
+import org.dom4j.Branch;
+import org.dom4j.CDATA;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.Text;
+
+/**
+ * Writes DOM4J {@link Node}s to a StAX event stream. In addition the
+ * <code>createXXX</code> methods are provided to directly create STAX events
+ * from DOM4J nodes.
+ * 
+ * @author Christian Niles
+ */
+public class STAXEventWriter {
+    /** The event stream to which events are written. */
+    private XMLEventConsumer consumer;
+
+    /** The event factory used to construct events. */
+    private XMLEventFactory factory = XMLEventFactory.newInstance();
+
+    private XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
+
+    public STAXEventWriter() {
+    }
+
+    /**
+     * Constructs a <code>STAXEventWriter</code> that writes events to the
+     * provided file.
+     * 
+     * @param file
+     *            The file to which events will be written.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs creating an event writer from the file.
+     * @throws IOException
+     *             If an error occurs openin the file for writing.
+     */
+    public STAXEventWriter(File file) throws XMLStreamException, IOException {
+        consumer = outputFactory.createXMLEventWriter(new FileWriter(file));
+    }
+
+    /**
+     * Constructs a <code>STAXEventWriter</code> that writes events to the
+     * provided character stream.
+     * 
+     * @param writer
+     *            The character stream to which events will be written.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs constructing an event writer from the
+     *             character stream.
+     */
+    public STAXEventWriter(Writer writer) throws XMLStreamException {
+        consumer = outputFactory.createXMLEventWriter(writer);
+    }
+
+    /**
+     * Constructs a <code>STAXEventWriter</code> that writes events to the
+     * provided stream.
+     * 
+     * @param stream
+     *            The output stream to which events will be written.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs constructing an event writer from the
+     *             stream.
+     */
+    public STAXEventWriter(OutputStream stream) throws XMLStreamException {
+        consumer = outputFactory.createXMLEventWriter(stream);
+    }
+
+    /**
+     * Constructs a <code>STAXEventWriter</code> that writes events to the
+     * provided event stream.
+     * 
+     * @param consumer
+     *            The event stream to which events will be written.
+     */
+    public STAXEventWriter(XMLEventConsumer consumer) {
+        this.consumer = consumer;
+    }
+
+    /**
+     * Returns a reference to the underlying event consumer to which events are
+     * written.
+     * 
+     * @return The underlying event consumer to which events are written.
+     */
+    public XMLEventConsumer getConsumer() {
+        return consumer;
+    }
+
+    /**
+     * Sets the underlying event consumer to which events are written.
+     * 
+     * @param consumer
+     *            The event consumer to which events should be written.
+     */
+    public void setConsumer(XMLEventConsumer consumer) {
+        this.consumer = consumer;
+    }
+
+    /**
+     * Returns a reference to the event factory used to construct STAX events.
+     * 
+     * @return The event factory used to construct STAX events.
+     */
+    public XMLEventFactory getEventFactory() {
+        return factory;
+    }
+
+    /**
+     * Sets the event factory used to construct STAX events.
+     * 
+     * @param eventFactory
+     *            The new event factory.
+     */
+    public void setEventFactory(XMLEventFactory eventFactory) {
+        this.factory = eventFactory;
+    }
+
+    /**
+     * Writes a DOM4J {@link Node}to the stream. This method is simply a
+     * gateway to the overloaded methods such as {@link#writeElement(Element)}.
+     * 
+     * @param n
+     *            The DOM4J {@link Node}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeNode(Node n) throws XMLStreamException {
+        switch (n.getNodeType()) {
+            case Node.ELEMENT_NODE:
+                writeElement((Element) n);
+
+                break;
+
+            case Node.TEXT_NODE:
+                writeText((Text) n);
+
+                break;
+
+            case Node.ATTRIBUTE_NODE:
+                writeAttribute((Attribute) n);
+
+                break;
+
+            case Node.NAMESPACE_NODE:
+                writeNamespace((Namespace) n);
+
+                break;
+
+            case Node.COMMENT_NODE:
+                writeComment((Comment) n);
+
+                break;
+
+            case Node.CDATA_SECTION_NODE:
+                writeCDATA((CDATA) n);
+
+                break;
+
+            case Node.PROCESSING_INSTRUCTION_NODE:
+                writeProcessingInstruction((org.dom4j.ProcessingInstruction) n);
+
+                break;
+
+            case Node.ENTITY_REFERENCE_NODE:
+                writeEntity((Entity) n);
+
+                break;
+
+            case Node.DOCUMENT_NODE:
+                writeDocument((Document) n);
+
+                break;
+
+            case Node.DOCUMENT_TYPE_NODE:
+                writeDocumentType((DocumentType) n);
+
+                break;
+
+            default:
+                throw new XMLStreamException("Unsupported DOM4J Node: " + n);
+        }
+    }
+
+    /**
+     * Writes each child node within the provided {@link Branch}instance. This
+     * method simply iterates through the {@link Branch}'s nodes and calls
+     * {@link #writeNode(Node)}.
+     * 
+     * @param branch
+     *            The node whose children will be written to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeChildNodes(Branch branch) throws XMLStreamException {
+        for (int i = 0, s = branch.nodeCount(); i < s; i++) {
+            Node n = branch.node(i);
+            writeNode(n);
+        }
+    }
+
+    /**
+     * Writes a DOM4J {@link Element}node and its children to the stream.
+     * 
+     * @param elem
+     *            The {@link Element}node to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeElement(Element elem) throws XMLStreamException {
+        consumer.add(createStartElement(elem));
+        writeChildNodes(elem);
+        consumer.add(createEndElement(elem));
+    }
+
+    /**
+     * Constructs a STAX {@link StartElement}event from a DOM4J {@link
+     * Element}.
+     * 
+     * @param elem
+     *            The {@link Element}from which to construct the event.
+     * 
+     * @return The newly constructed {@link StartElement}event.
+     */
+    public StartElement createStartElement(Element elem) {
+        // create name
+        QName tagName = createQName(elem.getQName());
+
+        // create attribute & namespace iterators
+        Iterator attrIter = new AttributeIterator(elem.attributeIterator());
+        Iterator nsIter = new NamespaceIterator(elem.declaredNamespaces()
+                .iterator());
+
+        // create start event
+        return factory.createStartElement(tagName, attrIter, nsIter);
+    }
+
+    /**
+     * Constructs a STAX {@link EndElement}event from a DOM4J {@link Element}.
+     * 
+     * @param elem
+     *            The {@link Element}from which to construct the event.
+     * 
+     * @return The newly constructed {@link EndElement}event.
+     */
+    public EndElement createEndElement(Element elem) {
+        QName tagName = createQName(elem.getQName());
+        Iterator nsIter = new NamespaceIterator(elem.declaredNamespaces()
+                .iterator());
+
+        return factory.createEndElement(tagName, nsIter);
+    }
+
+    /**
+     * Writes a DOM4J {@link Attribute}to the stream.
+     * 
+     * @param attr
+     *            The {@link Attribute}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeAttribute(Attribute attr) throws XMLStreamException {
+        consumer.add(createAttribute(attr));
+    }
+
+    /**
+     * Constructs a STAX {@link javax.xml.stream.events.Attribute}event from a
+     * DOM4J {@link Attribute}.
+     * 
+     * @param attr
+     *            The {@link Attribute}from which to construct the event.
+     * 
+     * @return The newly constructed {@link javax.xml.stream.events.Attribute}
+     *         event.
+     */
+    public javax.xml.stream.events.Attribute createAttribute(Attribute attr) {
+        QName attrName = createQName(attr.getQName());
+        String value = attr.getValue();
+
+        return factory.createAttribute(attrName, value);
+    }
+
+    /**
+     * Writes a DOM4J {@link Namespace}to the stream.
+     * 
+     * @param ns
+     *            The {@link Namespace}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeNamespace(Namespace ns) throws XMLStreamException {
+        consumer.add(createNamespace(ns));
+    }
+
+    /**
+     * Constructs a STAX {@link javax.xml.stream.events.Namespace}event from a
+     * DOM4J {@link Namespace}.
+     * 
+     * @param ns
+     *            The {@link Namespace}from which to construct the event.
+     * 
+     * @return The constructed {@link javax.xml.stream.events.Namespace}event.
+     */
+    public javax.xml.stream.events.Namespace createNamespace(Namespace ns) {
+        String prefix = ns.getPrefix();
+        String uri = ns.getURI();
+
+        return factory.createNamespace(prefix, uri);
+    }
+
+    /**
+     * Writes a DOM4J {@link Text}to the stream.
+     * 
+     * @param text
+     *            The {@link Text}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeText(Text text) throws XMLStreamException {
+        consumer.add(createCharacters(text));
+    }
+
+    /**
+     * Constructs a STAX {@link Characters}event from a DOM4J {@link Text}.
+     * 
+     * @param text
+     *            The {@link Text}from which to construct the event.
+     * 
+     * @return The constructed {@link Characters}event.
+     */
+    public Characters createCharacters(Text text) {
+        return factory.createCharacters(text.getText());
+    }
+
+    /**
+     * Writes a DOM4J {@link CDATA}to the event stream.
+     * 
+     * @param cdata
+     *            The {@link CDATA}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeCDATA(CDATA cdata) throws XMLStreamException {
+        consumer.add(createCharacters(cdata));
+    }
+
+    /**
+     * Constructs a STAX {@link Characters}event from a DOM4J {@link CDATA}.
+     * 
+     * @param cdata
+     *            The {@link CDATA}from which to construct the event.
+     * 
+     * @return The newly constructed {@link Characters}event.
+     */
+    public Characters createCharacters(CDATA cdata) {
+        return factory.createCData(cdata.getText());
+    }
+
+    /**
+     * Writes a DOM4J {@link Comment}to the stream.
+     * 
+     * @param comment
+     *            The {@link Comment}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeComment(Comment comment) throws XMLStreamException {
+        consumer.add(createComment(comment));
+    }
+
+    /**
+     * Constructs a STAX {@link javax.xml.stream.events.Comment}event from a
+     * DOM4J {@link Comment}.
+     * 
+     * @param comment
+     *            The {@link Comment}from which to construct the event.
+     * 
+     * @return The constructed {@link javax.xml.stream.events.Comment}event.
+     */
+    public javax.xml.stream.events.Comment createComment(Comment comment) {
+        return factory.createComment(comment.getText());
+    }
+
+    /**
+     * Writes a DOM4J {@link ProcessingInstruction}to the stream.
+     * 
+     * @param pi
+     *            The {@link ProcessingInstruction}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeProcessingInstruction(org.dom4j.ProcessingInstruction pi)
+            throws XMLStreamException {
+        consumer.add(createProcessingInstruction(pi));
+    }
+
+    /**
+     * Constructs a STAX {@link javax.xml.stream.events.ProcessingInstruction}
+     * event from a DOM4J {@link ProcessingInstruction}.
+     * 
+     * @param pi
+     *            The {@link ProcessingInstruction}from which to construct the
+     *            event.
+     * 
+     * @return The constructed {@link
+     *         javax.xml.stream.events.ProcessingInstruction} event.
+     */
+    public ProcessingInstruction createProcessingInstruction(
+            org.dom4j.ProcessingInstruction pi) {
+        String target = pi.getTarget();
+        String data = pi.getText();
+
+        return factory.createProcessingInstruction(target, data);
+    }
+
+    /**
+     * Writes a DOM4J {@link Entity}to the stream.
+     * 
+     * @param entity
+     *            The {@link Entity}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeEntity(Entity entity) throws XMLStreamException {
+        consumer.add(createEntityReference(entity));
+    }
+
+    /**
+     * Constructs a STAX {@link EntityReference}event from a DOM4J {@link
+     * Entity}.
+     * 
+     * @param entity
+     *            The {@link Entity}from which to construct the event.
+     * 
+     * @return The constructed {@link EntityReference}event.
+     */
+    private EntityReference createEntityReference(Entity entity) {
+        return factory.createEntityReference(entity.getName(), null);
+    }
+
+    /**
+     * Writes a DOM4J {@link DocumentType}to the stream.
+     * 
+     * @param docType
+     *            The {@link DocumentType}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeDocumentType(DocumentType docType)
+            throws XMLStreamException {
+        consumer.add(createDTD(docType));
+    }
+
+    /**
+     * Constructs a STAX {@link DTD}event from a DOM4J {@link DocumentType}.
+     * 
+     * @param docType
+     *            The {@link DocumentType}from which to construct the event.
+     * 
+     * @return The constructed {@link DTD}event.
+     * 
+     * @throws RuntimeException
+     *             DOCUMENT ME!
+     */
+    public DTD createDTD(DocumentType docType) {
+        StringWriter decl = new StringWriter();
+
+        try {
+            docType.write(decl);
+        } catch (IOException e) {
+            throw new RuntimeException("Error writing DTD", e);
+        }
+
+        return factory.createDTD(decl.toString());
+    }
+
+    /**
+     * Writes a DOM4J {@link Document}node, and all its contents, to the
+     * stream.
+     * 
+     * @param doc
+     *            The {@link Document}to write to the stream.
+     * 
+     * @throws XMLStreamException
+     *             If an error occurs writing to the stream.
+     */
+    public void writeDocument(Document doc) throws XMLStreamException {
+        consumer.add(createStartDocument(doc));
+
+        writeChildNodes(doc);
+
+        consumer.add(createEndDocument(doc));
+    }
+
+    /**
+     * Constructs a STAX {@link StartDocument}event from a DOM4J {@link
+     * Document}.
+     * 
+     * @param doc
+     *            The {@link Document}from which to construct the event.
+     * 
+     * @return The constructed {@link StartDocument}event.
+     */
+    public StartDocument createStartDocument(Document doc) {
+        String encoding = doc.getXMLEncoding();
+
+        if (encoding != null) {
+            return factory.createStartDocument(encoding);
+        } else {
+            return factory.createStartDocument();
+        }
+    }
+
+    /**
+     * Constructs a STAX {@link EndDocument}event from a DOM4J {@link
+     * Document}.
+     * 
+     * @param doc
+     *            The {@link Document}from which to construct the event.
+     * 
+     * @return The constructed {@link EndDocument}event.
+     */
+    public EndDocument createEndDocument(Document doc) {
+        return factory.createEndDocument();
+    }
+
+    /**
+     * Constructs a STAX {@link QName}from a DOM4J {@link org.dom4j.QName}.
+     * 
+     * @param qname
+     *            The {@link org.dom4j.QName}from which to construct the STAX
+     *            {@link QName}.
+     * 
+     * @return The constructed {@link QName}.
+     */
+    public QName createQName(org.dom4j.QName qname) {
+        return new QName(qname.getNamespaceURI(), qname.getName(), qname
+                .getNamespacePrefix());
+    }
+
+    /**
+     * Internal {@link Iterator}implementation used to pass DOM4J {@link
+     * Attribute}s to the stream.
+     */
+    private class AttributeIterator implements Iterator {
+        /** The underlying DOm4J attribute iterator. */
+        private Iterator iter;
+
+        public AttributeIterator(Iterator iter) {
+            this.iter = iter;
+        }
+
+        public boolean hasNext() {
+            return iter.hasNext();
+        }
+
+        public Object next() {
+            Attribute attr = (Attribute) iter.next();
+            QName attrName = createQName(attr.getQName());
+            String value = attr.getValue();
+
+            return factory.createAttribute(attrName, value);
+        }
+
+        public void remove() {
+            throw new UnsupportedOperationException();
+        }
+    }
+
+    /**
+     * Internal {@link Iterator}implementation used to pass DOM4J {@link
+     * Namespace}s to the stream.
+     */
+    private class NamespaceIterator implements Iterator {
+        private Iterator iter;
+
+        public NamespaceIterator(Iterator iter) {
+            this.iter = iter;
+        }
+
+        public boolean hasNext() {
+            return iter.hasNext();
+        }
+
+        public Object next() {
+            Namespace ns = (Namespace) iter.next();
+            String prefix = ns.getPrefix();
+            String nsURI = ns.getURI();
+
+            return factory.createNamespace(prefix, nsURI);
+        }
+
+        public void remove() {
+            throw new UnsupportedOperationException();
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/XMLResult.java b/src/java/org/dom4j/io/XMLResult.java
new file mode 100644
index 0000000..51a817f
--- /dev/null
+++ b/src/java/org/dom4j/io/XMLResult.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+
+import javax.xml.transform.sax.SAXResult;
+
+import org.xml.sax.ContentHandler;
+import org.xml.sax.ext.LexicalHandler;
+
+/**
+ * <p>
+ * <code>XMLResult</code> implements a JAXP {@link SAXResult}for an output
+ * stream with support for pretty printing and control over how the XML is
+ * formatted.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class XMLResult extends SAXResult {
+    private XMLWriter xmlWriter;
+
+    public XMLResult() {
+        this(new XMLWriter());
+    }
+
+    public XMLResult(Writer writer) {
+        this(new XMLWriter(writer));
+    }
+
+    public XMLResult(Writer writer, OutputFormat format) {
+        this(new XMLWriter(writer, format));
+    }
+
+    public XMLResult(OutputStream out) throws UnsupportedEncodingException {
+        this(new XMLWriter(out));
+    }
+
+    public XMLResult(OutputStream out, OutputFormat format)
+            throws UnsupportedEncodingException {
+        this(new XMLWriter(out, format));
+    }
+
+    public XMLResult(XMLWriter xmlWriter) {
+        super(xmlWriter);
+        this.xmlWriter = xmlWriter;
+        setLexicalHandler(xmlWriter);
+    }
+
+    public XMLWriter getXMLWriter() {
+        return xmlWriter;
+    }
+
+    public void setXMLWriter(XMLWriter writer) {
+        this.xmlWriter = writer;
+        setHandler(xmlWriter);
+        setLexicalHandler(xmlWriter);
+    }
+
+    public ContentHandler getHandler() {
+        return xmlWriter;
+    }
+
+    public LexicalHandler getLexicalHandler() {
+        return xmlWriter;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/XMLWriter.java b/src/java/org/dom4j/io/XMLWriter.java
new file mode 100644
index 0000000..8e64554
--- /dev/null
+++ b/src/java/org/dom4j/io/XMLWriter.java
@@ -0,0 +1,1934 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import org.dom4j.Attribute;
+import org.dom4j.CDATA;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.Text;
+import org.dom4j.tree.NamespaceStack;
+
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.ext.LexicalHandler;
+import org.xml.sax.helpers.XMLFilterImpl;
+
+/**
+ * <p>
+ * <code>XMLWriter</code> takes a DOM4J tree and formats it to a stream as
+ * XML. It can also take SAX events too so can be used by SAX clients as this
+ * object implements the {@link org.xml.sax.ContentHandler}and {@link
+ * LexicalHandler} interfaces. as well. This formatter performs typical document
+ * formatting. The XML declaration and processing instructions are always on
+ * their own lines. An {@link OutputFormat}object can be used to define how
+ * whitespace is handled when printing and allows various configuration options,
+ * such as to allow suppression of the XML declaration, the encoding declaration
+ * or whether empty documents are collapsed.
+ * </p>
+ * 
+ * <p>
+ * There are <code>write(...)</code> methods to print any of the standard
+ * DOM4J classes, including <code>Document</code> and <code>Element</code>,
+ * to either a <code>Writer</code> or an <code>OutputStream</code>.
+ * Warning: using your own <code>Writer</code> may cause the writer's
+ * preferred character encoding to be ignored. If you use encodings other than
+ * UTF8, we recommend using the method that takes an OutputStream instead.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @author Joseph Bowbeer
+ * @version $Revision: 1.83.2.2 $
+ */
+public class XMLWriter extends XMLFilterImpl implements LexicalHandler {
+    private static final String PAD_TEXT = " ";
+
+    protected static final String[] LEXICAL_HANDLER_NAMES = {
+            "http://xml.org/sax/properties/lexical-handler",
+            "http://xml.org/sax/handlers/LexicalHandler"};
+
+    protected static final OutputFormat DEFAULT_FORMAT = new OutputFormat();
+
+    /** Should entityRefs by resolved when writing ? */
+    private boolean resolveEntityRefs = true;
+
+    /**
+     * Stores the last type of node written so algorithms can refer to the
+     * previous node type
+     */
+    protected int lastOutputNodeType;
+
+    /**
+     * Stores if the last written element node was a closing tag or an opening
+     * tag.
+     */
+    private boolean lastElementClosed = false;
+
+    /** Stores the xml:space attribute value of preserve for whitespace flag */
+    protected boolean preserve = false;
+
+    /** The Writer used to output to */
+    protected Writer writer;
+
+    /** The Stack of namespaceStack written so far */
+    private NamespaceStack namespaceStack = new NamespaceStack();
+
+    /** The format used by this writer */
+    private OutputFormat format;
+
+    /** whether we should escape text */
+    private boolean escapeText = true;
+
+    /**
+     * The initial number of indentations (so you can print a whole document
+     * indented, if you like)
+     */
+    private int indentLevel = 0;
+
+    /** buffer used when escaping strings */
+    private StringBuffer buffer = new StringBuffer();
+
+    /**
+     * whether we have added characters before from the same chunk of characters
+     */
+    private boolean charsAdded = false;
+
+    private char lastChar;
+
+    /** Whether a flush should occur after writing a document */
+    private boolean autoFlush;
+
+    /** Lexical handler we should delegate to */
+    private LexicalHandler lexicalHandler;
+
+    /**
+     * Whether comments should appear inside DTD declarations - defaults to
+     * false
+     */
+    private boolean showCommentsInDTDs;
+
+    /** Is the writer curerntly inside a DTD definition? */
+    private boolean inDTD;
+
+    /** The namespaces used for the current element when consuming SAX events */
+    private Map namespacesMap;
+
+    /**
+     * what is the maximum allowed character code such as 127 in US-ASCII (7
+     * bit) or 255 in ISO- (8 bit) or -1 to not escape any characters (other
+     * than the special XML characters like < > &)
+     */
+    private int maximumAllowedCharacter;
+
+    public XMLWriter(Writer writer) {
+        this(writer, DEFAULT_FORMAT);
+    }
+
+    public XMLWriter(Writer writer, OutputFormat format) {
+        this.writer = writer;
+        this.format = format;
+        namespaceStack.push(Namespace.NO_NAMESPACE);
+    }
+
+    public XMLWriter() {
+        this.format = DEFAULT_FORMAT;
+        this.writer = new BufferedWriter(new OutputStreamWriter(System.out));
+        this.autoFlush = true;
+        namespaceStack.push(Namespace.NO_NAMESPACE);
+    }
+
+    public XMLWriter(OutputStream out) throws UnsupportedEncodingException {
+        this.format = DEFAULT_FORMAT;
+        this.writer = createWriter(out, format.getEncoding());
+        this.autoFlush = true;
+        namespaceStack.push(Namespace.NO_NAMESPACE);
+    }
+
+    public XMLWriter(OutputStream out, OutputFormat format)
+            throws UnsupportedEncodingException {
+        this.format = format;
+        this.writer = createWriter(out, format.getEncoding());
+        this.autoFlush = true;
+        namespaceStack.push(Namespace.NO_NAMESPACE);
+    }
+
+    public XMLWriter(OutputFormat format) throws UnsupportedEncodingException {
+        this.format = format;
+        this.writer = createWriter(System.out, format.getEncoding());
+        this.autoFlush = true;
+        namespaceStack.push(Namespace.NO_NAMESPACE);
+    }
+
+    public void setWriter(Writer writer) {
+        this.writer = writer;
+        this.autoFlush = false;
+    }
+
+    public void setOutputStream(OutputStream out)
+            throws UnsupportedEncodingException {
+        this.writer = createWriter(out, format.getEncoding());
+        this.autoFlush = true;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return true if text thats output should be escaped. This is enabled by
+     *         default. It could be disabled if the output format is textual,
+     *         like in XSLT where we can have xml, html or text output.
+     */
+    public boolean isEscapeText() {
+        return escapeText;
+    }
+
+    /**
+     * Sets whether text output should be escaped or not. This is enabled by
+     * default. It could be disabled if the output format is textual, like in
+     * XSLT where we can have xml, html or text output.
+     * 
+     * @param escapeText
+     *            DOCUMENT ME!
+     */
+    public void setEscapeText(boolean escapeText) {
+        this.escapeText = escapeText;
+    }
+
+    /**
+     * Set the initial indentation level. This can be used to output a document
+     * (or, more likely, an element) starting at a given indent level, so it's
+     * not always flush against the left margin. Default: 0
+     * 
+     * @param indentLevel
+     *            the number of indents to start with
+     */
+    public void setIndentLevel(int indentLevel) {
+        this.indentLevel = indentLevel;
+    }
+
+    /**
+     * Returns the maximum allowed character code that should be allowed
+     * unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8
+     * bit).
+     * 
+     * @return DOCUMENT ME!
+     */
+    public int getMaximumAllowedCharacter() {
+        if (maximumAllowedCharacter == 0) {
+            maximumAllowedCharacter = defaultMaximumAllowedCharacter();
+        }
+
+        return maximumAllowedCharacter;
+    }
+
+    /**
+     * Sets the maximum allowed character code that should be allowed unescaped
+     * such as 127 in US-ASCII (7 bit) or 255 in ISO- (8 bit) or -1 to not
+     * escape any characters (other than the special XML characters like <
+     * > &) If this is not explicitly set then it is defaulted from the
+     * encoding.
+     * 
+     * @param maximumAllowedCharacter
+     *            The maximumAllowedCharacter to set
+     */
+    public void setMaximumAllowedCharacter(int maximumAllowedCharacter) {
+        this.maximumAllowedCharacter = maximumAllowedCharacter;
+    }
+
+    /**
+     * Flushes the underlying Writer
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void flush() throws IOException {
+        writer.flush();
+    }
+
+    /**
+     * Closes the underlying Writer
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void close() throws IOException {
+        writer.close();
+    }
+
+    /**
+     * Writes the new line text to the underlying Writer
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void println() throws IOException {
+        writer.write(format.getLineSeparator());
+    }
+
+    /**
+     * Writes the given {@link Attribute}.
+     * 
+     * @param attribute
+     *            <code>Attribute</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(Attribute attribute) throws IOException {
+        writeAttribute(attribute);
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * <p>
+     * This will print the <code>Document</code> to the current Writer.
+     * </p>
+     * 
+     * <p>
+     * Warning: using your own Writer may cause the writer's preferred character
+     * encoding to be ignored. If you use encodings other than UTF8, we
+     * recommend using the method that takes an OutputStream instead.
+     * </p>
+     * 
+     * <p>
+     * Note: as with all Writers, you may need to flush() yours after this
+     * method returns.
+     * </p>
+     * 
+     * @param doc
+     *            <code>Document</code> to format.
+     * 
+     * @throws IOException
+     *             if there's any problem writing.
+     */
+    public void write(Document doc) throws IOException {
+        writeDeclaration();
+
+        if (doc.getDocType() != null) {
+            indent();
+            writeDocType(doc.getDocType());
+        }
+
+        for (int i = 0, size = doc.nodeCount(); i < size; i++) {
+            Node node = doc.node(i);
+            writeNode(node);
+        }
+
+        writePrintln();
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * <p>
+     * Writes the <code>{@link Element}</code>, including its <code>{@link
+     * Attribute}</code>
+     * s, and its value, and all its content (child nodes) to the current
+     * Writer.
+     * </p>
+     * 
+     * @param element
+     *            <code>Element</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(Element element) throws IOException {
+        writeElement(element);
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * Writes the given {@link CDATA}.
+     * 
+     * @param cdata
+     *            <code>CDATA</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(CDATA cdata) throws IOException {
+        writeCDATA(cdata.getText());
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * Writes the given {@link Comment}.
+     * 
+     * @param comment
+     *            <code>Comment</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(Comment comment) throws IOException {
+        writeComment(comment.getText());
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * Writes the given {@link DocumentType}.
+     * 
+     * @param docType
+     *            <code>DocumentType</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(DocumentType docType) throws IOException {
+        writeDocType(docType);
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * Writes the given {@link Entity}.
+     * 
+     * @param entity
+     *            <code>Entity</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(Entity entity) throws IOException {
+        writeEntity(entity);
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * Writes the given {@link Namespace}.
+     * 
+     * @param namespace
+     *            <code>Namespace</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(Namespace namespace) throws IOException {
+        writeNamespace(namespace);
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * Writes the given {@link ProcessingInstruction}.
+     * 
+     * @param processingInstruction
+     *            <code>ProcessingInstruction</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(ProcessingInstruction processingInstruction)
+            throws IOException {
+        writeProcessingInstruction(processingInstruction);
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * <p>
+     * Print out a {@link String}, Perfoms the necessary entity escaping and
+     * whitespace stripping.
+     * </p>
+     * 
+     * @param text
+     *            is the text to output
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(String text) throws IOException {
+        writeString(text);
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * Writes the given {@link Text}.
+     * 
+     * @param text
+     *            <code>Text</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(Text text) throws IOException {
+        writeString(text.getText());
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * Writes the given {@link Node}.
+     * 
+     * @param node
+     *            <code>Node</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(Node node) throws IOException {
+        writeNode(node);
+
+        if (autoFlush) {
+            flush();
+        }
+    }
+
+    /**
+     * Writes the given object which should be a String, a Node or a List of
+     * Nodes.
+     * 
+     * @param object
+     *            is the object to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void write(Object object) throws IOException {
+        if (object instanceof Node) {
+            write((Node) object);
+        } else if (object instanceof String) {
+            write((String) object);
+        } else if (object instanceof List) {
+            List list = (List) object;
+
+            for (int i = 0, size = list.size(); i < size; i++) {
+                write(list.get(i));
+            }
+        } else if (object != null) {
+            throw new IOException("Invalid object: " + object);
+        }
+    }
+
+    /**
+     * <p>
+     * Writes the opening tag of an {@link Element}, including its {@link
+     * Attribute}s but without its content.
+     * </p>
+     * 
+     * @param element
+     *            <code>Element</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void writeOpen(Element element) throws IOException {
+        writer.write("<");
+        writer.write(element.getQualifiedName());
+        writeAttributes(element);
+        writer.write(">");
+    }
+
+    /**
+     * <p>
+     * Writes the closing tag of an {@link Element}
+     * </p>
+     * 
+     * @param element
+     *            <code>Element</code> to output.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void writeClose(Element element) throws IOException {
+        writeClose(element.getQualifiedName());
+    }
+
+    // XMLFilterImpl methods
+    // -------------------------------------------------------------------------
+    public void parse(InputSource source) throws IOException, SAXException {
+        installLexicalHandler();
+        super.parse(source);
+    }
+
+    public void setProperty(String name, Object value)
+            throws SAXNotRecognizedException, SAXNotSupportedException {
+        for (int i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+            if (LEXICAL_HANDLER_NAMES[i].equals(name)) {
+                setLexicalHandler((LexicalHandler) value);
+
+                return;
+            }
+        }
+
+        super.setProperty(name, value);
+    }
+
+    public Object getProperty(String name) throws SAXNotRecognizedException,
+            SAXNotSupportedException {
+        for (int i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+            if (LEXICAL_HANDLER_NAMES[i].equals(name)) {
+                return getLexicalHandler();
+            }
+        }
+
+        return super.getProperty(name);
+    }
+
+    public void setLexicalHandler(LexicalHandler handler) {
+        if (handler == null) {
+            throw new NullPointerException("Null lexical handler");
+        } else {
+            this.lexicalHandler = handler;
+        }
+    }
+
+    public LexicalHandler getLexicalHandler() {
+        return lexicalHandler;
+    }
+
+    // ContentHandler interface
+    // -------------------------------------------------------------------------
+    public void setDocumentLocator(Locator locator) {
+        super.setDocumentLocator(locator);
+    }
+
+    public void startDocument() throws SAXException {
+        try {
+            writeDeclaration();
+            super.startDocument();
+        } catch (IOException e) {
+            handleException(e);
+        }
+    }
+
+    public void endDocument() throws SAXException {
+        super.endDocument();
+
+        if (autoFlush) {
+            try {
+                flush();
+            } catch (IOException e) {
+            }
+        }
+    }
+
+    public void startPrefixMapping(String prefix, String uri)
+            throws SAXException {
+        if (namespacesMap == null) {
+            namespacesMap = new HashMap();
+        }
+
+        namespacesMap.put(prefix, uri);
+        super.startPrefixMapping(prefix, uri);
+    }
+
+    public void endPrefixMapping(String prefix) throws SAXException {
+        super.endPrefixMapping(prefix);
+    }
+
+    public void startElement(String namespaceURI, String localName,
+            String qName, Attributes attributes) throws SAXException {
+        try {
+            charsAdded = false;
+
+            writePrintln();
+            indent();
+            writer.write("<");
+            writer.write(qName);
+            writeNamespaces();
+            writeAttributes(attributes);
+            writer.write(">");
+            ++indentLevel;
+            lastOutputNodeType = Node.ELEMENT_NODE;
+            lastElementClosed = false;
+
+            super.startElement(namespaceURI, localName, qName, attributes);
+        } catch (IOException e) {
+            handleException(e);
+        }
+    }
+
+    public void endElement(String namespaceURI, String localName, String qName)
+            throws SAXException {
+        try {
+            charsAdded = false;
+            --indentLevel;
+
+            if (lastElementClosed) {
+                writePrintln();
+                indent();
+            }
+
+            // XXXX: need to determine this using a stack and checking for
+            // content / children
+            boolean hadContent = true;
+
+            if (hadContent) {
+                writeClose(qName);
+            } else {
+                writeEmptyElementClose(qName);
+            }
+
+            lastOutputNodeType = Node.ELEMENT_NODE;
+            lastElementClosed = true;
+
+            super.endElement(namespaceURI, localName, qName);
+        } catch (IOException e) {
+            handleException(e);
+        }
+    }
+
+    public void characters(char[] ch, int start, int length)
+            throws SAXException {
+        if ((ch == null) || (ch.length == 0) || (length <= 0)) {
+            return;
+        }
+
+        try {
+            /*
+             * we can't use the writeString method here because it's possible we
+             * don't receive all characters at once and calling writeString
+             * would cause unwanted spaces to be added in between these chunks
+             * of character arrays.
+             */
+            String string = String.valueOf(ch, start, length);
+
+            if (escapeText) {
+                string = escapeElementEntities(string);
+            }
+
+            if (format.isTrimText()) {
+                if ((lastOutputNodeType == Node.TEXT_NODE) && !charsAdded) {
+                    writer.write(' ');
+                } else if (charsAdded && Character.isWhitespace(lastChar)) {
+                    writer.write(' ');
+                } else if (lastOutputNodeType == Node.ELEMENT_NODE
+                        && format.isPadText() && lastElementClosed
+                        && Character.isWhitespace(ch[0])) {
+                    writer.write(PAD_TEXT);
+                }
+
+                String delim = "";
+                StringTokenizer tokens = new StringTokenizer(string);
+
+                while (tokens.hasMoreTokens()) {
+                    writer.write(delim);
+                    writer.write(tokens.nextToken());
+                    delim = " ";
+                }
+            } else {
+                writer.write(string);
+            }
+
+            charsAdded = true;
+            lastChar = ch[(start + length) - 1];
+            lastOutputNodeType = Node.TEXT_NODE;
+
+            super.characters(ch, start, length);
+        } catch (IOException e) {
+            handleException(e);
+        }
+    }
+
+    public void ignorableWhitespace(char[] ch, int start, int length)
+            throws SAXException {
+        super.ignorableWhitespace(ch, start, length);
+    }
+
+    public void processingInstruction(String target, String data)
+            throws SAXException {
+        try {
+            indent();
+            writer.write("<?");
+            writer.write(target);
+            writer.write(" ");
+            writer.write(data);
+            writer.write("?>");
+            writePrintln();
+            lastOutputNodeType = Node.PROCESSING_INSTRUCTION_NODE;
+
+            super.processingInstruction(target, data);
+        } catch (IOException e) {
+            handleException(e);
+        }
+    }
+
+    // DTDHandler interface
+    // -------------------------------------------------------------------------
+    public void notationDecl(String name, String publicID, String systemID)
+            throws SAXException {
+        super.notationDecl(name, publicID, systemID);
+    }
+
+    public void unparsedEntityDecl(String name, String publicID,
+            String systemID, String notationName) throws SAXException {
+        super.unparsedEntityDecl(name, publicID, systemID, notationName);
+    }
+
+    // LexicalHandler interface
+    // -------------------------------------------------------------------------
+    public void startDTD(String name, String publicID, String systemID)
+            throws SAXException {
+        inDTD = true;
+
+        try {
+            writeDocType(name, publicID, systemID);
+        } catch (IOException e) {
+            handleException(e);
+        }
+
+        if (lexicalHandler != null) {
+            lexicalHandler.startDTD(name, publicID, systemID);
+        }
+    }
+
+    public void endDTD() throws SAXException {
+        inDTD = false;
+
+        if (lexicalHandler != null) {
+            lexicalHandler.endDTD();
+        }
+    }
+
+    public void startCDATA() throws SAXException {
+        try {
+            writer.write("<![CDATA[");
+        } catch (IOException e) {
+            handleException(e);
+        }
+
+        if (lexicalHandler != null) {
+            lexicalHandler.startCDATA();
+        }
+    }
+
+    public void endCDATA() throws SAXException {
+        try {
+            writer.write("]]>");
+        } catch (IOException e) {
+            handleException(e);
+        }
+
+        if (lexicalHandler != null) {
+            lexicalHandler.endCDATA();
+        }
+    }
+
+    public void startEntity(String name) throws SAXException {
+        try {
+            writeEntityRef(name);
+        } catch (IOException e) {
+            handleException(e);
+        }
+
+        if (lexicalHandler != null) {
+            lexicalHandler.startEntity(name);
+        }
+    }
+
+    public void endEntity(String name) throws SAXException {
+        if (lexicalHandler != null) {
+            lexicalHandler.endEntity(name);
+        }
+    }
+
+    public void comment(char[] ch, int start, int length) throws SAXException {
+        if (showCommentsInDTDs || !inDTD) {
+            try {
+                charsAdded = false;
+                writeComment(new String(ch, start, length));
+            } catch (IOException e) {
+                handleException(e);
+            }
+        }
+
+        if (lexicalHandler != null) {
+            lexicalHandler.comment(ch, start, length);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void writeElement(Element element) throws IOException {
+        int size = element.nodeCount();
+        String qualifiedName = element.getQualifiedName();
+
+        writePrintln();
+        indent();
+
+        writer.write("<");
+        writer.write(qualifiedName);
+
+        int previouslyDeclaredNamespaces = namespaceStack.size();
+        Namespace ns = element.getNamespace();
+
+        if (isNamespaceDeclaration(ns)) {
+            namespaceStack.push(ns);
+            writeNamespace(ns);
+        }
+
+        // Print out additional namespace declarations
+        boolean textOnly = true;
+
+        for (int i = 0; i < size; i++) {
+            Node node = element.node(i);
+
+            if (node instanceof Namespace) {
+                Namespace additional = (Namespace) node;
+
+                if (isNamespaceDeclaration(additional)) {
+                    namespaceStack.push(additional);
+                    writeNamespace(additional);
+                }
+            } else if (node instanceof Element) {
+                textOnly = false;
+            } else if (node instanceof Comment) {
+                textOnly = false;
+            }
+        }
+
+        writeAttributes(element);
+
+        lastOutputNodeType = Node.ELEMENT_NODE;
+
+        if (size <= 0) {
+            writeEmptyElementClose(qualifiedName);
+        } else {
+            writer.write(">");
+
+            if (textOnly) {
+                // we have at least one text node so lets assume
+                // that its non-empty
+                writeElementContent(element);
+            } else {
+                // we know it's not null or empty from above
+                ++indentLevel;
+
+                writeElementContent(element);
+
+                --indentLevel;
+
+                writePrintln();
+                indent();
+            }
+
+            writer.write("</");
+            writer.write(qualifiedName);
+            writer.write(">");
+        }
+
+        // remove declared namespaceStack from stack
+        while (namespaceStack.size() > previouslyDeclaredNamespaces) {
+            namespaceStack.pop();
+        }
+
+        lastOutputNodeType = Node.ELEMENT_NODE;
+    }
+
+    /**
+     * Determines if element is a special case of XML elements where it contains
+     * an xml:space attribute of "preserve". If it does, then retain whitespace.
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected final boolean isElementSpacePreserved(Element element) {
+        final Attribute attr = (Attribute) element.attribute("space");
+        boolean preserveFound = preserve; // default to global state
+
+        if (attr != null) {
+            if ("xml".equals(attr.getNamespacePrefix())
+                    && "preserve".equals(attr.getText())) {
+                preserveFound = true;
+            } else {
+                preserveFound = false;
+            }
+        }
+
+        return preserveFound;
+    }
+
+    /**
+     * Outputs the content of the given element. If whitespace trimming is
+     * enabled then all adjacent text nodes are appended together before the
+     * whitespace trimming occurs to avoid problems with multiple text nodes
+     * being created due to text content that spans parser buffers in a SAX
+     * parser.
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    protected void writeElementContent(Element element) throws IOException {
+        boolean trim = format.isTrimText();
+        boolean oldPreserve = preserve;
+
+        if (trim) { // verify we have to before more expensive test
+            preserve = isElementSpacePreserved(element);
+            trim = !preserve;
+        }
+
+        if (trim) {
+            // concatenate adjacent text nodes together
+            // so that whitespace trimming works properly
+            Text lastTextNode = null;
+            StringBuffer buff = null;
+            boolean textOnly = true;
+
+            for (int i = 0, size = element.nodeCount(); i < size; i++) {
+                Node node = element.node(i);
+
+                if (node instanceof Text) {
+                    if (lastTextNode == null) {
+                        lastTextNode = (Text) node;
+                    } else {
+                        if (buff == null) {
+                            buff = new StringBuffer(lastTextNode.getText());
+                        }
+
+                        buff.append(((Text) node).getText());
+                    }
+                } else {
+                    if (!textOnly && format.isPadText()) {
+                        // only add the PAD_TEXT if the text itself starts with
+                        // whitespace
+                        char firstChar = 'a';
+                        if (buff != null) {
+                            firstChar = buff.charAt(0);
+                        } else if (lastTextNode != null) {
+                            firstChar = lastTextNode.getText().charAt(0);
+                        }
+
+                        if (Character.isWhitespace(firstChar)) {
+                            writer.write(PAD_TEXT);
+                        }
+                    }
+
+                    if (lastTextNode != null) {
+                        if (buff != null) {
+                            writeString(buff.toString());
+                            buff = null;
+                        } else {
+                            writeString(lastTextNode.getText());
+                        }
+
+                        if (format.isPadText()) {
+                            // only add the PAD_TEXT if the text itself ends
+                            // with whitespace
+                            char lastTextChar = 'a';
+                            if (buff != null) {
+                                lastTextChar = buff.charAt(buff.length() - 1);
+                            } else if (lastTextNode != null) {
+                                String txt = lastTextNode.getText();
+                                lastTextChar = txt.charAt(txt.length() - 1);
+                            }
+
+                            if (Character.isWhitespace(lastTextChar)) {
+                                writer.write(PAD_TEXT);
+                            }
+                        }
+
+                        lastTextNode = null;
+                    }
+
+                    textOnly = false;
+                    writeNode(node);
+                }
+            }
+
+            if (lastTextNode != null) {
+                if (!textOnly && format.isPadText()) {
+                    // only add the PAD_TEXT if the text itself starts with
+                    // whitespace
+                    char firstChar = 'a';
+                    if (buff != null) {
+                        firstChar = buff.charAt(0);
+                    } else {
+                        firstChar = lastTextNode.getText().charAt(0);
+                    }
+
+                    if (Character.isWhitespace(firstChar)) {
+                        writer.write(PAD_TEXT);
+                    }
+                }
+
+                if (buff != null) {
+                    writeString(buff.toString());
+                    buff = null;
+                } else {
+                    writeString(lastTextNode.getText());
+                }
+
+                lastTextNode = null;
+            }
+        } else {
+            Node lastTextNode = null;
+
+            for (int i = 0, size = element.nodeCount(); i < size; i++) {
+                Node node = element.node(i);
+
+                if (node instanceof Text) {
+                    writeNode(node);
+                    lastTextNode = node;
+                } else {
+                    if ((lastTextNode != null) && format.isPadText()) {
+                        // only add the PAD_TEXT if the text itself ends with
+                        // whitespace
+                        String txt = lastTextNode.getText();
+                        char lastTextChar = txt.charAt(txt.length() - 1);
+
+                        if (Character.isWhitespace(lastTextChar)) {
+                            writer.write(PAD_TEXT);
+                        }
+                    }
+
+                    writeNode(node);
+
+                    // if ((lastTextNode != null) && format.isPadText()) {
+                    // writer.write(PAD_TEXT);
+                    // }
+
+                    lastTextNode = null;
+                }
+            }
+        }
+
+        preserve = oldPreserve;
+    }
+
+    protected void writeCDATA(String text) throws IOException {
+        writer.write("<![CDATA[");
+
+        if (text != null) {
+            writer.write(text);
+        }
+
+        writer.write("]]>");
+
+        lastOutputNodeType = Node.CDATA_SECTION_NODE;
+    }
+
+    protected void writeDocType(DocumentType docType) throws IOException {
+        if (docType != null) {
+            docType.write(writer);
+            writePrintln();
+        }
+    }
+
+    protected void writeNamespace(Namespace namespace) throws IOException {
+        if (namespace != null) {
+            writeNamespace(namespace.getPrefix(), namespace.getURI());
+        }
+    }
+
+    /**
+     * Writes the SAX namepsaces
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    protected void writeNamespaces() throws IOException {
+        if (namespacesMap != null) {
+            for (Iterator iter = namespacesMap.entrySet().iterator(); iter
+                    .hasNext();) {
+                Map.Entry entry = (Map.Entry) iter.next();
+                String prefix = (String) entry.getKey();
+                String uri = (String) entry.getValue();
+                writeNamespace(prefix, uri);
+            }
+
+            namespacesMap = null;
+        }
+    }
+
+    /**
+     * Writes the SAX namepsaces
+     * 
+     * @param prefix
+     *            the prefix
+     * @param uri
+     *            the namespace uri
+     * 
+     * @throws IOException
+     */
+    protected void writeNamespace(String prefix, String uri) 
+            throws IOException {
+        if ((prefix != null) && (prefix.length() > 0)) {
+            writer.write(" xmlns:");
+            writer.write(prefix);
+            writer.write("=\"");
+        } else {
+            writer.write(" xmlns=\"");
+        }
+
+        writer.write(uri);
+        writer.write("\"");
+    }
+
+    protected void writeProcessingInstruction(ProcessingInstruction pi)
+            throws IOException {
+        // indent();
+        writer.write("<?");
+        writer.write(pi.getName());
+        writer.write(" ");
+        writer.write(pi.getText());
+        writer.write("?>");
+        writePrintln();
+
+        lastOutputNodeType = Node.PROCESSING_INSTRUCTION_NODE;
+    }
+
+    protected void writeString(String text) throws IOException {
+        if ((text != null) && (text.length() > 0)) {
+            if (escapeText) {
+                text = escapeElementEntities(text);
+            }
+
+            // if (format.isPadText()) {
+            // if (lastOutputNodeType == Node.ELEMENT_NODE) {
+            // writer.write(PAD_TEXT);
+            // }
+            // }
+            if (format.isTrimText()) {
+                boolean first = true;
+                StringTokenizer tokenizer = new StringTokenizer(text);
+
+                while (tokenizer.hasMoreTokens()) {
+                    String token = tokenizer.nextToken();
+
+                    if (first) {
+                        first = false;
+
+                        if (lastOutputNodeType == Node.TEXT_NODE) {
+                            writer.write(" ");
+                        }
+                    } else {
+                        writer.write(" ");
+                    }
+
+                    writer.write(token);
+                    lastOutputNodeType = Node.TEXT_NODE;
+                    lastChar = token.charAt(token.length() - 1);
+                }
+            } else {
+                lastOutputNodeType = Node.TEXT_NODE;
+                writer.write(text);
+                lastChar = text.charAt(text.length() - 1);
+            }
+        }
+    }
+
+    /**
+     * This method is used to write out Nodes that contain text and still allow
+     * for xml:space to be handled properly.
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    protected void writeNodeText(Node node) throws IOException {
+        String text = node.getText();
+
+        if ((text != null) && (text.length() > 0)) {
+            if (escapeText) {
+                text = escapeElementEntities(text);
+            }
+
+            lastOutputNodeType = Node.TEXT_NODE;
+            writer.write(text);
+            lastChar = text.charAt(text.length() - 1);
+        }
+    }
+
+    protected void writeNode(Node node) throws IOException {
+        int nodeType = node.getNodeType();
+
+        switch (nodeType) {
+            case Node.ELEMENT_NODE:
+                writeElement((Element) node);
+
+                break;
+
+            case Node.ATTRIBUTE_NODE:
+                writeAttribute((Attribute) node);
+
+                break;
+
+            case Node.TEXT_NODE:
+                writeNodeText(node);
+
+                // write((Text) node);
+                break;
+
+            case Node.CDATA_SECTION_NODE:
+                writeCDATA(node.getText());
+
+                break;
+
+            case Node.ENTITY_REFERENCE_NODE:
+                writeEntity((Entity) node);
+
+                break;
+
+            case Node.PROCESSING_INSTRUCTION_NODE:
+                writeProcessingInstruction((ProcessingInstruction) node);
+
+                break;
+
+            case Node.COMMENT_NODE:
+                writeComment(node.getText());
+
+                break;
+
+            case Node.DOCUMENT_NODE:
+                write((Document) node);
+
+                break;
+
+            case Node.DOCUMENT_TYPE_NODE:
+                writeDocType((DocumentType) node);
+
+                break;
+
+            case Node.NAMESPACE_NODE:
+
+                // Will be output with attributes
+                // write((Namespace) node);
+                break;
+
+            default:
+                throw new IOException("Invalid node type: " + node);
+        }
+    }
+
+    protected void installLexicalHandler() {
+        XMLReader parent = getParent();
+
+        if (parent == null) {
+            throw new NullPointerException("No parent for filter");
+        }
+
+        // try to register for lexical events
+        for (int i = 0; i < LEXICAL_HANDLER_NAMES.length; i++) {
+            try {
+                parent.setProperty(LEXICAL_HANDLER_NAMES[i], this);
+
+                break;
+            } catch (SAXNotRecognizedException ex) {
+                // ignore
+            } catch (SAXNotSupportedException ex) {
+                // ignore
+            }
+        }
+    }
+
+    protected void writeDocType(String name, String publicID, String systemID)
+            throws IOException {
+        boolean hasPublic = false;
+
+        writer.write("<!DOCTYPE ");
+        writer.write(name);
+
+        if ((publicID != null) && (!publicID.equals(""))) {
+            writer.write(" PUBLIC \"");
+            writer.write(publicID);
+            writer.write("\"");
+            hasPublic = true;
+        }
+
+        if ((systemID != null) && (!systemID.equals(""))) {
+            if (!hasPublic) {
+                writer.write(" SYSTEM");
+            }
+
+            writer.write(" \"");
+            writer.write(systemID);
+            writer.write("\"");
+        }
+
+        writer.write(">");
+        writePrintln();
+    }
+
+    protected void writeEntity(Entity entity) throws IOException {
+        if (!resolveEntityRefs()) {
+            writeEntityRef(entity.getName());
+        } else {
+            writer.write(entity.getText());
+        }
+    }
+
+    protected void writeEntityRef(String name) throws IOException {
+        writer.write("&");
+        writer.write(name);
+        writer.write(";");
+
+        lastOutputNodeType = Node.ENTITY_REFERENCE_NODE;
+    }
+
+    protected void writeComment(String text) throws IOException {
+        if (format.isNewlines()) {
+            println();
+            indent();
+        }
+
+        writer.write("<!--");
+        writer.write(text);
+        writer.write("-->");
+
+        lastOutputNodeType = Node.COMMENT_NODE;
+    }
+
+    /**
+     * Writes the attributes of the given element
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    protected void writeAttributes(Element element) throws IOException {
+        // I do not yet handle the case where the same prefix maps to
+        // two different URIs. For attributes on the same element
+        // this is illegal; but as yet we don't throw an exception
+        // if someone tries to do this
+        for (int i = 0, size = element.attributeCount(); i < size; i++) {
+            Attribute attribute = element.attribute(i);
+            Namespace ns = attribute.getNamespace();
+
+            if ((ns != null) && (ns != Namespace.NO_NAMESPACE)
+                    && (ns != Namespace.XML_NAMESPACE)) {
+                String prefix = ns.getPrefix();
+                String uri = namespaceStack.getURI(prefix);
+
+                if (!ns.getURI().equals(uri)) {
+                    writeNamespace(ns);
+                    namespaceStack.push(ns);
+                }
+            }
+
+            // If the attribute is a namespace declaration, check if we have
+            // already written that declaration elsewhere (if that's the case,
+            // it must be in the namespace stack
+            String attName = attribute.getName();
+
+            if (attName.startsWith("xmlns:")) {
+                String prefix = attName.substring(6);
+
+                if (namespaceStack.getNamespaceForPrefix(prefix) == null) {
+                    String uri = attribute.getValue();
+                    namespaceStack.push(prefix, uri);
+                    writeNamespace(prefix, uri);
+                }
+            } else if (attName.equals("xmlns")) {
+                if (namespaceStack.getDefaultNamespace() == null) {
+                    String uri = attribute.getValue();
+                    namespaceStack.push(null, uri);
+                    writeNamespace(null, uri);
+                }
+            } else {
+                char quote = format.getAttributeQuoteCharacter();
+                writer.write(" ");
+                writer.write(attribute.getQualifiedName());
+                writer.write("=");
+                writer.write(quote);
+                writeEscapeAttributeEntities(attribute.getValue());
+                writer.write(quote);
+            }
+        }
+    }
+
+    protected void writeAttribute(Attribute attribute) throws IOException {
+        writer.write(" ");
+        writer.write(attribute.getQualifiedName());
+        writer.write("=");
+
+        char quote = format.getAttributeQuoteCharacter();
+        writer.write(quote);
+
+        writeEscapeAttributeEntities(attribute.getValue());
+
+        writer.write(quote);
+        lastOutputNodeType = Node.ATTRIBUTE_NODE;
+    }
+
+    protected void writeAttributes(Attributes attributes) throws IOException {
+        for (int i = 0, size = attributes.getLength(); i < size; i++) {
+            writeAttribute(attributes, i);
+        }
+    }
+
+    protected void writeAttribute(Attributes attributes, int index)
+            throws IOException {
+        char quote = format.getAttributeQuoteCharacter();
+        writer.write(" ");
+        writer.write(attributes.getQName(index));
+        writer.write("=");
+        writer.write(quote);
+        writeEscapeAttributeEntities(attributes.getValue(index));
+        writer.write(quote);
+    }
+
+    protected void indent() throws IOException {
+        String indent = format.getIndent();
+
+        if ((indent != null) && (indent.length() > 0)) {
+            for (int i = 0; i < indentLevel; i++) {
+                writer.write(indent);
+            }
+        }
+    }
+
+    /**
+     * <p>
+     * This will print a new line only if the newlines flag was set to true
+     * </p>
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    protected void writePrintln() throws IOException {
+        if (format.isNewlines()) {
+            String seperator = format.getLineSeparator();
+            if (lastChar != seperator.charAt(seperator.length() - 1)) {
+                writer.write(format.getLineSeparator());
+            }
+        }
+    }
+
+    /**
+     * Get an OutputStreamWriter, use preferred encoding.
+     * 
+     * @param outStream
+     *            DOCUMENT ME!
+     * @param encoding
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws UnsupportedEncodingException
+     *             DOCUMENT ME!
+     */
+    protected Writer createWriter(OutputStream outStream, String encoding)
+            throws UnsupportedEncodingException {
+        return new BufferedWriter(new OutputStreamWriter(outStream, encoding));
+    }
+
+    /**
+     * <p>
+     * This will write the declaration to the given Writer. Assumes XML version
+     * 1.0 since we don't directly know.
+     * </p>
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    protected void writeDeclaration() throws IOException {
+        String encoding = format.getEncoding();
+
+        // Only print of declaration is not suppressed
+        if (!format.isSuppressDeclaration()) {
+            // Assume 1.0 version
+            if (encoding.equals("UTF8")) {
+                writer.write("<?xml version=\"1.0\"");
+
+                if (!format.isOmitEncoding()) {
+                    writer.write(" encoding=\"UTF-8\"");
+                }
+
+                writer.write("?>");
+            } else {
+                writer.write("<?xml version=\"1.0\"");
+
+                if (!format.isOmitEncoding()) {
+                    writer.write(" encoding=\"" + encoding + "\"");
+                }
+
+                writer.write("?>");
+            }
+
+            if (format.isNewLineAfterDeclaration()) {
+                println();
+            }
+        }
+    }
+
+    protected void writeClose(String qualifiedName) throws IOException {
+        writer.write("</");
+        writer.write(qualifiedName);
+        writer.write(">");
+    }
+
+    protected void writeEmptyElementClose(String qualifiedName)
+            throws IOException {
+        // Simply close up
+        if (!format.isExpandEmptyElements()) {
+            writer.write("/>");
+        } else {
+            writer.write("></");
+            writer.write(qualifiedName);
+            writer.write(">");
+        }
+    }
+
+    protected boolean isExpandEmptyElements() {
+        return format.isExpandEmptyElements();
+    }
+
+    /**
+     * This will take the pre-defined entities in XML 1.0 and convert their
+     * character representation to the appropriate entity reference, suitable
+     * for XML attributes.
+     * 
+     * @param text
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected String escapeElementEntities(String text) {
+        char[] block = null;
+        int i;
+        int last = 0;
+        int size = text.length();
+
+        for (i = 0; i < size; i++) {
+            String entity = null;
+            char c = text.charAt(i);
+
+            switch (c) {
+                case '<':
+                    entity = "<";
+
+                    break;
+
+                case '>':
+                    entity = ">";
+
+                    break;
+
+                case '&':
+                    entity = "&";
+
+                    break;
+
+                case '\t':
+                case '\n':
+                case '\r':
+
+                    // don't encode standard whitespace characters
+                    if (preserve) {
+                        entity = String.valueOf(c);
+                    }
+
+                    break;
+
+                default:
+
+                    if ((c < 32) || shouldEncodeChar(c)) {
+                        entity = "&#" + (int) c + ";";
+                    }
+
+                    break;
+            }
+
+            if (entity != null) {
+                if (block == null) {
+                    block = text.toCharArray();
+                }
+
+                buffer.append(block, last, i - last);
+                buffer.append(entity);
+                last = i + 1;
+            }
+        }
+
+        if (last == 0) {
+            return text;
+        }
+
+        if (last < size) {
+            if (block == null) {
+                block = text.toCharArray();
+            }
+
+            buffer.append(block, last, i - last);
+        }
+
+        String answer = buffer.toString();
+        buffer.setLength(0);
+
+        return answer;
+    }
+
+    protected void writeEscapeAttributeEntities(String txt) throws IOException {
+        if (txt != null) {
+            String escapedText = escapeAttributeEntities(txt);
+            writer.write(escapedText);
+        }
+    }
+
+    /**
+     * This will take the pre-defined entities in XML 1.0 and convert their
+     * character representation to the appropriate entity reference, suitable
+     * for XML attributes.
+     * 
+     * @param text
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected String escapeAttributeEntities(String text) {
+        char quote = format.getAttributeQuoteCharacter();
+
+        char[] block = null;
+        int i;
+        int last = 0;
+        int size = text.length();
+
+        for (i = 0; i < size; i++) {
+            String entity = null;
+            char c = text.charAt(i);
+
+            switch (c) {
+                case '<':
+                    entity = "<";
+
+                    break;
+
+                case '>':
+                    entity = ">";
+
+                    break;
+
+                case '\'':
+
+                    if (quote == '\'') {
+                        entity = "'";
+                    }
+
+                    break;
+
+                case '\"':
+
+                    if (quote == '\"') {
+                        entity = """;
+                    }
+
+                    break;
+
+                case '&':
+                    entity = "&";
+
+                    break;
+
+                case '\t':
+                case '\n':
+                case '\r':
+
+                    // don't encode standard whitespace characters
+                    break;
+
+                default:
+
+                    if ((c < 32) || shouldEncodeChar(c)) {
+                        entity = "&#" + (int) c + ";";
+                    }
+
+                    break;
+            }
+
+            if (entity != null) {
+                if (block == null) {
+                    block = text.toCharArray();
+                }
+
+                buffer.append(block, last, i - last);
+                buffer.append(entity);
+                last = i + 1;
+            }
+        }
+
+        if (last == 0) {
+            return text;
+        }
+
+        if (last < size) {
+            if (block == null) {
+                block = text.toCharArray();
+            }
+
+            buffer.append(block, last, i - last);
+        }
+
+        String answer = buffer.toString();
+        buffer.setLength(0);
+
+        return answer;
+    }
+
+    /**
+     * Should the given character be escaped. This depends on the encoding of
+     * the document.
+     * 
+     * @param c
+     *            DOCUMENT ME!
+     * 
+     * @return boolean
+     */
+    protected boolean shouldEncodeChar(char c) {
+        int max = getMaximumAllowedCharacter();
+
+        return (max > 0) && (c > max);
+    }
+
+    /**
+     * Returns the maximum allowed character code that should be allowed
+     * unescaped which defaults to 127 in US-ASCII (7 bit) or 255 in ISO- (8
+     * bit).
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected int defaultMaximumAllowedCharacter() {
+        String encoding = format.getEncoding();
+
+        if (encoding != null) {
+            if (encoding.equals("US-ASCII")) {
+                return 127;
+            }
+        }
+
+        // no encoding for things like ISO-*, UTF-8 or UTF-16
+        return -1;
+    }
+
+    protected boolean isNamespaceDeclaration(Namespace ns) {
+        if ((ns != null) && (ns != Namespace.XML_NAMESPACE)) {
+            String uri = ns.getURI();
+
+            if (uri != null) {
+                if (!namespaceStack.contains(ns)) {
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    protected void handleException(IOException e) throws SAXException {
+        throw new SAXException(e);
+    }
+
+    // Laramie Crocker 4/8/2002 10:38AM
+
+    /**
+     * Lets subclasses get at the current format object, so they can call
+     * setTrimText, setNewLines, etc. Put in to support the HTMLWriter, in the
+     * way that it pushes the current newline/trim state onto a stack and
+     * overrides the state within preformatted tags.
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected OutputFormat getOutputFormat() {
+        return format;
+    }
+
+    public boolean resolveEntityRefs() {
+        return resolveEntityRefs;
+    }
+
+    public void setResolveEntityRefs(boolean resolve) {
+        this.resolveEntityRefs = resolve;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/XPP3Reader.java b/src/java/org/dom4j/io/XPP3Reader.java
new file mode 100644
index 0000000..90de6e9
--- /dev/null
+++ b/src/java/org/dom4j/io/XPP3Reader.java
@@ -0,0 +1,541 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.BufferedReader;
+import java.io.CharArrayReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.URL;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+import org.dom4j.QName;
+
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+import org.xmlpull.v1.XmlPullParserFactory;
+
+/**
+ * <p>
+ * <code>XPP3Reader</code> is a Reader of DOM4J documents that uses the fast
+ * <a href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 3.x </a>.
+ * It is very fast for use in SOAP style environments.
+ * </p>
+ * 
+ * @author <a href="mailto:pelle at neubia.com">Pelle Braendgaard </a>
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class XPP3Reader {
+    /** <code>DocumentFactory</code> used to create new document objects */
+    private DocumentFactory factory;
+
+    /** <code>XmlPullParser</code> used to parse XML */
+    private XmlPullParser xppParser;
+
+    /** <code>XmlPullParser</code> used to parse XML */
+    private XmlPullParserFactory xppFactory;
+
+    /** DispatchHandler to call when each <code>Element</code> is encountered */
+    private DispatchHandler dispatchHandler;
+
+    public XPP3Reader() {
+    }
+
+    public XPP3Reader(DocumentFactory factory) {
+        this.factory = factory;
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>File</code>
+     * </p>
+     * 
+     * @param file
+     *            is the <code>File</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             if a URL could not be made for the given File
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(File file) throws DocumentException, IOException,
+            XmlPullParserException {
+        String systemID = file.getAbsolutePath();
+
+        return read(new BufferedReader(new FileReader(file)), systemID);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>URL</code>
+     * </p>
+     * 
+     * @param url
+     *            <code>URL</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(URL url) throws DocumentException, IOException,
+            XmlPullParserException {
+        String systemID = url.toExternalForm();
+
+        return read(createReader(url.openStream()), systemID);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given URL or filename.
+     * </p>
+     * 
+     * <p>
+     * If the systemID contains a <code>':'</code> character then it is
+     * assumed to be a URL otherwise its assumed to be a file name. If you want
+     * finer grained control over this mechansim then please explicitly pass in
+     * either a {@link URL}or a {@link File}instance instead of a {@link
+     * String} to denote the source of the document.
+     * </p>
+     * 
+     * @param systemID
+     *            is a URL for a document or a file name.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             if a URL could not be made for the given File
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(String systemID) throws DocumentException,
+            IOException, XmlPullParserException {
+        if (systemID.indexOf(':') >= 0) {
+            // lets assume its a URL
+            return read(new URL(systemID));
+        } else {
+            // lets assume that we are given a file name
+            return read(new File(systemID));
+        }
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given stream
+     * </p>
+     * 
+     * @param in
+     *            <code>InputStream</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(InputStream in) throws DocumentException, IOException,
+            XmlPullParserException {
+        return read(createReader(in));
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>Reader</code>
+     * </p>
+     * 
+     * @param reader
+     *            is the reader for the input
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(Reader reader) throws DocumentException, IOException,
+            XmlPullParserException {
+        getXPPParser().setInput(reader);
+
+        return parseDocument();
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given array of characters
+     * </p>
+     * 
+     * @param text
+     *            is the text to parse
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(char[] text) throws DocumentException, IOException,
+            XmlPullParserException {
+        getXPPParser().setInput(new CharArrayReader(text));
+
+        return parseDocument();
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given stream
+     * </p>
+     * 
+     * @param in
+     *            <code>InputStream</code> to read from.
+     * @param systemID
+     *            is the URI for the input
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(InputStream in, String systemID)
+            throws DocumentException, IOException, XmlPullParserException {
+        return read(createReader(in), systemID);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>Reader</code>
+     * </p>
+     * 
+     * @param reader
+     *            is the reader for the input
+     * @param systemID
+     *            is the URI for the input
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(Reader reader, String systemID)
+            throws DocumentException, IOException, XmlPullParserException {
+        Document document = read(reader);
+        document.setName(systemID);
+
+        return document;
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+    public XmlPullParser getXPPParser() throws XmlPullParserException {
+        if (xppParser == null) {
+            xppParser = getXPPFactory().newPullParser();
+        }
+
+        return xppParser;
+    }
+
+    public XmlPullParserFactory getXPPFactory() throws XmlPullParserException {
+        if (xppFactory == null) {
+            xppFactory = XmlPullParserFactory.newInstance();
+        }
+
+        xppFactory.setNamespaceAware(true);
+
+        return xppFactory;
+    }
+
+    public void setXPPFactory(XmlPullParserFactory xPPfactory) {
+        this.xppFactory = xPPfactory;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>DocumentFactory</code> used to create document
+     *         objects
+     */
+    public DocumentFactory getDocumentFactory() {
+        if (factory == null) {
+            factory = DocumentFactory.getInstance();
+        }
+
+        return factory;
+    }
+
+    /**
+     * <p>
+     * This sets the <code>DocumentFactory</code> used to create new
+     * documents. This method allows the building of custom DOM4J tree objects
+     * to be implemented easily using a custom derivation of
+     * {@link DocumentFactory}
+     * </p>
+     * 
+     * @param documentFactory
+     *            <code>DocumentFactory</code> used to create DOM4J objects
+     */
+    public void setDocumentFactory(DocumentFactory documentFactory) {
+        this.factory = documentFactory;
+    }
+
+    /**
+     * Adds the <code>ElementHandler</code> to be called when the specified
+     * path is encounted.
+     * 
+     * @param path
+     *            is the path to be handled
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    public void addHandler(String path, ElementHandler handler) {
+        getDispatchHandler().addHandler(path, handler);
+    }
+
+    /**
+     * Removes the <code>ElementHandler</code> from the event based processor,
+     * for the specified path.
+     * 
+     * @param path
+     *            is the path to remove the <code>ElementHandler</code> for.
+     */
+    public void removeHandler(String path) {
+        getDispatchHandler().removeHandler(path);
+    }
+
+    /**
+     * When multiple <code>ElementHandler</code> instances have been
+     * registered, this will set a default <code>ElementHandler</code> to be
+     * called for any path which does <b>NOT </b> have a handler registered.
+     * 
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    public void setDefaultHandler(ElementHandler handler) {
+        getDispatchHandler().setDefaultHandler(handler);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected Document parseDocument() throws DocumentException, IOException,
+            XmlPullParserException {
+        DocumentFactory df = getDocumentFactory();
+        Document document = df.createDocument();
+        Element parent = null;
+        XmlPullParser pp = getXPPParser();
+        pp.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);
+
+        while (true) {
+            int type = pp.nextToken();
+
+            switch (type) {
+                case XmlPullParser.PROCESSING_INSTRUCTION: {
+                    String text = pp.getText();
+                    int loc = text.indexOf(" ");
+
+                    if (loc >= 0) {
+                        String target = text.substring(0, loc);
+                        String txt = text.substring(loc + 1);
+                        document.addProcessingInstruction(target, txt);
+                    } else {
+                        document.addProcessingInstruction(text, "");
+                    }
+
+                    break;
+                }
+
+                case XmlPullParser.COMMENT: {
+                    if (parent != null) {
+                        parent.addComment(pp.getText());
+                    } else {
+                        document.addComment(pp.getText());
+                    }
+
+                    break;
+                }
+
+                case XmlPullParser.CDSECT: {
+                    if (parent != null) {
+                        parent.addCDATA(pp.getText());
+                    } else {
+                        String msg = "Cannot have text content outside of the "
+                                + "root document";
+                        throw new DocumentException(msg);
+                    }
+
+                    break;
+                }
+
+                case XmlPullParser.ENTITY_REF:
+                    break;
+
+                case XmlPullParser.END_DOCUMENT:
+                    return document;
+
+                case XmlPullParser.START_TAG: {
+                    QName qname = (pp.getPrefix() == null) ? df.createQName(pp
+                            .getName(), pp.getNamespace()) : df.createQName(pp
+                            .getName(), pp.getPrefix(), pp.getNamespace());
+                    Element newElement = df.createElement(qname);
+                    int nsStart = pp.getNamespaceCount(pp.getDepth() - 1);
+                    int nsEnd = pp.getNamespaceCount(pp.getDepth());
+
+                    for (int i = nsStart; i < nsEnd; i++) {
+                        if (pp.getNamespacePrefix(i) != null) {
+                            newElement.addNamespace(pp.getNamespacePrefix(i),
+                                    pp.getNamespaceUri(i));
+                        }
+                    }
+
+                    for (int i = 0; i < pp.getAttributeCount(); i++) {
+                        QName qa = (pp.getAttributePrefix(i) == null) ? df
+                                .createQName(pp.getAttributeName(i)) : df
+                                .createQName(pp.getAttributeName(i), pp
+                                        .getAttributePrefix(i), pp
+                                        .getAttributeNamespace(i));
+                        newElement.addAttribute(qa, pp.getAttributeValue(i));
+                    }
+
+                    if (parent != null) {
+                        parent.add(newElement);
+                    } else {
+                        document.add(newElement);
+                    }
+
+                    parent = newElement;
+
+                    break;
+                }
+
+                case XmlPullParser.END_TAG: {
+                    if (parent != null) {
+                        parent = parent.getParent();
+                    }
+
+                    break;
+                }
+
+                case XmlPullParser.TEXT: {
+                    String text = pp.getText();
+
+                    if (parent != null) {
+                        parent.addText(text);
+                    } else {
+                        String msg = "Cannot have text content outside of the "
+                                + "root document";
+                        throw new DocumentException(msg);
+                    }
+
+                    break;
+                }
+
+                default:
+                    break;
+            }
+        }
+    }
+
+    protected DispatchHandler getDispatchHandler() {
+        if (dispatchHandler == null) {
+            dispatchHandler = new DispatchHandler();
+        }
+
+        return dispatchHandler;
+    }
+
+    protected void setDispatchHandler(DispatchHandler dispatchHandler) {
+        this.dispatchHandler = dispatchHandler;
+    }
+
+    /**
+     * Factory method to create a Reader from the given InputStream.
+     * 
+     * @param in
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    protected Reader createReader(InputStream in) throws IOException {
+        return new BufferedReader(new InputStreamReader(in));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/XPPReader.java b/src/java/org/dom4j/io/XPPReader.java
new file mode 100644
index 0000000..ef4af30
--- /dev/null
+++ b/src/java/org/dom4j/io/XPPReader.java
@@ -0,0 +1,484 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.URL;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+import org.dom4j.xpp.ProxyXmlStartTag;
+
+import org.gjt.xpp.XmlEndTag;
+import org.gjt.xpp.XmlPullParser;
+import org.gjt.xpp.XmlPullParserException;
+import org.gjt.xpp.XmlPullParserFactory;
+
+/**
+ * <p>
+ * <code>XPPReader</code> is a Reader of DOM4J documents that uses the fast <a
+ * href="http://www.extreme.indiana.edu/soap/xpp/">XML Pull Parser 2.x </a>. It
+ * does not currently support comments, CDATA or ProcessingInstructions or
+ * validation but it is very fast for use in SOAP style environments.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class XPPReader {
+    /** <code>DocumentFactory</code> used to create new document objects */
+    private DocumentFactory factory;
+
+    /** <code>XmlPullParser</code> used to parse XML */
+    private XmlPullParser xppParser;
+
+    /** <code>XmlPullParser</code> used to parse XML */
+    private XmlPullParserFactory xppFactory;
+
+    /** DispatchHandler to call when each <code>Element</code> is encountered */
+    private DispatchHandler dispatchHandler;
+
+    public XPPReader() {
+    }
+
+    public XPPReader(DocumentFactory factory) {
+        this.factory = factory;
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>File</code>
+     * </p>
+     * 
+     * @param file
+     *            is the <code>File</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             if a URL could not be made for the given File
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(File file) throws DocumentException, IOException,
+            XmlPullParserException {
+        String systemID = file.getAbsolutePath();
+
+        return read(new BufferedReader(new FileReader(file)), systemID);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>URL</code>
+     * </p>
+     * 
+     * @param url
+     *            <code>URL</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(URL url) throws DocumentException, IOException,
+            XmlPullParserException {
+        String systemID = url.toExternalForm();
+
+        return read(createReader(url.openStream()), systemID);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given URL or filename.
+     * </p>
+     * 
+     * <p>
+     * If the systemID contains a <code>':'</code> character then it is
+     * assumed to be a URL otherwise its assumed to be a file name. If you want
+     * finer grained control over this mechansim then please explicitly pass in
+     * either a {@link URL}or a {@link File}instance instead of a {@link
+     * String} to denote the source of the document.
+     * </p>
+     * 
+     * @param systemID
+     *            is a URL for a document or a file name.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             if a URL could not be made for the given File
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(String systemID) throws DocumentException,
+            IOException, XmlPullParserException {
+        if (systemID.indexOf(':') >= 0) {
+            // lets assume its a URL
+            return read(new URL(systemID));
+        } else {
+            // lets assume that we are given a file name
+            return read(new File(systemID));
+        }
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given stream
+     * </p>
+     * 
+     * @param in
+     *            <code>InputStream</code> to read from.
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(InputStream in) throws DocumentException, IOException,
+            XmlPullParserException {
+        return read(createReader(in));
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>Reader</code>
+     * </p>
+     * 
+     * @param reader
+     *            is the reader for the input
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(Reader reader) throws DocumentException, IOException,
+            XmlPullParserException {
+        getXPPParser().setInput(reader);
+
+        return parseDocument();
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given array of characters
+     * </p>
+     * 
+     * @param text
+     *            is the text to parse
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(char[] text) throws DocumentException, IOException,
+            XmlPullParserException {
+        getXPPParser().setInput(text);
+
+        return parseDocument();
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given stream
+     * </p>
+     * 
+     * @param in
+     *            <code>InputStream</code> to read from.
+     * @param systemID
+     *            is the URI for the input
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(InputStream in, String systemID)
+            throws DocumentException, IOException, XmlPullParserException {
+        return read(createReader(in), systemID);
+    }
+
+    /**
+     * <p>
+     * Reads a Document from the given <code>Reader</code>
+     * </p>
+     * 
+     * @param reader
+     *            is the reader for the input
+     * @param systemID
+     *            is the URI for the input
+     * 
+     * @return the newly created Document instance
+     * 
+     * @throws DocumentException
+     *             if an error occurs during parsing.
+     * @throws IOException
+     *             DOCUMENT ME!
+     * @throws XmlPullParserException
+     *             DOCUMENT ME!
+     */
+    public Document read(Reader reader, String systemID)
+            throws DocumentException, IOException, XmlPullParserException {
+        Document document = read(reader);
+        document.setName(systemID);
+
+        return document;
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+    public XmlPullParser getXPPParser() throws XmlPullParserException {
+        if (xppParser == null) {
+            xppParser = getXPPFactory().newPullParser();
+        }
+
+        return xppParser;
+    }
+
+    public XmlPullParserFactory getXPPFactory() throws XmlPullParserException {
+        if (xppFactory == null) {
+            xppFactory = XmlPullParserFactory.newInstance();
+        }
+
+        return xppFactory;
+    }
+
+    public void setXPPFactory(XmlPullParserFactory xPPFactory) {
+        this.xppFactory = xPPFactory;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>DocumentFactory</code> used to create document
+     *         objects
+     */
+    public DocumentFactory getDocumentFactory() {
+        if (factory == null) {
+            factory = DocumentFactory.getInstance();
+        }
+
+        return factory;
+    }
+
+    /**
+     * <p>
+     * This sets the <code>DocumentFactory</code> used to create new
+     * documents. This method allows the building of custom DOM4J tree objects
+     * to be implemented easily using a custom derivation of
+     * {@link DocumentFactory}
+     * </p>
+     * 
+     * @param documentFactory
+     *            <code>DocumentFactory</code> used to create DOM4J objects
+     */
+    public void setDocumentFactory(DocumentFactory documentFactory) {
+        this.factory = documentFactory;
+    }
+
+    /**
+     * Adds the <code>ElementHandler</code> to be called when the specified
+     * path is encounted.
+     * 
+     * @param path
+     *            is the path to be handled
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    public void addHandler(String path, ElementHandler handler) {
+        getDispatchHandler().addHandler(path, handler);
+    }
+
+    /**
+     * Removes the <code>ElementHandler</code> from the event based processor,
+     * for the specified path.
+     * 
+     * @param path
+     *            is the path to remove the <code>ElementHandler</code> for.
+     */
+    public void removeHandler(String path) {
+        getDispatchHandler().removeHandler(path);
+    }
+
+    /**
+     * When multiple <code>ElementHandler</code> instances have been
+     * registered, this will set a default <code>ElementHandler</code> to be
+     * called for any path which does <b>NOT </b> have a handler registered.
+     * 
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    public void setDefaultHandler(ElementHandler handler) {
+        getDispatchHandler().setDefaultHandler(handler);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected Document parseDocument() throws DocumentException, IOException,
+            XmlPullParserException {
+        Document document = getDocumentFactory().createDocument();
+        Element parent = null;
+        XmlPullParser parser = getXPPParser();
+        parser.setNamespaceAware(true);
+
+        ProxyXmlStartTag startTag = new ProxyXmlStartTag();
+        XmlEndTag endTag = xppFactory.newEndTag();
+
+        while (true) {
+            int type = parser.next();
+
+            switch (type) {
+                case XmlPullParser.END_DOCUMENT:
+                    return document;
+
+                case XmlPullParser.START_TAG: {
+                    parser.readStartTag(startTag);
+
+                    Element newElement = startTag.getElement();
+
+                    if (parent != null) {
+                        parent.add(newElement);
+                    } else {
+                        document.add(newElement);
+                    }
+
+                    parent = newElement;
+
+                    break;
+                }
+
+                case XmlPullParser.END_TAG: {
+                    parser.readEndTag(endTag);
+
+                    if (parent != null) {
+                        parent = parent.getParent();
+                    }
+
+                    break;
+                }
+
+                case XmlPullParser.CONTENT: {
+                    String text = parser.readContent();
+
+                    if (parent != null) {
+                        parent.addText(text);
+                    } else {
+                        String msg = "Cannot have text content outside of the "
+                                + "root document";
+                        throw new DocumentException(msg);
+                    }
+
+                    break;
+                }
+
+                default:
+                    throw new DocumentException("Error: unknown type: " + type);
+            }
+        }
+    }
+
+    protected DispatchHandler getDispatchHandler() {
+        if (dispatchHandler == null) {
+            dispatchHandler = new DispatchHandler();
+        }
+
+        return dispatchHandler;
+    }
+
+    protected void setDispatchHandler(DispatchHandler dispatchHandler) {
+        this.dispatchHandler = dispatchHandler;
+    }
+
+    /**
+     * Factory method to create a Reader from the given InputStream.
+     * 
+     * @param in
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    protected Reader createReader(InputStream in) throws IOException {
+        return new BufferedReader(new InputStreamReader(in));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/io/package.html b/src/java/org/dom4j/io/package.html
new file mode 100644
index 0000000..a11dc08
--- /dev/null
+++ b/src/java/org/dom4j/io/package.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+</head>
+<body>
+
+  <p>Provides input and output via SAX and DOM together with writing <i>dom4j</i> 
+    objects to streams as XML text.</p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/jaxb/JAXBModifier.java b/src/java/org/dom4j/jaxb/JAXBModifier.java
new file mode 100644
index 0000000..9d9b354
--- /dev/null
+++ b/src/java/org/dom4j/jaxb/JAXBModifier.java
@@ -0,0 +1,536 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.jaxb;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.Reader;
+import java.io.Writer;
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.ElementModifier;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXModifier;
+import org.dom4j.io.XMLWriter;
+
+import org.xml.sax.InputSource;
+
+/**
+ * Reads an XML document using SAX and writes its content to the provided
+ * {@link org.dom4j.io.XMLWriter}. Modifications must be provided by {@link
+ * org.dom4j.jaxb.JAXBObjectModifier} objects, which are called prior to writing
+ * the XML fragment they are registered for.
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ * 
+ * @see org.dom4j.io.SAXModifier
+ */
+public class JAXBModifier extends JAXBSupport {
+    private SAXModifier modifier;
+
+    private XMLWriter xmlWriter;
+
+    private boolean pruneElements;
+
+    private OutputFormat outputFormat;
+
+    private HashMap modifiers = new HashMap();
+
+    /**
+     * Creates a new JAXBModifier for the given JAXB context path. This is the
+     * Java package where JAXB can find the generated XML classes. This package
+     * MUST contain jaxb.properties!
+     * 
+     * @param contextPath
+     *            JAXB context path to be used
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBModifier(String contextPath) {
+        super(contextPath);
+        this.outputFormat = new OutputFormat();
+    }
+
+    /**
+     * Creates a new JAXBModifier for the given JAXB context path, using the
+     * given {@link java.lang.ClassLoader}. This is the Java package where JAXB
+     * can find the generated XML classes. This package MUST contain
+     * jaxb.properties!
+     * 
+     * @param contextPath
+     *            JAXB context path to be used
+     * @param classloader
+     *            the classloader to use
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBModifier(String contextPath, ClassLoader classloader) {
+        super(contextPath, classloader);
+        this.outputFormat = new OutputFormat();
+    }
+
+    /**
+     * Creates a new JAXBModifier for the given JAXB context path. The specified
+     * {@link org.dom4j.io.OutputFormat}will be used while writing the XML
+     * stream.
+     * 
+     * @param contextPath
+     *            JAXB context path to be used
+     * @param outputFormat
+     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBModifier(String contextPath, OutputFormat outputFormat) {
+        super(contextPath);
+        this.outputFormat = outputFormat;
+    }
+
+    /**
+     * Creates a new JAXBModifier for the given JAXB context path, using the
+     * specified {@link java.lang.Classloader}. The specified {@link
+     * org.dom4j.io.OutputFormat} will be used while writing the XML stream.
+     * 
+     * @param contextPath
+     *            JAXB context path to be used
+     * @param classloader
+     *            the class loader to be used to load JAXB
+     * @param outputFormat
+     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBModifier(String contextPath, ClassLoader classloader,
+            OutputFormat outputFormat) {
+        super(contextPath, classloader);
+        this.outputFormat = outputFormat;
+    }
+
+    /**
+     * Parses the specified {@link java.io.File}with SAX
+     * 
+     * @param source
+     *            the file to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     * @throws IOException
+     *             when an error occurs while writing to the {@link
+     *             org.dom4j.io.XMLWriter}
+     */
+    public Document modify(File source) throws DocumentException, IOException {
+        return installModifier().modify(source);
+    }
+
+    /**
+     * Parses the specified {@link java.io.File}with SAX, using the given
+     * {@link java.nio.charset.Charset}.
+     * 
+     * @param source
+     *            the file to parse
+     * @param charset
+     *            the character set to use
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     * @throws IOException
+     *             when an error occurs while writing to the {@link
+     *             org.dom4j.io.XMLWriter}
+     */
+    public Document modify(File source, Charset charset)
+            throws DocumentException, IOException {
+        try {
+            Reader reader = new InputStreamReader(new FileInputStream(source),
+                    charset);
+
+            return installModifier().modify(reader);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        } catch (FileNotFoundException ex) {
+            throw new DocumentException(ex.getMessage(), ex);
+        }
+    }
+
+    /**
+     * Parses the specified {@link org.xml.sax.InputSource}with SAX.
+     * 
+     * @param source
+     *            the input source to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     * @throws IOException
+     *             when an error occurs while writing to the {@link
+     *             org.dom4j.io.XMLWriter}
+     */
+    public Document modify(InputSource source) throws DocumentException,
+            IOException {
+        try {
+            return installModifier().modify(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the specified {@link java.io.InputStream}with SAX.
+     * 
+     * @param source
+     *            the inputstream to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     * @throws IOException
+     *             when an error occurs while writing to the {@link
+     *             org.dom4j.io.XMLWriter}
+     */
+    public Document modify(InputStream source) throws DocumentException,
+            IOException {
+        try {
+            return installModifier().modify(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the specified {@link java.io.InputStream}with SAX.
+     * 
+     * @param source
+     *            the inputstream to parse
+     * @param systemId
+     *            the URI of the given inputstream
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     * @throws IOException
+     *             when an error occurs while writing to the {@link
+     *             org.dom4j.io.XMLWriter}
+     */
+    public Document modify(InputStream source, String systemId)
+            throws DocumentException, IOException {
+        try {
+            return installModifier().modify(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the specified {@link java.io.Reader}with SAX.
+     * 
+     * @param r
+     *            the reader to use for parsing
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     * @throws IOException
+     *             when an error occurs while writing to the {@link
+     *             org.dom4j.io.XMLWriter}
+     */
+    public Document modify(Reader r) throws DocumentException, IOException {
+        try {
+            return installModifier().modify(r);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the specified {@link java.io.Reader}with SAX.
+     * 
+     * @param source
+     *            the reader to parse
+     * @param systemId
+     *            the URI of the given reader
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     * @throws IOException
+     *             when an error occurs while writing to the {@link
+     *             org.dom4j.io.XMLWriter}
+     */
+    public Document modify(Reader source, String systemId)
+            throws DocumentException, IOException {
+        try {
+            return installModifier().modify(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the the given URL or filename.
+     * 
+     * @param url
+     *            the URL or filename to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     * @throws IOException
+     *             when an error occurs while writing to the {@link
+     *             org.dom4j.io.XMLWriter}
+     */
+    public Document modify(String url) throws DocumentException, IOException {
+        try {
+            return installModifier().modify(url);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the the given URL.
+     * 
+     * @param source
+     *            the URL to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     * @throws IOException
+     *             when an error occurs while writing to the {@link
+     *             org.dom4j.io.XMLWriter}
+     */
+    public Document modify(URL source) throws DocumentException, IOException {
+        try {
+            return installModifier().modify(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Sets the Output to write the (modified) xml document to.
+     * 
+     * @param file
+     *            the {@link java.io.File}to write to
+     * 
+     * @throws IOException
+     *             when the file cannot be found or when the outputformat
+     */
+    public void setOutput(File file) throws IOException {
+        createXMLWriter().setOutputStream(new FileOutputStream(file));
+    }
+
+    /**
+     * Sets the Output to write the (modified) xml document to.
+     * 
+     * @param outputStream
+     *            the {@link java.io.OutputStream}to write to
+     * 
+     * @throws IOException
+     *             when an error occurs
+     */
+    public void setOutput(OutputStream outputStream) throws IOException {
+        createXMLWriter().setOutputStream(outputStream);
+    }
+
+    /**
+     * Sets the Output to write the (modified) xml document to.
+     * 
+     * @param writer
+     *            the {@link java.io.Writer}to write to
+     * 
+     * @throws IOException
+     *             when an error occurs
+     */
+    public void setOutput(Writer writer) throws IOException {
+        createXMLWriter().setWriter(writer);
+    }
+
+    /**
+     * Adds the {@link JAXBObjectModifier}to be called when the specified xml
+     * path is encounted while parsing the source.
+     * 
+     * @param path
+     *            the element path to listen for
+     * @param mod
+     *            the modifier to register
+     */
+    public void addObjectModifier(String path, JAXBObjectModifier mod) {
+        modifiers.put(path, mod);
+    }
+
+    /**
+     * Removes the {@link JAXBObjectModifier}from the event based processor,
+     * for the specified element path.
+     * 
+     * @param path
+     *            the xml path to remove the modifier for
+     */
+    public void removeObjectModifier(String path) {
+        modifiers.remove(path);
+        getModifier().removeModifier(path);
+    }
+
+    /**
+     * Removes all registered {@link JAXBObjectModifier}instances from the
+     * event based processor.
+     */
+    public void resetObjectModifiers() {
+        modifiers.clear();
+        getModifier().resetModifiers();
+    }
+
+    /**
+     * Returns true when the modified {@link org.dom4j.Document}is not kept in
+     * memory.
+     * 
+     * @return Returns true if elements are pruned.
+     */
+    public boolean isPruneElements() {
+        return pruneElements;
+    }
+
+    /**
+     * Define whether the modified {@link org.dom4j.Document}must only be
+     * written to the output and pruned from the DOM4J tree.
+     * 
+     * @param pruneElements
+     *            When true, elements will not be kept in memory
+     */
+    public void setPruneElements(boolean pruneElements) {
+        this.pruneElements = pruneElements;
+    }
+
+    private SAXModifier installModifier() throws IOException {
+        modifier = new SAXModifier(isPruneElements());
+
+        modifier.resetModifiers();
+
+        Iterator modifierIt = modifiers.entrySet().iterator();
+
+        while (modifierIt.hasNext()) {
+            Map.Entry entry = (Map.Entry) modifierIt.next();
+            ElementModifier mod = new JAXBElementModifier(this,
+                    (JAXBObjectModifier) entry.getValue());
+            getModifier().addModifier((String) entry.getKey(), mod);
+        }
+
+        modifier.setXMLWriter(getXMLWriter());
+
+        return modifier;
+    }
+
+    private SAXModifier getModifier() {
+        if (this.modifier == null) {
+            modifier = new SAXModifier(isPruneElements());
+        }
+
+        return modifier;
+    }
+
+    private XMLWriter getXMLWriter() {
+        return xmlWriter;
+    }
+
+    private XMLWriter createXMLWriter() throws IOException {
+        if (this.xmlWriter == null) {
+            xmlWriter = new XMLWriter(outputFormat);
+        }
+
+        return xmlWriter;
+    }
+
+    private class JAXBElementModifier implements ElementModifier {
+        private JAXBModifier jaxbModifier;
+
+        private JAXBObjectModifier objectModifier;
+
+        public JAXBElementModifier(JAXBModifier jaxbModifier,
+                JAXBObjectModifier objectModifier) {
+            this.jaxbModifier = jaxbModifier;
+            this.objectModifier = objectModifier;
+        }
+
+        public org.dom4j.Element modifyElement(org.dom4j.Element element)
+                throws Exception {
+            javax.xml.bind.Element originalObject = jaxbModifier
+                    .unmarshal(element);
+            javax.xml.bind.Element modifiedObject = objectModifier
+                    .modifyObject(originalObject);
+
+            return jaxbModifier.marshal(modifiedObject);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/jaxb/JAXBObjectHandler.java b/src/java/org/dom4j/jaxb/JAXBObjectHandler.java
new file mode 100644
index 0000000..031ada2
--- /dev/null
+++ b/src/java/org/dom4j/jaxb/JAXBObjectHandler.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.jaxb;
+
+import javax.xml.bind.Element;
+
+/**
+ * JAXBObjectHandler implementations can be registered with the JAXB Reader in
+ * order to receive unmarshalled XML fragments.
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+public interface JAXBObjectHandler {
+    /**
+     * Called when the {@link JAXBReader}has finished parsing the xml path the
+     * handler was registered for. The provided object is the unmarshalled
+     * representation of the XML path. It can be casted to the appropriate
+     * implementation class that is generated by the JAXB compiler.
+     * 
+     * @param jaxbElement
+     *            the unmarshalled JAXB object to handle
+     * 
+     * @throws Exception
+     *             of any kind, thrown by the implementation
+     */
+    void handleObject(Element jaxbElement) throws Exception;
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/jaxb/JAXBObjectModifier.java b/src/java/org/dom4j/jaxb/JAXBObjectModifier.java
new file mode 100644
index 0000000..45f0150
--- /dev/null
+++ b/src/java/org/dom4j/jaxb/JAXBObjectModifier.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.jaxb;
+
+import javax.xml.bind.Element;
+
+/**
+ * JAXBObjectHandler implementations can be registered with the {@link
+ * JAXBModifier} in order to change unmarshalled XML fragments.
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+public interface JAXBObjectModifier {
+    /**
+     * Called when the {@link JAXBModifier}has finished parsing the xml path
+     * the handler was registered for. The provided object is the unmarshalled
+     * representation of the XML fragment. It can be casted to the appropriate
+     * implementation class that is generated by the JAXB compiler. <br>
+     * The modified JAXB element that returns from this method will be
+     * marshalled by the {@link JAXBModifier}and put in the DOM4J tree.
+     * 
+     * @param jaxbElement
+     *            the JAXB object to be modified
+     * 
+     * @return the modified JAXB object, or null when it must be removed.
+     * 
+     * @throws Exception
+     *             possibly thrown by the implementation.
+     */
+    Element modifyObject(Element jaxbElement) throws Exception;
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/jaxb/JAXBReader.java b/src/java/org/dom4j/jaxb/JAXBReader.java
new file mode 100644
index 0000000..0245240
--- /dev/null
+++ b/src/java/org/dom4j/jaxb/JAXBReader.java
@@ -0,0 +1,436 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.jaxb;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.net.URL;
+import java.nio.charset.Charset;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+import org.dom4j.ElementPath;
+import org.dom4j.io.SAXReader;
+
+import org.xml.sax.InputSource;
+
+/**
+ * Reads an XML document and creates a DOM4J tree from SAX parsing events.
+ * {@link JAXBObjectHandler}objects can be registered to automatically receive
+ * unmarshalled XML fragments. Registered {@linkorg.dom4j.ElementHandler}
+ * implementations are notified when a certain element path is encountered
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ * 
+ * @see org.dom4j.io.SAXReader
+ * @see javax.xml.bind.JAXBContext
+ */
+public class JAXBReader extends JAXBSupport {
+    private SAXReader reader;
+
+    private boolean pruneElements;
+
+    /**
+     * Creates a new JAXBReader for the given JAXB context path. This is the
+     * Java package where JAXB can find the generated XML classes. This package
+     * MUST contain jaxb.properties!
+     * 
+     * @param contextPath
+     *            context path to be used
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBReader(String contextPath) {
+        super(contextPath);
+    }
+
+    /**
+     * Creates a new JAXBReader for the given JAXB context path, using the
+     * specified {@link java.lang.Classloader}. This is the Java package where
+     * JAXB can find the generated XML classes. This package MUST contain
+     * jaxb.properties!
+     * 
+     * @param contextPath
+     *            to be used
+     * @param classloader
+     *            to be used
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBReader(String contextPath, ClassLoader classloader) {
+        super(contextPath, classloader);
+    }
+
+    /**
+     * Parses the specified {@link java.io.File}
+     * 
+     * @param source
+     *            the file to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     */
+    public Document read(File source) throws DocumentException {
+        return getReader().read(source);
+    }
+
+    /**
+     * Parses the specified {@link java.io.File}, using the given {@link
+     * java.nio.charset.Charset}.
+     * 
+     * @param file
+     *            the file to parse
+     * @param charset
+     *            the charset to be used
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     */
+    public Document read(File file, Charset charset) throws DocumentException {
+        try {
+            Reader xmlReader = new InputStreamReader(new FileInputStream(file),
+                    charset);
+
+            return getReader().read(xmlReader);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        } catch (FileNotFoundException ex) {
+            throw new DocumentException(ex.getMessage(), ex);
+        }
+    }
+
+    /**
+     * Parses the specified {@link org.xml.sax.InputSource}
+     * 
+     * @param source
+     *            the source to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     */
+    public Document read(InputSource source) throws DocumentException {
+        try {
+            return getReader().read(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the specified {@link java.io.InputStream}
+     * 
+     * @param source
+     *            the input stream to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     */
+    public Document read(InputStream source) throws DocumentException {
+        try {
+            return getReader().read(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the specified {@link java.io.InputStream}
+     * 
+     * @param source
+     *            the input stream to parse
+     * @param systemId
+     *            is the URI for the input
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     */
+    public Document read(InputStream source, String systemId)
+            throws DocumentException {
+        try {
+            return getReader().read(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the specified {@link java.io.Reader}
+     * 
+     * @param source
+     *            the input reader to use
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     */
+    public Document read(Reader source) throws DocumentException {
+        try {
+            return getReader().read(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the specified {@link java.io.Reader}
+     * 
+     * @param source
+     *            the input reader to parse
+     * @param systemId
+     *            is the URI for the input
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     */
+    public Document read(Reader source, String systemId)
+            throws DocumentException {
+        try {
+            return getReader().read(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the the given URL or filename.
+     * 
+     * @param source
+     *            the location to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     */
+    public Document read(String source) throws DocumentException {
+        try {
+            return getReader().read(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Parses the the given URL.
+     * 
+     * @param source
+     *            the URL to parse
+     * 
+     * @return the resulting DOM4J document
+     * 
+     * @throws DocumentException
+     *             when an error occurs while parsing
+     */
+    public Document read(URL source) throws DocumentException {
+        try {
+            return getReader().read(source);
+        } catch (JAXBRuntimeException ex) {
+            Throwable cause = ex.getCause();
+            throw new DocumentException(cause.getMessage(), cause);
+        }
+    }
+
+    /**
+     * Registers a {@link JAXBObjectHandler}that will be supplied with the
+     * unmarshalled representation of the xml fragment whenever the specified
+     * path is encounted.
+     * 
+     * @param path
+     *            the path to listen for
+     * @param handler
+     *            the handler to be notified
+     */
+    public void addObjectHandler(String path, JAXBObjectHandler handler) {
+        ElementHandler eHandler = new UnmarshalElementHandler(this, handler);
+        getReader().addHandler(path, eHandler);
+    }
+
+    /**
+     * Removes the {@link JAXBObjectHandler}from the event based processor, for
+     * the specified element path.
+     * 
+     * @param path
+     *            The path to remove the {@link JAXBObjectHandler}for
+     */
+    public void removeObjectHandler(String path) {
+        getReader().removeHandler(path);
+    }
+
+    /**
+     * Adds the <code>ElementHandler</code> to be called when the specified
+     * path is encounted.
+     * 
+     * @param path
+     *            is the path to be handled
+     * @param handler
+     *            is the <code>ElementHandler</code> to be called by the event
+     *            based processor.
+     */
+    public void addHandler(String path, ElementHandler handler) {
+        getReader().addHandler(path, handler);
+    }
+
+    /**
+     * Removes the <code>ElementHandler</code> from the event based processor,
+     * for the specified path.
+     * 
+     * @param path
+     *            is the path to remove the <code>ElementHandler</code> for.
+     */
+    public void removeHandler(String path) {
+        getReader().removeHandler(path);
+    }
+
+    /**
+     * Removes all registered {@link JAXBObjectHandler}and {@link
+     * org.dom4j.ElementHandler} instances from the event based processor.
+     */
+    public void resetHandlers() {
+        getReader().resetHandlers();
+    }
+
+    /**
+     * When 'true', the DOM4J document will not be kept in memory while parsing.
+     * 
+     * @return Returns the pruneElements.
+     */
+    public boolean isPruneElements() {
+        return pruneElements;
+    }
+
+    /**
+     * Set to true when DOM4J elements must immediately be pruned from the tree.
+     * The {@link Document}will not be available afterwards!
+     * 
+     * @param pruneElements
+     */
+    public void setPruneElements(boolean pruneElements) {
+        this.pruneElements = pruneElements;
+
+        if (pruneElements) {
+            getReader().setDefaultHandler(new PruningElementHandler());
+        }
+    }
+
+    private SAXReader getReader() {
+        if (reader == null) {
+            reader = new SAXReader();
+        }
+
+        return reader;
+    }
+
+    private class UnmarshalElementHandler implements ElementHandler {
+        private JAXBReader jaxbReader;
+
+        private JAXBObjectHandler handler;
+
+        public UnmarshalElementHandler(JAXBReader documentReader,
+                JAXBObjectHandler handler) {
+            this.jaxbReader = documentReader;
+            this.handler = handler;
+        }
+
+        public void onStart(ElementPath elementPath) {
+        }
+
+        public void onEnd(ElementPath elementPath) {
+            try {
+                org.dom4j.Element elem = elementPath.getCurrent();
+
+                javax.xml.bind.Element jaxbObject 
+                        = (javax.xml.bind.Element) jaxbReader.unmarshal(elem);
+
+                if (jaxbReader.isPruneElements()) {
+                    elem.detach();
+                }
+
+                handler.handleObject(jaxbObject);
+            } catch (Exception ex) {
+                throw new JAXBRuntimeException(ex);
+            }
+        }
+    }
+
+    private class PruningElementHandler implements ElementHandler {
+        public PruningElementHandler() {
+        }
+
+        public void onStart(ElementPath parm1) {
+        }
+
+        public void onEnd(ElementPath elementPath) {
+            Element elem = elementPath.getCurrent();
+            elem.detach();
+            elem = null;
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/jaxb/JAXBRuntimeException.java b/src/java/org/dom4j/jaxb/JAXBRuntimeException.java
new file mode 100644
index 0000000..5ce73e3
--- /dev/null
+++ b/src/java/org/dom4j/jaxb/JAXBRuntimeException.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.jaxb;
+
+/**
+ * Exception internally thrown by the JAXBReader classes. This is a
+ * RuntimeException since the {@link org.dom4j.ElementHandler}methods do not
+ * throw Exceptions.
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+class JAXBRuntimeException extends RuntimeException {
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param cause
+     *            The causing {@link java.lang.Throwable}
+     */
+    protected JAXBRuntimeException(Throwable cause) {
+        super(cause);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/jaxb/JAXBSupport.java b/src/java/org/dom4j/jaxb/JAXBSupport.java
new file mode 100644
index 0000000..c1e4ae3
--- /dev/null
+++ b/src/java/org/dom4j/jaxb/JAXBSupport.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.jaxb;
+
+import java.io.StringReader;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+
+import org.dom4j.dom.DOMDocument;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+abstract class JAXBSupport {
+    private String contextPath;
+
+    private ClassLoader classloader;
+
+    private JAXBContext jaxbContext;
+
+    private Marshaller marshaller;
+
+    private Unmarshaller unmarshaller;
+
+    public JAXBSupport(String contextPath) {
+        this.contextPath = contextPath;
+    }
+
+    public JAXBSupport(String contextPath, ClassLoader classloader) {
+        this.contextPath = contextPath;
+        this.classloader = classloader;
+    }
+
+    /**
+     * Marshals the given {@link javax.xml.bind.Element}in to its DOM4J
+     * counterpart.
+     * 
+     * @param element
+     *            JAXB Element to be marshalled
+     * 
+     * @return the marshalled DOM4J {@link org.dom4j.Element}
+     * 
+     * @throws JAXBException
+     *             when an error occurs
+     */
+    protected org.dom4j.Element marshal(javax.xml.bind.Element element)
+            throws JAXBException {
+        DOMDocument doc = new DOMDocument();
+        getMarshaller().marshal(element, doc);
+
+        return doc.getRootElement();
+    }
+
+    /**
+     * Unmarshalls the specified DOM4J {@link org.dom4j.Element}into a {@link
+     * javax.xml.bind.Element}
+     * 
+     * @param element
+     *            the DOM4J element to unmarshall
+     * 
+     * @return the unmarshalled JAXB object
+     * 
+     * @throws JAXBException
+     *             when an error occurs
+     */
+    protected javax.xml.bind.Element unmarshal(org.dom4j.Element element)
+            throws JAXBException {
+        Source source = new StreamSource(new StringReader(element.asXML()));
+
+        return (javax.xml.bind.Element) getUnmarshaller().unmarshal(source);
+    }
+
+    private Marshaller getMarshaller() throws JAXBException {
+        if (marshaller == null) {
+            marshaller = getContext().createMarshaller();
+        }
+
+        return marshaller;
+    }
+
+    private Unmarshaller getUnmarshaller() throws JAXBException {
+        if (unmarshaller == null) {
+            unmarshaller = getContext().createUnmarshaller();
+        }
+
+        return unmarshaller;
+    }
+
+    private JAXBContext getContext() throws JAXBException {
+        if (jaxbContext == null) {
+            if (classloader == null) {
+                jaxbContext = JAXBContext.newInstance(contextPath);
+            } else {
+                jaxbContext = JAXBContext.newInstance(contextPath, classloader);
+            }
+        }
+
+        return jaxbContext;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/jaxb/JAXBWriter.java b/src/java/org/dom4j/jaxb/JAXBWriter.java
new file mode 100644
index 0000000..60b383f
--- /dev/null
+++ b/src/java/org/dom4j/jaxb/JAXBWriter.java
@@ -0,0 +1,326 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.jaxb;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.Writer;
+
+import javax.xml.bind.JAXBException;
+
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+import org.xml.sax.SAXException;
+
+/**
+ * Writes {@link javax.xml.bind.Element}objects to an XML stream. {@link
+ * javax.xml.bind.Element} instances can be created using the ObjectFactory that
+ * is generated by the JAXB compiler.
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ * 
+ * @see org.dom4j.io.XMLWriter
+ * @see javax.xml.bind.JAXBContext
+ */
+public class JAXBWriter extends JAXBSupport {
+    private XMLWriter xmlWriter;
+
+    private OutputFormat outputFormat;
+
+    /**
+     * Creates a new JAXBWriter for the given JAXB context path. This is the
+     * Java package where JAXB can find the generated XML classes. This package
+     * MUST contain jaxb.properties!
+     * 
+     * @param contextPath
+     *            JAXB context path to be used
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBWriter(String contextPath) {
+        super(contextPath);
+        outputFormat = new OutputFormat();
+    }
+
+    /**
+     * Creates a new JAXBWriter for the given JAXB context path. The specied
+     * {@link org.dom4j.io.OutputFormat}will be used for writing the XML
+     * stream.
+     * 
+     * @param contextPath
+     *            JAXB context path to be used
+     * @param outputFormat
+     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBWriter(String contextPath, OutputFormat outputFormat) {
+        super(contextPath);
+        this.outputFormat = outputFormat;
+    }
+
+    /**
+     * Creates a new JAXBWriter for the given JAXB context path, using the
+     * specified {@link java.lang.Classloader}. (This is the Java package where
+     * JAXB can find the generated XML classes. This package MUST contain
+     * jaxb.properties!)
+     * 
+     * @param contextPath
+     *            JAXB context path to be used
+     * @param classloader
+     *            the classloader to be used for loading JAXB
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBWriter(String contextPath, ClassLoader classloader) {
+        super(contextPath, classloader);
+    }
+
+    /**
+     * Creates a new JAXBWriter for the given JAXB context path, using the
+     * specified {@link java.lang.Classloader}. The specied {@link
+     * org.dom4j.io.OutputFormat} will be used while writing the XML stream.
+     * 
+     * @param contextPath
+     *            JAXB context path to be used
+     * @param classloader
+     *            the class loader to be used to load JAXB
+     * @param outputFormat
+     *            the DOM4J {@link org.dom4j.io.OutputFormat}to be used
+     * 
+     * @see javax.xml.bind.JAXBContext
+     */
+    public JAXBWriter(String contextPath, ClassLoader classloader,
+            OutputFormat outputFormat) {
+        super(contextPath, classloader);
+        this.outputFormat = outputFormat;
+    }
+
+    /**
+     * Returns the OutputFormat that will be used when writing the XML stream.
+     * 
+     * @return Returns the output format.
+     */
+    public OutputFormat getOutputFormat() {
+        return outputFormat;
+    }
+
+    /**
+     * Defines to write the resulting output to the specified {@link
+     * java.io.File}.
+     * 
+     * @param file
+     *            file to write to
+     * 
+     * @throws IOException
+     *             when the file cannot be found
+     */
+    public void setOutput(File file) throws IOException {
+        getWriter().setOutputStream(new FileOutputStream(file));
+    }
+
+    /**
+     * Defines to write the resulting output to the specified {@link
+     * java.io.OutputStream}
+     * 
+     * @param outputStream
+     *            outputStream to write to.
+     * 
+     * @throws IOException
+     *             DOCUMENT ME!
+     */
+    public void setOutput(OutputStream outputStream) throws IOException {
+        getWriter().setOutputStream(outputStream);
+    }
+
+    /**
+     * Defines to write the resulting output to the specified {@link Writer}.
+     * 
+     * @param writer
+     *            writer to write to
+     * 
+     * @throws IOException
+     */
+    public void setOutput(Writer writer) throws IOException {
+        getWriter().setWriter(writer);
+    }
+
+    /**
+     * Start a document by writing the initial XML declaration to the output.
+     * This must be done prior to writing any other elements.
+     * 
+     * @throws IOException
+     *             if an error occured while writing the output
+     * @throws SAXException
+     *             thrown by the underlying SAX driver
+     */
+    public void startDocument() throws IOException, SAXException {
+        getWriter().startDocument();
+    }
+
+    /**
+     * Stop writing the document to the output. This must be done when all other
+     * elements are finished.
+     * 
+     * @throws IOException
+     *             if an error occured while writing the output
+     * @throws SAXException
+     *             thrown by the underlying SAX driver
+     */
+    public void endDocument() throws IOException, SAXException {
+        getWriter().endDocument();
+    }
+
+    /**
+     * Writes the specified {@link javax.xml.bind.Element}to the document.
+     * {@link javax.xml.bind.Element}instances can be created using the
+     * ObjectFactory that is generated by the JAXB compiler.
+     * 
+     * @param jaxbObject
+     * 
+     * @throws IOException
+     *             if an error occured while writing the output
+     * @throws JAXBException
+     *             when an error occured while marshalling the jaxbObject
+     */
+    public void write(javax.xml.bind.Element jaxbObject) throws IOException,
+            JAXBException {
+        getWriter().write(marshal(jaxbObject));
+    }
+
+    /**
+     * Writes the closing tag of the specified {@link javax.xml.bind.Element}to
+     * the document. This method can be used for writing {@link
+     * javax.xml.bind.Element} instances can be created using the ObjectFactory
+     * that is generated by the JAXB compiler.
+     * 
+     * @param jaxbObject
+     *            the JAXB element to write
+     * 
+     * @throws IOException
+     *             if an error occured while writing the output
+     * @throws JAXBException
+     *             when an error occured while marshalling the jaxbObject
+     */
+    public void writeClose(javax.xml.bind.Element jaxbObject)
+            throws IOException, JAXBException {
+        getWriter().writeClose(marshal(jaxbObject));
+    }
+
+    /**
+     * Writes the opening tag of the specified {@link javax.xml.bind.Element}to
+     * the document. {@link javax.xml.bind.Element}instances can be created
+     * using the ObjectFactory that is generated by the JAXB compiler.
+     * 
+     * @param jaxbObject
+     *            the JAXB element to write
+     * 
+     * @throws IOException
+     *             if an error occured while writing the output
+     * @throws JAXBException
+     *             when an error occured while marshalling the jaxbObject
+     */
+    public void writeOpen(javax.xml.bind.Element jaxbObject)
+            throws IOException, JAXBException {
+        getWriter().writeOpen(marshal(jaxbObject));
+    }
+
+    /**
+     * Writes the specified {@link org.dom4j.Element}to the document.
+     * 
+     * @param element
+     *            the {@link org.dom4j.Element}to write
+     * 
+     * @throws IOException
+     *             if an error occured while writing the output
+     */
+    public void writeElement(Element element) throws IOException {
+        getWriter().write(element);
+    }
+
+    /**
+     * Writes the closing tag of the specified {@link org.dom4j.Element}to the
+     * document.
+     * 
+     * @param element
+     *            the {@link org.dom4j.Element}to write
+     * 
+     * @throws IOException
+     *             if an error occured while writing the output
+     */
+    public void writeCloseElement(Element element) throws IOException {
+        getWriter().writeClose(element);
+    }
+
+    /**
+     * Writes the opening tag of the specified {@link org.dom4j.Element}to the
+     * document.
+     * 
+     * @param element
+     *            the {@link org.dom4j.Element}to write
+     * 
+     * @throws IOException
+     *             if an error occured while writing the output
+     */
+    public void writeOpenElement(Element element) throws IOException {
+        getWriter().writeOpen(element);
+    }
+
+    private XMLWriter getWriter() throws IOException {
+        if (xmlWriter == null) {
+            if (this.outputFormat != null) {
+                xmlWriter = new XMLWriter(outputFormat);
+            } else {
+                xmlWriter = new XMLWriter();
+            }
+        }
+
+        return xmlWriter;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/package.html b/src/java/org/dom4j/package.html
new file mode 100644
index 0000000..0bfe9c7
--- /dev/null
+++ b/src/java/org/dom4j/package.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+</head>
+<body>
+
+  <p>Defines the XML Document Object Model in Java interfaces together 
+    with some helper classes.</p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/rule/Action.java b/src/java/org/dom4j/rule/Action.java
new file mode 100644
index 0000000..41ed4d9
--- /dev/null
+++ b/src/java/org/dom4j/rule/Action.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>Action</code> represents some default action which should occur when
+ * a rule matches a node in the XSLT processing model.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public interface Action {
+    void run(Node node) throws Exception;
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/rule/Mode.java b/src/java/org/dom4j/rule/Mode.java
new file mode 100644
index 0000000..c644c68
--- /dev/null
+++ b/src/java/org/dom4j/rule/Mode.java
@@ -0,0 +1,306 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.dom4j.Attribute;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>Mode</code> manages a number of RuleSet instances for the mode in a
+ * stylesheet. It is responsible for finding the correct rule for a given DOM4J
+ * Node using the XSLT processing model uses the smallest possible RuleSet to
+ * reduce the number of Rule evaluations.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class Mode {
+    private RuleSet[] ruleSets = new RuleSet[Pattern.NUMBER_OF_TYPES];
+
+    /** Map of exact (local) element names to RuleSet instances */
+    private Map elementNameRuleSets;
+
+    /** Map of exact (local) attribute names to RuleSet instances */
+    private Map attributeNameRuleSets;
+
+    public Mode() {
+    }
+
+    /**
+     * Runs the actions associated with the given node
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void fireRule(Node node) throws Exception {
+        if (node != null) {
+            Rule rule = getMatchingRule(node);
+
+            if (rule != null) {
+                Action action = rule.getAction();
+
+                if (action != null) {
+                    action.run(node);
+                }
+            }
+        }
+    }
+
+    public void applyTemplates(Element element) throws Exception {
+        for (int i = 0, size = element.attributeCount(); i < size; i++) {
+            Attribute attribute = element.attribute(i);
+            fireRule(attribute);
+        }
+
+        for (int i = 0, size = element.nodeCount(); i < size; i++) {
+            Node node = element.node(i);
+            fireRule(node);
+        }
+    }
+
+    public void applyTemplates(Document document) throws Exception {
+        for (int i = 0, size = document.nodeCount(); i < size; i++) {
+            Node node = document.node(i);
+            fireRule(node);
+        }
+    }
+
+    public void addRule(Rule rule) {
+        int matchType = rule.getMatchType();
+        String name = rule.getMatchesNodeName();
+
+        if (name != null) {
+            if (matchType == Node.ELEMENT_NODE) {
+                elementNameRuleSets = addToNameMap(elementNameRuleSets, name,
+                        rule);
+            } else if (matchType == Node.ATTRIBUTE_NODE) {
+                attributeNameRuleSets = addToNameMap(attributeNameRuleSets,
+                        name, rule);
+            }
+        }
+
+        if (matchType >= Pattern.NUMBER_OF_TYPES) {
+            matchType = Pattern.ANY_NODE;
+        }
+
+        if (matchType == Pattern.ANY_NODE) {
+            // add rule to all other RuleSets if they exist
+            for (int i = 1, size = ruleSets.length; i < size; i++) {
+                RuleSet ruleSet = ruleSets[i];
+
+                if (ruleSet != null) {
+                    ruleSet.addRule(rule);
+                }
+            }
+        }
+
+        getRuleSet(matchType).addRule(rule);
+    }
+
+    public void removeRule(Rule rule) {
+        int matchType = rule.getMatchType();
+        String name = rule.getMatchesNodeName();
+
+        if (name != null) {
+            if (matchType == Node.ELEMENT_NODE) {
+                removeFromNameMap(elementNameRuleSets, name, rule);
+            } else if (matchType == Node.ATTRIBUTE_NODE) {
+                removeFromNameMap(attributeNameRuleSets, name, rule);
+            }
+        }
+
+        if (matchType >= Pattern.NUMBER_OF_TYPES) {
+            matchType = Pattern.ANY_NODE;
+        }
+
+        getRuleSet(matchType).removeRule(rule);
+
+        if (matchType != Pattern.ANY_NODE) {
+            getRuleSet(Pattern.ANY_NODE).removeRule(rule);
+        }
+    }
+
+    /**
+     * Performs an XSLT processing model match for the rule which matches the
+     * given Node the best.
+     * 
+     * @param node
+     *            is the DOM4J Node to match against
+     * 
+     * @return the matching Rule or no rule if none matched
+     */
+    public Rule getMatchingRule(Node node) {
+        int matchType = node.getNodeType();
+
+        if (matchType == Node.ELEMENT_NODE) {
+            if (elementNameRuleSets != null) {
+                String name = node.getName();
+                RuleSet ruleSet = (RuleSet) elementNameRuleSets.get(name);
+
+                if (ruleSet != null) {
+                    Rule answer = ruleSet.getMatchingRule(node);
+
+                    if (answer != null) {
+                        return answer;
+                    }
+                }
+            }
+        } else if (matchType == Node.ATTRIBUTE_NODE) {
+            if (attributeNameRuleSets != null) {
+                String name = node.getName();
+                RuleSet ruleSet = (RuleSet) attributeNameRuleSets.get(name);
+
+                if (ruleSet != null) {
+                    Rule answer = ruleSet.getMatchingRule(node);
+
+                    if (answer != null) {
+                        return answer;
+                    }
+                }
+            }
+        }
+
+        if ((matchType < 0) || (matchType >= ruleSets.length)) {
+            matchType = Pattern.ANY_NODE;
+        }
+
+        Rule answer = null;
+        RuleSet ruleSet = ruleSets[matchType];
+
+        if (ruleSet != null) {
+            // try rules that match this kind of node first
+            answer = ruleSet.getMatchingRule(node);
+        }
+
+        if ((answer == null) && (matchType != Pattern.ANY_NODE)) {
+            // try general rules that match any kind of node
+            ruleSet = ruleSets[Pattern.ANY_NODE];
+
+            if (ruleSet != null) {
+                answer = ruleSet.getMatchingRule(node);
+            }
+        }
+
+        return answer;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param matchType
+     *            DOCUMENT ME!
+     * 
+     * @return the RuleSet for the given matching type. This method will never
+     *         return null, a new instance will be created.
+     */
+    protected RuleSet getRuleSet(int matchType) {
+        RuleSet ruleSet = ruleSets[matchType];
+
+        if (ruleSet == null) {
+            ruleSet = new RuleSet();
+            ruleSets[matchType] = ruleSet;
+
+            // add the patterns that match any node
+            if (matchType != Pattern.ANY_NODE) {
+                RuleSet allRules = ruleSets[Pattern.ANY_NODE];
+
+                if (allRules != null) {
+                    ruleSet.addAll(allRules);
+                }
+            }
+        }
+
+        return ruleSet;
+    }
+
+    /**
+     * Adds the Rule to a RuleSet for the given name.
+     * 
+     * @param map
+     *            DOCUMENT ME!
+     * @param name
+     *            DOCUMENT ME!
+     * @param rule
+     *            DOCUMENT ME!
+     * 
+     * @return the Map (which will be created if the given map was null
+     */
+    protected Map addToNameMap(Map map, String name, Rule rule) {
+        if (map == null) {
+            map = new HashMap();
+        }
+
+        RuleSet ruleSet = (RuleSet) map.get(name);
+
+        if (ruleSet == null) {
+            ruleSet = new RuleSet();
+            map.put(name, ruleSet);
+        }
+
+        ruleSet.addRule(rule);
+
+        return map;
+    }
+
+    protected void removeFromNameMap(Map map, String name, Rule rule) {
+        if (map != null) {
+            RuleSet ruleSet = (RuleSet) map.get(name);
+
+            if (ruleSet != null) {
+                ruleSet.removeRule(rule);
+            }
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/rule/NullAction.java b/src/java/org/dom4j/rule/NullAction.java
new file mode 100644
index 0000000..49165f2
--- /dev/null
+++ b/src/java/org/dom4j/rule/NullAction.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>NullAction</code> represents an empty action that does nothing.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class NullAction implements Action {
+    /** Singleton instance */
+    public static final NullAction SINGLETON = new NullAction();
+
+    public void run(Node node) throws Exception {
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/rule/Pattern.java b/src/java/org/dom4j/rule/Pattern.java
new file mode 100644
index 0000000..9a2217f
--- /dev/null
+++ b/src/java/org/dom4j/rule/Pattern.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import org.dom4j.Node;
+import org.dom4j.NodeFilter;
+
+/**
+ * <p>
+ * <code>Pattern</code> defines the behaviour for pattern in the XSLT
+ * processing model.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.6 $
+ */
+public interface Pattern extends NodeFilter {
+    // These node numbers are compatable with DOM4J's Node types
+
+    /** Matches any node */
+    short ANY_NODE = 0;
+
+    /** Matches no nodes */
+    short NONE = 9999;
+
+    /** Count of the number of node types */
+    short NUMBER_OF_TYPES = Node.UNKNOWN_NODE;
+
+    /**
+     * According to the <a href="http://www.w3.org/TR/xslt11/#conflict">spec
+     * </a> we should return 0.5 if we cannot determine the priority
+     */
+    double DEFAULT_PRIORITY = 0.5;
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     * 
+     * @return true if the pattern matches the given DOM4J node.
+     */
+    boolean matches(Node node);
+
+    /**
+     * Returns the default resolution policy of the pattern according to the <a
+     * href="http://www.w3.org/TR/xslt11/#conflict"> XSLT conflict resolution
+     * spec </a>.
+     * 
+     * @return DOCUMENT ME!
+     */
+    double getPriority();
+
+    /**
+     * If this pattern is a union pattern then this method should return an
+     * array of patterns which describe the union pattern, which should contain
+     * more than one pattern. Otherwise this method should return null.
+     * 
+     * @return an array of the patterns which make up this union pattern or null
+     *         if this pattern is not a union pattern
+     */
+    Pattern[] getUnionPatterns();
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the type of node the pattern matches which by default should
+     *         return ANY_NODE if it can match any kind of node.
+     */
+    short getMatchType();
+
+    /**
+     * For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+     * this pattern may return the name of the element or attribute it matches.
+     * This allows a more efficient rule matching algorithm to be performed,
+     * rather than a brute force approach of evaluating every pattern for a
+     * given Node.
+     * 
+     * @return the name of the element or attribute this pattern matches or null
+     *         if this pattern matches any or more than one name.
+     */
+    String getMatchesNodeName();
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/rule/Rule.java b/src/java/org/dom4j/rule/Rule.java
new file mode 100644
index 0000000..de3dc5f
--- /dev/null
+++ b/src/java/org/dom4j/rule/Rule.java
@@ -0,0 +1,331 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>Rule</code> matches against DOM4J Node so that some action can be
+ * performed such as in the XSLT processing model.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class Rule implements Comparable {
+    /** Holds value of property mode. */
+    private String mode;
+
+    /** Holds value of property importPrecedence. */
+    private int importPrecedence;
+
+    /** Holds value of property priority. */
+    private double priority;
+
+    /** Holds value of property appearenceCount. */
+    private int appearenceCount;
+
+    /** Holds value of property pattern. */
+    private Pattern pattern;
+
+    /** Holds value of property action. */
+    private Action action;
+
+    public Rule() {
+        this.priority = Pattern.DEFAULT_PRIORITY;
+    }
+
+    public Rule(Pattern pattern) {
+        this.pattern = pattern;
+        this.priority = pattern.getPriority();
+    }
+
+    public Rule(Pattern pattern, Action action) {
+        this(pattern);
+        this.action = action;
+    }
+
+    /**
+     * Constructs a new Rule with the same instance data as the given rule but a
+     * different pattern.
+     * 
+     * @param that
+     *            DOCUMENT ME!
+     * @param pattern
+     *            DOCUMENT ME!
+     */
+    public Rule(Rule that, Pattern pattern) {
+        this.mode = that.mode;
+        this.importPrecedence = that.importPrecedence;
+        this.priority = that.priority;
+        this.appearenceCount = that.appearenceCount;
+        this.action = that.action;
+        this.pattern = pattern;
+    }
+
+    public boolean equals(Object that) {
+        if (that instanceof Rule) {
+            return compareTo((Rule) that) == 0;
+        }
+
+        return false;
+    }
+
+    public int hashCode() {
+        return importPrecedence + appearenceCount;
+    }
+
+    public int compareTo(Object that) {
+        if (that instanceof Rule) {
+            return compareTo((Rule) that);
+        }
+
+        return getClass().getName().compareTo(that.getClass().getName());
+    }
+
+    /**
+     * Compares two rules in XSLT processing model order assuming that the modes
+     * are equal.
+     * 
+     * @param that
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    public int compareTo(Rule that) {
+        int answer = this.importPrecedence - that.importPrecedence;
+
+        if (answer == 0) {
+            answer = (int) Math.round(this.priority - that.priority);
+
+            if (answer == 0) {
+                answer = this.appearenceCount - that.appearenceCount;
+            }
+        }
+
+        return answer;
+    }
+
+    public String toString() {
+        return super.toString() + "[ pattern: " + getPattern() + " action: "
+                + getAction() + " ]";
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     * 
+     * @return true if the pattern matches the given DOM4J node.
+     */
+    public final boolean matches(Node node) {
+        return pattern.matches(node);
+    }
+
+    /**
+     * If this rule contains a union pattern then this method should return an
+     * array of Rules which describe the union rule, which should contain more
+     * than one rule. Otherwise this method should return null.
+     * 
+     * @return an array of the rules which make up this union rule or null if
+     *         this rule is not a union rule
+     */
+    public Rule[] getUnionRules() {
+        Pattern[] patterns = pattern.getUnionPatterns();
+
+        if (patterns == null) {
+            return null;
+        }
+
+        int size = patterns.length;
+        Rule[] answer = new Rule[size];
+
+        for (int i = 0; i < size; i++) {
+            answer[i] = new Rule(this, patterns[i]);
+        }
+
+        return answer;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the type of node the pattern matches which by default should
+     *         return ANY_NODE if it can match any kind of node.
+     */
+    public final short getMatchType() {
+        return pattern.getMatchType();
+    }
+
+    /**
+     * For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then
+     * this pattern may return the name of the element or attribute it matches.
+     * This allows a more efficient rule matching algorithm to be performed,
+     * rather than a brute force approach of evaluating every pattern for a
+     * given Node.
+     * 
+     * @return the name of the element or attribute this pattern matches or null
+     *         if this pattern matches any or more than one name.
+     */
+    public final String getMatchesNodeName() {
+        return pattern.getMatchesNodeName();
+    }
+
+    /**
+     * Getter for property mode.
+     * 
+     * @return Value of property mode.
+     */
+    public String getMode() {
+        return mode;
+    }
+
+    /**
+     * Setter for property mode.
+     * 
+     * @param mode
+     *            New value of property mode.
+     */
+    public void setMode(String mode) {
+        this.mode = mode;
+    }
+
+    /**
+     * Getter for property importPrecedence.
+     * 
+     * @return Value of property importPrecedence.
+     */
+    public int getImportPrecedence() {
+        return importPrecedence;
+    }
+
+    /**
+     * Setter for property importPrecedence.
+     * 
+     * @param importPrecedence
+     *            New value of property importPrecedence.
+     */
+    public void setImportPrecedence(int importPrecedence) {
+        this.importPrecedence = importPrecedence;
+    }
+
+    /**
+     * Getter for property priority.
+     * 
+     * @return Value of property priority.
+     */
+    public double getPriority() {
+        return priority;
+    }
+
+    /**
+     * Setter for property priority.
+     * 
+     * @param priority
+     *            New value of property priority.
+     */
+    public void setPriority(double priority) {
+        this.priority = priority;
+    }
+
+    /**
+     * Getter for property appearenceCount.
+     * 
+     * @return Value of property appearenceCount.
+     */
+    public int getAppearenceCount() {
+        return appearenceCount;
+    }
+
+    /**
+     * Setter for property appearenceCount.
+     * 
+     * @param appearenceCount
+     *            New value of property appearenceCount.
+     */
+    public void setAppearenceCount(int appearenceCount) {
+        this.appearenceCount = appearenceCount;
+    }
+
+    /**
+     * Getter for property pattern.
+     * 
+     * @return Value of property pattern.
+     */
+    public Pattern getPattern() {
+        return pattern;
+    }
+
+    /**
+     * Setter for property pattern.
+     * 
+     * @param pattern
+     *            New value of property pattern.
+     */
+    public void setPattern(Pattern pattern) {
+        this.pattern = pattern;
+    }
+
+    /**
+     * Getter for property action.
+     * 
+     * @return Value of property action.
+     */
+    public Action getAction() {
+        return action;
+    }
+
+    /**
+     * Setter for property action.
+     * 
+     * @param action
+     *            New value of property action.
+     */
+    public void setAction(Action action) {
+        this.action = action;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/rule/RuleManager.java b/src/java/org/dom4j/rule/RuleManager.java
new file mode 100644
index 0000000..81e63ca
--- /dev/null
+++ b/src/java/org/dom4j/rule/RuleManager.java
@@ -0,0 +1,235 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import java.util.HashMap;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.rule.pattern.NodeTypePattern;
+
+/**
+ * <p>
+ * <code>RuleManager</code> manages a set of rules such that a rule can be
+ * found for a given DOM4J Node using the XSLT processing model.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class RuleManager {
+    /** Map of modes indexed by mode */
+    private HashMap modes = new HashMap();
+
+    /**
+     * A counter so that rules can be ordered by the order in which they were
+     * added to the rule base
+     */
+    private int appearenceCount;
+
+    /** Holds value of property valueOfAction. */
+    private Action valueOfAction;
+
+    public RuleManager() {
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param modeName
+     *            DOCUMENT ME!
+     * 
+     * @return the Mode instance for the given mode name. If one does not exist
+     *         then it will be created.
+     */
+    public Mode getMode(String modeName) {
+        Mode mode = (Mode) modes.get(modeName);
+
+        if (mode == null) {
+            mode = createMode();
+            modes.put(modeName, mode);
+        }
+
+        return mode;
+    }
+
+    public void addRule(Rule rule) {
+        rule.setAppearenceCount(++appearenceCount);
+
+        Mode mode = getMode(rule.getMode());
+        Rule[] childRules = rule.getUnionRules();
+
+        if (childRules != null) {
+            for (int i = 0, size = childRules.length; i < size; i++) {
+                mode.addRule(childRules[i]);
+            }
+        } else {
+            mode.addRule(rule);
+        }
+    }
+
+    public void removeRule(Rule rule) {
+        Mode mode = getMode(rule.getMode());
+        Rule[] childRules = rule.getUnionRules();
+
+        if (childRules != null) {
+            for (int i = 0, size = childRules.length; i < size; i++) {
+                mode.removeRule(childRules[i]);
+            }
+        } else {
+            mode.removeRule(rule);
+        }
+    }
+
+    /**
+     * Performs an XSLT processing model match for the rule which matches the
+     * given Node the best.
+     * 
+     * @param modeName
+     *            is the name of the mode associated with the rule if any
+     * @param node
+     *            is the DOM4J Node to match against
+     * 
+     * @return the matching Rule or no rule if none matched
+     */
+    public Rule getMatchingRule(String modeName, Node node) {
+        Mode mode = (Mode) modes.get(modeName);
+
+        if (mode != null) {
+            return mode.getMatchingRule(node);
+        } else {
+            System.out.println("Warning: No Mode for mode: " + mode);
+
+            return null;
+        }
+    }
+
+    public void clear() {
+        modes.clear();
+        appearenceCount = 0;
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the default value-of action which is used in the default rules
+     *         for the pattern "text()|@"
+     */
+    public Action getValueOfAction() {
+        return valueOfAction;
+    }
+
+    /**
+     * Sets the default value-of action which is used in the default rules for
+     * the pattern "text()|@"
+     * 
+     * @param valueOfAction
+     *            DOCUMENT ME!
+     */
+    public void setValueOfAction(Action valueOfAction) {
+        this.valueOfAction = valueOfAction;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * A factory method to return a new {@link Mode}instance which should add
+     * the necessary default rules
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected Mode createMode() {
+        Mode mode = new Mode();
+        addDefaultRules(mode);
+
+        return mode;
+    }
+
+    /**
+     * Adds the default stylesheet rules to the given {@link Mode}instance
+     * 
+     * @param mode
+     *            DOCUMENT ME!
+     */
+    protected void addDefaultRules(final Mode mode) {
+        // add an apply templates rule
+        Action applyTemplates = new Action() {
+            public void run(Node node) throws Exception {
+                if (node instanceof Element) {
+                    mode.applyTemplates((Element) node);
+                } else if (node instanceof Document) {
+                    mode.applyTemplates((Document) node);
+                }
+            }
+        };
+
+        Action valueOf = getValueOfAction();
+
+        addDefaultRule(mode, NodeTypePattern.ANY_DOCUMENT, applyTemplates);
+        addDefaultRule(mode, NodeTypePattern.ANY_ELEMENT, applyTemplates);
+
+        if (valueOf != null) {
+            addDefaultRule(mode, NodeTypePattern.ANY_ATTRIBUTE, valueOf);
+            addDefaultRule(mode, NodeTypePattern.ANY_TEXT, valueOf);
+        }
+    }
+
+    protected void addDefaultRule(Mode mode, Pattern pattern, Action action) {
+        Rule rule = createDefaultRule(pattern, action);
+        mode.addRule(rule);
+    }
+
+    protected Rule createDefaultRule(Pattern pattern, Action action) {
+        Rule rule = new Rule(pattern, action);
+        rule.setImportPrecedence(-1);
+
+        return rule;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/rule/RuleSet.java b/src/java/org/dom4j/rule/RuleSet.java
new file mode 100644
index 0000000..713590f
--- /dev/null
+++ b/src/java/org/dom4j/rule/RuleSet.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>RuleSet</code> manages a set of rules which are sorted in order of
+ * relevance according to the XSLT defined conflict resolution policy. This
+ * makes finding the correct rule for a DOM4J Node using the XSLT processing
+ * model efficient as the rules can be evaluated in order of priority.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public class RuleSet {
+    /** An unordered list of Rule objects */
+    private ArrayList rules = new ArrayList();
+
+    /** A lazily evaluated and cached array of rules sorted */
+    private Rule[] ruleArray;
+
+    public RuleSet() {
+    }
+
+    public String toString() {
+        return super.toString() + " [RuleSet: " + rules + " ]";
+    }
+
+    /**
+     * Performs an XSLT processing model match for the rule which matches the
+     * given Node the best.
+     * 
+     * @param node
+     *            is the DOM4J Node to match against
+     * 
+     * @return the matching Rule or no rule if none matched
+     */
+    public Rule getMatchingRule(Node node) {
+        Rule[] matches = getRuleArray();
+
+        for (int i = matches.length - 1; i >= 0; i--) {
+            Rule rule = matches[i];
+
+            if (rule.matches(node)) {
+                return rule;
+            }
+        }
+
+        return null;
+    }
+
+    public void addRule(Rule rule) {
+        rules.add(rule);
+        ruleArray = null;
+    }
+
+    public void removeRule(Rule rule) {
+        rules.remove(rule);
+        ruleArray = null;
+    }
+
+    /**
+     * Adds all the rules to this RuleSet from the given other rule set.
+     * 
+     * @param that
+     *            DOCUMENT ME!
+     */
+    public void addAll(RuleSet that) {
+        rules.addAll(that.rules);
+        ruleArray = null;
+    }
+
+    /**
+     * Returns an array of sorted rules.
+     * 
+     * @return the rules as a sorted array in ascending precendence so that the
+     *         rules at the end of the array should be used first
+     */
+    protected Rule[] getRuleArray() {
+        if (ruleArray == null) {
+            Collections.sort(rules);
+
+            int size = rules.size();
+            ruleArray = new Rule[size];
+            rules.toArray(ruleArray);
+        }
+
+        return ruleArray;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/rule/Stylesheet.java b/src/java/org/dom4j/rule/Stylesheet.java
new file mode 100644
index 0000000..e3e8a46
--- /dev/null
+++ b/src/java/org/dom4j/rule/Stylesheet.java
@@ -0,0 +1,334 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+
+/**
+ * <p>
+ * <code>Stylesheet</code> implements an XSLT stylesheet such that rules can
+ * be added to the stylesheet and the stylesheet can be applied to a source
+ * document or node.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.14 $
+ */
+public class Stylesheet {
+    private RuleManager ruleManager = new RuleManager();
+
+    /** Holds value of property mode. */
+    private String modeName;
+
+    /**
+     * Creates a new empty stylesheet.
+     */
+    public Stylesheet() {
+    }
+
+    /**
+     * Add a rule to this stylesheet.
+     * 
+     * @param rule
+     *            the rule to add
+     */
+    public void addRule(Rule rule) {
+        ruleManager.addRule(rule);
+    }
+
+    /**
+     * Removes the specified rule from this stylesheet.
+     * 
+     * @param rule
+     *            the rule to remove
+     */
+    public void removeRule(Rule rule) {
+        ruleManager.removeRule(rule);
+    }
+
+    /**
+     * Runs this stylesheet on the given input which should be either a Node or
+     * a List of Node objects.
+     * 
+     * @param input
+     *            the input to run this stylesheet on
+     * 
+     * @throws Exception
+     *             if something goes wrong
+     */
+    public void run(Object input) throws Exception {
+        run(input, this.modeName);
+    }
+
+    public void run(Object input, String mode) throws Exception {
+        if (input instanceof Node) {
+            run((Node) input, mode);
+        } else if (input instanceof List) {
+            run((List) input, mode);
+        }
+    }
+
+    public void run(List list) throws Exception {
+        run(list, this.modeName);
+    }
+
+    public void run(List list, String mode) throws Exception {
+        for (int i = 0, size = list.size(); i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof Node) {
+                run((Node) object, mode);
+            }
+        }
+    }
+
+    public void run(Node node) throws Exception {
+        run(node, this.modeName);
+    }
+
+    public void run(Node node, String mode) throws Exception {
+        Mode mod = ruleManager.getMode(mode);
+        mod.fireRule(node);
+    }
+
+    /**
+     * Processes the result of the xpath expression. The xpath expression is
+     * evaluated against the provided input object.
+     * 
+     * @param input
+     *            the input object
+     * @param xpath
+     *            the xpath expression
+     * @throws Exception
+     *             if something goes wrong
+     */
+    public void applyTemplates(Object input, XPath xpath) throws Exception {
+        applyTemplates(input, xpath, this.modeName);
+    }
+
+    /**
+     * Processes the result of the xpath expression in the given mode. The xpath
+     * expression is evaluated against the provided input object.
+     * 
+     * @param input
+     *            the input object
+     * @param xpath
+     *            the xpath expression
+     * @param mode
+     *            the mode
+     * @throws Exception
+     *             if something goes wrong
+     */
+    public void applyTemplates(Object input, XPath xpath, String mode)
+            throws Exception {
+        Mode mod = ruleManager.getMode(mode);
+
+        List list = xpath.selectNodes(input);
+        Iterator it = list.iterator();
+        while (it.hasNext()) {
+            Node current = (Node) it.next();
+            mod.fireRule(current);
+        }
+    }
+
+    /**
+     * Processes the result of the xpath expression. The xpath expression is
+     * evaluated against the provided input object.
+     * 
+     * @param input
+     *            the input object
+     * @param xpath
+     *            the xpath expression
+     * @throws Exception
+     *             if something goes wrong
+     * @deprecated Use {@link Stylesheet#applyTemplates(Object, XPath)}instead.
+     */
+    public void applyTemplates(Object input, org.jaxen.XPath xpath)
+            throws Exception {
+        applyTemplates(input, xpath, this.modeName);
+    }
+
+    /**
+     * Processes the result of the xpath expression in the given mode. The xpath
+     * expression is evaluated against the provided input object.
+     * 
+     * @param input
+     *            the input object
+     * @param xpath
+     *            the xpath expression
+     * @param mode
+     *            the mode
+     * @throws Exception
+     *             if something goes wrong
+     * @deprecated Use {@link Stylesheet#applyTemplates(Object, XPath, String)}
+     *             instead.
+     */
+    public void applyTemplates(Object input, org.jaxen.XPath xpath, String mode)
+            throws Exception {
+        Mode mod = ruleManager.getMode(mode);
+
+        List list = xpath.selectNodes(input);
+        Iterator it = list.iterator();
+        while (it.hasNext()) {
+            Node current = (Node) it.next();
+            mod.fireRule(current);
+        }
+    }
+
+    /**
+     * If input is a <code>Node</code>, this will processes all of the
+     * children of that node. If input is a <code>List</code> of
+     * <code>Nodes</code>s, these nodes will be iterated and all children of
+     * each node will be processed.
+     * 
+     * @param input
+     *            the input object, this can either be a <code>Node</code> or
+     *            a <code>List</code>
+     * @throws Exception
+     *             if something goes wrong
+     */
+    public void applyTemplates(Object input) throws Exception {
+        applyTemplates(input, this.modeName);
+    }
+
+    /**
+     * Processes the input object in the given mode. If input is a
+     * <code>Node</code>, this will processes all of the children of that
+     * node. If input is a <code>List</code> of <code>Nodes</code>s, these
+     * nodes will be iterated and all children of each node will be processed.
+     * 
+     * @param input
+     *            the input object, this can either be a <code>Node</code> or
+     *            a <code>List</code>
+     * @param mode
+     *            the mode
+     * @throws Exception
+     *             if something goes wrong
+     */
+    public void applyTemplates(Object input, String mode) throws Exception {
+        Mode mod = ruleManager.getMode(mode);
+
+        if (input instanceof Element) {
+            // iterate through all children
+            Element element = (Element) input;
+            for (int i = 0, size = element.nodeCount(); i < size; i++) {
+                Node node = element.node(i);
+                mod.fireRule(node);
+            }
+        } else if (input instanceof Document) {
+            // iterate through all children
+            Document document = (Document) input;
+            for (int i = 0, size = document.nodeCount(); i < size; i++) {
+                Node node = document.node(i);
+                mod.fireRule(node);
+            }
+        } else if (input instanceof List) {
+            List list = (List) input;
+
+            for (int i = 0, size = list.size(); i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof Element) {
+                    applyTemplates((Element) object, mode);
+                } else if (object instanceof Document) {
+                    applyTemplates((Document) object, mode);
+                }
+            }
+        }
+    }
+
+    public void clear() {
+        ruleManager.clear();
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the name of the mode the stylesheet uses by default
+     */
+    public String getModeName() {
+        return modeName;
+    }
+
+    /**
+     * Sets the name of the mode that the stylesheet uses by default.
+     * 
+     * @param modeName
+     *            DOCUMENT ME!
+     */
+    public void setModeName(String modeName) {
+        this.modeName = modeName;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the default value-of action which is used in the default rules
+     *         for the pattern "text()|@"
+     */
+    public Action getValueOfAction() {
+        return ruleManager.getValueOfAction();
+    }
+
+    /**
+     * Sets the default value-of action which is used in the default rules for
+     * the pattern "text()|@"
+     * 
+     * @param valueOfAction
+     *            DOCUMENT ME!
+     */
+    public void setValueOfAction(Action valueOfAction) {
+        ruleManager.setValueOfAction(valueOfAction);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/rule/package.html b/src/java/org/dom4j/rule/package.html
new file mode 100644
index 0000000..255abf3
--- /dev/null
+++ b/src/java/org/dom4j/rule/package.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+</head>
+<body>
+
+<p>A {@link org.dom4j.rule.Pattern} based XML rule engine which implements 
+the full XSLT processing model while allowing any {@link org.dom4j.rule.Action}
+to be fired if a pattern matches. 
+This package can be used as a the base for a full XSLT implementation
+or alternatives, such as a JSP custom tag implementation of XSLT.
+</p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/rule/pattern/DefaultPattern.java b/src/java/org/dom4j/rule/pattern/DefaultPattern.java
new file mode 100644
index 0000000..57bb826
--- /dev/null
+++ b/src/java/org/dom4j/rule/pattern/DefaultPattern.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule.pattern;
+
+import org.dom4j.Node;
+import org.dom4j.NodeFilter;
+import org.dom4j.rule.Pattern;
+
+/**
+ * <p>
+ * <code>DefaultPattern</code> a default implementation of Pattern which can
+ * take any XPath implementation or NodeFilter for defining the pattern.
+ * <b>WARNING </b> this implementation causes a worst case, brute force XSLT
+ * rule evaluation to be performed. Wherever possible the methods {@link
+ * #getPriority}, {@link #getMatchType}and {@link #getMatchesNodeName}should
+ * be overloaded to allow more rule filtering to occur.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.6 $
+ */
+public class DefaultPattern implements Pattern {
+    private NodeFilter filter;
+
+    public DefaultPattern(NodeFilter filter) {
+        this.filter = filter;
+    }
+
+    public boolean matches(Node node) {
+        return filter.matches(node);
+    }
+
+    public double getPriority() {
+        return Pattern.DEFAULT_PRIORITY;
+    }
+
+    public Pattern[] getUnionPatterns() {
+        return null;
+    }
+
+    public short getMatchType() {
+        return ANY_NODE;
+    }
+
+    public String getMatchesNodeName() {
+        return null;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/rule/pattern/NodeTypePattern.java b/src/java/org/dom4j/rule/pattern/NodeTypePattern.java
new file mode 100644
index 0000000..bb3edda
--- /dev/null
+++ b/src/java/org/dom4j/rule/pattern/NodeTypePattern.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule.pattern;
+
+import org.dom4j.Node;
+import org.dom4j.rule.Pattern;
+
+/**
+ * <p>
+ * <code>NodeTypePattern</code> implements a Pattern which matches any node of
+ * the given node type.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class NodeTypePattern implements Pattern {
+    /** A pattern which matches any Attribute node */
+    public static final NodeTypePattern ANY_ATTRIBUTE = new NodeTypePattern(
+            Node.ATTRIBUTE_NODE);
+
+    /** A pattern which matches any Comment node */
+    public static final NodeTypePattern ANY_COMMENT = new NodeTypePattern(
+            Node.COMMENT_NODE);
+
+    /** A pattern which matches any Document node */
+    public static final NodeTypePattern ANY_DOCUMENT = new NodeTypePattern(
+            Node.DOCUMENT_NODE);
+
+    /** A pattern which matches any Element node */
+    public static final NodeTypePattern ANY_ELEMENT = new NodeTypePattern(
+            Node.ELEMENT_NODE);
+
+    /** A pattern which matches any ProcessingInstruction node */
+    public static final NodeTypePattern ANY_PROCESSING_INSTRUCTION = 
+            new NodeTypePattern(Node.PROCESSING_INSTRUCTION_NODE);
+
+    /** A pattern which matches any Text node */
+    public static final NodeTypePattern ANY_TEXT = new NodeTypePattern(
+            Node.TEXT_NODE);
+
+    private short nodeType;
+
+    public NodeTypePattern(short nodeType) {
+        this.nodeType = nodeType;
+    }
+
+    public boolean matches(Node node) {
+        return node.getNodeType() == nodeType;
+    }
+
+    public double getPriority() {
+        return Pattern.DEFAULT_PRIORITY;
+    }
+
+    public Pattern[] getUnionPatterns() {
+        return null;
+    }
+
+    public short getMatchType() {
+        return nodeType;
+    }
+
+    public String getMatchesNodeName() {
+        return null;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/swing/BranchTreeNode.java b/src/java/org/dom4j/swing/BranchTreeNode.java
new file mode 100644
index 0000000..5cdc9b6
--- /dev/null
+++ b/src/java/org/dom4j/swing/BranchTreeNode.java
@@ -0,0 +1,196 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.swing;
+
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+
+import javax.swing.tree.TreeNode;
+
+import org.dom4j.Branch;
+import org.dom4j.CharacterData;
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>BranchTreeNode</code> implements the Swing TreeNode interface to bind
+ * dom4j XML Branch nodes (i.e. Document and Element nodes) to a Swing
+ * TreeModel.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @author Jakob Jenkov
+ * @version $Revision: 1.10 $
+ */
+public class BranchTreeNode extends LeafTreeNode {
+    /** Stores the child tree nodes */
+    protected List children;
+
+    public BranchTreeNode() {
+    }
+
+    public BranchTreeNode(Branch xmlNode) {
+        super(xmlNode);
+    }
+
+    public BranchTreeNode(TreeNode parent, Branch xmlNode) {
+        super(parent, xmlNode);
+    }
+
+    // TreeNode methods
+    // -------------------------------------------------------------------------
+    public Enumeration children() {
+        return new Enumeration() {
+            private int index = -1;
+
+            public boolean hasMoreElements() {
+                return (index + 1) < getChildCount();
+            }
+
+            public Object nextElement() {
+                return getChildAt(++index);
+            }
+        };
+    }
+
+    public boolean getAllowsChildren() {
+        return true;
+    }
+
+    public TreeNode getChildAt(int childIndex) {
+        return (TreeNode) getChildList().get(childIndex);
+    }
+
+    public int getChildCount() {
+        return getChildList().size();
+    }
+
+    public int getIndex(TreeNode node) {
+        return getChildList().indexOf(node);
+    }
+
+    public boolean isLeaf() {
+        return getXmlBranch().nodeCount() <= 0;
+    }
+
+    public String toString() {
+        return xmlNode.getName();
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Uses Lazy Initialization pattern to create a List of children
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List getChildList() {
+        // for now lets just create the children once, the first time they
+        // are asked for.
+        // XXXX - we may wish to detect inconsistencies here....
+        if (children == null) {
+            children = createChildList();
+        }
+
+        return children;
+    }
+
+    /**
+     * Factory method to create List of children TreeNodes
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List createChildList() {
+        // add attributes and content as children?
+        Branch branch = getXmlBranch();
+        int size = branch.nodeCount();
+        List childList = new ArrayList(size);
+
+        for (int i = 0; i < size; i++) {
+            Node node = branch.node(i);
+
+            // ignore whitespace text nodes
+            if (node instanceof CharacterData) {
+                String text = node.getText();
+
+                if (text == null) {
+                    continue;
+                }
+
+                text = text.trim();
+
+                if (text.length() <= 0) {
+                    continue;
+                }
+            }
+
+            childList.add(createChildTreeNode(node));
+        }
+
+        return childList;
+    }
+
+    /**
+     * Factory method to create child tree nodes for a given XML node type
+     * 
+     * @param xmlNode
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected TreeNode createChildTreeNode(Node xmlNode) {
+        if (xmlNode instanceof Branch) {
+            return new BranchTreeNode(this, (Branch) xmlNode);
+        } else {
+            return new LeafTreeNode(this, xmlNode);
+        }
+    }
+
+    protected Branch getXmlBranch() {
+        return (Branch) xmlNode;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/swing/DocumentTreeModel.java b/src/java/org/dom4j/swing/DocumentTreeModel.java
new file mode 100644
index 0000000..2441313
--- /dev/null
+++ b/src/java/org/dom4j/swing/DocumentTreeModel.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.swing;
+
+import javax.swing.tree.DefaultTreeModel;
+
+import org.dom4j.Document;
+
+/**
+ * <p>
+ * <code>DocumentTreeModel</code> implements a Swing TreeModel for a dom4j XML
+ * Document.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @author Jakob Jenkov
+ * @version $Revision: 1.7 $
+ */
+public class DocumentTreeModel extends DefaultTreeModel {
+    /** The document for this model */
+    protected Document document;
+
+    public DocumentTreeModel(Document document) {
+        super(new BranchTreeNode(document));
+        this.document = document;
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the <code>Document</code> instance that this
+     *         <code>TreeModel</code> is based on
+     */
+    public Document getDocument() {
+        return document;
+    }
+
+    /**
+     * Sets the <code>Document</code> instance that this
+     * <code>TreeModel</code> is based on
+     * 
+     * @param document
+     *            DOCUMENT ME!
+     */
+    public void setDocument(Document document) {
+        this.document = document;
+        setRoot(new BranchTreeNode(document));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/swing/LeafTreeNode.java b/src/java/org/dom4j/swing/LeafTreeNode.java
new file mode 100644
index 0000000..e9dd9ca
--- /dev/null
+++ b/src/java/org/dom4j/swing/LeafTreeNode.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.swing;
+
+import java.util.Enumeration;
+
+import javax.swing.tree.TreeNode;
+
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>LeafTreeNode</code> implements the Swing TreeNode interface to bind a
+ * leaf XML nodes to a Swing TreeModel.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @author Jakob Jenkov
+ * @version $Revision: 1.7 $
+ */
+public class LeafTreeNode implements TreeNode {
+    protected static final Enumeration EMPTY_ENUMERATION = new Enumeration() {
+        public boolean hasMoreElements() {
+            return false;
+        }
+
+        public Object nextElement() {
+            return null;
+        }
+    };
+
+    /** The parent node of this TreeNode */
+    private TreeNode parent;
+
+    /** The dom4j Node which contains the */
+    protected Node xmlNode;
+
+    public LeafTreeNode() {
+    }
+
+    public LeafTreeNode(Node xmlNode) {
+        this.xmlNode = xmlNode;
+    }
+
+    public LeafTreeNode(TreeNode parent, Node xmlNode) {
+        this.parent = parent;
+        this.xmlNode = xmlNode;
+    }
+
+    // TreeNode methods
+    // -------------------------------------------------------------------------
+    public Enumeration children() {
+        return EMPTY_ENUMERATION;
+    }
+
+    public boolean getAllowsChildren() {
+        return false;
+    }
+
+    public TreeNode getChildAt(int childIndex) {
+        return null;
+    }
+
+    public int getChildCount() {
+        return 0;
+    }
+
+    public int getIndex(TreeNode node) {
+        return -1;
+    }
+
+    public TreeNode getParent() {
+        return parent;
+    }
+
+    public boolean isLeaf() {
+        return true;
+    }
+
+    public String toString() {
+        // should maybe do things differently based on content?
+        String text = xmlNode.getText();
+
+        return (text != null) ? text.trim() : "";
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * Sets the parent of this node but doesn't change the parents children
+     * 
+     * @param parent
+     *            DOCUMENT ME!
+     */
+    public void setParent(LeafTreeNode parent) {
+        this.parent = parent;
+    }
+
+    public Node getXmlNode() {
+        return xmlNode;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/swing/XMLTableColumnDefinition.java b/src/java/org/dom4j/swing/XMLTableColumnDefinition.java
new file mode 100644
index 0000000..400202d
--- /dev/null
+++ b/src/java/org/dom4j/swing/XMLTableColumnDefinition.java
@@ -0,0 +1,238 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.swing;
+
+import java.io.Serializable;
+
+import org.dom4j.DocumentHelper;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+
+/**
+ * <p>
+ * <code>XMLTableColumnDefinition</code> a column within a table definition.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public class XMLTableColumnDefinition implements Serializable {
+    public static final int OBJECT_TYPE = 0;
+
+    public static final int STRING_TYPE = 1;
+
+    public static final int NUMBER_TYPE = 2;
+
+    public static final int NODE_TYPE = 3;
+
+    /** Holds value of property type. */
+    private int type;
+
+    /** Holds value of property name. */
+    private String name;
+
+    /** Holds value of property xpath. */
+    private XPath xpath;
+
+    /** Holds the XPath used for the column name */
+    private XPath columnNameXPath;
+
+    public XMLTableColumnDefinition() {
+    }
+
+    public XMLTableColumnDefinition(String name, String expression, int type) {
+        this.name = name;
+        this.type = type;
+        this.xpath = createXPath(expression);
+    }
+
+    public XMLTableColumnDefinition(String name, XPath xpath, int type) {
+        this.name = name;
+        this.xpath = xpath;
+        this.type = type;
+    }
+
+    public XMLTableColumnDefinition(XPath columnXPath, XPath xpath, int type) {
+        this.xpath = xpath;
+        this.columnNameXPath = columnXPath;
+        this.type = type;
+    }
+
+    public static int parseType(String typeName) {
+        if ((typeName != null) && (typeName.length() > 0)) {
+            if (typeName.equals("string")) {
+                return STRING_TYPE;
+            } else if (typeName.equals("number")) {
+                return NUMBER_TYPE;
+            } else if (typeName.equals("node")) {
+                return NODE_TYPE;
+            }
+        }
+
+        return OBJECT_TYPE;
+    }
+
+    public Class getColumnClass() {
+        switch (type) {
+            case STRING_TYPE:
+                return String.class;
+
+            case NUMBER_TYPE:
+                return Number.class;
+
+            case NODE_TYPE:
+                return Node.class;
+
+            default:
+                return Object.class;
+        }
+    }
+
+    public Object getValue(Object row) {
+        switch (type) {
+            case STRING_TYPE:
+                return xpath.valueOf(row);
+
+            case NUMBER_TYPE:
+                return xpath.numberValueOf(row);
+
+            case NODE_TYPE:
+                return xpath.selectSingleNode(row);
+
+            default:
+                return xpath.evaluate(row);
+        }
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * Getter for property type.
+     * 
+     * @return Value of property type.
+     */
+    public int getType() {
+        return type;
+    }
+
+    /**
+     * Setter for property type.
+     * 
+     * @param type
+     *            New value of property type.
+     */
+    public void setType(int type) {
+        this.type = type;
+    }
+
+    /**
+     * Getter for property name.
+     * 
+     * @return Value of property name.
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Setter for property name.
+     * 
+     * @param name
+     *            New value of property name.
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Getter for property xpath.
+     * 
+     * @return Value of property xpath.
+     */
+    public XPath getXPath() {
+        return xpath;
+    }
+
+    /**
+     * Setter for property xpath.
+     * 
+     * @param xPath
+     *            New value of property xpath.
+     */
+    public void setXPath(XPath xPath) {
+        this.xpath = xPath;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the XPath used to create the column name
+     */
+    public XPath getColumnNameXPath() {
+        return columnNameXPath;
+    }
+
+    /**
+     * Setter for property columnNameXPath.
+     * 
+     * @param columnNameXPath
+     *            New value of property xpath.
+     */
+    public void setColumnNameXPath(XPath columnNameXPath) {
+        this.columnNameXPath = columnNameXPath;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected XPath createXPath(String expression) {
+        return DocumentHelper.createXPath(expression);
+    }
+
+    protected void handleException(Exception e) {
+        // #### should use jakarta commons-logging
+        System.out.println("Caught: " + e);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/swing/XMLTableDefinition.java b/src/java/org/dom4j/swing/XMLTableDefinition.java
new file mode 100644
index 0000000..a1ee299
--- /dev/null
+++ b/src/java/org/dom4j/swing/XMLTableDefinition.java
@@ -0,0 +1,317 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.swing;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.XPath;
+
+import org.jaxen.VariableContext;
+
+/**
+ * <p>
+ * <code>XMLTableDefinition</code> represents a table definition based on
+ * XPath expression evaluated on an XML document.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+public class XMLTableDefinition implements Serializable, VariableContext {
+    /** Holds value of property rowXPath. */
+    private XPath rowXPath;
+
+    /** The columns to display in this table */
+    private List columns = new ArrayList();
+
+    /** integer index array cache */
+    private XMLTableColumnDefinition[] columnArray;
+
+    /** name index cache */
+    private Map columnNameIndex;
+
+    /** for cross-row variables */
+    private VariableContext variableContext;
+
+    /** stores the current row value for the variableContext */
+    private Object rowValue;
+
+    public XMLTableDefinition() {
+    }
+
+    /**
+     * Loads an XML table definition from an XML definition document
+     * 
+     * @param definition
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    public static XMLTableDefinition load(Document definition) {
+        return load(definition.getRootElement());
+    }
+
+    /**
+     * Loads an XML table definition from an XML definition document
+     * 
+     * @param definition
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    public static XMLTableDefinition load(Element definition) {
+        XMLTableDefinition answer = new XMLTableDefinition();
+        answer.setRowExpression(definition.attributeValue("select"));
+
+        for (Iterator iter = definition.elementIterator("column"); iter
+                .hasNext();) {
+            Element element = (Element) iter.next();
+            String expression = element.attributeValue("select");
+            String name = element.getText();
+            String typeName = element.attributeValue("type", "string");
+            String columnXPath = element.attributeValue("columnNameXPath");
+            int type = XMLTableColumnDefinition.parseType(typeName);
+
+            if (columnXPath != null) {
+                answer.addColumnWithXPathName(columnXPath, expression, type);
+            } else {
+                answer.addColumn(name, expression, type);
+            }
+        }
+
+        return answer;
+    }
+
+    public Class getColumnClass(int columnIndex) {
+        return getColumn(columnIndex).getColumnClass();
+    }
+
+    public int getColumnCount() {
+        return columns.size();
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param columnIndex
+     *            DOCUMENT ME!
+     * 
+     * @return the static column name. This is used if there is no
+     *         columnNameXPath
+     */
+    public String getColumnName(int columnIndex) {
+        return getColumn(columnIndex).getName();
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param columnIndex
+     *            DOCUMENT ME!
+     * 
+     * @return the XPath expression used to evaluate the value of cells in this
+     *         column
+     */
+    public XPath getColumnXPath(int columnIndex) {
+        return getColumn(columnIndex).getXPath();
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param columnIndex
+     *            DOCUMENT ME!
+     * 
+     * @return the XPath expresssion used to create the column name, if there is
+     *         one or null if there is no XPath expression to name the column.
+     */
+    public XPath getColumnNameXPath(int columnIndex) {
+        return getColumn(columnIndex).getColumnNameXPath();
+    }
+
+    public synchronized Object getValueAt(Object row, int columnIndex) {
+        XMLTableColumnDefinition column = getColumn(columnIndex);
+        Object answer = null;
+
+        synchronized (this) {
+            this.rowValue = row;
+            answer = column.getValue(row);
+            this.rowValue = null;
+        }
+
+        return answer;
+    }
+
+    public void addColumn(String name, String expression) {
+        addColumn(name, expression, XMLTableColumnDefinition.OBJECT_TYPE);
+    }
+
+    public void addColumn(String name, String expression, int type) {
+        XPath xpath = createColumnXPath(expression);
+        addColumn(new XMLTableColumnDefinition(name, xpath, type));
+    }
+
+    public void addColumnWithXPathName(String columnNameXPathExpression,
+            String expression, int type) {
+        XPath columnNameXPath = createColumnXPath(columnNameXPathExpression);
+        XPath xpath = createColumnXPath(expression);
+        addColumn(new XMLTableColumnDefinition(columnNameXPath, xpath, type));
+    }
+
+    public void addStringColumn(String name, String expression) {
+        addColumn(name, expression, XMLTableColumnDefinition.STRING_TYPE);
+    }
+
+    public void addNumberColumn(String name, String expression) {
+        addColumn(name, expression, XMLTableColumnDefinition.NUMBER_TYPE);
+    }
+
+    public void addColumn(XMLTableColumnDefinition column) {
+        clearCaches();
+        columns.add(column);
+    }
+
+    public void removeColumn(XMLTableColumnDefinition column) {
+        clearCaches();
+        columns.remove(column);
+    }
+
+    public void clear() {
+        clearCaches();
+        columns.clear();
+    }
+
+    public XMLTableColumnDefinition getColumn(int index) {
+        if (columnArray == null) {
+            columnArray = new XMLTableColumnDefinition[columns.size()];
+            columns.toArray(columnArray);
+        }
+
+        return columnArray[index];
+    }
+
+    public XMLTableColumnDefinition getColumn(String columnName) {
+        if (columnNameIndex == null) {
+            columnNameIndex = new HashMap();
+
+            for (Iterator it = columns.iterator(); it.hasNext();) {
+                XMLTableColumnDefinition column = (XMLTableColumnDefinition) it
+                        .next();
+                columnNameIndex.put(column.getName(), column);
+            }
+        }
+
+        return (XMLTableColumnDefinition) columnNameIndex.get(columnName);
+    }
+
+    /**
+     * Getter for property rowXPath.
+     * 
+     * @return Value of property rowXPath.
+     */
+    public XPath getRowXPath() {
+        return rowXPath;
+    }
+
+    /**
+     * Setter for property rowXPath.
+     * 
+     * @param rowXPath
+     *            New value of property rowXPath.
+     */
+    public void setRowXPath(XPath rowXPath) {
+        this.rowXPath = rowXPath;
+    }
+
+    public void setRowExpression(String xpath) {
+        setRowXPath(createXPath(xpath));
+    }
+
+    // VariableContext interface
+    // -------------------------------------------------------------------------
+    public Object getVariableValue(String namespaceURI, String prefix,
+            String localName) {
+        XMLTableColumnDefinition column = getColumn(localName);
+
+        if (column != null) {
+            return column.getValue(rowValue);
+        }
+
+        return null;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected XPath createXPath(String expression) {
+        return DocumentHelper.createXPath(expression);
+    }
+
+    protected XPath createColumnXPath(String expression) {
+        XPath xpath = createXPath(expression);
+
+        // associate my variable context
+        xpath.setVariableContext(this);
+
+        return xpath;
+    }
+
+    protected void clearCaches() {
+        columnArray = null;
+        columnNameIndex = null;
+    }
+
+    protected void handleException(Exception e) {
+        // #### should use jakarta commons-logging
+        System.out.println("Caught: " + e);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/swing/XMLTableModel.java b/src/java/org/dom4j/swing/XMLTableModel.java
new file mode 100644
index 0000000..1024379
--- /dev/null
+++ b/src/java/org/dom4j/swing/XMLTableModel.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.swing;
+
+import java.util.List;
+
+import javax.swing.table.AbstractTableModel;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.XPath;
+
+/**
+ * <p>
+ * <code>XMLTableDefinition</code> repro.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+public class XMLTableModel extends AbstractTableModel {
+    /** Holds value of property definition. */
+    private XMLTableDefinition definition;
+
+    /** Holds value of property source. */
+    private Object source;
+
+    /** The rows evaluated from the row XPath expression */
+    private List rows;
+
+    /**
+     * Creates a TableModel from an XML table definition document and an XML
+     * source
+     * 
+     * @param tableDefinition
+     *            DOCUMENT ME!
+     * @param source
+     *            DOCUMENT ME!
+     */
+    public XMLTableModel(Element tableDefinition, Object source) {
+        this(XMLTableDefinition.load(tableDefinition), source);
+    }
+
+    /**
+     * Creates a TableModel from an XML table definition document and an XML
+     * source
+     * 
+     * @param tableDefinition
+     *            DOCUMENT ME!
+     * @param source
+     *            DOCUMENT ME!
+     */
+    public XMLTableModel(Document tableDefinition, Object source) {
+        this(XMLTableDefinition.load(tableDefinition), source);
+    }
+
+    public XMLTableModel(XMLTableDefinition definition, Object source) {
+        this.definition = definition;
+        this.source = source;
+    }
+
+    public Object getRowValue(int rowIndex) {
+        return getRows().get(rowIndex);
+    }
+
+    public List getRows() {
+        if (rows == null) {
+            rows = definition.getRowXPath().selectNodes(source);
+        }
+
+        return rows;
+    }
+
+    // TableModel interface
+    // -------------------------------------------------------------------------
+    public Class getColumnClass(int columnIndex) {
+        return definition.getColumnClass(columnIndex);
+    }
+
+    public int getColumnCount() {
+        return definition.getColumnCount();
+    }
+
+    public String getColumnName(int columnIndex) {
+        XPath xpath = definition.getColumnNameXPath(columnIndex);
+
+        if (xpath != null) {
+            System.out.println("Evaluating column xpath: " + xpath + " value: "
+                    + xpath.valueOf(source));
+
+            return xpath.valueOf(source);
+        }
+
+        return definition.getColumnName(columnIndex);
+    }
+
+    public Object getValueAt(int rowIndex, int columnIndex) {
+        try {
+            Object row = getRowValue(rowIndex);
+
+            return definition.getValueAt(row, columnIndex);
+        } catch (Exception e) {
+            handleException(e);
+
+            return null;
+        }
+    }
+
+    public int getRowCount() {
+        return getRows().size();
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+
+    /**
+     * Getter for property definition.
+     * 
+     * @return Value of property definition.
+     */
+    public XMLTableDefinition getDefinition() {
+        return definition;
+    }
+
+    /**
+     * Setter for property definition.
+     * 
+     * @param definition
+     *            New value of property definition.
+     */
+    public void setDefinition(XMLTableDefinition definition) {
+        this.definition = definition;
+    }
+
+    /**
+     * Getter for the XML source, which is usually a Node or List of nodes.
+     * 
+     * @return Value of property source.
+     */
+    public Object getSource() {
+        return source;
+    }
+
+    /**
+     * Setter for the XML source, which is usually a Node or List of nodes.
+     * 
+     * @param source
+     *            New value of property source.
+     */
+    public void setSource(Object source) {
+        this.source = source;
+        this.rows = null;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void handleException(Exception e) {
+        // #### should use jakarta commons-logging
+        System.out.println("Caught: " + e);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/swing/package.html b/src/java/org/dom4j/swing/package.html
new file mode 100644
index 0000000..79682a8
--- /dev/null
+++ b/src/java/org/dom4j/swing/package.html
@@ -0,0 +1,10 @@
+<html>
+<head>
+</head>
+<body>
+
+  <p>A collection of adapters to allow easy integration with dom4j 
+    XML documents and Swing such as TreeModels and TableModels.</p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/tree/AbstractAttribute.java b/src/java/org/dom4j/tree/AbstractAttribute.java
new file mode 100644
index 0000000..6b86208
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractAttribute.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import org.dom4j.Attribute;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.Visitor;
+
+/**
+ * <p>
+ * <code>AbstractNamespace</code> is an abstract base class for tree
+ * implementors to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.21 $
+ */
+public abstract class AbstractAttribute extends AbstractNode implements
+        Attribute {
+    public short getNodeType() {
+        return ATTRIBUTE_NODE;
+    }
+
+    public void setNamespace(Namespace namespace) {
+        String msg = "This Attribute is read only and cannot be changed";
+        throw new UnsupportedOperationException(msg);
+    }
+
+    public String getText() {
+        return getValue();
+    }
+
+    public void setText(String text) {
+        setValue(text);
+    }
+
+    public void setValue(String value) {
+        String msg = "This Attribute is read only and cannot be changed";
+        throw new UnsupportedOperationException(msg);
+    }
+
+    public Object getData() {
+        return getValue();
+    }
+
+    public void setData(Object data) {
+        setValue((data == null) ? null : data.toString());
+    }
+
+    public String toString() {
+        return super.toString() + " [Attribute: name " + getQualifiedName()
+                + " value \"" + getValue() + "\"]";
+    }
+
+    public String asXML() {
+        return getQualifiedName() + "=\"" + getValue() + "\"";
+    }
+
+    public void write(Writer writer) throws IOException {
+        writer.write(getQualifiedName());
+        writer.write("=\"");
+        writer.write(getValue());
+        writer.write("\"");
+    }
+
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+    }
+
+    // QName methods
+    public Namespace getNamespace() {
+        return getQName().getNamespace();
+    }
+
+    public String getName() {
+        return getQName().getName();
+    }
+
+    public String getNamespacePrefix() {
+        return getQName().getNamespacePrefix();
+    }
+
+    public String getNamespaceURI() {
+        return getQName().getNamespaceURI();
+    }
+
+    public String getQualifiedName() {
+        return getQName().getQualifiedName();
+    }
+
+    public String getPath(Element context) {
+        StringBuffer result = new StringBuffer();
+
+        Element parent = getParent();
+
+        if ((parent != null) && (parent != context)) {
+            result.append(parent.getPath(context));
+            result.append("/");
+        }
+
+        result.append("@");
+
+        String uri = getNamespaceURI();
+        String prefix = getNamespacePrefix();
+
+        if ((uri == null) || (uri.length() == 0) || (prefix == null)
+                || (prefix.length() == 0)) {
+            result.append(getName());
+        } else {
+            result.append(getQualifiedName());
+        }
+
+        return result.toString();
+    }
+
+    public String getUniquePath(Element context) {
+        StringBuffer result = new StringBuffer();
+
+        Element parent = getParent();
+
+        if ((parent != null) && (parent != context)) {
+            result.append(parent.getUniquePath(context));
+            result.append("/");
+        }
+
+        result.append("@");
+
+        String uri = getNamespaceURI();
+        String prefix = getNamespacePrefix();
+
+        if ((uri == null) || (uri.length() == 0) || (prefix == null)
+                || (prefix.length() == 0)) {
+            result.append(getName());
+        } else {
+            result.append(getQualifiedName());
+        }
+
+        return result.toString();
+    }
+
+    protected Node createXPathResult(Element parent) {
+        return new DefaultAttribute(parent, getQName(), getValue());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractBranch.java b/src/java/org/dom4j/tree/AbstractBranch.java
new file mode 100644
index 0000000..518e4b4
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractBranch.java
@@ -0,0 +1,493 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import org.dom4j.Branch;
+import org.dom4j.Comment;
+import org.dom4j.Element;
+import org.dom4j.IllegalAddException;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>AbstractBranch</code> is an abstract base class for tree implementors
+ * to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.44 $
+ */
+public abstract class AbstractBranch extends AbstractNode implements Branch {
+    protected static final int DEFAULT_CONTENT_LIST_SIZE = 5;
+
+    public AbstractBranch() {
+    }
+
+    public boolean isReadOnly() {
+        return false;
+    }
+
+    public boolean hasContent() {
+        return nodeCount() > 0;
+    }
+
+    public List content() {
+        List backingList = contentList();
+
+        return new ContentListFacade(this, backingList);
+    }
+
+    public String getText() {
+        List content = contentList();
+
+        if (content != null) {
+            int size = content.size();
+
+            if (size >= 1) {
+                Object first = content.get(0);
+                String firstText = getContentAsText(first);
+
+                if (size == 1) {
+                    // optimised to avoid StringBuffer creation
+                    return firstText;
+                } else {
+                    StringBuffer buffer = new StringBuffer(firstText);
+
+                    for (int i = 1; i < size; i++) {
+                        Object node = content.get(i);
+                        buffer.append(getContentAsText(node));
+                    }
+
+                    return buffer.toString();
+                }
+            }
+        }
+
+        return "";
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param content
+     *            DOCUMENT ME!
+     * 
+     * @return the text value of the given content object as text which returns
+     *         the text value of CDATA, Entity or Text nodes
+     */
+    protected String getContentAsText(Object content) {
+        if (content instanceof Node) {
+            Node node = (Node) content;
+
+            switch (node.getNodeType()) {
+                case CDATA_SECTION_NODE:
+
+                // case ENTITY_NODE:
+                case ENTITY_REFERENCE_NODE:
+                case TEXT_NODE:
+                    return node.getText();
+
+                default:
+                    break;
+            }
+        } else if (content instanceof String) {
+            return (String) content;
+        }
+
+        return "";
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param content
+     *            DOCUMENT ME!
+     * 
+     * @return the XPath defined string-value of the given content object
+     */
+    protected String getContentAsStringValue(Object content) {
+        if (content instanceof Node) {
+            Node node = (Node) content;
+
+            switch (node.getNodeType()) {
+                case CDATA_SECTION_NODE:
+
+                // case ENTITY_NODE:
+                case ENTITY_REFERENCE_NODE:
+                case TEXT_NODE:
+                case ELEMENT_NODE:
+                    return node.getStringValue();
+
+                default:
+                    break;
+            }
+        } else if (content instanceof String) {
+            return (String) content;
+        }
+
+        return "";
+    }
+
+    public String getTextTrim() {
+        String text = getText();
+
+        StringBuffer textContent = new StringBuffer();
+        StringTokenizer tokenizer = new StringTokenizer(text);
+
+        while (tokenizer.hasMoreTokens()) {
+            String str = tokenizer.nextToken();
+            textContent.append(str);
+
+            if (tokenizer.hasMoreTokens()) {
+                textContent.append(" "); // separator
+            }
+        }
+
+        return textContent.toString();
+    }
+
+    public void setProcessingInstructions(List listOfPIs) {
+        for (Iterator iter = listOfPIs.iterator(); iter.hasNext();) {
+            ProcessingInstruction pi = (ProcessingInstruction) iter.next();
+            addNode(pi);
+        }
+    }
+
+    public Element addElement(String name) {
+        Element node = getDocumentFactory().createElement(name);
+        add(node);
+
+        return node;
+    }
+
+    public Element addElement(String qualifiedName, String namespaceURI) {
+        Element node = getDocumentFactory().createElement(qualifiedName,
+                namespaceURI);
+        add(node);
+
+        return node;
+    }
+
+    public Element addElement(QName qname) {
+        Element node = getDocumentFactory().createElement(qname);
+        add(node);
+
+        return node;
+    }
+
+    public Element addElement(String name, String prefix, String uri) {
+        Namespace namespace = Namespace.get(prefix, uri);
+        QName qName = getDocumentFactory().createQName(name, namespace);
+
+        return addElement(qName);
+    }
+
+    // polymorphic node methods
+    public void add(Node node) {
+        switch (node.getNodeType()) {
+            case ELEMENT_NODE:
+                add((Element) node);
+
+                break;
+
+            case COMMENT_NODE:
+                add((Comment) node);
+
+                break;
+
+            case PROCESSING_INSTRUCTION_NODE:
+                add((ProcessingInstruction) node);
+
+                break;
+
+            default:
+                invalidNodeTypeAddException(node);
+        }
+    }
+
+    public boolean remove(Node node) {
+        switch (node.getNodeType()) {
+            case ELEMENT_NODE:
+                return remove((Element) node);
+
+            case COMMENT_NODE:
+                return remove((Comment) node);
+
+            case PROCESSING_INSTRUCTION_NODE:
+                return remove((ProcessingInstruction) node);
+
+            default:
+                invalidNodeTypeAddException(node);
+
+                return false;
+        }
+    }
+
+    // typesafe versions using node classes
+    public void add(Comment comment) {
+        addNode(comment);
+    }
+
+    public void add(Element element) {
+        addNode(element);
+    }
+
+    public void add(ProcessingInstruction pi) {
+        addNode(pi);
+    }
+
+    public boolean remove(Comment comment) {
+        return removeNode(comment);
+    }
+
+    public boolean remove(Element element) {
+        return removeNode(element);
+    }
+
+    public boolean remove(ProcessingInstruction pi) {
+        return removeNode(pi);
+    }
+
+    public Element elementByID(String elementID) {
+        for (int i = 0, size = nodeCount(); i < size; i++) {
+            Node node = node(i);
+
+            if (node instanceof Element) {
+                Element element = (Element) node;
+                String id = elementID(element);
+
+                if ((id != null) && id.equals(elementID)) {
+                    return element;
+                } else {
+                    element = element.elementByID(elementID);
+
+                    if (element != null) {
+                        return element;
+                    }
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public void appendContent(Branch branch) {
+        for (int i = 0, size = branch.nodeCount(); i < size; i++) {
+            Node node = branch.node(i);
+            add((Node) node.clone());
+        }
+    }
+
+    public Node node(int index) {
+        Object object = contentList().get(index);
+
+        if (object instanceof Node) {
+            return (Node) object;
+        }
+
+        if (object instanceof String) {
+            return getDocumentFactory().createText(object.toString());
+        }
+
+        return null;
+    }
+
+    public int nodeCount() {
+        return contentList().size();
+    }
+
+    public int indexOf(Node node) {
+        return contentList().indexOf(node);
+    }
+
+    public Iterator nodeIterator() {
+        return contentList().iterator();
+    }
+
+    // Implementation methods
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * 
+     * @return the ID of the given <code>Element</code>
+     */
+    protected String elementID(Element element) {
+        // XXX: there will be other ways of finding the ID
+        // XXX: should probably have an IDResolver or something
+        return element.attributeValue("ID");
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the internal List used to manage the content
+     */
+    protected abstract List contentList();
+
+    /**
+     * A Factory Method pattern which creates a List implementation used to
+     * store content
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List createContentList() {
+        return new ArrayList(DEFAULT_CONTENT_LIST_SIZE);
+    }
+
+    /**
+     * A Factory Method pattern which creates a List implementation used to
+     * store content
+     * 
+     * @param size
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List createContentList(int size) {
+        return new ArrayList(size);
+    }
+
+    /**
+     * A Factory Method pattern which creates a BackedList implementation used
+     * to store results of a filtered content query.
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected BackedList createResultList() {
+        return new BackedList(this, contentList());
+    }
+
+    /**
+     * A Factory Method pattern which creates a BackedList implementation which
+     * contains a single result
+     * 
+     * @param result
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List createSingleResultList(Object result) {
+        BackedList list = new BackedList(this, contentList(), 1);
+        list.addLocal(result);
+
+        return list;
+    }
+
+    /**
+     * A Factory Method pattern which creates an empty a BackedList
+     * implementation
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List createEmptyList() {
+        return new BackedList(this, contentList(), 0);
+    }
+
+    protected abstract void addNode(Node node);
+
+    protected abstract void addNode(int index, Node node);
+
+    protected abstract boolean removeNode(Node node);
+
+    /**
+     * Called when a new child node has been added to me to allow any parent
+     * relationships to be created or events to be fired.
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     */
+    protected abstract void childAdded(Node node);
+
+    /**
+     * Called when a child node has been removed to allow any parent
+     * relationships to be deleted or events to be fired.
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     */
+    protected abstract void childRemoved(Node node);
+
+    /**
+     * Called when the given List content has been removed so each node should
+     * have its parent and document relationships cleared
+     */
+    protected void contentRemoved() {
+        List content = contentList();
+
+        for (int i = 0, size = content.size(); i < size; i++) {
+            Object object = content.get(i);
+
+            if (object instanceof Node) {
+                childRemoved((Node) object);
+            }
+        }
+    }
+
+    /**
+     * Called when an invalid node has been added. Throws an {@link
+     * IllegalAddException}.
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     * 
+     * @throws IllegalAddException
+     *             DOCUMENT ME!
+     */
+    protected void invalidNodeTypeAddException(Node node) {
+        throw new IllegalAddException("Invalid node type. Cannot add node: "
+                + node + " to this branch: " + this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractCDATA.java b/src/java/org/dom4j/tree/AbstractCDATA.java
new file mode 100644
index 0000000..51cf4fa
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractCDATA.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import org.dom4j.CDATA;
+import org.dom4j.Visitor;
+
+/**
+ * <p>
+ * <code>AbstractCDATA</code> is an abstract base class for tree implementors
+ * to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.12 $
+ */
+public abstract class AbstractCDATA extends AbstractCharacterData implements
+        CDATA {
+    public AbstractCDATA() {
+    }
+
+    public short getNodeType() {
+        return CDATA_SECTION_NODE;
+    }
+
+    public String toString() {
+        return super.toString() + " [CDATA: \"" + getText() + "\"]";
+    }
+
+    public String asXML() {
+        StringWriter writer = new StringWriter();
+
+        try {
+            write(writer);
+        } catch (IOException e) {
+            // will not happen since we are using a StringWriter!
+        }
+
+        return writer.toString();
+    }
+
+    public void write(Writer writer) throws IOException {
+        writer.write("<![CDATA[");
+
+        if (getText() != null) {
+            writer.write(getText());
+        }
+
+        writer.write("]]>");
+    }
+
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractCharacterData.java b/src/java/org/dom4j/tree/AbstractCharacterData.java
new file mode 100644
index 0000000..81c19eb
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractCharacterData.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.CharacterData;
+import org.dom4j.Element;
+
+/**
+ * <p>
+ * <code>AbstractCharacterData</code> is an abstract base class for tree
+ * implementors to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.12 $
+ */
+public abstract class AbstractCharacterData extends AbstractNode implements
+        CharacterData {
+    public AbstractCharacterData() {
+    }
+
+    public String getPath(Element context) {
+        Element parent = getParent();
+
+        return ((parent != null) && (parent != context)) ? (parent
+                .getPath(context) + "/text()") : "text()";
+    }
+
+    public String getUniquePath(Element context) {
+        Element parent = getParent();
+
+        return ((parent != null) && (parent != context)) ? (parent
+                .getUniquePath(context) + "/text()") : "text()";
+    }
+
+    public void appendText(String text) {
+        setText(getText() + text);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractComment.java b/src/java/org/dom4j/tree/AbstractComment.java
new file mode 100644
index 0000000..2d70f12
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractComment.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import org.dom4j.Comment;
+import org.dom4j.Element;
+import org.dom4j.Visitor;
+
+/**
+ * <p>
+ * <code>AbstractComment</code> is an abstract base class for tree
+ * implementors to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.13 $
+ */
+public abstract class AbstractComment extends AbstractCharacterData implements
+        Comment {
+    public AbstractComment() {
+    }
+
+    public short getNodeType() {
+        return COMMENT_NODE;
+    }
+
+    public String getPath(Element context) {
+        Element parent = getParent();
+
+        return ((parent != null) && (parent != context)) ? (parent
+                .getPath(context) + "/comment()") : "comment()";
+    }
+
+    public String getUniquePath(Element context) {
+        Element parent = getParent();
+
+        return ((parent != null) && (parent != context)) ? (parent
+                .getUniquePath(context) + "/comment()") : "comment()";
+    }
+
+    public String toString() {
+        return super.toString() + " [Comment: \"" + getText() + "\"]";
+    }
+
+    public String asXML() {
+        return "<!--" + getText() + "-->";
+    }
+
+    public void write(Writer writer) throws IOException {
+        writer.write("<!--");
+        writer.write(getText());
+        writer.write("-->");
+    }
+
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractDocument.java b/src/java/org/dom4j/tree/AbstractDocument.java
new file mode 100644
index 0000000..9c2bee7
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractDocument.java
@@ -0,0 +1,296 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.IllegalAddException;
+import org.dom4j.Node;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.QName;
+import org.dom4j.Text;
+import org.dom4j.Visitor;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * <p>
+ * <code>AbstractDocument</code> is an abstract base class for tree
+ * implementors to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.33 $
+ */
+public abstract class AbstractDocument extends AbstractBranch implements
+        Document {
+
+    /** The encoding of this document as stated in the XML declaration */
+    protected String encoding;
+
+    public AbstractDocument() {
+    }
+
+    public short getNodeType() {
+        return DOCUMENT_NODE;
+    }
+
+    public String getPath(Element context) {
+        return "/";
+    }
+
+    public String getUniquePath(Element context) {
+        return "/";
+    }
+
+    public Document getDocument() {
+        return this;
+    }
+
+    public String getXMLEncoding() {
+        return null;
+    }
+
+    public String getStringValue() {
+        Element root = getRootElement();
+
+        return (root != null) ? root.getStringValue() : "";
+    }
+
+    public String asXML() {
+        OutputFormat format = new OutputFormat();
+        format.setEncoding(encoding);
+        
+        try {
+            StringWriter out = new StringWriter();
+            XMLWriter writer = new XMLWriter(out, format);
+            writer.write(this);
+            writer.flush();
+
+            return out.toString();
+        } catch (IOException e) {
+            throw new RuntimeException("IOException while generating textual "
+                    + "representation: " + e.getMessage());
+        }
+    }
+
+    public void write(Writer out) throws IOException {
+        OutputFormat format = new OutputFormat();
+        format.setEncoding(encoding);
+        
+        XMLWriter writer = new XMLWriter(out, format);
+        writer.write(this);
+    }
+
+    /**
+     * <p>
+     * <code>accept</code> method is the <code>Visitor Pattern</code>
+     * method.
+     * </p>
+     * 
+     * @param visitor
+     *            <code>Visitor</code> is the visitor.
+     */
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+
+        DocumentType docType = getDocType();
+
+        if (docType != null) {
+            visitor.visit(docType);
+        }
+
+        // visit content
+        List content = content();
+
+        if (content != null) {
+            for (Iterator iter = content.iterator(); iter.hasNext();) {
+                Object object = iter.next();
+
+                if (object instanceof String) {
+                    Text text = getDocumentFactory()
+                            .createText((String) object);
+                    visitor.visit(text);
+                } else {
+                    Node node = (Node) object;
+                    node.accept(visitor);
+                }
+            }
+        }
+    }
+
+    public String toString() {
+        return super.toString() + " [Document: name " + getName() + "]";
+    }
+
+    public void normalize() {
+        Element element = getRootElement();
+
+        if (element != null) {
+            element.normalize();
+        }
+    }
+
+    public Document addComment(String comment) {
+        Comment node = getDocumentFactory().createComment(comment);
+        add(node);
+
+        return this;
+    }
+
+    public Document addProcessingInstruction(String target, String data) {
+        ProcessingInstruction node = getDocumentFactory()
+                .createProcessingInstruction(target, data);
+        add(node);
+
+        return this;
+    }
+
+    public Document addProcessingInstruction(String target, Map data) {
+        ProcessingInstruction node = getDocumentFactory()
+                .createProcessingInstruction(target, data);
+        add(node);
+
+        return this;
+    }
+
+    public Element addElement(String name) {
+        Element element = getDocumentFactory().createElement(name);
+        add(element);
+
+        return element;
+    }
+
+    public Element addElement(String qualifiedName, String namespaceURI) {
+        Element element = getDocumentFactory().createElement(qualifiedName,
+                namespaceURI);
+        add(element);
+
+        return element;
+    }
+
+    public Element addElement(QName qName) {
+        Element element = getDocumentFactory().createElement(qName);
+        add(element);
+
+        return element;
+    }
+
+    public void setRootElement(Element rootElement) {
+        clearContent();
+
+        if (rootElement != null) {
+            super.add(rootElement);
+            rootElementAdded(rootElement);
+        }
+    }
+
+    public void add(Element element) {
+        checkAddElementAllowed(element);
+        super.add(element);
+        rootElementAdded(element);
+    }
+
+    public boolean remove(Element element) {
+        boolean answer = super.remove(element);
+        Element root = getRootElement();
+
+        if ((root != null) && answer) {
+            setRootElement(null);
+        }
+
+        element.setDocument(null);
+
+        return answer;
+    }
+
+    public Node asXPathResult(Element parent) {
+        return this;
+    }
+
+    protected void childAdded(Node node) {
+        if (node != null) {
+            node.setDocument(this);
+        }
+    }
+
+    protected void childRemoved(Node node) {
+        if (node != null) {
+            node.setDocument(null);
+        }
+    }
+
+    protected void checkAddElementAllowed(Element element) {
+        Element root = getRootElement();
+
+        if (root != null) {
+            throw new IllegalAddException(this, element,
+                    "Cannot add another element to this "
+                            + "Document as it already has a root "
+                            + "element of: " + root.getQualifiedName());
+        }
+    }
+
+    /**
+     * Called to set the root element variable
+     * 
+     * @param rootElement
+     *            DOCUMENT ME!
+     */
+    protected abstract void rootElementAdded(Element rootElement);
+
+    public void setXMLEncoding(String enc) {
+        this.encoding = enc;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractDocumentType.java b/src/java/org/dom4j/tree/AbstractDocumentType.java
new file mode 100644
index 0000000..e7fe285
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractDocumentType.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.Visitor;
+
+/**
+ * <p>
+ * <code>AbstractDocumentType</code> is an abstract base class for tree
+ * implementors to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.17 $
+ */
+public abstract class AbstractDocumentType extends AbstractNode implements
+        DocumentType {
+    public AbstractDocumentType() {
+    }
+
+    public short getNodeType() {
+        return DOCUMENT_TYPE_NODE;
+    }
+
+    public String getName() {
+        return getElementName();
+    }
+
+    public void setName(String name) {
+        setElementName(name);
+    }
+
+    public String getPath(Element context) {
+        // not available in XPath
+        return "";
+    }
+
+    public String getUniquePath(Element context) {
+        // not available in XPath
+        return "";
+    }
+
+    /**
+     * Returns the text format of the declarations if applicable, or the empty
+     * String
+     * 
+     * @return DOCUMENT ME!
+     */
+    public String getText() {
+        List list = getInternalDeclarations();
+
+        if ((list != null) && (list.size() > 0)) {
+            StringBuffer buffer = new StringBuffer();
+            Iterator iter = list.iterator();
+
+            if (iter.hasNext()) {
+                Object decl = iter.next();
+                buffer.append(decl.toString());
+
+                while (iter.hasNext()) {
+                    decl = iter.next();
+                    buffer.append("\n");
+                    buffer.append(decl.toString());
+                }
+            }
+
+            return buffer.toString();
+        }
+
+        return "";
+    }
+
+    public String toString() {
+        return super.toString() + " [DocumentType: " + asXML() + "]";
+    }
+
+    public String asXML() {
+        StringBuffer buffer = new StringBuffer("<!DOCTYPE ");
+        buffer.append(getElementName());
+
+        boolean hasPublicID = false;
+        String publicID = getPublicID();
+
+        if ((publicID != null) && (publicID.length() > 0)) {
+            buffer.append(" PUBLIC \"");
+            buffer.append(publicID);
+            buffer.append("\"");
+            hasPublicID = true;
+        }
+
+        String systemID = getSystemID();
+
+        if ((systemID != null) && (systemID.length() > 0)) {
+            if (!hasPublicID) {
+                buffer.append(" SYSTEM");
+            }
+
+            buffer.append(" \"");
+            buffer.append(systemID);
+            buffer.append("\"");
+        }
+
+        buffer.append(">");
+
+        return buffer.toString();
+    }
+
+    public void write(Writer writer) throws IOException {
+        writer.write("<!DOCTYPE ");
+        writer.write(getElementName());
+
+        boolean hasPublicID = false;
+        String publicID = getPublicID();
+
+        if ((publicID != null) && (publicID.length() > 0)) {
+            writer.write(" PUBLIC \"");
+            writer.write(publicID);
+            writer.write("\"");
+            hasPublicID = true;
+        }
+
+        String systemID = getSystemID();
+
+        if ((systemID != null) && (systemID.length() > 0)) {
+            if (!hasPublicID) {
+                writer.write(" SYSTEM");
+            }
+
+            writer.write(" \"");
+            writer.write(systemID);
+            writer.write("\"");
+        }
+
+        List list = getInternalDeclarations();
+
+        if ((list != null) && (list.size() > 0)) {
+            writer.write(" [");
+
+            for (Iterator iter = list.iterator(); iter.hasNext();) {
+                Object decl = iter.next();
+                writer.write("\n  ");
+                writer.write(decl.toString());
+            }
+
+            writer.write("\n]");
+        }
+
+        writer.write(">");
+    }
+
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractElement.java b/src/java/org/dom4j/tree/AbstractElement.java
new file mode 100644
index 0000000..e2a7c81
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractElement.java
@@ -0,0 +1,1684 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.Attribute;
+import org.dom4j.CDATA;
+import org.dom4j.CharacterData;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.IllegalAddException;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.QName;
+import org.dom4j.Text;
+import org.dom4j.Visitor;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+import org.xml.sax.Attributes;
+
+/**
+ * <p>
+ * <code>AbstractElement</code> is an abstract base class for tree
+ * implementors to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.80 $
+ */
+public abstract class AbstractElement extends AbstractBranch implements
+        org.dom4j.Element {
+    /** The <code>DocumentFactory</code> instance used by default */
+    private static final DocumentFactory DOCUMENT_FACTORY = DocumentFactory
+            .getInstance();
+
+    protected static final List EMPTY_LIST = Collections.EMPTY_LIST;
+
+    protected static final Iterator EMPTY_ITERATOR = EMPTY_LIST.iterator();
+
+    protected static final boolean VERBOSE_TOSTRING = false;
+
+    protected static final boolean USE_STRINGVALUE_SEPARATOR = false;
+
+    public AbstractElement() {
+    }
+
+    public short getNodeType() {
+        return ELEMENT_NODE;
+    }
+
+    public boolean isRootElement() {
+        Document document = getDocument();
+
+        if (document != null) {
+            Element root = document.getRootElement();
+
+            if (root == this) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    public void setName(String name) {
+        setQName(getDocumentFactory().createQName(name));
+    }
+
+    public void setNamespace(Namespace namespace) {
+        setQName(getDocumentFactory().createQName(getName(), namespace));
+    }
+
+    /**
+     * Returns the XPath expression to match this Elements name which is
+     * getQualifiedName() if there is a namespace prefix defined or if no
+     * namespace is present then it is getName() or if a namespace is defined
+     * with no prefix then the expression is [name()='X'] where X = getName().
+     * 
+     * @return DOCUMENT ME!
+     */
+    public String getXPathNameStep() {
+        String uri = getNamespaceURI();
+
+        if ((uri == null) || (uri.length() == 0)) {
+            return getName();
+        }
+
+        String prefix = getNamespacePrefix();
+
+        if ((prefix == null) || (prefix.length() == 0)) {
+            return "*[name()='" + getName() + "']";
+        }
+
+        return getQualifiedName();
+    }
+
+    public String getPath(Element context) {
+        if (this == context) {
+            return ".";
+        }
+
+        Element parent = getParent();
+
+        if (parent == null) {
+            return "/" + getXPathNameStep();
+        } else if (parent == context) {
+            return getXPathNameStep();
+        }
+
+        return parent.getPath(context) + "/" + getXPathNameStep();
+    }
+
+    public String getUniquePath(Element context) {
+        Element parent = getParent();
+
+        if (parent == null) {
+            return "/" + getXPathNameStep();
+        }
+
+        StringBuffer buffer = new StringBuffer();
+
+        if (parent != context) {
+            buffer.append(parent.getUniquePath(context));
+
+            buffer.append("/");
+        }
+
+        buffer.append(getXPathNameStep());
+
+        List mySiblings = parent.elements(getQName());
+
+        if (mySiblings.size() > 1) {
+            int idx = mySiblings.indexOf(this);
+
+            if (idx >= 0) {
+                buffer.append("[");
+
+                buffer.append(Integer.toString(++idx));
+
+                buffer.append("]");
+            }
+        }
+
+        return buffer.toString();
+    }
+
+    public String asXML() {
+        try {
+            StringWriter out = new StringWriter();
+            XMLWriter writer = new XMLWriter(out, new OutputFormat());
+
+            writer.write(this);
+            writer.flush();
+
+            return out.toString();
+        } catch (IOException e) {
+            throw new RuntimeException("IOException while generating "
+                    + "textual representation: " + e.getMessage());
+        }
+    }
+
+    public void write(Writer out) throws IOException {
+        XMLWriter writer = new XMLWriter(out, new OutputFormat());
+        writer.write(this);
+    }
+
+    /**
+     * <p>
+     * <code>accept</code> method is the <code>Visitor Pattern</code>
+     * method.
+     * </p>
+     * 
+     * @param visitor
+     *            <code>Visitor</code> is the visitor.
+     */
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+
+        // visit attributes
+        for (int i = 0, size = attributeCount(); i < size; i++) {
+            Attribute attribute = attribute(i);
+
+            visitor.visit(attribute);
+        }
+
+        // visit content
+        for (int i = 0, size = nodeCount(); i < size; i++) {
+            Node node = node(i);
+
+            node.accept(visitor);
+        }
+    }
+
+    public String toString() {
+        String uri = getNamespaceURI();
+
+        if ((uri != null) && (uri.length() > 0)) {
+            if (VERBOSE_TOSTRING) {
+                return super.toString() + " [Element: <" + getQualifiedName()
+                        + " uri: " + uri + " attributes: " + attributeList()
+                        + " content: " + contentList() + " />]";
+            } else {
+                return super.toString() + " [Element: <" + getQualifiedName()
+                        + " uri: " + uri + " attributes: " + attributeList()
+                        + "/>]";
+            }
+        } else {
+            if (VERBOSE_TOSTRING) {
+                return super.toString() + " [Element: <" + getQualifiedName()
+                        + " attributes: " + attributeList() + " content: "
+                        + contentList() + " />]";
+            } else {
+                return super.toString() + " [Element: <" + getQualifiedName()
+                        + " attributes: " + attributeList() + "/>]";
+            }
+        }
+    }
+
+    // QName methods
+    // -------------------------------------------------------------------------
+    public Namespace getNamespace() {
+        return getQName().getNamespace();
+    }
+
+    public String getName() {
+        return getQName().getName();
+    }
+
+    public String getNamespacePrefix() {
+        return getQName().getNamespacePrefix();
+    }
+
+    public String getNamespaceURI() {
+        return getQName().getNamespaceURI();
+    }
+
+    public String getQualifiedName() {
+        return getQName().getQualifiedName();
+    }
+
+    public Object getData() {
+        return getText();
+    }
+
+    public void setData(Object data) {
+        // ignore this method
+    }
+
+    // Node methods
+    // -------------------------------------------------------------------------
+    public Node node(int index) {
+        if (index >= 0) {
+            List list = contentList();
+
+            if (index >= list.size()) {
+                return null;
+            }
+
+            Object node = list.get(index);
+
+            if (node != null) {
+                if (node instanceof Node) {
+                    return (Node) node;
+                } else {
+                    return getDocumentFactory().createText(node.toString());
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public int indexOf(Node node) {
+        return contentList().indexOf(node);
+    }
+
+    public int nodeCount() {
+        return contentList().size();
+    }
+
+    public Iterator nodeIterator() {
+        return contentList().iterator();
+    }
+
+    // Element methods
+    // -------------------------------------------------------------------------
+    public Element element(String name) {
+        List list = contentList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof Element) {
+                Element element = (Element) object;
+
+                if (name.equals(element.getName())) {
+                    return element;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public Element element(QName qName) {
+        List list = contentList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof Element) {
+                Element element = (Element) object;
+
+                if (qName.equals(element.getQName())) {
+                    return element;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public Element element(String name, Namespace namespace) {
+        return element(getDocumentFactory().createQName(name, namespace));
+    }
+
+    public List elements() {
+        List list = contentList();
+
+        BackedList answer = createResultList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof Element) {
+                answer.addLocal(object);
+            }
+        }
+
+        return answer;
+    }
+
+    public List elements(String name) {
+        List list = contentList();
+
+        BackedList answer = createResultList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof Element) {
+                Element element = (Element) object;
+
+                if (name.equals(element.getName())) {
+                    answer.addLocal(element);
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    public List elements(QName qName) {
+        List list = contentList();
+
+        BackedList answer = createResultList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof Element) {
+                Element element = (Element) object;
+
+                if (qName.equals(element.getQName())) {
+                    answer.addLocal(element);
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    public List elements(String name, Namespace namespace) {
+        return elements(getDocumentFactory().createQName(name, namespace));
+    }
+
+    public Iterator elementIterator() {
+        List list = elements();
+
+        return list.iterator();
+    }
+
+    public Iterator elementIterator(String name) {
+        List list = elements(name);
+
+        return list.iterator();
+    }
+
+    public Iterator elementIterator(QName qName) {
+        List list = elements(qName);
+
+        return list.iterator();
+    }
+
+    public Iterator elementIterator(String name, Namespace ns) {
+        return elementIterator(getDocumentFactory().createQName(name, ns));
+    }
+
+    // Attribute methods
+    // -------------------------------------------------------------------------
+    public List attributes() {
+        return new ContentListFacade(this, attributeList());
+    }
+
+    public Iterator attributeIterator() {
+        return attributeList().iterator();
+    }
+
+    public Attribute attribute(int index) {
+        return (Attribute) attributeList().get(index);
+    }
+
+    public int attributeCount() {
+        return attributeList().size();
+    }
+
+    public Attribute attribute(String name) {
+        List list = attributeList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Attribute attribute = (Attribute) list.get(i);
+
+            if (name.equals(attribute.getName())) {
+                return attribute;
+            }
+        }
+
+        return null;
+    }
+
+    public Attribute attribute(QName qName) {
+        List list = attributeList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Attribute attribute = (Attribute) list.get(i);
+
+            if (qName.equals(attribute.getQName())) {
+                return attribute;
+            }
+        }
+
+        return null;
+    }
+
+    public Attribute attribute(String name, Namespace namespace) {
+        return attribute(getDocumentFactory().createQName(name, namespace));
+    }
+
+    /**
+     * This method provides a more optimal way of setting all the attributes on
+     * an Element particularly for use in {@link org.dom4j.io.SAXReader}.
+     * 
+     * @param attributes
+     *            DOCUMENT ME!
+     * @param namespaceStack
+     *            DOCUMENT ME!
+     * @param noNamespaceAttributes
+     *            DOCUMENT ME!
+     */
+    public void setAttributes(Attributes attributes,
+            NamespaceStack namespaceStack, boolean noNamespaceAttributes) {
+        // now lets add all attribute values
+        int size = attributes.getLength();
+
+        if (size > 0) {
+            DocumentFactory factory = getDocumentFactory();
+
+            if (size == 1) {
+                // allow lazy construction of the List of Attributes
+                String name = attributes.getQName(0);
+
+                if (noNamespaceAttributes || !name.startsWith("xmlns")) {
+                    String attributeURI = attributes.getURI(0);
+
+                    String attributeLocalName = attributes.getLocalName(0);
+
+                    String attributeValue = attributes.getValue(0);
+
+                    QName attributeQName = namespaceStack.getAttributeQName(
+                            attributeURI, attributeLocalName, name);
+
+                    add(factory.createAttribute(this, attributeQName,
+                            attributeValue));
+                }
+            } else {
+                List list = attributeList(size);
+
+                list.clear();
+
+                for (int i = 0; i < size; i++) {
+                    // optimised to avoid the call to attribute(QName) to
+                    // lookup an attribute for a given QName
+                    String attributeName = attributes.getQName(i);
+
+                    if (noNamespaceAttributes
+                            || !attributeName.startsWith("xmlns")) {
+                        String attributeURI = attributes.getURI(i);
+
+                        String attributeLocalName = attributes.getLocalName(i);
+
+                        String attributeValue = attributes.getValue(i);
+
+                        QName attributeQName = namespaceStack
+                                .getAttributeQName(attributeURI,
+                                        attributeLocalName, attributeName);
+
+                        Attribute attribute = factory.createAttribute(this,
+                                attributeQName, attributeValue);
+
+                        list.add(attribute);
+
+                        childAdded(attribute);
+                    }
+                }
+            }
+        }
+    }
+
+    public String attributeValue(String name) {
+        Attribute attrib = attribute(name);
+
+        if (attrib == null) {
+            return null;
+        } else {
+            return attrib.getValue();
+        }
+    }
+
+    public String attributeValue(QName qName) {
+        Attribute attrib = attribute(qName);
+
+        if (attrib == null) {
+            return null;
+        } else {
+            return attrib.getValue();
+        }
+    }
+
+    public String attributeValue(String name, String defaultValue) {
+        String answer = attributeValue(name);
+
+        return (answer != null) ? answer : defaultValue;
+    }
+
+    public String attributeValue(QName qName, String defaultValue) {
+        String answer = attributeValue(qName);
+
+        return (answer != null) ? answer : defaultValue;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * @param value
+     *            DOCUMENT ME!
+     * 
+     * @deprecated As of version 0.5. Please use {@link
+     *             #addAttribute(String,String)} instead. WILL BE REMOVED IN
+     *             dom4j-1.6 !!
+     */
+    public void setAttributeValue(String name, String value) {
+        addAttribute(name, value);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param qName
+     *            DOCUMENT ME!
+     * @param value
+     *            DOCUMENT ME!
+     * 
+     * @deprecated As of version 0.5. Please use {@link
+     *             #addAttribute(String,String)} instead. WILL BE REMOVED IN
+     *             dom4j-1.6 !!
+     */
+    public void setAttributeValue(QName qName, String value) {
+        addAttribute(qName, value);
+    }
+
+    public void add(Attribute attribute) {
+        if (attribute.getParent() != null) {
+            String message = "The Attribute already has an existing parent \""
+                    + attribute.getParent().getQualifiedName() + "\"";
+
+            throw new IllegalAddException(this, attribute, message);
+        }
+
+        if (attribute.getValue() == null) {
+            // try remove a previous attribute with the same
+            // name since adding an attribute with a null value
+            // is equivalent to removing it.
+            Attribute oldAttribute = attribute(attribute.getQName());
+
+            if (oldAttribute != null) {
+                remove(oldAttribute);
+            }
+        } else {
+            attributeList().add(attribute);
+
+            childAdded(attribute);
+        }
+    }
+
+    public boolean remove(Attribute attribute) {
+        List list = attributeList();
+
+        boolean answer = list.remove(attribute);
+
+        if (answer) {
+            childRemoved(attribute);
+        } else {
+            // we may have a copy of the attribute
+            Attribute copy = attribute(attribute.getQName());
+
+            if (copy != null) {
+                list.remove(copy);
+
+                answer = true;
+            }
+        }
+
+        return answer;
+    }
+
+    // Processing instruction API
+    // -------------------------------------------------------------------------
+    public List processingInstructions() {
+        List list = contentList();
+
+        BackedList answer = createResultList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof ProcessingInstruction) {
+                answer.addLocal(object);
+            }
+        }
+
+        return answer;
+    }
+
+    public List processingInstructions(String target) {
+        List list = contentList();
+
+        BackedList answer = createResultList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof ProcessingInstruction) {
+                ProcessingInstruction pi = (ProcessingInstruction) object;
+
+                if (target.equals(pi.getName())) {
+                    answer.addLocal(pi);
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    public ProcessingInstruction processingInstruction(String target) {
+        List list = contentList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof ProcessingInstruction) {
+                ProcessingInstruction pi = (ProcessingInstruction) object;
+
+                if (target.equals(pi.getName())) {
+                    return pi;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public boolean removeProcessingInstruction(String target) {
+        List list = contentList();
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+
+            if (object instanceof ProcessingInstruction) {
+                ProcessingInstruction pi = (ProcessingInstruction) object;
+
+                if (target.equals(pi.getName())) {
+                    iter.remove();
+
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    // Content Model methods
+    // -------------------------------------------------------------------------
+    public Node getXPathResult(int index) {
+        Node answer = node(index);
+
+        if ((answer != null) && !answer.supportsParent()) {
+            return answer.asXPathResult(this);
+        }
+
+        return answer;
+    }
+
+    public Element addAttribute(String name, String value) {
+        // adding a null value is equivalent to removing the attribute
+        Attribute attribute = attribute(name);
+
+        if (value != null) {
+            if (attribute == null) {
+                add(getDocumentFactory().createAttribute(this, name, value));
+            } else if (attribute.isReadOnly()) {
+                remove(attribute);
+
+                add(getDocumentFactory().createAttribute(this, name, value));
+            } else {
+                attribute.setValue(value);
+            }
+        } else if (attribute != null) {
+            remove(attribute);
+        }
+
+        return this;
+    }
+
+    public Element addAttribute(QName qName, String value) {
+        // adding a null value is equivalent to removing the attribute
+        Attribute attribute = attribute(qName);
+
+        if (value != null) {
+            if (attribute == null) {
+                add(getDocumentFactory().createAttribute(this, qName, value));
+            } else if (attribute.isReadOnly()) {
+                remove(attribute);
+
+                add(getDocumentFactory().createAttribute(this, qName, value));
+            } else {
+                attribute.setValue(value);
+            }
+        } else if (attribute != null) {
+            remove(attribute);
+        }
+
+        return this;
+    }
+
+    public Element addCDATA(String cdata) {
+        CDATA node = getDocumentFactory().createCDATA(cdata);
+
+        addNewNode(node);
+
+        return this;
+    }
+
+    public Element addComment(String comment) {
+        Comment node = getDocumentFactory().createComment(comment);
+
+        addNewNode(node);
+
+        return this;
+    }
+
+    public Element addElement(String name) {
+        DocumentFactory factory = getDocumentFactory();
+
+        int index = name.indexOf(":");
+
+        String prefix = "";
+
+        String localName = name;
+
+        Namespace namespace = null;
+
+        if (index > 0) {
+            prefix = name.substring(0, index);
+
+            localName = name.substring(index + 1);
+
+            namespace = getNamespaceForPrefix(prefix);
+
+            if (namespace == null) {
+                throw new IllegalAddException("No such namespace prefix: "
+                        + prefix + " is in scope on: " + this
+                        + " so cannot add element: " + name);
+            }
+        } else {
+            namespace = getNamespaceForPrefix("");
+        }
+
+        Element node;
+
+        if (namespace != null) {
+            QName qname = factory.createQName(localName, namespace);
+
+            node = factory.createElement(qname);
+        } else {
+            node = factory.createElement(name);
+        }
+
+        addNewNode(node);
+
+        return node;
+    }
+
+    public Element addEntity(String name, String text) {
+        Entity node = getDocumentFactory().createEntity(name, text);
+
+        addNewNode(node);
+
+        return this;
+    }
+
+    public Element addNamespace(String prefix, String uri) {
+        Namespace node = getDocumentFactory().createNamespace(prefix, uri);
+
+        addNewNode(node);
+
+        return this;
+    }
+
+    public Element addProcessingInstruction(String target, String data) {
+        ProcessingInstruction node = getDocumentFactory()
+                .createProcessingInstruction(target, data);
+
+        addNewNode(node);
+
+        return this;
+    }
+
+    public Element addProcessingInstruction(String target, Map data) {
+        ProcessingInstruction node = getDocumentFactory()
+                .createProcessingInstruction(target, data);
+
+        addNewNode(node);
+
+        return this;
+    }
+
+    public Element addText(String text) {
+        Text node = getDocumentFactory().createText(text);
+
+        addNewNode(node);
+
+        return this;
+    }
+
+    // polymorphic node methods
+    public void add(Node node) {
+        switch (node.getNodeType()) {
+            case ELEMENT_NODE:
+                add((Element) node);
+
+                break;
+
+            case ATTRIBUTE_NODE:
+                add((Attribute) node);
+
+                break;
+
+            case TEXT_NODE:
+                add((Text) node);
+
+                break;
+
+            case CDATA_SECTION_NODE:
+                add((CDATA) node);
+
+                break;
+
+            case ENTITY_REFERENCE_NODE:
+                add((Entity) node);
+
+                break;
+
+            case PROCESSING_INSTRUCTION_NODE:
+                add((ProcessingInstruction) node);
+
+                break;
+
+            case COMMENT_NODE:
+                add((Comment) node);
+
+                break;
+
+            /*
+             * XXXX: to do! case DOCUMENT_TYPE_NODE: add((DocumentType) node);
+             * break;
+             */
+            case NAMESPACE_NODE:
+                add((Namespace) node);
+
+                break;
+
+            default:
+                invalidNodeTypeAddException(node);
+        }
+    }
+
+    public boolean remove(Node node) {
+        switch (node.getNodeType()) {
+            case ELEMENT_NODE:
+                return remove((Element) node);
+
+            case ATTRIBUTE_NODE:
+                return remove((Attribute) node);
+
+            case TEXT_NODE:
+                return remove((Text) node);
+
+            case CDATA_SECTION_NODE:
+                return remove((CDATA) node);
+
+            case ENTITY_REFERENCE_NODE:
+                return remove((Entity) node);
+
+            case PROCESSING_INSTRUCTION_NODE:
+                return remove((ProcessingInstruction) node);
+
+            case COMMENT_NODE:
+                return remove((Comment) node);
+
+            /*
+             * case DOCUMENT_TYPE_NODE: return remove((DocumentType) node);
+             */
+            case NAMESPACE_NODE:
+                return remove((Namespace) node);
+
+            default:
+                return false;
+        }
+    }
+
+    // typesafe versions using node classes
+    public void add(CDATA cdata) {
+        addNode(cdata);
+    }
+
+    public void add(Comment comment) {
+        addNode(comment);
+    }
+
+    public void add(Element element) {
+        addNode(element);
+    }
+
+    public void add(Entity entity) {
+        addNode(entity);
+    }
+
+    public void add(Namespace namespace) {
+        addNode(namespace);
+    }
+
+    public void add(ProcessingInstruction pi) {
+        addNode(pi);
+    }
+
+    public void add(Text text) {
+        addNode(text);
+    }
+
+    public boolean remove(CDATA cdata) {
+        return removeNode(cdata);
+    }
+
+    public boolean remove(Comment comment) {
+        return removeNode(comment);
+    }
+
+    public boolean remove(Element element) {
+        return removeNode(element);
+    }
+
+    public boolean remove(Entity entity) {
+        return removeNode(entity);
+    }
+
+    public boolean remove(Namespace namespace) {
+        return removeNode(namespace);
+    }
+
+    public boolean remove(ProcessingInstruction pi) {
+        return removeNode(pi);
+    }
+
+    public boolean remove(Text text) {
+        return removeNode(text);
+    }
+
+    // Helper methods
+    // -------------------------------------------------------------------------
+    public boolean hasMixedContent() {
+        List content = contentList();
+
+        if ((content == null) || content.isEmpty() || (content.size() < 2)) {
+            return false;
+        }
+
+        Class prevClass = null;
+
+        for (Iterator iter = content.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+
+            Class newClass = object.getClass();
+
+            if (newClass != prevClass) {
+                if (prevClass != null) {
+                    return true;
+                }
+
+                prevClass = newClass;
+            }
+        }
+
+        return false;
+    }
+
+    public boolean isTextOnly() {
+        List content = contentList();
+
+        if ((content == null) || content.isEmpty()) {
+            return true;
+        }
+
+        for (Iterator iter = content.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+
+            if (!(object instanceof CharacterData)
+                    && !(object instanceof String)) {
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    public void setText(String text) {
+        /* remove all text nodes */
+        List allContent = contentList();
+
+        if (allContent != null) {
+            Iterator it = allContent.iterator();
+
+            while (it.hasNext()) {
+                Node node = (Node) it.next();
+
+                switch (node.getNodeType()) {
+                    case CDATA_SECTION_NODE:
+
+                    // case ENTITY_NODE:
+                    case ENTITY_REFERENCE_NODE:
+                    case TEXT_NODE:
+                        it.remove();
+
+                    default:
+                        break;
+                }
+            }
+        }
+
+        addText(text);
+    }
+
+    public String getStringValue() {
+        List list = contentList();
+
+        int size = list.size();
+
+        if (size > 0) {
+            if (size == 1) {
+                // optimised to avoid StringBuffer creation
+                return getContentAsStringValue(list.get(0));
+            } else {
+                StringBuffer buffer = new StringBuffer();
+
+                for (int i = 0; i < size; i++) {
+                    Object node = list.get(i);
+
+                    String string = getContentAsStringValue(node);
+
+                    if (string.length() > 0) {
+                        if (USE_STRINGVALUE_SEPARATOR) {
+                            if (buffer.length() > 0) {
+                                buffer.append(' ');
+                            }
+                        }
+
+                        buffer.append(string);
+                    }
+                }
+
+                return buffer.toString();
+            }
+        }
+
+        return "";
+    }
+
+    /**
+     * Puts all <code>Text</code> nodes in the full depth of the sub-tree
+     * underneath this <code>Node</code>, including attribute nodes, into a
+     * "normal" form where only structure (e.g., elements, comments, processing
+     * instructions, CDATA sections, and entity references) separates
+     * <code>Text</code> nodes, i.e., there are neither adjacent
+     * <code>Text</code> nodes nor empty <code>Text</code> nodes. This can
+     * be used to ensure that the DOM view of a document is the same as if it
+     * were saved and re-loaded, and is useful when operations (such as XPointer
+     * lookups) that depend on a particular document tree structure are to be
+     * used.In cases where the document contains <code>CDATASections</code>,
+     * the normalize operation alone may not be sufficient, since XPointers do
+     * not differentiate between <code>Text</code> nodes and
+     * <code>CDATASection</code> nodes.
+     * 
+     * @since DOM Level 2
+     */
+    public void normalize() {
+        List content = contentList();
+
+        Text previousText = null;
+
+        int i = 0;
+
+        while (i < content.size()) {
+            Node node = (Node) content.get(i);
+
+            if (node instanceof Text) {
+                Text text = (Text) node;
+
+                if (previousText != null) {
+                    previousText.appendText(text.getText());
+
+                    remove(text);
+                } else {
+                    String value = text.getText();
+
+                    // only remove empty Text nodes, not whitespace nodes
+                    // if ( value == null || value.trim().length() <= 0 ) {
+                    if ((value == null) || (value.length() <= 0)) {
+                        remove(text);
+                    } else {
+                        previousText = text;
+
+                        i++;
+                    }
+                }
+            } else {
+                if (node instanceof Element) {
+                    Element element = (Element) node;
+
+                    element.normalize();
+                }
+
+                previousText = null;
+
+                i++;
+            }
+        }
+    }
+
+    public String elementText(String name) {
+        Element element = element(name);
+
+        return (element != null) ? element.getText() : null;
+    }
+
+    public String elementText(QName qName) {
+        Element element = element(qName);
+
+        return (element != null) ? element.getText() : null;
+    }
+
+    public String elementTextTrim(String name) {
+        Element element = element(name);
+
+        return (element != null) ? element.getTextTrim() : null;
+    }
+
+    public String elementTextTrim(QName qName) {
+        Element element = element(qName);
+
+        return (element != null) ? element.getTextTrim() : null;
+    }
+
+    // add to me content from another element
+    // analagous to the addAll(collection) methods in Java 2 collections
+    public void appendAttributes(Element element) {
+        for (int i = 0, size = element.attributeCount(); i < size; i++) {
+            Attribute attribute = element.attribute(i);
+
+            if (attribute.supportsParent()) {
+                addAttribute(attribute.getQName(), attribute.getValue());
+            } else {
+                add(attribute);
+            }
+        }
+    }
+
+    /**
+     * <p>
+     * This returns a deep clone of this element. The new element is detached
+     * from its parent, and getParent() on the clone will return null.
+     * </p>
+     * 
+     * @return the clone of this element
+     */
+
+    /*
+     * public Object clone() { Element clone = createElement(getQName());
+     * clone.appendAttributes(this); clone.appendContent(this); return clone; }
+     */
+    public Element createCopy() {
+        Element clone = createElement(getQName());
+
+        clone.appendAttributes(this);
+
+        clone.appendContent(this);
+
+        return clone;
+    }
+
+    public Element createCopy(String name) {
+        Element clone = createElement(name);
+
+        clone.appendAttributes(this);
+
+        clone.appendContent(this);
+
+        return clone;
+    }
+
+    public Element createCopy(QName qName) {
+        Element clone = createElement(qName);
+
+        clone.appendAttributes(this);
+
+        clone.appendContent(this);
+
+        return clone;
+    }
+
+    public QName getQName(String qualifiedName) {
+        String prefix = "";
+
+        String localName = qualifiedName;
+
+        int index = qualifiedName.indexOf(":");
+
+        if (index > 0) {
+            prefix = qualifiedName.substring(0, index);
+
+            localName = qualifiedName.substring(index + 1);
+        }
+
+        Namespace namespace = getNamespaceForPrefix(prefix);
+
+        if (namespace != null) {
+            return getDocumentFactory().createQName(localName, namespace);
+        } else {
+            return getDocumentFactory().createQName(localName);
+        }
+    }
+
+    public Namespace getNamespaceForPrefix(String prefix) {
+        if (prefix == null) {
+            prefix = "";
+        }
+
+        if (prefix.equals(getNamespacePrefix())) {
+            return getNamespace();
+        } else if (prefix.equals("xml")) {
+            return Namespace.XML_NAMESPACE;
+        } else {
+            List list = contentList();
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof Namespace) {
+                    Namespace namespace = (Namespace) object;
+
+                    if (prefix.equals(namespace.getPrefix())) {
+                        return namespace;
+                    }
+                }
+            }
+        }
+
+        Element parent = getParent();
+
+        if (parent != null) {
+            Namespace answer = parent.getNamespaceForPrefix(prefix);
+
+            if (answer != null) {
+                return answer;
+            }
+        }
+
+        if ((prefix == null) || (prefix.length() <= 0)) {
+            return Namespace.NO_NAMESPACE;
+        }
+
+        return null;
+    }
+
+    public Namespace getNamespaceForURI(String uri) {
+        if ((uri == null) || (uri.length() <= 0)) {
+            return Namespace.NO_NAMESPACE;
+        } else if (uri.equals(getNamespaceURI())) {
+            return getNamespace();
+        } else {
+            List list = contentList();
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof Namespace) {
+                    Namespace namespace = (Namespace) object;
+
+                    if (uri.equals(namespace.getURI())) {
+                        return namespace;
+                    }
+                }
+            }
+
+            return null;
+        }
+    }
+
+    public List getNamespacesForURI(String uri) {
+        BackedList answer = createResultList();
+
+        // if (getNamespaceURI().equals(uri)) {
+        //
+        // answer.addLocal(getNamespace());
+        //
+        // }
+        List list = contentList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if ((object instanceof Namespace)
+                    && ((Namespace) object).getURI().equals(uri)) {
+                answer.addLocal(object);
+            }
+        }
+
+        return answer;
+    }
+
+    public List declaredNamespaces() {
+        BackedList answer = createResultList();
+
+        // if (getNamespaceURI().length() > 0) {
+        //
+        // answer.addLocal(getNamespace());
+        //
+        // }
+        //
+        List list = contentList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof Namespace) {
+                answer.addLocal(object);
+            }
+        }
+
+        return answer;
+    }
+
+    public List additionalNamespaces() {
+        List list = contentList();
+
+        int size = list.size();
+
+        BackedList answer = createResultList();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof Namespace) {
+                Namespace namespace = (Namespace) object;
+
+                if (!namespace.equals(getNamespace())) {
+                    answer.addLocal(namespace);
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    public List additionalNamespaces(String defaultNamespaceURI) {
+        List list = contentList();
+
+        BackedList answer = createResultList();
+
+        int size = list.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = list.get(i);
+
+            if (object instanceof Namespace) {
+                Namespace namespace = (Namespace) object;
+
+                if (!defaultNamespaceURI.equals(namespace.getURI())) {
+                    answer.addLocal(namespace);
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    // Implementation helper methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Ensures that the list of attributes has the given size
+     * 
+     * @param minCapacity
+     *            DOCUMENT ME!
+     */
+    public void ensureAttributesCapacity(int minCapacity) {
+        if (minCapacity > 1) {
+            List list = attributeList();
+
+            if (list instanceof ArrayList) {
+                ArrayList arrayList = (ArrayList) list;
+
+                arrayList.ensureCapacity(minCapacity);
+            }
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected Element createElement(String name) {
+        return getDocumentFactory().createElement(name);
+    }
+
+    protected Element createElement(QName qName) {
+        return getDocumentFactory().createElement(qName);
+    }
+
+    protected void addNode(Node node) {
+        if (node.getParent() != null) {
+            // XXX: could clone here
+            String message = "The Node already has an existing parent of \""
+                    + node.getParent().getQualifiedName() + "\"";
+
+            throw new IllegalAddException(this, node, message);
+        }
+
+        addNewNode(node);
+    }
+
+    protected void addNode(int index, Node node) {
+        if (node.getParent() != null) {
+            // XXX: could clone here
+            String message = "The Node already has an existing parent of \""
+                    + node.getParent().getQualifiedName() + "\"";
+
+            throw new IllegalAddException(this, node, message);
+        }
+
+        addNewNode(index, node);
+    }
+
+    /**
+     * Like addNode() but does not require a parent check
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     */
+    protected void addNewNode(Node node) {
+        contentList().add(node);
+
+        childAdded(node);
+    }
+
+    protected void addNewNode(int index, Node node) {
+        contentList().add(index, node);
+
+        childAdded(node);
+    }
+
+    protected boolean removeNode(Node node) {
+        boolean answer = contentList().remove(node);
+
+        if (answer) {
+            childRemoved(node);
+        }
+
+        return answer;
+    }
+
+    /**
+     * Called when a new child node is added to create any parent relationships
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     */
+    protected void childAdded(Node node) {
+        if (node != null) {
+            node.setParent(this);
+        }
+    }
+
+    protected void childRemoved(Node node) {
+        if (node != null) {
+            node.setParent(null);
+
+            node.setDocument(null);
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the internal List used to store attributes or creates one if one
+     *         is not available
+     */
+    protected abstract List attributeList();
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param attributeCount
+     *            DOCUMENT ME!
+     * 
+     * @return the internal List used to store attributes or creates one with
+     *         the specified size if one is not available
+     */
+    protected abstract List attributeList(int attributeCount);
+
+    protected DocumentFactory getDocumentFactory() {
+        QName qName = getQName();
+
+        // QName might be null as we might not have been constructed yet
+        if (qName != null) {
+            DocumentFactory factory = qName.getDocumentFactory();
+
+            if (factory != null) {
+                return factory;
+            }
+        }
+
+        return DOCUMENT_FACTORY;
+    }
+
+    /**
+     * A Factory Method pattern which creates a List implementation used to
+     * store attributes
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List createAttributeList() {
+        return createAttributeList(DEFAULT_CONTENT_LIST_SIZE);
+    }
+
+    /**
+     * A Factory Method pattern which creates a List implementation used to
+     * store attributes
+     * 
+     * @param size
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List createAttributeList(int size) {
+        return new ArrayList(size);
+    }
+
+    protected Iterator createSingleIterator(Object result) {
+        return new SingleIterator(result);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractEntity.java b/src/java/org/dom4j/tree/AbstractEntity.java
new file mode 100644
index 0000000..03fa883
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractEntity.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Visitor;
+
+/**
+ * <p>
+ * <code>AbstractEntity</code> is an abstract base class for tree implementors
+ * to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.15 $
+ */
+public abstract class AbstractEntity extends AbstractNode implements Entity {
+    public AbstractEntity() {
+    }
+
+    public short getNodeType() {
+        return ENTITY_REFERENCE_NODE;
+    }
+
+    public String getPath(Element context) {
+        // From XPaths perspective, entities are included in text
+        Element parent = getParent();
+
+        return ((parent != null) && (parent != context)) ? (parent
+                .getPath(context) + "/text()") : "text()";
+    }
+
+    public String getUniquePath(Element context) {
+        // From XPaths perspective, entities are included in text
+        Element parent = getParent();
+
+        return ((parent != null) && (parent != context)) ? (parent
+                .getUniquePath(context) + "/text()") : "text()";
+    }
+
+    public String toString() {
+        return super.toString() + " [Entity: &" + getName() + ";]";
+    }
+
+    public String getStringValue() {
+        return "&" + getName() + ";";
+    }
+
+    public String asXML() {
+        return "&" + getName() + ";";
+    }
+
+    public void write(Writer writer) throws IOException {
+        writer.write("&");
+        writer.write(getName());
+        writer.write(";");
+    }
+
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractNode.java b/src/java/org/dom4j/tree/AbstractNode.java
new file mode 100644
index 0000000..783e164
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractNode.java
@@ -0,0 +1,271 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.io.Writer;
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.NodeFilter;
+import org.dom4j.XPath;
+import org.dom4j.rule.Pattern;
+
+/**
+ * <p>
+ * <code>AbstractNode</code> is an abstract base class for tree implementors
+ * to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.31 $
+ */
+public abstract class AbstractNode implements Node, Cloneable, Serializable {
+    protected static final String[] NODE_TYPE_NAMES = {"Node", "Element",
+            "Attribute", "Text", "CDATA", "Entity", "Entity",
+            "ProcessingInstruction", "Comment", "Document", "DocumentType",
+            "DocumentFragment", "Notation", "Namespace", "Unknown" };
+
+    /** The <code>DocumentFactory</code> instance used by default */
+    private static final DocumentFactory DOCUMENT_FACTORY = DocumentFactory
+            .getInstance();
+
+    public AbstractNode() {
+    }
+
+    public short getNodeType() {
+        return UNKNOWN_NODE;
+    }
+
+    public String getNodeTypeName() {
+        int type = getNodeType();
+
+        if ((type < 0) || (type >= NODE_TYPE_NAMES.length)) {
+            return "Unknown";
+        }
+
+        return NODE_TYPE_NAMES[type];
+    }
+
+    public Document getDocument() {
+        Element element = getParent();
+
+        return (element != null) ? element.getDocument() : null;
+    }
+
+    public void setDocument(Document document) {
+    }
+
+    public Element getParent() {
+        return null;
+    }
+
+    public void setParent(Element parent) {
+    }
+
+    public boolean supportsParent() {
+        return false;
+    }
+
+    public boolean isReadOnly() {
+        return true;
+    }
+
+    public boolean hasContent() {
+        return false;
+    }
+
+    public String getPath() {
+        return getPath(null);
+    }
+
+    public String getUniquePath() {
+        return getUniquePath(null);
+    }
+
+    public Object clone() {
+        if (isReadOnly()) {
+            return this;
+        } else {
+            try {
+                Node answer = (Node) super.clone();
+                answer.setParent(null);
+                answer.setDocument(null);
+
+                return answer;
+            } catch (CloneNotSupportedException e) {
+                // should never happen
+                throw new RuntimeException("This should never happen. Caught: "
+                        + e);
+            }
+        }
+    }
+
+    public Node detach() {
+        Element parent = getParent();
+
+        if (parent != null) {
+            parent.remove(this);
+        } else {
+            Document document = getDocument();
+
+            if (document != null) {
+                document.remove(this);
+            }
+        }
+
+        setParent(null);
+        setDocument(null);
+
+        return this;
+    }
+
+    public String getName() {
+        return null;
+    }
+
+    public void setName(String name) {
+        throw new UnsupportedOperationException("This node cannot be modified");
+    }
+
+    public String getText() {
+        return null;
+    }
+
+    public String getStringValue() {
+        return getText();
+    }
+
+    public void setText(String text) {
+        throw new UnsupportedOperationException("This node cannot be modified");
+    }
+
+    public void write(Writer writer) throws IOException {
+        writer.write(asXML());
+    }
+
+    // XPath methods
+    public Object selectObject(String xpathExpression) {
+        XPath xpath = createXPath(xpathExpression);
+
+        return xpath.evaluate(this);
+    }
+
+    public List selectNodes(String xpathExpression) {
+        XPath xpath = createXPath(xpathExpression);
+
+        return xpath.selectNodes(this);
+    }
+
+    public List selectNodes(String xpathExpression,
+            String comparisonXPathExpression) {
+        return selectNodes(xpathExpression, comparisonXPathExpression, false);
+    }
+
+    public List selectNodes(String xpathExpression,
+            String comparisonXPathExpression, boolean removeDuplicates) {
+        XPath xpath = createXPath(xpathExpression);
+        XPath sortBy = createXPath(comparisonXPathExpression);
+
+        return xpath.selectNodes(this, sortBy, removeDuplicates);
+    }
+
+    public Node selectSingleNode(String xpathExpression) {
+        XPath xpath = createXPath(xpathExpression);
+
+        return xpath.selectSingleNode(this);
+    }
+
+    public String valueOf(String xpathExpression) {
+        XPath xpath = createXPath(xpathExpression);
+
+        return xpath.valueOf(this);
+    }
+
+    public Number numberValueOf(String xpathExpression) {
+        XPath xpath = createXPath(xpathExpression);
+
+        return xpath.numberValueOf(this);
+    }
+
+    public boolean matches(String patternText) {
+        NodeFilter filter = createXPathFilter(patternText);
+
+        return filter.matches(this);
+    }
+
+    public XPath createXPath(String xpathExpression) {
+        return getDocumentFactory().createXPath(xpathExpression);
+    }
+
+    public NodeFilter createXPathFilter(String patternText) {
+        return getDocumentFactory().createXPathFilter(patternText);
+    }
+
+    public Pattern createPattern(String patternText) {
+        return getDocumentFactory().createPattern(patternText);
+    }
+
+    public Node asXPathResult(Element parent) {
+        if (supportsParent()) {
+            return this;
+        }
+
+        return createXPathResult(parent);
+    }
+
+    protected DocumentFactory getDocumentFactory() {
+        return DOCUMENT_FACTORY;
+    }
+
+    protected Node createXPathResult(Element parent) {
+        throw new RuntimeException("asXPathResult() not yet implemented fully "
+                + "for: " + this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractProcessingInstruction.java b/src/java/org/dom4j/tree/AbstractProcessingInstruction.java
new file mode 100644
index 0000000..fbee6e8
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractProcessingInstruction.java
@@ -0,0 +1,235 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import org.dom4j.Element;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.Visitor;
+
+/**
+ * <p>
+ * <code>AbstractProcessingInstruction</code> is an abstract base class for
+ * tree implementors to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.17 $
+ */
+public abstract class AbstractProcessingInstruction extends AbstractNode
+        implements ProcessingInstruction {
+    public AbstractProcessingInstruction() {
+    }
+
+    public short getNodeType() {
+        return PROCESSING_INSTRUCTION_NODE;
+    }
+
+    public String getPath(Element context) {
+        Element parent = getParent();
+
+        return ((parent != null) && (parent != context)) ? (parent
+                .getPath(context) + "/processing-instruction()")
+                : "processing-instruction()";
+    }
+
+    public String getUniquePath(Element context) {
+        Element parent = getParent();
+
+        return ((parent != null) && (parent != context)) ? (parent
+                .getUniquePath(context) + "/processing-instruction()")
+                : "processing-instruction()";
+    }
+
+    public String toString() {
+        return super.toString() + " [ProcessingInstruction: &" + getName()
+                + ";]";
+    }
+
+    public String asXML() {
+        return "<?" + getName() + " " + getText() + "?>";
+    }
+
+    public void write(Writer writer) throws IOException {
+        writer.write("<?");
+        writer.write(getName());
+        writer.write(" ");
+        writer.write(getText());
+        writer.write("?>");
+    }
+
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+    }
+
+    public void setValue(String name, String value) {
+        throw new UnsupportedOperationException("This PI is read-only and "
+                + "cannot be modified");
+    }
+
+    public void setValues(Map data) {
+        throw new UnsupportedOperationException("This PI is read-only and "
+                + "cannot be modified");
+    }
+
+    public String getName() {
+        return getTarget();
+    }
+
+    public void setName(String name) {
+        setTarget(name);
+    }
+
+    public boolean removeValue(String name) {
+        return false;
+    }
+
+    // Helper methods
+
+    /**
+     * <p>
+     * This will convert the Map to a string representation.
+     * </p>
+     * 
+     * @param values
+     *            is a <code>Map</code> of PI data to convert
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected String toString(Map values) {
+        StringBuffer buffer = new StringBuffer();
+
+        for (Iterator iter = values.entrySet().iterator(); iter.hasNext();) {
+            Map.Entry entry = (Map.Entry) iter.next();
+            String name = (String) entry.getKey();
+            String value = (String) entry.getValue();
+
+            buffer.append(name);
+            buffer.append("=\"");
+            buffer.append(value);
+            buffer.append("\" ");
+        }
+
+        // remove the last space
+        buffer.setLength(buffer.length() - 1);
+
+        return buffer.toString();
+    }
+
+    /**
+     * <p>
+     * Parses the raw data of PI as a <code>Map</code>.
+     * </p>
+     * 
+     * @param text
+     *            <code>String</code> PI data to parse
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected Map parseValues(String text) {
+        Map data = new HashMap();
+
+        StringTokenizer s = new StringTokenizer(text, " =\'\"", true);
+
+        while (s.hasMoreTokens()) {
+            String name = getName(s);
+
+            if (s.hasMoreTokens()) {
+                String value = getValue(s);
+                data.put(name, value);
+            }
+        }
+
+        return data;
+    }
+
+    private String getName(StringTokenizer tokenizer) {
+        String token = tokenizer.nextToken();
+        StringBuffer name = new StringBuffer(token);
+
+        while (tokenizer.hasMoreTokens()) {
+            token = tokenizer.nextToken();
+
+            if (!token.equals("=")) {
+                name.append(token);
+            } else {
+                break;
+            }
+        }
+
+        return name.toString().trim();
+    }
+
+    private String getValue(StringTokenizer tokenizer) {
+        String token = tokenizer.nextToken();
+        StringBuffer value = new StringBuffer();
+
+        /* get the quote */
+        while (tokenizer.hasMoreTokens() && !token.equals("\'")
+                && !token.equals("\"")) {
+            token = tokenizer.nextToken();
+        }
+
+        String quote = token;
+
+        while (tokenizer.hasMoreTokens()) {
+            token = tokenizer.nextToken();
+
+            if (!quote.equals(token)) {
+                value.append(token);
+            } else {
+                break;
+            }
+        }
+
+        return value.toString();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/AbstractText.java b/src/java/org/dom4j/tree/AbstractText.java
new file mode 100644
index 0000000..f64fccf
--- /dev/null
+++ b/src/java/org/dom4j/tree/AbstractText.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.Writer;
+
+import org.dom4j.Visitor;
+
+/**
+ * <p>
+ * <code>AbstractText</code> is an abstract base class for tree implementors
+ * to use for implementation inheritence.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public abstract class AbstractText extends AbstractCharacterData implements
+        org.dom4j.Text {
+    public AbstractText() {
+    }
+
+    public short getNodeType() {
+        return TEXT_NODE;
+    }
+
+    public String toString() {
+        return super.toString() + " [Text: \"" + getText() + "\"]";
+    }
+
+    public String asXML() {
+        return getText();
+    }
+
+    public void write(Writer writer) throws IOException {
+        writer.write(getText());
+    }
+
+    public void accept(Visitor visitor) {
+        visitor.visit(this);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/BackedList.java b/src/java/org/dom4j/tree/BackedList.java
new file mode 100644
index 0000000..f09149a
--- /dev/null
+++ b/src/java/org/dom4j/tree/BackedList.java
@@ -0,0 +1,209 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.IllegalAddException;
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>BackedList</code> represents a list of content of a {@link
+ * org.dom4j.Branch}. Changes to the list will be reflected in the branch,
+ * though changes to the branch will not be reflected in this list.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.14 $
+ */
+public class BackedList extends ArrayList {
+    /** The content of the Branch which is modified if I am modified */
+    private List branchContent;
+
+    /** The <code>AbstractBranch</code> instance which owns the content */
+    private AbstractBranch branch;
+
+    public BackedList(AbstractBranch branch, List branchContent) {
+        this(branch, branchContent, branchContent.size());
+    }
+
+    public BackedList(AbstractBranch branch, List branchContent, int capacity) {
+        super(capacity);
+        this.branch = branch;
+        this.branchContent = branchContent;
+    }
+
+    public BackedList(AbstractBranch branch, List branchContent,
+            List initialContent) {
+        super(initialContent);
+        this.branch = branch;
+        this.branchContent = branchContent;
+    }
+
+    public boolean add(Object object) {
+        branch.addNode(asNode(object));
+
+        return super.add(object);
+    }
+
+    public void add(int index, Object object) {
+        int size = size();
+
+        if (index < 0) {
+            throw new IndexOutOfBoundsException("Index value: " + index
+                    + " is less than zero");
+        } else if (index > size) {
+            throw new IndexOutOfBoundsException("Index value: " + index
+                    + " cannot be greater than " + "the size: " + size);
+        }
+
+        int realIndex;
+
+        if (size == 0) {
+            realIndex = branchContent.size();
+        } else if (index < size) {
+            realIndex = branchContent.indexOf(get(index));
+        } else {
+            realIndex = branchContent.indexOf(get(size - 1)) + 1;
+        }
+
+        branch.addNode(realIndex, asNode(object));
+        super.add(index, object);
+    }
+
+    public Object set(int index, Object object) {
+        int realIndex = branchContent.indexOf(get(index));
+
+        if (realIndex < 0) {
+            realIndex = (index == 0) ? 0 : Integer.MAX_VALUE;
+        }
+
+        if (realIndex < branchContent.size()) {
+            branch.removeNode(asNode(get(index)));
+            branch.addNode(realIndex, asNode(object));
+        } else {
+            branch.removeNode(asNode(get(index)));
+            branch.addNode(asNode(object));
+        }
+
+        branch.childAdded(asNode(object));
+
+        return super.set(index, object);
+    }
+
+    public boolean remove(Object object) {
+        branch.removeNode(asNode(object));
+
+        return super.remove(object);
+    }
+
+    public Object remove(int index) {
+        Object object = super.remove(index);
+
+        if (object != null) {
+            branch.removeNode(asNode(object));
+        }
+
+        return object;
+    }
+
+    public boolean addAll(Collection collection) {
+        ensureCapacity(size() + collection.size());
+
+        int count = size();
+
+        for (Iterator iter = collection.iterator(); iter.hasNext(); count--) {
+            add(iter.next());
+        }
+
+        return count != 0;
+    }
+
+    public boolean addAll(int index, Collection collection) {
+        ensureCapacity(size() + collection.size());
+
+        int count = size();
+
+        for (Iterator iter = collection.iterator(); iter.hasNext(); count--) {
+            add(index++, iter.next());
+        }
+
+        return count != 0;
+    }
+
+    public void clear() {
+        for (Iterator iter = iterator(); iter.hasNext();) {
+            Object object = iter.next();
+            branchContent.remove(object);
+            branch.childRemoved(asNode(object));
+        }
+
+        super.clear();
+    }
+
+    /**
+     * Performs a local addition which is not forward through to the Branch or
+     * backing list
+     * 
+     * @param object
+     *            DOCUMENT ME!
+     */
+    public void addLocal(Object object) {
+        super.add(object);
+    }
+
+    protected Node asNode(Object object) {
+        if (object instanceof Node) {
+            return (Node) object;
+        } else {
+            throw new IllegalAddException("This list must contain instances "
+                    + "of Node. Invalid type: " + object);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/BaseElement.java b/src/java/org/dom4j/tree/BaseElement.java
new file mode 100644
index 0000000..3216283
--- /dev/null
+++ b/src/java/org/dom4j/tree/BaseElement.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.List;
+
+import org.dom4j.Branch;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>BaseElement</code> is a useful base class for implemementation
+ * inheritence of an XML element.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class BaseElement extends AbstractElement {
+    /** The <code>QName</code> for this element */
+    private QName qname;
+
+    /**
+     * Stores the parent branch of this node which is either a Document if this
+     * element is the root element in a document, or another Element if it is a
+     * child of the root document, or null if it has not been added to a
+     * document yet.
+     */
+    private Branch parentBranch;
+
+    /** List of content nodes. */
+    protected List content;
+
+    /** list of attributes */
+    protected List attributes;
+
+    public BaseElement(String name) {
+        this.qname = getDocumentFactory().createQName(name);
+    }
+
+    public BaseElement(QName qname) {
+        this.qname = qname;
+    }
+
+    public BaseElement(String name, Namespace namespace) {
+        this.qname = getDocumentFactory().createQName(name, namespace);
+    }
+
+    public Element getParent() {
+        Element result = null;
+
+        if (parentBranch instanceof Element) {
+            result = (Element) parentBranch;
+        }
+
+        return result;
+    }
+
+    public void setParent(Element parent) {
+        if (parentBranch instanceof Element || (parent != null)) {
+            parentBranch = parent;
+        }
+    }
+
+    public Document getDocument() {
+        if (parentBranch instanceof Document) {
+            return (Document) parentBranch;
+        } else if (parentBranch instanceof Element) {
+            Element parent = (Element) parentBranch;
+
+            return parent.getDocument();
+        }
+
+        return null;
+    }
+
+    public void setDocument(Document document) {
+        if (parentBranch instanceof Document || (document != null)) {
+            parentBranch = document;
+        }
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+
+    public QName getQName() {
+        return qname;
+    }
+
+    public void setQName(QName name) {
+        this.qname = name;
+    }
+
+    public void clearContent() {
+        contentList().clear();
+    }
+
+    public void setContent(List content) {
+        this.content = content;
+
+        if (content instanceof ContentListFacade) {
+            this.content = ((ContentListFacade) content).getBackingList();
+        }
+    }
+
+    public void setAttributes(List attributes) {
+        this.attributes = attributes;
+
+        if (attributes instanceof ContentListFacade) {
+            this.attributes = ((ContentListFacade) attributes).getBackingList();
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected List contentList() {
+        if (content == null) {
+            content = createContentList();
+        }
+
+        return content;
+    }
+
+    protected List attributeList() {
+        if (attributes == null) {
+            attributes = createAttributeList();
+        }
+
+        return attributes;
+    }
+
+    protected List attributeList(int size) {
+        if (attributes == null) {
+            attributes = createAttributeList(size);
+        }
+
+        return attributes;
+    }
+
+    protected void setAttributeList(List attributeList) {
+        this.attributes = attributeList;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/ConcurrentReaderHashMap.java b/src/java/org/dom4j/tree/ConcurrentReaderHashMap.java
new file mode 100644
index 0000000..661af88
--- /dev/null
+++ b/src/java/org/dom4j/tree/ConcurrentReaderHashMap.java
@@ -0,0 +1,1284 @@
+/*
+ File: ConcurrentReaderHashMap
+
+ Written by Doug Lea. Adapted and released, under explicit
+ permission, from JDK1.2 HashMap.java and Hashtable.java which
+ carries the following copyright:
+
+ * Copyright 1997 by Sun Microsystems, Inc.,
+ * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
+ * All rights reserved.
+ *
+ * This software is the confidential and proprietary information
+ * of Sun Microsystems, Inc. ("Confidential Information").  You
+ * shall not disclose such Confidential Information and shall use
+ * it only in accordance with the terms of the license agreement
+ * you entered into with Sun.
+
+ History:
+ Date       Who                What
+ 28oct1999  dl               Created
+ 14dec1999  dl               jmm snapshot
+ 19apr2000  dl               use barrierLock
+ 12jan2001  dl               public release
+ 17nov2001  dl               Minor tunings
+ 20may2002  dl               BarrierLock can now be serialized.
+ 09dec2002  dl               Fix interference checks.
+ */
+
+package org.dom4j.tree;
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.AbstractCollection;
+import java.util.AbstractMap;
+import java.util.AbstractSet;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Set;
+
+/**
+ * A version of Hashtable that supports mostly-concurrent reading, but exclusive
+ * writing. Because reads are not limited to periods without writes, a
+ * concurrent reader policy is weaker than a classic reader/writer policy, but
+ * is generally faster and allows more concurrency. This class is a good choice
+ * especially for tables that are mainly created by one thread during the
+ * start-up phase of a program, and from then on, are mainly read (with perhaps
+ * occasional additions or removals) in many threads. If you also need
+ * concurrency among writes, consider instead using ConcurrentHashMap.
+ * <p>
+ * 
+ * Successful retrievals using get(key) and containsKey(key) usually run without
+ * locking. Unsuccessful ones (i.e., when the key is not present) do involve
+ * brief synchronization (locking). Also, the size and isEmpty methods are
+ * always synchronized.
+ * 
+ * <p>
+ * Because retrieval operations can ordinarily overlap with writing operations
+ * (i.e., put, remove, and their derivatives), retrievals can only be guaranteed
+ * to return the results of the most recently <em>completed</em> operations
+ * holding upon their onset. Retrieval operations may or may not return results
+ * reflecting in-progress writing operations. However, the retrieval operations
+ * do always return consistent results -- either those holding before any single
+ * modification or after it, but never a nonsense result. For aggregate
+ * operations such as putAll and clear, concurrent reads may reflect insertion
+ * or removal of only some entries. In those rare contexts in which you use a
+ * hash table to synchronize operations across threads (for example, to prevent
+ * reads until after clears), you should either encase operations in
+ * synchronized blocks, or instead use java.util.Hashtable.
+ * 
+ * <p>
+ * 
+ * This class also supports optional guaranteed exclusive reads, simply by
+ * surrounding a call within a synchronized block, as in <br>
+ * <code>ConcurrentReaderHashMap t; ... Object v; <br>
+ * synchronized(t) { v = t.get(k); } </code><br>
+ * 
+ * But this is not usually necessary in practice. For example, it is generally
+ * inefficient to write:
+ * 
+ * <pre>
+ * 
+ *  
+ *     ConcurrentReaderHashMap t; ...            // Inefficient version
+ *     Object key; ...
+ *     Object value; ...
+ *     synchronized(t) { 
+ *       if (!t.containsKey(key))
+ *         t.put(key, value);
+ *         // other code if not previously present
+ *       }
+ *       else {
+ *         // other code if it was previously present
+ *       }
+ *     }
+ *  
+ *  
+ * </pre>
+ * 
+ * Instead, if the values are intended to be the same in each case, just take
+ * advantage of the fact that put returns null if the key was not previously
+ * present:
+ * 
+ * <pre>
+ * 
+ *  
+ *     ConcurrentReaderHashMap t; ...                // Use this instead
+ *     Object key; ...
+ *     Object value; ...
+ *     Object oldValue = t.put(key, value);
+ *     if (oldValue == null) {
+ *       // other code if not previously present
+ *     }
+ *     else {
+ *       // other code if it was previously present
+ *     }
+ *  
+ *  
+ * </pre>
+ * 
+ * <p>
+ * 
+ * Iterators and Enumerations (i.e., those returned by keySet().iterator(),
+ * entrySet().iterator(), values().iterator(), keys(), and elements()) return
+ * elements reflecting the state of the hash table at some point at or since the
+ * creation of the iterator/enumeration. They will return at most one instance
+ * of each element (via next()/nextElement()), but might or might not reflect
+ * puts and removes that have been processed since they were created. They do
+ * <em>not</em> throw ConcurrentModificationException. However, these
+ * iterators are designed to be used by only one thread at a time. Sharing an
+ * iterator across multiple threads may lead to unpredictable results if the
+ * table is being concurrently modified. Again, you can ensure interference-free
+ * iteration by enclosing the iteration in a synchronized block.
+ * <p>
+ * 
+ * This class may be used as a direct replacement for any use of
+ * java.util.Hashtable that does not depend on readers being blocked during
+ * updates. Like Hashtable but unlike java.util.HashMap, this class does NOT
+ * allow <tt>null</tt> to be used as a key or value. This class is also
+ * typically faster than ConcurrentHashMap when there is usually only one thread
+ * updating the table, but possibly many retrieving values from it.
+ * <p>
+ * 
+ * Implementation note: A slightly faster implementation of this class will be
+ * possible once planned Java Memory Model revisions are in place.
+ * 
+ * <p>[ <a
+ * href="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html">
+ * Introduction to this package. </a>]
+ * 
+ */
+
+class ConcurrentReaderHashMap extends AbstractMap implements Map, Cloneable,
+        Serializable {
+
+    /*
+     * The basic strategy is an optimistic-style scheme based on the guarantee
+     * that the hash table and its lists are always kept in a consistent enough
+     * state to be read without locking:
+     * 
+     * Read operations first proceed without locking, by traversing the
+     * apparently correct list of the apparently correct bin. If an entry is
+     * found, but not invalidated (value field null), it is returned. If not
+     * found, operations must recheck (after a memory barrier) to make sure they
+     * are using both the right list and the right table (which can change under
+     * resizes). If invalidated, reads must acquire main update lock to wait out
+     * the update, and then re-traverse.
+     * 
+     * All list additions are at the front of each bin, making it easy to check
+     * changes, and also fast to traverse. Entry next pointers are never
+     * assigned. Remove() builds new nodes when necessary to preserve this.
+     * 
+     * Remove() (also clear()) invalidates removed nodes to alert read
+     * operations that they must wait out the full modifications.
+     * 
+     */
+
+    /** A Serializable class for barrier lock * */
+    protected static class BarrierLock implements java.io.Serializable {
+    }
+
+    /**
+     * Lock used only for its memory effects.
+     */
+    protected final BarrierLock barrierLock = new BarrierLock();
+
+    /**
+     * field written to only to guarantee lock ordering.
+     */
+
+    protected transient Object lastWrite;
+
+    /**
+     * Force a memory synchronization that will cause all readers to see table.
+     * Call only when already holding main synch lock.
+     */
+    protected final void recordModification(Object x) {
+        synchronized (barrierLock) {
+            lastWrite = x;
+        }
+    }
+
+    /**
+     * Get ref to table; the reference and the cells it accesses will be at
+     * least as fresh as from last use of barrierLock
+     */
+    protected final Entry[] getTableForReading() {
+        synchronized (barrierLock) {
+            return table;
+        }
+    }
+
+    /**
+     * The default initial number of table slots for this table (32). Used when
+     * not otherwise specified in constructor.
+     */
+    public static int DEFAULT_INITIAL_CAPACITY = 32;
+
+    /**
+     * The minimum capacity, used if a lower value is implicitly specified by
+     * either of the constructors with arguments. MUST be a power of two.
+     */
+    private static final int MINIMUM_CAPACITY = 4;
+
+    /**
+     * The maximum capacity, used if a higher value is implicitly specified by
+     * either of the constructors with arguments. MUST be a power of two <= 1 <
+     * <30.
+     */
+    private static final int MAXIMUM_CAPACITY = 1 << 30;
+
+    /**
+     * The default load factor for this table (1.0). Used when not otherwise
+     * specified in constructor.
+     */
+
+    public static final float DEFAULT_LOAD_FACTOR = 0.75f;
+
+    /**
+     * The hash table data.
+     */
+    protected transient Entry[] table;
+
+    /**
+     * The total number of mappings in the hash table.
+     */
+    protected transient int count;
+
+    /**
+     * The table is rehashed when its size exceeds this threshold. (The value of
+     * this field is always (int)(capacity * loadFactor).)
+     * 
+     * @serial
+     */
+    protected int threshold;
+
+    /**
+     * The load factor for the hash table.
+     * 
+     * @serial
+     */
+    protected float loadFactor;
+
+    /**
+     * Returns the appropriate capacity (power of two) for the specified initial
+     * capacity argument.
+     */
+    private int p2capacity(int initialCapacity) {
+        int cap = initialCapacity;
+
+        // Compute the appropriate capacity
+        int result;
+        if (cap > MAXIMUM_CAPACITY || cap < 0) {
+            result = MAXIMUM_CAPACITY;
+        } else {
+            result = MINIMUM_CAPACITY;
+            while (result < cap)
+                result <<= 1;
+        }
+        return result;
+    }
+
+    /**
+     * Return hash code for Object x. Since we are using power-of-two tables, it
+     * is worth the effort to improve hashcode via the same multiplicative
+     * scheme as used in IdentityHashMap.
+     */
+    private static int hash(Object x) {
+        int h = x.hashCode();
+        // Multiply by 127 (quickly, via shifts), and mix in some high
+        // bits to help guard against bunching of codes that are
+        // consecutive or equally spaced.
+        return ((h << 7) - h + (h >>> 9) + (h >>> 17));
+    }
+
+    /**
+     * Check for equality of non-null references x and y.
+     */
+    protected boolean eq(Object x, Object y) {
+        return x == y || x.equals(y);
+    }
+
+    /**
+     * Constructs a new, empty map with the specified initial capacity and the
+     * specified load factor.
+     * 
+     * @param initialCapacity
+     *            the initial capacity The actual initial capacity is rounded to
+     *            the nearest power of two.
+     * @param loadFactor
+     *            the load factor of the ConcurrentReaderHashMap
+     * @throws IllegalArgumentException
+     *             if the initial maximum number of elements is less than zero,
+     *             or if the load factor is nonpositive.
+     */
+
+    public ConcurrentReaderHashMap(int initialCapacity, float loadFactor) {
+        if (loadFactor <= 0)
+            throw new IllegalArgumentException("Illegal Load factor: "
+                    + loadFactor);
+        this.loadFactor = loadFactor;
+
+        int cap = p2capacity(initialCapacity);
+
+        table = new Entry[cap];
+        threshold = (int) (cap * loadFactor);
+    }
+
+    /**
+     * Constructs a new, empty map with the specified initial capacity and
+     * default load factor.
+     * 
+     * @param initialCapacity
+     *            the initial capacity of the ConcurrentReaderHashMap.
+     * @throws IllegalArgumentException
+     *             if the initial maximum number of elements is less than zero.
+     */
+
+    public ConcurrentReaderHashMap(int initialCapacity) {
+        this(initialCapacity, DEFAULT_LOAD_FACTOR);
+    }
+
+    /**
+     * Constructs a new, empty map with a default initial capacity and load
+     * factor.
+     */
+
+    public ConcurrentReaderHashMap() {
+        this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR);
+    }
+
+    /**
+     * Constructs a new map with the same mappings as the given map. The map is
+     * created with a capacity of twice the number of mappings in the given map
+     * or 16 (whichever is greater), and a default load factor.
+     */
+
+    public ConcurrentReaderHashMap(Map t) {
+        this(Math.max((int) (t.size() / DEFAULT_LOAD_FACTOR) + 1, 16),
+                DEFAULT_LOAD_FACTOR);
+        putAll(t);
+    }
+
+    /**
+     * Returns the number of key-value mappings in this map.
+     * 
+     * @return the number of key-value mappings in this map.
+     */
+
+    public synchronized int size() {
+        return count;
+    }
+
+    /**
+     * Returns <tt>true</tt> if this map contains no key-value mappings.
+     * 
+     * @return <tt>true</tt> if this map contains no key-value mappings.
+     */
+
+    public synchronized boolean isEmpty() {
+        return count == 0;
+    }
+
+    /**
+     * Returns the value to which the specified key is mapped in this table.
+     * 
+     * @param key
+     *            a key in the table.
+     * @return the value to which the key is mapped in this table;
+     *         <code>null</code> if the key is not mapped to any value in this
+     *         table.
+     * @exception NullPointerException
+     *                if the key is <code>null</code>.
+     * @see #put(Object, Object)
+     */
+
+    public Object get(Object key) {
+
+        // throw null pointer exception if key null
+        int hash = hash(key);
+
+        /*
+         * Start off at the apparently correct bin. If entry is found, we need
+         * to check after a barrier anyway. If not found, we need a barrier to
+         * check if we are actually in right bin. So either way, we encounter
+         * only one barrier unless we need to retry. And we only need to fully
+         * synchronize if there have been concurrent modifications.
+         */
+
+        Entry[] tab = table;
+        int index = hash & (tab.length - 1);
+        Entry first = tab[index];
+        Entry e = first;
+
+        for (;;) {
+            if (e == null) {
+
+                // If key apparently not there, check to
+                // make sure this was a valid read
+
+                Entry[] reread = getTableForReading();
+                if (tab == reread && first == tab[index])
+                    return null;
+                else {
+                    // Wrong list -- must restart traversal at new first
+                    tab = reread;
+                    e = first = tab[index = hash & (tab.length - 1)];
+                }
+
+            }
+
+            else if (e.hash == hash && eq(key, e.key)) {
+                Object value = e.value;
+                if (value != null)
+                    return value;
+
+                // Entry was invalidated during deletion. But it could
+                // have been re-inserted, so we must retraverse.
+                // To avoid useless contention, get lock to wait out
+                // modifications
+                // before retraversing.
+
+                synchronized (this) {
+                    tab = table;
+                }
+                e = first = tab[index = hash & (tab.length - 1)];
+
+            } else
+                e = e.next;
+        }
+    }
+
+    /**
+     * Tests if the specified object is a key in this table.
+     * 
+     * @param key
+     *            possible key.
+     * @return <code>true</code> if and only if the specified object is a key
+     *         in this table, as determined by the <tt>equals</tt> method;
+     *         <code>false</code> otherwise.
+     * @exception NullPointerException
+     *                if the key is <code>null</code>.
+     * @see #contains(Object)
+     */
+
+    public boolean containsKey(Object key) {
+        return get(key) != null;
+    }
+
+    /**
+     * Maps the specified <code>key</code> to the specified <code>value</code>
+     * in this table. Neither the key nor the value can be <code>null</code>.
+     * <p>
+     * 
+     * The value can be retrieved by calling the <code>get</code> method with
+     * a key that is equal to the original key.
+     * 
+     * @param key
+     *            the table key.
+     * @param value
+     *            the value.
+     * @return the previous value of the specified key in this table, or
+     *         <code>null</code> if it did not have one.
+     * @exception NullPointerException
+     *                if the key or value is <code>null</code>.
+     * @see Object#equals(Object)
+     * @see #get(Object)
+     */
+
+    public Object put(Object key, Object value) {
+        if (value == null)
+            throw new NullPointerException();
+
+        int hash = hash(key);
+        Entry[] tab = table;
+        int index = hash & (tab.length - 1);
+        Entry first = tab[index];
+        Entry e;
+
+        for (e = first; e != null; e = e.next)
+            if (e.hash == hash && eq(key, e.key))
+                break;
+
+        synchronized (this) {
+            if (tab == table) {
+                if (e == null) {
+                    // make sure we are adding to correct list
+                    if (first == tab[index]) {
+                        // Add to front of list
+                        Entry newEntry = new Entry(hash, key, value, first);
+                        tab[index] = newEntry;
+                        if (++count >= threshold)
+                            rehash();
+                        else
+                            recordModification(newEntry);
+                        return null;
+                    }
+                } else {
+                    Object oldValue = e.value;
+                    if (first == tab[index] && oldValue != null) {
+                        e.value = value;
+                        return oldValue;
+                    }
+                }
+            }
+
+            // retry if wrong list or lost race against concurrent remove
+            return sput(key, value, hash);
+        }
+    }
+
+    /**
+     * Continuation of put(), called only when synch lock is held and
+     * interference has been detected.
+     */
+    protected Object sput(Object key, Object value, int hash) {
+
+        Entry[] tab = table;
+        int index = hash & (tab.length - 1);
+        Entry first = tab[index];
+        Entry e = first;
+
+        for (;;) {
+            if (e == null) {
+                Entry newEntry = new Entry(hash, key, value, first);
+                tab[index] = newEntry;
+                if (++count >= threshold)
+                    rehash();
+                else
+                    recordModification(newEntry);
+                return null;
+            } else if (e.hash == hash && eq(key, e.key)) {
+                Object oldValue = e.value;
+                e.value = value;
+                return oldValue;
+            } else
+                e = e.next;
+        }
+    }
+
+    /**
+     * Rehashes the contents of this map into a new table with a larger
+     * capacity. This method is called automatically when the number of keys in
+     * this map exceeds its capacity and load factor.
+     */
+    protected void rehash() {
+        Entry[] oldTable = table;
+        int oldCapacity = oldTable.length;
+        if (oldCapacity >= MAXIMUM_CAPACITY) {
+            threshold = Integer.MAX_VALUE; // avoid retriggering
+            return;
+        }
+
+        int newCapacity = oldCapacity << 1;
+        int mask = newCapacity - 1;
+        threshold = (int) (newCapacity * loadFactor);
+
+        Entry[] newTable = new Entry[newCapacity];
+        /*
+         * Reclassify nodes in each list to new Map. Because we are using
+         * power-of-two expansion, the elements from each bin must either stay
+         * at same index, or move to oldCapacity+index. We also eliminate
+         * unnecessary node creation by catching cases where old nodes can be
+         * reused because their next fields won't change. Statistically, at the
+         * default threshhold, only about one-sixth of them need cloning. (The
+         * nodes they replace will be garbage collectable as soon as they are no
+         * longer referenced by any reader thread that may be in the midst of
+         * traversing table right now.)
+         */
+
+        for (int i = 0; i < oldCapacity; i++) {
+            // We need to guarantee that any existing reads of old Map can
+            // proceed. So we cannot yet null out each bin.
+            Entry e = oldTable[i];
+
+            if (e != null) {
+                int idx = e.hash & mask;
+                Entry next = e.next;
+
+                // Single node on list
+                if (next == null)
+                    newTable[idx] = e;
+
+                else {
+                    // Reuse trailing consecutive sequence of all same bit
+                    Entry lastRun = e;
+                    int lastIdx = idx;
+                    for (Entry last = next; last != null; last = last.next) {
+                        int k = last.hash & mask;
+                        if (k != lastIdx) {
+                            lastIdx = k;
+                            lastRun = last;
+                        }
+                    }
+                    newTable[lastIdx] = lastRun;
+
+                    // Clone all remaining nodes
+                    for (Entry p = e; p != lastRun; p = p.next) {
+                        int k = p.hash & mask;
+                        newTable[k] = new Entry(p.hash, p.key, p.value,
+                                newTable[k]);
+                    }
+                }
+            }
+        }
+
+        table = newTable;
+        recordModification(newTable);
+    }
+
+    /**
+     * Removes the key (and its corresponding value) from this table. This
+     * method does nothing if the key is not in the table.
+     * 
+     * @param key
+     *            the key that needs to be removed.
+     * @return the value to which the key had been mapped in this table, or
+     *         <code>null</code> if the key did not have a mapping.
+     * @exception NullPointerException
+     *                if the key is <code>null</code>.
+     */
+
+    public Object remove(Object key) {
+        /*
+         * Find the entry, then 1. Set value field to null, to force get() to
+         * retry 2. Rebuild the list without this entry. All entries following
+         * removed node can stay in list, but all preceeding ones need to be
+         * cloned. Traversals rely on this strategy to ensure that elements will
+         * not be repeated during iteration.
+         */
+
+        int hash = hash(key);
+        Entry[] tab = table;
+        int index = hash & (tab.length - 1);
+        Entry first = tab[index];
+        Entry e = first;
+
+        for (e = first; e != null; e = e.next)
+            if (e.hash == hash && eq(key, e.key))
+                break;
+
+        synchronized (this) {
+            if (tab == table) {
+                if (e == null) {
+                    if (first == tab[index])
+                        return null;
+                } else {
+                    Object oldValue = e.value;
+                    if (first == tab[index] && oldValue != null) {
+                        e.value = null;
+                        count--;
+
+                        Entry head = e.next;
+                        for (Entry p = first; p != e; p = p.next)
+                            head = new Entry(p.hash, p.key, p.value, head);
+
+                        tab[index] = head;
+                        recordModification(head);
+                        return oldValue;
+                    }
+                }
+            }
+
+            // Wrong list or interference
+            return sremove(key, hash);
+        }
+    }
+
+    /**
+     * Continuation of remove(), called only when synch lock is held and
+     * interference has been detected.
+     */
+
+    protected Object sremove(Object key, int hash) {
+        Entry[] tab = table;
+        int index = hash & (tab.length - 1);
+        Entry first = tab[index];
+
+        for (Entry e = first; e != null; e = e.next) {
+            if (e.hash == hash && eq(key, e.key)) {
+                Object oldValue = e.value;
+                e.value = null;
+                count--;
+                Entry head = e.next;
+                for (Entry p = first; p != e; p = p.next)
+                    head = new Entry(p.hash, p.key, p.value, head);
+
+                tab[index] = head;
+                recordModification(head);
+                return oldValue;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns <tt>true</tt> if this map maps one or more keys to the
+     * specified value. Note: This method requires a full internal traversal of
+     * the hash table, and so is much slower than method <tt>containsKey</tt>.
+     * 
+     * @param value
+     *            value whose presence in this map is to be tested.
+     * @return <tt>true</tt> if this map maps one or more keys to the
+     *         specified value.
+     * @exception NullPointerException
+     *                if the value is <code>null</code>.
+     */
+
+    public boolean containsValue(Object value) {
+        if (value == null)
+            throw new NullPointerException();
+
+        Entry tab[] = getTableForReading();
+
+        for (int i = 0; i < tab.length; ++i) {
+            for (Entry e = tab[i]; e != null; e = e.next)
+                if (value.equals(e.value))
+                    return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Tests if some key maps into the specified value in this table. This
+     * operation is more expensive than the <code>containsKey</code> method.
+     * <p>
+     * 
+     * Note that this method is identical in functionality to containsValue,
+     * (which is part of the Map interface in the collections framework).
+     * 
+     * @param value
+     *            a value to search for.
+     * @return <code>true</code> if and only if some key maps to the
+     *         <code>value</code> argument in this table as determined by the
+     *         <tt>equals</tt> method; <code>false</code> otherwise.
+     * @exception NullPointerException
+     *                if the value is <code>null</code>.
+     * @see #containsKey(Object)
+     * @see #containsValue(Object)
+     * @see Map
+     */
+
+    public boolean contains(Object value) {
+        return containsValue(value);
+    }
+
+    /**
+     * Copies all of the mappings from the specified map to this one.
+     * 
+     * These mappings replace any mappings that this map had for any of the keys
+     * currently in the specified Map.
+     * 
+     * @param t
+     *            Mappings to be stored in this map.
+     */
+
+    public synchronized void putAll(Map t) {
+        int n = t.size();
+        if (n == 0)
+            return;
+
+        // Expand enough to hold at least n elements without resizing.
+        // We can only resize table by factor of two at a time.
+        // It is faster to rehash with fewer elements, so do it now.
+        while (n >= threshold)
+            rehash();
+
+        for (Iterator it = t.entrySet().iterator(); it.hasNext();) {
+            Map.Entry entry = (Map.Entry) it.next();
+            Object key = entry.getKey();
+            Object value = entry.getValue();
+            put(key, value);
+        }
+    }
+
+    /**
+     * Removes all mappings from this map.
+     */
+    public synchronized void clear() {
+        Entry tab[] = table;
+        for (int i = 0; i < tab.length; ++i) {
+
+            // must invalidate all to force concurrent get's to wait and then
+            // retry
+            for (Entry e = tab[i]; e != null; e = e.next)
+                e.value = null;
+
+            tab[i] = null;
+        }
+        count = 0;
+        recordModification(tab);
+    }
+
+    /**
+     * Returns a shallow copy of this <tt>ConcurrentReaderHashMap</tt>
+     * instance: the keys and values themselves are not cloned.
+     * 
+     * @return a shallow copy of this map.
+     */
+
+    public synchronized Object clone() {
+        try {
+            ConcurrentReaderHashMap t = (ConcurrentReaderHashMap) super.clone();
+
+            t.keySet = null;
+            t.entrySet = null;
+            t.values = null;
+
+            Entry[] tab = table;
+            t.table = new Entry[tab.length];
+            Entry[] ttab = t.table;
+
+            for (int i = 0; i < tab.length; ++i) {
+                Entry first = null;
+                for (Entry e = tab[i]; e != null; e = e.next)
+                    first = new Entry(e.hash, e.key, e.value, first);
+                ttab[i] = first;
+            }
+
+            return t;
+        } catch (CloneNotSupportedException e) {
+            // this shouldn't happen, since we are Cloneable
+            throw new InternalError();
+        }
+    }
+
+    // Views
+
+    protected transient Set keySet = null;
+
+    protected transient Set entrySet = null;
+
+    protected transient Collection values = null;
+
+    /**
+     * Returns a set view of the keys contained in this map. The set is backed
+     * by the map, so changes to the map are reflected in the set, and
+     * vice-versa. The set supports element removal, which removes the
+     * corresponding mapping from this map, via the <tt>Iterator.remove</tt>,
+     * <tt>Set.remove</tt>,<tt>removeAll</tt>,<tt>retainAll</tt>, and
+     * <tt>clear</tt> operations. It does not support the <tt>add</tt> or
+     * <tt>addAll</tt> operations.
+     * 
+     * @return a set view of the keys contained in this map.
+     */
+
+    public Set keySet() {
+        Set ks = keySet;
+        return (ks != null) ? ks : (keySet = new KeySet());
+    }
+
+    private class KeySet extends AbstractSet {
+        public Iterator iterator() {
+            return new KeyIterator();
+        }
+
+        public int size() {
+            return ConcurrentReaderHashMap.this.size();
+        }
+
+        public boolean contains(Object o) {
+            return ConcurrentReaderHashMap.this.containsKey(o);
+        }
+
+        public boolean remove(Object o) {
+            return ConcurrentReaderHashMap.this.remove(o) != null;
+        }
+
+        public void clear() {
+            ConcurrentReaderHashMap.this.clear();
+        }
+    }
+
+    /**
+     * Returns a collection view of the values contained in this map. The
+     * collection is backed by the map, so changes to the map are reflected in
+     * the collection, and vice-versa. The collection supports element removal,
+     * which removes the corresponding mapping from this map, via the
+     * <tt>Iterator.remove</tt>,<tt>Collection.remove</tt>,
+     * <tt>removeAll</tt>,<tt>retainAll</tt>, and <tt>clear</tt>
+     * operations. It does not support the <tt>add</tt> or <tt>addAll</tt>
+     * operations.
+     * 
+     * @return a collection view of the values contained in this map.
+     */
+
+    public Collection values() {
+        Collection vs = values;
+        return (vs != null) ? vs : (values = new Values());
+    }
+
+    private class Values extends AbstractCollection {
+        public Iterator iterator() {
+            return new ValueIterator();
+        }
+
+        public int size() {
+            return ConcurrentReaderHashMap.this.size();
+        }
+
+        public boolean contains(Object o) {
+            return ConcurrentReaderHashMap.this.containsValue(o);
+        }
+
+        public void clear() {
+            ConcurrentReaderHashMap.this.clear();
+        }
+    }
+
+    /**
+     * Returns a collection view of the mappings contained in this map. Each
+     * element in the returned collection is a <tt>Map.Entry</tt>. The
+     * collection is backed by the map, so changes to the map are reflected in
+     * the collection, and vice-versa. The collection supports element removal,
+     * which removes the corresponding mapping from the map, via the
+     * <tt>Iterator.remove</tt>,<tt>Collection.remove</tt>,
+     * <tt>removeAll</tt>,<tt>retainAll</tt>, and <tt>clear</tt>
+     * operations. It does not support the <tt>add</tt> or <tt>addAll</tt>
+     * operations.
+     * 
+     * @return a collection view of the mappings contained in this map.
+     */
+
+    public Set entrySet() {
+        Set es = entrySet;
+        return (es != null) ? es : (entrySet = new EntrySet());
+    }
+
+    private class EntrySet extends AbstractSet {
+        public Iterator iterator() {
+            return new HashIterator();
+        }
+
+        public boolean contains(Object o) {
+            if (!(o instanceof Map.Entry))
+                return false;
+            Map.Entry entry = (Map.Entry) o;
+            Object v = ConcurrentReaderHashMap.this.get(entry.getKey());
+            return v != null && v.equals(entry.getValue());
+        }
+
+        public boolean remove(Object o) {
+            if (!(o instanceof Map.Entry))
+                return false;
+            return ConcurrentReaderHashMap.this
+                    .findAndRemoveEntry((Map.Entry) o);
+        }
+
+        public int size() {
+            return ConcurrentReaderHashMap.this.size();
+        }
+
+        public void clear() {
+            ConcurrentReaderHashMap.this.clear();
+        }
+    }
+
+    /**
+     * Helper method for entrySet.remove
+     */
+    protected synchronized boolean findAndRemoveEntry(Map.Entry entry) {
+        Object key = entry.getKey();
+        Object v = get(key);
+        if (v != null && v.equals(entry.getValue())) {
+            remove(key);
+            return true;
+        } else
+            return false;
+    }
+
+    /**
+     * Returns an enumeration of the keys in this table.
+     * 
+     * @return an enumeration of the keys in this table.
+     * @see Enumeration
+     * @see #elements()
+     * @see #keySet()
+     * @see Map
+     */
+    public Enumeration keys() {
+        return new KeyIterator();
+    }
+
+    /**
+     * Returns an enumeration of the values in this table. Use the Enumeration
+     * methods on the returned object to fetch the elements sequentially.
+     * 
+     * @return an enumeration of the values in this table.
+     * @see java.util.Enumeration
+     * @see #keys()
+     * @see #values()
+     * @see Map
+     */
+
+    public Enumeration elements() {
+        return new ValueIterator();
+    }
+
+    /**
+     * ConcurrentReaderHashMap collision list entry.
+     */
+
+    protected static class Entry implements Map.Entry {
+
+        /*
+         * The use of volatile for value field ensures that we can detect status
+         * changes without synchronization. The other fields are never changed,
+         * and are marked as final.
+         */
+
+        protected final int hash;
+
+        protected final Object key;
+
+        protected final Entry next;
+
+        protected volatile Object value;
+
+        Entry(int hash, Object key, Object value, Entry next) {
+            this.hash = hash;
+            this.key = key;
+            this.next = next;
+            this.value = value;
+        }
+
+        // Map.Entry Ops
+
+        public Object getKey() {
+            return key;
+        }
+
+        /**
+         * Get the value. Note: In an entrySet or entrySet.iterator, unless the
+         * set or iterator is used under synchronization of the table as a whole
+         * (or you can otherwise guarantee lack of concurrent modification),
+         * <tt>getValue</tt> <em>might</em> return null, reflecting the fact
+         * that the entry has been concurrently removed. However, there are no
+         * assurances that concurrent removals will be reflected using this
+         * method.
+         * 
+         * @return the current value, or null if the entry has been detectably
+         *         removed.
+         */
+        public Object getValue() {
+            return value;
+        }
+
+        /**
+         * Set the value of this entry. Note: In an entrySet or
+         * entrySet.iterator), unless the set or iterator is used under
+         * synchronization of the table as a whole (or you can otherwise
+         * guarantee lack of concurrent modification), <tt>setValue</tt> is
+         * not strictly guaranteed to actually replace the value field obtained
+         * via the <tt>get</tt> operation of the underlying hash table in
+         * multithreaded applications. If iterator-wide synchronization is not
+         * used, and any other concurrent <tt>put</tt> or <tt>remove</tt>
+         * operations occur, sometimes even to <em>other</em> entries, then
+         * this change is not guaranteed to be reflected in the hash table. (It
+         * might, or it might not. There are no assurances either way.)
+         * 
+         * @param value
+         *            the new value.
+         * @return the previous value, or null if entry has been detectably
+         *         removed.
+         * @exception NullPointerException
+         *                if the value is <code>null</code>.
+         * 
+         */
+
+        public Object setValue(Object value) {
+            if (value == null)
+                throw new NullPointerException();
+            Object oldValue = this.value;
+            this.value = value;
+            return oldValue;
+        }
+
+        public boolean equals(Object o) {
+            if (!(o instanceof Map.Entry))
+                return false;
+            Map.Entry e = (Map.Entry) o;
+            return (key.equals(e.getKey()) && value.equals(e.getValue()));
+        }
+
+        public int hashCode() {
+            return key.hashCode() ^ value.hashCode();
+        }
+
+        public String toString() {
+            return key + "=" + value;
+        }
+
+    }
+
+    protected class HashIterator implements Iterator, Enumeration {
+        protected final Entry[] tab; // snapshot of table
+
+        protected int index; // current slot
+
+        protected Entry entry = null; // current node of slot
+
+        protected Object currentKey; // key for current node
+
+        protected Object currentValue; // value for current node
+
+        protected Entry lastReturned = null; // last node returned by next
+
+        protected HashIterator() {
+            tab = ConcurrentReaderHashMap.this.getTableForReading();
+            index = tab.length - 1;
+        }
+
+        public boolean hasMoreElements() {
+            return hasNext();
+        }
+
+        public Object nextElement() {
+            return next();
+        }
+
+        public boolean hasNext() {
+
+            /*
+             * currentkey and currentValue are set here to ensure that next()
+             * returns normally if hasNext() returns true. This avoids surprises
+             * especially when final element is removed during traversal --
+             * instead, we just ignore the removal during current traversal.
+             */
+
+            for (;;) {
+                if (entry != null) {
+                    Object v = entry.value;
+                    if (v != null) {
+                        currentKey = entry.key;
+                        currentValue = v;
+                        return true;
+                    } else
+                        entry = entry.next;
+                }
+
+                while (entry == null && index >= 0)
+                    entry = tab[index--];
+
+                if (entry == null) {
+                    currentKey = currentValue = null;
+                    return false;
+                }
+            }
+        }
+
+        protected Object returnValueOfNext() {
+            return entry;
+        }
+
+        public Object next() {
+            if (currentKey == null && !hasNext())
+                throw new NoSuchElementException();
+
+            Object result = returnValueOfNext();
+            lastReturned = entry;
+            currentKey = currentValue = null;
+            entry = entry.next;
+            return result;
+        }
+
+        public void remove() {
+            if (lastReturned == null)
+                throw new IllegalStateException();
+            ConcurrentReaderHashMap.this.remove(lastReturned.key);
+            lastReturned = null;
+        }
+
+    }
+
+    protected class KeyIterator extends HashIterator {
+        protected Object returnValueOfNext() {
+            return currentKey;
+        }
+    }
+
+    protected class ValueIterator extends HashIterator {
+        protected Object returnValueOfNext() {
+            return currentValue;
+        }
+    }
+
+    /**
+     * Save the state of the <tt>ConcurrentReaderHashMap</tt> instance to a
+     * stream (i.e., serialize it).
+     * 
+     * @serialData The <i>capacity </i> of the ConcurrentReaderHashMap (the
+     *             length of the bucket array) is emitted (int), followed by the
+     *             <i>size </i> of the ConcurrentReaderHashMap (the number of
+     *             key-value mappings), followed by the key (Object) and value
+     *             (Object) for each key-value mapping represented by the
+     *             ConcurrentReaderHashMap The key-value mappings are emitted in
+     *             no particular order.
+     */
+
+    private synchronized void writeObject(java.io.ObjectOutputStream s)
+            throws IOException {
+        // Write out the threshold, loadfactor, and any hidden stuff
+        s.defaultWriteObject();
+
+        // Write out number of buckets
+        s.writeInt(table.length);
+
+        // Write out size (number of Mappings)
+        s.writeInt(count);
+
+        // Write out keys and values (alternating)
+        for (int index = table.length - 1; index >= 0; index--) {
+            Entry entry = table[index];
+
+            while (entry != null) {
+                s.writeObject(entry.key);
+                s.writeObject(entry.value);
+                entry = entry.next;
+            }
+        }
+    }
+
+    /**
+     * Reconstitute the <tt>ConcurrentReaderHashMap</tt> instance from a
+     * stream (i.e., deserialize it).
+     */
+    private synchronized void readObject(java.io.ObjectInputStream s)
+            throws IOException, ClassNotFoundException {
+        // Read in the threshold, loadfactor, and any hidden stuff
+        s.defaultReadObject();
+
+        // Read in number of buckets and allocate the bucket array;
+        int numBuckets = s.readInt();
+        table = new Entry[numBuckets];
+
+        // Read in size (number of Mappings)
+        int size = s.readInt();
+
+        // Read the keys and values, and put the mappings in the table
+        for (int i = 0; i < size; i++) {
+            Object key = s.readObject();
+            Object value = s.readObject();
+            put(key, value);
+        }
+    }
+
+    /**
+     * Return the number of slots in this table
+     */
+
+    public synchronized int capacity() {
+        return table.length;
+    }
+
+    /**
+     * Return the load factor
+     */
+    public float loadFactor() {
+        return loadFactor;
+    }
+}
diff --git a/src/java/org/dom4j/tree/ContentListFacade.java b/src/java/org/dom4j/tree/ContentListFacade.java
new file mode 100644
index 0000000..e2ccca3
--- /dev/null
+++ b/src/java/org/dom4j/tree/ContentListFacade.java
@@ -0,0 +1,200 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.AbstractList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.IllegalAddException;
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>ContentListFacade</code> represents a facade of the content of a
+ * {@link org.dom4j.Branch} which is returned via calls to the {@link
+ * org.dom4j.Branch#content}  method to allow users to modify the content of a
+ * {@link org.dom4j.Branch} directly using the {@link List} interface. This list
+ * is backed by the branch such that changes to the list will be reflected in
+ * the branch and changes to the branch will be reflected in this list.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.11 $
+ */
+public class ContentListFacade extends AbstractList {
+    /** The content of the Branch which is modified if I am modified */
+    private List branchContent;
+
+    /** The <code>AbstractBranch</code> instance which owns the content */
+    private AbstractBranch branch;
+
+    public ContentListFacade(AbstractBranch branch, List branchContent) {
+        this.branch = branch;
+        this.branchContent = branchContent;
+    }
+
+    public boolean add(Object object) {
+        branch.childAdded(asNode(object));
+
+        return branchContent.add(object);
+    }
+
+    public void add(int index, Object object) {
+        branch.childAdded(asNode(object));
+        branchContent.add(index, object);
+    }
+
+    public Object set(int index, Object object) {
+        branch.childAdded(asNode(object));
+
+        return branchContent.set(index, object);
+    }
+
+    public boolean remove(Object object) {
+        branch.childRemoved(asNode(object));
+
+        return branchContent.remove(object);
+    }
+
+    public Object remove(int index) {
+        Object object = branchContent.remove(index);
+
+        if (object != null) {
+            branch.childRemoved(asNode(object));
+        }
+
+        return object;
+    }
+
+    public boolean addAll(Collection collection) {
+        int count = branchContent.size();
+
+        for (Iterator iter = collection.iterator(); iter.hasNext(); count++) {
+            add(iter.next());
+        }
+
+        return count == branchContent.size();
+    }
+
+    public boolean addAll(int index, Collection collection) {
+        int count = branchContent.size();
+
+        for (Iterator iter = collection.iterator(); iter.hasNext(); count--) {
+            add(index++, iter.next());
+        }
+
+        return count == branchContent.size();
+    }
+
+    public void clear() {
+        for (Iterator iter = iterator(); iter.hasNext();) {
+            Object object = iter.next();
+            branch.childRemoved(asNode(object));
+        }
+
+        branchContent.clear();
+    }
+
+    public boolean removeAll(Collection c) {
+        for (Iterator iter = c.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+            branch.childRemoved(asNode(object));
+        }
+
+        return branchContent.removeAll(c);
+    }
+
+    public int size() {
+        return branchContent.size();
+    }
+
+    public boolean isEmpty() {
+        return branchContent.isEmpty();
+    }
+
+    public boolean contains(Object o) {
+        return branchContent.contains(o);
+    }
+
+    public Object[] toArray() {
+        return branchContent.toArray();
+    }
+
+    public Object[] toArray(Object[] a) {
+        return branchContent.toArray(a);
+    }
+
+    public boolean containsAll(Collection c) {
+        return branchContent.containsAll(c);
+    }
+
+    public Object get(int index) {
+        return branchContent.get(index);
+    }
+
+    public int indexOf(Object o) {
+        return branchContent.indexOf(o);
+    }
+
+    public int lastIndexOf(Object o) {
+        return branchContent.lastIndexOf(o);
+    }
+
+    protected Node asNode(Object object) {
+        if (object instanceof Node) {
+            return (Node) object;
+        } else {
+            throw new IllegalAddException(
+                    "This list must contain instances of "
+                            + "Node. Invalid type: " + object);
+        }
+    }
+
+    protected List getBackingList() {
+        return branchContent;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultAttribute.java b/src/java/org/dom4j/tree/DefaultAttribute.java
new file mode 100644
index 0000000..070c826
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultAttribute.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>DefaultAttribute</code> implements a doubly linked node which
+ * supports the parent relationship and is mutable.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.13 $
+ */
+public class DefaultAttribute extends FlyweightAttribute {
+    /** The parent of this node */
+    private Element parent;
+
+    public DefaultAttribute(QName qname) {
+        super(qname);
+    }
+
+    public DefaultAttribute(QName qname, String value) {
+        super(qname, value);
+    }
+
+    public DefaultAttribute(Element parent, QName qname, String value) {
+        super(qname, value);
+        this.parent = parent;
+    }
+
+    /**
+     * Creates the <code>Attribute</code> with the specified local name and
+     * value.
+     * 
+     * @param name
+     *            is the name of the attribute
+     * @param value
+     *            is the value of the attribute
+     */
+    public DefaultAttribute(String name, String value) {
+        super(name, value);
+    }
+
+    /**
+     * Creates the <code>Attribute</code> with the specified local name, value
+     * and <code>Namespace</code>.
+     * 
+     * @param name
+     *            is the name of the attribute
+     * @param value
+     *            is the value of the attribute
+     * @param namespace
+     *            is the namespace of the attribute
+     */
+    public DefaultAttribute(String name, String value, Namespace namespace) {
+        super(name, value, namespace);
+    }
+
+    /**
+     * Creates the <code>Attribute</code> with the specified local name, value
+     * and <code>Namespace</code>.
+     * 
+     * @param parent
+     *            is the parent element
+     * @param name
+     *            is the name of the attribute
+     * @param value
+     *            is the value of the attribute
+     * @param namespace
+     *            is the namespace of the attribute
+     */
+    public DefaultAttribute(Element parent, String name, String value,
+            Namespace namespace) {
+        super(name, value, namespace);
+        this.parent = parent;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public Element getParent() {
+        return parent;
+    }
+
+    public void setParent(Element parent) {
+        this.parent = parent;
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+
+    public boolean isReadOnly() {
+        return false;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultCDATA.java b/src/java/org/dom4j/tree/DefaultCDATA.java
new file mode 100644
index 0000000..f17d20f
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultCDATA.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Element;
+
+/**
+ * <p>
+ * <code>DefaultCDATA</code> is the default CDATA implementation. It is a
+ * doubly linked node which supports the parent relationship and can be modified
+ * in place.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.12 $
+ */
+public class DefaultCDATA extends FlyweightCDATA {
+    /** The parent of this node */
+    private Element parent;
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param text
+     *            is the CDATA text
+     */
+    public DefaultCDATA(String text) {
+        super(text);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param parent
+     *            is the parent element
+     * @param text
+     *            is the CDATA text
+     */
+    public DefaultCDATA(Element parent, String text) {
+        super(text);
+        this.parent = parent;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+
+    public Element getParent() {
+        return parent;
+    }
+
+    public void setParent(Element parent) {
+        this.parent = parent;
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+
+    public boolean isReadOnly() {
+        return false;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultComment.java b/src/java/org/dom4j/tree/DefaultComment.java
new file mode 100644
index 0000000..910d412
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultComment.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Element;
+
+/**
+ * <p>
+ * <code>DefaultComment</code> is the default Comment implementation. It is a
+ * doubly linked node which supports the parent relationship and can be modified
+ * in place.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.11 $
+ */
+public class DefaultComment extends FlyweightComment {
+    /** The parent of this node */
+    private Element parent;
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param text
+     *            is the Comment text
+     */
+    public DefaultComment(String text) {
+        super(text);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param parent
+     *            is the parent element
+     * @param text
+     *            is the Comment text
+     */
+    public DefaultComment(Element parent, String text) {
+        super(text);
+        this.parent = parent;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+
+    public Element getParent() {
+        return parent;
+    }
+
+    public void setParent(Element parent) {
+        this.parent = parent;
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+
+    public boolean isReadOnly() {
+        return false;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultDocument.java b/src/java/org/dom4j/tree/DefaultDocument.java
new file mode 100644
index 0000000..2407150
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultDocument.java
@@ -0,0 +1,369 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.IllegalAddException;
+import org.dom4j.Node;
+import org.dom4j.ProcessingInstruction;
+
+import org.xml.sax.EntityResolver;
+
+/**
+ * <p>
+ * <code>DefaultDocument</code> is the default DOM4J default implementation of
+ * an XML document.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.34 $
+ */
+public class DefaultDocument extends AbstractDocument {
+    protected static final List EMPTY_LIST = Collections.EMPTY_LIST;
+
+    protected static final Iterator EMPTY_ITERATOR = EMPTY_LIST.iterator();
+
+    /** The name of the document */
+    private String name;
+
+    /** The root element of this document */
+    private Element rootElement;
+
+    /**
+     * Store the contents of the document as a lazily created <code>List</code>
+     */
+    private List content;
+
+    /** The document type for this document */
+    private DocumentType docType;
+
+    /** The document factory used by default */
+    private DocumentFactory documentFactory = DocumentFactory.getInstance();
+
+    /** The resolver of URIs */
+    private transient EntityResolver entityResolver;
+
+    public DefaultDocument() {
+    }
+
+    public DefaultDocument(String name) {
+        this.name = name;
+    }
+
+    public DefaultDocument(Element rootElement) {
+        this.rootElement = rootElement;
+    }
+
+    public DefaultDocument(DocumentType docType) {
+        this.docType = docType;
+    }
+
+    public DefaultDocument(Element rootElement, DocumentType docType) {
+        this.rootElement = rootElement;
+        this.docType = docType;
+    }
+
+    public DefaultDocument(String name, Element rootElement,
+            DocumentType docType) {
+        this.name = name;
+        this.rootElement = rootElement;
+        this.docType = docType;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Element getRootElement() {
+        return rootElement;
+    }
+
+    public DocumentType getDocType() {
+        return docType;
+    }
+
+    public void setDocType(DocumentType docType) {
+        this.docType = docType;
+    }
+
+    public Document addDocType(String docTypeName, String publicId,
+            String systemId) {
+        setDocType(getDocumentFactory().createDocType(docTypeName, publicId,
+                systemId));
+
+        return this;
+    }
+
+    public String getXMLEncoding() {
+        return encoding;
+    }
+
+    public EntityResolver getEntityResolver() {
+        return entityResolver;
+    }
+
+    public void setEntityResolver(EntityResolver entityResolver) {
+        this.entityResolver = entityResolver;
+    }
+
+    public Object clone() {
+        DefaultDocument document = (DefaultDocument) super.clone();
+        document.rootElement = null;
+        document.content = null;
+        document.appendContent(this);
+
+        return document;
+    }
+
+    public List processingInstructions() {
+        List source = contentList();
+        List answer = createResultList();
+        int size = source.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = source.get(i);
+
+            if (object instanceof ProcessingInstruction) {
+                answer.add(object);
+            }
+        }
+
+        return answer;
+    }
+
+    public List processingInstructions(String target) {
+        List source = contentList();
+        List answer = createResultList();
+        int size = source.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = source.get(i);
+
+            if (object instanceof ProcessingInstruction) {
+                ProcessingInstruction pi = (ProcessingInstruction) object;
+
+                if (target.equals(pi.getName())) {
+                    answer.add(pi);
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    public ProcessingInstruction processingInstruction(String target) {
+        List source = contentList();
+        int size = source.size();
+
+        for (int i = 0; i < size; i++) {
+            Object object = source.get(i);
+
+            if (object instanceof ProcessingInstruction) {
+                ProcessingInstruction pi = (ProcessingInstruction) object;
+
+                if (target.equals(pi.getName())) {
+                    return pi;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public boolean removeProcessingInstruction(String target) {
+        List source = contentList();
+
+        for (Iterator iter = source.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+
+            if (object instanceof ProcessingInstruction) {
+                ProcessingInstruction pi = (ProcessingInstruction) object;
+
+                if (target.equals(pi.getName())) {
+                    iter.remove();
+
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    public void setContent(List content) {
+        rootElement = null;
+        contentRemoved();
+
+        if (content instanceof ContentListFacade) {
+            content = ((ContentListFacade) content).getBackingList();
+        }
+
+        if (content == null) {
+            this.content = null;
+        } else {
+            int size = content.size();
+            List newContent = createContentList(size);
+
+            for (int i = 0; i < size; i++) {
+                Object object = content.get(i);
+
+                if (object instanceof Node) {
+                    Node node = (Node) object;
+                    Document doc = node.getDocument();
+
+                    if ((doc != null) && (doc != this)) {
+                        node = (Node) node.clone();
+                    }
+
+                    if (node instanceof Element) {
+                        if (rootElement == null) {
+                            rootElement = (Element) node;
+                        } else {
+                            throw new IllegalAddException(
+                                    "A document may only "
+                                            + "contain one root " + "element: "
+                                            + content);
+                        }
+                    }
+
+                    newContent.add(node);
+                    childAdded(node);
+                }
+            }
+
+            this.content = newContent;
+        }
+    }
+
+    public void clearContent() {
+        contentRemoved();
+        content = null;
+        rootElement = null;
+    }
+
+    public void setDocumentFactory(DocumentFactory documentFactory) {
+        this.documentFactory = documentFactory;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected List contentList() {
+        if (content == null) {
+            content = createContentList();
+
+            if (rootElement != null) {
+                content.add(rootElement);
+            }
+        }
+
+        return content;
+    }
+
+    protected void addNode(Node node) {
+        if (node != null) {
+            Document document = node.getDocument();
+
+            if ((document != null) && (document != this)) {
+                // XXX: could clone here
+                String message = "The Node already has an existing document: "
+                        + document;
+                throw new IllegalAddException(this, node, message);
+            }
+
+            contentList().add(node);
+            childAdded(node);
+        }
+    }
+
+    protected void addNode(int index, Node node) {
+        if (node != null) {
+            Document document = node.getDocument();
+
+            if ((document != null) && (document != this)) {
+                // XXX: could clone here
+                String message = "The Node already has an existing document: "
+                        + document;
+                throw new IllegalAddException(this, node, message);
+            }
+
+            contentList().add(index, node);
+            childAdded(node);
+        }
+    }
+
+    protected boolean removeNode(Node node) {
+        if (node == rootElement) {
+            rootElement = null;
+        }
+
+        if (contentList().remove(node)) {
+            childRemoved(node);
+
+            return true;
+        }
+
+        return false;
+    }
+
+    protected void rootElementAdded(Element element) {
+        this.rootElement = element;
+        element.setDocument(this);
+    }
+
+    protected DocumentFactory getDocumentFactory() {
+        return documentFactory;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultDocumentType.java b/src/java/org/dom4j/tree/DefaultDocumentType.java
new file mode 100644
index 0000000..57651d2
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultDocumentType.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.List;
+
+/**
+ * <p>
+ * <code>DefaultDocumentType</code> is the DOM4J default implementation of an
+ * XML document type.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public class DefaultDocumentType extends AbstractDocumentType {
+    /** The root element name of the document typ */
+    protected String elementName;
+
+    /** Holds value of property publicID. */
+    private String publicID;
+
+    /** Holds value of property systemID. */
+    private String systemID;
+
+    /** The internal DTD declarations */
+    private List internalDeclarations;
+
+    /** The external DTD declarations */
+    private List externalDeclarations;
+
+    public DefaultDocumentType() {
+    }
+
+    /**
+     * <p>
+     * This will create a new <code>DocumentType</code> with a reference to
+     * the external DTD
+     * </p>
+     * 
+     * @param elementName
+     *            is the root element name of the document type
+     * @param systemID
+     *            is the system ID of the external DTD
+     */
+    public DefaultDocumentType(String elementName, String systemID) {
+        this.elementName = elementName;
+        this.systemID = systemID;
+    }
+
+    /**
+     * <p>
+     * This will create a new <code>DocumentType</code> with a reference to
+     * the external DTD
+     * </p>
+     * 
+     * @param elementName
+     *            is the root element name of the document type
+     * @param publicID
+     *            is the public ID of the DTD
+     * @param systemID
+     *            is the system ID of the DTD
+     */
+    public DefaultDocumentType(String elementName, String publicID,
+            String systemID) {
+        this.elementName = elementName;
+        this.publicID = publicID;
+        this.systemID = systemID;
+    }
+
+    public String getElementName() {
+        return elementName;
+    }
+
+    public void setElementName(String elementName) {
+        this.elementName = elementName;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the public ID of the document type
+     */
+    public String getPublicID() {
+        return publicID;
+    }
+
+    /**
+     * Sets the public ID of the document type
+     * 
+     * @param publicID
+     *            DOCUMENT ME!
+     */
+    public void setPublicID(String publicID) {
+        this.publicID = publicID;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the system ID of the document type
+     */
+    public String getSystemID() {
+        return systemID;
+    }
+
+    /**
+     * Sets the system ID of the document type
+     * 
+     * @param systemID
+     *            DOCUMENT ME!
+     */
+    public void setSystemID(String systemID) {
+        this.systemID = systemID;
+    }
+
+    public List getInternalDeclarations() {
+        return internalDeclarations;
+    }
+
+    public void setInternalDeclarations(List internalDeclarations) {
+        this.internalDeclarations = internalDeclarations;
+    }
+
+    public List getExternalDeclarations() {
+        return externalDeclarations;
+    }
+
+    public void setExternalDeclarations(List externalDeclarations) {
+        this.externalDeclarations = externalDeclarations;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultElement.java b/src/java/org/dom4j/tree/DefaultElement.java
new file mode 100644
index 0000000..c7e0556
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultElement.java
@@ -0,0 +1,1055 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Attribute;
+import org.dom4j.Branch;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.IllegalAddException;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>DefaultElement</code> is the default DOM4J default implementation of
+ * an XML element.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.59 $
+ */
+public class DefaultElement extends AbstractElement {
+    /** The <code>DocumentFactory</code> instance used by default */
+    private static final transient DocumentFactory DOCUMENT_FACTORY = 
+            DocumentFactory.getInstance();
+
+    /** The <code>QName</code> for this element */
+    private QName qname;
+
+    /**
+     * Stores the parent branch of this node which is either a Document if this
+     * element is the root element in a document, or another Element if it is a
+     * child of the root document, or null if it has not been added to a
+     * document yet.
+     */
+    private Branch parentBranch;
+
+    /**
+     * Stores null for no content, a Node for a single content node or a List
+     * for multiple content nodes. The List will be lazily constructed when
+     * required.
+     */
+    private Object content;
+
+    /** Lazily constructes list of attributes */
+    private Object attributes;
+
+    public DefaultElement(String name) {
+        this.qname = DOCUMENT_FACTORY.createQName(name);
+    }
+
+    public DefaultElement(QName qname) {
+        this.qname = qname;
+    }
+
+    public DefaultElement(QName qname, int attributeCount) {
+        this.qname = qname;
+
+        if (attributeCount > 1) {
+            this.attributes = new ArrayList(attributeCount);
+        }
+    }
+
+    public DefaultElement(String name, Namespace namespace) {
+        this.qname = DOCUMENT_FACTORY.createQName(name, namespace);
+    }
+
+    public Element getParent() {
+        Element result = null;
+
+        if (parentBranch instanceof Element) {
+            result = (Element) parentBranch;
+        }
+
+        return result;
+    }
+
+    public void setParent(Element parent) {
+        if (parentBranch instanceof Element || (parent != null)) {
+            parentBranch = parent;
+        }
+    }
+
+    public Document getDocument() {
+        if (parentBranch instanceof Document) {
+            return (Document) parentBranch;
+        } else if (parentBranch instanceof Element) {
+            Element parent = (Element) parentBranch;
+
+            return parent.getDocument();
+        }
+
+        return null;
+    }
+
+    public void setDocument(Document document) {
+        if (parentBranch instanceof Document || (document != null)) {
+            parentBranch = document;
+        }
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+
+    public QName getQName() {
+        return qname;
+    }
+
+    public void setQName(QName name) {
+        this.qname = name;
+    }
+
+    public String getText() {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            return super.getText();
+        } else {
+            if (contentShadow != null) {
+                return getContentAsText(contentShadow);
+            } else {
+                return "";
+            }
+        }
+    }
+
+    public String getStringValue() {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            int size = list.size();
+
+            if (size > 0) {
+                if (size == 1) {
+                    // optimised to avoid StringBuffer creation
+                    return getContentAsStringValue(list.get(0));
+                } else {
+                    StringBuffer buffer = new StringBuffer();
+
+                    for (int i = 0; i < size; i++) {
+                        Object node = list.get(i);
+
+                        String string = getContentAsStringValue(node);
+
+                        if (string.length() > 0) {
+                            if (USE_STRINGVALUE_SEPARATOR) {
+                                if (buffer.length() > 0) {
+                                    buffer.append(' ');
+                                }
+                            }
+
+                            buffer.append(string);
+                        }
+                    }
+
+                    return buffer.toString();
+                }
+            }
+        } else {
+            if (contentShadow != null) {
+                return getContentAsStringValue(contentShadow);
+            }
+        }
+
+        return "";
+    }
+
+    public Object clone() {
+        DefaultElement answer = (DefaultElement) super.clone();
+
+        if (answer != this) {
+            answer.content = null;
+
+            answer.attributes = null;
+
+            answer.appendAttributes(this);
+
+            answer.appendContent(this);
+        }
+
+        return answer;
+    }
+
+    public Namespace getNamespaceForPrefix(String prefix) {
+        if (prefix == null) {
+            prefix = "";
+        }
+
+        if (prefix.equals(getNamespacePrefix())) {
+            return getNamespace();
+        } else if (prefix.equals("xml")) {
+            return Namespace.XML_NAMESPACE;
+        } else {
+            final Object contentShadow = content;
+
+            if (contentShadow instanceof List) {
+                List list = (List) contentShadow;
+
+                int size = list.size();
+
+                for (int i = 0; i < size; i++) {
+                    Object object = list.get(i);
+
+                    if (object instanceof Namespace) {
+                        Namespace namespace = (Namespace) object;
+
+                        if (prefix.equals(namespace.getPrefix())) {
+                            return namespace;
+                        }
+                    }
+                }
+            } else if (contentShadow instanceof Namespace) {
+                Namespace namespace = (Namespace) contentShadow;
+
+                if (prefix.equals(namespace.getPrefix())) {
+                    return namespace;
+                }
+            }
+        }
+
+        Element parent = getParent();
+
+        if (parent != null) {
+            Namespace answer = parent.getNamespaceForPrefix(prefix);
+
+            if (answer != null) {
+                return answer;
+            }
+        }
+
+        if ((prefix == null) || (prefix.length() <= 0)) {
+            return Namespace.NO_NAMESPACE;
+        }
+
+        return null;
+    }
+
+    public Namespace getNamespaceForURI(String uri) {
+        if ((uri == null) || (uri.length() <= 0)) {
+            return Namespace.NO_NAMESPACE;
+        } else if (uri.equals(getNamespaceURI())) {
+            return getNamespace();
+        } else {
+            final Object contentShadow = content;
+
+            if (contentShadow instanceof List) {
+                List list = (List) contentShadow;
+
+                int size = list.size();
+
+                for (int i = 0; i < size; i++) {
+                    Object object = list.get(i);
+
+                    if (object instanceof Namespace) {
+                        Namespace namespace = (Namespace) object;
+
+                        if (uri.equals(namespace.getURI())) {
+                            return namespace;
+                        }
+                    }
+                }
+            } else if (contentShadow instanceof Namespace) {
+                Namespace namespace = (Namespace) contentShadow;
+
+                if (uri.equals(namespace.getURI())) {
+                    return namespace;
+                }
+            }
+
+            Element parent = getParent();
+
+            if (parent != null) {
+                return parent.getNamespaceForURI(uri);
+            }
+
+            return null;
+        }
+    }
+
+    public List declaredNamespaces() {
+        BackedList answer = createResultList();
+
+        // if (getNamespaceURI().length() > 0) {
+        //
+        // answer.addLocal(getNamespace());
+        //
+        // }
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof Namespace) {
+                    answer.addLocal(object);
+                }
+            }
+        } else {
+            if (contentShadow instanceof Namespace) {
+                answer.addLocal(contentShadow);
+            }
+        }
+
+        return answer;
+    }
+
+    public List additionalNamespaces() {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            int size = list.size();
+
+            BackedList answer = createResultList();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof Namespace) {
+                    Namespace namespace = (Namespace) object;
+
+                    if (!namespace.equals(getNamespace())) {
+                        answer.addLocal(namespace);
+                    }
+                }
+            }
+
+            return answer;
+        } else {
+            if (contentShadow instanceof Namespace) {
+                Namespace namespace = (Namespace) contentShadow;
+
+                if (namespace.equals(getNamespace())) {
+                    return createEmptyList();
+                }
+
+                return createSingleResultList(namespace);
+            } else {
+                return createEmptyList();
+            }
+        }
+    }
+
+    public List additionalNamespaces(String defaultNamespaceURI) {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            BackedList answer = createResultList();
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof Namespace) {
+                    Namespace namespace = (Namespace) object;
+
+                    if (!defaultNamespaceURI.equals(namespace.getURI())) {
+                        answer.addLocal(namespace);
+                    }
+                }
+            }
+
+            return answer;
+        } else {
+            if (contentShadow instanceof Namespace) {
+                Namespace namespace = (Namespace) contentShadow;
+
+                if (!defaultNamespaceURI.equals(namespace.getURI())) {
+                    return createSingleResultList(namespace);
+                }
+            }
+        }
+
+        return createEmptyList();
+    }
+
+    // Processing instruction API
+    public List processingInstructions() {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            BackedList answer = createResultList();
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof ProcessingInstruction) {
+                    answer.addLocal(object);
+                }
+            }
+
+            return answer;
+        } else {
+            if (contentShadow instanceof ProcessingInstruction) {
+                return createSingleResultList(contentShadow);
+            }
+
+            return createEmptyList();
+        }
+    }
+
+    public List processingInstructions(String target) {
+        final Object shadow = content;
+
+        if (shadow instanceof List) {
+            List list = (List) shadow;
+
+            BackedList answer = createResultList();
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof ProcessingInstruction) {
+                    ProcessingInstruction pi = (ProcessingInstruction) object;
+
+                    if (target.equals(pi.getName())) {
+                        answer.addLocal(pi);
+                    }
+                }
+            }
+
+            return answer;
+        } else {
+            if (shadow instanceof ProcessingInstruction) {
+                ProcessingInstruction pi = (ProcessingInstruction) shadow;
+
+                if (target.equals(pi.getName())) {
+                    return createSingleResultList(pi);
+                }
+            }
+
+            return createEmptyList();
+        }
+    }
+
+    public ProcessingInstruction processingInstruction(String target) {
+        final Object shadow = content;
+
+        if (shadow instanceof List) {
+            List list = (List) shadow;
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof ProcessingInstruction) {
+                    ProcessingInstruction pi = (ProcessingInstruction) object;
+
+                    if (target.equals(pi.getName())) {
+                        return pi;
+                    }
+                }
+            }
+        } else {
+            if (shadow instanceof ProcessingInstruction) {
+                ProcessingInstruction pi = (ProcessingInstruction) shadow;
+
+                if (target.equals(pi.getName())) {
+                    return pi;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public boolean removeProcessingInstruction(String target) {
+        final Object shadow = content;
+
+        if (shadow instanceof List) {
+            List list = (List) shadow;
+
+            for (Iterator iter = list.iterator(); iter.hasNext();) {
+                Object object = iter.next();
+
+                if (object instanceof ProcessingInstruction) {
+                    ProcessingInstruction pi = (ProcessingInstruction) object;
+
+                    if (target.equals(pi.getName())) {
+                        iter.remove();
+
+                        return true;
+                    }
+                }
+            }
+        } else {
+            if (shadow instanceof ProcessingInstruction) {
+                ProcessingInstruction pi = (ProcessingInstruction) shadow;
+
+                if (target.equals(pi.getName())) {
+                    this.content = null;
+
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    public Element element(String name) {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof Element) {
+                    Element element = (Element) object;
+
+                    if (name.equals(element.getName())) {
+                        return element;
+                    }
+                }
+            }
+        } else {
+            if (contentShadow instanceof Element) {
+                Element element = (Element) contentShadow;
+
+                if (name.equals(element.getName())) {
+                    return element;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public Element element(QName qName) {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof Element) {
+                    Element element = (Element) object;
+
+                    if (qName.equals(element.getQName())) {
+                        return element;
+                    }
+                }
+            }
+        } else {
+            if (contentShadow instanceof Element) {
+                Element element = (Element) contentShadow;
+
+                if (qName.equals(element.getQName())) {
+                    return element;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public Element element(String name, Namespace namespace) {
+        return element(getDocumentFactory().createQName(name, namespace));
+    }
+
+    public void setContent(List content) {
+        contentRemoved();
+
+        if (content instanceof ContentListFacade) {
+            content = ((ContentListFacade) content).getBackingList();
+        }
+
+        if (content == null) {
+            this.content = null;
+        } else {
+            int size = content.size();
+
+            List newContent = createContentList(size);
+
+            for (int i = 0; i < size; i++) {
+                Object object = content.get(i);
+
+                if (object instanceof Node) {
+                    Node node = (Node) object;
+                    Element parent = node.getParent();
+
+                    if ((parent != null) && (parent != this)) {
+                        node = (Node) node.clone();
+                    }
+
+                    newContent.add(node);
+                    childAdded(node);
+                } else if (object != null) {
+                    String text = object.toString();
+                    Node node = getDocumentFactory().createText(text);
+                    newContent.add(node);
+                    childAdded(node);
+                }
+            }
+
+            this.content = newContent;
+        }
+    }
+
+    public void clearContent() {
+        if (content != null) {
+            contentRemoved();
+
+            content = null;
+        }
+    }
+
+    public Node node(int index) {
+        if (index >= 0) {
+            final Object contentShadow = content;
+            Object node;
+
+            if (contentShadow instanceof List) {
+                List list = (List) contentShadow;
+
+                if (index >= list.size()) {
+                    return null;
+                }
+
+                node = list.get(index);
+            } else {
+                node = (index == 0) ? contentShadow : null;
+            }
+
+            if (node != null) {
+                if (node instanceof Node) {
+                    return (Node) node;
+                } else {
+                    return new DefaultText(node.toString());
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public int indexOf(Node node) {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            return list.indexOf(node);
+        } else {
+            if ((contentShadow != null) && contentShadow.equals(node)) {
+                return 0;
+            } else {
+                return -1;
+            }
+        }
+    }
+
+    public int nodeCount() {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            return list.size();
+        } else {
+            return (contentShadow != null) ? 1 : 0;
+        }
+    }
+
+    public Iterator nodeIterator() {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            List list = (List) contentShadow;
+
+            return list.iterator();
+        } else {
+            if (contentShadow != null) {
+                return createSingleIterator(contentShadow);
+            } else {
+                return EMPTY_ITERATOR;
+            }
+        }
+    }
+
+    public List attributes() {
+        return new ContentListFacade(this, attributeList());
+    }
+
+    public void setAttributes(List attributes) {
+        if (attributes instanceof ContentListFacade) {
+            attributes = ((ContentListFacade) attributes).getBackingList();
+        }
+
+        this.attributes = attributes;
+    }
+
+    public Iterator attributeIterator() {
+        final Object attributesShadow = this.attributes;
+
+        if (attributesShadow instanceof List) {
+            List list = (List) attributesShadow;
+
+            return list.iterator();
+        } else if (attributesShadow != null) {
+            return createSingleIterator(attributesShadow);
+        } else {
+            return EMPTY_ITERATOR;
+        }
+    }
+
+    public Attribute attribute(int index) {
+        final Object attributesShadow = this.attributes;
+
+        if (attributesShadow instanceof List) {
+            List list = (List) attributesShadow;
+
+            return (Attribute) list.get(index);
+        } else if ((attributesShadow != null) && (index == 0)) {
+            return (Attribute) attributesShadow;
+        } else {
+            return null;
+        }
+    }
+
+    public int attributeCount() {
+        final Object attributesShadow = this.attributes;
+
+        if (attributesShadow instanceof List) {
+            List list = (List) attributesShadow;
+
+            return list.size();
+        } else {
+            return (attributesShadow != null) ? 1 : 0;
+        }
+    }
+
+    public Attribute attribute(String name) {
+        final Object attributesShadow = this.attributes;
+
+        if (attributesShadow instanceof List) {
+            List list = (List) attributesShadow;
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Attribute attribute = (Attribute) list.get(i);
+
+                if (name.equals(attribute.getName())) {
+                    return attribute;
+                }
+            }
+        } else if (attributesShadow != null) {
+            Attribute attribute = (Attribute) attributesShadow;
+
+            if (name.equals(attribute.getName())) {
+                return attribute;
+            }
+        }
+
+        return null;
+    }
+
+    public Attribute attribute(QName qName) {
+        final Object attributesShadow = this.attributes;
+
+        if (attributesShadow instanceof List) {
+            List list = (List) attributesShadow;
+
+            int size = list.size();
+
+            for (int i = 0; i < size; i++) {
+                Attribute attribute = (Attribute) list.get(i);
+
+                if (qName.equals(attribute.getQName())) {
+                    return attribute;
+                }
+            }
+        } else if (attributesShadow != null) {
+            Attribute attribute = (Attribute) attributesShadow;
+
+            if (qName.equals(attribute.getQName())) {
+                return attribute;
+            }
+        }
+
+        return null;
+    }
+
+    public Attribute attribute(String name, Namespace namespace) {
+        return attribute(getDocumentFactory().createQName(name, namespace));
+    }
+
+    public void add(Attribute attribute) {
+        if (attribute.getParent() != null) {
+            String message = "The Attribute already has an existing parent \""
+                    + attribute.getParent().getQualifiedName() + "\"";
+
+            throw new IllegalAddException(this, attribute, message);
+        }
+
+        if (attribute.getValue() == null) {
+            // try remove a previous attribute with the same
+            // name since adding an attribute with a null value
+            // is equivalent to removing it.
+            Attribute oldAttribute = attribute(attribute.getQName());
+
+            if (oldAttribute != null) {
+                remove(oldAttribute);
+            }
+        } else {
+            if (attributes == null) {
+                attributes = attribute;
+            } else {
+                attributeList().add(attribute);
+            }
+
+            childAdded(attribute);
+        }
+    }
+
+    public boolean remove(Attribute attribute) {
+        boolean answer = false;
+        final Object attributesShadow = this.attributes;
+
+        if (attributesShadow instanceof List) {
+            List list = (List) attributesShadow;
+
+            answer = list.remove(attribute);
+
+            if (!answer) {
+                // we may have a copy of the attribute
+                Attribute copy = attribute(attribute.getQName());
+
+                if (copy != null) {
+                    list.remove(copy);
+
+                    answer = true;
+                }
+            }
+        } else if (attributesShadow != null) {
+            if (attribute.equals(attributesShadow)) {
+                this.attributes = null;
+
+                answer = true;
+            } else {
+                // we may have a copy of the attribute
+                Attribute other = (Attribute) attributesShadow;
+
+                if (attribute.getQName().equals(other.getQName())) {
+                    attributes = null;
+
+                    answer = true;
+                }
+            }
+        }
+
+        if (answer) {
+            childRemoved(attribute);
+        }
+
+        return answer;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void addNewNode(Node node) {
+        final Object contentShadow = content;
+
+        if (contentShadow == null) {
+            this.content = node;
+        } else {
+            if (contentShadow instanceof List) {
+                List list = (List) contentShadow;
+
+                list.add(node);
+            } else {
+                List list = createContentList();
+
+                list.add(contentShadow);
+
+                list.add(node);
+
+                this.content = list;
+            }
+        }
+
+        childAdded(node);
+    }
+
+    protected boolean removeNode(Node node) {
+        boolean answer = false;
+        final Object contentShadow = content;
+
+        if (contentShadow != null) {
+            if (contentShadow == node) {
+                this.content = null;
+
+                answer = true;
+            } else if (contentShadow instanceof List) {
+                List list = (List) contentShadow;
+
+                answer = list.remove(node);
+            }
+        }
+
+        if (answer) {
+            childRemoved(node);
+        }
+
+        return answer;
+    }
+
+    protected List contentList() {
+        final Object contentShadow = content;
+
+        if (contentShadow instanceof List) {
+            return (List) contentShadow;
+        } else {
+            List list = createContentList();
+
+            if (contentShadow != null) {
+                list.add(contentShadow);
+            }
+
+            this.content = list;
+
+            return list;
+        }
+    }
+
+    protected List attributeList() {
+        final Object attributesShadow = this.attributes;
+
+        if (attributesShadow instanceof List) {
+            return (List) attributesShadow;
+        } else if (attributesShadow != null) {
+            List list = createAttributeList();
+
+            list.add(attributesShadow);
+
+            this.attributes = list;
+
+            return list;
+        } else {
+            List list = createAttributeList();
+
+            this.attributes = list;
+
+            return list;
+        }
+    }
+
+    protected List attributeList(int size) {
+        final Object attributesShadow = this.attributes;
+
+        if (attributesShadow instanceof List) {
+            return (List) attributesShadow;
+        } else if (attributesShadow != null) {
+            List list = createAttributeList(size);
+
+            list.add(attributesShadow);
+
+            this.attributes = list;
+
+            return list;
+        } else {
+            List list = createAttributeList(size);
+
+            this.attributes = list;
+
+            return list;
+        }
+    }
+
+    protected void setAttributeList(List attributeList) {
+        this.attributes = attributeList;
+    }
+
+    protected DocumentFactory getDocumentFactory() {
+        DocumentFactory factory = qname.getDocumentFactory();
+
+        return (factory != null) ? factory : DOCUMENT_FACTORY;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultEntity.java b/src/java/org/dom4j/tree/DefaultEntity.java
new file mode 100644
index 0000000..0949055
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultEntity.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Element;
+
+/**
+ * <p>
+ * <code>DefaultEntity</code> is the default Entity implementation. It is a
+ * doubly linked node which supports the parent relationship and can be modified
+ * in place.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.11 $
+ */
+public class DefaultEntity extends FlyweightEntity {
+    /** The parent of this node */
+    private Element parent;
+
+    /**
+     * Creates the <code>Entity</code> with the specified name
+     * 
+     * @param name
+     *            is the name of the entity
+     */
+    public DefaultEntity(String name) {
+        super(name);
+    }
+
+    /**
+     * Creates the <code>Entity</code> with the specified name and text.
+     * 
+     * @param name
+     *            is the name of the entity
+     * @param text
+     *            is the text of the entity
+     */
+    public DefaultEntity(String name, String text) {
+        super(name, text);
+    }
+
+    /**
+     * Creates the <code>Entity</code> with the specified name and text.
+     * 
+     * @param parent
+     *            is the parent element
+     * @param name
+     *            is the name of the entity
+     * @param text
+     *            is the text of the entity
+     */
+    public DefaultEntity(Element parent, String name, String text) {
+        super(name, text);
+        this.parent = parent;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+
+    public Element getParent() {
+        return parent;
+    }
+
+    public void setParent(Element parent) {
+        this.parent = parent;
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+
+    public boolean isReadOnly() {
+        return false;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultNamespace.java b/src/java/org/dom4j/tree/DefaultNamespace.java
new file mode 100644
index 0000000..f867ddc
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultNamespace.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+
+/**
+ * <p>
+ * <code>DefaultNamespace</code> implements a doubly linked node which
+ * supports the parent relationship and is mutable. It is useful when returning
+ * results from XPath expressions.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.16 $
+ */
+public class DefaultNamespace extends Namespace {
+    /** The parent of this node */
+    private Element parent;
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param prefix
+     *            is the prefix for this namespace
+     * @param uri
+     *            is the URI for this namespace
+     */
+    public DefaultNamespace(String prefix, String uri) {
+        super(prefix, uri);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param parent
+     *            is the parent element
+     * @param prefix
+     *            is the prefix for this namespace
+     * @param uri
+     *            is the URI for this namespace
+     */
+    public DefaultNamespace(Element parent, String prefix, String uri) {
+        super(prefix, uri);
+        this.parent = parent;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the hash code based on the qualified name and the URI of the
+     *         namespace and the hashCode() of the parent element.
+     */
+    protected int createHashCode() {
+        int hashCode = super.createHashCode();
+
+        if (parent != null) {
+            hashCode ^= parent.hashCode();
+        }
+
+        return hashCode;
+    }
+
+    /**
+     * Implements an identity based comparsion using the parent element as well
+     * as the prefix and URI
+     * 
+     * @param object
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    public boolean equals(Object object) {
+        if (object instanceof DefaultNamespace) {
+            DefaultNamespace that = (DefaultNamespace) object;
+
+            if (that.parent == parent) {
+                return super.equals(object);
+            }
+        }
+
+        return false;
+    }
+
+    public int hashCode() {
+        return super.hashCode();
+    }
+
+    public Element getParent() {
+        return parent;
+    }
+
+    public void setParent(Element parent) {
+        this.parent = parent;
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+    
+    public boolean isReadOnly() {
+        return false;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultProcessingInstruction.java b/src/java/org/dom4j/tree/DefaultProcessingInstruction.java
new file mode 100644
index 0000000..1bc6126
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultProcessingInstruction.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.Map;
+
+import org.dom4j.Element;
+
+/**
+ * <p>
+ * <code>DefaultProcessingInstruction</code> is the default Processing
+ * Instruction implementation. It is a doubly linked node which supports the
+ * parent relationship and can be modified in place.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.13 $
+ */
+public class DefaultProcessingInstruction extends
+        org.dom4j.tree.FlyweightProcessingInstruction {
+    /** The parent of this node */
+    private Element parent;
+
+    /**
+     * <p>
+     * This will create a new PI with the given target and values
+     * </p>
+     * 
+     * @param target
+     *            is the name of the PI
+     * @param values
+     *            is the <code>Map</code> values for the PI
+     */
+    public DefaultProcessingInstruction(String target, Map values) {
+        super(target, values);
+    }
+
+    /**
+     * <p>
+     * This will create a new PI with the given target and values
+     * </p>
+     * 
+     * @param target
+     *            is the name of the PI
+     * @param values
+     *            is the values for the PI
+     */
+    public DefaultProcessingInstruction(String target, String values) {
+        super(target, values);
+    }
+
+    /**
+     * <p>
+     * This will create a new PI with the given target and values
+     * </p>
+     * 
+     * @param parent
+     *            is the parent element
+     * @param target
+     *            is the name of the PI
+     * @param values
+     *            is the values for the PI
+     */
+    public DefaultProcessingInstruction(Element parent, String target,
+            String values) {
+        super(target, values);
+        this.parent = parent;
+    }
+
+    public void setTarget(String target) {
+        this.target = target;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+        this.values = parseValues(text);
+    }
+
+    public void setValues(Map values) {
+        this.values = values;
+        this.text = toString(values);
+    }
+
+    public void setValue(String name, String value) {
+        values.put(name, value);
+    }
+
+    public Element getParent() {
+        return parent;
+    }
+
+    public void setParent(Element parent) {
+        this.parent = parent;
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+
+    public boolean isReadOnly() {
+        return false;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/DefaultText.java b/src/java/org/dom4j/tree/DefaultText.java
new file mode 100644
index 0000000..1ff6894
--- /dev/null
+++ b/src/java/org/dom4j/tree/DefaultText.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Element;
+
+/**
+ * <p>
+ * <code>DefaultText</code> is the default Text implementation. It is a doubly
+ * linked node which supports the parent relationship and can be modified in
+ * place.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.11 $
+ */
+public class DefaultText extends FlyweightText {
+    /** The parent of this node */
+    private Element parent;
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param text
+     *            is the Text text
+     */
+    public DefaultText(String text) {
+        super(text);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param parent
+     *            is the parent element
+     * @param text
+     *            is the Text text
+     */
+    public DefaultText(Element parent, String text) {
+        super(text);
+        this.parent = parent;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+
+    public Element getParent() {
+        return parent;
+    }
+
+    public void setParent(Element parent) {
+        this.parent = parent;
+    }
+
+    public boolean supportsParent() {
+        return true;
+    }
+
+    public boolean isReadOnly() {
+        return false;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/ElementIterator.java b/src/java/org/dom4j/tree/ElementIterator.java
new file mode 100644
index 0000000..65b5f5c
--- /dev/null
+++ b/src/java/org/dom4j/tree/ElementIterator.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.Iterator;
+
+import org.dom4j.Element;
+
+/**
+ * <p>
+ * <code>ElementIterator</code> is a filtering {@link Iterator}which filters
+ * out objects which do not implement the {@link Element}interface.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.8 $
+ * 
+ * @deprecated THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!
+ */
+public class ElementIterator extends FilterIterator {
+    public ElementIterator(Iterator proxy) {
+        super(proxy);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * 
+     * @return true if the given element implements the {@link Element}
+     *         interface
+     */
+    protected boolean matches(Object element) {
+        return element instanceof Element;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/ElementNameIterator.java b/src/java/org/dom4j/tree/ElementNameIterator.java
new file mode 100644
index 0000000..27df05f
--- /dev/null
+++ b/src/java/org/dom4j/tree/ElementNameIterator.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.Iterator;
+
+import org.dom4j.Element;
+
+/**
+ * <p>
+ * <code>ElementNameIterator</code> is a filtering {@link Iterator}which
+ * filters out objects which do not implement the {@link Element}interface and
+ * are not of the correct element name.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.11 $
+ * 
+ * @deprecated THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!
+ */
+public class ElementNameIterator extends FilterIterator {
+    private String name;
+
+    public ElementNameIterator(Iterator proxy, String name) {
+        super(proxy);
+        this.name = name;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param object
+     *            DOCUMENT ME!
+     * 
+     * @return true if the given element implements the {@link Element}
+     *         interface
+     */
+    protected boolean matches(Object object) {
+        if (object instanceof Element) {
+            Element element = (Element) object;
+
+            return name.equals(element.getName());
+        }
+
+        return false;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/ElementQNameIterator.java b/src/java/org/dom4j/tree/ElementQNameIterator.java
new file mode 100644
index 0000000..f2a6571
--- /dev/null
+++ b/src/java/org/dom4j/tree/ElementQNameIterator.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.Iterator;
+
+import org.dom4j.Element;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>ElementQNameIterator</code> is a filtering {@link Iterator}which
+ * filters out objects which do not implement the {@link Element}interface and
+ * are not of the correct fully qualified element name.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7 $
+ * 
+ * @deprecated THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!
+ */
+public class ElementQNameIterator extends FilterIterator {
+    private QName qName;
+
+    public ElementQNameIterator(Iterator proxy, QName qName) {
+        super(proxy);
+        this.qName = qName;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param object
+     *            DOCUMENT ME!
+     * 
+     * @return true if the given element implements the {@link Element}
+     *         interface and matches the given {@link QName}
+     */
+    protected boolean matches(Object object) {
+        if (object instanceof Element) {
+            Element element = (Element) object;
+
+            return qName.equals(element.getQName());
+        }
+
+        return false;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/FilterIterator.java b/src/java/org/dom4j/tree/FilterIterator.java
new file mode 100644
index 0000000..8d00dc4
--- /dev/null
+++ b/src/java/org/dom4j/tree/FilterIterator.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * <p>
+ * <code>FilterIterator</code> is an abstract base class which is useful for
+ * implementors of {@link Iterator}which filter an existing iterator.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ * 
+ * @deprecated THIS CLASS WILL BE REMOVED IN dom4j-1.6 !!
+ */
+public abstract class FilterIterator implements Iterator {
+    protected Iterator proxy;
+
+    private Object next;
+
+    private boolean first = true;
+
+    public FilterIterator(Iterator proxy) {
+        this.proxy = proxy;
+    }
+
+    public boolean hasNext() {
+        if (first) {
+            next = findNext();
+            first = false;
+        }
+
+        return next != null;
+    }
+
+    public Object next() throws NoSuchElementException {
+        if (!hasNext()) {
+            throw new NoSuchElementException();
+        }
+
+        Object answer = this.next;
+        this.next = findNext();
+
+        return answer;
+    }
+
+    /**
+     * Always throws UnsupportedOperationException as this class does look-ahead
+     * with its internal iterator.
+     * 
+     * @throws UnsupportedOperationException
+     *             always
+     */
+    public void remove() {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Filter method to perform some matching on the given element.
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * 
+     * @return true if the given element matches the filter and should be appear
+     *         in the iteration
+     */
+    protected abstract boolean matches(Object element);
+
+    protected Object findNext() {
+        if (proxy != null) {
+            while (proxy.hasNext()) {
+                Object nextObject = proxy.next();
+
+                if ((nextObject != null) && matches(nextObject)) {
+                    return nextObject;
+                }
+            }
+
+            proxy = null;
+        }
+
+        return null;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/FlyweightAttribute.java b/src/java/org/dom4j/tree/FlyweightAttribute.java
new file mode 100644
index 0000000..3aa5392
--- /dev/null
+++ b/src/java/org/dom4j/tree/FlyweightAttribute.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>FlyweightAttribute</code> is a Flyweight pattern implementation of a
+ * singly linked, read-only XML Attribute.
+ * </p>
+ * 
+ * <p>
+ * This node could be shared across documents and elements though it does not
+ * support the parent relationship.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class FlyweightAttribute extends AbstractAttribute {
+    /** The <code>QName</code> for this element */
+    private QName qname;
+
+    /** The value of the <code>Attribute</code> */
+    protected String value;
+
+    public FlyweightAttribute(QName qname) {
+        this.qname = qname;
+    }
+
+    public FlyweightAttribute(QName qname, String value) {
+        this.qname = qname;
+        this.value = value;
+    }
+
+    /**
+     * Creates the <code>Attribute</code> with the specified local name and
+     * value.
+     * 
+     * @param name
+     *            is the name of the attribute
+     * @param value
+     *            is the value of the attribute
+     */
+    public FlyweightAttribute(String name, String value) {
+        this.qname = getDocumentFactory().createQName(name);
+        this.value = value;
+    }
+
+    /**
+     * Creates the <code>Attribute</code> with the specified local name, value
+     * and <code>Namespace</code>.
+     * 
+     * @param name
+     *            is the name of the attribute
+     * @param value
+     *            is the value of the attribute
+     * @param namespace
+     *            is the namespace of the attribute
+     */
+    public FlyweightAttribute(String name, String value, Namespace namespace) {
+        this.qname = getDocumentFactory().createQName(name, namespace);
+        this.value = value;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public QName getQName() {
+        return qname;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/FlyweightCDATA.java b/src/java/org/dom4j/tree/FlyweightCDATA.java
new file mode 100644
index 0000000..39d00f5
--- /dev/null
+++ b/src/java/org/dom4j/tree/FlyweightCDATA.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.CDATA;
+import org.dom4j.Element;
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>FlyweightCDATA</code> is a Flyweight pattern implementation of a
+ * singly linked, read-only XML CDATA.
+ * </p>
+ * 
+ * <p>
+ * This node could be shared across documents and elements though it does not
+ * support the parent relationship.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+public class FlyweightCDATA extends AbstractCDATA implements CDATA {
+    /** Text of the <code>CDATA</code> node */
+    protected String text;
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param text
+     *            is the CDATA text
+     */
+    public FlyweightCDATA(String text) {
+        this.text = text;
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    protected Node createXPathResult(Element parent) {
+        return new DefaultCDATA(parent, getText());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/FlyweightComment.java b/src/java/org/dom4j/tree/FlyweightComment.java
new file mode 100644
index 0000000..315c8fd
--- /dev/null
+++ b/src/java/org/dom4j/tree/FlyweightComment.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Comment;
+import org.dom4j.Element;
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>FlyweightComment</code> is a Flyweight pattern implementation of a
+ * singly linked, read-only XML Comment.
+ * </p>
+ * 
+ * <p>
+ * This node could be shared across documents and elements though it does not
+ * support the parent relationship.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class FlyweightComment extends AbstractComment implements Comment {
+    /** Text of the <code>Comment</code> node */
+    protected String text;
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param text
+     *            is the Comment text
+     */
+    public FlyweightComment(String text) {
+        this.text = text;
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    protected Node createXPathResult(Element parent) {
+        return new DefaultComment(parent, getText());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/FlyweightEntity.java b/src/java/org/dom4j/tree/FlyweightEntity.java
new file mode 100644
index 0000000..3250256
--- /dev/null
+++ b/src/java/org/dom4j/tree/FlyweightEntity.java
@@ -0,0 +1,147 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Element;
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>FlyweightEntity</code> is a Flyweight pattern implementation of a
+ * singly linked, read-only XML entity.
+ * </p>
+ * 
+ * <p>
+ * This node could be shared across documents and elements though it does not
+ * support the parent relationship.
+ * </p>
+ * 
+ * <p>
+ * Often this node needs to be created and then the text content added later
+ * (for example in SAX) so this implementation allows a call to {@link#setText}
+ * providing the entity has no text already.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.6 $
+ */
+public class FlyweightEntity extends AbstractEntity {
+    /** The name of the <code>Entity</code> */
+    protected String name;
+
+    /** The text of the <code>Entity</code> */
+    protected String text;
+
+    /**
+     * A default constructor for implementors to use.
+     */
+    protected FlyweightEntity() {
+    }
+
+    /**
+     * Creates the <code>Entity</code> with the specified name
+     * 
+     * @param name
+     *            is the name of the entity
+     */
+    public FlyweightEntity(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Creates the <code>Entity</code> with the specified name and text.
+     * 
+     * @param name
+     *            is the name of the entity
+     * @param text
+     *            is the text of the entity
+     */
+    public FlyweightEntity(String name, String text) {
+        this.name = name;
+        this.text = text;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the name of the entity
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the text of the entity
+     */
+    public String getText() {
+        return text;
+    }
+
+    /**
+     * sets the value of the entity if it is not defined yet otherwise an
+     * <code>UnsupportedOperationException</code> is thrown as this class is
+     * read only.
+     * 
+     * @param text
+     *            DOCUMENT ME!
+     * 
+     * @throws UnsupportedOperationException
+     *             DOCUMENT ME!
+     */
+    public void setText(String text) {
+        if (this.text != null) {
+            this.text = text;
+        } else {
+            throw new UnsupportedOperationException(
+                    "This Entity is read-only. " + "It cannot be modified");
+        }
+    }
+
+    protected Node createXPathResult(Element parent) {
+        return new DefaultEntity(parent, getName(), getText());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/FlyweightProcessingInstruction.java b/src/java/org/dom4j/tree/FlyweightProcessingInstruction.java
new file mode 100644
index 0000000..ad8c175
--- /dev/null
+++ b/src/java/org/dom4j/tree/FlyweightProcessingInstruction.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.dom4j.Element;
+import org.dom4j.Node;
+
+/**
+ * <p>
+ * <code>FlyweightProcessingInstruction</code> is a Flyweight pattern
+ * implementation of a singly linked, read-only XML Processing Instruction.
+ * </p>
+ * 
+ * <p>
+ * This node could be shared across documents and elements though it does not
+ * support the parent relationship.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class FlyweightProcessingInstruction extends
+        AbstractProcessingInstruction {
+    /** The target of the PI */
+    protected String target;
+
+    /** The values for the PI as a String */
+    protected String text;
+
+    /** The values for the PI in name/value pairs */
+    protected Map values;
+
+    /**
+     * A default constructor for implementors to use.
+     */
+    public FlyweightProcessingInstruction() {
+    }
+
+    /**
+     * <p>
+     * This will create a new PI with the given target and values
+     * </p>
+     * 
+     * @param target
+     *            is the name of the PI
+     * @param values
+     *            is the <code>Map</code> of the values for the PI
+     */
+    public FlyweightProcessingInstruction(String target, Map values) {
+        this.target = target;
+        this.values = values;
+        this.text = toString(values);
+    }
+
+    /**
+     * <p>
+     * This will create a new PI with the given target and values
+     * </p>
+     * 
+     * @param target
+     *            is the name of the PI
+     * @param text
+     *            is the values for the PI as text
+     */
+    public FlyweightProcessingInstruction(String target, String text) {
+        this.target = target;
+        this.text = text;
+        this.values = parseValues(text);
+    }
+
+    public String getTarget() {
+        return target;
+    }
+
+    public void setTarget(String target) {
+        throw new UnsupportedOperationException("This PI is read-only and "
+                + "cannot be modified");
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    public String getValue(String name) {
+        String answer = (String) values.get(name);
+
+        if (answer == null) {
+            return "";
+        }
+
+        return answer;
+    }
+
+    public Map getValues() {
+        return Collections.unmodifiableMap(values);
+    }
+
+    protected Node createXPathResult(Element parent) {
+        return new DefaultProcessingInstruction(parent, getTarget(), getText());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/FlyweightText.java b/src/java/org/dom4j/tree/FlyweightText.java
new file mode 100644
index 0000000..00b630c
--- /dev/null
+++ b/src/java/org/dom4j/tree/FlyweightText.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.Text;
+
+/**
+ * <p>
+ * <code>FlyweightText</code> is a Flyweight pattern implementation of a
+ * singly linked, read-only XML Text.
+ * </p>
+ * 
+ * <p>
+ * This node could be shared across documents and elements though it does not
+ * support the parent relationship.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class FlyweightText extends AbstractText implements Text {
+    /** Text of the <code>Text</code> node */
+    protected String text;
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param text
+     *            is the Text text
+     */
+    public FlyweightText(String text) {
+        this.text = text;
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    protected Node createXPathResult(Element parent) {
+        return new DefaultText(parent, getText());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/NamespaceCache.java b/src/java/org/dom4j/tree/NamespaceCache.java
new file mode 100644
index 0000000..89ff316
--- /dev/null
+++ b/src/java/org/dom4j/tree/NamespaceCache.java
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.lang.ref.WeakReference;
+import java.lang.reflect.Constructor;
+import java.util.Map;
+
+import org.dom4j.Namespace;
+
+/**
+ * <p>
+ * <code>NamespaceCache</code> caches instances of
+ * <code>DefaultNamespace</code> for reuse both across documents and within
+ * documents.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @author Maarten Coene
+ * @author Brett Finnell
+ * @version $Revision: 1.15 $
+ */
+public class NamespaceCache {
+    private static final String CONCURRENTREADERHASHMAP_CLASS
+            = "EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap";
+
+    /**
+     * Cache of {@link Map}instances indexed by URI which contain caches of
+     * {@link Namespace}for each prefix
+     */
+    protected static Map cache;
+
+    /**
+     * Cache of {@link Namespace}instances indexed by URI for default
+     * namespaces with no prefixes
+     */
+    protected static Map noPrefixCache;
+
+    static {
+        /* Try the java.util.concurrent.ConcurrentHashMap first. */
+        try {
+            Class clazz = Class
+                    .forName("java.util.concurrent.ConcurrentHashMap");
+            Constructor construct = clazz.getConstructor(new Class[] {
+                    Integer.TYPE, Float.TYPE, Integer.TYPE });
+            cache = (Map) construct.newInstance(new Object[] {new Integer(11),
+                    new Float(0.75f), new Integer(1) });
+            noPrefixCache = (Map) construct.newInstance(new Object[] {
+                    new Integer(11), new Float(0.75f), new Integer(1) });
+        } catch (Throwable t1) {
+            /* Try to use the util.concurrent library (if in classpath) */
+            try {
+                Class clazz = Class.forName(CONCURRENTREADERHASHMAP_CLASS);
+                cache = (Map) clazz.newInstance();
+                noPrefixCache = (Map) clazz.newInstance();
+            } catch (Throwable t2) {
+                /* If previous implementations fail, use internal one */
+                cache = new ConcurrentReaderHashMap();
+                noPrefixCache = new ConcurrentReaderHashMap();
+            }
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * @param uri
+     *            DOCUMENT ME!
+     * 
+     * @return the namespace for the given prefix and uri
+     */
+    public Namespace get(String prefix, String uri) {
+        Map uriCache = getURICache(uri);
+        WeakReference ref = (WeakReference) uriCache.get(prefix);
+        Namespace answer = null;
+
+        if (ref != null) {
+            answer = (Namespace) ref.get();
+        }
+
+        if (answer == null) {
+            synchronized (uriCache) {
+                ref = (WeakReference) uriCache.get(prefix);
+
+                if (ref != null) {
+                    answer = (Namespace) ref.get();
+                }
+
+                if (answer == null) {
+                    answer = createNamespace(prefix, uri);
+                    uriCache.put(prefix, new WeakReference(answer));
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param uri
+     *            DOCUMENT ME!
+     * 
+     * @return the name model for the given name and namepsace
+     */
+    public Namespace get(String uri) {
+        WeakReference ref = (WeakReference) noPrefixCache.get(uri);
+        Namespace answer = null;
+
+        if (ref != null) {
+            answer = (Namespace) ref.get();
+        }
+
+        if (answer == null) {
+            synchronized (noPrefixCache) {
+                ref = (WeakReference) noPrefixCache.get(uri);
+
+                if (ref != null) {
+                    answer = (Namespace) ref.get();
+                }
+
+                if (answer == null) {
+                    answer = createNamespace("", uri);
+                    noPrefixCache.put(uri, new WeakReference(answer));
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param uri
+     *            DOCUMENT ME!
+     * 
+     * @return the cache for the given namespace URI. If one does not currently
+     *         exist it is created.
+     */
+    protected Map getURICache(String uri) {
+        Map answer = (Map) cache.get(uri);
+
+        if (answer == null) {
+            synchronized (cache) {
+                answer = (Map) cache.get(uri);
+
+                if (answer == null) {
+                    answer = new ConcurrentReaderHashMap();
+                    cache.put(uri, answer);
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    /**
+     * A factory method to create {@link Namespace}instance
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * @param uri
+     *            DOCUMENT ME!
+     * 
+     * @return a newly created {@link Namespace}instance.
+     */
+    protected Namespace createNamespace(String prefix, String uri) {
+        return new Namespace(prefix, uri);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/NamespaceStack.java b/src/java/org/dom4j/tree/NamespaceStack.java
new file mode 100644
index 0000000..c67d8f2
--- /dev/null
+++ b/src/java/org/dom4j/tree/NamespaceStack.java
@@ -0,0 +1,504 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+
+/**
+ * NamespaceStack implements a stack of namespaces and optionally maintains a
+ * cache of all the fully qualified names (<code>QName</code>) which are in
+ * scope. This is useful when building or navigating a <i>dom4j </i> document.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.13 $
+ */
+public class NamespaceStack {
+    /** The factory used to create new <code>Namespace</code> instances */
+    private DocumentFactory documentFactory;
+
+    /** The Stack of namespaces */
+    private ArrayList namespaceStack = new ArrayList();
+
+    /** The cache of qualifiedNames to QNames per namespace context */
+    private ArrayList namespaceCacheList = new ArrayList();
+
+    /**
+     * A cache of current namespace context cache of mapping from qualifiedName
+     * to QName
+     */
+    private Map currentNamespaceCache;
+
+    /**
+     * A cache of mapping from qualifiedName to QName before any namespaces are
+     * declared
+     */
+    private Map rootNamespaceCache = new HashMap();
+
+    /** Caches the default namespace defined via xmlns="" */
+    private Namespace defaultNamespace;
+
+    public NamespaceStack() {
+        this.documentFactory = DocumentFactory.getInstance();
+    }
+
+    public NamespaceStack(DocumentFactory documentFactory) {
+        this.documentFactory = documentFactory;
+    }
+
+    /**
+     * Pushes the given namespace onto the stack so that its prefix becomes
+     * available.
+     * 
+     * @param namespace
+     *            is the <code>Namespace</code> to add to the stack.
+     */
+    public void push(Namespace namespace) {
+        namespaceStack.add(namespace);
+        namespaceCacheList.add(null);
+        currentNamespaceCache = null;
+
+        String prefix = namespace.getPrefix();
+
+        if ((prefix == null) || (prefix.length() == 0)) {
+            defaultNamespace = namespace;
+        }
+    }
+
+    /**
+     * Pops the most recently used <code>Namespace</code> from the stack
+     * 
+     * @return Namespace popped from the stack
+     */
+    public Namespace pop() {
+        return remove(namespaceStack.size() - 1);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the number of namespaces on the stackce stack.
+     */
+    public int size() {
+        return namespaceStack.size();
+    }
+
+    /**
+     * Clears the stack
+     */
+    public void clear() {
+        namespaceStack.clear();
+        namespaceCacheList.clear();
+        rootNamespaceCache.clear();
+        currentNamespaceCache = null;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param index
+     *            DOCUMENT ME!
+     * 
+     * @return the namespace at the specified index on the stack
+     */
+    public Namespace getNamespace(int index) {
+        return (Namespace) namespaceStack.get(index);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * 
+     * @return the namespace for the given prefix or null if it could not be
+     *         found.
+     */
+    public Namespace getNamespaceForPrefix(String prefix) {
+        if (prefix == null) {
+            prefix = "";
+        }
+
+        for (int i = namespaceStack.size() - 1; i >= 0; i--) {
+            Namespace namespace = (Namespace) namespaceStack.get(i);
+
+            if (prefix.equals(namespace.getPrefix())) {
+                return namespace;
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * 
+     * @return the URI for the given prefix or null if it could not be found.
+     */
+    public String getURI(String prefix) {
+        Namespace namespace = getNamespaceForPrefix(prefix);
+
+        return (namespace != null) ? namespace.getURI() : null;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param namespace
+     *            DOCUMENT ME!
+     * 
+     * @return true if the given prefix is in the stack.
+     */
+    public boolean contains(Namespace namespace) {
+        String prefix = namespace.getPrefix();
+        Namespace current = null;
+
+        if ((prefix == null) || (prefix.length() == 0)) {
+            current = getDefaultNamespace();
+        } else {
+            current = getNamespaceForPrefix(prefix);
+        }
+
+        if (current == null) {
+            return false;
+        }
+
+        if (current == namespace) {
+            return true;
+        }
+
+        return namespace.getURI().equals(current.getURI());
+    }
+
+    public QName getQName(String namespaceURI, String localName,
+            String qualifiedName) {
+        if (localName == null) {
+            localName = qualifiedName;
+        } else if (qualifiedName == null) {
+            qualifiedName = localName;
+        }
+
+        if (namespaceURI == null) {
+            namespaceURI = "";
+        }
+
+        String prefix = "";
+        int index = qualifiedName.indexOf(":");
+
+        if (index > 0) {
+            prefix = qualifiedName.substring(0, index);
+
+            if (localName.trim().length() == 0) {
+                localName = qualifiedName.substring(index + 1);
+            }
+        } else if (localName.trim().length() == 0) {
+            localName = qualifiedName;
+        }
+
+        Namespace namespace = createNamespace(prefix, namespaceURI);
+
+        return pushQName(localName, qualifiedName, namespace, prefix);
+    }
+
+    public QName getAttributeQName(String namespaceURI, String localName,
+            String qualifiedName) {
+        if (qualifiedName == null) {
+            qualifiedName = localName;
+        }
+
+        Map map = getNamespaceCache();
+        QName answer = (QName) map.get(qualifiedName);
+
+        if (answer != null) {
+            return answer;
+        }
+
+        if (localName == null) {
+            localName = qualifiedName;
+        }
+
+        if (namespaceURI == null) {
+            namespaceURI = "";
+        }
+
+        Namespace namespace = null;
+        String prefix = "";
+        int index = qualifiedName.indexOf(":");
+
+        if (index > 0) {
+            prefix = qualifiedName.substring(0, index);
+            namespace = createNamespace(prefix, namespaceURI);
+
+            if (localName.trim().length() == 0) {
+                localName = qualifiedName.substring(index + 1);
+            }
+        } else {
+            // attributes with no prefix have no namespace
+            namespace = Namespace.NO_NAMESPACE;
+
+            if (localName.trim().length() == 0) {
+                localName = qualifiedName;
+            }
+        }
+
+        answer = pushQName(localName, qualifiedName, namespace, prefix);
+        map.put(qualifiedName, answer);
+
+        return answer;
+    }
+
+    /**
+     * Adds a namepace to the stack with the given prefix and URI
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * @param uri
+     *            DOCUMENT ME!
+     */
+    public void push(String prefix, String uri) {
+        if (uri == null) {
+            uri = "";
+        }
+
+        Namespace namespace = createNamespace(prefix, uri);
+        push(namespace);
+    }
+
+    /**
+     * Adds a new namespace to the stack
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * @param uri
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    public Namespace addNamespace(String prefix, String uri) {
+        Namespace namespace = createNamespace(prefix, uri);
+        push(namespace);
+
+        return namespace;
+    }
+
+    /**
+     * Pops a namepace from the stack with the given prefix and URI
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    public Namespace pop(String prefix) {
+        if (prefix == null) {
+            prefix = "";
+        }
+
+        Namespace namespace = null;
+
+        for (int i = namespaceStack.size() - 1; i >= 0; i--) {
+            Namespace ns = (Namespace) namespaceStack.get(i);
+
+            if (prefix.equals(ns.getPrefix())) {
+                remove(i);
+                namespace = ns;
+
+                break;
+            }
+        }
+
+        if (namespace == null) {
+            System.out.println("Warning: missing namespace prefix ignored: "
+                    + prefix);
+        }
+
+        return namespace;
+    }
+
+    public String toString() {
+        return super.toString() + " Stack: " + namespaceStack.toString();
+    }
+
+    public DocumentFactory getDocumentFactory() {
+        return documentFactory;
+    }
+
+    public void setDocumentFactory(DocumentFactory documentFactory) {
+        this.documentFactory = documentFactory;
+    }
+
+    public Namespace getDefaultNamespace() {
+        if (defaultNamespace == null) {
+            defaultNamespace = findDefaultNamespace();
+        }
+
+        return defaultNamespace;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Adds the QName to the stack of available QNames
+     * 
+     * @param localName
+     *            DOCUMENT ME!
+     * @param qualifiedName
+     *            DOCUMENT ME!
+     * @param namespace
+     *            DOCUMENT ME!
+     * @param prefix
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected QName pushQName(String localName, String qualifiedName,
+            Namespace namespace, String prefix) {
+        if ((prefix == null) || (prefix.length() == 0)) {
+            this.defaultNamespace = null;
+        }
+
+        return createQName(localName, qualifiedName, namespace);
+    }
+
+    /**
+     * Factory method to creeate new QName instances. By default this method
+     * interns the QName
+     * 
+     * @param localName
+     *            DOCUMENT ME!
+     * @param qualifiedName
+     *            DOCUMENT ME!
+     * @param namespace
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected QName createQName(String localName, String qualifiedName,
+            Namespace namespace) {
+        return documentFactory.createQName(localName, namespace);
+    }
+
+    /**
+     * Factory method to creeate new Namespace instances. By default this method
+     * interns the Namespace
+     * 
+     * @param prefix
+     *            DOCUMENT ME!
+     * @param namespaceURI
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected Namespace createNamespace(String prefix, String namespaceURI) {
+        return documentFactory.createNamespace(prefix, namespaceURI);
+    }
+
+    /**
+     * Attempts to find the current default namespace on the stack right now or
+     * returns null if one could not be found
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected Namespace findDefaultNamespace() {
+        for (int i = namespaceStack.size() - 1; i >= 0; i--) {
+            Namespace namespace = (Namespace) namespaceStack.get(i);
+
+            if (namespace != null) {
+                String prefix = namespace.getPrefix();
+
+                if ((prefix == null) || (namespace.getPrefix().length() == 0)) {
+                    return namespace;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    /**
+     * Removes the namespace at the given index of the stack
+     * 
+     * @param index
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected Namespace remove(int index) {
+        Namespace namespace = (Namespace) namespaceStack.remove(index);
+        namespaceCacheList.remove(index);
+        defaultNamespace = null;
+        currentNamespaceCache = null;
+
+        return namespace;
+    }
+
+    protected Map getNamespaceCache() {
+        if (currentNamespaceCache == null) {
+            int index = namespaceStack.size() - 1;
+
+            if (index < 0) {
+                currentNamespaceCache = rootNamespaceCache;
+            } else {
+                currentNamespaceCache = (Map) namespaceCacheList.get(index);
+
+                if (currentNamespaceCache == null) {
+                    currentNamespaceCache = new HashMap();
+                    namespaceCacheList.set(index, currentNamespaceCache);
+                }
+            }
+        }
+
+        return currentNamespaceCache;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/QNameCache.java b/src/java/org/dom4j/tree/QNameCache.java
new file mode 100644
index 0000000..e026424
--- /dev/null
+++ b/src/java/org/dom4j/tree/QNameCache.java
@@ -0,0 +1,310 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.WeakHashMap;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>QNameCache</code> caches instances of <code>QName</code> for reuse
+ * both across documents and within documents.
+ * </p>< < < < < < < QNameCache.java
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.16 $ =======
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.16 $ >>>>>>> 1.15
+ */
+public class QNameCache {
+    /** Cache of {@link QName}instances with no namespace */
+    protected Map noNamespaceCache = Collections
+            .synchronizedMap(new WeakHashMap());
+
+    /**
+     * Cache of {@link Map}instances indexed by namespace which contain caches
+     * of {@link QName}for each name
+     */
+    protected Map namespaceCache = Collections
+            .synchronizedMap(new WeakHashMap());
+
+    /**
+     * The document factory associated with new QNames instances in this cache
+     * or null if no instances should be associated by default
+     */
+    private DocumentFactory documentFactory;
+
+    public QNameCache() {
+    }
+
+    public QNameCache(DocumentFactory documentFactory) {
+        this.documentFactory = documentFactory;
+    }
+
+    /**
+     * Returns a list of all the QName instances currently used
+     * 
+     * @return DOCUMENT ME!
+     */
+    public List getQNames() {
+        List answer = new ArrayList();
+        answer.addAll(noNamespaceCache.values());
+
+        for (Iterator it = namespaceCache.values().iterator(); it.hasNext();) {
+            Map map = (Map) it.next();
+            answer.addAll(map.values());
+        }
+
+        return answer;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return the QName for the given name and no namepsace
+     */
+    public QName get(String name) {
+        QName answer = null;
+
+        if (name != null) {
+            answer = (QName) noNamespaceCache.get(name);
+        } else {
+            name = "";
+        }
+
+        if (answer == null) {
+            answer = createQName(name);
+            answer.setDocumentFactory(documentFactory);
+            noNamespaceCache.put(name, answer);
+        }
+
+        return answer;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * @param namespace
+     *            DOCUMENT ME!
+     * 
+     * @return the QName for the given local name and namepsace
+     */
+    public QName get(String name, Namespace namespace) {
+        Map cache = getNamespaceCache(namespace);
+        QName answer = null;
+
+        if (name != null) {
+            answer = (QName) cache.get(name);
+        } else {
+            name = "";
+        }
+
+        if (answer == null) {
+            answer = createQName(name, namespace);
+            answer.setDocumentFactory(documentFactory);
+            cache.put(name, answer);
+        }
+
+        return answer;
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param localName
+     *            DOCUMENT ME!
+     * @param namespace
+     *            DOCUMENT ME!
+     * @param qName
+     *            DOCUMENT ME!
+     * 
+     * @return the QName for the given local name, qualified name and namepsace
+     */
+    public QName get(String localName, Namespace namespace, String qName) {
+        Map cache = getNamespaceCache(namespace);
+        QName answer = null;
+
+        if (localName != null) {
+            answer = (QName) cache.get(localName);
+        } else {
+            localName = "";
+        }
+
+        if (answer == null) {
+            answer = createQName(localName, namespace, qName);
+            answer.setDocumentFactory(documentFactory);
+            cache.put(localName, answer);
+        }
+
+        return answer;
+    }
+
+    public QName get(String qualifiedName, String uri) {
+        int index = qualifiedName.indexOf(':');
+
+        if (index < 0) {
+            return get(qualifiedName, Namespace.get(uri));
+        } else {
+            String name = qualifiedName.substring(index + 1);
+            String prefix = qualifiedName.substring(0, index);
+
+            return get(name, Namespace.get(prefix, uri));
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param qname
+     *            DOCUMENT ME!
+     * 
+     * @return the cached QName instance if there is one or adds the given qname
+     *         to the cache if not
+     */
+    public QName intern(QName qname) {
+        return get(qname.getName(), qname.getNamespace(), qname
+                .getQualifiedName());
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param namespace
+     *            DOCUMENT ME!
+     * 
+     * @return the cache for the given namespace. If one does not currently
+     *         exist it is created.
+     */
+    protected Map getNamespaceCache(Namespace namespace) {
+        if (namespace == Namespace.NO_NAMESPACE) {
+            return noNamespaceCache;
+        }
+
+        Map answer = null;
+
+        if (namespace != null) {
+            answer = (Map) namespaceCache.get(namespace);
+        }
+
+        if (answer == null) {
+            answer = createMap();
+            namespaceCache.put(namespace, answer);
+        }
+
+        return answer;
+    }
+
+    /**
+     * A factory method
+     * 
+     * @return a newly created {@link Map}instance.
+     */
+    protected Map createMap() {
+        return Collections.synchronizedMap(new HashMap());
+    }
+
+    /**
+     * Factory method to create a new QName object which can be overloaded to
+     * create derived QName instances
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected QName createQName(String name) {
+        return new QName(name);
+    }
+
+    /**
+     * Factory method to create a new QName object which can be overloaded to
+     * create derived QName instances
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * @param namespace
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected QName createQName(String name, Namespace namespace) {
+        return new QName(name, namespace);
+    }
+
+    /**
+     * Factory method to create a new QName object which can be overloaded to
+     * create derived QName instances
+     * 
+     * @param name
+     *            DOCUMENT ME!
+     * @param namespace
+     *            DOCUMENT ME!
+     * @param qualifiedName
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected QName createQName(String name, Namespace namespace,
+            String qualifiedName) {
+        return new QName(name, namespace, qualifiedName);
+    }
+}
+
+
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
\ No newline at end of file
diff --git a/src/java/org/dom4j/tree/SingleIterator.java b/src/java/org/dom4j/tree/SingleIterator.java
new file mode 100644
index 0000000..332f531
--- /dev/null
+++ b/src/java/org/dom4j/tree/SingleIterator.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import java.util.Iterator;
+
+/**
+ * <p>
+ * <code>SingleIterator</code> is an {@link Iterator}over a single object
+ * instance.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class SingleIterator implements Iterator {
+    private boolean first = true;
+
+    private Object object;
+
+    public SingleIterator(Object object) {
+        this.object = object;
+    }
+
+    public boolean hasNext() {
+        return first;
+    }
+
+    public Object next() {
+        Object answer = object;
+        object = null;
+        first = false;
+
+        return answer;
+    }
+
+    public void remove() {
+        throw new UnsupportedOperationException("remove() is not supported by "
+                + "this iterator");
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/tree/package.html b/src/java/org/dom4j/tree/package.html
new file mode 100644
index 0000000..7b05c95
--- /dev/null
+++ b/src/java/org/dom4j/tree/package.html
@@ -0,0 +1,12 @@
+<html>
+<head>
+</head>
+<body>
+
+  <p>Contains the default implementations of the <i>dom4j</i> Document Object Model
+  together with some helpful base classes for those wishing to 
+  implement their own document object model.
+  </p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/util/AttributeHelper.java b/src/java/org/dom4j/util/AttributeHelper.java
new file mode 100644
index 0000000..afd1c00
--- /dev/null
+++ b/src/java/org/dom4j/util/AttributeHelper.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import org.dom4j.Attribute;
+import org.dom4j.Element;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>AttributeHelper</code> a number of helper methods for working with
+ * attribute values.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class AttributeHelper {
+    protected AttributeHelper() {
+    }
+
+    public static boolean booleanValue(Element element, String attributeName) {
+        return booleanValue(element.attribute(attributeName));
+    }
+
+    public static boolean booleanValue(Element element, QName attributeQName) {
+        return booleanValue(element.attribute(attributeQName));
+    }
+
+    protected static boolean booleanValue(Attribute attribute) {
+        if (attribute == null) {
+            return false;
+        }
+
+        Object value = attribute.getData();
+
+        if (value == null) {
+            return false;
+        } else if (value instanceof Boolean) {
+            Boolean b = (Boolean) value;
+
+            return b.booleanValue();
+        } else {
+            return "true".equalsIgnoreCase(value.toString());
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/IndexedDocumentFactory.java b/src/java/org/dom4j/util/IndexedDocumentFactory.java
new file mode 100644
index 0000000..7c491da
--- /dev/null
+++ b/src/java/org/dom4j/util/IndexedDocumentFactory.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>IndexedDocumentFactory</code> is a factory of XML objects which
+ * create indexed Element implementations to allow quicker lookup via name of
+ * Element and Attributes though at the expense of more memory used to create
+ * the name indexes.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class IndexedDocumentFactory extends DocumentFactory {
+    /** The Singleton instance */
+    protected static transient IndexedDocumentFactory singleton
+            = new IndexedDocumentFactory();
+
+    /**
+     * <p>
+     * Access to the singleton instance of this factory.
+     * </p>
+     * 
+     * @return the default singleon instance
+     */
+    public static DocumentFactory getInstance() {
+        return singleton;
+    }
+
+    // DocumentFactory methods
+    // -------------------------------------------------------------------------
+    public Element createElement(QName qname) {
+        return new IndexedElement(qname);
+    }
+
+    public Element createElement(QName qname, int attributeCount) {
+        return new IndexedElement(qname, attributeCount);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/IndexedElement.java b/src/java/org/dom4j/util/IndexedElement.java
new file mode 100644
index 0000000..f925cd8
--- /dev/null
+++ b/src/java/org/dom4j/util/IndexedElement.java
@@ -0,0 +1,321 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.Attribute;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.QName;
+import org.dom4j.tree.BackedList;
+import org.dom4j.tree.DefaultElement;
+
+/**
+ * <p>
+ * <code>IndexedElement</code> is an implementation of {@link Element}which
+ * maintains an index of the attributes and elements it contains to optimise
+ * lookups via name.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public class IndexedElement extends DefaultElement {
+    /** Lazily constructed index for elements */
+    private Map elementIndex;
+
+    /** Lazily constructed index for attributes */
+    private Map attributeIndex;
+
+    public IndexedElement(String name) {
+        super(name);
+    }
+
+    public IndexedElement(QName qname) {
+        super(qname);
+    }
+
+    public IndexedElement(QName qname, int attributeCount) {
+        super(qname, attributeCount);
+    }
+
+    public Attribute attribute(String name) {
+        return (Attribute) attributeIndex().get(name);
+    }
+
+    public Attribute attribute(QName qName) {
+        return (Attribute) attributeIndex().get(qName);
+    }
+
+    public Element element(String name) {
+        return asElement(elementIndex().get(name));
+    }
+
+    public Element element(QName qName) {
+        return asElement(elementIndex().get(qName));
+    }
+
+    public List elements(String name) {
+        return asElementList(elementIndex().get(name));
+    }
+
+    public List elements(QName qName) {
+        return asElementList(elementIndex().get(qName));
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected Element asElement(Object object) {
+        if (object instanceof Element) {
+            return (Element) object;
+        } else if (object != null) {
+            List list = (List) object;
+
+            if (list.size() >= 1) {
+                return (Element) list.get(0);
+            }
+        }
+
+        return null;
+    }
+
+    protected List asElementList(Object object) {
+        if (object instanceof Element) {
+            return createSingleResultList(object);
+        } else if (object != null) {
+            List list = (List) object;
+            BackedList answer = createResultList();
+
+            for (int i = 0, size = list.size(); i < size; i++) {
+                answer.addLocal(list.get(i));
+            }
+
+            return answer;
+        }
+
+        return createEmptyList();
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param object
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @deprecated WILL BE REMOVED IN dom4j-1.6 !!
+     */
+    protected Iterator asElementIterator(Object object) {
+        return asElementList(object).iterator();
+    }
+
+    // #### could we override the add(Element) remove(Element methods?
+    protected void addNode(Node node) {
+        super.addNode(node);
+
+        if ((elementIndex != null) && node instanceof Element) {
+            addToElementIndex((Element) node);
+        } else if ((attributeIndex != null) && node instanceof Attribute) {
+            addToAttributeIndex((Attribute) node);
+        }
+    }
+
+    protected boolean removeNode(Node node) {
+        if (super.removeNode(node)) {
+            if ((elementIndex != null) && node instanceof Element) {
+                removeFromElementIndex((Element) node);
+            } else if ((attributeIndex != null) && node instanceof Attribute) {
+                removeFromAttributeIndex((Attribute) node);
+            }
+
+            return true;
+        }
+
+        return false;
+    }
+
+    protected Map attributeIndex() {
+        if (attributeIndex == null) {
+            attributeIndex = createAttributeIndex();
+
+            for (Iterator iter = attributeIterator(); iter.hasNext();) {
+                addToAttributeIndex((Attribute) iter.next());
+            }
+        }
+
+        return attributeIndex;
+    }
+
+    protected Map elementIndex() {
+        if (elementIndex == null) {
+            elementIndex = createElementIndex();
+
+            for (Iterator iter = elementIterator(); iter.hasNext();) {
+                addToElementIndex((Element) iter.next());
+            }
+        }
+
+        return elementIndex;
+    }
+
+    /**
+     * A Factory Method to create the index for attributes
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected Map createAttributeIndex() {
+        Map answer = createIndex();
+
+        return answer;
+    }
+
+    /**
+     * A Factory Method to create the index for elements
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected Map createElementIndex() {
+        Map answer = createIndex();
+
+        return answer;
+    }
+
+    protected void addToElementIndex(Element element) {
+        QName qName = element.getQName();
+        String name = qName.getName();
+        addToElementIndex(qName, element);
+        addToElementIndex(name, element);
+    }
+
+    protected void addToElementIndex(Object key, Element value) {
+        Object oldValue = elementIndex.get(key);
+
+        if (oldValue == null) {
+            elementIndex.put(key, value);
+        } else {
+            if (oldValue instanceof List) {
+                List list = (List) oldValue;
+                list.add(value);
+            } else {
+                List list = createList();
+                list.add(oldValue);
+                list.add(value);
+                elementIndex.put(key, list);
+            }
+        }
+    }
+
+    protected void removeFromElementIndex(Element element) {
+        QName qName = element.getQName();
+        String name = qName.getName();
+        removeFromElementIndex(qName, element);
+        removeFromElementIndex(name, element);
+    }
+
+    protected void removeFromElementIndex(Object key, Element value) {
+        Object oldValue = elementIndex.get(key);
+
+        if (oldValue instanceof List) {
+            List list = (List) oldValue;
+            list.remove(value);
+        } else {
+            elementIndex.remove(key);
+        }
+    }
+
+    protected void addToAttributeIndex(Attribute attribute) {
+        QName qName = attribute.getQName();
+        String name = qName.getName();
+        addToAttributeIndex(qName, attribute);
+        addToAttributeIndex(name, attribute);
+    }
+
+    protected void addToAttributeIndex(Object key, Attribute value) {
+        Object oldValue = attributeIndex.get(key);
+
+        if (oldValue != null) {
+            attributeIndex.put(key, value);
+        }
+    }
+
+    protected void removeFromAttributeIndex(Attribute attribute) {
+        QName qName = attribute.getQName();
+        String name = qName.getName();
+        removeFromAttributeIndex(qName, attribute);
+        removeFromAttributeIndex(name, attribute);
+    }
+
+    protected void removeFromAttributeIndex(Object key, Attribute value) {
+        Object oldValue = attributeIndex.get(key);
+
+        if ((oldValue != null) && oldValue.equals(value)) {
+            attributeIndex.remove(key);
+        }
+    }
+
+    /**
+     * Factory method to return a new map implementation for indices
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected Map createIndex() {
+        return new HashMap();
+    }
+
+    /**
+     * Factory method to return a list implementation for indices
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List createList() {
+        return new ArrayList();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/NodeComparator.java b/src/java/org/dom4j/util/NodeComparator.java
new file mode 100644
index 0000000..0ffc43a
--- /dev/null
+++ b/src/java/org/dom4j/util/NodeComparator.java
@@ -0,0 +1,344 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import java.util.Comparator;
+
+import org.dom4j.Attribute;
+import org.dom4j.Branch;
+import org.dom4j.CDATA;
+import org.dom4j.CharacterData;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.QName;
+import org.dom4j.Text;
+
+/**
+ * <p>
+ * <code>NodeComparator</code> is a {@link Comparator}of Node instances which
+ * is capable of comparing Nodes for equality based on their values.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.10 $
+ */
+public class NodeComparator implements Comparator {
+    /**
+     * Compares its two arguments for order. Returns a negative integer, zero,
+     * or a positive integer as the first argument is less than, equal to, or
+     * greater than the second.
+     * 
+     * <p>
+     * The implementor must ensure that <tt>sgn(compare(x, y)) ==
+     * -sgn(compare(y, x))</tt>
+     * for all <tt>x</tt> and <tt>y</tt>. (This implies that
+     * <tt>compare(x, y)</tt> must throw an exception if and only if
+     * <tt>compare(y, x)</tt> throws an exception.)
+     * </p>
+     * 
+     * <p>
+     * The implementor must also ensure that the relation is transitive:
+     * <tt>((compare(x, y)>0) && (compare(y, z)>0))</tt> implies
+     * <tt>compare(x, z)>0</tt>.
+     * </p>
+     * 
+     * <p>
+     * Finally, the implementer must ensure that <tt>compare(x, y)==0</tt>
+     * implies that <tt>sgn(compare(x, z))==sgn(compare(y, z))</tt> for all
+     * <tt>z</tt>.
+     * </p>
+     * 
+     * <p>
+     * It is generally the case, but <i>not </i> strictly required that
+     * <tt>(compare(x, y)==0) == (x.equals(y))</tt>. Generally speaking, any
+     * comparator that violates this condition should clearly indicate this
+     * fact. The recommended language is "Note: this comparator imposes
+     * orderings that are inconsistent with equals."
+     * </p>
+     * 
+     * @param o1
+     *            the first object to be compared.
+     * @param o2
+     *            the second object to be compared.
+     * 
+     * @return a negative integer, zero, or a positive integer as the first
+     *         argument is less than, equal to, or greater than the second.
+     */
+    public int compare(Object o1, Object o2) {
+        if (o1 == o2) {
+            return 0;
+        } else if (o1 == null) {
+            // null is less
+            return -1;
+        } else if (o2 == null) {
+            return 1;
+        }
+
+        if (o1 instanceof Node) {
+            if (o2 instanceof Node) {
+                return compare((Node) o1, (Node) o2);
+            } else {
+                // Node implementations are greater
+                return 1;
+            }
+        } else {
+            if (o2 instanceof Node) {
+                // Node implementations are greater
+                return -1;
+            } else {
+                if (o1 instanceof Comparable) {
+                    Comparable c1 = (Comparable) o1;
+
+                    return c1.compareTo(o2);
+                } else {
+                    String name1 = o1.getClass().getName();
+                    String name2 = o2.getClass().getName();
+
+                    return name1.compareTo(name2);
+                }
+            }
+        }
+    }
+
+    public int compare(Node n1, Node n2) {
+        int nodeType1 = n1.getNodeType();
+        int nodeType2 = n2.getNodeType();
+        int answer = nodeType1 - nodeType2;
+
+        if (answer != 0) {
+            return answer;
+        } else {
+            switch (nodeType1) {
+                case Node.ELEMENT_NODE:
+                    return compare((Element) n1, (Element) n2);
+
+                case Node.DOCUMENT_NODE:
+                    return compare((Document) n1, (Document) n2);
+
+                case Node.ATTRIBUTE_NODE:
+                    return compare((Attribute) n1, (Attribute) n2);
+
+                case Node.TEXT_NODE:
+                    return compare((Text) n1, (Text) n2);
+
+                case Node.CDATA_SECTION_NODE:
+                    return compare((CDATA) n1, (CDATA) n2);
+
+                case Node.ENTITY_REFERENCE_NODE:
+                    return compare((Entity) n1, (Entity) n2);
+
+                case Node.PROCESSING_INSTRUCTION_NODE:
+                    return compare((ProcessingInstruction) n1,
+                            (ProcessingInstruction) n2);
+
+                case Node.COMMENT_NODE:
+                    return compare((Comment) n1, (Comment) n2);
+
+                case Node.DOCUMENT_TYPE_NODE:
+                    return compare((DocumentType) n1, (DocumentType) n2);
+
+                case Node.NAMESPACE_NODE:
+                    return compare((Namespace) n1, (Namespace) n2);
+
+                default:
+                    throw new RuntimeException("Invalid node types. node1: "
+                            + n1 + " and node2: " + n2);
+            }
+        }
+    }
+
+    public int compare(Document n1, Document n2) {
+        int answer = compare(n1.getDocType(), n2.getDocType());
+
+        if (answer == 0) {
+            answer = compareContent(n1, n2);
+        }
+
+        return answer;
+    }
+
+    public int compare(Element n1, Element n2) {
+        int answer = compare(n1.getQName(), n2.getQName());
+
+        if (answer == 0) {
+            // lets compare attributes
+            int c1 = n1.attributeCount();
+            int c2 = n2.attributeCount();
+            answer = c1 - c2;
+
+            if (answer == 0) {
+                for (int i = 0; i < c1; i++) {
+                    Attribute a1 = n1.attribute(i);
+                    Attribute a2 = n2.attribute(a1.getQName());
+                    answer = compare(a1, a2);
+
+                    if (answer != 0) {
+                        return answer;
+                    }
+                }
+
+                answer = compareContent(n1, n2);
+            }
+        }
+
+        return answer;
+    }
+
+    public int compare(Attribute n1, Attribute n2) {
+        int answer = compare(n1.getQName(), n2.getQName());
+
+        if (answer == 0) {
+            answer = compare(n1.getValue(), n2.getValue());
+        }
+
+        return answer;
+    }
+
+    public int compare(QName n1, QName n2) {
+        int answer = compare(n1.getNamespaceURI(), n2.getNamespaceURI());
+
+        if (answer == 0) {
+            answer = compare(n1.getQualifiedName(), n2.getQualifiedName());
+        }
+
+        return answer;
+    }
+
+    public int compare(Namespace n1, Namespace n2) {
+        int answer = compare(n1.getURI(), n2.getURI());
+
+        if (answer == 0) {
+            answer = compare(n1.getPrefix(), n2.getPrefix());
+        }
+
+        return answer;
+    }
+
+    public int compare(CharacterData t1, CharacterData t2) {
+        return compare(t1.getText(), t2.getText());
+    }
+
+    public int compare(DocumentType o1, DocumentType o2) {
+        if (o1 == o2) {
+            return 0;
+        } else if (o1 == null) {
+            // null is less
+            return -1;
+        } else if (o2 == null) {
+            return 1;
+        }
+
+        int answer = compare(o1.getPublicID(), o2.getPublicID());
+
+        if (answer == 0) {
+            answer = compare(o1.getSystemID(), o2.getSystemID());
+
+            if (answer == 0) {
+                answer = compare(o1.getName(), o2.getName());
+            }
+        }
+
+        return answer;
+    }
+
+    public int compare(Entity n1, Entity n2) {
+        int answer = compare(n1.getName(), n2.getName());
+
+        if (answer == 0) {
+            answer = compare(n1.getText(), n2.getText());
+        }
+
+        return answer;
+    }
+
+    public int compare(ProcessingInstruction n1, ProcessingInstruction n2) {
+        int answer = compare(n1.getTarget(), n2.getTarget());
+
+        if (answer == 0) {
+            answer = compare(n1.getText(), n2.getText());
+        }
+
+        return answer;
+    }
+
+    public int compareContent(Branch b1, Branch b2) {
+        int c1 = b1.nodeCount();
+        int c2 = b2.nodeCount();
+        int answer = c1 - c2;
+
+        if (answer == 0) {
+            for (int i = 0; i < c1; i++) {
+                Node n1 = b1.node(i);
+                Node n2 = b2.node(i);
+                answer = compare(n1, n2);
+
+                if (answer != 0) {
+                    break;
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    public int compare(String o1, String o2) {
+        if (o1 == o2) {
+            return 0;
+        } else if (o1 == null) {
+            // null is less
+            return -1;
+        } else if (o2 == null) {
+            return 1;
+        }
+
+        return o1.compareTo(o2);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/NonLazyDocumentFactory.java b/src/java/org/dom4j/util/NonLazyDocumentFactory.java
new file mode 100644
index 0000000..7f13bcc
--- /dev/null
+++ b/src/java/org/dom4j/util/NonLazyDocumentFactory.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>NonLazyDocumentFactory</code> is a factory of XML objects which avoid
+ * using the lazy creation pattern. This results in a slower creation of a
+ * Document and uses more memory but it means that the same Document instance
+ * can be shared across threads provided it is not modified.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.9 $
+ */
+public class NonLazyDocumentFactory extends DocumentFactory {
+    /** The Singleton instance */
+    protected static transient NonLazyDocumentFactory singleton
+            = new NonLazyDocumentFactory();
+
+    /**
+     * <p>
+     * Access to the singleton instance of this factory.
+     * </p>
+     * 
+     * @return the default singleon instance
+     */
+    public static DocumentFactory getInstance() {
+        return singleton;
+    }
+
+    // DocumentFactory methods
+    // -------------------------------------------------------------------------
+    public Element createElement(QName qname) {
+        return new NonLazyElement(qname);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/NonLazyElement.java b/src/java/org/dom4j/util/NonLazyElement.java
new file mode 100644
index 0000000..7e6c75a
--- /dev/null
+++ b/src/java/org/dom4j/util/NonLazyElement.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.dom4j.tree.BaseElement;
+
+/**
+ * <p>
+ * <code>NonLazyElement</code> is the default DOM4J default implementation of
+ * an XML element.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+public class NonLazyElement extends BaseElement {
+    public NonLazyElement(String name) {
+        super(name);
+        this.attributes = createAttributeList();
+        this.content = createContentList();
+    }
+
+    public NonLazyElement(QName qname) {
+        super(qname);
+        this.attributes = createAttributeList();
+        this.content = createContentList();
+    }
+
+    public NonLazyElement(String name, Namespace namespace) {
+        super(name, namespace);
+        this.attributes = createAttributeList();
+        this.content = createContentList();
+    }
+
+    public NonLazyElement(QName qname, int attributeCount) {
+        super(qname);
+        this.attributes = createAttributeList(attributeCount);
+        this.content = createContentList();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/PerThreadSingleton.java b/src/java/org/dom4j/util/PerThreadSingleton.java
new file mode 100644
index 0000000..2baaf70
--- /dev/null
+++ b/src/java/org/dom4j/util/PerThreadSingleton.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import java.lang.ref.WeakReference;
+
+/**
+ * <p>
+ * <code>PerThreadSingleton</code> is an implementation of the
+ * SingletonStrategy used to provide common factory access to a single object
+ * instance based on an implementation strategy for one object instance per
+ * thread. This is useful in replace of the ThreadLocal usage.
+ * </p>
+ * 
+ * @author <a href="mailto:ddlucas at users.sourceforge.net">David Lucas </a>
+ * @version $Revision: 1.3 $
+ */
+
+public class PerThreadSingleton implements SingletonStrategy {
+    private String singletonClassName = null;
+
+    private ThreadLocal perThreadCache = new ThreadLocal();
+
+    public PerThreadSingleton() {
+    }
+
+    public void reset() {
+        perThreadCache = new ThreadLocal();
+    }
+
+    public Object instance() {
+        Object singletonInstancePerThread = null;
+        // use weak reference to prevent cyclic reference during GC
+        WeakReference ref = (WeakReference) perThreadCache.get();
+        // singletonInstancePerThread=perThreadCache.get();
+        // if (singletonInstancePerThread==null) {
+        if (ref == null || ref.get() == null) {
+            Class clazz = null;
+            try {
+                clazz = Thread.currentThread().getContextClassLoader().loadClass(
+                        singletonClassName);
+                singletonInstancePerThread = clazz.newInstance();
+            } catch (Exception ignore) {
+                try {
+                    clazz = Class.forName(singletonClassName);
+                    singletonInstancePerThread = clazz.newInstance();
+                } catch (Exception ignore2) {
+                }
+            }
+            perThreadCache.set(new WeakReference(singletonInstancePerThread));
+        } else {
+            singletonInstancePerThread = ref.get();
+        }
+        return singletonInstancePerThread;
+    }
+
+    public void setSingletonClassName(String singletonClassName) {
+        this.singletonClassName = singletonClassName;
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/ProxyDocumentFactory.java b/src/java/org/dom4j/util/ProxyDocumentFactory.java
new file mode 100644
index 0000000..f1d927d
--- /dev/null
+++ b/src/java/org/dom4j/util/ProxyDocumentFactory.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import java.util.Map;
+
+import org.dom4j.Attribute;
+import org.dom4j.CDATA;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Namespace;
+import org.dom4j.NodeFilter;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.QName;
+import org.dom4j.Text;
+import org.dom4j.XPath;
+import org.dom4j.rule.Pattern;
+
+import org.jaxen.VariableContext;
+
+/**
+ * <p>
+ * <code>ProxyDocumentFactory</code> implements a proxy to a DocumentFactory
+ * which is useful for implementation inheritence, allowing the pipelining of
+ * various factory implementations. For example an EncodingDocumentFactory which
+ * takes care of encoding strings outside of allowable XML ranges could be used
+ * with a DatatypeDocumentFactory which is XML Schema Data Type aware.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.13 $
+ */
+public abstract class ProxyDocumentFactory {
+    private DocumentFactory proxy;
+
+    public ProxyDocumentFactory() {
+        // use default factory
+        this.proxy = DocumentFactory.getInstance();
+    }
+
+    public ProxyDocumentFactory(DocumentFactory proxy) {
+        this.proxy = proxy;
+    }
+
+    // Factory methods
+    // -------------------------------------------------------------------------
+    public Document createDocument() {
+        return proxy.createDocument();
+    }
+
+    public Document createDocument(Element rootElement) {
+        return proxy.createDocument(rootElement);
+    }
+
+    public DocumentType createDocType(String name, String publicId,
+            String systemId) {
+        return proxy.createDocType(name, publicId, systemId);
+    }
+
+    public Element createElement(QName qname) {
+        return proxy.createElement(qname);
+    }
+
+    public Element createElement(String name) {
+        return proxy.createElement(name);
+    }
+
+    public Attribute createAttribute(Element owner, QName qname, String value) {
+        return proxy.createAttribute(owner, qname, value);
+    }
+
+    public Attribute createAttribute(Element owner, String name, String value) {
+        return proxy.createAttribute(owner, name, value);
+    }
+
+    public CDATA createCDATA(String text) {
+        return proxy.createCDATA(text);
+    }
+
+    public Comment createComment(String text) {
+        return proxy.createComment(text);
+    }
+
+    public Text createText(String text) {
+        return proxy.createText(text);
+    }
+
+    public Entity createEntity(String name, String text) {
+        return proxy.createEntity(name, text);
+    }
+
+    public Namespace createNamespace(String prefix, String uri) {
+        return proxy.createNamespace(prefix, uri);
+    }
+
+    public ProcessingInstruction createProcessingInstruction(String target,
+            String data) {
+        return proxy.createProcessingInstruction(target, data);
+    }
+
+    public ProcessingInstruction createProcessingInstruction(String target,
+            Map data) {
+        return proxy.createProcessingInstruction(target, data);
+    }
+
+    public QName createQName(String localName, Namespace namespace) {
+        return proxy.createQName(localName, namespace);
+    }
+
+    public QName createQName(String localName) {
+        return proxy.createQName(localName);
+    }
+
+    public QName createQName(String name, String prefix, String uri) {
+        return proxy.createQName(name, prefix, uri);
+    }
+
+    public QName createQName(String qualifiedName, String uri) {
+        return proxy.createQName(qualifiedName, uri);
+    }
+
+    public XPath createXPath(String xpathExpression) {
+        return proxy.createXPath(xpathExpression);
+    }
+
+    public XPath createXPath(String xpathExpression,
+            VariableContext variableContext) {
+        return proxy.createXPath(xpathExpression, variableContext);
+    }
+
+    public NodeFilter createXPathFilter(String xpathFilterExpression,
+            VariableContext variableContext) {
+        return proxy.createXPathFilter(xpathFilterExpression, variableContext);
+    }
+
+    public NodeFilter createXPathFilter(String xpathFilterExpression) {
+        return proxy.createXPathFilter(xpathFilterExpression);
+    }
+
+    public Pattern createPattern(String xpathPattern) {
+        return proxy.createPattern(xpathPattern);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected DocumentFactory getProxy() {
+        return proxy;
+    }
+
+    protected void setProxy(DocumentFactory proxy) {
+        if (proxy == null) {
+            // use default factory
+            proxy = DocumentFactory.getInstance();
+        }
+
+        this.proxy = proxy;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/SimpleSingleton.java b/src/java/org/dom4j/util/SimpleSingleton.java
new file mode 100644
index 0000000..cb5c189
--- /dev/null
+++ b/src/java/org/dom4j/util/SimpleSingleton.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+/**
+ * <p>
+ * <code>SimpleSingleton</code> is an implementation of the SingletonStrategy
+ * interface used to provide common factory access for the same object instance.
+ * This implementation will create a new instance from the class specified and
+ * will not create a new one unless it is reset.
+ * </p>
+ * 
+ * @author <a href="mailto:ddlucas at users.sourceforge.net">David Lucas </a>
+ * @version $Revision: 1.3 $
+ */
+
+public class SimpleSingleton implements SingletonStrategy {
+    private String singletonClassName = null;
+
+    private Object singletonInstance = null;
+
+    public SimpleSingleton() {
+    }
+
+    public Object instance() {
+        return singletonInstance;
+    }
+
+    public void reset() {
+        if (singletonClassName != null) {
+            Class clazz = null;
+            try {
+                clazz = Thread.currentThread().getContextClassLoader().loadClass(
+                        singletonClassName);
+                singletonInstance = clazz.newInstance();
+            } catch (Exception ignore) {
+                try {
+                    clazz = Class.forName(singletonClassName);
+                    singletonInstance = clazz.newInstance();
+                } catch (Exception ignore2) {
+                }
+            }
+
+        }
+    }
+
+    public void setSingletonClassName(String singletonClassName) {
+        this.singletonClassName = singletonClassName;
+        reset();
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/SingletonStrategy.java b/src/java/org/dom4j/util/SingletonStrategy.java
new file mode 100644
index 0000000..af8b9ab
--- /dev/null
+++ b/src/java/org/dom4j/util/SingletonStrategy.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+/**
+ * <p>
+ * <code>SingletonStrategy</code> is an interface used to provide common
+ * factory access for the same object based on an implementation strategy for
+ * singleton. Right now there are two that accompany this interface:
+ * SimpleSingleton and PerThreadSingleton. This will replace previous usage of
+ * ThreadLocal to allow for alternate strategies.
+ * </p>
+ * 
+ * @author <a href="mailto:ddlucas at users.sourceforge.net">David Lucas </a>
+ * @version $Revision: 1.2 $
+ */
+public interface SingletonStrategy {
+    /**
+     * return a singleton instance of the class specified in setSingletonClass
+     */
+    Object instance();
+
+    /**
+     * reset the instance to a new instance for the implemented strategy
+     */
+    void reset();
+
+    /**
+     * set a singleton class name that will be used to create the singleton
+     * based on the strategy implementation of this interface. The default
+     * constructor of the class will be used and must be public.
+     */
+    void setSingletonClassName(String singletonClassName);
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/UserDataAttribute.java b/src/java/org/dom4j/util/UserDataAttribute.java
new file mode 100644
index 0000000..22f8e49
--- /dev/null
+++ b/src/java/org/dom4j/util/UserDataAttribute.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import org.dom4j.QName;
+import org.dom4j.tree.DefaultAttribute;
+
+/**
+ * <p>
+ * <code>UserDataAttribute</code> support the adornment of a user data object
+ * on an Element or Attribute instance such that the methods {@link#getData}
+ * {@link #setData(Object)}will get and set the values of a user data object.
+ * This can be useful for developers wishing to create XML trees and adorn the
+ * trees with user defined objects.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.8 $
+ */
+public class UserDataAttribute extends DefaultAttribute {
+    /** The user data object */
+    private Object data;
+
+    public UserDataAttribute(QName qname) {
+        super(qname);
+    }
+
+    public UserDataAttribute(QName qname, String text) {
+        super(qname, text);
+    }
+
+    public Object getData() {
+        return data;
+    }
+
+    public void setData(Object data) {
+        this.data = data;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/UserDataDocumentFactory.java b/src/java/org/dom4j/util/UserDataDocumentFactory.java
new file mode 100644
index 0000000..3cce569
--- /dev/null
+++ b/src/java/org/dom4j/util/UserDataDocumentFactory.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import org.dom4j.Attribute;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.QName;
+
+/**
+ * <p>
+ * <code>UserDataDocumentFactory</code> is a factory of XML objects which
+ * support the adornment of a user data object on an Element or Attribute
+ * instance such that the methods <code>getData()</code> and
+ * <code>setData()</code> will get and set the values of a user data object.
+ * This can be useful for developers wishing to create XML trees and adorn the
+ * trees with user defined objects.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.11 $
+ */
+public class UserDataDocumentFactory extends DocumentFactory {
+    /** The Singleton instance */
+    protected static transient UserDataDocumentFactory singleton
+            = new UserDataDocumentFactory();
+
+    /**
+     * <p>
+     * Access to the singleton instance of this factory.
+     * </p>
+     * 
+     * @return the default singleon instance
+     */
+    public static DocumentFactory getInstance() {
+        return singleton;
+    }
+
+    // DocumentFactory methods
+    // -------------------------------------------------------------------------
+    public Element createElement(QName qname) {
+        return new UserDataElement(qname);
+    }
+
+    public Attribute createAttribute(Element owner, QName qname, String value) {
+        return new UserDataAttribute(qname, value);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/UserDataElement.java b/src/java/org/dom4j/util/UserDataElement.java
new file mode 100644
index 0000000..b8e016e
--- /dev/null
+++ b/src/java/org/dom4j/util/UserDataElement.java
@@ -0,0 +1,128 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import org.dom4j.Element;
+import org.dom4j.QName;
+import org.dom4j.tree.DefaultElement;
+
+/**
+ * <p>
+ * <code>UserDataElement</code> support the adornment of a user data object on
+ * an Element or Attribute instance such that the methods {@link#getData}
+ * {@link #setData(Object)}will get and set the values of a user data object.
+ * This can be useful for developers wishing to create XML trees and adorn the
+ * trees with user defined objects.
+ * </p>
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.12 $
+ */
+public class UserDataElement extends DefaultElement {
+    /** The user data object */
+    private Object data;
+
+    public UserDataElement(String name) {
+        super(name);
+    }
+
+    public UserDataElement(QName qname) {
+        super(qname);
+    }
+
+    public Object getData() {
+        return data;
+    }
+
+    public void setData(Object data) {
+        this.data = data;
+    }
+
+    public String toString() {
+        return super.toString() + " userData: " + data;
+    }
+
+    public Object clone() {
+        UserDataElement answer = (UserDataElement) super.clone();
+
+        if (answer != this) {
+            answer.data = getCopyOfUserData();
+        }
+
+        return answer;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * If a deep copy of user data is required whenever the clone() or
+     * createCopy() methods are called on this element then this method should
+     * return a clone of the user data
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected Object getCopyOfUserData() {
+        return data;
+    }
+
+    protected Element createElement(String name) {
+        Element answer = getDocumentFactory().createElement(name);
+        answer.setData(getCopyOfUserData());
+
+        return answer;
+    }
+
+    protected Element createElement(QName qName) {
+        Element answer = getDocumentFactory().createElement(qName);
+        answer.setData(getCopyOfUserData());
+
+        return answer;
+    }
+
+    // protected DocumentFactory getDocumentFactory() {
+    // return DOCUMENT_FACTORY;
+    // }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/XMLErrorHandler.java b/src/java/org/dom4j/util/XMLErrorHandler.java
new file mode 100644
index 0000000..eca4dba
--- /dev/null
+++ b/src/java/org/dom4j/util/XMLErrorHandler.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.QName;
+
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXParseException;
+
+/**
+ * <code>XMLErrorHandler</code> is a SAX {@link ErrorHandler}which turns the
+ * SAX parsing errors into XML so that the output can be formatted using XSLT or
+ * the errors can be included in a SOAP message.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.7 $
+ */
+public class XMLErrorHandler implements ErrorHandler {
+    protected static final QName ERROR_QNAME = QName.get("error");
+
+    protected static final QName FATALERROR_QNAME = QName.get("fatalError");
+
+    protected static final QName WARNING_QNAME = QName.get("warning");
+
+    /** Stores the errors that occur during a SAX parse */
+    private Element errors;
+
+    /** QName used for error elements */
+    private QName errorQName = ERROR_QNAME;
+
+    /** QName used for fatalerror elements */
+    private QName fatalErrorQName = FATALERROR_QNAME;
+
+    /** QName used for warning elements */
+    private QName warningQName = WARNING_QNAME;
+
+    public XMLErrorHandler() {
+        this.errors = DocumentHelper.createElement("errors");
+    }
+
+    public XMLErrorHandler(Element errors) {
+        this.errors = errors;
+    }
+
+    public void error(SAXParseException e) {
+        Element element = errors.addElement(errorQName);
+        addException(element, e);
+    }
+
+    public void fatalError(SAXParseException e) {
+        Element element = errors.addElement(fatalErrorQName);
+        addException(element, e);
+    }
+
+    public void warning(SAXParseException e) {
+        Element element = errors.addElement(warningQName);
+        addException(element, e);
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+    public Element getErrors() {
+        return errors;
+    }
+
+    public void setErrors(Element errors) {
+        this.errors = errors;
+    }
+
+    // Allow the QNames used to create subelements to be changed
+    public QName getErrorQName() {
+        return errorQName;
+    }
+
+    public void setErrorQName(QName errorQName) {
+        this.errorQName = errorQName;
+    }
+
+    public QName getFatalErrorQName() {
+        return fatalErrorQName;
+    }
+
+    public void setFatalErrorQName(QName fatalErrorQName) {
+        this.fatalErrorQName = fatalErrorQName;
+    }
+
+    public QName getWarningQName() {
+        return warningQName;
+    }
+
+    public void setWarningQName(QName warningQName) {
+        this.warningQName = warningQName;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Adds the given parse exception information to the given element instance
+     * 
+     * @param element
+     *            DOCUMENT ME!
+     * @param e
+     *            DOCUMENT ME!
+     */
+    protected void addException(Element element, SAXParseException e) {
+        element.addAttribute("column", Integer.toString(e.getColumnNumber()));
+        element.addAttribute("line", Integer.toString(e.getLineNumber()));
+
+        String publicID = e.getPublicId();
+
+        if ((publicID != null) && (publicID.length() > 0)) {
+            element.addAttribute("publicID", publicID);
+        }
+
+        String systemID = e.getSystemId();
+
+        if ((systemID != null) && (systemID.length() > 0)) {
+            element.addAttribute("systemID", systemID);
+        }
+
+        element.addText(e.getMessage());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/util/package.html b/src/java/org/dom4j/util/package.html
new file mode 100644
index 0000000..f00489f
--- /dev/null
+++ b/src/java/org/dom4j/util/package.html
@@ -0,0 +1,9 @@
+<html>
+<head>
+</head>
+<body>
+
+  <p>A collection of utility classes for the <i>dom4j</i> API.</p>
+  
+</body>
+</html>
diff --git a/src/java/org/dom4j/xpath/DefaultNamespaceContext.java b/src/java/org/dom4j/xpath/DefaultNamespaceContext.java
new file mode 100644
index 0000000..12b8cf2
--- /dev/null
+++ b/src/java/org/dom4j/xpath/DefaultNamespaceContext.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import java.io.Serializable;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.Node;
+
+import org.jaxen.NamespaceContext;
+
+/**
+ * <p>
+ * <code>DefaultNamespaceContext</code> implements a Jaxen NamespaceContext
+ * such that a context node is used to determine the current XPath namespace
+ * prefixes and namespace URIs available.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ */
+public class DefaultNamespaceContext implements NamespaceContext, Serializable {
+    private final Element element;
+
+    public DefaultNamespaceContext(Element element) {
+        this.element = element;
+    }
+
+    public static DefaultNamespaceContext create(Object node) {
+        Element element = null;
+
+        if (node instanceof Element) {
+            element = (Element) node;
+        } else if (node instanceof Document) {
+            Document doc = (Document) node;
+            element = doc.getRootElement();
+        } else if (node instanceof Node) {
+            element = ((Node) node).getParent();
+        }
+
+        if (element != null) {
+            return new DefaultNamespaceContext(element);
+        }
+
+        return null;
+    }
+
+    public String translateNamespacePrefixToUri(String prefix) {
+        if ((prefix != null) && (prefix.length() > 0)) {
+            Namespace ns = element.getNamespaceForPrefix(prefix);
+
+            if (ns != null) {
+                return ns.getURI();
+            }
+        }
+
+        return null;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/xpath/DefaultXPath.java b/src/java/org/dom4j/xpath/DefaultXPath.java
new file mode 100644
index 0000000..ab1e5c6
--- /dev/null
+++ b/src/java/org/dom4j/xpath/DefaultXPath.java
@@ -0,0 +1,413 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.InvalidXPathException;
+import org.dom4j.Node;
+import org.dom4j.NodeFilter;
+import org.dom4j.XPathException;
+
+import org.jaxen.FunctionContext;
+import org.jaxen.JaxenException;
+import org.jaxen.NamespaceContext;
+import org.jaxen.SimpleNamespaceContext;
+import org.jaxen.VariableContext;
+import org.jaxen.XPath;
+import org.jaxen.dom4j.Dom4jXPath;
+
+/**
+ * <p>
+ * Default implementation of {@link org.dom4j.XPath}which uses the <a
+ * href="http://jaxen.org">Jaxen </a> project.
+ * </p>
+ * 
+ * @author bob mcwhirter
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ */
+public class DefaultXPath implements org.dom4j.XPath, NodeFilter, Serializable {
+    private String text;
+
+    private XPath xpath;
+
+    private NamespaceContext namespaceContext;
+
+    /**
+     * Construct an XPath
+     * 
+     * @param text
+     *            DOCUMENT ME!
+     * 
+     * @throws InvalidXPathException
+     *             DOCUMENT ME!
+     */
+    public DefaultXPath(String text) throws InvalidXPathException {
+        this.text = text;
+        this.xpath = parse(text);
+    }
+
+    public String toString() {
+        return "[XPath: " + xpath + "]";
+    }
+
+    // XPath interface
+
+    /**
+     * Retrieve the textual XPath string used to initialize this Object
+     * 
+     * @return The XPath string
+     */
+    public String getText() {
+        return text;
+    }
+
+    public FunctionContext getFunctionContext() {
+        return xpath.getFunctionContext();
+    }
+
+    public void setFunctionContext(FunctionContext functionContext) {
+        xpath.setFunctionContext(functionContext);
+    }
+
+    public NamespaceContext getNamespaceContext() {
+        return namespaceContext;
+    }
+
+    public void setNamespaceURIs(Map map) {
+        setNamespaceContext(new SimpleNamespaceContext(map));
+    }
+
+    public void setNamespaceContext(NamespaceContext namespaceContext) {
+        this.namespaceContext = namespaceContext;
+        xpath.setNamespaceContext(namespaceContext);
+    }
+
+    public VariableContext getVariableContext() {
+        return xpath.getVariableContext();
+    }
+
+    public void setVariableContext(VariableContext variableContext) {
+        xpath.setVariableContext(variableContext);
+    }
+
+    public Object evaluate(Object context) {
+        try {
+            setNSContext(context);
+
+            List answer = xpath.selectNodes(context);
+
+            if ((answer != null) && (answer.size() == 1)) {
+                return answer.get(0);
+            }
+
+            return answer;
+        } catch (JaxenException e) {
+            handleJaxenException(e);
+
+            return null;
+        }
+    }
+
+    public Object selectObject(Object context) {
+        return evaluate(context);
+    }
+
+    public List selectNodes(Object context) {
+        try {
+            setNSContext(context);
+
+            return xpath.selectNodes(context);
+        } catch (JaxenException e) {
+            handleJaxenException(e);
+
+            return Collections.EMPTY_LIST;
+        }
+    }
+
+    public List selectNodes(Object context, org.dom4j.XPath sortXPath) {
+        List answer = selectNodes(context);
+        sortXPath.sort(answer);
+
+        return answer;
+    }
+
+    public List selectNodes(Object context, org.dom4j.XPath sortXPath,
+            boolean distinct) {
+        List answer = selectNodes(context);
+        sortXPath.sort(answer, distinct);
+
+        return answer;
+    }
+
+    public Node selectSingleNode(Object context) {
+        try {
+            setNSContext(context);
+
+            Object answer = xpath.selectSingleNode(context);
+
+            if (answer instanceof Node) {
+                return (Node) answer;
+            }
+
+            if (answer == null) {
+                return null;
+            }
+
+            throw new XPathException("The result of the XPath expression is "
+                    + "not a Node. It was: " + answer + " of type: "
+                    + answer.getClass().getName());
+        } catch (JaxenException e) {
+            handleJaxenException(e);
+
+            return null;
+        }
+    }
+
+    public String valueOf(Object context) {
+        try {
+            setNSContext(context);
+
+            return xpath.stringValueOf(context);
+        } catch (JaxenException e) {
+            handleJaxenException(e);
+
+            return "";
+        }
+    }
+
+    public Number numberValueOf(Object context) {
+        try {
+            setNSContext(context);
+
+            return xpath.numberValueOf(context);
+        } catch (JaxenException e) {
+            handleJaxenException(e);
+
+            return null;
+        }
+    }
+
+    public boolean booleanValueOf(Object context) {
+        try {
+            setNSContext(context);
+
+            return xpath.booleanValueOf(context);
+        } catch (JaxenException e) {
+            handleJaxenException(e);
+
+            return false;
+        }
+    }
+
+    /**
+     * <p>
+     * <code>sort</code> sorts the given List of Nodes using this XPath
+     * expression as a {@link Comparator}.
+     * </p>
+     * 
+     * @param list
+     *            is the list of Nodes to sort
+     */
+    public void sort(List list) {
+        sort(list, false);
+    }
+
+    /**
+     * <p>
+     * <code>sort</code> sorts the given List of Nodes using this XPath
+     * expression as a {@link Comparator}and optionally removing duplicates.
+     * </p>
+     * 
+     * @param list
+     *            is the list of Nodes to sort
+     * @param distinct
+     *            if true then duplicate values (using the sortXPath for
+     *            comparisions) will be removed from the List
+     */
+    public void sort(List list, boolean distinct) {
+        if ((list != null) && !list.isEmpty()) {
+            int size = list.size();
+            HashMap sortValues = new HashMap(size);
+
+            for (int i = 0; i < size; i++) {
+                Object object = list.get(i);
+
+                if (object instanceof Node) {
+                    Node node = (Node) object;
+                    Object expression = getCompareValue(node);
+                    sortValues.put(node, expression);
+                }
+            }
+
+            sort(list, sortValues);
+
+            if (distinct) {
+                removeDuplicates(list, sortValues);
+            }
+        }
+    }
+
+    public boolean matches(Node node) {
+        try {
+            setNSContext(node);
+
+            List answer = xpath.selectNodes(node);
+
+            if ((answer != null) && (answer.size() > 0)) {
+                Object item = answer.get(0);
+
+                if (item instanceof Boolean) {
+                    return ((Boolean) item).booleanValue();
+                }
+
+                return answer.contains(node);
+            }
+
+            return false;
+        } catch (JaxenException e) {
+            handleJaxenException(e);
+
+            return false;
+        }
+    }
+
+    /**
+     * Sorts the list based on the sortValues for each node
+     * 
+     * @param list
+     *            DOCUMENT ME!
+     * @param sortValues
+     *            DOCUMENT ME!
+     */
+    protected void sort(List list, final Map sortValues) {
+        Collections.sort(list, new Comparator() {
+            public int compare(Object o1, Object o2) {
+                o1 = sortValues.get(o1);
+                o2 = sortValues.get(o2);
+
+                if (o1 == o2) {
+                    return 0;
+                } else if (o1 instanceof Comparable) {
+                    Comparable c1 = (Comparable) o1;
+
+                    return c1.compareTo(o2);
+                } else if (o1 == null) {
+                    return 1;
+                } else if (o2 == null) {
+                    return -1;
+                } else {
+                    return o1.equals(o2) ? 0 : (-1);
+                }
+            }
+        });
+    }
+
+    // Implementation methods
+
+    /**
+     * Removes items from the list which have duplicate values
+     * 
+     * @param list
+     *            DOCUMENT ME!
+     * @param sortValues
+     *            DOCUMENT ME!
+     */
+    protected void removeDuplicates(List list, Map sortValues) {
+        // remove distinct
+        HashSet distinctValues = new HashSet();
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Object node = iter.next();
+            Object value = sortValues.get(node);
+
+            if (distinctValues.contains(value)) {
+                iter.remove();
+            } else {
+                distinctValues.add(value);
+            }
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     * 
+     * @return the node expression used for sorting comparisons
+     */
+    protected Object getCompareValue(Node node) {
+        return valueOf(node);
+    }
+
+    protected static XPath parse(String text) {
+        try {
+            return new Dom4jXPath(text);
+        } catch (JaxenException e) {
+            throw new InvalidXPathException(text, e.getMessage());
+        } catch (Throwable t) {
+        	throw new InvalidXPathException(text, t);
+        }
+    }
+
+    protected void setNSContext(Object context) {
+        if (namespaceContext == null) {
+            xpath.setNamespaceContext(DefaultNamespaceContext.create(context));
+        }
+    }
+
+    protected void handleJaxenException(JaxenException exception)
+            throws XPathException {
+        throw new XPathException(text, exception);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/xpath/XPathPattern.java b/src/java/org/dom4j/xpath/XPathPattern.java
new file mode 100644
index 0000000..8b1e499
--- /dev/null
+++ b/src/java/org/dom4j/xpath/XPathPattern.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import java.util.ArrayList;
+
+import org.dom4j.InvalidXPathException;
+import org.dom4j.Node;
+import org.dom4j.XPathException;
+
+import org.jaxen.Context;
+import org.jaxen.ContextSupport;
+import org.jaxen.JaxenException;
+import org.jaxen.SimpleNamespaceContext;
+import org.jaxen.SimpleVariableContext;
+import org.jaxen.VariableContext;
+import org.jaxen.XPathFunctionContext;
+import org.jaxen.dom4j.DocumentNavigator;
+import org.jaxen.pattern.Pattern;
+import org.jaxen.pattern.PatternParser;
+import org.jaxen.saxpath.SAXPathException;
+
+/**
+ * <p>
+ * <code>XPathPattern</code> is an implementation of Pattern which uses an
+ * XPath xpath.
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.18.2.1 $
+ */
+public class XPathPattern implements org.dom4j.rule.Pattern {
+    private String text;
+
+    private Pattern pattern;
+
+    private Context context;
+
+    public XPathPattern(Pattern pattern) {
+        this.pattern = pattern;
+        this.text = pattern.getText();
+        this.context = new Context(getContextSupport());
+    }
+
+    public XPathPattern(String text) {
+        this.text = text;
+        this.context = new Context(getContextSupport());
+
+        try {
+            this.pattern = PatternParser.parse(text);
+        } catch (SAXPathException e) {
+            throw new InvalidXPathException(text, e.getMessage());
+        } catch (Throwable t) {
+            throw new InvalidXPathException(text, t);
+        }
+    }
+
+    public boolean matches(Node node) {
+        try {
+            ArrayList list = new ArrayList(1);
+            list.add(node);
+            context.setNodeSet(list);
+
+            return pattern.matches(node, context);
+        } catch (JaxenException e) {
+            handleJaxenException(e);
+
+            return false;
+        }
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    public double getPriority() {
+        return pattern.getPriority();
+    }
+
+    public org.dom4j.rule.Pattern[] getUnionPatterns() {
+        Pattern[] patterns = pattern.getUnionPatterns();
+
+        if (patterns != null) {
+            int size = patterns.length;
+            XPathPattern[] answer = new XPathPattern[size];
+
+            for (int i = 0; i < size; i++) {
+                answer[i] = new XPathPattern(patterns[i]);
+            }
+
+            return answer;
+        }
+
+        return null;
+    }
+
+    public short getMatchType() {
+        return pattern.getMatchType();
+    }
+
+    public String getMatchesNodeName() {
+        return pattern.getMatchesNodeName();
+    }
+
+    public void setVariableContext(VariableContext variableContext) {
+        context.getContextSupport().setVariableContext(variableContext);
+    }
+
+    public String toString() {
+        return "[XPathPattern: text: " + text + " Pattern: " + pattern + "]";
+    }
+
+    protected ContextSupport getContextSupport() {
+        return new ContextSupport(new SimpleNamespaceContext(),
+                XPathFunctionContext.getInstance(),
+                new SimpleVariableContext(), DocumentNavigator.getInstance());
+    }
+
+    protected void handleJaxenException(JaxenException exception)
+            throws XPathException {
+        throw new XPathException(text, exception);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/xpath/overview.html b/src/java/org/dom4j/xpath/overview.html
new file mode 100644
index 0000000..2fd1f5a
--- /dev/null
+++ b/src/java/org/dom4j/xpath/overview.html
@@ -0,0 +1,9 @@
+<html>
+<body>
+
+<p>This XPath implementation attempts to be a fully-compliant implementation of the 
+<a href="http://www.w3c.org/TR/1999/REC-xpath-19991116">W3C XPath specification</a>.
+</p>
+
+</body>
+</html>
diff --git a/src/java/org/dom4j/xpath/package.html b/src/java/org/dom4j/xpath/package.html
new file mode 100644
index 0000000..102770e
--- /dev/null
+++ b/src/java/org/dom4j/xpath/package.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<title>org.dom4j.xpath :: package.html</title>
+</head>
+
+<body>
+
+<p>Provides the core tools needed to use the XPath library
+</p>
+
+</body>
+
+</html>
diff --git a/src/java/org/dom4j/xpp/ProxyXmlStartTag.java b/src/java/org/dom4j/xpp/ProxyXmlStartTag.java
new file mode 100644
index 0000000..5ae31a4
--- /dev/null
+++ b/src/java/org/dom4j/xpp/ProxyXmlStartTag.java
@@ -0,0 +1,322 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpp;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.dom4j.Attribute;
+import org.dom4j.DocumentFactory;
+import org.dom4j.Element;
+import org.dom4j.QName;
+import org.dom4j.tree.AbstractElement;
+
+import org.gjt.xpp.XmlPullParserException;
+import org.gjt.xpp.XmlStartTag;
+
+/**
+ * <code>ProxyXmlStartTag</code> implements the XPP <code>XmlSmartTag</code>
+ * interface while creating a dom4j <code>Element</code> underneath.
+ * 
+ * @author James Strachan
+ * @author Maarten Coene
+ * @author Wolfgang Baer
+ */
+public class ProxyXmlStartTag implements XmlStartTag {
+    /** The element being constructed */
+    private Element element;
+
+    /** The factory used to create new elements */
+    private DocumentFactory factory = DocumentFactory.getInstance();
+
+    public ProxyXmlStartTag() {
+    }
+
+    public ProxyXmlStartTag(Element element) {
+        this.element = element;
+    }
+
+    // XmlStartTag interface
+    // -------------------------------------------------------------------------
+    public void resetStartTag() {
+        this.element = null;
+    }
+
+    public int getAttributeCount() {
+        return (element != null) ? element.attributeCount() : 0;
+    }
+
+    public String getAttributeNamespaceUri(int index) {
+        if (element != null) {
+            Attribute attribute = element.attribute(index);
+
+            if (attribute != null) {
+                return attribute.getNamespaceURI();
+            }
+        }
+
+        return null;
+    }
+
+    public String getAttributeLocalName(int index) {
+        if (element != null) {
+            Attribute attribute = element.attribute(index);
+
+            if (attribute != null) {
+                return attribute.getName();
+            }
+        }
+
+        return null;
+    }
+
+    public String getAttributePrefix(int index) {
+        if (element != null) {
+            Attribute attribute = element.attribute(index);
+
+            if (attribute != null) {
+                String prefix = attribute.getNamespacePrefix();
+
+                if ((prefix != null) && (prefix.length() > 0)) {
+                    return prefix;
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public String getAttributeRawName(int index) {
+        if (element != null) {
+            Attribute attribute = element.attribute(index);
+
+            if (attribute != null) {
+                return attribute.getQualifiedName();
+            }
+        }
+
+        return null;
+    }
+
+    public String getAttributeValue(int index) {
+        if (element != null) {
+            Attribute attribute = element.attribute(index);
+
+            if (attribute != null) {
+                return attribute.getValue();
+            }
+        }
+
+        return null;
+    }
+
+    public String getAttributeValueFromRawName(String rawName) {
+        if (element != null) {
+            for (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+                Attribute attribute = (Attribute) iter.next();
+
+                if (rawName.equals(attribute.getQualifiedName())) {
+                    return attribute.getValue();
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public String getAttributeValueFromName(String namespaceURI,
+            String localName) {
+        if (element != null) {
+            for (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+                Attribute attribute = (Attribute) iter.next();
+
+                if (namespaceURI.equals(attribute.getNamespaceURI())
+                        && localName.equals(attribute.getName())) {
+                    return attribute.getValue();
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public boolean isAttributeNamespaceDeclaration(int index) {
+        if (element != null) {
+            Attribute attribute = element.attribute(index);
+
+            if (attribute != null) {
+                return "xmlns".equals(attribute.getNamespacePrefix());
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * parameters modeled after SAX2 attribute approach
+     * 
+     * @param namespaceURI DOCUMENT ME!
+     * @param localName DOCUMENT ME!
+     * @param rawName DOCUMENT ME!
+     * @param value DOCUMENT ME!
+     * 
+     * @throws XmlPullParserException DOCUMENT ME!
+     */
+    public void addAttribute(String namespaceURI, String localName,
+            String rawName, String value) throws XmlPullParserException {
+        QName qname = QName.get(rawName, namespaceURI);
+        element.addAttribute(qname, value);
+    }
+
+    public void addAttribute(String namespaceURI, String localName,
+            String rawName, String value, boolean isNamespaceDeclaration)
+            throws XmlPullParserException {
+        if (isNamespaceDeclaration) {
+            String prefix = "";
+            int idx = rawName.indexOf(':');
+
+            if (idx > 0) {
+                prefix = rawName.substring(0, idx);
+            }
+
+            element.addNamespace(prefix, namespaceURI);
+        } else {
+            QName qname = QName.get(rawName, namespaceURI);
+            element.addAttribute(qname, value);
+        }
+    }
+
+    public void ensureAttributesCapacity(int minCapacity)
+            throws XmlPullParserException {
+        if (element instanceof AbstractElement) {
+            AbstractElement elementImpl = (AbstractElement) element;
+            elementImpl.ensureAttributesCapacity(minCapacity);
+        }
+    }
+
+    /**
+     * Remove all atributes.
+     * 
+     * @deprecated Use {@link #removeAttributes()} instead.
+     */
+    public void removeAtttributes() throws XmlPullParserException {
+        removeAttributes();
+    }
+
+    public void removeAttributes() throws XmlPullParserException {
+        if (element != null) {
+            element.setAttributes(new ArrayList());
+
+            // ##### FIXME
+            // adding this method would be nice...
+            // element.clearAttributes();
+        }
+    }
+
+    public String getLocalName() {
+        return element.getName();
+    }
+
+    public String getNamespaceUri() {
+        return element.getNamespaceURI();
+    }
+
+    public String getPrefix() {
+        return element.getNamespacePrefix();
+    }
+
+    public String getRawName() {
+        return element.getQualifiedName();
+    }
+
+    public void modifyTag(String namespaceURI, String lName, String rawName) {
+        this.element = factory.createElement(rawName, namespaceURI);
+    }
+
+    public void resetTag() {
+        this.element = null;
+    }
+
+    public boolean removeAttributeByName(String namespaceURI, String localName)
+            throws XmlPullParserException {
+        if (element != null) {
+            QName qname = QName.get(localName, namespaceURI);
+            Attribute attribute = element.attribute(qname);
+            return element.remove(attribute);
+        }
+        return false;
+    }
+
+    public boolean removeAttributeByRawName(String rawName)
+            throws XmlPullParserException {
+        if (element != null) {
+            Attribute attribute = null;
+            Iterator it = element.attributeIterator();
+            while (it.hasNext()) {
+                Attribute current = (Attribute) it.next();
+                if (current.getQualifiedName().equals(rawName)) {
+                    attribute = current;
+                    break;
+                }
+            }
+            return element.remove(attribute);
+        }
+        return false;
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+    public DocumentFactory getDocumentFactory() {
+        return factory;
+    }
+
+    public void setDocumentFactory(DocumentFactory documentFactory) {
+        this.factory = documentFactory;
+    }
+
+    public Element getElement() {
+        return element;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/java/org/dom4j/xpp/package.html b/src/java/org/dom4j/xpp/package.html
new file mode 100644
index 0000000..1566b94
--- /dev/null
+++ b/src/java/org/dom4j/xpp/package.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+<title>org.dom4j.xpp :: package.html</title>
+</head>
+
+<body>
+
+<p>Provides implementation classes to cleanly integrate dom4j with the XML Pull Parser
+<a href="http://www.extreme.indiana.edu/soap/xpp/">XPP</a>
+</p>
+
+</body>
+
+</html>
diff --git a/src/samples/org/dom4j/samples/AbstractDemo.java b/src/samples/org/dom4j/samples/AbstractDemo.java
new file mode 100644
index 0000000..8b5524c
--- /dev/null
+++ b/src/samples/org/dom4j/samples/AbstractDemo.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: AbstractDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * An abstract base class for the demo programs.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public abstract class AbstractDemo {
+
+    /** The format of XML / HTML that is output by the demo program */
+    protected OutputFormat format = new OutputFormat();
+
+    /** The writer of XML */
+    protected XMLWriter writer;
+
+    public AbstractDemo() {
+    }
+
+    protected static void run(AbstractDemo demo, String[] args) {
+        try {
+            demo.run(args);
+        } catch (DocumentException e) {
+            System.out.println("Exception occurred: " + e);
+            Throwable nestedException = e.getNestedException();
+            if (nestedException != null) {
+                System.out.println("NestedException: " + nestedException);
+                nestedException.printStackTrace();
+            } else {
+                e.printStackTrace();
+            }
+        } catch (Throwable t) {
+            System.out.println("Exception occurred: " + t);
+            t.printStackTrace();
+        }
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 1) {
+            printUsage("no XML document URL specified");
+            return;
+        }
+
+        int idx = format.parseOptions(args, 0);
+        if (idx >= args.length) {
+            printUsage("no XML document URL specified");
+            return;
+        } else {
+            writer = createXMLWriter();
+
+            Document document = parse(args[idx]);
+            process(document);
+        }
+    }
+
+    protected Document parse(String xmlFile) throws Exception {
+        throw new RuntimeException(
+                "parse(String xmlFile) not implemented in this demo");
+    }
+
+    protected void process(Document document) throws Exception {
+        getXMLWriter().write(document);
+        getXMLWriter().flush();
+    }
+
+    protected void print(String text) {
+        System.out.print(text);
+    }
+
+    protected void println(String text) {
+        System.out.println(text);
+    }
+
+    protected void printUsage(String text) {
+        println("Usage: java " + getClass().getName() + " " + text);
+    }
+
+    protected XMLWriter getXMLWriter() throws Exception {
+        if (writer == null) {
+            writer = createXMLWriter();
+        }
+        return writer;
+    }
+
+    /**
+     * A Factory Method to create an <code>XMLWriter</code> instance allowing
+     * derived classes to change this behaviour
+     */
+    protected XMLWriter createXMLWriter() throws Exception {
+        return new XMLWriter(System.out, format);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: AbstractDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/CountDemo.java b/src/samples/org/dom4j/samples/CountDemo.java
new file mode 100644
index 0000000..4719b9b
--- /dev/null
+++ b/src/samples/org/dom4j/samples/CountDemo.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: CountDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Attribute;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.Text;
+import org.dom4j.Visitor;
+import org.dom4j.VisitorSupport;
+
+/**
+ * A sample program to count the number of various kinds of DOM4J node types
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class CountDemo extends SAXDemo {
+
+    private int numCharacters;
+
+    private int numComments;
+
+    private int numElements;
+
+    private int numAttributes;
+
+    private int numProcessingInstructions;
+
+    public static void main(String[] args) {
+        run(new CountDemo(), args);
+    }
+
+    public CountDemo() {
+    }
+
+    protected void process(Document document) throws Exception {
+        numCharacters = 0;
+        numComments = 0;
+        numElements = 0;
+        numAttributes = 0;
+        numProcessingInstructions = 0;
+
+        Visitor visitor = new VisitorSupport() {
+
+            public void visit(Element node) {
+                ++numElements;
+            }
+
+            public void visit(Attribute node) {
+                ++numAttributes;
+            }
+
+            public void visit(Comment node) {
+                ++numComments;
+            }
+
+            public void visit(ProcessingInstruction node) {
+                ++numProcessingInstructions;
+            }
+
+            public void visit(Text node) {
+                String text = node.getText();
+                if (text != null) {
+                    numCharacters += text.length();
+                }
+            }
+        };
+
+        println("Document: " + document.getName() + " has the following");
+        println("Elements\tAttributes\tComments\tPIs\tCharacters");
+
+        document.accept(visitor);
+
+        println(numElements + "\t\t" + numAttributes + "\t\t" + numComments
+                + "\t\t" + numProcessingInstructions + "\t" + numCharacters);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: CountDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/CreateXMLDemo.java b/src/samples/org/dom4j/samples/CreateXMLDemo.java
new file mode 100644
index 0000000..c53376e
--- /dev/null
+++ b/src/samples/org/dom4j/samples/CreateXMLDemo.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: CreateXMLDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import java.io.FileWriter;
+import java.util.Enumeration;
+import java.util.Properties;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * A sample program to demonstrate creating some XML output using DOM4J. This
+ * sample generates an XML document representing the state of the current JVM
+ * displaying the current system properties.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class CreateXMLDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new CreateXMLDemo(), args);
+    }
+
+    public CreateXMLDemo() {
+    }
+
+    public void run(String[] args) throws Exception {
+        Document document = createDocument();
+        OutputFormat format = new OutputFormat("  ", true);
+
+        if (args.length < 1) {
+            XMLWriter writer = new XMLWriter(System.out, format);
+            writer.write(document);
+        } else {
+            String fileName = args[0];
+            println("Writing file: " + fileName);
+            FileWriter out = new FileWriter(args[0]);
+            XMLWriter writer = new XMLWriter(out, format);
+            writer.write(document);
+            out.close();
+        }
+    }
+
+    protected Document createDocument() throws Exception {
+        Document document = DocumentHelper.createDocument();
+        Element root = document.addElement("system");
+
+        Properties properties = System.getProperties();
+        for (Enumeration elements = properties.propertyNames(); elements
+                .hasMoreElements();) {
+            String name = (String) elements.nextElement();
+            String value = properties.getProperty(name);
+            Element element = root.addElement("property");
+            element.addAttribute("name", name);
+            element.addText(value);
+        }
+        return document;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: CreateXMLDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/DatatypeDemo.java b/src/samples/org/dom4j/samples/DatatypeDemo.java
new file mode 100644
index 0000000..bc1508a
--- /dev/null
+++ b/src/samples/org/dom4j/samples/DatatypeDemo.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: DatatypeDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Document;
+import org.dom4j.datatype.DatatypeDocumentFactory;
+import org.dom4j.io.SAXReader;
+
+/**
+ * A simple test program to demonstrate using XML Schema Data Types
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class DatatypeDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new DatatypeDemo(), args);
+    }
+
+    public DatatypeDemo() {
+    }
+
+    protected Document parse(String xmlFile) throws Exception {
+        SAXReader reader = new SAXReader();
+        reader.setDocumentFactory(DatatypeDocumentFactory.getInstance());
+        return reader.read(xmlFile);
+    }
+
+    protected void process(Document document) throws Exception {
+        getXMLWriter().write(document);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: DatatypeDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/HTMLWriterDemo.java b/src/samples/org/dom4j/samples/HTMLWriterDemo.java
new file mode 100644
index 0000000..e93532e
--- /dev/null
+++ b/src/samples/org/dom4j/samples/HTMLWriterDemo.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: HTMLWriterDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.io.HTMLWriter;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * A demonstration of the use of <code>HTMLWriter</code> to display XHTML
+ * documents to HTML aware browsers.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class HTMLWriterDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new HTMLWriterDemo(), args);
+    }
+
+    public HTMLWriterDemo() {
+    }
+
+    /**
+     * A Factory Method to create an <code>XMLWriter</code> instance allowing
+     * derived classes to change this behaviour
+     */
+    protected XMLWriter createXMLWriter() throws Exception {
+        return new HTMLWriter(System.out);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: HTMLWriterDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/JTidyDemo.java b/src/samples/org/dom4j/samples/JTidyDemo.java
new file mode 100644
index 0000000..73162fb
--- /dev/null
+++ b/src/samples/org/dom4j/samples/JTidyDemo.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: JTidyDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.net.URL;
+
+import org.dom4j.Document;
+import org.dom4j.io.DOMReader;
+import org.w3c.tidy.Tidy;
+
+/**
+ * A program which uses JTidy to parse some HTML and turn it into a dom4j
+ * Document
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class JTidyDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new JTidyDemo(), args);
+    }
+
+    public JTidyDemo() {
+    }
+
+    protected Document parse(String xmlFile) throws Exception {
+        InputStream in = openStream(xmlFile);
+        Tidy tidy = new Tidy();
+        tidy.setXmlOut(true);
+        org.w3c.dom.Document domDocument = tidy.parseDOM(in, null);
+
+        DOMReader domReader = new DOMReader();
+        return domReader.read(domDocument);
+    }
+
+    protected InputStream openStream(String xmlFile) throws Exception {
+        File file = new File(xmlFile);
+        if (file.exists()) {
+            return new BufferedInputStream(new FileInputStream(file));
+        }
+        return new URL(xmlFile).openStream();
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: JTidyDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/LargeDocumentDemo.java b/src/samples/org/dom4j/samples/LargeDocumentDemo.java
new file mode 100644
index 0000000..25e70f1
--- /dev/null
+++ b/src/samples/org/dom4j/samples/LargeDocumentDemo.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: LargeDocumentDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+import org.dom4j.ElementPath;
+import org.dom4j.io.SAXReader;
+
+/**
+ * This sample parses a big document using the pruning option of the
+ * {@link SAXReader}.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class LargeDocumentDemo extends SAXDemo implements ElementHandler {
+
+    protected String pruningPath;
+
+    public static void main(String[] args) {
+        run(new LargeDocumentDemo(), args);
+    }
+
+    public LargeDocumentDemo() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 2) {
+            printUsage("<XML document URL> <pruningPath>");
+            return;
+        }
+
+        String xmlFile = args[0];
+        pruningPath = args[1];
+
+        Document document = parse(xmlFile);
+        process(document);
+    }
+
+    // ElementHandler interface
+    public void onStart(ElementPath path) {
+        Element element = path.getCurrent();
+        println("onStart: of parsing element: " + element);
+    }
+
+    public void onEnd(ElementPath path) {
+        Element element = path.getCurrent();
+
+        println("onEnd: of parsing element: " + element + " with: "
+                + element.content().size() + " content node(s)");
+
+        // now prune the current element to reduce memory
+        element.detach();
+    }
+
+    protected Document parse(String url) throws Exception {
+        SAXReader reader = new SAXReader();
+
+        println("Parsing document:   " + url);
+        println("Using Pruning Path: " + pruningPath);
+
+        // enable pruning to call me back as each Element is complete
+        reader.addHandler(pruningPath, this);
+
+        println("##### starting parse");
+        Document document = reader.read(url);
+        println("##### finished parse");
+
+        // the document will be complete but have the prunePath elements pruned
+        println("Now lets dump what is left of the document after pruning...");
+
+        return document;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: LargeDocumentDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/LargeDocumentDemo2.java b/src/samples/org/dom4j/samples/LargeDocumentDemo2.java
new file mode 100644
index 0000000..b3b5e19
--- /dev/null
+++ b/src/samples/org/dom4j/samples/LargeDocumentDemo2.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: LargeDocumentDemo2.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.ElementHandler;
+import org.dom4j.ElementPath;
+import org.dom4j.io.SAXReader;
+
+/**
+ * A test harness to test the content API in DOM4J
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class LargeDocumentDemo2 extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new LargeDocumentDemo2(), args);
+    }
+
+    public LargeDocumentDemo2() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 1) {
+            printUsage("<XML document URL>");
+            return;
+        }
+
+        String xmlFile = args[0];
+
+        Document document = parse(xmlFile);
+        process(document);
+    }
+
+    protected Document parse(String url) throws Exception {
+        SAXReader reader = new SAXReader();
+
+        println("Parsing document:   " + url);
+
+        // enable pruning to call me back as each Element is complete
+        reader.addHandler("/PLAY/ACT", new playActHandler());
+
+        println("##### starting parse");
+        Document document = reader.read(url);
+        println("##### finished parse");
+
+        // the document will be complete but have the prunePath elements pruned
+        println("Now lets dump what is left of the document after pruning...");
+
+        return document;
+    }
+
+    class playActHandler implements ElementHandler {
+        public void onStart(ElementPath path) {
+            Element element = path.getCurrent();
+            path.addHandler("SCENE/SPEECH", new actSceneSpeechHandler());
+        }
+
+        public void onEnd(ElementPath path) {
+            Element element = path.getCurrent();
+            println("Found Act: " + element.element("TITLE").getText());
+            path.removeHandler("SCENE/SPEECH");
+            element.detach();
+        }
+    }
+
+    class actSceneSpeechHandler implements ElementHandler {
+        public void onStart(ElementPath path) {
+            Element element = path.getCurrent();
+            println("Found Start of Speech");
+        }
+
+        public void onEnd(ElementPath path) {
+            Element element = path.getCurrent();
+            println("Found End of Speech by Speaker: "
+                    + element.element("SPEAKER").getText());
+            element.detach();
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: LargeDocumentDemo2.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/LinkChecker.java b/src/samples/org/dom4j/samples/LinkChecker.java
new file mode 100644
index 0000000..7e7fe0f
--- /dev/null
+++ b/src/samples/org/dom4j/samples/LinkChecker.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: LinkChecker.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Attribute;
+import org.dom4j.Document;
+
+/**
+ * A sample program to demonstrate the use of XPath in DOM4J to find all the
+ * hypertext links in a source file.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class LinkChecker extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new LinkChecker(), args);
+    }
+
+    public LinkChecker() {
+    }
+
+    protected void process(Document document) throws Exception {
+
+        List list = document.selectNodes("//*[local-name()='a']/@href");
+
+        System.out.println("Found: " + list.size() + " links(s)");
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Attribute attribute = (Attribute) iter.next();
+            System.out.println("href = " + attribute.getValue());
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: LinkChecker.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/PullParserDemo.java b/src/samples/org/dom4j/samples/PullParserDemo.java
new file mode 100644
index 0000000..14f5e90
--- /dev/null
+++ b/src/samples/org/dom4j/samples/PullParserDemo.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: PullParserDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Document;
+import org.dom4j.io.XPPReader;
+
+/**
+ * A sample program that demonstrates using the XML Pull Parser to create a
+ * dom4j Document
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class PullParserDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new PullParserDemo(), args);
+    }
+
+    public PullParserDemo() {
+    }
+
+    protected Document parse(String xmlFile) throws Exception {
+        XPPReader reader = new XPPReader();
+        return reader.read(xmlFile);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: PullParserDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/RoundTripDemo.java b/src/samples/org/dom4j/samples/RoundTripDemo.java
new file mode 100644
index 0000000..aee5995
--- /dev/null
+++ b/src/samples/org/dom4j/samples/RoundTripDemo.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: RoundTripDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * A simple program demonstrating a round trip from XML to dom4j to text to
+ * dom4j again
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class RoundTripDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new RoundTripDemo(), args);
+    }
+
+    public RoundTripDemo() {
+    }
+
+    /** Outputs the document to a buffer, parse it back again then output it */
+    protected void process(Document document) throws Exception {
+
+        System.out.println("about to output: " + document);
+
+        // output the document to a buffer
+        StringWriter out = new StringWriter();
+        XMLWriter writer = new XMLWriter(out);
+        writer.write(document);
+        writer.close();
+
+        // parse back again
+        StringReader in = new StringReader(out.toString());
+        SAXReader reader = new SAXReader();
+        Document doc2 = reader.read(in);
+
+        System.out.println("parsed back again: " + doc2);
+
+        // now lets output it again
+        writer.setOutputStream(System.out);
+        writer.write(doc2);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: RoundTripDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/SAXDemo.java b/src/samples/org/dom4j/samples/SAXDemo.java
new file mode 100644
index 0000000..f4dc3f7
--- /dev/null
+++ b/src/samples/org/dom4j/samples/SAXDemo.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: SAXDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXReader;
+
+/**
+ * A simple test program to demonstrate using SAX to create a DOM4J tree
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class SAXDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new SAXDemo(), args);
+    }
+
+    public SAXDemo() {
+    }
+
+    protected Document parse(String xmlFile) throws Exception {
+        SAXReader reader = new SAXReader();
+        return reader.read(xmlFile);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: SAXDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/VisitorDemo.java b/src/samples/org/dom4j/samples/VisitorDemo.java
new file mode 100644
index 0000000..e39fb3b
--- /dev/null
+++ b/src/samples/org/dom4j/samples/VisitorDemo.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: VisitorDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Attribute;
+import org.dom4j.CDATA;
+import org.dom4j.Comment;
+import org.dom4j.Document;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.Entity;
+import org.dom4j.Namespace;
+import org.dom4j.ProcessingInstruction;
+import org.dom4j.Text;
+import org.dom4j.Visitor;
+import org.dom4j.VisitorSupport;
+
+/**
+ * A sample program to demonstrate the use of the Visitor Pattern in DOM4J
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class VisitorDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new VisitorDemo(), args);
+    }
+
+    public VisitorDemo() {
+    }
+
+    protected void process(Document document) throws Exception {
+        Visitor visitor = new VisitorSupport() {
+
+            public void visit(Document document) {
+                println(document.toString());
+            }
+
+            public void visit(DocumentType documentType) {
+                println(documentType.toString());
+            }
+
+            public void visit(Element node) {
+                println(node.toString());
+            }
+
+            public void visit(Attribute node) {
+                println(node.toString());
+            }
+
+            public void visit(CDATA node) {
+                println(node.toString());
+            }
+
+            public void visit(Comment node) {
+                println(node.toString());
+            }
+
+            public void visit(Entity node) {
+                println(node.toString());
+            }
+
+            public void visit(Namespace node) {
+                println(node.toString());
+            }
+
+            public void visit(ProcessingInstruction node) {
+                println(node.toString());
+            }
+
+            public void visit(Text node) {
+                println(node.toString());
+            }
+        };
+
+        document.accept(visitor);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: VisitorDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/VisitorDemo2.java b/src/samples/org/dom4j/samples/VisitorDemo2.java
new file mode 100644
index 0000000..af69178
--- /dev/null
+++ b/src/samples/org/dom4j/samples/VisitorDemo2.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: VisitorDemo2.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.io.SAXReader;
+
+/**
+ * This demo uses the Visitor Pattern in DOM4J to display the effect of changing
+ * the {@link DocumentFactory}used when reading a DOM4J object model from a
+ * {@link SAXReader}.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class VisitorDemo2 extends VisitorDemo {
+
+    /** The DocumentFactory class name to use */
+    protected String documentFactoryClassName;
+
+    public static void main(String[] args) {
+        run(new VisitorDemo2(), args);
+    }
+
+    public VisitorDemo2() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 1) {
+            printUsage("<XML document URL> [<Document Factory Class Name>]");
+            return;
+        }
+
+        String xmlFile = args[0];
+
+        documentFactoryClassName = (args.length > 1) ? args[1] : null;
+
+        Document document = parse(xmlFile);
+        process(document);
+    }
+
+    protected SAXReader createSAXReader() throws Exception {
+        println("Using SAX parser: "
+                + System.getProperty("org.xml.sax.driver", "default"));
+
+        SAXReader answer = new SAXReader();
+        if (documentFactoryClassName != null) {
+            try {
+                Class theClass = Class.forName(documentFactoryClassName);
+                DocumentFactory factory = (DocumentFactory) theClass
+                        .newInstance();
+                if (factory != null) {
+                    println("DocumentFactory:  " + factory);
+                    answer.setDocumentFactory(factory);
+                }
+            } catch (Exception e) {
+                println("ERROR: Failed to create an instance of DocumentFactory: "
+                        + documentFactoryClassName);
+                println("Exception: " + e);
+                e.printStackTrace();
+            }
+        }
+        return answer;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: VisitorDemo2.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/XPathDemo.java b/src/samples/org/dom4j/samples/XPathDemo.java
new file mode 100644
index 0000000..884f2fb
--- /dev/null
+++ b/src/samples/org/dom4j/samples/XPathDemo.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: XPathDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Document;
+
+/**
+ * A sample program to demonstrate the use of XPath expressions.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class XPathDemo extends SAXDemo {
+
+    protected String xpath = "*";
+
+    public static void main(String[] args) {
+        run(new XPathDemo(), args);
+    }
+
+    public XPathDemo() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 2) {
+            printUsage("<XML document URL> <XPath expression>");
+            return;
+        }
+
+        String xmlFile = args[0];
+        xpath = args[1];
+
+        writer = createXMLWriter();
+
+        Document document = parse(xmlFile);
+        process(document);
+    }
+
+    protected void process(Document document) throws Exception {
+        println("Evaluating XPath: " + xpath);
+
+        List list = document.selectNodes(xpath);
+
+        println("Found: " + list.size() + " node(s)");
+        println("Results:");
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+            writer.write(object);
+            writer.println();
+        }
+
+        writer.flush();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: XPathDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/XPathGrep.java b/src/samples/org/dom4j/samples/XPathGrep.java
new file mode 100644
index 0000000..96f5061
--- /dev/null
+++ b/src/samples/org/dom4j/samples/XPathGrep.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: XPathGrep.java,v 1.5 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.XPath;
+
+/**
+ * A utility program which performs XPath expressions on one or more XML files
+ * and outputs the matches. It is similar to the <code>grep</code> command on
+ * Unix but uses XPath expressions for matching
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.5 $
+ */
+public class XPathGrep extends SAXDemo {
+
+    protected XPath xpath;
+
+    protected boolean verbose;
+
+    public static void main(String[] args) {
+        run(new XPathGrep(), args);
+    }
+
+    public XPathGrep() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 2) {
+            printUsage("{options} <XPath expression> <xml file(s)>");
+            return;
+        }
+
+        for (int i = 0, size = args.length; i < size; i++) {
+            String arg = args[i];
+            if (arg.startsWith("-")) {
+                readOptions(arg);
+            } else {
+                if (xpath == null) {
+                    setXPath(arg);
+                } else {
+                    Document document = parse(arg);
+                    process(document);
+                }
+            }
+        }
+    }
+
+    public void setXPath(String xpathExpression) {
+        xpath = DocumentHelper.createXPath(xpathExpression);
+    }
+
+    protected void process(Document document) throws Exception {
+        // perform XPath
+        if (verbose) {
+            println("About to evalute: " + xpath);
+            println("Results:");
+        }
+
+        Object object = xpath.evaluate(document);
+
+        if (object instanceof List) {
+            List list = (List) object;
+            for (Iterator iter = list.iterator(); iter.hasNext();) {
+                getXMLWriter().write(iter.next());
+                getXMLWriter().println();
+            }
+            getXMLWriter().flush();
+        } else {
+            println((object != null) ? object.toString() : "null");
+        }
+    }
+
+    protected void readOptions(String arg) {
+        if (arg.indexOf('v') >= 0) {
+            verbose = true;
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: XPathGrep.java,v 1.5 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/XPathTool.java b/src/samples/org/dom4j/samples/XPathTool.java
new file mode 100644
index 0000000..9336c28
--- /dev/null
+++ b/src/samples/org/dom4j/samples/XPathTool.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: XPathTool.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * A simple program that parsers a document and allows XPath expressions to be
+ * evaluated on the document.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class XPathTool extends SAXDemo {
+
+    protected Document document;
+
+    protected XMLWriter xmlWriter;
+
+    protected boolean verbose;
+
+    public static void main(String[] args) {
+        run(new XPathTool(), args);
+    }
+
+    public XPathTool() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 1) {
+            printUsage("{options} <xml file>");
+            return;
+        }
+
+        for (int i = 0, size = args.length; i < size; i++) {
+            String arg = args[i];
+            if (arg.startsWith("-")) {
+                readOptions(arg);
+            } else {
+                println("Parsing: " + arg);
+                document = parse(arg);
+                break;
+            }
+        }
+
+        xmlWriter = new XMLWriter(System.out, new OutputFormat("  ", true));
+        userLoop();
+    }
+
+    protected void userLoop() throws Exception {
+        println("Enter XPath expressions to evaluate or 'quit' to stop");
+
+        BufferedReader reader = new BufferedReader(new InputStreamReader(
+                System.in));
+
+        while (true) {
+            print("XPath> ");
+            String line = reader.readLine();
+            if (line == null) {
+                break;
+            }
+            line = line.trim();
+            if (line.equalsIgnoreCase("quit")) {
+                break;
+            }
+            evaluateCommand(line);
+        }
+
+        println("Bye");
+    }
+
+    protected void evaluateCommand(String xpath) throws Exception {
+        println("Results...");
+        Object results = document.selectObject(xpath);
+        printResult(results);
+        xmlWriter.flush();
+    }
+
+    protected void printResult(Object results) throws Exception {
+        if (results instanceof Node) {
+            Node node = (Node) results;
+            if (node instanceof Document) {
+                Document document = (Document) node;
+                println("Document: " + document.getName());
+            } else if (node instanceof Element) {
+                Element element = (Element) node;
+                xmlWriter.writeOpen(element);
+                xmlWriter.println();
+            } else {
+                xmlWriter.write(node);
+                xmlWriter.println();
+            }
+        } else if (results instanceof List) {
+            List list = (List) results;
+            println("List of " + list.size() + " item(s)");
+            for (Iterator iter = list.iterator(); iter.hasNext();) {
+                printResult(iter.next());
+            }
+        } else {
+            if (results == null) {
+                println("null");
+            } else {
+                println(results + " (" + results.getClass().getName() + ")");
+            }
+        }
+    }
+
+    protected void readOptions(String arg) {
+        if (arg.indexOf('v') >= 0) {
+            verbose = true;
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: XPathTool.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/XPathValueOf.java b/src/samples/org/dom4j/samples/XPathValueOf.java
new file mode 100644
index 0000000..2a84282
--- /dev/null
+++ b/src/samples/org/dom4j/samples/XPathValueOf.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: XPathValueOf.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.XPath;
+
+/**
+ * A utility program which performs XPath expressions on one or more XML files
+ * and outputs the valueOf the XPath expression. It is similar to the
+ * <code>grep</code> command on Unix but uses XPath valueOf for matching
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class XPathValueOf extends SAXDemo {
+
+    protected XPath xpath;
+
+    public static void main(String[] args) {
+        run(new XPathValueOf(), args);
+    }
+
+    public XPathValueOf() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 2) {
+            printUsage("{options} <XPath expression> <xml file(s)>");
+            return;
+        }
+
+        for (int i = 0, size = args.length; i < size; i++) {
+            String arg = args[i];
+            if (arg.startsWith("-")) {
+                readOptions(arg);
+            } else {
+                if (xpath == null) {
+                    setXPath(arg);
+                } else {
+                    Document document = parse(arg);
+                    process(document);
+                }
+            }
+        }
+    }
+
+    public void setXPath(String xpathExpression) {
+        xpath = DocumentHelper.createXPath(xpathExpression);
+    }
+
+    protected void process(Document document) throws Exception {
+        String value = xpath.valueOf(document);
+        println(value);
+    }
+
+    protected void readOptions(String arg) {
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: XPathValueOf.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/XSLTDemo.java b/src/samples/org/dom4j/samples/XSLTDemo.java
new file mode 100644
index 0000000..469d066
--- /dev/null
+++ b/src/samples/org/dom4j/samples/XSLTDemo.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: XSLTDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+
+import org.dom4j.Document;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+
+/**
+ * A sample program to demonstrate using XSLT to transform a dom4j Document.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class XSLTDemo extends SAXDemo {
+
+    protected String xsl;
+
+    public static void main(String[] args) {
+        run(new XSLTDemo(), args);
+    }
+
+    public XSLTDemo() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 2) {
+            printUsage();
+            return;
+        }
+
+        int idx = format.parseOptions(args, 0);
+        if (args.length - idx < 2) {
+            printUsage();
+            return;
+        } else {
+            writer = createXMLWriter();
+
+            Document document = parse(args[idx++]);
+
+            xsl = args[idx++];
+
+            process(document);
+        }
+    }
+
+    protected void printUsage() {
+        printUsage("<XML URL> <XSLT URL>");
+    }
+
+    /** Perform XSLT on the stylesheet */
+    protected void process(Document document) throws Exception {
+        // load the transformer
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer(new StreamSource(xsl));
+
+        // now lets create the TrAX source and result
+        // objects and do the transformation
+        Source source = new DocumentSource(document);
+        DocumentResult result = new DocumentResult();
+        transformer.transform(source, result);
+
+        // output the transformed document
+        Document transformedDoc = result.getDocument();
+        writer.write(transformedDoc);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: XSLTDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/applets/SimpleAppletDemo.html b/src/samples/org/dom4j/samples/applets/SimpleAppletDemo.html
new file mode 100644
index 0000000..416318d
--- /dev/null
+++ b/src/samples/org/dom4j/samples/applets/SimpleAppletDemo.html
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<HTML>
+  <HEAD>
+    <TITLE></TITLE>
+  </HEAD>
+  <BODY>
+  <APPLET CODE="org.dom4j.samples.applets.SimpleAppletDemo.class" ARCHIVE="dom4j-samples.jar" WIDTH="300" HEIGHT="200">
+  </APPLET>
+  </BODY>
+</HTML>
diff --git a/src/samples/org/dom4j/samples/applets/SimpleAppletDemo.java b/src/samples/org/dom4j/samples/applets/SimpleAppletDemo.java
new file mode 100644
index 0000000..38ab32d
--- /dev/null
+++ b/src/samples/org/dom4j/samples/applets/SimpleAppletDemo.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ *
+ * $Id: SimpleAppletDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
+package org.dom4j.samples.applets;
+
+import java.applet.Applet;
+import java.awt.Graphics;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentHelper;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * This class demonstrate the use of dom4j in Applets. Note that applets are not
+ * allowed to read files from client disk, if unsigned.
+ * 
+ * @author <a href="toby-wan-kenobi at gmx.de">Tobias Rademacher </a>
+ * @version $Revision: 1.4 $
+ */
+public class SimpleAppletDemo extends Applet {
+
+    private static String DEMO_XML = "<?xml version='1.0' encoding='ISO-8859-1'?>\n"
+            + "<web-app>\n"
+            + "<servlet>\n"
+            + "<servlet-name>snoop</servlet-name>\n"
+            + "<servlet-class>SnoopServlet</servlet-class>\n"
+            + "</servlet>\n"
+            + "</web-app>";
+
+    private Document demoDocument;
+
+    private StringBuffer buffer;
+
+    /**
+     * Called after init. Demonstrates the simplicity of parsing in applets.
+     */
+    public void start() {
+        try {
+            demoDocument = DocumentHelper.parseText(DEMO_XML);
+            new XMLWriter(OutputFormat.createPrettyPrint()).write(demoDocument);
+        } catch (DocumentException documentEx) {
+            documentEx.printStackTrace();
+        } catch (Exception ex) {
+            ex.printStackTrace();
+        }
+
+        demoXPath();
+        repaint();
+    }
+
+    /**
+     * Demonstrates the use of XPath in Applets
+     */
+    private void demoXPath() {
+        this.buffer = new StringBuffer("The name of the servlet is :");
+        this.buffer.append(demoDocument
+                .valueOf("/web-app/servlet[1]/servlet-name"));
+        this.buffer.append(" and the class is ");
+        this.buffer.append(demoDocument
+                .valueOf("/web-app/servlet[1]/servlet-class"));
+    }
+
+    /**
+     * Invoked by repaint() and paints a xpath
+     */
+    public void paint(Graphics g) {
+        g.drawRect(0, 0, getSize().width - 1, getSize().height - 1);
+        g.drawString(this.buffer.toString(), 5, 15);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: SimpleAppletDemo.java,v 1.4 2005/01/29 14:52:57 maartenc Exp $
+ */
+
diff --git a/src/samples/org/dom4j/samples/bean/BeanDemo.java b/src/samples/org/dom4j/samples/bean/BeanDemo.java
new file mode 100644
index 0000000..975f4c5
--- /dev/null
+++ b/src/samples/org/dom4j/samples/bean/BeanDemo.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: BeanDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.bean;
+
+import org.dom4j.samples.SAXDemo;
+
+import java.awt.Component;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.Attribute;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.bean.BeanDocumentFactory;
+import org.dom4j.io.SAXReader;
+
+/**
+ * A simple test program to demonstrate using simple binding of JavaBeans to
+ * inside a DOM4J tree
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class BeanDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new BeanDemo(), args);
+    }
+
+    public BeanDemo() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 1) {
+            printUsage("<XML document URL>");
+            return;
+        }
+
+        Document document = parse(args[0]);
+        process(document);
+    }
+
+    protected Document parse(String url) throws Exception {
+        SAXReader reader = new SAXReader(BeanDocumentFactory.getInstance());
+        return reader.read(url);
+    }
+
+    protected void process(Document document) throws Exception {
+        // find all of the windows
+        List windows = document.selectNodes("//window");
+        for (Iterator iter = windows.iterator(); iter.hasNext();) {
+            Element element = (Element) iter.next();
+            Object window = element.getData();
+            if (window instanceof Component) {
+                Component component = (Component) window;
+                component.setVisible(true);
+            }
+
+            println("found element: " + element);
+            println("found window: " + window);
+        }
+
+        println("");
+        println("Now lets find all the fonts...");
+
+        List fonts = document.selectNodes("//@font");
+        for (Iterator iter = fonts.iterator(); iter.hasNext();) {
+            Attribute font = (Attribute) iter.next();
+            println("found font: " + font.getData());
+        }
+
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: BeanDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/dom/DOMDemo.java b/src/samples/org/dom4j/samples/dom/DOMDemo.java
new file mode 100644
index 0000000..b938d0d
--- /dev/null
+++ b/src/samples/org/dom4j/samples/dom/DOMDemo.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: DOMDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.dom;
+
+import org.dom4j.samples.AbstractDemo;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.dom4j.Document;
+import org.dom4j.io.DOMReader;
+
+/**
+ * A simple test program to demonstrate using W3C DOM and JAXP to load a DOM XML
+ * tree then converting it to a DOM4J tree.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class DOMDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new DOMDemo(), args);
+    }
+
+    public DOMDemo() {
+    }
+
+    protected Document parse(String url) throws Exception {
+        // parse a DOM tree
+        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+        DocumentBuilder builder = factory.newDocumentBuilder();
+
+        println("Loading document with JAXP builder: " + builder);
+
+        org.w3c.dom.Document domDocument = builder.parse(url);
+
+        println("Created W3C DOM document: " + domDocument);
+
+        // now convert to DOM4J model
+        DOMReader reader = new DOMReader();
+        Document document = reader.read(domDocument);
+
+        println("Created DOM4J document: " + document);
+
+        return document;
+    }
+
+    protected void process(Document document) throws Exception {
+        writer.write(document);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: DOMDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/dom/NativeDOMDemo.java b/src/samples/org/dom4j/samples/dom/NativeDOMDemo.java
new file mode 100644
index 0000000..5d93095
--- /dev/null
+++ b/src/samples/org/dom4j/samples/dom/NativeDOMDemo.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: NativeDOMDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.dom;
+
+import org.dom4j.samples.AbstractDemo;
+
+import org.dom4j.Document;
+import org.dom4j.dom.DOMDocumentFactory;
+import org.dom4j.io.SAXReader;
+
+/**
+ * A simple test program to demonstrate the use of native DOM support.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class NativeDOMDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new NativeDOMDemo(), args);
+    }
+
+    public NativeDOMDemo() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 1) {
+            printUsage("<XML document URL>");
+            return;
+        }
+
+        parseDOM(args[0]);
+    }
+
+    protected void parseDOM(String xmlFile) throws Exception {
+
+        println("Loading document: " + xmlFile);
+
+        SAXReader reader = new SAXReader(DOMDocumentFactory.getInstance());
+        Document document = reader.read(xmlFile);
+
+        println("Created <dom4j> document: " + document);
+
+        if (document instanceof org.w3c.dom.Document) {
+            org.w3c.dom.Document domDocument = (org.w3c.dom.Document) document;
+            println("Created W3C DOM document: " + domDocument);
+            processDOM(domDocument);
+        } else {
+            println("FAILED to make a native W3C DOM document!!");
+        }
+    }
+
+    protected void processDOM(org.w3c.dom.Document document) throws Exception {
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: NativeDOMDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/dom/RoundTripDemo.java b/src/samples/org/dom4j/samples/dom/RoundTripDemo.java
new file mode 100644
index 0000000..1054f45
--- /dev/null
+++ b/src/samples/org/dom4j/samples/dom/RoundTripDemo.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: RoundTripDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.dom;
+
+import org.dom4j.samples.SAXDemo;
+
+import org.dom4j.Document;
+import org.dom4j.io.DOMReader;
+import org.dom4j.io.DOMWriter;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * A simple program demonstrating a round trip from XML to dom4j to DOM to dom4j
+ * again
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class RoundTripDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new RoundTripDemo(), args);
+    }
+
+    public RoundTripDemo() {
+    }
+
+    /** Outputs the document to DOM, parse it back again then output it */
+    protected void process(Document document) throws Exception {
+
+        System.out.println("about to output: " + document);
+
+        // output the document to DOM
+        DOMWriter writer = new DOMWriter();
+        org.w3c.dom.Document domDocument = writer.write(document);
+
+        // parse back again
+        DOMReader reader = new DOMReader();
+        Document doc2 = reader.read(domDocument);
+
+        System.out.println("parsed back again: " + doc2);
+
+        // now lets output it again
+        XMLWriter xmlWriter = new XMLWriter(System.out);
+        xmlWriter.write(doc2);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: RoundTripDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/dom/SAXDOMDemo.java b/src/samples/org/dom4j/samples/dom/SAXDOMDemo.java
new file mode 100644
index 0000000..4bb7260
--- /dev/null
+++ b/src/samples/org/dom4j/samples/dom/SAXDOMDemo.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: SAXDOMDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.dom;
+
+import org.dom4j.samples.AbstractDemo;
+
+import org.dom4j.Document;
+import org.dom4j.io.DOMReader;
+import org.dom4j.io.DOMWriter;
+import org.dom4j.io.SAXContentHandler;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.SAXWriter;
+
+/**
+ * This sample program parses an XML document as a DOM4J tree using SAX, it then
+ * creates a W3C DOM tree which is then used as input for creating a new DOM4J
+ * tree which is then output to SAX which is then parsed into another DOM4J tree
+ * which is then output as XML.
+ * 
+ * This is clearly not terribly useful but demonstrates how to convert from SAX
+ * <->DOM4J and DOM4J <->DOM and DOM4J <->text
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class SAXDOMDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new SAXDOMDemo(), args);
+    }
+
+    public SAXDOMDemo() {
+    }
+
+    protected Document parse(String url) throws Exception {
+        SAXReader saxReader = new SAXReader();
+        Document document = saxReader.read(url);
+
+        println("Parsed to DOM4J tree using SAX: " + document);
+
+        // now lets make a DOM object
+        DOMWriter domWriter = new DOMWriter();
+        org.w3c.dom.Document domDocument = domWriter.write(document);
+
+        println("Converted to DOM tree: " + domDocument);
+
+        // now lets read it back as a DOM4J object
+        DOMReader domReader = new DOMReader();
+        document = domReader.read(domDocument);
+
+        println("Converted to DOM4J tree using DOM: " + document);
+
+        // now lets write it back as SAX events to
+        // a SAX ContentHandler which should build up a new document
+        SAXContentHandler contentHandler = new SAXContentHandler();
+        SAXWriter saxWriter = new SAXWriter(contentHandler, null,
+                contentHandler);
+
+        saxWriter.write(document);
+        document = contentHandler.getDocument();
+
+        println("Converted DOM4J to SAX events then back to DOM4J: " + document);
+
+        return document;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: SAXDOMDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/dom/XSLTNativeDOMDemo.java b/src/samples/org/dom4j/samples/dom/XSLTNativeDOMDemo.java
new file mode 100644
index 0000000..01c8a46
--- /dev/null
+++ b/src/samples/org/dom4j/samples/dom/XSLTNativeDOMDemo.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: XSLTNativeDOMDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.dom;
+
+import org.dom4j.samples.XSLTDemo;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.dom4j.Document;
+import org.dom4j.dom.DOMDocumentFactory;
+import org.dom4j.io.DOMWriter;
+import org.dom4j.io.SAXReader;
+
+/**
+ * This sample program peforms XSLT on the native DOM implementation of dom4j.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class XSLTNativeDOMDemo extends XSLTDemo {
+
+    public static void main(String[] args) {
+        run(new XSLTNativeDOMDemo(), args);
+    }
+
+    public XSLTNativeDOMDemo() {
+    }
+
+    protected Document parse(String url) throws Exception {
+        SAXReader reader = new SAXReader(DOMDocumentFactory.getInstance());
+        return reader.read(url);
+    }
+
+    /** Perform XSLT on the stylesheet */
+    protected void process(Document document) throws Exception {
+        // load the transformer
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer(new StreamSource(xsl
+                .toString()));
+
+        // Since we are using the native DOM implementation
+        // converting the tree to DOM should be really fast...
+        DOMWriter domWriter = new DOMWriter();
+
+        long start = System.currentTimeMillis();
+        org.w3c.dom.Document domDocument = domWriter.write(document);
+        long end = System.currentTimeMillis();
+
+        System.out.println("Converting to a W3C Document took: "
+                + (end - start) + " milliseconds");
+
+        // now lets create the TrAX source and result
+        // objects and do the transformation
+        Source source = new DOMSource(domDocument);
+        StreamResult result = new StreamResult(System.out);
+        transformer.transform(source, result);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: XSLTNativeDOMDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/jaxb/JAXBDemo.java b/src/samples/org/dom4j/samples/jaxb/JAXBDemo.java
new file mode 100644
index 0000000..a81f9c7
--- /dev/null
+++ b/src/samples/org/dom4j/samples/jaxb/JAXBDemo.java
@@ -0,0 +1,264 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: JAXBDemo.java,v 1.3 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.jaxb;
+
+import java.io.File;
+import java.math.BigDecimal;
+import java.util.Calendar;
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.jaxb.JAXBModifier;
+import org.dom4j.jaxb.JAXBReader;
+import org.dom4j.jaxb.JAXBWriter;
+import org.dom4j.test.primer.Items;
+import org.dom4j.test.primer.ObjectFactory;
+import org.dom4j.test.primer.PurchaseOrder;
+import org.dom4j.test.primer.PurchaseOrders;
+import org.dom4j.test.primer.USAddress;
+
+/**
+ * JAXB demo
+ * 
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+public class JAXBDemo {
+
+    private File outputDir = new File("build/test/");
+
+    public static void main(String[] args) {
+        JAXBDemo demo = new JAXBDemo();
+        demo.init();
+
+        demo.demoRead();
+        demo.demoReadPrune();
+
+        demo.demoWrite();
+
+        demo.demoModify();
+        demo.demoModifyWrite();
+    }
+
+    public void init() {
+        outputDir.mkdirs();
+    }
+
+    public void demoRead() {
+        try {
+            File inputFile = new File("xml/jaxb/primer.xml");
+
+            JAXBReader jaxbReader = new JAXBReader("org.dom4j.test.primer");
+
+            System.out
+                    .println("Fetched PurchaseOrders using JAXBObjectHandler:");
+            jaxbReader.addObjectHandler("/purchaseOrders/purchaseOrder",
+                    new PurchaseOrderHandler());
+            Document doc = jaxbReader.read(inputFile);
+
+            System.out.println("Fetched PurchaseOrders using DOM4J document:");
+            Iterator orderIt = doc.selectNodes("/purchaseOrders/purchaseOrder")
+                    .iterator();
+            while (orderIt.hasNext()) {
+                Element elem = (Element) orderIt.next();
+
+                System.out.println("Order - id:" + elem.attributeValue("id")
+                        + ", date:" + elem.attributeValue("orderDate"));
+            }
+
+            System.out.println("Document:");
+            System.out.println(doc.asXML());
+            System.out.println();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void demoReadPrune() {
+        try {
+            File inputFile = new File("xml/jaxb/primer.xml");
+
+            JAXBReader jaxbReader = new JAXBReader("org.dom4j.test.primer");
+
+            System.out
+                    .println("Fetched PurchaseOrders using JAXBObjectHandler:");
+            jaxbReader.setPruneElements(true);
+            jaxbReader.addObjectHandler("/purchaseOrders/purchaseOrder",
+                    new PurchaseOrderHandler());
+            Document doc = jaxbReader.read(inputFile);
+
+            System.out.println("Pruned document:");
+            System.out.println(doc.asXML());
+            System.out.println();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void demoWrite() {
+        try {
+            ObjectFactory factory = new ObjectFactory();
+
+            PurchaseOrders orders = factory.createPurchaseOrders();
+
+            // Order 1
+            PurchaseOrder order = factory.createPurchaseOrder();
+
+            USAddress billTo = factory.createUSAddress();
+            billTo.setCity("Cambridge");
+            billTo.setCountry("US");
+            billTo.setName("Robert Smith");
+            billTo.setState("MA");
+            billTo.setStreet("8 Oak Avenue");
+            billTo.setZip(new BigDecimal(12345));
+            order.setBillTo(billTo);
+
+            USAddress shipTo = factory.createUSAddress();
+            shipTo.setCity("Cambridge");
+            shipTo.setCountry("US");
+            shipTo.setName("Alice Smith");
+            shipTo.setState("MA");
+            shipTo.setStreet("123 Maple Street");
+            shipTo.setZip(new BigDecimal(12345));
+            order.setShipTo(shipTo);
+
+            Calendar orderDate = Calendar.getInstance();
+            orderDate.set(2004, 06, 30);
+            order.setOrderDate(orderDate);
+
+            Items items = factory.createItems();
+            order.setItems(items);
+
+            orders.getPurchaseOrder().add(order);
+
+            // Order 2
+            PurchaseOrder order2 = factory.createPurchaseOrder();
+
+            USAddress billTo2 = factory.createUSAddress();
+            billTo2.setCity("Cambridge");
+            billTo2.setCountry("US");
+            billTo2.setName("Robert Smith");
+            billTo2.setState("MA");
+            billTo2.setStreet("8 Oak Avenue");
+            billTo2.setZip(new BigDecimal(12345));
+            order2.setBillTo(billTo2);
+
+            USAddress shipTo2 = factory.createUSAddress();
+            shipTo2.setCity("Cambridge");
+            shipTo2.setCountry("US");
+            shipTo2.setName("Alice Smith");
+            shipTo2.setState("MA");
+            shipTo2.setStreet("123 Maple Street");
+            shipTo2.setZip(new BigDecimal(12345));
+            order2.setShipTo(shipTo2);
+
+            Calendar orderDate2 = Calendar.getInstance();
+            orderDate2.set(2004, 06, 30);
+            order2.setOrderDate(orderDate2);
+
+            Items items2 = factory.createItems();
+            order2.setItems(items2);
+
+            orders.getPurchaseOrder().add(order2);
+
+            File outputFile = new File(outputDir, "jaxbWrite.xml");
+
+            JAXBWriter jaxbWriter = new JAXBWriter("org.dom4j.test.primer",
+                    OutputFormat.createPrettyPrint());
+            jaxbWriter.setOutput(outputFile);
+
+            jaxbWriter.startDocument();
+            jaxbWriter.write(orders);
+            jaxbWriter.endDocument();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void demoModify() {
+        try {
+            File inputFile = new File("xml/jaxb/primer.xml");
+
+            JAXBModifier jaxbReader = new JAXBModifier("org.dom4j.test.primer");
+            jaxbReader.addObjectModifier("/purchaseOrders/purchaseOrder",
+                    new PurchaseOrderDateModifier());
+            Document doc = jaxbReader.modify(inputFile);
+
+            System.out.println("Modified document:");
+            System.out.println(doc.asXML());
+            System.out.println();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void demoModifyWrite() {
+        try {
+            File inputFile = new File("xml/jaxb/primer.xml");
+
+            File outputFile = new File(outputDir, "testModifyWrite.xml");
+
+            JAXBModifier jaxbModifier = new JAXBModifier(
+                    "org.dom4j.test.primer", OutputFormat.createPrettyPrint());
+            jaxbModifier.setPruneElements(true);
+            jaxbModifier.setOutput(outputFile);
+            jaxbModifier.addObjectModifier("/purchaseOrders/purchaseOrder",
+                    new PurchaseOrderDateModifier());
+            Document doc = jaxbModifier.modify(inputFile);
+
+            System.out.println("Pruned modified document:");
+            System.out.println(doc.asXML());
+            System.out.println();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: JAXBDemo.java,v 1.3 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/jaxb/PurchaseOrderDateModifier.java b/src/samples/org/dom4j/samples/jaxb/PurchaseOrderDateModifier.java
new file mode 100644
index 0000000..4c706a2
--- /dev/null
+++ b/src/samples/org/dom4j/samples/jaxb/PurchaseOrderDateModifier.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: PurchaseOrderDateModifier.java,v 1.2 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.jaxb;
+
+import java.util.Calendar;
+
+import javax.xml.bind.Element;
+
+import org.dom4j.jaxb.JAXBObjectModifier;
+import org.dom4j.test.primer.PurchaseOrder;
+
+/**
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+public class PurchaseOrderDateModifier implements JAXBObjectModifier {
+
+    public Element modifyObject(Element jaxbElement) throws Exception {
+        PurchaseOrder order = (PurchaseOrder) jaxbElement;
+
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTimeInMillis(System.currentTimeMillis());
+        order.setOrderDate(calendar);
+
+        return order;
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: PurchaseOrderDateModifier.java,v 1.2 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/jaxb/PurchaseOrderHandler.java b/src/samples/org/dom4j/samples/jaxb/PurchaseOrderHandler.java
new file mode 100644
index 0000000..06415cb
--- /dev/null
+++ b/src/samples/org/dom4j/samples/jaxb/PurchaseOrderHandler.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: PurchaseOrderHandler.java,v 1.3 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.jaxb;
+
+import java.text.SimpleDateFormat;
+
+import javax.xml.bind.Element;
+
+import org.dom4j.jaxb.JAXBObjectHandler;
+import org.dom4j.test.primer.PurchaseOrder;
+
+/**
+ * @author Wonne Keysers (Realsoftware.be)
+ */
+public class PurchaseOrderHandler implements JAXBObjectHandler {
+
+    public void handleObject(Element jaxbElement) throws Exception {
+        PurchaseOrder order = (PurchaseOrder) jaxbElement;
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+
+        System.out.println("Order - id:" + order.getId() + ", date:"
+                + format.format(order.getOrderDate().getTime()));
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: PurchaseOrderHandler.java,v 1.3 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/jaxp/PrettyPrintDemo.java b/src/samples/org/dom4j/samples/jaxp/PrettyPrintDemo.java
new file mode 100644
index 0000000..8dc592e
--- /dev/null
+++ b/src/samples/org/dom4j/samples/jaxp/PrettyPrintDemo.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: PrettyPrintDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
+
+package org.dom4j.samples.jaxp;
+
+import org.dom4j.samples.SAXDemo;
+
+import java.io.StringWriter;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+
+import org.dom4j.Document;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLResult;
+
+/**
+ * A sample program which uses JAXP to write a dom4j Document to a stream using
+ * dom4j's pretty printing output format.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class PrettyPrintDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new PrettyPrintDemo(), args);
+    }
+
+    public PrettyPrintDemo() {
+    }
+
+    /** Outputs the document using JAXP */
+    protected void process(Document document) throws Exception {
+        // load a default transformer
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer();
+
+        // use dom4j document as the source
+        Source source = new DocumentSource(document);
+
+        // use pretty print format and a buffer for the result
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        StringWriter buffer = new StringWriter();
+        Result result = new XMLResult(buffer, format);
+
+        // now lets transform
+        transformer.transform(source, result);
+
+        String text = buffer.toString();
+        System.out.println("The document is:- ");
+        System.out.println(text);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: PrettyPrintDemo.java,v 1.4 2005/01/29 14:52:58 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/jaxp/RoundTripDemo.java b/src/samples/org/dom4j/samples/jaxp/RoundTripDemo.java
new file mode 100644
index 0000000..0e4dd43
--- /dev/null
+++ b/src/samples/org/dom4j/samples/jaxp/RoundTripDemo.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: RoundTripDemo.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
+
+package org.dom4j.samples.jaxp;
+
+import org.dom4j.samples.SAXDemo;
+
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.dom4j.Document;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * A program demonstrating a round trip from XML to dom4j to text to dom4j again
+ * using JAXP to convert the XML.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class RoundTripDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new RoundTripDemo(), args);
+    }
+
+    public RoundTripDemo() {
+    }
+
+    protected void outputDocument(Document document, Writer out) {
+        try {
+            TransformerFactory factory = TransformerFactory.newInstance();
+
+            Transformer transformer = factory.newTransformer();
+
+            StreamResult result = new StreamResult(out);
+            DocumentSource source = new DocumentSource(document);
+
+            transformer.transform(source, result);
+        } catch (Exception ex) {
+            ex.printStackTrace();
+        }
+
+    }
+
+    protected Document parseDocument(Reader in) {
+        try {
+            TransformerFactory factory = TransformerFactory.newInstance();
+
+            Transformer transformer = factory.newTransformer();
+
+            DocumentResult result = new DocumentResult();
+            StreamSource source = new StreamSource(in);
+
+            transformer.transform(source, result);
+
+            return result.getDocument();
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            return null;
+        }
+
+    }
+
+    /** Outputs the document to a buffer, parse it back again then output it */
+    protected void process(Document document) throws Exception {
+
+        System.out.println("about to output: " + document);
+
+        StringWriter out = new StringWriter();
+        outputDocument(document, out);
+
+        Document doc2 = parseDocument(new StringReader(out.toString()));
+
+        System.out.println("parsed back again: " + doc2);
+
+        System.out.println("Writing it out...");
+
+        XMLWriter writer = new XMLWriter(System.out);
+        writer.write(doc2);
+
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: RoundTripDemo.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/jaxp/WriterDemo.java b/src/samples/org/dom4j/samples/jaxp/WriterDemo.java
new file mode 100644
index 0000000..106ed50
--- /dev/null
+++ b/src/samples/org/dom4j/samples/jaxp/WriterDemo.java
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: WriterDemo.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
+
+package org.dom4j.samples.jaxp;
+
+import org.dom4j.samples.SAXDemo;
+
+import java.io.StringWriter;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+
+import org.dom4j.Document;
+import org.dom4j.io.DocumentSource;
+
+/**
+ * A sample program which uses JAXP to write a dom4j Document to a Stream.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class WriterDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new WriterDemo(), args);
+    }
+
+    public WriterDemo() {
+    }
+
+    /** Outputs the document using JAXP */
+    protected void process(Document document) throws Exception {
+        // load the transformer
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer();
+
+        // now lets create the TrAX source and result
+        // objects and do the transformation
+        Source source = new DocumentSource(document);
+        StringWriter buffer = new StringWriter();
+        StreamResult result = new StreamResult(buffer);
+        transformer.transform(source, result);
+
+        String text = buffer.toString();
+        System.out.println("The document is:- ");
+        System.out.println(text);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: WriterDemo.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/performance/ParseLoop.java b/src/samples/org/dom4j/samples/performance/ParseLoop.java
new file mode 100644
index 0000000..176effc
--- /dev/null
+++ b/src/samples/org/dom4j/samples/performance/ParseLoop.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: ParseLoop.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
+
+package org.dom4j.samples.performance;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.StringReader;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXReader;
+
+/**
+ * A simple parsing program that loops which makes it easier to profile
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class ParseLoop {
+
+    private static int bufferSize = 128 * 1024;
+
+    public static void main(String[] args) throws Exception {
+        if (args.length <= 0) {
+            System.out.println("arguments: <XML file> [<loopCount>]");
+            return;
+        }
+        String xmlFile = args[0];
+        int loops = 40;
+        if (args.length > 1) {
+            loops = Integer.parseInt(args[1]);
+        }
+
+        StringBuffer buffer = new StringBuffer(64 * 1024);
+        BufferedReader reader = new BufferedReader(new FileReader(xmlFile));
+        while (true) {
+            String text = reader.readLine();
+            if (text == null) {
+                break;
+            }
+            buffer.append(text);
+            buffer.append("\n");
+        }
+        long start = System.currentTimeMillis();
+
+        parse(buffer.toString(), loops);
+
+        long elapsed = System.currentTimeMillis() - start;
+
+        System.out.println("Parsed: " + xmlFile + " " + loops + " times in: "
+                + elapsed + " (ms)");
+    }
+
+    protected static void parse(String text, int loops) throws Exception {
+        SAXReader xmlReader = new SAXReader();
+        for (int i = 0; i < loops; i++) {
+            Document document = xmlReader.read(new StringReader(text));
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: ParseLoop.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/performance/ParseTest.java b/src/samples/org/dom4j/samples/performance/ParseTest.java
new file mode 100644
index 0000000..c9400af
--- /dev/null
+++ b/src/samples/org/dom4j/samples/performance/ParseTest.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: ParseTest.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
+
+package org.dom4j.samples.performance;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.StringReader;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Tests the performance of parsing a Document
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class ParseTest extends PerformanceSupport {
+
+    private int bufferSize = 128 * 1024;
+
+    private Document document;
+
+    private SAXReader xmlReader;
+
+    private String text;
+
+    public static void main(String[] args) {
+        run(new ParseTest(), args);
+    }
+
+    public ParseTest() {
+    }
+
+    protected void setUp() throws Exception {
+        xmlReader = new SAXReader();
+
+        StringBuffer buffer = new StringBuffer(64 * 1024);
+        BufferedReader reader = new BufferedReader(new FileReader(xmlFile));
+        while (true) {
+            String text = reader.readLine();
+            if (text == null) {
+                break;
+            }
+            buffer.append(text);
+            buffer.append("\n");
+        }
+        text = buffer.toString();
+    }
+
+    protected void tearDown() throws Exception {
+        println("Created Document: " + document);
+    }
+
+    protected Task createTask() throws Exception {
+        return new Task() {
+            public void run() throws Exception {
+                document = xmlReader.read(new StringReader(text));
+            }
+        };
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: ParseTest.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/performance/PerformanceSupport.java b/src/samples/org/dom4j/samples/performance/PerformanceSupport.java
new file mode 100644
index 0000000..dc0def3
--- /dev/null
+++ b/src/samples/org/dom4j/samples/performance/PerformanceSupport.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: PerformanceSupport.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
+
+package org.dom4j.samples.performance;
+
+import org.dom4j.samples.SAXDemo;
+
+/**
+ * Base class for all simple performance tests
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public abstract class PerformanceSupport extends SAXDemo {
+
+    /** Whether the performance of each run is printed */
+    protected static boolean VERBOSE = false;
+
+    /** Default number of loops */
+    protected static final int DEFAULT_LOOP_COUNT = 40;
+
+    /** The XML file to process */
+    protected String xmlFile;
+
+    public PerformanceSupport() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 1) {
+            printUsage("<XML document URL> [<loopCount>]");
+            return;
+        }
+
+        xmlFile = args[0];
+
+        int loopCount = DEFAULT_LOOP_COUNT;
+        if (args.length > 1) {
+            loopCount = Integer.parseInt(args[1]);
+        }
+
+        setUp();
+
+        Timer timer = new Timer();
+        timer.setLoopCount(loopCount);
+        timer.setTask(createTask());
+        timer.run();
+
+        tearDown();
+    }
+
+    protected void setUp() throws Exception {
+    }
+
+    protected void tearDown() throws Exception {
+    }
+
+    protected abstract Task createTask() throws Exception;
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: PerformanceSupport.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/performance/PullParseTest.java b/src/samples/org/dom4j/samples/performance/PullParseTest.java
new file mode 100644
index 0000000..6e78edb
--- /dev/null
+++ b/src/samples/org/dom4j/samples/performance/PullParseTest.java
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: PullParseTest.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
+
+package org.dom4j.samples.performance;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.StringReader;
+
+import org.dom4j.Document;
+import org.dom4j.io.XPPReader;
+
+/**
+ * Tests the performance of parsing a Document with the XML Pull Parser
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class PullParseTest extends PerformanceSupport {
+
+    private int bufferSize = 128 * 1024;
+
+    private Document document;
+
+    private XPPReader xmlReader;
+
+    private String text;
+
+    public static void main(String[] args) {
+        run(new PullParseTest(), args);
+    }
+
+    public PullParseTest() {
+    }
+
+    protected void setUp() throws Exception {
+        xmlReader = new XPPReader();
+
+        StringBuffer buffer = new StringBuffer(64 * 1024);
+        BufferedReader reader = new BufferedReader(new FileReader(xmlFile));
+        while (true) {
+            String text = reader.readLine();
+            if (text == null) {
+                break;
+            }
+            buffer.append(text);
+            buffer.append("\n");
+        }
+        text = buffer.toString();
+    }
+
+    protected void tearDown() throws Exception {
+        println("Created Document: " + document);
+    }
+
+    protected Task createTask() throws Exception {
+        return new Task() {
+            public void run() throws Exception {
+                document = xmlReader.read(new StringReader(text));
+            }
+        };
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: PullParseTest.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/performance/Task.java b/src/samples/org/dom4j/samples/performance/Task.java
new file mode 100644
index 0000000..8f6f3e1
--- /dev/null
+++ b/src/samples/org/dom4j/samples/performance/Task.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: Task.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
+
+package org.dom4j.samples.performance;
+
+/**
+ * An interface for some task which may throw an exception
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public interface Task {
+
+    public void run() throws Exception;
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: Task.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/performance/Timer.java b/src/samples/org/dom4j/samples/performance/Timer.java
new file mode 100644
index 0000000..2ad1125
--- /dev/null
+++ b/src/samples/org/dom4j/samples/performance/Timer.java
@@ -0,0 +1,184 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: Timer.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
+
+package org.dom4j.samples.performance;
+
+/**
+ * A timer for use in performance monitoring
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class Timer {
+
+    /** Whether the performance of each run is printed */
+    protected static boolean VERBOSE = false;
+
+    /** Default number of loops */
+    protected static final int DEFAULT_LOOP_COUNT = 40;
+
+    /** The number of the first loops to display */
+    private int displayCount = 4;
+
+    /** Number of loops to perform */
+    private int loopCount = DEFAULT_LOOP_COUNT;
+
+    private Task task;
+
+    public Timer() {
+    }
+
+    public Timer(Task task) {
+        this.task = task;
+    }
+
+    /**
+     * Performs a piece of code a number of times in a loop
+     * 
+     * @param loopCount
+     *            is the number of loops to perform
+     */
+    public void run() throws Exception {
+        Task task = getTask();
+        int size = getLoopCount();
+        if (size <= 0 || task == null) {
+            return;
+        }
+
+        long[] times = new long[size];
+        for (int i = 0; i < size; i++) {
+            long start = System.currentTimeMillis();
+
+            task.run();
+
+            long end = System.currentTimeMillis();
+            times[i] = end - start;
+        }
+
+        printSummary(times);
+    }
+
+    // Properties
+    // -------------------------------------------------------------------------
+    public Task getTask() {
+        return task;
+    }
+
+    public void setTask(Task task) {
+        this.task = task;
+    }
+
+    public int getLoopCount() {
+        return loopCount;
+    }
+
+    public void setLoopCount(int loopCount) {
+        this.loopCount = loopCount;
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void printSummary(long[] times) {
+        println("Performance summary");
+
+        println("Number of runs: " + loopCount);
+
+        if (VERBOSE || loopCount < displayCount) {
+            displayCount = loopCount;
+        }
+        for (int i = 0; i < displayCount; i++) {
+            println("run: " + i + " took: " + times[i] + " (ms)");
+        }
+
+        long minimum = times[0];
+        for (int i = 1; i < loopCount; i++) {
+            long time = times[i];
+            if (time < minimum) {
+                minimum = time;
+            }
+        }
+
+        println("Minimum time of run                   : " + minimum + " (ms)");
+
+        // average ignoring first loop
+        long total = 0;
+        for (int i = 0; i < loopCount; i++) {
+            total += times[i];
+        }
+
+        double average = total / loopCount;
+
+        println("Average time of run                   : " + average + " (ms)");
+
+        if (loopCount == 1) {
+            return;
+        }
+        long total_1 = total - times[0];
+        average = total_1 / (loopCount - 1);
+
+        println("Average (excluding first run)         : " + average + " (ms)");
+
+        if (loopCount == 2) {
+            return;
+        }
+        long total_2 = total_1 - times[1];
+        average = total_2 / (loopCount - 2);
+
+        println("Average (excluding first & second run): " + average + " (ms)");
+
+        println("Total time of run                     : " + total + " (ms)");
+        println("Total (excluding first run)           : " + total_1 + " (ms)");
+        println("Total (excluding first & second run)  : " + total_2 + " (ms)");
+
+        return;
+    }
+
+    protected void println(String text) {
+        System.out.println(text);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: Timer.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/performance/ToTextTest.java b/src/samples/org/dom4j/samples/performance/ToTextTest.java
new file mode 100644
index 0000000..6140957
--- /dev/null
+++ b/src/samples/org/dom4j/samples/performance/ToTextTest.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: ToTextTest.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
+
+package org.dom4j.samples.performance;
+
+import java.io.StringWriter;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * Tests the performance of turning a Document into text
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class ToTextTest extends PerformanceSupport {
+
+    private int bufferSize = 128 * 1024;
+
+    private Document document;
+
+    private XMLWriter xmlWriter;
+
+    private StringWriter stringWriter;
+
+    public static void main(String[] args) {
+        run(new ToTextTest(), args);
+    }
+
+    public ToTextTest() {
+    }
+
+    protected void setUp() throws Exception {
+        SAXReader reader = new SAXReader();
+        document = reader.read(xmlFile);
+        stringWriter = new StringWriter(bufferSize);
+        xmlWriter = new XMLWriter(stringWriter);
+    }
+
+    protected void tearDown() throws Exception {
+        println("Created text representation of: "
+                + stringWriter.getBuffer().length() + " characters");
+    }
+
+    protected Task createTask() throws Exception {
+        return new Task() {
+            public void run() throws Exception {
+                stringWriter.getBuffer().setLength(0);
+                xmlWriter.write(document);
+            }
+        };
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: ToTextTest.java,v 1.4 2005/01/29 14:53:13 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/rule/SongFilter.java b/src/samples/org/dom4j/samples/rule/SongFilter.java
new file mode 100644
index 0000000..795e5b5
--- /dev/null
+++ b/src/samples/org/dom4j/samples/rule/SongFilter.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: SongFilter.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.rule;
+
+import java.net.URL;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.rule.Action;
+import org.dom4j.rule.Rule;
+import org.dom4j.rule.Stylesheet;
+
+/**
+ * This class is 1:1 representation of the stlyesheet
+ * <code>SongFilter.xsl</code> in package.
+ * 
+ * It demonstrates the usage of dom4j <i>Declarative Rule API </i>
+ * 
+ * For more information see the
+ * 
+ * @link{ http://www.dom4j.org/cookbook.html cookbook }.
+ * 
+ * @author <a href="mailto:toby-wan-kenobi at gmx.de">Tobias Rademacher </a>
+ * @version $Revision $Date
+ * 
+ */
+public class SongFilter {
+
+    private Document resultDoc;
+
+    private Element songElement;
+
+    private Element currentSongElement;
+
+    private Stylesheet style;
+
+    /** Creates a new instance of SongFilter */
+    public SongFilter() {
+        this.songElement = DocumentHelper.createElement("song");
+    }
+
+    public Document filtering(org.dom4j.Document doc) throws Exception {
+        Element resultRoot = DocumentHelper.createElement("result");
+        this.resultDoc = DocumentHelper.createDocument(resultRoot);
+
+        Rule songElementRule = new Rule();
+        songElementRule.setPattern(DocumentHelper
+                .createPattern("/Songs/song/mp3/id3"));
+        songElementRule.setAction(new SongElementBuilder());
+
+        Rule titleTextNodeFilter = new Rule();
+        titleTextNodeFilter.setPattern(DocumentHelper
+                .createPattern("/Songs/song/mp3/id3/title"));
+        titleTextNodeFilter.setAction(new NodeTextFilter());
+
+        this.style = new Stylesheet();
+        this.style.addRule(songElementRule);
+        this.style.addRule(titleTextNodeFilter);
+
+        style.run(doc);
+
+        return this.resultDoc;
+    }
+
+    private class SongElementBuilder implements Action {
+        public void run(Node node) throws Exception {
+            currentSongElement = songElement.createCopy();
+            resultDoc.getRootElement().add(currentSongElement);
+
+            style.applyTemplates(node);
+        }
+    }
+
+    private class NodeTextFilter implements Action {
+        public void run(Node node) throws Exception {
+            if (currentSongElement != null) {
+                currentSongElement.setText(node.getText());
+            }
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        SongFilter filter = new SongFilter();
+        URL source = filter.getClass().getResource(
+                "/org/dom4j/samples/rule/Songs.xml");
+        Document result = filter.filtering(new SAXReader().read(source));
+
+        XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
+        writer.setOutputStream(System.out);
+        writer.write(result);
+
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: SongFilter.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/rule/SongFilter.xsl b/src/samples/org/dom4j/samples/rule/SongFilter.xsl
new file mode 100644
index 0000000..f2c1490
--- /dev/null
+++ b/src/samples/org/dom4j/samples/rule/SongFilter.xsl
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+     Copyright 2002 (C) MetaStuff, Ltd. All Rights Reserved.
+     This software is open source. 
+ 
+   Redistribution and use of this software and associated documentation
+   ("Software"), with or without modification, are permitted provided
+   that the following conditions are met:
+  
+   1. Redistributions of source code must retain copyright
+      copy of this document.
+  
+   2. Redistributions in binary form must reproduce the
+      above copyright notice, this list of conditions and the
+      following disclaimer in the documentation and/or other
+      materials provided with the distribution.
+  
+   3. The name "DOM4J" must not be used to endorse or promote
+      products derived from this Software without prior written
+      permission of MetaStuff, Ltd.  For written permission,
+      please contact dom4j-info at metastuff.com.
+  
+   4. Products derived from this Software may not be called "DOM4J"
+      nor may "DOM4J" appear in their names without prior written
+      permission of MetaStuff, Ltd. DOM4J is a registered
+      trademark of MetaStuff, Ltd.
+  
+   5. Due credit should be given to the DOM4J Project - 
+      http://www.dom4j.org
+  
+   THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
+   ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+   NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+   FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+   METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+   OF THE POSSIBILITY OF SUCH DAMAGE.
+  
+   Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+  
+   $Id: SongFilter.xsl,v 1.3 2004/06/25 08:03:45 maartenc Exp $ 
+-->
+
+
+<!--
+    Author: Tobias Rademacher      
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"    
+    xmlns:fo="http://www.w3.org/1999/XSL/Format"
+>
+    
+<xsl:output method="xml" indent="yes"/>
+
+    <xsl:template match="/">
+        <xsl:apply-templates/>
+    </xsl:template>
+        
+    <xsl:template match="/Songs/song/mp3/id3">     
+     <Song>
+        <xsl:apply-template/>
+     </Song>
+    </xsl:template>
+    
+    <xsl:template match="/Songs/song/mp3/id3/title">
+       <xsl:text> <xsl:value-of select="."/> </xsl:text>
+    </xsl:template>
+    
+
+</xsl:stylesheet> 
diff --git a/src/samples/org/dom4j/samples/rule/Songs.xml b/src/samples/org/dom4j/samples/rule/Songs.xml
new file mode 100644
index 0000000..c848ba2
--- /dev/null
+++ b/src/samples/org/dom4j/samples/rule/Songs.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+     Copyright 2002 (C) MetaStuff, Ltd. All Rights Reserved.
+     This software is open source. 
+ 
+   Redistribution and use of this software and associated documentation
+   ("Software"), with or without modification, are permitted provided
+   that the following conditions are met:
+  
+   1. Redistributions of source code must retain copyright
+      copy of this document.
+  
+   2. Redistributions in binary form must reproduce the
+      above copyright notice, this list of conditions and the
+      following disclaimer in the documentation and/or other
+      materials provided with the distribution.
+  
+   3. The name "DOM4J" must not be used to endorse or promote
+      products derived from this Software without prior written
+      permission of MetaStuff, Ltd.  For written permission,
+      please contact dom4j-info at metastuff.com.
+  
+   4. Products derived from this Software may not be called "DOM4J"
+      nor may "DOM4J" appear in their names without prior written
+      permission of MetaStuff, Ltd. DOM4J is a registered
+      trademark of MetaStuff, Ltd.
+  
+   5. Due credit should be given to the DOM4J Project - 
+      http://www.dom4j.org
+  
+   THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
+   ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+   NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+   FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+   METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+   OF THE POSSIBILITY OF SUCH DAMAGE.
+  
+   Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+  
+   $Id: Songs.xml,v 1.3 2004/06/25 08:03:45 maartenc Exp $ 
+-->
+
+
+<!--
+    Author: Tobias Rademacher      
+-->
+
+<Songs>
+ <song>
+   <mp3 kbs="128" size="6128">
+     <id3>
+      <title>Simon</title>
+      <artist>Lifehouse</artist>
+      <album>No Name Face</album>
+      <year>2000</year>
+      <genre>Alternative Rock</genre>
+      <track>6</track>     
+     </id3>
+   </mp3>
+  </song>
+  <song>
+   <mp3 kbs="128" size="6359">
+     <id3>
+      <title>Hands Clean</title>
+      <artist>Alanis Morrisette</artist>
+      <album>Under Rug Swept</album>
+      <year>2002</year>
+      <genre>Alternative Rock</genre>
+      <track>3</track>
+     </id3>
+   </mp3>
+  </song>
+  <song>
+   <mp3 kbs="256" size="6460">
+     <id3>
+      <title>Alive</title>
+      <artist>Payable On Deatch</artist>
+      <album>Satellit</album>
+      <year>2002</year>
+      <genre>Metal</genre>
+      <track/>
+     </id3>
+   </mp3>
+ </song>
+ <mp3 kbs="256" size="4203">
+   <id3>
+     <title>Crawling In The Dark</title>
+     <artist>Hoobastank</artist>
+     <album>Hoobastank (Selftitled)</album>
+     <year>2002</year>
+     <genre>Alternative Rock</genre>
+     <track/>
+  </id3>
+ </mp3>
+</Songs>
diff --git a/src/samples/org/dom4j/samples/sax/FilterDemo.java b/src/samples/org/dom4j/samples/sax/FilterDemo.java
new file mode 100644
index 0000000..f308c6d
--- /dev/null
+++ b/src/samples/org/dom4j/samples/sax/FilterDemo.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: FilterDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.sax;
+
+import org.dom4j.samples.SAXDemo;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXReader;
+
+/**
+ * A sample program which demonstrates how to use a SAX XMLFilter when parsing
+ * an XML document.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class FilterDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new FilterDemo(), args);
+    }
+
+    public FilterDemo() {
+    }
+
+    protected Document parse(String xmlFile) throws Exception {
+        SAXReader reader = new SAXReader();
+        reader.setXMLFilter(new TrimXMLFilter());
+        return reader.read(xmlFile);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: FilterDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/sax/TrimXMLFilter.java b/src/samples/org/dom4j/samples/sax/TrimXMLFilter.java
new file mode 100644
index 0000000..cc425a8
--- /dev/null
+++ b/src/samples/org/dom4j/samples/sax/TrimXMLFilter.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: TrimXMLFilter.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.sax;
+
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.XMLFilterImpl;
+
+/**
+ * An example XMLFilter which trims all text content, removing whitespace
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class TrimXMLFilter extends XMLFilterImpl {
+
+    public TrimXMLFilter() {
+    }
+
+    public void characters(char[] ch, int start, int length)
+            throws SAXException {
+        int last = start + length;
+        while (start < last && Character.isWhitespace(ch[start])) {
+            start++;
+            length--;
+        }
+        while (length > 0 && Character.isWhitespace(ch[start + length - 1])) {
+            length--;
+        }
+        if (length > 0) {
+            super.characters(ch, start, length);
+        }
+    }
+
+    public void ignorableWhitespace(char[] ch, int start, int length)
+            throws SAXException {
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: TrimXMLFilter.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/swing/JTableDemo.java b/src/samples/org/dom4j/samples/swing/JTableDemo.java
new file mode 100644
index 0000000..bbd25a1
--- /dev/null
+++ b/src/samples/org/dom4j/samples/swing/JTableDemo.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: JTableDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.swing;
+
+import javax.swing.JFrame;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXReader;
+import org.dom4j.swing.XMLTableDefinition;
+import org.dom4j.swing.XMLTableModel;
+
+/**
+ * A sample program to build a JTable GUI from a dom4j Document
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class JTableDemo {
+
+    public static void main(String[] args) throws Exception {
+        JTableDemo sample = new JTableDemo();
+        sample.run(args);
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length <= 0) {
+            System.out
+                    .println("This program displays a web.xml document in a Swing JTable");
+            System.out.println("Usage: <webXmlFileName>");
+            return;
+        }
+
+        // parse document
+        SAXReader reader = new SAXReader();
+        Document document = reader.read(args[0]);
+
+        // build table model
+        XMLTableDefinition definition = new XMLTableDefinition();
+        definition.setRowExpression("/web-app/servlet");
+        definition.addStringColumn("Name", "servlet-name");
+        definition.addStringColumn("Class", "servlet-class");
+        definition.addStringColumn("Mapping",
+                "../servlet-mapping[servlet-name=$Name]");
+
+        XMLTableModel model = new XMLTableModel(definition, document);
+
+        // make the widgets
+        JTable table = new JTable(model);
+
+        JFrame frame = new JFrame("JTableDemo: " + document.getName());
+        frame.setSize(300, 300);
+        frame.setLocation(100, 100);
+        frame.getContentPane().add(new JScrollPane(table));
+        frame.validate();
+        frame.setVisible(true);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: JTableDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/swing/JTableTool.java b/src/samples/org/dom4j/samples/swing/JTableTool.java
new file mode 100644
index 0000000..e7a528e
--- /dev/null
+++ b/src/samples/org/dom4j/samples/swing/JTableTool.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: JTableTool.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.swing;
+
+import javax.swing.JFrame;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXReader;
+import org.dom4j.swing.XMLTableModel;
+
+/**
+ * Displays an XML document in a JTable JTable GUI from a dom4j Document. The
+ * definition of the table is given using an XML descriptor document such as in
+ * xml/swing/.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class JTableTool {
+
+    public static void main(String[] args) throws Exception {
+        JTableTool sample = new JTableTool();
+        sample.run(args);
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length <= 1) {
+            System.out.println("Usage: <tableXMLDescription> <xmlFileName>");
+            System.out.println();
+            System.out
+                    .println("This program displays a document in a Swing JTable given a table description");
+            System.out.println();
+            System.out
+                    .println("For example running this program as follows will display the servlets of a web.xml");
+            System.out
+                    .println("    java swing.JTableTool xml/swing/tableForWeb.xml xml/web.xml");
+            System.out
+                    .println("This example will display the periodic table in a JTable");
+            System.out
+                    .println("    java swing.JTableTool xml/swing/tableForAtoms.xml xml/periodic_table.xml");
+            return;
+        }
+
+        // parse document
+        SAXReader reader = new SAXReader();
+        Document definition = reader.read(args[0]);
+        Document document = reader.read(args[1]);
+
+        // build table model
+        XMLTableModel model = new XMLTableModel(definition, document);
+
+        // make the widgets
+        JTable table = new JTable(model);
+
+        JFrame frame = new JFrame("JTableTool: " + document.getName());
+        frame.setSize(300, 300);
+        frame.setLocation(100, 100);
+        frame.getContentPane().add(new JScrollPane(table));
+        frame.validate();
+        frame.setVisible(true);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: JTableTool.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/swing/JTreeDemo.java b/src/samples/org/dom4j/samples/swing/JTreeDemo.java
new file mode 100644
index 0000000..99d2cd7
--- /dev/null
+++ b/src/samples/org/dom4j/samples/swing/JTreeDemo.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: JTreeDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.swing;
+
+import org.dom4j.samples.SAXDemo;
+
+import javax.swing.JFrame;
+import javax.swing.JScrollPane;
+import javax.swing.JTree;
+
+import org.dom4j.Document;
+import org.dom4j.swing.DocumentTreeModel;
+
+/**
+ * A sample program to build a JTree GUI from a dom4j Document
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @author Jakob Jenkov
+ * @version $Revision: 1.4 $
+ */
+public class JTreeDemo extends SAXDemo {
+
+    public static void main(String[] args) {
+        run(new JTreeDemo(), args);
+    }
+
+    public JTreeDemo() {
+    }
+
+    /** Create a Swing GUI containing the document */
+    protected void process(Document document) throws Exception {
+        DocumentTreeModel treeModel = new DocumentTreeModel(document);
+        JTree tree = new JTree(treeModel);
+
+        JFrame frame = new JFrame("JTreeDemo: " + document.getName());
+        frame.setSize(300, 300);
+        frame.setLocation(100, 100);
+        frame.getContentPane().add(new JScrollPane(tree));
+        frame.validate();
+        frame.setVisible(true);
+    }
+
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: JTreeDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/validate/JARVDemo.java b/src/samples/org/dom4j/samples/validate/JARVDemo.java
new file mode 100644
index 0000000..5fb1241
--- /dev/null
+++ b/src/samples/org/dom4j/samples/validate/JARVDemo.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: JARVDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.validate;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.SAXWriter;
+import org.iso_relax.verifier.Schema;
+import org.iso_relax.verifier.Verifier;
+import org.iso_relax.verifier.VerifierFactory;
+import org.iso_relax.verifier.VerifierHandler;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXParseException;
+
+/**
+ * A sample program which validates an already existing dom4j Document using the
+ * JARV API using Sun's MSV library implementation.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class JARVDemo {
+
+    public static void main(String[] args) {
+        new JARVDemo().run(args);
+    }
+
+    public void run(String[] args) {
+        try {
+            if (args.length < 2) {
+                System.out.println("usage: <xmlDoc> <schemaDoc>");
+                System.out
+                        .println("Which validates the given XML document against the given schema document");
+                System.out
+                        .println("The schema can be XML Schema, RelaxNG, Relax or TREX");
+                return;
+            }
+            String xmlFile = args[0];
+            String schema = args[1];
+
+            SAXReader reader = new SAXReader();
+            Document document = reader.read(xmlFile);
+            process(document, schema);
+        } catch (DocumentException e) {
+            System.out.println("Exception occurred: " + e);
+            Throwable nestedException = e.getNestedException();
+            if (nestedException != null) {
+                System.out.println("NestedException: " + nestedException);
+                nestedException.printStackTrace();
+            } else {
+                e.printStackTrace();
+            }
+        } catch (Throwable t) {
+            System.out.println("Exception occurred: " + t);
+            t.printStackTrace();
+        }
+    }
+
+    /** Validate document using MSV */
+    protected void process(Document document, String schemaURI)
+            throws Exception {
+
+        System.out.println("Loaded schema document: " + schemaURI);
+
+        // use autodetection of schemas
+        VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
+        Schema schema = factory.compileSchema(schemaURI);
+
+        Verifier verifier = schema.newVerifier();
+        verifier.setErrorHandler(new ErrorHandler() {
+            public void error(SAXParseException e) {
+                System.out.println("ERROR: " + e);
+            }
+
+            public void fatalError(SAXParseException e) {
+                System.out.println("FATAL: " + e);
+            }
+
+            public void warning(SAXParseException e) {
+                System.out.println("WARNING: " + e);
+            }
+        });
+
+        System.out.println("Validating XML document");
+
+        VerifierHandler handler = verifier.getVerifierHandler();
+        SAXWriter writer = new SAXWriter(handler);
+        writer.write(document);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: JARVDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/validate/JARVDemo2.java b/src/samples/org/dom4j/samples/validate/JARVDemo2.java
new file mode 100644
index 0000000..0481e0d
--- /dev/null
+++ b/src/samples/org/dom4j/samples/validate/JARVDemo2.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: JARVDemo2.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.validate;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+import org.iso_relax.verifier.Schema;
+import org.iso_relax.verifier.Verifier;
+import org.iso_relax.verifier.VerifierFactory;
+import org.iso_relax.verifier.VerifierFilter;
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXParseException;
+
+/**
+ * A sample program which validates an XML document as is it being parsed using
+ * the JARV API with Sun's MSV library implementation.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class JARVDemo2 {
+
+    public static void main(String[] args) {
+        new JARVDemo2().run(args);
+    }
+
+    public void run(String[] args) {
+        try {
+            if (args.length < 2) {
+                System.out.println("usage: <xmlDoc> <schemaDoc>");
+                System.out
+                        .println("Which validates the given XML document against the given schema document");
+                System.out
+                        .println("The schema can be XML Schema, RelaxNG, Relax or TREX");
+                return;
+            }
+            String xmlFile = args[0];
+            String schema = args[1];
+
+            SAXReader reader = createSAXReader(schema);
+            Document document = reader.read(xmlFile);
+
+            System.out.println("Parsed document: " + xmlFile + " correctly.");
+        } catch (DocumentException e) {
+            System.out.println("Exception occurred: " + e);
+            Throwable nestedException = e.getNestedException();
+            if (nestedException != null) {
+                System.out.println("NestedException: " + nestedException);
+                nestedException.printStackTrace();
+            } else {
+                e.printStackTrace();
+            }
+        } catch (Throwable t) {
+            System.out.println("Exception occurred: " + t);
+            t.printStackTrace();
+        }
+    }
+
+    /** Registers the Verifier with the SAXReader */
+    protected SAXReader createSAXReader(String schemaURI) throws Exception {
+
+        System.out.println("Loaded schema document: " + schemaURI);
+
+        // use autodetection of schemas
+        VerifierFactory factory = new com.sun.msv.verifier.jarv.TheFactoryImpl();
+        Schema schema = factory.compileSchema(schemaURI);
+
+        Verifier verifier = schema.newVerifier();
+        verifier.setErrorHandler(new ErrorHandler() {
+            public void error(SAXParseException e) {
+                System.out.println("ERROR: " + e);
+            }
+
+            public void fatalError(SAXParseException e) {
+                System.out.println("FATAL: " + e);
+            }
+
+            public void warning(SAXParseException e) {
+                System.out.println("WARNING: " + e);
+            }
+        });
+
+        // now install the verifying filter
+        VerifierFilter filter = verifier.getVerifierFilter();
+        SAXReader reader = new SAXReader();
+        reader.setXMLFilter(filter);
+        return reader;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: JARVDemo2.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/validate/SAXValidatorDemo.java b/src/samples/org/dom4j/samples/validate/SAXValidatorDemo.java
new file mode 100644
index 0000000..9c15347
--- /dev/null
+++ b/src/samples/org/dom4j/samples/validate/SAXValidatorDemo.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: SAXValidatorDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.validate;
+
+import org.dom4j.samples.AbstractDemo;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentType;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.SAXValidator;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.util.XMLErrorHandler;
+import org.xml.sax.SAXException;
+
+/**
+ * A sample program demonstrating the use of validation using SAXValidator
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class SAXValidatorDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new SAXValidatorDemo(), args);
+    }
+
+    public SAXValidatorDemo() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 1) {
+            printUsage("<xmlFileNameOrURL> <onParse>");
+        }
+
+        String fileName = args[0];
+        boolean validateOnParse = false;
+        if (args.length > 1) {
+            String boolText = args[1];
+            if (boolText.equalsIgnoreCase("true")) {
+                validateOnParse = true;
+            }
+        }
+
+        validate(fileName, validateOnParse);
+    }
+
+    protected void validate(String url, boolean validateOnParse)
+            throws Exception {
+        println("Parsing: " + url + " with validation mode: " + validateOnParse);
+
+        XMLErrorHandler errorHandler = new XMLErrorHandler();
+
+        if (validateOnParse) {
+            // validate as we parse
+            SAXReader reader = new SAXReader(true);
+            reader.setErrorHandler(errorHandler);
+
+            try {
+                Document document = reader.read(url);
+                println("Document: " + url + " is valid!");
+            } catch (DocumentException e) {
+                println("Document: " + url + " is not valid");
+                println("Exception: " + e);
+            }
+        } else {
+            // parse without validating, then do that later
+            SAXReader reader = new SAXReader();
+            Document document = reader.read(url);
+
+            println("Document URI: " + document.getName());
+
+            // now lets set a doc type if one isn't set
+            DocumentType docType = document.getDocType();
+            if (docType == null) {
+                println("Adding an NITF doc type");
+                document.addDocType("nitf", null, "nitf.dtd");
+            }
+
+            // now lets validate
+            try {
+                SAXValidator validator = new SAXValidator();
+                validator.setErrorHandler(errorHandler);
+                validator.validate(document);
+
+                println("Document: " + url + " is valid!");
+            } catch (SAXException e) {
+                println("Document: " + url + " is not valid");
+                println("Exception: " + e);
+            }
+        }
+
+        // now lets output any errors as XML
+        Element errors = errorHandler.getErrors();
+        if (errors.hasContent()) {
+            XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
+            writer.write(errors);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: SAXValidatorDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/samples/org/dom4j/samples/validate/XercesDemo.java b/src/samples/org/dom4j/samples/validate/XercesDemo.java
new file mode 100644
index 0000000..d8746bc
--- /dev/null
+++ b/src/samples/org/dom4j/samples/validate/XercesDemo.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * This software is open source. 
+ * See the bottom of this file for the licence.
+ * 
+ * $Id: XercesDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
+
+package org.dom4j.samples.validate;
+
+import org.dom4j.samples.AbstractDemo;
+
+import org.dom4j.Document;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.util.XMLErrorHandler;
+
+/**
+ * Validates a document using Xerces and an XML Schema.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class XercesDemo extends AbstractDemo {
+
+    public static void main(String[] args) {
+        run(new XercesDemo(), args);
+    }
+
+    public XercesDemo() {
+    }
+
+    public void run(String[] args) throws Exception {
+        if (args.length < 1) {
+            printUsage("no XML document URL specified");
+            return;
+        }
+
+        parse(args[0]);
+    }
+
+    protected Document parse(String uri) throws Exception {
+        SAXReader reader = new SAXReader();
+
+        reader.setValidation(true);
+
+        // specify the schema to use
+        reader
+                .setProperty(
+                        "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation",
+                        "personal.xsd");
+
+        // add an error handler which turns any errors into XML
+        XMLErrorHandler errorHandler = new XMLErrorHandler();
+        reader.setErrorHandler(errorHandler);
+
+        // now lets parse the document
+        Document document = reader.read(uri);
+
+        // now lets output the errors as XML
+        XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
+        writer.write(errorHandler.getErrors());
+
+        return document;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved.
+ * 
+ * $Id: XercesDemo.java,v 1.4 2005/01/29 14:53:14 maartenc Exp $
+ */
diff --git a/src/test/org/dom4j/AbstractTestCase.java b/src/test/org/dom4j/AbstractTestCase.java
new file mode 100644
index 0000000..a2e11e8
--- /dev/null
+++ b/src/test/org/dom4j/AbstractTestCase.java
@@ -0,0 +1,312 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.framework.TestCase;
+
+import java.io.File;
+
+import org.apache.xalan.processor.TransformerFactoryImpl;
+import org.apache.xerces.jaxp.SAXParserFactoryImpl;
+
+import org.dom4j.io.SAXReader;
+import org.dom4j.util.NodeComparator;
+
+/**
+ * An abstract base class for some DOM4J test cases
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.24 $
+ */
+public class AbstractTestCase extends TestCase {
+    protected Document document;
+
+    protected AbstractTestCase() {
+        super();
+    }
+
+    protected AbstractTestCase(String name) {
+        super(name);
+    }
+
+    protected void log(String text) {
+        System.out.println(text);
+    }
+
+    protected Document getDocument() {
+        return document;
+    }
+
+    protected Document getDocument(String path) throws Exception {
+        return getDocument(path, new SAXReader());
+    }
+
+    protected Document getDocument(String path, SAXReader reader)
+            throws Exception {
+        return reader.read(getFile(path));
+    }
+
+    protected File getFile(String path) {
+        return new File(System.getProperty("user.dir"), path);
+    }
+
+    public void assertDocumentsEqual(Document doc1, Document doc2)
+            throws Exception {
+        try {
+            assertTrue("Doc1 not null", doc1 != null);
+            assertTrue("Doc2 not null", doc2 != null);
+
+            doc1.normalize();
+            doc2.normalize();
+
+            assertNodesEqual(doc1, doc2);
+
+            NodeComparator comparator = new NodeComparator();
+            assertTrue("Documents are equal",
+                    comparator.compare(doc1, doc2) == 0);
+        } catch (Exception e) {
+            log("Failed during comparison of: " + doc1 + " and: " + doc2);
+            throw e;
+        }
+    }
+
+    public void assertNodesEqual(Document n1, Document n2) {
+        // assertEquals( "Document names", n1.getName(), n2.getName() );
+        assertNodesEqual(n1.getDocType(), n2.getDocType());
+        assertNodesEqualContent(n1, n2);
+    }
+
+    public void assertNodesEqual(Element n1, Element n2) {
+        assertNodesEqual(n1.getQName(), n2.getQName());
+
+        int c1 = n1.attributeCount();
+        int c2 = n2.attributeCount();
+
+        assertEquals("Elements have same number of attributes (" + c1 + ", "
+                + c2 + " for: " + n1 + " and " + n2, c1, c2);
+
+        for (int i = 0; i < c1; i++) {
+            Attribute a1 = n1.attribute(i);
+            Attribute a2 = n2.attribute(a1.getQName());
+            assertNodesEqual(a1, a2);
+        }
+
+        assertNodesEqualContent(n1, n2);
+    }
+
+    public void assertNodesEqual(Attribute n1, Attribute n2) {
+        assertNodesEqual(n1.getQName(), n2.getQName());
+
+        assertEquals("Attribute values for: " + n1 + " and " + n2, n1
+                .getValue(), n2.getValue());
+    }
+
+    public void assertNodesEqual(QName n1, QName n2) {
+        assertEquals("URIs equal for: " + n1.getQualifiedName() + " and "
+                + n2.getQualifiedName(), n1.getNamespaceURI(), n2
+                .getNamespaceURI());
+        assertEquals("qualified names equal", n1.getQualifiedName(), n2
+                .getQualifiedName());
+    }
+
+    public void assertNodesEqual(CharacterData t1, CharacterData t2) {
+        assertEquals("Text equal for: " + t1 + " and " + t2, t1.getText(), t2
+                .getText());
+    }
+
+    public void assertNodesEqual(DocumentType o1, DocumentType o2) {
+        if (o1 != o2) {
+            if (o1 == null) {
+                assertTrue("Missing DocType: " + o2, false);
+            } else if (o2 == null) {
+                assertTrue("Missing DocType: " + o1, false);
+            } else {
+                assertEquals("DocType name equal", o1.getName(), o2.getName());
+                assertEquals("DocType publicID equal", o1.getPublicID(), o2
+                        .getPublicID());
+                assertEquals("DocType systemID equal", o1.getSystemID(), o2
+                        .getSystemID());
+            }
+        }
+    }
+
+    public void assertNodesEqual(Entity o1, Entity o2) {
+        assertEquals("Entity names equal", o1.getName(), o2.getName());
+        assertEquals("Entity values equal", o1.getText(), o2.getText());
+    }
+
+    public void assertNodesEqual(ProcessingInstruction n1,
+            ProcessingInstruction n2) {
+        assertEquals("PI targets equal", n1.getTarget(), n2.getTarget());
+        assertEquals("PI text equal", n1.getText(), n2.getText());
+    }
+
+    public void assertNodesEqual(Namespace n1, Namespace n2) {
+        assertEquals("Namespace prefixes not equal", n1.getPrefix(), n2
+                .getPrefix());
+        assertEquals("Namespace URIs not equal", n1.getURI(), n2.getURI());
+    }
+
+    public void assertNodesEqualContent(Branch b1, Branch b2) {
+        int c1 = b1.nodeCount();
+        int c2 = b2.nodeCount();
+
+        if (c1 != c2) {
+            log("Content of: " + b1);
+            log("is: " + b1.content());
+            log("Content of: " + b2);
+            log("is: " + b2.content());
+        }
+
+        assertEquals("Branches have same number of children (" + c1 + ", " + c2
+                + " for: " + b1 + " and " + b2, c1, c2);
+
+        for (int i = 0; i < c1; i++) {
+            Node n1 = b1.node(i);
+            Node n2 = b2.node(i);
+            assertNodesEqual(n1, n2);
+        }
+    }
+
+    public void assertNodesEqual(Node n1, Node n2) {
+        int nodeType1 = n1.getNodeType();
+        int nodeType2 = n2.getNodeType();
+        assertTrue("Nodes are of same type: ", nodeType1 == nodeType2);
+
+        switch (nodeType1) {
+            case Node.ELEMENT_NODE:
+                assertNodesEqual((Element) n1, (Element) n2);
+
+                break;
+
+            case Node.DOCUMENT_NODE:
+                assertNodesEqual((Document) n1, (Document) n2);
+
+                break;
+
+            case Node.ATTRIBUTE_NODE:
+                assertNodesEqual((Attribute) n1, (Attribute) n2);
+
+                break;
+
+            case Node.TEXT_NODE:
+                assertNodesEqual((Text) n1, (Text) n2);
+
+                break;
+
+            case Node.CDATA_SECTION_NODE:
+                assertNodesEqual((CDATA) n1, (CDATA) n2);
+
+                break;
+
+            case Node.ENTITY_REFERENCE_NODE:
+                assertNodesEqual((Entity) n1, (Entity) n2);
+
+                break;
+
+            case Node.PROCESSING_INSTRUCTION_NODE:
+                assertNodesEqual((ProcessingInstruction) n1,
+                        (ProcessingInstruction) n2);
+
+                break;
+
+            case Node.COMMENT_NODE:
+                assertNodesEqual((Comment) n1, (Comment) n2);
+
+                break;
+
+            case Node.DOCUMENT_TYPE_NODE:
+                assertNodesEqual((DocumentType) n1, (DocumentType) n2);
+
+                break;
+
+            case Node.NAMESPACE_NODE:
+                assertNodesEqual((Namespace) n1, (Namespace) n2);
+
+                break;
+
+            default:
+                assertTrue("Invalid node types. node1: " + n1 + " and node2: "
+                        + n2, false);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        System.setProperty("javax.xml.parsers.SAXParserFactory",
+                SAXParserFactoryImpl.class.getName());
+        System.setProperty("javax.xml.transform.TransformerFactory",
+                TransformerFactoryImpl.class.getName());
+        document = DocumentHelper.createDocument();
+
+        Element root = document.addElement("root");
+
+        Element author1 = root.addElement("author").addAttribute("name",
+                "James").addAttribute("location", "UK").addText(
+                "James Strachan");
+
+        Element url1 = author1.addElement("url");
+        url1.addText("http://sourceforge.net/users/jstrachan/");
+
+        Element author2 = root.addElement("author").addAttribute("name", "Bob")
+                .addAttribute("location", "Canada").addText("Bob McWhirter");
+
+        Element url2 = author2.addElement("url");
+        url2.addText("http://sourceforge.net/users/werken/");
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the root element of the document
+     */
+    protected Element getRootElement() {
+        Element root = document.getRootElement();
+        assertTrue("Document has root element", root != null);
+
+        return root;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/AddAttributeTest.java b/src/test/org/dom4j/AddAttributeTest.java
new file mode 100644
index 0000000..9075c6b
--- /dev/null
+++ b/src/test/org/dom4j/AddAttributeTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * A test harness to test the addAttribute() methods on attributes
+ * 
+ * @author <a href="mailto:maartenc at users.sourceforge.net">Maarten Coene </a>
+ */
+public class AddAttributeTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(AddAttributeTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testAddAttributeNormalValue() throws Exception {
+        String testAttributeName = "testAtt";
+        String testAttributeValue = "testValue";
+
+        Node authorNode = document.selectSingleNode("//root/author[1]");
+
+        assertTrue(authorNode instanceof Element);
+
+        Element authorEl = (Element) authorNode;
+        authorEl.addAttribute(testAttributeName, testAttributeValue);
+
+        assertEquals(3, authorEl.attributeCount());
+        assertEquals(testAttributeValue, authorEl
+                .attributeValue(testAttributeName));
+    }
+
+    public void testAddAttributeNullValue() throws Exception {
+        String testAttributeName = "location";
+        String testAttributeValue = null;
+
+        Node authorNode = document.selectSingleNode("//root/author[1]");
+
+        assertTrue(authorNode instanceof Element);
+
+        Element authorEl = (Element) authorNode;
+        authorEl.addAttribute(testAttributeName, testAttributeValue);
+
+        assertEquals(1, authorEl.attributeCount());
+        assertNull(authorEl.attributeValue(testAttributeName));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/AddNodeTest.java b/src/test/org/dom4j/AddNodeTest.java
new file mode 100644
index 0000000..250828a
--- /dev/null
+++ b/src/test/org/dom4j/AddNodeTest.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * A test harness to test the addNode() methods on node
+ * 
+ * @author Philippe Ombredanne
+ */
+public class AddNodeTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(AddNodeTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testDom4jAddNodeClone() {
+        Document maindoc = DocumentHelper.createDocument();
+        Element docroot = maindoc.addElement("document");
+        Element header = docroot.addElement("header").addText("Some Text");
+
+        Document subdoc = DocumentHelper.createDocument();
+        Element docroot2 = subdoc.addElement("document");
+
+        docroot2.add((Element) maindoc.selectSingleNode("/document/header")
+                .clone());
+        assertEquals(subdoc.asXML(), maindoc.asXML());
+    }
+
+    public void testDom4jAddNodeCreateCopy() {
+        Document maindoc = DocumentHelper.createDocument();
+        Element docroot = maindoc.addElement("document");
+        Element header = docroot.addElement("header").addText("Some Text");
+
+        Document subdoc = DocumentHelper.createDocument();
+        Element docroot2 = subdoc.addElement("document");
+
+        docroot2.add(((Element) maindoc.selectSingleNode("/document/header"))
+                .createCopy());
+        assertEquals(subdoc.asXML(), maindoc.asXML());
+    }
+
+    public void testDom4jAddNodeBug() {
+        Document maindoc = DocumentHelper.createDocument();
+        Element docroot = maindoc.addElement("document");
+        Element header = docroot.addElement("header").addText("Some Text");
+
+        Document subdoc = DocumentHelper.createDocument();
+        Element subroot = subdoc.addElement("document");
+
+        try {
+            // add the header node from maindoc without clone... or createCopy
+            subroot.add((Element) maindoc.selectSingleNode("/document/header"));
+            fail();
+        } catch (IllegalAddException e) {
+            // the header already has a parent, this exception is normal
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/AttributeDetachTest.java b/src/test/org/dom4j/AttributeDetachTest.java
new file mode 100644
index 0000000..f6c0ee8
--- /dev/null
+++ b/src/test/org/dom4j/AttributeDetachTest.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * A test harness to test the detach() method on attributes
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class AttributeDetachTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(AttributeDetachTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testDetachAttribute() throws Exception {
+        List attributes = document.selectNodes("//@name");
+
+        assertTrue("Found more than one attribute: ", attributes.size() > 0);
+
+        for (Iterator iter = attributes.iterator(); iter.hasNext();) {
+            Attribute attribute = (Attribute) iter.next();
+            Element element = attribute.getParent();
+
+            assertTrue("Attribute: " + attribute + " has parent: " + element,
+                    attribute.getParent() == element);
+
+            QName qname = attribute.getQName();
+
+            Attribute attribute2 = element.attribute(qname);
+
+            String value = attribute.getValue();
+            String value2 = element.attributeValue(qname);
+
+            assertEquals("Attribute and Element have same attrbute value",
+                    value, value2);
+
+            attribute.detach();
+
+            attribute2 = element.attribute(qname);
+            value2 = element.attributeValue(qname);
+
+            assertTrue("Element now has no value: " + value2, value2 == null);
+            assertTrue("Element now has no attribute: " + attribute2,
+                    attribute2 == null);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/BackedListTest.java b/src/test/org/dom4j/BackedListTest.java
new file mode 100644
index 0000000..d3d2512
--- /dev/null
+++ b/src/test/org/dom4j/BackedListTest.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+import org.dom4j.io.XMLWriter;
+
+/**
+ * A test harness to test the backed list feature of DOM4J
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class BackedListTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(BackedListTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        Element element = (Element) document.selectSingleNode("/root");
+        mutate(element);
+        element = (Element) document.selectSingleNode("//author");
+        mutate(element);
+    }
+
+    public void testAddRemove() throws Exception {
+        Element parentElement = (Element) document.selectSingleNode("/root");
+        List children = parentElement.elements();
+        int lastPos = children.size() - 1;
+        Element child = (Element) children.get(lastPos);
+
+        try {
+            // should throw an exception cause we cannot add same child twice
+            children.add(0, child);
+            fail();
+        } catch (IllegalAddException e) {
+        }
+    }
+
+    public void testAddWithIndex() throws Exception {
+        DocumentFactory factory = DocumentFactory.getInstance();
+
+        Element root = (Element) document.selectSingleNode("/root");
+        List children = root.elements(); // return a list of 2 author
+        // elements
+
+        assertEquals(2, children.size());
+
+        children.add(1, factory.createElement("dummy1"));
+        children = root.elements();
+
+        assertEquals(3, children.size());
+
+        children = root.elements("author");
+
+        assertEquals(2, children.size());
+
+        children.add(1, factory.createElement("dummy2"));
+
+        children = root.elements();
+
+        assertEquals(4, children.size());
+        assertEquals("dummy1", ((Node) children.get(1)).getName());
+        assertEquals("dummy2", ((Node) children.get(2)).getName());
+
+        /*
+         * Some tests for issue reported at http://tinyurl.com/4jxrc
+         */
+        children.add(children.size(), factory.createElement("dummy3"));
+        children = root.elements("author");
+        children.add(children.size(), factory.createElement("dummy4"));
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void mutate(Element element) throws Exception {
+        DocumentFactory factory = DocumentFactory.getInstance();
+
+        List list = element.elements();
+        list.add(factory.createElement("last"));
+        list.add(0, factory.createElement("first"));
+
+        List list2 = element.elements();
+
+        assertTrue("Both lists should contain same number of elements", list
+                .size() == list2.size());
+
+        XMLWriter writer = new XMLWriter(System.out);
+
+        log("Element content is now: " + element.content());
+        writer.write(element);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/CloneTest.java b/src/test/org/dom4j/CloneTest.java
new file mode 100644
index 0000000..58545d7
--- /dev/null
+++ b/src/test/org/dom4j/CloneTest.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.Comparator;
+
+import org.dom4j.dom.DOMDocument;
+import org.dom4j.dom.DOMDocumentFactory;
+import org.dom4j.util.NodeComparator;
+
+/**
+ * A test harness to test the clone() methods on Nodes
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.6 $
+ */
+public class CloneTest extends AbstractTestCase {
+    private Comparator comparator = new NodeComparator();
+
+    public static void main(String[] args) {
+        TestRunner.run(CloneTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testBug1148333() {
+        DOMDocumentFactory factory = (DOMDocumentFactory) DOMDocumentFactory
+                .getInstance();
+        DOMDocument doc = (DOMDocument) factory.createDocument();
+        Element el = doc.addElement("root");
+        el.addNamespace("pref2", "uri2");
+
+        DOMDocument clone = (DOMDocument) doc.cloneNode(true);
+        
+        assertNotSame(doc, clone);
+        assertNodesEqual(doc, clone);
+    }
+
+    public void testElementWithNamespaceClone() {
+        Element element = DocumentFactory.getInstance()
+                .createElement("element");
+        element.addNamespace("prefix", "uri");
+        Element clone = (Element) element.clone();
+
+        assertNotSame(element, clone);
+        assertNodesEqual(element, clone);
+    }
+
+    public void testDocumentClone() throws Exception {
+        document.setName("doc1");
+
+        Document doc2 = (Document) document.clone();
+
+        assertNotSame(document, doc2);
+        assertNodesEqual(document, doc2);
+    }
+
+    public void testAddCloneToOtherElement() {
+        DocumentFactory factory = DocumentFactory.getInstance();
+        Document doc = factory.createDocument();
+        Element root = doc.addElement("root");
+        Element parent1 = root.addElement("parent");
+        Element child1 = parent1.addElement("child");
+
+        Element parent2 = (Element) parent1.clone();
+        root.add(parent2);
+
+        assertSame("parent not correct", root, parent2.getParent());
+        assertSame("document not correct", doc, parent2.getDocument());
+
+        Element child2 = parent2.element("child");
+
+        assertNotSame("child not cloned", child1, child2);
+        assertSame("parent not correct", parent2, child2.getParent());
+        assertSame("document not correct", doc, child2.getDocument());
+    }
+
+    public void testRootElementClone() throws Exception {
+        testElementClone(document.getRootElement());
+    }
+
+    public void testAuthorElementClone() throws Exception {
+        testElementClone((Element) document.selectSingleNode("//author"));
+    }
+
+    public void testRootCompare1() throws Exception {
+        Document doc2 = (Document) document.clone();
+        Element author = doc2.getRootElement();
+        author.addAttribute("foo", "bar");
+
+        assertTrue("Documents are not equal", comparator
+                .compare(document, doc2) != 0);
+    }
+
+    public void testRootCompare2() throws Exception {
+        Document doc2 = (Document) document.clone();
+        Element author = doc2.getRootElement();
+
+        author.addText("foo");
+
+        assertTrue("Documents are not equal", comparator
+                .compare(document, doc2) != 0);
+    }
+
+    public void testAuthorCompare1() throws Exception {
+        Document doc2 = (Document) document.clone();
+        Element author = (Element) doc2.selectSingleNode("//author");
+        author.addAttribute("name", "James Strachan");
+
+        assertTrue("Documents are not equal", comparator
+                .compare(document, doc2) != 0);
+    }
+
+    public void testAuthorCompare2() throws Exception {
+        Document doc2 = (Document) document.clone();
+        Element author = (Element) doc2.selectSingleNode("//author");
+
+        author.addText("foo");
+
+        assertTrue("Documents are not equal", comparator
+                .compare(document, doc2) != 0);
+    }
+
+    protected void testElementClone(Element element) throws Exception {
+        Element element2 = (Element) element.clone();
+
+        assertTrue("Returned a new Element", element2 != element);
+        assertNull("New element has no parent", element2.getParent());
+        assertNull("New element has no Document", element2.getDocument());
+
+        assertTrue("Element fragments are equal", comparator.compare(element,
+                element2) == 0);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/ContentTest.java b/src/test/org/dom4j/ContentTest.java
new file mode 100644
index 0000000..13762c1
--- /dev/null
+++ b/src/test/org/dom4j/ContentTest.java
@@ -0,0 +1,256 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * A test harness to test the content API in DOM4J
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class ContentTest extends AbstractTestCase {
+    protected DocumentFactory factory = new DocumentFactory();
+
+    public static void main(String[] args) {
+        TestRunner.run(ContentTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testRoot() throws Exception {
+        Element root = document.getRootElement();
+        assertTrue("Has root element", root != null);
+
+        List authors = root.elements("author");
+        assertTrue("Root has children", (authors != null)
+                && (authors.size() == 2));
+
+        Element author1 = (Element) authors.get(0);
+        Element author2 = (Element) authors.get(1);
+
+        assertTrue("Author1 is James", author1.attributeValue("name").equals(
+                "James"));
+        assertTrue("Author2 is Bob", author2.attributeValue("name").equals(
+                "Bob"));
+
+        testGetAttributes(author1);
+        testGetAttributes(author2);
+    }
+
+    public void testContent() throws Exception {
+        Element root = document.getRootElement();
+        assertTrue("Has root element", root != null);
+
+        List content = root.content();
+        assertTrue("Root has content", (content != null)
+                && (content.size() >= 2));
+
+        boolean iterated = false;
+
+        for (Iterator iter = content.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+            assertTrue("Content object is a node", object instanceof Node);
+            iterated = true;
+        }
+
+        assertTrue("Iteration completed", iterated);
+    }
+
+    public void testGetNode() throws Exception {
+        Element root = document.getRootElement();
+        assertTrue("Has root element", root != null);
+
+        int count = root.nodeCount();
+        assertTrue("Root has correct node count", count == 2);
+
+        boolean iterated = false;
+
+        for (int i = 0; i < count; i++) {
+            Node node = root.node(i);
+            assertTrue("Valid node returned from node()", node != null);
+            iterated = true;
+        }
+
+        assertTrue("Iteration completed", iterated);
+    }
+
+    public void testGetXPathNode() throws Exception {
+        Element root = document.getRootElement();
+        assertTrue("Has root element", root != null);
+
+        int count = root.nodeCount();
+        assertTrue("Root has correct node count", count == 2);
+
+        boolean iterated = false;
+
+        for (int i = 0; i < count; i++) {
+            Node node = root.getXPathResult(i);
+            assertTrue("Valid node returned from node()", node != null);
+            assertTrue("Node supports the parent relationship", node
+                    .supportsParent());
+            iterated = true;
+        }
+
+        assertTrue("Iteration completed", iterated);
+    }
+
+    public void testOrderOfPI() throws Exception {
+        Document document = factory.createDocument();
+        document.addProcessingInstruction("xml-stylesheet",
+                "type=\"text/xsl\" href=\"...\"");
+        document.addElement("root");
+
+        List list = document.content();
+
+        assertNotNull(list);
+        assertEquals(2, list.size());
+
+        Object pi = list.get(0);
+        Object root = list.get(1);
+
+        assertTrue("First element is not a PI",
+                pi instanceof ProcessingInstruction);
+        assertTrue("Second element is an element", root instanceof Element);
+
+        String xml = "<?xml version=\"1.0\" ?>\n"
+                + "<?xml-stylesheet type=\"text/xsl\" href=\"foo\" ?>\n"
+                + "<root/>";
+        document = DocumentHelper.parseText(xml);
+
+        list = document.content();
+
+        assertNotNull(list);
+        assertEquals(2, list.size());
+        pi = list.get(0);
+        root = list.get(1);
+
+        assertTrue("First element is not a PI",
+                pi instanceof ProcessingInstruction);
+        assertTrue("Second element is an element", root instanceof Element);
+    }
+
+    public void testAddingInTheMiddle() throws Exception {
+        Document doc = factory.createDocument();
+        Element root = doc.addElement("html");
+        Element header = root.addElement("header");
+        Element footer = root.addElement("footer");
+
+        // now lets add <foo> in between header & footer
+        List list = root.content();
+        Element foo = factory.createElement("foo");
+        list.add(1, foo);
+
+        // assertions
+        assertTrue(list.size() == 3);
+        assertTrue(list.get(0) == header);
+        assertTrue(list.get(1) == foo);
+        assertTrue(list.get(2) == footer);
+    }
+
+    public void testAddAtIndex() throws Exception {
+        Document doc = factory.createDocument();
+        Element root = doc.addElement("html");
+        Element header = root.addElement("header");
+        Element body = root.addElement("body");
+
+        Element foo = factory.createElement("foo");
+        Element bar = factory.createElement("bar");
+
+        List content = header.content();
+        content.add(0, foo);
+        content.add(0, bar);
+
+        assertEquals("foo", header.node(1).getName());
+        assertEquals("bar", header.node(0).getName());
+
+        foo = factory.createElement("foo");
+        bar = factory.createElement("bar");
+
+        content = body.content();
+        content.add(0, foo);
+        content.add(1, bar);
+
+        assertEquals("foo", body.node(0).getName());
+        assertEquals("bar", body.node(1).getName());
+    }
+
+    public void testAddAtIndex2() throws Exception {
+        Document doc = factory.createDocument();
+        Element parent = doc.addElement("parent");
+        Element child = parent.addElement("child");
+        Element anotherChild = factory.createElement("child2");
+
+        List elements = parent.elements();
+        int index = elements.indexOf(child);
+
+        assertEquals(0, index);
+
+        elements.add(1, anotherChild);
+        elements = parent.elements();
+        assertEquals(child, elements.get(0));
+        assertEquals(anotherChild, elements.get(1));
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testGetAttributes(Element author) throws Exception {
+        String definedName = "name";
+        String undefinedName = "undefined-attribute-name";
+        String defaultValue = "** Default Value **";
+
+        String value = author.attributeValue(definedName, defaultValue);
+        assertTrue("Defined value doesn't return specified default value",
+                value != defaultValue);
+
+        value = author.attributeValue(undefinedName, defaultValue);
+        assertTrue("Undefined value returns specified default value",
+                value == defaultValue);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/CopyTest.java b/src/test/org/dom4j/CopyTest.java
new file mode 100644
index 0000000..eb9c4ad
--- /dev/null
+++ b/src/test/org/dom4j/CopyTest.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+/**
+ * A test harness to test the copy() methods on Element
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class CopyTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(CopyTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testRoot() throws Exception {
+        document.setName("doc1");
+
+        Element root = document.getRootElement();
+        List authors = root.elements("author");
+
+        assertTrue("Should be at least 2 authors", authors.size() == 2);
+
+        Element author1 = (Element) authors.get(0);
+        Element author2 = (Element) authors.get(1);
+
+        testCopy(root);
+        testCopy(author1);
+        testCopy(author2);
+    }
+
+    protected void testCopy(Element element) throws Exception {
+        assertTrue("Not null", element != null);
+
+        int attributeCount = element.attributeCount();
+        int nodeCount = element.nodeCount();
+
+        Element copy = element.createCopy();
+
+        assertEquals("Node size not equal after copy", element.nodeCount(),
+                nodeCount);
+        assertTrue("Same attribute size after copy",
+                element.attributeCount() == attributeCount);
+
+        assertTrue("Copy has same node size", copy.nodeCount() == nodeCount);
+        assertTrue("Copy has same attribute size",
+                copy.attributeCount() == attributeCount);
+
+        for (int i = 0; i < attributeCount; i++) {
+            Attribute attr1 = element.attribute(i);
+            Attribute attr2 = copy.attribute(i);
+
+            assertTrue("Attribute: " + i + " name is equal", attr1.getName()
+                    .equals(attr2.getName()));
+            assertTrue("Attribute: " + i + " value is equal", attr1.getValue()
+                    .equals(attr2.getValue()));
+        }
+
+        for (int i = 0; i < nodeCount; i++) {
+            Node node1 = element.node(i);
+            Node node2 = copy.node(i);
+
+            assertTrue("Node: " + i + " type is equal",
+                    node1.getNodeType() == node2.getNodeType());
+            assertTrue("Node: " + i + " value is equal", node1.getText()
+                    .equals(node2.getText()));
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/DetachTest.java b/src/test/org/dom4j/DetachTest.java
new file mode 100644
index 0000000..e905c33
--- /dev/null
+++ b/src/test/org/dom4j/DetachTest.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * A test harness to test the detach() method on root elements
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class DetachTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(DetachTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testRoot() throws Exception {
+        document.setName("doc1");
+
+        Element root = document.getRootElement();
+        assertTrue("Has root element", root != null);
+        assertTrue("Root has no parent", root.getParent() == null);
+
+        root.detach();
+
+        assertTrue("Detached root now has no document",
+                root.getDocument() == null);
+        assertTrue("Original doc now has no root element", document
+                .getRootElement() == null);
+
+        Document doc2 = DocumentHelper.createDocument();
+        doc2.setName("doc2");
+
+        assertTrue("Doc2 has no root element", doc2.getRootElement() == null);
+
+        doc2.setRootElement(root);
+
+        assertTrue("Doc2 has now has root element",
+                doc2.getRootElement() == root);
+        assertTrue("Root element now has document", root.getDocument() == doc2);
+
+        Document doc3 = DocumentHelper.createDocument();
+        doc3.setName("doc3");
+        doc3.addElement("foo");
+
+        assertTrue("Doc3 has root element", doc3.getRootElement() != null);
+
+        root = doc2.getRootElement();
+        root.detach();
+        doc3.setRootElement(root);
+
+        assertTrue("Doc3 now has root element", doc3.getRootElement() == root);
+        assertSame("Root element now has a document", root.getDocument(), doc3);
+        assertTrue("Doc2 has no root element", doc2.getRootElement() == null);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/DocTypeTest.java b/src/test/org/dom4j/DocTypeTest.java
new file mode 100644
index 0000000..572b1ba
--- /dev/null
+++ b/src/test/org/dom4j/DocTypeTest.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+import org.dom4j.dtd.ElementDecl;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Tests the DocType functionality
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class DocTypeTest extends AbstractTestCase {
+    /** Input XML file to read */
+    protected static final String INPUT_XML_FILE = "/xml/dtd/internal.xml";
+
+    public static void main(String[] args) {
+        TestRunner.run(DocTypeTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testDocType() throws Exception {
+        SAXReader reader = new SAXReader();
+        reader.setIncludeInternalDTDDeclarations(true);
+
+        Document document = getDocument(INPUT_XML_FILE, reader);
+
+        DocumentType docType = document.getDocType();
+        assertTrue("Has DOCTYPE", docType != null);
+
+        List declarations = docType.getInternalDeclarations();
+        assertTrue("DOCTYPE has declarations", (declarations != null)
+                && !declarations.isEmpty());
+
+        ElementDecl decl = (ElementDecl) declarations.get(0);
+
+        assertEquals("name is correct", "greeting", decl.getName());
+        assertEquals("model is correct", "(#PCDATA)", decl.getModel());
+
+        String expected = "<!ELEMENT " + decl.getName() + " " + decl.getModel()
+                + ">";
+        assertEquals("toString() is correct", expected, decl.toString());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/ElementByIDTest.java b/src/test/org/dom4j/ElementByIDTest.java
new file mode 100644
index 0000000..2da3d69
--- /dev/null
+++ b/src/test/org/dom4j/ElementByIDTest.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests the elementByID() method
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class ElementByIDTest extends AbstractTestCase {
+    /** Input XML file to read */
+    protected static final String INPUT_XML_FILE = "xml/test/elementByID.xml";
+
+    public static void main(String[] args) {
+        TestRunner.run(ElementByIDTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testElementByID() throws Exception {
+        String id = "message";
+        Document document = getDocument(INPUT_XML_FILE);
+
+        // test XPath
+        Element element = (Element) document.selectSingleNode("//*[@ID='" + id
+                + "']");
+        assertTrue("Found element by ID: " + id, element != null);
+        assertEquals("ID is equal", id, element.attributeValue("ID"));
+
+        // test with elementByID
+        element = document.elementByID(id);
+
+        assertTrue("Found element by ID: " + id, element != null);
+        assertEquals("ID is equal", id, element.attributeValue("ID"));
+
+        log("Found element: " + element.getText());
+
+        element = document.elementByID("DoesNotExist");
+
+        assertTrue("Found no element", element == null);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/EmbeddedHandlerTest.java b/src/test/org/dom4j/EmbeddedHandlerTest.java
new file mode 100644
index 0000000..5d71ebf
--- /dev/null
+++ b/src/test/org/dom4j/EmbeddedHandlerTest.java
@@ -0,0 +1,169 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.File;
+
+import org.dom4j.io.SAXReader;
+
+/**
+ * TestEmbeddedHandler
+ * 
+ * @author <a href="mailto:franz.beil at temis-group.com">FB </a>
+ */
+public class EmbeddedHandlerTest extends AbstractTestCase {
+    private static final int MAIN_READER = 0;
+
+    private static final int ON_END_READER = 1;
+
+    protected String[] testDocuments = {"xml/test/FranzBeilMain.xml"};
+
+    private StringBuffer[] results = {new StringBuffer(), new StringBuffer()};
+
+    protected int test;
+
+    public static void main(String[] args) {
+        TestRunner.run(EmbeddedHandlerTest.class);
+    }
+
+    // ---------------------------------------------
+    // Test case(s)
+    // ---------------------------------------------
+    public void testMainReader() throws Exception {
+        test = MAIN_READER;
+        readDocuments();
+    }
+
+    public void testOnEndReader() throws Exception {
+        test = ON_END_READER;
+        readDocuments();
+    }
+
+    public void testBothReaders() throws Exception {
+        testMainReader();
+        testOnEndReader();
+
+        if (!results[MAIN_READER].toString().equals(
+                results[ON_END_READER].toString())) {
+            StringBuffer msg = new StringBuffer();
+            msg.append("Results of tests should be equal!\n");
+            msg.append("Results testMainReader():\n"
+                    + results[MAIN_READER].toString());
+            msg.append("Results testOnEndReader():\n"
+                    + results[ON_END_READER].toString());
+            throw new Exception(msg.toString());
+        }
+    }
+
+    // ---------------------------------------------
+    // Implementation methods
+    // ---------------------------------------------
+    private void readDocuments() throws Exception {
+        for (int i = 0; i < testDocuments.length; i++) {
+            File testDoc = getFile(testDocuments[i]);
+            String mainDir = testDoc.getParent();
+            SAXReader reader = new SAXReader();
+            ElementHandler mainHandler = new MainHandler(mainDir);
+            reader.addHandler("/main/import", mainHandler);
+            getDocument(testDocuments[i], reader);
+        }
+    }
+
+    // Handler classes
+    // ---------------------------------------------
+    class MainHandler implements ElementHandler {
+        private SAXReader mainReader;
+
+        private String mainDir;
+
+        public MainHandler(String dir) {
+            mainReader = new SAXReader();
+            mainDir = dir;
+            mainReader.addHandler("/import/stuff", new EmbeddedHandler());
+        }
+
+        public void onStart(ElementPath path) {
+        }
+
+        public void onEnd(ElementPath path) {
+            String href = path.getCurrent().attribute("href").getValue();
+            Element importRef = path.getCurrent();
+            Element parentElement = importRef.getParent();
+            SAXReader onEndReader = new SAXReader();
+            onEndReader.addHandler("/import/stuff", new EmbeddedHandler());
+
+            File file = new File(mainDir + File.separator + href);
+            Element importElement = null;
+
+            try {
+                if (test == MAIN_READER) {
+                    importElement = mainReader.read(file).getRootElement();
+                } else if (test == ON_END_READER) {
+                    importElement = onEndReader.read(file).getRootElement();
+                }
+            } catch (Exception e) {
+                // too bad that it's not possible to throw the exception at the
+                // caller
+                e.printStackTrace();
+            }
+
+            // prune and replace
+            importRef.detach();
+            parentElement.add(importElement);
+        }
+    }
+
+    public class EmbeddedHandler implements ElementHandler {
+        public void onStart(ElementPath path) {
+            results[test].append(path.getCurrent().attribute("name").getValue()
+                    + "\n");
+        }
+
+        public void onEnd(ElementPath path) {
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/GetQNamesTest.java b/src/test/org/dom4j/GetQNamesTest.java
new file mode 100644
index 0000000..46bbcd0
--- /dev/null
+++ b/src/test/org/dom4j/GetQNamesTest.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+import org.dom4j.io.SAXReader;
+
+/**
+ * A test harness to test the DocumentFactory.getQNames() method
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class GetQNamesTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(GetQNamesTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testQNames() throws Exception {
+        DocumentFactory factory = new DocumentFactory();
+
+        SAXReader reader = new SAXReader();
+        reader.setDocumentFactory(factory);
+        getDocument("/xml/test/soap2.xml", reader);
+
+        List qnames = factory.getQNames();
+        assertEquals("Number of QNames not correct", 15, qnames.size());
+    }
+
+    /**
+     * Test the element rename functionality which was lacking as spotted by Rob
+     * Lebowitz
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void testRename() throws Exception {
+        Document doc = DocumentHelper.createDocument();
+        Element root = doc.addElement("foo");
+
+        assertEquals("named correctly", "foo", root.getName());
+
+        root.setName("bar");
+
+        assertEquals("named correctly", "bar", root.getName());
+
+        QName xyz = root.getQName("xyz");
+
+        root.setQName(xyz);
+
+        assertEquals("QNamed correctly", xyz, root.getQName());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/GetXMLEncodingTest.java b/src/test/org/dom4j/GetXMLEncodingTest.java
new file mode 100644
index 0000000..2f2fecb
--- /dev/null
+++ b/src/test/org/dom4j/GetXMLEncodingTest.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.ByteArrayInputStream;
+import java.io.StringReader;
+
+import org.dom4j.io.SAXReader;
+
+import org.xml.sax.InputSource;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author Maarten Coene
+ * @version $Revision: 1.4 $
+ */
+public class GetXMLEncodingTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(GetXMLEncodingTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXMLEncodingFromString() throws Exception {
+        String xmlEnc = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<root/>";
+
+        SAXReader reader = new SAXReader();
+        InputSource source = new InputSource(new ByteArrayInputStream(xmlEnc
+                .getBytes("UTF-8")));
+        Document doc = reader.read(source);
+        assertEquals("UTF-8", doc.getXMLEncoding());
+
+        doc = reader.read(new StringReader(xmlEnc));
+        assertNull(doc.getXMLEncoding());
+    }
+
+    public void testXMLEncodingFromURL() throws Exception {
+        Document doc = getDocument("/xml/test/encode.xml");
+        assertEquals("UTF-8", doc.getXMLEncoding());
+
+        doc = getDocument("/xml/russArticle.xml");
+        assertEquals("koi8-r", doc.getXMLEncoding());
+    }
+
+    public void testXMLEncodingFromStringWithHelper() throws Exception {
+        String xmlEnc = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<root/>";
+        String xmlNoEnc = "<root/>";
+
+        Document doc = DocumentHelper.parseText(xmlEnc);
+        assertEquals("UTF-8", doc.getXMLEncoding());
+
+        doc = DocumentHelper.parseText(xmlNoEnc);
+        assertNull(doc.getXMLEncoding());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/HTMLWriterTest.java b/src/test/org/dom4j/HTMLWriterTest.java
new file mode 100644
index 0000000..e8b7e9b
--- /dev/null
+++ b/src/test/org/dom4j/HTMLWriterTest.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.StringWriter;
+
+import org.dom4j.io.HTMLWriter;
+import org.dom4j.io.OutputFormat;
+
+/**
+ * Test harness for the HTMLWriter
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class HTMLWriterTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(HTMLWriterTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testWriter() throws Exception {
+        String xml = "<html> <body><![CDATA[First test]]></body> </html>";
+        Document document = DocumentHelper.parseText(xml);
+        StringWriter buffer = new StringWriter();
+        HTMLWriter writer = new HTMLWriter(buffer);
+        writer.write(document);
+
+        String output = buffer.toString();
+
+        String expects = "\n<html>\n  <body>First test</body>\n</html>\n";
+
+        System.out.println("expects: " + expects);
+        System.out.println("output: " + output);
+
+        assertEquals("Output is correct", expects, output);
+    }
+
+    public void testBug923882() throws Exception {
+        Document doc = DocumentFactory.getInstance().createDocument();
+        Element root = doc.addElement("root");
+        root.addText("this is ");
+        root.addText(" sim");
+        root.addText("ple text ");
+        root.addElement("child");
+        root.addText(" contai");
+        root.addText("ning spaces and");
+        root.addText(" multiple textnodes");
+
+        OutputFormat format = new OutputFormat();
+        format.setEncoding("UTF-8");
+        format.setIndentSize(4);
+        format.setNewlines(true);
+        format.setTrimText(true);
+        format.setExpandEmptyElements(true);
+
+        StringWriter buffer = new StringWriter();
+        HTMLWriter writer = new HTMLWriter(buffer, format);
+        writer.write(doc);
+
+        String xml = buffer.toString();
+        log(xml);
+
+        int start = xml.indexOf("<root");
+        int end = xml.indexOf("/root>") + 6;
+        String eol = "\n"; // System.getProperty("line.separator");
+        String expected = "<root>this is simple text" + eol
+                + "    <child></child>containing spaces and multiple textnodes"
+                + eol + "</root>";
+        System.out.println("Expected:");
+        System.out.println(expected);
+        System.out.println("Obtained:");
+        System.out.println(xml.substring(start, end));
+        assertEquals(expected, xml.substring(start, end));
+    }
+
+    public void testBug923882asWriter() throws Exception {
+        // use an the HTMLWriter sax-methods.
+        //
+        StringWriter buffer = new StringWriter();
+        HTMLWriter writer = new HTMLWriter(buffer, OutputFormat
+                .createPrettyPrint());
+        writer.characters("wor".toCharArray(), 0, 3);
+        writer.characters("d-being-cut".toCharArray(), 0, 11);
+
+        String expected = "word-being-cut";
+        assertEquals(expected, buffer.toString());
+
+        buffer = new StringWriter();
+        writer = new HTMLWriter(buffer, OutputFormat.createPrettyPrint());
+        writer.characters("    wor".toCharArray(), 0, 7);
+        writer.characters("d being    ".toCharArray(), 0, 11);
+        writer.characters("  cut".toCharArray(), 0, 5);
+
+        expected = "word being cut";
+        assertEquals(expected, buffer.toString());
+    }
+
+    public void testBug923882asWriterWithEmptyCharArray() throws Exception {
+        // use an the HTMLWriter sax-methods.
+        //
+        StringWriter buffer = new StringWriter();
+        HTMLWriter writer = new HTMLWriter(buffer, OutputFormat
+                .createPrettyPrint());
+        writer.characters("wor".toCharArray(), 0, 3);
+        writer.characters(new char[0], 0, 0);
+        writer.characters("d-being-cut".toCharArray(), 0, 11);
+
+        String expected = "word-being-cut";
+        assertEquals(expected, buffer.toString());
+    }
+
+    public void testBug619415() throws Exception {
+        Document doc = getDocument("/xml/test/dosLineFeeds.xml");
+
+        StringWriter wr = new StringWriter();
+        HTMLWriter writer = new HTMLWriter(wr, new OutputFormat("", false));
+        writer.write(doc);
+
+        String result = wr.toString();
+        System.out.println(result);
+
+        assertTrue(result.indexOf("Mary had a little lamb.") > -1);
+        assertTrue(result.indexOf("Hello, this is a test.") > -1);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/IndexedElementTest.java b/src/test/org/dom4j/IndexedElementTest.java
new file mode 100644
index 0000000..27007d3
--- /dev/null
+++ b/src/test/org/dom4j/IndexedElementTest.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+import org.dom4j.util.IndexedDocumentFactory;
+
+/**
+ * A test harness for the IndexedElement implementation
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class IndexedElementTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(IndexedElementTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        testXPath("//author");
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(String xpath) {
+        List list = document.selectNodes(xpath);
+
+        log("Searched path: " + xpath);
+        log("Found        : " + list.size() + " result(s)");
+
+        log("Results");
+
+        if (list == null) {
+            log("null");
+        } else {
+            log("[");
+
+            for (int i = 0, size = list.size(); i < size; i++) {
+                Object object = list.get(i);
+                String text = "null";
+
+                if (object instanceof Node) {
+                    Node node = (Node) object;
+                    text = node.asXML();
+                } else if (object != null) {
+                    text = object.toString();
+                }
+
+                log("    " + text);
+            }
+
+            log("]");
+        }
+
+        log("...........................................");
+
+        assertTrue("Found some results", list.size() > 0);
+    }
+
+    protected Document createDocument() {
+        return IndexedDocumentFactory.getInstance().createDocument();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/IsTextOnlyTest.java b/src/test/org/dom4j/IsTextOnlyTest.java
new file mode 100644
index 0000000..c2f252b
--- /dev/null
+++ b/src/test/org/dom4j/IsTextOnlyTest.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * A test harness to test the parent relationship and use of the {@link
+ * Node#asXPathResult} method.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class IsTextOnlyTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(IsTextOnlyTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testDocument() throws Exception {
+        DocumentFactory factory = new DocumentFactory();
+        Element root = factory.createElement("root");
+        Element first = root.addElement("child");
+        first.addText("This is some text");
+
+        assertTrue("Root node is not text only: " + root, !root.isTextOnly());
+        assertTrue("First child is text only: " + first, first.isTextOnly());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/IteratorTest.java b/src/test/org/dom4j/IteratorTest.java
new file mode 100644
index 0000000..8256bff
--- /dev/null
+++ b/src/test/org/dom4j/IteratorTest.java
@@ -0,0 +1,181 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * A test harness to test the Iterator API in DOM4J
+ * 
+ * @author <a href="mailto:jdoughty at jdoughty@cs.gmu.edu">Jonathan Doughty </a>
+ * @version $Revision: 1.4 $
+ */
+public class IteratorTest extends AbstractTestCase {
+    private static final int NUMELE = 10;
+
+    protected Document iterDocument;
+
+    public static void main(String[] args) {
+        TestRunner.run(IteratorTest.class);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        iterDocument = DocumentHelper.createDocument();
+
+        Element root = iterDocument.addElement("root");
+
+        for (int i = 0; i < NUMELE; i++) {
+            root.addElement("iterator test").addAttribute("instance",
+                    Integer.toString(i));
+        }
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testElementCount() throws Exception {
+        Element root = iterDocument.getRootElement();
+        assertTrue("Has root element", root != null);
+
+        List elements = root.elements("iterator test");
+        int elementSize = elements.size();
+        assertTrue("Root has " + elementSize + " children", (elements != null)
+                && (elementSize == NUMELE));
+    }
+
+    public void testPlainIteration() throws Exception {
+        Element root = iterDocument.getRootElement();
+        List elements = root.elements("iterator test");
+        Iterator iter = root.elementIterator("iterator test");
+        int elementSize = elements.size();
+
+        int count = 0;
+
+        for (; iter.hasNext();) {
+            Element e = (Element) iter.next();
+            assertEquals("instance " + e.attribute("instance").getValue()
+                    + " equals " + count, e.attribute("instance").getValue(),
+                    Integer.toString(count));
+            count++;
+        }
+
+        assertTrue(elementSize + " elements iterated", count == elementSize);
+    }
+
+    public void testSkipAlternates() throws Exception {
+        Element root = iterDocument.getRootElement();
+        List elements = root.elements("iterator test");
+        Iterator iter = root.elementIterator("iterator test");
+        int elementSize = elements.size();
+        int count = 0;
+
+        for (; iter.hasNext();) {
+            Element e = (Element) iter.next();
+            assertEquals("instance " + e.attribute("instance").getValue()
+                    + " equals " + (count * 2), e.attribute("instance")
+                    .getValue(), Integer.toString(count * 2));
+            iter.next();
+            count++;
+        }
+
+        assertTrue((elementSize / 2) + " alternate elements iterated",
+                count == (elementSize / 2));
+    }
+
+    public void testNoHasNext() throws Exception {
+        Element root = iterDocument.getRootElement();
+        List elements = root.elements("iterator test");
+        Iterator iter = root.elementIterator("iterator test");
+        int elementSize = elements.size();
+        int count = 0;
+        Element e = null;
+
+        for (; count < elementSize;) {
+            e = (Element) iter.next();
+            assertEquals("instance " + e.attribute("instance").getValue()
+                    + " equals " + count, e.attribute("instance").getValue(),
+                    Integer.toString(count));
+            System.out.println("instance " + e.attribute("instance").getValue()
+                    + " equals " + count);
+            count++;
+        }
+
+        try {
+            e = (Element) iter.next();
+
+            if (e != null) {
+                // Real Iterators wouldn't get here
+                assertTrue("no more elements,value instead is "
+                        + e.attribute("instance").getValue(), e == null);
+            }
+        } catch (Exception exp) {
+            assertTrue("Real iterators throw NoSuchElementException",
+                    exp instanceof java.util.NoSuchElementException);
+        }
+    }
+
+    public void testExtraHasNexts() throws Exception {
+        Element root = iterDocument.getRootElement();
+        List elements = root.elements("iterator test");
+        Iterator iter = root.elementIterator("iterator test");
+        int elementSize = elements.size();
+        int count = 0;
+
+        for (; iter.hasNext();) {
+            Element e = (Element) iter.next();
+            assertEquals("instance " + e.attribute("instance").getValue()
+                    + " equals " + count, e.attribute("instance").getValue(),
+                    Integer.toString(count));
+            iter.hasNext();
+            count++;
+        }
+
+        assertTrue(elementSize + " elements iterated with extra hasNexts",
+                count == elementSize);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/LineFeedTest.java b/src/test/org/dom4j/LineFeedTest.java
new file mode 100644
index 0000000..20824a5
--- /dev/null
+++ b/src/test/org/dom4j/LineFeedTest.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.StringWriter;
+
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+public class LineFeedTest extends AbstractTestCase {
+    private static final String ATT_TEXT = "Hello&#xa;There&#xa;<>&";
+
+    private static final String TEXT = "Hello\nThere\n<>&";
+
+    private static final String EXPECTED_TEXT = "Hello\nThere\n<>&";
+
+    private static final String EXPECTED_ATT_TEXT = "Hello There <>&";
+
+    public static void main(String[] args) {
+        TestRunner.run(LineFeedTest.class);
+    }
+
+    public void testElement() throws Exception {
+        Document doc = DocumentHelper.parseText("<elem>" + TEXT + "</elem>");
+        Element elem = doc.getRootElement();
+        assertEquals(EXPECTED_TEXT, elem.getText());
+    }
+
+    public void testAttribute() throws Exception {
+        Document doc = DocumentHelper
+                .parseText("<elem attr=\"" + TEXT + "\"/>");
+        Element elem = doc.getRootElement();
+
+        // System.out.println(elem.attributeValue("attr"));
+        assertEquals(EXPECTED_ATT_TEXT, elem.attributeValue("attr"));
+
+        doc = DocumentHelper.parseText("<elem attr=\"" + ATT_TEXT + "\"/>");
+        elem = doc.getRootElement();
+
+        // System.out.println(elem.attributeValue("attr"));
+        assertEquals(EXPECTED_TEXT, elem.attributeValue("attr"));
+    }
+
+    public void testCDATA() throws Exception {
+        Document doc = DocumentHelper.parseText("<elem><![CDATA["
+                + EXPECTED_TEXT + "]]></elem>");
+        Element elem = doc.getRootElement();
+        assertEquals(EXPECTED_TEXT, elem.getText());
+    }
+
+    public void testXmlWriter() throws Exception {
+        Element elem = DocumentHelper.createElement("elem");
+        Document doc = DocumentHelper.createDocument(elem);
+        elem.addCDATA(EXPECTED_TEXT);
+
+        StringWriter sw = new StringWriter();
+        XMLWriter xWriter = new XMLWriter(sw, OutputFormat.createPrettyPrint());
+        xWriter.write(doc);
+        xWriter.close();
+
+        String xmlString = sw.toString();
+        doc = DocumentHelper.parseText(xmlString);
+        elem = doc.getRootElement();
+        assertEquals(EXPECTED_TEXT, elem.getText());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/MakeElementTest.java b/src/test/org/dom4j/MakeElementTest.java
new file mode 100644
index 0000000..7f925fa
--- /dev/null
+++ b/src/test/org/dom4j/MakeElementTest.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * A test harness to test the DocumentHelper.makeElement() methodt
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class MakeElementTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(MakeElementTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testMakeElement() throws Exception {
+        Document doc = DocumentHelper.createDocument();
+
+        Element c = DocumentHelper.makeElement(doc, "a/b/c");
+        assertTrue("Should return a valid element", c != null);
+
+        Element c2 = DocumentHelper.makeElement(doc, "a/b/c");
+
+        assertTrue("Found same element again", c == c2);
+
+        c.addAttribute("x", "123");
+
+        Node found = doc.selectSingleNode("/a/b/c[@x='123']");
+
+        assertEquals("Found same node via XPath", c, found);
+
+        Element b = c.getParent();
+
+        Element e = DocumentHelper.makeElement(b, "c/d/e");
+
+        assertTrue("Should return a valid element", e != null);
+
+        Element e2 = DocumentHelper.makeElement(b, "c/d/e");
+
+        assertTrue("Found same element again", e == e2);
+
+        e.addAttribute("y", "456");
+
+        found = b.selectSingleNode("c/d/e[@y='456']");
+
+        assertEquals("Found same node via XPath", e, found);
+    }
+
+    public void testMakeQualifiedElement() throws Exception {
+        Document doc = DocumentHelper.createDocument();
+        Element root = doc.addElement("root");
+        root.addNamespace("", "defaultURI");
+        root.addNamespace("foo", "fooURI");
+        root.addNamespace("bar", "barURI");
+
+        Element c = DocumentHelper.makeElement(doc, "root/foo:b/bar:c");
+        assertTrue("Should return a valid element", c != null);
+
+        assertEquals("c has a valid namespace", "barURI", c.getNamespaceURI());
+
+        Element b = c.getParent();
+
+        assertEquals("b has a valid namespace", "fooURI", b.getNamespaceURI());
+
+        log("Created: " + c);
+
+        Element c2 = DocumentHelper.makeElement(doc, "root/foo:b/bar:c");
+        assertTrue("Found same element again", c == c2);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/MergeTextTest.java b/src/test/org/dom4j/MergeTextTest.java
new file mode 100644
index 0000000..7ef0d3f
--- /dev/null
+++ b/src/test/org/dom4j/MergeTextTest.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+
+import org.dom4j.io.SAXReader;
+
+/**
+ * A test harness for SAXReader option setMergeAdjacentText(true)
+ * 
+ * @author <a href="mailto:slehmann at novell.com">Steen Lehmann </a>
+ * @version $Revision: 1.4 $
+ */
+public class MergeTextTest extends AbstractTestCase {
+    /** Input XML file to read */
+    private static final String INPUT_XML_FILE = "/xml/test/mergetext.xml";
+
+    public static void main(String[] args) {
+        TestRunner.run(MergeTextTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testNoAdjacentText() throws Exception {
+        // After reading using SAXReader with mergeAdjacentText true,
+        // no two Text objects should be adjacent to each other in the
+        // document.
+        SAXReader reader = new SAXReader();
+        reader.setMergeAdjacentText(true);
+
+        Document document = getDocument(INPUT_XML_FILE, reader);
+
+        checkNoAdjacent(document.getRootElement());
+        log("No adjacent Text nodes in " + document.asXML());
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    private void checkNoAdjacent(Element parent) {
+        // Check that no two Text nodes are adjacent in the parent's content
+        Node prev = null;
+        Iterator iter = parent.nodeIterator();
+
+        while (iter.hasNext()) {
+            Node n = (Node) iter.next();
+
+            if (n instanceof Text && ((prev != null) && prev instanceof Text)) {
+                fail("Node: " + n + " is text and so is its "
+                        + "preceding sibling: " + prev);
+            } else if (n instanceof Element) {
+                checkNoAdjacent((Element) n);
+            }
+
+            prev = n;
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/NamespaceTest.java b/src/test/org/dom4j/NamespaceTest.java
new file mode 100644
index 0000000..d47a32e
--- /dev/null
+++ b/src/test/org/dom4j/NamespaceTest.java
@@ -0,0 +1,175 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.dom4j.io.SAXReader;
+
+/**
+ * A test harness to test the use of Namespaces.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class NamespaceTest extends AbstractTestCase {
+    /** Input XML file to read */
+    private static final String INPUT_XML_FILE = "/xml/namespaces.xml";
+
+    /** Namespace to use in tests */
+    private static final Namespace XSL_NAMESPACE = Namespace.get("xsl",
+            "http://www.w3.org/1999/XSL/Transform");
+
+    private static final QName XSL_TEMPLATE = QName.get("template",
+            XSL_NAMESPACE);
+
+    public static void main(String[] args) {
+        TestRunner.run(NamespaceTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void debugShowNamespaces() throws Exception {
+        Element root = getRootElement();
+
+        for (Iterator iter = root.elementIterator(); iter.hasNext();) {
+            Element element = (Element) iter.next();
+
+            log("Found element:    " + element);
+            log("Namespace:        " + element.getNamespace());
+            log("Namespace prefix: " + element.getNamespacePrefix());
+            log("Namespace URI:    " + element.getNamespaceURI());
+        }
+    }
+
+    public void testGetElement() throws Exception {
+        Element root = getRootElement();
+
+        Element firstTemplate = root.element(XSL_TEMPLATE);
+        assertTrue(
+                "Root element contains at least one <xsl:template/> element",
+                firstTemplate != null);
+
+        log("Found element: " + firstTemplate);
+    }
+
+    public void testGetElements() throws Exception {
+        Element root = getRootElement();
+
+        List list = root.elements(XSL_TEMPLATE);
+        assertTrue(
+                "Root element contains at least one <xsl:template/> element",
+                list.size() > 0);
+
+        log("Found elements: " + list);
+    }
+
+    public void testElementIterator() throws Exception {
+        Element root = getRootElement();
+        Iterator iter = root.elementIterator(XSL_TEMPLATE);
+        assertTrue(
+                "Root element contains at least one <xsl:template/> element",
+                iter.hasNext());
+
+        do {
+            Element element = (Element) iter.next();
+            log("Found element: " + element);
+        } while (iter.hasNext());
+    }
+
+    /**
+     * Tests the use of namespace URI Mapping associated with a DocumentFactory
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void testNamespaceUriMap() throws Exception {
+        // register namespace prefix->uri mappings with factory
+        Map uris = new HashMap();
+        uris.put("x", "fooNamespace");
+        uris.put("y", "barNamespace");
+
+        DocumentFactory factory = new DocumentFactory();
+        factory.setXPathNamespaceURIs(uris);
+
+        // parse or create a document
+        SAXReader reader = new SAXReader();
+        reader.setDocumentFactory(factory);
+
+        Document doc = getDocument("/xml/test/nestedNamespaces.xml", reader);
+
+        // evaluate XPath using registered namespace prefixes
+        // which do not appear in the document (though the URIs do!)
+        String value = doc.valueOf("/x:pizza/y:cheese/x:pepper");
+
+        log("Found value: " + value);
+
+        assertEquals("XPath used default namesapce URIS", "works", value);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = getDocument(INPUT_XML_FILE);
+    }
+
+    /**
+     * DOCUMENT ME!
+     * 
+     * @return the root element of the document
+     */
+    protected Element getRootElement() {
+        Element root = document.getRootElement();
+        assertTrue("Document has root element", root != null);
+
+        return root;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/NamespacesTest.java b/src/test/org/dom4j/NamespacesTest.java
new file mode 100644
index 0000000..cb7a6c5
--- /dev/null
+++ b/src/test/org/dom4j/NamespacesTest.java
@@ -0,0 +1,356 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.StringReader;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.dom4j.io.DOMReader;
+
+import org.xml.sax.InputSource;
+
+/**
+ * Test the use of namespaces
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class NamespacesTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(NamespacesTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testNamespaces() throws Exception {
+        testNamespaces(document);
+        testNamespaces(saxRoundTrip(document));
+        testNamespaces(domRoundTrip(document));
+    }
+
+    public void testNamespaces(Document document) throws Exception {
+        Document doc2 = (Document) document.clone();
+
+        Element root = doc2.getRootElement();
+        assertNamespace(root.getNamespace(), "",
+                "http://www.w3.org/2001/XMLSchema");
+        assertEquals("xmlns=\"http://www.w3.org/2001/XMLSchema\"", root
+                .getNamespace().asXML());
+        assertEquals("namespace::*[name()='']", root.getNamespace().getPath());
+        assertEquals("namespace::*[name()='']", root.getNamespace()
+                .getUniquePath());
+
+        List additionalNS = root.additionalNamespaces();
+        assertTrue("at least one additional namespace", (additionalNS != null)
+                && (additionalNS.size() > 0));
+
+        Namespace ns = (Namespace) additionalNS.get(0);
+        assertNamespace(ns, "t", "http://www.w3.org/namespace/");
+        assertEquals("xmlns:t=\"http://www.w3.org/namespace/\"", ns.asXML());
+        assertEquals("namespace::t", ns.getPath());
+        assertEquals("namespace::t", ns.getUniquePath());
+
+        Node node = root.node(0);
+        assertTrue("First node is a namespace", node instanceof Namespace);
+
+        // now lets try change the namespace
+        root.remove(ns);
+        root.addNamespace("t", "myNewURI");
+
+        additionalNS = root.additionalNamespaces();
+        assertTrue("at least one additional namespace", (additionalNS != null)
+                && (additionalNS.size() > 0));
+
+        ns = (Namespace) additionalNS.get(0);
+        assertNamespace(ns, "t", "myNewURI");
+
+        // lets test the list is backed
+        additionalNS.remove(0);
+        additionalNS.add(Namespace.get("t", "myNewURI-2"));
+
+        additionalNS = root.additionalNamespaces();
+        assertTrue("at least one additional namespace", (additionalNS != null)
+                && (additionalNS.size() > 0));
+
+        ns = (Namespace) additionalNS.get(0);
+        assertNamespace(ns, "t", "myNewURI-2");
+
+        additionalNS.clear();
+        root.addNamespace("t", "myNewURI");
+
+        additionalNS = root.additionalNamespaces();
+        assertTrue("at least one additional namespace", (additionalNS != null)
+                && (additionalNS.size() > 0));
+
+        ns = (Namespace) additionalNS.get(0);
+        assertNamespace(ns, "t", "myNewURI");
+
+        log("Namespaces: " + additionalNS);
+        log("XML is now");
+        log(root.asXML());
+    }
+
+    public void testNamespaceForPrefix() throws Exception {
+        testNamespaceForPrefix(document);
+        testNamespaceForPrefix(saxRoundTrip(document));
+        testNamespaceForPrefix(domRoundTrip(document));
+    }
+
+    public void testNamespaceForPrefix(Document document) throws Exception {
+        Element root = document.getRootElement();
+        Namespace ns = root.getNamespaceForPrefix("t");
+
+        assertNamespace(ns, "t", "http://www.w3.org/namespace/");
+
+        Element element = (Element) root.elements().get(0);
+        Namespace ns2 = element.getNamespaceForPrefix("t");
+
+        assertNamespace(ns2, "t", "http://www.w3.org/namespace/");
+        assertTrue("Same namespace instance returned", ns == ns2);
+
+        log("found: " + ns.asXML());
+    }
+
+    public void testNamespaceForDefaultPrefix() throws Exception {
+        Document document = getDocument("/xml/test/defaultNamespace.xml");
+
+        testNamespaceForDefaultPrefix(document);
+        testNamespaceForDefaultPrefix(saxRoundTrip(document));
+        testNamespaceForDefaultPrefix(domRoundTrip(document));
+    }
+
+    public void testNamespaceForDefaultPrefix(Document document)
+            throws Exception {
+        List list = document.selectNodes("//*");
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Element element = (Element) iter.next();
+            Namespace ns = element.getNamespaceForPrefix("");
+            assertNamespace(ns, "", "dummyNamespace");
+            ns = element.getNamespaceForPrefix(null);
+            assertNamespace(ns, "", "dummyNamespace");
+            log("found: " + ns.asXML());
+        }
+    }
+
+    public void testAttributeDefaultPrefix() throws Exception {
+        Document document = getDocument("/xml/test/soap3.xml");
+
+        testAttributeDefaultPrefix(document);
+        testAttributeDefaultPrefix(saxRoundTrip(document));
+        testAttributeDefaultPrefix(domRoundTrip(document));
+    }
+
+    public void testAttributeDefaultPrefix(Document document) throws Exception {
+        List list = document.selectNodes("//@*[local-name()='actor']");
+
+        assertTrue("Matched at least one 'actor' attribute", list.size() > 0);
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Attribute attribute = (Attribute) iter.next();
+
+            log("found: " + attribute.asXML());
+
+            Element element = attribute.getParent();
+            assertTrue("Attribute has a parent", element != null);
+
+            Namespace ns = element.getNamespaceForPrefix("");
+
+            String uri = "http://schemas.xmlsoap.org/soap/envelope/";
+            assertNamespace(ns, "", uri);
+
+            Namespace ns2 = attribute.getNamespace();
+
+            // Note that namespaces do not inherit the default namespace!
+            assertNamespace(ns2, "", "");
+        }
+    }
+
+    public void testNamespaceForURI() throws Exception {
+        testNamespaceForURI(document);
+        testNamespaceForURI(saxRoundTrip(document));
+        testNamespaceForURI(domRoundTrip(document));
+    }
+
+    public void testNamespaceForURI(Document document) throws Exception {
+        Element root = document.getRootElement();
+
+        Namespace ns = root.getNamespaceForURI("http://www.w3.org/namespace/");
+
+        assertNamespace(ns, "t", "http://www.w3.org/namespace/");
+
+        Element element = (Element) root.elements().get(0);
+        Namespace ns2 = element
+                .getNamespaceForURI("http://www.w3.org/namespace/");
+
+        assertNamespace(ns2, "t", "http://www.w3.org/namespace/");
+
+        assertTrue("Same namespace instance returned", ns == ns2);
+
+        log("found: " + ns.asXML());
+    }
+
+    public void testRedeclareNamespaces() throws Exception {
+        Document document = getDocument("/xml/test/soap2.xml");
+        testRedeclareNamespaces(document);
+        testRedeclareNamespaces(saxRoundTrip(document));
+        testRedeclareNamespaces(domRoundTrip(document));
+    }
+
+    public void testRedeclareNamespaces(Document document) throws Exception {
+        String uri = "http://schemas.xmlsoap.org/soap/envelope/";
+        assertNamespaces(document.selectNodes("//*[local-name()='Envelope']"),
+                "SOAP-ENV", uri);
+        assertNamespaces(document.selectNodes("//*[local-name()='Body']"),
+                "SOAP-ENV", uri);
+        assertNamespaces(document.selectNodes("//*[local-name()='bar']"), "a",
+                "barURI");
+        assertNamespaces(document.selectNodes("//*[local-name()='newBar']"),
+                "a", "newBarURI");
+        assertNamespaces(document.selectNodes("//*[local-name()='foo']"), "",
+                "fooURI");
+        assertNamespaces(document.selectNodes("//*[local-name()='newFoo']"),
+                "", "newFooURI");
+    }
+
+    public void testDefaultNamespaceIssue() throws Exception {
+        Document document = getDocument("/xml/test/defaultNamespaceIssue.xsd");
+        testDefaultNamespaceIssue(document);
+        testDefaultNamespaceIssue(saxRoundTrip(document));
+        testDefaultNamespaceIssue(domRoundTrip(document));
+    }
+
+    public void testDefaultNamespaceIssue(Document document) throws Exception {
+        // When writing documents using a default namespace with XMLWriter
+        // a redeclaration of the default namespace to "" was dropped in the
+        // output. Test that
+        // <xsd:schema><xsd:element><xsd:annotation><xsd:documentation><text>
+        // is in no namespace.
+        String expr 
+            = "/xsd:schema/xsd:element/xsd:annotation/xsd:documentation/text";
+        assertNotNull("default namespace redeclaration", (Element) document
+                .selectSingleNode(expr));
+
+        // The test document has a default namespace declaration on the root
+        // element ("schema"), but the element itself is not in the default
+        // namespace. Test that declaredNamespaces on the root element also
+        // returns the default namespace declaration.
+        Iterator iter = document.getRootElement().declaredNamespaces()
+                .iterator();
+
+        while (iter.hasNext()) {
+            Namespace ns = (Namespace) iter.next();
+
+            if ("urn:wapforum:devicesheet".equals(ns.getURI())
+                    && "".equals(ns.getPrefix())) {
+                return;
+            }
+        }
+
+        fail("Default namespace declaration not present on root element");
+    }
+
+    public void testDefaultNamespace() throws Exception {
+        Document doc = DocumentHelper.createDocument();
+        Element processDef = doc.addElement("process-definition",
+                "http://jbpm.org/statedefinition-2.0-beta3");
+        Element startState = processDef.addElement("start-state");
+        startState.addAttribute("name", "start");
+
+        Element transition = startState.addElement("transition");
+        transition.addAttribute("to", "first");
+
+        assertEquals("http://jbpm.org/statedefinition-2.0-beta3", startState
+                .getNamespace().getURI());
+        assertEquals("", startState.getNamespace().getPrefix());
+
+        System.out.println(doc.asXML());
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = getDocument("/xml/test/test_schema.xml");
+    }
+
+    protected Document saxRoundTrip(Document document) throws Exception {
+        return DocumentHelper.parseText(document.asXML());
+    }
+
+    protected Document domRoundTrip(Document document) throws Exception {
+        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+        factory.setNamespaceAware(true);
+
+        DocumentBuilder builder = factory.newDocumentBuilder();
+        org.w3c.dom.Document domDocument = builder.parse(new InputSource(
+                new StringReader(document.asXML())));
+
+        // now lets read it back as a DOM4J object
+        DOMReader domReader = new DOMReader();
+
+        return domReader.read(domDocument);
+    }
+
+    protected void assertNamespaces(List elements, String prefix, String uri)
+            throws Exception {
+        for (Iterator iter = elements.iterator(); iter.hasNext();) {
+            Element element = (Element) iter.next();
+            assertNamespace(element.getNamespace(), prefix, uri);
+        }
+    }
+
+    protected void assertNamespace(Namespace ns, String prefix, String uri)
+            throws Exception {
+        assertEquals("namespace prefix", prefix, ns.getPrefix());
+        assertEquals("namespace URI", uri, ns.getURI());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/NodeTypeNameTest.java b/src/test/org/dom4j/NodeTypeNameTest.java
new file mode 100644
index 0000000..7a09d6a
--- /dev/null
+++ b/src/test/org/dom4j/NodeTypeNameTest.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+
+/**
+ * Tests the getNodeNameType() method
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class NodeTypeNameTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(NodeTypeNameTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testDocument() throws Exception {
+        testDocument(getDocument());
+    }
+
+    public void testCDATA() throws Exception {
+        testDocument("/xml/cdata.xml");
+    }
+
+    public void testNamespaces() throws Exception {
+        testDocument("/xml/namespaces.xml");
+        testDocument("/xml/testNamespaces.xml");
+    }
+
+    public void testPI() throws Exception {
+        testDocument("/xml/testPI.xml");
+    }
+
+    public void testInline() throws Exception {
+        testDocument("/xml/inline.xml");
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testDocument(String fileName) throws Exception {
+        Document document = getDocument(fileName);
+        testDocument(document);
+    }
+
+    protected void testDocument(Document document) throws Exception {
+        assertEquals(document.getNodeTypeName(), "Document");
+
+        DocumentType docType = document.getDocType();
+
+        if (docType != null) {
+            assertEquals(docType.getNodeTypeName(), "DocumentType");
+        }
+
+        testElement(document.getRootElement());
+    }
+
+    protected void testElement(Element element) {
+        assertEquals(element.getNodeTypeName(), "Element");
+
+        for (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+            Attribute attribute = (Attribute) iter.next();
+            assertEquals(attribute.getNodeTypeName(), "Attribute");
+        }
+
+        for (Iterator iter = element.nodeIterator(); iter.hasNext();) {
+            Node node = (Node) iter.next();
+            String nodeTypeName = node.getNodeTypeName();
+
+            if (node instanceof Attribute) {
+                assertEquals(nodeTypeName, "Attribute");
+            } else if (node instanceof CDATA) {
+                assertEquals(nodeTypeName, "CDATA");
+            } else if (node instanceof Comment) {
+                assertEquals(nodeTypeName, "Comment");
+            } else if (node instanceof Element) {
+                assertEquals(nodeTypeName, "Element");
+                testElement((Element) node);
+            } else if (node instanceof Entity) {
+                assertEquals(nodeTypeName, "Entity");
+            } else if (node instanceof Element) {
+                assertEquals(nodeTypeName, "Element");
+            } else if (node instanceof Namespace) {
+                assertEquals(nodeTypeName, "Namespace");
+            } else if (node instanceof ProcessingInstruction) {
+                assertEquals(nodeTypeName, "ProcessingInstruction");
+            } else if (node instanceof Text) {
+                assertEquals(nodeTypeName, "Text");
+            } else {
+                assertTrue("Invalid node type: " + nodeTypeName + " for node: "
+                        + node, false);
+            }
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/NormalizeTest.java b/src/test/org/dom4j/NormalizeTest.java
new file mode 100644
index 0000000..61740b7
--- /dev/null
+++ b/src/test/org/dom4j/NormalizeTest.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * A test harness for the normalize() method
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class NormalizeTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(NormalizeTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testNormalize() throws Exception {
+        String text = document.asXML();
+
+        document.normalize();
+
+        String normalizedText = document.asXML();
+
+        log("Initial: " + text);
+        log("Normalized: " + normalizedText);
+
+        String value = document.valueOf("/dummy/full");
+        assertEquals("Should not trim text", " node ", value);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        String xml = "<dummy> <full> node </full> with text "
+                + "<and>another node</and> </dummy>";
+        document = DocumentHelper.parseText(xml);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/NullAttributesTest.java b/src/test/org/dom4j/NullAttributesTest.java
new file mode 100644
index 0000000..bffd05a
--- /dev/null
+++ b/src/test/org/dom4j/NullAttributesTest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests the use of null attribute values
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class NullAttributesTest extends AbstractTestCase {
+    protected DocumentFactory factory = DocumentFactory.getInstance();
+
+    protected Document document = factory.createDocument();
+
+    protected Element element = document.addElement("root");
+
+    public static void main(String[] args) {
+        TestRunner.run(NullAttributesTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testStringNames() throws Exception {
+        element.addAttribute("foo", null);
+
+        Attribute attribute = element.attribute("foo");
+        assertTrue(attribute == null);
+
+        element.addAttribute("foo", "123");
+        attribute = element.attribute("foo");
+        assertTrue(attribute != null);
+
+        element.addAttribute("foo", null);
+        attribute = element.attribute("foo");
+        assertTrue(attribute == null);
+    }
+
+    public void testQNames() throws Exception {
+        QName bar = QName.get("bar");
+
+        element.addAttribute(bar, null);
+
+        Attribute attribute = element.attribute(bar);
+        assertTrue(attribute == null);
+
+        element.addAttribute(bar, "123");
+        attribute = element.attribute(bar);
+        assertTrue(attribute != null);
+
+        element.addAttribute(bar, null);
+        attribute = element.attribute(bar);
+        assertTrue(attribute == null);
+    }
+
+    public void testAttributes() throws Exception {
+        Attribute attribute = factory.createAttribute(element, "v", null);
+
+        assertTrue(attribute.getText() == null);
+        assertTrue(attribute.getValue() == null);
+
+        element.add(attribute);
+        attribute = element.attribute("v");
+        assertTrue(attribute == null);
+
+        attribute = factory.createAttribute(element, "v", "123");
+        element.add(attribute);
+        attribute = element.attribute("v");
+        assertTrue(attribute != null);
+
+        attribute = factory.createAttribute(element, "v", null);
+        element.add(attribute);
+        attribute = element.attribute("v");
+        assertTrue(attribute == null);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/ParentTest.java b/src/test/org/dom4j/ParentTest.java
new file mode 100644
index 0000000..40dcf26
--- /dev/null
+++ b/src/test/org/dom4j/ParentTest.java
@@ -0,0 +1,116 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * A test harness to test the parent relationship and use of the {@link
+ * Node#asXPathResult} method.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class ParentTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(ParentTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testDocument() throws Exception {
+        testParentRelationship(document.getRootElement());
+    }
+
+    public void testFragment() throws Exception {
+        DocumentFactory factory = new DocumentFactory();
+        Element root = factory.createElement("root");
+        Element first = root.addElement("child");
+        Element second = root.addElement("child");
+
+        testXPathNode(root, first);
+        testXPathNode(root, second);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testParentRelationship(Element parent, List content) {
+        for (Iterator iter = content.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+
+            if (object instanceof Element) {
+                testParentRelationship((Element) object);
+            }
+
+            testXPathNode(parent, (Node) object);
+        }
+    }
+
+    protected void testParentRelationship(Element element) {
+        testParentRelationship(element, element.attributes());
+        testParentRelationship(element, element.content());
+    }
+
+    protected void testXPathNode(Element parent, Node node) {
+        if (node.supportsParent()) {
+            log("Node: " + node);
+            log("Parent: " + parent);
+            log("getParent(): " + node.getParent());
+
+            assertTrue("getParent() returns parent for: " + node, node
+                    .getParent() == parent);
+        } else {
+            // lets create an XPath node
+            Node xpathNode = node.asXPathResult(parent);
+            assertTrue("XPath Node supports parent for: " + xpathNode,
+                    xpathNode.supportsParent());
+            assertTrue("getParent() returns parent for: " + xpathNode,
+                    xpathNode.getParent() == parent);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/ParseTextTest.java b/src/test/org/dom4j/ParseTextTest.java
new file mode 100644
index 0000000..1d47d29
--- /dev/null
+++ b/src/test/org/dom4j/ParseTextTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests the {@link DocumentHelper#parseText(String)}method.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class ParseTextTest extends AbstractTestCase {
+    protected String xmlText = 
+        "<root><author name='James'><location>Paris</location></author></root>";
+
+    public static void main(String[] args) {
+        TestRunner.run(ParseTextTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testDocument() throws Exception {
+        assertTrue("Document is not null", document != null);
+
+        Element root = document.getRootElement();
+
+        assertTrue("Root element is not null", root != null);
+
+        Element author = root.element("author");
+
+        assertTrue("Author element is not null", author != null);
+
+        String name = author.attributeValue("name");
+
+        assertEquals("Name attribute matches", name, "James");
+
+        String location = document.valueOf("/root/author/location");
+
+        assertEquals("Location element matches", location, "Paris");
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = DocumentHelper.parseText(xmlText);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/ProcessingInstructionTest.java b/src/test/org/dom4j/ProcessingInstructionTest.java
new file mode 100644
index 0000000..b84a8e1
--- /dev/null
+++ b/src/test/org/dom4j/ProcessingInstructionTest.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.Map;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author kralik
+ * @author Maarten Coene
+ */
+public class ProcessingInstructionTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(ProcessingInstructionTest.class);
+    }
+
+    public void testParseValues() {
+        String data = " abc='123' def=\"2!=3\" ghi=' 4 = '";
+        ProcessingInstruction pi = DocumentHelper.createProcessingInstruction(
+                "pi", data);
+
+        Map values = pi.getValues();
+        assertEquals(3, values.size());
+        assertEquals("123", pi.getValue("abc"));
+        assertEquals("2!=3", pi.getValue("def"));
+        assertEquals(" 4 = ", pi.getValue("ghi"));
+    }
+
+    public void testBug787428() {
+        String data = "xpath=\"/abc/cde[@id='qqq']\"";
+        ProcessingInstruction pi = DocumentHelper.createProcessingInstruction(
+                "merge", data);
+
+        assertEquals("/abc/cde[@id='qqq']", pi.getValue("xpath"));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/RoundTripTest.java b/src/test/org/dom4j/RoundTripTest.java
new file mode 100644
index 0000000..60abcb8
--- /dev/null
+++ b/src/test/org/dom4j/RoundTripTest.java
@@ -0,0 +1,228 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.dom4j.io.DOMReader;
+import org.dom4j.io.DOMWriter;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.SAXContentHandler;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.SAXWriter;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * A test harness to test the the round trips of Documents.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class RoundTripTest extends AbstractTestCase {
+    protected String[] testDocuments = {"/xml/test/encode.xml",
+            "/xml/fibo.xml", "/xml/test/schema/personal-prefix.xsd",
+            "/xml/test/soap2.xml", "/xml/test/test_schema.xml"};
+
+    public static void main(String[] args) {
+        TestRunner.run(RoundTripTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testTextRoundTrip() throws Exception {
+        for (int i = 0, size = testDocuments.length; i < size; i++) {
+            Document doc = getDocument(testDocuments[i]);
+            roundTripText(doc);
+        }
+    }
+
+    public void testSAXRoundTrip() throws Exception {
+        for (int i = 0, size = testDocuments.length; i < size; i++) {
+            Document doc = getDocument(testDocuments[i]);
+            roundTripSAX(doc);
+        }
+    }
+
+    public void testDOMRoundTrip() throws Exception {
+        for (int i = 0, size = testDocuments.length; i < size; i++) {
+            Document doc = getDocument(testDocuments[i]);
+            roundTripDOM(doc);
+        }
+    }
+
+    public void testJAXPRoundTrip() throws Exception {
+        for (int i = 0, size = testDocuments.length; i < size; i++) {
+            Document doc = getDocument(testDocuments[i]);
+            roundTripJAXP(doc);
+        }
+    }
+
+    public void testFullRoundTrip() throws Exception {
+        for (int i = 0, size = testDocuments.length; i < size; i++) {
+            Document doc = getDocument(testDocuments[i]);
+            roundTripFull(doc);
+        }
+    }
+
+    public void testRoundTrip() throws Exception {
+        Document document = getDocument("/xml/xmlspec.xml");
+
+        // Document doc1 = roundTripText( document );
+        Document doc1 = roundTripSAX(document);
+        Document doc2 = roundTripDOM(doc1);
+        Document doc3 = roundTripSAX(doc2);
+        Document doc4 = roundTripText(doc3);
+        Document doc5 = roundTripDOM(doc4);
+
+        // Document doc5 = roundTripDOM( doc3 );
+        assertDocumentsEqual(document, doc5);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected Document roundTripDOM(Document document) throws Exception {
+        // now lets make a DOM object
+        DOMWriter domWriter = new DOMWriter();
+        org.w3c.dom.Document domDocument = domWriter.write(document);
+
+        // now lets read it back as a DOM4J object
+        DOMReader domReader = new DOMReader();
+        Document newDocument = domReader.read(domDocument);
+
+        // lets ensure names are same
+        newDocument.setName(document.getName());
+
+        assertDocumentsEqual(document, newDocument);
+
+        return newDocument;
+    }
+
+    protected Document roundTripJAXP(Document document) throws Exception {
+        // output the document to a text buffer via JAXP
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer();
+
+        StringWriter buffer = new StringWriter();
+        StreamResult streamResult = new StreamResult(buffer);
+        DocumentSource documentSource = new DocumentSource(document);
+
+        transformer.transform(documentSource, streamResult);
+
+        // now lets parse it back again via JAXP
+        DocumentResult documentResult = new DocumentResult();
+        StreamSource streamSource = new StreamSource(new StringReader(buffer
+                .toString()));
+
+        transformer.transform(streamSource, documentResult);
+
+        Document newDocument = documentResult.getDocument();
+
+        // lets ensure names are same
+        newDocument.setName(document.getName());
+
+        assertDocumentsEqual(document, newDocument);
+
+        return newDocument;
+    }
+
+    protected Document roundTripSAX(Document document) throws Exception {
+        // now lets write it back as SAX events to
+        // a SAX ContentHandler which should build up a new document
+        SAXContentHandler contentHandler = new SAXContentHandler();
+        SAXWriter saxWriter = new SAXWriter(contentHandler, contentHandler,
+                contentHandler);
+
+        saxWriter.write(document);
+
+        Document newDocument = contentHandler.getDocument();
+
+        // lets ensure names are same
+        newDocument.setName(document.getName());
+
+        assertDocumentsEqual(document, newDocument);
+
+        return newDocument;
+    }
+
+    protected Document roundTripText(Document document) throws Exception {
+        StringWriter out = new StringWriter();
+        XMLWriter xmlWriter = new XMLWriter(out);
+
+        xmlWriter.write(document);
+
+        // now lets read it back
+        String xml = out.toString();
+
+        StringReader in = new StringReader(xml);
+        SAXReader reader = new SAXReader();
+        Document newDocument = reader.read(in);
+
+        // lets ensure names are same
+        newDocument.setName(document.getName());
+
+        assertDocumentsEqual(document, newDocument);
+
+        return newDocument;
+    }
+
+    protected Document roundTripFull(Document document) throws Exception {
+        Document doc2 = roundTripDOM(document);
+        Document doc3 = roundTripSAX(doc2);
+        Document doc4 = roundTripText(doc3);
+
+        assertDocumentsEqual(document, doc4);
+
+        return doc4;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/SAXContentHandlerTest.java b/src/test/org/dom4j/SAXContentHandlerTest.java
new file mode 100644
index 0000000..3a9db2c
--- /dev/null
+++ b/src/test/org/dom4j/SAXContentHandlerTest.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.dom4j.io.SAXContentHandler;
+
+import org.xml.sax.XMLReader;
+
+public class SAXContentHandlerTest extends AbstractTestCase {
+    private XMLReader xmlReader;
+
+    protected String[] testDocuments = {"/xml/test/test_schema.xml",
+            "/xml/test/encode.xml", "/xml/fibo.xml",
+            "/xml/test/schema/personal-prefix.xsd", "/xml/test/soap2.xml"};
+
+    public static void main(String[] args) {
+        TestRunner.run(SAXContentHandlerTest.class);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        SAXParserFactory spf = SAXParserFactory.newInstance();
+        spf.setNamespaceAware(true);
+
+        SAXParser parser = spf.newSAXParser();
+        xmlReader = parser.getXMLReader();
+    }
+
+    public void testSAXContentHandler() throws Exception {
+        SAXContentHandler contentHandler = new SAXContentHandler();
+        xmlReader.setContentHandler(contentHandler);
+        xmlReader.setDTDHandler(contentHandler);
+        xmlReader.setProperty("http://xml.org/sax/properties/lexical-handler",
+                contentHandler);
+
+        for (int i = 0, size = testDocuments.length; i < size; i++) {
+            Document docFromSAXReader = getDocument(testDocuments[i]);
+
+            xmlReader.parse(getFile(testDocuments[i]).toString());
+
+            Document docFromSAXContentHandler = contentHandler.getDocument();
+
+            docFromSAXContentHandler.setName(docFromSAXReader.getName());
+
+            assertDocumentsEqual(docFromSAXReader, docFromSAXContentHandler);
+            assertEquals(docFromSAXReader.asXML(), docFromSAXContentHandler
+                    .asXML());
+        }
+    }
+
+    public void testBug926713() throws Exception {
+        Document doc = getDocument("/xml/test/cdata.xml");
+        Element foo = doc.getRootElement();
+        Element bar = foo.element("bar");
+        List content = bar.content();
+        assertEquals(3, content.size());
+        assertEquals(Node.TEXT_NODE, ((Node) content.get(0)).getNodeType());
+        assertEquals(Node.CDATA_SECTION_NODE, ((Node) content.get(1))
+                .getNodeType());
+        assertEquals(Node.TEXT_NODE, ((Node) content.get(2)).getNodeType());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/SerializeTest.java b/src/test/org/dom4j/SerializeTest.java
new file mode 100644
index 0000000..cef93f6
--- /dev/null
+++ b/src/test/org/dom4j/SerializeTest.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.dom4j.io.SAXReader;
+
+/**
+ * Tests that a dom4j document is Serializable
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class SerializeTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(SerializeTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testSerializePeriodicTable() throws Exception {
+        testSerialize("/xml/periodic_table.xml");
+    }
+
+    public void testSerializeMuchAdo() throws Exception {
+        testSerialize("/xml/much_ado.xml");
+    }
+
+    public void testSerializeTestSchema() throws Exception {
+        testSerialize("/xml/test/schema/personal.xsd");
+    }
+
+    public void testSerializeXPath() throws Exception {
+        Map uris = new HashMap();
+        uris.put("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/");
+        uris.put("m", "urn:xmethodsBabelFish");
+
+        DocumentFactory factory = new DocumentFactory();
+        factory.setXPathNamespaceURIs(uris);
+
+        // now parse a document using my factory
+        SAXReader reader = new SAXReader();
+        reader.setDocumentFactory(factory);
+
+        Document doc = getDocument("/xml/soap.xml", reader);
+
+        // now lets use the prefixes
+        String expr = "/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish";
+        Node element = doc.selectSingleNode(expr);
+        assertTrue("Found valid element", element != null);
+
+        XPath xpath = factory
+                .createXPath("/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish");
+        element = xpath.selectSingleNode(doc);
+        assertTrue("Found valid element", element != null);
+
+        // now serialize
+        ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+        ObjectOutputStream out = new ObjectOutputStream(bytesOut);
+        out.writeObject(xpath);
+        out.close();
+
+        byte[] data = bytesOut.toByteArray();
+
+        ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(
+                data));
+        XPath xpath2 = (XPath) in.readObject();
+        in.close();
+
+        element = xpath2.selectSingleNode(doc);
+        assertTrue("Found valid element", element != null);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testSerialize(String xmlFile) throws Exception {
+        Document document = getDocument(xmlFile);
+        String text = document.asXML();
+
+        ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+        ObjectOutputStream out = new ObjectOutputStream(bytesOut);
+        out.writeObject(document);
+        out.close();
+
+        byte[] data = bytesOut.toByteArray();
+
+        ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(
+                data));
+        Document doc2 = (Document) in.readObject();
+        in.close();
+
+        String text2 = doc2.asXML();
+
+        assertEquals("Documents text are equal", text, text2);
+
+        assertTrue("Read back document after serialization", (doc2 != null)
+                && doc2 instanceof Document);
+
+        assertDocumentsEqual(document, (Document) doc2);
+
+        // now lets try add something to the document...
+        doc2.getRootElement().addElement("new");
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/SetContentTest.java b/src/test/org/dom4j/SetContentTest.java
new file mode 100644
index 0000000..b7ad34e
--- /dev/null
+++ b/src/test/org/dom4j/SetContentTest.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests the setContent method
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class SetContentTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(SetContentTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testDocument() throws Exception {
+        document.setName("doc1");
+
+        Element oldRoot = document.getRootElement();
+
+        assertTrue("Current root has document",
+                oldRoot.getDocument() == document);
+
+        Document doc2 = DocumentHelper.createDocument();
+        doc2.setName("doc2");
+
+        assertTrue("Doc2 has no root element", doc2.getRootElement() == null);
+
+        doc2.setContent(document.content());
+
+        Element newRoot = doc2.getRootElement();
+
+        assertTrue("Current root has document",
+                oldRoot.getDocument() == document);
+
+        assertTrue("Doc2 has now has root element", newRoot != null);
+        assertTrue("Doc2 has different root element", newRoot != oldRoot);
+        assertTrue("Root element now has document",
+                newRoot.getDocument() == doc2);
+
+        testParent(doc2.getRootElement());
+        testDocument(doc2, doc2);
+
+        doc2.clearContent();
+
+        assertTrue("New Doc has no root", doc2.getRootElement() == null);
+        assertTrue("New root has no document", newRoot.getDocument() == null);
+    }
+
+    public void testRootElement() throws Exception {
+        Document doc3 = DocumentHelper.createDocument();
+        doc3.setName("doc3");
+
+        Element root = doc3.addElement("root");
+        Element oldElement = root.addElement("old");
+
+        assertTrue("Doc3 has root element", root != null);
+
+        root.setContent(document.getRootElement().content());
+
+        assertTrue("Doc3's root now has content", root.nodeCount() > 0);
+        assertTrue("Old element has no parent now",
+                oldElement.getParent() == null);
+        assertTrue("Old element has no document now",
+                oldElement.getDocument() == null);
+
+        testParent(root);
+        testDocument(root, doc3);
+    }
+
+    /**
+     * Tests all the children of the branch have the correct parent
+     * 
+     * @param parent
+     *            DOCUMENT ME!
+     */
+    protected void testParent(Branch parent) {
+        for (int i = 0, size = parent.nodeCount(); i < size; i++) {
+            Node node = parent.node(i);
+            assertTrue("Child node of root has parent of root", node
+                    .getParent() == parent);
+        }
+    }
+
+    /**
+     * Tests all the children of the branch have the correct document
+     * 
+     * @param branch
+     *            DOCUMENT ME!
+     * @param doc
+     *            DOCUMENT ME!
+     */
+    protected void testDocument(Branch branch, Document doc) {
+        for (int i = 0, size = branch.nodeCount(); i < size; i++) {
+            Node node = branch.node(i);
+            assertTrue("Node has correct document", node.getDocument() == doc);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/SetTextTest.java b/src/test/org/dom4j/SetTextTest.java
new file mode 100644
index 0000000..72b5b09
--- /dev/null
+++ b/src/test/org/dom4j/SetTextTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+/**
+ * Tests the setText method
+ * 
+ * @author <a href="mailto:maartenc at users.sourceforge.net">Maarten Coene </a>
+ */
+public class SetTextTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(SetTextTest.class);
+    }
+
+    /*
+     * The structure of the test document is: [root] [author name="James"
+     * location="UK"] James Strachem
+     * [url]http://sourceforge.net/users/jstrachan/[/url] [/author] [author
+     * name="Bob" location="Canada"] Bob McWhirter
+     * [url]http://sourceforge.net/users/werken/[/url] [/author] [/root]
+     */
+    public void testSetText1() throws Exception {
+        String newURL = "newURL";
+
+        Node urlNode = document.selectSingleNode("//root/author[1]/url");
+        urlNode.setText(newURL);
+
+        assertEquals(newURL, urlNode.getText());
+        assertTrue(urlNode instanceof Element);
+
+        Element urlElement = (Element) urlNode;
+        assertEquals(0, urlElement.elements().size());
+    }
+
+    public void testSetText2() throws Exception {
+        String newName = "Strachem James";
+
+        Node authorNode = document.selectSingleNode("//root/author[1]");
+        authorNode.setText(newName);
+
+        assertEquals(newName, authorNode.getText());
+        assertTrue(authorNode instanceof Element);
+
+        Element urlElement = (Element) authorNode;
+        assertEquals(1, urlElement.elements().size());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/ThreadingTest.java b/src/test/org/dom4j/ThreadingTest.java
new file mode 100644
index 0000000..736a24f
--- /dev/null
+++ b/src/test/org/dom4j/ThreadingTest.java
@@ -0,0 +1,345 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import com.clarkware.junitperf.LoadTest;
+import com.clarkware.junitperf.TimedTest;
+
+import junit.extensions.RepeatedTest;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import junit.textui.TestRunner;
+
+import java.text.FieldPosition;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * A test harness to test the dom4j package in a threaded environment
+ * 
+ * @author <a href="mailto:ddlucas at lse.com">David Lucas </a>
+ * @version $Revision: 1.3 $
+ */
+public class ThreadingTest extends AbstractTestCase {
+    private static final ThreadLocal FORMATTER_CACHE = new ThreadLocal();
+
+    private static final String SEPERATOR = " - ";
+
+    private static final FieldPosition FIELD_ZERO = new FieldPosition(0);
+
+    public ThreadingTest(String name) {
+        super(name);
+    }
+
+    private static void preformat(StringBuffer strBuf, String context) {
+        long now = System.currentTimeMillis();
+        Date currentTime = new Date(now);
+        SimpleDateFormat formatter = (SimpleDateFormat) FORMATTER_CACHE.get();
+
+        if (formatter == null) {
+            formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS zzz");
+            FORMATTER_CACHE.set(formatter);
+        }
+
+        strBuf.append("[");
+        formatter.format(currentTime, strBuf, FIELD_ZERO);
+        strBuf.append(" (").append(now).append(") ]");
+
+        strBuf.append(SEPERATOR);
+        strBuf.append(getThreadId());
+        strBuf.append(SEPERATOR);
+        strBuf.append(context);
+        strBuf.append(SEPERATOR);
+    }
+
+    private static String getThreadId() {
+        String tid = Thread.currentThread().getName();
+
+        return tid;
+    }
+
+    /**
+     * This test combines many different types of operations on DOM4J in a
+     * threaded environment. If a problem occurs with threading, the tests will
+     * fail. This was used to help isolate an internal threading issue.
+     * Unfortunately it may not always create the condition necessary to break
+     * un-thread-safe code. This is due to the nature of the machine, JVM, and
+     * application and if the conditions are right. Typically the problems of
+     * multithreading occur due to an unprotected HashMap or ArrayList in a
+     * class being used by more than one thread. Also, most developers think
+     * that their class or object instance will only be used by one thread. But
+     * if a factory or singleton caches a class or instance, it can quickly
+     * become an unsafe environment. Hence this test to assist in locating
+     * threading issues.
+     */
+    public void testCombo() {
+        int loop = 10;
+
+        try {
+            long begin = System.currentTimeMillis();
+            String value = null;
+            String expected = null;
+            String xml = null;
+            Document doc = null;
+            Element root = null;
+            Element item = null;
+            Element newItem = null;
+            QName qn = null;
+            Namespace ns = null;
+            long now = 0;
+
+            xml = "<ROOT xmlns:t0=\"http://www.lse.com/t0\" >"
+                    + "  <ctx><type>Context</type></ctx>"
+                    + "  <A><B><C><D>This is a TEST</D></C></B></A>"
+                    + "  <t0:Signon><A>xyz</A><t0:Cust>customer</t0:Cust>"
+                    + "</t0:Signon></ROOT>";
+
+            for (int i = 0; i < loop; i++) {
+                doc = DocumentHelper.parseText(xml);
+
+                root = doc.getRootElement();
+                ns = Namespace.get("t0", "http://www.lse.com/t0");
+                qn = QName.get("Signon", ns);
+                item = root.element(qn);
+                value = item.asXML();
+                expected = "<t0:Signon xmlns:t0=\"http://www.lse.com/t0\">"
+                        + "<A>xyz</A><t0:Cust>customer</t0:Cust></t0:Signon>";
+                assertEquals("test t0:Signon ", expected, value);
+
+                qn = root.getQName("Test");
+                newItem = DocumentHelper.createElement(qn);
+                now = System.currentTimeMillis();
+                newItem.setText(String.valueOf(now));
+                root.add(newItem);
+
+                qn = root.getQName("Test2");
+                newItem = DocumentHelper.createElement(qn);
+                now = System.currentTimeMillis();
+                newItem.setText(String.valueOf(now));
+                root.add(newItem);
+
+                item = root.element(qn);
+                item.detach();
+                item.setQName(qn);
+                root.add(item);
+                value = item.asXML();
+                expected = "<Test2>" + now + "</Test2>";
+                assertEquals("test Test2 ", expected, value);
+
+                qn = root.getQName("Test3");
+                newItem = DocumentHelper.createElement(qn);
+                now = System.currentTimeMillis();
+                newItem.setText(String.valueOf(now));
+                root.add(newItem);
+
+                item = root.element(qn);
+                item.detach();
+                item.setQName(qn);
+                root.add(item);
+                value = item.asXML();
+                expected = "<Test3>" + now + "</Test3>";
+                assertEquals("test Test3 ", expected, value);
+
+                qn = item.getQName("Test4");
+                newItem = DocumentHelper.createElement(qn);
+                now = System.currentTimeMillis();
+                newItem.setText(String.valueOf(now));
+                root.add(newItem);
+
+                item = root.element(qn);
+                item.detach();
+                item.setQName(qn);
+                root.add(item);
+                value = item.asXML();
+                expected = "<Test4>" + now + "</Test4>";
+                assertEquals("test Test4 ", expected, value);
+            }
+
+            double duration = System.currentTimeMillis() - begin;
+            double avg = duration / loop;
+        } catch (Exception e) {
+            e.printStackTrace();
+            assertTrue("Exception in test: " + e.getMessage(), false);
+        }
+    }
+
+    /**
+     * This test isolates QNameCache in a multithreaded environment.
+     */
+    public void testQNameCache() {
+        int loop = 100;
+
+        try {
+            long begin = System.currentTimeMillis();
+            String value = null;
+            String expected = null;
+            String xml = null;
+            Document doc = null;
+            Element root = null;
+            Element item = null;
+            Element newItem = null;
+            QName qn = null;
+            Namespace ns = null;
+            long now = 0;
+
+            xml = "<ROOT xmlns:t0=\"http://www.lse.com/t0\" >"
+                    + "  <ctx><type>Context</type></ctx>"
+                    + "  <A><B><C><D>This is a TEST</D></C></B></A>"
+                    + "  <t0:Signon><A>xyz</A><t0:Cust>customer</t0:Cust>"
+                    + "</t0:Signon></ROOT>";
+
+            for (int i = 0; i < loop; i++) {
+                doc = DocumentHelper.parseText(xml);
+                root = doc.getRootElement();
+
+                qn = DocumentHelper.createQName("test");
+                value = fetchValue(qn);
+                expected = "<test/>";
+                assertEquals("test test ", expected, value);
+
+                // creat it again
+                qn = DocumentHelper.createQName("test");
+                value = fetchValue(qn);
+                expected = "<test/>";
+                assertEquals("test test again ", expected, value);
+
+                qn = root.getQName("t0:Signon");
+                value = fetchValue(qn);
+                expected = "<t0:Signon xmlns:t0=\"http://www.lse.com/t0\"/>";
+                assertEquals("test t0:Signon ", expected, value);
+            }
+
+            double duration = System.currentTimeMillis() - begin;
+            double avg = duration / loop;
+        } catch (Exception e) {
+            e.printStackTrace();
+            assertTrue("Exception in test: " + e.getMessage(), false);
+        }
+    }
+
+    /**
+     * This method creates a value that can be expected during a test
+     * 
+     * @param qn
+     * 
+     * @return
+     */
+    public String fetchValue(QName qn) {
+        String value = null;
+
+        StringBuffer sb = new StringBuffer();
+        sb.append("<");
+
+        String prefix = qn.getNamespacePrefix();
+
+        if ((prefix != null) && (prefix.length() > 0)) {
+            sb.append(prefix).append(":");
+        }
+
+        sb.append(qn.getName());
+
+        String uri = qn.getNamespaceURI();
+
+        if ((uri != null) && (uri.length() > 0)) {
+            sb.append(" xmlns");
+
+            if ((prefix != null) && (prefix.length() > 0)) {
+                sb.append(":").append(prefix);
+            }
+
+            sb.append("=\"").append(uri).append("\"");
+        }
+
+        sb.append("/>");
+
+        value = sb.toString();
+
+        return value;
+    }
+
+    /**
+     * Assembles and returns a test suite.
+     * 
+     * @return The suite
+     */
+    public static Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(makeRepeatedLoadTest(5, 10, "testCombo"));
+        suite.addTest(makeRepeatedLoadTest(5, 10, "testQNameCache"));
+
+        return suite;
+    }
+
+    /**
+     * JUnit method to exercise test via threads and loops
+     * 
+     * @param users
+     *            Number of users to simulate (i.e. Threads).
+     * @param iterations
+     *            Number of iterations per user ( repeat the test x times).
+     * @param testMethod
+     *            method to execute (testXXX).
+     * 
+     * @return A Junit test
+     */
+    protected static Test makeRepeatedLoadTest(int users, int iterations,
+            String testMethod) {
+        long maxElapsedTime = 120000 + (1000 * users * iterations);
+
+        Test testCase = new ThreadingTest(testMethod);
+
+        Test repeatedTest = new RepeatedTest(testCase, iterations);
+        Test loadTest = new LoadTest(repeatedTest, users);
+        Test timedTest = new TimedTest(loadTest, maxElapsedTime);
+
+        return timedTest;
+    }
+
+    public static void main(String[] args) {
+        TestRunner.run(ThreadingTest.class);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/UserDataTest.java b/src/test/org/dom4j/UserDataTest.java
new file mode 100644
index 0000000..c151ebd
--- /dev/null
+++ b/src/test/org/dom4j/UserDataTest.java
@@ -0,0 +1,158 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.io.SAXReader;
+import org.dom4j.util.UserDataAttribute;
+import org.dom4j.util.UserDataDocumentFactory;
+import org.dom4j.util.UserDataElement;
+
+/**
+ * Tests the UserDataDocumentFactory
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class UserDataTest extends AbstractTestCase {
+    /** Input XML file to read */
+    private static final String INPUT_XML_FILE = "/xml/web.xml";
+
+    private Object userData = new Double(1.23456);
+
+    public static void main(String[] args) {
+        TestRunner.run(UserDataTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testSetData() throws Exception {
+        Element root = getRootElement();
+
+        assertTrue("Element instanceof UserDataElement",
+                root instanceof UserDataElement);
+
+        root.setData(userData);
+
+        assertTrue("Stored user data!", root.getData() == userData);
+
+        log("root: " + root);
+
+        assertUserData(root, userData);
+
+        Element cloned = (Element) root.clone();
+        assertTrue("Cloned new instance", cloned != root);
+        assertUserData(cloned, userData);
+
+        cloned = root.createCopy();
+        assertTrue("Cloned new instance", cloned != root);
+        assertUserData(cloned, userData);
+    }
+
+    public void testCloneAttribute() throws Exception {
+        Element root = getRootElement();
+        root.addAttribute("name", "value");
+
+        Attribute attribute = root.attribute("name");
+        assertTrue(attribute instanceof UserDataAttribute);
+
+        Element cloned = (Element) root.clone();
+        Attribute clonedAttribute = cloned.attribute("name");
+        assertTrue(clonedAttribute instanceof UserDataAttribute);
+    }
+
+    public void testNewAdditions() throws Exception {
+        Element root = getRootElement();
+
+        Element newElement = root.addElement("foo1234");
+        assertTrue("New Element is a UserDataElement",
+                newElement instanceof UserDataElement);
+
+        root.addAttribute("bar456", "123");
+
+        Attribute newAttribute = root.attribute("bar456");
+
+        assertTrue("New Attribute is a UserDataAttribute",
+                newAttribute instanceof UserDataAttribute);
+    }
+
+    public void testNewDocument() throws Exception {
+        DocumentFactory factory = UserDataDocumentFactory.getInstance();
+        Document document = factory.createDocument();
+
+        Element root = document.addElement("root");
+        assertTrue("Root Element is a UserDataElement",
+                root instanceof UserDataElement);
+
+        Element newElement = root.addElement("foo1234");
+        assertTrue("New Element is a UserDataElement",
+                newElement instanceof UserDataElement);
+
+        root.addAttribute("bar456", "123");
+
+        Attribute newAttribute = root.attribute("bar456");
+
+        assertTrue("New Attribute is a UserDataAttribute",
+                newAttribute instanceof UserDataAttribute);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void assertUserData(Element root, Object data) throws Exception {
+        Object result = root.getData();
+
+        assertTrue("No user data!", result != null);
+        assertTrue("Stored user data correctly", data.equals(result));
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        SAXReader reader = new SAXReader();
+        reader.setDocumentFactory(UserDataDocumentFactory.getInstance());
+        document = getDocument(INPUT_XML_FILE, reader);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/ValidationTest.java b/src/test/org/dom4j/ValidationTest.java
new file mode 100644
index 0000000..fb9df01
--- /dev/null
+++ b/src/test/org/dom4j/ValidationTest.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.io.SAXReader;
+
+/**
+ * A test harness for validation when using SAXReader
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class ValidationTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(ValidationTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testValidation() throws Exception {
+        try {
+            SAXReader reader = new SAXReader(true);
+            reader.read("test");
+            fail();
+        } catch (DocumentException e) {
+            // internal parser is non validating, so OK
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/XMLResultTest.java b/src/test/org/dom4j/XMLResultTest.java
new file mode 100644
index 0000000..713007d
--- /dev/null
+++ b/src/test/org/dom4j/XMLResultTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.StringWriter;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLResult;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * Test harness for the XMLResult which acts as a JAXP Result
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class XMLResultTest extends AbstractTestCase {
+    protected static final boolean VERBOSE = false;
+
+    public static void main(String[] args) {
+        TestRunner.run(XMLResultTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testWriter() throws Exception {
+        // load a default transformer
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer();
+
+        // use dom4j document as the source
+        Source source = new DocumentSource(document);
+
+        // use pretty print format and a buffer for the result
+        OutputFormat format = OutputFormat.createCompactFormat();
+        StringWriter buffer = new StringWriter();
+        Result result = new XMLResult(buffer, format);
+
+        // now lets transform
+        transformer.transform(source, result);
+
+        String text = buffer.toString();
+
+        if (VERBOSE) {
+            log("Using JAXP and XMLResult the document is:- ");
+            log(text);
+        }
+
+        StringWriter out = new StringWriter();
+
+        XMLWriter writer = new XMLWriter(out, format);
+        writer.write(document);
+
+        String text2 = out.toString();
+
+        if (VERBOSE) {
+            log("Using XMLWriter the text is:-");
+            log(text2);
+        }
+
+        assertEquals("The text output should be identical", text2, text);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/XMLSpaceAttributeTest.java b/src/test/org/dom4j/XMLSpaceAttributeTest.java
new file mode 100644
index 0000000..03ccbf7
--- /dev/null
+++ b/src/test/org/dom4j/XMLSpaceAttributeTest.java
@@ -0,0 +1,255 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.IOException;
+
+/**
+ * A test harness to test the xml:space attribute for preserve. If it is
+ * preserve, then keep whitespace.
+ * 
+ * @author <a href="mailto:ddlucas at lse.com">David Lucas </a>
+ * @version $Revision: 1.4 $
+ */
+public class XMLSpaceAttributeTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(XMLSpaceAttributeTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testWithTextTrimOn() throws Exception {
+        String xmlString = "<top >"
+                + "<row><col>   This is a test!</col></row>"
+                + "<row><col xml:space=\'preserve\' >   This is a test!</col>"
+                + "</row><row><col>   This is a test!</col></row>" + "</top>";
+        Document doc1 = DocumentHelper.parseText(xmlString);
+        Element c2 = (Element) doc1.selectSingleNode("/top/row[2]/col");
+        String expected = "   New Text TrimOn! ";
+        c2.setText(expected);
+
+        String xml = rewriteToXmlString(doc1, true);
+
+        Document doc2 = DocumentHelper.parseText(xml);
+        Element c4 = (Element) doc2.selectSingleNode("/top/row[2]/col");
+        String actual = c4.getText();
+
+        assertEquals("compared element text expecting whitespace", expected,
+                actual);
+
+        expected = expected.trim();
+        actual = c4.getTextTrim();
+        assertEquals("compared element getTextTrim", expected, actual);
+
+        expected = "This is a test!";
+
+        Element c5 = (Element) doc2.selectSingleNode("/top/row[3]/col");
+        actual = c5.getText();
+        assertEquals("compared element text expecting trimmed whitespace",
+                expected, actual);
+    }
+
+    // -------------------------------------------------------------------------
+    public void testWithTextTrimOff() throws Exception {
+        String xmlString = "<top >"
+                + "<row><col>   This is a test!</col></row>"
+                + "<row><col xml:space=\'preserve\' >   This is a test!</col>"
+                + "</row><row><col>   This is a test!</col></row>" + "</top>";
+        Document doc1 = DocumentHelper.parseText(xmlString);
+        Element c2 = (Element) doc1.selectSingleNode("/top/row[2]/col");
+        String expected = "   New Text TrimOff! ";
+        c2.setText(expected);
+
+        String xml = rewriteToXmlString(doc1, false);
+
+        Document doc2 = DocumentHelper.parseText(xml);
+        Element c4 = (Element) doc2.selectSingleNode("/top/row[2]/col");
+        String actual = c4.getText();
+
+        assertEquals("compared element text expecting whitespace", expected,
+                actual);
+    }
+
+    // -------------------------------------------------------------------------
+    public void testWithTextTrimOnFollow() throws Exception {
+        String xmlString = "<top >"
+                + "<row><col>   This is a test!</col></row>" + "<row>"
+                + "<col xml:space=\'preserve\' >"
+                + "<a><b>   This is embedded!</b></a>"
+                + "<a><b>   This is space=preserve too!</b></a>" + "</col>"
+                + "</row>" + "<row><col>   This is a test!</col></row>"
+                + "</top>";
+        Document doc1 = DocumentHelper.parseText(xmlString);
+        Element c2 = (Element) doc1.selectSingleNode("/top/row[2]/col/a[1]/b");
+        String expected = "   New Text TrimOnFollow! ";
+        c2.setText(expected);
+
+        String xml = rewriteToXmlString(doc1, true);
+
+        Document doc2 = DocumentHelper.parseText(xml);
+
+        Element c4 = (Element) doc2.selectSingleNode("/top/row[2]/col/a[1]/b");
+        String actual = c4.getText();
+
+        assertEquals("compared element text expecting whitespace", expected,
+                actual);
+
+        Element c8 = (Element) doc2.selectSingleNode("/top/row[2]/col/a[2]/b");
+
+        expected = "   This is space=preserve too!";
+        actual = c8.getText();
+        assertEquals("compared element text follow trimmed whitespace",
+                expected, actual);
+
+        expected = expected.trim();
+        actual = c8.getTextTrim();
+        assertEquals("compared element getTextTrim", expected, actual);
+
+        Element c12 = (Element) doc2.selectSingleNode("/top/row[3]/col");
+
+        expected = "This is a test!";
+        actual = c12.getText();
+        assertEquals("compared element text follow trimmed whitespace",
+                expected, actual);
+    }
+
+    // -------------------------------------------------------------------------
+    public void testWithTextTrimOnNested() throws Exception {
+        String xmlString = "<top >"
+                + "<row><col>   This is a test!</col></row>" + "<row>"
+                + "<col xml:space='preserve' >" + "<a>"
+                + "<b>   This is embedded! </b>"
+                + "<b xml:space='default' >   This should do global default! "
+                + "</b><b>   This is embedded! </b>" + "</a>" + "</col>"
+                + "</row>" + "<row><col>   This is a test!</col></row>"
+                + "</top>";
+        Document doc1 = DocumentHelper.parseText(xmlString);
+        Element c2 = (Element) doc1.selectSingleNode("/top/row[2]/col/a[1]/b");
+        String expected = "   New Text TrimOnNested! ";
+        c2.setText(expected);
+
+        String xml = rewriteToXmlString(doc1, true);
+
+        Document doc2 = DocumentHelper.parseText(xml);
+
+        Element c4 = (Element) doc2
+                .selectSingleNode("/top/row[2]/col/a[1]/b[1]");
+        String actual = c4.getText();
+        assertEquals("compared element text expecting whitespace", expected,
+                actual);
+
+        Element c8 = (Element) doc2
+                .selectSingleNode("/top/row[2]/col/a[1]/b[2]");
+        expected = "This should do global default!";
+        actual = c8.getText();
+        assertEquals("compared element text nested trimmed whitespace",
+                expected, actual);
+
+        Element c12 = (Element) doc2
+                .selectSingleNode("/top/row[2]/col/a[1]/b[3]");
+        expected = "   This is embedded! ";
+        actual = c12.getText();
+        assertEquals("compared element text nested preserved whitespace",
+                expected, actual);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    private String rewriteToXmlString(Document doc, boolean trimOn)
+            throws IOException {
+        org.dom4j.io.OutputFormat of = org.dom4j.io.OutputFormat
+                .createCompactFormat();
+        of.setIndent(true);
+        of.setNewlines(true);
+        of.setExpandEmptyElements(false);
+        of.setSuppressDeclaration(false);
+        of.setOmitEncoding(false);
+        of.setEncoding("UTF-8");
+        of.setTrimText(trimOn);
+
+        java.io.ByteArrayOutputStream os = new java.io.ByteArrayOutputStream();
+        java.io.BufferedOutputStream bos = new java.io.BufferedOutputStream(os);
+        org.dom4j.io.XMLWriter xmlWriter = new org.dom4j.io.XMLWriter(of);
+
+        xmlWriter.setOutputStream(bos);
+        xmlWriter.write(doc);
+        xmlWriter.close();
+
+        String xml = os.toString();
+
+        // System.out.println("***** xml out *****\n"+xml);
+        return xml;
+    }
+
+    // -------------------------------------------------------------------------
+    public void testWithEscapeTextTrimOn() throws Exception {
+        String xmlString = "<top >"
+                + "<row><col>   This is a test!</col></row>"
+                + "<row><col xml:space=\'preserve\' >   This is a test!\r\n"
+                + "With a new line, special character like & , and\t tab."
+                + "</col></row><row><col>   This is a test!\r\nWith a new line,"
+                + " special character like & , and\t tab.</col></row>"
+                + "</top>";
+        Document doc1 = DocumentHelper.parseText(xmlString);
+        String xml = rewriteToXmlString(doc1, true);
+        Document doc2 = DocumentHelper.parseText(xml);
+
+        Element c2 = (Element) doc2.selectSingleNode("/top/row[2]/col");
+        String expected = "   This is a test!\nWith a new line, special "
+                + "character like & , and\t tab.";
+        String actual = c2.getText();
+        assertEquals("compared element text expecting whitespace", expected,
+                actual);
+
+        Element c4 = (Element) doc2.selectSingleNode("/top/row[3]/col");
+        expected = "This is a test! With a new line, special character "
+                + "like & , and tab.";
+        actual = c4.getText();
+        assertEquals("compared element text expecting whitespace", expected,
+                actual);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/XMLWriterTest.java b/src/test/org/dom4j/XMLWriterTest.java
new file mode 100644
index 0000000..11bda6d
--- /dev/null
+++ b/src/test/org/dom4j/XMLWriterTest.java
@@ -0,0 +1,581 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.tree.BaseElement;
+import org.dom4j.tree.DefaultDocument;
+
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.AttributesImpl;
+
+/**
+ * A simple test harness to check that the XML Writer works
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.7.2.1 $
+ */
+public class XMLWriterTest extends AbstractTestCase {
+    protected static final boolean VERBOSE = false;
+
+    public static void main(String[] args) {
+        TestRunner.run(XMLWriterTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testBug1180791() throws Exception {
+        String xml = "<?xml version=\"1.0\"?><root><foo>bar</foo></root>";
+
+        SAXReader reader = new SAXReader();
+        Document doc = reader.read(new StringReader(xml));
+        // of with newlines
+        OutputFormat format = new OutputFormat();
+        format.setNewlines(true);
+        //format.setTrimText(true);
+        // first time
+        StringWriter writer = new StringWriter();
+        XMLWriter xmlwriter = new XMLWriter(writer, format);
+        xmlwriter.write(doc);
+        System.out.println(writer.toString());
+
+        // 2nd time
+        doc = reader.read(new StringReader(writer.toString()));
+        writer = new StringWriter();
+        xmlwriter = new XMLWriter(writer, format);
+        xmlwriter.write(doc);
+        System.out.println(writer.toString());
+    }
+
+    public void testBug1119733() throws Exception {
+        Document doc = DocumentHelper
+                .parseText("<root><code>foo</code> bar</root>");
+
+        StringWriter out = new StringWriter();
+        XMLWriter writer = new XMLWriter(out, OutputFormat.createPrettyPrint());
+        writer.write(doc);
+        writer.close();
+
+        String xml = out.toString();
+
+        System.out.println(xml);
+        assertEquals("whitespace problem", -1, xml.indexOf("</code>bar"));
+    }
+
+    public void testBug1119733WithSAXEvents() throws Exception {
+        StringWriter out = new StringWriter();
+        XMLWriter writer = new XMLWriter(out, OutputFormat.createPrettyPrint());
+        writer.startDocument();
+        writer.startElement(null, "root", "root", new AttributesImpl());
+        writer.startElement(null, "code", "code", new AttributesImpl());
+        writer.characters(new char[] { 'f', 'o', 'o' }, 0, 3);
+        writer.endElement(null, "code", "code");
+        writer.characters(new char[] { ' ', 'b', 'a', 'r' }, 0, 4);
+        writer.endElement(null, "root", "root");
+        writer.endDocument();
+        writer.close();
+
+        String xml = out.toString();
+
+        System.out.println(xml);
+        assertEquals("whitespace problem", -1, xml.indexOf("</code>bar"));
+    }
+
+    public void testWriter() throws Exception {
+        Object object = document;
+        StringWriter out = new StringWriter();
+
+        XMLWriter writer = new XMLWriter(out);
+        writer.write(object);
+        writer.close();
+
+        String text = out.toString();
+
+        if (VERBOSE) {
+            log("Text output is [");
+            log(text);
+            log("]. Done");
+        }
+
+        assertTrue("Output text is bigger than 10 characters",
+                text.length() > 10);
+    }
+
+    public void testEncodingFormats() throws Exception {
+        testEncoding("UTF-8");
+        testEncoding("UTF-16");
+        testEncoding("ISO-8859-1");
+    }
+
+    public void testWritingEmptyElement() throws Exception {
+        Document doc = DocumentFactory.getInstance().createDocument();
+        Element grandFather = doc.addElement("grandfather");
+        Element parent1 = grandFather.addElement("parent");
+        Element child1 = parent1.addElement("child1");
+        Element child2 = parent1.addElement("child2");
+        child2.setText("test");
+
+        Element parent2 = grandFather.addElement("parent");
+        Element child3 = parent2.addElement("child3");
+        child3.setText("test");
+
+        StringWriter buffer = new StringWriter();
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        XMLWriter writer = new XMLWriter(buffer, format);
+        writer.write(doc);
+
+        String xml = buffer.toString();
+
+        System.out.println(xml);
+
+        assertTrue("child2 not present",
+                xml.indexOf("<child2>test</child2>") != -1);
+    }
+
+    protected void testEncoding(String encoding) throws Exception {
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        format.setEncoding(encoding);
+
+        XMLWriter writer = new XMLWriter(out, format);
+        writer.write(document);
+        writer.close();
+
+        log("Wrote to encoding: " + encoding);
+    }
+
+    public void testWriterBug() throws Exception {
+        Element project = new BaseElement("project");
+        Document doc = new DefaultDocument(project);
+
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        XMLWriter writer = new XMLWriter(out, new OutputFormat("\t", true,
+                "ISO-8859-1"));
+        writer.write(doc);
+
+        ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
+        SAXReader reader = new SAXReader();
+        Document doc2 = reader.read(in);
+
+        assertTrue("Generated document has a root element", doc2
+                .getRootElement() != null);
+        assertEquals("Generated document has corrent named root element", doc2
+                .getRootElement().getName(), "project");
+    }
+
+    public void testNamespaceBug() throws Exception {
+        Document doc = DocumentHelper.createDocument();
+
+        Element root = doc.addElement("root", "ns1");
+        Element child1 = root.addElement("joe", "ns2");
+        child1.addElement("zot", "ns1");
+
+        StringWriter out = new StringWriter();
+        XMLWriter writer = new XMLWriter(out, OutputFormat.createPrettyPrint());
+        writer.write(doc);
+
+        String text = out.toString();
+
+        // System.out.println( "Generated:" + text );
+        Document doc2 = DocumentHelper.parseText(text);
+        root = doc2.getRootElement();
+        assertEquals("root has incorrect namespace", "ns1", root
+                .getNamespaceURI());
+
+        Element joe = (Element) root.elementIterator().next();
+        assertEquals("joe has correct namespace", "ns2", joe.getNamespaceURI());
+
+        Element zot = (Element) joe.elementIterator().next();
+        assertEquals("zot has correct namespace", "ns1", zot.getNamespaceURI());
+    }
+
+    /**
+     * This test harness was supplied by Lari Hotari
+     * 
+     * @throws Exception DOCUMENT ME!
+     */
+    public void testContentHandler() throws Exception {
+        StringWriter out = new StringWriter();
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        format.setEncoding("iso-8859-1");
+
+        XMLWriter writer = new XMLWriter(out, format);
+        generateXML(writer);
+        writer.close();
+
+        String text = out.toString();
+
+        if (VERBOSE) {
+            log("Created XML");
+            log(text);
+        }
+
+        // now lets parse the output and test it with XPath
+        Document doc = DocumentHelper.parseText(text);
+        String value = doc.valueOf("/processes[@name='arvojoo']");
+        assertEquals("Document contains the correct text", "jeejee", value);
+    }
+
+    /**
+     * This test was provided by Manfred Lotz
+     * 
+     * @throws Exception DOCUMENT ME!
+     */
+    public void testWhitespaceBug() throws Exception {
+        String notes = "<notes> This is a      multiline\n\rentry</notes>";
+        Document doc = DocumentHelper.parseText(notes);
+
+        OutputFormat format = new OutputFormat();
+        format.setEncoding("UTF-8");
+        format.setIndentSize(4);
+        format.setNewlines(true);
+        format.setTrimText(true);
+        format.setExpandEmptyElements(true);
+
+        StringWriter buffer = new StringWriter();
+        XMLWriter writer = new XMLWriter(buffer, format);
+        writer.write(doc);
+
+        String xml = buffer.toString();
+        log(xml);
+
+        Document doc2 = DocumentHelper.parseText(xml);
+        String text = doc2.valueOf("/notes");
+        String expected = "This is a multiline entry";
+
+        assertEquals("valueOf() returns the correct text padding", expected,
+                text);
+
+        assertEquals("getText() returns the correct text padding", expected,
+                doc2.getRootElement().getText());
+    }
+
+    /**
+     * This test was provided by Manfred Lotz
+     * 
+     * @throws Exception DOCUMENT ME!
+     */
+    public void testWhitespaceBug2() throws Exception {
+        Document doc = DocumentHelper.createDocument();
+        Element root = doc.addElement("root");
+        Element meaning = root.addElement("meaning");
+        meaning.addText("to li");
+        meaning.addText("ve");
+
+        OutputFormat format = new OutputFormat();
+        format.setEncoding("UTF-8");
+        format.setIndentSize(4);
+        format.setNewlines(true);
+        format.setTrimText(true);
+        format.setExpandEmptyElements(true);
+
+        StringWriter buffer = new StringWriter();
+        XMLWriter writer = new XMLWriter(buffer, format);
+        writer.write(doc);
+
+        String xml = buffer.toString();
+        log(xml);
+
+        Document doc2 = DocumentHelper.parseText(xml);
+        String text = doc2.valueOf("/root/meaning");
+        String expected = "to live";
+
+        assertEquals("valueOf() returns the correct text padding", expected,
+                text);
+
+        assertEquals("getText() returns the correct text padding", expected,
+                doc2.getRootElement().element("meaning").getText());
+    }
+
+    public void testPadding() throws Exception {
+        Document doc = DocumentFactory.getInstance().createDocument();
+        Element root = doc.addElement("root");
+        root.addText("prefix    ");
+        root.addElement("b");
+        root.addText("      suffix");
+
+        OutputFormat format = new OutputFormat("", false);
+        format.setOmitEncoding(true);
+        format.setSuppressDeclaration(true);
+        format.setExpandEmptyElements(true);
+        format.setPadText(true);
+        format.setTrimText(true);
+
+        StringWriter buffer = new StringWriter();
+        XMLWriter writer = new XMLWriter(buffer, format);
+        writer.write(doc);
+
+        String xml = buffer.toString();
+
+        System.out.println("xml: " + xml);
+
+        String expected = "<root>prefix <b></b> suffix</root>";
+        assertEquals(expected, xml);
+    }
+
+    public void testPadding2() throws Exception {
+        Document doc = DocumentFactory.getInstance().createDocument();
+        Element root = doc.addElement("root");
+        root.addText("prefix");
+        root.addElement("b");
+        root.addText("suffix");
+
+        OutputFormat format = new OutputFormat("", false);
+        format.setOmitEncoding(true);
+        format.setSuppressDeclaration(true);
+        format.setExpandEmptyElements(true);
+        format.setPadText(true);
+        format.setTrimText(true);
+
+        StringWriter buffer = new StringWriter();
+        XMLWriter writer = new XMLWriter(buffer, format);
+        writer.write(doc);
+
+        String xml = buffer.toString();
+
+        System.out.println("xml: " + xml);
+
+        String expected = "<root>prefix<b></b>suffix</root>";
+        assertEquals(expected, xml);
+    }
+
+    /*
+     * This must be tested manually to see if the layout is correct.
+     */
+    public void testPrettyPrinting() throws Exception {
+        Document doc = DocumentFactory.getInstance().createDocument();
+        doc.addElement("summary").addAttribute("date", "6/7/8").addElement(
+                "orderline").addText("puffins").addElement("ranjit")
+                .addComment("Ranjit is a happy Puffin");
+
+        XMLWriter writer = new XMLWriter(System.out, OutputFormat
+                .createPrettyPrint());
+        writer.write(doc);
+
+        doc = DocumentFactory.getInstance().createDocument();
+        doc.addElement("summary").addAttribute("date", "6/7/8").addElement(
+                "orderline").addText("puffins").addElement("ranjit")
+                .addComment("Ranjit is a happy Puffin").addComment(
+                        "another comment").addElement("anotherElement");
+        writer.write(doc);
+    }
+
+    public void testAttributeQuotes() throws Exception {
+        Document doc = DocumentFactory.getInstance().createDocument();
+        doc.addElement("root").addAttribute("test", "text with ' in it");
+
+        StringWriter out = new StringWriter();
+        XMLWriter writer = new XMLWriter(out, OutputFormat
+                .createCompactFormat());
+        writer.write(doc);
+
+        String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+                + "<root test=\"text with ' in it\"/>";
+        assertEquals(expected, out.toString());
+    }
+
+    public void testBug868408() throws Exception {
+        Document doc = getDocument("/xml/web.xml");
+        Document doc2 = DocumentHelper.parseText(doc.asXML());
+        assertEquals(doc.asXML(), doc2.asXML());
+    }
+
+    public void testBug923882() throws Exception {
+        Document doc = DocumentFactory.getInstance().createDocument();
+        Element root = doc.addElement("root");
+        root.addText("this is ");
+        root.addText(" sim");
+        root.addText("ple text ");
+        root.addElement("child");
+        root.addText(" contai");
+        root.addText("ning spaces and");
+        root.addText(" multiple textnodes");
+
+        OutputFormat format = new OutputFormat();
+        format.setEncoding("UTF-8");
+        format.setIndentSize(4);
+        format.setNewlines(true);
+        format.setTrimText(true);
+        format.setExpandEmptyElements(true);
+
+        StringWriter buffer = new StringWriter();
+        XMLWriter writer = new XMLWriter(buffer, format);
+        writer.write(doc);
+
+        String xml = buffer.toString();
+        log(xml);
+
+        int start = xml.indexOf("<root");
+        int end = xml.indexOf("/root>") + 6;
+        String eol = "\n"; // System.getProperty("line.separator");
+        String expected = "<root>this is simple text" + eol
+                + "    <child></child>containing spaces and multiple textnodes"
+                + eol + "</root>";
+        System.out.println("Expected:");
+        System.out.println(expected);
+        System.out.println("Obtained:");
+        System.out.println(xml.substring(start, end));
+        assertEquals(expected, xml.substring(start, end));
+    }
+
+    public void testEscapeXML() throws Exception {
+        ByteArrayOutputStream os = new ByteArrayOutputStream();
+        OutputFormat format = new OutputFormat(null, false, "ISO-8859-2");
+        format.setSuppressDeclaration(true);
+
+        XMLWriter writer = new XMLWriter(os, format);
+
+        Document document = DocumentFactory.getInstance().createDocument();
+        Element root = document.addElement("root");
+        root.setText("bla &#c bla");
+
+        writer.write(document);
+
+        String result = os.toString();
+        System.out.println(result);
+
+        Document doc2 = DocumentHelper.parseText(result);
+        doc2.normalize(); // merges adjacant Text nodes
+        System.out.println(doc2.getRootElement().getText());
+        assertNodesEqual(document, doc2);
+    }
+
+    public void testWriteEntities() throws Exception {
+        String xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"
+                + "<!DOCTYPE xml [<!ENTITY copy \"©\"> "
+                + "<!ENTITY trade \"™\"> "
+                + "<!ENTITY deg \"&#x00b0;\"> " + "<!ENTITY gt \">\"> "
+                + "<!ENTITY sup2 \"&#x00b2;\"> "
+                + "<!ENTITY frac14 \"&#x00bc;\"> "
+                + "<!ENTITY quot \""\"> "
+                + "<!ENTITY frac12 \"&#x00bd;\"> "
+                + "<!ENTITY euro \"&#x20ac;\"> "
+                + "<!ENTITY Omega \"Ω\"> ]>\n" + "<root />";
+
+        SAXReader reader = new SAXReader("org.apache.xerces.parsers.SAXParser");
+        reader.setIncludeInternalDTDDeclarations(true);
+
+        Document doc = reader.read(new StringReader(xml));
+        StringWriter wr = new StringWriter();
+        XMLWriter writer = new XMLWriter(wr);
+        writer.write(doc);
+
+        String xml2 = wr.toString();
+        System.out.println(xml2);
+
+        Document doc2 = DocumentHelper.parseText(xml2);
+
+        assertNodesEqual(doc, doc2);
+    }
+
+    public void testEscapeChars() throws Exception {
+        Document document = DocumentFactory.getInstance().createDocument();
+        Element root = document.addElement("root");
+        root.setText("blahblah " + '\u008f');
+
+        XMLWriter writer = new XMLWriter();
+        StringWriter strWriter = new StringWriter();
+        writer.setWriter(strWriter);
+        writer.setMaximumAllowedCharacter(127);
+        writer.write(document);
+
+        String xml = strWriter.toString();
+    }
+
+    public void testEscapeText() throws SAXException {
+        StringWriter writer = new StringWriter();
+        XMLWriter xmlWriter = new XMLWriter(writer);
+        xmlWriter.setEscapeText(false);
+
+        String txt = "<test></test>";
+
+        xmlWriter.startDocument();
+        xmlWriter.characters(txt.toCharArray(), 0, txt.length());
+        xmlWriter.endDocument();
+
+        String output = writer.toString();
+        System.out.println(output);
+        assertTrue(output.indexOf("<test>") != -1);
+    }
+
+    public void testNullCData() {
+        Element e = DocumentHelper.createElement("test");
+        e.add(DocumentHelper.createElement("another").addCDATA(null));
+
+        Document doc = DocumentHelper.createDocument(e);
+
+        assertEquals(-1, e.asXML().indexOf("null"));
+        assertEquals(-1, doc.asXML().indexOf("null"));
+
+        System.out.println(e.asXML());
+        System.out.println(doc.asXML());
+    }
+
+    protected void generateXML(ContentHandler handler) throws SAXException {
+        handler.startDocument();
+
+        AttributesImpl attrs = new AttributesImpl();
+        attrs.clear();
+        attrs.addAttribute("", "", "name", "CDATA", "arvojoo");
+        handler.startElement("", "", "processes", attrs);
+
+        String text = "jeejee";
+        char[] textch = text.toCharArray();
+        handler.characters(textch, 0, textch.length);
+        handler.endElement("", "", "processes");
+        handler.endDocument();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/XPathBugTest.java b/src/test/org/dom4j/XPathBugTest.java
new file mode 100644
index 0000000..a7500ff
--- /dev/null
+++ b/src/test/org/dom4j/XPathBugTest.java
@@ -0,0 +1,165 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+/**
+ * A test harness to test XPath expression evaluation in DOM4J
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class XPathBugTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(XPathBugTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        Document document = getDocument("/xml/rabo1ae.xml");
+        Element root = (Element) document
+                .selectSingleNode("/m:Msg/m:Contents/m:Content");
+
+        assertTrue("root is not null", root != null);
+
+        Namespace ns = root.getNamespaceForPrefix("ab");
+
+        assertTrue("Found namespace", ns != null);
+
+        System.out.println("Found: " + ns.getURI());
+
+        Element element = (Element) root
+                .selectSingleNode("ab:RaboPayLoad[@id='1234123']");
+
+        assertTrue("element is not null", element != null);
+
+        String value = element.valueOf("ab:AccountingEntry/ab:RateType");
+
+        assertEquals("RateType is correct", "CRRNT", value);
+    }
+
+    /**
+     * A bug found by Rob Lebowitz
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void testRobLebowitz() throws Exception {
+        String text = "<ul>" + "    <ul>" + "        <li/>"
+                + "            <ul>" + "                <li/>"
+                + "            </ul>" + "        <li/>" + "    </ul>" + "</ul>";
+
+        Document document = DocumentHelper.parseText(text);
+        List lists = document.selectNodes("//ul | //ol");
+
+        int count = 0;
+
+        for (int i = 0; i < lists.size(); i++) {
+            Element list = (Element) lists.get(i);
+            List nodes = list.selectNodes("ancestor::ul");
+
+            if ((nodes != null) && (nodes.size() > 0)) {
+                continue;
+            }
+
+            nodes = list.selectNodes("ancestor::ol");
+
+            if ((nodes != null) && (nodes.size() > 0)) {
+                continue;
+            }
+        }
+    }
+
+    /**
+     * A bug found by Stefan which results in IndexOutOfBoundsException for
+     * empty results
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void testStefan() throws Exception {
+        String text = "<foo>hello</foo>";
+        Document document = DocumentHelper.parseText(text);
+        XPath xpath = DocumentHelper.createXPath("/x");
+        Object value = xpath.evaluate(document);
+    }
+
+    /**
+     * Test found by Mike Skells
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void testMikeSkells() throws Exception {
+        Document top = DocumentFactory.getInstance().createDocument();
+        Element root = top.addElement("root");
+        root.addElement("child1").addElement("child11");
+        root.addElement("child2").addElement("child21");
+        System.out.println(top.asXML());
+
+        XPath test1 = top.createXPath("/root/child1/child11");
+        XPath test2 = top.createXPath("/root/child2/child21");
+        Node position1 = test1.selectSingleNode(root);
+        Node position2 = test2.selectSingleNode(root);
+
+        System.out.println("test1= " + test1);
+        System.out.println("test2= " + test2);
+        System.out.println("Position1 Xpath = " + position1.getUniquePath());
+        System.out.println("Position2 Xpath = " + position2.getUniquePath());
+
+        System.out.println("test2.matches(position1) : "
+                + test2.matches(position1));
+
+        assertTrue("test1.matches(position1)", test1.matches(position1));
+        assertTrue("test2.matches(position2)", test2.matches(position2));
+
+        assertTrue("test2.matches(position1) should be false", !test2
+                .matches(position1));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/XPathExamplesTest.java b/src/test/org/dom4j/XPathExamplesTest.java
new file mode 100644
index 0000000..144aecf
--- /dev/null
+++ b/src/test/org/dom4j/XPathExamplesTest.java
@@ -0,0 +1,231 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.io.SAXReader;
+import org.dom4j.rule.Pattern;
+
+/**
+ * Performs a number of unit test cases on the XPath engine
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.5 $
+ */
+public class XPathExamplesTest extends AbstractTestCase {
+    protected SAXReader xmlReader = new SAXReader();
+
+    /** The document on which the tests are being run */
+    protected Document testDocument;
+
+    /** The context node on which the tests are being run */
+    protected Node testContext;
+
+    /** factory for XPath, Patterns and nodes */
+    protected DocumentFactory factory = DocumentFactory.getInstance();
+
+    public static void main(String[] args) {
+        TestRunner.run(XPathExamplesTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        Document document = getDocument("/xml/test/xpath/tests.xml");
+        Element root = document.getRootElement();
+
+        Iterator iter = root.elementIterator("document");
+
+        while (iter.hasNext()) {
+            Element documentTest = (Element) iter.next();
+            testDocument(documentTest);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testDocument(Element documentTest) throws Exception {
+        String url = documentTest.attributeValue("url");
+        testDocument = xmlReader.read(getFile(url));
+        assertTrue("Loaded test document: " + url, testDocument != null);
+
+        log("Loaded document: " + url);
+
+        for (Iterator iter = documentTest.elementIterator("context"); iter
+                .hasNext();) {
+            Element context = (Element) iter.next();
+            testContext(documentTest, context);
+        }
+    }
+
+    protected void testContext(Element documentTest, Element context)
+            throws Exception {
+        String xpath = context.attributeValue("select");
+
+        List list = testDocument.selectNodes(xpath);
+
+        assertTrue("Found at least one context nodes to test for path: "
+                + xpath, (list != null) && (list.size() > 0));
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+            assertTrue("Context node is a Node: " + object,
+                    object instanceof Node);
+            testContext = (Node) object;
+
+            log("Context is now: " + testContext);
+            runTests(documentTest, context);
+            log("");
+        }
+    }
+
+    protected void runTests(Element documentTest, Element context)
+            throws Exception {
+        for (Iterator iter = context.elementIterator("test"); iter.hasNext();) {
+            Element test = (Element) iter.next();
+            runTest(documentTest, context, test);
+        }
+
+        for (Iterator it = context.elementIterator("valueOf"); it.hasNext();) {
+            Element valueOf = (Element) it.next();
+            testValueOf(documentTest, context, valueOf);
+        }
+
+        for (Iterator it = context.elementIterator("pattern"); it.hasNext();) {
+            Element pattern = (Element) it.next();
+            testPattern(documentTest, context, pattern);
+        }
+
+        Iterator it = context.elementIterator("fileter");
+
+        while (it.hasNext()) {
+            Element filter = (Element) it.next();
+            testFilter(documentTest, context, filter);
+        }
+    }
+
+    protected void runTest(Element documentTest, Element context, Element test)
+            throws Exception {
+        String xpath = test.attributeValue("select");
+
+        String description = "Path: " + xpath;
+
+        String exception = test.attributeValue("exception");
+        if ((exception != null) && exception.equals("true")) {
+            try {
+                testContext.selectNodes(xpath);
+                fail("Exception was not thrown");
+            } catch (XPathException e) {
+                return;
+            }
+        }
+        
+        String count = test.attributeValue("count");
+
+        if (count != null) {
+            int expectedSize = Integer.parseInt(count);
+            List results = testContext.selectNodes(xpath);
+
+            log(description + " found result size: " + results.size());
+
+            assertEquals(description + " wrong result size", expectedSize,
+                    results.size());
+        }
+
+        Element valueOf = test.element("valueOf");
+
+        if (valueOf != null) {
+            Node node = testContext.selectSingleNode(xpath);
+            assertTrue(description + " found node", node != null);
+
+            String expected = valueOf.getText();
+            String result = node.valueOf(valueOf.attributeValue("select"));
+
+            log(description);
+            log("\texpected: " + expected + " result: " + result);
+
+            assertEquals(description, expected, result);
+        }
+    }
+
+    protected void testValueOf(Element documentTest, Element context,
+            Element valueOf) throws Exception {
+        String xpath = valueOf.attributeValue("select");
+        String description = "valueOf: " + xpath;
+
+        String expected = valueOf.getText();
+        String result = testContext.valueOf(xpath);
+
+        log(description);
+        log("\texpected: " + expected + " result: " + result);
+
+        assertEquals(description, expected, result);
+    }
+
+    protected void testPattern(Element documentTest, Element context,
+            Element patternElement) throws Exception {
+        String match = patternElement.attributeValue("match");
+        String description = "match: " + match;
+
+        log("");
+        log(description);
+
+        Pattern pattern = factory.createPattern(match);
+
+        assertTrue(description, pattern.matches(testContext));
+    }
+
+    protected void testFilter(Element documentTest, Element context,
+            Element pattern) throws Exception {
+        String match = pattern.attributeValue("match");
+        String description = "match: " + match;
+
+        assertTrue(description, testContext.matches(match));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/XPathTest.java b/src/test/org/dom4j/XPathTest.java
new file mode 100644
index 0000000..2a6e9f5
--- /dev/null
+++ b/src/test/org/dom4j/XPathTest.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+import org.dom4j.tree.DefaultElement;
+import org.dom4j.xpath.DefaultXPath;
+
+/**
+ * A test harness to test XPath expression evaluation in DOM4J
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class XPathTest extends AbstractTestCase {
+    protected static String[] paths = {
+            ".",
+            "*",
+            "/",
+            "/.",
+            "/*",
+            "/node()",
+            "/child::node()",
+            "/self::node()",
+            "root",
+            "/root",
+            "/root/author",
+            "text()",
+            "//author",
+            "//author/text()",
+            "//@location",
+            "//attribute::*",
+            "//namespace::*",
+            "normalize-space(/root)",
+            "//author[@location]",
+            "//author[@location='UK']",
+            "root|author",
+            "//*[.='James Strachan']",
+            "//root/author[1]",
+            "normalize-space(/root/author)",
+            "normalize-space(' a  b  c  d ')",
+            "//root|//author[1]|//author[2]",
+            "//root/author[2]",
+            "//root/author[3]"};
+
+    public static void main(String[] args) {
+        TestRunner.run(XPathTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testBug1116471() throws Exception {
+        String xml = "<a><b>Water T & D-46816</b></a>";
+        String expected = "Water T & D-46816";
+
+        Document doc = DocumentHelper.parseText(xml);
+        String result = (String) doc.selectObject("string(a/b[1])");
+        
+        assertEquals("xpath result not correct", expected, result);
+        
+        Node node = doc.selectSingleNode("a/b");
+        String result2 = node.getStringValue();
+        
+        assertEquals("xpath result not correct", expected, result2);        
+    }
+    
+    public void testXPaths() throws Exception {
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(paths[i]);
+        }
+    }
+
+    public void testCreateXPathBug() throws Exception {
+        Element element = new DefaultElement("foo");
+        XPath xpath = element.createXPath("//bar");
+
+        assertTrue(("created a valid XPath: " + xpath) != null);
+    }
+
+    public void testBug857704() throws Exception {
+        Document doc = DocumentHelper
+                .parseText("<foo xmlns:bar='http://blort'/>");
+        doc.selectNodes("//*[preceding-sibling::*]"); // shouldn't throw NPE
+    }
+
+    public void testBooleanValueOf() throws Exception {
+        Document doc = DocumentHelper.parseText("<root><foo>blah</foo></root>");
+
+        XPath path = new DefaultXPath("//root");
+        assertTrue(path.booleanValueOf(doc));
+
+        path = new DefaultXPath("//root2");
+        assertFalse(path.booleanValueOf(doc));
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(String xpathExpression) {
+        log("Searched path: " + xpathExpression);
+
+        XPath xpath = DocumentHelper.createXPath(xpathExpression);
+
+        List list = xpath.selectNodes(document);
+
+        if (list == null) {
+            log("null");
+        } else {
+            log("[");
+
+            for (int i = 0, size = list.size(); i < size; i++) {
+                Object object = list.get(i);
+
+                String text = "null";
+
+                if (object instanceof Node) {
+                    Node node = (Node) object;
+
+                    text = node.asXML();
+                } else if (object != null) {
+                    text = object.toString();
+                }
+
+                log("    " + text);
+            }
+
+            log("]");
+        }
+
+        log("...........................................");
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/XSLTTest.java b/src/test/org/dom4j/XSLTTest.java
new file mode 100644
index 0000000..9a80c9d
--- /dev/null
+++ b/src/test/org/dom4j/XSLTTest.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+
+/**
+ * Tests that XSLT works correctly
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class XSLTTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(XSLTTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testTransform() throws Exception {
+        Document transformedDoc = transform("/xml/nitf/ashtml.xsl");
+
+        // log( transformedDoc.asXML() );
+        assertTrue("Transformed Document is not null", transformedDoc != null);
+
+        List h1List = transformedDoc.selectNodes("/html//h1");
+
+        assertTrue("At least one <h1>", h1List.size() > 0);
+
+        List pList = transformedDoc.selectNodes("//p");
+
+        assertTrue("At least one <p>", pList.size() > 0);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = getDocument("/xml/nitf/sample.xml");
+    }
+
+    protected Document transform(String xsl) throws Exception {
+        assertTrue("Document is not null", document != null);
+
+        // load the transformer
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer(new StreamSource(
+                getFile(xsl)));
+
+        // now lets create the TrAX source and result
+        // objects and do the transformation
+        Source source = new DocumentSource(document);
+        DocumentResult result = new DocumentResult();
+        transformer.transform(source, result);
+
+        return result.getDocument();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/bean/BeansTest.java b/src/test/org/dom4j/bean/BeansTest.java
new file mode 100644
index 0000000..c74ad62
--- /dev/null
+++ b/src/test/org/dom4j/bean/BeansTest.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.bean;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.io.SAXReader;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author <a href="mailto:maartenc at users.sourceforge.net">Maarten Coene </a>
+ */
+public class BeansTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(BeansTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testReadXML() throws Exception {
+        SAXReader reader = new SAXReader(BeanDocumentFactory.getInstance());
+        getDocument("/xml/bean/gui.xml", reader);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/datatype/AbstractDataTypeTestCase.java b/src/test/org/dom4j/datatype/AbstractDataTypeTestCase.java
new file mode 100644
index 0000000..f1b91cb
--- /dev/null
+++ b/src/test/org/dom4j/datatype/AbstractDataTypeTestCase.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Attribute;
+import org.dom4j.Element;
+import org.dom4j.Node;
+
+/**
+ * Abstract base class useful for implementation inheritence for testing XML
+ * Schema Data Type integration.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class AbstractDataTypeTestCase extends AbstractTestCase {
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testNodes(String xpath, Class type) {
+        List list = document.selectNodes(xpath);
+
+        assertTrue("Results are not empty", !list.isEmpty());
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Node node = (Node) iter.next();
+
+            if (node instanceof Element) {
+                Element element = (Element) node;
+                testDataType(element, element.getData(), type);
+            } else if (node instanceof Attribute) {
+                Attribute attribute = (Attribute) node;
+                testDataType(attribute, attribute.getData(), type);
+            } else {
+                assertTrue("Did not find an attribute or element: " + node,
+                        false);
+            }
+        }
+    }
+
+    protected void testDataType(Node node, Object data, Class type) {
+        assertTrue("Data object is not null", data != null);
+
+        assertTrue("Data object is of the correct type. Expected: "
+                + type.getName() + " and found: " + data.getClass().getName(),
+                type.isAssignableFrom(data.getClass()));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/datatype/AutoSchemaTest.java b/src/test/org/dom4j/datatype/AutoSchemaTest.java
new file mode 100644
index 0000000..8436921
--- /dev/null
+++ b/src/test/org/dom4j/datatype/AutoSchemaTest.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import junit.textui.TestRunner;
+
+import java.math.BigInteger;
+import java.util.Calendar;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Test harness for the XML Schema Data Type integration. These tests use
+ * auto-loading of the XML Schema document
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class AutoSchemaTest extends AbstractDataTypeTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(AutoSchemaTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testIntAttribute() throws Exception {
+        testNodes("//person/@x", Integer.class);
+    }
+
+    public void testIntElement() throws Exception {
+        testNodes("//person/salary", Integer.class);
+    }
+
+    public void testString() throws Exception {
+        testNodes("//person/note", String.class);
+    }
+
+    public void testDate() throws Exception {
+        testNodes("//person/@d", Calendar.class);
+    }
+
+    public void testDateTime() throws Exception {
+        testNodes("//person/@dt", Calendar.class);
+    }
+
+    public void testInteger() throws Exception {
+        testNodes("//person/@age", BigInteger.class);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        DocumentFactory factory = loadDocumentFactory();
+        SAXReader reader = new SAXReader(factory);
+        document = getDocument(getDocumentURI(), reader);
+    }
+
+    protected String getDocumentURI() {
+        return "/xml/test/schema/personal-schema.xml";
+    }
+
+    protected DocumentFactory loadDocumentFactory() throws Exception {
+        return DatatypeDocumentFactory.getInstance();
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/datatype/DataTypesTest.java b/src/test/org/dom4j/datatype/DataTypesTest.java
new file mode 100644
index 0000000..5d15f69
--- /dev/null
+++ b/src/test/org/dom4j/datatype/DataTypesTest.java
@@ -0,0 +1,188 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import junit.textui.TestRunner;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Calendar;
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Test harness to test the various data types supported in the XML Schema Data
+ * Type integration.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class DataTypesTest extends AbstractDataTypeTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(DataTypesTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testgMonthDay() throws Exception {
+        testNodes("//gMonthDayTag", Calendar.class);
+    }
+
+    public void testgDay() throws Exception {
+        testNodes("//gDayTag", Calendar.class);
+    }
+
+    public void testgMonth() throws Exception {
+        testNodes("//gMonthTag", Calendar.class);
+    }
+
+    public void testDate() throws Exception {
+        testNodes("//dateTag", Calendar.class);
+    }
+
+    public void testTime() throws Exception {
+        testNodes("//timeTag", Calendar.class);
+    }
+
+    public void testDateTime() throws Exception {
+        testNodes("//dateTimeTag", Calendar.class);
+    }
+
+    public void testgYearMonth() throws Exception {
+        testNodes("//gYearMonthTag", Calendar.class);
+    }
+
+    public void testgYear() throws Exception {
+        testNodes("//gYearTag", Calendar.class);
+    }
+
+    public void testBoolean() throws Exception {
+        testNodes("//booleanTag", Boolean.class);
+    }
+
+    public void testBase64Binary() throws Exception {
+        testNodes("//base64BinaryTag", byte[].class);
+    }
+
+    public void testHexBinary() throws Exception {
+        testNodes("//hexBinaryTag", byte[].class);
+    }
+
+    // Number types
+    public void testFloat() throws Exception {
+        testNodes("//floatTag", Float.class);
+    }
+
+    public void testDouble() throws Exception {
+        testNodes("//doubleTag", Double.class);
+    }
+
+    public void testDecimal() throws Exception {
+        testNodes("//decimalTag", BigDecimal.class);
+    }
+
+    public void testInteger() throws Exception {
+        testNodes("//integerTag", BigInteger.class);
+    }
+
+    public void testNonPositiveInteger() throws Exception {
+        testNodes("//nonPositiveIntegerTag", BigInteger.class);
+    }
+
+    public void testNegativeInteger() throws Exception {
+        testNodes("//negativeIntegerTag", BigInteger.class);
+    }
+
+    public void testLong() throws Exception {
+        testNodes("//longTag", Long.class);
+    }
+
+    public void testInt() throws Exception {
+        testNodes("//intTag", Integer.class);
+    }
+
+    public void testShort() throws Exception {
+        testNodes("//shortTag", Short.class);
+    }
+
+    public void testByte() throws Exception {
+        testNodes("//byteTag", Byte.class);
+    }
+
+    public void testNonNegativeInteger() throws Exception {
+        testNodes("//nonNegativeIntegerTag", BigInteger.class);
+    }
+
+    public void testUnsignedLong() throws Exception {
+        testNodes("//unsignedLongTag", BigInteger.class);
+    }
+
+    public void testUnsignedInt() throws Exception {
+        testNodes("//unsignedIntTag", Long.class);
+    }
+
+    public void testUnsignedShort() throws Exception {
+        testNodes("//unsignedShortTag", Integer.class);
+    }
+
+    public void testUnsignedByte() throws Exception {
+        testNodes("//unsignedByteTag", Short.class);
+    }
+
+    public void testPositiveInteger() throws Exception {
+        testNodes("//positiveIntegerTag", BigInteger.class);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        DocumentFactory factory = DatatypeDocumentFactory.getInstance();
+        SAXReader reader = new SAXReader(factory);
+        document = getDocument("/xml/test/schema/test.xml", reader);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/datatype/Datatype2Test.java b/src/test/org/dom4j/datatype/Datatype2Test.java
new file mode 100644
index 0000000..6ec9d1f
--- /dev/null
+++ b/src/test/org/dom4j/datatype/Datatype2Test.java
@@ -0,0 +1,291 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import junit.textui.TestRunner;
+
+import java.io.StringReader;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.SimpleTimeZone;
+import java.util.TimeZone;
+
+import org.dom4j.Attribute;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Test harness for XML Schema Datatypes support
+ * 
+ * @author Yuxin Ruan
+ * @version $Revision: 1.3 $
+ */
+public class Datatype2Test extends AbstractDataTypeTestCase {
+    public static final int YEAR = 2001;
+
+    public static final int MONTH = 10;
+
+    public static final int DATE = 31;
+
+    public static void main(String[] args) {
+        TestRunner.run(Datatype2Test.class);
+    }
+
+    public void testSchema() throws Exception {
+        Document schema = getSchema();
+        validateDocumentWithSchema(schema);
+    }
+
+    public void testSchemaWithNamedComplexType() throws Exception {
+        Document schema = getSchemaWithNamedComplexType();
+        validateDocumentWithSchema(schema);
+    }
+
+    public void testSchemaWithReference() throws Exception {
+        Document schema = getSchemaWithReference();
+        validateDocumentWithSchema(schema);
+    }
+
+    public void testSchemaWithNamedSimpleType() throws Exception {
+        Document schema = getSchemaWithNamedSimpleType();
+        validateDocumentWithSchema(schema);
+    }
+
+    private void validateDocumentWithSchema(Document schema) throws Exception {
+        Document doc = getSource(schema);
+        Element root = doc.getRootElement();
+        validateLongAttribute(root);
+        validateFloatElement(root);
+        validateDateElement(root);
+    }
+
+    private void validateLongAttribute(Element root) throws Exception {
+        Attribute attr = root.attribute("longAttribute");
+        Object attrData = attr.getData();
+        validateData("testLongAttribute", attrData, new Long(123));
+        System.out.println("retrieved attribute " + attrData);
+    }
+
+    private void validateFloatElement(Element root) throws Exception {
+        Element elem = root.element("floatElement");
+        Object elemData = elem.getData();
+        validateData("testFloatElement", elemData, new Float(1.23));
+        System.out.println("retrieved element:" + elemData);
+    }
+
+    private void validateDateElement(Element root) throws Exception {
+        Element elem = root.element("dateElement");
+        Object elemData = elem.getData();
+        Calendar expected = getDate();
+
+        System.out.println("retrieved element:" + elemData);
+
+        // don't compare the Calendar instances, compare their strings instead!
+        assertTrue(elemData instanceof Calendar);
+
+        Calendar elemCal = (Calendar) elemData;
+
+        DateFormat format = new SimpleDateFormat("MM/dd/yyyyZ");
+        format.setTimeZone(elemCal.getTimeZone());
+
+        String elemStr = format.format(elemCal.getTime());
+
+        format.setTimeZone(expected.getTimeZone());
+
+        String expectedStr = format.format(expected.getTime());
+
+        assertEquals("testDateElement", expectedStr, elemStr);
+    }
+
+    private void validateData(String test, Object retrieved, Object expected)
+            throws Exception {
+        Class retrievedClass = retrieved.getClass();
+        Class expectedClass = expected.getClass();
+
+        // compare class
+        if (!expectedClass.equals(retrievedClass)) {
+            String msg = "class mismatch in " + test + ":expected "
+                    + expectedClass + ", retrieved " + retrievedClass;
+            throw new Exception(msg);
+        }
+
+        // compare value
+        if (!expected.equals(retrieved)) {
+            String msg = "value mismatch in " + test + ":expected " + expected
+                    + ", retrieved " + retrieved;
+            throw new Exception(msg);
+        }
+    }
+
+    private Document getSource(Document schema) throws Exception {
+        StringBuffer b = new StringBuffer();
+        b.append("<?xml version='1.0' ?>");
+        b.append("<test xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'");
+        b.append("        xsi:noNamespaceSchemaLocation='long.xsd'");
+        b.append("        longAttribute='123' >");
+        b.append("    <floatElement>1.23</floatElement>");
+        b.append("    <dateElement>" + getDateString() + "</dateElement>");
+        b.append("</test>");
+
+        StringReader in = new StringReader(b.toString());
+        DatatypeDocumentFactory docFactory = new DatatypeDocumentFactory();
+        docFactory.loadSchema(schema);
+
+        SAXReader parser = new SAXReader(docFactory);
+
+        return parser.read(in);
+    }
+
+    private Document getSchema() throws Exception {
+        StringBuffer b = new StringBuffer();
+        b.append("<?xml version='1.0' encoding='UTF-8'?>");
+        b.append("<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>");
+        b.append(" <xsd:element name='test'>");
+        b.append("  <xsd:complexType>");
+        b.append("   <xsd:sequence>");
+        b.append("    <xsd:element name='floatElement' type='xsd:float' />");
+        b.append("    <xsd:element name='dateElement' type='xsd:date' />");
+        b.append("   </xsd:sequence>");
+        b.append("   <xsd:attribute name='longAttribute' type='xsd:long' />");
+        b.append("  </xsd:complexType>");
+        b.append(" </xsd:element>");
+        b.append("</xsd:schema>");
+
+        StringReader in = new StringReader(b.toString());
+        SAXReader parser = new SAXReader();
+
+        return parser.read(in);
+    }
+
+    private Document getSchemaWithNamedComplexType() throws Exception {
+        StringBuffer b = new StringBuffer();
+        b.append("<?xml version='1.0' encoding='UTF-8'?>");
+        b.append("<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>");
+        b.append(" <xsd:element name='test' type='TimePeriodType' />");
+        b.append(" <xsd:complexType name='TimePeriodType'>");
+        b.append("  <xsd:sequence>");
+        b.append("   <xsd:element name='floatElement' type='xsd:float' />");
+        b.append("   <xsd:element name='dateElement' type='xsd:date' />");
+        b.append("  </xsd:sequence>");
+        b.append("  <xsd:attribute name='longAttribute' type='xsd:long' />");
+        b.append(" </xsd:complexType>");
+        b.append("</xsd:schema>");
+
+        StringReader in = new StringReader(b.toString());
+        SAXReader parser = new SAXReader();
+
+        return parser.read(in);
+    }
+
+    private Document getSchemaWithReference() throws Exception {
+        StringBuffer b = new StringBuffer();
+        b.append("<?xml version='1.0' encoding='UTF-8'?>");
+        b.append("<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>");
+        b.append(" <xsd:element name='test' type='TimePeriodType' />");
+        b.append(" <xsd:complexType name='TimePeriodType'>");
+        b.append("  <xsd:sequence>");
+        b.append("   <xsd:element name='floatElement' type='xsd:float' />");
+        b.append("   <xsd:element ref='dateElement' />");
+        b.append("  </xsd:sequence>");
+        b.append("  <xsd:attribute name='longAttribute' type='xsd:long' />");
+        b.append(" </xsd:complexType>");
+        b.append(" <xsd:element name='dateElement' type='xsd:date' />");
+        b.append("</xsd:schema>");
+
+        StringReader in = new StringReader(b.toString());
+        SAXReader parser = new SAXReader();
+
+        return parser.read(in);
+    }
+
+    private Document getSchemaWithNamedSimpleType() throws Exception {
+        StringBuffer b = new StringBuffer();
+        b.append("<?xml version='1.0' encoding='UTF-8'?>");
+        b.append("<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>");
+        b.append(" <xsd:element name='test'>");
+        b.append("  <xsd:complexType>");
+        b.append("   <xsd:sequence>");
+        b.append("    <xsd:element name='floatElement' type='xsd:float' />");
+        b.append("    <xsd:element name='dateElement' type='dateType' />");
+        b.append("   </xsd:sequence>");
+        b.append("   <xsd:attribute name='longAttribute' type='xsd:long' />");
+        b.append("  </xsd:complexType>");
+        b.append(" </xsd:element>");
+        b.append(" <xsd:simpleType name='dateType'>");
+        b.append("  <xsd:restriction base='xsd:date'>");
+        b.append("  </xsd:restriction>");
+        b.append(" </xsd:simpleType>");
+        b.append("</xsd:schema>");
+
+        StringReader in = new StringReader(b.toString());
+        SAXReader parser = new SAXReader();
+
+        return parser.read(in);
+    }
+
+    private static String getDateString() {
+        // return dateTime in ISO8601 format
+        String yyyy = Integer.toString(YEAR);
+        String mm = Integer.toString(MONTH);
+        String dd = Integer.toString(DATE);
+
+        return yyyy + "-" + mm + "-" + dd + "Z";
+    }
+
+    private static Calendar getDate() {
+        Calendar calendar = new GregorianCalendar();
+        calendar.clear();
+        calendar.set(Calendar.YEAR, YEAR);
+        calendar.set(Calendar.MONTH, MONTH - 1);
+        calendar.set(Calendar.DAY_OF_MONTH, DATE);
+        calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
+        calendar.setTimeZone(new SimpleTimeZone(0, "XSD 'Z' timezone"));
+
+        return calendar;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/datatype/ManualSchemaPrefixTest.java b/src/test/org/dom4j/datatype/ManualSchemaPrefixTest.java
new file mode 100644
index 0000000..45d3074
--- /dev/null
+++ b/src/test/org/dom4j/datatype/ManualSchemaPrefixTest.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+
+/**
+ * Test harness for the XML Schema Data Type integration. These tests manually
+ * load the schemas using prefixes in the XSD file.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class ManualSchemaPrefixTest extends AutoSchemaTest {
+    public static void main(String[] args) {
+        TestRunner.run(ManualSchemaPrefixTest.class);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected DocumentFactory loadDocumentFactory() throws Exception {
+        DatatypeDocumentFactory factory = new DatatypeDocumentFactory();
+
+        Document schemaDocument = 
+                getDocument("/xml/test/schema/personal-prefix.xsd");
+        factory.loadSchema(schemaDocument);
+
+        return factory;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/datatype/ManualSchemaTest.java b/src/test/org/dom4j/datatype/ManualSchemaTest.java
new file mode 100644
index 0000000..9510acb
--- /dev/null
+++ b/src/test/org/dom4j/datatype/ManualSchemaTest.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+
+/**
+ * Test harness for the XML Schema Data Type integration. These tests manually
+ * load the schemas
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class ManualSchemaTest extends AutoSchemaTest {
+    public static void main(String[] args) {
+        TestRunner.run(ManualSchemaTest.class);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected String getDocumentURI() {
+        return "/xml/test/schema/personal.xml";
+    }
+
+    protected DocumentFactory loadDocumentFactory() throws Exception {
+        DatatypeDocumentFactory factory = new DatatypeDocumentFactory();
+
+        Document schemaDocument = getDocument("/xml/test/schema/personal.xsd");
+        factory.loadSchema(schemaDocument);
+
+        return factory;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/datatype/SchemaParseTest.java b/src/test/org/dom4j/datatype/SchemaParseTest.java
new file mode 100644
index 0000000..b9cf853
--- /dev/null
+++ b/src/test/org/dom4j/datatype/SchemaParseTest.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Tests the SchemaParser based on a test case provided by Luis Pe�a S�nchez
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class SchemaParseTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(SchemaParseTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testParseSchema() throws Exception {
+        DatatypeDocumentFactory factory = new DatatypeDocumentFactory();
+
+        SAXReader reader = new SAXReader();
+        reader.setDocumentFactory(factory);
+
+        Document schema = getDocument("/xml/test/LuisSchema.xsd", reader);
+        factory.loadSchema(schema);
+
+        log("Loaded the schema");
+
+        // now load an instance document
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/datatype/SetDataTest.java b/src/test/org/dom4j/datatype/SetDataTest.java
new file mode 100644
index 0000000..b0d77fb
--- /dev/null
+++ b/src/test/org/dom4j/datatype/SetDataTest.java
@@ -0,0 +1,200 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.datatype;
+
+import junit.textui.TestRunner;
+
+import java.math.BigInteger;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Attribute;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+
+/**
+ * Tests setting the value of datatype aware element or attribute value
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class SetDataTest extends AbstractTestCase {
+    private DatatypeDocumentFactory factory = new DatatypeDocumentFactory();
+
+    public static void main(String[] args) {
+        TestRunner.run(SetDataTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testAttribute() throws Exception {
+        QName personName = factory.createQName("person");
+        QName ageName = factory.createQName("age");
+
+        Element person = factory.createElement(personName);
+
+        person.addAttribute(ageName, "10");
+
+        Attribute age = person.attribute(ageName);
+
+        assertTrue("Created DatatypeAttribute not correct",
+                age instanceof DatatypeAttribute);
+
+        log("Found attribute: " + age);
+
+        Object data = age.getData();
+        Object expected = new BigInteger("10");
+
+        assertEquals("Data is correct type", BigInteger.class, data.getClass());
+
+        assertEquals("Set age correctly", expected, data);
+
+        age.setValue("32");
+        data = age.getData();
+        expected = new BigInteger("32");
+
+        assertEquals("Set age correctly", expected, data);
+
+        /**
+         * not sure if numeric types should be round tripped back to BigDecimal
+         * (say) age.setData( new Long( 21 ) ); data = age.getData(); expected =
+         * new BigInteger( "21" ); assertEquals( "Set age correctly", expected,
+         * data );
+         */
+
+        // now lets set an invalid value
+        try {
+            age.setValue("abc");
+            fail("Appeared to set an invalid value");
+        } catch (IllegalArgumentException e) {
+        }
+    }
+
+    public void testAttributeWithNamespace() throws Exception {
+        QName personName = factory.createQName("person", "t", "urn://testing");
+        QName ageName = factory.createQName("age", "t", "urn://testing");
+
+        Element person = factory.createElement(personName);
+
+        person.addAttribute(ageName, "10");
+
+        Attribute age = person.attribute(ageName);
+
+        assertTrue("Created DatatypeAttribute not correct",
+                age instanceof DatatypeAttribute);
+
+        log("Found attribute: " + age);
+
+        Object data = age.getData();
+        Object expected = new BigInteger("10");
+
+        assertEquals("Data is correct type", BigInteger.class, data.getClass());
+
+        assertEquals("Set age correctly", expected, data);
+
+        age.setValue("32");
+        data = age.getData();
+        expected = new BigInteger("32");
+
+        assertEquals("Set age correctly", expected, data);
+
+        try {
+            age.setValue("abc");
+            fail("Appeared to set an invalid value");
+        } catch (IllegalArgumentException e) {
+        }
+    }
+
+    public void testElement() throws Exception {
+        QName personName = factory.createQName("person");
+        QName numberOfCarsName = factory.createQName("numberOfCars");
+
+        Element person = factory.createElement(personName);
+
+        Element cars = person.addElement(numberOfCarsName);
+
+        log("Found element: " + cars);
+
+        Object expected = new Short((short) 10);
+        cars.setData(expected);
+
+        Object data = cars.getData();
+
+        assertEquals("Data is correct type", Short.class, data.getClass());
+        assertEquals("Set cars correctly", expected, data);
+
+        cars.setData(new Short((short) 32));
+        data = cars.getData();
+        expected = new Short((short) 32);
+
+        assertEquals("Set cars correctly", expected, data);
+
+        cars.setText("34");
+        data = cars.getData();
+        expected = new Short((short) 34);
+
+        assertEquals("Set cars correctly", expected, data);
+
+        // now lets set an invalid value
+        try {
+            cars.setText("abc");
+            fail("Appeared to set an invalid value");
+        } catch (IllegalArgumentException e) {
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        Document schema = getDocument("/xml/test/schema/personal.xsd");
+        factory.loadSchema(schema);
+
+        Namespace ns = new Namespace("t", "urn://testing");
+        factory.loadSchema(schema, ns);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/dom/DOMTest.java b/src/test/org/dom4j/dom/DOMTest.java
new file mode 100644
index 0000000..d2df526
--- /dev/null
+++ b/src/test/org/dom4j/dom/DOMTest.java
@@ -0,0 +1,250 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dom;
+
+import junit.textui.TestRunner;
+
+import java.io.StringReader;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.io.DOMWriter;
+import org.dom4j.io.SAXReader;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * A test harness to test the native DOM implementation of dom4j
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class DOMTest extends AbstractTestCase {
+    /** Elements. */
+    private long elements;
+
+    /** Attributes. */
+    private long attributes;
+
+    /** Characters. */
+    private long characters;
+
+    public static void main(String[] args) {
+        TestRunner.run(DOMTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testCount() throws Exception {
+        DOMWriter domWriter = new DOMWriter();
+
+        long start = System.currentTimeMillis();
+        org.w3c.dom.Document domDocument = domWriter.write(document);
+        long end = System.currentTimeMillis();
+
+        System.out.println("Converting to a W3C Document took: "
+                + (end - start) + " milliseconds");
+
+        traverse(domDocument);
+
+        log("elements: " + elements + " attributes: " + attributes
+                + " characters: " + characters);
+    }
+
+    public void testNamespace() throws Exception {
+        String xml = "<prefix:root xmlns:prefix=\"myuri\" />";
+        SAXReader xmlReader = new SAXReader(DOMDocumentFactory.getInstance());
+        DOMDocument d = (DOMDocument) xmlReader.read(new StringReader(xml));
+
+        assertEquals("namespace prefix not correct", "prefix", d
+                .getRootElement().getNamespace().getPrefix());
+        assertEquals("namespace uri not correct", "myuri", d.getRootElement()
+                .getNamespace().getURI());
+
+        System.out.println(d.asXML());
+    }
+
+    /**
+     * Tests the bug found by Soumanjoy
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void testClassCastBug() throws Exception {
+        DOMDocument oDocument = new DOMDocument("Root");
+        org.w3c.dom.Element oParent = oDocument.createElement("Parent");
+
+        // <-- Fails here when the code is broken.
+        oParent.setAttribute("name", "N01");
+        oParent.setAttribute("id", "ID01");
+
+        oDocument.appendChild(oParent); // <-- Fails here, Error message is
+        // below
+    }
+
+    public void testReplaceChild() throws Exception {
+        DOMDocument document = new DOMDocument("Root");
+        org.w3c.dom.Element parent = document.createElement("Parent");
+        org.w3c.dom.Element first = document.createElement("FirstChild");
+        org.w3c.dom.Element second = document.createElement("SecondChild");
+        org.w3c.dom.Element third = document.createElement("ThirdChild");
+
+        document.appendChild(parent);
+        parent.appendChild(first);
+        parent.appendChild(second);
+        parent.appendChild(third);
+
+        org.w3c.dom.Element newFirst = document.createElement("NewFirst");
+        org.w3c.dom.Element oldFirst = (org.w3c.dom.Element) parent
+                .replaceChild(newFirst, first);
+
+        /* check the return value of replaceChild */
+        assertEquals(oldFirst, first);
+
+        /* make sure the old node has been replaced */
+        NodeList children = parent.getChildNodes();
+        Node firstChild = children.item(0);
+        assertEquals(Node.ELEMENT_NODE, firstChild.getNodeType());
+        assertEquals(newFirst, firstChild);
+
+        /* try to replace a node that doesn't exist */
+        org.w3c.dom.Element badNode = document.createElement("No Child");
+
+        try {
+            parent.replaceChild(newFirst, badNode);
+            fail("DOMException not thrown");
+        } catch (DOMException e) {
+            assertEquals(DOMException.NOT_FOUND_ERR, e.code);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        SAXReader reader = new SAXReader(DOMDocumentFactory.getInstance());
+        document = getDocument("/xml/contents.xml", reader);
+    }
+
+    /**
+     * Traverses the specified node, recursively.
+     * 
+     * @param node
+     *            DOCUMENT ME!
+     */
+    protected void traverse(Node node) {
+        // is there anything to do?
+        if (node == null) {
+            return;
+        }
+
+        int type = node.getNodeType();
+
+        switch (type) {
+            case Node.DOCUMENT_NODE: {
+                elements = 0;
+                attributes = 0;
+                characters = 0;
+                traverse(((org.w3c.dom.Document) node).getDocumentElement());
+
+                break;
+            }
+
+            case Node.ELEMENT_NODE: {
+                elements++;
+
+                NamedNodeMap attrs = node.getAttributes();
+
+                if (attrs != null) {
+                    attributes += attrs.getLength();
+                }
+
+                NodeList children = node.getChildNodes();
+
+                if (children != null) {
+                    int len = children.getLength();
+
+                    for (int i = 0; i < len; i++) {
+                        traverse(children.item(i));
+                    }
+                }
+
+                break;
+            }
+
+            case Node.ENTITY_REFERENCE_NODE: {
+                NodeList children = node.getChildNodes();
+
+                if (children != null) {
+                    int len = children.getLength();
+
+                    for (int i = 0; i < len; i++) {
+                        traverse(children.item(i));
+                    }
+                }
+
+                break;
+            }
+
+            case Node.CDATA_SECTION_NODE: {
+                characters += node.getNodeValue().length();
+
+                break;
+            }
+
+            case Node.TEXT_NODE: {
+                characters += node.getNodeValue().length();
+
+                break;
+            }
+
+            default:
+                break;
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/dtd/AttributeDeclTest.java b/src/test/org/dom4j/dtd/AttributeDeclTest.java
new file mode 100644
index 0000000..554c77f
--- /dev/null
+++ b/src/test/org/dom4j/dtd/AttributeDeclTest.java
@@ -0,0 +1,258 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dtd;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+
+/**
+ * Tests the {@link AttributeDecl}functionality. Tests each of the property
+ * access methods and the serialization mechanisms. Correct parsing is tested by
+ * {@link DocTypeTest}.
+ * 
+ * <p>
+ * There are several key variations that need to be tested both here and in
+ * {@link DocTypeTest}, which is responsible for testing correct parsing of the
+ * {@link DocumentType}. Those variations include the different
+ * <code>valueDefault</code> and <code>value</code> variations so that we
+ * can test for correct acceptance and correct rejection of attribute
+ * declarations.
+ * </p>
+ * 
+ * <p>
+ * </p>
+ * 
+ * @author Bryan Thompson
+ * @author Maarten Coene
+ * @version $Revision: 1.3 $
+ * 
+ * @todo The dom4j documentation needs to describe what representation SHOULD be
+ *       generated by {@link AttributeDecl#toString()}.
+ * @todo The dom4j AttributeDecl should expose some methods that make it easier
+ *       for people to use the DTD grammar, e.g., isFixed(), isRequired(),
+ *       isImplied().
+ */
+public class AttributeDeclTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(AttributeDeclTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+
+    /**
+     * Test
+     * 
+     * <pre>
+     * 
+     *  <!ATTLIST foo bar ID #IMPLIED>
+     *  
+     * </pre>.
+     */
+    public void testIdImpliedNone() {
+        MyTestAttributeDecl decl = new MyTestAttributeDecl("foo", // elementName
+                "bar", // attributeName
+                "ID", // type
+                "#IMPLIED", // valueDefault
+                null, // value
+                "<!ATTLIST foo bar ID #IMPLIED>");
+        assertSameAttributeDecl(decl, new AttributeDecl("foo", "bar", "ID",
+                "#IMPLIED", null));
+    }
+
+    /**
+     * Test
+     * 
+     * <pre>
+     * 
+     *  <!ATTLIST foo bar CDATA #FIXED \"goo\">
+     *  
+     * </pre>.
+     */
+    public void testCDataFixedValue() {
+        MyTestAttributeDecl decl = new MyTestAttributeDecl("foo", // elementName
+                "bar", // attributeName
+                "CDATA", // type
+                "#FIXED", // valueDefault
+                "goo", // value
+                "<!ATTLIST foo bar CDATA #FIXED \"goo\">");
+        assertSameAttributeDecl(decl, new AttributeDecl("foo", "bar", "CDATA",
+                "#FIXED", "goo"));
+    }
+
+    /**
+     * Test
+     * 
+     * <pre>
+     * 
+     *  <!ATTLIST foo bar CDATA "goo">
+     *  
+     * </pre>.
+     */
+    public void testCDataNoneValue() {
+        MyTestAttributeDecl decl = new MyTestAttributeDecl("foo", // elementName
+                "bar", // attributeName
+                "CDATA", // type
+                null, // valueDefault
+                "goo", // value
+                "<!ATTLIST foo bar CDATA \"goo\">");
+        assertSameAttributeDecl(decl, new AttributeDecl("foo", "bar", "CDATA",
+                null, "goo"));
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void assertSameAttributeDecl(MyTestAttributeDecl expected,
+            AttributeDecl actual) {
+        assertEquals("elementName is correct", expected.getElementName(),
+                actual.getElementName());
+
+        assertEquals("attributeName is correct", expected.getAttributeName(),
+                actual.getAttributeName());
+
+        assertEquals("type is correct", expected.getType(), actual.getType());
+
+        assertEquals("valueDefault is correct", expected.getValueDefault(),
+                actual.getValueDefault());
+
+        assertEquals("toString() is correct", expected.getText(), actual
+                .toString());
+    }
+
+    /**
+     * Helper is useful since we are trying to exhaustively test the ATTLIST
+     * variations and their correct serialization.
+     */
+    protected static class MyTestAttributeDecl {
+        private String elName;
+
+        private String attName;
+
+        private String declType;
+
+        private String defaultValue;
+
+        private String declValue;
+
+        private String txt;
+
+        /**
+         * DOCUMENT ME!
+         * 
+         * @param elementName
+         *            The name of the element whose attribute is being
+         *            described.
+         * @param attributeName
+         *            The name of the attribute.
+         * @param type
+         *            The type of the declared attribute, e.g., CDATA, ID,
+         *            IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NKTOKENS
+         * @param valueDefault
+         *            The type of default that applies for this attribute
+         *            declaration, e.g., #REQUIRED, #IMPLIED, #FIXED (in which
+         *            case the <i>value </i> MUST be non- <code>null</code>
+         *            and specifies the fixed value for the attribute, or
+         *            <code>null</code> if no valueDefault was specified in
+         *            the attribute declaration (in which case the <i>value </i>
+         *            MUST be non- <code>null</code> and specifies the default
+         *            value for the attribute).
+         * @param value
+         *            The value of the attribute assigned in the attribute
+         *            declaration -or- <code>null</code> if no value was
+         *            provided in the attribute declaration. The value MUST be
+         *            <code>null</code> unless the <i>valueDefault </i> is
+         *            either "#FIXED" or <code>null</code>.
+         * @param text
+         *            The text representation of the attribute declaration,
+         *            e.g., <code><!ATTLIST foo id ID #IMPLIED></code>.
+         * 
+         * @todo The constructor and properties in {@link AttributeDecl}should
+         *       have some similar javadoc so that people more easily understand
+         *       the interaction and difference between the <i>valueDefault </i>
+         *       and <i>value </i> properties. The constructor SHOULD be clear
+         *       about whether and when the <code>valueDefault</code> and
+         *       <code>value</code> properties MUST be <code>null</code>.
+         */
+        public MyTestAttributeDecl(String elementName, String attributeName,
+                String type, String valueDefault, String value, String text) {
+            elName = elementName;
+
+            attName = attributeName;
+
+            declType = type;
+
+            defaultValue = valueDefault;
+
+            declValue = value;
+
+            txt = text;
+        }
+
+        public String getElementName() {
+            return elName;
+        }
+
+        public String getAttributeName() {
+            return attName;
+        }
+
+        public String getType() {
+            return declType;
+        }
+
+        public String getValueDefault() {
+            return defaultValue;
+        }
+
+        public String getValue() {
+            return declValue;
+        }
+
+        public String getText() {
+            return txt;
+        }
+    } // Class TestAttributeDecl
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/dtd/ElementDeclTest.java b/src/test/org/dom4j/dtd/ElementDeclTest.java
new file mode 100644
index 0000000..16e299a
--- /dev/null
+++ b/src/test/org/dom4j/dtd/ElementDeclTest.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dtd;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+
+/**
+ * Tests the {@link ElementDecl}functionality. Tests each of the property
+ * access methods and the serialization mechanisms. Correct parsing is tested by
+ * {@link DocTypeTest}.
+ * 
+ * <P>
+ * </p>
+ * 
+ * @author Bryan Thompson
+ * @author Maarten Coene
+ * @version $Revision: 1.3 $
+ * 
+ * @todo The dom4j documentation needs to describe what representation SHOULD be
+ *       generated by {@link ElementDecl#toString()}.
+ */
+public class ElementDeclTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(ElementDeclTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+
+    /**
+     * Test
+     * 
+     * <pre>
+     * 
+     *  <!ELEMENT an-element (#PCDATA)>
+     *  
+     * </pre>
+     */
+    public void testSimpleElementDecl() {
+        String expectedName = "an-element";
+
+        String expectedModel = "(#PCDATA)";
+
+        String expectedText = "<!ELEMENT an-element (#PCDATA)>";
+
+        ElementDecl actual = new ElementDecl(expectedName, expectedModel);
+
+        assertEquals("name is correct", expectedName, actual.getName());
+
+        assertEquals("model is correct", expectedModel, actual.getModel());
+
+        assertEquals("toString() is correct", expectedText, actual.toString());
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/dtd/ExternalEntityDeclTest.java b/src/test/org/dom4j/dtd/ExternalEntityDeclTest.java
new file mode 100644
index 0000000..6bf2b62
--- /dev/null
+++ b/src/test/org/dom4j/dtd/ExternalEntityDeclTest.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dtd;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+
+/**
+ * Tests the {@link ExternalEntityDecl}functionality. Tests each of the
+ * property access methods and the serialization mechanisms. Correct parsing is
+ * tested by {@link DocTypeTest}.
+ * 
+ * <P>
+ * </p>
+ * 
+ * @author Bryan Thompson
+ * @author Maarten Coene
+ * @version $Revision: 1.3 $
+ * 
+ * @todo The dom4j documentation needs to describe what representation SHOULD be
+ *       generated by {@link ExternalEntityDecl#toString()}.
+ * @todo Test support for NOTATION and NDATA when used as part of an external
+ *       entity declaration. dom4j does not appear to support NOTATION and NDATA
+ *       at this time.
+ */
+public class ExternalEntityDeclTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(ExternalEntityDeclTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testToString() {
+        ExternalEntityDecl decl1 = new ExternalEntityDecl("name", null,
+                "systemID");
+        ExternalEntityDecl decl2 = new ExternalEntityDecl("%name", null,
+                "systemID");
+
+        assertEquals("<!ENTITY name SYSTEM \"systemID\" >", decl1.toString());
+        assertEquals("<!ENTITY % name SYSTEM \"systemID\" >", decl2.toString());
+    }
+
+    /**
+     * Tests external entity declaration using only the SYSTEM identifier.
+     */
+    public void testSystemId() {
+        String expectedName = "anEntity";
+
+        String expectedPublicID = null;
+
+        String expectedSystemID = "http://www.myorg.org/foo";
+
+        String expectedText = "<!ENTITY anEntity "
+                + "SYSTEM \"http://www.myorg.org/foo\" >";
+
+        ExternalEntityDecl actual = new ExternalEntityDecl(expectedName,
+                expectedPublicID, expectedSystemID);
+
+        assertEquals("name is correct", expectedName, actual.getName());
+
+        assertEquals("publicID is correct", expectedPublicID, actual
+                .getPublicID());
+
+        assertEquals("systemID is correct", expectedSystemID, actual
+                .getSystemID());
+
+        assertEquals("toString() is correct", expectedText, actual.toString());
+    }
+
+    /**
+     * Tests external entity declaration using both SYSTEM and PUBLIC
+     * identifiers.
+     */
+    public void testPublicIdSystemId() {
+        String expectedName = "anEntity";
+
+        String expectedPublicID = "-//dom4j//DTD sample";
+
+        String expectedSystemID = "http://www.myorg.org/foo";
+
+        String expectedText = "<!ENTITY anEntity "
+                + "PUBLIC \"-//dom4j//DTD sample\" "
+                + "\"http://www.myorg.org/foo\" >";
+
+        ExternalEntityDecl actual = new ExternalEntityDecl(expectedName,
+                expectedPublicID, expectedSystemID);
+
+        assertEquals("name is correct", expectedName, actual.getName());
+
+        assertEquals("publicID is correct", expectedPublicID, actual
+                .getPublicID());
+
+        assertEquals("systemID is correct", expectedSystemID, actual
+                .getSystemID());
+
+        assertEquals("toString() is correct", expectedText, actual.toString());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/dtd/InternalEntityDeclTest.java b/src/test/org/dom4j/dtd/InternalEntityDeclTest.java
new file mode 100644
index 0000000..65dc4d0
--- /dev/null
+++ b/src/test/org/dom4j/dtd/InternalEntityDeclTest.java
@@ -0,0 +1,158 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.dtd;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+
+/**
+ * Tests the {@link InternalEntityDecl}functionality. Tests each of the
+ * property access methods and the serialization mechanisms. Correct parsing is
+ * tested by {@link DocTypeTest}.
+ * 
+ * <p>
+ * </p>
+ * 
+ * @author Bryan Thompson
+ * @author Maarten Coene
+ * @version $Revision: 1.3 $
+ * 
+ * @todo The dom4j documentation needs to describe what representation SHOULD be
+ *       generated by {@link InternalEntityDecl#toString()}.
+ */
+public class InternalEntityDeclTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(InternalEntityDeclTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testToString() {
+        InternalEntityDecl decl1 = new InternalEntityDecl("name", "value");
+        InternalEntityDecl decl2 = new InternalEntityDecl("%name", "value");
+
+        assertEquals("<!ENTITY name \"value\">", decl1.toString());
+        assertEquals("<!ENTITY % name \"value\">", decl2.toString());
+    }
+
+    /**
+     * Tests parameter entity declaration, such as
+     * 
+     * <pre>
+     * 
+     *  
+     *   <!ENTITY % boolean "( true | false )">
+     *   
+     *  
+     * </pre>
+     * 
+     * Note: There is a required whitespace between the "%" and the name of the
+     * entity. This whitespace is required in the declaration and is not allowed
+     * when writing a reference to the entity, e.g., "%boolean;" is a legal
+     * reference but not "% boolean;".
+     * 
+     * <p>
+     * Note: The "%" is part of the parameter entity name as reported by the SAX
+     * API. See <a href="http://tinyurl.com/6xe9y">LexicalHandler </a>, which
+     * states:
+     * 
+     * <pre>
+     * 
+     *  
+     *   General entities are reported with their regular names,
+     *   parameter entities have '%' prepended to their names, and the
+     *   external DTD subset has the pseudo-entity name "[dtd]".
+     *   
+     *  
+     * </pre>
+     * 
+     * </p>
+     */
+    public void testParameterEntity() {
+        String expectedName = "%boolean";
+
+        String expectedValue = "( true | false )";
+
+        String expectedText = "<!ENTITY % boolean \"( true | false )\">";
+
+        InternalEntityDecl actual = new InternalEntityDecl(expectedName,
+                expectedValue);
+
+        assertEquals("name is correct", expectedName, actual.getName());
+
+        assertEquals("value is correct", expectedValue, actual.getValue());
+
+        assertEquals("toString() is correct", expectedText, actual.toString());
+    }
+
+    /**
+     * Tests general entity declaration, such as:
+     * 
+     * <pre>
+     * 
+     *  
+     *   <!ENTITY foo "bar">
+     *   
+     *  
+     * </pre>
+     */
+    public void testGeneralEntity() {
+        String expectedName = "foo";
+
+        String expectedValue = "bar";
+
+        String expectedText = "<!ENTITY foo \"bar\">";
+
+        InternalEntityDecl actual = new InternalEntityDecl(expectedName,
+                expectedValue);
+
+        assertEquals("name is correct", expectedName, actual.getName());
+
+        assertEquals("value is correct", expectedValue, actual.getValue());
+
+        assertEquals("toString() is correct", expectedText, actual.toString());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/io/DOMReaderTest.java b/src/test/org/dom4j/io/DOMReaderTest.java
new file mode 100644
index 0000000..94ff687
--- /dev/null
+++ b/src/test/org/dom4j/io/DOMReaderTest.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import junit.textui.TestRunner;
+
+import java.io.ByteArrayInputStream;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.dom4j.AbstractTestCase;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author Maarten
+ */
+public class DOMReaderTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(DOMReaderTest.class);
+    }
+
+    public void testBug972737() throws Exception {
+        String xml = "<schema targetNamespace='http://SharedTest.org/xsd' "
+                + "        xmlns='http://www.w3.org/2001/XMLSchema' "
+                + "        xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"
+                + "    <complexType name='AllStruct'>" + "        <all>"
+                + "            <element name='arString' type='xsd:string'/>"
+                + "            <element name='varInt' type='xsd:int'/>"
+                + "        </all>" + "    </complexType>" + "</schema>";
+
+        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+        DocumentBuilder builder = factory.newDocumentBuilder();
+        org.w3c.dom.Document doc = builder.parse(new ByteArrayInputStream(xml
+                .getBytes()));
+
+        DOMReader reader = new DOMReader();
+        org.dom4j.Document dom4jDoc = reader.read(doc);
+
+        List namespaces = dom4jDoc.getRootElement().declaredNamespaces();
+        assertEquals(2, namespaces.size());
+
+        System.out.println(dom4jDoc.asXML());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/io/DOMWriterTest.java b/src/test/org/dom4j/io/DOMWriterTest.java
new file mode 100644
index 0000000..7707b30
--- /dev/null
+++ b/src/test/org/dom4j/io/DOMWriterTest.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import junit.textui.TestRunner;
+
+import java.io.StringWriter;
+
+import org.dom4j.AbstractTestCase;
+
+import org.w3c.dom.NamedNodeMap;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author Maarten
+ */
+public class DOMWriterTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(DOMWriterTest.class);
+    }
+
+    public void testNamespaceBug() throws Exception {
+        org.dom4j.Document doc = getDocument("/xml/namespaces.xml");
+        DOMWriter writer = new DOMWriter(org.dom4j.dom.DOMDocument.class);
+        org.w3c.dom.Document result = writer.write(doc);
+
+        NamedNodeMap atts = result.getDocumentElement().getAttributes();
+        assertEquals(4, atts.getLength());
+
+        XMLWriter wr = new XMLWriter();
+        wr.setOutputStream(System.out);
+        wr.write((org.dom4j.Document) result);
+    }
+
+    public void testBug905745() throws Exception {
+        org.dom4j.Document doc = getDocument("/xml/namespaces.xml");
+        DOMWriter writer = new DOMWriter();
+        org.w3c.dom.Document result = writer.write(doc);
+
+        NamedNodeMap atts = result.getDocumentElement().getAttributes();
+        org.w3c.dom.Node versionAttr = atts.getNamedItem("version");
+        assertNotNull(versionAttr);
+        assertNotNull(versionAttr.getLocalName());
+        assertEquals("version", versionAttr.getLocalName());
+        assertEquals("version", versionAttr.getNodeName());
+    }
+
+    public void testBug926752() throws Exception {
+        org.dom4j.Document doc = getDocument("/xml/test/defaultNamespace.xml");
+        DOMWriter writer = new DOMWriter(org.dom4j.dom.DOMDocument.class);
+        org.w3c.dom.Document result = writer.write(doc);
+
+        NamedNodeMap atts = result.getDocumentElement().getAttributes();
+        assertEquals(1, atts.getLength());
+
+        OutputFormat format = OutputFormat.createCompactFormat();
+        format.setSuppressDeclaration(true);
+
+        XMLWriter wr = new XMLWriter(format);
+        StringWriter strWriter = new StringWriter();
+        wr.setWriter(strWriter);
+        wr.write((org.dom4j.Document) result);
+        assertEquals("<a xmlns=\"dummyNamespace\"><b><c>Hello</c></b></a>",
+                strWriter.toString());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/io/DTDTest.java b/src/test/org/dom4j/io/DTDTest.java
new file mode 100644
index 0000000..438b08b
--- /dev/null
+++ b/src/test/org/dom4j/io/DTDTest.java
@@ -0,0 +1,572 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import junit.framework.AssertionFailedError;
+
+import junit.textui.TestRunner;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+import org.dom4j.DocumentType;
+import org.dom4j.dtd.AttributeDecl;
+import org.dom4j.dtd.ElementDecl;
+import org.dom4j.dtd.ExternalEntityDecl;
+import org.dom4j.dtd.InternalEntityDecl;
+import org.dom4j.tree.DefaultDocumentType;
+
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+/**
+ * Tests the DocType functionality.
+ * 
+ * <p>
+ * Incorporated additional test cases for optional processing of the internal
+ * and external DTD subsets. The "external" and "mixed" tests both <strong>fail
+ * </strong> due to a reported bug. See http://tinyurl.com/4dzyq
+ * </p>
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class DTDTest extends AbstractTestCase {
+    /**
+     * Input XML file to read <code>xml/dtd/internal.xml</code>- document
+     * using internal DTD subset, but no external DTD subset.
+     */
+    private static final String XML_INTERNAL_FILE = "xml/dtd/internal.xml";
+
+    /**
+     * Input XML file to read <code>xml/dtd/external.xml</code>- document
+     * using external DTD subset, but no internal DTD subset. The external
+     * entity should be locatable by either PUBLIC or SYSTEM identifier. The
+     * testing harness should use an appropriate EntityResolver to locate the
+     * external entity as a local resource (no internet access).
+     */
+    private static final String XML_EXTERNAL_FILE = "xml/dtd/external.xml";
+
+    /**
+     * Input XML file to read <code>xml/dtd/mixed.xml</code>- document using
+     * both an internal and an external DTD subset. The external entity should
+     * be locatable by either PUBLIC or SYSTEM identifier. The testing harness
+     * should use an appropriate EntityResolver to locate the external entity as
+     * a local resource (no internet access).
+     */
+    private static final String XML_MIXED = "xml/dtd/mixed.xml";
+
+    /**
+     * Input XML file to for {@linkEntityResolver}
+     * <code>xml/dtd/sample.dtd</code>- the external entity providing the
+     * external DTD subset for test cases that need one. The SYSTEM identifier
+     * for this external entity is given by {@link#DTD_SYSTEM_ID}.
+     */
+    private static final String DTD_FILE = "xml/dtd/sample.dtd";
+
+    /**
+     * The PUBLIC identifier, which is <code>-//dom4j//DTD sample</code>, for
+     * the external entity providing DTD for tests.
+     */
+    protected static final String DTD_PUBLICID = "-//dom4j//DTD sample";
+
+    /**
+     * The SYSTEM identifier, which is <code>sample.dtd</code>, for the
+     * external entity providing DTD for tests.
+     */
+    protected static final String DTD_SYSTEM_ID = "sample.dtd";
+
+    public static void main(String[] args) {
+        TestRunner.run(DTDTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+
+    /**
+     * Test verifies correct identification of the internal DTD subset and
+     * correct non-presence of the external DTD subset.
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void testInternalDTDSubset() throws Exception {
+        /*
+         * Setup the expected DocumentType.
+         * 
+         * @todo dom4j should expose a DefaultDocumentType constructor that
+         * accepts only the elementName property. This is used when only an
+         * internal DTD subset is being provided via the <!DOCTYPE foo [...]>
+         * syntax, in which case there is neither a SYSTEM nor PUBLIC
+         * identifier.
+         */
+        DocumentType expected = new DefaultDocumentType();
+
+        expected.setElementName("greeting");
+
+        expected.setInternalDeclarations(getInternalDeclarations());
+
+        /*
+         * Parse the test XML document and compare the expected and actual
+         * DOCTYPEs.
+         */
+        try {
+            assertSameDocumentType(expected, readDocument(
+                    XML_INTERNAL_FILE, true, false).getDocType());
+        } catch (AssertionFailedError ex) {
+            throw ex;
+        } catch (Throwable t) {
+            fail("Not expecting: " + t);
+        }
+    }
+
+    /**
+     * Test verifies correct identification of the external DTD subset and
+     * correct non-presence of the internal DTD subset.
+     */
+    public void testExternalDTDSubset() {
+        /*
+         * Setup the expected DocumentType.
+         */
+        DocumentType expected = new DefaultDocumentType("another-greeting",
+                null, DTD_SYSTEM_ID);
+
+        expected.setExternalDeclarations(getExternalDeclarations());
+
+        /*
+         * Parse the test XML document and compare the expected and actual
+         * DOCTYPEs.
+         */
+        try {
+            assertSameDocumentType(expected, readDocument(
+                    XML_EXTERNAL_FILE, false, true).getDocType());
+        } catch (AssertionFailedError ex) {
+            throw ex;
+        } catch (Throwable t) {
+            fail("Not expecting: " + t);
+        }
+    }
+
+    /**
+     * Test verifies correct identification of the internal and external DTD
+     * subsets.
+     */
+    public void testMixedDTDSubset() {
+        /*
+         * Setup the expected DocumentType.
+         */
+        DocumentType expected = new DefaultDocumentType("another-greeting",
+                null, DTD_SYSTEM_ID);
+
+        expected.setInternalDeclarations(getInternalDeclarations());
+
+        expected.setExternalDeclarations(getExternalDeclarations());
+
+        /*
+         * Parse the test XML document and compare the expected and actual
+         * DOCTYPEs.
+         */
+        try {
+            assertSameDocumentType(expected, readDocument(XML_MIXED,
+                    true, true).getDocType());
+        } catch (AssertionFailedError ex) {
+            throw ex;
+        } catch (Throwable t) {
+            fail("Not expecting: " + t);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+
+    /**
+     * Test helper method returns a {@link List}of DTD declarations that
+     * represents the expected internal DTD subset (for the tests that use an
+     * internal DTD subset).
+     * 
+     * <p>
+     * Note: The declarations returned by this method MUST agree those actually
+     * declared in {@link #XML_INTERNAL_FILE}and {@link
+     * #XML_MIXED}.
+     * </p>
+     * 
+     * <p>
+     * </p>
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List getInternalDeclarations() {
+        List decls = new ArrayList();
+
+        decls.add(new ElementDecl("greeting", "(#PCDATA)"));
+
+        decls.add(new AttributeDecl("greeting", "foo", "ID", "#IMPLIED", null));
+
+        decls.add(new InternalEntityDecl("%boolean", "( true | false )"));
+
+        return decls;
+    }
+
+    /**
+     * Test helper method returns a {@link List}of DTD declarations that
+     * represents the expected external DTD subset (for the tests that use an
+     * external DTD subset).
+     * 
+     * @return DOCUMENT ME!
+     */
+    protected List getExternalDeclarations() {
+        List decls = new ArrayList();
+
+        decls.add(new ElementDecl("another-greeting", "(#PCDATA)"));
+
+        return decls;
+    }
+
+    /**
+     * Test helper method compares the expected and actual {@link DocumentType}
+     * objects, including their internal and external DTD subsets.
+     * 
+     * <p>
+     * </p>
+     * 
+     * @param expected
+     *            DOCUMENT ME!
+     * @param actual
+     *            DOCUMENT ME!
+     */
+    protected void assertSameDocumentType(DocumentType expected,
+            DocumentType actual) {
+        /*
+         * Nothing expected?
+         */
+        if (expected == null) {
+            if (actual == null) {
+                return; // Nothing found.
+            } else {
+                fail("Not expecting DOCTYPE.");
+            }
+        } else {
+            /*
+             * Something expected.
+             */
+            if (actual == null) {
+                fail("Expecting DOCTYPE");
+            }
+
+            log("Expected DocumentType:\n" + expected.toString());
+
+            log("Actual DocumentType:\n" + actual.toString());
+
+            // Check the internal DTD subset.
+            assertSameDTDSubset("Internal", expected.getInternalDeclarations(),
+                    actual.getInternalDeclarations());
+
+            // Check the external DTD subset.
+            assertSameDTDSubset("External", expected.getExternalDeclarations(),
+                    actual.getExternalDeclarations());
+        }
+    }
+
+    /**
+     * Test helper method compares an expected set of DTD declarations with an
+     * actual set of DTD declarations. This method should be invoked seperately
+     * for the internal DTD subset and the external DTD subset. The declarations
+     * must occur in their logical ordering. See <a
+     * href="http://tinyurl.com/5jhd8">Lexical Handler </a> for conformance
+     * criteria.
+     * 
+     * @param txt
+     *            DOCUMENT ME!
+     * @param expected
+     *            DOCUMENT ME!
+     * @param actual
+     *            DOCUMENT ME!
+     * 
+     * @throws AssertionError
+     *             DOCUMENT ME!
+     */
+    protected void assertSameDTDSubset(String txt, List expected, List actual) {
+        /*
+         * Nothing expected?
+         */
+        if (expected == null) {
+            if (actual == null) {
+                return; // Nothing found.
+            } else {
+                fail("Not expecting " + txt + " DTD subset.");
+            }
+        } else {
+            /*
+             * Something expected.
+             */
+            if (actual == null) {
+                fail("Expecting " + txt + " DTD subset.");
+            }
+
+            /*
+             * Correct #of declarations found?
+             */
+            assertEquals(txt + " DTD subset has correct #of declarations"
+                    + ": expected=[" + expected.toString() + "]" + ", actual=["
+                    + actual.toString() + "]", expected.size(), actual.size());
+
+            /*
+             * Check order, type, and values of each declaration. Serialization
+             * tests are done separately.
+             */
+            Iterator itr1 = expected.iterator();
+
+            Iterator itr2 = actual.iterator();
+
+            while (itr1.hasNext()) {
+                Object obj1 = itr1.next();
+
+                Object obj2 = itr2.next();
+
+                assertEquals(txt + " DTD subset: Same type of declaration",
+                        obj1.getClass().getName(), obj2.getClass().getName());
+
+                if (obj1 instanceof AttributeDecl) {
+                    assertSameDecl((AttributeDecl) obj1, (AttributeDecl) obj2);
+                } else if (obj1 instanceof ElementDecl) {
+                    assertSameDecl((ElementDecl) obj1, (ElementDecl) obj2);
+                } else if (obj1 instanceof InternalEntityDecl) {
+                    assertSameDecl((InternalEntityDecl) obj1,
+                            (InternalEntityDecl) obj2);
+                } else if (obj1 instanceof ExternalEntityDecl) {
+                    assertSameDecl((ExternalEntityDecl) obj1,
+                            (ExternalEntityDecl) obj2);
+                } else {
+                    throw new AssertionError("Unexpected declaration type: "
+                            + obj1.getClass());
+                }
+            }
+        }
+    }
+
+    /**
+     * Test helper method compares an expected and an actual {@link
+     * AttributeDecl}.
+     * 
+     * @param expected
+     *            DOCUMENT ME!
+     * @param actual
+     *            DOCUMENT ME!
+     */
+    public void assertSameDecl(AttributeDecl expected, AttributeDecl actual) {
+        assertEquals("attributeName is correct", expected.getAttributeName(),
+                actual.getAttributeName());
+
+        assertEquals("elementName is correct", expected.getElementName(),
+                actual.getElementName());
+
+        assertEquals("type is correct", expected.getType(), actual.getType());
+
+        assertEquals("value is not correct", expected.getValue(), actual
+                .getValue());
+
+        assertEquals("valueDefault is correct", expected.getValueDefault(),
+                actual.getValueDefault());
+
+        assertEquals("toString() is correct", expected.toString(), actual
+                .toString());
+    }
+
+    /**
+     * Test helper method compares an expected and an actual {@link
+     * ElementDecl}.
+     * 
+     * @param expected
+     *            DOCUMENT ME!
+     * @param actual
+     *            DOCUMENT ME!
+     */
+    protected void assertSameDecl(ElementDecl expected, ElementDecl actual) {
+        assertEquals("name is correct", expected.getName(), actual.getName());
+
+        assertEquals("model is not correct", expected.getModel(), actual
+                .getModel());
+
+        assertEquals("toString() is correct", expected.toString(), actual
+                .toString());
+    }
+
+    /**
+     * Test helper method compares an expected and an actual {@link
+     * InternalEntityDecl}.
+     * 
+     * @param expected
+     *            DOCUMENT ME!
+     * @param actual
+     *            DOCUMENT ME!
+     */
+    protected void assertSameDecl(InternalEntityDecl expected,
+            InternalEntityDecl actual) {
+        assertEquals("name is correct", expected.getName(), actual.getName());
+
+        assertEquals("value is not correct", expected.getValue(), actual
+                .getValue());
+
+        assertEquals("toString() is correct", expected.toString(), actual
+                .toString());
+    }
+
+    /**
+     * Test helper method compares an expected and an actual {@link
+     * ExternalEntityDecl}.
+     * 
+     * @param expected
+     *            DOCUMENT ME!
+     * @param actual
+     *            DOCUMENT ME!
+     */
+    protected void assertSameDecl(ExternalEntityDecl expected,
+            ExternalEntityDecl actual) {
+        assertEquals("name is correct", expected.getName(), actual.getName());
+
+        assertEquals("publicID is correct", expected.getPublicID(), actual
+                .getPublicID());
+
+        assertEquals("systemID is correct", expected.getSystemID(), actual
+                .getSystemID());
+
+        assertEquals("toString() is correct", expected.toString(), actual
+                .toString());
+    }
+
+    /**
+     * Helper method reads a local resource and parses it as an XML document.
+     * The internal and external DTD subsets are optionally retained by the
+     * parser and exposed via the {@link DocumentType}object on the returned
+     * {@link Document}. The parser is configured with an {@link
+     * EntityResolver}that knows how to find the local resource identified by
+     * {@link #DTD_FILE}whose SYSTEM identifier is given by {@link
+     * #DTD_SYSTEM_ID}.
+     * 
+     * @param resourceName
+     *            DOCUMENT ME!
+     * @param includeInternal
+     *            DOCUMENT ME!
+     * @param includeExternal
+     *            DOCUMENT ME!
+     * 
+     * @return DOCUMENT ME!
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    protected Document readDocument(String resourceName,
+            boolean includeInternal, boolean includeExternal) throws Exception {
+        SAXReader reader = new SAXReader();
+
+        reader.setIncludeInternalDTDDeclarations(includeInternal);
+
+        reader.setIncludeExternalDTDDeclarations(includeExternal);
+
+        reader.setEntityResolver(new MyEntityResolver(DTD_FILE,
+                DTD_PUBLICID, DTD_SYSTEM_ID));
+
+        return getDocument(resourceName, reader);
+    }
+
+    /**
+     * Provides a resolver for the local test DTD resource.
+     */
+    protected static class MyEntityResolver implements EntityResolver {
+        private String resourceName;
+
+        private String pubId;
+
+        private String sysId;
+
+        public MyEntityResolver(String localResourceName, String publicId,
+                String systemId) {
+            resourceName = localResourceName;
+
+            sysId = systemId;
+        }
+
+        public InputSource resolveEntity(String publicId, String systemId)
+                throws SAXException, IOException {
+            if (pubId != null) {
+                if (pubId.equals(publicId)) {
+                    return new InputSource(getInputStream(resourceName));
+                }
+            }
+
+            if (sysId.equals(systemId)) {
+                return new InputSource(getInputStream(resourceName));
+            } else {
+                return null;
+            }
+        }
+
+        /**
+         * Returns an {@link InputStream}that will read from the indicated
+         * local resource.
+         * 
+         * @param localResourceName
+         *            DOCUMENT ME!
+         * 
+         * @return DOCUMENT ME!
+         * 
+         * @throws IOException
+         *             DOCUMENT ME!
+         */
+        protected InputStream getInputStream(String localResourceName)
+                throws IOException {
+            InputStream is = new FileInputStream(localResourceName);
+
+            return is;
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/io/DispatchHandlerTest.java b/src/test/org/dom4j/io/DispatchHandlerTest.java
new file mode 100644
index 0000000..6a54e57
--- /dev/null
+++ b/src/test/org/dom4j/io/DispatchHandlerTest.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.ElementHandler;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author Maarten Coene
+ */
+public class DispatchHandlerTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(DispatchHandlerTest.class);
+    }
+
+    public void testBug611445() throws Exception {
+        MyHandler handler = new MyHandler();
+
+        SAXReader reader = new SAXReader();
+        reader.addHandler("/products/product/colour", handler);
+        reader.read(getFile("/xml/test/sample.xml"));
+
+        assertEquals(3, handler.getCount());
+
+        reader.read(getFile("/xml/test/sample.xml"));
+        assertEquals(6, handler.getCount());
+    }
+
+    private static class MyHandler implements ElementHandler {
+        private int count = 0;
+
+        public void onEnd(org.dom4j.ElementPath elementPath) {
+        }
+
+        public void onStart(org.dom4j.ElementPath elementPath) {
+            count++;
+        }
+
+        int getCount() {
+            return count;
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/io/DocumentSourceTest.java b/src/test/org/dom4j/io/DocumentSourceTest.java
new file mode 100644
index 0000000..9640553
--- /dev/null
+++ b/src/test/org/dom4j/io/DocumentSourceTest.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import junit.textui.TestRunner;
+
+import java.io.StringWriter;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author <a href="mailto:maartenc at sourceforge.net">Maarten Coene </a>
+ */
+public class DocumentSourceTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(DocumentSourceTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testBug555549() throws Exception {
+        // simulate <cr><lf>
+        String xml = "<field id='Description' type='textarea'>line1"
+                + (char) 13 + (char) 10 + "line2</field>";
+        Document doc = DocumentHelper.parseText(xml);
+        TransformerFactory tf = TransformerFactory.newInstance();
+        Transformer txml = tf.newTransformer();
+        StringWriter writer = new StringWriter();
+        txml.transform(new DocumentSource(doc), new StreamResult(writer));
+
+        System.out.println(writer.toString());
+        assertTrue(writer.toString().indexOf("&#13") == -1);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/io/SAXReaderTest.java b/src/test/org/dom4j/io/SAXReaderTest.java
new file mode 100644
index 0000000..9dfec9f
--- /dev/null
+++ b/src/test/org/dom4j/io/SAXReaderTest.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import junit.textui.TestRunner;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+/**
+ * A test harness to test the content API in DOM4J
+ * 
+ * @author <a href="mailto:maartenc at sourceforge.net">Maarten Coene </a>
+ */
+public class SAXReaderTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(SAXReaderTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+
+    /**
+     * Test bug reported by Christian Oetterli http://tinyurl.com/6po8v
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void testReadFile() throws Exception {
+        File file = getFile("/xml/#.xml");
+        new SAXReader().read(file);
+    }
+    
+    public void testEncoding() throws Exception {
+        String xml = "<?xml version='1.0' encoding='ISO-8859-1'?><root/>";
+        SAXReader reader = new SAXReader();
+        reader.setEncoding("ISO-8859-1");
+        Document doc = reader.read(new StringReader(xml));
+        
+        assertEquals("encoding incorrect", "ISO-8859-1", doc.getXMLEncoding());
+    }
+
+    public void testRussian() throws Exception {
+        Document doc = getDocument("/xml/russArticle.xml");
+
+        assertEquals("encoding not correct", "koi8-r", doc.getXMLEncoding());
+
+        Element el = doc.getRootElement();
+
+        StringWriter writer = new StringWriter();
+        XMLWriter xmlWriter = new XMLWriter(writer);
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        format.setEncoding("koi8-r");
+        xmlWriter.write(doc);
+        log(writer.toString());
+    }
+
+    public void testRussian2() throws Exception {
+        Document doc = getDocument("/xml/russArticle.xml");
+        XMLWriter xmlWriter = new XMLWriter(new OutputFormat("", false,
+                "koi8-r"));
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        xmlWriter.setOutputStream(out);
+        xmlWriter.write(doc);
+        xmlWriter.flush();
+        xmlWriter.close();
+        log(out.toString());
+    }
+
+    public void testBug833765() throws Exception {
+        SAXReader reader = new SAXReader();
+        reader.setIncludeExternalDTDDeclarations(true);
+        getDocument("/xml/dtd/external.xml", reader);
+    }
+
+    public void testBug527062() throws Exception {
+        Document doc = getDocument("/xml/test/test.xml");
+        List l = doc.selectNodes("//broked/junk");
+
+        for (int i = 0; i < l.size(); i++) {
+            System.out.println("Found node: "
+                    + ((Element) l.get(i)).getStringValue());
+        }
+
+        assertEquals("hi there", ((Element) l.get(0)).getStringValue());
+        assertEquals("hello world", ((Element) l.get(1)).getStringValue());
+    }
+
+    public void testEscapedComment() throws Exception {
+        String txt = "<eg><!-- <head> & <body> --></eg>";
+        Document doc = DocumentHelper.parseText(txt);
+        Element eg = doc.getRootElement();
+        System.out.println(doc.asXML());
+        assertEquals("<!-- <head> & <body> -->", eg.getText());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/io/StaxTest.java b/src/test/org/dom4j/io/StaxTest.java
new file mode 100644
index 0000000..68b2fec
--- /dev/null
+++ b/src/test/org/dom4j/io/StaxTest.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import junit.textui.TestRunner;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.StringWriter;
+
+import javax.xml.stream.XMLInputFactory;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+
+/**
+ * Tests STAX->DOM4J functionality.
+ * 
+ * @author <a href="mailto:maartenc at sourceforge.net">Maarten Coene </a>
+ * @author Christian Niles
+ */
+public class StaxTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(StaxTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+
+    /**
+     * Tests that the encoding specified in the XML declaration is exposed in
+     * the Document read via StAX, and also that it gets output when writing.
+     */
+    public void testEncoding() {
+        /*
+         * only execute if a reference implementation is available
+         */
+        try {
+            XMLInputFactory.newInstance();
+        } catch (javax.xml.stream.FactoryConfigurationError e) {
+            // no implementation found, stop the test.
+            return;
+        }
+
+        try {
+            File file = getFile("/xml/russArticle.xml");
+            STAXEventReader xmlReader = new STAXEventReader();
+            Document doc = xmlReader.readDocument(new FileReader(file));
+
+            assertEquals("russArticle.xml encoding wasn't correct", "koi8-r",
+                    doc.getXMLEncoding());
+
+            StringWriter writer = new StringWriter();
+            STAXEventWriter xmlWriter = new STAXEventWriter(writer);
+            xmlWriter.writeDocument(doc);
+
+            String output = writer.toString();
+            String xmlDecl = output.substring(0, output.indexOf("?>") + 2);
+            String expected = "<?xml version=\'1.0\' encoding=\'koi8-r\'?>";
+            assertEquals("Unexpected xml declaration", expected, xmlDecl);
+            System.out.println(output);
+        } catch (Exception e) {
+            e.printStackTrace();
+            fail(e.getMessage());
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/io/WriteUnmergedTextTest.java b/src/test/org/dom4j/io/WriteUnmergedTextTest.java
new file mode 100644
index 0000000..b77b09b
--- /dev/null
+++ b/src/test/org/dom4j/io/WriteUnmergedTextTest.java
@@ -0,0 +1,191 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import junit.textui.TestRunner;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+
+/**
+ * A simple test harness to check that the XML Writer works
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class WriteUnmergedTextTest extends AbstractTestCase {
+    protected static final boolean VERBOSE = true;
+
+    private String inputText = "<?xml version = \"1.0\"?>"
+            + "<TestEscapedEntities><TEXT>Test using < "
+            + "& ></TEXT></TestEscapedEntities>";
+
+    public static void main(String[] args) {
+        TestRunner.run(WriteUnmergedTextTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public String readwriteText(OutputFormat outFormat,
+            boolean mergeAdjacentText) throws Exception {
+        StringWriter out = new StringWriter();
+        StringReader in = new StringReader(inputText);
+        SAXReader reader = new SAXReader();
+
+        // reader.setValidation(true);
+        reader.setMergeAdjacentText(mergeAdjacentText);
+
+        Document document = reader.read(in);
+
+        XMLWriter writer = (outFormat == null) ? new XMLWriter(out)
+                : new XMLWriter(out, outFormat);
+        writer.write(document);
+        writer.close();
+
+        String outText = out.toString();
+
+        return outText;
+    }
+
+    public void testWithoutFormatNonMerged() throws Exception {
+        String outText = readwriteText(null, false);
+
+        if (VERBOSE) {
+            log("Text output is [");
+            log(outText);
+            log("]. Done");
+        }
+
+        // should contain & and <
+        assertTrue("Output text contains \"&\"", outText
+                .lastIndexOf("&") >= 0);
+        assertTrue("Output text contains \"<\"",
+                outText.lastIndexOf("<") >= 0);
+    }
+
+    public void testWithCompactFormatNonMerged() throws Exception {
+        String outText = readwriteText(OutputFormat.createCompactFormat(),
+                false);
+
+        if (VERBOSE) {
+            log("Text output is [");
+            log(outText);
+            log("]. Done");
+        }
+
+        // should contain & and <
+        assertTrue("Output text contains \"&\"", outText
+                .lastIndexOf("&") >= 0);
+        assertTrue("Output text contains \"<\"",
+                outText.lastIndexOf("<") >= 0);
+    }
+
+    public void testWithPrettyPrintFormatNonMerged() throws Exception {
+        String outText = readwriteText(OutputFormat.createPrettyPrint(), false);
+
+        if (VERBOSE) {
+            log("Text output is [");
+            log(outText);
+            log("]. Done");
+        }
+
+        // should contain & and <
+        assertTrue("Output text contains \"&\"", outText
+                .lastIndexOf("&") >= 0);
+        assertTrue("Output text contains \"<\"",
+                outText.lastIndexOf("<") >= 0);
+    }
+
+    public void testWithoutFormatMerged() throws Exception {
+        String outText = readwriteText(null, true);
+
+        if (VERBOSE) {
+            log("Text output is [");
+            log(outText);
+            log("]. Done");
+        }
+
+        // should contain & and <
+        assertTrue("Output text contains \"&\"", outText
+                .lastIndexOf("&") >= 0);
+        assertTrue("Output text contains \"<\"",
+                outText.lastIndexOf("<") >= 0);
+    }
+
+    public void testWithCompactFormatMerged() throws Exception {
+        String out = readwriteText(OutputFormat.createCompactFormat(), true);
+
+        if (VERBOSE) {
+            log("Text output is [");
+            log(out);
+            log("]. Done");
+        }
+
+        // should contain & and <
+        assertTrue("Output text contains \"&\"", out
+                .lastIndexOf("&") >= 0);
+        assertTrue("Output text contains \"<\"",
+                out.lastIndexOf("<") >= 0);
+    }
+
+    public void testWithPrettyPrintFormatMerged() throws Exception {
+        String outText = readwriteText(OutputFormat.createPrettyPrint(), true);
+
+        if (VERBOSE) {
+            log("Text output is [");
+            log(outText);
+            log("]. Done");
+        }
+
+        // should contain & and <
+        assertTrue("Output text contains \"&\"", outText
+                .lastIndexOf("&") >= 0);
+        assertTrue("Output text contains \"<\"",
+                outText.lastIndexOf("<") >= 0);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/io/XPP3ReaderTest.java b/src/test/org/dom4j/io/XPP3ReaderTest.java
new file mode 100644
index 0000000..3ab86c4
--- /dev/null
+++ b/src/test/org/dom4j/io/XPP3ReaderTest.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.io;
+
+import junit.textui.TestRunner;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.StringWriter;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+/**
+ * Test class for the XPP3Reader. This is based on the TestSaxReader class.
+ * 
+ * @author <a href="mailto:pelle at neubia.com">Pelle Braendgaard </a>
+ * @author <a href="mailto:maartenc at sourceforge.net">Maarten Coene </a>
+ */
+public class XPP3ReaderTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(XPP3ReaderTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testRussian() throws Exception {
+        File file = getFile("/xml/russArticle.xml");
+        XPP3Reader xmlReader = new XPP3Reader();
+        Document doc = xmlReader.read(file);
+        Element el = doc.getRootElement();
+
+        StringWriter writer = new StringWriter();
+        XMLWriter xmlWriter = new XMLWriter(writer);
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        format.setEncoding("koi8-r");
+        xmlWriter.write(doc);
+        log(writer.toString());
+    }
+
+    public void testRussian2() throws Exception {
+        File file = getFile("/xml/russArticle.xml");
+        XPP3Reader xmlReader = new XPP3Reader();
+        Document doc = xmlReader.read(file);
+        XMLWriter xmlWriter = new XMLWriter(new OutputFormat("", false,
+                "koi8-r"));
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        xmlWriter.setOutputStream(out);
+        xmlWriter.write(doc);
+        xmlWriter.flush();
+        xmlWriter.close();
+        log(out.toString());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/rule/PriorityTest.java b/src/test/org/dom4j/rule/PriorityTest.java
new file mode 100644
index 0000000..444faba
--- /dev/null
+++ b/src/test/org/dom4j/rule/PriorityTest.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.DocumentFactory;
+
+/**
+ * Tests the priority behaviour of Pattern.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class PriorityTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(PriorityTest.class);
+    }
+
+    public void testNameNode() throws Exception {
+        testPriority("foo", 0);
+    }
+
+    public void testFilter() throws Exception {
+        testPriority("foo[@id='123']", 0.5);
+    }
+
+    public void testURI() throws Exception {
+        testPriority("foo:*", -0.25);
+    }
+
+    public void testAnyNode() throws Exception {
+        testPriority("*", -0.5);
+    }
+
+    protected void testPriority(String expr, double priority) throws Exception {
+        System.out.println("parsing: " + expr);
+
+        Pattern pattern = DocumentFactory.getInstance().createPattern(expr);
+        double d = pattern.getPriority();
+
+        System.out.println("expr: " + expr + " has priority: " + d);
+        System.out.println("pattern: " + pattern);
+
+        assertEquals("expr: " + expr, new Double(priority), new Double(d));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/rule/RuleTest.java b/src/test/org/dom4j/rule/RuleTest.java
new file mode 100644
index 0000000..83a5426
--- /dev/null
+++ b/src/test/org/dom4j/rule/RuleTest.java
@@ -0,0 +1,151 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import junit.textui.TestRunner;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.CDATA;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+
+/**
+ * Tests the ordering of Rules
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class RuleTest extends AbstractTestCase {
+    protected DocumentFactory factory = new DocumentFactory();
+
+    public static void main(String[] args) {
+        TestRunner.run(RuleTest.class);
+    }
+
+    public void testOrder() throws Exception {
+        testGreater("foo", "*");
+    }
+
+    protected void testGreater(String expr1, String expr2) throws Exception {
+        System.out.println("parsing: " + expr1 + " and " + expr2);
+
+        Rule r1 = createRule(expr1);
+        Rule r2 = createRule(expr2);
+
+        System.out.println("rule1: " + r1 + " rule2: " + r2);
+
+        int value = r1.compareTo(r2);
+
+        System.out.println("Comparison: " + value);
+
+        assertTrue("r1 > r2", value > 0);
+
+        ArrayList list = new ArrayList();
+        list.add(r1);
+        list.add(r2);
+
+        Collections.sort(list);
+
+        assertTrue("r2 should be first", list.get(0) == r2);
+        assertTrue("r1 should be next", list.get(1) == r1);
+
+        list = new ArrayList();
+        list.add(r2);
+        list.add(r1);
+
+        Collections.sort(list);
+
+        assertTrue("r2 should be first", list.get(0) == r2);
+        assertTrue("r1 should be next", list.get(1) == r1);
+
+        /*
+         * TreeSet set = new TreeSet(); set.add( r1 ); set.add( r2 );
+         * 
+         * assertTrue( "r2 should be first", set.first() == r2 ); assertTrue(
+         * "r1 should be next", set.last() == r1 );
+         * 
+         * Object[] array = set.toArray();
+         * 
+         * assertTrue( "r2 should be first", array[0] == r2 ); assertTrue( "r1
+         * should be next", array[1] == r1 );
+         * 
+         * set = new TreeSet(); set.add( r2 ); set.add( r1 );
+         * 
+         * assertTrue( "r2 should be first", set.first() == r2 ); assertTrue(
+         * "r1 should be next", set.last() == r1 );
+         * 
+         * array = set.toArray();
+         * 
+         * assertTrue( "r2 should be first", array[0] == r2 ); assertTrue( "r1
+         * should be next", array[1] == r1 );
+         */
+    }
+
+    public void testDocument() {
+        Rule rule = createRule("/");
+        Document document = factory.createDocument();
+        document.addElement("foo");
+
+        assertTrue("/ matches document", rule.matches(document));
+        assertTrue("/ does not match root element", !rule.matches(document
+                .getRootElement()));
+    }
+
+    public void testTextMatchesCDATA() {
+        CDATA cdata = factory.createCDATA("<>&");
+        Rule rule = createRule("text()");
+
+        assertTrue("text() matches CDATA", rule.matches(cdata));
+    }
+
+    protected Rule createRule(String expr) {
+        Pattern pattern = factory.createPattern(expr);
+
+        return new Rule(pattern);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/rule/StylesheetTest.java b/src/test/org/dom4j/rule/StylesheetTest.java
new file mode 100644
index 0000000..829897a
--- /dev/null
+++ b/src/test/org/dom4j/rule/StylesheetTest.java
@@ -0,0 +1,171 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.rule;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Node;
+import org.dom4j.xpath.DefaultXPath;
+
+/**
+ * A test harness to test the use of the Stylesheet and the XSLT rule engine.
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class StylesheetTest extends AbstractTestCase {
+    protected String[] templates = {
+            "/",
+            "*",
+            "root",
+            "author",
+            "@name",
+            "root/author",
+            "author[@location='UK']",
+            "root/author[@location='UK']",
+            "root//author[@location='UK']"};
+
+    protected String[] templates2 = {"/", "title", "para", "*"};
+
+    protected Stylesheet stylesheet;
+
+    public static void main(String[] args) {
+        TestRunner.run(StylesheetTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testRules() throws Exception {
+        for (int i = 0, size = templates.length; i < size; i++) {
+            addTemplate(templates[i]);
+        }
+
+        log("");
+        log("........................................");
+        log("");
+        log("Running stylesheet");
+
+        stylesheet.run(document);
+
+        log("Finished");
+    }
+
+    public void testLittleDoc() throws Exception {
+        for (int i = 0, size = templates2.length; i < size; i++) {
+            addTemplate(templates2[i]);
+        }
+        Document doc = getDocument("/xml/test/littledoc.xml");
+
+        stylesheet = new Stylesheet();
+        stylesheet.setValueOfAction(new Action() {
+            public void run(Node node) {
+                log("Default ValueOf action on node: " + node);
+                log("........................................");
+            }
+        });
+
+        stylesheet.run(doc);
+    }
+
+    public void testFireRuleForNode() throws Exception {
+        final StringBuffer b = new StringBuffer();
+
+        final Stylesheet s = new Stylesheet();
+        Pattern pattern = DocumentHelper.createPattern("url");
+        Action action = new Action() {
+            public void run(Node node) throws Exception {
+                b.append("url");
+                s.applyTemplates(node);
+            }
+        };
+
+        Rule r = new Rule(pattern, action);
+        s.addRule(r);
+
+        s.applyTemplates(document, new DefaultXPath("root/author/url"));
+
+        assertEquals("Check url is processed twice", "urlurl", b.toString());
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        stylesheet = new Stylesheet();
+        stylesheet.setValueOfAction(new Action() {
+            public void run(Node node) {
+                log("Default ValueOf action on node: " + node);
+                log("........................................");
+            }
+        });
+    }
+
+    protected void addTemplate(final String match) {
+        log("Adding template match: " + match);
+
+        Pattern pattern = DocumentHelper.createPattern(match);
+
+        log("Pattern: " + pattern);
+        log("........................................");
+
+        Action action = new Action() {
+            public void run(Node node) throws Exception {
+                log("Matched pattern: " + match);
+                log("Node: " + node.asXML());
+                log("........................................");
+
+                // apply any child templates
+                stylesheet.applyTemplates(node);
+            }
+        };
+
+        Rule rule = new Rule(pattern, action);
+        stylesheet.addRule(rule);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/swing/TableModelTest.java b/src/test/org/dom4j/swing/TableModelTest.java
new file mode 100644
index 0000000..86f20d8
--- /dev/null
+++ b/src/test/org/dom4j/swing/TableModelTest.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.swing;
+
+import junit.textui.TestRunner;
+
+import javax.swing.table.TableModel;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+
+/**
+ * Tests the Swing TableModel using a dom4j document.
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class TableModelTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(TableModelTest.class);
+    }
+
+    public void testServletTable() throws Exception {
+        Document document = getDocument("/xml/web.xml");
+
+        XMLTableDefinition tableDefinition = new XMLTableDefinition();
+        tableDefinition.setRowExpression("/web-app/servlet");
+        tableDefinition.addStringColumn("Name", "servlet-name");
+        tableDefinition.addStringColumn("Class", "servlet-class");
+
+        String mapping = "../servlet-mapping[servlet-name=$Name]/url-pattern";
+        tableDefinition.addStringColumn("Mapping", mapping);
+
+        XMLTableModel tableModel = new XMLTableModel(tableDefinition, document);
+
+        // now lets test the values come out
+        assertEquals("correct row count", tableModel.getRowCount(), 2);
+        assertEquals("correct column count", tableModel.getColumnCount(), 3);
+
+        assertColumnNameEquals(tableModel, 0, "Name");
+        assertColumnNameEquals(tableModel, 1, "Class");
+        assertColumnNameEquals(tableModel, 2, "Mapping");
+
+        assertCellEquals(tableModel, 0, 0, "snoop");
+        assertCellEquals(tableModel, 1, 0, "file");
+        assertCellEquals(tableModel, 0, 1, "SnoopServlet");
+        assertCellEquals(tableModel, 1, 1, "ViewFile");
+        assertCellEquals(tableModel, 0, 2, "/foo/snoop");
+        assertCellEquals(tableModel, 1, 2, "");
+    }
+
+    public void testServletTableViaXMLDescription() throws Exception {
+        Document definition = getDocument("/xml/swing/tableForWeb.xml");
+        Document document = getDocument("/xml/web.xml");
+
+        XMLTableModel tableModel = new XMLTableModel(definition, document);
+
+        // now lets test the values come out
+        assertEquals("correct row count", tableModel.getRowCount(), 2);
+        assertEquals("correct column count", tableModel.getColumnCount(), 3);
+
+        assertColumnNameEquals(tableModel, 0, "Name");
+        assertColumnNameEquals(tableModel, 1, "Class");
+        assertColumnNameEquals(tableModel, 2, "Mapping");
+
+        assertCellEquals(tableModel, 0, 0, "snoop");
+        assertCellEquals(tableModel, 1, 0, "file");
+        assertCellEquals(tableModel, 0, 1, "SnoopServlet");
+        assertCellEquals(tableModel, 1, 1, "ViewFile");
+        assertCellEquals(tableModel, 0, 2, "/foo/snoop");
+        assertCellEquals(tableModel, 1, 2, "");
+    }
+
+    protected void assertColumnNameEquals(TableModel tableModel,
+            int columnIndex, String name) {
+        assertEquals("Column name correct for index: " + columnIndex, name,
+                tableModel.getColumnName(columnIndex));
+    }
+
+    protected void assertCellEquals(TableModel tableModel, int rowIndex,
+            int columnIndex, Object value) {
+        assertEquals("Cell value at row: " + rowIndex + " col: " + columnIndex,
+                value, tableModel.getValueAt(rowIndex, columnIndex));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/tree/CDataTest.java b/src/test/org/dom4j/tree/CDataTest.java
new file mode 100644
index 0000000..3524367
--- /dev/null
+++ b/src/test/org/dom4j/tree/CDataTest.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author Maarten Coene
+ */
+public class CDataTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(CDataTest.class);
+    }
+
+    public void testNullTest() {
+        DefaultCDATA cdata = new DefaultCDATA(null);
+        assertEquals("CData not correct", "<![CDATA[]]>", cdata.asXML());
+    }
+
+    public void testNormal() {
+        DefaultCDATA cdata = new DefaultCDATA("sample");
+        assertEquals("CData not correct", "<![CDATA[sample]]>", cdata.asXML());
+    }
+    
+    public void testLongCData() throws Exception {
+        getDocument("xml/test/longCDATA.xml");
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/tree/DefaultDocumentTest.java b/src/test/org/dom4j/tree/DefaultDocumentTest.java
new file mode 100644
index 0000000..7b53a1a
--- /dev/null
+++ b/src/test/org/dom4j/tree/DefaultDocumentTest.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import junit.textui.TestRunner;
+
+import java.io.ByteArrayOutputStream;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.IllegalAddException;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+/**
+ * Some tests on DefaultDocument.
+ * 
+ * @author <a href="mailto:maartenc at users.sourceforge.net">Maarten Coene </a>
+ */
+public class DefaultDocumentTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(DefaultDocumentTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testDoubleRootElement() {
+        Document document = DocumentFactory.getInstance().createDocument();
+        document.addElement("root");
+
+        Element root = DocumentFactory.getInstance().createElement(
+                "anotherRoot");
+
+        try {
+            document.add(root);
+            fail();
+        } catch (IllegalAddException e) {
+            String msg = e.getMessage();
+            assertTrue(msg.indexOf(root.toString()) != -1);
+        }
+    }
+
+    public void testBug799656() throws Exception {
+        Document document = DocumentFactory.getInstance().createDocument();
+        Element el = document.addElement("root");
+        el.setText("text with an \u00FC in it"); // u00FC is umlaut
+
+        System.out.println(document.asXML());
+
+        DocumentHelper.parseText(document.asXML());
+    }
+
+    public void testAsXMLWithEncoding() throws Exception {
+        DefaultDocument document = new DefaultDocument();
+        document.addElement("root");
+        document.setXMLEncoding("ISO-8859-1");
+
+        Document doc = DocumentHelper.parseText("<?xml version='1.0' "
+                + "encoding='ISO-8859-1'?><root/>");
+
+        String xml1 = document.asXML();
+        String xml2 = doc.asXML();
+
+        assertTrue(xml1.indexOf("ISO-8859-1") != -1);
+        assertTrue(xml2.indexOf("ISO-8859-1") != -1);
+    }
+
+    public void testBug1156909() throws Exception {
+        Document doc = DocumentHelper.parseText("<?xml version='1.0' "
+                + "encoding='ISO-8859-1'?><root/>");
+
+        assertEquals("XMLEncoding not correct", "ISO-8859-1", doc
+                .getXMLEncoding());
+    }
+
+    public void testAsXMLWithEncodingAndContent() throws Exception {
+        DefaultDocument document = new DefaultDocument();
+        document.setXMLEncoding("UTF-16");
+        Element root = document.addElement("root");
+        root.setText("text with an \u00FC in it"); // u00FC is umlaut
+
+        String xml = document.asXML();
+        assertTrue(xml.indexOf("UTF-16") != -1);
+        assertTrue(xml.indexOf('\u00FC') != -1);
+    }
+
+    public void testEncoding() throws Exception {
+        Document document = DocumentFactory.getInstance().createDocument(
+                "koi8-r");
+        Element el = document.addElement("root");
+        el.setText("text with an \u00FC in it"); // u00FC is umlaut
+
+        System.out.println(document.asXML());
+
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        OutputFormat of = OutputFormat.createPrettyPrint();
+        of.setEncoding("koi8-r");
+
+        XMLWriter writer = new XMLWriter(out, of);
+        writer.write(document);
+
+        String result = out.toString("koi8-r");
+        System.out.println(result);
+
+        Document doc2 = DocumentHelper.parseText(result);
+        // System.out.println(doc2.asXML());
+
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/tree/DefaultElementTest.java b/src/test/org/dom4j/tree/DefaultElementTest.java
new file mode 100644
index 0000000..34ab42c
--- /dev/null
+++ b/src/test/org/dom4j/tree/DefaultElementTest.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import junit.textui.TestRunner;
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Node;
+
+import java.util.List;
+
+/**
+ * JUnit tests for <code>DefaultElement</code>.
+ * 
+ * @author Maarten Coene
+ */
+public class DefaultElementTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(DefaultElementTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testParentAfterSetContent() throws Exception {
+            Document doc = DocumentHelper.parseText("<root>" + "<a>a</a>"
+                + "<b>b</b>" + "<x>x</x>" + "<d>d</d>" + "</root>");
+            Node x = doc.selectSingleNode("/root/x");
+            List content = doc.getRootElement().content();
+            int position = content.indexOf(x);
+            Element c = DocumentHelper.createElement("c");
+            c.setText("c");
+            content.add(position, c);
+            assertNotNull(c.getParent());
+            doc.getRootElement().setContent(content);
+            assertNotNull("Parent is null of setting content", c.getParent());
+        }
+
+    public void testGetStringValue() throws Exception {
+        Document doc = getDocument("xml/test/test_text.xml");
+        Element message = doc.getRootElement();
+        
+        String text = message.getStringValue();
+        assertEquals("String value incorrect", "This should work", text.trim());
+        
+        String xpathText = (String) doc
+                .selectObject("normalize-space(/message)");
+        assertEquals("xpath value incorrect", "This should work", xpathText);
+    }
+    
+    public void testBug894878() {
+        Element foo = DocumentFactory.getInstance().createElement("foo");
+        foo.addText("bla").addAttribute("foo", "bar");
+        assertEquals("<foo foo=\"bar\">bla</foo>", foo.asXML());
+
+        foo = DocumentFactory.getInstance().createElement("foo");
+        foo.addAttribute("foo", "bar").addText("bla");
+        assertEquals("<foo foo=\"bar\">bla</foo>", foo.asXML());
+    }
+
+    public void testGetNamespacesForURI() throws Exception {
+        String xml = "<schema targetNamespace='http://SharedTest.org/xsd' "
+                + "        xmlns='http://www.w3.org/2001/XMLSchema' "
+                + "        xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"
+                + "    <complexType name='AllStruct'>" + "        <all>"
+                + "            <element name='arString' type='xsd:string'/>"
+                + "            <element name='varInt' type='xsd:int'/>"
+                + "        </all>" + "    </complexType>" + "</schema>";
+        Document doc = DocumentHelper.parseText(xml);
+        Element schema = doc.getRootElement();
+        List namespaces = schema
+                .getNamespacesForURI("http://www.w3.org/2001/XMLSchema");
+
+        assertNotNull(namespaces);
+        assertEquals(2, namespaces.size());
+    }
+
+    public void testDeclaredNamespaces() throws Exception {
+        String xml = "<a xmlns:ns1=\"uri1\">" + "    <ns1:b/>"
+                + "    <ns2:c xmlns:ns2=\"uri2\"/>" + "</a>";
+        Document doc = DocumentHelper.parseText(xml);
+
+        Element a = doc.getRootElement();
+        List ns = a.declaredNamespaces();
+        assertEquals(1, ns.size());
+        assertSame(a.getNamespaceForPrefix("ns1"), ns.get(0));
+
+        Element b = a.element("b");
+        ns = b.declaredNamespaces();
+        assertEquals(0, ns.size());
+
+        Element c = a.element("c");
+        ns = c.declaredNamespaces();
+        assertEquals(1, ns.size());
+        assertSame(c.getNamespaceForPrefix("ns2"), ns.get(0));
+    }
+
+    public void testAdditionalNamespaces() throws Exception {
+        String xml = "<a xmlns:ns1=\"uri1\">" + "    <ns1:b/>"
+                + "    <ns2:c xmlns:ns2=\"uri2\"/>" + "</a>";
+        Document doc = DocumentHelper.parseText(xml);
+
+        Element a = doc.getRootElement();
+        List ns = a.additionalNamespaces();
+        assertEquals(1, ns.size());
+        assertSame(a.getNamespaceForPrefix("ns1"), ns.get(0));
+
+        Element b = a.element("b");
+        ns = b.additionalNamespaces();
+        assertEquals(0, ns.size());
+
+        Element c = a.element("c");
+        ns = c.additionalNamespaces();
+        assertEquals(0, ns.size());
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/tree/NamespaceCacheTest.java b/src/test/org/dom4j/tree/NamespaceCacheTest.java
new file mode 100644
index 0000000..5f3f673
--- /dev/null
+++ b/src/test/org/dom4j/tree/NamespaceCacheTest.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.tree;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Namespace;
+
+/**
+ * A test harness to test the performance of the NamespaceCache
+ * 
+ * @author <a href="mailto:bfinnell at users.sourceforge.net">Brett Finnell </a>
+ */
+public class NamespaceCacheTest extends AbstractTestCase {
+    private static final int THREADCOUNT = 50;
+
+    private static final int ITERATIONCOUNT = 10000;
+
+    public static void main(String[] args) {
+        TestRunner.run(NamespaceCacheTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testGetSameNamespaceSingleThread() {
+        long start = System.currentTimeMillis();
+        SameNSTest test = new SameNSTest();
+        test.run();
+
+        long end = System.currentTimeMillis();
+        System.out.println("Same NS Single took " + (end - start) + " ms");
+    }
+
+    public void testGetSameNamespaceMultiThread() throws Exception {
+        long start = System.currentTimeMillis();
+        runMultiThreadedTest(new SameNSTest());
+
+        long end = System.currentTimeMillis();
+        System.out.println("Different NS Single took " + (end - start) + " ms");
+    }
+
+    public void testGetNewNamespaceSingleThread() {
+        long start = System.currentTimeMillis();
+        DifferentNSTest test = new DifferentNSTest();
+        test.run();
+
+        long end = System.currentTimeMillis();
+        System.out.println("Same NS Multi took " + (end - start) + " ms");
+    }
+
+    public void testGetNewNamespaceMultiThread() throws Exception {
+        long start = System.currentTimeMillis();
+        runMultiThreadedTest(new DifferentNSTest());
+
+        long end = System.currentTimeMillis();
+        System.out.println("Different NS Multi took " + (end - start) + " ms");
+    }
+
+    private void runMultiThreadedTest(Runnable test) throws Exception {
+        // Make the threads
+        Thread[] threads = new Thread[THREADCOUNT];
+
+        for (int i = 0; i < THREADCOUNT; i++) {
+            threads[i] = new Thread(new SameNSTest());
+        }
+
+        // Start the threads
+        for (int j = 0; j < THREADCOUNT; j++) {
+            threads[j].start();
+        }
+
+        // Join with the threads
+        for (int k = 0; k < THREADCOUNT; k++) {
+            threads[k].join();
+        }
+    }
+
+    private class SameNSTest implements Runnable {
+        public void run() {
+            NamespaceCache cache = new NamespaceCache();
+
+            for (int i = 0; i < ITERATIONCOUNT; i++) {
+                Namespace ns = cache.get("prefix", "uri");
+            }
+        }
+    }
+
+    private class DifferentNSTest implements Runnable {
+        public void run() {
+            NamespaceCache cache = new NamespaceCache();
+
+            for (int i = 0; i < ITERATIONCOUNT; i++) {
+                Namespace ns = cache.get("prefix", Integer.toString(i));
+            }
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/util/PerThreadSingletonTest.java b/src/test/org/dom4j/util/PerThreadSingletonTest.java
new file mode 100644
index 0000000..6562c2a
--- /dev/null
+++ b/src/test/org/dom4j/util/PerThreadSingletonTest.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.framework.TestCase;
+import junit.extensions.RepeatedTest;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.clarkware.junitperf.LoadTest;
+import com.clarkware.junitperf.TimedTest;
+
+/**
+ * PerThreadSingleton Tester.
+ * 
+ * @author ddlucas
+ * @since
+ * 
+ * <pre>
+ * 01 / 05 / 2005
+ * </pre>
+ * 
+ * @version 1.0
+ */
+public class PerThreadSingletonTest extends TestCase {
+    public PerThreadSingletonTest(String name) {
+        super(name);
+    }
+
+    private static SingletonStrategy singleton;
+
+    private static ThreadLocal reference = new ThreadLocal();
+
+    public void setUp() throws Exception {
+        super.setUp();
+        synchronized (PerThreadSingletonTest.class) {
+            if (singleton == null) {
+                singleton = new PerThreadSingleton();
+                singleton.setSingletonClassName(HashMap.class.getName());
+            }
+        }
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testInstance() throws Exception {
+        String tid = Thread.currentThread().getName();
+        Map map = (Map) singleton.instance();
+
+        String expected = "new value";
+        if (!map.containsKey(tid) && reference.get() != null) {
+            System.out.println("tid=" + tid + " map=" + map);
+            System.out.println("reference=" + reference);
+            System.out.println("singleton=" + singleton);
+            fail("created singleton more than once");
+        } else {
+            map.put(tid, expected);
+            reference.set(map);
+        }
+
+        String actual = (String) map.get(tid);
+        // System.out.println("tid="+tid+ " map="+map);
+        assertEquals("testInstance", expected, actual);
+
+        map = (Map) singleton.instance();
+        expected = "new value";
+        actual = (String) map.get(tid);
+        // System.out.println("tid="+tid+ " map="+map);
+        // System.out.println("reference="+reference);
+        // System.out.println("singleton="+singleton);
+        assertEquals("testInstance", expected, actual);
+        assertEquals("testInstance reference", reference.get(), map);
+
+    }
+
+    /**
+     * Assembles and returns a test suite.
+     * 
+     * @return The suite
+     */
+    public static Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(makeRepeatedLoadTest(5, 100, "testInstance"));
+        return suite;
+    }
+
+    /**
+     * JUnit method to exercise test via threads and loops
+     * 
+     * @param users
+     *            Number of users to simulate (i.e. Threads).
+     * @param iterations
+     *            Number of iterations per user ( repeat the test x times).
+     * @param testMethod
+     *            method to execute (testXXX).
+     * 
+     * @return A Junit test
+     */
+    protected static Test makeRepeatedLoadTest(int users, int iterations,
+            String testMethod) {
+        long maxElapsedTime = 1200 + (1000 * users * iterations);
+
+        Test testCase = new PerThreadSingletonTest(testMethod);
+
+        Test repeatedTest = new RepeatedTest(testCase, iterations);
+        Test loadTest = new LoadTest(repeatedTest, users);
+        Test timedTest = new TimedTest(loadTest, maxElapsedTime);
+
+        return timedTest;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
+
diff --git a/src/test/org/dom4j/util/SimpleSingletonTest.java b/src/test/org/dom4j/util/SimpleSingletonTest.java
new file mode 100644
index 0000000..1870afa
--- /dev/null
+++ b/src/test/org/dom4j/util/SimpleSingletonTest.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.util;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.framework.TestCase;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * PerThreadSingleton Tester.
+ * 
+ * @author ddlucas
+ * @since
+ * 
+ * <pre>
+ * 01 / 05 / 2005
+ * </pre>
+ * 
+ * @version 1.0
+ */
+public class SimpleSingletonTest extends TestCase {
+    public SimpleSingletonTest(String name) {
+        super(name);
+    }
+
+    private static SingletonStrategy singleton;
+
+    private static Object reference;
+
+    public void setUp() throws Exception {
+        super.setUp();
+        if (singleton == null) {
+            singleton = new PerThreadSingleton();
+            singleton.setSingletonClassName(HashMap.class.getName());
+        }
+    }
+
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testFirstInstance() throws Exception {
+        Map map = (Map) singleton.instance();
+        String expected = null;
+        String actual = (String) map.get("Test");
+        assertEquals("testInstance", expected, actual);
+
+        expected = "new value";
+        map.put("Test", expected);
+
+        map = (Map) singleton.instance();
+        reference = map;
+        actual = (String) map.get("Test");
+        assertEquals("testFirstInstance", expected, actual);
+    }
+
+    public void testSecondInstance() throws Exception {
+        Map map = (Map) singleton.instance();
+        assertEquals("testSecondInstance reference", reference, map);
+        String actual = (String) map.get("Test");
+        String expected = "new value";
+        assertEquals("testInstance", expected, actual);
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(TestSuite.createTest(SimpleSingletonTest.class,
+                "testFirstInstance"));
+        suite.addTest(TestSuite.createTest(SimpleSingletonTest.class,
+                "testSecondInstance"));
+        return suite;
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
+
diff --git a/src/test/org/dom4j/xpath/AttributeTest.java b/src/test/org/dom4j/xpath/AttributeTest.java
new file mode 100644
index 0000000..1819620
--- /dev/null
+++ b/src/test/org/dom4j/xpath/AttributeTest.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Attribute;
+import org.dom4j.DocumentHelper;
+import org.dom4j.XPath;
+
+/**
+ * Test harness for the attribute axis
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class AttributeTest extends AbstractTestCase {
+    protected static String[] paths = {"attribute::*",
+            "/root/author/attribute::*", "//attribute::*", "@name"};
+
+    public static void main(String[] args) {
+        TestRunner.run(AttributeTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(paths[i]);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(String xpathText) {
+        XPath xpath = DocumentHelper.createXPath(xpathText);
+        List list = xpath.selectNodes(document);
+
+        log("Searched path: " + xpathText + " found: " + list.size()
+                + " result(s)");
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+
+            log("Found Result: " + object);
+
+            assertTrue("Results should be Attribute objects",
+                    object instanceof Attribute);
+
+            Attribute attribute = (Attribute) object;
+
+            assertTrue("Results should support the parent relationship",
+                    attribute.supportsParent());
+            assertTrue(
+                    "Results should contain reference to the parent element",
+                    attribute.getParent() != null);
+            assertTrue("Resulting document not correct", attribute
+                    .getDocument() != null);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/BadPathTest.java b/src/test/org/dom4j/xpath/BadPathTest.java
new file mode 100644
index 0000000..b72cd5c
--- /dev/null
+++ b/src/test/org/dom4j/xpath/BadPathTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.XPath;
+
+/**
+ * Tests bad XPath expressions
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class BadPathTest extends AbstractTestCase {
+    private String[] paths = {"+", "/foo/bar/"};
+
+    public static void main(String[] args) {
+        TestRunner.run(BadPathTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testBadPaths() throws Exception {
+        for (int i = 0, size = paths.length; i < size; i++) {
+            String path = paths[i];
+            testBadPath(path);
+        }
+    }
+
+    protected void testBadPath(String path) throws Exception {
+        try {
+            document.selectObject(path);
+
+            fail("Should have thrown exception for: " + path);
+        } catch (Exception e) {
+            log("Successfully caught: " + e);
+        }
+
+        try {
+            XPath xpath = document.createXPath(path);
+
+            fail("Should have thrown exception for: " + path);
+        } catch (Exception e) {
+            log("Successfully caught: " + e);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/BooleanTest.java b/src/test/org/dom4j/xpath/BooleanTest.java
new file mode 100644
index 0000000..5551686
--- /dev/null
+++ b/src/test/org/dom4j/xpath/BooleanTest.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+
+/**
+ * Test harness for the boolean expressions
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class BooleanTest extends AbstractTestCase {
+    protected static String[] paths = {".[name()='author']",
+            ".[.='James Strachan']", ".[name()='XXXX']", ".[.='XXXX']",
+            "name()='author'", "name()='XXXX'", ".='James Strachan'",
+            ".='XXXX'"};
+
+    public static void main(String[] args) {
+        TestRunner.run(BooleanTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(paths[i]);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(String xpathExpression) {
+        XPath xpath = DocumentHelper.createXPath(xpathExpression);
+        assertTrue("No xpath object was created", xpath != null);
+
+        log("Evaluating xpath: " + xpath);
+
+        List list = document.selectNodes("//author");
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Node node = (Node) iter.next();
+            testXPath(node, xpath);
+        }
+    }
+
+    protected void testXPath(Node node, XPath xpath) {
+        List list = xpath.selectNodes(node);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/FilterTest.java b/src/test/org/dom4j/xpath/FilterTest.java
new file mode 100644
index 0000000..991de7b
--- /dev/null
+++ b/src/test/org/dom4j/xpath/FilterTest.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Node;
+import org.dom4j.NodeFilter;
+
+/**
+ * Test harness for XPath filters
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class FilterTest extends AbstractTestCase {
+    protected static String[] paths = {".[name()='author']",
+            ".[name()='XXXX']", ".[.='James Strachan']", ".[.='XXXX']"};
+
+    public static void main(String[] args) {
+        TestRunner.run(FilterTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(paths[i]);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(String xpathExpression) {
+        NodeFilter nodeFilter = DocumentHelper
+                .createXPathFilter(xpathExpression);
+        assertTrue("No NodeFilter object was created", nodeFilter != null);
+
+        List list = document.selectNodes("//author");
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Node node = (Node) iter.next();
+
+            if (nodeFilter.matches(node)) {
+                log("Matches node: " + node.asXML());
+            } else {
+                log("No match for node: " + node.asXML());
+            }
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/GetPathTest.java b/src/test/org/dom4j/xpath/GetPathTest.java
new file mode 100644
index 0000000..b40a283
--- /dev/null
+++ b/src/test/org/dom4j/xpath/GetPathTest.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Attribute;
+import org.dom4j.Branch;
+import org.dom4j.Document;
+import org.dom4j.DocumentFactory;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.QName;
+
+/**
+ * Test harness for the GetPath() method
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class GetPathTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(GetPathTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testGetPath() throws Exception {
+        log("Testing paths");
+
+        // testBranchPath( document );
+        testPath(document, "/");
+
+        Element root = document.getRootElement();
+
+        testPath(root, "/root");
+
+        List elements = root.elements();
+
+        testPath((Node) elements.get(0), "/root/author", "/root/author[1]");
+
+        for (int i = 0, size = elements.size(); i < size; i++) {
+            String path = "/root/author";
+            String uniquePath = "/root/author";
+            String pathRel = "author";
+            String uniquePathRel = "author";
+
+            if (size > 1) {
+                uniquePath = "/root/author[" + (i + 1) + "]";
+                uniquePathRel = "author[" + (i + 1) + "]";
+            }
+
+            Element element = (Element) elements.get(i);
+            testPath(element, path, uniquePath);
+            testRelativePath(root, element, pathRel, uniquePathRel);
+
+            Attribute attribute = element.attribute("name");
+            testPath(attribute, path + "/@name", uniquePath + "/@name");
+            testRelativePath(root, attribute, pathRel + "/@name", uniquePathRel
+                    + "/@name");
+
+            Element child = element.element("url");
+            testPath(child, path + "/url", uniquePath + "/url");
+            testRelativePath(root, child, pathRel + "/url", uniquePathRel
+                    + "/url");
+        }
+    }
+
+    public void testDefaultNamespace() throws Exception {
+        Document doc = getDocument("/xml/test/defaultNamespace.xml");
+        Element root = doc.getRootElement();
+        testPath(root, "/*[name()='a']");
+
+        Element child = (Element) root.elements().get(0);
+        testPath(child, "/*[name()='a']/*[name()='b']");
+        testRelativePath(root, child, "*[name()='b']");
+    }
+
+    public void testBug770410() {
+        Document doc = DocumentHelper.createDocument();
+        Element a = doc.addElement("a");
+        Element b = a.addElement("b");
+        Element c = b.addElement("c");
+
+        b.detach();
+
+        String relativePath = b.getPath(b);
+        assertSame(b, b.selectSingleNode(relativePath));
+    }
+
+    public void testBug569927() {
+        Document doc = DocumentHelper.createDocument();
+        QName elName = DocumentFactory.getInstance().createQName("a", "ns",
+                "uri://myuri");
+        Element a = doc.addElement(elName);
+        QName attName = DocumentFactory.getInstance().createQName("attribute",
+                "ns", "uri://myuri");
+        a = a.addAttribute(attName, "test");
+
+        Attribute att = a.attribute(attName);
+
+        assertSame(att, doc.selectSingleNode(att.getPath()));
+        assertSame(att, doc.selectSingleNode(att.getUniquePath()));
+    }
+
+    protected void testPath(Node node, String value) {
+        testPath(node, value, value);
+    }
+
+    protected void testPath(Node node, String path, String uniquePath) {
+        assertEquals("getPath expression should be what is expected", path,
+                node.getPath());
+        assertEquals("getUniquePath expression should be what is expected",
+                uniquePath, node.getUniquePath());
+    }
+
+    protected void testRelativePath(Element context, Node node, String path) {
+        testRelativePath(context, node, path, path);
+    }
+
+    protected void testRelativePath(Element context, Node node, String pathRel,
+            String uniquePathRel) {
+        assertEquals("relative getPath expression should be what is expected",
+                pathRel, node.getPath(context));
+        assertEquals("relative getUniquePath expression not correct",
+                uniquePathRel, node.getUniquePath(context));
+    }
+
+    protected void testBranchPath(Branch branch) {
+        testNodePath(branch);
+
+        if (branch instanceof Element) {
+            Element element = (Element) branch;
+
+            for (Iterator iter = element.attributeIterator(); iter.hasNext();) {
+                Node node = (Node) iter.next();
+                testNodePath(node);
+            }
+        }
+
+        for (Iterator iter = branch.nodeIterator(); iter.hasNext();) {
+            Node node = (Node) iter.next();
+
+            if (node instanceof Branch) {
+                testBranchPath((Branch) node);
+            } else {
+                testNodePath(node);
+            }
+        }
+    }
+
+    protected void testNodePath(Node node) {
+        String path = node.getPath();
+
+        log("Path: " + path + " node: " + node);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/MatrixConcatTest.java b/src/test/org/dom4j/xpath/MatrixConcatTest.java
new file mode 100644
index 0000000..d22cb5c
--- /dev/null
+++ b/src/test/org/dom4j/xpath/MatrixConcatTest.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.io.File;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Test harness for the matrix-concat extension function
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class MatrixConcatTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(MatrixConcatTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testMatrixConcat() throws Exception {
+        String[] exp1 = {"EQUITY_CF1", "EQUITY_CF2", "EQUITY_CF3"};
+
+        String[] exp2 = {"EQUITY_BAR_CF1", "EQUITY_BAR_CF2", "EQUITY_BAR_CF3"};
+
+        testMatrixConcat("'EQUITY_',/product/cashflows/CashFlow/XREF", exp1);
+        testMatrixConcat("'EQUITY_','BAR_',/product/cashflows/CashFlow/XREF",
+                exp2);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testMatrixConcat(String path, String[] results)
+            throws Exception {
+        log("Using XPath: " + path);
+
+        List list = document.selectNodes("matrix-concat(" + path + ")");
+
+        log("Found: " + list);
+
+        // Object object = list.get(0);
+        // log( "(0) = " + object + " type: " + object.getClass() );
+        int size = results.length;
+        assertTrue("List should contain " + size + " results: " + list, list
+                .size() == size);
+
+        for (int i = 0; i < size; i++) {
+            assertEquals(list.get(i), results[i]);
+        }
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = new SAXReader().read(new File("xml/test/product.xml"));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/NamespaceTest.java b/src/test/org/dom4j/xpath/NamespaceTest.java
new file mode 100644
index 0000000..e788f11
--- /dev/null
+++ b/src/test/org/dom4j/xpath/NamespaceTest.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Namespace;
+import org.dom4j.XPath;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Test harness for the namespace axis
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class NamespaceTest extends AbstractTestCase {
+    protected static String[] paths = {"namespace::*",
+            "/Template/Application1/namespace::*",
+            "/Template/Application1/namespace::xplt", "//namespace::*"};
+
+    public static void main(String[] args) {
+        TestRunner.run(NamespaceTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(paths[i]);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(String xpathText) {
+        XPath xpath = DocumentHelper.createXPath(xpathText);
+        List list = xpath.selectNodes(document);
+
+        log("Searched path: " + xpathText + " found: " + list.size()
+                + " result(s)");
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+
+            log("Found Result: " + object);
+
+            assertTrue("Results should be Namespace objects",
+                    object instanceof Namespace);
+
+            Namespace namespace = (Namespace) object;
+
+            log("Parent node: " + namespace.getParent());
+
+            assertTrue("Results should support the parent relationship",
+                    namespace.supportsParent());
+            assertTrue(
+                    "Results should contain reference to the parent element",
+                    namespace.getParent() != null);
+            assertTrue("Results should contain reference to the document",
+                    namespace.getDocument() != null);
+        }
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = new SAXReader().read(new File("xml/testNamespaces.xml"));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/NumberTest.java b/src/test/org/dom4j/xpath/NumberTest.java
new file mode 100644
index 0000000..9f6100a
--- /dev/null
+++ b/src/test/org/dom4j/xpath/NumberTest.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+
+/**
+ * Test harness for numeric XPath expressions
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class NumberTest extends AbstractTestCase {
+    protected static String[] paths = {"2+2", "2 + 2", "2 + number(1) + 2",
+            "number(1) * 2", "2 + count(//author) + 2", "2 + (2 * 5)",
+            "count(//author) + count(//author/attribute::*)",
+            "(12 + count(//author) + count(//author/attribute::*)) div 2",
+            "count(//author)", "count(//author/attribute::*)",
+            "2 + number(1) * 2", "count(descendant::author)",
+            "count(ancestor::author)", "count(descendant::*)",
+            "count(descendant::author)+1", "count(ancestor::*)",
+            "10 + count(ancestor-or-self::author) + 5",
+            "10 + count(descendant::author) * 5",
+            "10 + (count(descendant::author) * 5)"};
+
+    public static void main(String[] args) {
+        TestRunner.run(NumberTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        Node element = document.selectSingleNode("//author");
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(document, paths[i]);
+            testXPath(element, paths[i]);
+        }
+
+        log("Finished successfully");
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(Node node, String xpathText) throws Exception {
+        try {
+            XPath xpath = node.createXPath(xpathText);
+
+            Number number = xpath.numberValueOf(node);
+
+            log("Searched path: " + xpathText + " found: " + number);
+        } catch (Throwable e) {
+            log("Caught exception: " + e);
+            e.printStackTrace();
+            assertTrue("Failed to process:  " + xpathText
+                    + " caught exception: " + e, false);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/ObjectTest.java b/src/test/org/dom4j/xpath/ObjectTest.java
new file mode 100644
index 0000000..374275b
--- /dev/null
+++ b/src/test/org/dom4j/xpath/ObjectTest.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+
+/**
+ * Test harness for numeric XPath expressions
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class ObjectTest extends AbstractTestCase {
+    protected static String[] paths = {"name(/.)", "name()"};
+
+    public static void main(String[] args) {
+        TestRunner.run(ObjectTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        Node element = document.selectSingleNode("//author");
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(document, paths[i]);
+            testXPath(element, paths[i]);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(Node node, String xpathText) {
+        XPath xpath = node.createXPath(xpathText);
+        Object object = xpath.evaluate(node);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/PrefixTest.java b/src/test/org/dom4j/xpath/PrefixTest.java
new file mode 100644
index 0000000..3dd3902
--- /dev/null
+++ b/src/test/org/dom4j/xpath/PrefixTest.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.io.File;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.DocumentHelper;
+import org.dom4j.XPath;
+import org.dom4j.io.SAXReader;
+
+import org.jaxen.SimpleNamespaceContext;
+
+/**
+ * Tests finding items using a namespace prefix
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class PrefixTest extends AbstractTestCase {
+    protected static String[] paths = {"//xplt:anyElement", "//xpl:insertText",
+            "/Template/Application1/xpl:insertText",
+            "/Template/Application2/xpl:insertText"};
+
+    public static void main(String[] args) {
+        TestRunner.run(PrefixTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(paths[i]);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(String xpathText) {
+        XPath xpath = DocumentHelper.createXPath(xpathText);
+
+        SimpleNamespaceContext context = new SimpleNamespaceContext();
+        context.addNamespace("xplt", "www.xxxx.com");
+        context.addNamespace("xpl", "www.xxxx.com");
+        xpath.setNamespaceContext(context);
+
+        List list = xpath.selectNodes(document);
+
+        log("Searched path: " + xpathText + " found: " + list.size()
+                + " result(s)");
+
+        assertTrue("Should have found at lest one result", list.size() > 0);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = new SAXReader().read(new File("xml/testNamespaces.xml"));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/SelectSingleNodeTest.java b/src/test/org/dom4j/xpath/SelectSingleNodeTest.java
new file mode 100644
index 0000000..3ea1815
--- /dev/null
+++ b/src/test/org/dom4j/xpath/SelectSingleNodeTest.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.dom4j.Node;
+
+/**
+ * Tests the selectSingleNode method
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class SelectSingleNodeTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(SelectSingleNodeTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testSelectSingleNode() throws Exception {
+        Document document = getDocument("/xml/test/jimBrain.xml");
+        Node node = document.selectSingleNode("/properties/client/threadsafe");
+        assertTrue("Found a valid node", node != null);
+
+        Element server = (Element) document
+                .selectSingleNode("/properties/server");
+        assertTrue("Found a valid server", server != null);
+
+        Element root = document.getRootElement();
+        server = (Element) root.selectSingleNode("/properties/server");
+        assertTrue("Found a valid server", server != null);
+
+        // try finding it via a relative path
+        server = (Element) document.selectSingleNode("properties/server");
+        assertTrue("Found a valid server", server != null);
+
+        // now lets use a relative path
+        Element connection = (Element) server.selectSingleNode("db/connection");
+        assertTrue("Found a valid connection", connection != null);
+    }
+
+    /**
+     * Test out Steen's bug
+     * 
+     * @throws Exception
+     *             DOCUMENT ME!
+     */
+    public void testSteensBug() throws Exception {
+        Document document = getDocument("/xml/schema/personal.xsd");
+
+        String xpath = "/xs:schema/xs:element[@name='person']";
+        assertNotNull("element is null", document.selectSingleNode(xpath));
+
+        Element root = document.getRootElement();
+
+        assertNotNull("element is null", root.selectSingleNode(xpath));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/SortByTest.java b/src/test/org/dom4j/xpath/SortByTest.java
new file mode 100644
index 0000000..2bfc321
--- /dev/null
+++ b/src/test/org/dom4j/xpath/SortByTest.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.io.File;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Test harness for the sorting version of the selectNodes() function
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class SortByTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(SortByTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        List list = document.selectNodes("//SPEAKER", "NAME");
+
+        log("Number of SPEAKER instances: " + list.size());
+
+        List noDuplicates = document.selectNodes("//SPEAKER", ".", true);
+
+        log("Number of distinct SPEAKER instances: " + noDuplicates.size());
+
+        log("Number of distinct SPEAKER instances: " + noDuplicates.size());
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = new SAXReader().read(new File("xml/much_ado.xml"));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/SubstringTest.java b/src/test/org/dom4j/xpath/SubstringTest.java
new file mode 100644
index 0000000..efb63ea
--- /dev/null
+++ b/src/test/org/dom4j/xpath/SubstringTest.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.io.File;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Test harness for the substring function
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class SubstringTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(SubstringTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testSubstring() throws Exception {
+        String[] results1 = {"1100", "1101"};
+
+        testSubstring("//field[substring(@id,1,2)='11']", results1);
+
+        String[] results2 = {"2111", "3111"};
+        testSubstring("//field[substring(@id,3)='11']", results2);
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testSubstring(String path, String[] results)
+            throws Exception {
+        log("Using XPath: " + path);
+
+        List list = document.selectNodes(path);
+
+        log("Found: " + list);
+
+        // Object object = list.get(0);
+        // log( "(0) = " + object + " type: " + object.getClass() );
+        int size = results.length;
+        assertTrue("List should contain " + size + " results: " + list, list
+                .size() == size);
+
+        for (int i = 0; i < size; i++) {
+            Element element = (Element) list.get(i);
+            assertEquals(element.attributeValue("id"), results[i]);
+        }
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = new SAXReader().read(new File("xml/test/fields.xml"));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/TextTest.java b/src/test/org/dom4j/xpath/TextTest.java
new file mode 100644
index 0000000..fb57cda
--- /dev/null
+++ b/src/test/org/dom4j/xpath/TextTest.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Text;
+
+/**
+ * Test harness for the text() function
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class TextTest extends AbstractTestCase {
+    protected static String[] paths = {"text()", "//author/text()"};
+
+    public static void main(String[] args) {
+        TestRunner.run(TextTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(paths[i]);
+        }
+    }
+
+    // Implementation methods
+    // -------------------------------------------------------------------------
+    protected void testXPath(String xpath) {
+        List list = document.selectNodes(xpath);
+
+        for (Iterator iter = list.iterator(); iter.hasNext();) {
+            Object object = iter.next();
+
+            log("Found Result: " + object);
+
+            assertTrue("Results not Text objects", object instanceof Text);
+
+            Text text = (Text) object;
+
+            assertTrue("Results should support the parent relationship", text
+                    .supportsParent());
+            assertTrue(
+                    "Results should contain reference to the parent element",
+                    text.getParent() != null);
+            assertTrue("Results should not reference to the owning document",
+                    text.getDocument() != null);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/UriMapTest.java b/src/test/org/dom4j/xpath/UriMapTest.java
new file mode 100644
index 0000000..169dcaa
--- /dev/null
+++ b/src/test/org/dom4j/xpath/UriMapTest.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+import org.dom4j.io.SAXReader;
+
+/**
+ * Tests the use of a Map for defining namespace URIs
+ * 
+ * @author <a href="mailto:jstrachan at apache.org">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class UriMapTest extends AbstractTestCase {
+    public static void main(String[] args) {
+        TestRunner.run(UriMapTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testURIMap() throws Exception {
+        Map uris = new HashMap();
+        uris.put("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/");
+        uris.put("m", "urn:xmethodsBabelFish");
+
+        String path = "/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish";
+        XPath xpath = document.createXPath(path);
+        xpath.setNamespaceURIs(uris);
+
+        Node babelfish = xpath.selectSingleNode(document);
+
+        // log( "Found: " + babelfish );
+        assertTrue("Found valid node", babelfish != null);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        document = new SAXReader().read(new File("xml/soap.xml"));
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/ValueOfTest.java b/src/test/org/dom4j/xpath/ValueOfTest.java
new file mode 100644
index 0000000..89857ab
--- /dev/null
+++ b/src/test/org/dom4j/xpath/ValueOfTest.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+
+/**
+ * Test harness for the valueOf() function
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.3 $
+ */
+public class ValueOfTest extends AbstractTestCase {
+    protected static String[] paths = {"/root", "//author", "//author/@name",
+            "/root/author[1]", "/root/author[1]/@name", "/root/author[2]",
+            "/root/author[2]/@name", "/root/author[3]",
+            "/root/author[3]/@name", "name()", "name(.)", "name(..)",
+            "name(child::node())", "name(parent::*)", "name(../*)",
+            "name(../child::node())", "local-name()", "local-name(..)",
+            "local-name(parent::*)", "local-name(../*)", "parent::*",
+            "name(/.)", "name(/child::node())", "name(/*)", ".", "..", "../*",
+            "../child::node()", "/.", "/*", "*", "/child::node()"};
+
+    public static void main(String[] args) {
+        TestRunner.run(ValueOfTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        Element root = document.getRootElement();
+        List children = root.elements("author");
+        Element child1 = (Element) children.get(0);
+
+        testXPath(document);
+        testXPath(root);
+        testXPath(child1);
+    }
+
+    protected void testXPath(Node node) throws Exception {
+        log("Testing XPath on: " + node);
+        log("===============================");
+
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(node, paths[i]);
+        }
+    }
+
+    protected void testXPath(Node node, String xpathExpr) throws Exception {
+        try {
+            XPath xpath = node.createXPath(xpathExpr);
+            String value = xpath.valueOf(node);
+
+            log("valueOf: " + xpathExpr + " is: " + value);
+        } catch (Throwable e) {
+            e.printStackTrace();
+            assertTrue("Failed with exception: " + e, false);
+        }
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/src/test/org/dom4j/xpath/VariableTest.java b/src/test/org/dom4j/xpath/VariableTest.java
new file mode 100644
index 0000000..fc17a98
--- /dev/null
+++ b/src/test/org/dom4j/xpath/VariableTest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ *
+ * This software is open source.
+ * See the bottom of this file for the licence.
+ */
+
+package org.dom4j.xpath;
+
+import junit.textui.TestRunner;
+
+import java.util.List;
+
+import org.dom4j.AbstractTestCase;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+
+import org.jaxen.SimpleVariableContext;
+
+/**
+ * Test harness for the valueOf() function
+ * 
+ * @author <a href="mailto:james.strachan at metastuff.com">James Strachan </a>
+ * @version $Revision: 1.4 $
+ */
+public class VariableTest extends AbstractTestCase {
+    // TODO: uncomment these if jaxen bug is fixed
+    // http://jira.codehaus.org/browse/JAXEN-73
+    protected static String[] paths = {
+            "$author",
+//            "$author/@name",
+//            "$root/author",
+//            "$root/author[1]",
+//            "$root/author[1]/@name",
+//            "$author/@name"
+        };
+
+    private SimpleVariableContext variableContext = new SimpleVariableContext();
+
+    private Node rootNode;
+
+    private Node authorNode;
+
+    public static void main(String[] args) {
+        TestRunner.run(VariableTest.class);
+    }
+
+    // Test case(s)
+    // -------------------------------------------------------------------------
+    public void testXPaths() throws Exception {
+        int size = paths.length;
+
+        for (int i = 0; i < size; i++) {
+            testXPath(paths[i]);
+        }
+    }
+
+    protected void testXPath(String xpathText) {
+        XPath xpath = createXPath(xpathText);
+        List list = xpath.selectNodes(document);
+
+        log("Searched path: " + xpathText + " found: " + list.size()
+                + " result(s)");
+
+        assertTrue("Results should not contain the root node", !list
+                .contains(rootNode));
+    }
+
+    protected XPath createXPath(String xpath) {
+        return DocumentHelper.createXPath(xpath, variableContext);
+    }
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        rootNode = document.selectSingleNode("/root");
+        authorNode = document.selectSingleNode("/root/author[1]");
+
+        variableContext.setVariableValue("root", rootNode);
+        variableContext.setVariableValue("author", authorNode);
+    }
+}
+
+/*
+ * Redistribution and use of this software and associated documentation
+ * ("Software"), with or without modification, are permitted provided that the
+ * following conditions are met:
+ * 
+ * 1. Redistributions of source code must retain copyright statements and
+ * notices. Redistributions must also contain a copy of this document.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 
+ * 3. The name "DOM4J" must not be used to endorse or promote products derived
+ * from this Software without prior written permission of MetaStuff, Ltd. For
+ * written permission, please contact dom4j-info at metastuff.com.
+ * 
+ * 4. Products derived from this Software may not be called "DOM4J" nor may
+ * "DOM4J" appear in their names without prior written permission of MetaStuff,
+ * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
+ * 
+ * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
+ * 
+ * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+ */
diff --git a/xdocs/benchmarks/xpath/PerfDOM4J.java b/xdocs/benchmarks/xpath/PerfDOM4J.java
new file mode 100644
index 0000000..f916982
--- /dev/null
+++ b/xdocs/benchmarks/xpath/PerfDOM4J.java
@@ -0,0 +1,260 @@
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.List;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+import org.dom4j.io.DOMWriter;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+
+public class PerfDOM4J {
+
+    public static void main(String args[]) {
+        Document doc;
+
+        try {
+            int numrec = 1;
+
+            numrec = 10000;
+            System.out.println("\n10000 Elements ------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 1);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            // PerfDOM4J.parse(numrec,1);
+            // PerfDOM4J.transform(doc,"item.xslt",1);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x1", 1);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x5000", 1);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x9999", 1);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 1);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x5000", 1);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x9999", 1);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 3);
+
+            numrec = 1000;
+            System.out.println("\n1000 Elements -------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 1);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            PerfDOM4J.parse(numrec, 3);
+            PerfDOM4J.transform(doc, "item.xslt", 3);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x1", 3);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x500", 3);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x999", 3);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 3);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x500", 3);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x999", 3);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 10);
+
+            numrec = 100;
+            System.out.println("\n100 Elements --------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 10);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            PerfDOM4J.parse(numrec, 10);
+            PerfDOM4J.transform(doc, "item.xslt", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x1", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x50", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x99", 10);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 10);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x50", 10);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x99", 10);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 10;
+            System.out.println("\n10 Elements ---------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 100);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            PerfDOM4J.parse(numrec, 100);
+            PerfDOM4J.transform(doc, "item.xslt", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x5", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x5", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x9", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 1000);
+
+            numrec = 1;
+            System.out.println("\n1 Element -----------------------");
+            doc = PerfDOM4J.createDocument(numrec, 20, 100);
+            PerfDOM4J.createW3CDOM(doc);
+            PerfDOM4J.write(doc, "dom4j_" + numrec + ".xml");
+            PerfDOM4J.parse(numrec, 100);
+            PerfDOM4J.transform(doc, "item.xslt", 10);
+            PerfDOM4J.xpath(doc, "/*/*/Attr1x1", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/*/Attr1x1", 1000);
+            PerfDOM4J.xpathNodes(doc, "/*/Item", 1000);
+
+        } catch (IOException ie) {
+            ie.printStackTrace();
+        }
+    }
+
+    public static Document createDocument(int iNumRecs, int iNumFlds, int pp) {
+
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int kk = 0; kk < pp; kk++) {
+            document = DocumentHelper.createDocument();
+
+            Element root = document.addElement("ItemResultSet");
+            for (int ii = 0; ii < iNumRecs; ii++) {
+
+                Element Record = root.addElement("Item");
+                for (int jj = 0; jj < iNumFlds; jj++) {
+                    Record.addElement("Attr" + jj + "x" + ii).addText(
+                            "123456789");
+                }
+
+            }
+        }
+        double end = System.currentTimeMillis();
+
+        System.err.println("Creation time  			:  " + (end - start) / pp);
+
+        return document;
+    }
+
+    public static Document parse(int iNumRecs, int kk) {
+
+        File file = new File("dom4j_" + iNumRecs + ".xml");
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int pp = 0; pp < kk; pp++) {
+            try {
+                SAXReader SAXrd = new SAXReader();
+                SAXrd.read(file);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        double end = System.currentTimeMillis();
+
+        System.err.println("Parsing time for 		:" + 1.000 * (end - start) / kk);
+
+        return document;
+    }
+
+    public static void createW3CDOM(Document doc) {
+
+        long start = System.currentTimeMillis();
+        try {
+            DOMWriter dw = new DOMWriter();
+            dw.write(doc);
+
+        } catch (Exception de) {
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C Creation time for 		:" + (end - start));
+    }
+
+    public static void write(Document document, String name) throws IOException {
+
+        long start = System.currentTimeMillis();
+        // lets write to a file
+
+        try {
+            OutputFormat format = OutputFormat.createPrettyPrint();
+            XMLWriter writer = new XMLWriter(new FileWriter(name), format);
+            writer.write(document);
+            writer.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("DOM4J File write time 		:" + (end - start) + "  "
+                + name);
+    }
+
+    public static void transform(Document xmlDoc, String xslFile, int kk) {
+
+        System.err.println("DOM4J start transform ");
+        int ii = 1;
+        try {
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer transformer = factory.newTransformer(new StreamSource(
+                    xslFile));
+
+            long start = System.currentTimeMillis();
+            for (ii = 0; ii < kk; ii++) {
+                Source source = new DocumentSource(xmlDoc);
+                DocumentResult result = new DocumentResult();
+                transformer.transform(source, result);
+
+                // output the transformed document
+            }
+            long end = System.currentTimeMillis();
+
+            System.err
+                    .println("DOM4J transform  time 		:" + (end - start) / ii);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public static void xpath(Document document, String xpathExp, int kk) {
+
+        long start = System.currentTimeMillis();
+        XPath xpath = document.createXPath(xpathExp);
+        for (int ii = 0; ii < kk; ii++) {
+            Node node = xpath.selectSingleNode(document);
+
+            if ((node != null) & (ii == 0)) {
+                String val = node.getStringValue();
+                // System.out.println(val);
+            }
+        }
+
+        long end = System.currentTimeMillis();
+        System.err.println("DOM4J xpath  time 		:" + (end - start) / kk);
+    }
+
+    public static void xpathNodes(Document document, String xpathExp, int kk) {
+
+        long start = System.currentTimeMillis();
+        XPath xpath = document.createXPath(xpathExp);
+
+        for (int ii = 0; ii < kk; ii++) {
+
+            try {
+
+                List nodeList = xpath.selectNodes(document);
+                if ((nodeList != null) && (nodeList.size() > 0)) {
+                    Node node = (Node) nodeList.get(0);
+                    if ((node != null) & (ii == 0)) {
+                        String val = node.getStringValue();
+                        // System.out.println(val);
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+
+            }
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("DOM4J xpath Nodes time 		:" + 1.000 * (end - start)
+                / kk);
+    }
+
+}
diff --git a/xdocs/benchmarks/xpath/PerfDOM4JAttr.java b/xdocs/benchmarks/xpath/PerfDOM4JAttr.java
new file mode 100644
index 0000000..f2bac5d
--- /dev/null
+++ b/xdocs/benchmarks/xpath/PerfDOM4JAttr.java
@@ -0,0 +1,275 @@
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.List;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.XPath;
+import org.dom4j.io.DOMWriter;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.XMLWriter;
+
+public class PerfDOM4JAttr {
+
+    public static void main(String args[]) {
+        Document doc;
+
+        try {
+            int numrec = 1;
+
+            numrec = 10000;
+            System.out.println("\n1000 Elements -------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 1);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 1);
+            // PerfDOM4JAttr.transform(doc,"item.xslt",1);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"500\"]", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"999\"]", 3);
+            PerfDOM4JAttr
+                    .xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]", 3);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"500\"]",
+                    3);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"999\"]",
+                    3);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 1000;
+            System.out.println("\n1000 Elements -------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 1);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 3);
+            PerfDOM4JAttr.transform(doc, "item.xslt", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"500\"]", 3);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"999\"]", 3);
+            PerfDOM4JAttr
+                    .xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]", 3);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"500\"]",
+                    3);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"999\"]",
+                    3);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 100;
+            System.out.println("\n100 Elements --------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 10);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 10);
+            PerfDOM4JAttr.transform(doc, "item.xslt", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"50\"]", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"99\"]", 10);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]",
+                    10);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"50\"]",
+                    10);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"99\"]",
+                    10);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 10;
+            System.out.println("\n10 Elements ---------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 100);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 100);
+            PerfDOM4JAttr.transform(doc, "item.xslt", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 100);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"5\"]", 100);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"9\"]", 100);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]",
+                    100);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"5\"]",
+                    100);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"9\"]",
+                    100);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+            numrec = 1;
+            System.out.println("\n1 Element -----------------------");
+            doc = PerfDOM4JAttr.createDocument(numrec, 20, 100);
+            PerfDOM4JAttr.createW3CDOM(doc);
+            PerfDOM4JAttr.write(doc, "DOM4JAttr_" + numrec + ".xml");
+            PerfDOM4JAttr.parse(numrec, 100);
+            PerfDOM4JAttr.transform(doc, "item.xslt", 10);
+            PerfDOM4JAttr.xpath(doc, "/ItemResultSet/Item[@guid=\"1\"]", 100);
+            PerfDOM4JAttr.xpathNodes(doc, "/ItemResultSet/Item[@guid=\"1\"]",
+                    100);
+            PerfDOM4JAttr.xpathNodes(doc, "/*/Item", 100);
+
+        } catch (IOException ie) {
+            ie.printStackTrace();
+        }
+    }
+
+    public static Document createDocument(int iNumRecs, int iNumFlds, int pp) {
+
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int kk = 0; kk < pp; kk++) {
+            document = DocumentHelper.createDocument();
+
+            Element root = document.addElement("ItemResultSet");
+            for (int ii = 0; ii < iNumRecs; ii++) {
+
+                Element Record = root.addElement("Item").addAttribute("guid",
+                        "" + ii);
+                for (int jj = 0; jj < iNumFlds; jj++) {
+                    Record.addAttribute("Attr" + jj, "123456789");
+                }
+
+            }
+        }
+        double end = System.currentTimeMillis();
+
+        System.err.println("Creation time  			:  " + (end - start) / pp);
+
+        return document;
+    }
+
+    public static Document parse(int iNumRecs, int kk) {
+
+        File file = new File("DOM4JAttr_" + iNumRecs + ".xml");
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int pp = 0; pp < kk; pp++) {
+            try {
+                SAXReader SAXrd = new SAXReader();
+                SAXrd.read(file);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        double end = System.currentTimeMillis();
+
+        System.err.println("Parsing time for 		:" + 1.000 * (end - start) / kk);
+
+        return document;
+    }
+
+    public static void createW3CDOM(Document doc) {
+
+        long start = System.currentTimeMillis();
+        try {
+            DOMWriter dw = new DOMWriter();
+            dw.write(doc);
+
+        } catch (Exception de) {
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C Creation time for 		:" + (end - start));
+    }
+
+    public static void write(Document document, String name) throws IOException {
+
+        long start = System.currentTimeMillis();
+        // lets write to a file
+
+        try {
+            OutputFormat format = OutputFormat.createPrettyPrint();
+            XMLWriter writer = new XMLWriter(new FileWriter(name), format);
+            writer.write(document);
+            writer.close();
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("DOM4JAttr File write time 		:" + (end - start)
+                + "  " + name);
+    }
+
+    public static void transform(Document xmlDoc, String xslFile, int kk) {
+
+        System.err.println("DOM4JAttr start transform ");
+        int ii = 1;
+        try {
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer transformer = factory.newTransformer(new StreamSource(
+                    xslFile));
+
+            long start = System.currentTimeMillis();
+            for (ii = 0; ii < kk; ii++) {
+                Source source = new DocumentSource(xmlDoc);
+                DocumentResult result = new DocumentResult();
+                transformer.transform(source, result);
+
+                // output the transformed document
+            }
+            long end = System.currentTimeMillis();
+
+            System.err.println("DOM4JAttr transform  time 		:" + (end - start)
+                    / ii);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public static void xpath(Document document, String xpathExp, int kk) {
+
+        long start = System.currentTimeMillis();
+        XPath xpath = document.createXPath(xpathExp);
+        for (int ii = 0; ii < kk; ii++) {
+            Node node = xpath.selectSingleNode(document);
+
+            if ((node != null) & (ii == 0)) {
+                String val = node.getStringValue();
+                // System.out.println("xpath OK:"+val);
+            }
+        }
+
+        long end = System.currentTimeMillis();
+        System.err.println("DOM4JAttr xpath  time 		:" + (end - start) / kk);
+    }
+
+    public static void xpathNodes(Document document, String xpathExp, int kk) {
+
+        long start = System.currentTimeMillis();
+        XPath xpath = document.createXPath(xpathExp);
+
+        for (int ii = 0; ii < kk; ii++) {
+
+            try {
+
+                List nodeList = xpath.selectNodes(document);
+                if ((nodeList != null) && (nodeList.size() > 0)) {
+                    Node node = (Node) nodeList.get(0);
+                    if ((node != null) & (ii == 0)) {
+                        String val = node.getStringValue();
+                        // System.out.println("xpathNodes OK:"+val);
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+
+            }
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("DOM4JAttr xpath Nodes time 		:" + 1.000
+                * (end - start) / kk);
+    }
+
+}
diff --git a/xdocs/benchmarks/xpath/PerfW3C.java b/xdocs/benchmarks/xpath/PerfW3C.java
new file mode 100644
index 0000000..7666767
--- /dev/null
+++ b/xdocs/benchmarks/xpath/PerfW3C.java
@@ -0,0 +1,250 @@
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamSource;
+import org.apache.xerces.dom.DocumentImpl;
+import org.apache.xml.serialize.OutputFormat;
+import org.apache.xml.serialize.XMLSerializer;
+import org.apache.xpath.XPathAPI;
+
+import org.dom4j.io.SAXReader;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class PerfW3C {
+
+    public static void main(String args[]) {
+        Document doc;
+        System.err.println("W3C createDocument:");
+
+        int numrec;
+        long start = 0;
+        long end = 0;
+
+        numrec = 1000;
+        System.out.println("\n1000 Elements ---------------------------------");
+        doc = PerfW3C.createDocument(numrec, 20, 1);
+        PerfW3C.write(doc, "w3c_" + numrec + ".xml");
+        PerfW3C.parse(numrec, 1);
+        PerfW3C.transform(doc, "item.xslt", 1);
+        PerfW3C.xpath(doc, "/*/*/Attr1x1", 1);
+        PerfW3C.xpath(doc, "/*/*/Attr1x500", 1);
+        PerfW3C.xpath(doc, "/*/*/Attr1x999", 1);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x1", 1);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x500", 1);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x999", 1);
+        PerfW3C.xpathNodes(doc, "/*/Item", 1);
+
+        numrec = 100;
+        System.out.println("\n100 Elements ----------------------------------");
+        doc = PerfW3C.createDocument(numrec, 20, 1);
+        PerfW3C.write(doc, "w3c_" + numrec + ".xml");
+        PerfW3C.transform(doc, "item.xslt", 10);
+        PerfW3C.parse(numrec, 10);
+        PerfW3C.xpath(doc, "/*/*/Attr0x1", 10);
+        PerfW3C.xpath(doc, "/*/*/Attr0x50", 10);
+        PerfW3C.xpath(doc, "/*/*/Attr0x99", 10);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr0x0", 10);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x50", 10);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x99", 10);
+        PerfW3C.xpathNodes(doc, "/*/Item", 10);
+
+        numrec = 10;
+        System.out.println("\n10 Elements -----------------------------------");
+        doc = PerfW3C.createDocument(numrec, 20, 10);
+        PerfW3C.write(doc, "w3c_" + numrec + ".xml");
+        PerfW3C.parse(numrec, 50);
+        PerfW3C.transform(doc, "item.xslt", 10);
+        PerfW3C.xpath(doc, "/*/*/Attr5", 100);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x5", 100);
+        PerfW3C.xpathNodes(doc, "/*/Item", 100);
+
+        numrec = 1;
+        System.out.println("\n1 Elements ------------------------------------");
+        doc = PerfW3C.createDocument(numrec, 20, 10);
+        PerfW3C.write(doc, "w3c_" + numrec + ".xml");
+        PerfW3C.parse(numrec, 100);
+        PerfW3C.transform(doc, "item.xslt", 10);
+        PerfW3C.xpath(doc, "/*/*/Attr1x0", 100);
+        PerfW3C.xpathNodes(doc, "/*/*/Attr1x0", 100);
+        PerfW3C.xpathNodes(doc, "/*/Item", 100);
+
+    }
+
+    public static Document createDocument(int iNumRecs, int iNumFlds, int pp) {
+
+        double start = System.currentTimeMillis();
+        Document document = null;
+        for (int kk = 0; kk < pp; kk++) {
+            document = new DocumentImpl();
+
+            Element root = document.createElement("ItemResultSet"); // Create
+                                                                    // Root
+                                                                    // Element
+            document.appendChild(root);
+
+            for (int ii = 0; ii < iNumRecs; ii++) {
+
+                Element Record = document.createElement("Item");
+                root.appendChild(Record);
+                for (int jj = 0; jj < iNumFlds; jj++) {
+                    /*
+                     * AttrImpl a =
+                     * (AttrImpl)document.createAttribute("Attr"+jj);
+                     * a.setNodeValue("123456789"); Record.setAttributeNode(a);
+                     */
+                    Element field = document.createElement("Attr" + jj + "x"
+                            + ii);
+                    field.appendChild(document.createTextNode("123456789"));
+                    Record.appendChild(field);
+
+                }
+            }
+        }
+
+        double end = System.currentTimeMillis();
+
+        System.err.println("Creation time  		  :" + (end - start) / pp);
+
+        return document;
+    }
+
+    public static void write(Document document, String name) {
+
+        long start = System.currentTimeMillis();
+        // lets write to a file
+
+        OutputFormat format = new OutputFormat(document); // Serialize DOM
+        format.setIndent(2);
+        format.setLineSeparator(System.getProperty("line.separator"));
+        format.setLineWidth(80);
+        try {
+
+            FileWriter writer = new FileWriter(name);
+            BufferedWriter buf = new BufferedWriter(writer);
+            XMLSerializer FileSerial = new XMLSerializer(writer, format);
+            FileSerial.asDOMSerializer(); // As a DOM Serializer
+            FileSerial.serialize(document);
+
+        } catch (IOException ioe) {
+            ioe.printStackTrace();
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C File write time :" + (end - start) + "  "
+                + name);
+    }
+
+    public static Document parse(int iNumRecs, int kk) {
+
+        File file = new File("dom4j_" + iNumRecs + ".xml");
+        double start = System.currentTimeMillis();
+        Document document = null;
+
+        for (int pp = 0; pp < kk; pp++) {
+            try {
+                SAXReader SAXrd = new SAXReader();
+                SAXrd.read(file);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+
+        double end = System.currentTimeMillis();
+
+        // System.err.println("DOM4J createDocument:" + "Num Rec. = " + iNumRecs
+        // + " Num. Fld.=" + iNumFlds);
+        System.err.println("Parsing time for 			:" + iNumRecs + "  "
+                + (end - start) / kk);
+
+        return document;
+    }
+
+    public static void transform(Document xmlDoc, String xslFile, int kk) {
+        int ii = 1;
+        try {
+            TransformerFactory factory = TransformerFactory.newInstance();
+            Transformer transformer = factory.newTransformer(new StreamSource(
+                    xslFile));
+
+            long start = System.currentTimeMillis();
+            for (ii = 0; ii < kk; ii++) {
+                DOMSource source = new DOMSource(xmlDoc);
+                DOMResult result = new DOMResult();
+                transformer.transform(source, result);
+            }
+            long end = System.currentTimeMillis();
+
+            System.err.println("W3C transform  time :" + (end - start) / ii);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public static void xpath(Document document, String xpathExp, int pp) {
+
+        long start = System.currentTimeMillis();
+
+        for (int ii = 0; ii < pp; ii++) {
+
+            try {
+
+                Node node = XPathAPI.selectSingleNode(document, xpathExp);
+                if ((node != null) & (ii == 0)) {
+                    String val = node.getNodeName();
+                    // System.out.println(val);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+
+            }
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C xpath  time :" + 1.000 * (end - start) / pp);
+    }
+
+    public static void xpathNodes(Document document, String xpathExp, int pp) {
+
+        long start = System.currentTimeMillis();
+
+        for (int ii = 0; ii < pp; ii++) {
+
+            try {
+
+                NodeList nodeList = XPathAPI.selectNodeList(document, xpathExp);
+                if ((nodeList != null) && (nodeList.getLength() > 0)) {
+                    Node node = nodeList.item(0);
+                    if ((node != null) & (ii == 0)) {
+                        String val = node.getNodeName();
+                        // System.out.println(val);
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+
+            }
+
+        }
+
+        long end = System.currentTimeMillis();
+
+        System.err.println("W3C xpathNodes  time :" + 1.000 * (end - start)
+                / pp);
+    }
+
+}
diff --git a/xdocs/benchmarks/xpath/index.html b/xdocs/benchmarks/xpath/index.html
new file mode 100644
index 0000000..fa3b4af
--- /dev/null
+++ b/xdocs/benchmarks/xpath/index.html
@@ -0,0 +1,834 @@
+<!-- saved from url=(0022)http://internet.e-mail -->
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>Dom4J performance versus Xerces</title>
+</head>
+
+<body>
+
+<h1><font face="Arial">Dom4J performance versus Xerces / Xalan</font></h1>
+<p><font face="Arial"><a href="mailto:bhm at eigner.com">Martin B�hm</a>, <a href="mailto:jjd at eigner.com">Jean-Jacques
+Dubray</a></font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><b>Eigner</b>
+Precision Lifecycle Management</font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><a href="http://www.eigner.com"><font face="Arial">www.eigner.com</font></a></p>
+<h2><font face="Arial">Introduction</font></h2>
+<p><font face="Arial">We have created a simple test bed to evaluate the performance of DOM4J versus
+Xerces/Xalan. These results are intended to give a rough idea rather than
+exhaustive test suite. In particular we focus our study on XML document which
+look like database result set. It is pretty clear that performance results may
+vary greatly based on the topology of your XML.</font></p>
+<p><font face="Arial">The test was designed with two topologies in mind: </font> </p>
+<p><font face="Arial">a) to have elements only and each element name is unique in
+the whole document.</font> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font COLOR="#008080" size="2" face="Arial"><?xml
+version="1.0" encoding="UTF-8"?></font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font size="2" face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">ItemResultSet</font><font COLOR="#0000ff">></font></font></p>
+<font SIZE="2">
+<blockquote>
+  <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Item</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<blockquote>
+  <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr0x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr0x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr1x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr1x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr2x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr2x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr3x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr3x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr4x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr4x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr5x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr5x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr6x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr6x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr7x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr7x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr8x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr8x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr9x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr9x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr10x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr10x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr11x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr11x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr12x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr12x0</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr13x0</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr13x0</font><font COLOR="#0000ff">></font></font></font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font size="2" face="Arial">...</font></p>
+</blockquote>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"></</font><font COLOR="#800000">Item</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Item</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<blockquote>
+  <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr0x1</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr0x1</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr1x1</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr1x1</font><font COLOR="#0000ff">></font></font></font></p>
+<font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font COLOR="#0000ff"><</font><font COLOR="#800000">Attr2x1</font><font COLOR="#0000ff">></font>123456789<font COLOR="#0000ff"></</font><font COLOR="#800000">Attr2x1</font><font COLOR="#0000ff">></font></font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font color="#0000ff" face="Arial">...</font></p>
+</blockquote>
+</blockquote>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><font color="#0000ff"></</font><font COLOR="#800000">ItemResultSet</font><font COLOR="#0000ff">></font></font></font></p>
+<p><font face="Arial">b) To use attributes only</font></p>
+<font SIZE="2" COLOR="#008080">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><?xml
+version="1.0" encoding="UTF-8"?></font></p>
+</font><font SIZE="2" COLOR="#0000ff">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial"><</font></font><font SIZE="2" COLOR="#800000" face="Arial">ItemResultSet</font><font SIZE="2" COLOR="#0000ff"><font face="Arial">></font></p>
+</font><font SIZE="2">
+<blockquote>
+  <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"></font><font face="Arial"><font SIZE="2" COLOR="#0000ff"><</font><font SIZE="2" COLOR="#800000">Item</font><font SIZE="2" COLOR="#ff0000">
+  guid</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">0</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+  Attr0</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">123456789</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+  Attr1</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">123456789</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+  </font></font><font COLOR="#0000ff" size="2"><font face="Arial">.../></font></p>
+</font><font SIZE="2">
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"></font><font face="Arial"><font SIZE="2" COLOR="#0000ff"><</font><font SIZE="2" COLOR="#800000">Item</font><font SIZE="2" COLOR="#ff0000">
+guid</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">1</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+Attr0</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">123456789</font><font SIZE="2" COLOR="#0000ff">"</font><font SIZE="2" COLOR="#ff0000">
+Attr1</font><font SIZE="2" COLOR="#0000ff">="</font><font SIZE="2">123456789</font><font SIZE="2" COLOR="#0000ff">"
+.../></font></font></p>
+</blockquote>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font SIZE="2" face="Arial"><font color="#0000ff"></</font><font COLOR="#800000">ItemResultSet</font><font COLOR="#0000ff">></font></font></p>
+<p> </p>
+<p> </p>
+<p><font face="Arial">We have tested for 1000,100,10,1 items the time it takes to:</font></p>
+<ul>
+  <li><font face="Arial">create a document</font></li>
+  <li><font face="Arial">write it to disk</font></li>
+  <li><font face="Arial">reparse it from disk (I don't have a good disk)</font></li>
+  <li><font face="Arial">transform it to some other XML format</font></li>
+  <li><font face="Arial">run a series of XPath statements for both selectNodes and selectSingleNode
+    (where applicable)</font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">a) </font></p>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial" size="2" color="#0000FF">/*/*/Attr1x1</font></p>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial" size="2" color="#0000FF">/*/*/Attr1x500</font></p>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial" size="2" color="#0000FF">/*/*/Attr1x999</font></p>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial" size="2" color="#0000FF">/*/*/Item</font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">b) </font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font SIZE="2" color="#0000FF" face="Arial">/*/*[@id="1"]</font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font SIZE="2" color="#0000FF" face="Arial">/*/*[@id="500"]</font>
+    <p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font SIZE="2" color="#0000FF" face="Arial">/*/*[@id="999""]</font></li>
+</ul>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">All
+tests are running on my lapdog (PIII, 500MHz, 512Mb) We allocate a heap size of
+256 Mb when we start the test.</font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<h2 style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">Results</font></h2>
+<h3 style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">case
+a), comparison between Dom4j/Jaxen versus Xerces/Xalan</font></h3>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="10%"><font face="Arial">All times in ms</font></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Create Document</font> </b></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Write Document to disk</font></b></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Reparse the document
+      from disk</font></b></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">Items</font></b></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">xalan</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">xalan</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">xalan</font></i></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">1000</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">641.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">571.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">531</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">852</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">2020</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">2664</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">100</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">9.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">20.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">60</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">61</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">62.99</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">68.6</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">10</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.7</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">1.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">11.92</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">14.62</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">1</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.1</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.01</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.31</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">The
+most surprising result comes from executing XPath statements. Xalan does warn us
+in the <a href="http://xml.apache.org/xalan-j/apidocs/org/apache/xpath/XPathAPI.html">JavaDoc</a>
+that things could be a little slow.</font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectSingleNode()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"><font face="Arial">All times in ms</font></td>
+          <td width="33%"><b><font face="Arial">1000 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j</font></i></td>
+          <td width="34%"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">127</font></td>
+          <td width="34%"><font face="Arial">10</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="33%"><font face="Arial">20</font></td>
+          <td width="34%"><font face="Arial">661</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x999</font></b></td>
+          <td width="33%"><font face="Arial">23</font></td>
+          <td width="34%"><font face="Arial">1662</font></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"></td>
+          <td width="34%"></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><b><font face="Arial">100 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j </font></i></td>
+          <td width="34%"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">2</font></td>
+          <td width="34%"><font face="Arial">3.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x50</font></b></td>
+          <td width="33%"><font face="Arial">3</font></td>
+          <td width="34%"><font face="Arial">13.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x99</font></b></td>
+          <td width="33%"><font face="Arial">2</font></td>
+          <td width="34%"><font face="Arial">55.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"></td>
+          <td width="34%"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectNodes()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"><font face="Arial">All times in ms</font></td>
+          <td width="33%"><b><font face="Arial">1000 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j</font></i></td>
+          <td width="34%"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">16.6</font></td>
+          <td width="34%"><font face="Arial">1633</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="33%"><font face="Arial">20</font></td>
+          <td width="34%"><font face="Arial">1772</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x999</font></b></td>
+          <td width="33%"><font face="Arial">20.0</font></td>
+          <td width="34%"><font face="Arial">1733</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/Item</font></b></td>
+          <td width="33%"><font face="Arial">2.0</font></td>
+          <td width="34%"><font face="Arial">1742</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><b><font face="Arial">100 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j</font></i></td>
+          <td width="34%"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">1.0</font></td>
+          <td width="34%"><font face="Arial">35.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x50</font></b></td>
+          <td width="33%"><font face="Arial">2.0</font></td>
+          <td width="34%"><font face="Arial">36.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x99</font></b></td>
+          <td width="33%"><font face="Arial">1.0</font></td>
+          <td width="34%"><font face="Arial">49.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/Item</font></b></td>
+          <td width="33%"><font face="Arial">0.2</font></td>
+          <td width="34%"><font face="Arial">49.0</font></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectNodes()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%" height="123">
+        <tr>
+          <td width="33%" height="21"><font face="Arial">All times in ms</font></td>
+          <td width="33%" height="21"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="34%" height="21"></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"></td>
+          <td width="33%" height="21"><i><font face="Arial">dom4j </font></i></td>
+          <td width="34%" height="21"><i><font face="Arial">Xalan</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%" height="18"><b><font face="Arial">1000</font></b></td>
+          <td width="33%" height="18"><font face="Arial">20.0</font></td>
+          <td width="34%" height="18"><font face="Arial">1793</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">100</font></b></td>
+          <td width="33%" height="21"><font face="Arial">2.0</font></td>
+          <td width="34%" height="21"><font face="Arial">36.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">10</font></b></td>
+          <td width="33%" height="21"><font face="Arial">0.1</font></td>
+          <td width="34%" height="21"><font face="Arial">11.72</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">1</font></b></td>
+          <td width="33%" height="21"><font face="Arial">0.1</font></td>
+          <td width="34%" height="21"><font face="Arial">4.3</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%"></td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+  </tr>
+</table>
+<h2> </h2>
+<h3 style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">case
+b), we use Dom4j/Jaxen and compare how it behaves with a document that contains
+only element elements versus document that model the same data as attribute
+attributes</font></h3>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="10%"><font face="Arial">All times in ms</font></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Create Document</font> </b></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Write Document to disk</font></b></td>
+    <td width="20%" colspan="2" bordercolor="#000000"><b><font face="Arial">Reparse the document
+      from disk</font></b></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">Items</font></b></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - elements</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - attrs</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - elements</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - attrs</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - elements</font></i></td>
+    <td width="10%" bordercolor="#000000"><i><font face="Arial">dom4j - attrs</font></i></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">1000</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">641.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">100</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">531</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">140</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">2020</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">207</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">100</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">9.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.0</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">60</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">20</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">62.99</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">24</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">10</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.7</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.9</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">11.92</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.31</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%" bordercolor="#000000"><b><font face="Arial">1</font></b></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.1</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">0.1</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">10</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">8.01</font></td>
+    <td width="10%" bordercolor="#000000"><font face="Arial">6.81</font></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+  <tr>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+    <td width="10%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">The
+most surprising result comes from executing XPath statements. Xalan does warn us
+in the <a href="http://xml.apache.org/xalan-j/apidocs/org/apache/xpath/XPathAPI.html">JavaDoc</a>
+that things could be a little slow.</font></p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectSingleNode()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"><font face="Arial">All times in ms</font></td>
+          <td width="33%"><b><font face="Arial">1000 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">Dom4j - elements</font></i></td>
+          <td width="34%"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">127</font></td>
+          <td width="34%"><font face="Arial">36</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="33%"><font face="Arial">20</font></td>
+          <td width="34%"><font face="Arial">33</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x999</font></b></td>
+          <td width="33%"><font face="Arial">23</font></td>
+          <td width="34%"><font face="Arial">37</font></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"></td>
+          <td width="34%"></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><b><font face="Arial">100 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">Dom4j - elements</font></i></td>
+          <td width="34%"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">2</font></td>
+          <td width="34%"><font face="Arial">4</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x50</font></b></td>
+          <td width="33%"><font face="Arial">3</font></td>
+          <td width="34%"><font face="Arial">4</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x99</font></b></td>
+          <td width="33%"><font face="Arial">2</font></td>
+          <td width="34%"><font face="Arial">4</font></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"></td>
+          <td width="34%"></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectNodes()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"><font face="Arial">All times in ms</font></td>
+          <td width="33%"><b><font face="Arial">1000 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">dom4j - elements</font></i></td>
+          <td width="34%"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">16.6</font></td>
+          <td width="34%"><font face="Arial">36.6</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="33%"><font face="Arial">20</font></td>
+          <td width="34%"><font face="Arial">36.6</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x999</font></b></td>
+          <td width="33%"><font face="Arial">20.0</font></td>
+          <td width="34%"><font face="Arial">36.6</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/Item</font></b></td>
+          <td width="33%"><font face="Arial">2.0</font></td>
+          <td width="34%"><font face="Arial">1.7</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><b><font face="Arial">100 Items in the document</font></b></td>
+          <td width="34%"></td>
+        </tr>
+        <tr>
+          <td width="33%"></td>
+          <td width="33%"><i><font face="Arial">Dom4j - elements</font></i></td>
+          <td width="34%"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x1</font></b></td>
+          <td width="33%"><font face="Arial">1.0</font></td>
+          <td width="34%"><font face="Arial">3.0</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x50</font></b></td>
+          <td width="33%"><font face="Arial">2.0</font></td>
+          <td width="34%"><font face="Arial">4.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/*/Attr1x99</font></b></td>
+          <td width="33%"><font face="Arial">1.0</font></td>
+          <td width="34%"><font face="Arial">4</font></td>
+        </tr>
+        <tr>
+          <td width="33%"><b><font face="Arial">/*/Item</font></b></td>
+          <td width="33%"><font face="Arial">0.2</font></td>
+          <td width="34%"><font face="Arial">0.2</font></td>
+        </tr>
+      </table>
+    </td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"> </p>
+<p style="word-spacing: 0; line-height: 100%; margin-top: 0; margin-bottom: 0"><font face="Arial">selectNodes()</font></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="50%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%" height="123">
+        <tr>
+          <td width="33%" height="21"><font face="Arial">All times in ms</font></td>
+          <td width="33%" height="21"><b><font face="Arial">/*/*/Attr1x500</font></b></td>
+          <td width="34%" height="21"></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"></td>
+          <td width="33%" height="21"><i><font face="Arial">dom4j - elements</font></i></td>
+          <td width="34%" height="21"><i><font face="Arial">dom4j - attrs</font></i></td>
+        </tr>
+        <tr>
+          <td width="33%" height="18"><b><font face="Arial">1000</font></b></td>
+          <td width="33%" height="18"><font face="Arial">20.0</font></td>
+          <td width="34%" height="18"><font face="Arial">36.6</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">100</font></b></td>
+          <td width="33%" height="21"><font face="Arial">2.0</font></td>
+          <td width="34%" height="21"><font face="Arial">4.1</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">10</font></b></td>
+          <td width="33%" height="21"><font face="Arial">0.1</font></td>
+          <td width="34%" height="21"><font face="Arial">0.4</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">1</font></b></td>
+          <td width="33%" height="21"><font face="Arial">0.1</font></td>
+          <td width="34%" height="21"><font face="Arial">0.1</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="50%"></td>
+  </tr>
+  <tr>
+    <td width="50%"></td>
+  </tr>
+</table>
+<p> </p>
+<h3><font face="Arial">c) We also run a simple XSLT test which took the first
+XML formant (elements) and transformed it to the second format (attr) or
+conversely.</font></h3>
+<table border="0" cellpadding="0" cellspacing="0" width="100%">
+  <tr>
+    <td width="74%">
+      <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td width="25%"><font face="Arial">All times in ms.</font></td>
+          <td width="25%"><i><font face="Arial">dom4j el -> attr</font></i></td>
+          <td width="25%"><i><font face="Arial">dom4j attr -> el</font></i></td>
+          <td width="25%"><i><font face="Arial">Xalan el -> attr</font></i></td>
+        </tr>
+        <tr>
+          <td width="25%"><b><font face="Arial">10000</font></b></td>
+          <td width="25%"><font SIZE="2" face="Arial">12558 </font></td>
+          <td width="25%"><font SIZE="2" face="Arial">10044 </font></td>
+          <td width="25%"><font SIZE="2" face="Arial">12338</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="18"><b><font face="Arial">1000</font></b></td>
+          <td width="25%"><font face="Arial">1181</font></td>
+          <td width="25%"><font face="Arial">874</font></td>
+          <td width="25%"><font face="Arial">1913</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">100</font></b></td>
+          <td width="25%"><font face="Arial">98</font></td>
+          <td width="25%"><font face="Arial">83</font></td>
+          <td width="25%"><font face="Arial">123</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">10</font></b></td>
+          <td width="25%"><font face="Arial">12</font></td>
+          <td width="25%"><font face="Arial">11</font></td>
+          <td width="25%"><font face="Arial">20</font></td>
+        </tr>
+        <tr>
+          <td width="33%" height="21"><b><font face="Arial">1</font></b></td>
+          <td width="25%"><font face="Arial">3</font></td>
+          <td width="25%"><font face="Arial">4</font></td>
+          <td width="25%"><font face="Arial">10</font></td>
+        </tr>
+      </table>
+    </td>
+    <td width="26%"></td>
+  </tr>
+  <tr>
+    <td width="74%"></td>
+    <td width="26%"></td>
+  </tr>
+</table>
+<h2><b><font face="Arial">Conclusion</font></b></h2>
+<p><font face="Arial">These number suggest one should use the XPathAPI class of Xalan with great
+caution, if at all</font></p>
+<p><font face="Arial">The syntax of Xpath statements must be chosen carefully.
+Contrary to some belief, and of the topology of our XML format, using /*/* or // was most efficient
+compared to the absolute path /ItemResultSet/Item</font> </p>
+<p><font face="Arial">It appears more efficient to use selectNodes with Dom4j even if one needs a
+single node.</font></p>
+<p><font face="Arial">With DOM4J, it is about twice as fast when running XPath
+against a document which contains elements vs attributes. </font> </p>
+<p><font face="Arial">In our case, we found that Dom4j is faster than Xalant for
+XSLT transformations. We do not claim this is  a general result, but rather
+a datapoint</font> </p>
+
+<h2><b><span lang="en-gb">Resources</span></b></h2>
+<p><span lang="en-gb">Here's the source code and data for these tests. Try them 
+for yourself</span></p>
+<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
+  <tr>
+    <td width="100%" height="19"><a href="PerfDOM4J.java">PerfDOM4J.java</a></td>
+  </tr>
+  <tr>
+    <td width="100%" height="19"><a href="PerfDOM4JAttr.java">PerfDOM4JAttr.java</a></td>
+  </tr>
+  <tr>
+    <td width="100%" height="21"><a href="PerfW3C.java">PerfW3C.java</a></td>
+  </tr>
+  <tr>
+    <td width="100%" height="19"><a href="item.xslt">item.xslt</a></td>
+  </tr>
+  <tr>
+    <td width="100%" height="19"><a href="w3c_100.xml">w3c_100.xml</a></td>
+  </tr>
+</table>
+<p> </p>
+<p> </p>
+
+</body>
+
+</html>
diff --git a/xdocs/benchmarks/xpath/item.xslt b/xdocs/benchmarks/xpath/item.xslt
new file mode 100644
index 0000000..76754c9
--- /dev/null
+++ b/xdocs/benchmarks/xpath/item.xslt
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+	<xsl:output method="html"/>
+	<xsl:template match="/">
+		<html>
+			<header>
+				<style type="text/css">
+tr.loa
+{
+ background-color:#FF9900;
+}
+tr.item
+{
+ background-color:lightblue;
+}
+
+</style>
+			</header>
+			<body>
+				<table border="1">
+					<xsl:apply-templates select="ItemResultSet/Item"/>
+				</table>
+			</body>
+		</html>
+	</xsl:template>
+	<xsl:template match="Item">
+		<tr class="item">
+			<td>
+				<xsl:value-of select="Attr0x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr1x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr2x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr3x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr4x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr5x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr6x0"/>
+			</td>
+			<td>
+				<xsl:value-of select="Attr7x0"/>
+			</td>
+		</tr>
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/xdocs/benchmarks/xpath/w3c_100.xml b/xdocs/benchmarks/xpath/w3c_100.xml
new file mode 100644
index 0000000..906499a
--- /dev/null
+++ b/xdocs/benchmarks/xpath/w3c_100.xml
@@ -0,0 +1,2203 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plm_result>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x0>123456789</T_MASTER_DAT.PART_ID0x0>
+    <T_MASTER_DAT.PART_ID1x0>123456789</T_MASTER_DAT.PART_ID1x0>
+    <T_MASTER_DAT.PART_ID2x0>123456789</T_MASTER_DAT.PART_ID2x0>
+    <T_MASTER_DAT.PART_ID3x0>123456789</T_MASTER_DAT.PART_ID3x0>
+    <T_MASTER_DAT.PART_ID4x0>123456789</T_MASTER_DAT.PART_ID4x0>
+    <T_MASTER_DAT.PART_ID5x0>123456789</T_MASTER_DAT.PART_ID5x0>
+    <T_MASTER_DAT.PART_ID6x0>123456789</T_MASTER_DAT.PART_ID6x0>
+    <T_MASTER_DAT.PART_ID7x0>123456789</T_MASTER_DAT.PART_ID7x0>
+    <T_MASTER_DAT.PART_ID8x0>123456789</T_MASTER_DAT.PART_ID8x0>
+    <T_MASTER_DAT.PART_ID9x0>123456789</T_MASTER_DAT.PART_ID9x0>
+    <T_MASTER_DAT.PART_ID10x0>123456789</T_MASTER_DAT.PART_ID10x0>
+    <T_MASTER_DAT.PART_ID11x0>123456789</T_MASTER_DAT.PART_ID11x0>
+    <T_MASTER_DAT.PART_ID12x0>123456789</T_MASTER_DAT.PART_ID12x0>
+    <T_MASTER_DAT.PART_ID13x0>123456789</T_MASTER_DAT.PART_ID13x0>
+    <T_MASTER_DAT.PART_ID14x0>123456789</T_MASTER_DAT.PART_ID14x0>
+    <T_MASTER_DAT.PART_ID15x0>123456789</T_MASTER_DAT.PART_ID15x0>
+    <T_MASTER_DAT.PART_ID16x0>123456789</T_MASTER_DAT.PART_ID16x0>
+    <T_MASTER_DAT.PART_ID17x0>123456789</T_MASTER_DAT.PART_ID17x0>
+    <T_MASTER_DAT.PART_ID18x0>123456789</T_MASTER_DAT.PART_ID18x0>
+    <T_MASTER_DAT.PART_ID19x0>123456789</T_MASTER_DAT.PART_ID19x0>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x1>123456789</T_MASTER_DAT.PART_ID0x1>
+    <T_MASTER_DAT.PART_ID1x1>123456789</T_MASTER_DAT.PART_ID1x1>
+    <T_MASTER_DAT.PART_ID2x1>123456789</T_MASTER_DAT.PART_ID2x1>
+    <T_MASTER_DAT.PART_ID3x1>123456789</T_MASTER_DAT.PART_ID3x1>
+    <T_MASTER_DAT.PART_ID4x1>123456789</T_MASTER_DAT.PART_ID4x1>
+    <T_MASTER_DAT.PART_ID5x1>123456789</T_MASTER_DAT.PART_ID5x1>
+    <T_MASTER_DAT.PART_ID6x1>123456789</T_MASTER_DAT.PART_ID6x1>
+    <T_MASTER_DAT.PART_ID7x1>123456789</T_MASTER_DAT.PART_ID7x1>
+    <T_MASTER_DAT.PART_ID8x1>123456789</T_MASTER_DAT.PART_ID8x1>
+    <T_MASTER_DAT.PART_ID9x1>123456789</T_MASTER_DAT.PART_ID9x1>
+    <T_MASTER_DAT.PART_ID10x1>123456789</T_MASTER_DAT.PART_ID10x1>
+    <T_MASTER_DAT.PART_ID11x1>123456789</T_MASTER_DAT.PART_ID11x1>
+    <T_MASTER_DAT.PART_ID12x1>123456789</T_MASTER_DAT.PART_ID12x1>
+    <T_MASTER_DAT.PART_ID13x1>123456789</T_MASTER_DAT.PART_ID13x1>
+    <T_MASTER_DAT.PART_ID14x1>123456789</T_MASTER_DAT.PART_ID14x1>
+    <T_MASTER_DAT.PART_ID15x1>123456789</T_MASTER_DAT.PART_ID15x1>
+    <T_MASTER_DAT.PART_ID16x1>123456789</T_MASTER_DAT.PART_ID16x1>
+    <T_MASTER_DAT.PART_ID17x1>123456789</T_MASTER_DAT.PART_ID17x1>
+    <T_MASTER_DAT.PART_ID18x1>123456789</T_MASTER_DAT.PART_ID18x1>
+    <T_MASTER_DAT.PART_ID19x1>123456789</T_MASTER_DAT.PART_ID19x1>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x2>123456789</T_MASTER_DAT.PART_ID0x2>
+    <T_MASTER_DAT.PART_ID1x2>123456789</T_MASTER_DAT.PART_ID1x2>
+    <T_MASTER_DAT.PART_ID2x2>123456789</T_MASTER_DAT.PART_ID2x2>
+    <T_MASTER_DAT.PART_ID3x2>123456789</T_MASTER_DAT.PART_ID3x2>
+    <T_MASTER_DAT.PART_ID4x2>123456789</T_MASTER_DAT.PART_ID4x2>
+    <T_MASTER_DAT.PART_ID5x2>123456789</T_MASTER_DAT.PART_ID5x2>
+    <T_MASTER_DAT.PART_ID6x2>123456789</T_MASTER_DAT.PART_ID6x2>
+    <T_MASTER_DAT.PART_ID7x2>123456789</T_MASTER_DAT.PART_ID7x2>
+    <T_MASTER_DAT.PART_ID8x2>123456789</T_MASTER_DAT.PART_ID8x2>
+    <T_MASTER_DAT.PART_ID9x2>123456789</T_MASTER_DAT.PART_ID9x2>
+    <T_MASTER_DAT.PART_ID10x2>123456789</T_MASTER_DAT.PART_ID10x2>
+    <T_MASTER_DAT.PART_ID11x2>123456789</T_MASTER_DAT.PART_ID11x2>
+    <T_MASTER_DAT.PART_ID12x2>123456789</T_MASTER_DAT.PART_ID12x2>
+    <T_MASTER_DAT.PART_ID13x2>123456789</T_MASTER_DAT.PART_ID13x2>
+    <T_MASTER_DAT.PART_ID14x2>123456789</T_MASTER_DAT.PART_ID14x2>
+    <T_MASTER_DAT.PART_ID15x2>123456789</T_MASTER_DAT.PART_ID15x2>
+    <T_MASTER_DAT.PART_ID16x2>123456789</T_MASTER_DAT.PART_ID16x2>
+    <T_MASTER_DAT.PART_ID17x2>123456789</T_MASTER_DAT.PART_ID17x2>
+    <T_MASTER_DAT.PART_ID18x2>123456789</T_MASTER_DAT.PART_ID18x2>
+    <T_MASTER_DAT.PART_ID19x2>123456789</T_MASTER_DAT.PART_ID19x2>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x3>123456789</T_MASTER_DAT.PART_ID0x3>
+    <T_MASTER_DAT.PART_ID1x3>123456789</T_MASTER_DAT.PART_ID1x3>
+    <T_MASTER_DAT.PART_ID2x3>123456789</T_MASTER_DAT.PART_ID2x3>
+    <T_MASTER_DAT.PART_ID3x3>123456789</T_MASTER_DAT.PART_ID3x3>
+    <T_MASTER_DAT.PART_ID4x3>123456789</T_MASTER_DAT.PART_ID4x3>
+    <T_MASTER_DAT.PART_ID5x3>123456789</T_MASTER_DAT.PART_ID5x3>
+    <T_MASTER_DAT.PART_ID6x3>123456789</T_MASTER_DAT.PART_ID6x3>
+    <T_MASTER_DAT.PART_ID7x3>123456789</T_MASTER_DAT.PART_ID7x3>
+    <T_MASTER_DAT.PART_ID8x3>123456789</T_MASTER_DAT.PART_ID8x3>
+    <T_MASTER_DAT.PART_ID9x3>123456789</T_MASTER_DAT.PART_ID9x3>
+    <T_MASTER_DAT.PART_ID10x3>123456789</T_MASTER_DAT.PART_ID10x3>
+    <T_MASTER_DAT.PART_ID11x3>123456789</T_MASTER_DAT.PART_ID11x3>
+    <T_MASTER_DAT.PART_ID12x3>123456789</T_MASTER_DAT.PART_ID12x3>
+    <T_MASTER_DAT.PART_ID13x3>123456789</T_MASTER_DAT.PART_ID13x3>
+    <T_MASTER_DAT.PART_ID14x3>123456789</T_MASTER_DAT.PART_ID14x3>
+    <T_MASTER_DAT.PART_ID15x3>123456789</T_MASTER_DAT.PART_ID15x3>
+    <T_MASTER_DAT.PART_ID16x3>123456789</T_MASTER_DAT.PART_ID16x3>
+    <T_MASTER_DAT.PART_ID17x3>123456789</T_MASTER_DAT.PART_ID17x3>
+    <T_MASTER_DAT.PART_ID18x3>123456789</T_MASTER_DAT.PART_ID18x3>
+    <T_MASTER_DAT.PART_ID19x3>123456789</T_MASTER_DAT.PART_ID19x3>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x4>123456789</T_MASTER_DAT.PART_ID0x4>
+    <T_MASTER_DAT.PART_ID1x4>123456789</T_MASTER_DAT.PART_ID1x4>
+    <T_MASTER_DAT.PART_ID2x4>123456789</T_MASTER_DAT.PART_ID2x4>
+    <T_MASTER_DAT.PART_ID3x4>123456789</T_MASTER_DAT.PART_ID3x4>
+    <T_MASTER_DAT.PART_ID4x4>123456789</T_MASTER_DAT.PART_ID4x4>
+    <T_MASTER_DAT.PART_ID5x4>123456789</T_MASTER_DAT.PART_ID5x4>
+    <T_MASTER_DAT.PART_ID6x4>123456789</T_MASTER_DAT.PART_ID6x4>
+    <T_MASTER_DAT.PART_ID7x4>123456789</T_MASTER_DAT.PART_ID7x4>
+    <T_MASTER_DAT.PART_ID8x4>123456789</T_MASTER_DAT.PART_ID8x4>
+    <T_MASTER_DAT.PART_ID9x4>123456789</T_MASTER_DAT.PART_ID9x4>
+    <T_MASTER_DAT.PART_ID10x4>123456789</T_MASTER_DAT.PART_ID10x4>
+    <T_MASTER_DAT.PART_ID11x4>123456789</T_MASTER_DAT.PART_ID11x4>
+    <T_MASTER_DAT.PART_ID12x4>123456789</T_MASTER_DAT.PART_ID12x4>
+    <T_MASTER_DAT.PART_ID13x4>123456789</T_MASTER_DAT.PART_ID13x4>
+    <T_MASTER_DAT.PART_ID14x4>123456789</T_MASTER_DAT.PART_ID14x4>
+    <T_MASTER_DAT.PART_ID15x4>123456789</T_MASTER_DAT.PART_ID15x4>
+    <T_MASTER_DAT.PART_ID16x4>123456789</T_MASTER_DAT.PART_ID16x4>
+    <T_MASTER_DAT.PART_ID17x4>123456789</T_MASTER_DAT.PART_ID17x4>
+    <T_MASTER_DAT.PART_ID18x4>123456789</T_MASTER_DAT.PART_ID18x4>
+    <T_MASTER_DAT.PART_ID19x4>123456789</T_MASTER_DAT.PART_ID19x4>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x5>123456789</T_MASTER_DAT.PART_ID0x5>
+    <T_MASTER_DAT.PART_ID1x5>123456789</T_MASTER_DAT.PART_ID1x5>
+    <T_MASTER_DAT.PART_ID2x5>123456789</T_MASTER_DAT.PART_ID2x5>
+    <T_MASTER_DAT.PART_ID3x5>123456789</T_MASTER_DAT.PART_ID3x5>
+    <T_MASTER_DAT.PART_ID4x5>123456789</T_MASTER_DAT.PART_ID4x5>
+    <T_MASTER_DAT.PART_ID5x5>123456789</T_MASTER_DAT.PART_ID5x5>
+    <T_MASTER_DAT.PART_ID6x5>123456789</T_MASTER_DAT.PART_ID6x5>
+    <T_MASTER_DAT.PART_ID7x5>123456789</T_MASTER_DAT.PART_ID7x5>
+    <T_MASTER_DAT.PART_ID8x5>123456789</T_MASTER_DAT.PART_ID8x5>
+    <T_MASTER_DAT.PART_ID9x5>123456789</T_MASTER_DAT.PART_ID9x5>
+    <T_MASTER_DAT.PART_ID10x5>123456789</T_MASTER_DAT.PART_ID10x5>
+    <T_MASTER_DAT.PART_ID11x5>123456789</T_MASTER_DAT.PART_ID11x5>
+    <T_MASTER_DAT.PART_ID12x5>123456789</T_MASTER_DAT.PART_ID12x5>
+    <T_MASTER_DAT.PART_ID13x5>123456789</T_MASTER_DAT.PART_ID13x5>
+    <T_MASTER_DAT.PART_ID14x5>123456789</T_MASTER_DAT.PART_ID14x5>
+    <T_MASTER_DAT.PART_ID15x5>123456789</T_MASTER_DAT.PART_ID15x5>
+    <T_MASTER_DAT.PART_ID16x5>123456789</T_MASTER_DAT.PART_ID16x5>
+    <T_MASTER_DAT.PART_ID17x5>123456789</T_MASTER_DAT.PART_ID17x5>
+    <T_MASTER_DAT.PART_ID18x5>123456789</T_MASTER_DAT.PART_ID18x5>
+    <T_MASTER_DAT.PART_ID19x5>123456789</T_MASTER_DAT.PART_ID19x5>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x6>123456789</T_MASTER_DAT.PART_ID0x6>
+    <T_MASTER_DAT.PART_ID1x6>123456789</T_MASTER_DAT.PART_ID1x6>
+    <T_MASTER_DAT.PART_ID2x6>123456789</T_MASTER_DAT.PART_ID2x6>
+    <T_MASTER_DAT.PART_ID3x6>123456789</T_MASTER_DAT.PART_ID3x6>
+    <T_MASTER_DAT.PART_ID4x6>123456789</T_MASTER_DAT.PART_ID4x6>
+    <T_MASTER_DAT.PART_ID5x6>123456789</T_MASTER_DAT.PART_ID5x6>
+    <T_MASTER_DAT.PART_ID6x6>123456789</T_MASTER_DAT.PART_ID6x6>
+    <T_MASTER_DAT.PART_ID7x6>123456789</T_MASTER_DAT.PART_ID7x6>
+    <T_MASTER_DAT.PART_ID8x6>123456789</T_MASTER_DAT.PART_ID8x6>
+    <T_MASTER_DAT.PART_ID9x6>123456789</T_MASTER_DAT.PART_ID9x6>
+    <T_MASTER_DAT.PART_ID10x6>123456789</T_MASTER_DAT.PART_ID10x6>
+    <T_MASTER_DAT.PART_ID11x6>123456789</T_MASTER_DAT.PART_ID11x6>
+    <T_MASTER_DAT.PART_ID12x6>123456789</T_MASTER_DAT.PART_ID12x6>
+    <T_MASTER_DAT.PART_ID13x6>123456789</T_MASTER_DAT.PART_ID13x6>
+    <T_MASTER_DAT.PART_ID14x6>123456789</T_MASTER_DAT.PART_ID14x6>
+    <T_MASTER_DAT.PART_ID15x6>123456789</T_MASTER_DAT.PART_ID15x6>
+    <T_MASTER_DAT.PART_ID16x6>123456789</T_MASTER_DAT.PART_ID16x6>
+    <T_MASTER_DAT.PART_ID17x6>123456789</T_MASTER_DAT.PART_ID17x6>
+    <T_MASTER_DAT.PART_ID18x6>123456789</T_MASTER_DAT.PART_ID18x6>
+    <T_MASTER_DAT.PART_ID19x6>123456789</T_MASTER_DAT.PART_ID19x6>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x7>123456789</T_MASTER_DAT.PART_ID0x7>
+    <T_MASTER_DAT.PART_ID1x7>123456789</T_MASTER_DAT.PART_ID1x7>
+    <T_MASTER_DAT.PART_ID2x7>123456789</T_MASTER_DAT.PART_ID2x7>
+    <T_MASTER_DAT.PART_ID3x7>123456789</T_MASTER_DAT.PART_ID3x7>
+    <T_MASTER_DAT.PART_ID4x7>123456789</T_MASTER_DAT.PART_ID4x7>
+    <T_MASTER_DAT.PART_ID5x7>123456789</T_MASTER_DAT.PART_ID5x7>
+    <T_MASTER_DAT.PART_ID6x7>123456789</T_MASTER_DAT.PART_ID6x7>
+    <T_MASTER_DAT.PART_ID7x7>123456789</T_MASTER_DAT.PART_ID7x7>
+    <T_MASTER_DAT.PART_ID8x7>123456789</T_MASTER_DAT.PART_ID8x7>
+    <T_MASTER_DAT.PART_ID9x7>123456789</T_MASTER_DAT.PART_ID9x7>
+    <T_MASTER_DAT.PART_ID10x7>123456789</T_MASTER_DAT.PART_ID10x7>
+    <T_MASTER_DAT.PART_ID11x7>123456789</T_MASTER_DAT.PART_ID11x7>
+    <T_MASTER_DAT.PART_ID12x7>123456789</T_MASTER_DAT.PART_ID12x7>
+    <T_MASTER_DAT.PART_ID13x7>123456789</T_MASTER_DAT.PART_ID13x7>
+    <T_MASTER_DAT.PART_ID14x7>123456789</T_MASTER_DAT.PART_ID14x7>
+    <T_MASTER_DAT.PART_ID15x7>123456789</T_MASTER_DAT.PART_ID15x7>
+    <T_MASTER_DAT.PART_ID16x7>123456789</T_MASTER_DAT.PART_ID16x7>
+    <T_MASTER_DAT.PART_ID17x7>123456789</T_MASTER_DAT.PART_ID17x7>
+    <T_MASTER_DAT.PART_ID18x7>123456789</T_MASTER_DAT.PART_ID18x7>
+    <T_MASTER_DAT.PART_ID19x7>123456789</T_MASTER_DAT.PART_ID19x7>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x8>123456789</T_MASTER_DAT.PART_ID0x8>
+    <T_MASTER_DAT.PART_ID1x8>123456789</T_MASTER_DAT.PART_ID1x8>
+    <T_MASTER_DAT.PART_ID2x8>123456789</T_MASTER_DAT.PART_ID2x8>
+    <T_MASTER_DAT.PART_ID3x8>123456789</T_MASTER_DAT.PART_ID3x8>
+    <T_MASTER_DAT.PART_ID4x8>123456789</T_MASTER_DAT.PART_ID4x8>
+    <T_MASTER_DAT.PART_ID5x8>123456789</T_MASTER_DAT.PART_ID5x8>
+    <T_MASTER_DAT.PART_ID6x8>123456789</T_MASTER_DAT.PART_ID6x8>
+    <T_MASTER_DAT.PART_ID7x8>123456789</T_MASTER_DAT.PART_ID7x8>
+    <T_MASTER_DAT.PART_ID8x8>123456789</T_MASTER_DAT.PART_ID8x8>
+    <T_MASTER_DAT.PART_ID9x8>123456789</T_MASTER_DAT.PART_ID9x8>
+    <T_MASTER_DAT.PART_ID10x8>123456789</T_MASTER_DAT.PART_ID10x8>
+    <T_MASTER_DAT.PART_ID11x8>123456789</T_MASTER_DAT.PART_ID11x8>
+    <T_MASTER_DAT.PART_ID12x8>123456789</T_MASTER_DAT.PART_ID12x8>
+    <T_MASTER_DAT.PART_ID13x8>123456789</T_MASTER_DAT.PART_ID13x8>
+    <T_MASTER_DAT.PART_ID14x8>123456789</T_MASTER_DAT.PART_ID14x8>
+    <T_MASTER_DAT.PART_ID15x8>123456789</T_MASTER_DAT.PART_ID15x8>
+    <T_MASTER_DAT.PART_ID16x8>123456789</T_MASTER_DAT.PART_ID16x8>
+    <T_MASTER_DAT.PART_ID17x8>123456789</T_MASTER_DAT.PART_ID17x8>
+    <T_MASTER_DAT.PART_ID18x8>123456789</T_MASTER_DAT.PART_ID18x8>
+    <T_MASTER_DAT.PART_ID19x8>123456789</T_MASTER_DAT.PART_ID19x8>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x9>123456789</T_MASTER_DAT.PART_ID0x9>
+    <T_MASTER_DAT.PART_ID1x9>123456789</T_MASTER_DAT.PART_ID1x9>
+    <T_MASTER_DAT.PART_ID2x9>123456789</T_MASTER_DAT.PART_ID2x9>
+    <T_MASTER_DAT.PART_ID3x9>123456789</T_MASTER_DAT.PART_ID3x9>
+    <T_MASTER_DAT.PART_ID4x9>123456789</T_MASTER_DAT.PART_ID4x9>
+    <T_MASTER_DAT.PART_ID5x9>123456789</T_MASTER_DAT.PART_ID5x9>
+    <T_MASTER_DAT.PART_ID6x9>123456789</T_MASTER_DAT.PART_ID6x9>
+    <T_MASTER_DAT.PART_ID7x9>123456789</T_MASTER_DAT.PART_ID7x9>
+    <T_MASTER_DAT.PART_ID8x9>123456789</T_MASTER_DAT.PART_ID8x9>
+    <T_MASTER_DAT.PART_ID9x9>123456789</T_MASTER_DAT.PART_ID9x9>
+    <T_MASTER_DAT.PART_ID10x9>123456789</T_MASTER_DAT.PART_ID10x9>
+    <T_MASTER_DAT.PART_ID11x9>123456789</T_MASTER_DAT.PART_ID11x9>
+    <T_MASTER_DAT.PART_ID12x9>123456789</T_MASTER_DAT.PART_ID12x9>
+    <T_MASTER_DAT.PART_ID13x9>123456789</T_MASTER_DAT.PART_ID13x9>
+    <T_MASTER_DAT.PART_ID14x9>123456789</T_MASTER_DAT.PART_ID14x9>
+    <T_MASTER_DAT.PART_ID15x9>123456789</T_MASTER_DAT.PART_ID15x9>
+    <T_MASTER_DAT.PART_ID16x9>123456789</T_MASTER_DAT.PART_ID16x9>
+    <T_MASTER_DAT.PART_ID17x9>123456789</T_MASTER_DAT.PART_ID17x9>
+    <T_MASTER_DAT.PART_ID18x9>123456789</T_MASTER_DAT.PART_ID18x9>
+    <T_MASTER_DAT.PART_ID19x9>123456789</T_MASTER_DAT.PART_ID19x9>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x10>123456789</T_MASTER_DAT.PART_ID0x10>
+    <T_MASTER_DAT.PART_ID1x10>123456789</T_MASTER_DAT.PART_ID1x10>
+    <T_MASTER_DAT.PART_ID2x10>123456789</T_MASTER_DAT.PART_ID2x10>
+    <T_MASTER_DAT.PART_ID3x10>123456789</T_MASTER_DAT.PART_ID3x10>
+    <T_MASTER_DAT.PART_ID4x10>123456789</T_MASTER_DAT.PART_ID4x10>
+    <T_MASTER_DAT.PART_ID5x10>123456789</T_MASTER_DAT.PART_ID5x10>
+    <T_MASTER_DAT.PART_ID6x10>123456789</T_MASTER_DAT.PART_ID6x10>
+    <T_MASTER_DAT.PART_ID7x10>123456789</T_MASTER_DAT.PART_ID7x10>
+    <T_MASTER_DAT.PART_ID8x10>123456789</T_MASTER_DAT.PART_ID8x10>
+    <T_MASTER_DAT.PART_ID9x10>123456789</T_MASTER_DAT.PART_ID9x10>
+    <T_MASTER_DAT.PART_ID10x10>123456789</T_MASTER_DAT.PART_ID10x10>
+    <T_MASTER_DAT.PART_ID11x10>123456789</T_MASTER_DAT.PART_ID11x10>
+    <T_MASTER_DAT.PART_ID12x10>123456789</T_MASTER_DAT.PART_ID12x10>
+    <T_MASTER_DAT.PART_ID13x10>123456789</T_MASTER_DAT.PART_ID13x10>
+    <T_MASTER_DAT.PART_ID14x10>123456789</T_MASTER_DAT.PART_ID14x10>
+    <T_MASTER_DAT.PART_ID15x10>123456789</T_MASTER_DAT.PART_ID15x10>
+    <T_MASTER_DAT.PART_ID16x10>123456789</T_MASTER_DAT.PART_ID16x10>
+    <T_MASTER_DAT.PART_ID17x10>123456789</T_MASTER_DAT.PART_ID17x10>
+    <T_MASTER_DAT.PART_ID18x10>123456789</T_MASTER_DAT.PART_ID18x10>
+    <T_MASTER_DAT.PART_ID19x10>123456789</T_MASTER_DAT.PART_ID19x10>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x11>123456789</T_MASTER_DAT.PART_ID0x11>
+    <T_MASTER_DAT.PART_ID1x11>123456789</T_MASTER_DAT.PART_ID1x11>
+    <T_MASTER_DAT.PART_ID2x11>123456789</T_MASTER_DAT.PART_ID2x11>
+    <T_MASTER_DAT.PART_ID3x11>123456789</T_MASTER_DAT.PART_ID3x11>
+    <T_MASTER_DAT.PART_ID4x11>123456789</T_MASTER_DAT.PART_ID4x11>
+    <T_MASTER_DAT.PART_ID5x11>123456789</T_MASTER_DAT.PART_ID5x11>
+    <T_MASTER_DAT.PART_ID6x11>123456789</T_MASTER_DAT.PART_ID6x11>
+    <T_MASTER_DAT.PART_ID7x11>123456789</T_MASTER_DAT.PART_ID7x11>
+    <T_MASTER_DAT.PART_ID8x11>123456789</T_MASTER_DAT.PART_ID8x11>
+    <T_MASTER_DAT.PART_ID9x11>123456789</T_MASTER_DAT.PART_ID9x11>
+    <T_MASTER_DAT.PART_ID10x11>123456789</T_MASTER_DAT.PART_ID10x11>
+    <T_MASTER_DAT.PART_ID11x11>123456789</T_MASTER_DAT.PART_ID11x11>
+    <T_MASTER_DAT.PART_ID12x11>123456789</T_MASTER_DAT.PART_ID12x11>
+    <T_MASTER_DAT.PART_ID13x11>123456789</T_MASTER_DAT.PART_ID13x11>
+    <T_MASTER_DAT.PART_ID14x11>123456789</T_MASTER_DAT.PART_ID14x11>
+    <T_MASTER_DAT.PART_ID15x11>123456789</T_MASTER_DAT.PART_ID15x11>
+    <T_MASTER_DAT.PART_ID16x11>123456789</T_MASTER_DAT.PART_ID16x11>
+    <T_MASTER_DAT.PART_ID17x11>123456789</T_MASTER_DAT.PART_ID17x11>
+    <T_MASTER_DAT.PART_ID18x11>123456789</T_MASTER_DAT.PART_ID18x11>
+    <T_MASTER_DAT.PART_ID19x11>123456789</T_MASTER_DAT.PART_ID19x11>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x12>123456789</T_MASTER_DAT.PART_ID0x12>
+    <T_MASTER_DAT.PART_ID1x12>123456789</T_MASTER_DAT.PART_ID1x12>
+    <T_MASTER_DAT.PART_ID2x12>123456789</T_MASTER_DAT.PART_ID2x12>
+    <T_MASTER_DAT.PART_ID3x12>123456789</T_MASTER_DAT.PART_ID3x12>
+    <T_MASTER_DAT.PART_ID4x12>123456789</T_MASTER_DAT.PART_ID4x12>
+    <T_MASTER_DAT.PART_ID5x12>123456789</T_MASTER_DAT.PART_ID5x12>
+    <T_MASTER_DAT.PART_ID6x12>123456789</T_MASTER_DAT.PART_ID6x12>
+    <T_MASTER_DAT.PART_ID7x12>123456789</T_MASTER_DAT.PART_ID7x12>
+    <T_MASTER_DAT.PART_ID8x12>123456789</T_MASTER_DAT.PART_ID8x12>
+    <T_MASTER_DAT.PART_ID9x12>123456789</T_MASTER_DAT.PART_ID9x12>
+    <T_MASTER_DAT.PART_ID10x12>123456789</T_MASTER_DAT.PART_ID10x12>
+    <T_MASTER_DAT.PART_ID11x12>123456789</T_MASTER_DAT.PART_ID11x12>
+    <T_MASTER_DAT.PART_ID12x12>123456789</T_MASTER_DAT.PART_ID12x12>
+    <T_MASTER_DAT.PART_ID13x12>123456789</T_MASTER_DAT.PART_ID13x12>
+    <T_MASTER_DAT.PART_ID14x12>123456789</T_MASTER_DAT.PART_ID14x12>
+    <T_MASTER_DAT.PART_ID15x12>123456789</T_MASTER_DAT.PART_ID15x12>
+    <T_MASTER_DAT.PART_ID16x12>123456789</T_MASTER_DAT.PART_ID16x12>
+    <T_MASTER_DAT.PART_ID17x12>123456789</T_MASTER_DAT.PART_ID17x12>
+    <T_MASTER_DAT.PART_ID18x12>123456789</T_MASTER_DAT.PART_ID18x12>
+    <T_MASTER_DAT.PART_ID19x12>123456789</T_MASTER_DAT.PART_ID19x12>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x13>123456789</T_MASTER_DAT.PART_ID0x13>
+    <T_MASTER_DAT.PART_ID1x13>123456789</T_MASTER_DAT.PART_ID1x13>
+    <T_MASTER_DAT.PART_ID2x13>123456789</T_MASTER_DAT.PART_ID2x13>
+    <T_MASTER_DAT.PART_ID3x13>123456789</T_MASTER_DAT.PART_ID3x13>
+    <T_MASTER_DAT.PART_ID4x13>123456789</T_MASTER_DAT.PART_ID4x13>
+    <T_MASTER_DAT.PART_ID5x13>123456789</T_MASTER_DAT.PART_ID5x13>
+    <T_MASTER_DAT.PART_ID6x13>123456789</T_MASTER_DAT.PART_ID6x13>
+    <T_MASTER_DAT.PART_ID7x13>123456789</T_MASTER_DAT.PART_ID7x13>
+    <T_MASTER_DAT.PART_ID8x13>123456789</T_MASTER_DAT.PART_ID8x13>
+    <T_MASTER_DAT.PART_ID9x13>123456789</T_MASTER_DAT.PART_ID9x13>
+    <T_MASTER_DAT.PART_ID10x13>123456789</T_MASTER_DAT.PART_ID10x13>
+    <T_MASTER_DAT.PART_ID11x13>123456789</T_MASTER_DAT.PART_ID11x13>
+    <T_MASTER_DAT.PART_ID12x13>123456789</T_MASTER_DAT.PART_ID12x13>
+    <T_MASTER_DAT.PART_ID13x13>123456789</T_MASTER_DAT.PART_ID13x13>
+    <T_MASTER_DAT.PART_ID14x13>123456789</T_MASTER_DAT.PART_ID14x13>
+    <T_MASTER_DAT.PART_ID15x13>123456789</T_MASTER_DAT.PART_ID15x13>
+    <T_MASTER_DAT.PART_ID16x13>123456789</T_MASTER_DAT.PART_ID16x13>
+    <T_MASTER_DAT.PART_ID17x13>123456789</T_MASTER_DAT.PART_ID17x13>
+    <T_MASTER_DAT.PART_ID18x13>123456789</T_MASTER_DAT.PART_ID18x13>
+    <T_MASTER_DAT.PART_ID19x13>123456789</T_MASTER_DAT.PART_ID19x13>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x14>123456789</T_MASTER_DAT.PART_ID0x14>
+    <T_MASTER_DAT.PART_ID1x14>123456789</T_MASTER_DAT.PART_ID1x14>
+    <T_MASTER_DAT.PART_ID2x14>123456789</T_MASTER_DAT.PART_ID2x14>
+    <T_MASTER_DAT.PART_ID3x14>123456789</T_MASTER_DAT.PART_ID3x14>
+    <T_MASTER_DAT.PART_ID4x14>123456789</T_MASTER_DAT.PART_ID4x14>
+    <T_MASTER_DAT.PART_ID5x14>123456789</T_MASTER_DAT.PART_ID5x14>
+    <T_MASTER_DAT.PART_ID6x14>123456789</T_MASTER_DAT.PART_ID6x14>
+    <T_MASTER_DAT.PART_ID7x14>123456789</T_MASTER_DAT.PART_ID7x14>
+    <T_MASTER_DAT.PART_ID8x14>123456789</T_MASTER_DAT.PART_ID8x14>
+    <T_MASTER_DAT.PART_ID9x14>123456789</T_MASTER_DAT.PART_ID9x14>
+    <T_MASTER_DAT.PART_ID10x14>123456789</T_MASTER_DAT.PART_ID10x14>
+    <T_MASTER_DAT.PART_ID11x14>123456789</T_MASTER_DAT.PART_ID11x14>
+    <T_MASTER_DAT.PART_ID12x14>123456789</T_MASTER_DAT.PART_ID12x14>
+    <T_MASTER_DAT.PART_ID13x14>123456789</T_MASTER_DAT.PART_ID13x14>
+    <T_MASTER_DAT.PART_ID14x14>123456789</T_MASTER_DAT.PART_ID14x14>
+    <T_MASTER_DAT.PART_ID15x14>123456789</T_MASTER_DAT.PART_ID15x14>
+    <T_MASTER_DAT.PART_ID16x14>123456789</T_MASTER_DAT.PART_ID16x14>
+    <T_MASTER_DAT.PART_ID17x14>123456789</T_MASTER_DAT.PART_ID17x14>
+    <T_MASTER_DAT.PART_ID18x14>123456789</T_MASTER_DAT.PART_ID18x14>
+    <T_MASTER_DAT.PART_ID19x14>123456789</T_MASTER_DAT.PART_ID19x14>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x15>123456789</T_MASTER_DAT.PART_ID0x15>
+    <T_MASTER_DAT.PART_ID1x15>123456789</T_MASTER_DAT.PART_ID1x15>
+    <T_MASTER_DAT.PART_ID2x15>123456789</T_MASTER_DAT.PART_ID2x15>
+    <T_MASTER_DAT.PART_ID3x15>123456789</T_MASTER_DAT.PART_ID3x15>
+    <T_MASTER_DAT.PART_ID4x15>123456789</T_MASTER_DAT.PART_ID4x15>
+    <T_MASTER_DAT.PART_ID5x15>123456789</T_MASTER_DAT.PART_ID5x15>
+    <T_MASTER_DAT.PART_ID6x15>123456789</T_MASTER_DAT.PART_ID6x15>
+    <T_MASTER_DAT.PART_ID7x15>123456789</T_MASTER_DAT.PART_ID7x15>
+    <T_MASTER_DAT.PART_ID8x15>123456789</T_MASTER_DAT.PART_ID8x15>
+    <T_MASTER_DAT.PART_ID9x15>123456789</T_MASTER_DAT.PART_ID9x15>
+    <T_MASTER_DAT.PART_ID10x15>123456789</T_MASTER_DAT.PART_ID10x15>
+    <T_MASTER_DAT.PART_ID11x15>123456789</T_MASTER_DAT.PART_ID11x15>
+    <T_MASTER_DAT.PART_ID12x15>123456789</T_MASTER_DAT.PART_ID12x15>
+    <T_MASTER_DAT.PART_ID13x15>123456789</T_MASTER_DAT.PART_ID13x15>
+    <T_MASTER_DAT.PART_ID14x15>123456789</T_MASTER_DAT.PART_ID14x15>
+    <T_MASTER_DAT.PART_ID15x15>123456789</T_MASTER_DAT.PART_ID15x15>
+    <T_MASTER_DAT.PART_ID16x15>123456789</T_MASTER_DAT.PART_ID16x15>
+    <T_MASTER_DAT.PART_ID17x15>123456789</T_MASTER_DAT.PART_ID17x15>
+    <T_MASTER_DAT.PART_ID18x15>123456789</T_MASTER_DAT.PART_ID18x15>
+    <T_MASTER_DAT.PART_ID19x15>123456789</T_MASTER_DAT.PART_ID19x15>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x16>123456789</T_MASTER_DAT.PART_ID0x16>
+    <T_MASTER_DAT.PART_ID1x16>123456789</T_MASTER_DAT.PART_ID1x16>
+    <T_MASTER_DAT.PART_ID2x16>123456789</T_MASTER_DAT.PART_ID2x16>
+    <T_MASTER_DAT.PART_ID3x16>123456789</T_MASTER_DAT.PART_ID3x16>
+    <T_MASTER_DAT.PART_ID4x16>123456789</T_MASTER_DAT.PART_ID4x16>
+    <T_MASTER_DAT.PART_ID5x16>123456789</T_MASTER_DAT.PART_ID5x16>
+    <T_MASTER_DAT.PART_ID6x16>123456789</T_MASTER_DAT.PART_ID6x16>
+    <T_MASTER_DAT.PART_ID7x16>123456789</T_MASTER_DAT.PART_ID7x16>
+    <T_MASTER_DAT.PART_ID8x16>123456789</T_MASTER_DAT.PART_ID8x16>
+    <T_MASTER_DAT.PART_ID9x16>123456789</T_MASTER_DAT.PART_ID9x16>
+    <T_MASTER_DAT.PART_ID10x16>123456789</T_MASTER_DAT.PART_ID10x16>
+    <T_MASTER_DAT.PART_ID11x16>123456789</T_MASTER_DAT.PART_ID11x16>
+    <T_MASTER_DAT.PART_ID12x16>123456789</T_MASTER_DAT.PART_ID12x16>
+    <T_MASTER_DAT.PART_ID13x16>123456789</T_MASTER_DAT.PART_ID13x16>
+    <T_MASTER_DAT.PART_ID14x16>123456789</T_MASTER_DAT.PART_ID14x16>
+    <T_MASTER_DAT.PART_ID15x16>123456789</T_MASTER_DAT.PART_ID15x16>
+    <T_MASTER_DAT.PART_ID16x16>123456789</T_MASTER_DAT.PART_ID16x16>
+    <T_MASTER_DAT.PART_ID17x16>123456789</T_MASTER_DAT.PART_ID17x16>
+    <T_MASTER_DAT.PART_ID18x16>123456789</T_MASTER_DAT.PART_ID18x16>
+    <T_MASTER_DAT.PART_ID19x16>123456789</T_MASTER_DAT.PART_ID19x16>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x17>123456789</T_MASTER_DAT.PART_ID0x17>
+    <T_MASTER_DAT.PART_ID1x17>123456789</T_MASTER_DAT.PART_ID1x17>
+    <T_MASTER_DAT.PART_ID2x17>123456789</T_MASTER_DAT.PART_ID2x17>
+    <T_MASTER_DAT.PART_ID3x17>123456789</T_MASTER_DAT.PART_ID3x17>
+    <T_MASTER_DAT.PART_ID4x17>123456789</T_MASTER_DAT.PART_ID4x17>
+    <T_MASTER_DAT.PART_ID5x17>123456789</T_MASTER_DAT.PART_ID5x17>
+    <T_MASTER_DAT.PART_ID6x17>123456789</T_MASTER_DAT.PART_ID6x17>
+    <T_MASTER_DAT.PART_ID7x17>123456789</T_MASTER_DAT.PART_ID7x17>
+    <T_MASTER_DAT.PART_ID8x17>123456789</T_MASTER_DAT.PART_ID8x17>
+    <T_MASTER_DAT.PART_ID9x17>123456789</T_MASTER_DAT.PART_ID9x17>
+    <T_MASTER_DAT.PART_ID10x17>123456789</T_MASTER_DAT.PART_ID10x17>
+    <T_MASTER_DAT.PART_ID11x17>123456789</T_MASTER_DAT.PART_ID11x17>
+    <T_MASTER_DAT.PART_ID12x17>123456789</T_MASTER_DAT.PART_ID12x17>
+    <T_MASTER_DAT.PART_ID13x17>123456789</T_MASTER_DAT.PART_ID13x17>
+    <T_MASTER_DAT.PART_ID14x17>123456789</T_MASTER_DAT.PART_ID14x17>
+    <T_MASTER_DAT.PART_ID15x17>123456789</T_MASTER_DAT.PART_ID15x17>
+    <T_MASTER_DAT.PART_ID16x17>123456789</T_MASTER_DAT.PART_ID16x17>
+    <T_MASTER_DAT.PART_ID17x17>123456789</T_MASTER_DAT.PART_ID17x17>
+    <T_MASTER_DAT.PART_ID18x17>123456789</T_MASTER_DAT.PART_ID18x17>
+    <T_MASTER_DAT.PART_ID19x17>123456789</T_MASTER_DAT.PART_ID19x17>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x18>123456789</T_MASTER_DAT.PART_ID0x18>
+    <T_MASTER_DAT.PART_ID1x18>123456789</T_MASTER_DAT.PART_ID1x18>
+    <T_MASTER_DAT.PART_ID2x18>123456789</T_MASTER_DAT.PART_ID2x18>
+    <T_MASTER_DAT.PART_ID3x18>123456789</T_MASTER_DAT.PART_ID3x18>
+    <T_MASTER_DAT.PART_ID4x18>123456789</T_MASTER_DAT.PART_ID4x18>
+    <T_MASTER_DAT.PART_ID5x18>123456789</T_MASTER_DAT.PART_ID5x18>
+    <T_MASTER_DAT.PART_ID6x18>123456789</T_MASTER_DAT.PART_ID6x18>
+    <T_MASTER_DAT.PART_ID7x18>123456789</T_MASTER_DAT.PART_ID7x18>
+    <T_MASTER_DAT.PART_ID8x18>123456789</T_MASTER_DAT.PART_ID8x18>
+    <T_MASTER_DAT.PART_ID9x18>123456789</T_MASTER_DAT.PART_ID9x18>
+    <T_MASTER_DAT.PART_ID10x18>123456789</T_MASTER_DAT.PART_ID10x18>
+    <T_MASTER_DAT.PART_ID11x18>123456789</T_MASTER_DAT.PART_ID11x18>
+    <T_MASTER_DAT.PART_ID12x18>123456789</T_MASTER_DAT.PART_ID12x18>
+    <T_MASTER_DAT.PART_ID13x18>123456789</T_MASTER_DAT.PART_ID13x18>
+    <T_MASTER_DAT.PART_ID14x18>123456789</T_MASTER_DAT.PART_ID14x18>
+    <T_MASTER_DAT.PART_ID15x18>123456789</T_MASTER_DAT.PART_ID15x18>
+    <T_MASTER_DAT.PART_ID16x18>123456789</T_MASTER_DAT.PART_ID16x18>
+    <T_MASTER_DAT.PART_ID17x18>123456789</T_MASTER_DAT.PART_ID17x18>
+    <T_MASTER_DAT.PART_ID18x18>123456789</T_MASTER_DAT.PART_ID18x18>
+    <T_MASTER_DAT.PART_ID19x18>123456789</T_MASTER_DAT.PART_ID19x18>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x19>123456789</T_MASTER_DAT.PART_ID0x19>
+    <T_MASTER_DAT.PART_ID1x19>123456789</T_MASTER_DAT.PART_ID1x19>
+    <T_MASTER_DAT.PART_ID2x19>123456789</T_MASTER_DAT.PART_ID2x19>
+    <T_MASTER_DAT.PART_ID3x19>123456789</T_MASTER_DAT.PART_ID3x19>
+    <T_MASTER_DAT.PART_ID4x19>123456789</T_MASTER_DAT.PART_ID4x19>
+    <T_MASTER_DAT.PART_ID5x19>123456789</T_MASTER_DAT.PART_ID5x19>
+    <T_MASTER_DAT.PART_ID6x19>123456789</T_MASTER_DAT.PART_ID6x19>
+    <T_MASTER_DAT.PART_ID7x19>123456789</T_MASTER_DAT.PART_ID7x19>
+    <T_MASTER_DAT.PART_ID8x19>123456789</T_MASTER_DAT.PART_ID8x19>
+    <T_MASTER_DAT.PART_ID9x19>123456789</T_MASTER_DAT.PART_ID9x19>
+    <T_MASTER_DAT.PART_ID10x19>123456789</T_MASTER_DAT.PART_ID10x19>
+    <T_MASTER_DAT.PART_ID11x19>123456789</T_MASTER_DAT.PART_ID11x19>
+    <T_MASTER_DAT.PART_ID12x19>123456789</T_MASTER_DAT.PART_ID12x19>
+    <T_MASTER_DAT.PART_ID13x19>123456789</T_MASTER_DAT.PART_ID13x19>
+    <T_MASTER_DAT.PART_ID14x19>123456789</T_MASTER_DAT.PART_ID14x19>
+    <T_MASTER_DAT.PART_ID15x19>123456789</T_MASTER_DAT.PART_ID15x19>
+    <T_MASTER_DAT.PART_ID16x19>123456789</T_MASTER_DAT.PART_ID16x19>
+    <T_MASTER_DAT.PART_ID17x19>123456789</T_MASTER_DAT.PART_ID17x19>
+    <T_MASTER_DAT.PART_ID18x19>123456789</T_MASTER_DAT.PART_ID18x19>
+    <T_MASTER_DAT.PART_ID19x19>123456789</T_MASTER_DAT.PART_ID19x19>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x20>123456789</T_MASTER_DAT.PART_ID0x20>
+    <T_MASTER_DAT.PART_ID1x20>123456789</T_MASTER_DAT.PART_ID1x20>
+    <T_MASTER_DAT.PART_ID2x20>123456789</T_MASTER_DAT.PART_ID2x20>
+    <T_MASTER_DAT.PART_ID3x20>123456789</T_MASTER_DAT.PART_ID3x20>
+    <T_MASTER_DAT.PART_ID4x20>123456789</T_MASTER_DAT.PART_ID4x20>
+    <T_MASTER_DAT.PART_ID5x20>123456789</T_MASTER_DAT.PART_ID5x20>
+    <T_MASTER_DAT.PART_ID6x20>123456789</T_MASTER_DAT.PART_ID6x20>
+    <T_MASTER_DAT.PART_ID7x20>123456789</T_MASTER_DAT.PART_ID7x20>
+    <T_MASTER_DAT.PART_ID8x20>123456789</T_MASTER_DAT.PART_ID8x20>
+    <T_MASTER_DAT.PART_ID9x20>123456789</T_MASTER_DAT.PART_ID9x20>
+    <T_MASTER_DAT.PART_ID10x20>123456789</T_MASTER_DAT.PART_ID10x20>
+    <T_MASTER_DAT.PART_ID11x20>123456789</T_MASTER_DAT.PART_ID11x20>
+    <T_MASTER_DAT.PART_ID12x20>123456789</T_MASTER_DAT.PART_ID12x20>
+    <T_MASTER_DAT.PART_ID13x20>123456789</T_MASTER_DAT.PART_ID13x20>
+    <T_MASTER_DAT.PART_ID14x20>123456789</T_MASTER_DAT.PART_ID14x20>
+    <T_MASTER_DAT.PART_ID15x20>123456789</T_MASTER_DAT.PART_ID15x20>
+    <T_MASTER_DAT.PART_ID16x20>123456789</T_MASTER_DAT.PART_ID16x20>
+    <T_MASTER_DAT.PART_ID17x20>123456789</T_MASTER_DAT.PART_ID17x20>
+    <T_MASTER_DAT.PART_ID18x20>123456789</T_MASTER_DAT.PART_ID18x20>
+    <T_MASTER_DAT.PART_ID19x20>123456789</T_MASTER_DAT.PART_ID19x20>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x21>123456789</T_MASTER_DAT.PART_ID0x21>
+    <T_MASTER_DAT.PART_ID1x21>123456789</T_MASTER_DAT.PART_ID1x21>
+    <T_MASTER_DAT.PART_ID2x21>123456789</T_MASTER_DAT.PART_ID2x21>
+    <T_MASTER_DAT.PART_ID3x21>123456789</T_MASTER_DAT.PART_ID3x21>
+    <T_MASTER_DAT.PART_ID4x21>123456789</T_MASTER_DAT.PART_ID4x21>
+    <T_MASTER_DAT.PART_ID5x21>123456789</T_MASTER_DAT.PART_ID5x21>
+    <T_MASTER_DAT.PART_ID6x21>123456789</T_MASTER_DAT.PART_ID6x21>
+    <T_MASTER_DAT.PART_ID7x21>123456789</T_MASTER_DAT.PART_ID7x21>
+    <T_MASTER_DAT.PART_ID8x21>123456789</T_MASTER_DAT.PART_ID8x21>
+    <T_MASTER_DAT.PART_ID9x21>123456789</T_MASTER_DAT.PART_ID9x21>
+    <T_MASTER_DAT.PART_ID10x21>123456789</T_MASTER_DAT.PART_ID10x21>
+    <T_MASTER_DAT.PART_ID11x21>123456789</T_MASTER_DAT.PART_ID11x21>
+    <T_MASTER_DAT.PART_ID12x21>123456789</T_MASTER_DAT.PART_ID12x21>
+    <T_MASTER_DAT.PART_ID13x21>123456789</T_MASTER_DAT.PART_ID13x21>
+    <T_MASTER_DAT.PART_ID14x21>123456789</T_MASTER_DAT.PART_ID14x21>
+    <T_MASTER_DAT.PART_ID15x21>123456789</T_MASTER_DAT.PART_ID15x21>
+    <T_MASTER_DAT.PART_ID16x21>123456789</T_MASTER_DAT.PART_ID16x21>
+    <T_MASTER_DAT.PART_ID17x21>123456789</T_MASTER_DAT.PART_ID17x21>
+    <T_MASTER_DAT.PART_ID18x21>123456789</T_MASTER_DAT.PART_ID18x21>
+    <T_MASTER_DAT.PART_ID19x21>123456789</T_MASTER_DAT.PART_ID19x21>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x22>123456789</T_MASTER_DAT.PART_ID0x22>
+    <T_MASTER_DAT.PART_ID1x22>123456789</T_MASTER_DAT.PART_ID1x22>
+    <T_MASTER_DAT.PART_ID2x22>123456789</T_MASTER_DAT.PART_ID2x22>
+    <T_MASTER_DAT.PART_ID3x22>123456789</T_MASTER_DAT.PART_ID3x22>
+    <T_MASTER_DAT.PART_ID4x22>123456789</T_MASTER_DAT.PART_ID4x22>
+    <T_MASTER_DAT.PART_ID5x22>123456789</T_MASTER_DAT.PART_ID5x22>
+    <T_MASTER_DAT.PART_ID6x22>123456789</T_MASTER_DAT.PART_ID6x22>
+    <T_MASTER_DAT.PART_ID7x22>123456789</T_MASTER_DAT.PART_ID7x22>
+    <T_MASTER_DAT.PART_ID8x22>123456789</T_MASTER_DAT.PART_ID8x22>
+    <T_MASTER_DAT.PART_ID9x22>123456789</T_MASTER_DAT.PART_ID9x22>
+    <T_MASTER_DAT.PART_ID10x22>123456789</T_MASTER_DAT.PART_ID10x22>
+    <T_MASTER_DAT.PART_ID11x22>123456789</T_MASTER_DAT.PART_ID11x22>
+    <T_MASTER_DAT.PART_ID12x22>123456789</T_MASTER_DAT.PART_ID12x22>
+    <T_MASTER_DAT.PART_ID13x22>123456789</T_MASTER_DAT.PART_ID13x22>
+    <T_MASTER_DAT.PART_ID14x22>123456789</T_MASTER_DAT.PART_ID14x22>
+    <T_MASTER_DAT.PART_ID15x22>123456789</T_MASTER_DAT.PART_ID15x22>
+    <T_MASTER_DAT.PART_ID16x22>123456789</T_MASTER_DAT.PART_ID16x22>
+    <T_MASTER_DAT.PART_ID17x22>123456789</T_MASTER_DAT.PART_ID17x22>
+    <T_MASTER_DAT.PART_ID18x22>123456789</T_MASTER_DAT.PART_ID18x22>
+    <T_MASTER_DAT.PART_ID19x22>123456789</T_MASTER_DAT.PART_ID19x22>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x23>123456789</T_MASTER_DAT.PART_ID0x23>
+    <T_MASTER_DAT.PART_ID1x23>123456789</T_MASTER_DAT.PART_ID1x23>
+    <T_MASTER_DAT.PART_ID2x23>123456789</T_MASTER_DAT.PART_ID2x23>
+    <T_MASTER_DAT.PART_ID3x23>123456789</T_MASTER_DAT.PART_ID3x23>
+    <T_MASTER_DAT.PART_ID4x23>123456789</T_MASTER_DAT.PART_ID4x23>
+    <T_MASTER_DAT.PART_ID5x23>123456789</T_MASTER_DAT.PART_ID5x23>
+    <T_MASTER_DAT.PART_ID6x23>123456789</T_MASTER_DAT.PART_ID6x23>
+    <T_MASTER_DAT.PART_ID7x23>123456789</T_MASTER_DAT.PART_ID7x23>
+    <T_MASTER_DAT.PART_ID8x23>123456789</T_MASTER_DAT.PART_ID8x23>
+    <T_MASTER_DAT.PART_ID9x23>123456789</T_MASTER_DAT.PART_ID9x23>
+    <T_MASTER_DAT.PART_ID10x23>123456789</T_MASTER_DAT.PART_ID10x23>
+    <T_MASTER_DAT.PART_ID11x23>123456789</T_MASTER_DAT.PART_ID11x23>
+    <T_MASTER_DAT.PART_ID12x23>123456789</T_MASTER_DAT.PART_ID12x23>
+    <T_MASTER_DAT.PART_ID13x23>123456789</T_MASTER_DAT.PART_ID13x23>
+    <T_MASTER_DAT.PART_ID14x23>123456789</T_MASTER_DAT.PART_ID14x23>
+    <T_MASTER_DAT.PART_ID15x23>123456789</T_MASTER_DAT.PART_ID15x23>
+    <T_MASTER_DAT.PART_ID16x23>123456789</T_MASTER_DAT.PART_ID16x23>
+    <T_MASTER_DAT.PART_ID17x23>123456789</T_MASTER_DAT.PART_ID17x23>
+    <T_MASTER_DAT.PART_ID18x23>123456789</T_MASTER_DAT.PART_ID18x23>
+    <T_MASTER_DAT.PART_ID19x23>123456789</T_MASTER_DAT.PART_ID19x23>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x24>123456789</T_MASTER_DAT.PART_ID0x24>
+    <T_MASTER_DAT.PART_ID1x24>123456789</T_MASTER_DAT.PART_ID1x24>
+    <T_MASTER_DAT.PART_ID2x24>123456789</T_MASTER_DAT.PART_ID2x24>
+    <T_MASTER_DAT.PART_ID3x24>123456789</T_MASTER_DAT.PART_ID3x24>
+    <T_MASTER_DAT.PART_ID4x24>123456789</T_MASTER_DAT.PART_ID4x24>
+    <T_MASTER_DAT.PART_ID5x24>123456789</T_MASTER_DAT.PART_ID5x24>
+    <T_MASTER_DAT.PART_ID6x24>123456789</T_MASTER_DAT.PART_ID6x24>
+    <T_MASTER_DAT.PART_ID7x24>123456789</T_MASTER_DAT.PART_ID7x24>
+    <T_MASTER_DAT.PART_ID8x24>123456789</T_MASTER_DAT.PART_ID8x24>
+    <T_MASTER_DAT.PART_ID9x24>123456789</T_MASTER_DAT.PART_ID9x24>
+    <T_MASTER_DAT.PART_ID10x24>123456789</T_MASTER_DAT.PART_ID10x24>
+    <T_MASTER_DAT.PART_ID11x24>123456789</T_MASTER_DAT.PART_ID11x24>
+    <T_MASTER_DAT.PART_ID12x24>123456789</T_MASTER_DAT.PART_ID12x24>
+    <T_MASTER_DAT.PART_ID13x24>123456789</T_MASTER_DAT.PART_ID13x24>
+    <T_MASTER_DAT.PART_ID14x24>123456789</T_MASTER_DAT.PART_ID14x24>
+    <T_MASTER_DAT.PART_ID15x24>123456789</T_MASTER_DAT.PART_ID15x24>
+    <T_MASTER_DAT.PART_ID16x24>123456789</T_MASTER_DAT.PART_ID16x24>
+    <T_MASTER_DAT.PART_ID17x24>123456789</T_MASTER_DAT.PART_ID17x24>
+    <T_MASTER_DAT.PART_ID18x24>123456789</T_MASTER_DAT.PART_ID18x24>
+    <T_MASTER_DAT.PART_ID19x24>123456789</T_MASTER_DAT.PART_ID19x24>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x25>123456789</T_MASTER_DAT.PART_ID0x25>
+    <T_MASTER_DAT.PART_ID1x25>123456789</T_MASTER_DAT.PART_ID1x25>
+    <T_MASTER_DAT.PART_ID2x25>123456789</T_MASTER_DAT.PART_ID2x25>
+    <T_MASTER_DAT.PART_ID3x25>123456789</T_MASTER_DAT.PART_ID3x25>
+    <T_MASTER_DAT.PART_ID4x25>123456789</T_MASTER_DAT.PART_ID4x25>
+    <T_MASTER_DAT.PART_ID5x25>123456789</T_MASTER_DAT.PART_ID5x25>
+    <T_MASTER_DAT.PART_ID6x25>123456789</T_MASTER_DAT.PART_ID6x25>
+    <T_MASTER_DAT.PART_ID7x25>123456789</T_MASTER_DAT.PART_ID7x25>
+    <T_MASTER_DAT.PART_ID8x25>123456789</T_MASTER_DAT.PART_ID8x25>
+    <T_MASTER_DAT.PART_ID9x25>123456789</T_MASTER_DAT.PART_ID9x25>
+    <T_MASTER_DAT.PART_ID10x25>123456789</T_MASTER_DAT.PART_ID10x25>
+    <T_MASTER_DAT.PART_ID11x25>123456789</T_MASTER_DAT.PART_ID11x25>
+    <T_MASTER_DAT.PART_ID12x25>123456789</T_MASTER_DAT.PART_ID12x25>
+    <T_MASTER_DAT.PART_ID13x25>123456789</T_MASTER_DAT.PART_ID13x25>
+    <T_MASTER_DAT.PART_ID14x25>123456789</T_MASTER_DAT.PART_ID14x25>
+    <T_MASTER_DAT.PART_ID15x25>123456789</T_MASTER_DAT.PART_ID15x25>
+    <T_MASTER_DAT.PART_ID16x25>123456789</T_MASTER_DAT.PART_ID16x25>
+    <T_MASTER_DAT.PART_ID17x25>123456789</T_MASTER_DAT.PART_ID17x25>
+    <T_MASTER_DAT.PART_ID18x25>123456789</T_MASTER_DAT.PART_ID18x25>
+    <T_MASTER_DAT.PART_ID19x25>123456789</T_MASTER_DAT.PART_ID19x25>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x26>123456789</T_MASTER_DAT.PART_ID0x26>
+    <T_MASTER_DAT.PART_ID1x26>123456789</T_MASTER_DAT.PART_ID1x26>
+    <T_MASTER_DAT.PART_ID2x26>123456789</T_MASTER_DAT.PART_ID2x26>
+    <T_MASTER_DAT.PART_ID3x26>123456789</T_MASTER_DAT.PART_ID3x26>
+    <T_MASTER_DAT.PART_ID4x26>123456789</T_MASTER_DAT.PART_ID4x26>
+    <T_MASTER_DAT.PART_ID5x26>123456789</T_MASTER_DAT.PART_ID5x26>
+    <T_MASTER_DAT.PART_ID6x26>123456789</T_MASTER_DAT.PART_ID6x26>
+    <T_MASTER_DAT.PART_ID7x26>123456789</T_MASTER_DAT.PART_ID7x26>
+    <T_MASTER_DAT.PART_ID8x26>123456789</T_MASTER_DAT.PART_ID8x26>
+    <T_MASTER_DAT.PART_ID9x26>123456789</T_MASTER_DAT.PART_ID9x26>
+    <T_MASTER_DAT.PART_ID10x26>123456789</T_MASTER_DAT.PART_ID10x26>
+    <T_MASTER_DAT.PART_ID11x26>123456789</T_MASTER_DAT.PART_ID11x26>
+    <T_MASTER_DAT.PART_ID12x26>123456789</T_MASTER_DAT.PART_ID12x26>
+    <T_MASTER_DAT.PART_ID13x26>123456789</T_MASTER_DAT.PART_ID13x26>
+    <T_MASTER_DAT.PART_ID14x26>123456789</T_MASTER_DAT.PART_ID14x26>
+    <T_MASTER_DAT.PART_ID15x26>123456789</T_MASTER_DAT.PART_ID15x26>
+    <T_MASTER_DAT.PART_ID16x26>123456789</T_MASTER_DAT.PART_ID16x26>
+    <T_MASTER_DAT.PART_ID17x26>123456789</T_MASTER_DAT.PART_ID17x26>
+    <T_MASTER_DAT.PART_ID18x26>123456789</T_MASTER_DAT.PART_ID18x26>
+    <T_MASTER_DAT.PART_ID19x26>123456789</T_MASTER_DAT.PART_ID19x26>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x27>123456789</T_MASTER_DAT.PART_ID0x27>
+    <T_MASTER_DAT.PART_ID1x27>123456789</T_MASTER_DAT.PART_ID1x27>
+    <T_MASTER_DAT.PART_ID2x27>123456789</T_MASTER_DAT.PART_ID2x27>
+    <T_MASTER_DAT.PART_ID3x27>123456789</T_MASTER_DAT.PART_ID3x27>
+    <T_MASTER_DAT.PART_ID4x27>123456789</T_MASTER_DAT.PART_ID4x27>
+    <T_MASTER_DAT.PART_ID5x27>123456789</T_MASTER_DAT.PART_ID5x27>
+    <T_MASTER_DAT.PART_ID6x27>123456789</T_MASTER_DAT.PART_ID6x27>
+    <T_MASTER_DAT.PART_ID7x27>123456789</T_MASTER_DAT.PART_ID7x27>
+    <T_MASTER_DAT.PART_ID8x27>123456789</T_MASTER_DAT.PART_ID8x27>
+    <T_MASTER_DAT.PART_ID9x27>123456789</T_MASTER_DAT.PART_ID9x27>
+    <T_MASTER_DAT.PART_ID10x27>123456789</T_MASTER_DAT.PART_ID10x27>
+    <T_MASTER_DAT.PART_ID11x27>123456789</T_MASTER_DAT.PART_ID11x27>
+    <T_MASTER_DAT.PART_ID12x27>123456789</T_MASTER_DAT.PART_ID12x27>
+    <T_MASTER_DAT.PART_ID13x27>123456789</T_MASTER_DAT.PART_ID13x27>
+    <T_MASTER_DAT.PART_ID14x27>123456789</T_MASTER_DAT.PART_ID14x27>
+    <T_MASTER_DAT.PART_ID15x27>123456789</T_MASTER_DAT.PART_ID15x27>
+    <T_MASTER_DAT.PART_ID16x27>123456789</T_MASTER_DAT.PART_ID16x27>
+    <T_MASTER_DAT.PART_ID17x27>123456789</T_MASTER_DAT.PART_ID17x27>
+    <T_MASTER_DAT.PART_ID18x27>123456789</T_MASTER_DAT.PART_ID18x27>
+    <T_MASTER_DAT.PART_ID19x27>123456789</T_MASTER_DAT.PART_ID19x27>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x28>123456789</T_MASTER_DAT.PART_ID0x28>
+    <T_MASTER_DAT.PART_ID1x28>123456789</T_MASTER_DAT.PART_ID1x28>
+    <T_MASTER_DAT.PART_ID2x28>123456789</T_MASTER_DAT.PART_ID2x28>
+    <T_MASTER_DAT.PART_ID3x28>123456789</T_MASTER_DAT.PART_ID3x28>
+    <T_MASTER_DAT.PART_ID4x28>123456789</T_MASTER_DAT.PART_ID4x28>
+    <T_MASTER_DAT.PART_ID5x28>123456789</T_MASTER_DAT.PART_ID5x28>
+    <T_MASTER_DAT.PART_ID6x28>123456789</T_MASTER_DAT.PART_ID6x28>
+    <T_MASTER_DAT.PART_ID7x28>123456789</T_MASTER_DAT.PART_ID7x28>
+    <T_MASTER_DAT.PART_ID8x28>123456789</T_MASTER_DAT.PART_ID8x28>
+    <T_MASTER_DAT.PART_ID9x28>123456789</T_MASTER_DAT.PART_ID9x28>
+    <T_MASTER_DAT.PART_ID10x28>123456789</T_MASTER_DAT.PART_ID10x28>
+    <T_MASTER_DAT.PART_ID11x28>123456789</T_MASTER_DAT.PART_ID11x28>
+    <T_MASTER_DAT.PART_ID12x28>123456789</T_MASTER_DAT.PART_ID12x28>
+    <T_MASTER_DAT.PART_ID13x28>123456789</T_MASTER_DAT.PART_ID13x28>
+    <T_MASTER_DAT.PART_ID14x28>123456789</T_MASTER_DAT.PART_ID14x28>
+    <T_MASTER_DAT.PART_ID15x28>123456789</T_MASTER_DAT.PART_ID15x28>
+    <T_MASTER_DAT.PART_ID16x28>123456789</T_MASTER_DAT.PART_ID16x28>
+    <T_MASTER_DAT.PART_ID17x28>123456789</T_MASTER_DAT.PART_ID17x28>
+    <T_MASTER_DAT.PART_ID18x28>123456789</T_MASTER_DAT.PART_ID18x28>
+    <T_MASTER_DAT.PART_ID19x28>123456789</T_MASTER_DAT.PART_ID19x28>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x29>123456789</T_MASTER_DAT.PART_ID0x29>
+    <T_MASTER_DAT.PART_ID1x29>123456789</T_MASTER_DAT.PART_ID1x29>
+    <T_MASTER_DAT.PART_ID2x29>123456789</T_MASTER_DAT.PART_ID2x29>
+    <T_MASTER_DAT.PART_ID3x29>123456789</T_MASTER_DAT.PART_ID3x29>
+    <T_MASTER_DAT.PART_ID4x29>123456789</T_MASTER_DAT.PART_ID4x29>
+    <T_MASTER_DAT.PART_ID5x29>123456789</T_MASTER_DAT.PART_ID5x29>
+    <T_MASTER_DAT.PART_ID6x29>123456789</T_MASTER_DAT.PART_ID6x29>
+    <T_MASTER_DAT.PART_ID7x29>123456789</T_MASTER_DAT.PART_ID7x29>
+    <T_MASTER_DAT.PART_ID8x29>123456789</T_MASTER_DAT.PART_ID8x29>
+    <T_MASTER_DAT.PART_ID9x29>123456789</T_MASTER_DAT.PART_ID9x29>
+    <T_MASTER_DAT.PART_ID10x29>123456789</T_MASTER_DAT.PART_ID10x29>
+    <T_MASTER_DAT.PART_ID11x29>123456789</T_MASTER_DAT.PART_ID11x29>
+    <T_MASTER_DAT.PART_ID12x29>123456789</T_MASTER_DAT.PART_ID12x29>
+    <T_MASTER_DAT.PART_ID13x29>123456789</T_MASTER_DAT.PART_ID13x29>
+    <T_MASTER_DAT.PART_ID14x29>123456789</T_MASTER_DAT.PART_ID14x29>
+    <T_MASTER_DAT.PART_ID15x29>123456789</T_MASTER_DAT.PART_ID15x29>
+    <T_MASTER_DAT.PART_ID16x29>123456789</T_MASTER_DAT.PART_ID16x29>
+    <T_MASTER_DAT.PART_ID17x29>123456789</T_MASTER_DAT.PART_ID17x29>
+    <T_MASTER_DAT.PART_ID18x29>123456789</T_MASTER_DAT.PART_ID18x29>
+    <T_MASTER_DAT.PART_ID19x29>123456789</T_MASTER_DAT.PART_ID19x29>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x30>123456789</T_MASTER_DAT.PART_ID0x30>
+    <T_MASTER_DAT.PART_ID1x30>123456789</T_MASTER_DAT.PART_ID1x30>
+    <T_MASTER_DAT.PART_ID2x30>123456789</T_MASTER_DAT.PART_ID2x30>
+    <T_MASTER_DAT.PART_ID3x30>123456789</T_MASTER_DAT.PART_ID3x30>
+    <T_MASTER_DAT.PART_ID4x30>123456789</T_MASTER_DAT.PART_ID4x30>
+    <T_MASTER_DAT.PART_ID5x30>123456789</T_MASTER_DAT.PART_ID5x30>
+    <T_MASTER_DAT.PART_ID6x30>123456789</T_MASTER_DAT.PART_ID6x30>
+    <T_MASTER_DAT.PART_ID7x30>123456789</T_MASTER_DAT.PART_ID7x30>
+    <T_MASTER_DAT.PART_ID8x30>123456789</T_MASTER_DAT.PART_ID8x30>
+    <T_MASTER_DAT.PART_ID9x30>123456789</T_MASTER_DAT.PART_ID9x30>
+    <T_MASTER_DAT.PART_ID10x30>123456789</T_MASTER_DAT.PART_ID10x30>
+    <T_MASTER_DAT.PART_ID11x30>123456789</T_MASTER_DAT.PART_ID11x30>
+    <T_MASTER_DAT.PART_ID12x30>123456789</T_MASTER_DAT.PART_ID12x30>
+    <T_MASTER_DAT.PART_ID13x30>123456789</T_MASTER_DAT.PART_ID13x30>
+    <T_MASTER_DAT.PART_ID14x30>123456789</T_MASTER_DAT.PART_ID14x30>
+    <T_MASTER_DAT.PART_ID15x30>123456789</T_MASTER_DAT.PART_ID15x30>
+    <T_MASTER_DAT.PART_ID16x30>123456789</T_MASTER_DAT.PART_ID16x30>
+    <T_MASTER_DAT.PART_ID17x30>123456789</T_MASTER_DAT.PART_ID17x30>
+    <T_MASTER_DAT.PART_ID18x30>123456789</T_MASTER_DAT.PART_ID18x30>
+    <T_MASTER_DAT.PART_ID19x30>123456789</T_MASTER_DAT.PART_ID19x30>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x31>123456789</T_MASTER_DAT.PART_ID0x31>
+    <T_MASTER_DAT.PART_ID1x31>123456789</T_MASTER_DAT.PART_ID1x31>
+    <T_MASTER_DAT.PART_ID2x31>123456789</T_MASTER_DAT.PART_ID2x31>
+    <T_MASTER_DAT.PART_ID3x31>123456789</T_MASTER_DAT.PART_ID3x31>
+    <T_MASTER_DAT.PART_ID4x31>123456789</T_MASTER_DAT.PART_ID4x31>
+    <T_MASTER_DAT.PART_ID5x31>123456789</T_MASTER_DAT.PART_ID5x31>
+    <T_MASTER_DAT.PART_ID6x31>123456789</T_MASTER_DAT.PART_ID6x31>
+    <T_MASTER_DAT.PART_ID7x31>123456789</T_MASTER_DAT.PART_ID7x31>
+    <T_MASTER_DAT.PART_ID8x31>123456789</T_MASTER_DAT.PART_ID8x31>
+    <T_MASTER_DAT.PART_ID9x31>123456789</T_MASTER_DAT.PART_ID9x31>
+    <T_MASTER_DAT.PART_ID10x31>123456789</T_MASTER_DAT.PART_ID10x31>
+    <T_MASTER_DAT.PART_ID11x31>123456789</T_MASTER_DAT.PART_ID11x31>
+    <T_MASTER_DAT.PART_ID12x31>123456789</T_MASTER_DAT.PART_ID12x31>
+    <T_MASTER_DAT.PART_ID13x31>123456789</T_MASTER_DAT.PART_ID13x31>
+    <T_MASTER_DAT.PART_ID14x31>123456789</T_MASTER_DAT.PART_ID14x31>
+    <T_MASTER_DAT.PART_ID15x31>123456789</T_MASTER_DAT.PART_ID15x31>
+    <T_MASTER_DAT.PART_ID16x31>123456789</T_MASTER_DAT.PART_ID16x31>
+    <T_MASTER_DAT.PART_ID17x31>123456789</T_MASTER_DAT.PART_ID17x31>
+    <T_MASTER_DAT.PART_ID18x31>123456789</T_MASTER_DAT.PART_ID18x31>
+    <T_MASTER_DAT.PART_ID19x31>123456789</T_MASTER_DAT.PART_ID19x31>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x32>123456789</T_MASTER_DAT.PART_ID0x32>
+    <T_MASTER_DAT.PART_ID1x32>123456789</T_MASTER_DAT.PART_ID1x32>
+    <T_MASTER_DAT.PART_ID2x32>123456789</T_MASTER_DAT.PART_ID2x32>
+    <T_MASTER_DAT.PART_ID3x32>123456789</T_MASTER_DAT.PART_ID3x32>
+    <T_MASTER_DAT.PART_ID4x32>123456789</T_MASTER_DAT.PART_ID4x32>
+    <T_MASTER_DAT.PART_ID5x32>123456789</T_MASTER_DAT.PART_ID5x32>
+    <T_MASTER_DAT.PART_ID6x32>123456789</T_MASTER_DAT.PART_ID6x32>
+    <T_MASTER_DAT.PART_ID7x32>123456789</T_MASTER_DAT.PART_ID7x32>
+    <T_MASTER_DAT.PART_ID8x32>123456789</T_MASTER_DAT.PART_ID8x32>
+    <T_MASTER_DAT.PART_ID9x32>123456789</T_MASTER_DAT.PART_ID9x32>
+    <T_MASTER_DAT.PART_ID10x32>123456789</T_MASTER_DAT.PART_ID10x32>
+    <T_MASTER_DAT.PART_ID11x32>123456789</T_MASTER_DAT.PART_ID11x32>
+    <T_MASTER_DAT.PART_ID12x32>123456789</T_MASTER_DAT.PART_ID12x32>
+    <T_MASTER_DAT.PART_ID13x32>123456789</T_MASTER_DAT.PART_ID13x32>
+    <T_MASTER_DAT.PART_ID14x32>123456789</T_MASTER_DAT.PART_ID14x32>
+    <T_MASTER_DAT.PART_ID15x32>123456789</T_MASTER_DAT.PART_ID15x32>
+    <T_MASTER_DAT.PART_ID16x32>123456789</T_MASTER_DAT.PART_ID16x32>
+    <T_MASTER_DAT.PART_ID17x32>123456789</T_MASTER_DAT.PART_ID17x32>
+    <T_MASTER_DAT.PART_ID18x32>123456789</T_MASTER_DAT.PART_ID18x32>
+    <T_MASTER_DAT.PART_ID19x32>123456789</T_MASTER_DAT.PART_ID19x32>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x33>123456789</T_MASTER_DAT.PART_ID0x33>
+    <T_MASTER_DAT.PART_ID1x33>123456789</T_MASTER_DAT.PART_ID1x33>
+    <T_MASTER_DAT.PART_ID2x33>123456789</T_MASTER_DAT.PART_ID2x33>
+    <T_MASTER_DAT.PART_ID3x33>123456789</T_MASTER_DAT.PART_ID3x33>
+    <T_MASTER_DAT.PART_ID4x33>123456789</T_MASTER_DAT.PART_ID4x33>
+    <T_MASTER_DAT.PART_ID5x33>123456789</T_MASTER_DAT.PART_ID5x33>
+    <T_MASTER_DAT.PART_ID6x33>123456789</T_MASTER_DAT.PART_ID6x33>
+    <T_MASTER_DAT.PART_ID7x33>123456789</T_MASTER_DAT.PART_ID7x33>
+    <T_MASTER_DAT.PART_ID8x33>123456789</T_MASTER_DAT.PART_ID8x33>
+    <T_MASTER_DAT.PART_ID9x33>123456789</T_MASTER_DAT.PART_ID9x33>
+    <T_MASTER_DAT.PART_ID10x33>123456789</T_MASTER_DAT.PART_ID10x33>
+    <T_MASTER_DAT.PART_ID11x33>123456789</T_MASTER_DAT.PART_ID11x33>
+    <T_MASTER_DAT.PART_ID12x33>123456789</T_MASTER_DAT.PART_ID12x33>
+    <T_MASTER_DAT.PART_ID13x33>123456789</T_MASTER_DAT.PART_ID13x33>
+    <T_MASTER_DAT.PART_ID14x33>123456789</T_MASTER_DAT.PART_ID14x33>
+    <T_MASTER_DAT.PART_ID15x33>123456789</T_MASTER_DAT.PART_ID15x33>
+    <T_MASTER_DAT.PART_ID16x33>123456789</T_MASTER_DAT.PART_ID16x33>
+    <T_MASTER_DAT.PART_ID17x33>123456789</T_MASTER_DAT.PART_ID17x33>
+    <T_MASTER_DAT.PART_ID18x33>123456789</T_MASTER_DAT.PART_ID18x33>
+    <T_MASTER_DAT.PART_ID19x33>123456789</T_MASTER_DAT.PART_ID19x33>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x34>123456789</T_MASTER_DAT.PART_ID0x34>
+    <T_MASTER_DAT.PART_ID1x34>123456789</T_MASTER_DAT.PART_ID1x34>
+    <T_MASTER_DAT.PART_ID2x34>123456789</T_MASTER_DAT.PART_ID2x34>
+    <T_MASTER_DAT.PART_ID3x34>123456789</T_MASTER_DAT.PART_ID3x34>
+    <T_MASTER_DAT.PART_ID4x34>123456789</T_MASTER_DAT.PART_ID4x34>
+    <T_MASTER_DAT.PART_ID5x34>123456789</T_MASTER_DAT.PART_ID5x34>
+    <T_MASTER_DAT.PART_ID6x34>123456789</T_MASTER_DAT.PART_ID6x34>
+    <T_MASTER_DAT.PART_ID7x34>123456789</T_MASTER_DAT.PART_ID7x34>
+    <T_MASTER_DAT.PART_ID8x34>123456789</T_MASTER_DAT.PART_ID8x34>
+    <T_MASTER_DAT.PART_ID9x34>123456789</T_MASTER_DAT.PART_ID9x34>
+    <T_MASTER_DAT.PART_ID10x34>123456789</T_MASTER_DAT.PART_ID10x34>
+    <T_MASTER_DAT.PART_ID11x34>123456789</T_MASTER_DAT.PART_ID11x34>
+    <T_MASTER_DAT.PART_ID12x34>123456789</T_MASTER_DAT.PART_ID12x34>
+    <T_MASTER_DAT.PART_ID13x34>123456789</T_MASTER_DAT.PART_ID13x34>
+    <T_MASTER_DAT.PART_ID14x34>123456789</T_MASTER_DAT.PART_ID14x34>
+    <T_MASTER_DAT.PART_ID15x34>123456789</T_MASTER_DAT.PART_ID15x34>
+    <T_MASTER_DAT.PART_ID16x34>123456789</T_MASTER_DAT.PART_ID16x34>
+    <T_MASTER_DAT.PART_ID17x34>123456789</T_MASTER_DAT.PART_ID17x34>
+    <T_MASTER_DAT.PART_ID18x34>123456789</T_MASTER_DAT.PART_ID18x34>
+    <T_MASTER_DAT.PART_ID19x34>123456789</T_MASTER_DAT.PART_ID19x34>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x35>123456789</T_MASTER_DAT.PART_ID0x35>
+    <T_MASTER_DAT.PART_ID1x35>123456789</T_MASTER_DAT.PART_ID1x35>
+    <T_MASTER_DAT.PART_ID2x35>123456789</T_MASTER_DAT.PART_ID2x35>
+    <T_MASTER_DAT.PART_ID3x35>123456789</T_MASTER_DAT.PART_ID3x35>
+    <T_MASTER_DAT.PART_ID4x35>123456789</T_MASTER_DAT.PART_ID4x35>
+    <T_MASTER_DAT.PART_ID5x35>123456789</T_MASTER_DAT.PART_ID5x35>
+    <T_MASTER_DAT.PART_ID6x35>123456789</T_MASTER_DAT.PART_ID6x35>
+    <T_MASTER_DAT.PART_ID7x35>123456789</T_MASTER_DAT.PART_ID7x35>
+    <T_MASTER_DAT.PART_ID8x35>123456789</T_MASTER_DAT.PART_ID8x35>
+    <T_MASTER_DAT.PART_ID9x35>123456789</T_MASTER_DAT.PART_ID9x35>
+    <T_MASTER_DAT.PART_ID10x35>123456789</T_MASTER_DAT.PART_ID10x35>
+    <T_MASTER_DAT.PART_ID11x35>123456789</T_MASTER_DAT.PART_ID11x35>
+    <T_MASTER_DAT.PART_ID12x35>123456789</T_MASTER_DAT.PART_ID12x35>
+    <T_MASTER_DAT.PART_ID13x35>123456789</T_MASTER_DAT.PART_ID13x35>
+    <T_MASTER_DAT.PART_ID14x35>123456789</T_MASTER_DAT.PART_ID14x35>
+    <T_MASTER_DAT.PART_ID15x35>123456789</T_MASTER_DAT.PART_ID15x35>
+    <T_MASTER_DAT.PART_ID16x35>123456789</T_MASTER_DAT.PART_ID16x35>
+    <T_MASTER_DAT.PART_ID17x35>123456789</T_MASTER_DAT.PART_ID17x35>
+    <T_MASTER_DAT.PART_ID18x35>123456789</T_MASTER_DAT.PART_ID18x35>
+    <T_MASTER_DAT.PART_ID19x35>123456789</T_MASTER_DAT.PART_ID19x35>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x36>123456789</T_MASTER_DAT.PART_ID0x36>
+    <T_MASTER_DAT.PART_ID1x36>123456789</T_MASTER_DAT.PART_ID1x36>
+    <T_MASTER_DAT.PART_ID2x36>123456789</T_MASTER_DAT.PART_ID2x36>
+    <T_MASTER_DAT.PART_ID3x36>123456789</T_MASTER_DAT.PART_ID3x36>
+    <T_MASTER_DAT.PART_ID4x36>123456789</T_MASTER_DAT.PART_ID4x36>
+    <T_MASTER_DAT.PART_ID5x36>123456789</T_MASTER_DAT.PART_ID5x36>
+    <T_MASTER_DAT.PART_ID6x36>123456789</T_MASTER_DAT.PART_ID6x36>
+    <T_MASTER_DAT.PART_ID7x36>123456789</T_MASTER_DAT.PART_ID7x36>
+    <T_MASTER_DAT.PART_ID8x36>123456789</T_MASTER_DAT.PART_ID8x36>
+    <T_MASTER_DAT.PART_ID9x36>123456789</T_MASTER_DAT.PART_ID9x36>
+    <T_MASTER_DAT.PART_ID10x36>123456789</T_MASTER_DAT.PART_ID10x36>
+    <T_MASTER_DAT.PART_ID11x36>123456789</T_MASTER_DAT.PART_ID11x36>
+    <T_MASTER_DAT.PART_ID12x36>123456789</T_MASTER_DAT.PART_ID12x36>
+    <T_MASTER_DAT.PART_ID13x36>123456789</T_MASTER_DAT.PART_ID13x36>
+    <T_MASTER_DAT.PART_ID14x36>123456789</T_MASTER_DAT.PART_ID14x36>
+    <T_MASTER_DAT.PART_ID15x36>123456789</T_MASTER_DAT.PART_ID15x36>
+    <T_MASTER_DAT.PART_ID16x36>123456789</T_MASTER_DAT.PART_ID16x36>
+    <T_MASTER_DAT.PART_ID17x36>123456789</T_MASTER_DAT.PART_ID17x36>
+    <T_MASTER_DAT.PART_ID18x36>123456789</T_MASTER_DAT.PART_ID18x36>
+    <T_MASTER_DAT.PART_ID19x36>123456789</T_MASTER_DAT.PART_ID19x36>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x37>123456789</T_MASTER_DAT.PART_ID0x37>
+    <T_MASTER_DAT.PART_ID1x37>123456789</T_MASTER_DAT.PART_ID1x37>
+    <T_MASTER_DAT.PART_ID2x37>123456789</T_MASTER_DAT.PART_ID2x37>
+    <T_MASTER_DAT.PART_ID3x37>123456789</T_MASTER_DAT.PART_ID3x37>
+    <T_MASTER_DAT.PART_ID4x37>123456789</T_MASTER_DAT.PART_ID4x37>
+    <T_MASTER_DAT.PART_ID5x37>123456789</T_MASTER_DAT.PART_ID5x37>
+    <T_MASTER_DAT.PART_ID6x37>123456789</T_MASTER_DAT.PART_ID6x37>
+    <T_MASTER_DAT.PART_ID7x37>123456789</T_MASTER_DAT.PART_ID7x37>
+    <T_MASTER_DAT.PART_ID8x37>123456789</T_MASTER_DAT.PART_ID8x37>
+    <T_MASTER_DAT.PART_ID9x37>123456789</T_MASTER_DAT.PART_ID9x37>
+    <T_MASTER_DAT.PART_ID10x37>123456789</T_MASTER_DAT.PART_ID10x37>
+    <T_MASTER_DAT.PART_ID11x37>123456789</T_MASTER_DAT.PART_ID11x37>
+    <T_MASTER_DAT.PART_ID12x37>123456789</T_MASTER_DAT.PART_ID12x37>
+    <T_MASTER_DAT.PART_ID13x37>123456789</T_MASTER_DAT.PART_ID13x37>
+    <T_MASTER_DAT.PART_ID14x37>123456789</T_MASTER_DAT.PART_ID14x37>
+    <T_MASTER_DAT.PART_ID15x37>123456789</T_MASTER_DAT.PART_ID15x37>
+    <T_MASTER_DAT.PART_ID16x37>123456789</T_MASTER_DAT.PART_ID16x37>
+    <T_MASTER_DAT.PART_ID17x37>123456789</T_MASTER_DAT.PART_ID17x37>
+    <T_MASTER_DAT.PART_ID18x37>123456789</T_MASTER_DAT.PART_ID18x37>
+    <T_MASTER_DAT.PART_ID19x37>123456789</T_MASTER_DAT.PART_ID19x37>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x38>123456789</T_MASTER_DAT.PART_ID0x38>
+    <T_MASTER_DAT.PART_ID1x38>123456789</T_MASTER_DAT.PART_ID1x38>
+    <T_MASTER_DAT.PART_ID2x38>123456789</T_MASTER_DAT.PART_ID2x38>
+    <T_MASTER_DAT.PART_ID3x38>123456789</T_MASTER_DAT.PART_ID3x38>
+    <T_MASTER_DAT.PART_ID4x38>123456789</T_MASTER_DAT.PART_ID4x38>
+    <T_MASTER_DAT.PART_ID5x38>123456789</T_MASTER_DAT.PART_ID5x38>
+    <T_MASTER_DAT.PART_ID6x38>123456789</T_MASTER_DAT.PART_ID6x38>
+    <T_MASTER_DAT.PART_ID7x38>123456789</T_MASTER_DAT.PART_ID7x38>
+    <T_MASTER_DAT.PART_ID8x38>123456789</T_MASTER_DAT.PART_ID8x38>
+    <T_MASTER_DAT.PART_ID9x38>123456789</T_MASTER_DAT.PART_ID9x38>
+    <T_MASTER_DAT.PART_ID10x38>123456789</T_MASTER_DAT.PART_ID10x38>
+    <T_MASTER_DAT.PART_ID11x38>123456789</T_MASTER_DAT.PART_ID11x38>
+    <T_MASTER_DAT.PART_ID12x38>123456789</T_MASTER_DAT.PART_ID12x38>
+    <T_MASTER_DAT.PART_ID13x38>123456789</T_MASTER_DAT.PART_ID13x38>
+    <T_MASTER_DAT.PART_ID14x38>123456789</T_MASTER_DAT.PART_ID14x38>
+    <T_MASTER_DAT.PART_ID15x38>123456789</T_MASTER_DAT.PART_ID15x38>
+    <T_MASTER_DAT.PART_ID16x38>123456789</T_MASTER_DAT.PART_ID16x38>
+    <T_MASTER_DAT.PART_ID17x38>123456789</T_MASTER_DAT.PART_ID17x38>
+    <T_MASTER_DAT.PART_ID18x38>123456789</T_MASTER_DAT.PART_ID18x38>
+    <T_MASTER_DAT.PART_ID19x38>123456789</T_MASTER_DAT.PART_ID19x38>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x39>123456789</T_MASTER_DAT.PART_ID0x39>
+    <T_MASTER_DAT.PART_ID1x39>123456789</T_MASTER_DAT.PART_ID1x39>
+    <T_MASTER_DAT.PART_ID2x39>123456789</T_MASTER_DAT.PART_ID2x39>
+    <T_MASTER_DAT.PART_ID3x39>123456789</T_MASTER_DAT.PART_ID3x39>
+    <T_MASTER_DAT.PART_ID4x39>123456789</T_MASTER_DAT.PART_ID4x39>
+    <T_MASTER_DAT.PART_ID5x39>123456789</T_MASTER_DAT.PART_ID5x39>
+    <T_MASTER_DAT.PART_ID6x39>123456789</T_MASTER_DAT.PART_ID6x39>
+    <T_MASTER_DAT.PART_ID7x39>123456789</T_MASTER_DAT.PART_ID7x39>
+    <T_MASTER_DAT.PART_ID8x39>123456789</T_MASTER_DAT.PART_ID8x39>
+    <T_MASTER_DAT.PART_ID9x39>123456789</T_MASTER_DAT.PART_ID9x39>
+    <T_MASTER_DAT.PART_ID10x39>123456789</T_MASTER_DAT.PART_ID10x39>
+    <T_MASTER_DAT.PART_ID11x39>123456789</T_MASTER_DAT.PART_ID11x39>
+    <T_MASTER_DAT.PART_ID12x39>123456789</T_MASTER_DAT.PART_ID12x39>
+    <T_MASTER_DAT.PART_ID13x39>123456789</T_MASTER_DAT.PART_ID13x39>
+    <T_MASTER_DAT.PART_ID14x39>123456789</T_MASTER_DAT.PART_ID14x39>
+    <T_MASTER_DAT.PART_ID15x39>123456789</T_MASTER_DAT.PART_ID15x39>
+    <T_MASTER_DAT.PART_ID16x39>123456789</T_MASTER_DAT.PART_ID16x39>
+    <T_MASTER_DAT.PART_ID17x39>123456789</T_MASTER_DAT.PART_ID17x39>
+    <T_MASTER_DAT.PART_ID18x39>123456789</T_MASTER_DAT.PART_ID18x39>
+    <T_MASTER_DAT.PART_ID19x39>123456789</T_MASTER_DAT.PART_ID19x39>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x40>123456789</T_MASTER_DAT.PART_ID0x40>
+    <T_MASTER_DAT.PART_ID1x40>123456789</T_MASTER_DAT.PART_ID1x40>
+    <T_MASTER_DAT.PART_ID2x40>123456789</T_MASTER_DAT.PART_ID2x40>
+    <T_MASTER_DAT.PART_ID3x40>123456789</T_MASTER_DAT.PART_ID3x40>
+    <T_MASTER_DAT.PART_ID4x40>123456789</T_MASTER_DAT.PART_ID4x40>
+    <T_MASTER_DAT.PART_ID5x40>123456789</T_MASTER_DAT.PART_ID5x40>
+    <T_MASTER_DAT.PART_ID6x40>123456789</T_MASTER_DAT.PART_ID6x40>
+    <T_MASTER_DAT.PART_ID7x40>123456789</T_MASTER_DAT.PART_ID7x40>
+    <T_MASTER_DAT.PART_ID8x40>123456789</T_MASTER_DAT.PART_ID8x40>
+    <T_MASTER_DAT.PART_ID9x40>123456789</T_MASTER_DAT.PART_ID9x40>
+    <T_MASTER_DAT.PART_ID10x40>123456789</T_MASTER_DAT.PART_ID10x40>
+    <T_MASTER_DAT.PART_ID11x40>123456789</T_MASTER_DAT.PART_ID11x40>
+    <T_MASTER_DAT.PART_ID12x40>123456789</T_MASTER_DAT.PART_ID12x40>
+    <T_MASTER_DAT.PART_ID13x40>123456789</T_MASTER_DAT.PART_ID13x40>
+    <T_MASTER_DAT.PART_ID14x40>123456789</T_MASTER_DAT.PART_ID14x40>
+    <T_MASTER_DAT.PART_ID15x40>123456789</T_MASTER_DAT.PART_ID15x40>
+    <T_MASTER_DAT.PART_ID16x40>123456789</T_MASTER_DAT.PART_ID16x40>
+    <T_MASTER_DAT.PART_ID17x40>123456789</T_MASTER_DAT.PART_ID17x40>
+    <T_MASTER_DAT.PART_ID18x40>123456789</T_MASTER_DAT.PART_ID18x40>
+    <T_MASTER_DAT.PART_ID19x40>123456789</T_MASTER_DAT.PART_ID19x40>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x41>123456789</T_MASTER_DAT.PART_ID0x41>
+    <T_MASTER_DAT.PART_ID1x41>123456789</T_MASTER_DAT.PART_ID1x41>
+    <T_MASTER_DAT.PART_ID2x41>123456789</T_MASTER_DAT.PART_ID2x41>
+    <T_MASTER_DAT.PART_ID3x41>123456789</T_MASTER_DAT.PART_ID3x41>
+    <T_MASTER_DAT.PART_ID4x41>123456789</T_MASTER_DAT.PART_ID4x41>
+    <T_MASTER_DAT.PART_ID5x41>123456789</T_MASTER_DAT.PART_ID5x41>
+    <T_MASTER_DAT.PART_ID6x41>123456789</T_MASTER_DAT.PART_ID6x41>
+    <T_MASTER_DAT.PART_ID7x41>123456789</T_MASTER_DAT.PART_ID7x41>
+    <T_MASTER_DAT.PART_ID8x41>123456789</T_MASTER_DAT.PART_ID8x41>
+    <T_MASTER_DAT.PART_ID9x41>123456789</T_MASTER_DAT.PART_ID9x41>
+    <T_MASTER_DAT.PART_ID10x41>123456789</T_MASTER_DAT.PART_ID10x41>
+    <T_MASTER_DAT.PART_ID11x41>123456789</T_MASTER_DAT.PART_ID11x41>
+    <T_MASTER_DAT.PART_ID12x41>123456789</T_MASTER_DAT.PART_ID12x41>
+    <T_MASTER_DAT.PART_ID13x41>123456789</T_MASTER_DAT.PART_ID13x41>
+    <T_MASTER_DAT.PART_ID14x41>123456789</T_MASTER_DAT.PART_ID14x41>
+    <T_MASTER_DAT.PART_ID15x41>123456789</T_MASTER_DAT.PART_ID15x41>
+    <T_MASTER_DAT.PART_ID16x41>123456789</T_MASTER_DAT.PART_ID16x41>
+    <T_MASTER_DAT.PART_ID17x41>123456789</T_MASTER_DAT.PART_ID17x41>
+    <T_MASTER_DAT.PART_ID18x41>123456789</T_MASTER_DAT.PART_ID18x41>
+    <T_MASTER_DAT.PART_ID19x41>123456789</T_MASTER_DAT.PART_ID19x41>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x42>123456789</T_MASTER_DAT.PART_ID0x42>
+    <T_MASTER_DAT.PART_ID1x42>123456789</T_MASTER_DAT.PART_ID1x42>
+    <T_MASTER_DAT.PART_ID2x42>123456789</T_MASTER_DAT.PART_ID2x42>
+    <T_MASTER_DAT.PART_ID3x42>123456789</T_MASTER_DAT.PART_ID3x42>
+    <T_MASTER_DAT.PART_ID4x42>123456789</T_MASTER_DAT.PART_ID4x42>
+    <T_MASTER_DAT.PART_ID5x42>123456789</T_MASTER_DAT.PART_ID5x42>
+    <T_MASTER_DAT.PART_ID6x42>123456789</T_MASTER_DAT.PART_ID6x42>
+    <T_MASTER_DAT.PART_ID7x42>123456789</T_MASTER_DAT.PART_ID7x42>
+    <T_MASTER_DAT.PART_ID8x42>123456789</T_MASTER_DAT.PART_ID8x42>
+    <T_MASTER_DAT.PART_ID9x42>123456789</T_MASTER_DAT.PART_ID9x42>
+    <T_MASTER_DAT.PART_ID10x42>123456789</T_MASTER_DAT.PART_ID10x42>
+    <T_MASTER_DAT.PART_ID11x42>123456789</T_MASTER_DAT.PART_ID11x42>
+    <T_MASTER_DAT.PART_ID12x42>123456789</T_MASTER_DAT.PART_ID12x42>
+    <T_MASTER_DAT.PART_ID13x42>123456789</T_MASTER_DAT.PART_ID13x42>
+    <T_MASTER_DAT.PART_ID14x42>123456789</T_MASTER_DAT.PART_ID14x42>
+    <T_MASTER_DAT.PART_ID15x42>123456789</T_MASTER_DAT.PART_ID15x42>
+    <T_MASTER_DAT.PART_ID16x42>123456789</T_MASTER_DAT.PART_ID16x42>
+    <T_MASTER_DAT.PART_ID17x42>123456789</T_MASTER_DAT.PART_ID17x42>
+    <T_MASTER_DAT.PART_ID18x42>123456789</T_MASTER_DAT.PART_ID18x42>
+    <T_MASTER_DAT.PART_ID19x42>123456789</T_MASTER_DAT.PART_ID19x42>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x43>123456789</T_MASTER_DAT.PART_ID0x43>
+    <T_MASTER_DAT.PART_ID1x43>123456789</T_MASTER_DAT.PART_ID1x43>
+    <T_MASTER_DAT.PART_ID2x43>123456789</T_MASTER_DAT.PART_ID2x43>
+    <T_MASTER_DAT.PART_ID3x43>123456789</T_MASTER_DAT.PART_ID3x43>
+    <T_MASTER_DAT.PART_ID4x43>123456789</T_MASTER_DAT.PART_ID4x43>
+    <T_MASTER_DAT.PART_ID5x43>123456789</T_MASTER_DAT.PART_ID5x43>
+    <T_MASTER_DAT.PART_ID6x43>123456789</T_MASTER_DAT.PART_ID6x43>
+    <T_MASTER_DAT.PART_ID7x43>123456789</T_MASTER_DAT.PART_ID7x43>
+    <T_MASTER_DAT.PART_ID8x43>123456789</T_MASTER_DAT.PART_ID8x43>
+    <T_MASTER_DAT.PART_ID9x43>123456789</T_MASTER_DAT.PART_ID9x43>
+    <T_MASTER_DAT.PART_ID10x43>123456789</T_MASTER_DAT.PART_ID10x43>
+    <T_MASTER_DAT.PART_ID11x43>123456789</T_MASTER_DAT.PART_ID11x43>
+    <T_MASTER_DAT.PART_ID12x43>123456789</T_MASTER_DAT.PART_ID12x43>
+    <T_MASTER_DAT.PART_ID13x43>123456789</T_MASTER_DAT.PART_ID13x43>
+    <T_MASTER_DAT.PART_ID14x43>123456789</T_MASTER_DAT.PART_ID14x43>
+    <T_MASTER_DAT.PART_ID15x43>123456789</T_MASTER_DAT.PART_ID15x43>
+    <T_MASTER_DAT.PART_ID16x43>123456789</T_MASTER_DAT.PART_ID16x43>
+    <T_MASTER_DAT.PART_ID17x43>123456789</T_MASTER_DAT.PART_ID17x43>
+    <T_MASTER_DAT.PART_ID18x43>123456789</T_MASTER_DAT.PART_ID18x43>
+    <T_MASTER_DAT.PART_ID19x43>123456789</T_MASTER_DAT.PART_ID19x43>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x44>123456789</T_MASTER_DAT.PART_ID0x44>
+    <T_MASTER_DAT.PART_ID1x44>123456789</T_MASTER_DAT.PART_ID1x44>
+    <T_MASTER_DAT.PART_ID2x44>123456789</T_MASTER_DAT.PART_ID2x44>
+    <T_MASTER_DAT.PART_ID3x44>123456789</T_MASTER_DAT.PART_ID3x44>
+    <T_MASTER_DAT.PART_ID4x44>123456789</T_MASTER_DAT.PART_ID4x44>
+    <T_MASTER_DAT.PART_ID5x44>123456789</T_MASTER_DAT.PART_ID5x44>
+    <T_MASTER_DAT.PART_ID6x44>123456789</T_MASTER_DAT.PART_ID6x44>
+    <T_MASTER_DAT.PART_ID7x44>123456789</T_MASTER_DAT.PART_ID7x44>
+    <T_MASTER_DAT.PART_ID8x44>123456789</T_MASTER_DAT.PART_ID8x44>
+    <T_MASTER_DAT.PART_ID9x44>123456789</T_MASTER_DAT.PART_ID9x44>
+    <T_MASTER_DAT.PART_ID10x44>123456789</T_MASTER_DAT.PART_ID10x44>
+    <T_MASTER_DAT.PART_ID11x44>123456789</T_MASTER_DAT.PART_ID11x44>
+    <T_MASTER_DAT.PART_ID12x44>123456789</T_MASTER_DAT.PART_ID12x44>
+    <T_MASTER_DAT.PART_ID13x44>123456789</T_MASTER_DAT.PART_ID13x44>
+    <T_MASTER_DAT.PART_ID14x44>123456789</T_MASTER_DAT.PART_ID14x44>
+    <T_MASTER_DAT.PART_ID15x44>123456789</T_MASTER_DAT.PART_ID15x44>
+    <T_MASTER_DAT.PART_ID16x44>123456789</T_MASTER_DAT.PART_ID16x44>
+    <T_MASTER_DAT.PART_ID17x44>123456789</T_MASTER_DAT.PART_ID17x44>
+    <T_MASTER_DAT.PART_ID18x44>123456789</T_MASTER_DAT.PART_ID18x44>
+    <T_MASTER_DAT.PART_ID19x44>123456789</T_MASTER_DAT.PART_ID19x44>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x45>123456789</T_MASTER_DAT.PART_ID0x45>
+    <T_MASTER_DAT.PART_ID1x45>123456789</T_MASTER_DAT.PART_ID1x45>
+    <T_MASTER_DAT.PART_ID2x45>123456789</T_MASTER_DAT.PART_ID2x45>
+    <T_MASTER_DAT.PART_ID3x45>123456789</T_MASTER_DAT.PART_ID3x45>
+    <T_MASTER_DAT.PART_ID4x45>123456789</T_MASTER_DAT.PART_ID4x45>
+    <T_MASTER_DAT.PART_ID5x45>123456789</T_MASTER_DAT.PART_ID5x45>
+    <T_MASTER_DAT.PART_ID6x45>123456789</T_MASTER_DAT.PART_ID6x45>
+    <T_MASTER_DAT.PART_ID7x45>123456789</T_MASTER_DAT.PART_ID7x45>
+    <T_MASTER_DAT.PART_ID8x45>123456789</T_MASTER_DAT.PART_ID8x45>
+    <T_MASTER_DAT.PART_ID9x45>123456789</T_MASTER_DAT.PART_ID9x45>
+    <T_MASTER_DAT.PART_ID10x45>123456789</T_MASTER_DAT.PART_ID10x45>
+    <T_MASTER_DAT.PART_ID11x45>123456789</T_MASTER_DAT.PART_ID11x45>
+    <T_MASTER_DAT.PART_ID12x45>123456789</T_MASTER_DAT.PART_ID12x45>
+    <T_MASTER_DAT.PART_ID13x45>123456789</T_MASTER_DAT.PART_ID13x45>
+    <T_MASTER_DAT.PART_ID14x45>123456789</T_MASTER_DAT.PART_ID14x45>
+    <T_MASTER_DAT.PART_ID15x45>123456789</T_MASTER_DAT.PART_ID15x45>
+    <T_MASTER_DAT.PART_ID16x45>123456789</T_MASTER_DAT.PART_ID16x45>
+    <T_MASTER_DAT.PART_ID17x45>123456789</T_MASTER_DAT.PART_ID17x45>
+    <T_MASTER_DAT.PART_ID18x45>123456789</T_MASTER_DAT.PART_ID18x45>
+    <T_MASTER_DAT.PART_ID19x45>123456789</T_MASTER_DAT.PART_ID19x45>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x46>123456789</T_MASTER_DAT.PART_ID0x46>
+    <T_MASTER_DAT.PART_ID1x46>123456789</T_MASTER_DAT.PART_ID1x46>
+    <T_MASTER_DAT.PART_ID2x46>123456789</T_MASTER_DAT.PART_ID2x46>
+    <T_MASTER_DAT.PART_ID3x46>123456789</T_MASTER_DAT.PART_ID3x46>
+    <T_MASTER_DAT.PART_ID4x46>123456789</T_MASTER_DAT.PART_ID4x46>
+    <T_MASTER_DAT.PART_ID5x46>123456789</T_MASTER_DAT.PART_ID5x46>
+    <T_MASTER_DAT.PART_ID6x46>123456789</T_MASTER_DAT.PART_ID6x46>
+    <T_MASTER_DAT.PART_ID7x46>123456789</T_MASTER_DAT.PART_ID7x46>
+    <T_MASTER_DAT.PART_ID8x46>123456789</T_MASTER_DAT.PART_ID8x46>
+    <T_MASTER_DAT.PART_ID9x46>123456789</T_MASTER_DAT.PART_ID9x46>
+    <T_MASTER_DAT.PART_ID10x46>123456789</T_MASTER_DAT.PART_ID10x46>
+    <T_MASTER_DAT.PART_ID11x46>123456789</T_MASTER_DAT.PART_ID11x46>
+    <T_MASTER_DAT.PART_ID12x46>123456789</T_MASTER_DAT.PART_ID12x46>
+    <T_MASTER_DAT.PART_ID13x46>123456789</T_MASTER_DAT.PART_ID13x46>
+    <T_MASTER_DAT.PART_ID14x46>123456789</T_MASTER_DAT.PART_ID14x46>
+    <T_MASTER_DAT.PART_ID15x46>123456789</T_MASTER_DAT.PART_ID15x46>
+    <T_MASTER_DAT.PART_ID16x46>123456789</T_MASTER_DAT.PART_ID16x46>
+    <T_MASTER_DAT.PART_ID17x46>123456789</T_MASTER_DAT.PART_ID17x46>
+    <T_MASTER_DAT.PART_ID18x46>123456789</T_MASTER_DAT.PART_ID18x46>
+    <T_MASTER_DAT.PART_ID19x46>123456789</T_MASTER_DAT.PART_ID19x46>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x47>123456789</T_MASTER_DAT.PART_ID0x47>
+    <T_MASTER_DAT.PART_ID1x47>123456789</T_MASTER_DAT.PART_ID1x47>
+    <T_MASTER_DAT.PART_ID2x47>123456789</T_MASTER_DAT.PART_ID2x47>
+    <T_MASTER_DAT.PART_ID3x47>123456789</T_MASTER_DAT.PART_ID3x47>
+    <T_MASTER_DAT.PART_ID4x47>123456789</T_MASTER_DAT.PART_ID4x47>
+    <T_MASTER_DAT.PART_ID5x47>123456789</T_MASTER_DAT.PART_ID5x47>
+    <T_MASTER_DAT.PART_ID6x47>123456789</T_MASTER_DAT.PART_ID6x47>
+    <T_MASTER_DAT.PART_ID7x47>123456789</T_MASTER_DAT.PART_ID7x47>
+    <T_MASTER_DAT.PART_ID8x47>123456789</T_MASTER_DAT.PART_ID8x47>
+    <T_MASTER_DAT.PART_ID9x47>123456789</T_MASTER_DAT.PART_ID9x47>
+    <T_MASTER_DAT.PART_ID10x47>123456789</T_MASTER_DAT.PART_ID10x47>
+    <T_MASTER_DAT.PART_ID11x47>123456789</T_MASTER_DAT.PART_ID11x47>
+    <T_MASTER_DAT.PART_ID12x47>123456789</T_MASTER_DAT.PART_ID12x47>
+    <T_MASTER_DAT.PART_ID13x47>123456789</T_MASTER_DAT.PART_ID13x47>
+    <T_MASTER_DAT.PART_ID14x47>123456789</T_MASTER_DAT.PART_ID14x47>
+    <T_MASTER_DAT.PART_ID15x47>123456789</T_MASTER_DAT.PART_ID15x47>
+    <T_MASTER_DAT.PART_ID16x47>123456789</T_MASTER_DAT.PART_ID16x47>
+    <T_MASTER_DAT.PART_ID17x47>123456789</T_MASTER_DAT.PART_ID17x47>
+    <T_MASTER_DAT.PART_ID18x47>123456789</T_MASTER_DAT.PART_ID18x47>
+    <T_MASTER_DAT.PART_ID19x47>123456789</T_MASTER_DAT.PART_ID19x47>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x48>123456789</T_MASTER_DAT.PART_ID0x48>
+    <T_MASTER_DAT.PART_ID1x48>123456789</T_MASTER_DAT.PART_ID1x48>
+    <T_MASTER_DAT.PART_ID2x48>123456789</T_MASTER_DAT.PART_ID2x48>
+    <T_MASTER_DAT.PART_ID3x48>123456789</T_MASTER_DAT.PART_ID3x48>
+    <T_MASTER_DAT.PART_ID4x48>123456789</T_MASTER_DAT.PART_ID4x48>
+    <T_MASTER_DAT.PART_ID5x48>123456789</T_MASTER_DAT.PART_ID5x48>
+    <T_MASTER_DAT.PART_ID6x48>123456789</T_MASTER_DAT.PART_ID6x48>
+    <T_MASTER_DAT.PART_ID7x48>123456789</T_MASTER_DAT.PART_ID7x48>
+    <T_MASTER_DAT.PART_ID8x48>123456789</T_MASTER_DAT.PART_ID8x48>
+    <T_MASTER_DAT.PART_ID9x48>123456789</T_MASTER_DAT.PART_ID9x48>
+    <T_MASTER_DAT.PART_ID10x48>123456789</T_MASTER_DAT.PART_ID10x48>
+    <T_MASTER_DAT.PART_ID11x48>123456789</T_MASTER_DAT.PART_ID11x48>
+    <T_MASTER_DAT.PART_ID12x48>123456789</T_MASTER_DAT.PART_ID12x48>
+    <T_MASTER_DAT.PART_ID13x48>123456789</T_MASTER_DAT.PART_ID13x48>
+    <T_MASTER_DAT.PART_ID14x48>123456789</T_MASTER_DAT.PART_ID14x48>
+    <T_MASTER_DAT.PART_ID15x48>123456789</T_MASTER_DAT.PART_ID15x48>
+    <T_MASTER_DAT.PART_ID16x48>123456789</T_MASTER_DAT.PART_ID16x48>
+    <T_MASTER_DAT.PART_ID17x48>123456789</T_MASTER_DAT.PART_ID17x48>
+    <T_MASTER_DAT.PART_ID18x48>123456789</T_MASTER_DAT.PART_ID18x48>
+    <T_MASTER_DAT.PART_ID19x48>123456789</T_MASTER_DAT.PART_ID19x48>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x49>123456789</T_MASTER_DAT.PART_ID0x49>
+    <T_MASTER_DAT.PART_ID1x49>123456789</T_MASTER_DAT.PART_ID1x49>
+    <T_MASTER_DAT.PART_ID2x49>123456789</T_MASTER_DAT.PART_ID2x49>
+    <T_MASTER_DAT.PART_ID3x49>123456789</T_MASTER_DAT.PART_ID3x49>
+    <T_MASTER_DAT.PART_ID4x49>123456789</T_MASTER_DAT.PART_ID4x49>
+    <T_MASTER_DAT.PART_ID5x49>123456789</T_MASTER_DAT.PART_ID5x49>
+    <T_MASTER_DAT.PART_ID6x49>123456789</T_MASTER_DAT.PART_ID6x49>
+    <T_MASTER_DAT.PART_ID7x49>123456789</T_MASTER_DAT.PART_ID7x49>
+    <T_MASTER_DAT.PART_ID8x49>123456789</T_MASTER_DAT.PART_ID8x49>
+    <T_MASTER_DAT.PART_ID9x49>123456789</T_MASTER_DAT.PART_ID9x49>
+    <T_MASTER_DAT.PART_ID10x49>123456789</T_MASTER_DAT.PART_ID10x49>
+    <T_MASTER_DAT.PART_ID11x49>123456789</T_MASTER_DAT.PART_ID11x49>
+    <T_MASTER_DAT.PART_ID12x49>123456789</T_MASTER_DAT.PART_ID12x49>
+    <T_MASTER_DAT.PART_ID13x49>123456789</T_MASTER_DAT.PART_ID13x49>
+    <T_MASTER_DAT.PART_ID14x49>123456789</T_MASTER_DAT.PART_ID14x49>
+    <T_MASTER_DAT.PART_ID15x49>123456789</T_MASTER_DAT.PART_ID15x49>
+    <T_MASTER_DAT.PART_ID16x49>123456789</T_MASTER_DAT.PART_ID16x49>
+    <T_MASTER_DAT.PART_ID17x49>123456789</T_MASTER_DAT.PART_ID17x49>
+    <T_MASTER_DAT.PART_ID18x49>123456789</T_MASTER_DAT.PART_ID18x49>
+    <T_MASTER_DAT.PART_ID19x49>123456789</T_MASTER_DAT.PART_ID19x49>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x50>123456789</T_MASTER_DAT.PART_ID0x50>
+    <T_MASTER_DAT.PART_ID1x50>123456789</T_MASTER_DAT.PART_ID1x50>
+    <T_MASTER_DAT.PART_ID2x50>123456789</T_MASTER_DAT.PART_ID2x50>
+    <T_MASTER_DAT.PART_ID3x50>123456789</T_MASTER_DAT.PART_ID3x50>
+    <T_MASTER_DAT.PART_ID4x50>123456789</T_MASTER_DAT.PART_ID4x50>
+    <T_MASTER_DAT.PART_ID5x50>123456789</T_MASTER_DAT.PART_ID5x50>
+    <T_MASTER_DAT.PART_ID6x50>123456789</T_MASTER_DAT.PART_ID6x50>
+    <T_MASTER_DAT.PART_ID7x50>123456789</T_MASTER_DAT.PART_ID7x50>
+    <T_MASTER_DAT.PART_ID8x50>123456789</T_MASTER_DAT.PART_ID8x50>
+    <T_MASTER_DAT.PART_ID9x50>123456789</T_MASTER_DAT.PART_ID9x50>
+    <T_MASTER_DAT.PART_ID10x50>123456789</T_MASTER_DAT.PART_ID10x50>
+    <T_MASTER_DAT.PART_ID11x50>123456789</T_MASTER_DAT.PART_ID11x50>
+    <T_MASTER_DAT.PART_ID12x50>123456789</T_MASTER_DAT.PART_ID12x50>
+    <T_MASTER_DAT.PART_ID13x50>123456789</T_MASTER_DAT.PART_ID13x50>
+    <T_MASTER_DAT.PART_ID14x50>123456789</T_MASTER_DAT.PART_ID14x50>
+    <T_MASTER_DAT.PART_ID15x50>123456789</T_MASTER_DAT.PART_ID15x50>
+    <T_MASTER_DAT.PART_ID16x50>123456789</T_MASTER_DAT.PART_ID16x50>
+    <T_MASTER_DAT.PART_ID17x50>123456789</T_MASTER_DAT.PART_ID17x50>
+    <T_MASTER_DAT.PART_ID18x50>123456789</T_MASTER_DAT.PART_ID18x50>
+    <T_MASTER_DAT.PART_ID19x50>123456789</T_MASTER_DAT.PART_ID19x50>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x51>123456789</T_MASTER_DAT.PART_ID0x51>
+    <T_MASTER_DAT.PART_ID1x51>123456789</T_MASTER_DAT.PART_ID1x51>
+    <T_MASTER_DAT.PART_ID2x51>123456789</T_MASTER_DAT.PART_ID2x51>
+    <T_MASTER_DAT.PART_ID3x51>123456789</T_MASTER_DAT.PART_ID3x51>
+    <T_MASTER_DAT.PART_ID4x51>123456789</T_MASTER_DAT.PART_ID4x51>
+    <T_MASTER_DAT.PART_ID5x51>123456789</T_MASTER_DAT.PART_ID5x51>
+    <T_MASTER_DAT.PART_ID6x51>123456789</T_MASTER_DAT.PART_ID6x51>
+    <T_MASTER_DAT.PART_ID7x51>123456789</T_MASTER_DAT.PART_ID7x51>
+    <T_MASTER_DAT.PART_ID8x51>123456789</T_MASTER_DAT.PART_ID8x51>
+    <T_MASTER_DAT.PART_ID9x51>123456789</T_MASTER_DAT.PART_ID9x51>
+    <T_MASTER_DAT.PART_ID10x51>123456789</T_MASTER_DAT.PART_ID10x51>
+    <T_MASTER_DAT.PART_ID11x51>123456789</T_MASTER_DAT.PART_ID11x51>
+    <T_MASTER_DAT.PART_ID12x51>123456789</T_MASTER_DAT.PART_ID12x51>
+    <T_MASTER_DAT.PART_ID13x51>123456789</T_MASTER_DAT.PART_ID13x51>
+    <T_MASTER_DAT.PART_ID14x51>123456789</T_MASTER_DAT.PART_ID14x51>
+    <T_MASTER_DAT.PART_ID15x51>123456789</T_MASTER_DAT.PART_ID15x51>
+    <T_MASTER_DAT.PART_ID16x51>123456789</T_MASTER_DAT.PART_ID16x51>
+    <T_MASTER_DAT.PART_ID17x51>123456789</T_MASTER_DAT.PART_ID17x51>
+    <T_MASTER_DAT.PART_ID18x51>123456789</T_MASTER_DAT.PART_ID18x51>
+    <T_MASTER_DAT.PART_ID19x51>123456789</T_MASTER_DAT.PART_ID19x51>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x52>123456789</T_MASTER_DAT.PART_ID0x52>
+    <T_MASTER_DAT.PART_ID1x52>123456789</T_MASTER_DAT.PART_ID1x52>
+    <T_MASTER_DAT.PART_ID2x52>123456789</T_MASTER_DAT.PART_ID2x52>
+    <T_MASTER_DAT.PART_ID3x52>123456789</T_MASTER_DAT.PART_ID3x52>
+    <T_MASTER_DAT.PART_ID4x52>123456789</T_MASTER_DAT.PART_ID4x52>
+    <T_MASTER_DAT.PART_ID5x52>123456789</T_MASTER_DAT.PART_ID5x52>
+    <T_MASTER_DAT.PART_ID6x52>123456789</T_MASTER_DAT.PART_ID6x52>
+    <T_MASTER_DAT.PART_ID7x52>123456789</T_MASTER_DAT.PART_ID7x52>
+    <T_MASTER_DAT.PART_ID8x52>123456789</T_MASTER_DAT.PART_ID8x52>
+    <T_MASTER_DAT.PART_ID9x52>123456789</T_MASTER_DAT.PART_ID9x52>
+    <T_MASTER_DAT.PART_ID10x52>123456789</T_MASTER_DAT.PART_ID10x52>
+    <T_MASTER_DAT.PART_ID11x52>123456789</T_MASTER_DAT.PART_ID11x52>
+    <T_MASTER_DAT.PART_ID12x52>123456789</T_MASTER_DAT.PART_ID12x52>
+    <T_MASTER_DAT.PART_ID13x52>123456789</T_MASTER_DAT.PART_ID13x52>
+    <T_MASTER_DAT.PART_ID14x52>123456789</T_MASTER_DAT.PART_ID14x52>
+    <T_MASTER_DAT.PART_ID15x52>123456789</T_MASTER_DAT.PART_ID15x52>
+    <T_MASTER_DAT.PART_ID16x52>123456789</T_MASTER_DAT.PART_ID16x52>
+    <T_MASTER_DAT.PART_ID17x52>123456789</T_MASTER_DAT.PART_ID17x52>
+    <T_MASTER_DAT.PART_ID18x52>123456789</T_MASTER_DAT.PART_ID18x52>
+    <T_MASTER_DAT.PART_ID19x52>123456789</T_MASTER_DAT.PART_ID19x52>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x53>123456789</T_MASTER_DAT.PART_ID0x53>
+    <T_MASTER_DAT.PART_ID1x53>123456789</T_MASTER_DAT.PART_ID1x53>
+    <T_MASTER_DAT.PART_ID2x53>123456789</T_MASTER_DAT.PART_ID2x53>
+    <T_MASTER_DAT.PART_ID3x53>123456789</T_MASTER_DAT.PART_ID3x53>
+    <T_MASTER_DAT.PART_ID4x53>123456789</T_MASTER_DAT.PART_ID4x53>
+    <T_MASTER_DAT.PART_ID5x53>123456789</T_MASTER_DAT.PART_ID5x53>
+    <T_MASTER_DAT.PART_ID6x53>123456789</T_MASTER_DAT.PART_ID6x53>
+    <T_MASTER_DAT.PART_ID7x53>123456789</T_MASTER_DAT.PART_ID7x53>
+    <T_MASTER_DAT.PART_ID8x53>123456789</T_MASTER_DAT.PART_ID8x53>
+    <T_MASTER_DAT.PART_ID9x53>123456789</T_MASTER_DAT.PART_ID9x53>
+    <T_MASTER_DAT.PART_ID10x53>123456789</T_MASTER_DAT.PART_ID10x53>
+    <T_MASTER_DAT.PART_ID11x53>123456789</T_MASTER_DAT.PART_ID11x53>
+    <T_MASTER_DAT.PART_ID12x53>123456789</T_MASTER_DAT.PART_ID12x53>
+    <T_MASTER_DAT.PART_ID13x53>123456789</T_MASTER_DAT.PART_ID13x53>
+    <T_MASTER_DAT.PART_ID14x53>123456789</T_MASTER_DAT.PART_ID14x53>
+    <T_MASTER_DAT.PART_ID15x53>123456789</T_MASTER_DAT.PART_ID15x53>
+    <T_MASTER_DAT.PART_ID16x53>123456789</T_MASTER_DAT.PART_ID16x53>
+    <T_MASTER_DAT.PART_ID17x53>123456789</T_MASTER_DAT.PART_ID17x53>
+    <T_MASTER_DAT.PART_ID18x53>123456789</T_MASTER_DAT.PART_ID18x53>
+    <T_MASTER_DAT.PART_ID19x53>123456789</T_MASTER_DAT.PART_ID19x53>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x54>123456789</T_MASTER_DAT.PART_ID0x54>
+    <T_MASTER_DAT.PART_ID1x54>123456789</T_MASTER_DAT.PART_ID1x54>
+    <T_MASTER_DAT.PART_ID2x54>123456789</T_MASTER_DAT.PART_ID2x54>
+    <T_MASTER_DAT.PART_ID3x54>123456789</T_MASTER_DAT.PART_ID3x54>
+    <T_MASTER_DAT.PART_ID4x54>123456789</T_MASTER_DAT.PART_ID4x54>
+    <T_MASTER_DAT.PART_ID5x54>123456789</T_MASTER_DAT.PART_ID5x54>
+    <T_MASTER_DAT.PART_ID6x54>123456789</T_MASTER_DAT.PART_ID6x54>
+    <T_MASTER_DAT.PART_ID7x54>123456789</T_MASTER_DAT.PART_ID7x54>
+    <T_MASTER_DAT.PART_ID8x54>123456789</T_MASTER_DAT.PART_ID8x54>
+    <T_MASTER_DAT.PART_ID9x54>123456789</T_MASTER_DAT.PART_ID9x54>
+    <T_MASTER_DAT.PART_ID10x54>123456789</T_MASTER_DAT.PART_ID10x54>
+    <T_MASTER_DAT.PART_ID11x54>123456789</T_MASTER_DAT.PART_ID11x54>
+    <T_MASTER_DAT.PART_ID12x54>123456789</T_MASTER_DAT.PART_ID12x54>
+    <T_MASTER_DAT.PART_ID13x54>123456789</T_MASTER_DAT.PART_ID13x54>
+    <T_MASTER_DAT.PART_ID14x54>123456789</T_MASTER_DAT.PART_ID14x54>
+    <T_MASTER_DAT.PART_ID15x54>123456789</T_MASTER_DAT.PART_ID15x54>
+    <T_MASTER_DAT.PART_ID16x54>123456789</T_MASTER_DAT.PART_ID16x54>
+    <T_MASTER_DAT.PART_ID17x54>123456789</T_MASTER_DAT.PART_ID17x54>
+    <T_MASTER_DAT.PART_ID18x54>123456789</T_MASTER_DAT.PART_ID18x54>
+    <T_MASTER_DAT.PART_ID19x54>123456789</T_MASTER_DAT.PART_ID19x54>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x55>123456789</T_MASTER_DAT.PART_ID0x55>
+    <T_MASTER_DAT.PART_ID1x55>123456789</T_MASTER_DAT.PART_ID1x55>
+    <T_MASTER_DAT.PART_ID2x55>123456789</T_MASTER_DAT.PART_ID2x55>
+    <T_MASTER_DAT.PART_ID3x55>123456789</T_MASTER_DAT.PART_ID3x55>
+    <T_MASTER_DAT.PART_ID4x55>123456789</T_MASTER_DAT.PART_ID4x55>
+    <T_MASTER_DAT.PART_ID5x55>123456789</T_MASTER_DAT.PART_ID5x55>
+    <T_MASTER_DAT.PART_ID6x55>123456789</T_MASTER_DAT.PART_ID6x55>
+    <T_MASTER_DAT.PART_ID7x55>123456789</T_MASTER_DAT.PART_ID7x55>
+    <T_MASTER_DAT.PART_ID8x55>123456789</T_MASTER_DAT.PART_ID8x55>
+    <T_MASTER_DAT.PART_ID9x55>123456789</T_MASTER_DAT.PART_ID9x55>
+    <T_MASTER_DAT.PART_ID10x55>123456789</T_MASTER_DAT.PART_ID10x55>
+    <T_MASTER_DAT.PART_ID11x55>123456789</T_MASTER_DAT.PART_ID11x55>
+    <T_MASTER_DAT.PART_ID12x55>123456789</T_MASTER_DAT.PART_ID12x55>
+    <T_MASTER_DAT.PART_ID13x55>123456789</T_MASTER_DAT.PART_ID13x55>
+    <T_MASTER_DAT.PART_ID14x55>123456789</T_MASTER_DAT.PART_ID14x55>
+    <T_MASTER_DAT.PART_ID15x55>123456789</T_MASTER_DAT.PART_ID15x55>
+    <T_MASTER_DAT.PART_ID16x55>123456789</T_MASTER_DAT.PART_ID16x55>
+    <T_MASTER_DAT.PART_ID17x55>123456789</T_MASTER_DAT.PART_ID17x55>
+    <T_MASTER_DAT.PART_ID18x55>123456789</T_MASTER_DAT.PART_ID18x55>
+    <T_MASTER_DAT.PART_ID19x55>123456789</T_MASTER_DAT.PART_ID19x55>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x56>123456789</T_MASTER_DAT.PART_ID0x56>
+    <T_MASTER_DAT.PART_ID1x56>123456789</T_MASTER_DAT.PART_ID1x56>
+    <T_MASTER_DAT.PART_ID2x56>123456789</T_MASTER_DAT.PART_ID2x56>
+    <T_MASTER_DAT.PART_ID3x56>123456789</T_MASTER_DAT.PART_ID3x56>
+    <T_MASTER_DAT.PART_ID4x56>123456789</T_MASTER_DAT.PART_ID4x56>
+    <T_MASTER_DAT.PART_ID5x56>123456789</T_MASTER_DAT.PART_ID5x56>
+    <T_MASTER_DAT.PART_ID6x56>123456789</T_MASTER_DAT.PART_ID6x56>
+    <T_MASTER_DAT.PART_ID7x56>123456789</T_MASTER_DAT.PART_ID7x56>
+    <T_MASTER_DAT.PART_ID8x56>123456789</T_MASTER_DAT.PART_ID8x56>
+    <T_MASTER_DAT.PART_ID9x56>123456789</T_MASTER_DAT.PART_ID9x56>
+    <T_MASTER_DAT.PART_ID10x56>123456789</T_MASTER_DAT.PART_ID10x56>
+    <T_MASTER_DAT.PART_ID11x56>123456789</T_MASTER_DAT.PART_ID11x56>
+    <T_MASTER_DAT.PART_ID12x56>123456789</T_MASTER_DAT.PART_ID12x56>
+    <T_MASTER_DAT.PART_ID13x56>123456789</T_MASTER_DAT.PART_ID13x56>
+    <T_MASTER_DAT.PART_ID14x56>123456789</T_MASTER_DAT.PART_ID14x56>
+    <T_MASTER_DAT.PART_ID15x56>123456789</T_MASTER_DAT.PART_ID15x56>
+    <T_MASTER_DAT.PART_ID16x56>123456789</T_MASTER_DAT.PART_ID16x56>
+    <T_MASTER_DAT.PART_ID17x56>123456789</T_MASTER_DAT.PART_ID17x56>
+    <T_MASTER_DAT.PART_ID18x56>123456789</T_MASTER_DAT.PART_ID18x56>
+    <T_MASTER_DAT.PART_ID19x56>123456789</T_MASTER_DAT.PART_ID19x56>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x57>123456789</T_MASTER_DAT.PART_ID0x57>
+    <T_MASTER_DAT.PART_ID1x57>123456789</T_MASTER_DAT.PART_ID1x57>
+    <T_MASTER_DAT.PART_ID2x57>123456789</T_MASTER_DAT.PART_ID2x57>
+    <T_MASTER_DAT.PART_ID3x57>123456789</T_MASTER_DAT.PART_ID3x57>
+    <T_MASTER_DAT.PART_ID4x57>123456789</T_MASTER_DAT.PART_ID4x57>
+    <T_MASTER_DAT.PART_ID5x57>123456789</T_MASTER_DAT.PART_ID5x57>
+    <T_MASTER_DAT.PART_ID6x57>123456789</T_MASTER_DAT.PART_ID6x57>
+    <T_MASTER_DAT.PART_ID7x57>123456789</T_MASTER_DAT.PART_ID7x57>
+    <T_MASTER_DAT.PART_ID8x57>123456789</T_MASTER_DAT.PART_ID8x57>
+    <T_MASTER_DAT.PART_ID9x57>123456789</T_MASTER_DAT.PART_ID9x57>
+    <T_MASTER_DAT.PART_ID10x57>123456789</T_MASTER_DAT.PART_ID10x57>
+    <T_MASTER_DAT.PART_ID11x57>123456789</T_MASTER_DAT.PART_ID11x57>
+    <T_MASTER_DAT.PART_ID12x57>123456789</T_MASTER_DAT.PART_ID12x57>
+    <T_MASTER_DAT.PART_ID13x57>123456789</T_MASTER_DAT.PART_ID13x57>
+    <T_MASTER_DAT.PART_ID14x57>123456789</T_MASTER_DAT.PART_ID14x57>
+    <T_MASTER_DAT.PART_ID15x57>123456789</T_MASTER_DAT.PART_ID15x57>
+    <T_MASTER_DAT.PART_ID16x57>123456789</T_MASTER_DAT.PART_ID16x57>
+    <T_MASTER_DAT.PART_ID17x57>123456789</T_MASTER_DAT.PART_ID17x57>
+    <T_MASTER_DAT.PART_ID18x57>123456789</T_MASTER_DAT.PART_ID18x57>
+    <T_MASTER_DAT.PART_ID19x57>123456789</T_MASTER_DAT.PART_ID19x57>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x58>123456789</T_MASTER_DAT.PART_ID0x58>
+    <T_MASTER_DAT.PART_ID1x58>123456789</T_MASTER_DAT.PART_ID1x58>
+    <T_MASTER_DAT.PART_ID2x58>123456789</T_MASTER_DAT.PART_ID2x58>
+    <T_MASTER_DAT.PART_ID3x58>123456789</T_MASTER_DAT.PART_ID3x58>
+    <T_MASTER_DAT.PART_ID4x58>123456789</T_MASTER_DAT.PART_ID4x58>
+    <T_MASTER_DAT.PART_ID5x58>123456789</T_MASTER_DAT.PART_ID5x58>
+    <T_MASTER_DAT.PART_ID6x58>123456789</T_MASTER_DAT.PART_ID6x58>
+    <T_MASTER_DAT.PART_ID7x58>123456789</T_MASTER_DAT.PART_ID7x58>
+    <T_MASTER_DAT.PART_ID8x58>123456789</T_MASTER_DAT.PART_ID8x58>
+    <T_MASTER_DAT.PART_ID9x58>123456789</T_MASTER_DAT.PART_ID9x58>
+    <T_MASTER_DAT.PART_ID10x58>123456789</T_MASTER_DAT.PART_ID10x58>
+    <T_MASTER_DAT.PART_ID11x58>123456789</T_MASTER_DAT.PART_ID11x58>
+    <T_MASTER_DAT.PART_ID12x58>123456789</T_MASTER_DAT.PART_ID12x58>
+    <T_MASTER_DAT.PART_ID13x58>123456789</T_MASTER_DAT.PART_ID13x58>
+    <T_MASTER_DAT.PART_ID14x58>123456789</T_MASTER_DAT.PART_ID14x58>
+    <T_MASTER_DAT.PART_ID15x58>123456789</T_MASTER_DAT.PART_ID15x58>
+    <T_MASTER_DAT.PART_ID16x58>123456789</T_MASTER_DAT.PART_ID16x58>
+    <T_MASTER_DAT.PART_ID17x58>123456789</T_MASTER_DAT.PART_ID17x58>
+    <T_MASTER_DAT.PART_ID18x58>123456789</T_MASTER_DAT.PART_ID18x58>
+    <T_MASTER_DAT.PART_ID19x58>123456789</T_MASTER_DAT.PART_ID19x58>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x59>123456789</T_MASTER_DAT.PART_ID0x59>
+    <T_MASTER_DAT.PART_ID1x59>123456789</T_MASTER_DAT.PART_ID1x59>
+    <T_MASTER_DAT.PART_ID2x59>123456789</T_MASTER_DAT.PART_ID2x59>
+    <T_MASTER_DAT.PART_ID3x59>123456789</T_MASTER_DAT.PART_ID3x59>
+    <T_MASTER_DAT.PART_ID4x59>123456789</T_MASTER_DAT.PART_ID4x59>
+    <T_MASTER_DAT.PART_ID5x59>123456789</T_MASTER_DAT.PART_ID5x59>
+    <T_MASTER_DAT.PART_ID6x59>123456789</T_MASTER_DAT.PART_ID6x59>
+    <T_MASTER_DAT.PART_ID7x59>123456789</T_MASTER_DAT.PART_ID7x59>
+    <T_MASTER_DAT.PART_ID8x59>123456789</T_MASTER_DAT.PART_ID8x59>
+    <T_MASTER_DAT.PART_ID9x59>123456789</T_MASTER_DAT.PART_ID9x59>
+    <T_MASTER_DAT.PART_ID10x59>123456789</T_MASTER_DAT.PART_ID10x59>
+    <T_MASTER_DAT.PART_ID11x59>123456789</T_MASTER_DAT.PART_ID11x59>
+    <T_MASTER_DAT.PART_ID12x59>123456789</T_MASTER_DAT.PART_ID12x59>
+    <T_MASTER_DAT.PART_ID13x59>123456789</T_MASTER_DAT.PART_ID13x59>
+    <T_MASTER_DAT.PART_ID14x59>123456789</T_MASTER_DAT.PART_ID14x59>
+    <T_MASTER_DAT.PART_ID15x59>123456789</T_MASTER_DAT.PART_ID15x59>
+    <T_MASTER_DAT.PART_ID16x59>123456789</T_MASTER_DAT.PART_ID16x59>
+    <T_MASTER_DAT.PART_ID17x59>123456789</T_MASTER_DAT.PART_ID17x59>
+    <T_MASTER_DAT.PART_ID18x59>123456789</T_MASTER_DAT.PART_ID18x59>
+    <T_MASTER_DAT.PART_ID19x59>123456789</T_MASTER_DAT.PART_ID19x59>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x60>123456789</T_MASTER_DAT.PART_ID0x60>
+    <T_MASTER_DAT.PART_ID1x60>123456789</T_MASTER_DAT.PART_ID1x60>
+    <T_MASTER_DAT.PART_ID2x60>123456789</T_MASTER_DAT.PART_ID2x60>
+    <T_MASTER_DAT.PART_ID3x60>123456789</T_MASTER_DAT.PART_ID3x60>
+    <T_MASTER_DAT.PART_ID4x60>123456789</T_MASTER_DAT.PART_ID4x60>
+    <T_MASTER_DAT.PART_ID5x60>123456789</T_MASTER_DAT.PART_ID5x60>
+    <T_MASTER_DAT.PART_ID6x60>123456789</T_MASTER_DAT.PART_ID6x60>
+    <T_MASTER_DAT.PART_ID7x60>123456789</T_MASTER_DAT.PART_ID7x60>
+    <T_MASTER_DAT.PART_ID8x60>123456789</T_MASTER_DAT.PART_ID8x60>
+    <T_MASTER_DAT.PART_ID9x60>123456789</T_MASTER_DAT.PART_ID9x60>
+    <T_MASTER_DAT.PART_ID10x60>123456789</T_MASTER_DAT.PART_ID10x60>
+    <T_MASTER_DAT.PART_ID11x60>123456789</T_MASTER_DAT.PART_ID11x60>
+    <T_MASTER_DAT.PART_ID12x60>123456789</T_MASTER_DAT.PART_ID12x60>
+    <T_MASTER_DAT.PART_ID13x60>123456789</T_MASTER_DAT.PART_ID13x60>
+    <T_MASTER_DAT.PART_ID14x60>123456789</T_MASTER_DAT.PART_ID14x60>
+    <T_MASTER_DAT.PART_ID15x60>123456789</T_MASTER_DAT.PART_ID15x60>
+    <T_MASTER_DAT.PART_ID16x60>123456789</T_MASTER_DAT.PART_ID16x60>
+    <T_MASTER_DAT.PART_ID17x60>123456789</T_MASTER_DAT.PART_ID17x60>
+    <T_MASTER_DAT.PART_ID18x60>123456789</T_MASTER_DAT.PART_ID18x60>
+    <T_MASTER_DAT.PART_ID19x60>123456789</T_MASTER_DAT.PART_ID19x60>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x61>123456789</T_MASTER_DAT.PART_ID0x61>
+    <T_MASTER_DAT.PART_ID1x61>123456789</T_MASTER_DAT.PART_ID1x61>
+    <T_MASTER_DAT.PART_ID2x61>123456789</T_MASTER_DAT.PART_ID2x61>
+    <T_MASTER_DAT.PART_ID3x61>123456789</T_MASTER_DAT.PART_ID3x61>
+    <T_MASTER_DAT.PART_ID4x61>123456789</T_MASTER_DAT.PART_ID4x61>
+    <T_MASTER_DAT.PART_ID5x61>123456789</T_MASTER_DAT.PART_ID5x61>
+    <T_MASTER_DAT.PART_ID6x61>123456789</T_MASTER_DAT.PART_ID6x61>
+    <T_MASTER_DAT.PART_ID7x61>123456789</T_MASTER_DAT.PART_ID7x61>
+    <T_MASTER_DAT.PART_ID8x61>123456789</T_MASTER_DAT.PART_ID8x61>
+    <T_MASTER_DAT.PART_ID9x61>123456789</T_MASTER_DAT.PART_ID9x61>
+    <T_MASTER_DAT.PART_ID10x61>123456789</T_MASTER_DAT.PART_ID10x61>
+    <T_MASTER_DAT.PART_ID11x61>123456789</T_MASTER_DAT.PART_ID11x61>
+    <T_MASTER_DAT.PART_ID12x61>123456789</T_MASTER_DAT.PART_ID12x61>
+    <T_MASTER_DAT.PART_ID13x61>123456789</T_MASTER_DAT.PART_ID13x61>
+    <T_MASTER_DAT.PART_ID14x61>123456789</T_MASTER_DAT.PART_ID14x61>
+    <T_MASTER_DAT.PART_ID15x61>123456789</T_MASTER_DAT.PART_ID15x61>
+    <T_MASTER_DAT.PART_ID16x61>123456789</T_MASTER_DAT.PART_ID16x61>
+    <T_MASTER_DAT.PART_ID17x61>123456789</T_MASTER_DAT.PART_ID17x61>
+    <T_MASTER_DAT.PART_ID18x61>123456789</T_MASTER_DAT.PART_ID18x61>
+    <T_MASTER_DAT.PART_ID19x61>123456789</T_MASTER_DAT.PART_ID19x61>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x62>123456789</T_MASTER_DAT.PART_ID0x62>
+    <T_MASTER_DAT.PART_ID1x62>123456789</T_MASTER_DAT.PART_ID1x62>
+    <T_MASTER_DAT.PART_ID2x62>123456789</T_MASTER_DAT.PART_ID2x62>
+    <T_MASTER_DAT.PART_ID3x62>123456789</T_MASTER_DAT.PART_ID3x62>
+    <T_MASTER_DAT.PART_ID4x62>123456789</T_MASTER_DAT.PART_ID4x62>
+    <T_MASTER_DAT.PART_ID5x62>123456789</T_MASTER_DAT.PART_ID5x62>
+    <T_MASTER_DAT.PART_ID6x62>123456789</T_MASTER_DAT.PART_ID6x62>
+    <T_MASTER_DAT.PART_ID7x62>123456789</T_MASTER_DAT.PART_ID7x62>
+    <T_MASTER_DAT.PART_ID8x62>123456789</T_MASTER_DAT.PART_ID8x62>
+    <T_MASTER_DAT.PART_ID9x62>123456789</T_MASTER_DAT.PART_ID9x62>
+    <T_MASTER_DAT.PART_ID10x62>123456789</T_MASTER_DAT.PART_ID10x62>
+    <T_MASTER_DAT.PART_ID11x62>123456789</T_MASTER_DAT.PART_ID11x62>
+    <T_MASTER_DAT.PART_ID12x62>123456789</T_MASTER_DAT.PART_ID12x62>
+    <T_MASTER_DAT.PART_ID13x62>123456789</T_MASTER_DAT.PART_ID13x62>
+    <T_MASTER_DAT.PART_ID14x62>123456789</T_MASTER_DAT.PART_ID14x62>
+    <T_MASTER_DAT.PART_ID15x62>123456789</T_MASTER_DAT.PART_ID15x62>
+    <T_MASTER_DAT.PART_ID16x62>123456789</T_MASTER_DAT.PART_ID16x62>
+    <T_MASTER_DAT.PART_ID17x62>123456789</T_MASTER_DAT.PART_ID17x62>
+    <T_MASTER_DAT.PART_ID18x62>123456789</T_MASTER_DAT.PART_ID18x62>
+    <T_MASTER_DAT.PART_ID19x62>123456789</T_MASTER_DAT.PART_ID19x62>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x63>123456789</T_MASTER_DAT.PART_ID0x63>
+    <T_MASTER_DAT.PART_ID1x63>123456789</T_MASTER_DAT.PART_ID1x63>
+    <T_MASTER_DAT.PART_ID2x63>123456789</T_MASTER_DAT.PART_ID2x63>
+    <T_MASTER_DAT.PART_ID3x63>123456789</T_MASTER_DAT.PART_ID3x63>
+    <T_MASTER_DAT.PART_ID4x63>123456789</T_MASTER_DAT.PART_ID4x63>
+    <T_MASTER_DAT.PART_ID5x63>123456789</T_MASTER_DAT.PART_ID5x63>
+    <T_MASTER_DAT.PART_ID6x63>123456789</T_MASTER_DAT.PART_ID6x63>
+    <T_MASTER_DAT.PART_ID7x63>123456789</T_MASTER_DAT.PART_ID7x63>
+    <T_MASTER_DAT.PART_ID8x63>123456789</T_MASTER_DAT.PART_ID8x63>
+    <T_MASTER_DAT.PART_ID9x63>123456789</T_MASTER_DAT.PART_ID9x63>
+    <T_MASTER_DAT.PART_ID10x63>123456789</T_MASTER_DAT.PART_ID10x63>
+    <T_MASTER_DAT.PART_ID11x63>123456789</T_MASTER_DAT.PART_ID11x63>
+    <T_MASTER_DAT.PART_ID12x63>123456789</T_MASTER_DAT.PART_ID12x63>
+    <T_MASTER_DAT.PART_ID13x63>123456789</T_MASTER_DAT.PART_ID13x63>
+    <T_MASTER_DAT.PART_ID14x63>123456789</T_MASTER_DAT.PART_ID14x63>
+    <T_MASTER_DAT.PART_ID15x63>123456789</T_MASTER_DAT.PART_ID15x63>
+    <T_MASTER_DAT.PART_ID16x63>123456789</T_MASTER_DAT.PART_ID16x63>
+    <T_MASTER_DAT.PART_ID17x63>123456789</T_MASTER_DAT.PART_ID17x63>
+    <T_MASTER_DAT.PART_ID18x63>123456789</T_MASTER_DAT.PART_ID18x63>
+    <T_MASTER_DAT.PART_ID19x63>123456789</T_MASTER_DAT.PART_ID19x63>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x64>123456789</T_MASTER_DAT.PART_ID0x64>
+    <T_MASTER_DAT.PART_ID1x64>123456789</T_MASTER_DAT.PART_ID1x64>
+    <T_MASTER_DAT.PART_ID2x64>123456789</T_MASTER_DAT.PART_ID2x64>
+    <T_MASTER_DAT.PART_ID3x64>123456789</T_MASTER_DAT.PART_ID3x64>
+    <T_MASTER_DAT.PART_ID4x64>123456789</T_MASTER_DAT.PART_ID4x64>
+    <T_MASTER_DAT.PART_ID5x64>123456789</T_MASTER_DAT.PART_ID5x64>
+    <T_MASTER_DAT.PART_ID6x64>123456789</T_MASTER_DAT.PART_ID6x64>
+    <T_MASTER_DAT.PART_ID7x64>123456789</T_MASTER_DAT.PART_ID7x64>
+    <T_MASTER_DAT.PART_ID8x64>123456789</T_MASTER_DAT.PART_ID8x64>
+    <T_MASTER_DAT.PART_ID9x64>123456789</T_MASTER_DAT.PART_ID9x64>
+    <T_MASTER_DAT.PART_ID10x64>123456789</T_MASTER_DAT.PART_ID10x64>
+    <T_MASTER_DAT.PART_ID11x64>123456789</T_MASTER_DAT.PART_ID11x64>
+    <T_MASTER_DAT.PART_ID12x64>123456789</T_MASTER_DAT.PART_ID12x64>
+    <T_MASTER_DAT.PART_ID13x64>123456789</T_MASTER_DAT.PART_ID13x64>
+    <T_MASTER_DAT.PART_ID14x64>123456789</T_MASTER_DAT.PART_ID14x64>
+    <T_MASTER_DAT.PART_ID15x64>123456789</T_MASTER_DAT.PART_ID15x64>
+    <T_MASTER_DAT.PART_ID16x64>123456789</T_MASTER_DAT.PART_ID16x64>
+    <T_MASTER_DAT.PART_ID17x64>123456789</T_MASTER_DAT.PART_ID17x64>
+    <T_MASTER_DAT.PART_ID18x64>123456789</T_MASTER_DAT.PART_ID18x64>
+    <T_MASTER_DAT.PART_ID19x64>123456789</T_MASTER_DAT.PART_ID19x64>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x65>123456789</T_MASTER_DAT.PART_ID0x65>
+    <T_MASTER_DAT.PART_ID1x65>123456789</T_MASTER_DAT.PART_ID1x65>
+    <T_MASTER_DAT.PART_ID2x65>123456789</T_MASTER_DAT.PART_ID2x65>
+    <T_MASTER_DAT.PART_ID3x65>123456789</T_MASTER_DAT.PART_ID3x65>
+    <T_MASTER_DAT.PART_ID4x65>123456789</T_MASTER_DAT.PART_ID4x65>
+    <T_MASTER_DAT.PART_ID5x65>123456789</T_MASTER_DAT.PART_ID5x65>
+    <T_MASTER_DAT.PART_ID6x65>123456789</T_MASTER_DAT.PART_ID6x65>
+    <T_MASTER_DAT.PART_ID7x65>123456789</T_MASTER_DAT.PART_ID7x65>
+    <T_MASTER_DAT.PART_ID8x65>123456789</T_MASTER_DAT.PART_ID8x65>
+    <T_MASTER_DAT.PART_ID9x65>123456789</T_MASTER_DAT.PART_ID9x65>
+    <T_MASTER_DAT.PART_ID10x65>123456789</T_MASTER_DAT.PART_ID10x65>
+    <T_MASTER_DAT.PART_ID11x65>123456789</T_MASTER_DAT.PART_ID11x65>
+    <T_MASTER_DAT.PART_ID12x65>123456789</T_MASTER_DAT.PART_ID12x65>
+    <T_MASTER_DAT.PART_ID13x65>123456789</T_MASTER_DAT.PART_ID13x65>
+    <T_MASTER_DAT.PART_ID14x65>123456789</T_MASTER_DAT.PART_ID14x65>
+    <T_MASTER_DAT.PART_ID15x65>123456789</T_MASTER_DAT.PART_ID15x65>
+    <T_MASTER_DAT.PART_ID16x65>123456789</T_MASTER_DAT.PART_ID16x65>
+    <T_MASTER_DAT.PART_ID17x65>123456789</T_MASTER_DAT.PART_ID17x65>
+    <T_MASTER_DAT.PART_ID18x65>123456789</T_MASTER_DAT.PART_ID18x65>
+    <T_MASTER_DAT.PART_ID19x65>123456789</T_MASTER_DAT.PART_ID19x65>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x66>123456789</T_MASTER_DAT.PART_ID0x66>
+    <T_MASTER_DAT.PART_ID1x66>123456789</T_MASTER_DAT.PART_ID1x66>
+    <T_MASTER_DAT.PART_ID2x66>123456789</T_MASTER_DAT.PART_ID2x66>
+    <T_MASTER_DAT.PART_ID3x66>123456789</T_MASTER_DAT.PART_ID3x66>
+    <T_MASTER_DAT.PART_ID4x66>123456789</T_MASTER_DAT.PART_ID4x66>
+    <T_MASTER_DAT.PART_ID5x66>123456789</T_MASTER_DAT.PART_ID5x66>
+    <T_MASTER_DAT.PART_ID6x66>123456789</T_MASTER_DAT.PART_ID6x66>
+    <T_MASTER_DAT.PART_ID7x66>123456789</T_MASTER_DAT.PART_ID7x66>
+    <T_MASTER_DAT.PART_ID8x66>123456789</T_MASTER_DAT.PART_ID8x66>
+    <T_MASTER_DAT.PART_ID9x66>123456789</T_MASTER_DAT.PART_ID9x66>
+    <T_MASTER_DAT.PART_ID10x66>123456789</T_MASTER_DAT.PART_ID10x66>
+    <T_MASTER_DAT.PART_ID11x66>123456789</T_MASTER_DAT.PART_ID11x66>
+    <T_MASTER_DAT.PART_ID12x66>123456789</T_MASTER_DAT.PART_ID12x66>
+    <T_MASTER_DAT.PART_ID13x66>123456789</T_MASTER_DAT.PART_ID13x66>
+    <T_MASTER_DAT.PART_ID14x66>123456789</T_MASTER_DAT.PART_ID14x66>
+    <T_MASTER_DAT.PART_ID15x66>123456789</T_MASTER_DAT.PART_ID15x66>
+    <T_MASTER_DAT.PART_ID16x66>123456789</T_MASTER_DAT.PART_ID16x66>
+    <T_MASTER_DAT.PART_ID17x66>123456789</T_MASTER_DAT.PART_ID17x66>
+    <T_MASTER_DAT.PART_ID18x66>123456789</T_MASTER_DAT.PART_ID18x66>
+    <T_MASTER_DAT.PART_ID19x66>123456789</T_MASTER_DAT.PART_ID19x66>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x67>123456789</T_MASTER_DAT.PART_ID0x67>
+    <T_MASTER_DAT.PART_ID1x67>123456789</T_MASTER_DAT.PART_ID1x67>
+    <T_MASTER_DAT.PART_ID2x67>123456789</T_MASTER_DAT.PART_ID2x67>
+    <T_MASTER_DAT.PART_ID3x67>123456789</T_MASTER_DAT.PART_ID3x67>
+    <T_MASTER_DAT.PART_ID4x67>123456789</T_MASTER_DAT.PART_ID4x67>
+    <T_MASTER_DAT.PART_ID5x67>123456789</T_MASTER_DAT.PART_ID5x67>
+    <T_MASTER_DAT.PART_ID6x67>123456789</T_MASTER_DAT.PART_ID6x67>
+    <T_MASTER_DAT.PART_ID7x67>123456789</T_MASTER_DAT.PART_ID7x67>
+    <T_MASTER_DAT.PART_ID8x67>123456789</T_MASTER_DAT.PART_ID8x67>
+    <T_MASTER_DAT.PART_ID9x67>123456789</T_MASTER_DAT.PART_ID9x67>
+    <T_MASTER_DAT.PART_ID10x67>123456789</T_MASTER_DAT.PART_ID10x67>
+    <T_MASTER_DAT.PART_ID11x67>123456789</T_MASTER_DAT.PART_ID11x67>
+    <T_MASTER_DAT.PART_ID12x67>123456789</T_MASTER_DAT.PART_ID12x67>
+    <T_MASTER_DAT.PART_ID13x67>123456789</T_MASTER_DAT.PART_ID13x67>
+    <T_MASTER_DAT.PART_ID14x67>123456789</T_MASTER_DAT.PART_ID14x67>
+    <T_MASTER_DAT.PART_ID15x67>123456789</T_MASTER_DAT.PART_ID15x67>
+    <T_MASTER_DAT.PART_ID16x67>123456789</T_MASTER_DAT.PART_ID16x67>
+    <T_MASTER_DAT.PART_ID17x67>123456789</T_MASTER_DAT.PART_ID17x67>
+    <T_MASTER_DAT.PART_ID18x67>123456789</T_MASTER_DAT.PART_ID18x67>
+    <T_MASTER_DAT.PART_ID19x67>123456789</T_MASTER_DAT.PART_ID19x67>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x68>123456789</T_MASTER_DAT.PART_ID0x68>
+    <T_MASTER_DAT.PART_ID1x68>123456789</T_MASTER_DAT.PART_ID1x68>
+    <T_MASTER_DAT.PART_ID2x68>123456789</T_MASTER_DAT.PART_ID2x68>
+    <T_MASTER_DAT.PART_ID3x68>123456789</T_MASTER_DAT.PART_ID3x68>
+    <T_MASTER_DAT.PART_ID4x68>123456789</T_MASTER_DAT.PART_ID4x68>
+    <T_MASTER_DAT.PART_ID5x68>123456789</T_MASTER_DAT.PART_ID5x68>
+    <T_MASTER_DAT.PART_ID6x68>123456789</T_MASTER_DAT.PART_ID6x68>
+    <T_MASTER_DAT.PART_ID7x68>123456789</T_MASTER_DAT.PART_ID7x68>
+    <T_MASTER_DAT.PART_ID8x68>123456789</T_MASTER_DAT.PART_ID8x68>
+    <T_MASTER_DAT.PART_ID9x68>123456789</T_MASTER_DAT.PART_ID9x68>
+    <T_MASTER_DAT.PART_ID10x68>123456789</T_MASTER_DAT.PART_ID10x68>
+    <T_MASTER_DAT.PART_ID11x68>123456789</T_MASTER_DAT.PART_ID11x68>
+    <T_MASTER_DAT.PART_ID12x68>123456789</T_MASTER_DAT.PART_ID12x68>
+    <T_MASTER_DAT.PART_ID13x68>123456789</T_MASTER_DAT.PART_ID13x68>
+    <T_MASTER_DAT.PART_ID14x68>123456789</T_MASTER_DAT.PART_ID14x68>
+    <T_MASTER_DAT.PART_ID15x68>123456789</T_MASTER_DAT.PART_ID15x68>
+    <T_MASTER_DAT.PART_ID16x68>123456789</T_MASTER_DAT.PART_ID16x68>
+    <T_MASTER_DAT.PART_ID17x68>123456789</T_MASTER_DAT.PART_ID17x68>
+    <T_MASTER_DAT.PART_ID18x68>123456789</T_MASTER_DAT.PART_ID18x68>
+    <T_MASTER_DAT.PART_ID19x68>123456789</T_MASTER_DAT.PART_ID19x68>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x69>123456789</T_MASTER_DAT.PART_ID0x69>
+    <T_MASTER_DAT.PART_ID1x69>123456789</T_MASTER_DAT.PART_ID1x69>
+    <T_MASTER_DAT.PART_ID2x69>123456789</T_MASTER_DAT.PART_ID2x69>
+    <T_MASTER_DAT.PART_ID3x69>123456789</T_MASTER_DAT.PART_ID3x69>
+    <T_MASTER_DAT.PART_ID4x69>123456789</T_MASTER_DAT.PART_ID4x69>
+    <T_MASTER_DAT.PART_ID5x69>123456789</T_MASTER_DAT.PART_ID5x69>
+    <T_MASTER_DAT.PART_ID6x69>123456789</T_MASTER_DAT.PART_ID6x69>
+    <T_MASTER_DAT.PART_ID7x69>123456789</T_MASTER_DAT.PART_ID7x69>
+    <T_MASTER_DAT.PART_ID8x69>123456789</T_MASTER_DAT.PART_ID8x69>
+    <T_MASTER_DAT.PART_ID9x69>123456789</T_MASTER_DAT.PART_ID9x69>
+    <T_MASTER_DAT.PART_ID10x69>123456789</T_MASTER_DAT.PART_ID10x69>
+    <T_MASTER_DAT.PART_ID11x69>123456789</T_MASTER_DAT.PART_ID11x69>
+    <T_MASTER_DAT.PART_ID12x69>123456789</T_MASTER_DAT.PART_ID12x69>
+    <T_MASTER_DAT.PART_ID13x69>123456789</T_MASTER_DAT.PART_ID13x69>
+    <T_MASTER_DAT.PART_ID14x69>123456789</T_MASTER_DAT.PART_ID14x69>
+    <T_MASTER_DAT.PART_ID15x69>123456789</T_MASTER_DAT.PART_ID15x69>
+    <T_MASTER_DAT.PART_ID16x69>123456789</T_MASTER_DAT.PART_ID16x69>
+    <T_MASTER_DAT.PART_ID17x69>123456789</T_MASTER_DAT.PART_ID17x69>
+    <T_MASTER_DAT.PART_ID18x69>123456789</T_MASTER_DAT.PART_ID18x69>
+    <T_MASTER_DAT.PART_ID19x69>123456789</T_MASTER_DAT.PART_ID19x69>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x70>123456789</T_MASTER_DAT.PART_ID0x70>
+    <T_MASTER_DAT.PART_ID1x70>123456789</T_MASTER_DAT.PART_ID1x70>
+    <T_MASTER_DAT.PART_ID2x70>123456789</T_MASTER_DAT.PART_ID2x70>
+    <T_MASTER_DAT.PART_ID3x70>123456789</T_MASTER_DAT.PART_ID3x70>
+    <T_MASTER_DAT.PART_ID4x70>123456789</T_MASTER_DAT.PART_ID4x70>
+    <T_MASTER_DAT.PART_ID5x70>123456789</T_MASTER_DAT.PART_ID5x70>
+    <T_MASTER_DAT.PART_ID6x70>123456789</T_MASTER_DAT.PART_ID6x70>
+    <T_MASTER_DAT.PART_ID7x70>123456789</T_MASTER_DAT.PART_ID7x70>
+    <T_MASTER_DAT.PART_ID8x70>123456789</T_MASTER_DAT.PART_ID8x70>
+    <T_MASTER_DAT.PART_ID9x70>123456789</T_MASTER_DAT.PART_ID9x70>
+    <T_MASTER_DAT.PART_ID10x70>123456789</T_MASTER_DAT.PART_ID10x70>
+    <T_MASTER_DAT.PART_ID11x70>123456789</T_MASTER_DAT.PART_ID11x70>
+    <T_MASTER_DAT.PART_ID12x70>123456789</T_MASTER_DAT.PART_ID12x70>
+    <T_MASTER_DAT.PART_ID13x70>123456789</T_MASTER_DAT.PART_ID13x70>
+    <T_MASTER_DAT.PART_ID14x70>123456789</T_MASTER_DAT.PART_ID14x70>
+    <T_MASTER_DAT.PART_ID15x70>123456789</T_MASTER_DAT.PART_ID15x70>
+    <T_MASTER_DAT.PART_ID16x70>123456789</T_MASTER_DAT.PART_ID16x70>
+    <T_MASTER_DAT.PART_ID17x70>123456789</T_MASTER_DAT.PART_ID17x70>
+    <T_MASTER_DAT.PART_ID18x70>123456789</T_MASTER_DAT.PART_ID18x70>
+    <T_MASTER_DAT.PART_ID19x70>123456789</T_MASTER_DAT.PART_ID19x70>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x71>123456789</T_MASTER_DAT.PART_ID0x71>
+    <T_MASTER_DAT.PART_ID1x71>123456789</T_MASTER_DAT.PART_ID1x71>
+    <T_MASTER_DAT.PART_ID2x71>123456789</T_MASTER_DAT.PART_ID2x71>
+    <T_MASTER_DAT.PART_ID3x71>123456789</T_MASTER_DAT.PART_ID3x71>
+    <T_MASTER_DAT.PART_ID4x71>123456789</T_MASTER_DAT.PART_ID4x71>
+    <T_MASTER_DAT.PART_ID5x71>123456789</T_MASTER_DAT.PART_ID5x71>
+    <T_MASTER_DAT.PART_ID6x71>123456789</T_MASTER_DAT.PART_ID6x71>
+    <T_MASTER_DAT.PART_ID7x71>123456789</T_MASTER_DAT.PART_ID7x71>
+    <T_MASTER_DAT.PART_ID8x71>123456789</T_MASTER_DAT.PART_ID8x71>
+    <T_MASTER_DAT.PART_ID9x71>123456789</T_MASTER_DAT.PART_ID9x71>
+    <T_MASTER_DAT.PART_ID10x71>123456789</T_MASTER_DAT.PART_ID10x71>
+    <T_MASTER_DAT.PART_ID11x71>123456789</T_MASTER_DAT.PART_ID11x71>
+    <T_MASTER_DAT.PART_ID12x71>123456789</T_MASTER_DAT.PART_ID12x71>
+    <T_MASTER_DAT.PART_ID13x71>123456789</T_MASTER_DAT.PART_ID13x71>
+    <T_MASTER_DAT.PART_ID14x71>123456789</T_MASTER_DAT.PART_ID14x71>
+    <T_MASTER_DAT.PART_ID15x71>123456789</T_MASTER_DAT.PART_ID15x71>
+    <T_MASTER_DAT.PART_ID16x71>123456789</T_MASTER_DAT.PART_ID16x71>
+    <T_MASTER_DAT.PART_ID17x71>123456789</T_MASTER_DAT.PART_ID17x71>
+    <T_MASTER_DAT.PART_ID18x71>123456789</T_MASTER_DAT.PART_ID18x71>
+    <T_MASTER_DAT.PART_ID19x71>123456789</T_MASTER_DAT.PART_ID19x71>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x72>123456789</T_MASTER_DAT.PART_ID0x72>
+    <T_MASTER_DAT.PART_ID1x72>123456789</T_MASTER_DAT.PART_ID1x72>
+    <T_MASTER_DAT.PART_ID2x72>123456789</T_MASTER_DAT.PART_ID2x72>
+    <T_MASTER_DAT.PART_ID3x72>123456789</T_MASTER_DAT.PART_ID3x72>
+    <T_MASTER_DAT.PART_ID4x72>123456789</T_MASTER_DAT.PART_ID4x72>
+    <T_MASTER_DAT.PART_ID5x72>123456789</T_MASTER_DAT.PART_ID5x72>
+    <T_MASTER_DAT.PART_ID6x72>123456789</T_MASTER_DAT.PART_ID6x72>
+    <T_MASTER_DAT.PART_ID7x72>123456789</T_MASTER_DAT.PART_ID7x72>
+    <T_MASTER_DAT.PART_ID8x72>123456789</T_MASTER_DAT.PART_ID8x72>
+    <T_MASTER_DAT.PART_ID9x72>123456789</T_MASTER_DAT.PART_ID9x72>
+    <T_MASTER_DAT.PART_ID10x72>123456789</T_MASTER_DAT.PART_ID10x72>
+    <T_MASTER_DAT.PART_ID11x72>123456789</T_MASTER_DAT.PART_ID11x72>
+    <T_MASTER_DAT.PART_ID12x72>123456789</T_MASTER_DAT.PART_ID12x72>
+    <T_MASTER_DAT.PART_ID13x72>123456789</T_MASTER_DAT.PART_ID13x72>
+    <T_MASTER_DAT.PART_ID14x72>123456789</T_MASTER_DAT.PART_ID14x72>
+    <T_MASTER_DAT.PART_ID15x72>123456789</T_MASTER_DAT.PART_ID15x72>
+    <T_MASTER_DAT.PART_ID16x72>123456789</T_MASTER_DAT.PART_ID16x72>
+    <T_MASTER_DAT.PART_ID17x72>123456789</T_MASTER_DAT.PART_ID17x72>
+    <T_MASTER_DAT.PART_ID18x72>123456789</T_MASTER_DAT.PART_ID18x72>
+    <T_MASTER_DAT.PART_ID19x72>123456789</T_MASTER_DAT.PART_ID19x72>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x73>123456789</T_MASTER_DAT.PART_ID0x73>
+    <T_MASTER_DAT.PART_ID1x73>123456789</T_MASTER_DAT.PART_ID1x73>
+    <T_MASTER_DAT.PART_ID2x73>123456789</T_MASTER_DAT.PART_ID2x73>
+    <T_MASTER_DAT.PART_ID3x73>123456789</T_MASTER_DAT.PART_ID3x73>
+    <T_MASTER_DAT.PART_ID4x73>123456789</T_MASTER_DAT.PART_ID4x73>
+    <T_MASTER_DAT.PART_ID5x73>123456789</T_MASTER_DAT.PART_ID5x73>
+    <T_MASTER_DAT.PART_ID6x73>123456789</T_MASTER_DAT.PART_ID6x73>
+    <T_MASTER_DAT.PART_ID7x73>123456789</T_MASTER_DAT.PART_ID7x73>
+    <T_MASTER_DAT.PART_ID8x73>123456789</T_MASTER_DAT.PART_ID8x73>
+    <T_MASTER_DAT.PART_ID9x73>123456789</T_MASTER_DAT.PART_ID9x73>
+    <T_MASTER_DAT.PART_ID10x73>123456789</T_MASTER_DAT.PART_ID10x73>
+    <T_MASTER_DAT.PART_ID11x73>123456789</T_MASTER_DAT.PART_ID11x73>
+    <T_MASTER_DAT.PART_ID12x73>123456789</T_MASTER_DAT.PART_ID12x73>
+    <T_MASTER_DAT.PART_ID13x73>123456789</T_MASTER_DAT.PART_ID13x73>
+    <T_MASTER_DAT.PART_ID14x73>123456789</T_MASTER_DAT.PART_ID14x73>
+    <T_MASTER_DAT.PART_ID15x73>123456789</T_MASTER_DAT.PART_ID15x73>
+    <T_MASTER_DAT.PART_ID16x73>123456789</T_MASTER_DAT.PART_ID16x73>
+    <T_MASTER_DAT.PART_ID17x73>123456789</T_MASTER_DAT.PART_ID17x73>
+    <T_MASTER_DAT.PART_ID18x73>123456789</T_MASTER_DAT.PART_ID18x73>
+    <T_MASTER_DAT.PART_ID19x73>123456789</T_MASTER_DAT.PART_ID19x73>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x74>123456789</T_MASTER_DAT.PART_ID0x74>
+    <T_MASTER_DAT.PART_ID1x74>123456789</T_MASTER_DAT.PART_ID1x74>
+    <T_MASTER_DAT.PART_ID2x74>123456789</T_MASTER_DAT.PART_ID2x74>
+    <T_MASTER_DAT.PART_ID3x74>123456789</T_MASTER_DAT.PART_ID3x74>
+    <T_MASTER_DAT.PART_ID4x74>123456789</T_MASTER_DAT.PART_ID4x74>
+    <T_MASTER_DAT.PART_ID5x74>123456789</T_MASTER_DAT.PART_ID5x74>
+    <T_MASTER_DAT.PART_ID6x74>123456789</T_MASTER_DAT.PART_ID6x74>
+    <T_MASTER_DAT.PART_ID7x74>123456789</T_MASTER_DAT.PART_ID7x74>
+    <T_MASTER_DAT.PART_ID8x74>123456789</T_MASTER_DAT.PART_ID8x74>
+    <T_MASTER_DAT.PART_ID9x74>123456789</T_MASTER_DAT.PART_ID9x74>
+    <T_MASTER_DAT.PART_ID10x74>123456789</T_MASTER_DAT.PART_ID10x74>
+    <T_MASTER_DAT.PART_ID11x74>123456789</T_MASTER_DAT.PART_ID11x74>
+    <T_MASTER_DAT.PART_ID12x74>123456789</T_MASTER_DAT.PART_ID12x74>
+    <T_MASTER_DAT.PART_ID13x74>123456789</T_MASTER_DAT.PART_ID13x74>
+    <T_MASTER_DAT.PART_ID14x74>123456789</T_MASTER_DAT.PART_ID14x74>
+    <T_MASTER_DAT.PART_ID15x74>123456789</T_MASTER_DAT.PART_ID15x74>
+    <T_MASTER_DAT.PART_ID16x74>123456789</T_MASTER_DAT.PART_ID16x74>
+    <T_MASTER_DAT.PART_ID17x74>123456789</T_MASTER_DAT.PART_ID17x74>
+    <T_MASTER_DAT.PART_ID18x74>123456789</T_MASTER_DAT.PART_ID18x74>
+    <T_MASTER_DAT.PART_ID19x74>123456789</T_MASTER_DAT.PART_ID19x74>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x75>123456789</T_MASTER_DAT.PART_ID0x75>
+    <T_MASTER_DAT.PART_ID1x75>123456789</T_MASTER_DAT.PART_ID1x75>
+    <T_MASTER_DAT.PART_ID2x75>123456789</T_MASTER_DAT.PART_ID2x75>
+    <T_MASTER_DAT.PART_ID3x75>123456789</T_MASTER_DAT.PART_ID3x75>
+    <T_MASTER_DAT.PART_ID4x75>123456789</T_MASTER_DAT.PART_ID4x75>
+    <T_MASTER_DAT.PART_ID5x75>123456789</T_MASTER_DAT.PART_ID5x75>
+    <T_MASTER_DAT.PART_ID6x75>123456789</T_MASTER_DAT.PART_ID6x75>
+    <T_MASTER_DAT.PART_ID7x75>123456789</T_MASTER_DAT.PART_ID7x75>
+    <T_MASTER_DAT.PART_ID8x75>123456789</T_MASTER_DAT.PART_ID8x75>
+    <T_MASTER_DAT.PART_ID9x75>123456789</T_MASTER_DAT.PART_ID9x75>
+    <T_MASTER_DAT.PART_ID10x75>123456789</T_MASTER_DAT.PART_ID10x75>
+    <T_MASTER_DAT.PART_ID11x75>123456789</T_MASTER_DAT.PART_ID11x75>
+    <T_MASTER_DAT.PART_ID12x75>123456789</T_MASTER_DAT.PART_ID12x75>
+    <T_MASTER_DAT.PART_ID13x75>123456789</T_MASTER_DAT.PART_ID13x75>
+    <T_MASTER_DAT.PART_ID14x75>123456789</T_MASTER_DAT.PART_ID14x75>
+    <T_MASTER_DAT.PART_ID15x75>123456789</T_MASTER_DAT.PART_ID15x75>
+    <T_MASTER_DAT.PART_ID16x75>123456789</T_MASTER_DAT.PART_ID16x75>
+    <T_MASTER_DAT.PART_ID17x75>123456789</T_MASTER_DAT.PART_ID17x75>
+    <T_MASTER_DAT.PART_ID18x75>123456789</T_MASTER_DAT.PART_ID18x75>
+    <T_MASTER_DAT.PART_ID19x75>123456789</T_MASTER_DAT.PART_ID19x75>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x76>123456789</T_MASTER_DAT.PART_ID0x76>
+    <T_MASTER_DAT.PART_ID1x76>123456789</T_MASTER_DAT.PART_ID1x76>
+    <T_MASTER_DAT.PART_ID2x76>123456789</T_MASTER_DAT.PART_ID2x76>
+    <T_MASTER_DAT.PART_ID3x76>123456789</T_MASTER_DAT.PART_ID3x76>
+    <T_MASTER_DAT.PART_ID4x76>123456789</T_MASTER_DAT.PART_ID4x76>
+    <T_MASTER_DAT.PART_ID5x76>123456789</T_MASTER_DAT.PART_ID5x76>
+    <T_MASTER_DAT.PART_ID6x76>123456789</T_MASTER_DAT.PART_ID6x76>
+    <T_MASTER_DAT.PART_ID7x76>123456789</T_MASTER_DAT.PART_ID7x76>
+    <T_MASTER_DAT.PART_ID8x76>123456789</T_MASTER_DAT.PART_ID8x76>
+    <T_MASTER_DAT.PART_ID9x76>123456789</T_MASTER_DAT.PART_ID9x76>
+    <T_MASTER_DAT.PART_ID10x76>123456789</T_MASTER_DAT.PART_ID10x76>
+    <T_MASTER_DAT.PART_ID11x76>123456789</T_MASTER_DAT.PART_ID11x76>
+    <T_MASTER_DAT.PART_ID12x76>123456789</T_MASTER_DAT.PART_ID12x76>
+    <T_MASTER_DAT.PART_ID13x76>123456789</T_MASTER_DAT.PART_ID13x76>
+    <T_MASTER_DAT.PART_ID14x76>123456789</T_MASTER_DAT.PART_ID14x76>
+    <T_MASTER_DAT.PART_ID15x76>123456789</T_MASTER_DAT.PART_ID15x76>
+    <T_MASTER_DAT.PART_ID16x76>123456789</T_MASTER_DAT.PART_ID16x76>
+    <T_MASTER_DAT.PART_ID17x76>123456789</T_MASTER_DAT.PART_ID17x76>
+    <T_MASTER_DAT.PART_ID18x76>123456789</T_MASTER_DAT.PART_ID18x76>
+    <T_MASTER_DAT.PART_ID19x76>123456789</T_MASTER_DAT.PART_ID19x76>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x77>123456789</T_MASTER_DAT.PART_ID0x77>
+    <T_MASTER_DAT.PART_ID1x77>123456789</T_MASTER_DAT.PART_ID1x77>
+    <T_MASTER_DAT.PART_ID2x77>123456789</T_MASTER_DAT.PART_ID2x77>
+    <T_MASTER_DAT.PART_ID3x77>123456789</T_MASTER_DAT.PART_ID3x77>
+    <T_MASTER_DAT.PART_ID4x77>123456789</T_MASTER_DAT.PART_ID4x77>
+    <T_MASTER_DAT.PART_ID5x77>123456789</T_MASTER_DAT.PART_ID5x77>
+    <T_MASTER_DAT.PART_ID6x77>123456789</T_MASTER_DAT.PART_ID6x77>
+    <T_MASTER_DAT.PART_ID7x77>123456789</T_MASTER_DAT.PART_ID7x77>
+    <T_MASTER_DAT.PART_ID8x77>123456789</T_MASTER_DAT.PART_ID8x77>
+    <T_MASTER_DAT.PART_ID9x77>123456789</T_MASTER_DAT.PART_ID9x77>
+    <T_MASTER_DAT.PART_ID10x77>123456789</T_MASTER_DAT.PART_ID10x77>
+    <T_MASTER_DAT.PART_ID11x77>123456789</T_MASTER_DAT.PART_ID11x77>
+    <T_MASTER_DAT.PART_ID12x77>123456789</T_MASTER_DAT.PART_ID12x77>
+    <T_MASTER_DAT.PART_ID13x77>123456789</T_MASTER_DAT.PART_ID13x77>
+    <T_MASTER_DAT.PART_ID14x77>123456789</T_MASTER_DAT.PART_ID14x77>
+    <T_MASTER_DAT.PART_ID15x77>123456789</T_MASTER_DAT.PART_ID15x77>
+    <T_MASTER_DAT.PART_ID16x77>123456789</T_MASTER_DAT.PART_ID16x77>
+    <T_MASTER_DAT.PART_ID17x77>123456789</T_MASTER_DAT.PART_ID17x77>
+    <T_MASTER_DAT.PART_ID18x77>123456789</T_MASTER_DAT.PART_ID18x77>
+    <T_MASTER_DAT.PART_ID19x77>123456789</T_MASTER_DAT.PART_ID19x77>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x78>123456789</T_MASTER_DAT.PART_ID0x78>
+    <T_MASTER_DAT.PART_ID1x78>123456789</T_MASTER_DAT.PART_ID1x78>
+    <T_MASTER_DAT.PART_ID2x78>123456789</T_MASTER_DAT.PART_ID2x78>
+    <T_MASTER_DAT.PART_ID3x78>123456789</T_MASTER_DAT.PART_ID3x78>
+    <T_MASTER_DAT.PART_ID4x78>123456789</T_MASTER_DAT.PART_ID4x78>
+    <T_MASTER_DAT.PART_ID5x78>123456789</T_MASTER_DAT.PART_ID5x78>
+    <T_MASTER_DAT.PART_ID6x78>123456789</T_MASTER_DAT.PART_ID6x78>
+    <T_MASTER_DAT.PART_ID7x78>123456789</T_MASTER_DAT.PART_ID7x78>
+    <T_MASTER_DAT.PART_ID8x78>123456789</T_MASTER_DAT.PART_ID8x78>
+    <T_MASTER_DAT.PART_ID9x78>123456789</T_MASTER_DAT.PART_ID9x78>
+    <T_MASTER_DAT.PART_ID10x78>123456789</T_MASTER_DAT.PART_ID10x78>
+    <T_MASTER_DAT.PART_ID11x78>123456789</T_MASTER_DAT.PART_ID11x78>
+    <T_MASTER_DAT.PART_ID12x78>123456789</T_MASTER_DAT.PART_ID12x78>
+    <T_MASTER_DAT.PART_ID13x78>123456789</T_MASTER_DAT.PART_ID13x78>
+    <T_MASTER_DAT.PART_ID14x78>123456789</T_MASTER_DAT.PART_ID14x78>
+    <T_MASTER_DAT.PART_ID15x78>123456789</T_MASTER_DAT.PART_ID15x78>
+    <T_MASTER_DAT.PART_ID16x78>123456789</T_MASTER_DAT.PART_ID16x78>
+    <T_MASTER_DAT.PART_ID17x78>123456789</T_MASTER_DAT.PART_ID17x78>
+    <T_MASTER_DAT.PART_ID18x78>123456789</T_MASTER_DAT.PART_ID18x78>
+    <T_MASTER_DAT.PART_ID19x78>123456789</T_MASTER_DAT.PART_ID19x78>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x79>123456789</T_MASTER_DAT.PART_ID0x79>
+    <T_MASTER_DAT.PART_ID1x79>123456789</T_MASTER_DAT.PART_ID1x79>
+    <T_MASTER_DAT.PART_ID2x79>123456789</T_MASTER_DAT.PART_ID2x79>
+    <T_MASTER_DAT.PART_ID3x79>123456789</T_MASTER_DAT.PART_ID3x79>
+    <T_MASTER_DAT.PART_ID4x79>123456789</T_MASTER_DAT.PART_ID4x79>
+    <T_MASTER_DAT.PART_ID5x79>123456789</T_MASTER_DAT.PART_ID5x79>
+    <T_MASTER_DAT.PART_ID6x79>123456789</T_MASTER_DAT.PART_ID6x79>
+    <T_MASTER_DAT.PART_ID7x79>123456789</T_MASTER_DAT.PART_ID7x79>
+    <T_MASTER_DAT.PART_ID8x79>123456789</T_MASTER_DAT.PART_ID8x79>
+    <T_MASTER_DAT.PART_ID9x79>123456789</T_MASTER_DAT.PART_ID9x79>
+    <T_MASTER_DAT.PART_ID10x79>123456789</T_MASTER_DAT.PART_ID10x79>
+    <T_MASTER_DAT.PART_ID11x79>123456789</T_MASTER_DAT.PART_ID11x79>
+    <T_MASTER_DAT.PART_ID12x79>123456789</T_MASTER_DAT.PART_ID12x79>
+    <T_MASTER_DAT.PART_ID13x79>123456789</T_MASTER_DAT.PART_ID13x79>
+    <T_MASTER_DAT.PART_ID14x79>123456789</T_MASTER_DAT.PART_ID14x79>
+    <T_MASTER_DAT.PART_ID15x79>123456789</T_MASTER_DAT.PART_ID15x79>
+    <T_MASTER_DAT.PART_ID16x79>123456789</T_MASTER_DAT.PART_ID16x79>
+    <T_MASTER_DAT.PART_ID17x79>123456789</T_MASTER_DAT.PART_ID17x79>
+    <T_MASTER_DAT.PART_ID18x79>123456789</T_MASTER_DAT.PART_ID18x79>
+    <T_MASTER_DAT.PART_ID19x79>123456789</T_MASTER_DAT.PART_ID19x79>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x80>123456789</T_MASTER_DAT.PART_ID0x80>
+    <T_MASTER_DAT.PART_ID1x80>123456789</T_MASTER_DAT.PART_ID1x80>
+    <T_MASTER_DAT.PART_ID2x80>123456789</T_MASTER_DAT.PART_ID2x80>
+    <T_MASTER_DAT.PART_ID3x80>123456789</T_MASTER_DAT.PART_ID3x80>
+    <T_MASTER_DAT.PART_ID4x80>123456789</T_MASTER_DAT.PART_ID4x80>
+    <T_MASTER_DAT.PART_ID5x80>123456789</T_MASTER_DAT.PART_ID5x80>
+    <T_MASTER_DAT.PART_ID6x80>123456789</T_MASTER_DAT.PART_ID6x80>
+    <T_MASTER_DAT.PART_ID7x80>123456789</T_MASTER_DAT.PART_ID7x80>
+    <T_MASTER_DAT.PART_ID8x80>123456789</T_MASTER_DAT.PART_ID8x80>
+    <T_MASTER_DAT.PART_ID9x80>123456789</T_MASTER_DAT.PART_ID9x80>
+    <T_MASTER_DAT.PART_ID10x80>123456789</T_MASTER_DAT.PART_ID10x80>
+    <T_MASTER_DAT.PART_ID11x80>123456789</T_MASTER_DAT.PART_ID11x80>
+    <T_MASTER_DAT.PART_ID12x80>123456789</T_MASTER_DAT.PART_ID12x80>
+    <T_MASTER_DAT.PART_ID13x80>123456789</T_MASTER_DAT.PART_ID13x80>
+    <T_MASTER_DAT.PART_ID14x80>123456789</T_MASTER_DAT.PART_ID14x80>
+    <T_MASTER_DAT.PART_ID15x80>123456789</T_MASTER_DAT.PART_ID15x80>
+    <T_MASTER_DAT.PART_ID16x80>123456789</T_MASTER_DAT.PART_ID16x80>
+    <T_MASTER_DAT.PART_ID17x80>123456789</T_MASTER_DAT.PART_ID17x80>
+    <T_MASTER_DAT.PART_ID18x80>123456789</T_MASTER_DAT.PART_ID18x80>
+    <T_MASTER_DAT.PART_ID19x80>123456789</T_MASTER_DAT.PART_ID19x80>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x81>123456789</T_MASTER_DAT.PART_ID0x81>
+    <T_MASTER_DAT.PART_ID1x81>123456789</T_MASTER_DAT.PART_ID1x81>
+    <T_MASTER_DAT.PART_ID2x81>123456789</T_MASTER_DAT.PART_ID2x81>
+    <T_MASTER_DAT.PART_ID3x81>123456789</T_MASTER_DAT.PART_ID3x81>
+    <T_MASTER_DAT.PART_ID4x81>123456789</T_MASTER_DAT.PART_ID4x81>
+    <T_MASTER_DAT.PART_ID5x81>123456789</T_MASTER_DAT.PART_ID5x81>
+    <T_MASTER_DAT.PART_ID6x81>123456789</T_MASTER_DAT.PART_ID6x81>
+    <T_MASTER_DAT.PART_ID7x81>123456789</T_MASTER_DAT.PART_ID7x81>
+    <T_MASTER_DAT.PART_ID8x81>123456789</T_MASTER_DAT.PART_ID8x81>
+    <T_MASTER_DAT.PART_ID9x81>123456789</T_MASTER_DAT.PART_ID9x81>
+    <T_MASTER_DAT.PART_ID10x81>123456789</T_MASTER_DAT.PART_ID10x81>
+    <T_MASTER_DAT.PART_ID11x81>123456789</T_MASTER_DAT.PART_ID11x81>
+    <T_MASTER_DAT.PART_ID12x81>123456789</T_MASTER_DAT.PART_ID12x81>
+    <T_MASTER_DAT.PART_ID13x81>123456789</T_MASTER_DAT.PART_ID13x81>
+    <T_MASTER_DAT.PART_ID14x81>123456789</T_MASTER_DAT.PART_ID14x81>
+    <T_MASTER_DAT.PART_ID15x81>123456789</T_MASTER_DAT.PART_ID15x81>
+    <T_MASTER_DAT.PART_ID16x81>123456789</T_MASTER_DAT.PART_ID16x81>
+    <T_MASTER_DAT.PART_ID17x81>123456789</T_MASTER_DAT.PART_ID17x81>
+    <T_MASTER_DAT.PART_ID18x81>123456789</T_MASTER_DAT.PART_ID18x81>
+    <T_MASTER_DAT.PART_ID19x81>123456789</T_MASTER_DAT.PART_ID19x81>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x82>123456789</T_MASTER_DAT.PART_ID0x82>
+    <T_MASTER_DAT.PART_ID1x82>123456789</T_MASTER_DAT.PART_ID1x82>
+    <T_MASTER_DAT.PART_ID2x82>123456789</T_MASTER_DAT.PART_ID2x82>
+    <T_MASTER_DAT.PART_ID3x82>123456789</T_MASTER_DAT.PART_ID3x82>
+    <T_MASTER_DAT.PART_ID4x82>123456789</T_MASTER_DAT.PART_ID4x82>
+    <T_MASTER_DAT.PART_ID5x82>123456789</T_MASTER_DAT.PART_ID5x82>
+    <T_MASTER_DAT.PART_ID6x82>123456789</T_MASTER_DAT.PART_ID6x82>
+    <T_MASTER_DAT.PART_ID7x82>123456789</T_MASTER_DAT.PART_ID7x82>
+    <T_MASTER_DAT.PART_ID8x82>123456789</T_MASTER_DAT.PART_ID8x82>
+    <T_MASTER_DAT.PART_ID9x82>123456789</T_MASTER_DAT.PART_ID9x82>
+    <T_MASTER_DAT.PART_ID10x82>123456789</T_MASTER_DAT.PART_ID10x82>
+    <T_MASTER_DAT.PART_ID11x82>123456789</T_MASTER_DAT.PART_ID11x82>
+    <T_MASTER_DAT.PART_ID12x82>123456789</T_MASTER_DAT.PART_ID12x82>
+    <T_MASTER_DAT.PART_ID13x82>123456789</T_MASTER_DAT.PART_ID13x82>
+    <T_MASTER_DAT.PART_ID14x82>123456789</T_MASTER_DAT.PART_ID14x82>
+    <T_MASTER_DAT.PART_ID15x82>123456789</T_MASTER_DAT.PART_ID15x82>
+    <T_MASTER_DAT.PART_ID16x82>123456789</T_MASTER_DAT.PART_ID16x82>
+    <T_MASTER_DAT.PART_ID17x82>123456789</T_MASTER_DAT.PART_ID17x82>
+    <T_MASTER_DAT.PART_ID18x82>123456789</T_MASTER_DAT.PART_ID18x82>
+    <T_MASTER_DAT.PART_ID19x82>123456789</T_MASTER_DAT.PART_ID19x82>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x83>123456789</T_MASTER_DAT.PART_ID0x83>
+    <T_MASTER_DAT.PART_ID1x83>123456789</T_MASTER_DAT.PART_ID1x83>
+    <T_MASTER_DAT.PART_ID2x83>123456789</T_MASTER_DAT.PART_ID2x83>
+    <T_MASTER_DAT.PART_ID3x83>123456789</T_MASTER_DAT.PART_ID3x83>
+    <T_MASTER_DAT.PART_ID4x83>123456789</T_MASTER_DAT.PART_ID4x83>
+    <T_MASTER_DAT.PART_ID5x83>123456789</T_MASTER_DAT.PART_ID5x83>
+    <T_MASTER_DAT.PART_ID6x83>123456789</T_MASTER_DAT.PART_ID6x83>
+    <T_MASTER_DAT.PART_ID7x83>123456789</T_MASTER_DAT.PART_ID7x83>
+    <T_MASTER_DAT.PART_ID8x83>123456789</T_MASTER_DAT.PART_ID8x83>
+    <T_MASTER_DAT.PART_ID9x83>123456789</T_MASTER_DAT.PART_ID9x83>
+    <T_MASTER_DAT.PART_ID10x83>123456789</T_MASTER_DAT.PART_ID10x83>
+    <T_MASTER_DAT.PART_ID11x83>123456789</T_MASTER_DAT.PART_ID11x83>
+    <T_MASTER_DAT.PART_ID12x83>123456789</T_MASTER_DAT.PART_ID12x83>
+    <T_MASTER_DAT.PART_ID13x83>123456789</T_MASTER_DAT.PART_ID13x83>
+    <T_MASTER_DAT.PART_ID14x83>123456789</T_MASTER_DAT.PART_ID14x83>
+    <T_MASTER_DAT.PART_ID15x83>123456789</T_MASTER_DAT.PART_ID15x83>
+    <T_MASTER_DAT.PART_ID16x83>123456789</T_MASTER_DAT.PART_ID16x83>
+    <T_MASTER_DAT.PART_ID17x83>123456789</T_MASTER_DAT.PART_ID17x83>
+    <T_MASTER_DAT.PART_ID18x83>123456789</T_MASTER_DAT.PART_ID18x83>
+    <T_MASTER_DAT.PART_ID19x83>123456789</T_MASTER_DAT.PART_ID19x83>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x84>123456789</T_MASTER_DAT.PART_ID0x84>
+    <T_MASTER_DAT.PART_ID1x84>123456789</T_MASTER_DAT.PART_ID1x84>
+    <T_MASTER_DAT.PART_ID2x84>123456789</T_MASTER_DAT.PART_ID2x84>
+    <T_MASTER_DAT.PART_ID3x84>123456789</T_MASTER_DAT.PART_ID3x84>
+    <T_MASTER_DAT.PART_ID4x84>123456789</T_MASTER_DAT.PART_ID4x84>
+    <T_MASTER_DAT.PART_ID5x84>123456789</T_MASTER_DAT.PART_ID5x84>
+    <T_MASTER_DAT.PART_ID6x84>123456789</T_MASTER_DAT.PART_ID6x84>
+    <T_MASTER_DAT.PART_ID7x84>123456789</T_MASTER_DAT.PART_ID7x84>
+    <T_MASTER_DAT.PART_ID8x84>123456789</T_MASTER_DAT.PART_ID8x84>
+    <T_MASTER_DAT.PART_ID9x84>123456789</T_MASTER_DAT.PART_ID9x84>
+    <T_MASTER_DAT.PART_ID10x84>123456789</T_MASTER_DAT.PART_ID10x84>
+    <T_MASTER_DAT.PART_ID11x84>123456789</T_MASTER_DAT.PART_ID11x84>
+    <T_MASTER_DAT.PART_ID12x84>123456789</T_MASTER_DAT.PART_ID12x84>
+    <T_MASTER_DAT.PART_ID13x84>123456789</T_MASTER_DAT.PART_ID13x84>
+    <T_MASTER_DAT.PART_ID14x84>123456789</T_MASTER_DAT.PART_ID14x84>
+    <T_MASTER_DAT.PART_ID15x84>123456789</T_MASTER_DAT.PART_ID15x84>
+    <T_MASTER_DAT.PART_ID16x84>123456789</T_MASTER_DAT.PART_ID16x84>
+    <T_MASTER_DAT.PART_ID17x84>123456789</T_MASTER_DAT.PART_ID17x84>
+    <T_MASTER_DAT.PART_ID18x84>123456789</T_MASTER_DAT.PART_ID18x84>
+    <T_MASTER_DAT.PART_ID19x84>123456789</T_MASTER_DAT.PART_ID19x84>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x85>123456789</T_MASTER_DAT.PART_ID0x85>
+    <T_MASTER_DAT.PART_ID1x85>123456789</T_MASTER_DAT.PART_ID1x85>
+    <T_MASTER_DAT.PART_ID2x85>123456789</T_MASTER_DAT.PART_ID2x85>
+    <T_MASTER_DAT.PART_ID3x85>123456789</T_MASTER_DAT.PART_ID3x85>
+    <T_MASTER_DAT.PART_ID4x85>123456789</T_MASTER_DAT.PART_ID4x85>
+    <T_MASTER_DAT.PART_ID5x85>123456789</T_MASTER_DAT.PART_ID5x85>
+    <T_MASTER_DAT.PART_ID6x85>123456789</T_MASTER_DAT.PART_ID6x85>
+    <T_MASTER_DAT.PART_ID7x85>123456789</T_MASTER_DAT.PART_ID7x85>
+    <T_MASTER_DAT.PART_ID8x85>123456789</T_MASTER_DAT.PART_ID8x85>
+    <T_MASTER_DAT.PART_ID9x85>123456789</T_MASTER_DAT.PART_ID9x85>
+    <T_MASTER_DAT.PART_ID10x85>123456789</T_MASTER_DAT.PART_ID10x85>
+    <T_MASTER_DAT.PART_ID11x85>123456789</T_MASTER_DAT.PART_ID11x85>
+    <T_MASTER_DAT.PART_ID12x85>123456789</T_MASTER_DAT.PART_ID12x85>
+    <T_MASTER_DAT.PART_ID13x85>123456789</T_MASTER_DAT.PART_ID13x85>
+    <T_MASTER_DAT.PART_ID14x85>123456789</T_MASTER_DAT.PART_ID14x85>
+    <T_MASTER_DAT.PART_ID15x85>123456789</T_MASTER_DAT.PART_ID15x85>
+    <T_MASTER_DAT.PART_ID16x85>123456789</T_MASTER_DAT.PART_ID16x85>
+    <T_MASTER_DAT.PART_ID17x85>123456789</T_MASTER_DAT.PART_ID17x85>
+    <T_MASTER_DAT.PART_ID18x85>123456789</T_MASTER_DAT.PART_ID18x85>
+    <T_MASTER_DAT.PART_ID19x85>123456789</T_MASTER_DAT.PART_ID19x85>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x86>123456789</T_MASTER_DAT.PART_ID0x86>
+    <T_MASTER_DAT.PART_ID1x86>123456789</T_MASTER_DAT.PART_ID1x86>
+    <T_MASTER_DAT.PART_ID2x86>123456789</T_MASTER_DAT.PART_ID2x86>
+    <T_MASTER_DAT.PART_ID3x86>123456789</T_MASTER_DAT.PART_ID3x86>
+    <T_MASTER_DAT.PART_ID4x86>123456789</T_MASTER_DAT.PART_ID4x86>
+    <T_MASTER_DAT.PART_ID5x86>123456789</T_MASTER_DAT.PART_ID5x86>
+    <T_MASTER_DAT.PART_ID6x86>123456789</T_MASTER_DAT.PART_ID6x86>
+    <T_MASTER_DAT.PART_ID7x86>123456789</T_MASTER_DAT.PART_ID7x86>
+    <T_MASTER_DAT.PART_ID8x86>123456789</T_MASTER_DAT.PART_ID8x86>
+    <T_MASTER_DAT.PART_ID9x86>123456789</T_MASTER_DAT.PART_ID9x86>
+    <T_MASTER_DAT.PART_ID10x86>123456789</T_MASTER_DAT.PART_ID10x86>
+    <T_MASTER_DAT.PART_ID11x86>123456789</T_MASTER_DAT.PART_ID11x86>
+    <T_MASTER_DAT.PART_ID12x86>123456789</T_MASTER_DAT.PART_ID12x86>
+    <T_MASTER_DAT.PART_ID13x86>123456789</T_MASTER_DAT.PART_ID13x86>
+    <T_MASTER_DAT.PART_ID14x86>123456789</T_MASTER_DAT.PART_ID14x86>
+    <T_MASTER_DAT.PART_ID15x86>123456789</T_MASTER_DAT.PART_ID15x86>
+    <T_MASTER_DAT.PART_ID16x86>123456789</T_MASTER_DAT.PART_ID16x86>
+    <T_MASTER_DAT.PART_ID17x86>123456789</T_MASTER_DAT.PART_ID17x86>
+    <T_MASTER_DAT.PART_ID18x86>123456789</T_MASTER_DAT.PART_ID18x86>
+    <T_MASTER_DAT.PART_ID19x86>123456789</T_MASTER_DAT.PART_ID19x86>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x87>123456789</T_MASTER_DAT.PART_ID0x87>
+    <T_MASTER_DAT.PART_ID1x87>123456789</T_MASTER_DAT.PART_ID1x87>
+    <T_MASTER_DAT.PART_ID2x87>123456789</T_MASTER_DAT.PART_ID2x87>
+    <T_MASTER_DAT.PART_ID3x87>123456789</T_MASTER_DAT.PART_ID3x87>
+    <T_MASTER_DAT.PART_ID4x87>123456789</T_MASTER_DAT.PART_ID4x87>
+    <T_MASTER_DAT.PART_ID5x87>123456789</T_MASTER_DAT.PART_ID5x87>
+    <T_MASTER_DAT.PART_ID6x87>123456789</T_MASTER_DAT.PART_ID6x87>
+    <T_MASTER_DAT.PART_ID7x87>123456789</T_MASTER_DAT.PART_ID7x87>
+    <T_MASTER_DAT.PART_ID8x87>123456789</T_MASTER_DAT.PART_ID8x87>
+    <T_MASTER_DAT.PART_ID9x87>123456789</T_MASTER_DAT.PART_ID9x87>
+    <T_MASTER_DAT.PART_ID10x87>123456789</T_MASTER_DAT.PART_ID10x87>
+    <T_MASTER_DAT.PART_ID11x87>123456789</T_MASTER_DAT.PART_ID11x87>
+    <T_MASTER_DAT.PART_ID12x87>123456789</T_MASTER_DAT.PART_ID12x87>
+    <T_MASTER_DAT.PART_ID13x87>123456789</T_MASTER_DAT.PART_ID13x87>
+    <T_MASTER_DAT.PART_ID14x87>123456789</T_MASTER_DAT.PART_ID14x87>
+    <T_MASTER_DAT.PART_ID15x87>123456789</T_MASTER_DAT.PART_ID15x87>
+    <T_MASTER_DAT.PART_ID16x87>123456789</T_MASTER_DAT.PART_ID16x87>
+    <T_MASTER_DAT.PART_ID17x87>123456789</T_MASTER_DAT.PART_ID17x87>
+    <T_MASTER_DAT.PART_ID18x87>123456789</T_MASTER_DAT.PART_ID18x87>
+    <T_MASTER_DAT.PART_ID19x87>123456789</T_MASTER_DAT.PART_ID19x87>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x88>123456789</T_MASTER_DAT.PART_ID0x88>
+    <T_MASTER_DAT.PART_ID1x88>123456789</T_MASTER_DAT.PART_ID1x88>
+    <T_MASTER_DAT.PART_ID2x88>123456789</T_MASTER_DAT.PART_ID2x88>
+    <T_MASTER_DAT.PART_ID3x88>123456789</T_MASTER_DAT.PART_ID3x88>
+    <T_MASTER_DAT.PART_ID4x88>123456789</T_MASTER_DAT.PART_ID4x88>
+    <T_MASTER_DAT.PART_ID5x88>123456789</T_MASTER_DAT.PART_ID5x88>
+    <T_MASTER_DAT.PART_ID6x88>123456789</T_MASTER_DAT.PART_ID6x88>
+    <T_MASTER_DAT.PART_ID7x88>123456789</T_MASTER_DAT.PART_ID7x88>
+    <T_MASTER_DAT.PART_ID8x88>123456789</T_MASTER_DAT.PART_ID8x88>
+    <T_MASTER_DAT.PART_ID9x88>123456789</T_MASTER_DAT.PART_ID9x88>
+    <T_MASTER_DAT.PART_ID10x88>123456789</T_MASTER_DAT.PART_ID10x88>
+    <T_MASTER_DAT.PART_ID11x88>123456789</T_MASTER_DAT.PART_ID11x88>
+    <T_MASTER_DAT.PART_ID12x88>123456789</T_MASTER_DAT.PART_ID12x88>
+    <T_MASTER_DAT.PART_ID13x88>123456789</T_MASTER_DAT.PART_ID13x88>
+    <T_MASTER_DAT.PART_ID14x88>123456789</T_MASTER_DAT.PART_ID14x88>
+    <T_MASTER_DAT.PART_ID15x88>123456789</T_MASTER_DAT.PART_ID15x88>
+    <T_MASTER_DAT.PART_ID16x88>123456789</T_MASTER_DAT.PART_ID16x88>
+    <T_MASTER_DAT.PART_ID17x88>123456789</T_MASTER_DAT.PART_ID17x88>
+    <T_MASTER_DAT.PART_ID18x88>123456789</T_MASTER_DAT.PART_ID18x88>
+    <T_MASTER_DAT.PART_ID19x88>123456789</T_MASTER_DAT.PART_ID19x88>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x89>123456789</T_MASTER_DAT.PART_ID0x89>
+    <T_MASTER_DAT.PART_ID1x89>123456789</T_MASTER_DAT.PART_ID1x89>
+    <T_MASTER_DAT.PART_ID2x89>123456789</T_MASTER_DAT.PART_ID2x89>
+    <T_MASTER_DAT.PART_ID3x89>123456789</T_MASTER_DAT.PART_ID3x89>
+    <T_MASTER_DAT.PART_ID4x89>123456789</T_MASTER_DAT.PART_ID4x89>
+    <T_MASTER_DAT.PART_ID5x89>123456789</T_MASTER_DAT.PART_ID5x89>
+    <T_MASTER_DAT.PART_ID6x89>123456789</T_MASTER_DAT.PART_ID6x89>
+    <T_MASTER_DAT.PART_ID7x89>123456789</T_MASTER_DAT.PART_ID7x89>
+    <T_MASTER_DAT.PART_ID8x89>123456789</T_MASTER_DAT.PART_ID8x89>
+    <T_MASTER_DAT.PART_ID9x89>123456789</T_MASTER_DAT.PART_ID9x89>
+    <T_MASTER_DAT.PART_ID10x89>123456789</T_MASTER_DAT.PART_ID10x89>
+    <T_MASTER_DAT.PART_ID11x89>123456789</T_MASTER_DAT.PART_ID11x89>
+    <T_MASTER_DAT.PART_ID12x89>123456789</T_MASTER_DAT.PART_ID12x89>
+    <T_MASTER_DAT.PART_ID13x89>123456789</T_MASTER_DAT.PART_ID13x89>
+    <T_MASTER_DAT.PART_ID14x89>123456789</T_MASTER_DAT.PART_ID14x89>
+    <T_MASTER_DAT.PART_ID15x89>123456789</T_MASTER_DAT.PART_ID15x89>
+    <T_MASTER_DAT.PART_ID16x89>123456789</T_MASTER_DAT.PART_ID16x89>
+    <T_MASTER_DAT.PART_ID17x89>123456789</T_MASTER_DAT.PART_ID17x89>
+    <T_MASTER_DAT.PART_ID18x89>123456789</T_MASTER_DAT.PART_ID18x89>
+    <T_MASTER_DAT.PART_ID19x89>123456789</T_MASTER_DAT.PART_ID19x89>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x90>123456789</T_MASTER_DAT.PART_ID0x90>
+    <T_MASTER_DAT.PART_ID1x90>123456789</T_MASTER_DAT.PART_ID1x90>
+    <T_MASTER_DAT.PART_ID2x90>123456789</T_MASTER_DAT.PART_ID2x90>
+    <T_MASTER_DAT.PART_ID3x90>123456789</T_MASTER_DAT.PART_ID3x90>
+    <T_MASTER_DAT.PART_ID4x90>123456789</T_MASTER_DAT.PART_ID4x90>
+    <T_MASTER_DAT.PART_ID5x90>123456789</T_MASTER_DAT.PART_ID5x90>
+    <T_MASTER_DAT.PART_ID6x90>123456789</T_MASTER_DAT.PART_ID6x90>
+    <T_MASTER_DAT.PART_ID7x90>123456789</T_MASTER_DAT.PART_ID7x90>
+    <T_MASTER_DAT.PART_ID8x90>123456789</T_MASTER_DAT.PART_ID8x90>
+    <T_MASTER_DAT.PART_ID9x90>123456789</T_MASTER_DAT.PART_ID9x90>
+    <T_MASTER_DAT.PART_ID10x90>123456789</T_MASTER_DAT.PART_ID10x90>
+    <T_MASTER_DAT.PART_ID11x90>123456789</T_MASTER_DAT.PART_ID11x90>
+    <T_MASTER_DAT.PART_ID12x90>123456789</T_MASTER_DAT.PART_ID12x90>
+    <T_MASTER_DAT.PART_ID13x90>123456789</T_MASTER_DAT.PART_ID13x90>
+    <T_MASTER_DAT.PART_ID14x90>123456789</T_MASTER_DAT.PART_ID14x90>
+    <T_MASTER_DAT.PART_ID15x90>123456789</T_MASTER_DAT.PART_ID15x90>
+    <T_MASTER_DAT.PART_ID16x90>123456789</T_MASTER_DAT.PART_ID16x90>
+    <T_MASTER_DAT.PART_ID17x90>123456789</T_MASTER_DAT.PART_ID17x90>
+    <T_MASTER_DAT.PART_ID18x90>123456789</T_MASTER_DAT.PART_ID18x90>
+    <T_MASTER_DAT.PART_ID19x90>123456789</T_MASTER_DAT.PART_ID19x90>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x91>123456789</T_MASTER_DAT.PART_ID0x91>
+    <T_MASTER_DAT.PART_ID1x91>123456789</T_MASTER_DAT.PART_ID1x91>
+    <T_MASTER_DAT.PART_ID2x91>123456789</T_MASTER_DAT.PART_ID2x91>
+    <T_MASTER_DAT.PART_ID3x91>123456789</T_MASTER_DAT.PART_ID3x91>
+    <T_MASTER_DAT.PART_ID4x91>123456789</T_MASTER_DAT.PART_ID4x91>
+    <T_MASTER_DAT.PART_ID5x91>123456789</T_MASTER_DAT.PART_ID5x91>
+    <T_MASTER_DAT.PART_ID6x91>123456789</T_MASTER_DAT.PART_ID6x91>
+    <T_MASTER_DAT.PART_ID7x91>123456789</T_MASTER_DAT.PART_ID7x91>
+    <T_MASTER_DAT.PART_ID8x91>123456789</T_MASTER_DAT.PART_ID8x91>
+    <T_MASTER_DAT.PART_ID9x91>123456789</T_MASTER_DAT.PART_ID9x91>
+    <T_MASTER_DAT.PART_ID10x91>123456789</T_MASTER_DAT.PART_ID10x91>
+    <T_MASTER_DAT.PART_ID11x91>123456789</T_MASTER_DAT.PART_ID11x91>
+    <T_MASTER_DAT.PART_ID12x91>123456789</T_MASTER_DAT.PART_ID12x91>
+    <T_MASTER_DAT.PART_ID13x91>123456789</T_MASTER_DAT.PART_ID13x91>
+    <T_MASTER_DAT.PART_ID14x91>123456789</T_MASTER_DAT.PART_ID14x91>
+    <T_MASTER_DAT.PART_ID15x91>123456789</T_MASTER_DAT.PART_ID15x91>
+    <T_MASTER_DAT.PART_ID16x91>123456789</T_MASTER_DAT.PART_ID16x91>
+    <T_MASTER_DAT.PART_ID17x91>123456789</T_MASTER_DAT.PART_ID17x91>
+    <T_MASTER_DAT.PART_ID18x91>123456789</T_MASTER_DAT.PART_ID18x91>
+    <T_MASTER_DAT.PART_ID19x91>123456789</T_MASTER_DAT.PART_ID19x91>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x92>123456789</T_MASTER_DAT.PART_ID0x92>
+    <T_MASTER_DAT.PART_ID1x92>123456789</T_MASTER_DAT.PART_ID1x92>
+    <T_MASTER_DAT.PART_ID2x92>123456789</T_MASTER_DAT.PART_ID2x92>
+    <T_MASTER_DAT.PART_ID3x92>123456789</T_MASTER_DAT.PART_ID3x92>
+    <T_MASTER_DAT.PART_ID4x92>123456789</T_MASTER_DAT.PART_ID4x92>
+    <T_MASTER_DAT.PART_ID5x92>123456789</T_MASTER_DAT.PART_ID5x92>
+    <T_MASTER_DAT.PART_ID6x92>123456789</T_MASTER_DAT.PART_ID6x92>
+    <T_MASTER_DAT.PART_ID7x92>123456789</T_MASTER_DAT.PART_ID7x92>
+    <T_MASTER_DAT.PART_ID8x92>123456789</T_MASTER_DAT.PART_ID8x92>
+    <T_MASTER_DAT.PART_ID9x92>123456789</T_MASTER_DAT.PART_ID9x92>
+    <T_MASTER_DAT.PART_ID10x92>123456789</T_MASTER_DAT.PART_ID10x92>
+    <T_MASTER_DAT.PART_ID11x92>123456789</T_MASTER_DAT.PART_ID11x92>
+    <T_MASTER_DAT.PART_ID12x92>123456789</T_MASTER_DAT.PART_ID12x92>
+    <T_MASTER_DAT.PART_ID13x92>123456789</T_MASTER_DAT.PART_ID13x92>
+    <T_MASTER_DAT.PART_ID14x92>123456789</T_MASTER_DAT.PART_ID14x92>
+    <T_MASTER_DAT.PART_ID15x92>123456789</T_MASTER_DAT.PART_ID15x92>
+    <T_MASTER_DAT.PART_ID16x92>123456789</T_MASTER_DAT.PART_ID16x92>
+    <T_MASTER_DAT.PART_ID17x92>123456789</T_MASTER_DAT.PART_ID17x92>
+    <T_MASTER_DAT.PART_ID18x92>123456789</T_MASTER_DAT.PART_ID18x92>
+    <T_MASTER_DAT.PART_ID19x92>123456789</T_MASTER_DAT.PART_ID19x92>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x93>123456789</T_MASTER_DAT.PART_ID0x93>
+    <T_MASTER_DAT.PART_ID1x93>123456789</T_MASTER_DAT.PART_ID1x93>
+    <T_MASTER_DAT.PART_ID2x93>123456789</T_MASTER_DAT.PART_ID2x93>
+    <T_MASTER_DAT.PART_ID3x93>123456789</T_MASTER_DAT.PART_ID3x93>
+    <T_MASTER_DAT.PART_ID4x93>123456789</T_MASTER_DAT.PART_ID4x93>
+    <T_MASTER_DAT.PART_ID5x93>123456789</T_MASTER_DAT.PART_ID5x93>
+    <T_MASTER_DAT.PART_ID6x93>123456789</T_MASTER_DAT.PART_ID6x93>
+    <T_MASTER_DAT.PART_ID7x93>123456789</T_MASTER_DAT.PART_ID7x93>
+    <T_MASTER_DAT.PART_ID8x93>123456789</T_MASTER_DAT.PART_ID8x93>
+    <T_MASTER_DAT.PART_ID9x93>123456789</T_MASTER_DAT.PART_ID9x93>
+    <T_MASTER_DAT.PART_ID10x93>123456789</T_MASTER_DAT.PART_ID10x93>
+    <T_MASTER_DAT.PART_ID11x93>123456789</T_MASTER_DAT.PART_ID11x93>
+    <T_MASTER_DAT.PART_ID12x93>123456789</T_MASTER_DAT.PART_ID12x93>
+    <T_MASTER_DAT.PART_ID13x93>123456789</T_MASTER_DAT.PART_ID13x93>
+    <T_MASTER_DAT.PART_ID14x93>123456789</T_MASTER_DAT.PART_ID14x93>
+    <T_MASTER_DAT.PART_ID15x93>123456789</T_MASTER_DAT.PART_ID15x93>
+    <T_MASTER_DAT.PART_ID16x93>123456789</T_MASTER_DAT.PART_ID16x93>
+    <T_MASTER_DAT.PART_ID17x93>123456789</T_MASTER_DAT.PART_ID17x93>
+    <T_MASTER_DAT.PART_ID18x93>123456789</T_MASTER_DAT.PART_ID18x93>
+    <T_MASTER_DAT.PART_ID19x93>123456789</T_MASTER_DAT.PART_ID19x93>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x94>123456789</T_MASTER_DAT.PART_ID0x94>
+    <T_MASTER_DAT.PART_ID1x94>123456789</T_MASTER_DAT.PART_ID1x94>
+    <T_MASTER_DAT.PART_ID2x94>123456789</T_MASTER_DAT.PART_ID2x94>
+    <T_MASTER_DAT.PART_ID3x94>123456789</T_MASTER_DAT.PART_ID3x94>
+    <T_MASTER_DAT.PART_ID4x94>123456789</T_MASTER_DAT.PART_ID4x94>
+    <T_MASTER_DAT.PART_ID5x94>123456789</T_MASTER_DAT.PART_ID5x94>
+    <T_MASTER_DAT.PART_ID6x94>123456789</T_MASTER_DAT.PART_ID6x94>
+    <T_MASTER_DAT.PART_ID7x94>123456789</T_MASTER_DAT.PART_ID7x94>
+    <T_MASTER_DAT.PART_ID8x94>123456789</T_MASTER_DAT.PART_ID8x94>
+    <T_MASTER_DAT.PART_ID9x94>123456789</T_MASTER_DAT.PART_ID9x94>
+    <T_MASTER_DAT.PART_ID10x94>123456789</T_MASTER_DAT.PART_ID10x94>
+    <T_MASTER_DAT.PART_ID11x94>123456789</T_MASTER_DAT.PART_ID11x94>
+    <T_MASTER_DAT.PART_ID12x94>123456789</T_MASTER_DAT.PART_ID12x94>
+    <T_MASTER_DAT.PART_ID13x94>123456789</T_MASTER_DAT.PART_ID13x94>
+    <T_MASTER_DAT.PART_ID14x94>123456789</T_MASTER_DAT.PART_ID14x94>
+    <T_MASTER_DAT.PART_ID15x94>123456789</T_MASTER_DAT.PART_ID15x94>
+    <T_MASTER_DAT.PART_ID16x94>123456789</T_MASTER_DAT.PART_ID16x94>
+    <T_MASTER_DAT.PART_ID17x94>123456789</T_MASTER_DAT.PART_ID17x94>
+    <T_MASTER_DAT.PART_ID18x94>123456789</T_MASTER_DAT.PART_ID18x94>
+    <T_MASTER_DAT.PART_ID19x94>123456789</T_MASTER_DAT.PART_ID19x94>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x95>123456789</T_MASTER_DAT.PART_ID0x95>
+    <T_MASTER_DAT.PART_ID1x95>123456789</T_MASTER_DAT.PART_ID1x95>
+    <T_MASTER_DAT.PART_ID2x95>123456789</T_MASTER_DAT.PART_ID2x95>
+    <T_MASTER_DAT.PART_ID3x95>123456789</T_MASTER_DAT.PART_ID3x95>
+    <T_MASTER_DAT.PART_ID4x95>123456789</T_MASTER_DAT.PART_ID4x95>
+    <T_MASTER_DAT.PART_ID5x95>123456789</T_MASTER_DAT.PART_ID5x95>
+    <T_MASTER_DAT.PART_ID6x95>123456789</T_MASTER_DAT.PART_ID6x95>
+    <T_MASTER_DAT.PART_ID7x95>123456789</T_MASTER_DAT.PART_ID7x95>
+    <T_MASTER_DAT.PART_ID8x95>123456789</T_MASTER_DAT.PART_ID8x95>
+    <T_MASTER_DAT.PART_ID9x95>123456789</T_MASTER_DAT.PART_ID9x95>
+    <T_MASTER_DAT.PART_ID10x95>123456789</T_MASTER_DAT.PART_ID10x95>
+    <T_MASTER_DAT.PART_ID11x95>123456789</T_MASTER_DAT.PART_ID11x95>
+    <T_MASTER_DAT.PART_ID12x95>123456789</T_MASTER_DAT.PART_ID12x95>
+    <T_MASTER_DAT.PART_ID13x95>123456789</T_MASTER_DAT.PART_ID13x95>
+    <T_MASTER_DAT.PART_ID14x95>123456789</T_MASTER_DAT.PART_ID14x95>
+    <T_MASTER_DAT.PART_ID15x95>123456789</T_MASTER_DAT.PART_ID15x95>
+    <T_MASTER_DAT.PART_ID16x95>123456789</T_MASTER_DAT.PART_ID16x95>
+    <T_MASTER_DAT.PART_ID17x95>123456789</T_MASTER_DAT.PART_ID17x95>
+    <T_MASTER_DAT.PART_ID18x95>123456789</T_MASTER_DAT.PART_ID18x95>
+    <T_MASTER_DAT.PART_ID19x95>123456789</T_MASTER_DAT.PART_ID19x95>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x96>123456789</T_MASTER_DAT.PART_ID0x96>
+    <T_MASTER_DAT.PART_ID1x96>123456789</T_MASTER_DAT.PART_ID1x96>
+    <T_MASTER_DAT.PART_ID2x96>123456789</T_MASTER_DAT.PART_ID2x96>
+    <T_MASTER_DAT.PART_ID3x96>123456789</T_MASTER_DAT.PART_ID3x96>
+    <T_MASTER_DAT.PART_ID4x96>123456789</T_MASTER_DAT.PART_ID4x96>
+    <T_MASTER_DAT.PART_ID5x96>123456789</T_MASTER_DAT.PART_ID5x96>
+    <T_MASTER_DAT.PART_ID6x96>123456789</T_MASTER_DAT.PART_ID6x96>
+    <T_MASTER_DAT.PART_ID7x96>123456789</T_MASTER_DAT.PART_ID7x96>
+    <T_MASTER_DAT.PART_ID8x96>123456789</T_MASTER_DAT.PART_ID8x96>
+    <T_MASTER_DAT.PART_ID9x96>123456789</T_MASTER_DAT.PART_ID9x96>
+    <T_MASTER_DAT.PART_ID10x96>123456789</T_MASTER_DAT.PART_ID10x96>
+    <T_MASTER_DAT.PART_ID11x96>123456789</T_MASTER_DAT.PART_ID11x96>
+    <T_MASTER_DAT.PART_ID12x96>123456789</T_MASTER_DAT.PART_ID12x96>
+    <T_MASTER_DAT.PART_ID13x96>123456789</T_MASTER_DAT.PART_ID13x96>
+    <T_MASTER_DAT.PART_ID14x96>123456789</T_MASTER_DAT.PART_ID14x96>
+    <T_MASTER_DAT.PART_ID15x96>123456789</T_MASTER_DAT.PART_ID15x96>
+    <T_MASTER_DAT.PART_ID16x96>123456789</T_MASTER_DAT.PART_ID16x96>
+    <T_MASTER_DAT.PART_ID17x96>123456789</T_MASTER_DAT.PART_ID17x96>
+    <T_MASTER_DAT.PART_ID18x96>123456789</T_MASTER_DAT.PART_ID18x96>
+    <T_MASTER_DAT.PART_ID19x96>123456789</T_MASTER_DAT.PART_ID19x96>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x97>123456789</T_MASTER_DAT.PART_ID0x97>
+    <T_MASTER_DAT.PART_ID1x97>123456789</T_MASTER_DAT.PART_ID1x97>
+    <T_MASTER_DAT.PART_ID2x97>123456789</T_MASTER_DAT.PART_ID2x97>
+    <T_MASTER_DAT.PART_ID3x97>123456789</T_MASTER_DAT.PART_ID3x97>
+    <T_MASTER_DAT.PART_ID4x97>123456789</T_MASTER_DAT.PART_ID4x97>
+    <T_MASTER_DAT.PART_ID5x97>123456789</T_MASTER_DAT.PART_ID5x97>
+    <T_MASTER_DAT.PART_ID6x97>123456789</T_MASTER_DAT.PART_ID6x97>
+    <T_MASTER_DAT.PART_ID7x97>123456789</T_MASTER_DAT.PART_ID7x97>
+    <T_MASTER_DAT.PART_ID8x97>123456789</T_MASTER_DAT.PART_ID8x97>
+    <T_MASTER_DAT.PART_ID9x97>123456789</T_MASTER_DAT.PART_ID9x97>
+    <T_MASTER_DAT.PART_ID10x97>123456789</T_MASTER_DAT.PART_ID10x97>
+    <T_MASTER_DAT.PART_ID11x97>123456789</T_MASTER_DAT.PART_ID11x97>
+    <T_MASTER_DAT.PART_ID12x97>123456789</T_MASTER_DAT.PART_ID12x97>
+    <T_MASTER_DAT.PART_ID13x97>123456789</T_MASTER_DAT.PART_ID13x97>
+    <T_MASTER_DAT.PART_ID14x97>123456789</T_MASTER_DAT.PART_ID14x97>
+    <T_MASTER_DAT.PART_ID15x97>123456789</T_MASTER_DAT.PART_ID15x97>
+    <T_MASTER_DAT.PART_ID16x97>123456789</T_MASTER_DAT.PART_ID16x97>
+    <T_MASTER_DAT.PART_ID17x97>123456789</T_MASTER_DAT.PART_ID17x97>
+    <T_MASTER_DAT.PART_ID18x97>123456789</T_MASTER_DAT.PART_ID18x97>
+    <T_MASTER_DAT.PART_ID19x97>123456789</T_MASTER_DAT.PART_ID19x97>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x98>123456789</T_MASTER_DAT.PART_ID0x98>
+    <T_MASTER_DAT.PART_ID1x98>123456789</T_MASTER_DAT.PART_ID1x98>
+    <T_MASTER_DAT.PART_ID2x98>123456789</T_MASTER_DAT.PART_ID2x98>
+    <T_MASTER_DAT.PART_ID3x98>123456789</T_MASTER_DAT.PART_ID3x98>
+    <T_MASTER_DAT.PART_ID4x98>123456789</T_MASTER_DAT.PART_ID4x98>
+    <T_MASTER_DAT.PART_ID5x98>123456789</T_MASTER_DAT.PART_ID5x98>
+    <T_MASTER_DAT.PART_ID6x98>123456789</T_MASTER_DAT.PART_ID6x98>
+    <T_MASTER_DAT.PART_ID7x98>123456789</T_MASTER_DAT.PART_ID7x98>
+    <T_MASTER_DAT.PART_ID8x98>123456789</T_MASTER_DAT.PART_ID8x98>
+    <T_MASTER_DAT.PART_ID9x98>123456789</T_MASTER_DAT.PART_ID9x98>
+    <T_MASTER_DAT.PART_ID10x98>123456789</T_MASTER_DAT.PART_ID10x98>
+    <T_MASTER_DAT.PART_ID11x98>123456789</T_MASTER_DAT.PART_ID11x98>
+    <T_MASTER_DAT.PART_ID12x98>123456789</T_MASTER_DAT.PART_ID12x98>
+    <T_MASTER_DAT.PART_ID13x98>123456789</T_MASTER_DAT.PART_ID13x98>
+    <T_MASTER_DAT.PART_ID14x98>123456789</T_MASTER_DAT.PART_ID14x98>
+    <T_MASTER_DAT.PART_ID15x98>123456789</T_MASTER_DAT.PART_ID15x98>
+    <T_MASTER_DAT.PART_ID16x98>123456789</T_MASTER_DAT.PART_ID16x98>
+    <T_MASTER_DAT.PART_ID17x98>123456789</T_MASTER_DAT.PART_ID17x98>
+    <T_MASTER_DAT.PART_ID18x98>123456789</T_MASTER_DAT.PART_ID18x98>
+    <T_MASTER_DAT.PART_ID19x98>123456789</T_MASTER_DAT.PART_ID19x98>
+  </EDB-ART>
+  <EDB-ART>
+    <T_MASTER_DAT.PART_ID0x99>123456789</T_MASTER_DAT.PART_ID0x99>
+    <T_MASTER_DAT.PART_ID1x99>123456789</T_MASTER_DAT.PART_ID1x99>
+    <T_MASTER_DAT.PART_ID2x99>123456789</T_MASTER_DAT.PART_ID2x99>
+    <T_MASTER_DAT.PART_ID3x99>123456789</T_MASTER_DAT.PART_ID3x99>
+    <T_MASTER_DAT.PART_ID4x99>123456789</T_MASTER_DAT.PART_ID4x99>
+    <T_MASTER_DAT.PART_ID5x99>123456789</T_MASTER_DAT.PART_ID5x99>
+    <T_MASTER_DAT.PART_ID6x99>123456789</T_MASTER_DAT.PART_ID6x99>
+    <T_MASTER_DAT.PART_ID7x99>123456789</T_MASTER_DAT.PART_ID7x99>
+    <T_MASTER_DAT.PART_ID8x99>123456789</T_MASTER_DAT.PART_ID8x99>
+    <T_MASTER_DAT.PART_ID9x99>123456789</T_MASTER_DAT.PART_ID9x99>
+    <T_MASTER_DAT.PART_ID10x99>123456789</T_MASTER_DAT.PART_ID10x99>
+    <T_MASTER_DAT.PART_ID11x99>123456789</T_MASTER_DAT.PART_ID11x99>
+    <T_MASTER_DAT.PART_ID12x99>123456789</T_MASTER_DAT.PART_ID12x99>
+    <T_MASTER_DAT.PART_ID13x99>123456789</T_MASTER_DAT.PART_ID13x99>
+    <T_MASTER_DAT.PART_ID14x99>123456789</T_MASTER_DAT.PART_ID14x99>
+    <T_MASTER_DAT.PART_ID15x99>123456789</T_MASTER_DAT.PART_ID15x99>
+    <T_MASTER_DAT.PART_ID16x99>123456789</T_MASTER_DAT.PART_ID16x99>
+    <T_MASTER_DAT.PART_ID17x99>123456789</T_MASTER_DAT.PART_ID17x99>
+    <T_MASTER_DAT.PART_ID18x99>123456789</T_MASTER_DAT.PART_ID18x99>
+    <T_MASTER_DAT.PART_ID19x99>123456789</T_MASTER_DAT.PART_ID19x99>
+  </EDB-ART>
+</plm_result>
diff --git a/xdocs/changes.xml b/xdocs/changes.xml
new file mode 100644
index 0000000..4df15f4
--- /dev/null
+++ b/xdocs/changes.xml
@@ -0,0 +1,322 @@
+<document>
+
+  <properties>
+    <title>dom4j changes</title>
+    <author email="maartenc at users.sourceforge.net">Maarten Coene</author>
+  </properties>
+
+  <body>
+
+    <release version="1.6.1" date="2005-05-16">
+      <action dev="maartenc" type="update" due-to="Wolfgang Baer">
+        Updated the XPP2 implementation to version 2.1.10.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Thomas Fromm">
+        Fixed a problem with <code>XMLWriter</code> that was causing too many
+        new lines to be written to the resulting XML.
+      </action>
+      <action dev="maartenc" type="update" due-to="Gili Tzabari">
+        Include more information about the cause if an <code>XPathException</code>
+        or <code>InvalidXPathException</code> is thrown.
+      </action>
+    </release>
+
+    <release version="1.6" date="2005-04-15">
+      <action dev="maartenc" type="add" due-to="Filip Jirsak">
+        Added a methods to <code>SAXReader</code> allowing to specify the encoding
+        used when reading XML sources.
+      </action>
+      <action dev="maartenc" type="update">
+        Changed the <code>DocumentHelper.parseText(String)</code> method to make sure
+        that the XML encoding is always set (if known) on the returned <code>Document</code>,
+        even if the used SAXParser doesn't provide a way to retrieve that encoding.
+      </action>
+      <action dev="maartenc" type="add">
+        Added a <code>setXMLEncoding(String)</code> method to the <code>Document</code>
+        interface.
+      </action>
+      <action dev="maartenc" type="fix" due-to="John Plaxton">
+        Removed a static <code>OutputFormat</code> field from <code>AbstractBranch</code>.
+        This can cause problems if multiple threads are using the <code>asXML()</code>
+        method simultaniously.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Brett Porter">
+        Fixed a whitespace problem with the pretty-print <code>OutputFormat</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Peter Schaefer">
+        Fixed a bug in the <code>DefaultElement.setContent(List)</code> method that
+        caused incorrectly resetting the parent of the nodes in the list.
+      </action>
+      <action dev="wolfftw" type="remove">
+        Removed <code>persistence</code> package and sub-package.
+      </action>
+      <action dev="wolfftw" type="update">
+        Modified <code>SAXEventRecorder</code> to accomodate sax events generated when
+        writing a <code>DOMDocument</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Pieter Valcke">
+        Fixed a problem in <code>AbstractDocument.asXML()</code> when an encoding was
+        specified on the <code>Document</code>.
+      </action>
+      <action dev="maartenc" type="fix">
+        The <code>DefaultNamespace.isReadOnly()</code> method now returns <code>false</code>.
+        This fixes issues with cloning this <code>Node</code>.
+      </action>
+      <action dev="maartenc" type="update" due-to="Brian Topping">
+        Updated <code>DocumentFactory</code> to create the instance untill the
+        first time it is needed.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Brett Porter">
+        Fixed a bug in <code>Stylesheet</code> when an xpath expressions was used
+        to select the nodes.
+      </action>
+      <action dev="ddlucas" type="add">
+        Added a <code>SingletonStrategy</code> class for managing singletons. This 
+        allows to use different strategies for singletons, like: one instance per 
+        VM, one instance per thread, ... This change removed the usage of 
+        <code>ThreadLocal</code>s.
+      </action>
+    </release>
+
+    <release version="1.5.2" date="2004-11-15">
+      <action dev="maartenc" type="remove">
+        Removed the internal Aelfred2 parser due to incompatible license.
+      </action>
+      <action dev="wolfftw" type="add">
+        Added a <code>SAXEventRecorder</code> that can replay SAX events at a later
+        time. This provides an alternative serialization approach.
+      </action>
+    </release>
+
+    <release version="1.5.1" date="2004-10-29">
+      <action dev="maartenc" type="fix" due-to="Ara Vartanian">
+        Fixed problem where the namespace prefix was lost using <code>DOMDocument</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="David Karlsen">
+        Fixed bug in <code>Document.asXML()</code> which ignored the encoding
+        of the document.
+      </action>
+      <action dev="maartenc" type="update">
+        Updated <code>NamespaceCache</code> to use <code>WeakReference</code>s
+        to allow <code>Namespace</code> objects to be garbage collected.
+      </action>
+      <action dev="maartenc" type="update" due-to="Wonne Keysers">
+        Updated <code>JAXBReader</code> to allow ElementHandlers to be notified 
+	when the specified path is encountered, without having to unmarshall 
+	XML content.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Daniel Hopper">
+        Fixed a bug in <code>XMLWriter</code> where a <code>NullPointerException</code>
+        was thrown if trying to write a CData section containing <code>null</code>
+        content.
+      </action>
+      <action dev="maartenc" type="update">
+        Modified the internal Aelfred2 parser to no longer support the
+        SAX2 Extensions 1.1 API. As a result, the SAX2 sources are no
+        included with dom4j.
+      </action>
+      <action dev="maartenc" type="add" due-to="Pelle Braendgaard">
+        Added support for the XPP3 parser.
+      </action>
+    </release>
+
+    <release version="1.5" date="2004-09-03">
+      <action dev="maartenc" type="fix" due-to="Dion Gillard">
+        Fixed bug in <code>XMLWriter.characters(...)</code> where the escapeText
+        property of the writer was ignored.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Peter Stibrany">
+        Fixed the <code>Stylesheet.removeRule(Rule)</code> method which didn't remove the
+        <code>Rule</code> but added it again.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Robert Koberg">
+        Fixed bug in <code>BackedList</code> causing new elements to always
+        be added at the first position if the size of the list is 1.
+      </action>
+      <action dev="maartenc" type="update">
+        Upgraded the internal Aelfred2 parser to the latest version.
+      </action>
+      <action dev="maartenc" type="add" due-to="Wonne Keysers">
+        Added initial JAXB support.
+      </action>
+      <action dev="maartenc" type="update" due-to="Christian Niles">
+        Updated the STAX classes to provide document encoding.
+      </action>
+      <action dev="maartenc" type="add">
+        Added <code>getXMLEncoding()</code> method to <code>org.dom4j.Document</code>
+        which returns the encoding of the document.
+      </action>
+    </release>
+
+    <release version="1.5-rc1" date="2004-07-04">
+      <action dev="maartenc" type="remove">
+        Removed the <code>DocumentHelper.parseText(String xml, String encoding)</code>
+        method that was introduced in dom4j-1.5-beta2.
+      </action>
+      <action dev="maartenc" type="update">
+        Added the GNU JAXP DOM implementation to the default list of implementations in 
+        <code>DOMWriter</code>.
+      </action>
+      <action dev="maartenc" type="update" due-to="Wonne Keysers">
+        Added method to <code>ElementStack</code> and <code>DispatchHandler</code> to check
+        if a handler is registered for a given path.
+      </action>
+      <action dev="maartenc" type="update" due-to="Wonne Keysers">
+        <code>ElementStack</code> is now a public class.
+      </action>
+      <action dev="maartenc" type="update" due-to="Wonne Keysers">
+        <code>SAXContentHandler.endElement(...)</code> can now throw <code>SAXException</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Aaron Bell">
+        Added the namespace-prefix of attributes to the paths returned by
+        <code>Attribute.getPath(Element context)</code> and 
+        <code>Attribute.getUniquePath(Element context)</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Marc Pellmann">
+        <code>Element.declaredNamespaces()</code> now only returns the namespaces that are
+        declared on that element. <code>Element.additionalNamespaces()</code>
+        now only returns namespaces that are declared on that element and is not the same as the
+        namespace of that element.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Marc Pellmann">
+        Escape the values of internal DTD entity declarations when serializing to XML.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Rob Grzywinski">
+        Fixed bug in <code>AbstractElement</code> causing <code>Node.getPath(Element context)</code> to
+        return an absolute path, even if a the current element was the same as the context element. The
+        relative path "." is now returned.
+      </action>
+      <action dev="maartenc" type="add" due-to="Thomas Diesler">
+        Added method to <code>Element</code> to retrieve all <code>Namespaces</code> for a given URI.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Thomas Diesler">
+        Fixed bug in <code>DOMReader</code> causing namespace declarations to get lost in some situations.
+      </action>
+      <action dev="maartenc" type="add" due-to="Ben Scarlet">
+        Added a <code>booleanValueOf(Object node)</code> method to <code>XPath</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Wonne Keysers">
+        Fixed bug in <code>BeanElement</code> which prevented proper execution of the bean samples.
+      </action>
+      <action dev="maartenc" type="update" due-to="Christian Niles">
+        <code>STAXEventWriter</code> now uses <code>XMLEventConsumer</code> instead of <code>XMLEventWriter</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Paul Libbrecht">
+        Fixed bug in <code>SAXReader</code> that caused problems parsing files in OSX.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Paul Libbrecht">
+        Fixed bug in <code>XMLWriter</code> that caused whitespace to be added between successive 
+        calls of the <code>characters(...)</code> method. This is used particularly frequent in Apache Jelly.
+      </action>
+      <action dev="maartenc" type="update" due-to="Brett Finnell">
+        Improved performance of <code>NamespaceCache</code> in multithreaded environments.
+      </action>
+    </release>
+
+    <release version="1.5-beta-2" date="2004-05-12">
+      <action dev="wolfftw" type="add">
+        Added flag to <code>OutputFormat</code> that supresses newline after XML declaration.
+      </action>
+      <action dev="maartenc" type="update">
+        Upgraded dependencies to their latest version on ibiblio.
+      </action>
+      <action dev="maartenc" type="add" due-to="Todd Wolff">
+        Added method to <code>DocumentHelper</code> that allows user to specify encoding when parsing an xml <code>String</code>.
+      </action>
+      <action dev="maartenc" type="fix">
+        Fixed a ClassCastException bug in <code>BeanElement</code>.
+      </action>
+      <action dev="maartenc" type="fix">
+        Fixed a bug in <code>SAXContentHandler</code> which caused a <code>NullPointerException</code> in some situations.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Todd Wolff">
+        Fixed bug which prevented an element's namespace prefix from being registered for use in xpath expressions.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Todd Wolff">
+        Fixed bug in <code>XMLWriter</code> that caused duplication of the default namespace declaration.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Curt Arnold">
+        Added a bunch of patches to make the dom4j DOM classes more DOM compliant.
+      </action>
+      <action dev="maartenc" type="update" due-to="Ricardo Leon">
+        Fixed bug in <code>DispatchHandler</code> which made the handler not reusable.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Todd Wolff">
+        Fixed bug in <code>SAXContentHandler</code> that caused incorrect CDATA section parsing.
+      </action>
+      <action dev="maartenc" type="fix">
+        Fixed bug in <code>SAXContentHandler</code> that caused incorrect entity handling.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Bo Gundersen">
+        Fixed bug in <code>XMLWriter</code> causing padding to be disabled, even if enabled in the specified outputformat.
+      </action>
+      <action dev="maartenc" type="add" due-to="Christian Niles">
+        Added initial support for STaX streams.
+      </action>
+    </release>
+
+    <release version="1.5-beta-1" date="2004-03-25">
+      <action dev="maartenc" type="fix">
+        Fixed encoding bug in <code>Document.asXML()</code> and <code>DocumentHelper.parseText()</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Kohsuke Kawaguchi">
+        Fixed bug in <code>SAXReader</code> that caused problems resolving relative URIs when parsing <code>java.io.File</code> Objects.
+      </action>
+      <action dev="maartenc" type="update">
+        The iterators returned by the <code>Element.elementIterator(...)</code> methods now support <code>remove()</code>.
+      </action>
+      <action dev="maartenc" type="update" due-to="Geert Dendoncker and Joury Gokel">
+        <code>DOMWriter</code> writes now DOM Level 2 attributes and elements.
+      </action>
+      <action dev="maartenc" type="update">
+        Use latest implementation of the Aelfred parser.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Bryan Thompson">
+        Fixed some problems with internal/external DTD declarations.
+      </action>
+      <action dev="maartenc" type="update">
+        Upgraded to Jaxen 1.1 beta 2.
+      </action>
+      <action dev="maartenc" type="update">
+        Ignore attribute order when comparing elements in <code>NodeComparator</code>.
+      </action>
+      <action dev="maartenc" type="update">
+        Fixed bug in <code>XMLWriter</code> where namespace declarations were duplicated.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Vladimir Kralik">
+        Fixed bug in parsing a <code>ProcessingInstruction</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Mark Diggory">
+        Added support for <code>Stylesheet</code> modes.
+      </action>
+      <action dev="maartenc" type="update" due-to="Christian Niles">
+        Don't escape " and ' characters in attribute values if it's not necessary.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Henner Kollmann">
+        Fixed some <code>DOMNodeHelper</code> issues.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Thomas Draier">
+        Fixed some datatype issues.
+      </action>
+      <action dev="maartenc" type="fix">
+        Fixed an bug where the EntityResolver was not set on the XMLReader.
+      </action>
+      <action dev="slehmann" type="fix">
+        Fixed multithreaded access on <code>DefaultElement</code>.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Geoffrey Vlassaks">
+        Fixed problem parsing XML Files.
+      </action>
+      <action dev="ddlucas" type="update">
+        Added xml:space attribute support based on XML Specification 1.0.
+      </action>
+      <action dev="maartenc" type="update">
+        Maven build of dom4j is now nearly complete. Maven is now used for the website generation.
+      </action>
+      <action dev="maartenc" type="fix" due-to="Alessandro Vernet">
+        Fixed some bugs in BackedList.
+      </action>
+    </release>
+
+  </body>
+</document>
\ No newline at end of file
diff --git a/xdocs/compare.xml b/xdocs/compare.xml
new file mode 100644
index 0000000..3922911
--- /dev/null
+++ b/xdocs/compare.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document>
+
+  <properties>
+    <title>XML Object Model Comparisons</title>
+    <author email="jstrachan at apache.org">James Strachan</author>
+ </properties>
+ 
+  <body>
+    
+    <section name="Comparison">
+      <p>This page attempts to survey the landscape of available XML object 
+        models and compare and contrast their features.
+        The information in this table is correct to the best of our knowledge
+        and we will try and keep this information as up to date as possible.
+        If you think there's anything wrong, please let us know 
+        <a href="mailto:dom4j-dev at lists.sourceforge.net">here</a>.
+      </p>
+
+      <table width="100%">
+        <tr>
+            <th align="left">Feature</th>
+            <th align="left"><a href="http://www.w3.org/DOM/">WC3 DOM</a></th>
+            <th align="left"><a href="http://www.dom4j.org"><i>DOM4J 1.5</i></a></th>
+            <th align="left"><a href="http://www.jdom.org">JDOM 1.0</a></th>
+            <th align="left"><a href="http://www.cafeconleche.org/XOM/">XOM 1.O</a></th>
+        </tr>
+        <tr>
+            <td>Open Source</td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>Yes</td>
+        </tr>
+        <tr>
+            <td>Based on Java Interfaces</td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>No</td>
+            <td>No</td>
+        </tr>
+        <tr>
+            <td>Supports Java 2 Collections</td>
+            <td>No</td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>No</td>
+        </tr>
+        <tr>
+            <td>Can use any SAX parser and XMLFilter</td>
+            <td>Yes (usually)</td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>Yes</td>
+        </tr>
+        <tr>
+            <td>Convert to and from DOM trees</td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>Yes</td>
+        </tr>
+        <tr>
+            <td>Implements DOM interfaces</td>
+            <td>Yes</td>
+            <td>Yes (optional)</td>
+            <td>No</td>
+            <td>No</td>
+        </tr>
+        <tr>
+            <td>Integrated XPath API support</td>
+            <td>No</td>
+            <td>Yes</td>
+            <td>No</td>
+            <td>No</td>
+        </tr>
+        <tr>
+            <td>Bundled XPath implementation</td>
+            <td>No</td>
+            <td>Yes</td>
+            <td>Optional</td>
+            <td>No</td>
+        </tr>
+        <tr>
+            <td>Support for JAXP/TrAX for XSLT integration</td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>Yes</td>
+            <td>Yes</td>
+        </tr>
+        <tr>
+            <td>Capable of processing a continuous XML streams</td>
+            <td>Don't know</td>
+            <td>Yes</td>
+            <td>No</td>
+            <td>Yes</td>
+        </tr>
+        <tr>
+            <td>Capable of processing massive documents</td>
+            <td>Don't know</td>
+            <td>Yes</td>
+            <td>No</td>
+            <td>Yes</td>
+        </tr>
+        <tr>
+            <td>XML Schema Data Type support</td>
+            <td>No</td>
+            <td>Yes</td>
+            <td>No</td>
+            <td>Don't know</td>
+        </tr>
+        <tr>
+            <td>XInclude support</td>
+            <td>Don't know</td>
+            <td>No</td>
+            <td>No</td>
+            <td>Yes</td>
+        </tr>
+        <tr>
+            <td>Canonical XML support</td>
+            <td>Don't know</td>
+            <td>No</td>
+            <td>No</td>
+            <td>Yes</td>
+        </tr>
+      </table>
+
+    </section>
+
+    <section name="Performance">
+      <p>Dennis Sosnoski has published an interesting article on IBM's developerWorks 
+        which compares the performance of a 
+        variety of XML document models for the Java platform including dom4j.
+        You can find the very interesting results 
+        <a href="http://www-106.ibm.com/developerworks/xml/library/x-injava/index.html">here</a>.
+      </p>
+      <p>
+        Also you might find these new <a href="benchmarks/xpath/index.html">Performance Benchmarks</a> 
+        interesting comparing dom4j and Jaxen against Xerces and Xalan. 
+      </p>
+    </section>
+
+  </body>
+</document>
+
+
+
+
+
+
+
+
+
diff --git a/xdocs/download.xml b/xdocs/download.xml
new file mode 100644
index 0000000..6669c65
--- /dev/null
+++ b/xdocs/download.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<document url="http://www.dom4j.org/download.xml">
+
+  <properties>
+    <title>Download dom4j</title>
+    <author email="jstrachan at apache.org">James Strachan</author>
+ </properties>
+ 
+  <body>
+    
+    <section name="Download the current release">
+      <p>The current release can be downloaded at
+        <a href="http://sourceforge.net/project/showfiles.php?group_id=16035">SourceForge</a>
+      </p>
+    </section>
+
+    <section name="Download a snapshot build">
+    	<p>
+    		You can download an interim snapshot build from the 
+    		<a href="http://www.ibiblio.org/maven/dom4j/jars/">Maven repository</a>
+    	</p>     
+    </section>
+
+    <section name="Obtaining the latest CVS snapshot">
+      
+      <p>
+        You can browse the current CVS repository 
+        <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dom4j/">here</a>
+      </p>
+
+      <p>To learn more about CVS go <a href="http://www.cvshome.org/">here</a>.
+      </p>
+
+      <section name="Anonymous CVS Access">
+        <p>
+        This project's SourceForge CVS repository can be checked out through anonymous 
+        (pserver) <a href="http://www.cvshome.org/">CVS</a> with the following instruction set. 
+        When prompted for a password for anonymous, simply press the Enter key. 
+        </p>
+        <pre>
+cvs -d:pserver:anonymous at cvs.dom4j.org:/cvsroot/dom4j login 
+
+cvs -d:pserver:anonymous at cvs.dom4j.org:/cvsroot/dom4j co dom4j
+        </pre>
+        <p>Updates from within the module's directory do not need the -d parameter.
+        </p>
+      </section>
+
+      <section name="Developer CVS Access via SSH">
+        <p>
+        Only project developers can access the CVS tree via this method. 
+        SSH1 must be installed on your client machine. 
+        Substitute developername with the proper values. 
+        Enter your site password when prompted.
+        </p>
+
+        <pre>
+export CVS_RSH=ssh 
+ 
+cvs -d:ext:developername at cvs.dom4j.org:/cvsroot/dom4j co dom4j
+        </pre>
+      </section>
+
+    </section>
+  </body>
+</document>
diff --git a/xdocs/faq.fml b/xdocs/faq.fml
new file mode 100644
index 0000000..00294e2
--- /dev/null
+++ b/xdocs/faq.fml
@@ -0,0 +1,632 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faqs title="Frequently Asked Questions">
+
+<part id="general">
+  <title>General</title>
+    
+  <faq id="whats-dom4j">
+    <question>What is dom4j?</question>
+    <answer>
+      <p><i>dom4j</i> is an Open Source XML framework for Java.
+      <i>dom4j</i> allows you to read, write, navigate, create and modify 
+      XML documents. 
+      <i>dom4j</i> integrates with DOM and SAX and is seamlessly integrated 
+      with full XPath support.
+      </p>
+    </answer>
+  </faq>
+
+  <faq id="whats-license">
+    <question>What is the dom4j license?</question>
+    <answer>
+      <p>We use an Apache-style open source license which is one of the least
+        restrictive licenses around, you can use <i>dom4j</i> to create new products
+        without them having to be open source.
+      </p>
+      <p>You can find a copy of the license <a href="license.html">here</a>.
+      </p>
+    </answer>
+  </faq>
+
+  <faq id="classpath">
+    <question>What do I need to add to my CLASSPATH?</question>
+    <answer>
+      <p>The dom4j.jar only contains the dom4j classes. If you want to use a SAX parser,
+         you'll have to include the SAX classes and the SAX parser of your choice to your
+         CLASSPATH. If you want to use XPath expressions, you also have to include the
+         jaxen.jar to your CLASSPATH.
+      </p>
+      <p><i>dom4j</i> can use your existing XML parser and/or DOM implementation 
+        (such as <a href="http://xml.apache.org/crimson/">Crimson</a> or 
+        <a href="http://xml.apache.org/xerces-j/">Xerces</a> if you want it to. <i>dom4j</i> can also use
+        <a href="http://java.sun.com/xml/">JAXP</a> to configure which SAX Parser to use - just add the 
+        jaxp.jar to your CLASSPATH and whichever SAX parser you wish away you go.
+      </p>
+    </answer>
+  </faq>
+
+  <faq id="whats-dom4j-v-dom">
+    <question>How does dom4j relate to DOM?</question>
+    <answer>
+      <p>DOM is a quite large language independent API.
+        <i>dom4j</i> is a simpler, lightweight API making extensive use of standard Java APIs such as the 
+        Java 2 collections API.
+      </p>
+      <p>Remark that <i>dom4j</i> fully supports the DOM standard allowing both APIs to be 
+        used easily together.
+      </p>
+    </answer>
+  </faq>
+
+  <faq id="whats-dom4j-v-jdom">
+    <question>How does dom4j relate to JDOM?</question>
+    <answer>
+      <p><i>dom4j</i> is a different project and different API to JDOM
+        though they both have similar goals. They both attempt to make it easier
+        to use XML on the Java platform. 
+        They differ in their design, API and implementation.
+      </p>
+      <p><i>dom4j</i> is based on Java interfaces so that plug and play 
+        document object model implementations are allowed and encouraged
+        such as small, read only, quick to create implementations or 
+        bigger, highly indexed fast to naviagte implementations or 
+        implementations which read themselves lazily from a database or 
+        Java Beans etc.
+      </p>
+      <p><i>dom4j</i> uses polymorphism extensively such that all document object types 
+        implement the Node interface. 
+        Also both the Element and Document interfaces can be used polymorphically
+        as they both extend the Branch interface.
+      </p>
+
+      <p><i>dom4j</i> is fully integrated with XPath support throughout the API 
+        so doing XPath expressions is as easy as
+      </p>
+<pre>
+SAXReader reader = new SAXReader();
+Document document = reader.read( url );
+List links = document.selectNodes( "//a[@href]" );
+String title = document.valueOf( "/head/title" );
+</pre>
+      <p><i>dom4j</i> will soon provide a configuration option to
+        support the W3C DOM API natively to avoid unnecessary tree duplication
+        when using <i>dom4j</i> with XSLT engines etc.
+      </p>
+    </answer>
+  </faq>
+
+  <faq id="dom4j-sax">
+    <question>How does dom4j work with DOM and SAX?</question>
+    <answer>
+      <p>You can create <i>dom4j</i> documents from XML text, SAX events or existing 
+        DOM trees or you can write <i>dom4j</i> documents as SAX events, DOM trees 
+        or XML text.
+      </p>
+    </answer>
+  </faq>
+</part>
+
+
+<part id="using">
+  <title>Using dom4j</title>
+    
+  <faq id="dom4j-xslt">
+    <question>How can I use XSLT with dom4j?</question>
+    <answer>
+      <p><i>dom4j</i> integrates with XSLT using the JAXP standard (TrAX) APIs.
+        A <i>dom4j</i> Document can be used as the source of XML to be styled or 
+        the source of the stylesheet. 
+        A <i>dom4j</i> Document can also be used as the result of a transformation. 
+      </p>
+      <p>First you'll need to use JAXP to load a Transformer.
+      </p>
+<pre>
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+import org.dom4j.Document;
+import org.dom4j.DocumentResult;
+import org.dom4j.DocumentSource;
+...
+
+TransformerFactory factory 
+  = TransformerFactory.newInstance();
+
+Transformer transformer 
+  = factory.newTransformer( new StreamSource( "foo.xsl" ) );
+</pre>
+      <p>Now that you have a transformer its easy to style a Document into 
+      a new Document.
+      </p>
+<pre>
+DocumentSource source = new DocumentSource( document );
+DocumentResult result = new DocumentResult();
+transformer.transform( source, result );
+
+Document transformedDoc = result.getDocument();
+</pre>
+      <p>If you want to transform a Document into XML text you can use JAXP as follows:-
+      </p>
+<pre>
+DocumentSource source = new DocumentSource( document );
+DocumentResult result = new StreamResult( new FileReader( "output.xml" ) );
+transformer.transform( source, result );
+</pre>
+      <p>For more information on JAXP and (TrAX) try 
+        <a href="http://java.sun.com/xml/">Sun's JAXP site</a>.
+      </p>
+    </answer>
+  </faq>
+
+  <faq id="pretty-print">
+    <question>How can I pretty print my XML document?</question>
+    <answer>
+      <p>You can control the format of the XML text output by
+        <a href="apidocs/org/dom4j/io/XMLWriter.html">XMLWriter</a>
+        by using the
+        <a href="apidocs/org/dom4j/io/OutputFormat.html">OutputFormat</a>
+        object.
+        You can explicitly set the various formatting options via the 
+        properties methods of the OutputFormat object. There is also a helper
+        method <code>OutputFormat.createPrettyPrint()</code> which creates 
+        the default pretty-print format.
+      </p>
+      <p>So to pretty print some XML (trimming all whitespace and indenting nicely)
+        the following code should do the job...
+      </p>
+<pre>
+    OutputFormat format = OutputFormat.createPrettyPrint();
+    XMLWriter writer = new XMLWriter( out, format );
+    writer.write( document );
+    writer.close();
+</pre>
+    </answer>
+  </faq>
+
+    
+  <faq id="from-string">
+    <question>How can I parse a document from a String?</question>
+    <answer>
+      <p>Sometimes you have a String (or StringBuffer) which contains the XML 
+        to be parsed. This can be parsed using <code>SAXReader</code>
+        and the <code>StringReader</code> from the JDK. For example:-
+      </p>
+      <pre>
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.DocumentHelper;
+
+public class Foo {
+
+    public Document getDocument() throws DocumentException {
+        return DocumentHelper.parseText( 
+            "<root> <child id='1'>James</child> </root>"
+        );
+    }
+}
+      </pre>
+    </answer>
+  </faq>
+
+
+  <faq id="compare-nodes">
+    <question>How do I compare 2 nodes for equality?</question>
+    <answer>
+      <p><i>dom4j</i> by default uses identity based equality for performance.
+        It avoids having to walk entire documents or document fragments when
+        putting nodes in collections.
+      </p>
+      <p>To compare 2 nodes (attributes, elements, documents etc) for equality
+      the <a href="apidocs/org/dom4j/util/NodeComparator.html">NodeComparator</a> can be
+      used.
+      </p>
+<pre>
+    Node node1 = ...;
+    Node node2 = ...;
+    NodeComparator comparator = new NodeComparator();
+    if ( comparator.compare( node1, node2 ) == 0 ) {
+        // nodes are equal!
+    }
+</pre>
+
+    <p>If you are having problems comparing documents that you think
+      are equal but the NodeComparator decides that they are different, 
+     you might find the following useful.
+    </p>
+
+    <p>In dom4j/test/src/org/dom4j/AbstractTestCase.java is-a JUnit TestCase and is
+      an abstract base class for dom4j test cases. It contains a whole bunch of
+      useful assertion helper methods for testing documents, nodes and fragments
+      being equal. The nice thing is that you get useful messages telling you
+      exactly why they are different, so its pretty easy to track down.
+      For example.
+    </p>
+<pre>    
+public MyTest extends AbstractTestCase {
+    ...
+    public void testSomething() {
+        Document doc1 = ...;
+        Document doc2 = ...;
+
+        assertDocumentsEqual( doc1, doc2 );
+        ...
+
+        assertNodesEqual( doc1.getRootElement(), doc2.getRootElement() );
+    }
+}
+</pre>
+    </answer>
+  </faq>
+
+  <faq id="large-doc">
+    <question>How does dom4j handle very large XML documents?</question>
+    <answer>
+      <p><i>dom4j</i> provides an event based model for processing XML documents.
+        Using this event based model allows developers to prune the XML tree
+        when parts of the document have been successfully processed avoiding
+        having to keep the entire document in memory.
+      </p>
+      <p>For example, imagine you need to process a very large XML file that is 
+        generated externally by some database process and looks something like 
+        the following (where N is a very large number).
+      </p>
+      <pre>
+<![CDATA[<ROWSET>
+    <ROW id="1">
+        ...
+    </ROW>
+    <ROW id="2">
+        ...
+    </ROW>
+    ...
+    <ROW id="N">
+        ...
+    </ROW>
+</ROWSET>]]>     
+      </pre>
+      <p>We can process each <ROW> at a time, there is no 
+        need to keep all of them in memory at once.
+        <i>dom4j</i> provides a <i>Event Based Mode</i> for this purpose. 
+        We can register an event handler for one or more path expressions.
+        These handlers will then be called on the start and end of each path
+        registered against a particular handler.  When the start tag of a 
+        path is found, the onStart method of the handler registered to the 
+        path is called.  When the end tag of a path if found, the onEnd method 
+        of the handler registered to that path is called.
+      </p>
+      <p>
+        The onStart and onEnd methods are passed an instance of an ElementPath,
+        which can be used to retrieve the current Element for the given path.
+        If the handler wishes to "prune" the tree being built in order to 
+        save memory use, it can simply call the detach() method of the current
+        Element being processed in the handlers onEnd() method.
+      </p>
+      <p>
+        So to process each <ROW> individually we can do the following.
+      </p>
+      <pre>
+// enable pruning mode to call me back as each ROW is complete
+SAXReader reader = new SAXReader();
+reader.addHandler( "/ROWSET/ROW", 
+    new ElementHandler() {
+        public void onStart(ElementPath path) {
+            // do nothing here...    
+        }
+        public void onEnd(ElementPath path) {
+            // process a ROW element
+            Element row = path.getCurrent();
+            Element rowSet = row.getParent();
+            Document document = row.getDocument();
+            ...
+            // prune the tree
+            row.detach();
+        }
+    }
+);
+
+Document document = reader.read(url);
+
+// The document will now be complete but all the ROW elements
+// will have been pruned.
+// We may want to do some final processing now
+...
+      </pre>
+    </answer>
+  </faq>
+
+
+  <faq id="visitor">
+    <question>Does dom4j support the Visitor Pattern?</question>
+    <answer>
+      <p>Yes. <i>dom4j</i> supports the visitor pattern via the 
+          <a href="apidocs/org/dom4j/Visitor.html">Visitor</a> interface.
+      </p>
+      <p>Here is an example.
+      </p>
+      <pre>
+protected void foo(Document doc) {
+  
+    // lets use the Visitor Pattern to 
+    // navigate the document for entities
+
+    Visitor visitor = new VisitorSupport() {
+        public void visit(Entity entity) {
+            System.out.println( 
+                "Entity name: " + entity.getName() 
+                + " text: " + entity.getText() 
+            );
+        }
+    };
+
+    doc.accept( visitor );
+}
+      </pre>
+    </answer>
+  </faq>
+
+
+  <faq id="sort-select">
+    <question>Can I sort the List returned by Node.selectNodes()?</question>
+    <answer>
+      <p>Yes. The selectNodes() is a really useful feature to allow nodes to be
+        selected from any object in the <i>dom4j</i> object model via an XPath expression. 
+        The List that is returned can be sorted by
+        specifying another XPath expression to use as the sorting comparator.
+      </p>
+      <p>
+      For example the following code parses an XML play and finds all the
+      SPEAKER elements sorted in name order. 
+      </p>
+      <pre>
+SAXReader reader = new SAXReader();
+Document document = reader.read( new File( "xml/much_ado.xml" ) );
+List speakers = document.selectNodes( "//SPEAKER", "." );
+      </pre>
+      <p>
+      In the above example the name of the SPEAKER is
+      defined by the XPath expression "." as the name is stored in the text 
+      of the SPEAKER element. 
+      If the name was defined by an attribute called "name" then 
+      the XPath expression "@name" should be used for sorting.
+      </p>
+      <p>
+      You may wish to remove duplicates while sorting such that (for example)
+      the distinct list of SPEAKER elements is returned, sorted by name.
+      To do this add an extra parameter to the selectNodes() method call.
+      </p>
+      <pre>
+List distinctSpeakers = document.selectNodes( "//SPEAKER", ".", true );
+      </pre>
+    </answer>
+  </faq>
+
+  <faq id="whats-optional">
+    <question>What features are optional in dom4j?</question>
+    <answer>
+      <p>In <i>dom4j</i> being able to navigate up a tree towards the parent
+        and to be able to change a tree are optional features. 
+        These features are optional so that an implementation
+        can create memory efficient read only document models which
+        conserve memory by sharing imutable objects (such as interning 
+        Atttributes).
+      </p>
+        
+      <p>There are some helper methods to determine if optional features are 
+        implemented. 
+        Here is some example code demonstrating their use.
+      </p>
+      <pre>
+protected void foo(Node node) {
+  
+    // can we do upward navigation?
+    if ( ! node.supportsParent() ) {
+        throw new UnsupportedOperationException(
+          "Cannot navigate upwards to parent"
+        );
+    }
+    Element parent = node.getParent();
+
+    System.out.println( "Node: " + node 
+        + " has parent: " + parent 
+    );
+
+    if ( parent != null ) {
+
+        // can I modify the parent?
+        if ( parent.isReadOnly() ) {
+            throw new UnsupportedOperationException(
+              "Cannot modify parent as it is read only"
+            );
+        }
+
+        parent.setAttributeValue( "bar", "modified" );
+    }
+}
+      </pre>
+    </answer>
+  </faq>
+
+  <faq id="why-jaxp-warning">
+    <question>What does the following mean 'Warning: Error occurred using JAXP to load a SAXParser. Will use Aelfred instead'</question>
+    <answer>
+      <p>
+        If dom4j detects JAXP on the classpath it tries to use it to load a SAX parser. 
+        If it can't load the SAX parser via JAXP it then tries to use the 
+        <code>org.xml.sax.driver</code> system property to denote the SAX parser to use.
+        If none of the above work dom4j outputs a warning and continues, using its own 
+        internal Aelfred2 parser instead. 
+      </p>
+      <p>
+        The following warning is a result of JAXP being in the classpath but either 
+        an old JAXP1.0 version
+        was found (rather than JAXP 1.1) or there is no JAXP configured parser 
+        (such as crimson.jar or xerces.jar) on the classpath. 
+      </p>
+<pre>
+Warning: Error occurred using JAXP to load a SAXParser. Will use Aelfred instead
+</pre>
+      <p>        
+        So the warning generally indicates an incomplete JAXP classpath and is 
+        nothing to worry excessively about.
+        If you'd like to see the full verbose reason why the load of a JAXP 
+        parser failed then you can try setting the system property 
+        <code>org.dom4j.verbose=true</code>. e.g.
+      </p>
+<pre>
+java -Dorg.dom4j.verbose=true MyApp
+</pre>
+      <p>And you should see a verbose list of why the load of a SAX parser 
+        via JAXP failed. 
+      </p>
+      
+      <p>
+        To avoid this warning happening either remove the jaxp.jar 
+        from your classpath or add a JAXP 1.1. jaxp.jar together with a JAXP 1.1
+        parser such as crimson.jar or xerces.jar
+        to your classpath.
+      </p>
+    </answer>
+  </faq>
+
+
+  <faq id="what-parser">
+    <question>What XML parser does dom4j use?</question>
+    <answer>
+      <p>dom4j works with any SAX parser via JAXP. So putting 
+        a recent distribution of crimson.jar or xerces.jar on 
+        the CLASSPATH will allow Crimson or Xerces's parser to be used.
+      </p>
+      <p>If no SAX parser is on the classpath via JAXP or the SAX
+        org.xml.sax.driver system property then the embedded Aelfred 
+        distribution will be used instead. Note that the embedded
+        Aelfred distribution is a non validating parser, though it is quite fast
+      </p>
+    </answer>
+  </faq>
+
+  <faq id="how-validate">
+    <question>How can I validate my document?</question>
+    <answer>
+      <p>If a recent version of crimson.jar or xerces.jar is on the CLASSPATH 
+      then dom4j will use that as the SAX parser via JAXP. 
+      If none of these are on the CLASSPATH then a bundled version of Aelfred is used, 
+      which does not validate.
+      </p>
+
+      <p>So to perform DTD validation when parsing put crimson.jar or xerces.jar on 
+        the CLASSPATH. If you wish to validate against an XML Schema then try xerces.jar.
+        Then use the following code.</p>
+
+<pre>
+// turn validation on
+SAXReader reader = new SAXReader(true);
+Document document = reader.read( "foo.xml" );
+</pre>
+
+		<p>
+		Note: if you want to validate against an XML Schema with xerces, 
+		you need to enable the XML Schema validation with the "setFeature" method.
+		For more information about
+		<a href="http://xml.apache.org/xerces2-j/features.html">xerces features</a>
+		visit the xerces website.
+		Below is a code sample to enable XML Schema validation.
+		</p>
+
+<pre>
+// turn validation on
+SAXReader reader = new SAXReader(true);
+// request XML Schema validation
+reader.setFeature("http://apache.org/xml/features/validation/schema", true);
+Document document = reader.read( "foo.xml" );
+</pre>
+
+
+      <p>An alternative approach is to use Sun's MSV library for validation, 
+      which allows you to use DTD, XML Schema, Relax NG, Relax or TREX as the 
+      schema languages. 
+      There's an example in the daily build at dom4j/src/samples/validate/JARVDemo.java
+      </p>
+
+      <p>If you are validating an existing dom4j document then we recommend 
+      you try MSV as it avoids turning the document into text and then parsing 
+      it again - MSV can work purely off of SAX events generated from the dom4j document.
+      </p>
+
+      <p>Using this approach your code will actually be based on the 
+        <a href="http://iso-relax.sourceforge.net/JARV/">JARV</a> API 
+        which allows alternative validation mechanisms to
+        be plugged into your code.
+      </p>		
+    </answer>
+  </faq>
+
+  <faq id="import-vaj">
+    <question>How do I import dom4j into VAJ?</question>
+    <answer>
+    
+    <p>VisualAge for Java checks all dependencies in a JAR and displays
+      warnings if there are any unresolved links.
+      To avoid any warnings the following steps should be followed
+      (thanks to Jan Haluza for this).
+    </p>
+    <ol>
+      <li>Uninstall all the packages having anything in common with the xml 
+        (com.ibm.xml* , org.w3c.dom ..) (these packages contains older
+        definitions DOM ver. 1 ...
+      </li>
+      <li>Install the following jars<pre>
+dom4j.jar
+xalan.jar
+PullParser.jar  
+relaxng.jar
+msv.jar
+isorelax.jar
+xsdlib.jar
+crimson.jar
+</pre>
+      </li>
+    </ol>
+    </answer>
+  </faq>
+
+  <faq id="cannot-find-dtd">
+    <question>Cannot find DTD; how can I tell dom4j where to find the DTD from a DOCTYPE?</question>
+    <answer>
+    
+	<p>
+A common way around this is to implement a SAX EntityResolver to load the
+DTD from somewhere else. e.g. you could include the DTD in your JAR with
+your java code and load it from there.
+	</p>
+
+<pre>
+EntityResolver resolver = new EntityResolver() {
+    public InputSource resolveEntity(String publicId, String systemId) {
+        if ( publicId.equals( "-//Acme//DTD Foo 1.2//EN" ) ) {
+            InputStream in = getClass().getResourceAsStream(
+                "com/acme/foo.dtd"
+            );
+            return new InputSource( in );
+        }
+        return null;
+    }
+};
+
+SAXReader reader = new SAXReader();
+reader.setEntityResolver( resolver );
+Document doc = reader.parse( "foo.xml" );
+</pre>
+    </answer>
+  </faq>
+
+</part>
+</faqs>
+
+
+
+
+
+
+
+
+
diff --git a/xdocs/goals.xml b/xdocs/goals.xml
new file mode 100644
index 0000000..48b61d4
--- /dev/null
+++ b/xdocs/goals.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document url="http://www.dom4j.org/goals.xml">
+
+  <properties>
+    <title>Design Goals</title>
+    <author email="jstrachan at apache.org">James Strachan</author>
+ </properties>
+ 
+  <body>
+    
+    <header>
+      <p>This document outlines our design goals for <i>dom4j</i> and our 
+        philosophy.
+      </p>
+    </header>
+
+    <section name="Easy to use">
+      <p>We think that an XML framework for Java should be simple, easy to use 
+        and intuitive for a Java programmer.
+        We want to take the best features from DOM and SAX and put them 
+        together into a new unified API which is optimised the for the Java 
+        platform.
+      </p>
+    </section>
+
+    <section name="Standards compliant">
+      <p>We want to fully support DOM and SAX together with existing 
+        Java platform standards such as the Java 2 Collections and J2EE.
+      </p>
+    </section>
+
+    <section name="Complete XPath integration">
+      <p>We want complete XPath support integrated into the API and for it to 
+        be very easy to use. XPath is the ideal technology for navigating 
+        around XML documents simply and easily without writing lines and lines 
+        of code.
+      </p>
+    </section>
+
+    <section name="Flexible implementations">
+      <p>We want to be able to support very flexible, performant and 
+        memory efficient implementations of XML documents.
+        So we want the API to be based on Java interfaces just like the Java 2 
+        Collections framework.
+      </p>
+      <p>Just as no single List implementation will suffice (the JDK comes 
+        with at least 3) we believe we need a framework allowing plug and play 
+        XML document implementations. 
+        For some users, using a LinkedList performs better than an ArrayList
+        because their usage characteristics differ. 
+        Others like to use a Vector as it is synchronized. 
+        We believe an XML model should have the same flexibility.
+      </p>
+    </section>
+
+    <section name="Handle very large documents">
+      <p>One of the primary goals of <i>dom4j</i> is to be a flexible XML
+        framework for Java which supports most users needs whether that be
+        fast and efficient parsing with small memory overhead, processing 
+        very large documents or using the latest XML features such as XPath, 
+        XSLT and XML Query.
+      </p>
+      <p>We found that we often needed to move from DOM to SAX to 
+        handle very large documents or to move from SAX to DOM to handle 
+        complex documents.
+        Our aim is for <i>dom4j</i> to be the only framework you really need 
+        on the Java platform and for it to be a good citizen supporting and 
+        integrating with existing standards fully.
+      </p>
+    </section>
+
+  </body>
+</document>
+
+
+
+
+
+
+
+
+
diff --git a/xdocs/guide.xml b/xdocs/guide.xml
new file mode 100644
index 0000000..5c34ca7
--- /dev/null
+++ b/xdocs/guide.xml
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document url="http://www.dom4j.org/guide.xml">
+
+  <properties>
+    <title>Quick Start Guide</title>
+    <author email="jstrachan at apache.org">James Strachan</author>
+ </properties>
+ 
+  <body>
+    
+    <p>The Quick Start Guide will hopefully show you how to do the basic operations in dom4j.
+    </p>
+
+    <section name="Parsing XML">
+      <p>One of the first things you'll probably want to do is to parse an 
+        XML document of some kind. This is easy to do in <i>dom4j</i>.
+        The following code demonstrates how to this.
+      </p>
+<pre>
+import java.net.URL;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+
+public class Foo {
+
+    public Document parse(URL url) throws DocumentException {
+        SAXReader reader = new SAXReader();
+        Document document = reader.read(url);
+        return document;
+    }
+}
+</pre>
+    </section>
+
+    <section name="Using Iterators">
+      <p>A document can be navigated using a variety of methods that return
+        standard Java Iterators. For example
+      </p>
+<pre>
+    public void bar(Document document) throws DocumentException {
+
+        Element root = document.getRootElement();
+
+        // iterate through child elements of root
+        for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
+            Element element = (Element) i.next();
+            // do something
+        }
+
+        // iterate through child elements of root with element name "foo"
+        for ( Iterator i = root.elementIterator( "foo" ); i.hasNext(); ) {
+            Element foo = (Element) i.next();
+            // do something
+        }
+
+        // iterate through attributes of root 
+        for ( Iterator i = root.attributeIterator(); i.hasNext(); ) {
+            Attribute attribute = (Attribute) i.next();
+            // do something
+        }
+     }
+</pre>
+    </section>
+
+    <section name="Powerful Navigation with XPath">
+      <p>In <i>dom4j</i> XPath expressions can be evaluated on the Document 
+        or on any Node in the tree (such as Attribute, Element or 
+        ProcessingInstruction).
+        This allows complex navigation throughout the document with a single 
+        line of code. For example.
+      </p>
+<pre>
+    public void bar(Document document) {
+        List list = document.selectNodes( "//foo/bar" );
+
+        Node node = document.selectSingleNode( "//foo/bar/author" );
+
+        String name = node.valueOf( "@name" );
+    }
+</pre>
+      <p>For example if you wish to find all the hypertext links in an XHTML document
+        the following code would do the trick.
+      </p>
+<pre>
+    public void findLinks(Document document) throws DocumentException {
+
+        List list = document.selectNodes( "//a/@href" );
+
+        for (Iterator iter = list.iterator(); iter.hasNext(); ) {
+            Attribute attribute = (Attribute) iter.next();
+            String url = attribute.getValue();
+        }
+    }
+</pre>
+      <p>If you need any help learning the XPath language we highly recommend
+        the <a href="http://www.zvon.org/xxl/XPathTutorial/General/examples.html">Zvon tutorial</a> 
+        which allows you to learn by example.
+      </p>
+    </section>
+
+
+    <section name="Fast Looping">
+      <p>If you ever have to walk a large XML document tree
+        then for performance we recommend you use the fast 
+        looping method which avoids the cost of creating
+        an Iterator object for each loop. For example
+      </p>
+<pre>
+    public void treeWalk(Document document) {
+        treeWalk( document.getRootElement() );
+    }
+
+    public void treeWalk(Element element) {
+        for ( int i = 0, size = element.nodeCount(); i < size; i++ ) {
+            Node node = element.node(i);
+            if ( node instanceof Element ) {
+                treeWalk( (Element) node );
+            }
+            else {
+                // do something....
+            }
+        }
+    }
+</pre>
+    </section>
+
+
+    <section name="Creating a new XML document">
+      <p>Often in <i>dom4j</i> you will need to create a new document
+        from scratch. Here's an example of doing that.
+      </p>
+<pre>
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+public class Foo {
+
+    public Document createDocument() {
+        Document document = DocumentHelper.createDocument();
+        Element root = document.addElement( "root" );
+
+        Element author1 = root.addElement( "author" )
+            .addAttribute( "name", "James" )
+            .addAttribute( "location", "UK" )
+            .addText( "James Strachan" );
+        
+        Element author2 = root.addElement( "author" )
+            .addAttribute( "name", "Bob" )
+            .addAttribute( "location", "US" )
+            .addText( "Bob McWhirter" );
+
+        return document;
+    }
+}
+</pre>
+    </section>
+
+    <section name="Writing a document to a file">
+      <p>A quick and easy way to write a Document (or any Node) to a Writer
+       is via the write() method.
+      </p>
+<pre>
+  FileWriter out = new FileWriter( "foo.xml" );
+  document.write( out );
+</pre>
+
+      <p>If you want to be able to change the format of the output, such as pretty
+        printing or a compact format, or you want to be able to work with
+        Writer objects or OutputStream objects as the destination, then you can use the XMLWriter class.
+      </p>
+<pre>
+import org.dom4j.Document;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+
+public class Foo {
+
+    public void write(Document document) throws IOException {
+
+        // lets write to a file
+        XMLWriter writer = new XMLWriter(
+            new FileWriter( "output.xml" )
+        );
+        writer.write( document );
+        writer.close();
+
+
+        // Pretty print the document to System.out
+        OutputFormat format = OutputFormat.createPrettyPrint();
+        writer = new XMLWriter( System.out, format );
+        writer.write( document );
+
+        // Compact format to System.out
+        format = OutputFormat.createCompactFormat();
+        writer = new XMLWriter( System.out, format );
+        writer.write( document );
+    }
+}
+</pre>
+    </section>
+
+    <section name="Converting to and from Strings">
+      <p>If you have a reference to a Document or any other Node such as an 
+        Attribute or Element, you can turn it into the default XML text
+        via the asXML() method.
+      </p>
+<pre>
+        Document document = ...;
+        String text = document.asXML();
+</pre>
+      <p>If you have some XML as a String you can parse it
+        back into a Document again using the helper method 
+        DocumentHelper.parseText()
+      </p>
+<pre>
+        String text = "<person> <name>James</name> </person>";
+        Document document = DocumentHelper.parseText(text);
+</pre>
+    </section>
+
+
+    <section name="Styling a Document with XSLT">
+      <p>Applying XSLT on a Document is quite straightforward using the 
+        <a href="http://java.sun.com/xml/">JAXP</a> API from Sun. 
+        This allows you to work against any XSLT engine such as Xalan or SAXON.
+        Here is an example of using JAXP to create a transformer and then 
+        applying it to a Document.
+      </p>
+<pre>
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+
+import org.dom4j.Document;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+
+public class Foo {
+
+    public Document styleDocument(
+        Document document, 
+        String stylesheet
+    ) throws Exception {
+
+        // load the transformer using JAXP
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer( 
+            new StreamSource( stylesheet ) 
+        );
+
+        // now lets style the given document
+        DocumentSource source = new DocumentSource( document );
+        DocumentResult result = new DocumentResult();
+        transformer.transform( source, result );
+
+        // return the transformed document
+        Document transformedDoc = result.getDocument();
+        return transformedDoc;
+    }
+}
+</pre>
+
+    </section>
+  </body>
+</document>
+
+
+
+
+
+
+
+
+
diff --git a/xdocs/images/logo.gif b/xdocs/images/logo.gif
new file mode 100644
index 0000000..14a71fe
Binary files /dev/null and b/xdocs/images/logo.gif differ
diff --git a/xdocs/index.xml b/xdocs/index.xml
new file mode 100644
index 0000000..5d672a7
--- /dev/null
+++ b/xdocs/index.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0"?>
+<document url="http://www.dom4j.org/index.xml">
+
+  <properties>
+    <title>dom4j: the flexible XML framework for Java</title>
+    <author email="jstrachan at apache.org">James Strachan</author>
+ </properties>
+ 
+  <body>
+
+    <section name="Welcome to dom4j!">
+      <p>
+      <i>dom4j</i> is an easy to use, open source library for working with XML, XPath and
+      XSLT on the Java platform using the Java Collections Framework and with full
+      support for DOM, SAX and JAXP.
+      </p>
+    </section>
+
+    <section name="News">
+      <ul>
+        <li>dom4j 1.6.1 has been relased! This is a bugfix relase. Take a look at the <a href="changes-report.html">changelog</a> to see what has changed.</li>
+        <li>dom4j 1.6 has been released! Take a look at the <a href="changes-report.html">changelog</a> to see what has changed.</li>
+        <li><a href="http://www.jetbrains.com/">JetBrains</a> was so kind to provide an open-source license of its famous 
+            <a href="http://www.jetbrains.com/idea/index.html">IntelliJ IDEA</a> product.</li>
+        <li>The internal Aelfred2 parser has been removed from the dom4j codebase due to an incompatible license. You can download a version
+            of dom4j without Aelfred2 from the downloads page.</li>
+        <li>A maintenance relase of dom4j is available. Click <a href="changes-report.html">here</a> to see what has changed in dom4j 1.5.1.</li>
+        <li>dom4j 1.5 is finally released! A list of changes can be found <a href="changes-report.html">here</a>.</li>
+        <li>dom4j now has an open source license for the use of <a href="http://www.cenqua.com/clover/">Clover</a></li>
+        <li><a href="http://www.refactorit.com">RefactorIT</a> has added dom4j to it's list of featured open source projects. This means that all 
+          the power of RefactorIT is available for the dom4j sources.
+        </li> 
+        <li>The new <a href="status.html">dom4j 1.4</a> release is finally out featuring numerous bug fixes and patches.
+        </li>
+        <li>Check out these new <a href="benchmarks/xpath/index.html">Performance Benchmarks</a> comparing dom4j and Jaxen against Xerces and Xalan. 
+        </li>
+        <li>The new <a href="status.html">dom4j 1.3</a> release is out featuring numerous bug fixes and patches.
+        </li>
+        <li>Check out Dennis Sosnoski's new <a href="http://www-106.ibm.com/developerworks/library/x-injava2/">article</a> for IBM comparing various XML object models - its good stuff.
+        </li>
+        <li>The new <a href="status.html">dom4j 1.2</a> release is out featuring improved whitespace handling 
+          for more efficient parsing, a new Swing TableModel for displaying XML data in Swing and numerous bug fixes and patches.
+        </li>
+        <li>The <a href="http://jakarta.apache.org/velocity/index.html">Velocity</a> projects new 
+          <a ref="http://jakarta.apache.org/velocity/dvsl/index.html">DVSL</a> technology uses dom4j.
+        </li>
+        <li>Interesting <a href="http://www.xml.com/pub/a/2001/11/14/dom-sax.html?page=2">article</a>
+          outlining the social dominance of DOM and SAX and the importance of XPath. 
+        </li>
+        <li>The new <a href="status.html">dom4j 1.1</a> release is out featuring support for DTD declarations and
+          numerous bug fixes and patches.
+        </li>
+        <li>Read the latest performance <a href="http://www-106.ibm.com/developerworks/xml/library/x-injava/index.html">benchmarks</a> 
+          on IBM's site comparing dom4j against all the other XML document models.
+        </li>
+        <li>The new <a href="status.html">dom4j 1.0</a> release is out featuring better SAX and <a href="http://jaxen.org">Jaxen</a> support,
+          some performance tuning and numerous patches.
+        </li>
+        <li>Sun's reference implementation of <a href="http://developer.java.sun.com/developer/earlyAccess/xml/jaxm/">JAXM</a>
+          (Java API for XML Messaging) is based on dom4j!
+        </li>
+        <li>The new <a href="status.html">dom4j 0.9</a> release is out featuring full <a href="http://jaxen.codehaus.org">Jaxen</a> support!
+        </li>
+        <li>Toby's <a href="cookbook.html">cookbook</a> is now online!
+        </li>
+        <li>Updated the quick start <a href="guide.html">guide</a>
+        </li>
+      </ul>
+    </section>
+
+    <section name="Features">
+      <ul>
+        <li>designed for the Java platform with full support for the
+        <a href="http://java.sun.com/products/jdk/1.2/docs/guide/collections/index.html">Java Collections Framework</a>
+        (Java 2 Collections)</li>
+        <li>full support for 
+        <a href="http://java.sun.com/xml/xml_jaxp.html">JAXP</a>, 
+        <a href="http://java.sun.com/xml/xml_jaxp.html">TrAX</a>, 
+        <a href="http://www.saxproject.org/">SAX</a>, 
+        <a href="http://www.w3.org/DOM/">DOM</a>, 
+        and <a href="http://www.w3.org/TR/xslt.html">XSLT</a>        
+        </li>
+        <li>fully integrated 
+        <a href="http://www.w3.org/TR/xpath.html">XPath</a> 
+        support for easy navigation of XML documents
+        </li>
+        <li>event based proccessing mode to support for massive documents or XML streams
+        </li>
+        <li>based on Java interfaces for flexible plug and play implementations.
+        </li>
+        <li>support for 
+         <a href="http://www.w3.org/TR/xmlschema-2/">XML Schema Data Type</a>
+         support using Kohsuke Kawaguchi's excellent
+         <a href="http://www.sun.com/software/xml/developers/multischema/">Multi Schema Validator</a> library
+        </li>
+      </ul>
+    </section>
+
+    <section name="Getting Started">
+      <p>You can download the current release 
+        or a snapshot build via the <a href="download.html">download page</a>.</p>
+
+      <p>For a quick overview of <i>dom4j</i> and how to use it try the reading the
+        <a href="guide.html">quick start guide</a> or browsing the
+        <a href="faq.html">FAQ</a> or the online 
+        <a href="apidocs/index.html">JavaDoc</a>.
+      </p>
+      
+      <p>To see how <i>dom4j</i> compares to other XML object models you could try
+        reading our <a href="compare.html">comparison</a></p>
+        
+      <p>Contributors are welcome to join this project. 
+        Once you've browsed the <a href="faq.html">FAQ</a> you could try
+        sending an email to one of the mailing lists below or check out the
+        <a href="http://sourceforge.net/projects/dom4j/">project page</a>.</p>
+    </section>
+
+    <section name="Useful Links">
+      <p>We really like XPath and if you are working with XML we highly recommend
+        you try to experiment with it. If you need help learning XPath
+        try the excellent
+        <a href="http://www.zvon.org/xxl/XPathTutorial/General/examples.html">Zvon tutorial</a> 
+        .</p>
+
+      <p>Alternatively you could try Elliotte Rusty Harold's great 
+        <a href="http://www.oreilly.com/catalog/xmlnut/chapter/ch09.html">XML in a nutshell</a> 
+        .</p>
+
+      <p>Finally you could try reading the 
+        <a href="http://www.w3.org/TR/xpath">XPath spec</a>.
+      </p>
+    </section>
+
+    <section name="Mailing Lists">
+      <p>For developers there is an email list at 
+        <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-dev">
+          dom4j-dev
+        </a> 
+        where you can make requests for new features or changes to the API, 
+        discuss alternate implementation strategies, submit patches or just
+        talk about any relevant topic of the day.
+      </p>        
+      <p>For <i>dom4j</i> users wanting help using dom4j there is an email list at
+        <a href="http://lists.sourceforge.net/lists/listinfo/dom4j-user">
+          dom4j-user
+        </a> 
+        where you can share ideas and experiences, ask for help, 
+        give us feedback or discuss your requirements.
+      </p>
+
+      <p>You can browse the archives for here
+        <a href="http://www.geocrawler.com/lists/3/SourceForge/8798/0/">
+          dom4j-dev
+        </a> 
+        or here
+        <a href="http://www.mail-archive.com/dom4j-dev%40lists.sourceforge.net/">
+          dom4j-dev
+        </a> 
+        and here
+        <a href="http://www.geocrawler.com/lists/3/SourceForge/8797/0/">
+          dom4j-user
+        </a>
+        or here
+        <a href="http://www.mail-archive.com/dom4j-user%40lists.sourceforge.net/">
+          dom4j-user
+        </a>
+      </p>
+    </section>
+
+  </body>
+</document>
diff --git a/xdocs/license.xml b/xdocs/license.xml
new file mode 100644
index 0000000..631b184
--- /dev/null
+++ b/xdocs/license.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document url="http://www.dom4j.org/license.xml">
+
+ <properties>
+   <title>License</title>
+   <author email="jstrachan at apache.org">James Strachan</author>
+ </properties>
+ 
+  <body>
+<section name="BSD style license">
+<p>
+ Redistribution and use of this software and associated documentation
+ ("Software"), with or without modification, are permitted provided
+ that the following conditions are met:
+</p>
+<ol>
+<li>
+    Redistributions of source code must retain copyright
+    statements and notices.  Redistributions must also contain a
+    copy of this document.
+</li>
+<li> 
+    Redistributions in binary form must reproduce the
+    above copyright notice, this list of conditions and the
+    following disclaimer in the documentation and/or other
+    materials provided with the distribution.
+</li>
+<li> 
+    The name "DOM4J" must not be used to endorse or promote
+    products derived from this Software without prior written
+    permission of MetaStuff, Ltd.  For written permission,
+    please contact dom4j-info at metastuff.com.
+</li>
+<li> 
+    Products derived from this Software may not be called "DOM4J"
+    nor may "DOM4J" appear in their names without prior written
+    permission of MetaStuff, Ltd. DOM4J is a registered
+    trademark of MetaStuff, Ltd.
+</li>
+<li> 
+    Due credit should be given to the DOM4J Project - 
+    http://www.dom4j.org
+</li>
+</ol> 
+<p>
+ THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS
+ ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ OF THE POSSIBILITY OF SUCH DAMAGE.
+</p>
+
+<p>
+ Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
+</p>
+
+    </section>
+  </body>
+</document>
+
+
+
+
+
+
+
+
+
diff --git a/xdocs/navigation.xml b/xdocs/navigation.xml
new file mode 100644
index 0000000..76bc940
--- /dev/null
+++ b/xdocs/navigation.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="dom4j">
+
+  <title>dom4j</title>  
+  <organizationLogo href="http://sourceforge.net/sflogo.php?group_id=16035">dom4j</organizationLogo>
+
+  <body>
+    <links>
+      <item name="XPath Spec"        href="http://www.w3.org/TR/xpath"/>
+      <item name="Jaxen"             href="http://jaxen.codehaus.org/"/>
+      <item name="dom4j at SourceForge" href="http://sourceforge.net/projects/dom4j/"/>
+    </links>
+
+    <menu name="dom4j">
+      <item name="Home"                   href="/index.html"/>
+      <item name="FAQ"                    href="/faq.html"/>
+      <item name="Quick start"            href="/guide.html"/>
+      <item name="Cookbook"               href="/cookbook.html" class="newWindow" title="New Window" target="_blank"/>
+      <item name="Comparison"             href="/compare.html"/>
+      <item name="Goals"              	  href="/goals.html"/>
+      <item name="Changes"                href="/changes-report.html"/>  -->
+      <item name="Download"               href="/download.html"/>
+      <item name="License"                href="/license.html"/>
+      <item name="Javadoc (1.6.1)"        href="/apidocs/index.html" class="newWindow" title="New Window" target="_blank"/>
+      <item name="Javadoc (1.5.2)"        href="http://www.dom4j.org/dom4j-1.5.2/apidocs/index.html" class="newWindow" title="New Window" target="_blank"/>
+      <item name="Javadoc (1.4)"          href="http://www.dom4j.org/dom4j-1.4/apidocs/index.html" class="newWindow" title="New Window" target="_blank"/>
+    </menu>
+
+    <powered-by>
+      <item name="Code Coverage by Clover" href="http://www.cenqua.com/clover" img="http://www.cenqua.com/images/clovered1.gif"/>
+      <item name="Hosted by SourceForge" href="http://www.sourceforge.net" img="http://sourceforge.net/sflogo.php?group_id=16035&type=1"/>
+    </powered-by>
+
+  </body>
+</project>
diff --git a/xdocs/status.xml b/xdocs/status.xml
new file mode 100644
index 0000000..8e03957
--- /dev/null
+++ b/xdocs/status.xml
@@ -0,0 +1,1123 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document url="http://www.dom4j.org/status.xml">
+
+  <properties>
+    <title>Change History</title>
+    <author email="jstrachan at apache.org">James Strachan</author>
+ </properties>
+ 
+  <body>
+      <section name="CVS">
+        <p>Fixed bug in <code>BeanElement</code> which prevented proper execution of the bean samples (contributed by Wonne Keysers).</p>
+        <p><code>STAXEventWriter</code> now uses <code>XMLEventConsumer</code> instead of <code>XMLEventWriter</code> (contributed by Christian Niles).</p>
+        <p>Fixed bug in <code>SAXReader</code> that caused problems parsing files in OSX (reported by Paul Libbrecht).</p> 
+        <p>Fixed bug in <code>XMLWriter</code> that caused whitespace to be added between successive calls of the <code>characters(...)</code> method (reported by Paul Libbrecht).</p>
+        <p>Improved performance of <code>NamespaceCache</code> in multithreaded environments (contributed by Brett Finnell).</p>
+      </section>
+
+      <section name="1.5 beta 2">
+        <p>Added flag to <code>OutputFormat</code> that supresses newline after XML declaration.</p>
+        <p>Upgraded dependencies to their latest version on ibiblio.</p>
+        <p>Added method to <code>DocumentHelper</code> that allows user to specify encoding when parsing an xml <code>String</code>
+           (contributed by Todd Wolff).</p>
+        <p>Fixed a ClassCastException bug in <code>BeanElement</code>.</p>
+        <p>Fixed a bug in <code>SAXContentHandler</code> which caused a <code>NullPointerException</code> in some 
+           situations.</p>
+        <p>Fixed bug which prevented an element's namespace prefix from being registered for use in xpath expressions (contributed by Todd Wolff).</p>
+        <p>Fixed bug in <code>XMLWriter</code> that caused duplication of the default namespace declaration (reported by Todd Wolff).</p>
+        <p>Added a bunch of patches to make the dom4j DOM classes more DOM compliant (contributed by Curt Arnold).</p>
+        <p>Fixed bug in <code>DispatchHandler</code> which made the handler not reusable (reported by Ricardo Leon).</p>
+        <p>Fixed bug in <code>SAXContentHandler</code> that caused incorrect CDATA section parsing (contributed by Todd Wolff).</p>
+        <p>Fixed bug in <code>SAXContentHandler</code> that caused incorrect entity handling.</p>
+        <p>Fixed bug in <code>XMLWriter</code> causing padding to be disabled, even if enabled in the specified outputformat (reported by Bo Gundersen).</p>
+        <p>Added initial support for STaX streams (contributed by Christian Niles).</p>
+      </section>
+
+      <section name="1.5 beta 1">
+        <p>Fixed encoding bug in <code>Document.asXML()</code> and <code>DocumentHelper.parseText()</code>.</p>
+        <p>Fixed bug in SAXReader that caused problems resolving relative URIs when parsing java.io.File Objects (reported by Kohsuke Kawaguchi).</p>
+        <p>The iterators returned by the Element.elementIterator(...) methods now support remove().</p>
+        <p>DOMWriter writes now DOM Level 2 attributes and elements (reported by Geert Dendoncker and Joury Gokel).</p>
+        <p>Use latest implementation of the Aelfred parser.</p>
+        <p>Fixed some problems with internal/external DTD declarations (reported by Bryan Thompson).</p>
+        <p>Upgraded to Jaxen 1.1 beta 2.</p>
+        <p>Ignore attribute order when comparing Elements in <code>NodeComparator</code>.</p>
+        <p>Fixed bug in XMLWriter where namespace declarations were duplicated.</p>
+        <p>Fixed bug in parsing a Processing Instruction (reported by Vladimir Kralik).</p>
+        <p>Added support for Stylesheet modes (reported by Mark Diggory).</p>
+        <p>Don't escape " and ' characters in attribute values if it's not necessary (contributed by Christian Niles).</p>
+        <p>Fixed some <code>DOMNodeHelper</code> issues (reported by Henner Kollmann).</p>
+        <p>Fixed some datatype issues (reported by Thomas Draier).</p>
+        <p>Fixed an bug where the EntityResolver was not set on the XMLReader.</p>
+        <p>Fixed multithreaded access on <code>DefaultElement</code>.</p>
+        <p>Fixed problem parsing XML Files (reported by Geoffrey Vlassaks).</p>
+        <p>Added xml:space attribute support based on XML Specification 1.0.</p>
+      	<p>Maven build of dom4j is now nearly complete. Maven is now used for the website generation.</p>
+        <p>Fixed some bugs in BackedList (contributed by Alessandro Vernet).</p>
+      </section>
+      
+      <section name="1.4 Release">
+        <p>Added patch supplied by Dan Jacobs that fixes some entity encoding problems in XMLWriter - cheers Dan!
+        </p>
+        <p>Patched the DOMElement replaceChild method to return the correct Node and to throw a DOMException when trying to replace a non-existing child.
+        </p>
+        <p>Added patch to BackedList that could cause IndexOutOfBoundsExceptions to be thrown
+        	that was kindly supplied by Andy Yang - thanks Andy!	
+        </p>
+        <p>Update of Cookbook containing a chapter about rule API.
+        </p>
+        <p>Patched SAXWriter to not pass in null System or Public IDs which can cause problems in Saxon.
+        </p>
+        <p>Patched dom4j to work against Jaxen 1.0 RC1 or later build.
+        </p>
+        <p>Applied patch to bug found by Tom Oehser that XPath expressions using elements or attributes whose name starts 
+        with '_' were not being handled correctly. It turns out this was a SAXPath issue.
+        </p>
+        <p>Applied patch to bug found by Soumanjoy Das that creating a new DOMDocument then calling createElement() would generate
+          a ClassCastException.
+        </p>
+        <p>Applied patch supplied by James Dodd that fixes a MIME encoding issue in the embedded Aelfred parser
+        </p>
+        <p>Applied patch to fix bug found by David Frankson. Adding attributes with null values causes problems in XSLT engines
+            so now adding a null valued attribute is equivalent to removing the attribute. So null attribute values are silently ignored.
+            e.g.
+<pre>
+Element element = ...;
+element.addAttribute( "foo", "123" );
+...
+Attribute attribute = element.attribute( "foo" );
+assertTrue( attribute != null );
+...
+element.addAttribute( "foo", null );
+attribute = element.attribute( "foo" );
+assertTrue( attribute == null );
+</pre>
+        </p>
+      </section>
+      
+      <section name="1.3 Release">
+        <section name="Patches">
+        <p>Applied patch to bug found by Mike Skells that was causing XPath.matches() to return true for absolute XPaths which returned different nodes to the node provided to the XPath.
+        </p>
+        <p>Applied patch provided by Stefan that was causing IndexOutOfBoundsException when using the evaluate() method in DefaultXPath on an empty result set. Also added a test case to org.dom4j.TestXPathBug called testStefan().
+        </p>
+        <p>Applied patch suggested by Frank Walinsky, that XPath objects are now Serializable. 
+        </p>
+        <p>Applied patch provided by Bill Burton that fixes union pattern matching. 
+        </p>
+        </section>
+      </section>
+
+      <section name="1.2 Release">
+        <section name="New Swing TableModel for displaying XML">
+
+        <p>Added a new Swing TableModel for displaying XML data in a Swing user interface. It uses
+          an XPath based model to define the rows and column values.
+          A table definition can be specified using a simple XML format and then loaded in a small amount of code.
+          e.g. here's an example of a table that will list the servlets used in a web.xml document
+        </p>
+<pre>
+<table select="/web-app/servlet">
+  <column select="servlet-name">Name</column>
+  <column select="servlet-class">Class</column>
+  <column select="../servlet-mapping[servlet-name=$Name]/url-pattern">Mapping</column>
+</table>
+</pre>
+          <p>
+          Notice the use of the $Name XPath variable to access other cells on the row.
+          Here's the pseudo code to display a table for an XML document.
+          </p>
+<pre>
+Document tableDefinition = ...;
+Document source = ...;
+TableModel tableModel = new XMLTableModel( tableDefinition, source );
+JTable table = new JTable( tableModel );
+</pre>
+        <p>
+          There is a sample program in samples/swing/JTableTool which will display any table definition
+          for a given source XML document. There is an example table definition for the periodic table
+          in xml/swing/tableForAtoms.xml.
+        </p>
+        </section>
+
+        <section name="Registering Namespace URIs for XPath">
+        <p>Added a new helper method to make it easier to create namespace contexts for doing
+          namespace aware XPath expressions. The new setNamespaceURIs(Map) method on XPath makes it easier
+          to pass in the prefixes and URIs you wish to use in an XPath expression. Here's an example of it in action
+        </p>
+<pre>
+Map uris = new HashMap();
+uris.put( "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/" );
+uris.put( "m", "urn:xmethodsBabelFish" );        
+XPath xpath = document.createXPath( "/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish" );
+xpath.setNamespaceURIs( uris );        
+Node element = xpath.selectSingleNode( document );
+</pre>
+        <p>In addition DocumentFactory has a setXPathNamespaceURIs(Map) method so that common namespace URIs can be associated with
+          a DocumentFactory so namespace prefixes can be used across many XPath expressions in an easy way. e.g.
+        </p>
+<pre>
+// register prefixes with my factory
+Map uris = new HashMap();
+uris.put( "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/" );
+uris.put( "m", "urn:xmethodsBabelFish" );        
+
+DocumentFactory factory = new DocumentFactory();
+factory.setXPathNamespaceURIs( uris );
+
+// now parse a document using my factory
+SAXReader reader = new SAXReader();
+reader.setDocumentFactory( factory );
+Document doc = reader.read( "soap.xml" );
+
+// now lets use the prefixes
+Node element = doc.selectSingleNode( "/SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish" );
+</pre>
+        </section>
+
+        <section name="Whitespace handling">
+
+        <p>There is a new <i>mergeAdjacentText</i> option available on SAXReader 
+        to concatenate adjacent text nodes into a single Text node. 
+        </p>
+        <p>
+        In addition there is a new <i>stripWhitespaceText</i> option to strip text which occurs between 
+        start/end tags which only consists of whitespace. 
+        </p>
+        <p>
+        For example, parsing the following XML with the stripWhitespaceText option enabled
+        and the mergeAdjacentText option enabled
+        will result in a single child node of the parent element, rather than 3 (2 text nodes containing whitespace and one element).
+        </p>
+<pre>
+<parent>
+  <child>foo</child>
+</parent>
+</pre>
+        <p>
+        Note that this option will not break most mixed content markup such as the following, 
+        since its only whitespace between tag start/ends that gets removed; non-whitespace strings are not trimmed.
+        </p>
+<pre>
+<p>hello <b>James</b> how are you?</p>
+</pre>
+        <p>
+        Both these options together can improve the parsing performance by around 10-12% depending on the 
+        structure of the document. Though the whitespace layout of the XML document will be lost, so only
+        use these modes in data-centric applications like XML messaging and SOAP.
+        </p>
+        <p>
+        So a typical SOAP or XML messaging developer, who may care more about performance than
+        preserving exact whitespace layout, may use the following code to 
+        make the SAX parsing more optimal.
+        </p>
+<pre>
+SAXReader reader = new SAXReader();
+reader.setMergeAdjacentText( true );
+reader.setStripWhitespaceText( true );
+Document doc = reader.read( "soap.xml" );
+</pre>
+        </section>
+
+        <section name="Patches">
+        <p>Applied patch to HTMLWriter to fix bug found by Dominik Deimling that was not correctly outputting CDATA sections correctly.
+        </p>
+        <p>Patched the setName() method on Element so that elements can be renamed. Also added a new setQName() to the Element interface so that elements can be renamed in a namespace aware manner. Thanks to Robert Lebowitz for this.
+        </p>
+        <p>Applied fix to bug found by Manfred Lotz that XMLWriter in whitespace trimming mode would sometimes not correctly insert a space when text is seperated by newlines. The Test case testWhitespaceBug() in org.dom4j.TestXMLWriter reproduces the bug that has now been fixed.
+        </p>
+        <p>Applied patches supplied by Stefan Graeber that enhance the datatype support to support included schemata and derived element types.
+        </p>
+        <p>Applied patches suggested by Omer van der Horst Jansen to enable dom4j to fully work
+          properly on JDK1.1 platforms. There were some uses of java.util.Stack which have been changed to ArrayList.
+        </p>
+        <p>Applied patches supplied by Maarten Coene that fixes some issues with using the correct
+          DocumentFactory when using the DOM implementation.
+        </p>
+        <p>Updated the MSV support to comply with the latest MSV version, 1.12 (Nov 01 2001).
+          In addition the MSVDemo.java in dom4j/src/samples/validate has been replaced by
+          JARVDemo.java which now uses the <a href="http://iso-relax.sourceforge.net/JARV/">JARV</a> API 
+          to validate a dom4j 
+          document using the <a href="http://wwws.sun.com/software/xml/developers/multischema/index.html/">MSV</a> implementation.
+          This demo can validate any XML document against any DTD, XML Schema, Relax NG, Relax or Trex
+          schema - thanks to the excellent JARV API and MSV library.
+        </p>
+        <p>Applied patches supplied by Steen Lehmann that fixes handling of external DTD entities in SAXContentHandler 
+          and fix the XML output of the ExternalEntityDecl
+        </p>
+        <p>Applied patch to bug found by Steen Lehmann that XPath expressions on the root element
+          were not correctly handling namespaces correctly. The test case is demonstrated in
+          dom4j/src/test/org/dom4j/xpath/TestSelectSingleNode.java
+        </p>
+        <p>Added patch found by Howard Moore when using XTags that XPath string values which contained
+        strings with entities, such as the use of &amp; in a text, would result in redundant spaces
+        occuring, breaking URLs.
+        </p>
+        </section>
+      </section>
+
+      <section name="1.1 Release">
+        <section name="New features">
+        <p>Added a new package, org.dom4j.dtd which contains some DTD declaration classes which are added to the DocumentType interfaces
+        List of declarations. This is useful for finding out details of the attribute or element delcarations inside either the 
+        internal or external DTD subset of a document. 
+        </p>
+
+        <p>To expand internal or external DTD subsets when parsing with SAXReader use the 2 properties on SAXReader (and SAXContentHandler). 
+        </p>
+
+<pre>
+SAXReader reader = new SAXReader();
+reader.setIncludeInternalDTDDeclarations( true );
+reader.setIncludeExternalDTDDeclarations( true );
+Document doc = reader.read( "foo.xml" );
+
+DocumentType docType = doc.getDocType();
+List internalDecls = docType.getInternalDeclarations();
+List externalDecls = docType.getExternalDeclarations();
+</pre>
+
+        <p>This new feature means that XML documents which use internal DTD subsets, external DTDs or a mixture of internal and external
+        DTD subsets can now be properly round tripped.
+        </p>
+
+        <p>Note that there appears to be a bug in Crimson 1.1.3 which does not properly differentiate between internal or external DTD 
+        subsets. Refer to the <a href="http://dom4j.org/javadoc/org/xml/sax/ext/LexicalHandler.html#startDTD(java.lang.String,java.lang.String,java.lang.String)">startDTD()</a>
+        method of <a href="http://dom4j.org/javadoc/org/xml/sax/ext/LexicalHandler.html">LexicalHandler</a>
+        for details of how startEntity/endEntity is meant to demark external DTD subsets.
+        </p>
+
+        <p>
+        Its our intention to expand internal DTD subsets by default (so that documents can be properly round tripped by default)
+        but require external DTD subsets to be explicitly enabled via the property on the SAXReader (or SAXContentHandler). 
+        This bug in Crimson causes all DTD declarations to appear as internal DTD subsets, which both is a performance overhead
+        and breaks round tripping of documents which just use external DTD declarations. So until this matter is resolved
+        both internal and external declarations are not expanded by default.
+        </p>
+
+        <p>
+        Note that the code works perfectly against Xerces.
+        </p>
+        </section>
+
+        <section name="Patches">
+        <p>Applied patch submitted by Yuxin Ruan which fixes some issues with XML Schema Data Type support
+        </p>
+        <p>Followed Dennis Sosnoski's suggestion, adding a null text String to an Element
+          now throws an IllegalArgumentException.
+          To ensure that the IllegalArgumentException is not thrown its advisable
+          to check for null first. For example...
+        </p>
+<pre>
+Element element = ...;
+String text = ...;
+
+// might throw IllegalArgumentException
+// if text == null
+element.addText( text );
+
+// safer to do this
+if ( text != null ) {
+  element.addText( text );
+}
+</pre>
+
+        <p>Fixed problem found by Kesav Kumar Kolla whereby a deserialized Document could have problems if 
+          new elements were attempted to be added. The problem was an issue with DocumentFactory not correctly
+          deserializing itself properly.
+        </p>
+        <p>Fixed problem found by David Hooker with Ant build file for the 
+        binary and source distribution that was not including the manifest file
+        in the distribution. 
+        </p>
+        <p>Applied patch submitted by Lari Hotari that was causing the XMLWriter to fail when used as a 
+        SAX XMLFilter or ContentHandler to turn SAX events into XML text. Thanks Lari!
+        </p>
+        <p>Fixed bug found by Kohsuke Kawaguchi that there was a problem in XMLWriter during its serialization of
+        a document which redeclared the default namespace prefix. It turned out to be a bug in
+        org.dom4j.tree.NamespaceStack where redeclarations of namespace prefixes were not being handled properly
+        during serialization. The test cases in org.dom4j.TestXMLWriter and org.dom4j.TestNamespaces have been improved
+        to test these features more rigorously.
+        </p>
+        <p>Fixed bug found by Toby
+        that was causing a security exception in applets when using a DocumentFactory.
+        </p>
+        <p>Implemented the suggestion by Kesav Kumar, that the detach() method now returns the node (this) so that moving 
+        nodes from one part of a document to any another can now be one line of code. Here's an example of it in use.
+        </p>
+<pre>
+Document doc1 = ...;
+Document doc2; = ...;
+Element destination = doc2.getRootElement();
+Element source = doc1.selectSingleNode( "//foo[@style='bar']" );
+
+// lets move the source to the destination
+destination.add( source.detach() );
+</pre>
+        <p>Added better checking in selectSingleNode() implementation so that XPath expressions which do not
+          return a Node throw a meaningful exception (not ClassCastException) informing the user of
+          why the XPath expression did not succeed.
+        </p>
+        <p>Added patch found by Kesav Kumar that a document containing null Strings would cause a NullPointerException
+          to be thrown if it was passed into SAXWriter (used by the JAXP - XSLT code). Now the SAXWriter will
+          quietly ignore null Strings, as will XMLWriter.
+        </p>
+        </section>
+      </section>
+
+      <section name="1.0 release">
+        <section name="New features">
+          <p>Added helper method setXMLFilter() to SAXReader making it easier to install SAX filters to filter or preprocess SAX events
+          before a dom4j Document is created. Also added a new sample program called sax.FilterDemo that demonstrates how to use a SAX filter
+          with dom4j.
+          </p>
+          <p>
+            Added full support for <a href="http://jaxen.org">Jaxen</a> function, namespace and variable context interfaces.
+            This allows the XPath engine to be fully customized. e.g.
+<pre>
+XPath xpath = document.createXPath( "//foo[@code='123']" );
+
+// customize function, namespace and variable contexts
+xpath.setFunctionContext( myFunctionContext );
+xpath.setNamespaceContext( myNamespaceContext );
+xpath.setVariableContext( myVariableContext );
+
+List nodes = xpath.selectNodes( document );
+</pre>
+          </p>
+          <p>
+            Added new helper class <code>org.dom4j.util.XMLErrorHandler</code> which 
+            turns SAX ErrorHandler callbacks into XML that can then be output in a JAXM or SOAP message
+            or styled via XSLT or whatever.
+          </p>
+          <p>Added new helper method <code>DocumentHelper.makeElement(doc, "a/b/c")</code> which will
+            navigate from a document or element to the given simple path, creating new elements along the way if need be.
+            This allows elements to be found or created using a simple path expression mechansim.
+          </p>
+          <p>Added helper method getQName(String qualifiedName) to Element so that easier element name matching can be done. Here are some examples of it in use.
+<pre>
+// find all elements with a local name of "foo" 
+// in any namespace
+List list = element.elements( "foo" );
+
+// find all elements with a local name "foo" 
+// and the default namespace URI
+List list = element.elements( element.getQName( "foo" ) );
+
+// find all elements which match the local name "foo" 
+// and the namespace URI mapped to the "x" prefix
+List list = element.elements( element.getQName( "x:foo" ) );
+</pre>
+          </p>
+          <p>
+            Added helper method on <code>org.dom4j.DocumentFactory</code> called <code>getQNames</code>
+            that returns a List of all the QNames that were used to parse the documents.
+          </p>
+          <p>
+            Added an EntityResolver property to SAXReader to make it easier to configure a specific EntityResolver.
+          </p>
+        </section>
+
+        <section name="Patches">
+          <p>Added patch so that patterns such as <code>@id='123'</code> and <code>name()='foo'</code> are now
+            working properly again. Also patterns such as <code>not(@id='123')</code> work now too.
+          </p>
+          <p>Patched the dynamic loading of classes to fix some ClassLoader issues found with some application servers.
+          </p>
+          <p>Ported the data type support to work with the latest MSV library from Sun
+          </p>
+          <p>Fixed bug spotted by Stefan Graeber that was causing a DocumentException to be thrown with Xerces
+            when turning validation mode on.
+          </p>
+          <p>Patched bug in QName which was using the qualified name rather than the local name along with the namespace URI
+            to determine equality.
+          </p>
+          <p>
+            Added patch kindly supplied by Michal Palicka that SAXReader was passing in the wrong name for the SAX string-interning feature. Thanks Michal!
+          </p>
+          <p>
+            Fixed the behaviour of DocumentFactory.createXPathFilter() to use XPath filtering
+            rather than XSLT style patterns. One of the major differences is that an XSLT pattern
+            (used in the <xsl:template match="pattern"/> element in XSLT) works slightly 
+            differently. An element <foo> would match an XSLT pattern "foo" whereas an
+            element <bar> could match an XPath filter "foo" if it contained a child <foo> 
+            element.
+          </p>
+          <p>
+            Patched the behaviour of Node.matches(String xpathExpression) so that it uses
+            XPath filters now rather than XSLT patterns.
+          </p>
+          <p>
+            Patched bug in XRule implementation in org.dom4j.rule that was causing ordering problems
+            when using stylesheets - the Rule precendence order was not being correctly used.
+          </p>
+          <p>
+            Backed out a previous patch added to 0.9 such that attributes with no namespace prefix are in
+            no namespace. An attribute does not inherit the default namespace - the only way to put an attribute
+            into a namespace is via a namespace prefix.
+          </p>
+          <p>
+            Patched XMLWriter to that a flush() is not required when using an OutputStream 
+            and the various sub-document write() methods 
+            are called such as write(Element), write(Attribute), write(Node), write(Namespace) etc.
+          </p>
+          <p>
+            Fixed bug in SAXReader that setEntityResolver() was not always behaving properly. 
+            Also the default entity resolver used to locate XML Schemas seems to work properly now.
+          </p>
+          <p>
+            Moved the XML Schema Data Type supporting classes in org.dom4j.schema.Schema* to
+            org.dom4j.datatype.Datatype*. This should avoid confusion and better describe the
+            intent of the classes, to implement Data typing, rather than schema validation.
+            We hope to use the <a href="http://www.sun.com/software/xml/developers/multischema/">MSV</a> 
+            library for all of our schema validation requirements.
+          </p>
+          </section>
+        </section>
+        <section name="0.9 release">
+          <section name="Full support for the Jaxen XPath engine">
+            <p>The XPath engine in dom4j has been migrated to using <a href="http://jaxen.org">Jaxen</a>.
+              This single XPath engine can be plugged into any model such that Jaxen will support
+              DOM, dom4j, EXML and JDOM. Hopefully we'll get Jaxen working on Java Beans too.
+            </p>
+            <p>
+              In general this will mean a much better, more compliant and more bug-free XPath
+              engine for dom4j as it will be used extensively across XML object models.
+            </p>
+            <p>
+              Already numerous irregularities have been fixed in the XPath support in dom4j.
+              We have donated the dom4j XPath test harness to Jaxen so that we now have a large
+              rigorous test harness to ensure correct XPath behaviour - this test harness is run
+              against all 4 current XML object models to ensure consistent behaviour and valid 
+              XPath compliance.             
+            </p>
+            <p>
+              We are also in the process of migrating over our XPath extension functions as 
+              well as adding additional XPath functions such as those defined in XSLT and XPointer.
+            </p>
+          </section>
+          <section name="New features">
+            <p>New class org.dom4j.io.XMLResult which is-a JAXP Result which uses the same
+                org.dom4j.io.OutputFormat object to provide its formatting options 
+                to allow XML output from JAXP (such as via XSLT) to be pretty printed.
+            </p>
+            <p>XMLWriter now implements the SAX XMLFilter interface so that it can
+              be added to a SAX parsing filter chain to output the XML being parsed in a simple way.
+              Many thanks to Joseph Bowbeer for his help in this area.
+            </p>
+            <p>Added setProperty() and setFeature() methods to SAXReader to allow
+              the easy configuration of custom parser properties via SAXReader, such
+              as being able to specify the location of schema or DTD resources.
+            </p>
+            <p>Added new method OutputFormat.createCompactFormat() for those wishing
+              to output their XML in a compact format, such as in messaging systems.
+            </p>
+          </section>
+          <section name="Patches and bug fixes">
+            <p>Fixed bug in getNamespaceForPrefix() where if the prefix is null or ""
+               and there is a default namespace defined, this method was returning 
+               a namespace instance with the incorrect URI. 
+            </p>
+            <p>Patched DOM writer so that it uses JAXP if it is available on the CLASSPATH
+               using namespace aware mode by default.
+            </p>
+            <p>Fixed a number of issues relating to namespaces and the redefinition of namespace prefixes.
+              We now have a quite aggressive JUnit test harness to ensure that we handle namespace URIs
+              correctly when prefixes are mapped and unmapped.
+            </p>
+            <p>Applied patch from Andrew Wason for HTMLWriter to support the full
+              HTML 4.01 DTD elements which do not require proper XML element closes.
+              The new elements are PARAM, AREA, LINK, COL, BASE and META.
+            </p>
+            <p>Fixed bug found by Dennis Sosnoski that SAX warnings were causing
+              exceptions to be thrown by the SAXReader. Now warnings are silently ignored.
+              If you want to detect warnings then an ErrorHandler should be registered with the
+              SAXReader.
+            </p>
+            <p>Patched bug that was also found by Jonathan Doughty for the non-standard
+               behaviour of the FilterIterator. Also added Jonathan's JUnit test case
+               to the distribution so that this problem should not come back. 
+            </p>
+            <p>Fixed bug that when round tripping into JAXP and back again, sometimes
+              additional namespace attributes were appearing.
+              Now the TestRoundTrip JUnit test case includes JAXP round tripping.
+            </p>
+            <p>Fixed bug that attributes without a namespace prefix which are inside
+              an element with a default namespace declaration of the form xmlns="theURI", 
+              the attribute now correctly inherits the namespace URI.
+            </p>
+            <p>Applied patch found by Stefan Graeber that the UserDataFactory was not
+              correctly creating UserDataAttribute instances.
+            </p>
+            <p>Fixed bug that SAXWriter and DocumentSource were not correctly producing
+            lexical events such as entities, comments and DOCTYPE declarations.
+            Many thanks to Joseph Bowbeer for his help in this area.
+            </p>
+          </section>
+        </section>
+        <section name="0.8 release">
+          <section name="New methods">
+            <pre>hasContent()</pre>
+            <p> has been added to the Node interface
+              so that it is easy to decide if a node is a leaf node or not.
+              This method was suggested by Dane Foster.
+              This method returns true if the node is a Branch (i.e. an Element or Document)
+              which contains at least one node.
+            </p>
+            <pre>getPath(Element context)</pre>
+            <pre>getUniquePath(Element context)</pre> 
+            <p>These new methods 
+              allow paths and unique paths to be created relatively. Previously both
+              getPath() and getUniquePath() would create absolute XPath expressions. 
+              These new methods allow relative path expressions to be created by providing
+              an ancestor Element from which to make the path expression.
+              This method was suggested by Chris Nokleberg.
+            </p>
+          </section>
+          <section name="Patches and bug fixes">
+            <p>Fixed bug found by Chris Nokleberg when using the UserDataElement
+               that the clone() and createCopy() methods were not correctly 
+               copying the user data object. A JUnit test case has been added that
+               tests this fix (org.dom4j.TestUserData).
+               If any deep copying of user data objects is required then
+               UserDataElement now has a method getCopyOfUserData()
+               which can be overloaded to perform a deep copy of any user data
+               objects if required.               
+            </p>
+            <p>Minor patch for dom4j implementors wishing to create their own 
+              QName implementations. Previously the DocumentFactory class was
+              hardwired to use QNameCache internally which was hard wired to 
+              only create QName instances.
+              Now some factory methods have been added such that you can derive 
+              your own DocumentFactory which uses your own
+              QNameCache which creates your own QName classes.
+            </p>
+            <p>If JAXP can be found in the CLASSPATH then it is now used first by
+              the SAXReader to find the correct SAX parser class. 
+              We have found that sometimes (e.g. Tomcat 4.0 beta 6) the value
+              of the org.xml.sax.driver system property is set to a class which is not 
+              in the CLASSPATH but a valid JAXP parser is present. 
+              So now we try JAXP first, then the SAX system property then if all else fails
+              we use the bundled Aelfred SAX parser.
+            </p>
+            <p>Fixed XPath bug found by James Elson that the path /foo[@a and @b] or
+              /foo[@a='1' and @b='2'] was no longer working correctly. This is now fixed
+              and many tests of this nature have been added to the JUnit test harness.
+            </p>
+            <p>Fixed some namespace related bugs found by Steen Lehmann.
+              It appears that for a document of:-
+
+           </p>
+<pre>
+<a xmlns="dummyNamespace">
+  <b>
+    <c>Hello</c>
+  </b>
+</a>
+</pre>
+           <p>Then the path /a/b/c will not find anything - this is correct according to the XPath spec.
+              Instead the path /*[name()='a']/*[name()='b']/*[name()='c'] is required.
+              These changes have been applied to getPath() and getUniquePath() such that
+              these methods now work, irrespectively of the namespaces used in a document.
+              Finally many new test cases have been added to validate a variety of XPath
+              expressions with various uses of namespaces.
+            </p>
+           <p>SAXWriter now fully supports the SAX feature "http://xml.org/sax/features/namespace-prefixes".
+              Failure to support this feature properly was causing problems
+              when outputting a dom4j Document using JAXP - the namespace declarations often did not appear correctly.
+            </p>
+           <p>Patched bug in XMLWriter which caused multiple duplicate namespace declarations to sometimes appear.
+            </p>
+          </section>
+        </section>
+        <section name="0.7 release">
+          <section name="Integration with SAXPath">
+            <p>The <a href="http://saxpath.org">SAXPath</a> project is a 
+              Simple API for XPath parsing. Its analogous to
+              SAX in that the API abstracts away the details of parsing XPath 
+              expressions and provides a simple event based callback
+              interface. 
+             </p>
+            <p>
+              Originally dom4j was using a parser generated via the <a href="http://antlr.org">Antlr</a> tool
+              which resulted in a considerably larger code base. 
+              Now dom4j uses SAXPath for its XPath parsing which results in faster XPath parsing 
+              and a much smaller code base. 
+             </p>
+            <p>
+              The dom4j.jar is now about 100 Kb smaller!
+              Also several XPath related bugs are now fixed. For example the numeric paths like '2 + count(//foo)' are now working.              
+             </p>
+         </section>
+          <section name="Patches and bug fixes">
+            <p>Fixed bug found by Tobias Rademacher that XML Schema Data Type support
+            wasn't working correctly when the XSD document used a namespace prefix.
+            The bug was hidden by a further bug in the JUnit test case that was not correctly
+            testing this case. Both these bugs are now fixed.
+            </p>
+            <p>Fixed bug found by Piero de Salvia that some invalid XPath expressions were not correctly
+            throwing exceptions. Now any attempt to use any invalid XPath expressions should result
+            in an 
+              <a href="apidocs/org/dom4j/InvalidXPathException.html">InvalidXPathException</a>
+            being thrown.
+            </p>
+            <p>Applied patch submitted by Theodor Schwarzinger that fixes the preceding-sibling and preceding axes.
+            </p>
+            <p>Fixed bug found my James Elson that the normalize() method was being quite agressive and removing 
+              all text nodes! New JUnit test case added to ensure this doesn't break again.
+            </p>
+            <p>Improved the setContent() semantics on Branch (and so Element and Document) such that the 
+              parent and document relationships are correctly removed for old content and added for new content.
+              As a helper method, the setContent() method will clone any content nodes which are already
+              part of an existing document. So for example the following code will clone the content of a document.
+<pre>
+    Document doc1 = ...;
+    Document doc2 = DocumentHelper.createDocument();  
+    doc2.setContent( doc1.content() );
+</pre>
+              Though this behaviour is much more useful when used with elements...
+<pre>
+    Element sourceElement;
+    Element destElement;
+
+    // copy the content of sourceElemenet
+    destElement.setContent( sourceElement.content() );
+</pre>
+            </p>
+          </section>
+        </section>
+        <section name="0.6 release">
+          <section name="Serialization support added">
+            <p>Support has been added for Java Serialization so dom4j documents can be serialized over RMI or EJB calls.
+            Note that currently Serialization is <i>much</i> slower (by a factor of 2-5 times) than using the textual format of
+            XML so we recommend sending XML text over RMI rather than serialization if possible. Over time we will tune
+            the serialization implementation to be at least as fast as using the text format (even if that means under the 
+            covers we just use the text format).
+            </p>
+          </section>
+          <section name="Patches and bug fixes">
+            <p>Fixed bug in XPath engine found by Christophe Ponsard
+              for paths of the form /* which were not finding
+              anything. Now we have an extensible XPath test harness (in src/test/org/dom4j/TestXPathExamples.java)
+              which contains some test cases for these kinds of paths. We can extend these cases
+              to test other XPath expressions easily.
+            </p>
+            <p>Fixed bug in elementByID() method found by Thomas Nichols that was resulting in
+              the element not being found correctly.
+            </p>
+            <p>Fixed bug in IndexedElement reported by Kerstin Gr�nefeld that was causing
+              a null pointer exception when using XPath on an IndexedElement.
+            </p>
+            <p>Applied the patch supplied by Mike Skells that fix problems with the
+              getUniquePath() method not returning properly indexed elements
+            </p>
+            <p>Applied a fix to the problem found by Dane Foster when using dom4j with JTidy.
+              JTidy returns null for getLocalName() so DOMReader has been patched to handle
+              nulls returned from either getLocalName() or getName().
+            </p>
+            <p>Fixed bug reported anonymously to the Sourceforge Site
+              <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=436670&group_id=16035&atid=116035">
+              here
+              </a>
+              that explicitly creating a Document from an existing Element could cause problems when
+              using XMLWriter.
+            </p>
+            <p>Assorted performance tunings of SAX parsing, avoiding unnecessary repeated code paths.
+            </p>
+            <p>Tidied factory and construction of Element code such that there are no longer
+            dependencies on the SAX Attributes class. This was originally added as a performance
+            enhancement, but after further refactoring this is now no longer needed.
+            This makes the process of creating new Element derivations or DocumentFactory
+            implementations easier.
+            </p>
+          </section>
+        </section>
+
+        <section name="0.5 release">
+          <section name="NodeComparator available">
+            <p>For those wishing to do value based comparisons of Nodes, 
+              Element, Attributes, Documents or Document fragments
+              there is a new 
+              <a href="apidocs/org/dom4j/util/NodeComparator.html">NodeComparator</a>
+              class which implements the 
+              <a href="http://java.sun.com/j2se/1.3/docs/api/java/util/Comparator.html">Comparator</a>
+              interface from the Java Collections Framework.
+            </p>
+          </section>
+          <section name="New helper method DocumentHelper.parseText()">
+            <p>A new helper method has been added for parsing text.
+              For example:-
+            </p>
+<pre>
+    Document document = DocumentHelper.parseText(
+        "<team> <author>James</author> </team>"
+    );
+</pre>
+
+          </section>
+          <section name="New Branch.normalize() method">
+            <p>The Branch interface (and so Document and Element interfaces) has 
+              a new normalize() method that has the same semantics as the same method 
+              in the DOM API to remove empty Text nodes and merge adjacent Text nodes.
+            </p>
+          </section>
+          <section name="Easier document building methods">
+            <p>A document can now be constructed more easily now that the addXXX() methods
+              return a reference to the Document or Element which created them.
+              An example is shown below
+            </p>
+<pre>
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+
+public class Foo {
+
+    public Document createDocument() {
+        Document document = DocumentHelper.createDocument();
+        Element root = document.addElement( "root" );
+
+        Element author1 = root.addElement( "author" )
+            .addAttribute( "name", "James" )
+            .addAttribute( "location", "UK" )
+            .addText( "James Strachan" );
+        
+        Element author2 = root.addElement( "author" )
+            .addAttribute( "name", "Bob" )
+            .addAttribute( "location", "Canada" )
+            .addText( "Bob McWhirter" );
+
+        return document;
+    }
+}
+</pre>
+            <p>
+              Note that the addElement() method returns the <b>new</b> child element
+              not the parent element.
+            </p>
+            <p>
+              To promote consistency, the Element.setAttributeValue() method is now deprecated
+              and should be replaced with Element.addAttribute().
+            </p>
+          </section>
+          <section name="Patches and bug fixes">
+            <p>Applied Theo's patch for cloning of Documents correctly 
+              together with JUnit test cases to ensure this keeps working.
+            </p>
+            <p>Applied Rob Wilson's patch that NullPointerExceptions 
+              were being thrown if a Document is output with the XMLWriter
+              and an attribute value is null.
+            </p>
+            <p>Fixed problem found by Nicolas Fonrose that XPath expressions
+              using namespace prefixes were not working correcty.
+            </p>
+            <p>Fixed problem found by Thomas Nichols whereby default namespaces
+              with no prefix were not being processed correctly. 
+              As a result of finding this bug we now have a rigorous JUnit round trip test 
+              harness in place which highlighted a number of issues with namespaces when
+              round tripping from dom4j to SAX to DOM to Text and back again.
+              These issues have now been fixed and should not show up again hopefully.
+            </p>
+            <p>Fixed some detach() bugs that were found with Attributes.
+            </p>
+            <p>Default encoding is now "UTF-8" rather than "UTF8". Thanks to
+              Thomas Nichols for spotting that one. Also the default 
+              line seperator when using XMLWriter is now "\n" rather than "\r\n"
+            </p>
+            <p>If an XMLWriter is used with an OutputStream then an explicit call to 
+            flush() is no longer required after calling write(Document)
+            </p>
+            <p>Some housekeeping was performed in the naming of some implementation classes.
+              The old XPathXXX.java classes in the org.dom4j.tree package 
+              where XXX = Attribute, CDATA, 
+              Comment, Entity, ProcessingInstruction and Text have been renamed to
+              DefaultXXX and the corresponding DefaultXXX has been renamed to
+              FlyweightXXX. This makes it clearer the purpose of these implementation
+              classes. The default implementations of the leaf nodes are mutable but cannot
+              be shared across elements. The FlyweightXXX implementations are immutable
+              and can be shared across nodes and documents.
+            </p>
+          </section>
+        </section>
+
+        <section name="0.4 release">
+          <section name="Enhanced event notification mechanism">
+            <p>A new enhanced event notification mechanism has been implemented
+              by David White.
+              Now you can register multple
+              <a href="apidocs/org/dom4j/ElementHandler.html">ElementHandler</a>
+              instances with a 
+              <a href="apidocs/org/dom4j/io/SAXReader.html">SAXReader</a>
+              object before you parse a document such that the different
+              handlers are notified when different paths are reached.
+            </p>
+            <p>
+              The <a href="apidocs/org/dom4j/ElementHandler.html">ElementHandler</a>
+              interface now has both <code>onStart()</code> and <code>onEnd()</code>
+              allowing more fine grained control over when you are called
+              and the ability to perform actions before or after the content
+              for an Element is populated.
+              The methods also take a reference to a 
+              <a href="apidocs/org/dom4j/ElementPath.html">ElementPath</a>
+              to allow more optimised and powerful access to the path to the specified document.
+            </p>
+          </section>
+          <section name="Early alpha release of XML Schema Data Type support">
+            <p>This release contains an alpha release of XML Schema Data Type
+            support.  
+            The main class in question is the XML Schema Data Type aware
+            <a href="apidocs/org/dom4j/datatype/DatatypeDocumentFactory.html">DatatypeDocumentFactory</a>            
+            which will create an XML Schema Data Type aware XML object model.
+            </p>
+            <p>
+              The <code>getData()</code> and <code>setData(Object)</code> methods
+              on 
+              <a href="apidocs/org/dom4j/Attribute.html">Attribute</a> and            
+              <a href="apidocs/org/dom4j/Element.html">Element</a>            
+              allow access to the concrete data types such as Dates and Numbers.
+            </p>
+          </section>
+          <section name="Patches and bug fixes">
+            <p>Applied Theo's patch for the XPath <code>substring</code> function 
+              that was causing the incorrect string indexes to be returned.
+              The <code>substring</code> now returns the correct answer.
+            </p>
+            <p>Applied Theo's patch for incorrectly escaping of element text.
+            </p>
+            <p>Fixed bug in the XPath engine for absolute path expressions which 
+              now work correctly when applied to leaf nodes.
+            </p>
+            <p>Fixed bug
+              in the <code>name()</code> and <code>local-name()</code> 
+              functions such that the following expressions now work fine
+              <code>local-name(..), name(parent::*)</code>.
+            </p>
+          </section>
+          <p>A variety of minor performance tuning optimisations have been made.
+          </p>
+        </section>
+
+        <section name="0.3 release">
+          <p>The <code>org.dom4j.io.OutputFormat</code> class now has a new helper
+            method to make it easier to create pretty print formatting objects.
+            The new method is <code>OutputFormat.createPrettyPrint()</code>.
+            So to pretty print some XML (trimming all whitespace and indenting nicely)
+            the following code should do the job...
+          </p>
+<pre>
+    OutputFormat format = OutputFormat.createPrettyPrint();
+    XMLWriter writer = new XMLWriter( out, format );
+    writer.write( document );
+    writer.close();
+</pre>
+          <p><code>SAXReader.read(String url)</code> can now accept either 
+            a URL or a file name which makes things a little easier.
+            The logic uses the existence of a ':' in the url String to determine if
+            it should be treated as a URL or a File name. 
+          </p>
+          <p>For more explicit control over whether documents are Files or URLs
+            call <code>SAXReader.read(File file)</code> or <code>SAXReader.read(URL url)</code>
+          </p>
+          <p>A new extension function, <i>matrix-concat()</i> was submitted by 
+          James Pereira.
+          By default, doing <i>concat()</i> functions in XPath the 'string-value' is taken
+          for each argument.
+          So for a document:-</p>
+<pre>
+<root project="dom4j">
+    <contributor>James Pereira</contributor>
+    <contributor>Bob McWhirter</contributor>
+</root;>
+</pre>
+        <p>Then the XPath</p>
+
+<pre>
+concat( 'thanks ', /root/contributor )
+</pre>
+
+        <p>would return</p>
+
+<pre>
+"thanks James Pereira"
+</pre>
+
+      <p>as the <i>/root/contributor</i> expression matches a node set of 2 
+      elements, but the "string-value" takes the first elements text.
+      Whereas <i>matrix-contact</i> will do a cartesian product of all the 
+      arguments and then do the concatenation of each combination of nodes. So
+      </p>
+
+<pre>
+matrix-concat( 'thanks ', /root/contributor )
+</pre>
+
+      <p>will produce</p>
+
+<pre>
+"thanks James Pereira"
+"thanks Bob McWhirter"
+</pre>
+
+      <p>The cartesian product is done such that multiple paths can be used.
+      </p>
+
+<pre>
+matrix-concat( 'thanks ', /root/contributor, ' for working on ', '/@project' )
+</pre>
+
+      <p>will produce</p>
+
+<pre>
+"thanks James Pereira for working on dom4j"
+"thanks Bob McWhirter for working on dom4j"
+</pre>
+
+      <p>Fixed bug where <code>XMLWriter.write(Object)</code> was not correctly
+        writing a Document instance.
+      </p>
+      <p>Finally, a couple of small issues with the build process have been fixed.
+      The dom4j.jar no longer contains any SAX or DOM classes (they are all in dom4j-full.jar)
+      And the Antlr grammar files for the XPath parser are now corrrectly 
+      included in the binary  distribution.
+      </p>
+        </section>
+ 
+        <section name="0.2 release">
+          <p>There following new features were added:-
+          </p>
+          <ul>
+            <li>Clean integration with XSLT via JAXP / TrAX API.
+            </li>
+            <li>New SAXValidator to allow validation on prebuild Document instances
+            </li>
+            <li>XMLWriter and HTMLWriter rewritten so that they work at either 
+                the SAX level or the dom4j level. 
+                API much improved and more like Reader and Writer in the JDK.
+            </li>
+            <li>API modified to avoid clashes with WC3 DOM such that a dual 
+                implementation of dom4j and DOM is now possible. An early alpha
+                release of a DOM implementation of dom4j is available.
+            </li>
+            <li>New sorting method added to Node for easier selections of nodes
+              which are sorted via an XPath expression. The following
+              code sorts all CUSTOMER elements by their name attributes and 
+              removes duplicates:-
+              <pre>
+Document document 
+  = new SAXReader().read( new File( "customers.xml" ) );
+
+List customers 
+  = document.selectNodes( "//CUSTOMER", "@name", true );
+              </pre>
+            </li>
+            <li>The getText() and getStringValue() methods of Element now return
+              the textual values of CDATA, Entity and Text nodes. 
+              The previous version only returned Text node values.
+            </li>
+            <li>Refactored code and removed XPathEngine, XPathHelper and 
+                all the static newXXX() methods in DocumentFactory.
+                Added equivalent methods to DocumentHelper and DocumentFactory.
+            </li>
+          </ul>
+          <p>This release also includes full XPath source code.
+          </p>
+        </section>
+        <section name="0.1 release">
+          <p>Initial release which comes complete with DOM, JAXP and SAX 
+            support and integrated XPath
+          </p>
+        </section>
+ 
+    <section name="To Do List">
+      <ul>
+        <li>The internal subset does not pass through DOMReader and DOMWriter. This needs patching!
+        </li>
+        <li>We should add support for Xerces XNI API via an XNIReader and XNIWriter. This would also allow
+          dom4j users to make good use of the NekoHTML parser thats layered on top of XNI.
+        </li>
+        <li>Better documentation and user guides
+        </li>
+        <li>A lazy parser; implement a special Element implementation (or probably a special List)
+          which allows the XPP (XML Pull Parser) to parse the document as it is navigated rather than
+          all up front.
+        </li>
+        <li>Build a dom4j validator based on top of Suns MSV library
+        </li>
+        <li>Ensure that the optional DOM implementation passes the DOM compliance tests
+        </li>
+        <li>Implement a ValidatingDocumentFactory and an EncodingDocumentFactory
+          which can be used by developers where invalid strings may be specified
+          allowing validation or encoding of names or text values to be
+          done in one place for use across parsers or application code.
+          This would avoid any performance hit by making this kind of validation 
+          the default behaviour.
+        </li>
+        <li>Implement a canonical XML processor
+        </li>
+        <li>Implement XML Signature
+        </li>
+        <li>Implement XPointer, XLink and XInclude
+        </li>
+        <li>Build a version of XMLC which uses the dom4j API rather than DOM which
+          could also make use of XPath, XSLT and Java 2 Collections support.
+        </li>
+        <li>
+          Consider adding support for 
+          <a href="http://developer.java.sun.com/developer/earlyAccess/adding_generics/">Java Generics</a> 
+          such that typesafe Iterators can be used. For example
+          <pre>
+Iterator<Node> iter = element.nodeIterator();
+while ( iter.hasNext() ) {
+    Node node = iter.next();
+}
+
+Iterator<Element> iter2 = element.elementIterator( "foo" );
+while ( iter2.hasNext() ) {
+    Element foo = iter2.next();
+}
+          </pre>
+        </li>
+        <li>Implement XSLT engine on top of <i>dom4j</i>?
+        </li>
+        <li>XML Query implementation on top of <i>dom4j</i>?
+        </li>
+      </ul>
+    </section>
+
+    <section name="Known problems">    
+      <p>The following functions are not yet fully supported in the inbuilt
+        XPath engine</p>
+      <ul>
+        <li>id()</li>
+        <li>generate-id()</li>
+        <li>format-number()</li>
+      </ul>
+      <p>The optional W3C DOM implementation of the dom4j API is not yet at 
+      full DOM compliance</p>
+    </section>
+
+    <section name="Contributors">    
+      <p>The following people have contributed to the dom4j project. 
+      Many thanks to you all!</p>
+      <ul>
+        <li>James Strachan</li>
+        <li>Bob McWhirter</li>
+        <li>James Dodd</li>
+        <li>James Elson</li>
+        <li>Jakob Jenkov</li>
+        <li>James Pereira</li>
+        <li>David White</li>
+        <li>Tobias Rademacher</li>
+        <li>Rashmi Mathew</li>
+        <li>Jonathan Doughty</li>
+        <li>Joseph Bowbeer</li>
+        <li>Michal Palicka</li>
+        <li>Yuxin Ruan</li>
+        <li>Steen Lehmann</li>
+        <li>Maarten Coene</li>
+        <li>Stefan Graeber</li>
+      </ul>
+    </section>
+
+  </body>
+</document>
diff --git a/xml/#.xml b/xml/#.xml
new file mode 100644
index 0000000..f35425b
--- /dev/null
+++ b/xml/#.xml
@@ -0,0 +1 @@
+<test />
\ No newline at end of file
diff --git a/xml/axis.xml b/xml/axis.xml
new file mode 100644
index 0000000..fe7cca8
--- /dev/null
+++ b/xml/axis.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+
+<root>
+
+  <a>
+    <a.1/>
+    <a.2/>
+    <a.3/>
+    <a.4/>
+    <a.5/>
+  </a>
+
+  <b>
+    <b.1/>
+    <b.2/>
+    <b.3/>
+    <b.4/>
+    <b.5/>
+    <b.6/>
+    <b.7/>
+    <b.8/>
+    <b.9/>
+  </b>
+
+</root>
diff --git a/xml/bean/gui.xml b/xml/bean/gui.xml
new file mode 100644
index 0000000..2011e2e
--- /dev/null
+++ b/xml/bean/gui.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<widgets>
+  <window class="javax.swing.JFrame" title="Frame #1"/>
+  <window class="javax.swing.JFrame" title="Frame #2"/>
+</widgets>
diff --git a/xml/cdata.xml b/xml/cdata.xml
new file mode 100644
index 0000000..e854d5f
--- /dev/null
+++ b/xml/cdata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+
+<cdataTest>
+  test < one <![CDATA[&&<<>>]]> test two
+</cdataTest> 
diff --git a/xml/contents.xml b/xml/contents.xml
new file mode 100644
index 0000000..1a1fd32
--- /dev/null
+++ b/xml/contents.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+
+<?xml-stylesheet href="XSL\JavaXML.html.xsl" type="text/xsl"?>
+<?xml-stylesheet href="XSL\JavaXML.wml.xsl" type="text/xsl" 
+                 media="wap"?>
+<?cocoon-process type="xslt"?>
+
+<!-- Java and XML -->
+<JavaXML:Book xmlns:JavaXML="http://www.oreilly.com/catalog/javaxml/" 
+              xmlns:ora="http://www.oreilly.com"
+              xmlns:unused="http://www.unused.com"
+              ora:category="Java" 
+> 
+  <!-- comment one -->
+  <!-- comment two -->
+ <JavaXML:Title>Java and XML</JavaXML:Title>
+ <JavaXML:Contents xmlns:topic="http://www.oreilly.com/topics">
+  <JavaXML:Chapter topic:focus="XML">
+   <JavaXML:Heading>Introduction</JavaXML:Heading>
+   <JavaXML:Topic subSections="7">
+     What Is It?
+   </JavaXML:Topic>
+   <JavaXML:Topic subSections="3">
+     How Do I Use It?
+   </JavaXML:Topic>
+   <JavaXML:Topic subSections="4">
+     Why Should I Use It?
+   </JavaXML:Topic>
+   <JavaXML:Topic subSections="0">
+     What's Next?
+   </JavaXML:Topic>
+  </JavaXML:Chapter>
+
+  <JavaXML:Chapter topic:focus="XML">
+   <JavaXML:Heading>Creating XML</JavaXML:Heading>
+   <JavaXML:Topic subSections="0">An XML Document</JavaXML:Topic>
+   <JavaXML:Topic subSections="2">The Header</JavaXML:Topic>
+   <JavaXML:Topic subSections="6">The Content</JavaXML:Topic>
+   <JavaXML:Topic subSections="1">What's Next?</JavaXML:Topic>
+  </JavaXML:Chapter>
+
+  <JavaXML:Chapter topic:focus="Java">
+   <JavaXML:Heading>Parsing XML</JavaXML:Heading>
+   <JavaXML:Topic subSections="3">Getting Prepared</JavaXML:Topic>
+   <JavaXML:Topic subSections="3">SAX Readers</JavaXML:Topic>
+   <JavaXML:Topic subSections="9">Content Handlers</JavaXML:Topic>
+   <JavaXML:Topic subSections="4">Error Handlers</JavaXML:Topic>
+   <JavaXML:Topic subSections="0">
+     A Better Way to Load a Parser
+   </JavaXML:Topic>
+   <JavaXML:Topic subSections="4">"Gotcha!"</JavaXML:Topic>
+   <JavaXML:Topic subSections="0">What's Next?</JavaXML:Topic>
+  </JavaXML:Chapter>
+
+  <JavaXML:SectionBreak/>
+
+  <JavaXML:Chapter topic:focus="Java">
+   <JavaXML:Heading>Web Publishing Frameworks</JavaXML:Heading>
+   <JavaXML:Topic subSections="4">Selecting a Framework</JavaXML:Topic>
+   <JavaXML:Topic subSections="4">Installation</JavaXML:Topic>
+   <JavaXML:Topic subSections="3">
+     Using a Publishing Framework
+   </JavaXML:Topic>
+   <JavaXML:Topic subSections="2">XSP</JavaXML:Topic>
+   <JavaXML:Topic subSections="3">Cocoon 2.0 and Beyond</JavaXML:Topic>
+   <JavaXML:Topic subSections="0">What's Next?</JavaXML:Topic>
+  </JavaXML:Chapter>
+ </JavaXML:Contents>
+</JavaXML:Book>
+
diff --git a/xml/cookbook.xml b/xml/cookbook.xml
new file mode 100644
index 0000000..3a8f1c7
--- /dev/null
+++ b/xml/cookbook.xml
@@ -0,0 +1,931 @@
+<!-- DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
+               "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd" -->
+<book>
+<bookinfo>
+<title>DOM4J Cookbook</title>
+<author><firstname>Tobias</firstname><surname>Rademacher</surname></author>
+<revhistory>
+<revision>
+<revnumber>0.0.3</revnumber>
+<date>01-06-20</date>
+<authorinitials>tradem</authorinitials>
+<revdescription>
+<para>Complemted doc for alpha release</para>
+</revdescription>
+</revision>
+<revision>
+<revnumber>0.0.2</revnumber>
+<date>01-06-06</date>
+<authorinitials>tradem</authorinitials>
+<revdescription>
+<para>Added "Secret of DocumentBuilder" and "Serialization"</para>
+</revdescription>
+</revision>
+<revision>
+<revnumber>0.0.1</revnumber>
+<date>01-06-02</date>
+<authorinitials>tradem</authorinitials>
+<revdescription>
+<para>Created the document</para>
+</revdescription>
+</revision>
+</revhistory>
+<pubdate>June 2001</pubdate>
+<abstract>
+<para>This document provides a practical instruction to dom4j. It guides you through by using a lot of examples and is based on dom4j v0.5</para>
+</abstract>
+</bookinfo>
+<preface>
+<title>Foreword</title>
+<para>
+</para>
+</preface>
+<chapter>
+<title>Introducing dom4j</title>
+<para>
+Most readers already knowing that <application>dom4j</application> is a object model representing an XML Tree in memory. <application>dom4j</application>
+offers a easy-to-use API that provides a powerfull set of functions to process, manipulate or navigate with that XML tree. The Designers of
+<application>dom4j</application> concentrate on a interface-bases pattern-centric architecture in order to provide a resuable high configurable object
+model. You are able to create your own tree builder's by relying on the existing infrastructure and extending them. Thus
+simplictiy in resuablity comes with a little bit more effort by understandig the architecture in depth. This
+document will guide you through <application>dom4j</application>'s freatures in a pratical way. It uses a lot of explained examples to achive that. The document is
+also desinged as a reference so that you don't have to read the entire document right now. The document concentrate on daily work with
+<application>dom4j</application> and is therefore called cookbook. Readers that needs detailed instruction about Java and XML (JaXP - Java XML processing)
+should have a look at A quick tour through Java XML Processing using DOM4J.
+</para>
+</chapter>
+<chapter>
+<title>Creation of a XML Object Model using DOM4J</title>
+<para>
+Normally it all starts with a set of xml-files or a single xml file that you want to process, manipulate or naviagte through to extract some
+values necessary in your application. Most Java Open-Source project using XML for deploying or substiute their property fieles in order
+to get easy readable property data.
+</para>
+<section><title>Reading XML data</title>
+<para>
+Who does <application>dom4j</application> helps you to get the data store in XML? <application>dom4j</application> comes with a set of
+Builder Classes that parses the xml data and creating
+a tree like object structure in memory. You can mainpulate or nativate throug that image now. Following example shows how you can
+read your data using <application>dom4j</application> API.
+
+<programlisting>
+import java.io.File;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+
+public class DeployFileLoaderSample {
+
+  /** DOM4J object model representation of a xml document. Note: We use the interface(!) not its implementation */
+  private Document doc;
+
+  /**
+   * Loads a document from a file.
+   *
+   * @throw a org.dom4j.DocumentException occurs whenever the buildprocess fails.
+   */
+  public void parseWithSAX(File aFile) throws DocumentException {
+    SAXReader xmlReader = new SAXReader();
+    this.doc = xmlReader.read(aFile);
+  }
+
+}
+</programlisting>
+
+</para>
+
+<para>
+The above example code should  clarify the use of <classname>org.dom4j.io.SAXReader</classname> to build a complete <application>dom4j</application>-Tree from a given file.
+The io package of <application>dom4j</application> contains a set of clases for creating and serzializing <acronym>XML</acronym> memory images. As read() method
+is a overloaded method you are able to pass different kind of object that represents a source.
+
+<itemizedlist>
+  <listitem><para>java.net.URL - represents a Uniform Ressource Loader or a Uniform Ressource Identifier encasulate in a URL instance</para></listitem>
+  <listitem><para>java.io.InputStream - a open input stream that transports xml data</para></listitem>
+  <listitem><para>java.io.Reader - more compartable puls the abiltiy of setting the encoding scheme</para></listitem>
+  <listitem><para>org.sax.InputSource - a single input source for a <acronym>XML</acronym> entity.</para></listitem>
+  <listitem><para>java.lang.String - a SystemId is a String that contains a URI e.g. a URL to a XML file</para></listitem>
+</itemizedlist>
+
+So we decide to add more flexiblity to our <classname>DeployFileLoaderSample</classname> and add new method.
+
+<programlisting>
+import java.io.File;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+
+public class DeployFileLoaderSample {
+
+  /** DOM4J object model representation of a xml document. Note: We use the interface(!) not its implementation */
+  private Document doc;
+
+  /**
+   * Loads a document from a file.
+   *
+   * @param aFile the data source
+   * @throw a org.dom4j.DocumentExcepiton occurs whenever the buildprocess fails.
+   */
+  public void parseWithSAX(File aFile) throws DocumentException {
+    SAXReader xmlReader = new SAXReader();
+    this.doc = xmlReader.read(aFile);
+  }
+
+  /**
+   * Loads a document from a file.
+   *
+   * @param aURL the data source
+   * @throw a org.dom4j.DocumentExcepiton occurs whenever the buildprocess fails.
+   */
+  public void parseWithSAX(URL aURL) throws DocumentException {
+    SAXReader xmlReader = new SAXReader();
+    this.doc = xmlReader.read(aURL);
+  }
+
+
+}
+</programlisting>
+
+Using Reflection API provides the most flexbility for handling all kinds of <classname>org.dom4j.io.SAXReader</classname> Sources, but that
+and even a check with instanceof needs a good exception management while you suspend and a lot of
+xml driven application will not need this flexiblity.
+</para>
+
+</section>
+
+<section>
+<title>Integrating orginal XML APIs</title>
+<para>
+We have talked about reading a document with SAX now. <application>dom4j</application> offers also some classes for integration of
+the two original XML processing APIs - SAX and DOM. <classname>org.dom4j.SAXContentHandler</classname> implements some
+SAX interfaces. Thus you are able to use them to create a specific SAX-based Reader class.
+</para>
+
+<para>
+The <classname>DOMReader</classname> class allows you to recycle a exsiting <acronym>DOM</acronym> tree. This could be usefull if you already used DOM
+and want to replace it step by step with <application>dom4j</application> or if you just needs some of <acronym>DOM</acronym>'s behaviors and want to save
+memory ressources by transforming it in a <application>dom4j</application> Model. Your are able to transform a DOM Docuemnt, a <acronym>DOM</acronym> Node branch and
+single element.
+</para>
+
+<programlisting>
+
+import org.sax.Document;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.DOMReader;
+
+public class DOMIntegratorSample {
+
+  private Document doc;
+
+  public void buildDOM4JTree(org.sax.Document saxDoc) {
+    DOMReader xmlReader = new DOMReader();
+    this.doc = xmlReader.read(saxDoc);
+  }
+}
+
+</programlisting>
+</section>
+
+<section><title>The secret of DocumentFactory</title>
+Right now we have talked a lot of reading exisiting XML information e.g. form files, URL's or even Streams.
+Sometimes it's necessary to generate a XML document from scratch within a running Java Application.
+The class <classname>org.dom4j.DocumentFactory</classname> defines a set of factory methods in order to create empty documents, document
+types, elements, attributes, unparsed character data (CDATA), a namespace, instance regarding <acronym>XPath</acronym>, a Nodefilter and
+some other usefull instances. Thus makes the <classname>DocumentFactory</classname> class to a central class whenever you have to create
+one of theses instances by yourself.
+</section>
+
+<programlisting>
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileCreator {
+
+  private Document doc;
+
+  public void generateDoc(String aRootElement) {
+   Element root = DocumentFacotry.getInstance().createElement(aRootElement);
+   this.doc = DocumentFactory.getInstance().createDocument(root);
+  }
+
+}
+
+</programlisting>
+
+<para>
+The listing shows how two generate a new Document from scratch. The method generateDoc takes a String instance of argument. The string value contains the name of
+the root element of the new document. As you can see org.dom4j.DocumentFactory is a singleton that is accessable via getInstance() as most java singeltons are.
+After we obtained the instance we can DocumentFacotrie's methods. They follow the createXXX() naming convention, so if you want to create a Attribute you would
+call createAttribute() instead. If your class uses DocumentFactory a lot you should add it as a member variable and initiate it via getInstance in your constructor.
+</para>
+
+<programlisting>
+
+import org.dom4j.DocumentFactory;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class GranuatedDeployFileCreator {
+
+ private DocumentFactory factory;
+ private Document doc;
+
+ public GranuatedDeployFileCreator() {
+   this.factory = DocumentFactory.getInstance();
+ }
+
+ public void generateDoc(String aRootElement) {
+   Element root = this.factory.createElement(aRootElement);
+   this.doc = this.factory.createDocument(root);
+ }
+
+}
+
+</programlisting>
+
+<para>
+As mentioned earlier <application>dom4j</application> is a interface based API. This means that DocumentFacotry and the Reader classes in io package always returning this
+interfaces. So you are forced to uses interfaces to work with the object model. Collection API and <acronym>W3C</acronym>'s <acronym>DOM</acronym> itselfs are another APIs
+that uses this approach. Why that is
+such a wide spread desing is described here and as well here.
+</para>
+
+</chapter>
+
+<chapter>
+<title>Serialization</title>
+
+<para>
+Once you have parsed or created a document you want to serialized it to disk or into a plain (or encrypted) stream. <application>dom4j</application> provides a set of classes to serialize
+your DOM4J tree in four ways:
+</para>
+
+<itemizedlist>
+  <listitem><para>XML</para></listitem>
+  <listitem><para>HTML</para></listitem>
+  <listitem><para>DOM</para></listitem>
+  <listitem><para>SAX Events</para></listitem>
+</itemizedlist>
+
+<section><title>Serializing to XML</title>
+<classname>org.dom4j.io.XMLWriter</classname> is a easy-to-use and easy-to-understand class used to serialize a <application>dom4j</application> Tree to a plain <acronym>XML</acronym>. You are able
+to write these <acronym>XML</acronym> tree with either a <classname>java.io.OutputStream</classname> or a <classname>java.io.Writer</classname>. This can be configured with the overloaded constructor.
+Writer's can be installed after inistiation also. Let's have a look at a example.
+
+<programlisting>
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+
+public class DeployFileCreator {
+
+ private Document doc;
+
+ public void serilizetoXML(OutputStream out, String aEncodingScheme) throws Exception {
+   XMLWriter writer = new XMLWriter();
+   writer.setWriter(writer.createWriter(out,aEncodingScheme);
+   writer.write(this.doc);
+   writer.close;
+ }
+
+}
+</programlisting>
+
+<para>
+We used writers createWriter method to wrap a given <classname>OutputStream</classname> with the appropriate encoding. You should use a <classname>Writer</classname> rather than a <classname>OutputStream</classname>, because you are able to control the encoding of your XML application. Since write()-Method is overloaded you are able to write all Object of which DOM4J consits.
+</para>
+
+
+<section><title>Influencing the output format</title>
+<para>
+There are two way to influence the output format: <classname>org.dom4j.io.OutputFormater</classname> and <classname>org.dom4j.io.XMLWriter</classname>. Both provide methods for formatting the output e.g setting of indent
+or new line.
+</para>
+
+
+<programlisting>
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+
+ public void serilizetoXML(OutputStream out, String aEncodingScheme) throws Exception {
+   XMLWriter writer = new XMLWriter(OutputFormat.getPrettyPrinting());
+   writer.setWriter(writer.createWriter(out,aEncodingScheme);
+   writer.write(this.doc);
+   writer.close;
+ }
+
+}
+</programlisting>
+
+<para>
+<classname>XMLWriter</classname> has a default OutputFormat, but that is onyl a unconfigured instance of <classname>OutputFormat</classname>, so whenever you want to get a good readable output you should configure it.
+Whereas <classname>OutputFormat</classname> gains you more control and information about the applied format <classname>XMLWriter</classname> has confortable methods that provide nearly the same functionability. Another interesting feature of <classname>OutputFormat</classname> the ability of setting the encoding. It is a good idiom to use <classname>OutputFormat</classname> for setting the encoding.
+</para>
+
+<para>
+The close() method is necessary to close the underlying <classname>Writer</classname>. So if you consider to use a <classname>OutputStream</classname> you should use flush() insead.
+</para>
+
+<programlisting>
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+ private OutputFormat outFormat;
+
+ public DeployFileCreator() {
+   this.outFormat = OuputFormat.getPrettyPrinting();
+ }
+
+ public DeployFileCreator(OutputFormat outFormat) {
+   this.outFormat = outFormat;
+ }
+
+ public void serilizeToXML(OutputStream out) throws Exception {
+   XMLWriter writer = new XMLWriter(outFormat);
+   writer.setWriter(writer.createWriter(out,outFormat.getEncoding);
+   writer.write(this.doc);
+   writer.close;
+ }
+
+ public void serilizeToXML(OutputStream out, String encoding) throws Exception {
+   this.outFormat.setEncoding(encoding);
+   this.serzializeToXML(out);
+ }
+
+}
+</programlisting>
+
+<para>
+The seriazliation methods in our little example will now set encoding using <classname>OutputFormater</classname>. If you use the parameterless construtor and the seriazliation method takes only
+an <classname>java.io.OutputStream</classname> <acronym>UTF8</acronym> is used for encoding. If you need a simple output on screen for debbuing or testing you can omit setting of a <classname>Writer</classname> or an <classname>OutputStream</classname> completly
+because <application>dom4j</application>.<classname>org.io.XMLWriter</classname> standard Stream is <classname>System.out</classname>.
+</para>
+
+</section>
+
+</section>
+
+<section><title>Printing HTML</title>
+<para>
+<classname>HTMLWriter</classname> takes a <application>dom4j</application> tree and formats it to a stream as <acronym>HTML</acronym>. This formatter is similar to
+<classname>XMLWriter</classname> but outputs the text of CDATA and Entity sections rather than the serialised format as in <acronym>XML</acronym> and also supports certain element which have no corresponding close tag such as for >BR< and >P<
+</para>
+
+<programlisting>
+
+import java.io.OutputStream;
+
+import org.dom4j.Document;
+import org.dom4j.io.HTMLWriter;
+import org.dom4j.io.OutputFormat;
+
+public class DeployFileCreator {
+
+ private Document doc;
+ private OutputFormat outFormat;
+
+ public DeployFileCreator() {
+   this.outFormat = OuputFormat.getPrettyPrinting();
+ }
+
+ public DeployFileCreator(OutputFormat outFormat) {
+   this.outFormat = outFormat;
+ }
+
+ public void serilizeToHTML(OutputStream out) throws Exception {
+   HTMLWriter writer = new HTMLWriter(outFormat);
+   writer.setWriter(writer.createWriter(out,outFormat.getEncoding);
+   writer.write(this.doc);
+   writer.close;
+ }
+
+}
+</programlisting>
+
+</section>
+
+<section><title>Building a DOM-Tree</title>
+<para>
+Sometimes it's necessary to transform your <application>dom4j</application> tree into an <acronym>DOM</acronym> tree, because you are currently refactoring your application.
+<application>dom4j</application> is very convient for step-to-step substitution of older <acronym>XML</acronym> <acronym>API</acronym>'s like dom or even <acronym>SAX</acronym>
+(see <anchor id="DOM4J2SAX">Generating SAX Events</anchor>). Let's move to an example:
+</para>
+
+<programlisting>
+import org.w3c.dom.Document;
+
+import org.dom4j.Document;
+import org.dom4j.io.DOMWriter;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+
+  public org.w3c.dom.Document transformtoDOM() {
+     DOMWriter writer = new DOMWriter();
+     return writer.createDomDocument(this.doc);
+  }
+}
+
+</programlisting>
+
+</section>
+
+<section id="DOM4J2SAX"><title>Generating SAX Events</title>
+<para>
+When you want to resolve a existing document into sax events in order to process the by origin classes <application>dom4j</application> provides <classname>org.dom4j.SAXWriter</classname>.
+</para>
+
+
+<programlisting>
+import org.xml.ConentHandler;
+
+import org.dom4j.Document;
+import org.dom4j.io.SAXWriter;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+
+  public void transformtoSAX(ContentHandler ctxHandler) {
+     SAXWriter writer = new SAXWriter();
+     writer.setContentHandler(ctxHandler);
+     writer.write(doc);
+  }
+}
+
+</programlisting>
+
+<para>
+Using <classname>SAXWriter</classname> is fairly easy as you can see. You can resolve also <classname>org.dom.Element</classname> which means that you are able to process a single element branch with <acronym>SAX</acronym>.
+</para>
+</section>
+</chapter>
+
+<chapter>
+<title>Navigation in DOM4J</title>
+<para>
+dom4j offers powerfully methods for navigating through a document. These methods are:
+</para>
+
+<itemizedlist>
+  <listitem><para>Sun Implementation of GOF's Iterator Pattern in Collection API (java.util.Iterator and java.util.ListIterator)</para></listitem>
+  <listitem><para>Index based navigation with List.get()</para></listitem>
+  <listitem><para>In-Build XPath support</para></listitem>
+  <listitem><para>In-Build GOF Visitor Pattern</para></listitem>
+</itemizedlist>
+
+<section><title>Using Iterator</title>
+<para>
+Most Java developers have already used java.util.Iterator or it's ancestor java.util.Enumeration. Both classe are ziemlich involed into the Collection API and used
+to visit the elements of a collection. The Iterator is appylied usually with a while loop and Iterator methods hasNext() and next() item. Right now Collection API
+dont support Generic Type (like C++ Templates), but there's already a Early Access Implemention avaialbe. We talked a lot of Iterator for now let's move to an living
+example of it in dom4j.
+</para>
+</section>
+
+<programlisting>
+
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void iterateRootChildren() {
+    root = this.doc.getRootElement();
+    Iterator elementIterator = root.elementIterator();
+    while(elementIterator.hasNext()){
+      System.out.println(((Element)elementIterator.next()).getName());
+    }
+
+  }
+}
+</programlisting>
+
+<para>
+The above exapmle might be a little bit confusing if you are not close to Collection API. Casting is necessary when you want to acess the object. Sometimes casting
+can be dangerous because of a java.lang.ClassCastException. dom4j normally uses a clean object model that such a exception never occurs. There's another interesting
+approach in API may be usefull.
+</para>
+
+<programlisting>
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void iterateRootChildren(String aFilterElementName) {
+    root = this.doc.getRootElement();
+    Iterator elementIterator = root.elementIterator(aFilterElementName);
+    while(elementIterator.hasNext()){
+      System.out.println(((Element)elementIterator.next()).getName());
+    }
+  }
+}
+</programlisting>
+
+<para>
+Now the the method iterates on such Elements that have the <emphasis>same</emphasis> name as the parameterized String only. This can be used as a kind of
+filter applied on to of Collection API's Iterator.
+</para>
+
+<section><title>Index based Nativation</title>
+<para>
+Sometimes it's nessary to access an Element directly by it's index. The following example is a modification of our <classname>Iterator</classname> example
+explaining index addressing in <application>dom4j</application>.
+</para>
+
+<programlisting>
+import java.util.List;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void iterateRootChildren() {
+    root = this.doc.getRootElement();
+    List elements = root.elements;
+    for(int i=0; i < list.size()-1; i++) {
+      System.out.println(((Element)elements.get(i)).getName());
+    }
+  }
+}
+</programlisting>
+
+<para>
+Remember that this form of Navigation is unsafe. You have to deal with <classname>IndexOutOfBoundsException</classname> and should choose this form of Navigation  only when fast
+direct acess is necessary.
+</para>
+
+
+</section>
+
+<section><title>The elegant XPath Implementation</title>
+<para>
+<acronym>XPath</acronym> is is one of the most usefull features of <application>dom4j</application>. You can use it to retrieval element brances from any location
+your currently are. A good XPath Refercence can be found in Micheal Kay's XSLT book <citation>XSLTReference</citation>.
+</para>
+</section>
+
+<programlisting>
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class DeployFileLoaderSample {
+
+  private org.dom4j.Document doc;
+  private org.dom4j.Element root;
+
+  public void browseRootChildren() {
+  Iterator xpathResult = this.doc.selectNodes("/*").iterator();
+  while(xpathPathResult.hasNext(){
+   System.out.println(((Element)elementIterator.next()).getName());
+  }
+
+}
+</programlisting>
+
+<para>
+As selectNodes returns a List we can apply <classname>Iterator</classname> or any other Operation avaliable on <classname>java.util.List</classname>. It's also able to select a singel node when you use a fully qualified XPath.
+</para>
+
+<section><title>Using Visitor Pattern</title>
+<para>
+The visitor pattern has a recrusive behavior and acts like <acronym>SAX</acronym> in the way that partical traversal is not possible. This means the complete document or the complete element branch will be visited. You should consider wisely when you want to use Visitor pattern, but then it offers a powerfull and elegant way of navigation. This document doesn't explain Vistor Pattern in deepth, <citation>GoF</citation> covers more information.
+</para>
+</section>
+
+<programlisting>
+import java.util.Iterator;
+
+import org.dom4j.Visitor;
+import org.dom4j.VisitorSupport;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+public class StyleDocumentSample {
+
+
+</programlisting>
+
+<para>
+As you can see we used a anonymous inner class to override the <classname>VisitorSupport</classname> callback apdapter method visit(Element element), wherase accept starts
+the inbuild vistor implemention. Please keep in mind that the <emphasis>complete</emphasis> element branch is visited.
+</para>
+</chapter>
+
+<chapter>
+<title>Mainpulation with DOM4J</title>
+<para>
+Acessing XML content statically is not very amazing. Thus dom4j offers serval methods for manipulation a documents content.
+</para>
+
+<section><title>What <classname>org.dom4j.Document</classname> provides</title>
+<para>
+A <classname>org.dom4j.Document</classname> allows you to configure and retreive the root element. You are also able to set the DOCTYPE or a SAX based <classname>EntityResolver</classname>. An empty <classname>Document</classname> should be created via <classname>org.dom4j.DocumentFactory</classname>.
+</para>
+</section>
+
+<section><title>Working with <classname>org.dom4j.Element</classname></title>
+<para>
+<classname>org.dom4j.Element</classname> is a powerfull interface providing lots of methods for manipulation an Element.
+</para>
+
+<programlisting>
+
+  public void changeElementName(String aName) {
+    this.element.setName(aName);
+  }
+
+  public void changeElementText(String aText) {
+    this.element.setText(aText);
+  }
+
+</programlisting>
+
+
+
+  <section><title>Qualified Names</title>
+  <para>
+  A XML Element should have a qualified name. A qualified name consits normally of a Namespace and a
+  local name. It's recommend to use <classname>org.dom4j.DocumentFactory</classname> to create Qualifed
+  Names that are provided by <classname>org.dom4j.QName</classname> instances.
+  </para>
+
+  <programlisting>
+
+  import org.dom4j.Element;
+  import org.dom4j.Document;
+  import org.dom4j.DocumentFactory;
+  import org.dom4j.QName;
+
+  public class DeployFileCreator {
+
+   protected Document deployDoc;
+   protected Element root;
+
+   public void DeployFileCreator()
+   {
+     QName rootName = DocumentFactory.getInstance().createQName("preferences", "", "http://java.sun.com/dtd/preferences.dtd");
+     this.root = DocumentFactory.getInstance().createElement(rootName);
+     this.deployDoc = DocumentFactory.getInstance().createDocument(this.root);
+   }
+  }
+
+  </programlisting>
+
+  </section>
+
+  <section><title>Inserting elements</title>
+  <para>
+  Somethimes it's necssary to insert an element somewhere in a existing XML Tree. As dom4j is based on Collection API this 
+  causes no problems. The following exapmle shows how it could be done.
+  </para>
+
+  <programlisting>
+
+    public void insertElementAt(Element newElement, int index) {
+      Element parent = this.element.getParent();
+      List list = parent.content();
+      list.add(index, newElement);
+    }
+
+    public void testInsertElementAt() {
+       
+    //insert an clone of current element after the current element
+      Element newElement = this.element.clone();
+      this.insertElementAt(newElement, this.root.indexOf(this.element)+1);
+
+    // insert an clone of current element before the current element
+      this.insertElementAt(newElement, this.root.indexOf(this.element));
+   
+
+    }
+  </programlisting>
+
+  <para>
+  Studying the Collection API should lead to more solutions for similar problem and you will notify that dom4j fits well in the Collection Framework and both completing 
+  each other in order to processing xml document in a comfortable way.
+  </para>
+
+  </section>
+
+  <section><title>Cloning - Who many sheeps do you need?</title>
+  <para>
+  Elements can be cloned as well. Usually cloning is supported in Java with clone() method that is derived from <classname>Object</classname>, but a cloneable Object have to
+  implement interface <classname>Clonable</classname>. Java support shallow copying by simply returning <acronym>this</acronym> for standard. dom4j supporting  deep cloning 
+  because shallow copies would not make sence in context of an XML object model. This means that cloning can take a while because the complete tree branch or event the document
+  will be cloned. Now we have a short look <emphasis>how</emphasis> dom4j coling mechanism is used.
+  </para>
+
+  <programlisting>
+  
+  import org.dom4j.Document;
+  import org.dom4j.Element;
+  
+  public class DeployFileCreator {
+
+   
+   private Element cloneElement(String name) {
+    return this.root.element(name).clone();
+   }
+   
+   private Element cloneDetachElement(String name) {
+     return this.root.createCopy(name);
+   }
+
+   public class TestElement extends junit.framework.TestCase {
+
+     public void testCloning() throws junit.framwork.AssertionFailedException {  
+       assert("Test cloning with clone() failed!", this.creator.cloneElement("Key") != null);
+       assert("Test cloning with createCopy() failed!", this.creator.cloneDetachElement() != null); 
+     }
+   }
+  }
+  </programlisting>
+
+  <para>
+  The difference between createCopy(...) and clone() is that first is a polymorphic method that created a decoupled deep copy whereas returns a returns a deep copy of the 
+  current document or element itself. Cloning might be usefull when you want to build a element pool. Such a pool should be desinged carefully keeping
+   <classname>OutOfMemoryException</classname> in mind. You could alternativly consider to use Reference API <citation>Pawlan98</citation> 
+    or other the aproach here <citation>JavaWorldTip76</citation>
+  </para>
+  </section>
+
+</section>
+
+
+</chapter>
+
+<chapter><title>Using dom4j for XSLT</title>
+<para>
+With eXtensible Stylesheet Language XML got's a powerfull method of transforming itself into other formats. Developing  Exportfilter's for dataformats are normally a hard job and so for XML XSL simpliefs that work. The aronym XSLT means the process of transformation, that is usally done by an XSL compliant Processor. XSL covers following subjects:
+</para>
+
+<itemizedlist>
+  <listitem><para>XSL Style Sheet</para></listitem>
+  <listitem><para>XSL Processor for XSLT</para></listitem>
+  <listitem><para>FOP Processor for FOP</para></listitem>
+  <listitem><para>An XML source</para></listitem>
+</itemizedlist>
+
+<para>
+Since JaXP 1.1 TraX is the common API for proceeding a XSL Stylesheet inside Java. You start with a <classname>TransformerFactory</classname> and dealing with <classname>Result</classname> and <classname>Source</classname>. A <classname>Source</classname> contains the source xml file that should be transformed. <classname>Result</classname>'s containted the the result of transformation. dom4j offers <classname>org.dom4j.io.DocumentResult</classname> and <classname>org.dom4j.io.DocumenSou [...]
+Whereas <classname>org.dom4j.io.DocumentResult</classname> contains a <classname>org.dom4j.Document</classname> as result tree, <classname>DocumentSource</classname> takes dom4j <classname>Document</classname>s and pepare them for transformation. Both classes are build on top of TraX own SAX classes. This is much more perfomant as a DOM adaptation. The following example explains the use of XSLT with TraX and dom4j.
+</para>
+
+<programlisting>
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamSource;
+
+import org.dom4j.Document;
+import org.dom4j.io.DocumentResult;
+import org.dom4j.io.DocumentSource;
+
+public class TemplateGeneratorSample {
+
+ public Source styleSheet;
+ public Document schema;
+ public Transformer transformer;
+ public DocumentResult result;
+
+ public class TemplateGenerator(Document aSchema, Source aStyleSheet) {
+   this.styleSheet = aStyleSheet;
+   this.schema  = aSchema;
+   this.result = new DocumentResult();
+   this.transformer = TransformerFactory.newTransformer(new StreamSource(this.styleSheet.getSystemId()));
+   this.start();
+ }
+
+ public void start() {
+   this.transformer.transform(this.schema, this.result);
+ }
+
+ public Document getTemplate() {
+   return this.result.getDocument();
+ }
+}
+
+</programlisting>
+
+<para>
+Imagine that you use XSLT to process a XML Schema in order to generate a empty template xml file accoring the schema contraints. The above sample should how easy the Java code is when you use dom4j and it's TraX support. If you use TemplateGenerator a lot you should consider the application of singleton pattern, but for this example I avoided this for simplicity. More information about TraX is provided  <ulink url="http://www.java.sun.com/xml">here</ulink>.
+</para>
+
+</chapter>
+
+<chapter>
+<title>Schema-Support</title>
+</chapter>
+
+
+<bibliography>
+<title>Further Reading</title>
+
+<bibliodiv><title>Books</title>
+<biblioentry>
+  <abbrev>XSLTReference</abbrev>
+  <authorgroup>
+    <author><firstname>Michael</firstname><surname>Kay</surname></author>
+  </authorgroup>
+  <copyright><year>2001</year>
+    <holder>Worx Press, Inc.</holder>
+  </copyright>
+  <isbn>1-861-005067</isbn>
+  <publisher>
+     <publishername>Worx Press</publishername>
+  </publisher>
+  <title>XSLT Programmer's Reference 2'nd Edition</title>
+  <seriesinfo>
+    <title>Programmer To Programmer</title>
+    <publisher>
+      <publishername>Worx Press</publishername>
+    </publisher>
+  </seriesinfo>
+</biblioentry>
+<biblioentry>
+  <abbrev>GoF95</abbrev>
+  <authorgroup>
+    <author><firstname>Erich</firstname><surname>Gamma</surname></author>
+    <author><firstname>Richard</firstname><surname>Helm</surname></author>
+    <author><firstname>Ralph</firstname><surname>Johnson</surname></author>
+    <author><firstname>John</firstname><surname>Vlissides</surname></author>
+  </authorgroup>
+  <copyright><year>1995</year>
+    <holder>Addison Wesley Pub, Co.</holder>
+  </copyright>
+  <isbn>0-201-633-612</isbn>
+  <publisher>
+     <publishername>Worx Press</publishername>
+  </publisher>
+  <title>XSLT Programmer's Reference 2'nd Edition</title>
+</biblioentry>
+</bibliodiv>
+<bibliodiv><title>Articles</title>
+<biblioentry>
+  <abbrev>Pawlan98</abbrev>
+  <authorgroup>
+    <author><firstname>Monica</firstname><surname>Pawlan</surname></author>
+  </authorgroup>
+  <copyright><year>1998</year>
+    <holder>http://developer.java.sun.com/javatips/jw-tips76.html</holder>
+  </copyright>
+  <title>Reference Objects and Garbage Collection</title>
+</biblioentry>
+<biblioentry>
+  <abbrev>JavaTip76</abbrev>
+  <authorgroup>
+    <author><firstname>Dave</firstname><surname>Miller</surname></author>
+  </authorgroup>
+  <copyright>
+    <holder>http://www.javaworld.com/javaworld/javatips/jw-javatip76.html</holder>
+  </copyright>
+  <title>An alternative to the deep copying technique</title>
+</biblioentry>
+</bibliodiv>
+</bibliography>
+</book>
+
+
+
+
diff --git a/xml/dtd/external.xml b/xml/dtd/external.xml
new file mode 100644
index 0000000..26f5c7a
--- /dev/null
+++ b/xml/dtd/external.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8" ?> 
+<!DOCTYPE another-greeting SYSTEM "sample.dtd">
+<another-greeting>Hello, world!</another-greeting> 
diff --git a/xml/dtd/internal.xml b/xml/dtd/internal.xml
new file mode 100644
index 0000000..d24e1a2
--- /dev/null
+++ b/xml/dtd/internal.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?> 
+<!--
+
+    The declarations in this file MUST agree with the test case, see
+
+    org.dom4j.TestDocType#getInternalDeclarations()
+
+-->
+<!DOCTYPE greeting [ 
+  <!ELEMENT greeting (#PCDATA)> 
+  <!ATTLIST greeting foo ID #IMPLIED>
+  <!ENTITY % boolean "( true | false )">
+]> 
+<greeting>Hello, world!</greeting> 
diff --git a/xml/dtd/mixed.xml b/xml/dtd/mixed.xml
new file mode 100644
index 0000000..e91a106
--- /dev/null
+++ b/xml/dtd/mixed.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" ?> 
+<!--
+
+    The declarations in this file MUST agree with the test case, see
+
+    org.dom4j.TestDocType#getInternalDeclarations()
+
+-->
+<!DOCTYPE another-greeting SYSTEM "sample.dtd" [ 
+  <!ELEMENT greeting (#PCDATA)> 
+  <!ATTLIST greeting foo ID #IMPLIED>
+  <!ENTITY % boolean "( true | false )">
+]> 
+<another-greeting>Hello, world!</another-greeting> 
diff --git a/xml/dtd/sample.dtd b/xml/dtd/sample.dtd
new file mode 100644
index 0000000..14e13b3
--- /dev/null
+++ b/xml/dtd/sample.dtd
@@ -0,0 +1,9 @@
+<!--
+
+    The declaration in this file MUST agree with the test case, see
+
+    org.dom4j.TestDocType#getExternalDeclarations()
+
+-->
+
+<!ELEMENT another-greeting (#PCDATA)> 
diff --git a/xml/fibo.xml b/xml/fibo.xml
new file mode 100644
index 0000000..624988a
--- /dev/null
+++ b/xml/fibo.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Fibonacci_Numbers>
+  <fibonacci index="0">0</fibonacci>
+  <fibonacci index="1">1</fibonacci>
+  <fibonacci index="2">1</fibonacci>
+  <fibonacci index="3">2</fibonacci>
+  <fibonacci index="4">3</fibonacci>
+  <fibonacci index="5">5</fibonacci>
+  <fibonacci index="6">8</fibonacci>
+  <fibonacci index="7">13</fibonacci>
+  <fibonacci index="8">21</fibonacci>
+  <fibonacci index="9">34</fibonacci>
+  <fibonacci index="10">55</fibonacci>
+  <fibonacci index="11">89</fibonacci>
+  <fibonacci index="12">144</fibonacci>
+  <fibonacci index="13">233</fibonacci>
+  <fibonacci index="14">377</fibonacci>
+  <fibonacci index="15">610</fibonacci>
+  <fibonacci index="16">987</fibonacci>
+  <fibonacci index="17">1597</fibonacci>
+  <fibonacci index="18">2584</fibonacci>
+  <fibonacci index="19">4181</fibonacci>
+  <fibonacci index="20">6765</fibonacci>
+  <fibonacci index="21">10946</fibonacci>
+  <fibonacci index="22">17711</fibonacci>
+  <fibonacci index="23">28657</fibonacci>
+  <fibonacci index="24">46368</fibonacci>
+  <fibonacci index="25">75025</fibonacci>
+</Fibonacci_Numbers>
diff --git a/xml/inline.xml b/xml/inline.xml
new file mode 100644
index 0000000..4648506
--- /dev/null
+++ b/xml/inline.xml
@@ -0,0 +1,16 @@
+<?xml version='1.0'?>
+
+<!DOCTYPE DOCUMENT [
+  <!ELEMENT DOCUMENT (#PCDATA)>
+  <!ENTITY nbsp ' '>
+  <!ENTITY aring 'å'>
+  <!ENTITY auml 'ä'>
+  <!ENTITY ouml 'ö'>
+  <!ENTITY Aring 'Å'>
+  <!ENTITY Auml 'Ä'>
+  <!ENTITY Ouml 'Ö'>
+]>
+
+<DOCUMENT>
+  God fortsättning på det nya millenniet!
+</DOCUMENT>
diff --git a/xml/jaxb/primer.xml b/xml/jaxb/primer.xml
new file mode 100644
index 0000000..4c29df5
--- /dev/null
+++ b/xml/jaxb/primer.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<purchaseOrders>
+  <!-- 1st -->
+  <purchaseOrder id="1" orderDate="2004-06-28">
+    <shipTo country="US">
+      <name>Alice Smith</name>
+      <street>123 Maple Street</street>
+      <city>Cambridge</city>
+      <state>MA</state>
+      <zip>12345</zip>
+    </shipTo>
+    <billTo country="US">
+      <name>Robert Smith</name>
+      <street>8 Oak Avenue</street>
+      <city>Cambridge</city>
+      <state>MA</state>
+      <zip>12345</zip>
+    </billTo>
+    <items/>
+  </purchaseOrder>
+  <!-- 2nd -->
+  <purchaseOrder id="2" orderDate="2004-06-29">
+    <shipTo country="US">
+      <name>Lee Grant</name>
+      <street>123 Maple Street</street>
+      <city>Cambridge</city>
+      <state>MA</state>
+      <zip>12345</zip>
+    </shipTo>
+    <billTo country="US">
+      <name>Stonewall  Jackson</name>
+      <street>8 Oak Avenue</street>
+      <city>Lexington</city>
+      <state>MA</state>
+      <zip>12345</zip>
+    </billTo>
+    <items/>
+  </purchaseOrder>
+</purchaseOrders>
+
diff --git a/xml/jaxb/primer.xsd b/xml/jaxb/primer.xsd
new file mode 100644
index 0000000..ee2f7ed
--- /dev/null
+++ b/xml/jaxb/primer.xsd
@@ -0,0 +1,70 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+	<xsd:annotation>
+		<xsd:documentation xml:lang="en">
+   Purchase order schema for Example.com.
+   Copyright 2000 Example.com. All rights reserved.
+  </xsd:documentation>
+	</xsd:annotation>
+	<xsd:element name="purchaseOrders">
+		<xsd:complexType>
+			<xsd:sequence>
+				<xsd:element ref="purchaseOrder" minOccurs="0" maxOccurs="unbounded"/>
+			</xsd:sequence>
+		</xsd:complexType>
+	</xsd:element>
+	<!--xsd:element name="purchaseOrder" type="PurchaseOrderType"/-->
+	<xsd:element name="comment" type="xsd:string"/>
+	<xsd:complexType name="PurchaseOrderType">
+		<xsd:sequence>
+			<xsd:element name="shipTo" type="USAddress"/>
+			<xsd:element name="billTo" type="USAddress"/>
+			<xsd:element ref="comment" minOccurs="0"/>
+			<xsd:element name="items" type="Items"/>
+		</xsd:sequence>
+		<xsd:attribute name="orderDate" type="xsd:date"/>
+		<xsd:attribute name="id" type="xsd:string"/>
+	</xsd:complexType>
+	<xsd:complexType name="USAddress">
+		<xsd:sequence>
+			<xsd:element name="name" nillable="false">
+				<xsd:simpleType>
+					<xsd:restriction base="xsd:string"/>
+				</xsd:simpleType>
+			</xsd:element>
+			<xsd:element name="street" type="xsd:string"/>
+			<xsd:element name="city" type="xsd:string"/>
+			<xsd:element name="state" type="xsd:string"/>
+			<xsd:element name="zip" type="xsd:decimal"/>
+		</xsd:sequence>
+		<xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
+	</xsd:complexType>
+	<xsd:complexType name="Items">
+		<xsd:sequence>
+			<xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
+				<xsd:complexType>
+					<xsd:sequence>
+						<xsd:element name="productName" type="xsd:string"/>
+						<xsd:element name="quantity">
+							<xsd:simpleType>
+								<xsd:restriction base="xsd:positiveInteger">
+									<xsd:maxExclusive value="100"/>
+								</xsd:restriction>
+							</xsd:simpleType>
+						</xsd:element>
+						<xsd:element name="USPrice" type="xsd:decimal"/>
+						<xsd:element ref="comment" minOccurs="0"/>
+						<xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
+					</xsd:sequence>
+					<xsd:attribute name="partNum" type="SKU" use="required"/>
+				</xsd:complexType>
+			</xsd:element>
+		</xsd:sequence>
+	</xsd:complexType>
+	<!-- Stock Keeping Unit, a code for identifying products -->
+	<xsd:simpleType name="SKU">
+		<xsd:restriction base="xsd:string">
+			<xsd:pattern value="\d{3}-[A-Z]{2}"/>
+		</xsd:restriction>
+	</xsd:simpleType>
+	<xsd:element name="purchaseOrder" type="PurchaseOrderType" nillable="true"/>
+</xsd:schema>
diff --git a/xml/moreover/moreovernews.dtd b/xml/moreover/moreovernews.dtd
new file mode 100644
index 0000000..67ab006
--- /dev/null
+++ b/xml/moreover/moreovernews.dtd
@@ -0,0 +1,15 @@
+<!ELEMENT moreovernews (article*)>

+<!ELEMENT article (url,headline_text,source,media_type,cluster,tagline,document_url,harvest_time,access_registration,access_status)>

+<!ATTLIST article id ID #IMPLIED>

+<!ELEMENT url (#PCDATA)>

+<!ELEMENT headline_text (#PCDATA)>

+<!ELEMENT source (#PCDATA)>

+<!ELEMENT media_type (#PCDATA)>

+<!ELEMENT cluster (#PCDATA)>

+<!ELEMENT tagline (#PCDATA)>

+<!ELEMENT document_url (#PCDATA)>

+<!ELEMENT harvest_time (#PCDATA)>

+<!ELEMENT access_registration (#PCDATA)>

+<!ELEMENT access_status (#PCDATA)>

+

+

diff --git a/xml/moreover/sample.xml b/xml/moreover/sample.xml
new file mode 100644
index 0000000..e90ee75
--- /dev/null
+++ b/xml/moreover/sample.xml
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE moreovernews SYSTEM "moreovernews.dtd">
+   <moreovernews>
+      <article id="_13563275">
+         <url>http://c.moreover.com/click/here.pl?x13563273</url>
+         <headline_text>e-Commerce Operators Present Version 1.0 of the XML Standard</headline_text>
+         <source>StockAccess</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.stockaccess.com/index.html</document_url>
+         <harvest_time>Dec 24 2000  6:28AM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13560996">
+         <url>http://c.moreover.com/click/here.pl?x13560995</url>
+         <headline_text>W3C Publishes XML Protocol Requirements Document</headline_text>
+         <source>Xml</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.xml.com/</document_url>
+         <harvest_time>Dec 24 2000 12:22AM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13553522">
+         <url>http://c.moreover.com/click/here.pl?x13553521</url>
+         <headline_text>Prowler: Open Source XML-Based Content Management Framework</headline_text>
+         <source>Xml</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.xml.com/</document_url>
+         <harvest_time>Dec 23 2000  2:05PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13549014">
+         <url>http://c.moreover.com/click/here.pl?x13549013</url>
+         <headline_text>The Middleware Company Debuts Public Training Courses in Ejb, J2ee And Xml</headline_text>
+         <source>Java Industry Connection</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url>
+         <harvest_time>Dec 23 2000 12:15PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13544468">
+         <url>http://c.moreover.com/click/here.pl?x13544467</url>
+         <headline_text>Revised Working Draft for the W3C XML Information Set</headline_text>
+         <source>Xml</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.xml.com/</document_url>
+         <harvest_time>Dec 23 2000  5:50AM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13534837">
+         <url>http://c.moreover.com/click/here.pl?x13534836</url>
+         <headline_text>XML: Its The Great Peacemaker</headline_text>
+         <source>ZDNet</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.zdnet.com/intweek/</document_url>
+         <harvest_time>Dec 22 2000  9:05PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13533486">
+         <url>http://c.moreover.com/click/here.pl?x13533485</url>
+         <headline_text>Project eL - The XML Leningrad Codex Markup Project</headline_text>
+         <source>Xml</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.xml.com/</document_url>
+         <harvest_time>Dec 22 2000  8:34PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13533489">
+         <url>http://c.moreover.com/click/here.pl?x13533488</url>
+         <headline_text>XML Linking Language (XLink) and XML Base Specifications Issued as W3C Proposed Recommenda</headline_text>
+         <source>Xml</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.xml.com/</document_url>
+         <harvest_time>Dec 22 2000  8:34PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13533493">
+         <url>http://c.moreover.com/click/here.pl?x13533492</url>
+         <headline_text>W3C Releases XHTML Basic Specification as a W3C Recommendation</headline_text>
+         <source>Xml</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.xml.com/</document_url>
+         <harvest_time>Dec 22 2000  8:34PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13521835">
+         <url>http://c.moreover.com/click/here.pl?x13521827</url>
+         <headline_text>Java, Xml And Oracle9i(TM) Make A Great Team</headline_text>
+         <source>Java Industry Connection</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url>
+         <harvest_time>Dec 22 2000  3:21PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13512020">
+         <url>http://c.moreover.com/click/here.pl?x13511233</url>
+         <headline_text>Competing initiatives to vie for security standard</headline_text>
+         <source>ZDNet</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.zdnet.com/eweek/filters/news/</document_url>
+         <harvest_time>Dec 22 2000 10:54AM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13492401">
+         <url>http://c.moreover.com/click/here.pl?x13492397</url>
+         <headline_text>Oracle Provides Developers with Great Xml Reading This Holiday Season</headline_text>
+         <source>Java Industry Connection</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url>
+         <harvest_time>Dec 21 2000  8:08PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13491296">
+         <url>http://c.moreover.com/click/here.pl?x13491292</url>
+         <headline_text>XML as the great peacemaker - Extensible Markup Language Accomplished The Seemingly Impossible This Year: It B</headline_text>
+         <source>Hospitality Net</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.hospitalitynet.org/news/list.htm?c=2000</document_url>
+         <harvest_time>Dec 21 2000  7:45PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13484761">
+         <url>http://c.moreover.com/click/here.pl?x13484758</url>
+         <headline_text>XML as the great peacemaker</headline_text>
+         <source>CNET</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://news.cnet.com/news/0-1003.html?tag=st.ne.1002.dir.1003</document_url>
+         <harvest_time>Dec 21 2000  4:41PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13480897">
+         <url>http://c.moreover.com/click/here.pl?x13480896</url>
+         <headline_text>COOP Switzerland Selects Mercator as Integration Platform</headline_text>
+         <source>Stockhouse Canada</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.stockhouse.ca/news/</document_url>
+         <harvest_time>Dec 21 2000  1:55PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13471024">
+         <url>http://c.moreover.com/click/here.pl?x13471023</url>
+         <headline_text>Competing XML Specs Move Toward a Union</headline_text>
+         <source>Internet World</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://www.internetworld.com/</document_url>
+         <harvest_time>Dec 21 2000 11:14AM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13452281">
+         <url>http://c.moreover.com/click/here.pl?x13452280</url>
+         <headline_text>Next-generation XHTML stripped down for handhelds</headline_text>
+         <source>CNET</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://news.cnet.com/news/0-1005.html?tag=st.ne.1002.dir.1005</document_url>
+         <harvest_time>Dec 20 2000  9:11PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13451791">
+         <url>http://c.moreover.com/click/here.pl?x13451789</url>
+         <headline_text>Xml Powers Oracle9i(TM) Dynamic Services</headline_text>
+         <source>Java Industry Connection</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url>
+         <harvest_time>Dec 20 2000  9:05PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13442098">
+         <url>http://c.moreover.com/click/here.pl?x13442097</url>
+         <headline_text>XML DOM reference guide</headline_text>
+         <source>ASPWire</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://aspwire.com/</document_url>
+         <harvest_time>Dec 20 2000  6:26PM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+      <article id="_13424118">
+         <url>http://c.moreover.com/click/here.pl?x13424117</url>
+         <headline_text>Repeat/Xqsite And Bowstreet Team to Deliver Integrated Xml Solutions</headline_text>
+         <source>Java Industry Connection</source>
+         <media_type>text</media_type>
+         <cluster>moreover...</cluster>
+         <tagline> </tagline>
+         <document_url>http://industry.java.sun.com/javanews/more/hotnews/</document_url>
+         <harvest_time>Dec 20 2000  9:04AM</harvest_time>
+         <access_registration> </access_registration>
+         <access_status> </access_status>
+      </article>
+    </moreovernews>
+
diff --git a/xml/much_ado.xml b/xml/much_ado.xml
new file mode 100644
index 0000000..2909267
--- /dev/null
+++ b/xml/much_ado.xml
@@ -0,0 +1,6850 @@
+<?xml version="1.0"?>
+<PLAY>
+<TITLE>Much Ado about Nothing</TITLE>
+
+<FM>
+<P>Text placed in the public domain by Moby Lexical Tools, 1992.</P>
+<P>SGML markup by Jon Bosak, 1992-1994.</P>
+<P>XML version by Jon Bosak, 1996-1998.</P>
+<P>This work may be freely copied and distributed worldwide.</P>
+</FM>
+
+
+<PERSONAE>
+<TITLE>Dramatis Personae</TITLE>
+
+<PERSONA>DON PEDRO, prince of Arragon.</PERSONA>
+<PERSONA>DON JOHN, his bastard brother.</PERSONA>
+<PERSONA>CLAUDIO, a young lord of Florence.</PERSONA>
+<PERSONA>BENEDICK, a young lord of Padua.</PERSONA>
+<PERSONA>LEONATO, governor of Messina.</PERSONA>
+<PERSONA>ANTONIO, his brother.</PERSONA>
+<PERSONA>BALTHASAR, attendant on Don Pedro.</PERSONA>
+
+<PGROUP>
+<PERSONA>CONRADE</PERSONA>
+<PERSONA>BORACHIO</PERSONA>
+<GRPDESCR>followers of Don John.</GRPDESCR>
+</PGROUP>
+
+<PERSONA>FRIAR FRANCIS</PERSONA>
+<PERSONA>DOGBERRY, a constable.</PERSONA>
+<PERSONA>VERGES, a headborough.</PERSONA>
+<PERSONA>A Sexton.</PERSONA>
+<PERSONA>A Boy.</PERSONA>
+<PERSONA>HERO, daughter to Leonato.</PERSONA>
+<PERSONA>BEATRICE, niece to Leonato.</PERSONA>
+
+<PGROUP>
+<PERSONA>MARGARET</PERSONA>
+<PERSONA>URSULA</PERSONA>
+<GRPDESCR>gentlewomen attending on Hero.</GRPDESCR>
+</PGROUP>
+
+<PERSONA>Messengers, Watch, Attendants, &c. </PERSONA>
+</PERSONAE>
+
+<SCNDESCR>SCENE  Messina.</SCNDESCR>
+
+<PLAYSUBT>MUCH ADO ABOUT NOTHING</PLAYSUBT>
+
+<ACT><TITLE>ACT I</TITLE>
+
+<SCENE><TITLE>SCENE I.  Before LEONATO'S house.</TITLE>
+<STAGEDIR>Enter LEONATO, HERO, and BEATRICE, with a
+Messenger</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I learn in this letter that Don Peter of Arragon</LINE>
+<LINE>comes this night to Messina.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>He is very near by this: he was not three leagues off</LINE>
+<LINE>when I left him.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>How many gentlemen have you lost in this action?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>But few of any sort, and none of name.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>A victory is twice itself when the achiever brings</LINE>
+<LINE>home full numbers. I find here that Don Peter hath</LINE>
+<LINE>bestowed much honour on a young Florentine called Claudio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>Much deserved on his part and equally remembered by</LINE>
+<LINE>Don Pedro: he hath borne himself beyond the</LINE>
+<LINE>promise of his age, doing, in the figure of a lamb,</LINE>
+<LINE>the feats of a lion: he hath indeed better</LINE>
+<LINE>bettered expectation than you must expect of me to</LINE>
+<LINE>tell you how.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>He hath an uncle here in Messina will be very much</LINE>
+<LINE>glad of it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>I have already delivered him letters, and there</LINE>
+<LINE>appears much joy in him; even so much that joy could</LINE>
+<LINE>not show itself modest enough without a badge of</LINE>
+<LINE>bitterness.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Did he break out into tears?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>In great measure.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>A kind overflow of kindness: there are no faces</LINE>
+<LINE>truer than those that are so washed. How much</LINE>
+<LINE>better is it to weep at joy than to joy at weeping!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I pray you, is Signior Mountanto returned from the</LINE>
+<LINE>wars or no?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>I know none of that name, lady: there was none such</LINE>
+<LINE>in the army of any sort.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>What is he that you ask for, niece?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>My cousin means Signior Benedick of Padua.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>O, he's returned; and as pleasant as ever he was.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>He set up his bills here in Messina and challenged</LINE>
+<LINE>Cupid at the flight; and my uncle's fool, reading</LINE>
+<LINE>the challenge, subscribed for Cupid, and challenged</LINE>
+<LINE>him at the bird-bolt. I pray you, how many hath he</LINE>
+<LINE>killed and eaten in these wars? But how many hath</LINE>
+<LINE>he killed? for indeed I promised to eat all of his killing.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Faith, niece, you tax Signior Benedick too much;</LINE>
+<LINE>but he'll be meet with you, I doubt it not.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>He hath done good service, lady, in these wars.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>You had musty victual, and he hath holp to eat it:</LINE>
+<LINE>he is a very valiant trencherman; he hath an</LINE>
+<LINE>excellent stomach.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>And a good soldier too, lady.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>And a good soldier to a lady: but what is he to a lord?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>A lord to a lord, a man to a man; stuffed with all</LINE>
+<LINE>honourable virtues.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>It is so, indeed; he is no less than a stuffed man:</LINE>
+<LINE>but for the stuffing,--well, we are all mortal.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>You must not, sir, mistake my niece. There is a</LINE>
+<LINE>kind of merry war betwixt Signior Benedick and her:</LINE>
+<LINE>they never meet but there's a skirmish of wit</LINE>
+<LINE>between them.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Alas! he gets nothing by that. In our last</LINE>
+<LINE>conflict four of his five wits went halting off, and</LINE>
+<LINE>now is the whole man governed with one: so that if</LINE>
+<LINE>he have wit enough to keep himself warm, let him</LINE>
+<LINE>bear it for a difference between himself and his</LINE>
+<LINE>horse; for it is all the wealth that he hath left,</LINE>
+<LINE>to be known a reasonable creature. Who is his</LINE>
+<LINE>companion now? He hath every month a new sworn brother.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>Is't possible?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Very easily possible: he wears his faith but as</LINE>
+<LINE>the fashion of his hat; it ever changes with the</LINE>
+<LINE>next block.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>I see, lady, the gentleman is not in your books.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>No; an he were, I would burn my study. But, I pray</LINE>
+<LINE>you, who is his companion? Is there no young</LINE>
+<LINE>squarer now that will make a voyage with him to the devil?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>He is most in the company of the right noble Claudio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>O Lord, he will hang upon him like a disease: he</LINE>
+<LINE>is sooner caught than the pestilence, and the taker</LINE>
+<LINE>runs presently mad. God help the noble Claudio! if</LINE>
+<LINE>he have caught the Benedick, it will cost him a</LINE>
+<LINE>thousand pound ere a' be cured.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>I will hold friends with you, lady.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Do, good friend.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>You will never run mad, niece.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>No, not till a hot January.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>Don Pedro is approached.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter DON PEDRO, DON JOHN, CLAUDIO, BENEDICK,
+and BALTHASAR</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Good Signior Leonato, you are come to meet your</LINE>
+<LINE>trouble: the fashion of the world is to avoid</LINE>
+<LINE>cost, and you encounter it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Never came trouble to my house in the likeness of</LINE>
+<LINE>your grace: for trouble being gone, comfort should</LINE>
+<LINE>remain; but when you depart from me, sorrow abides</LINE>
+<LINE>and happiness takes his leave.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>You embrace your charge too willingly. I think this</LINE>
+<LINE>is your daughter.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Her mother hath many times told me so.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Were you in doubt, sir, that you asked her?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Signior Benedick, no; for then were you a child.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>You have it full, Benedick: we may guess by this</LINE>
+<LINE>what you are, being a man. Truly, the lady fathers</LINE>
+<LINE>herself. Be happy, lady; for you are like an</LINE>
+<LINE>honourable father.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>If Signior Leonato be her father, she would not</LINE>
+<LINE>have his head on her shoulders for all Messina, as</LINE>
+<LINE>like him as she is.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I wonder that you will still be talking, Signior</LINE>
+<LINE>Benedick: nobody marks you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>What, my dear Lady Disdain! are you yet living?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Is it possible disdain should die while she hath</LINE>
+<LINE>such meet food to feed it as Signior Benedick?</LINE>
+<LINE>Courtesy itself must convert to disdain, if you come</LINE>
+<LINE>in her presence.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Then is courtesy a turncoat. But it is certain I</LINE>
+<LINE>am loved of all ladies, only you excepted: and I</LINE>
+<LINE>would I could find in my heart that I had not a hard</LINE>
+<LINE>heart; for, truly, I love none.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>A dear happiness to women: they would else have</LINE>
+<LINE>been troubled with a pernicious suitor. I thank God</LINE>
+<LINE>and my cold blood, I am of your humour for that: I</LINE>
+<LINE>had rather hear my dog bark at a crow than a man</LINE>
+<LINE>swear he loves me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>God keep your ladyship still in that mind! so some</LINE>
+<LINE>gentleman or other shall 'scape a predestinate</LINE>
+<LINE>scratched face.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Scratching could not make it worse, an 'twere such</LINE>
+<LINE>a face as yours were.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Well, you are a rare parrot-teacher.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>A bird of my tongue is better than a beast of yours.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I would my horse had the speed of your tongue, and</LINE>
+<LINE>so good a continuer. But keep your way, i' God's</LINE>
+<LINE>name; I have done.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>You always end with a jade's trick: I know you of old.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>That is the sum of all, Leonato. Signior Claudio</LINE>
+<LINE>and Signior Benedick, my dear friend Leonato hath</LINE>
+<LINE>invited you all. I tell him we shall stay here at</LINE>
+<LINE>the least a month; and he heartily prays some</LINE>
+<LINE>occasion may detain us longer. I dare swear he is no</LINE>
+<LINE>hypocrite, but prays from his heart.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>If you swear, my lord, you shall not be forsworn.</LINE>
+<STAGEDIR>To DON JOHN</STAGEDIR>
+<LINE>Let me bid you welcome, my lord: being reconciled to</LINE>
+<LINE>the prince your brother, I owe you all duty.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I thank you: I am not of many words, but I thank</LINE>
+<LINE>you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Please it your grace lead on?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Your hand, Leonato; we will go together.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt all except BENEDICK and CLAUDIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Benedick, didst thou note the daughter of Signior Leonato?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I noted her not; but I looked on her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Is she not a modest young lady?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Do you question me, as an honest man should do, for</LINE>
+<LINE>my simple true judgment; or would you have me speak</LINE>
+<LINE>after my custom, as being a professed tyrant to their sex?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>No; I pray thee speak in sober judgment.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Why, i' faith, methinks she's too low for a high</LINE>
+<LINE>praise, too brown for a fair praise and too little</LINE>
+<LINE>for a great praise: only this commendation I can</LINE>
+<LINE>afford her, that were she other than she is, she</LINE>
+<LINE>were unhandsome; and being no other but as she is, I</LINE>
+<LINE>do not like her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Thou thinkest I am in sport: I pray thee tell me</LINE>
+<LINE>truly how thou likest her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Would you buy her, that you inquire after her?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Can the world buy such a jewel?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Yea, and a case to put it into. But speak you this</LINE>
+<LINE>with a sad brow? or do you play the flouting Jack,</LINE>
+<LINE>to tell us Cupid is a good hare-finder and Vulcan a</LINE>
+<LINE>rare carpenter? Come, in what key shall a man take</LINE>
+<LINE>you, to go in the song?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>In mine eye she is the sweetest lady that ever I</LINE>
+<LINE>looked on.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I can see yet without spectacles and I see no such</LINE>
+<LINE>matter: there's her cousin, an she were not</LINE>
+<LINE>possessed with a fury, exceeds her as much in beauty</LINE>
+<LINE>as the first of May doth the last of December. But I</LINE>
+<LINE>hope you have no intent to turn husband, have you?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I would scarce trust myself, though I had sworn the</LINE>
+<LINE>contrary, if Hero would be my wife.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Is't come to this? In faith, hath not the world</LINE>
+<LINE>one man but he will wear his cap with suspicion?</LINE>
+<LINE>Shall I never see a bachelor of three-score again?</LINE>
+<LINE>Go to, i' faith; an thou wilt needs thrust thy neck</LINE>
+<LINE>into a yoke, wear the print of it and sigh away</LINE>
+<LINE>Sundays. Look Don Pedro is returned to seek you.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Re-enter DON PEDRO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>What secret hath held you here, that you followed</LINE>
+<LINE>not to Leonato's?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I would your grace would constrain me to tell.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>I charge thee on thy allegiance.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>You hear, Count Claudio: I can be secret as a dumb</LINE>
+<LINE>man; I would have you think so; but, on my</LINE>
+<LINE>allegiance, mark you this, on my allegiance. He is</LINE>
+<LINE>in love. With who? now that is your grace's part.</LINE>
+<LINE>Mark how short his answer is;--With Hero, Leonato's</LINE>
+<LINE>short daughter.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>If this were so, so were it uttered.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Like the old tale, my lord: 'it is not so, nor</LINE>
+<LINE>'twas not so, but, indeed, God forbid it should be</LINE>
+<LINE>so.'</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>If my passion change not shortly, God forbid it</LINE>
+<LINE>should be otherwise.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Amen, if you love her; for the lady is very well worthy.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>You speak this to fetch me in, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>By my troth, I speak my thought.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And, in faith, my lord, I spoke mine.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>And, by my two faiths and troths, my lord, I spoke mine.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>That I love her, I feel.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>That she is worthy, I know.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>That I neither feel how she should be loved nor</LINE>
+<LINE>know how she should be worthy, is the opinion that</LINE>
+<LINE>fire cannot melt out of me: I will die in it at the stake.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Thou wast ever an obstinate heretic in the despite</LINE>
+<LINE>of beauty.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And never could maintain his part but in the force</LINE>
+<LINE>of his will.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>That a woman conceived me, I thank her; that she</LINE>
+<LINE>brought me up, I likewise give her most humble</LINE>
+<LINE>thanks: but that I will have a recheat winded in my</LINE>
+<LINE>forehead, or hang my bugle in an invisible baldrick,</LINE>
+<LINE>all women shall pardon me. Because I will not do</LINE>
+<LINE>them the wrong to mistrust any, I will do myself the</LINE>
+<LINE>right to trust none; and the fine is, for the which</LINE>
+<LINE>I may go the finer, I will live a bachelor.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>I shall see thee, ere I die, look pale with love.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>With anger, with sickness, or with hunger, my lord,</LINE>
+<LINE>not with love: prove that ever I lose more blood</LINE>
+<LINE>with love than I will get again with drinking, pick</LINE>
+<LINE>out mine eyes with a ballad-maker's pen and hang me</LINE>
+<LINE>up at the door of a brothel-house for the sign of</LINE>
+<LINE>blind Cupid.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Well, if ever thou dost fall from this faith, thou</LINE>
+<LINE>wilt prove a notable argument.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>If I do, hang me in a bottle like a cat and shoot</LINE>
+<LINE>at me; and he that hits me, let him be clapped on</LINE>
+<LINE>the shoulder, and called Adam.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Well, as time shall try: 'In time the savage bull</LINE>
+<LINE>doth bear the yoke.'</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>The savage bull may; but if ever the sensible</LINE>
+<LINE>Benedick bear it, pluck off the bull's horns and set</LINE>
+<LINE>them in my forehead: and let me be vilely painted,</LINE>
+<LINE>and in such great letters as they write 'Here is</LINE>
+<LINE>good horse to hire,' let them signify under my sign</LINE>
+<LINE>'Here you may see Benedick the married man.'</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>If this should ever happen, thou wouldst be horn-mad.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Nay, if Cupid have not spent all his quiver in</LINE>
+<LINE>Venice, thou wilt quake for this shortly.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I look for an earthquake too, then.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Well, you temporize with the hours. In the</LINE>
+<LINE>meantime, good Signior Benedick, repair to</LINE>
+<LINE>Leonato's: commend me to him and tell him I will</LINE>
+<LINE>not fail him at supper; for indeed he hath made</LINE>
+<LINE>great preparation.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I have almost matter enough in me for such an</LINE>
+<LINE>embassage; and so I commit you--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>To the tuition of God: From my house, if I had it,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>The sixth of July: Your loving friend, Benedick.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Nay, mock not, mock not. The body of your</LINE>
+<LINE>discourse is sometime guarded with fragments, and</LINE>
+<LINE>the guards are but slightly basted on neither: ere</LINE>
+<LINE>you flout old ends any further, examine your</LINE>
+<LINE>conscience: and so I leave you.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>My liege, your highness now may do me good.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>My love is thine to teach: teach it but how,</LINE>
+<LINE>And thou shalt see how apt it is to learn</LINE>
+<LINE>Any hard lesson that may do thee good.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Hath Leonato any son, my lord?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>No child but Hero; she's his only heir.</LINE>
+<LINE>Dost thou affect her, Claudio?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>O, my lord,</LINE>
+<LINE>When you went onward on this ended action,</LINE>
+<LINE>I look'd upon her with a soldier's eye,</LINE>
+<LINE>That liked, but had a rougher task in hand</LINE>
+<LINE>Than to drive liking to the name of love:</LINE>
+<LINE>But now I am return'd and that war-thoughts</LINE>
+<LINE>Have left their places vacant, in their rooms</LINE>
+<LINE>Come thronging soft and delicate desires,</LINE>
+<LINE>All prompting me how fair young Hero is,</LINE>
+<LINE>Saying, I liked her ere I went to wars.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Thou wilt be like a lover presently</LINE>
+<LINE>And tire the hearer with a book of words.</LINE>
+<LINE>If thou dost love fair Hero, cherish it,</LINE>
+<LINE>And I will break with her and with her father,</LINE>
+<LINE>And thou shalt have her. Was't not to this end</LINE>
+<LINE>That thou began'st to twist so fine a story?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>How sweetly you do minister to love,</LINE>
+<LINE>That know love's grief by his complexion!</LINE>
+<LINE>But lest my liking might too sudden seem,</LINE>
+<LINE>I would have salved it with a longer treatise.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>What need the bridge much broader than the flood?</LINE>
+<LINE>The fairest grant is the necessity.</LINE>
+<LINE>Look, what will serve is fit: 'tis once, thou lovest,</LINE>
+<LINE>And I will fit thee with the remedy.</LINE>
+<LINE>I know we shall have revelling to-night:</LINE>
+<LINE>I will assume thy part in some disguise</LINE>
+<LINE>And tell fair Hero I am Claudio,</LINE>
+<LINE>And in her bosom I'll unclasp my heart</LINE>
+<LINE>And take her hearing prisoner with the force</LINE>
+<LINE>And strong encounter of my amorous tale:</LINE>
+<LINE>Then after to her father will I break;</LINE>
+<LINE>And the conclusion is, she shall be thine.</LINE>
+<LINE>In practise let us put it presently.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE II.  A room in LEONATO's house.</TITLE>
+<STAGEDIR>Enter LEONATO and ANTONIO, meeting</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>How now, brother! Where is my cousin, your son?</LINE>
+<LINE>hath he provided this music?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>He is very busy about it. But, brother, I can tell</LINE>
+<LINE>you strange news that you yet dreamt not of.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Are they good?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>As the event stamps them: but they have a good</LINE>
+<LINE>cover; they show well outward. The prince and Count</LINE>
+<LINE>Claudio, walking in a thick-pleached alley in mine</LINE>
+<LINE>orchard, were thus much overheard by a man of mine:</LINE>
+<LINE>the prince discovered to Claudio that he loved my</LINE>
+<LINE>niece your daughter and meant to acknowledge it</LINE>
+<LINE>this night in a dance: and if he found her</LINE>
+<LINE>accordant, he meant to take the present time by the</LINE>
+<LINE>top and instantly break with you of it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Hath the fellow any wit that told you this?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>A good sharp fellow: I will send for him; and</LINE>
+<LINE>question him yourself.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>No, no; we will hold it as a dream till it appear</LINE>
+<LINE>itself: but I will acquaint my daughter withal,</LINE>
+<LINE>that she may be the better prepared for an answer,</LINE>
+<LINE>if peradventure this be true. Go you and tell her of it.</LINE>
+<STAGEDIR>Enter Attendants</STAGEDIR>
+<LINE>Cousins, you know what you have to do. O, I cry you</LINE>
+<LINE>mercy, friend; go you with me, and I will use your</LINE>
+<LINE>skill. Good cousin, have a care this busy time.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE III.  The same.</TITLE>
+<STAGEDIR>Enter DON JOHN and CONRADE</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>What the good-year, my lord! why are you thus out</LINE>
+<LINE>of measure sad?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>There is no measure in the occasion that breeds;</LINE>
+<LINE>therefore the sadness is without limit.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>You should hear reason.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>And when I have heard it, what blessing brings it?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>If not a present remedy, at least a patient</LINE>
+<LINE>sufferance.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I wonder that thou, being, as thou sayest thou art,</LINE>
+<LINE>born under Saturn, goest about to apply a moral</LINE>
+<LINE>medicine to a mortifying mischief. I cannot hide</LINE>
+<LINE>what I am: I must be sad when I have cause and smile</LINE>
+<LINE>at no man's jests, eat when I have stomach and wait</LINE>
+<LINE>for no man's leisure, sleep when I am drowsy and</LINE>
+<LINE>tend on no man's business, laugh when I am merry and</LINE>
+<LINE>claw no man in his humour.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Yea, but you must not make the full show of this</LINE>
+<LINE>till you may do it without controlment. You have of</LINE>
+<LINE>late stood out against your brother, and he hath</LINE>
+<LINE>ta'en you newly into his grace; where it is</LINE>
+<LINE>impossible you should take true root but by the</LINE>
+<LINE>fair weather that you make yourself: it is needful</LINE>
+<LINE>that you frame the season for your own harvest.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I had rather be a canker in a hedge than a rose in</LINE>
+<LINE>his grace, and it better fits my blood to be</LINE>
+<LINE>disdained of all than to fashion a carriage to rob</LINE>
+<LINE>love from any: in this, though I cannot be said to</LINE>
+<LINE>be a flattering honest man, it must not be denied</LINE>
+<LINE>but I am a plain-dealing villain. I am trusted with</LINE>
+<LINE>a muzzle and enfranchised with a clog; therefore I</LINE>
+<LINE>have decreed not to sing in my cage. If I had my</LINE>
+<LINE>mouth, I would bite; if I had my liberty, I would do</LINE>
+<LINE>my liking: in the meantime let me be that I am and</LINE>
+<LINE>seek not to alter me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Can you make no use of your discontent?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I make all use of it, for I use it only.</LINE>
+<LINE>Who comes here?</LINE>
+<STAGEDIR>Enter BORACHIO</STAGEDIR>
+<LINE>What news, Borachio?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>I came yonder from a great supper: the prince your</LINE>
+<LINE>brother is royally entertained by Leonato: and I</LINE>
+<LINE>can give you intelligence of an intended marriage.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Will it serve for any model to build mischief on?</LINE>
+<LINE>What is he for a fool that betroths himself to</LINE>
+<LINE>unquietness?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Marry, it is your brother's right hand.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Who? the most exquisite Claudio?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Even he.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>A proper squire! And who, and who? which way looks</LINE>
+<LINE>he?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Marry, on Hero, the daughter and heir of Leonato.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>A very forward March-chick! How came you to this?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Being entertained for a perfumer, as I was smoking a</LINE>
+<LINE>musty room, comes me the prince and Claudio, hand</LINE>
+<LINE>in hand in sad conference: I whipt me behind the</LINE>
+<LINE>arras; and there heard it agreed upon that the</LINE>
+<LINE>prince should woo Hero for himself, and having</LINE>
+<LINE>obtained her, give her to Count Claudio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Come, come, let us thither: this may prove food to</LINE>
+<LINE>my displeasure. That young start-up hath all the</LINE>
+<LINE>glory of my overthrow: if I can cross him any way, I</LINE>
+<LINE>bless myself every way. You are both sure, and will assist me?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>To the death, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Let us to the great supper: their cheer is the</LINE>
+<LINE>greater that I am subdued. Would the cook were of</LINE>
+<LINE>my mind! Shall we go prove what's to be done?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>We'll wait upon your lordship.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+</ACT>
+
+<ACT><TITLE>ACT II</TITLE>
+
+<SCENE><TITLE>SCENE I.  A hall in LEONATO'S house.</TITLE>
+<STAGEDIR>Enter LEONATO, ANTONIO, HERO, BEATRICE, and others</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Was not Count John here at supper?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>I saw him not.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>How tartly that gentleman looks! I never can see</LINE>
+<LINE>him but I am heart-burned an hour after.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>He is of a very melancholy disposition.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>He were an excellent man that were made just in the</LINE>
+<LINE>midway between him and Benedick: the one is too</LINE>
+<LINE>like an image and says nothing, and the other too</LINE>
+<LINE>like my lady's eldest son, evermore tattling.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Then half Signior Benedick's tongue in Count John's</LINE>
+<LINE>mouth, and half Count John's melancholy in Signior</LINE>
+<LINE>Benedick's face,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>With a good leg and a good foot, uncle, and money</LINE>
+<LINE>enough in his purse, such a man would win any woman</LINE>
+<LINE>in the world, if a' could get her good-will.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>By my troth, niece, thou wilt never get thee a</LINE>
+<LINE>husband, if thou be so shrewd of thy tongue.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>In faith, she's too curst.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Too curst is more than curst: I shall lessen God's</LINE>
+<LINE>sending that way; for it is said, 'God sends a curst</LINE>
+<LINE>cow short horns;' but to a cow too curst he sends none.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>So, by being too curst, God will send you no horns.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Just, if he send me no husband; for the which</LINE>
+<LINE>blessing I am at him upon my knees every morning and</LINE>
+<LINE>evening. Lord, I could not endure a husband with a</LINE>
+<LINE>beard on his face: I had rather lie in the woollen.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>You may light on a husband that hath no beard.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>What should I do with him? dress him in my apparel</LINE>
+<LINE>and make him my waiting-gentlewoman? He that hath a</LINE>
+<LINE>beard is more than a youth, and he that hath no</LINE>
+<LINE>beard is less than a man: and he that is more than</LINE>
+<LINE>a youth is not for me, and he that is less than a</LINE>
+<LINE>man, I am not for him: therefore, I will even take</LINE>
+<LINE>sixpence in earnest of the bear-ward, and lead his</LINE>
+<LINE>apes into hell.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Well, then, go you into hell?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>No, but to the gate; and there will the devil meet</LINE>
+<LINE>me, like an old cuckold, with horns on his head, and</LINE>
+<LINE>say 'Get you to heaven, Beatrice, get you to</LINE>
+<LINE>heaven; here's no place for you maids:' so deliver</LINE>
+<LINE>I up my apes, and away to Saint Peter for the</LINE>
+<LINE>heavens; he shows me where the bachelors sit, and</LINE>
+<LINE>there live we as merry as the day is long.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE><STAGEDIR>To HERO</STAGEDIR>  Well, niece, I trust you will be ruled</LINE>
+<LINE>by your father.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Yes, faith; it is my cousin's duty to make curtsy</LINE>
+<LINE>and say 'Father, as it please you.' But yet for all</LINE>
+<LINE>that, cousin, let him be a handsome fellow, or else</LINE>
+<LINE>make another curtsy and say 'Father, as it please</LINE>
+<LINE>me.'</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Well, niece, I hope to see you one day fitted with a husband.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Not till God make men of some other metal than</LINE>
+<LINE>earth. Would it not grieve a woman to be</LINE>
+<LINE>overmastered with a pierce of valiant dust? to make</LINE>
+<LINE>an account of her life to a clod of wayward marl?</LINE>
+<LINE>No, uncle, I'll none: Adam's sons are my brethren;</LINE>
+<LINE>and, truly, I hold it a sin to match in my kindred.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Daughter, remember what I told you: if the prince</LINE>
+<LINE>do solicit you in that kind, you know your answer.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>The fault will be in the music, cousin, if you be</LINE>
+<LINE>not wooed in good time: if the prince be too</LINE>
+<LINE>important, tell him there is measure in every thing</LINE>
+<LINE>and so dance out the answer. For, hear me, Hero:</LINE>
+<LINE>wooing, wedding, and repenting, is as a Scotch jig,</LINE>
+<LINE>a measure, and a cinque pace: the first suit is hot</LINE>
+<LINE>and hasty, like a Scotch jig, and full as</LINE>
+<LINE>fantastical; the wedding, mannerly-modest, as a</LINE>
+<LINE>measure, full of state and ancientry; and then comes</LINE>
+<LINE>repentance and, with his bad legs, falls into the</LINE>
+<LINE>cinque pace faster and faster, till he sink into his grave.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Cousin, you apprehend passing shrewdly.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I have a good eye, uncle; I can see a church by daylight.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>The revellers are entering, brother: make good room.</LINE>
+</SPEECH>
+
+<STAGEDIR>All put on their masks</STAGEDIR>
+<STAGEDIR>Enter DON PEDRO, CLAUDIO, BENEDICK, BALTHASAR,
+DON JOHN, BORACHIO, MARGARET, URSULA and others, masked</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Lady, will you walk about with your friend?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>So you walk softly and look sweetly and say nothing,</LINE>
+<LINE>I am yours for the walk; and especially when I walk away.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>With me in your company?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>I may say so, when I please.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>And when please you to say so?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>When I like your favour; for God defend the lute</LINE>
+<LINE>should be like the case!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>My visor is Philemon's roof; within the house is Jove.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Why, then, your visor should be thatched.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Speak low, if you speak love.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Drawing her aside</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>Well, I would you did like me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>So would not I, for your own sake; for I have many</LINE>
+<LINE>ill-qualities.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>Which is one?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>I say my prayers aloud.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>I love you the better: the hearers may cry, Amen.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>God match me with a good dancer!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>Amen.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>And God keep him out of my sight when the dance is</LINE>
+<LINE>done! Answer, clerk.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>No more words: the clerk is answered.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>I know you well enough; you are Signior Antonio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>At a word, I am not.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>I know you by the waggling of your head.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>To tell you true, I counterfeit him.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>You could never do him so ill-well, unless you were</LINE>
+<LINE>the very man. Here's his dry hand up and down: you</LINE>
+<LINE>are he, you are he.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>At a word, I am not.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>Come, come, do you think I do not know you by your</LINE>
+<LINE>excellent wit? can virtue hide itself? Go to,</LINE>
+<LINE>mum, you are he: graces will appear, and there's an</LINE>
+<LINE>end.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Will you not tell me who told you so?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>No, you shall pardon me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Nor will you not tell me who you are?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Not now.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>That I was disdainful, and that I had my good wit</LINE>
+<LINE>out of the 'Hundred Merry Tales:'--well this was</LINE>
+<LINE>Signior Benedick that said so.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>What's he?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I am sure you know him well enough.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Not I, believe me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Did he never make you laugh?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I pray you, what is he?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Why, he is the prince's jester: a very dull fool;</LINE>
+<LINE>only his gift is in devising impossible slanders:</LINE>
+<LINE>none but libertines delight in him; and the</LINE>
+<LINE>commendation is not in his wit, but in his villany;</LINE>
+<LINE>for he both pleases men and angers them, and then</LINE>
+<LINE>they laugh at him and beat him. I am sure he is in</LINE>
+<LINE>the fleet: I would he had boarded me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>When I know the gentleman, I'll tell him what you say.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Do, do: he'll but break a comparison or two on me;</LINE>
+<LINE>which, peradventure not marked or not laughed at,</LINE>
+<LINE>strikes him into melancholy; and then there's a</LINE>
+<LINE>partridge wing saved, for the fool will eat no</LINE>
+<LINE>supper that night.</LINE>
+<STAGEDIR>Music</STAGEDIR>
+<LINE>We must follow the leaders.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>In every good thing.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Nay, if they lead to any ill, I will leave them at</LINE>
+<LINE>the next turning.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Dance. Then exeunt all except DON JOHN, BORACHIO,
+and CLAUDIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Sure my brother is amorous on Hero and hath</LINE>
+<LINE>withdrawn her father to break with him about it.</LINE>
+<LINE>The ladies follow her and but one visor remains.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>And that is Claudio: I know him by his bearing.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Are not you Signior Benedick?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>You know me well; I am he.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Signior, you are very near my brother in his love:</LINE>
+<LINE>he is enamoured on Hero; I pray you, dissuade him</LINE>
+<LINE>from her: she is no equal for his birth: you may</LINE>
+<LINE>do the part of an honest man in it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>How know you he loves her?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I heard him swear his affection.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>So did I too; and he swore he would marry her to-night.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Come, let us to the banquet.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt DON JOHN and BORACHIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Thus answer I in the name of Benedick,</LINE>
+<LINE>But hear these ill news with the ears of Claudio.</LINE>
+<LINE>'Tis certain so; the prince wooes for himself.</LINE>
+<LINE>Friendship is constant in all other things</LINE>
+<LINE>Save in the office and affairs of love:</LINE>
+<LINE>Therefore, all hearts in love use their own tongues;</LINE>
+<LINE>Let every eye negotiate for itself</LINE>
+<LINE>And trust no agent; for beauty is a witch</LINE>
+<LINE>Against whose charms faith melteth into blood.</LINE>
+<LINE>This is an accident of hourly proof,</LINE>
+<LINE>Which I mistrusted not. Farewell, therefore, Hero!</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Re-enter BENEDICK</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Count Claudio?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Yea, the same.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Come, will you go with me?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Whither?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Even to the next willow, about your own business,</LINE>
+<LINE>county. What fashion will you wear the garland of?</LINE>
+<LINE>about your neck, like an usurer's chain? or under</LINE>
+<LINE>your arm, like a lieutenant's scarf? You must wear</LINE>
+<LINE>it one way, for the prince hath got your Hero.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I wish him joy of her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Why, that's spoken like an honest drovier: so they</LINE>
+<LINE>sell bullocks. But did you think the prince would</LINE>
+<LINE>have served you thus?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I pray you, leave me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Ho! now you strike like the blind man: 'twas the</LINE>
+<LINE>boy that stole your meat, and you'll beat the post.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>If it will not be, I'll leave you.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Alas, poor hurt fowl! now will he creep into sedges.</LINE>
+<LINE>But that my Lady Beatrice should know me, and not</LINE>
+<LINE>know me! The prince's fool! Ha? It may be I go</LINE>
+<LINE>under that title because I am merry. Yea, but so I</LINE>
+<LINE>am apt to do myself wrong; I am not so reputed: it</LINE>
+<LINE>is the base, though bitter, disposition of Beatrice</LINE>
+<LINE>that puts the world into her person and so gives me</LINE>
+<LINE>out. Well, I'll be revenged as I may.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Re-enter DON PEDRO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Now, signior, where's the count? did you see him?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Troth, my lord, I have played the part of Lady Fame.</LINE>
+<LINE>I found him here as melancholy as a lodge in a</LINE>
+<LINE>warren: I told him, and I think I told him true,</LINE>
+<LINE>that your grace had got the good will of this young</LINE>
+<LINE>lady; and I offered him my company to a willow-tree,</LINE>
+<LINE>either to make him a garland, as being forsaken, or</LINE>
+<LINE>to bind him up a rod, as being worthy to be whipped.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>To be whipped! What's his fault?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>The flat transgression of a schoolboy, who, being</LINE>
+<LINE>overjoyed with finding a birds' nest, shows it his</LINE>
+<LINE>companion, and he steals it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Wilt thou make a trust a transgression? The</LINE>
+<LINE>transgression is in the stealer.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Yet it had not been amiss the rod had been made,</LINE>
+<LINE>and the garland too; for the garland he might have</LINE>
+<LINE>worn himself, and the rod he might have bestowed on</LINE>
+<LINE>you, who, as I take it, have stolen his birds' nest.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>I will but teach them to sing, and restore them to</LINE>
+<LINE>the owner.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>If their singing answer your saying, by my faith,</LINE>
+<LINE>you say honestly.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>The Lady Beatrice hath a quarrel to you: the</LINE>
+<LINE>gentleman that danced with her told her she is much</LINE>
+<LINE>wronged by you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>O, she misused me past the endurance of a block!</LINE>
+<LINE>an oak but with one green leaf on it would have</LINE>
+<LINE>answered her; my very visor began to assume life and</LINE>
+<LINE>scold with her. She told me, not thinking I had been</LINE>
+<LINE>myself, that I was the prince's jester, that I was</LINE>
+<LINE>duller than a great thaw; huddling jest upon jest</LINE>
+<LINE>with such impossible conveyance upon me that I stood</LINE>
+<LINE>like a man at a mark, with a whole army shooting at</LINE>
+<LINE>me. She speaks poniards, and every word stabs:</LINE>
+<LINE>if her breath were as terrible as her terminations,</LINE>
+<LINE>there were no living near her; she would infect to</LINE>
+<LINE>the north star. I would not marry her, though she</LINE>
+<LINE>were endowed with all that Adam bad left him before</LINE>
+<LINE>he transgressed: she would have made Hercules have</LINE>
+<LINE>turned spit, yea, and have cleft his club to make</LINE>
+<LINE>the fire too. Come, talk not of her: you shall find</LINE>
+<LINE>her the infernal Ate in good apparel. I would to God</LINE>
+<LINE>some scholar would conjure her; for certainly, while</LINE>
+<LINE>she is here, a man may live as quiet in hell as in a</LINE>
+<LINE>sanctuary; and people sin upon purpose, because they</LINE>
+<LINE>would go thither; so, indeed, all disquiet, horror</LINE>
+<LINE>and perturbation follows her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Look, here she comes.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter CLAUDIO, BEATRICE, HERO, and LEONATO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Will your grace command me any service to the</LINE>
+<LINE>world's end? I will go on the slightest errand now</LINE>
+<LINE>to the Antipodes that you can devise to send me on;</LINE>
+<LINE>I will fetch you a tooth-picker now from the</LINE>
+<LINE>furthest inch of Asia, bring you the length of</LINE>
+<LINE>Prester John's foot, fetch you a hair off the great</LINE>
+<LINE>Cham's beard, do you any embassage to the Pigmies,</LINE>
+<LINE>rather than hold three words' conference with this</LINE>
+<LINE>harpy. You have no employment for me?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>None, but to desire your good company.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>O God, sir, here's a dish I love not: I cannot</LINE>
+<LINE>endure my Lady Tongue.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Come, lady, come; you have lost the heart of</LINE>
+<LINE>Signior Benedick.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Indeed, my lord, he lent it me awhile; and I gave</LINE>
+<LINE>him use for it, a double heart for his single one:</LINE>
+<LINE>marry, once before he won it of me with false dice,</LINE>
+<LINE>therefore your grace may well say I have lost it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>You have put him down, lady, you have put him down.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>So I would not he should do me, my lord, lest I</LINE>
+<LINE>should prove the mother of fools. I have brought</LINE>
+<LINE>Count Claudio, whom you sent me to seek.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Why, how now, count! wherefore are you sad?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Not sad, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>How then? sick?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Neither, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>The count is neither sad, nor sick, nor merry, nor</LINE>
+<LINE>well; but civil count, civil as an orange, and</LINE>
+<LINE>something of that jealous complexion.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>I' faith, lady, I think your blazon to be true;</LINE>
+<LINE>though, I'll be sworn, if he be so, his conceit is</LINE>
+<LINE>false. Here, Claudio, I have wooed in thy name, and</LINE>
+<LINE>fair Hero is won: I have broke with her father,</LINE>
+<LINE>and his good will obtained: name the day of</LINE>
+<LINE>marriage, and God give thee joy!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Count, take of me my daughter, and with her my</LINE>
+<LINE>fortunes: his grace hath made the match, and an</LINE>
+<LINE>grace say Amen to it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Speak, count, 'tis your cue.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Silence is the perfectest herald of joy: I were</LINE>
+<LINE>but little happy, if I could say how much. Lady, as</LINE>
+<LINE>you are mine, I am yours: I give away myself for</LINE>
+<LINE>you and dote upon the exchange.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Speak, cousin; or, if you cannot, stop his mouth</LINE>
+<LINE>with a kiss, and let not him speak neither.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>In faith, lady, you have a merry heart.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Yea, my lord; I thank it, poor fool, it keeps on</LINE>
+<LINE>the windy side of care. My cousin tells him in his</LINE>
+<LINE>ear that he is in her heart.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And so she doth, cousin.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Good Lord, for alliance! Thus goes every one to the</LINE>
+<LINE>world but I, and I am sunburnt; I may sit in a</LINE>
+<LINE>corner and cry heigh-ho for a husband!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Lady Beatrice, I will get you one.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I would rather have one of your father's getting.</LINE>
+<LINE>Hath your grace ne'er a brother like you? Your</LINE>
+<LINE>father got excellent husbands, if a maid could come by them.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Will you have me, lady?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>No, my lord, unless I might have another for</LINE>
+<LINE>working-days: your grace is too costly to wear</LINE>
+<LINE>every day. But, I beseech your grace, pardon me: I</LINE>
+<LINE>was born to speak all mirth and no matter.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Your silence most offends me, and to be merry best</LINE>
+<LINE>becomes you; for, out of question, you were born in</LINE>
+<LINE>a merry hour.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>No, sure, my lord, my mother cried; but then there</LINE>
+<LINE>was a star danced, and under that was I born.</LINE>
+<LINE>Cousins, God give you joy!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Niece, will you look to those things I told you of?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I cry you mercy, uncle. By your grace's pardon.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>By my troth, a pleasant-spirited lady.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>There's little of the melancholy element in her, my</LINE>
+<LINE>lord: she is never sad but when she sleeps, and</LINE>
+<LINE>not ever sad then; for I have heard my daughter say,</LINE>
+<LINE>she hath often dreamed of unhappiness and waked</LINE>
+<LINE>herself with laughing.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>She cannot endure to hear tell of a husband.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>O, by no means: she mocks all her wooers out of suit.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>She were an excellent wife for Benedict.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>O Lord, my lord, if they were but a week married,</LINE>
+<LINE>they would talk themselves mad.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>County Claudio, when mean you to go to church?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>To-morrow, my lord: time goes on crutches till love</LINE>
+<LINE>have all his rites.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Not till Monday, my dear son, which is hence a just</LINE>
+<LINE>seven-night; and a time too brief, too, to have all</LINE>
+<LINE>things answer my mind.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Come, you shake the head at so long a breathing:</LINE>
+<LINE>but, I warrant thee, Claudio, the time shall not go</LINE>
+<LINE>dully by us. I will in the interim undertake one of</LINE>
+<LINE>Hercules' labours; which is, to bring Signior</LINE>
+<LINE>Benedick and the Lady Beatrice into a mountain of</LINE>
+<LINE>affection the one with the other. I would fain have</LINE>
+<LINE>it a match, and I doubt not but to fashion it, if</LINE>
+<LINE>you three will but minister such assistance as I</LINE>
+<LINE>shall give you direction.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>My lord, I am for you, though it cost me ten</LINE>
+<LINE>nights' watchings.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And I, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>And you too, gentle Hero?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>I will do any modest office, my lord, to help my</LINE>
+<LINE>cousin to a good husband.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>And Benedick is not the unhopefullest husband that</LINE>
+<LINE>I know. Thus far can I praise him; he is of a noble</LINE>
+<LINE>strain, of approved valour and confirmed honesty. I</LINE>
+<LINE>will teach you how to humour your cousin, that she</LINE>
+<LINE>shall fall in love with Benedick; and I, with your</LINE>
+<LINE>two helps, will so practise on Benedick that, in</LINE>
+<LINE>despite of his quick wit and his queasy stomach, he</LINE>
+<LINE>shall fall in love with Beatrice. If we can do this,</LINE>
+<LINE>Cupid is no longer an archer: his glory shall be</LINE>
+<LINE>ours, for we are the only love-gods. Go in with me,</LINE>
+<LINE>and I will tell you my drift.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE II.  The same.</TITLE>
+<STAGEDIR>Enter DON JOHN and BORACHIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>It is so; the Count Claudio shall marry the</LINE>
+<LINE>daughter of Leonato.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Yea, my lord; but I can cross it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Any bar, any cross, any impediment will be</LINE>
+<LINE>medicinable to me: I am sick in displeasure to him,</LINE>
+<LINE>and whatsoever comes athwart his affection ranges</LINE>
+<LINE>evenly with mine. How canst thou cross this marriage?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Not honestly, my lord; but so covertly that no</LINE>
+<LINE>dishonesty shall appear in me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Show me briefly how.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>I think I told your lordship a year since, how much</LINE>
+<LINE>I am in the favour of Margaret, the waiting</LINE>
+<LINE>gentlewoman to Hero.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I remember.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>I can, at any unseasonable instant of the night,</LINE>
+<LINE>appoint her to look out at her lady's chamber window.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>What life is in that, to be the death of this marriage?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>The poison of that lies in you to temper. Go you to</LINE>
+<LINE>the prince your brother; spare not to tell him that</LINE>
+<LINE>he hath wronged his honour in marrying the renowned</LINE>
+<LINE>Claudio--whose estimation do you mightily hold</LINE>
+<LINE>up--to a contaminated stale, such a one as Hero.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>What proof shall I make of that?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Proof enough to misuse the prince, to vex Claudio,</LINE>
+<LINE>to undo Hero and kill Leonato. Look you for any</LINE>
+<LINE>other issue?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Only to despite them, I will endeavour any thing.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Go, then; find me a meet hour to draw Don Pedro and</LINE>
+<LINE>the Count Claudio alone: tell them that you know</LINE>
+<LINE>that Hero loves me; intend a kind of zeal both to the</LINE>
+<LINE>prince and Claudio, as,--in love of your brother's</LINE>
+<LINE>honour, who hath made this match, and his friend's</LINE>
+<LINE>reputation, who is thus like to be cozened with the</LINE>
+<LINE>semblance of a maid,--that you have discovered</LINE>
+<LINE>thus. They will scarcely believe this without trial:</LINE>
+<LINE>offer them instances; which shall bear no less</LINE>
+<LINE>likelihood than to see me at her chamber-window,</LINE>
+<LINE>hear me call Margaret Hero, hear Margaret term me</LINE>
+<LINE>Claudio; and bring them to see this the very night</LINE>
+<LINE>before the intended wedding,--for in the meantime I</LINE>
+<LINE>will so fashion the matter that Hero shall be</LINE>
+<LINE>absent,--and there shall appear such seeming truth</LINE>
+<LINE>of Hero's disloyalty that jealousy shall be called</LINE>
+<LINE>assurance and all the preparation overthrown.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Grow this to what adverse issue it can, I will put</LINE>
+<LINE>it in practise. Be cunning in the working this, and</LINE>
+<LINE>thy fee is a thousand ducats.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Be you constant in the accusation, and my cunning</LINE>
+<LINE>shall not shame me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I will presently go learn their day of marriage.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE III.  LEONATO'S orchard.</TITLE>
+<STAGEDIR>Enter BENEDICK</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Boy!</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter Boy</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>Boy</SPEAKER>
+<LINE>Signior?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>In my chamber-window lies a book: bring it hither</LINE>
+<LINE>to me in the orchard.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Boy</SPEAKER>
+<LINE>I am here already, sir.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I know that; but I would have thee hence, and here again.</LINE>
+<STAGEDIR>Exit Boy</STAGEDIR>
+<LINE>I do much wonder that one man, seeing how much</LINE>
+<LINE>another man is a fool when he dedicates his</LINE>
+<LINE>behaviors to love, will, after he hath laughed at</LINE>
+<LINE>such shallow follies in others, become the argument</LINE>
+<LINE>of his own scorn by failing in love: and such a man</LINE>
+<LINE>is Claudio. I have known when there was no music</LINE>
+<LINE>with him but the drum and the fife; and now had he</LINE>
+<LINE>rather hear the tabour and the pipe: I have known</LINE>
+<LINE>when he would have walked ten mile a-foot to see a</LINE>
+<LINE>good armour; and now will he lie ten nights awake,</LINE>
+<LINE>carving the fashion of a new doublet. He was wont to</LINE>
+<LINE>speak plain and to the purpose, like an honest man</LINE>
+<LINE>and a soldier; and now is he turned orthography; his</LINE>
+<LINE>words are a very fantastical banquet, just so many</LINE>
+<LINE>strange dishes. May I be so converted and see with</LINE>
+<LINE>these eyes? I cannot tell; I think not: I will not</LINE>
+<LINE>be sworn, but love may transform me to an oyster; but</LINE>
+<LINE>I'll take my oath on it, till he have made an oyster</LINE>
+<LINE>of me, he shall never make me such a fool. One woman</LINE>
+<LINE>is fair, yet I am well; another is wise, yet I am</LINE>
+<LINE>well; another virtuous, yet I am well; but till all</LINE>
+<LINE>graces be in one woman, one woman shall not come in</LINE>
+<LINE>my grace. Rich she shall be, that's certain; wise,</LINE>
+<LINE>or I'll none; virtuous, or I'll never cheapen her;</LINE>
+<LINE>fair, or I'll   never look on her; mild, or come not</LINE>
+<LINE>near me; noble, or not I for an angel; of good</LINE>
+<LINE>discourse, an excellent musician, and her hair shall</LINE>
+<LINE>be of what colour it please God. Ha! the prince and</LINE>
+<LINE>Monsieur Love! I will hide me in the arbour.</LINE>
+</SPEECH>
+
+<STAGEDIR>Withdraws</STAGEDIR>
+<STAGEDIR>Enter DON PEDRO, CLAUDIO, and LEONATO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Come, shall we hear this music?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Yea, my good lord. How still the evening is,</LINE>
+<LINE>As hush'd on purpose to grace harmony!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>See you where Benedick hath hid himself?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>O, very well, my lord: the music ended,</LINE>
+<LINE>We'll fit the kid-fox with a pennyworth.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter BALTHASAR with Music</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Come, Balthasar, we'll hear that song again.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>O, good my lord, tax not so bad a voice</LINE>
+<LINE>To slander music any more than once.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>It is the witness still of excellency</LINE>
+<LINE>To put a strange face on his own perfection.</LINE>
+<LINE>I pray thee, sing, and let me woo no more.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>Because you talk of wooing, I will sing;</LINE>
+<LINE>Since many a wooer doth commence his suit</LINE>
+<LINE>To her he thinks not worthy, yet he wooes,</LINE>
+<LINE>Yet will he swear he loves.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Now, pray thee, come;</LINE>
+<LINE>Or, if thou wilt hold longer argument,</LINE>
+<LINE>Do it in notes.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>Note this before my notes;</LINE>
+<LINE>There's not a note of mine that's worth the noting.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Why, these are very crotchets that he speaks;</LINE>
+<LINE>Note, notes, forsooth, and nothing.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Air</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Now, divine air! now is his soul ravished! Is it</LINE>
+<LINE>not strange that sheeps' guts should hale souls out</LINE>
+<LINE>of men's bodies? Well, a horn for my money, when</LINE>
+<LINE>all's done.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>The Song</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>Sigh no more, ladies, sigh no more,</LINE>
+<LINE>Men were deceivers ever,</LINE>
+<LINE>One foot in sea and one on shore,</LINE>
+<LINE>To one thing constant never:</LINE>
+<LINE>Then sigh not so, but let them go,</LINE>
+<LINE>And be you blithe and bonny,</LINE>
+<LINE>Converting all your sounds of woe</LINE>
+<LINE>Into Hey nonny, nonny.</LINE>
+<LINE>Sing no more ditties, sing no moe,</LINE>
+<LINE>Of dumps so dull and heavy;</LINE>
+<LINE>The fraud of men was ever so,</LINE>
+<LINE>Since summer first was leafy:</LINE>
+<LINE>Then sigh not so, &c.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>By my troth, a good song.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>And an ill singer, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Ha, no, no, faith; thou singest well enough for a shift.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>An he had been a dog that should have howled thus,</LINE>
+<LINE>they would have hanged him: and I pray God his bad</LINE>
+<LINE>voice bode no mischief. I had as lief have heard the</LINE>
+<LINE>night-raven, come what plague could have come after</LINE>
+<LINE>it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Yea, marry, dost thou hear, Balthasar? I pray thee,</LINE>
+<LINE>get us some excellent music; for to-morrow night we</LINE>
+<LINE>would have it at the Lady Hero's chamber-window.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BALTHASAR</SPEAKER>
+<LINE>The best I can, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Do so: farewell.</LINE>
+<STAGEDIR>Exit BALTHASAR</STAGEDIR>
+<LINE>Come hither, Leonato. What was it you told me of</LINE>
+<LINE>to-day, that your niece Beatrice was in love with</LINE>
+<LINE>Signior Benedick?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>O, ay: stalk on. stalk on; the fowl sits. I did</LINE>
+<LINE>never think that lady would have loved any man.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>No, nor I neither; but most wonderful that she</LINE>
+<LINE>should so dote on Signior Benedick, whom she hath in</LINE>
+<LINE>all outward behaviors seemed ever to abhor.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Is't possible? Sits the wind in that corner?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>By my troth, my lord, I cannot tell what to think</LINE>
+<LINE>of it but that she loves him with an enraged</LINE>
+<LINE>affection: it is past the infinite of thought.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>May be she doth but counterfeit.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Faith, like enough.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>O God, counterfeit! There was never counterfeit of</LINE>
+<LINE>passion came so near the life of passion as she</LINE>
+<LINE>discovers it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Why, what effects of passion shows she?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Bait the hook well; this fish will bite.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>What effects, my lord? She will sit you, you heard</LINE>
+<LINE>my daughter tell you how.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>She did, indeed.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>How, how, pray you? You amaze me: I would have I</LINE>
+<LINE>thought her spirit had been invincible against all</LINE>
+<LINE>assaults of affection.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I would have sworn it had, my lord; especially</LINE>
+<LINE>against Benedick.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I should think this a gull, but that the</LINE>
+<LINE>white-bearded fellow speaks it: knavery cannot,</LINE>
+<LINE>sure, hide himself in such reverence.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>He hath ta'en the infection: hold it up.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Hath she made her affection known to Benedick?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>No; and swears she never will: that's her torment.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>'Tis true, indeed; so your daughter says: 'Shall</LINE>
+<LINE>I,' says she, 'that have so oft encountered him</LINE>
+<LINE>with scorn, write to him that I love him?'</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>This says she now when she is beginning to write to</LINE>
+<LINE>him; for she'll be up twenty times a night, and</LINE>
+<LINE>there will she sit in her smock till she have writ a</LINE>
+<LINE>sheet of paper: my daughter tells us all.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Now you talk of a sheet of paper, I remember a</LINE>
+<LINE>pretty jest your daughter told us of.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>O, when she had writ it and was reading it over, she</LINE>
+<LINE>found Benedick and Beatrice between the sheet?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>That.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>O, she tore the letter into a thousand halfpence;</LINE>
+<LINE>railed at herself, that she should be so immodest</LINE>
+<LINE>to write to one that she knew would flout her; 'I</LINE>
+<LINE>measure him,' says she, 'by my own spirit; for I</LINE>
+<LINE>should flout him, if he writ to me; yea, though I</LINE>
+<LINE>love him, I should.'</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Then down upon her knees she falls, weeps, sobs,</LINE>
+<LINE>beats her heart, tears her hair, prays, curses; 'O</LINE>
+<LINE>sweet Benedick! God give me patience!'</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>She doth indeed; my daughter says so: and the</LINE>
+<LINE>ecstasy hath so much overborne her that my daughter</LINE>
+<LINE>is sometime afeared she will do a desperate outrage</LINE>
+<LINE>to herself: it is very true.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>It were good that Benedick knew of it by some</LINE>
+<LINE>other, if she will not discover it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>To what end? He would make but a sport of it and</LINE>
+<LINE>torment the poor lady worse.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>An he should, it were an alms to hang him. She's an</LINE>
+<LINE>excellent sweet lady; and, out of all suspicion,</LINE>
+<LINE>she is virtuous.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And she is exceeding wise.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>In every thing but in loving Benedick.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>O, my lord, wisdom and blood combating in so tender</LINE>
+<LINE>a body, we have ten proofs to one that blood hath</LINE>
+<LINE>the victory. I am sorry for her, as I have just</LINE>
+<LINE>cause, being her uncle and her guardian.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>I would she had bestowed this dotage on me: I would</LINE>
+<LINE>have daffed all other respects and made her half</LINE>
+<LINE>myself. I pray you, tell Benedick of it, and hear</LINE>
+<LINE>what a' will say.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Were it good, think you?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Hero thinks surely she will die; for she says she</LINE>
+<LINE>will die, if he love her not, and she will die, ere</LINE>
+<LINE>she make her love known, and she will die, if he woo</LINE>
+<LINE>her, rather than she will bate one breath of her</LINE>
+<LINE>accustomed crossness.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>She doth well: if she should make tender of her</LINE>
+<LINE>love, 'tis very possible he'll scorn it; for the</LINE>
+<LINE>man, as you know all, hath a contemptible spirit.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>He is a very proper man.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>He hath indeed a good outward happiness.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Before God! and, in my mind, very wise.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>He doth indeed show some sparks that are like wit.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And I take him to be valiant.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>As Hector, I assure you: and in the managing of</LINE>
+<LINE>quarrels you may say he is wise; for either he</LINE>
+<LINE>avoids them with great discretion, or undertakes</LINE>
+<LINE>them with a most Christian-like fear.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>If he do fear God, a' must necessarily keep peace:</LINE>
+<LINE>if he break the peace, he ought to enter into a</LINE>
+<LINE>quarrel with fear and trembling.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>And so will he do; for the man doth fear God,</LINE>
+<LINE>howsoever it seems not in him by some large jests</LINE>
+<LINE>he will make. Well I am sorry for your niece. Shall</LINE>
+<LINE>we go seek Benedick, and tell him of her love?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Never tell him, my lord: let her wear it out with</LINE>
+<LINE>good counsel.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Nay, that's impossible: she may wear her heart out first.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Well, we will hear further of it by your daughter:</LINE>
+<LINE>let it cool the while. I love Benedick well; and I</LINE>
+<LINE>could wish he would modestly examine himself, to see</LINE>
+<LINE>how much he is unworthy so good a lady.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>My lord, will you walk? dinner is ready.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>If he do not dote on her upon this, I will never</LINE>
+<LINE>trust my expectation.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Let there be the same net spread for her; and that</LINE>
+<LINE>must your daughter and her gentlewomen carry. The</LINE>
+<LINE>sport will be, when they hold one an opinion of</LINE>
+<LINE>another's dotage, and no such matter: that's the</LINE>
+<LINE>scene that I would see, which will be merely a</LINE>
+<LINE>dumb-show. Let us send her to call him in to dinner.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt DON PEDRO, CLAUDIO, and LEONATO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE><STAGEDIR>Coming forward</STAGEDIR>  This can be no trick: the</LINE>
+<LINE>conference was sadly borne. They have the truth of</LINE>
+<LINE>this from Hero. They seem to pity the lady: it</LINE>
+<LINE>seems her affections have their full bent. Love me!</LINE>
+<LINE>why, it must be requited. I hear how I am censured:</LINE>
+<LINE>they say I will bear myself proudly, if I perceive</LINE>
+<LINE>the love come from her; they say too that she will</LINE>
+<LINE>rather die than give any sign of affection. I did</LINE>
+<LINE>never think to marry: I must not seem proud: happy</LINE>
+<LINE>are they that hear their detractions and can put</LINE>
+<LINE>them to mending. They say the lady is fair; 'tis a</LINE>
+<LINE>truth, I can bear them witness; and virtuous; 'tis</LINE>
+<LINE>so, I cannot reprove it; and wise, but for loving</LINE>
+<LINE>me; by my troth, it is no addition to her wit, nor</LINE>
+<LINE>no great argument of her folly, for I will be</LINE>
+<LINE>horribly in love with her. I may chance have some</LINE>
+<LINE>odd quirks and remnants of wit broken on me,</LINE>
+<LINE>because I have railed so long against marriage: but</LINE>
+<LINE>doth not the appetite alter? a man loves the meat</LINE>
+<LINE>in his youth that he cannot endure in his age.</LINE>
+<LINE>Shall quips and sentences and these paper bullets of</LINE>
+<LINE>the brain awe a man from the career of his humour?</LINE>
+<LINE>No, the world must be peopled. When I said I would</LINE>
+<LINE>die a bachelor, I did not think I should live till I</LINE>
+<LINE>were married. Here comes Beatrice. By this day!</LINE>
+<LINE>she's a fair lady: I do spy some marks of love in</LINE>
+<LINE>her.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter BEATRICE</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Against my will I am sent to bid you come in to dinner.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Fair Beatrice, I thank you for your pains.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I took no more pains for those thanks than you take</LINE>
+<LINE>pains to thank me: if it had been painful, I would</LINE>
+<LINE>not have come.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>You take pleasure then in the message?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Yea, just so much as you may take upon a knife's</LINE>
+<LINE>point and choke a daw withal. You have no stomach,</LINE>
+<LINE>signior: fare you well.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Ha! 'Against my will I am sent to bid you come in</LINE>
+<LINE>to dinner;' there's a double meaning in that 'I took</LINE>
+<LINE>no more pains for those thanks than you took pains</LINE>
+<LINE>to thank me.' that's as much as to say, Any pains</LINE>
+<LINE>that I take for you is as easy as thanks. If I do</LINE>
+<LINE>not take pity of her, I am a villain; if I do not</LINE>
+<LINE>love her, I am a Jew. I will go get her picture.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+</SCENE>
+
+</ACT>
+
+<ACT><TITLE>ACT III</TITLE>
+
+<SCENE><TITLE>SCENE I.  LEONATO'S garden.</TITLE>
+<STAGEDIR>Enter HERO, MARGARET, and URSULA</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Good Margaret, run thee to the parlor;</LINE>
+<LINE>There shalt thou find my cousin Beatrice</LINE>
+<LINE>Proposing with the prince and Claudio:</LINE>
+<LINE>Whisper her ear and tell her, I and Ursula</LINE>
+<LINE>Walk in the orchard and our whole discourse</LINE>
+<LINE>Is all of her; say that thou overheard'st us;</LINE>
+<LINE>And bid her steal into the pleached bower,</LINE>
+<LINE>Where honeysuckles, ripen'd by the sun,</LINE>
+<LINE>Forbid the sun to enter, like favourites,</LINE>
+<LINE>Made proud by princes, that advance their pride</LINE>
+<LINE>Against that power that bred it: there will she hide her,</LINE>
+<LINE>To listen our purpose.  This is thy office;</LINE>
+<LINE>Bear thee well in it and leave us alone.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>I'll make her come, I warrant you, presently.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Now, Ursula, when Beatrice doth come,</LINE>
+<LINE>As we do trace this alley up and down,</LINE>
+<LINE>Our talk must only be of Benedick.</LINE>
+<LINE>When I do name him, let it be thy part</LINE>
+<LINE>To praise him more than ever man did merit:</LINE>
+<LINE>My talk to thee must be how Benedick</LINE>
+<LINE>Is sick in love with Beatrice. Of this matter</LINE>
+<LINE>Is little Cupid's crafty arrow made,</LINE>
+<LINE>That only wounds by hearsay.</LINE>
+<STAGEDIR>Enter BEATRICE, behind</STAGEDIR>
+<LINE>Now begin;</LINE>
+<LINE>For look where Beatrice, like a lapwing, runs</LINE>
+<LINE>Close by the ground, to hear our conference.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>The pleasant'st angling is to see the fish</LINE>
+<LINE>Cut with her golden oars the silver stream,</LINE>
+<LINE>And greedily devour the treacherous bait:</LINE>
+<LINE>So angle we for Beatrice; who even now</LINE>
+<LINE>Is couched in the woodbine coverture.</LINE>
+<LINE>Fear you not my part of the dialogue.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Then go we near her, that her ear lose nothing</LINE>
+<LINE>Of the false sweet bait that we lay for it.</LINE>
+<STAGEDIR>Approaching the bower</STAGEDIR>
+<LINE>No, truly, Ursula, she is too disdainful;</LINE>
+<LINE>I know her spirits are as coy and wild</LINE>
+<LINE>As haggerds of the rock.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>But are you sure</LINE>
+<LINE>That Benedick loves Beatrice so entirely?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>So says the prince and my new-trothed lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>And did they bid you tell her of it, madam?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>They did entreat me to acquaint her of it;</LINE>
+<LINE>But I persuaded them, if they loved Benedick,</LINE>
+<LINE>To wish him wrestle with affection,</LINE>
+<LINE>And never to let Beatrice know of it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>Why did you so? Doth not the gentleman</LINE>
+<LINE>Deserve as full as fortunate a bed</LINE>
+<LINE>As ever Beatrice shall couch upon?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>O god of love! I know he doth deserve</LINE>
+<LINE>As much as may be yielded to a man:</LINE>
+<LINE>But Nature never framed a woman's heart</LINE>
+<LINE>Of prouder stuff than that of Beatrice;</LINE>
+<LINE>Disdain and scorn ride sparkling in her eyes,</LINE>
+<LINE>Misprising what they look on, and her wit</LINE>
+<LINE>Values itself so highly that to her</LINE>
+<LINE>All matter else seems weak: she cannot love,</LINE>
+<LINE>Nor take no shape nor project of affection,</LINE>
+<LINE>She is so self-endeared.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>Sure, I think so;</LINE>
+<LINE>And therefore certainly it were not good</LINE>
+<LINE>She knew his love, lest she make sport at it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Why, you speak truth. I never yet saw man,</LINE>
+<LINE>How wise, how noble, young, how rarely featured,</LINE>
+<LINE>But she would spell him backward: if fair-faced,</LINE>
+<LINE>She would swear the gentleman should be her sister;</LINE>
+<LINE>If black, why, Nature, drawing of an antique,</LINE>
+<LINE>Made a foul blot; if tall, a lance ill-headed;</LINE>
+<LINE>If low, an agate very vilely cut;</LINE>
+<LINE>If speaking, why, a vane blown with all winds;</LINE>
+<LINE>If silent, why, a block moved with none.</LINE>
+<LINE>So turns she every man the wrong side out</LINE>
+<LINE>And never gives to truth and virtue that</LINE>
+<LINE>Which simpleness and merit purchaseth.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>Sure, sure, such carping is not commendable.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>No, not to be so odd and from all fashions</LINE>
+<LINE>As Beatrice is, cannot be commendable:</LINE>
+<LINE>But who dare tell her so? If I should speak,</LINE>
+<LINE>She would mock me into air; O, she would laugh me</LINE>
+<LINE>Out of myself, press me to death with wit.</LINE>
+<LINE>Therefore let Benedick, like cover'd fire,</LINE>
+<LINE>Consume away in sighs, waste inwardly:</LINE>
+<LINE>It were a better death than die with mocks,</LINE>
+<LINE>Which is as bad as die with tickling.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>Yet tell her of it: hear what she will say.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>No; rather I will go to Benedick</LINE>
+<LINE>And counsel him to fight against his passion.</LINE>
+<LINE>And, truly, I'll devise some honest slanders</LINE>
+<LINE>To stain my cousin with: one doth not know</LINE>
+<LINE>How much an ill word may empoison liking.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>O, do not do your cousin such a wrong.</LINE>
+<LINE>She cannot be so much without true judgment--</LINE>
+<LINE>Having so swift and excellent a wit</LINE>
+<LINE>As she is prized to have--as to refuse</LINE>
+<LINE>So rare a gentleman as Signior Benedick.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>He is the only man of Italy.</LINE>
+<LINE>Always excepted my dear Claudio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>I pray you, be not angry with me, madam,</LINE>
+<LINE>Speaking my fancy: Signior Benedick,</LINE>
+<LINE>For shape, for bearing, argument and valour,</LINE>
+<LINE>Goes foremost in report through Italy.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Indeed, he hath an excellent good name.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>His excellence did earn it, ere he had it.</LINE>
+<LINE>When are you married, madam?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Why, every day, to-morrow. Come, go in:</LINE>
+<LINE>I'll show thee some attires, and have thy counsel</LINE>
+<LINE>Which is the best to furnish me to-morrow.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>She's limed, I warrant you: we have caught her, madam.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>If it proves so, then loving goes by haps:</LINE>
+<LINE>Some Cupid kills with arrows, some with traps.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt HERO and URSULA</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE><STAGEDIR>Coming forward</STAGEDIR></LINE>
+<LINE>What fire is in mine ears? Can this be true?</LINE>
+<LINE>Stand I condemn'd for pride and scorn so much?</LINE>
+<LINE>Contempt, farewell! and maiden pride, adieu!</LINE>
+<LINE>No glory lives behind the back of such.</LINE>
+<LINE>And, Benedick, love on; I will requite thee,</LINE>
+<LINE>Taming my wild heart to thy loving hand:</LINE>
+<LINE>If thou dost love, my kindness shall incite thee</LINE>
+<LINE>To bind our loves up in a holy band;</LINE>
+<LINE>For others say thou dost deserve, and I</LINE>
+<LINE>Believe it better than reportingly.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE II.  A room in LEONATO'S house</TITLE>
+<STAGEDIR>Enter DON PEDRO, CLAUDIO, BENEDICK, and LEONATO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>I do but stay till your marriage be consummate, and</LINE>
+<LINE>then go I toward Arragon.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I'll bring you thither, my lord, if you'll</LINE>
+<LINE>vouchsafe me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Nay, that would be as great a soil in the new gloss</LINE>
+<LINE>of your marriage as to show a child his new coat</LINE>
+<LINE>and forbid him to wear it. I will only be bold</LINE>
+<LINE>with Benedick for his company; for, from the crown</LINE>
+<LINE>of his head to the sole of his foot, he is all</LINE>
+<LINE>mirth: he hath twice or thrice cut Cupid's</LINE>
+<LINE>bow-string and the little hangman dare not shoot at</LINE>
+<LINE>him; he hath a heart as sound as a bell and his</LINE>
+<LINE>tongue is the clapper, for what his heart thinks his</LINE>
+<LINE>tongue speaks.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Gallants, I am not as I have been.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>So say I methinks you are sadder.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I hope he be in love.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Hang him, truant! there's no true drop of blood in</LINE>
+<LINE>him, to be truly touched with love: if he be sad,</LINE>
+<LINE>he wants money.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I have the toothache.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Draw it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Hang it!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>You must hang it first, and draw it afterwards.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>What! sigh for the toothache?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Where is but a humour or a worm.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Well, every one can master a grief but he that has</LINE>
+<LINE>it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Yet say I, he is in love.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>There is no appearance of fancy in him, unless it be</LINE>
+<LINE>a fancy that he hath to strange disguises; as, to be</LINE>
+<LINE>a Dutchman today, a Frenchman to-morrow, or in the</LINE>
+<LINE>shape of two countries at once, as, a German from</LINE>
+<LINE>the waist downward, all slops, and a Spaniard from</LINE>
+<LINE>the hip upward, no doublet. Unless he have a fancy</LINE>
+<LINE>to this foolery, as it appears he hath, he is no</LINE>
+<LINE>fool for fancy, as you would have it appear he is.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>If he be not in love with some woman, there is no</LINE>
+<LINE>believing old signs: a' brushes his hat o'</LINE>
+<LINE>mornings; what should that bode?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Hath any man seen him at the barber's?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>No, but the barber's man hath been seen with him,</LINE>
+<LINE>and the old ornament of his cheek hath already</LINE>
+<LINE>stuffed tennis-balls.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Indeed, he looks younger than he did, by the loss of a beard.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Nay, a' rubs himself with civet: can you smell him</LINE>
+<LINE>out by that?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>That's as much as to say, the sweet youth's in love.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>The greatest note of it is his melancholy.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And when was he wont to wash his face?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Yea, or to paint himself? for the which, I hear</LINE>
+<LINE>what they say of him.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Nay, but his jesting spirit; which is now crept into</LINE>
+<LINE>a lute-string and now governed by stops.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Indeed, that tells a heavy tale for him: conclude,</LINE>
+<LINE>conclude he is in love.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Nay, but I know who loves him.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>That would I know too: I warrant, one that knows him not.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Yes, and his ill conditions; and, in despite of</LINE>
+<LINE>all, dies for him.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>She shall be buried with her face upwards.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Yet is this no charm for the toothache. Old</LINE>
+<LINE>signior, walk aside with me: I have studied eight</LINE>
+<LINE>or nine wise words to speak to you, which these</LINE>
+<LINE>hobby-horses must not hear.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt BENEDICK and LEONATO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>For my life, to break with him about Beatrice.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>'Tis even so. Hero and Margaret have by this</LINE>
+<LINE>played their parts with Beatrice; and then the two</LINE>
+<LINE>bears will not bite one another when they meet.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter DON JOHN</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>My lord and brother, God save you!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Good den, brother.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>If your leisure served, I would speak with you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>In private?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>If it please you: yet Count Claudio may hear; for</LINE>
+<LINE>what I would speak of concerns him.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>What's the matter?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE><STAGEDIR>To CLAUDIO</STAGEDIR>  Means your lordship to be married</LINE>
+<LINE>to-morrow?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>You know he does.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I know not that, when he knows what I know.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>If there be any impediment, I pray you discover it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>You may think I love you not: let that appear</LINE>
+<LINE>hereafter, and aim better at me by that I now will</LINE>
+<LINE>manifest. For my brother, I think he holds you</LINE>
+<LINE>well, and in dearness of heart hath holp to effect</LINE>
+<LINE>your ensuing marriage;--surely suit ill spent and</LINE>
+<LINE>labour ill bestowed.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Why, what's the matter?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I came hither to tell you; and, circumstances</LINE>
+<LINE>shortened, for she has been too long a talking of,</LINE>
+<LINE>the lady is disloyal.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Who, Hero?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Even she; Leonato's Hero, your Hero, every man's Hero:</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Disloyal?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>The word is too good to paint out her wickedness; I</LINE>
+<LINE>could say she were worse: think you of a worse</LINE>
+<LINE>title, and I will fit her to it. Wonder not till</LINE>
+<LINE>further warrant: go but with me to-night, you shall</LINE>
+<LINE>see her chamber-window entered, even the night</LINE>
+<LINE>before her wedding-day: if you love her then,</LINE>
+<LINE>to-morrow wed her; but it would better fit your honour</LINE>
+<LINE>to change your mind.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>May this be so?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>I will not think it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>If you dare not trust that you see, confess not</LINE>
+<LINE>that you know: if you will follow me, I will show</LINE>
+<LINE>you enough; and when you have seen more and heard</LINE>
+<LINE>more, proceed accordingly.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>If I see any thing to-night why I should not marry</LINE>
+<LINE>her to-morrow in the congregation, where I should</LINE>
+<LINE>wed, there will I shame her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>And, as I wooed for thee to obtain her, I will join</LINE>
+<LINE>with thee to disgrace her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>I will disparage her no farther till you are my</LINE>
+<LINE>witnesses: bear it coldly but till midnight, and</LINE>
+<LINE>let the issue show itself.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>O day untowardly turned!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>O mischief strangely thwarting!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>O plague right well prevented! so will you say when</LINE>
+<LINE>you have seen the sequel.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE III.  A street.</TITLE>
+<STAGEDIR>Enter DOGBERRY and VERGES with the Watch</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Are you good men and true?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Yea, or else it were pity but they should suffer</LINE>
+<LINE>salvation, body and soul.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Nay, that were a punishment too good for them, if</LINE>
+<LINE>they should have any allegiance in them, being</LINE>
+<LINE>chosen for the prince's watch.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Well, give them their charge, neighbour Dogberry.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>First, who think you the most desertless man to be</LINE>
+<LINE>constable?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>First Watchman</SPEAKER>
+<LINE>Hugh Otecake, sir, or George Seacole; for they can</LINE>
+<LINE>write and read.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Come hither, neighbour Seacole. God hath blessed</LINE>
+<LINE>you with a good name: to be a well-favoured man is</LINE>
+<LINE>the gift of fortune; but to write and read comes by nature.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Second Watchman</SPEAKER>
+<LINE>Both which, master constable,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>You have: I knew it would be your answer. Well,</LINE>
+<LINE>for your favour, sir, why, give God thanks, and make</LINE>
+<LINE>no boast of it; and for your writing and reading,</LINE>
+<LINE>let that appear when there is no need of such</LINE>
+<LINE>vanity. You are thought here to be the most</LINE>
+<LINE>senseless and fit man for the constable of the</LINE>
+<LINE>watch; therefore bear you the lantern. This is your</LINE>
+<LINE>charge: you shall comprehend all vagrom men; you are</LINE>
+<LINE>to bid any man stand, in the prince's name.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Second Watchman</SPEAKER>
+<LINE>How if a' will not stand?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Why, then, take no note of him, but let him go; and</LINE>
+<LINE>presently call the rest of the watch together and</LINE>
+<LINE>thank God you are rid of a knave.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>If he will not stand when he is bidden, he is none</LINE>
+<LINE>of the prince's subjects.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>True, and they are to meddle with none but the</LINE>
+<LINE>prince's subjects. You shall also make no noise in</LINE>
+<LINE>the streets; for, for the watch to babble and to</LINE>
+<LINE>talk is most tolerable and not to be endured.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE>We will rather sleep than talk: we know what</LINE>
+<LINE>belongs to a watch.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Why, you speak like an ancient and most quiet</LINE>
+<LINE>watchman; for I cannot see how sleeping should</LINE>
+<LINE>offend: only, have a care that your bills be not</LINE>
+<LINE>stolen. Well, you are to call at all the</LINE>
+<LINE>ale-houses, and bid those that are drunk get them to bed.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE>How if they will not?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Why, then, let them alone till they are sober: if</LINE>
+<LINE>they make you not then the better answer, you may</LINE>
+<LINE>say they are not the men you took them for.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE>Well, sir.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>If you meet a thief, you may suspect him, by virtue</LINE>
+<LINE>of your office, to be no true man; and, for such</LINE>
+<LINE>kind of men, the less you meddle or make with them,</LINE>
+<LINE>why the more is for your honesty.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE>If we know him to be a thief, shall we not lay</LINE>
+<LINE>hands on him?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Truly, by your office, you may; but I think they</LINE>
+<LINE>that touch pitch will be defiled: the most peaceable</LINE>
+<LINE>way for you, if you do take a thief, is to let him</LINE>
+<LINE>show himself what he is and steal out of your company.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>You have been always called a merciful man, partner.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Truly, I would not hang a dog by my will, much more</LINE>
+<LINE>a man who hath any honesty in him.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>If you hear a child cry in the night, you must call</LINE>
+<LINE>to the nurse and bid her still it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE>How if the nurse be asleep and will not hear us?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Why, then, depart in peace, and let the child wake</LINE>
+<LINE>her with crying; for the ewe that will not hear her</LINE>
+<LINE>lamb when it baes will never answer a calf when he bleats.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>'Tis very true.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>This is the end of the charge:--you, constable, are</LINE>
+<LINE>to present the prince's own person: if you meet the</LINE>
+<LINE>prince in the night, you may stay him.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Nay, by'r our lady, that I think a' cannot.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Five shillings to one on't, with any man that knows</LINE>
+<LINE>the statutes, he may stay him: marry, not without</LINE>
+<LINE>the prince be willing; for, indeed, the watch ought</LINE>
+<LINE>to offend no man; and it is an offence to stay a</LINE>
+<LINE>man against his will.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>By'r lady, I think it be so.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Ha, ha, ha! Well, masters, good night: an there be</LINE>
+<LINE>any matter of weight chances, call up me: keep your</LINE>
+<LINE>fellows' counsels and your own; and good night.</LINE>
+<LINE>Come, neighbour.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE>Well, masters, we hear our charge: let us go sit here</LINE>
+<LINE>upon the church-bench till two, and then all to bed.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>One word more, honest neighbours. I pray you watch</LINE>
+<LINE>about Signior Leonato's door; for the wedding being</LINE>
+<LINE>there to-morrow, there is a great coil to-night.</LINE>
+<LINE>Adieu: be vigitant, I beseech you.</LINE>
+</SPEECH>
+
+<STAGEDIR>Exeunt DOGBERRY and VERGES</STAGEDIR>
+<STAGEDIR>Enter BORACHIO and CONRADE</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>What Conrade!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE><STAGEDIR>Aside</STAGEDIR>  Peace! stir not.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Conrade, I say!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Here, man; I am at thy elbow.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Mass, and my elbow itched; I thought there would a</LINE>
+<LINE>scab follow.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>I will owe thee an answer for that: and now forward</LINE>
+<LINE>with thy tale.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Stand thee close, then, under this pent-house, for</LINE>
+<LINE>it drizzles rain; and I will, like a true drunkard,</LINE>
+<LINE>utter all to thee.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE><STAGEDIR>Aside</STAGEDIR>  Some treason, masters: yet stand close.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Therefore know I have earned of Don John a thousand ducats.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Is it possible that any villany should be so dear?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Thou shouldst rather ask if it were possible any</LINE>
+<LINE>villany should be so rich; for when rich villains</LINE>
+<LINE>have need of poor ones, poor ones may make what</LINE>
+<LINE>price they will.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>I wonder at it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>That shows thou art unconfirmed. Thou knowest that</LINE>
+<LINE>the fashion of a doublet, or a hat, or a cloak, is</LINE>
+<LINE>nothing to a man.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Yes, it is apparel.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>I mean, the fashion.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Yes, the fashion is the fashion.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Tush! I may as well say the fool's the fool. But</LINE>
+<LINE>seest thou not what a deformed thief this fashion</LINE>
+<LINE>is?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE><STAGEDIR>Aside</STAGEDIR>  I know that Deformed; a' has been a vile</LINE>
+<LINE>thief this seven year; a' goes up and down like a</LINE>
+<LINE>gentleman: I remember his name.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Didst thou not hear somebody?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>No; 'twas the vane on the house.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Seest thou not, I say, what a deformed thief this</LINE>
+<LINE>fashion is? how giddily a' turns about all the hot</LINE>
+<LINE>bloods between fourteen and five-and-thirty?</LINE>
+<LINE>sometimes fashioning them like Pharaoh's soldiers</LINE>
+<LINE>in the reeky painting, sometime like god Bel's</LINE>
+<LINE>priests in the old church-window, sometime like the</LINE>
+<LINE>shaven Hercules in the smirched worm-eaten tapestry,</LINE>
+<LINE>where his codpiece seems as massy as his club?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>All this I see; and I see that the fashion wears</LINE>
+<LINE>out more apparel than the man. But art not thou</LINE>
+<LINE>thyself giddy with the fashion too, that thou hast</LINE>
+<LINE>shifted out of thy tale into telling me of the fashion?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Not so, neither: but know that I have to-night</LINE>
+<LINE>wooed Margaret, the Lady Hero's gentlewoman, by the</LINE>
+<LINE>name of Hero: she leans me out at her mistress'</LINE>
+<LINE>chamber-window, bids me a thousand times good</LINE>
+<LINE>night,--I tell this tale vilely:--I should first</LINE>
+<LINE>tell thee how the prince, Claudio and my master,</LINE>
+<LINE>planted and placed and possessed by my master Don</LINE>
+<LINE>John, saw afar off in the orchard this amiable encounter.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>And thought they Margaret was Hero?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Two of them did, the prince and Claudio; but the</LINE>
+<LINE>devil my master knew she was Margaret; and partly</LINE>
+<LINE>by his oaths, which first possessed them, partly by</LINE>
+<LINE>the dark night, which did deceive them, but chiefly</LINE>
+<LINE>by my villany, which did confirm any slander that</LINE>
+<LINE>Don John had made, away went Claudio enraged; swore</LINE>
+<LINE>he would meet her, as he was appointed, next morning</LINE>
+<LINE>at the temple, and there, before the whole</LINE>
+<LINE>congregation, shame her with what he saw o'er night</LINE>
+<LINE>and send her home again without a husband.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>First Watchman</SPEAKER>
+<LINE>We charge you, in the prince's name, stand!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Second Watchman</SPEAKER>
+<LINE>Call up the right master constable. We have here</LINE>
+<LINE>recovered the most dangerous piece of lechery that</LINE>
+<LINE>ever was known in the commonwealth.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>First Watchman</SPEAKER>
+<LINE>And one Deformed is one of them: I know him; a'</LINE>
+<LINE>wears a lock.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Masters, masters,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Second Watchman</SPEAKER>
+<LINE>You'll be made bring Deformed forth, I warrant you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Masters,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>First Watchman</SPEAKER>
+<LINE>Never speak: we charge you let us obey you to go with us.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>We are like to prove a goodly commodity, being taken</LINE>
+<LINE>up of these men's bills.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>A commodity in question, I warrant you. Come, we'll obey you.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE IV.  HERO's apartment.</TITLE>
+<STAGEDIR>Enter HERO, MARGARET, and URSULA</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Good Ursula, wake my cousin Beatrice, and desire</LINE>
+<LINE>her to rise.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>I will, lady.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>And bid her come hither.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>Well.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Troth, I think your other rabato were better.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>No, pray thee, good Meg, I'll wear this.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>By my troth, 's not so good; and I warrant your</LINE>
+<LINE>cousin will say so.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>My cousin's a fool, and thou art another: I'll wear</LINE>
+<LINE>none but this.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>I like the new tire within excellently, if the hair</LINE>
+<LINE>were a thought browner; and your gown's a most rare</LINE>
+<LINE>fashion, i' faith. I saw the Duchess of Milan's</LINE>
+<LINE>gown that they praise so.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>O, that exceeds, they say.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>By my troth, 's but a night-gown in respect of</LINE>
+<LINE>yours: cloth o' gold, and cuts, and laced with</LINE>
+<LINE>silver, set with pearls, down sleeves, side sleeves,</LINE>
+<LINE>and skirts, round underborne with a bluish tinsel:</LINE>
+<LINE>but for a fine, quaint, graceful and excellent</LINE>
+<LINE>fashion, yours is worth ten on 't.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>God give me joy to wear it! for my heart is</LINE>
+<LINE>exceeding heavy.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>'Twill be heavier soon by the weight of a man.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Fie upon thee! art not ashamed?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Of what, lady? of speaking honourably? Is not</LINE>
+<LINE>marriage honourable in a beggar? Is not your lord</LINE>
+<LINE>honourable without marriage? I think you would have</LINE>
+<LINE>me say, 'saving your reverence, a husband:' and bad</LINE>
+<LINE>thinking do not wrest true speaking, I'll offend</LINE>
+<LINE>nobody: is there any harm in 'the heavier for a</LINE>
+<LINE>husband'? None, I think, and it be the right husband</LINE>
+<LINE>and the right wife; otherwise 'tis light, and not</LINE>
+<LINE>heavy: ask my Lady Beatrice else; here she comes.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter BEATRICE</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Good morrow, coz.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Good morrow, sweet Hero.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Why how now? do you speak in the sick tune?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I am out of all other tune, methinks.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Clap's into 'Light o' love;' that goes without a</LINE>
+<LINE>burden: do you sing it, and I'll dance it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Ye light o' love, with your heels! then, if your</LINE>
+<LINE>husband have stables enough, you'll see he shall</LINE>
+<LINE>lack no barns.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>O illegitimate construction! I scorn that with my heels.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>'Tis almost five o'clock, cousin; tis time you were</LINE>
+<LINE>ready. By my troth, I am exceeding ill: heigh-ho!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>For a hawk, a horse, or a husband?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>For the letter that begins them all, H.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Well, and you be not turned Turk, there's no more</LINE>
+<LINE>sailing by the star.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>What means the fool, trow?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Nothing I; but God send every one their heart's desire!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>These gloves the count sent me; they are an</LINE>
+<LINE>excellent perfume.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I am stuffed, cousin; I cannot smell.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>A maid, and stuffed! there's goodly catching of cold.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>O, God help me! God help me! how long have you</LINE>
+<LINE>professed apprehension?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Even since you left it. Doth not my wit become me rarely?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>It is not seen enough, you should wear it in your</LINE>
+<LINE>cap. By my troth, I am sick.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Get you some of this distilled Carduus Benedictus,</LINE>
+<LINE>and lay it to your heart: it is the only thing for a qualm.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>There thou prickest her with a thistle.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Benedictus! why Benedictus? you have some moral in</LINE>
+<LINE>this Benedictus.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Moral! no, by my troth, I have no moral meaning; I</LINE>
+<LINE>meant, plain holy-thistle. You may think perchance</LINE>
+<LINE>that I think you are in love: nay, by'r lady, I am</LINE>
+<LINE>not such a fool to think what I list, nor I list</LINE>
+<LINE>not to think what I can, nor indeed I cannot think,</LINE>
+<LINE>if I would think my heart out of thinking, that you</LINE>
+<LINE>are in love or that you will be in love or that you</LINE>
+<LINE>can be in love. Yet Benedick was such another, and</LINE>
+<LINE>now is he become a man: he swore he would never</LINE>
+<LINE>marry, and yet now, in despite of his heart, he eats</LINE>
+<LINE>his meat without grudging: and how you may be</LINE>
+<LINE>converted I know not, but methinks you look with</LINE>
+<LINE>your eyes as other women do.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>What pace is this that thy tongue keeps?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Not a false gallop.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Re-enter URSULA</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>Madam, withdraw: the prince, the count, Signior</LINE>
+<LINE>Benedick, Don John, and all the gallants of the</LINE>
+<LINE>town, are come to fetch you to church.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Help to dress me, good coz, good Meg, good Ursula.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE V.  Another room in LEONATO'S house.</TITLE>
+<STAGEDIR>Enter LEONATO, with DOGBERRY and VERGES</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>What would you with me, honest neighbour?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Marry, sir, I would have some confidence with you</LINE>
+<LINE>that decerns you nearly.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Brief, I pray you; for you see it is a busy time with me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Marry, this it is, sir.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Yes, in truth it is, sir.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>What is it, my good friends?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Goodman Verges, sir, speaks a little off the</LINE>
+<LINE>matter: an old man, sir, and his wits are not so</LINE>
+<LINE>blunt as, God help, I would desire they were; but,</LINE>
+<LINE>in faith, honest as the skin between his brows.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Yes, I thank God I am as honest as any man living</LINE>
+<LINE>that is an old man and no honester than I.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Comparisons are odorous: palabras, neighbour Verges.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Neighbours, you are tedious.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>It pleases your worship to say so, but we are the</LINE>
+<LINE>poor duke's officers; but truly, for mine own part,</LINE>
+<LINE>if I were as tedious as a king, I could find it in</LINE>
+<LINE>my heart to bestow it all of your worship.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>All thy tediousness on me, ah?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Yea, an 'twere a thousand pound more than 'tis; for</LINE>
+<LINE>I hear as good exclamation on your worship as of any</LINE>
+<LINE>man in the city; and though I be but a poor man, I</LINE>
+<LINE>am glad to hear it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>And so am I.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I would fain know what you have to say.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Marry, sir, our watch to-night, excepting your</LINE>
+<LINE>worship's presence, ha' ta'en a couple of as arrant</LINE>
+<LINE>knaves as any in Messina.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>A good old man, sir; he will be talking: as they</LINE>
+<LINE>say, when the age is in, the wit is out: God help</LINE>
+<LINE>us! it is a world to see. Well said, i' faith,</LINE>
+<LINE>neighbour Verges: well, God's a good man; an two men</LINE>
+<LINE>ride of a horse, one must ride behind. An honest</LINE>
+<LINE>soul, i' faith, sir; by my troth he is, as ever</LINE>
+<LINE>broke bread; but God is to be worshipped; all men</LINE>
+<LINE>are not alike; alas, good neighbour!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Indeed, neighbour, he comes too short of you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Gifts that God gives.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I must leave you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>One word, sir: our watch, sir, have indeed</LINE>
+<LINE>comprehended two aspicious persons, and we would</LINE>
+<LINE>have them this morning examined before your worship.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Take their examination yourself and bring it me: I</LINE>
+<LINE>am now in great haste, as it may appear unto you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>It shall be suffigance.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Drink some wine ere you go: fare you well.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter a Messenger</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>My lord, they stay for you to give your daughter to</LINE>
+<LINE>her husband.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I'll wait upon them: I am ready.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt LEONATO and Messenger</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Go, good partner, go, get you to Francis Seacole;</LINE>
+<LINE>bid him bring his pen and inkhorn to the gaol: we</LINE>
+<LINE>are now to examination these men.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>And we must do it wisely.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>We will spare for no wit, I warrant you; here's</LINE>
+<LINE>that shall drive some of them to a non-come: only</LINE>
+<LINE>get the learned writer to set down our</LINE>
+<LINE>excommunication and meet me at the gaol.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+</ACT>
+
+<ACT><TITLE>ACT IV</TITLE>
+
+<SCENE><TITLE>SCENE I.  A church.</TITLE>
+<STAGEDIR>Enter DON PEDRO, DON JOHN, LEONATO, FRIAR FRANCIS,
+CLAUDIO, BENEDICK, HERO, BEATRICE, and Attendants</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Come, Friar Francis, be brief; only to the plain</LINE>
+<LINE>form of marriage, and you shall recount their</LINE>
+<LINE>particular duties afterwards.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>You come hither, my lord, to marry this lady.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>No.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>To be married to her: friar, you come to marry her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>Lady, you come hither to be married to this count.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>I do.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>If either of you know any inward impediment why you</LINE>
+<LINE>should not be conjoined, charge you, on your souls,</LINE>
+<LINE>to utter it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Know you any, Hero?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>None, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>Know you any, count?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I dare make his answer, none.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>O, what men dare do! what men may do! what men daily</LINE>
+<LINE>do, not knowing what they do!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>How now! interjections? Why, then, some be of</LINE>
+<LINE>laughing, as, ah, ha, he!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Stand thee by, friar. Father, by your leave:</LINE>
+<LINE>Will you with free and unconstrained soul</LINE>
+<LINE>Give me this maid, your daughter?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>As freely, son, as God did give her me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And what have I to give you back, whose worth</LINE>
+<LINE>May counterpoise this rich and precious gift?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Nothing, unless you render her again.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Sweet prince, you learn me noble thankfulness.</LINE>
+<LINE>There, Leonato, take her back again:</LINE>
+<LINE>Give not this rotten orange to your friend;</LINE>
+<LINE>She's but the sign and semblance of her honour.</LINE>
+<LINE>Behold how like a maid she blushes here!</LINE>
+<LINE>O, what authority and show of truth</LINE>
+<LINE>Can cunning sin cover itself withal!</LINE>
+<LINE>Comes not that blood as modest evidence</LINE>
+<LINE>To witness simple virtue? Would you not swear,</LINE>
+<LINE>All you that see her, that she were a maid,</LINE>
+<LINE>By these exterior shows? But she is none:</LINE>
+<LINE>She knows the heat of a luxurious bed;</LINE>
+<LINE>Her blush is guiltiness, not modesty.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>What do you mean, my lord?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Not to be married,</LINE>
+<LINE>Not to knit my soul to an approved wanton.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Dear my lord, if you, in your own proof,</LINE>
+<LINE>Have vanquish'd the resistance of her youth,</LINE>
+<LINE>And made defeat of her virginity,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I know what you would say: if I have known her,</LINE>
+<LINE>You will say she did embrace me as a husband,</LINE>
+<LINE>And so extenuate the 'forehand sin:</LINE>
+<LINE>No, Leonato,</LINE>
+<LINE>I never tempted her with word too large;</LINE>
+<LINE>But, as a brother to his sister, show'd</LINE>
+<LINE>Bashful sincerity and comely love.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>And seem'd I ever otherwise to you?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Out on thee! Seeming! I will write against it:</LINE>
+<LINE>You seem to me as Dian in her orb,</LINE>
+<LINE>As chaste as is the bud ere it be blown;</LINE>
+<LINE>But you are more intemperate in your blood</LINE>
+<LINE>Than Venus, or those pamper'd animals</LINE>
+<LINE>That rage in savage sensuality.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Is my lord well, that he doth speak so wide?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Sweet prince, why speak not you?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>What should I speak?</LINE>
+<LINE>I stand dishonour'd, that have gone about</LINE>
+<LINE>To link my dear friend to a common stale.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Are these things spoken, or do I but dream?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Sir, they are spoken, and these things are true.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>This looks not like a nuptial.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>True! O God!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Leonato, stand I here?</LINE>
+<LINE>Is this the prince? is this the prince's brother?</LINE>
+<LINE>Is this face Hero's? are our eyes our own?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>All this is so: but what of this, my lord?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Let me but move one question to your daughter;</LINE>
+<LINE>And, by that fatherly and kindly power</LINE>
+<LINE>That you have in her, bid her answer truly.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I charge thee do so, as thou art my child.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>O, God defend me! how am I beset!</LINE>
+<LINE>What kind of catechising call you this?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>To make you answer truly to your name.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Is it not Hero? Who can blot that name</LINE>
+<LINE>With any just reproach?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Marry, that can Hero;</LINE>
+<LINE>Hero itself can blot out Hero's virtue.</LINE>
+<LINE>What man was he talk'd with you yesternight</LINE>
+<LINE>Out at your window betwixt twelve and one?</LINE>
+<LINE>Now, if you are a maid, answer to this.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>I talk'd with no man at that hour, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Why, then are you no maiden. Leonato,</LINE>
+<LINE>I am sorry you must hear: upon mine honour,</LINE>
+<LINE>Myself, my brother and this grieved count</LINE>
+<LINE>Did see her, hear her, at that hour last night</LINE>
+<LINE>Talk with a ruffian at her chamber-window</LINE>
+<LINE>Who hath indeed, most like a liberal villain,</LINE>
+<LINE>Confess'd the vile encounters they have had</LINE>
+<LINE>A thousand times in secret.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Fie, fie! they are not to be named, my lord,</LINE>
+<LINE>Not to be spoke of;</LINE>
+<LINE>There is not chastity enough in language</LINE>
+<LINE>Without offence to utter them. Thus, pretty lady,</LINE>
+<LINE>I am sorry for thy much misgovernment.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>O Hero, what a Hero hadst thou been,</LINE>
+<LINE>If half thy outward graces had been placed</LINE>
+<LINE>About thy thoughts and counsels of thy heart!</LINE>
+<LINE>But fare thee well, most foul, most fair! farewell,</LINE>
+<LINE>Thou pure impiety and impious purity!</LINE>
+<LINE>For thee I'll lock up all the gates of love,</LINE>
+<LINE>And on my eyelids shall conjecture hang,</LINE>
+<LINE>To turn all beauty into thoughts of harm,</LINE>
+<LINE>And never shall it more be gracious.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Hath no man's dagger here a point for me?</LINE>
+</SPEECH>
+
+
+<STAGEDIR>HERO swoons</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Why, how now, cousin! wherefore sink you down?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON JOHN</SPEAKER>
+<LINE>Come, let us go. These things, come thus to light,</LINE>
+<LINE>Smother her spirits up.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt DON PEDRO, DON JOHN, and CLAUDIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>How doth the lady?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Dead, I think. Help, uncle!</LINE>
+<LINE>Hero! why, Hero! Uncle! Signior Benedick! Friar!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>O Fate! take not away thy heavy hand.</LINE>
+<LINE>Death is the fairest cover for her shame</LINE>
+<LINE>That may be wish'd for.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>How now, cousin Hero!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>Have comfort, lady.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Dost thou look up?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>Yea, wherefore should she not?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Wherefore! Why, doth not every earthly thing</LINE>
+<LINE>Cry shame upon her? Could she here deny</LINE>
+<LINE>The story that is printed in her blood?</LINE>
+<LINE>Do not live, Hero; do not ope thine eyes:</LINE>
+<LINE>For, did I think thou wouldst not quickly die,</LINE>
+<LINE>Thought I thy spirits were stronger than thy shames,</LINE>
+<LINE>Myself would, on the rearward of reproaches,</LINE>
+<LINE>Strike at thy life. Grieved I, I had but one?</LINE>
+<LINE>Chid I for that at frugal nature's frame?</LINE>
+<LINE>O, one too much by thee! Why had I one?</LINE>
+<LINE>Why ever wast thou lovely in my eyes?</LINE>
+<LINE>Why had I not with charitable hand</LINE>
+<LINE>Took up a beggar's issue at my gates,</LINE>
+<LINE>Who smirch'd thus and mired with infamy,</LINE>
+<LINE>I might have said 'No part of it is mine;</LINE>
+<LINE>This shame derives itself from unknown loins'?</LINE>
+<LINE>But mine and mine I loved and mine I praised</LINE>
+<LINE>And mine that I was proud on, mine so much</LINE>
+<LINE>That I myself was to myself not mine,</LINE>
+<LINE>Valuing of her,--why, she, O, she is fallen</LINE>
+<LINE>Into a pit of ink, that the wide sea</LINE>
+<LINE>Hath drops too few to wash her clean again</LINE>
+<LINE>And salt too little which may season give</LINE>
+<LINE>To her foul-tainted flesh!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Sir, sir, be patient.</LINE>
+<LINE>For my part, I am so attired in wonder,</LINE>
+<LINE>I know not what to say.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>O, on my soul, my cousin is belied!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Lady, were you her bedfellow last night?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>No, truly not; although, until last night,</LINE>
+<LINE>I have this twelvemonth been her bedfellow.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Confirm'd, confirm'd! O, that is stronger made</LINE>
+<LINE>Which was before barr'd up with ribs of iron!</LINE>
+<LINE>Would the two princes lie, and Claudio lie,</LINE>
+<LINE>Who loved her so, that, speaking of her foulness,</LINE>
+<LINE>Wash'd it with tears? Hence from her! let her die.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>Hear me a little; for I have only been</LINE>
+<LINE>Silent so long and given way unto</LINE>
+<LINE>This course of fortune</LINE>
+<LINE>By noting of the lady. I have mark'd</LINE>
+<LINE>A thousand blushing apparitions</LINE>
+<LINE>To start into her face, a thousand innocent shames</LINE>
+<LINE>In angel whiteness beat away those blushes;</LINE>
+<LINE>And in her eye there hath appear'd a fire,</LINE>
+<LINE>To burn the errors that these princes hold</LINE>
+<LINE>Against her maiden truth. Call me a fool;</LINE>
+<LINE>Trust not my reading nor my observations,</LINE>
+<LINE>Which with experimental seal doth warrant</LINE>
+<LINE>The tenor of my book; trust not my age,</LINE>
+<LINE>My reverence, calling, nor divinity,</LINE>
+<LINE>If this sweet lady lie not guiltless here</LINE>
+<LINE>Under some biting error.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Friar, it cannot be.</LINE>
+<LINE>Thou seest that all the grace that she hath left</LINE>
+<LINE>Is that she will not add to her damnation</LINE>
+<LINE>A sin of perjury; she not denies it:</LINE>
+<LINE>Why seek'st thou then to cover with excuse</LINE>
+<LINE>That which appears in proper nakedness?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>Lady, what man is he you are accused of?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>They know that do accuse me; I know none:</LINE>
+<LINE>If I know more of any man alive</LINE>
+<LINE>Than that which maiden modesty doth warrant,</LINE>
+<LINE>Let all my sins lack mercy! O my father,</LINE>
+<LINE>Prove you that any man with me conversed</LINE>
+<LINE>At hours unmeet, or that I yesternight</LINE>
+<LINE>Maintain'd the change of words with any creature,</LINE>
+<LINE>Refuse me, hate me, torture me to death!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>There is some strange misprision in the princes.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Two of them have the very bent of honour;</LINE>
+<LINE>And if their wisdoms be misled in this,</LINE>
+<LINE>The practise of it lives in John the bastard,</LINE>
+<LINE>Whose spirits toil in frame of villanies.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I know not. If they speak but truth of her,</LINE>
+<LINE>These hands shall tear her; if they wrong her honour,</LINE>
+<LINE>The proudest of them shall well hear of it.</LINE>
+<LINE>Time hath not yet so dried this blood of mine,</LINE>
+<LINE>Nor age so eat up my invention,</LINE>
+<LINE>Nor fortune made such havoc of my means,</LINE>
+<LINE>Nor my bad life reft me so much of friends,</LINE>
+<LINE>But they shall find, awaked in such a kind,</LINE>
+<LINE>Both strength of limb and policy of mind,</LINE>
+<LINE>Ability in means and choice of friends,</LINE>
+<LINE>To quit me of them throughly.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>Pause awhile,</LINE>
+<LINE>And let my counsel sway you in this case.</LINE>
+<LINE>Your daughter here the princes left for dead:</LINE>
+<LINE>Let her awhile be secretly kept in,</LINE>
+<LINE>And publish it that she is dead indeed;</LINE>
+<LINE>Maintain a mourning ostentation</LINE>
+<LINE>And on your family's old monument</LINE>
+<LINE>Hang mournful epitaphs and do all rites</LINE>
+<LINE>That appertain unto a burial.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>What shall become of this? what will this do?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>Marry, this well carried shall on her behalf</LINE>
+<LINE>Change slander to remorse; that is some good:</LINE>
+<LINE>But not for that dream I on this strange course,</LINE>
+<LINE>But on this travail look for greater birth.</LINE>
+<LINE>She dying, as it must so be maintain'd,</LINE>
+<LINE>Upon the instant that she was accused,</LINE>
+<LINE>Shall be lamented, pitied and excused</LINE>
+<LINE>Of every hearer: for it so falls out</LINE>
+<LINE>That what we have we prize not to the worth</LINE>
+<LINE>Whiles we enjoy it, but being lack'd and lost,</LINE>
+<LINE>Why, then we rack the value, then we find</LINE>
+<LINE>The virtue that possession would not show us</LINE>
+<LINE>Whiles it was ours. So will it fare with Claudio:</LINE>
+<LINE>When he shall hear she died upon his words,</LINE>
+<LINE>The idea of her life shall sweetly creep</LINE>
+<LINE>Into his study of imagination,</LINE>
+<LINE>And every lovely organ of her life</LINE>
+<LINE>Shall come apparell'd in more precious habit,</LINE>
+<LINE>More moving-delicate and full of life,</LINE>
+<LINE>Into the eye and prospect of his soul,</LINE>
+<LINE>Than when she lived indeed; then shall he mourn,</LINE>
+<LINE>If ever love had interest in his liver,</LINE>
+<LINE>And wish he had not so accused her,</LINE>
+<LINE>No, though he thought his accusation true.</LINE>
+<LINE>Let this be so, and doubt not but success</LINE>
+<LINE>Will fashion the event in better shape</LINE>
+<LINE>Than I can lay it down in likelihood.</LINE>
+<LINE>But if all aim but this be levell'd false,</LINE>
+<LINE>The supposition of the lady's death</LINE>
+<LINE>Will quench the wonder of her infamy:</LINE>
+<LINE>And if it sort not well, you may conceal her,</LINE>
+<LINE>As best befits her wounded reputation,</LINE>
+<LINE>In some reclusive and religious life,</LINE>
+<LINE>Out of all eyes, tongues, minds and injuries.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Signior Leonato, let the friar advise you:</LINE>
+<LINE>And though you know my inwardness and love</LINE>
+<LINE>Is very much unto the prince and Claudio,</LINE>
+<LINE>Yet, by mine honour, I will deal in this</LINE>
+<LINE>As secretly and justly as your soul</LINE>
+<LINE>Should with your body.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Being that I flow in grief,</LINE>
+<LINE>The smallest twine may lead me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>'Tis well consented: presently away;</LINE>
+<LINE>For to strange sores strangely they strain the cure.</LINE>
+<LINE>Come, lady, die to live: this wedding-day</LINE>
+<LINE>Perhaps is but prolong'd: have patience and endure.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt all but BENEDICK and BEATRICE</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Lady Beatrice, have you wept all this while?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Yea, and I will weep a while longer.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I will not desire that.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>You have no reason; I do it freely.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Surely I do believe your fair cousin is wronged.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Ah, how much might the man deserve of me that would right her!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Is there any way to show such friendship?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>A very even way, but no such friend.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>May a man do it?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>It is a man's office, but not yours.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I do love nothing in the world so well as you: is</LINE>
+<LINE>not that strange?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>As strange as the thing I know not. It were as</LINE>
+<LINE>possible for me to say I loved nothing so well as</LINE>
+<LINE>you: but believe me not; and yet I lie not; I</LINE>
+<LINE>confess nothing, nor I deny nothing. I am sorry for my cousin.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>By my sword, Beatrice, thou lovest me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Do not swear, and eat it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I will swear by it that you love me; and I will make</LINE>
+<LINE>him eat it that says I love not you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Will you not eat your word?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>With no sauce that can be devised to it. I protest</LINE>
+<LINE>I love thee.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Why, then, God forgive me!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>What offence, sweet Beatrice?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>You have stayed me in a happy hour: I was about to</LINE>
+<LINE>protest I loved you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>And do it with all thy heart.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I love you with so much of my heart that none is</LINE>
+<LINE>left to protest.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Come, bid me do any thing for thee.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Kill Claudio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Ha! not for the wide world.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>You kill me to deny it. Farewell.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Tarry, sweet Beatrice.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I am gone, though I am here: there is no love in</LINE>
+<LINE>you: nay, I pray you, let me go.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Beatrice,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>In faith, I will go.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>We'll be friends first.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>You dare easier be friends with me than fight with mine enemy.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Is Claudio thine enemy?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Is he not approved in the height a villain, that</LINE>
+<LINE>hath slandered, scorned, dishonoured my kinswoman? O</LINE>
+<LINE>that I were a man! What, bear her in hand until they</LINE>
+<LINE>come to take hands; and then, with public</LINE>
+<LINE>accusation, uncovered slander, unmitigated rancour,</LINE>
+<LINE>--O God, that I were a man! I would eat his heart</LINE>
+<LINE>in the market-place.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Hear me, Beatrice,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Talk with a man out at a window! A proper saying!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Nay, but, Beatrice,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Sweet Hero! She is wronged, she is slandered, she is undone.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Beat--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Princes and counties! Surely, a princely testimony,</LINE>
+<LINE>a goodly count, Count Comfect; a sweet gallant,</LINE>
+<LINE>surely! O that I were a man for his sake! or that I</LINE>
+<LINE>had any friend would be a man for my sake! But</LINE>
+<LINE>manhood is melted into courtesies, valour into</LINE>
+<LINE>compliment, and men are only turned into tongue, and</LINE>
+<LINE>trim ones too: he is now as valiant as Hercules</LINE>
+<LINE>that only tells a lie and swears it. I cannot be a</LINE>
+<LINE>man with wishing, therefore I will die a woman with grieving.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Tarry, good Beatrice. By this hand, I love thee.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Use it for my love some other way than swearing by it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Think you in your soul the Count Claudio hath wronged Hero?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Yea, as sure as I have a thought or a soul.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Enough, I am engaged; I will challenge him. I will</LINE>
+<LINE>kiss your hand, and so I leave you. By this hand,</LINE>
+<LINE>Claudio shall render me a dear account. As you</LINE>
+<LINE>hear of me, so think of me. Go, comfort your</LINE>
+<LINE>cousin: I must say she is dead: and so, farewell.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE II.  A prison.</TITLE>
+<STAGEDIR>Enter DOGBERRY, VERGES, and Sexton, in gowns; and
+the Watch, with CONRADE and BORACHIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Is our whole dissembly appeared?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>O, a stool and a cushion for the sexton.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Sexton</SPEAKER>
+<LINE>Which be the malefactors?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Marry, that am I and my partner.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Nay, that's certain; we have the exhibition to examine.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Sexton</SPEAKER>
+<LINE>But which are the offenders that are to be</LINE>
+<LINE>examined? let them come before master constable.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Yea, marry, let them come before me. What is your</LINE>
+<LINE>name, friend?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Borachio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Pray, write down, Borachio. Yours, sirrah?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>I am a gentleman, sir, and my name is Conrade.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Write down, master gentleman Conrade. Masters, do</LINE>
+<LINE>you serve God?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Yea, sir, we hope.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Write down, that they hope they serve God: and</LINE>
+<LINE>write God first; for God defend but God should go</LINE>
+<LINE>before such villains! Masters, it is proved already</LINE>
+<LINE>that you are little better than false knaves; and it</LINE>
+<LINE>will go near to be thought so shortly. How answer</LINE>
+<LINE>you for yourselves?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Marry, sir, we say we are none.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>A marvellous witty fellow, I assure you: but I</LINE>
+<LINE>will go about with him. Come you hither, sirrah; a</LINE>
+<LINE>word in your ear: sir, I say to you, it is thought</LINE>
+<LINE>you are false knaves.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Sir, I say to you we are none.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Well, stand aside. 'Fore God, they are both in a</LINE>
+<LINE>tale. Have you writ down, that they are none?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Sexton</SPEAKER>
+<LINE>Master constable, you go not the way to examine:</LINE>
+<LINE>you must call forth the watch that are their accusers.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Yea, marry, that's the eftest way. Let the watch</LINE>
+<LINE>come forth. Masters, I charge you, in the prince's</LINE>
+<LINE>name, accuse these men.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>First Watchman</SPEAKER>
+<LINE>This man said, sir, that Don John, the prince's</LINE>
+<LINE>brother, was a villain.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Write down Prince John a villain. Why, this is flat</LINE>
+<LINE>perjury, to call a prince's brother villain.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Master constable,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Pray thee, fellow, peace: I do not like thy look,</LINE>
+<LINE>I promise thee.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Sexton</SPEAKER>
+<LINE>What heard you him say else?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Second Watchman</SPEAKER>
+<LINE>Marry, that he had received a thousand ducats of</LINE>
+<LINE>Don John for accusing the Lady Hero wrongfully.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Flat burglary as ever was committed.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Yea, by mass, that it is.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Sexton</SPEAKER>
+<LINE>What else, fellow?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>First Watchman</SPEAKER>
+<LINE>And that Count Claudio did mean, upon his words, to</LINE>
+<LINE>disgrace Hero before the whole assembly. and not marry her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>O villain! thou wilt be condemned into everlasting</LINE>
+<LINE>redemption for this.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Sexton</SPEAKER>
+<LINE>What else?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Watchman</SPEAKER>
+<LINE>This is all.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Sexton</SPEAKER>
+<LINE>And this is more, masters, than you can deny.</LINE>
+<LINE>Prince John is this morning secretly stolen away;</LINE>
+<LINE>Hero was in this manner accused, in this very manner</LINE>
+<LINE>refused, and upon the grief of this suddenly died.</LINE>
+<LINE>Master constable, let these men be bound, and</LINE>
+<LINE>brought to Leonato's: I will go before and show</LINE>
+<LINE>him their examination.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Come, let them be opinioned.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Let them be in the hands--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Off, coxcomb!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>God's my life, where's the sexton? let him write</LINE>
+<LINE>down the prince's officer coxcomb. Come, bind them.</LINE>
+<LINE>Thou naughty varlet!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CONRADE</SPEAKER>
+<LINE>Away! you are an ass, you are an ass.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Dost thou not suspect my place? dost thou not</LINE>
+<LINE>suspect my years? O that he were here to write me</LINE>
+<LINE>down an ass! But, masters, remember that I am an</LINE>
+<LINE>ass; though it be not written down, yet forget not</LINE>
+<LINE>that I am an ass. No, thou villain, thou art full of</LINE>
+<LINE>piety, as shall be proved upon thee by good witness.</LINE>
+<LINE>I am a wise fellow, and, which is more, an officer,</LINE>
+<LINE>and, which is more, a householder, and, which is</LINE>
+<LINE>more, as pretty a piece of flesh as any is in</LINE>
+<LINE>Messina, and one that knows the law, go to; and a</LINE>
+<LINE>rich fellow enough, go to; and a fellow that hath</LINE>
+<LINE>had losses, and one that hath two gowns and every</LINE>
+<LINE>thing handsome about him. Bring him away. O that</LINE>
+<LINE>I had been writ down an ass!</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+</ACT>
+
+<ACT><TITLE>ACT V</TITLE>
+
+<SCENE><TITLE>SCENE I.  Before LEONATO'S house.</TITLE>
+<STAGEDIR>Enter LEONATO and ANTONIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>If you go on thus, you will kill yourself:</LINE>
+<LINE>And 'tis not wisdom thus to second grief</LINE>
+<LINE>Against yourself.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I pray thee, cease thy counsel,</LINE>
+<LINE>Which falls into mine ears as profitless</LINE>
+<LINE>As water in a sieve: give not me counsel;</LINE>
+<LINE>Nor let no comforter delight mine ear</LINE>
+<LINE>But such a one whose wrongs do suit with mine.</LINE>
+<LINE>Bring me a father that so loved his child,</LINE>
+<LINE>Whose joy of her is overwhelm'd like mine,</LINE>
+<LINE>And bid him speak of patience;</LINE>
+<LINE>Measure his woe the length and breadth of mine</LINE>
+<LINE>And let it answer every strain for strain,</LINE>
+<LINE>As thus for thus and such a grief for such,</LINE>
+<LINE>In every lineament, branch, shape, and form:</LINE>
+<LINE>If such a one will smile and stroke his beard,</LINE>
+<LINE>Bid sorrow wag, cry 'hem!' when he should groan,</LINE>
+<LINE>Patch grief with proverbs, make misfortune drunk</LINE>
+<LINE>With candle-wasters; bring him yet to me,</LINE>
+<LINE>And I of him will gather patience.</LINE>
+<LINE>But there is no such man: for, brother, men</LINE>
+<LINE>Can counsel and speak comfort to that grief</LINE>
+<LINE>Which they themselves not feel; but, tasting it,</LINE>
+<LINE>Their counsel turns to passion, which before</LINE>
+<LINE>Would give preceptial medicine to rage,</LINE>
+<LINE>Fetter strong madness in a silken thread,</LINE>
+<LINE>Charm ache with air and agony with words:</LINE>
+<LINE>No, no; 'tis all men's office to speak patience</LINE>
+<LINE>To those that wring under the load of sorrow,</LINE>
+<LINE>But no man's virtue nor sufficiency</LINE>
+<LINE>To be so moral when he shall endure</LINE>
+<LINE>The like himself. Therefore give me no counsel:</LINE>
+<LINE>My griefs cry louder than advertisement.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>Therein do men from children nothing differ.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I pray thee, peace. I will be flesh and blood;</LINE>
+<LINE>For there was never yet philosopher</LINE>
+<LINE>That could endure the toothache patiently,</LINE>
+<LINE>However they have writ the style of gods</LINE>
+<LINE>And made a push at chance and sufferance.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>Yet bend not all the harm upon yourself;</LINE>
+<LINE>Make those that do offend you suffer too.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>There thou speak'st reason: nay, I will do so.</LINE>
+<LINE>My soul doth tell me Hero is belied;</LINE>
+<LINE>And that shall Claudio know; so shall the prince</LINE>
+<LINE>And all of them that thus dishonour her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>Here comes the prince and Claudio hastily.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter DON PEDRO and CLAUDIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Good den, good den.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Good day to both of you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Hear you. my lords,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>We have some haste, Leonato.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Some haste, my lord! well, fare you well, my lord:</LINE>
+<LINE>Are you so hasty now? well, all is one.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Nay, do not quarrel with us, good old man.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>If he could right himself with quarreling,</LINE>
+<LINE>Some of us would lie low.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Who wrongs him?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Marry, thou dost wrong me; thou dissembler, thou:--</LINE>
+<LINE>Nay, never lay thy hand upon thy sword;</LINE>
+<LINE>I fear thee not.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Marry, beshrew my hand,</LINE>
+<LINE>If it should give your age such cause of fear:</LINE>
+<LINE>In faith, my hand meant nothing to my sword.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Tush, tush, man; never fleer and jest at me:</LINE>
+<LINE>I speak not like a dotard nor a fool,</LINE>
+<LINE>As under privilege of age to brag</LINE>
+<LINE>What I have done being young, or what would do</LINE>
+<LINE>Were I not old. Know, Claudio, to thy head,</LINE>
+<LINE>Thou hast so wrong'd mine innocent child and me</LINE>
+<LINE>That I am forced to lay my reverence by</LINE>
+<LINE>And, with grey hairs and bruise of many days,</LINE>
+<LINE>Do challenge thee to trial of a man.</LINE>
+<LINE>I say thou hast belied mine innocent child;</LINE>
+<LINE>Thy slander hath gone through and through her heart,</LINE>
+<LINE>And she lies buried with her ancestors;</LINE>
+<LINE>O, in a tomb where never scandal slept,</LINE>
+<LINE>Save this of hers, framed by thy villany!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>My villany?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Thine, Claudio; thine, I say.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>You say not right, old man.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>My lord, my lord,</LINE>
+<LINE>I'll prove it on his body, if he dare,</LINE>
+<LINE>Despite his nice fence and his active practise,</LINE>
+<LINE>His May of youth and bloom of lustihood.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Away! I will not have to do with you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Canst thou so daff me? Thou hast kill'd my child:</LINE>
+<LINE>If thou kill'st me, boy, thou shalt kill a man.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>He shall kill two of us, and men indeed:</LINE>
+<LINE>But that's no matter; let him kill one first;</LINE>
+<LINE>Win me and wear me; let him answer me.</LINE>
+<LINE>Come, follow me, boy; come, sir boy, come, follow me:</LINE>
+<LINE>Sir boy, I'll whip you from your foining fence;</LINE>
+<LINE>Nay, as I am a gentleman, I will.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Brother,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>Content yourself. God knows I loved my niece;</LINE>
+<LINE>And she is dead, slander'd to death by villains,</LINE>
+<LINE>That dare as well answer a man indeed</LINE>
+<LINE>As I dare take a serpent by the tongue:</LINE>
+<LINE>Boys, apes, braggarts, Jacks, milksops!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Brother Antony,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>Hold you content. What, man! I know them, yea,</LINE>
+<LINE>And what they weigh, even to the utmost scruple,--</LINE>
+<LINE>Scrambling, out-facing, fashion-monging boys,</LINE>
+<LINE>That lie and cog and flout, deprave and slander,</LINE>
+<LINE>Go anticly, show outward hideousness,</LINE>
+<LINE>And speak off half a dozen dangerous words,</LINE>
+<LINE>How they might hurt their enemies, if they durst;</LINE>
+<LINE>And this is all.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>But, brother Antony,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>Come, 'tis no matter:</LINE>
+<LINE>Do not you meddle; let me deal in this.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Gentlemen both, we will not wake your patience.</LINE>
+<LINE>My heart is sorry for your daughter's death:</LINE>
+<LINE>But, on my honour, she was charged with nothing</LINE>
+<LINE>But what was true and very full of proof.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>My lord, my lord,--</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>I will not hear you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>No? Come, brother; away! I will be heard.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>And shall, or some of us will smart for it.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt LEONATO and ANTONIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>See, see; here comes the man we went to seek.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter BENEDICK</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Now, signior, what news?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Good day, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Welcome, signior: you are almost come to part</LINE>
+<LINE>almost a fray.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>We had like to have had our two noses snapped off</LINE>
+<LINE>with two old men without teeth.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Leonato and his brother. What thinkest thou? Had</LINE>
+<LINE>we fought, I doubt we should have been too young for them.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>In a false quarrel there is no true valour. I came</LINE>
+<LINE>to seek you both.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>We have been up and down to seek thee; for we are</LINE>
+<LINE>high-proof melancholy and would fain have it beaten</LINE>
+<LINE>away. Wilt thou use thy wit?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>It is in my scabbard: shall I draw it?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Dost thou wear thy wit by thy side?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Never any did so, though very many have been beside</LINE>
+<LINE>their wit. I will bid thee draw, as we do the</LINE>
+<LINE>minstrels; draw, to pleasure us.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>As I am an honest man, he looks pale. Art thou</LINE>
+<LINE>sick, or angry?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>What, courage, man! What though care killed a cat,</LINE>
+<LINE>thou hast mettle enough in thee to kill care.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Sir, I shall meet your wit in the career, and you</LINE>
+<LINE>charge it against me. I pray you choose another subject.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Nay, then, give him another staff: this last was</LINE>
+<LINE>broke cross.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>By this light, he changes more and more: I think</LINE>
+<LINE>he be angry indeed.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>If he be, he knows how to turn his girdle.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Shall I speak a word in your ear?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>God bless me from a challenge!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE><STAGEDIR>Aside to CLAUDIO</STAGEDIR>  You are a villain; I jest not:</LINE>
+<LINE>I will make it good how you dare, with what you</LINE>
+<LINE>dare, and when you dare. Do me right, or I will</LINE>
+<LINE>protest your cowardice. You have killed a sweet</LINE>
+<LINE>lady, and her death shall fall heavy on you. Let me</LINE>
+<LINE>hear from you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Well, I will meet you, so I may have good cheer.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>What, a feast, a feast?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I' faith, I thank him; he hath bid me to a calf's</LINE>
+<LINE>head and a capon; the which if I do not carve most</LINE>
+<LINE>curiously, say my knife's naught. Shall I not find</LINE>
+<LINE>a woodcock too?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Sir, your wit ambles well; it goes easily.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>I'll tell thee how Beatrice praised thy wit the</LINE>
+<LINE>other day. I said, thou hadst a fine wit: 'True,'</LINE>
+<LINE>said she, 'a fine little one.' 'No,' said I, 'a</LINE>
+<LINE>great wit:' 'Right,' says she, 'a great gross one.'</LINE>
+<LINE>'Nay,' said I, 'a good wit:' 'Just,' said she, 'it</LINE>
+<LINE>hurts nobody.' 'Nay,' said I, 'the gentleman</LINE>
+<LINE>is wise:' 'Certain,' said she, 'a wise gentleman.'</LINE>
+<LINE>'Nay,' said I, 'he hath the tongues:' 'That I</LINE>
+<LINE>believe,' said she, 'for he swore a thing to me on</LINE>
+<LINE>Monday night, which he forswore on Tuesday morning;</LINE>
+<LINE>there's a double tongue; there's two tongues.' Thus</LINE>
+<LINE>did she, an hour together, transshape thy particular</LINE>
+<LINE>virtues: yet at last she concluded with a sigh, thou</LINE>
+<LINE>wast the properest man in Italy.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>For the which she wept heartily and said she cared</LINE>
+<LINE>not.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Yea, that she did: but yet, for all that, an if she</LINE>
+<LINE>did not hate him deadly, she would love him dearly:</LINE>
+<LINE>the old man's daughter told us all.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>All, all; and, moreover, God saw him when he was</LINE>
+<LINE>hid in the garden.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>But when shall we set the savage bull's horns on</LINE>
+<LINE>the sensible Benedick's head?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Yea, and text underneath, 'Here dwells Benedick the</LINE>
+<LINE>married man'?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Fare you well, boy: you know my mind. I will leave</LINE>
+<LINE>you now to your gossip-like humour: you break jests</LINE>
+<LINE>as braggarts do their blades, which God be thanked,</LINE>
+<LINE>hurt not. My lord, for your many courtesies I thank</LINE>
+<LINE>you: I must discontinue your company: your brother</LINE>
+<LINE>the bastard is fled from Messina: you have among</LINE>
+<LINE>you killed a sweet and innocent lady. For my Lord</LINE>
+<LINE>Lackbeard there, he and I shall meet: and, till</LINE>
+<LINE>then, peace be with him.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>He is in earnest.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>In most profound earnest; and, I'll warrant you, for</LINE>
+<LINE>the love of Beatrice.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>And hath challenged thee.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Most sincerely.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>What a pretty thing man is when he goes in his</LINE>
+<LINE>doublet and hose and leaves off his wit!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>He is then a giant to an ape; but then is an ape a</LINE>
+<LINE>doctor to such a man.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>But, soft you, let me be: pluck up, my heart, and</LINE>
+<LINE>be sad. Did he not say, my brother was fled?</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter DOGBERRY, VERGES, and the Watch, with CONRADE
+and BORACHIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Come you, sir: if justice cannot tame you, she</LINE>
+<LINE>shall ne'er weigh more reasons in her balance: nay,</LINE>
+<LINE>an you be a cursing hypocrite once, you must be looked to.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>How now? two of my brother's men bound! Borachio</LINE>
+<LINE>one!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Hearken after their offence, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Officers, what offence have these men done?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Marry, sir, they have committed false report;</LINE>
+<LINE>moreover, they have spoken untruths; secondarily,</LINE>
+<LINE>they are slanders; sixth and lastly, they have</LINE>
+<LINE>belied a lady; thirdly, they have verified unjust</LINE>
+<LINE>things; and, to conclude, they are lying knaves.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>First, I ask thee what they have done; thirdly, I</LINE>
+<LINE>ask thee what's their offence; sixth and lastly, why</LINE>
+<LINE>they are committed; and, to conclude, what you lay</LINE>
+<LINE>to their charge.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Rightly reasoned, and in his own division: and, by</LINE>
+<LINE>my troth, there's one meaning well suited.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Who have you offended, masters, that you are thus</LINE>
+<LINE>bound to your answer? this learned constable is</LINE>
+<LINE>too cunning to be understood: what's your offence?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Sweet prince, let me go no farther to mine answer:</LINE>
+<LINE>do you hear me, and let this count kill me. I have</LINE>
+<LINE>deceived even your very eyes: what your wisdoms</LINE>
+<LINE>could not discover, these shallow fools have brought</LINE>
+<LINE>to light: who in the night overheard me confessing</LINE>
+<LINE>to this man how Don John your brother incensed me</LINE>
+<LINE>to slander the Lady Hero, how you were brought into</LINE>
+<LINE>the orchard and saw me court Margaret in Hero's</LINE>
+<LINE>garments, how you disgraced her, when you should</LINE>
+<LINE>marry her: my villany they have upon record; which</LINE>
+<LINE>I had rather seal with my death than repeat over</LINE>
+<LINE>to my shame. The lady is dead upon mine and my</LINE>
+<LINE>master's false accusation; and, briefly, I desire</LINE>
+<LINE>nothing but the reward of a villain.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Runs not this speech like iron through your blood?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I have drunk poison whiles he utter'd it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>But did my brother set thee on to this?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Yea, and paid me richly for the practise of it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>He is composed and framed of treachery:</LINE>
+<LINE>And fled he is upon this villany.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Sweet Hero! now thy image doth appear</LINE>
+<LINE>In the rare semblance that I loved it first.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Come, bring away the plaintiffs: by this time our</LINE>
+<LINE>sexton hath reformed Signior Leonato of the matter:</LINE>
+<LINE>and, masters, do not forget to specify, when time</LINE>
+<LINE>and place shall serve, that I am an ass.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>VERGES</SPEAKER>
+<LINE>Here, here comes master Signior Leonato, and the</LINE>
+<LINE>Sexton too.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Re-enter LEONATO and ANTONIO, with the Sexton</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Which is the villain? let me see his eyes,</LINE>
+<LINE>That, when I note another man like him,</LINE>
+<LINE>I may avoid him: which of these is he?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>If you would know your wronger, look on me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Art thou the slave that with thy breath hast kill'd</LINE>
+<LINE>Mine innocent child?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>Yea, even I alone.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>No, not so, villain; thou beliest thyself:</LINE>
+<LINE>Here stand a pair of honourable men;</LINE>
+<LINE>A third is fled, that had a hand in it.</LINE>
+<LINE>I thank you, princes, for my daughter's death:</LINE>
+<LINE>Record it with your high and worthy deeds:</LINE>
+<LINE>'Twas bravely done, if you bethink you of it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I know not how to pray your patience;</LINE>
+<LINE>Yet I must speak. Choose your revenge yourself;</LINE>
+<LINE>Impose me to what penance your invention</LINE>
+<LINE>Can lay upon my sin: yet sinn'd I not</LINE>
+<LINE>But in mistaking.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>By my soul, nor I:</LINE>
+<LINE>And yet, to satisfy this good old man,</LINE>
+<LINE>I would bend under any heavy weight</LINE>
+<LINE>That he'll enjoin me to.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I cannot bid you bid my daughter live;</LINE>
+<LINE>That were impossible: but, I pray you both,</LINE>
+<LINE>Possess the people in Messina here</LINE>
+<LINE>How innocent she died; and if your love</LINE>
+<LINE>Can labour ought in sad invention,</LINE>
+<LINE>Hang her an epitaph upon her tomb</LINE>
+<LINE>And sing it to her bones, sing it to-night:</LINE>
+<LINE>To-morrow morning come you to my house,</LINE>
+<LINE>And since you could not be my son-in-law,</LINE>
+<LINE>Be yet my nephew: my brother hath a daughter,</LINE>
+<LINE>Almost the copy of my child that's dead,</LINE>
+<LINE>And she alone is heir to both of us:</LINE>
+<LINE>Give her the right you should have given her cousin,</LINE>
+<LINE>And so dies my revenge.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>O noble sir,</LINE>
+<LINE>Your over-kindness doth wring tears from me!</LINE>
+<LINE>I do embrace your offer; and dispose</LINE>
+<LINE>For henceforth of poor Claudio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>To-morrow then I will expect your coming;</LINE>
+<LINE>To-night I take my leave. This naughty man</LINE>
+<LINE>Shall face to face be brought to Margaret,</LINE>
+<LINE>Who I believe was pack'd in all this wrong,</LINE>
+<LINE>Hired to it by your brother.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BORACHIO</SPEAKER>
+<LINE>No, by my soul, she was not,</LINE>
+<LINE>Nor knew not what she did when she spoke to me,</LINE>
+<LINE>But always hath been just and virtuous</LINE>
+<LINE>In any thing that I do know by her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Moreover, sir, which indeed is not under white and</LINE>
+<LINE>black, this plaintiff here, the offender, did call</LINE>
+<LINE>me ass: I beseech you, let it be remembered in his</LINE>
+<LINE>punishment. And also, the watch heard them talk of</LINE>
+<LINE>one Deformed: they say be wears a key in his ear and</LINE>
+<LINE>a lock hanging by it, and borrows money in God's</LINE>
+<LINE>name, the which he hath used so long and never paid</LINE>
+<LINE>that now men grow hard-hearted and will lend nothing</LINE>
+<LINE>for God's sake: pray you, examine him upon that point.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>I thank thee for thy care and honest pains.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>Your worship speaks like a most thankful and</LINE>
+<LINE>reverend youth; and I praise God for you.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>There's for thy pains.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>God save the foundation!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Go, I discharge thee of thy prisoner, and I thank thee.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DOGBERRY</SPEAKER>
+<LINE>I leave an arrant knave with your worship; which I</LINE>
+<LINE>beseech your worship to correct yourself, for the</LINE>
+<LINE>example of others. God keep your worship! I wish</LINE>
+<LINE>your worship well; God restore you to health! I</LINE>
+<LINE>humbly give you leave to depart; and if a merry</LINE>
+<LINE>meeting may be wished, God prohibit it! Come, neighbour.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt DOGBERRY and VERGES</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Until to-morrow morning, lords, farewell.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>Farewell, my lords: we look for you to-morrow.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>We will not fail.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>To-night I'll mourn with Hero.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE><STAGEDIR>To the Watch</STAGEDIR>  Bring you these fellows on. We'll</LINE>
+<LINE>talk with Margaret,</LINE>
+<LINE>How her acquaintance grew with this lewd fellow.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt, severally</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE II.  LEONATO'S garden.</TITLE>
+<STAGEDIR>Enter BENEDICK and MARGARET, meeting</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Pray thee, sweet Mistress Margaret, deserve well at</LINE>
+<LINE>my hands by helping me to the speech of Beatrice.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Will you then write me a sonnet in praise of my beauty?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>In so high a style, Margaret, that no man living</LINE>
+<LINE>shall come over it; for, in most comely truth, thou</LINE>
+<LINE>deservest it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>To have no man come over me! why, shall I always</LINE>
+<LINE>keep below stairs?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Thy wit is as quick as the greyhound's mouth; it catches.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>And yours as blunt as the fencer's foils, which hit,</LINE>
+<LINE>but hurt not.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>A most manly wit, Margaret; it will not hurt a</LINE>
+<LINE>woman: and so, I pray thee, call Beatrice: I give</LINE>
+<LINE>thee the bucklers.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Give us the swords; we have bucklers of our own.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>If you use them, Margaret, you must put in the</LINE>
+<LINE>pikes with a vice; and they are dangerous weapons for maids.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>MARGARET</SPEAKER>
+<LINE>Well, I will call Beatrice to you, who I think hath legs.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>And therefore will come.</LINE>
+<STAGEDIR>Exit MARGARET</STAGEDIR>
+<STAGEDIR>Sings</STAGEDIR>
+<LINE>The god of love,</LINE>
+<LINE>That sits above,</LINE>
+<LINE>And knows me, and knows me,</LINE>
+<LINE>How pitiful I deserve,--</LINE>
+<LINE>I mean in singing; but in loving, Leander the good</LINE>
+<LINE>swimmer, Troilus the first employer of panders, and</LINE>
+<LINE>a whole bookful of these quondam carpet-mangers,</LINE>
+<LINE>whose names yet run smoothly in the even road of a</LINE>
+<LINE>blank verse, why, they were never so truly turned</LINE>
+<LINE>over and over as my poor self in love. Marry, I</LINE>
+<LINE>cannot show it in rhyme; I have tried: I can find</LINE>
+<LINE>out no rhyme to 'lady' but 'baby,' an innocent</LINE>
+<LINE>rhyme; for 'scorn,' 'horn,' a hard rhyme; for,</LINE>
+<LINE>'school,' 'fool,' a babbling rhyme; very ominous</LINE>
+<LINE>endings: no, I was not born under a rhyming planet,</LINE>
+<LINE>nor I cannot woo in festival terms.</LINE>
+<STAGEDIR>Enter BEATRICE</STAGEDIR>
+<LINE>Sweet Beatrice, wouldst thou come when I called thee?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Yea, signior, and depart when you bid me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>O, stay but till then!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>'Then' is spoken; fare you well now: and yet, ere</LINE>
+<LINE>I go, let me go with that I came; which is, with</LINE>
+<LINE>knowing what hath passed between you and Claudio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Only foul words; and thereupon I will kiss thee.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Foul words is but foul wind, and foul wind is but</LINE>
+<LINE>foul breath, and foul breath is noisome; therefore I</LINE>
+<LINE>will depart unkissed.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Thou hast frighted the word out of his right sense,</LINE>
+<LINE>so forcible is thy wit. But I must tell thee</LINE>
+<LINE>plainly, Claudio undergoes my challenge; and either</LINE>
+<LINE>I must shortly hear from him, or I will subscribe</LINE>
+<LINE>him a coward. And, I pray thee now, tell me for</LINE>
+<LINE>which of my bad parts didst thou first fall in love with me?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>For them all together; which maintained so politic</LINE>
+<LINE>a state of evil that they will not admit any good</LINE>
+<LINE>part to intermingle with them. But for which of my</LINE>
+<LINE>good parts did you first suffer love for me?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Suffer love! a good epithet! I do suffer love</LINE>
+<LINE>indeed, for I love thee against my will.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>In spite of your heart, I think; alas, poor heart!</LINE>
+<LINE>If you spite it for my sake, I will spite it for</LINE>
+<LINE>yours; for I will never love that which my friend hates.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Thou and I are too wise to woo peaceably.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>It appears not in this confession: there's not one</LINE>
+<LINE>wise man among twenty that will praise himself.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>An old, an old instance, Beatrice, that lived in</LINE>
+<LINE>the lime of good neighbours. If a man do not erect</LINE>
+<LINE>in this age his own tomb ere he dies, he shall live</LINE>
+<LINE>no longer in monument than the bell rings and the</LINE>
+<LINE>widow weeps.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>And how long is that, think you?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Question: why, an hour in clamour and a quarter in</LINE>
+<LINE>rheum: therefore is it most expedient for the</LINE>
+<LINE>wise, if Don Worm, his conscience, find no</LINE>
+<LINE>impediment to the contrary, to be the trumpet of his</LINE>
+<LINE>own virtues, as I am to myself. So much for</LINE>
+<LINE>praising myself, who, I myself will bear witness, is</LINE>
+<LINE>praiseworthy: and now tell me, how doth your cousin?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Very ill.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>And how do you?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Very ill too.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Serve God, love me and mend. There will I leave</LINE>
+<LINE>you too, for here comes one in haste.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter URSULA</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>URSULA</SPEAKER>
+<LINE>Madam, you must come to your uncle. Yonder's old</LINE>
+<LINE>coil at home: it is proved my Lady Hero hath been</LINE>
+<LINE>falsely accused, the prince and Claudio mightily</LINE>
+<LINE>abused; and Don John is the author of all, who is</LINE>
+<LINE>fed and gone. Will you come presently?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Will you go hear this news, signior?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I will live in thy heart, die in thy lap, and be</LINE>
+<LINE>buried in thy eyes; and moreover I will go with</LINE>
+<LINE>thee to thy uncle's.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE III.  A church.</TITLE>
+<STAGEDIR>Enter DON PEDRO, CLAUDIO, and three or four
+with tapers</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Is this the monument of Leonato?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>Lord</SPEAKER>
+<LINE>It is, my lord.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE><STAGEDIR>Reading out of a scroll</STAGEDIR></LINE>
+<LINE>Done to death by slanderous tongues</LINE>
+<LINE>Was the Hero that here lies:</LINE>
+<LINE>Death, in guerdon of her wrongs,</LINE>
+<LINE>Gives her fame which never dies.</LINE>
+<LINE>So the life that died with shame</LINE>
+<LINE>Lives in death with glorious fame.</LINE>
+<LINE>Hang thou there upon the tomb,</LINE>
+<LINE>Praising her when I am dumb.</LINE>
+<LINE>Now, music, sound, and sing your solemn hymn.</LINE>
+<SUBHEAD>SONG.</SUBHEAD>
+<LINE>Pardon, goddess of the night,</LINE>
+<LINE>Those that slew thy virgin knight;</LINE>
+<LINE>For the which, with songs of woe,</LINE>
+<LINE>Round about her tomb they go.</LINE>
+<LINE>Midnight, assist our moan;</LINE>
+<LINE>Help us to sigh and groan,</LINE>
+<LINE>Heavily, heavily:</LINE>
+<LINE>Graves, yawn and yield your dead,</LINE>
+<LINE>Till death be uttered,</LINE>
+<LINE>Heavily, heavily.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Now, unto thy bones good night!</LINE>
+<LINE>Yearly will I do this rite.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Good morrow, masters; put your torches out:</LINE>
+<LINE>The wolves have prey'd; and look, the gentle day,</LINE>
+<LINE>Before the wheels of Phoebus, round about</LINE>
+<LINE>Dapples the drowsy east with spots of grey.</LINE>
+<LINE>Thanks to you all, and leave us: fare you well.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Good morrow, masters: each his several way.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Come, let us hence, and put on other weeds;</LINE>
+<LINE>And then to Leonato's we will go.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And Hymen now with luckier issue speed's</LINE>
+<LINE>Than this for whom we render'd up this woe.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+
+<SCENE><TITLE>SCENE IV.  A room in LEONATO'S house.</TITLE>
+<STAGEDIR>Enter LEONATO, ANTONIO, BENEDICK, BEATRICE,
+MARGARET, URSULA, FRIAR FRANCIS, and HERO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>Did I not tell you she was innocent?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>So are the prince and Claudio, who accused her</LINE>
+<LINE>Upon the error that you heard debated:</LINE>
+<LINE>But Margaret was in some fault for this,</LINE>
+<LINE>Although against her will, as it appears</LINE>
+<LINE>In the true course of all the question.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>Well, I am glad that all things sort so well.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>And so am I, being else by faith enforced</LINE>
+<LINE>To call young Claudio to a reckoning for it.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Well, daughter, and you gentle-women all,</LINE>
+<LINE>Withdraw into a chamber by yourselves,</LINE>
+<LINE>And when I send for you, come hither mask'd.</LINE>
+<STAGEDIR>Exeunt Ladies</STAGEDIR>
+<LINE>The prince and Claudio promised by this hour</LINE>
+<LINE>To visit me. You know your office, brother:</LINE>
+<LINE>You must be father to your brother's daughter</LINE>
+<LINE>And give her to young Claudio.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>Which I will do with confirm'd countenance.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Friar, I must entreat your pains, I think.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>To do what, signior?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>To bind me, or undo me; one of them.</LINE>
+<LINE>Signior Leonato, truth it is, good signior,</LINE>
+<LINE>Your niece regards me with an eye of favour.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>That eye my daughter lent her: 'tis most true.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>And I do with an eye of love requite her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>The sight whereof I think you had from me,</LINE>
+<LINE>From Claudio and the prince: but what's your will?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Your answer, sir, is enigmatical:</LINE>
+<LINE>But, for my will, my will is your good will</LINE>
+<LINE>May stand with ours, this day to be conjoin'd</LINE>
+<LINE>In the state of honourable marriage:</LINE>
+<LINE>In which, good friar, I shall desire your help.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>My heart is with your liking.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>And my help.</LINE>
+<LINE>Here comes the prince and Claudio.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter DON PEDRO and CLAUDIO, and two or
+three others</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Good morrow to this fair assembly.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Good morrow, prince; good morrow, Claudio:</LINE>
+<LINE>We here attend you. Are you yet determined</LINE>
+<LINE>To-day to marry with my brother's daughter?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I'll hold my mind, were she an Ethiope.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Call her forth, brother; here's the friar ready.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Exit ANTONIO</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>Good morrow, Benedick. Why, what's the matter,</LINE>
+<LINE>That you have such a February face,</LINE>
+<LINE>So full of frost, of storm and cloudiness?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I think he thinks upon the savage bull.</LINE>
+<LINE>Tush, fear not, man; we'll tip thy horns with gold</LINE>
+<LINE>And all Europa shall rejoice at thee,</LINE>
+<LINE>As once Europa did at lusty Jove,</LINE>
+<LINE>When he would play the noble beast in love.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Bull Jove, sir, had an amiable low;</LINE>
+<LINE>And some such strange bull leap'd your father's cow,</LINE>
+<LINE>And got a calf in that same noble feat</LINE>
+<LINE>Much like to you, for you have just his bleat.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>For this I owe you: here comes other reckonings.</LINE>
+<STAGEDIR>Re-enter ANTONIO, with the Ladies masked</STAGEDIR>
+<LINE>Which is the lady I must seize upon?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>ANTONIO</SPEAKER>
+<LINE>This same is she, and I do give you her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Why, then she's mine. Sweet, let me see your face.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>No, that you shall not, till you take her hand</LINE>
+<LINE>Before this friar and swear to marry her.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Give me your hand: before this holy friar,</LINE>
+<LINE>I am your husband, if you like of me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>And when I lived, I was your other wife:</LINE>
+<STAGEDIR>Unmasking</STAGEDIR>
+<LINE>And when you loved, you were my other husband.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>Another Hero!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>Nothing certainer:</LINE>
+<LINE>One Hero died defiled, but I do live,</LINE>
+<LINE>And surely as I live, I am a maid.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>The former Hero! Hero that is dead!</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>She died, my lord, but whiles her slander lived.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>FRIAR FRANCIS</SPEAKER>
+<LINE>All this amazement can I qualify:</LINE>
+<LINE>When after that the holy rites are ended,</LINE>
+<LINE>I'll tell you largely of fair Hero's death:</LINE>
+<LINE>Meantime let wonder seem familiar,</LINE>
+<LINE>And to the chapel let us presently.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Soft and fair, friar. Which is Beatrice?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE><STAGEDIR>Unmasking</STAGEDIR>  I answer to that name. What is your will?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Do not you love me?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Why, no; no more than reason.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Why, then your uncle and the prince and Claudio</LINE>
+<LINE>Have been deceived; they swore you did.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Do not you love me?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Troth, no; no more than reason.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>Why, then my cousin Margaret and Ursula</LINE>
+<LINE>Are much deceived; for they did swear you did.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>They swore that you were almost sick for me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>They swore that you were well-nigh dead for me.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>'Tis no such matter. Then you do not love me?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>No, truly, but in friendly recompense.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>Come, cousin, I am sure you love the gentleman.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>And I'll be sworn upon't that he loves her;</LINE>
+<LINE>For here's a paper written in his hand,</LINE>
+<LINE>A halting sonnet of his own pure brain,</LINE>
+<LINE>Fashion'd to Beatrice.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>HERO</SPEAKER>
+<LINE>And here's another</LINE>
+<LINE>Writ in my cousin's hand, stolen from her pocket,</LINE>
+<LINE>Containing her affection unto Benedick.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>A miracle! here's our own hands against our hearts.</LINE>
+<LINE>Come, I will have thee; but, by this light, I take</LINE>
+<LINE>thee for pity.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BEATRICE</SPEAKER>
+<LINE>I would not deny you; but, by this good day, I yield</LINE>
+<LINE>upon great persuasion; and partly to save your life,</LINE>
+<LINE>for I was told you were in a consumption.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Peace! I will stop your mouth.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Kissing her</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>DON PEDRO</SPEAKER>
+<LINE>How dost thou, Benedick, the married man?</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>I'll tell thee what, prince; a college of</LINE>
+<LINE>wit-crackers cannot flout me out of my humour. Dost</LINE>
+<LINE>thou think I  care for a satire or an epigram? No:</LINE>
+<LINE>if a man will be beaten with brains, a' shall wear</LINE>
+<LINE>nothing handsome about him. In brief, since I do</LINE>
+<LINE>purpose to marry, I will think nothing to any</LINE>
+<LINE>purpose that the world can say against it; and</LINE>
+<LINE>therefore never flout at me for what I have said</LINE>
+<LINE>against it; for man is a giddy thing, and this is my</LINE>
+<LINE>conclusion. For thy part, Claudio, I did think to</LINE>
+<LINE>have beaten thee, but in that thou art like to be my</LINE>
+<LINE>kinsman, live unbruised and love my cousin.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>CLAUDIO</SPEAKER>
+<LINE>I had well hoped thou wouldst have denied Beatrice,</LINE>
+<LINE>that I might have cudgelled thee out of thy single</LINE>
+<LINE>life, to make thee a double-dealer; which, out of</LINE>
+<LINE>question, thou wilt be, if my cousin do not look</LINE>
+<LINE>exceedingly narrowly to thee.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Come, come, we are friends: let's have a dance ere</LINE>
+<LINE>we are married, that we may lighten our own hearts</LINE>
+<LINE>and our wives' heels.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>LEONATO</SPEAKER>
+<LINE>We'll have dancing afterward.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>First, of my word; therefore play, music. Prince,</LINE>
+<LINE>thou art sad; get thee a wife, get thee a wife:</LINE>
+<LINE>there is no staff more reverend than one tipped with horn.</LINE>
+</SPEECH>
+
+
+<STAGEDIR>Enter a Messenger</STAGEDIR>
+
+<SPEECH>
+<SPEAKER>Messenger</SPEAKER>
+<LINE>My lord, your brother John is ta'en in flight,</LINE>
+<LINE>And brought with armed men back to Messina.</LINE>
+</SPEECH>
+
+<SPEECH>
+<SPEAKER>BENEDICK</SPEAKER>
+<LINE>Think not on him till to-morrow:</LINE>
+<LINE>I'll devise thee brave punishments for him.</LINE>
+<LINE>Strike up, pipers.</LINE>
+</SPEECH>
+
+<STAGEDIR>Dance</STAGEDIR>
+<STAGEDIR>Exeunt</STAGEDIR>
+</SCENE>
+</ACT>
+</PLAY>
diff --git a/xml/namespaces.xml b/xml/namespaces.xml
new file mode 100644
index 0000000..b14983c
--- /dev/null
+++ b/xml/namespaces.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet
+        xmlns:JavaXML="http://www.oreilly.com/catalog/javaxml/"
+        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+        xmlns:foo="http://www.foo.com/bar"
+        version="1.0">
+
+        <xsl:template match="JavaXML:Book">
+                        <head>
+                                <title><xsl:value-of select="JavaXML:Title" /></title>
+                        </head>
+                        <body>
+                                <xsl:apply-templates select="*[not(self::JavaXML:Title)]" />
+                        </body>       
+        </xsl:template>
+
+</xsl:stylesheet>
diff --git a/xml/nitf/ashtml.xsl b/xml/nitf/ashtml.xsl
new file mode 100644
index 0000000..7a293c1
--- /dev/null
+++ b/xml/nitf/ashtml.xsl
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:output method="xml"/>
+
+<xsl:template match="nitf">
+  <html>
+  <table cellspacing="0" cellpadding="2" bgcolor="#000000" border="1">
+    <tr bgcolor="#dddddd">
+      <td>
+        <xsl:apply-templates select="body/body.head"/>
+      </td>
+    </tr>
+    <tr bgcolor="#eeeeee">
+      <td>
+        <xsl:apply-templates select="body/body.content"/>
+        <xsl:apply-templates select="head/meta[@name='ap-company']"/>
+      </td>
+    </tr>
+  </table>
+  </html>
+</xsl:template>
+
+<xsl:template match="meta[@name='ap-company']">
+  Related Stock:
+  <xsl:element name="a">
+    <xsl:attribute name="href">
+      http://localhost/stock?ts=<xsl:value-of select="substring-before(substring-after(@content,'TS:'),';')"/>
+    </xsl:attribute>
+    <xsl:value-of select="substring-after(substring-before(@content,';'),':')"/>
+  </xsl:element>
+  
+</xsl:template>
+
+<xsl:template match="body.content">
+  <xsl:for-each select="block">
+    <xsl:choose>
+      <xsl:when test="./hl2">
+        <xsl:element name="a">
+          <xsl:attribute name="href">
+            <xsl:value-of select="block/media/media-reference[@data-location]"/>
+          </xsl:attribute>
+        <b><xsl:value-of select="hl2"/></b><br/>
+        </xsl:element>
+        <xsl:copy-of select="p"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:copy-of select="."/>
+      </xsl:otherwise>
+    </xsl:choose>     
+  </xsl:for-each>  
+  <hr/>
+</xsl:template>
+
+<xsl:template match="body.head">
+  <xsl:apply-templates select="hedline/hl1"/> 
+  <xsl:apply-templates select="byline"/>
+  <xsl:value-of select="dateline/location/text()"/>
+</xsl:template>
+
+<xsl:template match="hl1">
+  <h1><xsl:value-of select="."/></h1>
+</xsl:template>
+
+<xsl:template match="byline">
+  <h2><b><xsl:value-of select="text()"/></b><font size="-2"><i><xsl:value-of select="byttl"/></i></font></h2>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/xml/nitf/invalid.xml b/xml/nitf/invalid.xml
new file mode 100644
index 0000000..c469c45
--- /dev/null
+++ b/xml/nitf/invalid.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE nitf SYSTEM "nitf.dtd">
+<nitf>
+
+  <!-- Example of markup of URLs (at the bottom of the story) -->
+
+ <body>
+  <body.head>
+   <hedline>
+    <hl1>Use of Napster Quadruples</hl1>
+   </hedline>
+   <byline>By PETER SVENSSON
+    <byttl>AP Business Writer</byttl>
+   </byline>
+   <distributor>The Associated Press</distributor>
+   <dateline>
+    <location>NEW YORK</location>
+   </dateline>
+  </body.head>
+  <body.content>
+   <block>
+    <p>Despite the uncertain legality of the Napster online music-sharing service, the number of people
+using it more than quadrupled in just five months, Media Metrix said Monday.</p>
+    <p>That made Napster the fastest-growing software application ever recorded by the Internet research
+company.</p>
+    <p>From 1.1 million home users in the United States in February, the first month Media Metrix
+tracked the application, Napster use rocketed to 4.9 million users in July.</p>
+    <p>That represents 6 percent of U.S. home PC users who have modems, said Media Metrix, which pays
+people to install monitoring software on their computers.</p>
+    <p>It estimates total usage from a panel of about 50,000 people in the United States.</p>
+    <p>Napster was also used at work by 887,000 people in July, Media Metrix said.</p>
+    <p>Napster Inc. has been sued by the recording industry for allegedly enabling copyright
+infringement. The federal government weighed in on the case Friday, saying the service is not protected
+under a key copyright law, as the San Mateo, Calif., company claims.</p>
+    <p>Bruce Ryon, head of Media Metrix's New Media Group, said Napster was used by "the full spectrum of PC users, not just the youth with time on their hands and a passion for music."</p>
+    <p>The Napster program allows users to copy digital music files from the hard drives of other
+users over the Internet.</p>
+    <p>Napster Inc. said last week that 28 million people had downloaded its program. It does not reveal
+its own figures for how many people actually use the software.</p>
+    <p>Because the program connects to the company's computers over the Internet every time
+it is run, Napster Inc. can track usage exactly.</p>
+    <p>__</p>
+    <p>On the Net:</p>
+    <p><a href="http://www.napster.com">
+http://www.napster.com</a></p>
+    <p><a href="http://www.mediametrix.com">
+http://www.mediametrix.com</a></p>
+   </block>
+  </body.content>
+ </body>
+</nitf>
diff --git a/xml/nitf/nitf.dtd b/xml/nitf/nitf.dtd
new file mode 100644
index 0000000..83ce115
--- /dev/null
+++ b/xml/nitf/nitf.dtd
@@ -0,0 +1 @@
+ <!--
	News Industry Text Format
	Document Type Definition - Version 2.5
	http://www.nitf.org/

	Copyright (c) 2000. All Rights Reserved.
	International Press Telecommunications Council
	http://www.iptc.org
		
	Last changed: 9 August 2000  wb/kr/ak
	
	For the list of modifications from previous releases, see:
		http://www.nitf.org/recent-modifications.html 

	For the list of proposed modifications, see:
		http://www.nitf.org/proposed-changes.html 
-->


<!-- 	****************************************************************
	DTD Entities
	**************************************************************** -->

<!ENTITY % enriched-text '
	#PCDATA
	| chron
	| copyrite
	| event
	| function
	| location
	| money
	| num
	| object.title
	| org
	| person
	| postaddr
	| virtloc
	| a
	| br
	| em
	| lang
	| pronounce
	| q
	'>

<!ENTITY % block.head "dateline?, copyrite?, abstract?">
<!ENTITY % block.content "p | hl2 | table | media | ol | ul | dl | bq | fn | note | pre | hr">
<!ENTITY % block.end "datasource?">

<!-- Attribute entities -->

<!ENTITY % global-attributes '
	id 	ID 						#IMPLIED
	'>
<!ENTITY % common-attributes '
	%global-attributes;
	class 	NMTOKENS 					#IMPLIED
	style 	CDATA 						#IMPLIED
	lang 	NMTOKEN 					#IMPLIED
	dir 	(ltr | rtl) 					#IMPLIED
	'>
<!ENTITY % cell.align '
	align 	(left | center | right | justify | char) 	#IMPLIED
	char 	CDATA 						#IMPLIED
	charoff CDATA 						#IMPLIED
	'>
<!ENTITY % cell.valign '
	valign 	(top | middle | bottom | baseline) 		#IMPLIED
	'>
<!ENTITY % url.link '
	md 	CDATA 						#IMPLIED
	'>
<!ENTITY % boolean '(true | false)'>

<!-- 	****************************************************************
	nitf
	**************************************************************** -->

<!ELEMENT nitf (head, body)>
<!ATTLIST nitf
	%global-attributes;
	uno 		CDATA 		#IMPLIED
	version 	CDATA 		#FIXED 		"-//IPTC-NAA//DTD NITF-XML 2.1//EN"
	change.date 	CDATA 		#FIXED 		"4 July 2000"
	change.time 	CDATA 		#FIXED 		"1900"
	baselang 	CDATA 		#IMPLIED
	class 		NMTOKENS 	#IMPLIED
	>
	<!--
	Element			nitf
	Partial description	The root element for NITF.
	Full description	News Industry Text Format instance. Holds head and body.

	Attribute name		id
	Description		An XML-specific identifier for the element.
	Attribute name		uno
	Description		The universally unique identifier for the document.
	Attribute name		version
	Description		This DTD's formal public identifier.
	Attribute name		change.date
	Description		Date when this DTD was last changed.
	Attribute name		change.time
	Description		Time when this DTD was last changed.
	Attribute name		baselang
	Description		Base language for document. Uses en-US (per ISO 639 and 3166).
	Attribute name		class
	Description		An open placeholder for categorization.
	-->

<!-- 	****************************************************************
	head
	**************************************************************** -->

<!ELEMENT head (title?, meta*, tobject?, iim?, docdata?, pubdata*, revision-history*)>
<!ATTLIST head
	%global-attributes;
	>
	<!--
	Element			head
	Partial description	Holds metadata about the document as a whole.
	Full description	Generally does not hold information for direct display to user. Portions of the metadata, though, are often rendered to augment an article.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

<!ELEMENT title (#PCDATA)>
<!ATTLIST title
	%global-attributes;
	type 	(
		main
		| subtitle
		| parttitle
		| alternate
		| abbrev
		| other
		) 	#IMPLIED
	>
	<!--
	Element			title
	Partial description	Document Title.
	Full description	Often displayed within a result-list after a search finds this article.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		type
	Description		A categorization for title. (Controlled vocabulary.) 
	-->

<!ELEMENT meta EMPTY>
<!ATTLIST meta
	%global-attributes;
	http-equiv 	NMTOKEN 	#IMPLIED
	name 		NMTOKEN 	#IMPLIED
	content 	CDATA 		#REQUIRED
	>
	<!--
	Element			meta
	Partial description	A construct for sending generic metadata.
	Full description	Normally is undisplayed.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		http-equiv
	Description		HTTP response header name.
	Attribute name		name
	Description		Name used for this piece of metadata.
	Attribute name		content
	Description		Content associated with the specified name.
	-->

<!ELEMENT tobject (tobject.property*, tobject.subject*)>
<!ATTLIST tobject
	%global-attributes;
	tobject.type 		CDATA 	"news"
	>
	<!--
	Element			tobject
	Partial description	Subject code.
	Full description	Used to identify the type of the news material, based on a Subject Code system.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		tobject.type
	Description		Currently restricted to News, Data, and Advisory.
	-->

	<!ELEMENT tobject.property EMPTY>
	<!ATTLIST tobject.property
		%global-attributes;
		tobject.property.type 	CDATA 	"current"
		>
		<!--
		Element			tobject.property
		Partial description	Subject code property.
		Full description	Assigns a property to the object type.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		tobject.property.type
		Description		Includes such items as analysis, feature, and obituary.
		-->

	<!ELEMENT tobject.subject  EMPTY>
	<!ATTLIST tobject.subject
		%global-attributes;
		tobject.subject.ipr 		CDATA 		"IPTC"
		tobject.subject.refnum 		NMTOKEN 	#REQUIRED
		tobject.subject.code 		CDATA 		#IMPLIED
		tobject.subject.type 		CDATA 		#IMPLIED
		tobject.subject.matter 		CDATA 		#IMPLIED
		tobject.subject.detail 		CDATA 		#IMPLIED
		>
		<!--
		Element			tobject.subject
		Partial description	Assigns subject information to news material based on a Subject Code system.
		Full description	A three-tiered hierarchy consisting of broad subjects, secondary topics (Subject Matter), and tertiary topics (Subject Detail).

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		tobject.subject.ipr
		Description		Information provider reference.
		Attribute name		tobject.subject.refnum
		Description		Eight-digit reference number for all three levels.
		Attribute name		tobject.subject.code
		Description		Three-letter code for the subject type.
		Attribute name		tobject.subject.type
		Description		First-tier subject description.
		Attribute name		tobject.subject.matter
		Description		Second-tier subject description.
		Attribute name		tobject.subject.detail
		Description		Third-tier subject description.
		-->

<!ELEMENT iim (ds*)>
<!ATTLIST iim
	%global-attributes;
	ver 	NMTOKEN 	#IMPLIED
	>
	<!--
	Element			iim
	Partial description	IIM Record 2 Data Container.
	Full description	Location for IIM Record 2 DataSet information.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		ver
	Description		IIM version number.
	-->

	<!ELEMENT ds EMPTY>
	<!ATTLIST ds
		%global-attributes;
		num 		NMTOKEN 	#REQUIRED
		value 		CDATA 		#IMPLIED
		>
		<!--
		Element			ds
		Partial description	IIM Record 2 dataset information.
		Full description	IIM Record 2 dataset information (Record 2 Only).

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		num
		Description		IIM field number.
		Attribute name		value
		Description		IIM field value.
		-->

<!ELEMENT docdata (
	correction
	| evloc
	| doc-id
	| del-list
	| urgency
	| fixture
	| date.issue
	| date.release
	| date.expire
	| doc-scope
	| series
	| ed-msg
	| du-key
	| doc.copyright
	| doc.rights
	| key-list
	)*>
<!ATTLIST docdata
	%global-attributes;
	>
	<!--
	Element			docdata
	Partial description	Document metadata.
	Full description	Container for metadata information about this particular document.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

	<!ELEMENT correction EMPTY>
	<!ATTLIST correction
		%global-attributes;
		info 		CDATA 	#IMPLIED
		id-string 	CDATA 	#IMPLIED
		reg-src 	CDATA 	#IMPLIED
		>
		<!--
		Element			correction
		Partial description	Correction information.
		Full description	Indicates that the item is a correction to a previously published document.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		info
		Description		Contains actual message or instructions regarding the correction.
		Attribute name		id-string
		Description		Document identification string, such as UNO or doc-id.
		Attribute name		reg-src
		Description		Identifies the source of the correction.
		-->

	<!ELEMENT evloc EMPTY>
	<!ATTLIST evloc
		%global-attributes;
		iso-cc 		CDATA 	#IMPLIED
		state-prov 	CDATA 	#IMPLIED
		county-dist 	CDATA 	#IMPLIED
		city 		CDATA 	#IMPLIED
		>
		<!--
		Element			evloc
		Partial description	Event location.
		Full description	Where an event took place (as opposed to where the story was written).

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		iso-cc
		Description		Country code as specified in ISO 3166.
		Attribute name		state-prov
		Description		State or province where the event occurred.
		Attribute name		county-dist
		Description		County or district name.
		Attribute name		city
		Description		City or municipality name.
		-->

	<!ELEMENT doc-id EMPTY>
	<!ATTLIST doc-id
		%global-attributes;
		regsrc 		CDATA 	#IMPLIED
		id-string 	CDATA 	#IMPLIED
		>
		<!--
		Element			doc-id
		Partial description	Registered identification for document.
		Full description	Character string that provides a unique, persistent identification for a document.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		regsrc
		Description		Identifies the source of the document or action. !!
		Attribute name		id-string
		Description		Document identification string.
		-->

	<!ELEMENT del-list (from-src)*>
	<!ATTLIST del-list
		%global-attributes;
		>
		<!--
		Element			del-list
		Partial description	Delivery trail of delivery services.
		Full description	Holds an ordered list of the distribution services that have been involved in the delivery of the document.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

		<!ELEMENT from-src EMPTY>
		<!ATTLIST from-src
			%global-attributes;
			src-name 	CDATA 	#IMPLIED
			level-number 	CDATA 	#IMPLIED
			>
			<!--
			Element			from-src
			Partial description	Delivery service identifier.
			Full description	Identifier used to track the transmission path of the document throughout the delivery process.

			Attribute name		id
			Description		Unique identifier for the element.
			Attribute name		src-name
			Description		The entity moving the document.
			Attribute name		level-number
			Description		The position in the transmission path that the src-name occurred.
			-->

	<!ELEMENT urgency EMPTY>
	<!ATTLIST urgency
		%global-attributes;
		ed-urg 		NMTOKEN 	#IMPLIED
		>
		<!--
		Element			urgency
		Partial description	News importance.
		Full description	Can be used to set the priority for distribution but does not set the actual distribution priority.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		ed-urg
		Description		1=most, 5=normal, 8=least.
		-->

	<!ELEMENT fixture EMPTY>
	<!ATTLIST fixture
		%global-attributes;
		fix-id 		CDATA 	#IMPLIED
		>
		<!--
		Element			fixture
		Partial description	Specification for named document, such as "Heard on the Street" or "On Language."
		Full description	Provides a consistant reference to a document whose content is refreshed periodically.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		fix-id
		Description		The name of the fixture.
		-->

	<!ELEMENT date.issue EMPTY>
	<!ATTLIST date.issue
		%global-attributes;
		norm 		CDATA 	#IMPLIED
		>
		<!--
		Element			date.issue
		Partial description	Date/time document was issued.
		Full description	If not provided, it is assumed to be on receipt.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		norm
		Description		Date/time value normalized to ISO 8601 (YYYYMMDDThhmmssZ), normalized to UTC.
		-->

	<!ELEMENT date.release EMPTY>
	<!ATTLIST date.release
		%global-attributes;
		norm 		CDATA 	#IMPLIED
		>
		<!--
		Element			date.release
		Partial description	Date/time document is available to be released.
		Full description	If not provided, it is assumed to be on receipt.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		norm
		Description		Date/time value normalized to ISO 8601 (YYYYMMDDThhmmssZ), normalized to UTC.
		-->

	<!ELEMENT date.expire EMPTY>
	<!ATTLIST date.expire
		%global-attributes;
		norm 		CDATA 	#IMPLIED
		>
		<!--
		Element			date.expire
		Partial description	Date/time at which the document has no validity.
		Full description	If not provided, it is assumed to be infinity.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		norm
		Description		Date/time value normalized to ISO 8601 (YYYYMMDDThhmmssZ), normalized to UTC.
		-->

	<!ELEMENT doc-scope EMPTY>
	<!ATTLIST doc-scope
		%global-attributes;
		scope 		CDATA 	#IMPLIED
		>
		<!--
		Element			doc-scope
		Partial description	Indicates an area where the document may be of interest.
		Full description	Where a non-category interest may be specified. These are often geographic in origin, such as "Pacific Northwest."

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		scope
		Description		Halfway between a Keyword and a Category.
		-->

	<!ELEMENT series EMPTY>
	<!ATTLIST series
		%global-attributes;
		series.name 		CDATA 		#IMPLIED
		series.part 		NMTOKEN 	"0"
		series.totalpart 	NMTOKEN 	"0"
		>
		<!--
		Element			series
		Partial description	Series information.
		Full description	Identification of an article within a series of related articles.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		series.name
		Description		The name of the series.
		Attribute name		series.part
		Description		Numeric order of this article within the series.
		Attribute name		series.totalpart
		Description		Total or expected number of articles in the series; use 0 if unknown or indefinite.
		-->

	<!ELEMENT ed-msg EMPTY>
	<!ATTLIST ed-msg
		%global-attributes;
		msg-type 	CDATA 	#IMPLIED
		info 		CDATA 	#IMPLIED
		>
		<!--
		Element			ed-msg
		Partial description	Non-publishable editorial message from provider or editor of item.
		Full description	Place where an information provider can send a note to the editor about the contents of the story.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		msg-type
		Description		The type of message. Providers are urged to use consistent values.
		Attribute name		info
		Description		Contains the actual message for the editorial message.
		-->

	<!ELEMENT du-key EMPTY>
	<!ATTLIST du-key
		%global-attributes;
		generation 	NMTOKEN 	#IMPLIED
		part 		NMTOKEN 	#IMPLIED
		version 	NMTOKEN 	#IMPLIED
		key 		CDATA 		#IMPLIED
		>
		<!--
		Element			du-key
		Partial description	Dynamic Use Key, created daily. Has tree structure indicated by defined form.
		Full description	Provides a mechanism for grouping and updating versions of stories. The du-key is unique to a story during a period fixed by the provider. After the time has elapsed, the reference is available for reuse.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		generation
		Description		Number indicating the du-key generation level. This number increments with each instance of a story that uses the same du-key.
		Attribute name		part
		Description		The part within the dynamic use key structure.
		Attribute name		version
		Description		Version of a particular use of the dynamic-use key.
		Attribute name		key
		Description		Contains the actual key value.
		-->

	<!ELEMENT doc.copyright EMPTY>
	<!ATTLIST doc.copyright
		%global-attributes;
		year 		NMTOKEN 	#IMPLIED
		holder 		CDATA 		#IMPLIED
		>
		<!--
		Element			doc.copyright
		Partial description	Copyright information for document header.
		Full description	A metadata location for the information about the year and holder of the document copyright. This information should be consistant with information in the copyrite tag.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		year
		Description		Year of the document copyright.
		Attribute name		holder
		Description		Holder of the copyright.
		-->

	<!ELEMENT doc.rights EMPTY>
	<!ATTLIST doc.rights
		%global-attributes;
		owner 		CDATA 		#IMPLIED
		startdate 	CDATA 		#IMPLIED
		enddate 	CDATA 		#IMPLIED
		agent 		CDATA 		#IMPLIED
		geography 	CDATA 		#IMPLIED
		location-code 	CDATA 		#IMPLIED
		code-source 	CDATA 		#IMPLIED
		type 		CDATA 		#IMPLIED
		limitations 	CDATA 		#IMPLIED
		>
		<!--
		Element			doc.rights
		Partial description	Rights information for use of the document.
		Full description	Used when the rights holder is not the same as the copyright holder. This information should be consistant with that in the series of rights tags.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		owner
		Description		The owner of the specified rights.
		Attribute name		startdate
		Description		Normalized start date/time for asserted rights.
		Attribute name		enddate
		Description		Normalized end date / time for specified document rights.
		Attribute name		agent
		Description		The rights agent.
		Attribute name		geography
		Description		Geographic area where rights are asserted.
		Attribute name		location-code
		Description		Coded location from standard list.
		Attribute name		code-source
		Description		Source of coded list information.
		Attribute name		type
		Description		Kind of rights being asserted.
		Attribute name		limitations
		Description		Limitations associated with document rights.
		-->

	<!ELEMENT key-list (keyword)*>
	<!ATTLIST key-list
		%global-attributes;
		>
		<!--
		Element			key-list
		Partial description	List of keywords
		Full description	hold a list of keywords about the document.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

		<!ELEMENT keyword EMPTY>
		<!ATTLIST keyword
			%global-attributes;
			key 		CDATA 	#IMPLIED
			>
			<!--
			Element			keyword
			Partial description	Keyword or phrase.
			Full description	Holds the keyword or phrase itself.

			Attribute name		id
			Description		Unique identifier for the element.
			Attribute name		key
			Description		The actual keyword.
			-->

<!ELEMENT pubdata EMPTY>
<!ATTLIST pubdata
	%global-attributes;
	type 			(
				print
				| audio
				| video
				| web
				| appliance
				| other
				) 		#IMPLIED
	item-length 		CDATA 		#IMPLIED
	unit-of-measure 	(
				word
				| character
				| byte
				| inch
				| pica
				| cm
				| hour
				| minute
				| second
				| other
				) 		#IMPLIED
	date.publication 	CDATA 		#IMPLIED
	name 			CDATA 		#IMPLIED
	issn 			CDATA 		#IMPLIED
	volume 			CDATA 		#IMPLIED
	number 			CDATA 		#IMPLIED
	issue 			CDATA 		#IMPLIED
	edition.name 		CDATA 		#IMPLIED
	edition.area 		CDATA 		#IMPLIED
	position.section 	CDATA 		#IMPLIED
	position.sequence 	CDATA 		#IMPLIED
	ex-ref 			CDATA 		#IMPLIED
	>
	<!--
	Element			pubdata
	Partial description	Information about specific instance of an item's publication.
	Full description	Contains metadata about how the particular news object was used in a specific instance.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		type
	Description		Transport medium, such as print, streaming video or broadcast.
	Attribute name		item-length
	Description		Length of the item; see also unit-of-measure. 
	Attribute name		unit-of-measure
	Description		Measure associated with the length of the item; see also item-length.
	Attribute name		date.publication
	Description		Normalized date / time news object was used (per ISO 8601)
	Attribute name		name
	Description		Title of the publication.
	Attribute name		issn
	Description		The International Standard Serial Number (ISSN) of the publication in which the news object occurred.
	Attribute name		volume
	Description		Volume of the publication in which the information appeared.
	Attribute name		number
	Description		Publication number, often associated with a volume number.
	Attribute name		issue
	Description		The name of the issue of the publication where the news object occurred. Examples include June, fall, Olympic Special, year-end, etc.
	Attribute name		edition.name
	Description		Name of the edition in which the news object was distributed.
	Attribute name		edition.area
	Description		Area / zone where news object was distributed.
	Attribute name		position.section
	Description		Named section of a publication where a news object appeared, such as Science, Sports, Weekend, etc.
	Attribute name		position.sequence
	Description		Where a news object appeared among a list of items; often the page number.
	Attribute name		ex-ref
	Description		External reference to the rendering of the news object as published, in the form of a URN.
	-->

<!ELEMENT revision-history EMPTY>
<!ATTLIST revision-history
	%global-attributes;
	name 		CDATA 			#IMPLIED
	function 	(
			writer-author
			| editor
			| producer
			| archivist
			| videographer
			| graphic-artist
			| photographer
			| statistician
			| other
			) 			#IMPLIED
	norm 		CDATA 			#IMPLIED
	comment 	CDATA 			#IMPLIED
	>
	<!--
	Element			revision-history
	Partial description	Information about the creative history of the document; also used as an audit trail.
	Full description	Includes who made changes, when the changes were made, and why.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		name
	Description		Name of the person who made the revision (usually editor or reporter).
	Attribute name		function
	Description		Job function of individual performing revision.
	Attribute name		norm
	Description		Normalized date/time of the revision.
	Attribute name		comment
	Description		Reason for the revision.
	-->

<!-- 	****************************************************************
	body
	**************************************************************** -->

<!ELEMENT body (body.head?, body.content*, body.end?)>
<!ATTLIST body
	%common-attributes;
	background 	CDATA 		#IMPLIED
	>
	<!--
	Element			body
	Partial description	The content portion of the NITF document.
	Full description	All items within body are meant for display to the user.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		A two-character ISO 639 language abbreviation, a hyphen (-), and a two-character ISO 3166/1 country abbreviation.
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		background
	Description		Background color information. Will be deprecated.
	-->

<!-- 	****************************************************************
	body.head
	**************************************************************** -->

<!ELEMENT body.head (
	hedline?,
	note*,
	rights?,
	byline*,
	distributor?,
	dateline*,
	abstract?,
	series?
	)>
<!ATTLIST body.head
	%global-attributes;
	>
	<!--
	Element			body.head
	Partial description	Metadata intended to be displayed to the reader.
	Full description	Holds content such as headline, byline, etc.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

<!ELEMENT hedline (hl1, hl2*)>
<!ATTLIST hedline
	%global-attributes;
	>
	<!--
	Element			hedline
	Partial description	Container for main headline and subheadlines.
	Full description	Provides a generally-dependable component for display in search results.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

	<!ELEMENT hl1 (%enriched-text;)*>
	<!ATTLIST hl1 %common-attributes;>
	<!--
	Element			hl1
	Partial description	Headline 1 (main-headline).
	Full description	The primary headline of the story.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).

	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	-->

	<!ELEMENT hl2 (%enriched-text;)*>
	<!ATTLIST hl2 %common-attributes;>
	<!--
	Element			hl2
	Partial description	Headline 2 (sub-headline)
	Full description	A subordinate headline for the article.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	-->

<!ELEMENT note (body.content)+>
<!ATTLIST note
	%common-attributes;
	noteclass 	(
			cpyrt
			| end
			| hd
			| editorsnote
			| trademk
			| undef
			) 			#IMPLIED
	type 		(std | pa | npa) 	"std"
	src 		CDATA 			#IMPLIED
	%url.link;
	>
	<!--
	Element			note
	Partial description	Document cautionary note.
	Full description	Potentially publishable.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		noteclass
	Description		The class of note. (Controlled vocabulary.)
	Attribute name		type
	Description		Standards, Publishable Advisory, Non-Publishable Advisory.
	Attribute name		src
	Description		A URL for the icon for a note.  Will be deprecated.
	Attribute name		md
	Description		A URL for an external note.  to be deprecated.
	-->

<!ELEMENT rights (
	#PCDATA
	| rights.owner
	| rights.startdate
	| rights.enddate
	| rights.agent
	| rights.geography
	| rights.type
	| rights.limitations
	)*>
<!ATTLIST rights
	%global-attributes;
	>
	<!--
	Element			rights
	Partial description	Information on rights holder.
	Full description	Rights to news material other than the copyrights, such as archival, syndication, or distribution.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

	<!ELEMENT rights.owner (#PCDATA)>
	<!ATTLIST rights.owner
		%global-attributes;
		contact 	CDATA 	#IMPLIED
		>
		<!--
		Element			rights.owner
		Partial description	Rights owner
		Full description	Owner of the rights to the material.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		contact
		Description		Contact information for the owner.
		-->

	<!ELEMENT rights.startdate (#PCDATA)>
	<!ATTLIST rights.startdate
		%global-attributes;
		norm 		CDATA 	#IMPLIED
		>
		<!--
		Element			rights.startdate
		Partial description	Rights start date.
		Full description	Initial reference date for material rights.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		norm
		Description		Normalized date/time for the start.
		-->

	<!ELEMENT rights.enddate (#PCDATA)>
	<!ATTLIST rights.enddate
		%global-attributes;
		norm 		CDATA 	#IMPLIED
		>
		<!--
		Element			rights.enddate
		Partial description	Rights end date.
		Full description	Terminal reference date for material rights.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		norm
		Description		Normalized date/time for the end.
		-->

	<!ELEMENT rights.agent (#PCDATA)>
	<!ATTLIST rights.agent
		%global-attributes;
		contact 	CDATA 	#IMPLIED
		>
		<!--
		Element			rights.agent
		Partial description	Rights agent.
		Full description	Name of the agent that holds the rights to the material.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		contact
		Description		Contact information for the agent.
		-->

	<!ELEMENT rights.geography (#PCDATA)>
	<!ATTLIST rights.geography
		%global-attributes;
		location-code 	CDATA 	#IMPLIED
		code-source 	CDATA 	#IMPLIED
		>
		<!--
		Element			rights.geography
		Partial description	Area to which rights apply.
		Full description	A geographic area.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		location-code
		Description		Coded location from standard list.
		Attribute name		code-source
		Description		Source for the location code.
		-->

	<!ELEMENT rights.type (#PCDATA)>
	<!ATTLIST rights.type
		%global-attributes;
		>
		<!--
		Element			rights.type
		Partial description	Type of rights claimed.
		Full description	Type of material rights claimed (such as distribution).

		Attribute name		id
		Description		Unique identifier for the element.
		-->

	<!ELEMENT rights.limitations (#PCDATA)>
	<!ATTLIST rights.limitations
		%global-attributes;
		>
		<!--
		Element			rights.limitations
		Partial description	Limitations (exclusive / nonexclusive) of rights.
		Full description	Limitation on use of material rights.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

<!ELEMENT byline (#PCDATA | person | byttl | location | virtloc)*>
<!ATTLIST byline
	%global-attributes;
	>
	<!--
	Element			byline
	Partial description	Container for byline information.
	Full description	Can either be structured with direct specification of the responsible person / entity and their title or unstructured text can be provided.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

	<!ELEMENT byttl (#PCDATA | org )*>
	<!ATTLIST byttl
		%global-attributes;
		>
		<!--
		Element			byttl
		Partial description	Byline title. Often contains an organization.
		Full description	Title of the person, or entity associated with the byline and a specified person.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

<!ELEMENT distributor (#PCDATA | org)*>
<!ATTLIST distributor
	%global-attributes;
	>
	<!--
	Element			distributor
	Partial description	Information distributor.
	Full description	May or may not be the owner or creator.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

<!ELEMENT dateline (#PCDATA | location | story.date)*>
<!ATTLIST dateline %common-attributes;>
	<!--
	Element			dateline
	Partial description	Container for dateline information.
	Full description	The date and location where the story was created.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	-->

	<!ELEMENT story.date (#PCDATA)>
	<!ATTLIST story.date
		%global-attributes;
		norm 		CDATA 	#IMPLIED
		>
		<!--
		Element			story.date
		Partial description	Date of story.
		Full description	Printable date, with normalized version as attribute.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		norm
		Description		Normalized date and time.
		-->

<!ELEMENT abstract (%block.content;)+>
<!ATTLIST abstract
	%global-attributes;
	>
	<!--
	Element			abstract
	Partial description	Story abstract
	Full description	summary or synopsis of the contents of the document.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

<!-- series: also allowed here -->

<!ELEMENT copyrite (#PCDATA | copyrite.year | copyrite.holder)*>
<!ATTLIST copyrite
	%global-attributes;
	>
	<!--
	Element			copyrite
	Partial description	Container for copyright information.
	Full description	A displayable statement about who owns the copyright to the article.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

	<!ELEMENT copyrite.year (#PCDATA)>
	<!ATTLIST copyrite.year
		%global-attributes;
		>
		<!--
		Element			copyrite.year
		Partial description	Copyright year
		Full description	The year the copyright ownership was established.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

	<!ELEMENT copyrite.holder (#PCDATA)>
	<!ATTLIST copyrite.holder
		%global-attributes;
		>
		<!--
		Element			copyrite.holder
		Partial description	Copyright holder.
		Full description	The name of the holder of the copyright.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

<!-- 	****************************************************************
	body.content
	**************************************************************** -->

<!ELEMENT body.content (block | %block.content;)*>
<!ATTLIST body.content
	%global-attributes;
	>
	<!--
	Element			body.content
	Partial description	Actual body content.
	Full description	Holds paragraphs, lists, tables, media, and other containers.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

<!ELEMENT block ((%block.head;)?, (%block.content;)*, (%block.end;)?)>
<!ATTLIST block %common-attributes;>
	<!--
	Element			block
	Partial description	A group of releated containers.
	Full description	This container can be used to organize a set of related containers, such as a sidebar.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	-->

<!ELEMENT p (%enriched-text;)*>
<!ATTLIST p
	%common-attributes;
	lede 		%boolean; 	#IMPLIED
	summary 	%boolean; 	#IMPLIED
	optional-text 	%boolean; 	#IMPLIED
	>
	<!--
	Element			p
	Partial description	Paragraph.
	Full description	An organized set of sentences.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		lede
	Description		Indicates that the paragraph is the lead paragraph(s) to the news object.
	Attribute name		summary
	Description		Indicates that the associated paragraphs form a summary.
	Attribute name		optional-text
	Description		Indicates that the paragraph could be considered optional.
	-->

<!-- hl2 is a block.content member -->

<!ELEMENT table (caption?, (col* | colgroup*), thead?, tfoot?, tbody+)>
<!ATTLIST table
	%common-attributes;
	tabletype 	ENTITY 		#IMPLIED
	align 		(
			left
			| center
			| right
			) 		#IMPLIED
	width 		CDATA 		#IMPLIED
	cols 		NMTOKEN 	#IMPLIED
	border 		CDATA 		#IMPLIED
	frame 		(
			void
			| above
			| below
			| hsides
			| lhs
			| rhs
			| vsides
			| box
			| border
			) 		#IMPLIED
	rules 		(
			none
			| basic
			| rows
			| cols
			| all
			) 		#IMPLIED
	cellspacing 	CDATA 		#IMPLIED
	cellpadding 	CDATA 		#IMPLIED
	table.fmt 	CDATA 		#IMPLIED
	table.domain 	CDATA 		#IMPLIED
	table.inst 	CDATA 		#IMPLIED
	>
	<!--
	Element			table
	Partial description	Table of data.
	Full description	Form is like the form of HTML tables.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		tabletype
	Description		Holds style information.
	Attribute name		align
	Description		Where the table should appear with respect to surrounding text. (Controlled vocabulary.)
	Attribute name		width
	Description		Width of the table, in pixels.
	Attribute name		cols
	Description		Number of columns in the table.
	Attribute name		border
	Description		Describes how the border (if any) should be rendered.
	Attribute name		frame
	Description		Specification of which parts of the frame around the table should be rendered.
	Attribute name		rules
	Description		Indicates the use of rules/lines between rows and columns.
	Attribute name		cellspacing
	Description		A measurement of the number of pixels between cells.
	Attribute name		cellpadding
	Description		A measurement of the number of pixels between a cell's border and its text.
	Attribute name		table.fmt
	Description		Provides an indication of the specific format of a table. Usually used to drive formatting process.
	Attribute name		table.domain
	Description		Provides an indication of the specific domain of a table. Usually used to drive formatting process.
	Attribute name		table.inst
	Description		Provides an indication of the specific instance of a table. Usually used to drive formatting process.
	-->

<!ELEMENT media (media-metadata*, media-reference, media-object?, media-caption*, media-producer?)>
<!ATTLIST media
	%common-attributes;
	media-type 	(
			text
			| audio
			| image
			| video
			| data
			| application
			| other
			)		#REQUIRED
	>
	<!--
	Element			media
	Partial description	Generalized media object.
	Full description	Used to package up a reference to an image, audio, video, etc. with its caption and credit.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).

	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		media-type
	Description		Audio or video or photo etc. (Controlled vocabulary.) 
	-->

	<!ELEMENT media-reference (#PCDATA)>
	<!ATTLIST media-reference
		%common-attributes;
		data-location		CDATA		#REQUIRED
		name			CDATA 		#IMPLIED
		source 			CDATA 		#IMPLIED
		mime-type 		CDATA 		#REQUIRED
		coding 			CDATA 		#IMPLIED
		time 			CDATA 		#IMPLIED
		time-unit-of-measure 	CDATA 		#IMPLIED
		outcue 			CDATA 		#IMPLIED
		source-credit 		CDATA 		#IMPLIED
		copyright 		CDATA 		#IMPLIED
		alternate-text 		CDATA 		#IMPLIED
		height 			NMTOKEN 	#IMPLIED
		width 			NMTOKEN 	#IMPLIED
		units 			(pixels) 	"pixels"
		imagemap 		CDATA 		#IMPLIED
		noflow 			(noflow) 	#IMPLIED
		>
		<!--
		Element			media-reference
		Partial description	Reference to a media object.
		Full description	Points to any object, such as photo, audio, video and text; or to executable files.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		Attribute name		data-location
		Description		Location of data other than a URN, such as a absolute server path.
		Attribute name		name
		Description		Alternate name or description of the object.
		Attribute name		source
		Description		URL for external media file. !!
		Attribute name		mime-type
		Description		Mime-type for the external media file.
		Attribute name		coding
		Description		How the information is coded.
		Attribute name		time
		Description		Length of time that the media file plays.
		Attribute name		time-unit-of-measure
		Description		Units in which the time attribute is measured.
		Attribute name		outcue
		Description		Provides information about the spoken information that ends an audio clip.
		Attribute name		source-credit
		Description		Indicates the source of the information.
		Attribute name		copyright
		Description		Copyright owner.
		Attribute name		alternate-text
		Description		Plain-text description that can serve as a substitute for the media object.
		Attribute name		height
		Description		Height of the media object.
		Attribute name		width
		Description		Width of the media object.
		Attribute name		units
		Description		Units used for width and height. Default is pixels.
		Attribute name		imagemap
		Description		Indication for whether the media object has an affiliated imagemap.
		Attribute name		noflow
		Description		Indicates if information can flow around figure.
		-->

	<!ELEMENT media-metadata EMPTY>
	<!ATTLIST media-metadata
		%common-attributes;
		name 		CDATA 		#REQUIRED
		value 		CDATA 		#IMPLIED
		>
		<!--
		Element			media-metadata
		Partial description	Generic metadata placeholder.
		Full description	Used when the attributes of media-reference do not suffice.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		Attribute name		name
		Description		Name of the metadata item.
		Attribute name		value
		Description		Value of the metadata item.
		-->

	<!ELEMENT media-object (#PCDATA)>
	<!ATTLIST media-object
		%common-attributes;
		encoding 	CDATA 	#REQUIRED
		>
		<!--
		Element			media-object
		Partial description	Inline media data.
		Full description	Holds binary information, or some other encoded format.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		Attribute name		encoding
		Description		Format the encoded data is in.
		-->

	<!ELEMENT media-caption (%enriched-text; | %block.content;)*>
	<!ATTLIST media-caption
		%common-attributes;
		>
		<!--
		Element			media-caption
		Partial description	Text describing media.
		Full description	Often rendered beneath a photo or video.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		-->

	<!ELEMENT media-producer (%enriched-text;)*>
	<!ATTLIST media-producer
		%common-attributes;
		>
		<!--
		Element			media-producer
		Partial description	Byline of media producer
		Full description	Also used as a credit for the media.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		-->

<!ELEMENT ol (li)+>
<!ATTLIST ol
	%common-attributes;
	continue 	(continue) 	#IMPLIED
	seqnum 		NMTOKEN 	#IMPLIED
	compact 	(compact) 	#IMPLIED
	>
	<!--
	Element			ol
	Partial description	Ordered list.
	Full description	Holds list items.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		continue
	Description		Continuation indicator.  To be deprecated.
	Attribute name		seqnum
	Description		Sequence number within an ordered list.
	Attribute name		compact
	Description		HTML formatting attribute. (Will be deprecated. !!)
	-->

<!ELEMENT ul (li)+>
<!ATTLIST ul
	%common-attributes;
	wrap 		(vert | horiz | none) 	"none"
	plain 		(plain) 		#IMPLIED
	dingbat 	ENTITY 			#IMPLIED
	src 		CDATA 			#IMPLIED
	%url.link;
	compact 	(compact) 		#IMPLIED
	>
	<!--
	Element			ul
	Partial description	Unordered list.
	Full description	Holds list items.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.  Candidate for deprecation.
	Attribute name		wrap
	Description		Indicates allowable word wrap.  Candidate for deprecation.
	Attribute name		plain
	Description		HTML formatting attribute.  Candidate for deprecation.
	Attribute name		dingbat
	Description		HTML formatting attribute.  to be deprecated.
	Attribute name		src
	Description		URL for bullet graphic. 
	Attribute name		md
	Description		HTML formatting attribute. to be deprecated.
	Attribute name		compact
	Description		HTML formatting attribute.  Will be deprecated !!
	-->

	<!ELEMENT li (%enriched-text; | %block.content;)*>
	<!ATTLIST li
		%common-attributes;
		dingbat 	ENTITY 		#IMPLIED
		src 		CDATA 		#IMPLIED
		%url.link;
		skip 		NMTOKEN 	"0"
		>
		<!--
		Element			li
		Partial description	List item.
		Full description	Holds content that is presented within a list.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		Attribute name		dingbat
		Description		HTML formatting attribute.
		Attribute name		src
		Description		Specifies location of an external object, in the form of a URI.
		Attribute name		md
		Description		HTML formatting attribute. to be deprecated.
		Attribute name		skip
		Description		HTML formatting attribute. to be deprecated.
		-->

<!ELEMENT dl (dt | dd)+>
<!ATTLIST dl %common-attributes;>
	<!--
	Element			dl
	Partial description	Definition list.
	Full description	Holds terms and their definitions.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	-->

	<!ELEMENT dt (%enriched-text;)*>
	<!ATTLIST dt %common-attributes;>
		<!--
		Element			dt
		Partial description	Definition term.
		Full description	Holds the content that is to be defined.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		-->

	<!ELEMENT dd (block)*>
	<!ATTLIST dd %common-attributes;>
		<!--
		Element			dd
		Partial description	Definition data.
		Full description	Holds the definition of the term.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		-->

<!ELEMENT bq (block+, credit?)*>
<!ATTLIST bq
	%common-attributes;
	nowrap 		(nowrap) 	#IMPLIED
	quote-source 	CDATA 		#IMPLIED
	>
	<!--
	Element			bq
	Partial description	Block quote.
	Full description	An extended quotation.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		nowrap
	Description		Directive not to wrap text in the cell.
	Attribute name		quote-source
	Description		Source of a quote.
	-->

	<!ELEMENT credit (%enriched-text;)*>
	<!ATTLIST credit %common-attributes;>
	<!--
	Element			credit
	Partial description	Names the source of the block quote.
	Full description	Provides attribution for a block quote.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	-->

<!ELEMENT fn (body.content)+>
<!ATTLIST fn %common-attributes;>
	<!--
	Element			fn
	Partial description	Footnote.
	Full description	Notes that are often rendered at the end of a document. 

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	-->

<!-- note is a block.content member -->

<!ELEMENT pre (#PCDATA)>
<!ATTLIST pre
	%global-attributes;
	>
	<!--
	Element			pre
	Partial description	Preformatted information.
	Full description	Carriage returns and fixed-width spacing should be maintained.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

<!ELEMENT hr EMPTY>
<!ATTLIST hr
	%global-attributes;
	src 		CDATA 	#IMPLIED
	>
	<!--
	Element			hr
	Partial description	Horizontal rule.
	Full description	A rendered divider between sections of text.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		src
	Description		URL for a graphic to use for the rule.
	-->


<!ELEMENT datasource (#PCDATA)>
<!ATTLIST datasource
	%global-attributes;
	>
	<!--
	Element			datasource
	Partial description	Source of the information grouped in a block element.
	Full description	Cites the source of block content. Allowed only at end of block.

	Attribute name		id
	Description		Unique identifier for the element.
	-->


<!-- 	****************************************************************
	table elements
	**************************************************************** -->

<!ELEMENT caption (%enriched-text; | %block.content;)*>
<!ATTLIST caption
	%common-attributes;
	align 		(
			top
			| bottom
			| left
			| right
			) 		#IMPLIED
	>
	<!--
	Element			caption
	Partial description	Text for the caption of a table.
	Full description	Appears only within the table element.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		align
	Description		Alignment of the text in the caption.
	-->

<!ELEMENT col EMPTY>
<!ATTLIST col
	%common-attributes;
	span 		NMTOKEN 	"1"
	width 		CDATA 		#IMPLIED
	%cell.align;
	%cell.valign;
	>
	<!--
	Element			col
	Partial description	Column.
	Full description	Used to specify formatting for a table column.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		span
	Description		Number of columns a header cell spans.
	Attribute name		width
	Description		Width of the column, in pixels.
	Attribute name		align
	Description		Alignment of text in the column.
	Attribute name		char
	Description		Specifies a single character within a text fragment to act as the axis for text alignment. Default varies by language; for example, default for en-US is period (.).
	Attribute name		charoff
	Description		Specifies the offset to the first occurance of the character specified in char. !!
	Attribute name		valign
	Description		Vertical alignment of text in the column.
	-->

<!ELEMENT colgroup (col+)>
<!ATTLIST colgroup
	%common-attributes;
	%cell.align;
	%cell.valign;
	>
	<!--
	Element			colgroup
	Partial description	Column group.
	Full description	Used to specify formatting for a table column.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		align
	Description		Alignment of text in the column group.
	Attribute name		char
	Description		HTML formatting attribute.
	Attribute name		charoff
	Description		HTML formatting attribute.
	Attribute name		valign
	Description		Vertical alignment of text in the column group.
	-->

<!ELEMENT thead (tr+)>
<!ATTLIST thead
	%common-attributes;
	%cell.align;
	%cell.valign;
	>
	<!--
	Element			thead
	Partial description	Table heading.
	Full description	Used to group rows that can consistently be displayed atop a table.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		align
	Description		Alignment of text in the column group.
	Attribute name		char
	Description		HTML formatting attribute.
	Attribute name		charoff
	Description		HTML formatting attribute.
	Attribute name		valign
	Description		Vertical alignment of text in the column group.
	-->

<!ELEMENT tbody (tr+)>
<!ATTLIST tbody
	%common-attributes;
	%cell.align;
	%cell.valign;
	>
	<!--
	Element			tbody
	Partial description	Table body.
	Full description	Holds the bulk of the data rows of a table.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		align
	Description		Alignment of text in the column group.
	Attribute name		char
	Description		HTML formatting attribute.
	Attribute name		charoff
	Description		HTML formatting attribute.
	Attribute name		valign
	Description		Vertical alignment of text in the column group.
	-->

<!ELEMENT tfoot (tr+)>
<!ATTLIST tfoot
	%common-attributes;
	%cell.align;
	%cell.valign;
	>
	<!--
	Element			tfoot
	Partial description	Table footer.
	Full description	Used to group rows that can consistently be displayed below a table.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		align
	Description		Alignment of text in the column group.
	Attribute name		char
	Description		HTML formatting attribute.
	Attribute name		charoff
	Description		HTML formatting attribute.
	Attribute name		valign
	Description		Vertical alignment of text in the column group.
	-->

<!ELEMENT tr (th | td)+>
<!ATTLIST tr
	%common-attributes;
	%cell.align;
	%cell.valign;
	>
	<!--
	Element			tr
	Partial description	Table row.
	Full description	Holds cells of a table.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		align
	Description		Alignment of text in the column group.
	Attribute name		char
	Description		HTML formatting attribute.
	Attribute name		charoff
	Description		HTML formatting attribute.
	Attribute name		valign
	Description		Vertical alignment of text in the column group.
	-->

<!ELEMENT th (%enriched-text; | %block.content;)*>
<!ATTLIST th
	%common-attributes;
	axis 		CDATA 		#IMPLIED
	axes 		CDATA 		#IMPLIED
	nowrap 		(nowrap) 	#IMPLIED
	rowspan 	NMTOKEN 	"1"
	colspan 	NMTOKEN 	"1"
	%cell.align;
	%cell.valign;
	>
	<!--
	Element			th
	Partial description	Table header cell.
	Full description	Holds content intended to be a label.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		axis
	Description		HTML formatting attribute.
	Attribute name		axes
	Description		HTML formatting attribute.
	Attribute name		nowrap
	Description		Directive not to wrap text in the cell.
	Attribute name		rowspan
	Description		Number of horizontal rows a cell spans.
	Attribute name		colspan
	Description		Number of vertical columns a cell spans.
	Attribute name		align
	Description		Alignment of text in the column group.
	Attribute name		char
	Description		HTML formatting attribute.
	Attribute name		charoff
	Description		HTML formatting attribute.
	Attribute name		valign
	Description		Vertical alignment of text in the column group.
	-->

<!ELEMENT td (%enriched-text; | %block.content;)*>
<!ATTLIST td
	%common-attributes;
	axis 		CDATA 		#IMPLIED
	axes 		CDATA 		#IMPLIED
	nowrap 		(nowrap) 	#IMPLIED
	rowspan 	NMTOKEN 	"1"
	colspan 	NMTOKEN 	"1"
	%cell.align;
	%cell.valign;
	>
	<!--
	Element			td
	Partial description	Table data cell.
	Full description	Holds content intended to be data.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		axis
	Description		HTML formatting attribute.
	Attribute name		axes
	Description		HTML formatting attribute.
	Attribute name		nowrap
	Description		Directive not to wrap text in the cell.
	Attribute name		rowspan
	Description		Number of horizontal rows a cell spans.
	Attribute name		colspan
	Description		Number of vertical columns a cell spans.
	Attribute name		align
	Description		Alignment of text in the column group.
	Attribute name		char
	Description		HTML formatting attribute.
	Attribute name		charoff
	Description		HTML formatting attribute.
	Attribute name		valign
	Description		Vertical alignment of text in the column group.
	-->

<!-- 	****************************************************************
	text elements
		chron | copyrite | event | function | location | money | num
		| object.title | org | person | postaddr | virtloc | a | br
		| em | lang | pronounce | q
	**************************************************************** -->

<!ELEMENT chron (#PCDATA)>
<!ATTLIST chron
	%global-attributes;
	norm 		CDATA 	#IMPLIED
	>
	<!--
	Element			chron
	Partial description	Date and time.
	Full description	Used to normalize inline date and time references.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		norm
	Description		Normalized value of the time.
	-->

<!-- copyrite allowed here, also -->

<!ELEMENT event (#PCDATA | alt-code)*>
<!ATTLIST event
	%global-attributes;
	start-date 	CDATA 		#IMPLIED
	end-date 	CDATA 		#IMPLIED
	idsrc 		CDATA 		#REQUIRED
	value 		CDATA 		#REQUIRED
	>
	<!--
	Element			event
	Partial description	An event.
	Full description	An activity that is considered newsworthy.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		start-date
	Description		ISO Date for when the event is set to start.
	Attribute name		end-date
	Description		ISO Date for when the event is set to end.
	Attribute name		idsrc
	Description		The source (taxonomy) for the element's value attribute.
	Attribute name		value
	Description		The code or symbol for the element.
	-->

<!ELEMENT function (#PCDATA | alt-code)*>
<!ATTLIST function
	%global-attributes;
	idsrc 		CDATA 		#REQUIRED
	value 		CDATA 		#REQUIRED
	>
	<!--
	Element			function
	Partial description	Role played by a person.
	Full description	Can be either a description, such as interior decorator, or a formal title, such as president, chairman, owner, captain, manager. 

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		idsrc
	Description		The source (taxonomy) for the element's value attribute.
	Attribute name		value
	Description		The code or symbol for the element.
	-->

<!ELEMENT location (#PCDATA | sublocation | city | state | region | country | alt-code)*>
<!ATTLIST location
	%global-attributes;
	location-code 	CDATA 	#IMPLIED
	code-source 	CDATA 	#IMPLIED
	>
	<!--
	Element			location
	Partial description	Significant place mentioned in an article.
	Full description	Used to normalize locations.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		location-code
	Description		The code or symbol for the element.
	Attribute name		code-source
	Description		The source (taxonomy) for the element's location-code.
	-->

	<!ELEMENT sublocation (#PCDATA | alt-code)*>
	<!ATTLIST sublocation
		%global-attributes;
		location-code 	CDATA 	#IMPLIED
		code-source 	CDATA 	#IMPLIED
		>
		<!--
		Element			sublocation
		Partial description	Named region within city or state.
		Full description	Generic holder for more detailed location information.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		location-code
		Description		The code or symbol for the element.
		Attribute name		code-source
		Description		The source (taxonomy) for the element's location-code.
		-->

	<!ELEMENT city (#PCDATA | alt-code)*>
	<!ATTLIST city
		%global-attributes;
		city-code 	CDATA 	#IMPLIED
		code-source 	CDATA 	#IMPLIED
		>
		<!--
		Element			city
		Partial description	City, town, village, etc.
		Full description	Used to normalize city, town names.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		city-code
		Description		The code or symbol for the element.
		Attribute name		code-source
		Description		The source (taxonomy) for the element's city-code.
		-->

	<!ELEMENT state (#PCDATA | alt-code)*>
	<!ATTLIST state
		%global-attributes;
		state-code 	CDATA 	#IMPLIED
		code-source 	CDATA 	#IMPLIED
		>
		<!--
		Element			state
		Partial description	State or province or region.
		Full description	Used to normalize these locations.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		state-code
		Description		The code or symbol for the element.
		Attribute name		code-source
		Description		The source (taxonomy) for the element's state-code.
		-->

	<!ELEMENT region (#PCDATA | alt-code)*>
	<!ATTLIST region
		%global-attributes;
		region-code 	CDATA 	#IMPLIED
		code-source 	CDATA 	#IMPLIED
		>
		<!--
		Element			region
		Partial description	Geographic area.
		Full description	Used to normalize regions.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		region-code
		Description		The code or symbol for the element.
		Attribute name		code-source
		Description		The source (taxonomy) for the element's region-code.
		-->

	<!ELEMENT country (#PCDATA | alt-code)*>
	<!ATTLIST country
		%global-attributes;
		iso-cc 		CDATA 	#IMPLIED
		>
		<!--
		Element			country
		Partial description	Geographic area with a government.
		Full description	Used to normalize countries.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		iso-cc
		Description		Country code as specified in ISO 3166.
		-->

<!ELEMENT money (#PCDATA)>
<!ATTLIST money
	%global-attributes;
	unit 		CDATA 	#IMPLIED
	date 		CDATA 	#IMPLIED
	>
	<!--
	Element			money
	Partial description	Monetary item.
	Full description	Used to identify units of money.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		unit
	Description		The currency used.
	Attribute name		date
	Description		ISO date for when this currency value was quoted.
	-->

<!ELEMENT num (#PCDATA | frac | sub | sup)*>
<!ATTLIST num
	%global-attributes;
	units 		CDATA 	#IMPLIED
	decimal-ch 	CDATA 	#IMPLIED
	thousands-ch 	CDATA 	#IMPLIED
	>
	<!--
	Element			num
	Partial description	Numeric data.
	Full description	Used to normalize numbers.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		units
	Description		Units the number is in.
	Attribute name		decimal-ch
	Description		Character used to separate decimalized portion. 
	Attribute name		thousands-ch
	Description		Character to separate thousands groups.
	-->

	<!ELEMENT frac (numer, frac-sep?, denom)>
	<!ATTLIST frac
		%global-attributes;
		>
		<!--
		Element			frac
		Partial description	Fraction.
		Full description	Separates the numerator from the denominator.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

		<!ELEMENT numer (#PCDATA)>
		<!ATTLIST numer
			%global-attributes;
			>
			<!--
			Element			numer
			Partial description	Fraction numerator.
			Full description	The top part of a fraction.

			Attribute name		id
			Description		Unique identifier for the element.
			-->

		<!ELEMENT frac-sep (#PCDATA)>
		<!ATTLIST frac-sep
			%global-attributes;
			>
			<!--
			Element			frac-sep
			Partial description	Fraction separator.
			Full description	Holds the preferred character, normally a slash.

			Attribute name		id
			Description		Unique identifier for the element.
			-->

		<!ELEMENT denom (#PCDATA)>
		<!ATTLIST denom
			%global-attributes;
			>
			<!--
			Element			denom
			Partial description	Fraction denominator.
			Full description	The bottom part of a fraction.

			Attribute name		id
			Description		Unique identifier for the element.
			-->

	<!ELEMENT sub (#PCDATA)>
	<!ATTLIST sub %common-attributes;>
		<!--
		Element			sub
		Partial description	Subscript.
		Full description	Generally rendered in small type and vertically aligned lower than the main text. 

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		-->

	<!ELEMENT sup (#PCDATA)>
	<!ATTLIST sup %common-attributes;>
		<!--
		Element			sup
		Partial description	Superscript.
		Full description	Generally rendered in small type and vertically aligned higher than the main text.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		class
		Description		An open placeholder for categorization.
		Attribute name		style
		Description		An open placeholder for reference by an external stylesheet.
		Attribute name		lang
		Description		Language for the element. Uses en-US (per ISO 639 and 3166).
		Attribute name		dir
		Description		Direction - rtl (right-to-left) or ltr - of language rendering.
		-->

<!ELEMENT object.title (#PCDATA | alt-code)*>
<!ATTLIST object.title 
	%common-attributes;
	idsrc 	CDATA 	#REQUIRED
	value 	CDATA 	#REQUIRED
	>
	<!--
	Element			object.title
	Partial description	Title of inline object such as book, song, artwork, etc.
	Full description	Used to normalize these values.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		idsrc
	Description		The source (taxonomy) for the element's value.
	Attribute name		value
	Description		The code or symbol for the element.
	-->

<!ELEMENT org (#PCDATA | alt-code)*>
<!ATTLIST org
	%global-attributes;
	idsrc 	CDATA 	#REQUIRED
	value 	CDATA 	#REQUIRED
	>
	<!--
	Element			org
	Partial description	Organization.
	Full description	Used for companies (both private and public) and non-profits.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		idsrc
	Description		The source (taxonomy) for the element's value.
	Attribute name		value
	Description		The code or symbol for the element.
	-->

	<!ELEMENT alt-code EMPTY>
	<!ATTLIST alt-code
		%global-attributes;
		idsrc 	CDATA 	#REQUIRED
		value 	CDATA 	#REQUIRED
		>
		<!--
		Element			alt-code
		Partial description	An alternate symbol for the phrase.
		Full description	Used when an item has more than one symbol behind it.

		Attribute name		id
		Description		Unique identifier for the element.
		Attribute name		idsrc
		Description		The source (taxonomy) for the element's value.
		Attribute name		value
		Description		An alternate code or symbol for the element.
		-->

<!ELEMENT person (#PCDATA | name.given | name.family | function | alt-code)*>
<!ATTLIST person
	%global-attributes;
	idsrc 	CDATA 	#REQUIRED
	value 	CDATA 	#REQUIRED
	>
	<!--
	Element			person
	Partial description	Human individual.
	Full description	Used to normalize people.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		idsrc
	Description		The source (taxonomy) for the element's value.
	Attribute name		value
	Description		The code or symbol for the element.
	-->

	<!ELEMENT name.given (#PCDATA)>
	<!ATTLIST name.given
		%global-attributes;
		>
		<!--
		Element			name.given
		Partial description	Given name.
		Full description	In the U.S., the first name of an individual.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

	<!ELEMENT name.family (#PCDATA)>
	<!ATTLIST name.family
		%global-attributes;
		>
		<!--
		Element			name.family
		Partial description	Family name.
		Full description	In the U.S., the last name of an individual.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

<!ELEMENT postaddr (addressee, delivery.point?, (postcode | delivery.office | region | country)*)>
<!ATTLIST postaddr
	%global-attributes;
	>
	<!--
	Element			postaddr
	Partial description	Mailing address.
	Full description	Used to deliver mail.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

<!ELEMENT virtloc (#PCDATA | alt-code)*>
<!ATTLIST virtloc
	%global-attributes;
	idsrc 		CDATA 		#REQUIRED
	value 		CDATA 		#REQUIRED
	>
	<!--
	Element			virtloc
	Partial description	Virtual Location.
	Full description	A location in cyberspace.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		idsrc
	Description		The source (taxonomy) for the element's value attribute.
	Attribute name		value
	Description		The code or symbol for the element.
	-->

<!ELEMENT a (%enriched-text;)*>
<!ATTLIST a
	%common-attributes;
	href 		CDATA 		#IMPLIED
	name 		CDATA 		#IMPLIED
	%url.link;
	rel 		NMTOKEN 	#IMPLIED
	rev 		NMTOKEN 	#IMPLIED
	title 		CDATA 		#IMPLIED
	methods 	NMTOKENS 	#IMPLIED
	>
	<!--
	Element			a
	Partial description	Anchor for hypertext links.
	Full description	Allows users to traverse to other documents.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		href
	Description		URL for where the hypertext anchor leads.
	Attribute name		name
	Description		Alternate name or description of the link, such as "Link to news item."
	Attribute name		md
	Description		HTML formatting attribute. To be deprecated. !!
	Attribute name		rel
	Description		Specifies the relationship from the source to the target. !!
	Attribute name		rev
	Description		Specifies the relationship from the target to the source.
	Attribute name		title
	Description		Title for the document to be linked to.
	Attribute name		methods
	Description		HTML formatting attribute. To be deprecated. !!
	-->

<!ELEMENT br EMPTY>
<!ATTLIST br
	%global-attributes;
	>
	<!--
	Element			br
	Partial description	Forced line break.
	Full description	Often used within headlines.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

<!ELEMENT em (%enriched-text;)*>
<!ATTLIST em %common-attributes;>
	<!--
	Element			em
	Partial description	Emphasis.
	Full description	Can be rendered as bold, italics, or another style.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	-->

<!ELEMENT lang (%enriched-text;)*>
<!ATTLIST lang %common-attributes;>
	<!--
	Element			lang
	Partial description	Language identifier.
	Full description	Used to separate inline changes of language.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	-->

<!ELEMENT pronounce (%enriched-text;)*>
<!ATTLIST pronounce
	%global-attributes;
	guide 		CDATA 	#IMPLIED
	phonetic 	CDATA 	#IMPLIED
	>
	<!--
	Element			pronounce
	Partial description	Pronunciation Information.
	Full description	Used to elaborate on how a term is spoken.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		guide
	Description		Source used to create pronunciation.
	Attribute name		phonetic
	Description		Phonetic pronunciation of an phrase.
	-->

<!ELEMENT q (%enriched-text;)*>
<!ATTLIST q
	%common-attributes;
	quote-source 	CDATA 	#IMPLIED
	>
	<!--
	Element			q
	Partial description	Quotation.
	Full description	Words directly attributed to an individual.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		class
	Description		An open placeholder for categorization.
	Attribute name		style
	Description		An open placeholder for reference by an external stylesheet.
	Attribute name		lang
	Description		Language for the element. Uses en-US (per ISO 639 and 3166).
	Attribute name		dir
	Description		Direction - rtl (right-to-left) or ltr - of language rendering.
	Attribute name		quote-source
	Description		Who said or wrote the quotation.
	-->

<!-- 	****************************************************************
	postaddr elements
	addressee, delivery.point?, (postcode | delivery.office | region | country
	**************************************************************** -->

<!ELEMENT addressee (person, function?, care.of?)>
<!ATTLIST addressee
	%global-attributes;
	>
	<!--
	Element			addressee
	Partial description	Person or organization to whom the postal item is being sent.
	Full description	Used in a postal address.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

	<!ELEMENT care.of (#PCDATA)>
	<!ATTLIST care.of
		%global-attributes;
		>
		<!--
		Element			care.of
		Partial description	Poste restante.
		Full description	An alternative receiver of the postal item.

		Attribute name		id
		Description		Unique identifier for the element.
		-->

<!ELEMENT delivery.point (#PCDATA | br)*>
<!ATTLIST delivery.point
	%global-attributes;
	point-code 	CDATA 	#IMPLIED
	code-source 	CDATA 	#IMPLIED
	>
	<!--
	Element			delivery.point
	Partial description	Street, PO Box No.
	Full description	Precise point of delivery.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		point-code
	Description		Coded location for a delivery point.
	Attribute name		code-source
	Description		Source of coded list information.
	-->

<!ELEMENT postcode (#PCDATA)>
<!ATTLIST postcode
	%global-attributes;
	code-source 	CDATA 	#IMPLIED
	>
	<!--
	Element			postcode
	Partial description	Postal code.
	Full description	Used by postal agency to improve delivery efficiency.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		code-source
	Description		Source of coded list information.
	-->

<!ELEMENT delivery.office (#PCDATA | br)*>
<!ATTLIST delivery.office
	%global-attributes;
	office-code 	CDATA 	#IMPLIED
	code-source 	CDATA 	#IMPLIED
	>
	<!--
	Element			delivery.office
	Partial description	Postal city or town.
	Full description	Where the post office is located.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		office-code
	Description		Coded location of office from referenced coded source.
	Attribute name		code-source
	Description		Source of coded list information.
	-->

<!-- region also allowed -->

<!-- country also allowed -->

<!-- 	****************************************************************
	body.end
	**************************************************************** -->

<!ELEMENT body.end (tagline?, bibliography?)>
<!ATTLIST body.end
	%global-attributes;
	>
	<!--
	Element			body.end
	Partial description	Information at the end of an article body
	Full description	Holds a tagline and/or a bibliography.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

<!ELEMENT tagline (%enriched-text;)*>
<!ATTLIST tagline
	%global-attributes;
	type 		(std | pa | npa) 	"std"
	>
	<!--
	Element			tagline
	Partial description	A byline at the end of a story.
	Full description	Example: Stuart Myles contributed to this article.

	Attribute name		id
	Description		Unique identifier for the element.
	Attribute name		type
	Description		Standard, publishable-advisory, non-publishable advisory.
	-->

<!ELEMENT bibliography (#PCDATA)>
<!ATTLIST bibliography
	%global-attributes;
	>
	<!--
	Element			bibliography
	Partial description	Free-form bibliographic data.
	Full description	Used to elaborate on the source of information.

	Attribute name		id
	Description		Unique identifier for the element.
	-->

\ No newline at end of file
diff --git a/xml/nitf/sample.xml b/xml/nitf/sample.xml
new file mode 100644
index 0000000..f379a19
--- /dev/null
+++ b/xml/nitf/sample.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nitf>
+
+  <!-- Example of markup of URLs (at the bottom of the story) -->
+
+ <head>
+  <meta name="ap-cycle" content="AP"/>
+  <meta name="ap-online-code" content="1700"/>
+  <meta name="ap-company" content="CO:Media Metrix Inc;TS:MMXI;IG:SVC;"/>
+  <meta name="ap-routing" content="ENTITLEMENTS,pfONLINE,pf1700"/>
+  <meta name="ap-format" content="bx"/>
+  <meta name="ap-category" content="f"/>
+  <meta name="ap-selector" content="-----"/>
+  <meta name="ap-transref" content="V0347"/>
+  <docdata>
+   <doc-id regsrc="AP" id-string="D76UIMO80"/>
+   <urgency ed-urg="7"/>
+   <date.issue norm="20000911T185842Z"/>
+   <du-key key="Napster Traffic"/>
+   <doc.copyright holder="(AP)"/>
+  </docdata>
+ </head>
+ <body>
+  <body.head>
+   <hedline>
+    <hl1>Use of Napster Quadruples</hl1>
+   </hedline>
+   <byline>By PETER SVENSSON
+    <byttl>AP Business Writer</byttl>
+   </byline>
+   <distributor>The Associated Press</distributor>
+   <dateline>
+    <location>NEW YORK</location>
+   </dateline>
+  </body.head>
+  <body.content>
+   <block>
+    <p>Despite the uncertain legality of the Napster online music-sharing service, the number of people
+using it more than quadrupled in just five months, Media Metrix said Monday.</p>
+    <p>That made Napster the fastest-growing software application ever recorded by the Internet research
+company.</p>
+    <p>From 1.1 million home users in the United States in February, the first month Media Metrix
+tracked the application, Napster use rocketed to 4.9 million users in July.</p>
+    <p>That represents 6 percent of U.S. home PC users who have modems, said Media Metrix, which pays
+people to install monitoring software on their computers.</p>
+    <p>It estimates total usage from a panel of about 50,000 people in the United States.</p>
+    <p>Napster was also used at work by 887,000 people in July, Media Metrix said.</p>
+    <p>Napster Inc. has been sued by the recording industry for allegedly enabling copyright
+infringement. The federal government weighed in on the case Friday, saying the service is not protected
+under a key copyright law, as the San Mateo, Calif., company claims.</p>
+    <p>Bruce Ryon, head of Media Metrix's New Media Group, said Napster was used by "the full spectrum of PC users, not just the youth with time on their hands and a passion for music."</p>
+    <p>The Napster program allows users to copy digital music files from the hard drives of other
+users over the Internet.</p>
+    <p>Napster Inc. said last week that 28 million people had downloaded its program. It does not reveal
+its own figures for how many people actually use the software.</p>
+    <p>Because the program connects to the company's computers over the Internet every time
+it is run, Napster Inc. can track usage exactly.</p>
+    <p>__</p>
+    <p>On the Net:</p>
+    <p><a href="http://www.napster.com">
+http://www.napster.com</a></p>
+    <p><a href="http://www.mediametrix.com">
+http://www.mediametrix.com</a></p>
+   </block>
+  </body.content>
+ </body>
+</nitf>
diff --git a/xml/nitf/valid.xml b/xml/nitf/valid.xml
new file mode 100644
index 0000000..6643596
--- /dev/null
+++ b/xml/nitf/valid.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE nitf SYSTEM "nitf.dtd">
+<nitf>
+
+  <!-- Example of markup of URLs (at the bottom of the story) -->
+
+ <head>
+  <meta name="ap-cycle" content="AP"/>
+  <meta name="ap-online-code" content="1700"/>
+  <meta name="ap-company" content="CO:Media Metrix Inc;TS:MMXI;IG:SVC;"/>
+  <meta name="ap-routing" content="ENTITLEMENTS,pfONLINE,pf1700"/>
+  <meta name="ap-format" content="bx"/>
+  <meta name="ap-category" content="f"/>
+  <meta name="ap-selector" content="-----"/>
+  <meta name="ap-transref" content="V0347"/>
+  <docdata>
+   <doc-id regsrc="AP" id-string="D76UIMO80"/>
+   <urgency ed-urg="7"/>
+   <date.issue norm="20000911T185842Z"/>
+   <du-key key="Napster Traffic"/>
+   <doc.copyright holder="(AP)"/>
+  </docdata>
+ </head>
+ <body>
+  <body.head>
+   <hedline>
+    <hl1>Use of Napster Quadruples</hl1>
+   </hedline>
+   <byline>By PETER SVENSSON
+    <byttl>AP Business Writer</byttl>
+   </byline>
+   <distributor>The Associated Press</distributor>
+   <dateline>
+    <location>NEW YORK</location>
+   </dateline>
+  </body.head>
+  <body.content>
+   <block>
+    <p>Despite the uncertain legality of the Napster online music-sharing service, the number of people
+using it more than quadrupled in just five months, Media Metrix said Monday.</p>
+    <p>That made Napster the fastest-growing software application ever recorded by the Internet research
+company.</p>
+    <p>From 1.1 million home users in the United States in February, the first month Media Metrix
+tracked the application, Napster use rocketed to 4.9 million users in July.</p>
+    <p>That represents 6 percent of U.S. home PC users who have modems, said Media Metrix, which pays
+people to install monitoring software on their computers.</p>
+    <p>It estimates total usage from a panel of about 50,000 people in the United States.</p>
+    <p>Napster was also used at work by 887,000 people in July, Media Metrix said.</p>
+    <p>Napster Inc. has been sued by the recording industry for allegedly enabling copyright
+infringement. The federal government weighed in on the case Friday, saying the service is not protected
+under a key copyright law, as the San Mateo, Calif., company claims.</p>
+    <p>Bruce Ryon, head of Media Metrix's New Media Group, said Napster was used by "the full spectrum of PC users, not just the youth with time on their hands and a passion for music."</p>
+    <p>The Napster program allows users to copy digital music files from the hard drives of other
+users over the Internet.</p>
+    <p>Napster Inc. said last week that 28 million people had downloaded its program. It does not reveal
+its own figures for how many people actually use the software.</p>
+    <p>Because the program connects to the company's computers over the Internet every time
+it is run, Napster Inc. can track usage exactly.</p>
+    <p>__</p>
+    <p>On the Net:</p>
+    <p><a href="http://www.napster.com">
+http://www.napster.com</a></p>
+    <p><a href="http://www.mediametrix.com">
+http://www.mediametrix.com</a></p>
+   </block>
+  </body.content>
+ </body>
+</nitf>
diff --git a/xml/periodic_table.xml b/xml/periodic_table.xml
new file mode 100644
index 0000000..1ff8ff3
--- /dev/null
+++ b/xml/periodic_table.xml
@@ -0,0 +1,3371 @@
+<?xml version="1.0"?>
+<PERIODIC_TABLE>
+
+  <ATOM>
+    <NAME>Actinium</NAME>
+    <ATOMIC_WEIGHT>227</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>89</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3470</BOILING_POINT>
+    <SYMBOL>Ac</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      10.07
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Rn] 6d1 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.1</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.88</ATOMIC_RADIUS>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      22.5
+    </ATOMIC_VOLUME>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.12
+    </SPECIFIC_HEAT_CAPACITY>
+    <IONIZATION_POTENTIAL>5.17</IONIZATION_POTENTIAL>
+
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      12
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Aluminum</NAME>
+    <ATOMIC_WEIGHT>26.98154</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>13</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2740</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">933.5</MELTING_POINT>
+    <SYMBOL>Al</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      2.7
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ne] 3s2 p1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.18</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.61</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.43</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      290.8
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      10
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      10.7
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.986</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.9
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      237
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Americium</NAME>
+    <ATOMIC_WEIGHT>243</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>95</ATOMIC_NUMBER>
+    <OXIDATION_STATES>6, 5, 4, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2880</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1449</MELTING_POINT>
+    <SYMBOL>Am</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      13.7
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Rn] 5f7 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.84</ATOMIC_RADIUS>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      20.8
+    </ATOMIC_VOLUME>
+    <IONIZATION_POTENTIAL>6</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Antimony</NAME>
+    <ATOMIC_WEIGHT>121.757</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>51</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-3, 5</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1860</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">903.91</MELTING_POINT>
+    <SYMBOL>Sb</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      6.69
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p3 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.4</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.05</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.59</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      67.97
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      18.4
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      19.83
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>8.641</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.207
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      24.3
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+  
+  <ATOM STATE="GAS">
+    <NAME>Argon</NAME>
+    <ATOMIC_WEIGHT>39.948</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>18</ATOMIC_NUMBER>
+    <BOILING_POINT UNITS="Kelvin">87.45</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">83.95</MELTING_POINT>
+    <SYMBOL>Ar</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.784
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ne] 3s2 p6 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.98</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">0.88</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      6.506
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      24.2
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      1.188
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>15.759</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.52
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.0177
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Arsenic</NAME>
+    <ATOMIC_WEIGHT>74.9216</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>33</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-3, 5</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">876</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1090</MELTING_POINT>
+    <SYMBOL>As</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      5.78
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p3 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.2</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.18</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.39</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      32.4
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      13.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      27.7
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>9.81</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.33
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      50
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Astatine</NAME>
+    <ATOMIC_WEIGHT>210</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>85</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-1, 3, 5, 7</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">610</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">575</MELTING_POINT>
+    <SYMBOL>At</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p5 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.47</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.45</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      30
+    </HEAT_OF_VAPORIZATION>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      12
+    </HEAT_OF_FUSION>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      1.7
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM STATE="SOLID">
+    <NAME>Gold</NAME>
+    <ATOMIC_WEIGHT>196.9665</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>79</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3130</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1337.58</MELTING_POINT>
+    <SYMBOL>Au</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      19.3
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.34</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.54</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.46</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      324.43
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      10.2
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      12.36
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>9.225</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.128
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      317
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Boron</NAME>
+    <ATOMIC_WEIGHT>10.811</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>5</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4275</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2365</MELTING_POINT>
+    <SYMBOL>B</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      2.34
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s2 2s2 p1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.82</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.04</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">0.98</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      507.8
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      4.6
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      22.6
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>8.298</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      1.026
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      27
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Barium</NAME>
+    <ATOMIC_WEIGHT>137.33</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>56</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2078</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1002</MELTING_POINT>
+    <SYMBOL>Ba</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      3.59
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.98</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0.89</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">2.22</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      140.2
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      39
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      8.01
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.212</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.204
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      18.4
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Beryllium</NAME>
+    <ATOMIC_WEIGHT>9.01218</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>4</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3243</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1560</MELTING_POINT>
+    <SYMBOL>Be</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.85
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s2 2s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.9</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.57</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.12</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      297
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      5
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      11.71
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>9.322</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      1.825
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      200
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Bohrium</NAME>
+    <ATOMIC_WEIGHT>262</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>107</ATOMIC_NUMBER>
+    <SYMBOL>Bh</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d5 7s2 </ELECTRON_CONFIGURATION>
+
+
+
+  </ATOM>
+
+  <ATOM STATE="SOLID">
+    <NAME>Bismuth</NAME>
+    <ATOMIC_WEIGHT>208.9804</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>83</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 5</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1837</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">544.59</MELTING_POINT>
+    <SYMBOL>Bi</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      9.75
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p3 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.46</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.02</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.7</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      179
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      21.3
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      11
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.289</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.122
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      7.87
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Berkelium</NAME>
+    <ATOMIC_WEIGHT>247</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>97</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4, 3</OXIDATION_STATES>
+    <SYMBOL>Bk</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f9 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+
+    <IONIZATION_POTENTIAL>6.23</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Bromine</NAME>
+    <ATOMIC_WEIGHT>79.904</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>35</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-1, 5</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">331.85</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">265.95</MELTING_POINT>
+    <SYMBOL>Br</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      3.12
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p5 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.14</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.96</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.12</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      14.725
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      23.5
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      5.286
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>11.814</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.226
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.122
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM  STATE="SOLID">
+    <NAME>Carbon</NAME>
+    <ATOMIC_WEIGHT>12.011</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>6</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-4, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">5100</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">3825</MELTING_POINT>
+    <SYMBOL>C</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      2.26
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s2 2s2 p2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.77</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.55</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">0.91</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      715
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      5.3
+    </ATOMIC_VOLUME>
+    <IONIZATION_POTENTIAL>11.26</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.709
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      155
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Calcium</NAME>
+    <ATOMIC_WEIGHT>40.078</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>20</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1757</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1112</MELTING_POINT>
+    <SYMBOL>Ca</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.55
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 4s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.74</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.97</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      154.67
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      29.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      8.53
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.113</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.647
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      200
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Cadmium</NAME>
+    <ATOMIC_WEIGHT>112.41</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>48</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1040</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">594.26</MELTING_POINT>
+    <SYMBOL>Cd</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      8.65
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.41</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.69</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.71</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      99.87
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      13.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      6.07
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>8.993</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.233
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      96.8
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Cerium</NAME>
+    <ATOMIC_WEIGHT>140.12</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>58</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3715</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1071</MELTING_POINT>
+    <SYMBOL>Ce</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      6.77
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f1 5d1 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.65</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.12</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.81</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      313.8
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      21
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      9.2
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.47</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.19
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      11.4
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Californium</NAME>
+    <ATOMIC_WEIGHT>251</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>98</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <MELTING_POINT UNITS="Kelvin">1170</MELTING_POINT>
+    <SYMBOL>Cf</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f10 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+
+    <IONIZATION_POTENTIAL>6.3</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Chlorine</NAME>
+    <ATOMIC_WEIGHT>35.4527</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>17</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-1, 3, 5, 7</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">239.18</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">172.17</MELTING_POINT>
+    <SYMBOL>Cl</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      3.214
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ne] 3s2 p5 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.99</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>3.16</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">0.97</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      10.2
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      18.7
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      3.21
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>12.967</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.48
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.0089
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Curium</NAME>
+    <ATOMIC_WEIGHT>247</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>96</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <MELTING_POINT UNITS="Kelvin">1620</MELTING_POINT>
+    <SYMBOL>Cm</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      13.5
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Rn] 5f7 6d1 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      18.3
+    </ATOMIC_VOLUME>
+    <IONIZATION_POTENTIAL>6.02</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Cobalt</NAME>
+    <ATOMIC_WEIGHT>58.9332</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>27</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3143</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1768</MELTING_POINT>
+    <SYMBOL>Co</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      8.9
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d7 4s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.16</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.88</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.25</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      373.3
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      6.7
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      16.19
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.86</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.421
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      100
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Chromium</NAME>
+    <ATOMIC_WEIGHT>51.996</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>24</ATOMIC_NUMBER>
+    <OXIDATION_STATES>6, 3, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2945</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2130</MELTING_POINT>
+    <SYMBOL>Cr</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.19
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d5 4s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.18</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.66</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.3</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      339.5
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      7.23
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      20
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.766</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.449
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      93.7
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Cesium</NAME>
+    <ATOMIC_WEIGHT>132.9054</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>55</ATOMIC_NUMBER>
+    <OXIDATION_STATES>1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">944</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">301.54</MELTING_POINT>
+    <SYMBOL>Cs</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.87
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 6s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">2.35</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0.79</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">2.67</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      67.74
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      70
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      2.092
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>3.894</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.24
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      35.9
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Copper</NAME>
+    <ATOMIC_WEIGHT>63.546</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>29</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2840</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1356.6</MELTING_POINT>
+    <SYMBOL>Cu</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      8.96
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d10 4s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.17</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.9</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.28</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      300.5
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      7.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      13.14
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.726</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.385
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      401
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Dubnium</NAME>
+    <ATOMIC_WEIGHT>262</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>105</ATOMIC_NUMBER>
+    <SYMBOL>Db</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d3 7s2 </ELECTRON_CONFIGURATION>
+
+
+
+  </ATOM>
+
+  <ATOM>
+    <NAME>Dysprosium</NAME>
+    <ATOMIC_WEIGHT>162.5</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>66</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2840</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1685</MELTING_POINT>
+    <SYMBOL>Dy</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      8.55
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f10 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.59</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.22</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.8</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      230
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      19
+    </ATOMIC_VOLUME>
+    <IONIZATION_POTENTIAL>5.93</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.173
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10.7
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Erbium</NAME>
+    <ATOMIC_WEIGHT>167.26</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>68</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3140</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1802</MELTING_POINT>
+    <SYMBOL>Er</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      9.07
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f12 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.57</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.24</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.78</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      292.88
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      18.4
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      17.15
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.101</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.168
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      14.3
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Einsteinium</NAME>
+    <ATOMIC_WEIGHT>252</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>99</ATOMIC_NUMBER>
+    <MELTING_POINT UNITS="Kelvin">1130</MELTING_POINT>
+    <SYMBOL>Es</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f11 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+
+    <IONIZATION_POTENTIAL>6.42</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Europium</NAME>
+    <ATOMIC_WEIGHT>151.965</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>63</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1800</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1095</MELTING_POINT>
+    <SYMBOL>Eu</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      5.24
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f7 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.85</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.2</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.99</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      175.73
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      28.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      9.21
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.67</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.182
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      13.9
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Fluorine</NAME>
+    <ATOMIC_WEIGHT>18.9984</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>9</ATOMIC_NUMBER>
+    <OXIDATION_STATES>-1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">85</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">53.55</MELTING_POINT>
+    <SYMBOL>F</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.696
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s2 2s2 p5 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.72</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>3.98</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">0.57</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      3.2698
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      17.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      0.26
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>17.422</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.824
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.0279
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Iron</NAME>
+    <ATOMIC_WEIGHT>55.847</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>26</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3023</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1808</MELTING_POINT>
+    <SYMBOL>Fe</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.874
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d6 4s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.17</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.83</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.26</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      349.5
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      7.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      13.8
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.87</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.449
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      80.2
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Fermium</NAME>
+    <ATOMIC_WEIGHT>257</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>100</ATOMIC_NUMBER>
+    <MELTING_POINT UNITS="Kelvin">1800</MELTING_POINT>
+    <SYMBOL>Fm</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f12 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+
+    <IONIZATION_POTENTIAL>6.5</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Francium</NAME>
+    <ATOMIC_WEIGHT>223</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>87</ATOMIC_NUMBER>
+    <OXIDATION_STATES>1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">950</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">300</MELTING_POINT>
+    <SYMBOL>Fr</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 7s1 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>0.7</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">2.7</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      64
+    </HEAT_OF_VAPORIZATION>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      2.1
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>0</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      15
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Gallium</NAME>
+    <ATOMIC_WEIGHT>69.723</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>31</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2478</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">302.92</MELTING_POINT>
+    <SYMBOL>Ga</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      5.91
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.26</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.81</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.41</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      256.06
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      11.8
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      5.59
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.999</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.371
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      40.6
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Gadolinium</NAME>
+    <ATOMIC_WEIGHT>157.25</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>64</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3545</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1585</MELTING_POINT>
+    <SYMBOL>Gd</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.9
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f7 5d1 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.61</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.2</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.8</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      311.71
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      19.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      10.46
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.15</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.236
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10.6
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Germanium</NAME>
+    <ATOMIC_WEIGHT>72.61</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>32</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3107</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1211.5</MELTING_POINT>
+    <SYMBOL>Ge</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      5.32
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.22</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.01</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.37</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      334.3
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      13.6
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      31.8
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.899</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.32
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      59.9
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM STATE="GAS">
+    <NAME>Hydrogen</NAME>
+    <ATOMIC_WEIGHT>1.00794</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>1</ATOMIC_NUMBER>
+    <OXIDATION_STATES>1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">20.28</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">13.81</MELTING_POINT>
+    <SYMBOL>H</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      0.0899
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.32</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.1</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">2.08</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      0.4581
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      14.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      0.0585
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>13.598</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      14.304
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.1815
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM STATE='GAS'>
+    <NAME>Helium</NAME>
+    <ATOMIC_WEIGHT>4.0026</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>2</ATOMIC_NUMBER>
+    <BOILING_POINT UNITS="Kelvin">4.216</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">0.95</MELTING_POINT>
+    <SYMBOL>He</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      0.1785
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.93</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      0.084
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      31.8
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      0.021
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>24.587</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      5.193
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.152
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Hafnium</NAME>
+    <ATOMIC_WEIGHT>178.49</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>72</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4875</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2504</MELTING_POINT>
+    <SYMBOL>Hf</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      13.31
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d2 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.44</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.67</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      661.07
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      13.6
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      21.76
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.65</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.14
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      23
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Mercury</NAME>
+    <ATOMIC_WEIGHT>200.59</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>80</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">629.88</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">234.31</MELTING_POINT>
+    <SYMBOL>Hg</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      13.55
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.49</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.6</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      59.3
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      14.8
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      2.292
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>10.437</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.140
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      8.34
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Holmium</NAME>
+    <ATOMIC_WEIGHT>164.9303</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>67</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2968</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1747</MELTING_POINT>
+    <SYMBOL>Ho</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      8.8
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f11 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.58</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.23</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.79</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      251.04
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      18.7
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      11.06
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.02</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.165
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      16.2
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Hassium</NAME>
+    <ATOMIC_WEIGHT>265</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>108</ATOMIC_NUMBER>
+    <SYMBOL>Hs</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d6 7s2 </ELECTRON_CONFIGURATION>
+
+
+
+  </ATOM>
+
+  <ATOM>
+    <NAME>Iodine</NAME>
+    <ATOMIC_WEIGHT>126.9045</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>53</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-1, 5, 7</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">457.5</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">386.7</MELTING_POINT>
+    <SYMBOL>I</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      4.93
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p5 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.33</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.66</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.32</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      20.9
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      25.7
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      7.76
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>10.451</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.145
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.449
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Indium</NAME>
+    <ATOMIC_WEIGHT>114.82</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>49</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2350</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">429.78</MELTING_POINT>
+    <SYMBOL>In</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.31
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.44</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.78</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.66</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      226.35
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      15.7
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      3.26
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.786</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.233
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      81.6
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Iridium</NAME>
+    <ATOMIC_WEIGHT>192.22</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>77</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 3, 4, 6</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4700</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2720</MELTING_POINT>
+    <SYMBOL>Ir</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      22.6
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d7 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.27</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.36</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      563.58
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      8.54
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      26.36
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>9.1</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.13
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      147
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Potassium</NAME>
+    <ATOMIC_WEIGHT>39.0983</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>19</ATOMIC_NUMBER>
+    <OXIDATION_STATES>1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1033</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">336.8</MELTING_POINT>
+    <SYMBOL>K</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      0.86
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 4s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">2.03</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0.82</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">2.35</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      76.9
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      45.3
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      2.33
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>4.341</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.757
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      102.5
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Krypton</NAME>
+    <ATOMIC_WEIGHT>83.8</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>36</ATOMIC_NUMBER>
+    <BOILING_POINT UNITS="Kelvin">120.85</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">116</MELTING_POINT>
+    <SYMBOL>Kr</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      3.75
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p6 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.89</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.03</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      9.029
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      32.2
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      1.638
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>13.999</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.248
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.00949
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Lanthanum</NAME>
+    <ATOMIC_WEIGHT>138.9055</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>57</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3737</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1191</MELTING_POINT>
+    <SYMBOL>La</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      6.15
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 5d1 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.25</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.1</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.38</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      399.57
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      22.5
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      11.3
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.58</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.19
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      13.5
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Lithium</NAME>
+    <ATOMIC_WEIGHT>6.941</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>3</ATOMIC_NUMBER>
+    <OXIDATION_STATES>1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1615</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">453.7</MELTING_POINT>
+    <SYMBOL>Li</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      0.53
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s2 2s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.23</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0.98</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.55</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      147.1
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      13.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      3
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.392</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      3.582
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      84.7
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Lawrencium</NAME>
+    <ATOMIC_WEIGHT>262</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>103</ATOMIC_NUMBER>
+    <MELTING_POINT UNITS="Kelvin">1900</MELTING_POINT>
+    <SYMBOL>Lr</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d1 7s2 </ELECTRON_CONFIGURATION>
+
+
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Lutetium</NAME>
+    <ATOMIC_WEIGHT>174.967</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>71</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3668</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1936</MELTING_POINT>
+    <SYMBOL>Lu</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      9.84
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d1 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.56</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.27</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.75</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      355
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      17.8
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      18.6
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.43</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.15
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      16.4
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Mendelevium</NAME>
+    <ATOMIC_WEIGHT>258</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>101</ATOMIC_NUMBER>
+    <MELTING_POINT UNITS="Kelvin">1100</MELTING_POINT>
+    <SYMBOL>Md</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f13 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+
+    <IONIZATION_POTENTIAL>6.58</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Magnesium</NAME>
+    <ATOMIC_WEIGHT>24.305</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>12</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1380</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">922</MELTING_POINT>
+    <SYMBOL>Mg</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.74
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ne] 3s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.36</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.31</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.6</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      127.6
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      14
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      8.95
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.646</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      1.02
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      156
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Manganese</NAME>
+    <ATOMIC_WEIGHT>54.938</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>25</ATOMIC_NUMBER>
+    <OXIDATION_STATES>7, 6, 4, 2, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2335</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1518</MELTING_POINT>
+    <SYMBOL>Mn</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.44
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d5 4s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.17</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.55</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.35</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      219.74
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      7.39
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      14.64
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.435</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.48
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      7.82
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Molybdenum</NAME>
+    <ATOMIC_WEIGHT>95.94</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>42</ATOMIC_NUMBER>
+    <OXIDATION_STATES>6, 5, 4, 3, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4912</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2896</MELTING_POINT>
+    <SYMBOL>Mo</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      10.22
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d5 5s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.3</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.16</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.39</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      590.4
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      9.4
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      36
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.099</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.25
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      138
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Meitnerium</NAME>
+    <ATOMIC_WEIGHT>266</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>109</ATOMIC_NUMBER>
+    <SYMBOL>Mt</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d7 7s2 </ELECTRON_CONFIGURATION>
+
+
+
+  </ATOM>
+
+  <ATOM>
+    <NAME>Nitrogen</NAME>
+    <ATOMIC_WEIGHT>14.0067</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>7</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-3, 5, 4, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">77.344</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">63.15</MELTING_POINT>
+    <SYMBOL>N</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.251
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s2 2s2 p3 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.75</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>3.04</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">0.92</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      2.7928
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      17.3
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      0.36
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>14.534</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      1.042
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.02598
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Sodium</NAME>
+    <ATOMIC_WEIGHT>22.98977</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>11</ATOMIC_NUMBER>
+    <OXIDATION_STATES>1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1156</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">371</MELTING_POINT>
+    <SYMBOL>Na</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      0.97
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ne] 3s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.54</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0.93</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.9</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      98.01
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      23.7
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      2.601
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.139</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      1.23
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      141
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Niobium</NAME>
+    <ATOMIC_WEIGHT>92.9064</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>41</ATOMIC_NUMBER>
+    <OXIDATION_STATES>5, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">5015</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2742</MELTING_POINT>
+    <SYMBOL>Nb</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      8.57
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d4 5s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.34</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.6</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.46</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      690.1
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      10.8
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      26.9
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.88</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.265
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      53.7
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Neodymium</NAME>
+    <ATOMIC_WEIGHT>144.24</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>60</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3347</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1294</MELTING_POINT>
+    <SYMBOL>Nd</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.01
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f4 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.64</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.14</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.82</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      283.68
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      20.6
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      10.88
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.49</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.19
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      16.5
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Neon</NAME>
+    <ATOMIC_WEIGHT>20.1797</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>10</ATOMIC_NUMBER>
+    <BOILING_POINT UNITS="Kelvin">27.1</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">24.55</MELTING_POINT>
+    <SYMBOL>Ne</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      0.900
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s2 2s2 p6 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.71</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">0.51</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      1.77
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      16.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      0.34
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>21.564</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      1.03
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.0493
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Nickel</NAME>
+    <ATOMIC_WEIGHT>58.6934</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>28</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3005</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1726</MELTING_POINT>
+    <SYMBOL>Ni</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      8.9
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d8 4s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.15</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.91</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.24</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      377.5
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      6.6
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      17.2
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.635</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.444
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      90.7
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Nobelium</NAME>
+    <ATOMIC_WEIGHT>259</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>102</ATOMIC_NUMBER>
+    <MELTING_POINT UNITS="Kelvin">1100</MELTING_POINT>
+    <SYMBOL>No</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+
+    <IONIZATION_POTENTIAL>6.65</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      10
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Neptunium</NAME>
+    <ATOMIC_WEIGHT>237.0482</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>93</ATOMIC_NUMBER>
+    <OXIDATION_STATES>6, 5, 4, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4175</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">912</MELTING_POINT>
+    <SYMBOL>Np</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      20.2
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Rn] 5f4 6d1 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.36</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.3</ATOMIC_RADIUS>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      21.1
+    </ATOMIC_VOLUME>
+    <IONIZATION_POTENTIAL>6.19</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      6.3
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Oxygen</NAME>
+    <ATOMIC_WEIGHT>15.9994</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>8</ATOMIC_NUMBER>
+    <OXIDATION_STATES>-2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">90.188</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">54.8</MELTING_POINT>
+    <SYMBOL>O</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.429
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>1s2 2s2 p4 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">0.73</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>3.44</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">0.65</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      3.4109
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      14
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      0.222
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>13.618</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.92
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.2674
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Osmium</NAME>
+    <ATOMIC_WEIGHT>190.2</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>76</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 3, 4, 6, 8</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">5300</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">3300</MELTING_POINT>
+    <SYMBOL>Os</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      22.6
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d6 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.26</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.35</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      627.6
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      8.43
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      29.29
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>8.7</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.13
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      87.6
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Phosphorus</NAME>
+    <ATOMIC_WEIGHT>30.97376</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>15</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-3, 5, 4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">553</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">317.3</MELTING_POINT>
+    <SYMBOL>P</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.82
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ne] 3s2 p3 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.06</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.19</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.28</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      12.4
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      17
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      0.63
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>10.486</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.769
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.235
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Protactinium</NAME>
+    <ATOMIC_WEIGHT>231.0359</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>91</ATOMIC_NUMBER>
+    <OXIDATION_STATES>5, 4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4300</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1845</MELTING_POINT>
+    <SYMBOL>Pa</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      15.4
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Rn] 5f2 6d1 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.5</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.61</ATOMIC_RADIUS>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      15
+    </ATOMIC_VOLUME>
+    <IONIZATION_POTENTIAL>5.88</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      47
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Lead</NAME>
+    <ATOMIC_WEIGHT>207.2</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>82</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2023</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">600.65</MELTING_POINT>
+    <SYMBOL>Pb</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      11.35
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.47</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.33</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.75</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      177.9
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      18.3
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      4.77
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.416</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.129
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      35.3
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Palladium</NAME>
+    <ATOMIC_WEIGHT>106.42</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>46</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3240</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1825</MELTING_POINT>
+    <SYMBOL>Pd</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      12
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d10 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.28</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.37</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      393.3
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      8.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      16.74
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>8.34</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.244
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      71.8
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Promethium</NAME>
+    <ATOMIC_WEIGHT>145</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>61</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3273</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1315</MELTING_POINT>
+    <SYMBOL>Pm</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.22
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f5 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.63</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.13</ELECTRONEGATIVITY>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      22.4
+    </ATOMIC_VOLUME>
+    <IONIZATION_POTENTIAL>5.55</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      17.9
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Polonium</NAME>
+    <ATOMIC_WEIGHT>209</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>84</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4, 2</OXIDATION_STATES>
+    <MELTING_POINT UNITS="Kelvin">527</MELTING_POINT>
+    <SYMBOL>Po</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      9.3
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p4 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.53</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.67</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      120
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      22.7
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      13
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>8.42</IONIZATION_POTENTIAL>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      20
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Praseodymium</NAME>
+    <ATOMIC_WEIGHT>140.9077</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>59</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3785</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1204</MELTING_POINT>
+    <SYMBOL>Pr</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      6.77
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f3 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.65</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.13</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.82</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      332.63
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      20.8
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      10.04
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.42</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.193
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      12.5
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Platinum</NAME>
+    <ATOMIC_WEIGHT>195.08</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>78</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4100</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2042.1</MELTING_POINT>
+    <SYMBOL>Pt</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      21.45
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d9 6s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.3</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.28</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.39</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      510.45
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      9.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      19.66
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>9</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.13
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      71.6
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Plutonium</NAME>
+    <ATOMIC_WEIGHT>244</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>94</ATOMIC_NUMBER>
+    <OXIDATION_STATES>6, 5, 4, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3505</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">913</MELTING_POINT>
+    <SYMBOL>Pu</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      19.84
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Rn] 5f6 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>1.28</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.51</ATOMIC_RADIUS>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      12.32
+    </ATOMIC_VOLUME>
+    <IONIZATION_POTENTIAL>6.06</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.13
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      6.74
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Radium</NAME>
+    <ATOMIC_WEIGHT>226.0254</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>88</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1413</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">973</MELTING_POINT>
+    <SYMBOL>Ra</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      5
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Rn] 7s2 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>0.89</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">2.33</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      136.82
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      45.2
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      8.37
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.279</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.094
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      18.6
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Rubidium</NAME>
+    <ATOMIC_WEIGHT>85.4678</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>37</ATOMIC_NUMBER>
+    <OXIDATION_STATES>1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">961</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">312.63</MELTING_POINT>
+    <SYMBOL>Rb</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      1.532
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 5s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">2.16</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0.82</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">2.48</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      69.2
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      55.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      2.34
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>4.177</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.363
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      58.2
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Rhenium</NAME>
+    <ATOMIC_WEIGHT>186.207</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>75</ATOMIC_NUMBER>
+    <OXIDATION_STATES>7, 6, 4, 2, -1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">5870</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">3455</MELTING_POINT>
+    <SYMBOL>Re</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      21
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d5 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.28</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.9</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.37</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      707.1
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      8.85
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      33.05
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.88</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.137
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      47.9
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Rutherfordium</NAME>
+    <ATOMIC_WEIGHT>261</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>104</ATOMIC_NUMBER>
+    <SYMBOL>Rf</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d2 7s2 </ELECTRON_CONFIGURATION>
+
+
+
+  </ATOM>
+
+  <ATOM>
+    <NAME>Rhodium</NAME>
+    <ATOMIC_WEIGHT>102.9055</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>45</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 3, 4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3970</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2236</MELTING_POINT>
+    <SYMBOL>Rh</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      12.41
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d8 5s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.25</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.28</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.34</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      495.39
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      8.3
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      21.76
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.46</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.242
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      150
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Radon</NAME>
+    <ATOMIC_WEIGHT>222</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>86</ATOMIC_NUMBER>
+    <BOILING_POINT UNITS="Kelvin">211.4</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">202</MELTING_POINT>
+    <SYMBOL>Rn</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      9.73
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p6 </ELECTRON_CONFIGURATION>
+    <ELECTRONEGATIVITY>0</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.34</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      16.4
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      50.5
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      2.9
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>10.748</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.094
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.00364
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Ruthenium</NAME>
+    <ATOMIC_WEIGHT>101.07</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>44</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2, 3, 4, 6, 8</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4425</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2610</MELTING_POINT>
+    <SYMBOL>Ru</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      12.37
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d7 5s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.25</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.2</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.34</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      567.77
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      8.3
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      25.52
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.37</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.238
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      117
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Sulfur</NAME>
+    <ATOMIC_WEIGHT>32.066</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>16</ATOMIC_NUMBER>
+    <OXIDATION_STATES>+/-2, 4, 6</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">717.82</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">392.2</MELTING_POINT>
+    <SYMBOL>S</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      2.07
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ne] 3s2 p4 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.02</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.58</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.27</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      10
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      15.5
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      1.73
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>10.36</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.71
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.269
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Silver</NAME>
+    <ATOMIC_WEIGHT>107.868</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>47</ATOMIC_NUMBER>
+    <OXIDATION_STATES>1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2436</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1235.08</MELTING_POINT>
+    <SYMBOL>Ag</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      10.5
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d10 5s1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.34</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.93</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.44</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      250.63
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      10.3
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      11.3
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.576</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.232
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      429
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+  
+  <ATOM>
+    <NAME>Scandium</NAME>
+    <ATOMIC_WEIGHT>44.9559</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>21</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3109</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1814</MELTING_POINT>
+    <SYMBOL>Sc</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      2.99
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d1 4s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.44</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.36</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.62</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      304.8
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      15
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      16.11
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.54</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.568
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      15.8
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Selenium</NAME>
+    <ATOMIC_WEIGHT>78.96</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>34</ATOMIC_NUMBER>
+    <OXIDATION_STATES>-2, 4, 6</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">958</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">494</MELTING_POINT>
+    <SYMBOL>Se</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      4.79
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 p4 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.16</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.55</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.4</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      26.32
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      16.5
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      5.54
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>9.752</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.32
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      2.04
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Seaborgium</NAME>
+    <ATOMIC_WEIGHT>263</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>106</ATOMIC_NUMBER>
+    <SYMBOL>Sg</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d4 7s2 </ELECTRON_CONFIGURATION>
+
+
+
+  </ATOM>
+
+  <ATOM>
+    <NAME>Silicon</NAME>
+    <ATOMIC_WEIGHT>28.0855</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>14</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2630</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1683</MELTING_POINT>
+    <SYMBOL>Si</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      2.33
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ne] 3s2 p2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.11</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.9</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.32</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      359
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      12.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      50.2
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>8.151</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.70
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      148
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Samarium</NAME>
+    <ATOMIC_WEIGHT>150.36</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>62</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2067</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1347</MELTING_POINT>
+    <SYMBOL>Sm</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.52
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f6 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.62</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.17</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.81</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      191.63
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      19.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      11.09
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.63</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.197
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      13.3
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Strontium</NAME>
+    <ATOMIC_WEIGHT>87.62</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>38</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1655</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1042</MELTING_POINT>
+    <SYMBOL>Sr</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      2.54
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 5s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.91</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>0.95</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">2.15</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      136.9
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      33.7
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      8.2
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.695</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.3
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      35.3
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Tantalum</NAME>
+    <ATOMIC_WEIGHT>180.9479</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>73</ATOMIC_NUMBER>
+    <OXIDATION_STATES>5</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">5730</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">3293</MELTING_POINT>
+    <SYMBOL>Ta</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      16.65
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d3 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.34</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.5</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.49</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      737
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      10.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      36
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.89</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.14
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      57.5
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Terbium</NAME>
+    <ATOMIC_WEIGHT>158.9253</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>65</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3500</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1629</MELTING_POINT>
+    <SYMBOL>Tb</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      8.23
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f9 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.59</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.1</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.8</ATOMIC_RADIUS>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      19.2
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      15.48
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>5.86</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.18
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      11.1
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Technetium</NAME>
+    <ATOMIC_WEIGHT>98</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>43</ATOMIC_NUMBER>
+    <OXIDATION_STATES>7</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4538</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2477</MELTING_POINT>
+    <SYMBOL>Tc</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      11.5
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d5 5s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.27</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.9</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.36</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      502
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      8.5
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      23
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.28</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.24
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      50.6
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Tellurium</NAME>
+    <ATOMIC_WEIGHT>127.6</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>52</ATOMIC_NUMBER>
+    <OXIDATION_STATES>-2, 4, 6</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1261</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">722.72</MELTING_POINT>
+    <SYMBOL>Te</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      6.24
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p4 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.36</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.1</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.42</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      50.63
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      20.5
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      17.49
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>9.009</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.202
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      2.35
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Thorium</NAME>
+    <ATOMIC_WEIGHT>232.0381</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>90</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">5060</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2028</MELTING_POINT>
+    <SYMBOL>Th</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      11.72
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Rn] 6d2 7s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.65</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.3</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.8</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      543.92
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      19.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      15.65
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.08</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.113
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      54
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Tin</NAME>
+    <ATOMIC_WEIGHT>118.71</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>50</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2876</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">505.12</MELTING_POINT>
+    <SYMBOL>Sn</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.31
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.41</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.96</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.62</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      290.37
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      16.3
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      7.2
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.344</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.228
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      66.6
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+  
+  <ATOM>
+    <NAME>Titanium</NAME>
+    <ATOMIC_WEIGHT>47.88</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>22</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3560</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1945</MELTING_POINT>
+    <SYMBOL>Ti</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      4.54
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d2 4s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.32</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.54</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.45</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      425.2
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      10.6
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      18.6
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.82</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.523
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      21.9
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Thallium</NAME>
+    <ATOMIC_WEIGHT>204.383</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>81</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 1</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1746</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">577</MELTING_POINT>
+    <SYMBOL>Tl</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      11.85
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d10 6s2 p1 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.48</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.04</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.71</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      162.09
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      17.2
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      4.27
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.108</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.129
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      46.1
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Thulium</NAME>
+    <ATOMIC_WEIGHT>168.9342</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>69</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">2223</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1818</MELTING_POINT>
+    <SYMBOL>Tm</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      9.32
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f13 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.56</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.25</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.77</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      191
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      18.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      16.8
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.184</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.16
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      16.8
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Uranium</NAME>
+    <ATOMIC_WEIGHT>238.029</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>92</ATOMIC_NUMBER>
+    <OXIDATION_STATES>6, 5, 4, 3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4407</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1408</MELTING_POINT>
+    <SYMBOL>U</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      18.95
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Rn] 5f3 6d1 7s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.42</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.38</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.38</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      422.58
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      12.5
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      15.48
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.05</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.12
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      27.6
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>ununbium</NAME>
+    <ATOMIC_WEIGHT>277</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>112</ATOMIC_NUMBER>
+    <SYMBOL>Uub</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d10 7s2 </ELECTRON_CONFIGURATION>
+
+
+
+  </ATOM>
+
+  <ATOM>
+    <NAME>ununnilium</NAME>
+    <ATOMIC_WEIGHT>269</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>110</ATOMIC_NUMBER>
+    <SYMBOL>Uun</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d8 7s2 </ELECTRON_CONFIGURATION>
+
+
+
+  </ATOM>
+
+  <ATOM>
+    <NAME>unununium</NAME>
+    <ATOMIC_WEIGHT>272</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>111</ATOMIC_NUMBER>
+    <SYMBOL>Uuu</SYMBOL>
+    <ELECTRON_CONFIGURATION>[Rn] 5f14 6d9 7s2 </ELECTRON_CONFIGURATION>
+
+
+
+  </ATOM>
+
+  <ATOM>
+    <NAME>Vanadium</NAME>
+    <ATOMIC_WEIGHT>50.9415</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>23</ATOMIC_NUMBER>
+    <OXIDATION_STATES>5, 4, 3, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3650</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2163</MELTING_POINT>
+    <SYMBOL>V</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      6.11
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d3 4s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.22</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.63</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.34</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      446.7
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      8.35
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      20.8
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.74</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.489
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      30.7
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Tungsten</NAME>
+    <ATOMIC_WEIGHT>183.85</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>74</ATOMIC_NUMBER>
+    <OXIDATION_STATES>6, 5, 4, 3, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">5825</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">3695</MELTING_POINT>
+    <SYMBOL>W</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      19.3
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 5d4 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.3</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.36</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.41</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      422.58
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      9.53
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      35.4
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>7.98</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.13
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      174
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM STATE='GAS'>
+    <NAME>Xenon</NAME>
+    <ATOMIC_WEIGHT>131.29</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>54</ATOMIC_NUMBER>
+    <BOILING_POINT UNITS="Kelvin">165.1</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">161.39</MELTING_POINT>
+    <SYMBOL>Xe</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      5.9
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d10 5s2 p6 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.31</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>2.6</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.24</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      12.64
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      42.9
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      2.3
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>12.13</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.158
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      0.00569
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Yttrium</NAME>
+    <ATOMIC_WEIGHT>88.9059</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>39</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">3611</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">1795</MELTING_POINT>
+    <SYMBOL>Y</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      4.47
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d1 5s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.62</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.22</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.78</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      363.3
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      19.8
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      17.5
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.38</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.3
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      17.2
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Ytterbium</NAME>
+    <ATOMIC_WEIGHT>173.04</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>70</ATOMIC_NUMBER>
+    <OXIDATION_STATES>3, 2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1469</BOILING_POINT>
+        <MELTING_POINT UNITS="Kelvin">1092</MELTING_POINT>
+    <SYMBOL>Yb</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      6.97
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Xe] 4f14 6s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.7</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.1</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.94</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      128
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      24.8
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      7.7
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.254</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.155
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      34.9
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Zinc</NAME>
+    <ATOMIC_WEIGHT>65.39</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>30</ATOMIC_NUMBER>
+    <OXIDATION_STATES>2</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">1180</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">692.73</MELTING_POINT>
+    <SYMBOL>Zn</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      7.13
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Ar] 3d10 4s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.25</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.65</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.38</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      115.3
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      9.2
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      7.38
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>9.394</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.388
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      116
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+
+  <ATOM>
+    <NAME>Zirconium</NAME>
+    <ATOMIC_WEIGHT>91.224</ATOMIC_WEIGHT>
+    <ATOMIC_NUMBER>40</ATOMIC_NUMBER>
+    <OXIDATION_STATES>4</OXIDATION_STATES>
+    <BOILING_POINT UNITS="Kelvin">4682</BOILING_POINT>
+    <MELTING_POINT UNITS="Kelvin">2128</MELTING_POINT>
+    <SYMBOL>Zr</SYMBOL>
+    <DENSITY UNITS="grams/cubic centimeter"><!-- At 300K -->
+      6.51
+    </DENSITY>
+    <ELECTRON_CONFIGURATION>[Kr] 4d2 5s2 </ELECTRON_CONFIGURATION>
+    <COVALENT_RADIUS UNITS="Angstroms">1.45</COVALENT_RADIUS>
+    <ELECTRONEGATIVITY>1.33</ELECTRONEGATIVITY>
+    <ATOMIC_RADIUS UNITS="Angstroms">1.6</ATOMIC_RADIUS>
+    <HEAT_OF_VAPORIZATION UNITS="kilojoules/mole">
+      590.5
+    </HEAT_OF_VAPORIZATION>
+    <ATOMIC_VOLUME UNITS="cubic centimeters/mole">
+      14.1
+    </ATOMIC_VOLUME>
+    <HEAT_OF_FUSION UNITS="kilojoules/mole">
+      21
+    </HEAT_OF_FUSION>
+    <IONIZATION_POTENTIAL>6.84</IONIZATION_POTENTIAL>
+    <SPECIFIC_HEAT_CAPACITY UNITS="Joules/gram/degree Kelvin">
+      0.278
+    </SPECIFIC_HEAT_CAPACITY>
+    <THERMAL_CONDUCTIVITY UNITS="Watts/meter/degree Kelvin">
+    <!-- At 300K -->
+      22.7
+    </THERMAL_CONDUCTIVITY>
+  </ATOM>
+  
+</PERIODIC_TABLE>
diff --git a/xml/rabo1ae.xml b/xml/rabo1ae.xml
new file mode 100644
index 0000000..dc5e90f
--- /dev/null
+++ b/xml/rabo1ae.xml
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XML Spy v4.0.1 U (http://www.xmlspy.com) by Rabobank International (Rabobank International) -->
+<!-- Internal Version 1.11-->
+<m:Msg id="0000001" version="1" xmlns:m="http://www.rabobank.com/RaboMessage/1.0">
+	<m:MsgHdr>
+		<!--References section enables each destination to entere their own ids to give cross references -->
+		<m:References>
+			<m:Reference>
+				<m:SourceSA version="1.0">RABO.UTR.OMR.SA1</m:SourceSA>
+				<m:Sequence>1</m:Sequence>
+				<m:HostId>RP00100112</m:HostId>
+				<m:ParentId>RP00100112</m:ParentId>
+			</m:Reference>
+			<m:Reference>
+				<m:SourceSA version="1.0">RABO.LDN.LPM.SA1</m:SourceSA>
+				<m:Sequence>1</m:Sequence>
+				<m:HostId>100678954</m:HostId>
+				<m:ParentId>100678954</m:ParentId>
+			</m:Reference>
+			<m:Reference>
+				<m:SourceSA version="1.0">RABO.LDN.AEG.SA2</m:SourceSA>
+				<m:Sequence>1</m:Sequence>
+				<m:HostId>AE4269</m:HostId>
+				<m:ParentId>AE4269</m:ParentId>
+			</m:Reference>
+		</m:References>
+		<m:ContentInfo>
+			<m:MessageType>Trade</m:MessageType>
+			<m:EventType>Capture</m:EventType>
+			<m:ContentType>RepoTrade</m:ContentType>
+			<m:OriginatingTime>07 Aug 2001 14:35:03 GMT</m:OriginatingTime>
+		</m:ContentInfo>
+	</m:MsgHdr>
+	<!-- LifePlan Note that the Expiry is in minutes-->
+	<m:LifePlan expiresAt="07 Aug 2001 16:35:03 GMT" nextStep="3">
+		<m:Definition id="RepoCapt/1.1" journalManager="RABO.LDN.SH.SA1" exceptionManager="RABO.LDN.EH.SA1" status="in" expiryException="True">
+			<!--expiresIn is in minutes -->
+			<m:Step id="1" adapter="RABO.LDN.AEG.SA1" action="Insert" status="in" expiresIn="20"/>
+			<m:Step id="2" adapter="RABO.LDN.MIS.SA1" action="Insert" status="in" expiresIn="20"/>
+			<m:Step id="3" adapter="RABO.LDN.LPM.SA1" action="Final" status="in" expiresIn="10"/>
+		</m:Definition>
+		<!-- This exception would be moved to the StatusMessage as shown above -->
+		<m:ExceptionAction id="Default" name="Resend" edit="False" time="07 Aug 2001 14:35:03 GMT" userName="StovesA">
+			<m:userComment><![CDATA["Database was offline, advised to resubmit by DBA"]]></m:userComment>
+		</m:ExceptionAction>
+	</m:LifePlan>
+	<m:Exception>
+		<m:ExceptionPlan>
+			<m:ExceptionPlanDefinition id="MIS\SA4" version="1.0">
+				<m:Action name="Resend" edit="True" forceComment="True" description="Resend the trade to the MIS system"/>
+				<m:Action name="Cancel" edit="False" forceComment="True" description="Reverses the entries from AEG to allow re-input"/>
+			</m:ExceptionPlanDefinition>
+		</m:ExceptionPlan>
+		<m:StatusMessage step="1" lifePlan="RepoCapt/1.1" timeStamp="07 Aug 2001 14:19:32 GMT" result="Calculate failed">
+			<m:Code>2001</m:Code>
+			<m:Message>Database Timeout</m:Message>
+		</m:StatusMessage>
+	</m:Exception>
+	<!-- Audit trail for the message including static plans used -->
+	<m:History>
+		<m:LifePlans>
+			<m:Definition id="Default/1.1" journalManager="RABO.LDN.SH.SA1" exceptionManager="RABO.LDN.EH.SA1" status="in" expiryException="True">
+				<m:Step id="1" adapter="RABO.LDN.LPM.SA1" action="Assign" status="in" expiresIn="10"/>
+			</m:Definition>
+		</m:LifePlans>
+		<m:ExceptionPlans>
+			<m:ExceptionPlanDefinition id="Default" version="1.0">
+				<m:Action name="Resend" edit="True" forceComment="True" description="Resend the trade to the step that failed"/>
+				<m:Action name="Cancel" edit="False" forceComment="True" description="Log the final message with a step of cancelled"/>
+			</m:ExceptionPlanDefinition>
+		</m:ExceptionPlans>
+		<m:Audit>
+			<m:StatusMessage step="1" lifePlan="Default/1.1" timeStamp="07 Aug 2001 14:17:02 GMT" result="Reassign started"/>
+			<m:StatusMessage step="1" lifePlan="Default/1.1" timeStamp="07 Aug 2001 14:18:13 GMT" result="Reassign completed"/>
+			<m:StatusMessage step="1" lifePlan="RepoCapt/1.1" timeStamp="07 Aug 2001 14:19:02 GMT" result="Calculate started"/>
+			<m:StatusMessage step="1" lifePlan="RepoCapt/1.1" timeStamp="07 Aug 2001 14:19:32 GMT" result="Calculate failed">
+				<m:Code>2001</m:Code>
+				<m:Message>Database Timeout</m:Message>
+			</m:StatusMessage>
+			<m:ExceptionAction id="Default" name="Resend" edit="False" time="07 Aug 2001 14:35:03 GMT" userName="StovesA">
+				<m:userComment><![CDATA["Database was offline, advised to resubmit by DBA"]]></m:userComment>
+			</m:ExceptionAction>
+		</m:Audit>
+	</m:History>
+	<m:Contents>
+		<m:Content xmlns:t="http://www.rabobank.com/Payload/Repo/1.0" xmlns:ab="http://www.rabobank.com/Payload/AccountingBatch/1.0" xmlns:chngd="http://www.rabobank.com/Changes/1.0" xmlns:c="http://www.rabobank.com/Payload/Contract/1.0" xmlns:cpty="http://www.rabobank.com/Payload/Counterparty/1.0" xmlns:set="http://www.rabobank.com/Payload/Settlement/1.0" xmlns:amt="http://www.rabobank.com/Payload/Amount/1.0" xmlns:sec="http://www.rabobank.com/Payload/Security/1.0">
+			<t:RaboPayLoad id="Repo" version="1.1">
+				<c:Contract>
+					<!--Generic contract information -->
+					<c:TransactionId/>
+					<c:VersionNum>2</c:VersionNum>
+					<c:BusinessUnitCode/>
+					<c:PortfolioCode/>
+					<c:ProductCode/>
+					<c:BrokerId/>
+					<c:GuarantorId/>
+					<c:StructureId/>
+					<c:TraderId/>
+					<c:InternalDealFlag/>
+					<c:Ccy/>
+					<c:Dept>0000</c:Dept>
+					<c:TradeDate>08 Aug 2001</c:TradeDate>
+					<c:StartDate>08 Aug 2001</c:StartDate>
+					<c:MaturityDate>08 Aug 2001</c:MaturityDate>
+					<c:RepaymentDate>08 Aug 2001</c:RepaymentDate>
+					<c:ExpirationDate>08 Aug 2001</c:ExpirationDate>
+					<c:AccrualDate>08 Aug 2001</c:AccrualDate>
+					<c:AmortisationDate>08 Aug 2001</c:AmortisationDate>
+					<c:MtmDate>08 Aug 2001</c:MtmDate>
+					<c:ReversalDate>08 Aug 2001</c:ReversalDate>
+					<c:CaptureDate>08 Aug 2001</c:CaptureDate>
+					<c:AmendDate>08 Aug 2001</c:AmendDate>
+					<c:NonPerformFlag/>
+					<c:TradeHedgeInd/>
+					<c:XchgPrincipalInd/>
+					<c:CustodianFlag/>
+					<c:ReversalFlag/>
+					<c:PrincipalExchangeFlag/>
+					<c:SubPortfolioCode/>
+					<c:BookDate>08 Aug 2001</c:BookDate>
+					<c:AccountRepCode/>
+				</c:Contract>
+				<cpty:Counterparty>
+					<cpty:ReferenceSystem/>
+					<cpty:CounterpartyId/>
+					<cpty:CounterpartyBusinessUnitCode/>
+					<cpty:CounterpartyPortfolioCode/>
+					<cpty:CounterpartyCountryCode/>
+					<cpty:CounterpartyFinInstFlag/>
+				</cpty:Counterparty>
+				<set:Settlement>
+					<set:SettlementAccountPayment/>
+					<set:SettlementAccountReceipt/>
+					<set:SettlementDate>08 Aug 2001</set:SettlementDate>
+					<set:ActualSettlementDate>08 Aug 2001</set:ActualSettlementDate>
+					<set:SettlementStatusInd/>
+					<set:PriorSettlementStatusInd/>
+				</set:Settlement>
+				<amt:Amounts>
+					<amt:Type>Test</amt:Type>
+					<amt:Ccy>GBP</amt:Ccy>
+					<amt:PRIndicator>P</amt:PRIndicator>
+					<amt:Amount>12345678.90</amt:Amount>
+				</amt:Amounts>
+				<sec:Security>
+					<sec:IssuerId/>
+					<sec:IssuerBusinessUnitCode/>
+					<sec:IssuerPortfolioCode/>
+					<sec:InstrId/>
+					<sec:UnderlyingInstrId/>
+					<sec:ISINCode/>
+					<sec:IssueDate>08 Aug 2001</sec:IssueDate>
+					<sec:CouponDate>08 Aug 2001</sec:CouponDate>
+					<sec:InstrumentMaturityDate>08 Aug 2001</sec:InstrumentMaturityDate>
+					<sec:BuySellCode/>
+					<sec:IssueFlag/>
+					<sec:ZeroCouponInstrumentFlag/>
+					<sec:FixedFloatInd/>
+					<sec:CouponFreq/>
+				</sec:Security>
+				<!--  Specific parts used to for the different deal types
+				
+			<int:InterestRate>
+				<int:IntRate/>
+				<int:IntBasisCode/>
+				<int:CompoundIntFlag/>
+				<int:Spread/>
+				<int:CapitalisingIntFlag/>
+				<int:FloatRateInd/>		
+			</int:InterestRate>	
+			
+			<ExchangeRate>
+				<CrossCcyExchgRate>	</CrossCcyExchgRate>
+			</ExchangeRate>
+			
+			<LD>
+				<SubLoanFlag></SubLoanFlag>
+			</LD>
+			<Price/>	
+			<FX/>
+			<Option/>
+			<Futures/>
+	
+			<Swap>
+				<RateStartDate>	</RateStartDate>
+			</Swap>
+	
+			<FRA>
+				<FixingDate>	</FixingDate>
+			</FRA>
+	-->
+			</t:RaboPayLoad>
+			<ab:RaboPayLoad id="1234123" version="1.1">
+				<ab:AccountingEntry>
+				<ab:ChartOfAccountNum>123450100</ab:ChartOfAccountNum>
+					<ab:AePortfolioCode>GT715110</ab:AePortfolioCode>
+					<ab:AeSeqNum>OA12345678</ab:AeSeqNum>
+					<ab:AeEventDate>2001-03-03</ab:AeEventDate>
+					<ab:ProjectId>' ' </ab:ProjectId>
+					<ab:TransactionCcy>USD</ab:TransactionCcy>
+					<ab:TransactionAmt>123456.00</ab:TransactionAmt>
+					<ab:JournalLineRef>' '</ab:JournalLineRef>
+					<ab:MovementFlag>N</ab:MovementFlag>
+					<ab:RateType>CRRNT</ab:RateType>
+					<ab:LedgerGroup>ACTUALS</ab:LedgerGroup>
+					<ab:RateMultiplier>1.00000000</ab:RateMultiplier>
+					<ab:RateDivisor>1.00000000</ab:RateDivisor>
+					<ab:MonetaryAmt>0.00</ab:MonetaryAmt>
+					<ab:CurrencyCode>' '</ab:CurrencyCode>
+					<ab:StatisticsCode>' '</ab:StatisticsCode>
+					<ab:Ledger>' '</ab:Ledger>
+					<ab:StatisticsAmt>00000.00 </ab:StatisticsAmt>
+					<ab:AlternateAccount>' '</ab:AlternateAccount>
+					<ab:AegRuleDetail/>
+					<ab:SettlementAccountId/>
+					<ab:OffsetAccountId/>
+					<ab:BusinessDate>2001-01-01</ab:BusinessDate>
+					<ab:AccountCountryCode/>
+					<ab:ForCcyRepCode>10</ab:ForCcyRepCode>
+					<ab:ForCcyRepCountryCode/>
+					<ab:AeBusinessUnitCode>NLRAT</ab:AeBusinessUnitCode>
+					<ab:AeProductCode>BONDCV</ab:AeProductCode>
+					<ab:AeCounterpartyBusinessUnitCode>NLRAT</ab:AeCounterpartyBusinessUnitCode>
+				</ab:AccountingEntry>
+			</ab:RaboPayLoad>
+			<ab:RaboPayLoad id="12312323123" version="1.1">
+				
+			</ab:RaboPayLoad>
+		</m:Content>
+	</m:Contents>
+	<!--	<m:Contents>-->
+	<!-- Example content -->
+	<!-- Version refers to the version of the Payload NOT the version of the contents of the Payload-->
+	<!-- Redeclare the default namespace to be the Repo namespace                                   -->
+	<!-- Note we could use the namespace URI as the version number and retire the version attribute -->
+	<!--		<m:Content xmlns:t="http://www.rabobank.com/Payload/Repo/1.0" xmlns:ab="http://www.rabobank.com/Payload/AccountingBatch/1.0">
+			<t:RaboPayload id="Repo" version="1.1">
+				<t:DealId>RP00100112</t:DealId>
+				<t:DateTrade>Aug 07 2001 14:06:07 GMT</t:DateTrade>
+				<t:DateValue>Aug 10 2001 14:06:07 GMT</t:DateValue>
+				<t:SecurityId>
+					<t:Isin/>
+					<t:Bloomberg/>
+					<t:Cusip/>
+				</t:SecurityId>
+				<t:Counterparty>
+					<t:ShortId>BARLNTRE</t:ShortId>
+					<t:LongId>Barclays Treasury London</t:LongId>
+				</t:Counterparty>
+			</t:RaboPayload>
+			<ab:RaboPayload id="AccountingBatch" version="1">
+				<ab:Description>Generated by AEG</ab:Description>
+				<ab:GeneralLedgerId>OMR</ab:GeneralLedgerId>
+				<ab:LedgerType>Actuals</ab:LedgerType>
+			</ab:RaboPayload>
+		</m:Content>
+	</m:Contents>-->
+</m:Msg>
diff --git a/xml/relaxng/address.dtd b/xml/relaxng/address.dtd
new file mode 100644
index 0000000..d5c725c
--- /dev/null
+++ b/xml/relaxng/address.dtd
@@ -0,0 +1,4 @@
+<!ELEMENT addressBook (card*)>

+<!ELEMENT card (name, email)>

+<!ELEMENT name (#PCDATA)>

+<!ELEMENT email (#PCDATA)>
\ No newline at end of file
diff --git a/xml/relaxng/address.rng b/xml/relaxng/address.rng
new file mode 100644
index 0000000..5adb2a3
--- /dev/null
+++ b/xml/relaxng/address.rng
@@ -0,0 +1,12 @@
+<element name="addressBook" xmlns="http://relaxng.org/ns/structure/0.9">

+  <zeroOrMore>

+    <element name="card">

+      <element name="name">

+        <text/>

+      </element>

+      <element name="email">

+        <text/>

+      </element>

+    </element>

+  </zeroOrMore>

+</element>

diff --git a/xml/relaxng/address.xml b/xml/relaxng/address.xml
new file mode 100644
index 0000000..18f3fa1
--- /dev/null
+++ b/xml/relaxng/address.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<addressBook>
+  <card>
+    <name>John Smith</name>
+    <email>js at example.com</email>
+  </card>
+  <card>
+    <name>Fred Bloggs</name>
+    <email>fb at example.net</email>
+  </card>
+</addressBook>
diff --git a/xml/relaxng/bad_address.xml b/xml/relaxng/bad_address.xml
new file mode 100644
index 0000000..25fdc04
--- /dev/null
+++ b/xml/relaxng/bad_address.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<addressBook>
+  <card>
+    <email>js at example.com</email>
+  </card>
+  <card>
+    <name>Fred Bloggs</name>
+  </card>
+  <card>
+    <wrongname>Fred Bloggs</wrongname>
+  </card>
+  <card>
+  </card>
+</addressBook>
diff --git a/xml/russArticle.xml b/xml/russArticle.xml
new file mode 100644
index 0000000..e443a1e
--- /dev/null
+++ b/xml/russArticle.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="koi8-r" ?>
+<article>
+
+<ArticleLanguage>Russian</ArticleLanguage>
+<Headline>��������� ��������</Headline>
+<ByLine>������ ��������</ByLine>
+<PDFFileName>Foto & Video_01_03_1.pdf</PDFFileName>
+<OCRText>
+<CAPTION>Any caption relating to the article</CAPTION>
+
+<ARTICLEBODY>
+
+��������� ��������
+
+������������ �� ������� ������������ ��� ���, ��� ��������� ��������  �������. ���� ������� ������ ���� ������� � ��������, ��� � �������  ��������� ��������.
+ 
+Casio QV-R3
+</ARTICLEBODY>
+</OCRText>
+
+</article>
diff --git a/xml/schema/invalid-schema.xml b/xml/schema/invalid-schema.xml
new file mode 100644
index 0000000..ea3a1e8
--- /dev/null
+++ b/xml/schema/invalid-schema.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<personnel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	   xsi:noNamespaceSchemaLocation='personal.xsd'>
+
+  <person id="Big.Boss" >
+    <!-- missing given name -->
+    <name><family>Boss</family></name>
+    <email>chief at foo.com</email>
+    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
+  </person>
+
+  <person id="one.worker">
+    <!-- too many links -->
+    <name><family>Worker</family> <given>One</given></name>
+    <email>one at foo.com</email>
+    <link manager="Big.Boss"/>
+    <link manager="Big.Boss2"/>
+  </person>
+
+  <person id="two.worker">
+    <!-- missing family name -->
+    <name><given>Two</given></name> 
+    <email>two at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="three.worker">
+    <!-- missing name -->
+    <email>three at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="four.worker">
+    <!-- missing link -->
+    <name><family>Worker</family> <given>Four</given></name>
+    <email>four at foo.com</email>
+  </person>
+
+  <person id="five.worker">
+    <name><family>Worker</family> <given>Five</given></name>
+    <email>five at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+</personnel>
diff --git a/xml/schema/invalid.xml b/xml/schema/invalid.xml
new file mode 100644
index 0000000..048a2d7
--- /dev/null
+++ b/xml/schema/invalid.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<personnel>
+
+  <person id="Big.Boss" >
+    <!-- missing given name -->
+    <name><family>Boss</family></name>
+    <email>chief at foo.com</email>
+    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
+  </person>
+
+  <person id="one.worker">
+    <!-- too many links -->
+    <name><family>Worker</family> <given>One</given></name>
+    <email>one at foo.com</email>
+    <link manager="Big.Boss"/>
+    <link manager="Big.Boss2"/>
+  </person>
+
+  <person id="two.worker">
+    <!-- missing family name -->
+    <name><given>Two</given></name> 
+    <email>two at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="three.worker">
+    <!-- missing name -->
+    <email>three at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="four.worker">
+    <!-- missing link -->
+    <name><family>Worker</family> <given>Four</given></name>
+    <email>four at foo.com</email>
+  </person>
+
+  <person id="five.worker">
+    <name><family>Worker</family> <given>Five</given></name>
+    <email>five at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+</personnel>
diff --git a/xml/schema/personal-dtd.xml b/xml/schema/personal-dtd.xml
new file mode 100644
index 0000000..ed1137c
--- /dev/null
+++ b/xml/schema/personal-dtd.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE personnel SYSTEM "personal.dtd">
+<personnel>
+
+  <person id="Big.Boss">
+    <name><family>Boss</family> <given>Big</given></name>
+    <email>chief at foo.com</email>
+    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
+  </person>
+
+  <person id="one.worker">
+    <name><family>Worker</family> <given>One</given></name>
+    <email>one at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="two.worker">
+    <name><family>Worker</family> <given>Two</given></name>
+    <email>two at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="three.worker">
+    <name><family>Worker</family> <given>Three</given></name>
+    <email>three at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="four.worker">
+    <name><family>Worker</family> <given>Four</given></name>
+    <email>four at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="five.worker">
+    <name><family>Worker</family> <given>Five</given></name>
+    <email>five at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+</personnel>
diff --git a/xml/schema/personal-schema.xml b/xml/schema/personal-schema.xml
new file mode 100644
index 0000000..080ae09
--- /dev/null
+++ b/xml/schema/personal-schema.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<personnel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	   xsi:noNamespaceSchemaLocation='personal.xsd'>
+
+  <person id="Big.Boss" >
+    <name><family>Boss</family> <given>Big</given></name>
+    <email>chief at foo.com</email>
+    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
+  </person>
+
+  <person id="one.worker">
+    <name><family>Worker</family> <given>One</given></name>
+    <email>one at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="two.worker">
+    <name><family>Worker</family> <given>Two</given></name> 
+    <email>two at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="three.worker">
+    <name><family>Worker</family> <given>Three</given></name>
+    <email>three at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="four.worker">
+    <name><family>Worker</family> <given>Four</given></name>
+    <email>four at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="five.worker">
+    <name><family>Worker</family> <given>Five</given></name>
+    <email>five at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+</personnel>
diff --git a/xml/schema/personal.dtd b/xml/schema/personal.dtd
new file mode 100644
index 0000000..6890561
--- /dev/null
+++ b/xml/schema/personal.dtd
@@ -0,0 +1,25 @@
+<?xml encoding="UTF-8"?>

+<!ELEMENT personnel (person)+>

+

+<!ELEMENT person (name,email*,url*,link?)>

+<!ATTLIST person id ID #REQUIRED>

+<!ATTLIST person note CDATA #IMPLIED>

+<!ATTLIST person contr (true|false) 'false'>

+<!ATTLIST person salary CDATA #IMPLIED>

+

+<!ELEMENT name ((family,given)|(given,family))>

+

+<!ELEMENT family (#PCDATA)>

+

+<!ELEMENT given (#PCDATA)>

+

+<!ELEMENT email (#PCDATA)>

+

+<!ELEMENT url EMPTY>

+<!ATTLIST url href CDATA 'http://'>

+

+<!ELEMENT link EMPTY>

+<!ATTLIST link manager IDREF #IMPLIED>

+<!ATTLIST link subordinates IDREFS #IMPLIED>

+

+<!NOTATION gif PUBLIC '-//APP/Photoshop/4.0' 'photoshop.exe'>

diff --git a/xml/schema/personal.xml b/xml/schema/personal.xml
new file mode 100644
index 0000000..afb063f
--- /dev/null
+++ b/xml/schema/personal.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<personnel>
+
+  <person id="Big.Boss" >
+    <name><family>Boss</family> <given>Big</given></name>
+    <email>chief at foo.com</email>
+    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
+  </person>
+
+  <person id="one.worker">
+    <name><family>Worker</family> <given>One</given></name>
+    <email>one at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="two.worker">
+    <name><family>Worker</family> <given>Two</given></name> 
+    <email>two at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="three.worker">
+    <name><family>Worker</family> <given>Three</given></name>
+    <email>three at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="four.worker">
+    <name><family>Worker</family> <given>Four</given></name>
+    <email>four at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+  <person id="five.worker">
+    <name><family>Worker</family> <given>Five</given></name>
+    <email>five at foo.com</email>
+    <link manager="Big.Boss"/>
+  </person>
+
+</personnel>
diff --git a/xml/schema/personal.xsd b/xml/schema/personal.xsd
new file mode 100644
index 0000000..98ffb0a
--- /dev/null
+++ b/xml/schema/personal.xsd
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>

+

+ <xs:element name="personnel">

+  <xs:complexType>

+   <xs:sequence>

+     <xs:element ref="person" minOccurs='1' maxOccurs='unbounded'/>

+   </xs:sequence>

+  </xs:complexType>

+

+  <xs:unique name="unique1">

+   <xs:selector xpath="person"/>

+   <xs:field xpath="name/given"/>

+   <xs:field xpath="name/family"/>

+  </xs:unique>

+  <xs:key name='empid'>

+   <xs:selector xpath="person"/>

+   <xs:field xpath="@id"/>

+  </xs:key>

+  <xs:keyref name="keyref1" refer='empid'>

+   <xs:selector xpath="person"/> 

+   <xs:field xpath="link/@manager"/>  

+  </xs:keyref>

+

+ </xs:element>

+

+ <xs:element name="person">

+  <xs:complexType>

+   <xs:sequence>

+     <xs:element ref="name"/>

+     <xs:element ref="email" minOccurs='0' maxOccurs='unbounded'/>

+     <xs:element ref="url"   minOccurs='0' maxOccurs='unbounded'/>

+     <xs:element ref="link"  minOccurs='0' maxOccurs='1'/>

+   </xs:sequence>

+   <xs:attribute name="id"  type="xs:ID" use='required'/>

+   <xs:attribute name="note" type="xs:string"/>

+   <xs:attribute name="contr" default="false">

+    <xs:simpleType>

+     <xs:restriction base = "xs:string">

+       <xs:enumeration value="true"/>

+       <xs:enumeration value="false"/>

+     </xs:restriction>

+    </xs:simpleType>

+   </xs:attribute>

+   <xs:attribute name="salary" type="xs:integer"/>

+  </xs:complexType>

+ </xs:element>

+

+ <xs:element name="name">

+  <xs:complexType>

+   <xs:all>

+    <xs:element ref="family"/>

+    <xs:element ref="given"/>

+   </xs:all>

+  </xs:complexType>

+ </xs:element>

+

+ <xs:element name="family" type='xs:string'/>

+

+ <xs:element name="given" type='xs:string'/>

+

+ <xs:element name="email" type='xs:string'/>

+

+ <xs:element name="url">

+  <xs:complexType>

+   <xs:attribute name="href" type="xs:string" default="http://"/>

+  </xs:complexType>

+ </xs:element>

+

+ <xs:element name="link">

+  <xs:complexType>

+   <xs:attribute name="manager" type="xs:IDREF"/>

+   <xs:attribute name="subordinates" type="xs:IDREFS"/>

+  </xs:complexType>

+ </xs:element>

+

+ <xs:notation name='gif' public='-//APP/Photoshop/4.0' system='photoshop.exe'/>

+

+</xs:schema>

diff --git a/xml/soap.xml b/xml/soap.xml
new file mode 100644
index 0000000..d4cd2b5
--- /dev/null
+++ b/xml/soap.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope 
+  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <SOAP-ENV:Body>
+    <m:BabelFish xmlns:m="urn:xmethodsBabelFish">
+      <translationmode>en_fr</translationmode>      
+      <sourcedata>
+
+        SOAP is quite easy with JSP & dom4j!
+
+      </sourcedata>    
+    </m:BabelFish>
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
diff --git a/xml/swing/tableForAtoms.xml b/xml/swing/tableForAtoms.xml
new file mode 100644
index 0000000..0f2c376
--- /dev/null
+++ b/xml/swing/tableForAtoms.xml
@@ -0,0 +1,10 @@
+<?xml version='1.0'?>
+<!-- displays the periodic table in a JTable -->
+<table select="/PERIODIC_TABLE/ATOM">
+  <column select="NAME">Name</column>
+  <column select="SYMBOL">Symbol</column>
+  <column select="ATOMIC_WEIGHT" type="number">Weight</column>
+  <column select="ATOMIC_NUMBER" type="number">Number</column>
+  <column select="OXIDATION_STATES">Oxidation States</column>
+  <column select="BOILING_POINT" columnNameXPath="/PERIODIC_TABLE/ATOM/BOILING_POINT/@UNITS"/>
+</table>
diff --git a/xml/swing/tableForWeb.xml b/xml/swing/tableForWeb.xml
new file mode 100644
index 0000000..a63c50f
--- /dev/null
+++ b/xml/swing/tableForWeb.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0'?>
+<!-- displays the servlets available in a web.xml document -->
+<table select="/web-app/servlet">
+  <column select="servlet-name">Name</column>
+  <column select="servlet-class">Class</column>
+  <column select="../servlet-mapping[servlet-name=$Name]/url-pattern">Mapping</column>
+</table>
diff --git a/xml/test/DavidHooker.xml b/xml/test/DavidHooker.xml
new file mode 100644
index 0000000..3b9207f
--- /dev/null
+++ b/xml/test/DavidHooker.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<atomic:thing 
+  xmlns:atomic="http://www.a4networks.com/schemas/atomic-thing"
+  xmlns:oi="http://www.a4networks.com/schemas/thing-info" 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
+  xsi:schemaLocation="http://www.a4networks.com/schemas/atomic-opl C:/work/atomic-thing.xsd"
+>                         
+  <oi:thing-info 
+    owner="dhooker" 
+    author="dhooker" 
+    thing-version="1" 
+    date-modified="2001-11-05" 
+    triggering-document-expression="/a/b/c/d" 
+    thing-type="transform" 
+    check-for-duplicate="yes" 
+    sharing="private"/>
+
+</atomic:thing>
diff --git a/xml/test/FranzBeilImport1.xml b/xml/test/FranzBeilImport1.xml
new file mode 100644
index 0000000..11b9689
--- /dev/null
+++ b/xml/test/FranzBeilImport1.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<import>
+
+  <stuff name="first">
+	first text
+  </stuff>
+
+  <stuff name="second">
+	second text
+  </stuff>
+
+  <stuff name="third">
+	third text
+  </stuff>
+
+</import>
diff --git a/xml/test/FranzBeilImport2.xml b/xml/test/FranzBeilImport2.xml
new file mode 100644
index 0000000..6def3b1
--- /dev/null
+++ b/xml/test/FranzBeilImport2.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<import>
+
+  <stuff name="fourth">
+	fourth text
+  </stuff>
+
+  <stuff name="fifth">
+	fifth text
+  </stuff>
+
+  <stuff name="sixth">
+	sixth text
+  </stuff>
+
+</import>
diff --git a/xml/test/FranzBeilImport3.xml b/xml/test/FranzBeilImport3.xml
new file mode 100644
index 0000000..ec73634
--- /dev/null
+++ b/xml/test/FranzBeilImport3.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<import>
+
+  <stuff name="seventh">
+	seventh text
+  </stuff>
+
+  <stuff name="eighth">
+	eighth text
+  </stuff>
+
+  <stuff name="ninth">
+	ninth text
+  </stuff>
+
+</import>
diff --git a/xml/test/FranzBeilMain.xml b/xml/test/FranzBeilMain.xml
new file mode 100644
index 0000000..11f1b14
--- /dev/null
+++ b/xml/test/FranzBeilMain.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+<main>
+<import href="FranzBeilImport1.xml" />
+<import href="FranzBeilImport2.xml" />
+<import href="FranzBeilImport3.xml" />
+</main>
diff --git a/xml/test/LuisSchema.xsd b/xml/test/LuisSchema.xsd
new file mode 100644
index 0000000..02d685c
--- /dev/null
+++ b/xml/test/LuisSchema.xsd
@@ -0,0 +1,394 @@
+<?xml version="1.0" encoding="utf-8"?>

+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">

+	<xsd:element name="root">

+		<xsd:complexType name="rootComplex">

+			<xsd:sequence>

+				<xsd:any/>

+			</xsd:sequence>

+			<xsd:attribute name="id" type="xsd:long" use="required" i18n="false"/>

+			<xsd:attribute name="_creationDate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_lastUpdate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_changesCounter" type="xsd:long" use="optional" i18n="false"/>

+			<xsd:attribute name="_urgentImport" type="xsd:boolean" use="optional" i18n="false"/>

+			<xsd:attribute name="_status" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="14"/>

+						<xsd:enumeration value="DIRTY"/>

+						<xsd:enumeration value="VALIDATED"/>

+						<xsd:enumeration value="PUBLISHED"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_userName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_validatorName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="name" use="optional" i18n="true">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="128"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+		</xsd:complexType>

+	</xsd:element>

+	<xsd:element name="orphanage">

+		<xsd:complexType name="orphanageComplex">

+			<xsd:sequence>

+				<xsd:any/>

+			</xsd:sequence>

+			<xsd:attribute name="id" type="xsd:long" use="required" i18n="false"/>

+			<xsd:attribute name="_creationDate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_lastUpdate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_changesCounter" type="xsd:long" use="optional" i18n="false"/>

+			<xsd:attribute name="_urgentImport" type="xsd:boolean" use="optional" i18n="false"/>

+			<xsd:attribute name="_status" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="14"/>

+						<xsd:enumeration value="DIRTY"/>

+						<xsd:enumeration value="VALIDATED"/>

+						<xsd:enumeration value="PUBLISHED"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_userName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_validatorName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="name" use="optional" i18n="true">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="128"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+		</xsd:complexType>

+	</xsd:element>

+	<xsd:element name="users">

+		<xsd:complexType name="userComplex">

+			<xsd:sequence>

+				<xsd:element minOccurs="0" maxOccurs="unbounded" name="user"/>

+			</xsd:sequence>

+			<xsd:attribute name="id" type="xsd:long" use="required" i18n="false"/>

+			<xsd:attribute name="_creationDate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_lastUpdate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_changesCounter" type="xsd:long" use="optional" i18n="false"/>

+			<xsd:attribute name="_urgentImport" type="xsd:boolean" use="optional" i18n="false"/>

+			<xsd:attribute name="_status" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="14"/>

+						<xsd:enumeration value="DIRTY"/>

+						<xsd:enumeration value="VALIDATED"/>

+						<xsd:enumeration value="PUBLISHED"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_userName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_validatorName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+		</xsd:complexType>

+	</xsd:element>

+	<xsd:element name="user">

+		<xsd:complexType>

+			<xsd:sequence>

+				<xsd:element minOccurs="0" maxOccurs="unbounded" name="contract"/>

+				<xsd:element name="name"/>

+				<xsd:element maxOccurs="5" name="home"/>

+			</xsd:sequence>

+			<xsd:attribute name="added" use="required" i18n="false" type="xsd:date"/>

+			<xsd:attribute name="favoritePrime" use="optional" i18n="false">

+				<xsd:simpleType name="tPrimes">

+					<xsd:restriction base="xsd:integer">

+						<xsd:enumeration value="2"/>

+						<xsd:enumeration value="3"/>

+						<xsd:enumeration value="5"/>

+						<xsd:enumeration value="7"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="age" use="optional" i18n="false" type="xsd:integer"/>

+			<xsd:attribute name="IC" use="optional" i18n="false" type="xsd:decimal"/>

+			<xsd:attribute name="nick" use="required" i18n="false">

+				<xsd:simpleType name="tString100">

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="100"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="new" use="optional" i18n="false" type="xsd:boolean"/>

+			<xsd:attribute name="descr" use="optional" i18n="true">

+				<xsd:simpleType name="tString100">

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="100"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="id" type="xsd:long" use="required" i18n="false"/>

+			<xsd:attribute name="_creationDate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_lastUpdate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_changesCounter" type="xsd:long" use="optional" i18n="false"/>

+			<xsd:attribute name="_urgentImport" type="xsd:boolean" use="optional" i18n="false"/>

+			<xsd:attribute name="_status" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="14"/>

+						<xsd:enumeration value="DIRTY"/>

+						<xsd:enumeration value="VALIDATED"/>

+						<xsd:enumeration value="PUBLISHED"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_userName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_validatorName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+		</xsd:complexType>

+	</xsd:element>

+	<xsd:element name="name">

+		<xsd:complexType>

+			<xsd:attribute name="firstName" i18n="false">

+				<xsd:simpleType name="tString100">

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="100"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="sureName" i18n="false">

+				<xsd:simpleType name="tString100">

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="100"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="personalID" i18n="false" type="xsd:long"/>

+			<xsd:attribute name="id" type="xsd:long" use="required" i18n="false"/>

+			<xsd:attribute name="_creationDate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_lastUpdate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_changesCounter" type="xsd:long" use="optional" i18n="false"/>

+			<xsd:attribute name="_urgentImport" type="xsd:boolean" use="optional" i18n="false"/>

+			<xsd:attribute name="_status" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="14"/>

+						<xsd:enumeration value="DIRTY"/>

+						<xsd:enumeration value="VALIDATED"/>

+						<xsd:enumeration value="PUBLISHED"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_userName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_validatorName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+		</xsd:complexType>

+	</xsd:element>

+	<xsd:element name="contract">

+		<xsd:complexType>

+			<xsd:sequence>

+				<xsd:element minOccurs="0" maxOccurs="3" name="specialNotes"/>

+			</xsd:sequence>

+			<xsd:attribute name="forever" i18n="false" type="xsd:boolean"/>

+			<xsd:attribute name="fee" i18n="false" type="xsd:decimal"/>

+			<xsd:attribute name="total" i18n="false" type="xsd:double"/>

+			<xsd:attribute name="salary" use="optional" i18n="false">

+				<xsd:simpleType name="tSalaries">

+					<xsd:restriction base="xsd:decimal">

+						<xsd:minInclusive value="0"/>

+						<!--xsd:totalDigits value="10"/ NEEDS NEW XERCES-->

+						<!--xsd:fractionDigits value="2"/ NEEDS NEW XERCES-->

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="new" use="optional" i18n="false" type="xsd:boolean"/>

+			<xsd:attribute name="descr" use="optional" i18n="true">

+				<xsd:simpleType name="tString100">

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="100"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="id" type="xsd:long" use="required" i18n="false"/>

+			<xsd:attribute name="_creationDate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_lastUpdate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_changesCounter" type="xsd:long" use="optional" i18n="false"/>

+			<xsd:attribute name="_urgentImport" type="xsd:boolean" use="optional" i18n="false"/>

+			<xsd:attribute name="_status" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="14"/>

+						<xsd:enumeration value="DIRTY"/>

+						<xsd:enumeration value="VALIDATED"/>

+						<xsd:enumeration value="PUBLISHED"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_userName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_validatorName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+		</xsd:complexType>

+	</xsd:element>

+	<xsd:element name="home">

+		<xsd:complexType>

+			<xsd:attribute name="url" i18n="false" type="xsd:anyURI"/>

+			<xsd:attribute name="ometer" use="required" i18n="false">

+				<xsd:simpleType name="tOnlyO">

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="100"/>

+						<xsd:pattern value="(O)+"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="linuxurl" use="optional" i18n="false">

+				<xsd:simpleType name="tLinuxURI">

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="100"/>

+						<!--xsd:whiteSpace value="collapse"/  NEEDS NEW XERCES-->

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="new" use="optional" i18n="false" type="xsd:boolean"/>

+			<xsd:attribute name="descr" use="optional" i18n="true">

+				<xsd:simpleType name="tString100">

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="100"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="id" type="xsd:long" use="required" i18n="false"/>

+			<xsd:attribute name="_creationDate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_lastUpdate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_changesCounter" type="xsd:long" use="optional" i18n="false"/>

+			<xsd:attribute name="_urgentImport" type="xsd:boolean" use="optional" i18n="false"/>

+			<xsd:attribute name="_status" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="14"/>

+						<xsd:enumeration value="DIRTY"/>

+						<xsd:enumeration value="VALIDATED"/>

+						<xsd:enumeration value="PUBLISHED"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_userName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_validatorName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+		</xsd:complexType>

+	</xsd:element>

+	<xsd:element name="specialNotes">

+		<xsd:complexType>

+			<xsd:attribute name="new" use="optional" i18n="false" type="xsd:boolean"/>

+			<xsd:attribute name="descr" use="optional" i18n="true">

+				<xsd:simpleType name="tString100">

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="100"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="id" type="xsd:long" use="required" i18n="false"/>

+			<xsd:attribute name="_creationDate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_lastUpdate" type="xsd:date" use="optional" i18n="false"/>

+			<xsd:attribute name="_changesCounter" type="xsd:long" use="optional" i18n="false"/>

+			<xsd:attribute name="_urgentImport" type="xsd:boolean" use="optional" i18n="false"/>

+			<xsd:attribute name="_status" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="14"/>

+						<xsd:enumeration value="DIRTY"/>

+						<xsd:enumeration value="VALIDATED"/>

+						<xsd:enumeration value="PUBLISHED"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_userName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+			<xsd:attribute name="_validatorName" use="optional" i18n="false">

+				<xsd:simpleType>

+					<xsd:restriction base="xsd:string">

+						<xsd:maxLength value="32"/>

+					</xsd:restriction>

+				</xsd:simpleType>

+			</xsd:attribute>

+		</xsd:complexType>

+	</xsd:element>

+</xsd:schema>

diff --git a/xml/test/badcomment.xml b/xml/test/badcomment.xml
new file mode 100644
index 0000000..50ecbcd
--- /dev/null
+++ b/xml/test/badcomment.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<product>
+  <!-- this is a bad -- coment -->
+</product>
diff --git a/xml/test/cdata.xml b/xml/test/cdata.xml
new file mode 100644
index 0000000..601c990
--- /dev/null
+++ b/xml/test/cdata.xml
@@ -0,0 +1,8 @@
+<foo>
+<bar>
+<![CDATA[Here is a multi-line
+section of content, that gets
+incorrectly parsed.
+]]>
+</bar>
+</foo>
\ No newline at end of file
diff --git a/xml/test/defaultNamespace.xml b/xml/test/defaultNamespace.xml
new file mode 100644
index 0000000..e5a5779
--- /dev/null
+++ b/xml/test/defaultNamespace.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<a xmlns="dummyNamespace">
+  <b>
+    <c>Hello</c>
+  </b>
+</a>
diff --git a/xml/test/defaultNamespaceIssue.xsd b/xml/test/defaultNamespaceIssue.xsd
new file mode 100644
index 0000000..ba43012
--- /dev/null
+++ b/xml/test/defaultNamespaceIssue.xsd
@@ -0,0 +1,745 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:wapforum:devicesheet" xmlns="urn:wapforum:devicesheet">
+  <xsd:element name="DeviceSheet" type="DeviceSheetType">
+    <xsd:annotation>
+        <xsd:documentation>
+            <text xmlns="">
+          A Component within the CC/PP Schema is a class of related properties
+          that describe the capabilities and preferences information.
+            </text>
+        </xsd:documentation>
+    </xsd:annotation>
+  </xsd:element>
+
+  <xsd:complexType name="DeviceSheetType">
+    <xsd:all minOccurs="1" >
+      <xsd:element name="Description" type="xsd:string" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Any description or notes about this device
+					</xsd:documentation>
+				</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="DefaultValue" type="xsd:boolean" nillable="true" minOccurs="0">
+        <xsd:annotation>
+        	 <xsd:documentation>
+    			  	Specifies if the device is a generic device supporting an acceptable
+              content type.
+           </xsd:documentation>
+    	  </xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="Hardware" type="HardwareType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+            The HardwarePlatform component contains properties of the device's
+            Hardware, such as display size, supported character sets, etc.
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="Software" type="SoftwareType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            The SoftwarePlatform component contains properties of the device's
+            application environment, operating system, and installed software.
+					</xsd:documentation>
+				</xsd:annotation>
+      </xsd:element>
+      
+      <xsd:element name="WapCharacteristics" type="WapCharacteristicsType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            The WapCharacteristics component contains properties of the WAP
+            environment supported by the device.
+					</xsd:documentation>
+                                    </xsd:annotation>
+      </xsd:element>
+      
+      <xsd:element name="BrowserUA" type="BrowserUAType" minOccurs="0">
+        <xsd:annotation>
+          <xsd:documentation>
+            The BrowserUA component contains attributes related to the browser
+            user agent running on the device.
+          </xsd:documentation>
+        </xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="NetworkCharacteristics" type="NetworkCharacteristicsType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            The NetworkCharacteristics component contains properties describing the
+            network environment including the supported bearers.
+					</xsd:documentation>
+				</xsd:annotation>
+      </xsd:element>
+
+      <xsd:element name="PushCharacteristics" type="PushCharacteristicsType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            The PushCharacteristics component contains properties of the device's 
+            push capabilities, such as supported content mime types.
+					</xsd:documentation>
+				</xsd:annotation>
+      </xsd:element>
+    </xsd:all>
+  </xsd:complexType>
+
+  <xsd:complexType name="HardwareType">
+		<xsd:all minOccurs="0">
+			<xsd:element name="BitsPerPixel" type="xsd:integer" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						The number of bits of color or grayscale information per
+            pixel, related to the number of colors or shades of gray
+            the device can display.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="ColorCapable" type="xsd:boolean" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						The number of bits of color or grayscale information per
+            pixel, related to the number of colors or shades of gray
+            the device can display.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="CPU" type="xsd:string" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Name and model number of the device CPU.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="ImageCapable" type="xsd:boolean" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Indicates whether the device supports the display of
+            images. If the value is "Yes", the property CcppAccept
+            may list the types of images supported.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="InputCharSet" type="BagType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						List of character sets supported by the device for text
+            entry. Property's value is a list of character sets,
+            where each item in the list is a character set name, as
+            registered with IANA.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="Keyboard" type="xsd:string" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Type of keyboard supported by the device, as an indicator
+            of ease of text entry.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="Model" type="xsd:string" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Model number assigned to the terminal device by the
+            vendor or manufacturer.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="NumberOfSoftKeys" type="xsd:integer" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Number of soft keys available on the device.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="OutputCharSet" type="BagType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						List of character sets supported by the device for
+            output to the display. Property value is a list of
+            character sets, where each item in the list is a
+            character set name, as registered with IANA.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+
+			<xsd:element name="PixelAspectRatio" type="DimensionType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Ratio of pixel width to pixel height.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+
+			<xsd:element name="PointingResolution" type="xsd:string" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Type of resolution of the pointing accessory supported
+            by the device.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="ScreenSize" type="DimensionType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						The size of the device's screen in units of pixels,
+            composed of the screen width and the screen height.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="ScreenSizeChar" type="DimensionType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Size of the device's screen in units of characters,
+            composed of the screen width and screen height. The
+            device's standard font should be used to determine
+            this property's value. (Number of characters per
+            row)x(Number of rows). In calculating this attribute
+            use the largest character in the device's default font.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="StandardFontProportional" type="xsd:boolean" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            Indicates whether the device's standard font is
+            proportional.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="SoundOutputCapable" type="xsd:boolean" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Indicates whether the device supports sound output
+            through an external speaker, headphone jack, or other
+            sound output mechanism.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="TextInputCapable" type="xsd:boolean" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Indicates whether the device supports alpha-numeric text
+            entry. "Yes" means the device supports entry of both
+            letters and digits. "No" means the device supports only
+            entry of digits.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="Vendor" type="xsd:string" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Name of the vendor manufacturing the terminal device.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="VoiceInputCapable" type="xsd:boolean" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Indicates whether the device supports any form of voice
+            input, including speech recognition. This includes voice-
+            enabled browsers.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+		</xsd:all>
+  </xsd:complexType>
+
+  <xsd:complexType name="SoftwareType">
+		<xsd:all minOccurs="1" maxOccurs="1">
+			<xsd:element name="AcceptDownloadableSoftware" type="xsd:boolean" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						Indicates the user's preference on whether to accept
+            downloadable software.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="AudioInputEncoder" type="BagType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            List of audio input encoders supported by the device.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="CcppAccept" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of content types the device supports. Property
+            value is a list of MIME types, where each item in the
+            list is a content type descriptor as specified by
+            RFC 2045.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="CcppAccept-Charset" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of character sets the device supports. Property
+            value is a list of character sets, where each item in
+            the list is a character set name registered with IANA.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="CcppAccept-Encoding" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of transfer encodings the device supports.
+            Property value is a list of transfer encodings, where
+            each item in the list is a transfer encoding name as
+            specified by RFC 2045 and registered with IANA.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="CcppAccept-Language" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of preferred document languages. If a resource is
+            available in more than one natural language, the server
+            can use this property to determine which version of the
+            resource to send to the device. The first item in the
+            list should be considered the user's first choice, the
+            second the second choice, and so on. Property value is
+            a list of natural languages, where each item in the list
+            is the name of a language as defined by RFC 3066[RFC3066].
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="DownloadableSoftwareSupport" type="BagType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            List of preferred document languages. If a resource is
+            available in more than one natural language, the server
+            can use this property to determine which version of the
+            resource to send to the device. The first item in the
+            list should be considered the user's first choice, the
+            second the second choice, and so on. Property value is
+            a list of natural languages, where each item in the list
+            is the name of a language as defined by RFC 3066[RFC3066].
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="JavaEnabled" type="xsd:boolean" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            Indicates whether the device supports a Java virtual
+            machine.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="JavaPlatform" type="BagType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            The list of JAVA platforms and profiles installed in the device. 
+            Each item in the list is a name token describing compatibility 
+            with the name and version of the java platform specification 
+            or the name and version of the profile specification name (if 
+            profile is included in the device).
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="JVMVersion" type="BagType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            List of the Java virtual machines installed on the
+            device. Each item in the list is a name token describing
+            the vendor and version of the VM.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="MexeClassmarks" type="BagType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            List of MExE classmarks supported by the device. Value "1" 
+            means the MExE device supports WAP, value "2" means that MExE 
+            device supports Personal Java and value "3" means that MExE
+            device supports MIDP applications.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="MexeSpec" type="xsd:double" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            Class mark specialization. Refers to the first two
+            digits of the version of the MExE Stage 2 spec.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="MexeSecureDomains" type="xsd:boolean" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            Indicates whether the device's supports MExE security domains. 
+            "Yes" means that security domains are supported in accordance 
+            with MExE specifications identified by the MexeSpec attribute. 
+            "No" means that security domains are not supported and the 
+            device has only untrusted domain (area).
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="OSName" type="xsd:string" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            Name of the device's operating system.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="OSVendor" type="xsd:string" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            Vendor of the device's operating system.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="OSVersion" type="xsd:double" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            Vendor of the device's operating system.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="RecipientAppAgent" type="BagType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            User agent associated with the current request. Value
+            should match the name of one of the components in the
+            profile. 
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="SoftwareNumber" type="xsd:double" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            Version of the device-specific software (firmware) to
+            which the device's low-level software conforms.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="VideoInputEncoder" type="BagType" minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+            List of video input encoders supported by the device.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+		</xsd:all>
+  </xsd:complexType>
+
+  <xsd:complexType name="WapCharacteristicsType">
+		<xsd:all minOccurs="0" maxOccurs="1">
+			<xsd:element name="SupportedPictogramSet" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Pictogram classes supported by the device as 
+            defined in "WAP Pictogram specification".
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="WapDeviceClass" type="xsd:string" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Classification of the device based on capabilities as
+            identified in the WAP 1.1 specifications. Current
+            values are "A", "B" and "C".
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="WapVersion" type="xsd:double" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Version of WAP supported.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="WmlDeckSize" type="xsd:integer" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Maximum size of a WML deck that can be downloaded to
+            the device. This may be an estimate of the maximum size
+            if the true maximum size is not known. Value is number
+            of bytes.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="WmlScriptLibraries" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of mandatory and optional libraries supported in
+            the device's WMLScript VM.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="WmlScriptVersion" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of WMLScript versions supported by the device.
+            Property value is a list of version numbers, where
+            each item in the list is a version string conforming
+            to Version.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="WmlVersion" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of WML language versions supported by the device.
+            Property value is a list of version numbers, where
+            each item in the list is a version string conforming
+            to Version.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="WtaiLibraries" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of WTAI network common and network specific
+            libraries supported by the device.
+            Property value is a list of WTA library names, where each
+            item in the list list is a library name as specified by
+            "WAP WTAI" and its addendums. Any future addendums to "WAP WTAI" should be
+            reflected in the values of this property.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="WtaVersion" type="xsd:double" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+             Version of WTA user agent.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+		</xsd:all>
+  </xsd:complexType>
+  
+  <xsd:complexType name="BrowserUAType">
+		<xsd:all>
+			<xsd:element name="BrowserName" type="xsd:string" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Name of the browser user agent associated with the
+            current request.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="BrowserVersion" type="xsd:double" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Version of the browser.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="DownloadableBrowserApps" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of executable content types which the browser
+            supports and which it is willing to accept from the
+            network. The property value is a list of MIME types,
+            where each item in the list is a content type
+            descriptor as specified by RFC 2045.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="FramesCapable" type="xsd:boolean" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Indicates whether the browser is capable of displaying
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="HtmlVersion" type="xsd:boolean" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Version of HyperText Markup Language (HTML) supported
+            by the browser.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="JavaAppletEnabled" type="xsd:boolean" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Indicates whether the browser supports Java applets.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="JavaScriptEnabled" type="xsd:boolean" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Indicates whether the browser supports JavaScript.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="JavaScriptVersion" type="xsd:double" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Version of the JavaScript language supported by the
+            browser.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="PreferenceForFrames" type="xsd:boolean" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Indicates the user's preference for receiving HTML
+            content that contains frames.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="TablesCapable" type="xsd:boolean" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Indicates whether the browser is capable of displaying
+            tables.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="XhtmlVersion" type="xsd:double" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Version of XHTML supported by the browser.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="XhtmlModules" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of XHTML modules supported by the browser. Property
+            value is a list of module names, where each item in the
+            list is the name of an XHTML module as defined by the
+            W3C document "Modularization of XHTML", Section 4. List
+            items are separated by white space. Note that the
+            referenced document is a work in progress. Any subsequent
+            changes to the module naming conventions should be
+            reflected in the values of this property.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+		</xsd:all>
+  </xsd:complexType>
+  
+  <xsd:complexType name="NetworkCharacteristicsType">
+		<xsd:all minOccurs="1" maxOccurs="1">
+			<xsd:element name="SupportedBluetoothVersion" type="xsd:string" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Supported Bluetooth version.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="CurrentBearerService" type="xsd:string" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            The bearer on which the current session was opened.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="SecuritySupport" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of types of security or encryption mechanisms supported by the device.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="SupportedBearers" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of bearers supported by the device.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+		</xsd:all>
+  </xsd:complexType>
+
+  <xsd:complexType name="PushCharacteristicsType">
+		<xsd:all minOccurs="1" maxOccurs="1">
+      <xsd:element name="Push-Accept" type="" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of content types the device supports, which can be carried
+            inside the message/http entity body when OTA-HTTP is used.
+            Property value is a list of MIME types, where each item in the
+            list is a content type descriptor as specified by RFC 2045.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="Push-Accept-Charset" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of character sets the device supports. Property
+            value is a list of character sets, where each item in
+            the list is a character set name registered with IANA.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>			
+			<xsd:element name="Push-Accept-Encoding" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of transfer encodings the device supports.
+            Property value is a list of transfer encodings, where
+            each item in the list is a transfer encoding name as
+            specified by RFC 2045 and registered with IANA.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="Push-Accept-Language" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of preferred document languages. If a resource is
+            available in more than one natural language, the server
+            can use this property to determine which version of the
+            resource to send to the device. The first item in the
+            list should be considered the user's first choice, the
+            second the second choice, and so on. Property value is
+            a list of natural languages, where each item in the list
+            is the name of a language as defined by RFC 3066[RFC3066].
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="Push-Accept-AppID" type="BagType" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            List of applications the device supports, where each item
+            in the list is an application-id on absoluteURI format
+            as specified in [PushMsg]. A wildcard ("*") may be used
+            to indicate support for any application.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="Push-MsgSize" type="xsd:integer" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Maximum size of a push message that the device can
+            handle. Value is number of bytes.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:element name="Push-MaxPushReq" type="xsd:integer" minOccurs="0">
+        <xsd:annotation>
+					<xsd:documentation>
+            Maximum number of outstanding push requests that the device
+            can handle.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+		</xsd:all>
+  </xsd:complexType>
+
+
+  <xsd:complexType name="BagType">
+    <xsd:sequence minOccurs="1">
+      <xsd:element name="Bag">
+        <xsd:complexType>
+          <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+            <xsd:element name="Property" type="xsd:string"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+    </xsd:sequence>
+  </xsd:complexType>
+
+  <xsd:simpleType name="DimensionType">
+    <xsd:restriction base="xsd:string">
+      <xsd:pattern value="[0-9]+x[0-9]+"/>
+    </xsd:restriction>
+  </xsd:simpleType>
+</xsd:schema>
\ No newline at end of file
diff --git a/xml/test/dosLineFeeds.xml b/xml/test/dosLineFeeds.xml
new file mode 100644
index 0000000..c6ad709
--- /dev/null
+++ b/xml/test/dosLineFeeds.xml
@@ -0,0 +1,15 @@
+<html>
+  <body bgcolor="#ffffff">
+
+    <div ID="test">
+      Mary had a little lamb.
+    </div>
+
+    <br/>
+
+    <a href="testURL">Test URL</a>
+
+    Hello, this is a test.
+
+  </body>
+</html>
\ No newline at end of file
diff --git a/xml/test/elementByID.xml b/xml/test/elementByID.xml
new file mode 100644
index 0000000..1cba5cd
--- /dev/null
+++ b/xml/test/elementByID.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<html>
+  <head>
+  <title>Squeak!</title>
+  </head>
+  <body>
+    <h1>Squeak!</h1>
+    <span ID="message">squeak squeak squeak</span>
+  </body>
+</html>
diff --git a/xml/test/encode.xml b/xml/test/encode.xml
new file mode 100644
index 0000000..ea98880
--- /dev/null
+++ b/xml/test/encode.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<product>
+    <product>This & that</product>
+    <product>This < that</product>
+    <product>This > that</product>
+</product>
diff --git a/xml/test/fields.xml b/xml/test/fields.xml
new file mode 100644
index 0000000..8faddc9
--- /dev/null
+++ b/xml/test/fields.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fields>
+    <field id="1100"/>
+    <field id="1101"/>
+    <field id="2100"/>
+    <field id="2110"/>
+    <field id="2111"/>
+    <field id="3100"/>
+    <field id="3110"/>
+    <field id="3111"/>
+</fields>
diff --git a/xml/test/jimBrain.xml b/xml/test/jimBrain.xml
new file mode 100644
index 0000000..38f619c
--- /dev/null
+++ b/xml/test/jimBrain.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!-- THis is a comment -->
+
+<properties>
+  <client>
+    <threadsafe>false</threadsafe>
+    <GUI-type>simple</GUI-type>
+  </client>
+  <server id="jimmy">Server Stuff here
+    <db name="Jim">
+      <connection>
+        <URL>http://www.digitalsymbiosis.net</URL>
+        <name>jdcasey</name>
+        <password>nothing</password>
+      </connection>
+      <connection>
+        <URL>http://www.digitalsymbiosis.net</URL>
+        <name>jdcasey</name>
+        <password>nothing</password>
+      </connection>
+      This is a test. This should be the server/db property...
+Sure.
+    </db>
+    <connections>
+      <limit>5</limit>
+      <initial>1</initial>
+    </connections>
+  </server>
+</properties>
diff --git a/xml/test/journal.xml b/xml/test/journal.xml
new file mode 100644
index 0000000..9d407cc
--- /dev/null
+++ b/xml/test/journal.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+
+<series xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+           xsi:noNamespaceSchemaLocation="journal.xsd">
+
+<entry>
+<date>May 19, 2002</date>
+<text>
+Sample text. We should support some markup here.
+</text>
+</entry>
+
+<entry>
+<date>May 19, 2002 10:27</date>
+<text>
+Second batch.
+</text>
+</entry>
+
+
+</series>
diff --git a/xml/test/journal.xsl b/xml/test/journal.xsl
new file mode 100644
index 0000000..7407666
--- /dev/null
+++ b/xml/test/journal.xsl
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0" 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:template match="/">
+  <html>
+    <xsl:apply-templates/>
+  </html>
+  <head><title>Journal</title></head>
+</xsl:template>
+
+<xsl:template match="series">
+  <body>
+    <xsl:apply-templates/>
+  </body>
+</xsl:template>
+
+<xsl:template match="entry">
+  <p>
+    <xsl:apply-templates/>
+  </p>
+</xsl:template>
+
+<xsl:template match="date">
+  <b>
+    <xsl:value-of select="."/>
+  </b>
+</xsl:template>
+
+<xsl:template match="text">
+  <xsl:value-of select="."/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/xml/test/junk.xml b/xml/test/junk.xml
new file mode 100644
index 0000000..a03e278
--- /dev/null
+++ b/xml/test/junk.xml
@@ -0,0 +1 @@
+<junk>hi there</junk><junk>hello world</junk>
\ No newline at end of file
diff --git a/xml/test/littledoc.xml b/xml/test/littledoc.xml
new file mode 100644
index 0000000..8a95a3f
--- /dev/null
+++ b/xml/test/littledoc.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<simpleDocument author="James Elson">
+
+  <title>Bwahahahah!</title>
+
+  <synopsis>Twas a dark, rainy night...</synopsis>
+
+  <para>dfjsdfjsdf</para>
+  <para>fdsfsdfhdsff gyuf uysgf ds</para>
+
+</simpleDocument>
diff --git a/xml/test/longCDATA.xml b/xml/test/longCDATA.xml
new file mode 100644
index 0000000..3711633
--- /dev/null
+++ b/xml/test/longCDATA.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?> 
+ <Notes>
+ <Note Status="New" Sent="24/02/2005 2:53:49 p.m." Received=""
+File_Version="" ID="5" ServerID="66667777">
+  <Date Year="2005" Month="2" Day="24" DayOfWeek="4" Hour="14" Minute="53"
+Second="49" /> 
+  <Originator>3</Originator> 
+  <Type>Message</Type> 
+  <Final /> 
+  <Author>Matt</Author> 
+  <Recipients>4;5</Recipients> 
+  <File_Name>If a shareholder ceases to work for Codex Computing for any
+reason.doc</File_Name> 
+  <Document_Title>Moramdum of Understanding</Document_Title> 
+ <Content>
+ <![CDATA[ As it is not possible to guarantee the performance of the
+accountant I feel it unwise to stipulate a time frame. If the company is
+asking for the valuation it is in the companies best interest to expedite
+this so I see no need for a time frame to be stipulated. I feel that second
+or third valuations should be at the expense of the party requesting such so
+as to discourage delay. Either we have faith in our accountants or we don't.
+if not we should change. We could  however say allow for the cost to be
+split 50/50 if the average price would change by more than say 15% in the
+favour of the requestor based on the subsequent valuation/s. I have
+introduced a 3 month stand down period as it would be unreasonable to have
+someone who is say ill being forced out when they will in all likelyhood
+want back in upon recovery. I have one other concern, which I am not sure
+of, that is the offering to the long term partner business. I am not saying
+this is wrong, just that I am not sure that that is the correct way to deal
+with this as it creates classes of shareholder. Also you would need to
+define long term personal relationship.
+  ]]> 
+  </Content>
+ <Excerpt>
+ <![CDATA[ If a shareholder ceases to work for Codex Computing for any
+reason, including, but not limited to, relationship breakdown, termination
+of employment by firing or redundancy, or ill health, for a period
+  ]]> 
+  </Excerpt>
+  <KP_GUID>814BFD3FDC5843F0B6DC688C99E1C31E</KP_GUID> 
+  </Note>
+  </Notes>
\ No newline at end of file
diff --git a/xml/test/mergetext.xml b/xml/test/mergetext.xml
new file mode 100644
index 0000000..41be9f9
--- /dev/null
+++ b/xml/test/mergetext.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<mergeAdjacentText>
+  test < one <![CDATA[&&<<>>]]> test two
+  	<anElement>
+  		test 
+  		three
+  	</anElement>
+  	test four
+  	<!-- a comment -->
+  	test five
+  	test six
+  	test seven
+</mergeAdjacentText> 
diff --git a/xml/test/namespaces.xml b/xml/test/namespaces.xml
new file mode 100644
index 0000000..6e9cc08
--- /dev/null
+++ b/xml/test/namespaces.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<foo:a xmlns:foo="fooNamespace" xmlns:bar="barNamespace" xmlns:alias="fooNamespace">
+  <b>
+    <c>Hello</c>
+  </b>
+
+  <foo:d>
+    <foo:e>Hey</foo:e>
+  </foo:d>
+
+  <bar:f>
+    <bar:g>Hey2</bar:g>
+  </bar:f>
+
+  <alias:x>
+    <alias:y>Hey3</alias:y>
+  </alias:x>
+</foo:a>
diff --git a/xml/test/nestedNamespaces.xml b/xml/test/nestedNamespaces.xml
new file mode 100644
index 0000000..50ac067
--- /dev/null
+++ b/xml/test/nestedNamespaces.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<foo:pizza xmlns:foo="fooNamespace">
+
+  <bar:cheese xmlns:bar="barNamespace">
+
+    <!-- alias namespace -->
+    <xyz:pepper xmlns:xyz="fooNamespace">works</xyz:pepper>
+
+  </bar:cheese>
+    
+</foo:pizza>
diff --git a/xml/test/product.xml b/xml/test/product.xml
new file mode 100644
index 0000000..befe4e3
--- /dev/null
+++ b/xml/test/product.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<product>
+    <equity>
+        <IDENTIFIER>EQUITY_</IDENTIFIER>
+    </equity>
+    <cashflows>
+        <CashFlow>
+            <XREF>CF1</XREF>
+            <VAL>11.11</VAL>
+        </CashFlow>
+        <CashFlow>
+            <XREF>CF2</XREF>
+            <VAL>22.22</VAL>
+        </CashFlow>
+        <CashFlow>
+            <XREF>CF3</XREF>
+            <VAL>33.33</VAL>
+        </CashFlow>
+    </cashflows>
+</product>
diff --git a/xml/test/sample.xml b/xml/test/sample.xml
new file mode 100644
index 0000000..6b384d9
--- /dev/null
+++ b/xml/test/sample.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<products>
+  <product id="1">
+    <colour>red</colour>
+  </product>
+  <product id="2">
+    <colour>blue</colour>
+  </product>
+  <product id="3">
+    <colour>green</colour>
+  </product>
+</products>
diff --git a/xml/test/schema/personal-prefix.xsd b/xml/test/schema/personal-prefix.xsd
new file mode 100644
index 0000000..5d1bfc8
--- /dev/null
+++ b/xml/test/schema/personal-prefix.xsd
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>

+

+ <xsd:element name="personnel">

+  <xsd:complexType>

+   <xsd:sequence>

+     <xsd:element ref="person" minOccurs='1' maxOccurs='unbounded'/>

+   </xsd:sequence>

+  </xsd:complexType>

+ </xsd:element>

+

+ <xsd:element name="person">

+  <xsd:complexType>

+   <xsd:sequence>

+     <xsd:element ref="name"/>

+     <xsd:element ref="email" minOccurs='0' maxOccurs='unbounded'/>

+     <xsd:element ref="url"   minOccurs='0' maxOccurs='unbounded'/>

+     <xsd:element ref="link"  minOccurs='0' maxOccurs='1'/>

+     <xsd:element name="note" type="xsd:string"/>

+     <xsd:element name="salary" type="xsd:int"/>

+   </xsd:sequence>

+   <xsd:attribute name="id"  type="ID" use='required'/>

+

+   <xsd:attribute name="contr" xsd:default="false">

+    <xsd:simpleType>

+     <xsd:restriction base="xsd:string">

+       <xsd:enumeration value="true"/>

+       <xsd:enumeration value="false"/>

+     </xsd:restriction>

+    </xsd:simpleType>

+   </xsd:attribute>

+

+  <xsd:attribute name="age" type="xsd:integer"/>

+  <xsd:attribute name="x" type="xsd:int"/>

+  <xsd:attribute name="d" type="xsd:date"/>

+  <xsd:attribute name="dt" type="xsd:dateTime"/>

+  </xsd:complexType>

+ </xsd:element>

+

+ <xsd:element name="name">

+  <xsd:complexType>

+   <xsd:all>

+    <xsd:element ref="family"/>

+    <xsd:element ref="given"/>

+   </xsd:all>

+  </xsd:complexType>

+ </xsd:element>

+

+ <xsd:element name="family" type='xsd:string'/>

+

+ <xsd:element name="given" type='xsd:string'/>

+

+ <xsd:element name="email" type='xsd:string'/>

+

+ <xsd:element name="url">

+  <xsd:complexType>

+   <xsd:attribute name="href" type="xsd:string" xsd:default="http://"/>

+  </xsd:complexType>

+ </xsd:element>

+

+ <xsd:element name="link">

+  <xsd:complexType>

+   <xsd:attribute name="manager" type="IDREF"/>

+   <xsd:attribute name="subordinates" type="IDREFS"/>

+  </xsd:complexType>

+ </xsd:element>

+

+ <xsd:notation name='gif' public='-//APP/Photoshop/4.0' system='photoshop.exe'/>

+

+</xsd:schema>

diff --git a/xml/test/schema/personal-schema.xml b/xml/test/schema/personal-schema.xml
new file mode 100644
index 0000000..f1bfb16
--- /dev/null
+++ b/xml/test/schema/personal-schema.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<personnel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	   xsi:noNamespaceSchemaLocation='personal.xsd'>
+
+  <person id="Big.Boss" age="1" x="4" d="1999-05-03" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Boss</family> <given>Big</given></name>
+    <email>chief at foo.com</email>
+    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
+    <note>Some text...</note>
+    <salary>100</salary>
+  </person>
+
+  <person id="one.worker" age="2" x="23" d="1999-05-03" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>One</given></name>
+    <email>one at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>200</salary>
+  </person>
+
+  <person id="two.worker" age="3" x="52" d="1999-05-03" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>Two</given></name>
+    <email>two at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>300</salary>
+  </person>
+
+  <person id="three.worker" age="4" x="21" d="1999-05-03" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>Three</given></name>
+    <email>three at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>400</salary>
+  </person>
+
+  <person id="four.worker" age="5" x="24" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>Four</given></name>
+    <email>four at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>500</salary>
+  </person>
+
+  <person id="five.worker" age="6" x="22" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>Five</given></name>
+    <email>five at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>600</salary>
+  </person>
+
+</personnel>
diff --git a/xml/test/schema/personal.dtd b/xml/test/schema/personal.dtd
new file mode 100644
index 0000000..6890561
--- /dev/null
+++ b/xml/test/schema/personal.dtd
@@ -0,0 +1,25 @@
+<?xml encoding="UTF-8"?>

+<!ELEMENT personnel (person)+>

+

+<!ELEMENT person (name,email*,url*,link?)>

+<!ATTLIST person id ID #REQUIRED>

+<!ATTLIST person note CDATA #IMPLIED>

+<!ATTLIST person contr (true|false) 'false'>

+<!ATTLIST person salary CDATA #IMPLIED>

+

+<!ELEMENT name ((family,given)|(given,family))>

+

+<!ELEMENT family (#PCDATA)>

+

+<!ELEMENT given (#PCDATA)>

+

+<!ELEMENT email (#PCDATA)>

+

+<!ELEMENT url EMPTY>

+<!ATTLIST url href CDATA 'http://'>

+

+<!ELEMENT link EMPTY>

+<!ATTLIST link manager IDREF #IMPLIED>

+<!ATTLIST link subordinates IDREFS #IMPLIED>

+

+<!NOTATION gif PUBLIC '-//APP/Photoshop/4.0' 'photoshop.exe'>

diff --git a/xml/test/schema/personal.xml b/xml/test/schema/personal.xml
new file mode 100644
index 0000000..093f33a
--- /dev/null
+++ b/xml/test/schema/personal.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<personnel>
+  <person id="Big.Boss" age="1" x="4" d="1999-05-03" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Boss</family> <given>Big</given></name>
+    <email>chief at foo.com</email>
+    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
+    <note>Some text...</note>
+    <salary>100</salary>
+  </person>
+
+  <person id="one.worker" age="2" x="23" d="1999-05-03" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>One</given></name>
+    <email>one at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>200</salary>
+  </person>
+
+  <person id="two.worker" age="3" x="52" d="1999-05-03" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>Two</given></name>
+    <email>two at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>300</salary>
+  </person>
+
+  <person id="three.worker" age="4" x="21" d="1999-05-03" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>Three</given></name>
+    <email>three at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>400</salary>
+  </person>
+
+  <person id="four.worker" age="5" x="24" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>Four</given></name>
+    <email>four at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>500</salary>
+  </person>
+
+  <person id="five.worker" age="6" x="22" dt="1999-05-31T13:20:00-05:00">
+    <name><family>Worker</family> <given>Five</given></name>
+    <email>five at foo.com</email>
+    <link manager="Big.Boss"/>
+    <note>Some text...</note>
+    <salary>600</salary>
+  </person>
+
+</personnel>
diff --git a/xml/test/schema/personal.xsd b/xml/test/schema/personal.xsd
new file mode 100644
index 0000000..8776042
--- /dev/null
+++ b/xml/test/schema/personal.xsd
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<schema xmlns='http://www.w3.org/2001/XMLSchema'>

+

+ <element name="personnel">

+

+  <complexType>

+   <sequence>

+     <element ref="person" minOccurs='1' maxOccurs='unbounded'/>

+   </sequence>

+  </complexType>

+

+  <unique name="unique1">

+   <selector xpath="person"/>

+   <field xpath="@name"/>

+  </unique>

+  <key name='empid'>

+   <selector xpath="person"/>

+   <field xpath="@id"/>

+  </key>

+

+  <!--

+  <keyref name="keyref1" refer='empid'>

+   <selector xpath="person"/> 

+   <field xpath="link/@manager"/>  

+  </keyref>

+  -->

+

+ </element>

+

+ <element name="person">

+  <complexType>

+   <sequence>

+     <element ref="name"/>

+     <element ref="numberOfCars"/>

+     <element ref="email" minOccurs='0' maxOccurs='unbounded'/>

+     <element ref="url"   minOccurs='0' maxOccurs='unbounded'/>

+     <element ref="link"  minOccurs='0' maxOccurs='1'/>

+   	 <element name="note" type="string"/>

+     <element name="salary" type="int"/>

+   </sequence>

+   <attribute name="id"  type="ID" use='required'/>

+   <attribute name="contr" default="false">

+    <simpleType>

+     <restriction base = "string">

+       <enumeration value="true"/>

+       <enumeration value="false"/>

+     </restriction>

+    </simpleType>

+   </attribute>

+  <attribute name="age" type="integer"/>

+  <attribute name="x" type="int"/>

+  <attribute name="d" type="date"/>

+  <attribute name="dt" type="dateTime"/>

+  </complexType>

+ </element>

+ 

+ <element name="name">

+  <complexType>

+   <all>

+    <element ref="family"/>

+    <element ref="given"/>

+   </all>

+  </complexType>

+ </element>

+

+ <element name="family" type='string'/>

+

+ <element name="given" type='string'/>

+

+ <element name="email" type='string'/>

+

+ <element name="numberOfCars" type='short'/>

+

+ <element name="url">

+  <complexType>

+   <attribute name="href" type="string" default="http://"/>

+  </complexType>

+ </element>

+

+ <element name="link">

+  <complexType>

+   <attribute name="manager" type="IDREF"/>

+   <attribute name="subordinates" type="IDREFS"/>

+  </complexType>

+ </element>

+

+ <notation name='gif' public='-//APP/Photoshop/4.0' system='photoshop.exe'/>

+

+</schema>

diff --git a/xml/test/schema/personal_dtd.xml b/xml/test/schema/personal_dtd.xml
new file mode 100644
index 0000000..cc09a4b
--- /dev/null
+++ b/xml/test/schema/personal_dtd.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE personnel SYSTEM "personal.dtd">
+<personnel>
+
+  <person id="Big.Boss">
+    <name><family>Boss</family> <given>Big</given></name>
+    <email>chief at foo.com</email>
+    <link subordinates="one.worker two.worker three.worker four.worker five.worker"/>
+    <salary>100</salary>
+  </person>
+
+  <person id="one.worker">
+    <name><family>Worker</family> <given>One</given></name>
+    <email>one at foo.com</email>
+    <link manager="Big.Boss"/>
+    <salary>200</salary>
+  </person>
+
+  <person id="two.worker">
+    <name><family>Worker</family> <given>Two</given></name>
+    <email>two at foo.com</email>
+    <link manager="Big.Boss"/>
+    <salary>300</salary>
+  </person>
+
+  <person id="three.worker">
+    <name><family>Worker</family> <given>Three</given></name>
+    <email>three at foo.com</email>
+    <link manager="Big.Boss"/>
+    <salary>400</salary>
+  </person>
+
+  <person id="four.worker">
+    <name><family>Worker</family> <given>Four</given></name>
+    <email>four at foo.com</email>
+    <link manager="Big.Boss"/>
+    <salary>500</salary>
+  </person>
+
+  <person id="five.worker">
+    <name><family>Worker</family> <given>Five</given></name>
+    <email>five at foo.com</email>
+    <link manager="Big.Boss"/>
+    <salary>600</salary>
+  </person>
+
+</personnel>
diff --git a/xml/test/schema/test.xml b/xml/test/schema/test.xml
new file mode 100644
index 0000000..2028e2d
--- /dev/null
+++ b/xml/test/schema/test.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<records 
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xsi:noNamespaceSchemaLocation='test.xsd'>
+
+  <record id="foo">
+    <durationTag>P1Y2M3DT10H30M</durationTag>
+    <dateTag>1999-05-03</dateTag>
+    <timeTag>00:00:00</timeTag>
+    <dateTimeTag>1999-05-31T13:20:00-05:00</dateTimeTag>
+    <gYearMonthTag>1999-05</gYearMonthTag>
+    <gYearTag>1999</gYearTag>
+
+    <gMonthDayTag>--12-25</gMonthDayTag>
+    <gDayTag>---15</gDayTag>
+    <gMonthTag>--10--</gMonthTag>
+
+    <booleanTag>true</booleanTag>
+    <base64BinaryTag>cafebabe</base64BinaryTag>
+    <hexBinaryTag>cafebabe</hexBinaryTag>
+    <floatTag>123.45</floatTag>
+    <doubleTag>123.45</doubleTag>
+
+    <decimalTag>123</decimalTag>
+    <integerTag>123</integerTag>
+
+    <nonPositiveIntegerTag>-123</nonPositiveIntegerTag>
+    <negativeIntegerTag>-123</negativeIntegerTag>
+
+    <longTag>12345678901234</longTag>
+    <intTag>12345</intTag>
+    <shortTag>1234</shortTag>
+    <byteTag>123</byteTag>
+
+    <nonNegativeIntegerTag>123</nonNegativeIntegerTag>
+    <unsignedLongTag>123</unsignedLongTag>
+    <unsignedIntTag>123</unsignedIntTag>
+    <unsignedShortTag>123</unsignedShortTag>
+    <unsignedByteTag>123</unsignedByteTag>
+
+    <positiveIntegerTag>123</positiveIntegerTag>
+
+  </record>
+
+</records>
diff --git a/xml/test/schema/test.xsd b/xml/test/schema/test.xsd
new file mode 100644
index 0000000..05b9e75
--- /dev/null
+++ b/xml/test/schema/test.xsd
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><schema xmlns='http://www.w3.org/2001/XMLSchema'> <element name="records">  <complexType>   <sequence>     <element ref="record" minOccurs='1' maxOccurs='unbounded'/>   </sequence>  </complexType> </element> <element name="record">  <complexType>  	<sequence>    	<element name="durationTag" type="duration"/>    	<element name="dateTag" type="date"/>    	<element name="timeTag" type="time"/>    	<element name="dateTimeTag" type="dateTime"/>    	<eleme [...]
\ No newline at end of file
diff --git a/xml/test/soap2.xml b/xml/test/soap2.xml
new file mode 100644
index 0000000..aac44e2
--- /dev/null
+++ b/xml/test/soap2.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope 
+  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
+  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+  <SOAP-ENV:Body>
+    <m:BabelFish xmlns:m="urn:xmethodsBabelFish">
+      <translationmode>en_fr</translationmode>      
+      <sourcedata>SOAP is quite easy with JSP.</sourcedata>    
+
+      <!-- all these <foo> elements should be in the same namespace -->
+      <foo xmlns="fooURI" id="1">
+        <foo id="2"/>
+        <blah:blah xmlns:blah="blah">
+          <whatever xmlns="whatever">
+            <newFoo xmlns="newFooURI">
+              <newFoo/>
+            </newFoo>
+          </whatever>
+          <foo id="3"/>
+        </blah:blah>
+        <foo id="4"/>
+      </foo>
+
+      <!-- all these <bar> elements should be in the same namespace -->
+      <a:bar xmlns:a="barURI" id="1">
+        <blah xmlns="blah">
+          <a:bar id="2"/>
+          <a:whatever xmlns:a="whatever">
+            <a:newBar xmlns:a="newBarURI"/>
+          </a:whatever>
+          <a:bar id="4"/>
+        </blah>
+      </a:bar>
+    </m:BabelFish>
+  </SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
diff --git a/xml/test/soap3.xml b/xml/test/soap3.xml
new file mode 100644
index 0000000..dad078e
--- /dev/null
+++ b/xml/test/soap3.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
+  <Header>
+    <t:Transaction xmlns:t="some-uri" mustUnderstand="1" actor="http://wombat.org/next">5</t:Transaction>
+  </Header>
+  <Body>
+    <m:GetLastTradePrice xmlns:m="some-other-uri">
+      <m:symbol xmlns:m="some-other-URI">DEF</m:symbol>
+    </m:GetLastTradePrice>
+  </Body>
+</Envelope>
diff --git a/xml/test/test.xml b/xml/test/test.xml
new file mode 100644
index 0000000..b129325
--- /dev/null
+++ b/xml/test/test.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE broked [
+<!ELEMENT junk (#PCDATA)>
+<!ELEMENT broked (junk*)>
+<!ENTITY LmInclude SYSTEM "junk.xml">
+]>
+<broked>
+&LmInclude;
+</broked>
\ No newline at end of file
diff --git a/xml/test/test_schema.xml b/xml/test/test_schema.xml
new file mode 100644
index 0000000..73a4515
--- /dev/null
+++ b/xml/test/test_schema.xml
@@ -0,0 +1,18 @@
+<schema
+    xmlns='http://www.w3.org/2001/XMLSchema'
+    targetNamespace='http://www.w3.org/namespace/'
+    xmlns:t='http://www.w3.org/namespace/'>
+
+  <element name='ex1'>
+    <complexType>
+      <sequence>
+        <element ref='t:x'/>
+      </sequence>
+    </complexType>
+  </element>
+
+  <element name='x'>
+    <complexType mixed='true'>
+    </complexType>
+  </element>
+</schema>
diff --git a/xml/test/test_text.xml b/xml/test/test_text.xml
new file mode 100644
index 0000000..4e4f998
--- /dev/null
+++ b/xml/test/test_text.xml
@@ -0,0 +1,5 @@
+<message>
+  <keyword text="should"/>
+  <keyword text="work"/>
+  This should work
+</message>
diff --git a/xml/test/toby.xml b/xml/test/toby.xml
new file mode 100644
index 0000000..98d0f0a
--- /dev/null
+++ b/xml/test/toby.xml
@@ -0,0 +1,7730 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<Message Event="A05">
+
+  <MSH>
+
+
+
+  <SeAp>
+
+
+
+  <Namesp>REGADT</Namesp>
+
+
+  <UnID />
+
+
+  <UnIDTy />
+
+
+
+
+
+    </SeAp>
+
+
+  <SeFa>
+
+
+
+  <Namesp>MCM</Namesp>
+
+
+  <UnID />
+
+
+  <UnIDTy />
+
+
+
+
+
+    </SeFa>
+
+
+  <ReAp>
+
+
+
+  <Namesp>IFENG</Namesp>
+
+
+  <UnID />
+
+
+  <UnIDTy />
+
+
+
+
+
+    </ReAp>
+
+
+  <ReFa>
+
+
+
+  <Namesp />
+
+
+  <UnID />
+
+
+  <UnIDTy />
+
+
+
+
+
+    </ReFa>
+
+
+  <DTofMe>199601061000</DTofMe>
+
+
+  <Secur />
+
+
+  <MeTy>
+
+
+
+  <name>ADT</name>
+
+
+  <TrEv>A05</TrEv>
+
+
+
+
+
+    </MeTy>
+
+
+  <MeCoID />
+
+
+  <PrID>
+
+
+
+  <ProcID />
+
+
+  <PrMo />
+
+
+
+
+
+    </PrID>
+
+
+  <VeID />
+
+
+  <SeNum />
+
+
+  <CoPo />
+
+
+  <AcAcTy />
+
+
+  <ApAcTy />
+
+
+  <ConCo />
+
+
+  <Chse />
+
+
+  <PLofMe>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </PLofMe>
+
+
+
+
+
+  </MSH>
+
+  <EVN>
+
+
+
+  <EvTyCo>A05</EvTyCo>
+
+
+  <ReDT>
+
+
+
+  <date>199601061000</date>
+
+
+  <time />
+
+
+
+
+
+    </ReDT>
+
+
+  <DTPlEv>
+
+
+
+  <date>199601101400</date>
+
+
+  <time />
+
+
+
+
+
+    </DTPlEv>
+
+
+  <EvReCo>01</EvReCo>
+
+
+  <OpID>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </OpID>
+
+
+  <EvOc>199601061000 </EvOc>
+
+
+
+
+
+  </EVN>
+
+  <PID SetID="">
+
+
+
+
+  <PaIDEx>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </PaIDEx>
+
+
+  <PaIDIn>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </PaIDIn>
+
+
+  <AltPaID>
+
+
+
+  <IDNum>191919</IDNum>
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu>GENHOSP</AsAu>
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AltPaID>
+
+
+  <PaNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </PaNa>
+
+
+  <MoMaNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </MoMaNa>
+
+
+  <DTofBi>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </DTofBi>
+
+
+  <Sex />
+
+
+  <PaAl>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </PaAl>
+
+
+  <Race />
+
+
+  <PaAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </PaAd>
+
+
+  <CountyCo />
+
+
+  <PhNumHo>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </PhNumHo>
+
+
+  <PhNumBu>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </PhNumBu>
+
+
+  <PrLa>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </PrLa>
+
+
+  <MaSt>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </MaSt>
+
+
+  <Relig />
+
+
+  <PaAcNum>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </PaAcNum>
+
+
+  <SSNum />
+
+
+  <DrLiNum>
+
+
+
+  <LiNum />
+
+
+  <IsSPC />
+
+
+  <ExDa />
+
+
+
+
+
+    </DrLiNum>
+
+
+  <MoId>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </MoId>
+
+
+  <EtGr />
+
+
+  <BiPl />
+
+
+  <MuBiIn />
+
+
+  <BiOr />
+
+
+  <Citiz />
+
+
+  <VeMiSt>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </VeMiSt>
+
+
+  <Nation>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </Nation>
+
+
+  <PaDeDT>
+
+
+</PaDeDT>
+
+
+  <PaDeIn />
+
+
+
+
+
+  </PID>
+
+  <NK1 SetID="4">
+
+
+
+
+   <Name> </Name>
+
+
+   <Relat>
+
+
+
+   <Ident>MARYLOU</Ident>
+
+
+   <text />
+
+
+   <CoSy />
+
+
+   <AltIdent />
+
+
+   <AltText />
+
+
+   <AltCoSy />
+
+
+
+
+
+    </Relat>
+
+
+   <Address>
+
+
+
+  <StAd>123 INDUSTRY WAY</StAd>
+
+
+  <OtDe />
+
+
+  <City>ISHPEMING</City>
+
+
+  <StPr>MI</StPr>
+
+
+  <ZipPC>49849</ZipPC>
+
+
+  <Country>""</Country>
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </Address>
+
+
+   <PhoneNum>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </PhoneNum>
+
+
+   <PhNumBu />
+
+
+   <CoRo>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </CoRo>
+
+
+   <StDa />
+
+
+   <EndDa />
+
+
+   <AsPaJT />
+
+
+   <AsPaJC>
+
+
+
+  <JobCo />
+
+
+  <JobCl />
+
+
+
+
+
+    </AsPaJC>
+
+
+   <AsPaEN>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AsPaEN>
+
+
+   <OrgNa>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </OrgNa>
+
+
+   <MaSt />
+
+
+   <Sex />
+
+
+   <DTofBi />
+
+
+   <LiDe />
+
+
+   <AmSt />
+
+
+   <Citiz />
+
+
+   <PrLa />
+
+
+   <LiAr />
+
+
+   <PuIn />
+
+
+   <PrIn />
+
+
+   <StIn />
+
+
+   <Relig />
+
+
+   <MoMaNa />
+
+
+   <Nation />
+
+
+   <EtGr />
+
+
+   <CoRe>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </CoRe>
+
+
+   <CoPeNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </CoPeNa>
+
+
+   <CoPeTN>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </CoPeTN>
+
+
+   <CoPeAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </CoPeAd>
+
+
+   <AsPaId>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AsPaId>
+
+
+   <JoSt />
+
+
+   <Race />
+
+
+   <Handic />
+
+
+   <CoPeSSN />
+
+
+
+
+
+  </NK1>
+
+  <NK1 SetID="3">
+
+
+
+
+   <Name> </Name>
+
+
+   <Relat>
+
+
+
+   <Ident>MARYLOU</Ident>
+
+
+   <text />
+
+
+   <CoSy />
+
+
+   <AltIdent />
+
+
+   <AltText />
+
+
+   <AltCoSy />
+
+
+
+
+
+    </Relat>
+
+
+   <Address>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </Address>
+
+
+   <PhoneNum>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </PhoneNum>
+
+
+   <PhNumBu />
+
+
+   <CoRo>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </CoRo>
+
+
+   <StDa />
+
+
+   <EndDa />
+
+
+   <AsPaJT />
+
+
+   <AsPaJC>
+
+
+
+  <JobCo />
+
+
+  <JobCl />
+
+
+
+
+
+    </AsPaJC>
+
+
+   <AsPaEN>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AsPaEN>
+
+
+   <OrgNa>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </OrgNa>
+
+
+   <MaSt />
+
+
+   <Sex />
+
+
+   <DTofBi />
+
+
+   <LiDe />
+
+
+   <AmSt />
+
+
+   <Citiz />
+
+
+   <PrLa />
+
+
+   <LiAr />
+
+
+   <PuIn />
+
+
+   <PrIn />
+
+
+   <StIn />
+
+
+   <Relig />
+
+
+   <MoMaNa />
+
+
+   <Nation />
+
+
+   <EtGr />
+
+
+   <CoRe>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </CoRe>
+
+
+   <CoPeNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </CoPeNa>
+
+
+   <CoPeTN>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </CoPeTN>
+
+
+   <CoPeAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </CoPeAd>
+
+
+   <AsPaId>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AsPaId>
+
+
+   <JoSt />
+
+
+   <Race />
+
+
+   <Handic />
+
+
+   <CoPeSSN />
+
+
+
+
+
+  </NK1>
+  <NK1 SetID="2">
+
+
+
+
+   <Name>
+
+
+
+  <FaNa>MASSIE</FaNa>
+
+
+  <GiNa>ELLEN</GiNa>
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </Name>
+
+
+   <Relat>
+
+
+
+   <Ident>MARYLOU</Ident>
+
+
+   <text />
+
+
+   <CoSy />
+
+
+   <AltIdent />
+
+
+   <AltText />
+
+
+   <AltCoSy />
+
+
+
+
+
+    </Relat>
+
+
+   <Address>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </Address>
+
+
+   <PhoneNum>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </PhoneNum>
+
+
+   <PhNumBu />
+
+
+   <CoRo>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </CoRo>
+
+
+   <StDa />
+
+
+   <EndDa />
+
+
+   <AsPaJT />
+
+
+   <AsPaJC>
+
+
+
+  <JobCo />
+
+
+  <JobCl />
+
+
+
+
+
+    </AsPaJC>
+
+
+   <AsPaEN>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AsPaEN>
+
+
+   <OrgNa>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </OrgNa>
+
+
+   <MaSt />
+
+
+   <Sex />
+
+
+   <DTofBi />
+
+
+   <LiDe />
+
+
+   <AmSt />
+
+
+   <Citiz />
+
+
+   <PrLa />
+
+
+   <LiAr />
+
+
+   <PuIn />
+
+
+   <PrIn />
+
+
+   <StIn />
+
+
+   <Relig />
+
+
+   <MoMaNa />
+
+
+   <Nation />
+
+
+   <EtGr />
+
+
+   <CoRe>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </CoRe>
+
+
+   <CoPeNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </CoPeNa>
+
+
+   <CoPeTN>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </CoPeTN>
+
+
+   <CoPeAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </CoPeAd>
+
+
+   <AsPaId>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AsPaId>
+
+
+   <JoSt />
+
+
+   <Race />
+
+
+   <Handic />
+
+
+   <CoPeSSN />
+
+
+
+
+
+  </NK1>
+  <NK1 SetID="1">
+
+
+
+
+   <Name>
+
+
+
+  <FaNa>MASSIE</FaNa>
+
+
+  <GiNa>ELLEN</GiNa>
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </Name>
+
+
+   <Relat>
+
+
+
+   <Ident />
+
+
+   <text />
+
+
+   <CoSy />
+
+
+   <AltIdent />
+
+
+   <AltText />
+
+
+   <AltCoSy />
+
+
+
+
+
+    </Relat>
+
+
+   <Address>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </Address>
+
+
+   <PhoneNum>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </PhoneNum>
+
+
+   <PhNumBu />
+
+
+   <CoRo>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </CoRo>
+
+
+   <StDa />
+
+
+   <EndDa />
+
+
+   <AsPaJT />
+
+
+   <AsPaJC>
+
+
+
+  <JobCo />
+
+
+  <JobCl />
+
+
+
+
+
+    </AsPaJC>
+
+
+   <AsPaEN>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AsPaEN>
+
+
+   <OrgNa>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </OrgNa>
+
+
+   <MaSt />
+
+
+   <Sex />
+
+
+   <DTofBi />
+
+
+   <LiDe />
+
+
+   <AmSt />
+
+
+   <Citiz />
+
+
+   <PrLa />
+
+
+   <LiAr />
+
+
+   <PuIn />
+
+
+   <PrIn />
+
+
+   <StIn />
+
+
+   <Relig />
+
+
+   <MoMaNa />
+
+
+   <Nation />
+
+
+   <EtGr />
+
+
+   <CoRe>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </CoRe>
+
+
+   <CoPeNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </CoPeNa>
+
+
+   <CoPeTN>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </CoPeTN>
+
+
+   <CoPeAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </CoPeAd>
+
+
+   <AsPaId>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AsPaId>
+
+
+   <JoSt />
+
+
+   <Race />
+
+
+   <Handic />
+
+
+   <CoPeSSN />
+
+
+
+
+
+  </NK1>
+  <PV1 SetID="">
+
+
+
+
+  <PatCl />
+
+
+  <AsPaLo>
+
+
+
+  <PoCa>O</PoCa>
+
+
+  <Room />
+
+
+  <Bed />
+
+
+  <Facil />
+
+
+  <LoSt />
+
+
+  <PeLT />
+
+
+  <Build />
+
+
+  <Floor />
+
+
+  <LoDe />
+
+
+
+
+
+    </AsPaLo>
+
+
+  <AdmTy />
+
+
+  <PrNum>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </PrNum>
+
+
+  <PrPaLo>
+
+
+
+  <PoCa />
+
+
+  <Room />
+
+
+  <Bed />
+
+
+  <Facil />
+
+
+  <LoSt />
+
+
+  <PeLT />
+
+
+  <Build />
+
+
+  <Floor />
+
+
+  <LoDe />
+
+
+
+
+
+    </PrPaLo>
+
+
+  <AtDo>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AtDo>
+
+
+  <ReDo>
+
+
+
+  <IDNum>0148</IDNum>
+
+
+
+  <SoTa>ADDISON,JAMES</SoTa>
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </ReDo>
+
+
+  <CoDo>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </CoDo>
+
+
+  <HoSe />
+
+
+  <TeLo>
+
+
+
+  <PoCa />
+
+
+  <Room />
+
+
+  <Bed />
+
+
+  <Facil />
+
+
+  <LoSt />
+
+
+  <PeLT />
+
+
+  <Build />
+
+
+  <Floor />
+
+
+  <LoDe />
+
+
+
+
+
+    </TeLo>
+
+
+  <PrTeIn />
+
+
+  <ReIn />
+
+
+  <AdSo />
+
+
+  <AmSt />
+
+
+  <VIPIn />
+
+
+  <AdDo>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AdDo>
+
+
+  <PaTy />
+
+
+  <ViNum>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </ViNum>
+
+
+  <FinCl>
+
+
+
+  <FiCl />
+
+
+  <EfDa />
+
+
+
+
+
+    </FinCl>
+
+
+  <ChPrIn />
+
+
+  <CouCo />
+
+
+  <CrRa />
+
+
+  <ContCo />
+
+
+  <CoEfDa />
+
+
+  <CoAm />
+
+
+  <CoPe />
+
+
+  <InCo />
+
+
+  <TrBaDeCo />
+
+
+  <TrBaDeDa />
+
+
+  <BaDeAgCo />
+
+
+  <BaDeTrAm />
+
+
+  <BaDeReAm />
+
+
+  <DeAcIn />
+
+
+  <DeAcDa />
+
+
+  <DiDi />
+
+
+  <DitoLo />
+
+
+  <DiTy />
+
+
+  <SerFa />
+
+
+  <BeSt />
+
+
+  <AcSt />
+
+
+  <PeLo>
+
+
+
+  <PoCa />
+
+
+  <Room />
+
+
+  <Bed />
+
+
+  <Facil />
+
+
+  <LoSt />
+
+
+  <PeLT />
+
+
+  <Build />
+
+
+  <Floor />
+
+
+  <LoDe />
+
+
+
+
+
+    </PeLo>
+
+
+  <PrTeLo>
+
+
+
+  <PoCa />
+
+
+  <Room />
+
+
+  <Bed />
+
+
+  <Facil />
+
+
+  <LoSt />
+
+
+  <PeLT />
+
+
+  <Build />
+
+
+  <Floor />
+
+
+  <LoDe />
+
+
+
+
+
+    </PrTeLo>
+
+
+  <AdDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </AdDT>
+
+
+  <DiDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </DiDT>
+
+
+  <CuPaBa />
+
+
+  <ToCh />
+
+
+  <ToAd />
+
+
+  <ToPa />
+
+
+  <AlViID>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </AlViID>
+
+
+  <ViIn />
+
+
+  <OtHePr>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </OtHePr>
+
+
+
+
+
+  </PV1>
+
+  <PV2>
+
+
+
+  <PrPeLo>
+
+
+
+  <PoCa />
+
+
+  <Room />
+
+
+  <Bed />
+
+
+  <Facil />
+
+
+  <LoSt />
+
+
+  <PeLT />
+
+
+  <Build />
+
+
+  <Floor />
+
+
+  <LoDe />
+
+
+
+
+
+    </PrPeLo>
+
+
+  <AccCo>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </AccCo>
+
+
+  <AdRe>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </AdRe>
+
+
+  <TrRe>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </TrRe>
+
+
+  <PatVa />
+
+
+  <PaVaLo />
+
+
+  <ViUsCo />
+
+
+  <ExAdDT>
+
+
+
+  <date>199601101400</date>
+
+
+  <time />
+
+
+
+
+
+    </ExAdDT>
+
+
+  <ExDiDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </ExDiDT>
+
+
+  <ELofIS />
+
+
+  <ALofIS />
+
+
+  <ViDe />
+
+
+  <ReSoCo>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </ReSoCo>
+
+
+  <PrSeDa />
+
+
+  <EIRIn />
+
+
+  <PuStCo />
+
+
+  <SpPrCo />
+
+
+  <RetIn />
+
+
+  <ENofIP />
+
+
+  <ViPuCo />
+
+
+  <ViPrIn />
+
+
+  <ClOrNa>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </ClOrNa>
+
+
+  <PaStCo />
+
+
+  <ViPrCo />
+
+
+  <PrTrDa />
+
+
+  <ExDiDi />
+
+
+  <SonFD />
+
+
+  <FSIDa />
+
+
+  <PCACo />
+
+
+  <ReSeCo />
+
+
+  <BiMeCo />
+
+
+  <ExSuDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </ExSuDT>
+
+
+  <MiPaCo />
+
+
+  <MnonAC>199601101400 </MnonAC>
+
+
+  <NeBaIn />
+
+
+  <BaDeIn />
+
+
+
+
+
+  </PV2>
+
+  <OBX>
+
+
+
+  <OBX-T SetID="">
+
+
+
+
+  <VaTy />
+
+
+  <ObId />
+
+
+  <ObSuID />
+
+
+  <ObVaT />
+
+
+
+  <Units />
+
+
+  <ReRa />
+
+
+  <AbFl />
+
+
+
+  <Probab />
+
+
+  <NofAT />
+
+
+  <ObReSt />
+
+
+  <DLONVa />
+
+
+  <UDACh />
+
+
+  <DTofOb />
+
+
+  <ProdID />
+
+
+  <ReOb />
+
+
+  <ObMe />
+
+
+
+
+
+    </OBX-T>
+
+
+  <OBX-TX SetID="">
+
+
+
+
+  <VaTy>ST</VaTy>
+
+
+  <ObId>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+      </ObId>
+
+
+  <ObSuID />
+
+
+  <ObVaTX>
+
+
+
+ <AD>
+
+
+    <StAd />
+
+
+    <OtDe />
+
+
+    <City />
+
+
+    <StPr />
+
+
+    <ZipPC />
+
+
+    <Country />
+
+
+    <AdTy />
+
+
+    <OtGD />
+
+
+
+
+        </AD>
+
+
+<CE>
+
+
+    <Ident />
+
+
+    <text />
+
+
+    <CoSy />
+
+
+    <AltIdent />
+
+
+    <AltText />
+
+
+    <AltCoSy />
+
+
+
+
+        </CE>
+
+
+  <CF>
+
+
+    <Ident />
+
+
+    <text />
+
+
+    <CoSy />
+
+
+    <AltIdent />
+
+
+    <AltText />
+
+
+    <AltCoSy />
+
+
+
+
+        </CF>
+
+
+  <CK>
+
+
+    <IDNum />
+
+
+    <ChDi />
+
+
+    <ChDS />
+
+
+    <AsAu />
+
+
+
+
+        </CK>
+
+
+  <CN>
+
+
+    <IDNum />
+
+
+    <FaNa />
+
+
+    <GiNa />
+
+
+    <MiIn />
+
+
+    <Suff />
+
+
+    <Pref />
+
+
+    <Degr />
+
+
+    <SoTa />
+
+
+    <AsAu />
+
+
+
+
+        </CN>
+
+
+  <CP>
+
+
+    <Quant />
+
+
+    <Denom />
+
+
+
+
+        </CP>
+
+
+  <CX>
+
+
+    <Price />
+
+
+    <PrTy />
+
+
+    <frVa />
+
+
+    <toVa />
+
+
+    <RaUn />
+
+
+    <RaTy />
+
+
+
+
+        </CX>
+
+
+
+  <DT>
+
+
+     <date />
+
+
+     <time />
+
+
+
+
+        </DT>
+
+
+
+
+
+  <ED>
+
+
+    <SoAp />
+
+
+    <TyDa />
+
+
+    <DaSu />
+
+
+    <Encod />
+
+
+    <Data />
+
+
+
+
+        </ED>
+
+
+  <PN>
+
+
+    <FaNa />
+
+
+    <GiNa />
+
+
+    <MiIn />
+
+
+    <Suff />
+
+
+    <Pref />
+
+
+    <Degr />
+
+
+
+
+        </PN>
+
+
+  <RP>
+
+
+    <Point />
+
+
+    <appl />
+
+
+    <TyDa />
+
+
+    <Subt />
+
+
+
+
+        </RP>
+
+
+  <SN>
+
+
+    <Compar />
+
+
+    <num1 />
+
+
+    <Separ />
+
+
+    <num2 />
+
+
+
+
+        </SN>
+
+
+  <ST>
+
+
+    <StrData />
+
+
+
+
+        </ST>
+
+
+  <TN>
+
+
+    <TeNum />
+
+
+    <Exten />
+
+
+    <Beeper />
+
+
+    <text />
+
+
+
+
+        </TN>
+
+
+  <XAD>
+
+
+    <StAd />
+
+
+    <OtDe />
+
+
+    <City />
+
+
+    <StPr />
+
+
+    <ZipPC />
+
+
+    <Country />
+
+
+    <AdTy />
+
+
+    <OtGD />
+
+
+    <CoPC />
+
+
+    <CeTr />
+
+
+
+
+        </XAD>
+
+
+  <XCN>
+
+
+    <IDNum />
+
+
+    <FaNa />
+
+
+    <GiNa />
+
+
+    <MiIn />
+
+
+    <Suff />
+
+
+    <Pref />
+
+
+    <Degr />
+
+
+    <SoTa />
+
+
+    <AsAu />
+
+
+    <NaTC />
+
+
+    <ChDi />
+
+
+    <ChDS />
+
+
+    <IdTC />
+
+
+    <AsFa />
+
+
+
+
+        </XCN>
+
+
+  <XON>
+
+
+    <OrNa />
+
+
+    <OrNTC />
+
+
+    <IDNum />
+
+
+    <ChDi />
+
+
+    <ChDS />
+
+
+    <AsAu />
+
+
+    <IdTC />
+
+
+    <AsFa />
+
+
+
+
+        </XON>
+
+
+  <XPN>
+
+
+    <FaNa />
+
+
+    <GiNa />
+
+
+    <MiIn />
+
+
+    <Suff />
+
+
+    <Pref />
+
+
+    <Degr />
+
+
+    <NaTC />
+
+
+    <NaRC />
+
+
+
+
+        </XPN>
+
+
+  <XTN>
+
+
+    <TeNum />
+
+
+    <Exten />
+
+
+    <Beeper />
+
+
+    <text />
+
+
+    <TeUC />
+
+
+    <TeET />
+
+
+    <eMail />
+
+
+    <CoCo />
+
+
+    <AcCo />
+
+
+    <PhNum />
+
+
+    <Extension />
+
+
+    <anytext />
+
+
+
+
+        </XTN>
+
+
+
+
+
+      </ObVaTX>
+
+
+
+  <Units />
+
+
+  <ReRa />
+
+
+  <AbFl />
+
+
+
+  <Probab />
+
+
+  <NofAT />
+
+
+  <ObReSt />
+
+
+  <DLONVa>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+      </DLONVa>
+
+
+  <UDACh />
+
+
+  <DTofOb>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+      </DTofOb>
+
+
+  <ProdID>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+      </ProdID>
+
+
+  <ReOb>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+      </ReOb>
+
+
+  <ObMe>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+      </ObMe>
+
+
+
+
+
+    </OBX-TX>
+
+
+  <OBX-NM />
+
+
+
+
+
+  </OBX>
+
+  <AL1 SetID="">
+
+
+
+
+  <AlTy />
+
+
+  <AlCo>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </AlCo>
+
+
+  <AlSe />
+
+
+  <AlRe />
+
+
+  <IdDa />
+
+
+
+
+
+  </AL1>
+
+  <DG1 SetID="1">
+
+
+
+
+  <DiaCoMe>19</DiaCoMe>
+
+
+  <DiaCo>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </DiaCo>
+
+
+  <DiaDe>BIOPSY</DiaDe>
+
+
+  <DiaDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </DiaDT>
+
+
+  <DiaTy>00 </DiaTy>
+
+
+  <MaDiaCa>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </MaDiaCa>
+
+
+  <DiaReGr>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </DiaReGr>
+
+
+  <DRGAIn />
+
+
+  <DRGGRCo />
+
+
+  <OutTy>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </OutTy>
+
+
+  <OutDa />
+
+
+  <OutCo>
+
+
+
+  <Price />
+
+
+  <PrTy />
+
+
+  <frVa />
+
+
+  <toVa />
+
+
+  <RaUn />
+
+
+  <RaTy />
+
+
+
+
+
+    </OutCo>
+
+
+  <GVandTy />
+
+
+  <DiaPr />
+
+
+  <DiaCl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</DiaCl>
+
+
+  <DiaClass />
+
+
+  <CoIn />
+
+
+  <AtDT>
+
+
+
+   <date />
+
+
+   <time />
+
+
+
+
+
+    </AtDT>
+
+
+
+
+
+  </DG1>
+
+  <DRG>
+
+
+
+  <DiaReGr />
+
+
+  <DRGAsDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </DRGAsDT>
+
+
+  <DRGAIn />
+
+
+  <DRGGRCo />
+
+
+  <OutTy />
+
+
+  <OutDa />
+
+
+  <OutCo />
+
+
+  <DRGPa />
+
+
+  <OutRe>
+
+
+
+  <Price />
+
+
+  <PrTy />
+
+
+  <frVa />
+
+
+  <toVa />
+
+
+  <RaUn />
+
+
+  <RaTy />
+
+
+
+
+
+    </OutRe>
+
+
+  <CoIn />
+
+
+
+
+
+  </DRG>
+
+  <DRG2>
+
+
+
+  <DiaReGr />
+
+
+  <DRGAsDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </DRGAsDT>
+
+
+  <DRGAIn />
+
+
+  <DRGGRCo />
+
+
+  <OutTy />
+
+
+  <OutDa />
+
+
+  <OutCo />
+
+
+  <DRGPa />
+
+
+  <OutRe>
+
+
+
+  <Price />
+
+
+  <PrTy />
+
+
+  <frVa />
+
+
+  <toVa />
+
+
+  <RaUn />
+
+
+  <RaTy />
+
+
+
+
+
+    </OutRe>
+
+
+  <CoIn />
+
+
+
+
+
+  </DRG2>
+
+  <ROL>
+
+
+
+
+
+
+
+
+
+
+</ROL>
+
+  <GT1 SetID="1">
+
+
+
+
+  <GuNum>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </GuNum>
+
+
+  <GuName>
+
+
+
+  <FaNa>MASSIE</FaNa>
+
+
+  <GiNa>JAMES</GiNa>
+
+
+  <MiIn>""</MiIn>
+
+
+  <Suff>""</Suff>
+
+
+  <Pref>""</Pref>
+
+
+  <Degr>""</Degr>
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </GuName>
+
+
+  <GuSpNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </GuSpNa>
+
+
+  <GuAddr>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </GuAddr>
+
+
+  <GuPhNuHo>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </GuPhNuHo>
+
+
+  <GuPhNuBu>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </GuPhNuBu>
+
+
+  <GuDTofBi>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </GuDTofBi>
+
+
+  <GuSex />
+
+
+  <GuTy />
+
+
+  <GuRe />
+
+
+  <GuSSN />
+
+
+  <GuDaBe />
+
+
+  <GuDaEn />
+
+
+  <GuPr />
+
+
+  <GuEmNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </GuEmNa>
+
+
+  <GuEmAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </GuEmAd>
+
+
+  <GuEmPhNu>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </GuEmPhNu>
+
+
+  <GuEmIDNu>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </GuEmIDNu>
+
+
+  <GuEmSt />
+
+
+  <GuOrNa>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </GuOrNa>
+
+
+  <GuBiHoFl />
+
+
+  <GuCrRaCo>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </GuCrRaCo>
+
+
+  <GuDeDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </GuDeDT>
+
+
+  <GuDeFl />
+
+
+  <GuChAdCo>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </GuChAdCo>
+
+
+  <GuHoAnIn />
+
+
+  <GuHoSi />
+
+
+  <GuEmplIDNu>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </GuEmplIDNu>
+
+
+  <GuMaStCo />
+
+
+  <GuHiEfDa />
+
+
+  <EmStDa />
+
+
+  <LiDe />
+
+
+  <AmSt />
+
+
+  <Citiz />
+
+
+  <PrLa />
+
+
+  <LiAr />
+
+
+  <PuIn />
+
+
+  <PrIn />
+
+
+  <StIn />
+
+
+  <Relig />
+
+
+  <MoMaNa />
+
+
+  <Nation />
+
+
+  <EtGr />
+
+
+  <CoPeNa />
+
+
+  <CoPeTN />
+
+
+  <CoRe />
+
+
+  <CoRel />
+
+
+  <JoTi />
+
+
+  <JoCoCl />
+
+
+  <GuEmOrNa />
+
+
+  <Handic />
+
+
+  <JoSt />
+
+
+  <GuFiCl />
+
+
+  <GuRa />
+
+
+
+
+
+  </GT1>
+
+  <IN1 SetID="2">
+
+
+
+
+   <InPlID>
+
+
+
+  <Ident>��</Ident>
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </InPlID>
+
+
+   <InCoID>
+
+
+
+  <IDNum>�� </IDNum>
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InCoID>
+
+
+   <InCoNa>
+
+
+
+  <OrNa>BLUE CROSS</OrNa>
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InCoNa>
+
+
+   <InCoAd>
+
+
+
+  <StAd>171 ZOBERLEIN</StAd>
+
+
+  <OtDe />
+
+
+  <City>ISHPEMING</City>
+
+
+  <StPr>M149849</StPr>
+
+
+  <ZipPC>""</ZipPC>
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </InCoAd>
+
+
+   <InCoCoPe>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </InCoCoPe>
+
+
+   <InCoPhNu>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </InCoPhNu>
+
+
+   <GrNu />
+
+
+   <GrNa>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </GrNa>
+
+
+   <InGrEmID>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InGrEmID>
+
+
+   <InGrEmNa>
+
+
+
+  <AuNum />
+
+
+  <date />
+
+
+  <Source />
+
+
+
+
+
+    </InGrEmNa>
+
+
+   <PlEfDa />
+
+
+   <PlExDa />
+
+
+   <AuIn />
+
+
+   <PlTy />
+
+
+   <NaofIn>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </NaofIn>
+
+
+   <InRetoPa />
+
+
+   <InDaofBi />
+
+
+   <InAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </InAd>
+
+
+   <AsofBe />
+
+
+   <CoofBe />
+
+
+   <CoofBePr />
+
+
+   <NoofAdFl />
+
+
+   <NoofAdDa />
+
+
+   <ReofElFl />
+
+
+   <ReofElDa />
+
+
+   <ReInCo />
+
+
+   <PrCe />
+
+
+   <VeDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </VeDT>
+
+
+   <Veby>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </Veby>
+
+
+   <TyofAgCo />
+
+
+   <BiSt />
+
+
+   <LiReDa />
+
+
+   <DeBeLRDa />
+
+
+   <CoPlCo />
+
+
+   <PoNu />
+
+
+   <PoDe>
+
+
+
+  <Price />
+
+
+  <PrTy />
+
+
+  <frVa />
+
+
+  <toVa />
+
+
+  <RaUn />
+
+
+  <RaTy />
+
+
+
+
+
+    </PoDe>
+
+
+   <PoLiAm>
+
+
+
+  <Price />
+
+
+  <PrTy />
+
+
+  <frVa />
+
+
+  <toVa />
+
+
+  <RaUn />
+
+
+  <RaTy />
+
+
+
+
+
+    </PoLiAm>
+
+
+   <PoLiDa />
+
+
+   <RoRaSePr>
+
+
+
+  <Price />
+
+
+  <PrTy />
+
+
+  <frVa />
+
+
+  <toVa />
+
+
+  <RaUn />
+
+
+  <RaTy />
+
+
+
+
+
+    </RoRaSePr>
+
+
+   <RoRaPr>
+
+
+
+
+
+
+</RoRaPr>
+
+
+   <InEmSt>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </InEmSt>
+
+
+   <InSex />
+
+
+   <InEmAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </InEmAd>
+
+
+   <VeSt />
+
+
+   <PrInPlID />
+
+
+   <CoTy />
+
+
+   <Handic />
+
+
+   <InIDNu>
+
+
+
+
+
+
+</InIDNu>
+
+
+
+
+
+  </IN1>
+
+  <IN1 SetID="1">
+
+
+
+
+   <InPlID>
+
+
+
+  <Ident>0</Ident>
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </InPlID>
+
+
+   <InCoID>
+
+
+
+  <IDNum>BC1</IDNum>
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InCoID>
+
+
+   <InCoNa>
+
+
+
+  <OrNa>BLUE CROSS</OrNa>
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InCoNa>
+
+
+   <InCoAd>
+
+
+
+  <StAd>171 ZOBERLEIN</StAd>
+
+
+  <OtDe />
+
+
+  <City>ISHPEMING</City>
+
+
+  <StPr>M149849</StPr>
+
+
+  <ZipPC>""</ZipPC>
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </InCoAd>
+
+
+   <InCoCoPe>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </InCoCoPe>
+
+
+   <InCoPhNu>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </InCoPhNu>
+
+
+   <GrNu />
+
+
+   <GrNa>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </GrNa>
+
+
+   <InGrEmID>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InGrEmID>
+
+
+   <InGrEmNa>
+
+
+
+  <AuNum />
+
+
+  <date />
+
+
+  <Source />
+
+
+
+
+
+    </InGrEmNa>
+
+
+   <PlEfDa />
+
+
+   <PlExDa />
+
+
+   <AuIn />
+
+
+   <PlTy />
+
+
+   <NaofIn>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </NaofIn>
+
+
+   <InRetoPa />
+
+
+   <InDaofBi />
+
+
+   <InAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </InAd>
+
+
+   <AsofBe />
+
+
+   <CoofBe />
+
+
+   <CoofBePr />
+
+
+   <NoofAdFl />
+
+
+   <NoofAdDa />
+
+
+   <ReofElFl />
+
+
+   <ReofElDa />
+
+
+   <ReInCo />
+
+
+   <PrCe />
+
+
+   <VeDT>
+
+
+
+  <date />
+
+
+  <time />
+
+
+
+
+
+    </VeDT>
+
+
+   <Veby>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </Veby>
+
+
+   <TyofAgCo />
+
+
+   <BiSt />
+
+
+   <LiReDa />
+
+
+   <DeBeLRDa />
+
+
+   <CoPlCo />
+
+
+   <PoNu />
+
+
+   <PoDe>
+
+
+
+  <Price />
+
+
+  <PrTy />
+
+
+  <frVa />
+
+
+  <toVa />
+
+
+  <RaUn />
+
+
+  <RaTy />
+
+
+
+
+
+    </PoDe>
+
+
+   <PoLiAm>
+
+
+
+  <Price />
+
+
+  <PrTy />
+
+
+  <frVa />
+
+
+  <toVa />
+
+
+  <RaUn />
+
+
+  <RaTy />
+
+
+
+
+
+    </PoLiAm>
+
+
+   <PoLiDa />
+
+
+   <RoRaSePr>
+
+
+
+  <Price />
+
+
+  <PrTy />
+
+
+  <frVa />
+
+
+  <toVa />
+
+
+  <RaUn />
+
+
+  <RaTy />
+
+
+
+
+
+    </RoRaSePr>
+
+
+   <RoRaPr>
+
+
+
+
+
+
+</RoRaPr>
+
+
+   <InEmSt>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </InEmSt>
+
+
+   <InSex />
+
+
+   <InEmAd>
+
+
+
+  <StAd />
+
+
+  <OtDe />
+
+
+  <City />
+
+
+  <StPr />
+
+
+  <ZipPC />
+
+
+  <Country />
+
+
+  <AdTy />
+
+
+  <OtGD />
+
+
+  <CoPC />
+
+
+  <CeTr />
+
+
+
+
+
+    </InEmAd>
+
+
+   <VeSt />
+
+
+   <PrInPlID />
+
+
+   <CoTy />
+
+
+   <Handic />
+
+
+   <InIDNu>
+
+
+
+
+
+
+</InIDNu>
+
+
+
+
+
+  </IN1>
+  <IN2>
+
+
+
+  <InEmID>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InEmID>
+
+
+  <InSSN />
+
+
+  <InEmNa>
+
+
+
+  <IDNum />
+
+
+
+  <SoTa />
+
+
+  <AsAu />
+
+
+  <NaTC />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InEmNa>
+
+
+  <EmInDa />
+
+
+  <MaClPa />
+
+
+  <MeHeInCaNu />
+
+
+  <MeCaNa />
+
+
+  <MeCaNu />
+
+
+  <ChSpNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </ChSpNa>
+
+
+  <ChIDNu />
+
+
+  <DeofChRe>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </DeofChRe>
+
+
+  <ChOr />
+
+
+  <ChSt />
+
+
+  <ChServ />
+
+
+  <ChRaGr />
+
+
+  <ChStat />
+
+
+  <ChStat />
+
+
+  <ChnonAvCeonFi />
+
+
+  <BaCo />
+
+
+  <CoBaBi />
+
+
+  <BlDe />
+
+
+  <SpCoApNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </SpCoApNa>
+
+
+  <SpCoApTi />
+
+
+  <NonCoInCo />
+
+
+  <PaID>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </PaID>
+
+
+  <PaSuID>
+
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </PaSuID>
+
+
+  <ElSo />
+
+
+  <RoCoTyAm>
+
+
+
+  <RoTy />
+
+
+  <AmTy />
+
+
+  <CovAm />
+
+
+
+
+
+    </RoCoTyAm>
+
+
+  <PoTyAm>
+
+
+
+  <PoTy />
+
+
+  <AmCl />
+
+
+  <Amount />
+
+
+
+
+
+    </PoTyAm>
+
+
+  <DaDe>
+
+
+
+   <DeDa />
+
+
+   <Amount />
+
+
+   <NuofDa />
+
+
+
+
+
+    </DaDe>
+
+
+  <LiDe />
+
+
+  <AmSt />
+
+
+  <Citiz />
+
+
+  <PrLa />
+
+
+  <LiAr />
+
+
+  <PuIn />
+
+
+  <PrIn />
+
+
+  <StIn />
+
+
+  <Relig />
+
+
+  <MoMaNa />
+
+
+  <Nation />
+
+
+  <EtGr />
+
+
+  <MaSt />
+
+
+  <InEmStDa />
+
+
+  <InEmStopDa />
+
+
+  <JoTi />
+
+
+  <JoCoCl />
+
+
+  <JoSt />
+
+
+  <EmCoPeNa>
+
+
+
+  <FaNa />
+
+
+  <GiNa />
+
+
+  <MiIn />
+
+
+  <Suff />
+
+
+  <Pref />
+
+
+  <Degr />
+
+
+  <NaTC />
+
+
+  <NaRC />
+
+
+
+
+
+    </EmCoPeNa>
+
+
+  <EmCoPePhNu>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </EmCoPePhNu>
+
+
+  <EmCoRe />
+
+
+  <InCoPeNa />
+
+
+  <InCoPePhNu />
+
+
+  <InCoPeRe />
+
+
+  <RetoPaStDa />
+
+
+  <RetoPaStopDa />
+
+
+  <InCoCoRe />
+
+
+  <InCoCoPhNu />
+
+
+  <PoSc />
+
+
+  <PoSo />
+
+
+  <PaMeNu />
+
+
+  <GuRetoIn />
+
+
+  <InPhNuHo>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </InPhNuHo>
+
+
+  <InEmPhNu>
+
+
+
+  <TeNum />
+
+
+  <Exten />
+
+
+  <Beeper />
+
+
+  <text />
+
+
+  <TeUC />
+
+
+  <TeET />
+
+
+  <eMail />
+
+
+  <CoCo />
+
+
+  <AcCo />
+
+
+  <PhNum />
+
+
+  <Extension />
+
+
+  <anytext />
+
+
+
+
+
+    </InEmPhNu>
+
+
+  <MiHaPr>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </MiHaPr>
+
+
+  <SuFl />
+
+
+  <CoLiFl />
+
+
+  <StLiFl />
+
+
+  <InOrNaandID>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InOrNaandID>
+
+
+  <InEmOrNaandID>
+
+
+
+  <OrNa />
+
+
+  <OrNTC />
+
+
+  <IDNum />
+
+
+  <ChDi />
+
+
+  <ChDS />
+
+
+  <AsAu />
+
+
+  <IdTC />
+
+
+  <AsFa />
+
+
+
+
+
+    </InEmOrNaandID>
+
+
+  <Race />
+
+
+  <HCFAPaRetoIn>
+
+
+
+  <Ident />
+
+
+  <text />
+
+
+  <CoSy />
+
+
+  <AltIdent />
+
+
+  <AltText />
+
+
+  <AltCoSy />
+
+
+
+
+
+    </HCFAPaRetoIn>
+
+
+
+
+
+  </IN2>
+
+
+</Message>
+
diff --git a/xml/test/webwhitespace.xml b/xml/test/webwhitespace.xml
new file mode 100644
index 0000000..4d43682
--- /dev/null
+++ b/xml/test/webwhitespace.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app>
+  <servlet>
+    <servlet-name>
+      snoop
+    </servlet-name>
+    <servlet-class>
+      SnoopServlet
+    </servlet-class>
+  </servlet>
+  <servlet>
+    <servlet-name>
+      file
+    </servlet-name>
+    <servlet-class>
+      ViewFile
+    </servlet-class>
+    <init-param>
+      <param-name>
+
+        initial
+
+      </param-name>
+      <param-value>
+        1000
+      </param-value>
+      <description>
+        The initial value for the counter  <!-- optional -->
+      </description>
+    </init-param>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>
+      mv
+    </servlet-name>
+    <url-pattern>
+      *.wm
+    </url-pattern>
+  </servlet-mapping>
+
+  <distributed/>
+
+  <security-role>
+    <role-name>
+     manager
+    </role-name>
+    <role-name>
+     director
+    </role-name>
+    <role-name>
+     president
+    </role-name>
+  </security-role>
+</web-app>
diff --git a/xml/test/xpath/tests.xml b/xml/test/xpath/tests.xml
new file mode 100644
index 0000000..a62b996
--- /dev/null
+++ b/xml/test/xpath/tests.xml
@@ -0,0 +1,385 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tests>
+
+  <!-- test the use of text() -->
+  <document url="xml/test/test_text.xml">
+    <context select="/">
+      <valueOf select="normalize-space(/message)">This should work</valueOf>
+    </context>
+  </document>
+
+  <!-- test cases for the use of = with nodesets -->
+  <document url="xml/web.xml">
+    <context select="/">
+      <pattern match="/web-app/servlet/servlet-name = 'file'"/>
+      <pattern match="/web-app/servlet/servlet-name = 'snoop'"/>
+    </context>
+  </document>
+
+  <!-- test the use of 'or' -->
+  <document url="xml/test/sample.xml">
+    <context select="/">
+      <test select="/products/product[@id='2' or colour='green']" count="2"/>
+    </context>
+  </document>
+
+  <document url="xml/test/DavidHooker.xml">
+    <context select="/"> 
+      <test select="/*/oi:thing-info/@triggering-document-expression" count="1"/>
+      <test select="/atomic:thing/oi:thing-info/@triggering-document-expression" count="1"/>
+      <test select="//@triggering-document-expression" count="1"/>
+    </context>
+  </document>
+
+  <!-- test Axes -->
+  <document url="xml/xhtml.xml">
+    <context select="/">
+      <valueOf select="/html/body/link">http://foo.com/bar?a=123&b=456&d=d9d9d</valueOf>
+    </context>
+  </document>
+
+  <document url="xml/web.xml">
+    <context select="/">
+      <test select="/descendant-or-self::*" count="19"/>
+      <test select="descendant-or-self::*" count="19"/>
+      <test select="/descendant-or-self::servlet" count="2"/>
+      <test select="descendant-or-self::servlet" count="2"/>
+      <test select="/descendant::servlet" count="2"/>
+      <test select="descendant::*" count="19"/>
+      <test select="/descendant::*" count="19"/>
+      <test select="descendant::servlet" count="2"/>
+      <test select="/*/servlet" count="2"/>
+      <valueOf select="count(/*/servlet)">2</valueOf>
+      <test select="//servlet" count="2"/>
+      <valueOf select="count(//servlet)">2</valueOf>
+    </context>
+    <context select="/web-app">
+      <test select="/descendant-or-self::servlet" count="2"/>
+      <test select="descendant-or-self::servlet" count="2"/>
+      <test select="/descendant::servlet" count="2"/>
+      <test select="descendant::servlet" count="2"/>
+    </context>
+    <context select="/web-app/servlet[2]/servlet-name">
+      <test select="preceding::*" count="3"/>
+    </context>
+
+    <context select="/web-app/servlet[2]/servlet-name">
+      <test select="following::*" count="13"/>
+    </context>
+  </document>
+
+  <document url="xml/axis.xml">
+
+    <context select="/root">
+      <test select="preceding-sibling::*" count="0"/>
+    </context>
+
+    <context select="/root/a/a.3">
+      <test select="preceding::*" count="2"/>
+    </context>
+
+    <context select="/root/a/a.3">
+      <test select="preceding-sibling::*" count="2"/>
+    </context>
+
+    <context select="/">
+      <valueOf select="name(/root/a/a.3/preceding-sibling::*[1])">a.2</valueOf>
+      <valueOf select="name(/root/a/a.3/preceding-sibling::*[2])">a.1</valueOf>
+    </context>
+
+    <context select="/">
+      <valueOf select="name(/root/a/a.3/following-sibling::*[1])">a.4</valueOf>
+      <valueOf select="name(/root/a/a.3/following-sibling::*[2])">a.5</valueOf>
+    </context>
+
+  </document>
+
+  <!-- test predicates -->
+
+  <document url="xml/web.xml">
+    <context select="/">
+      <test select="/web-app/servlet/servlet-name[.='file']" count="1"/>
+      <test select="/web-app/servlet/servlet-name[text()='file']" count="1"/>
+    </context>
+  </document>
+
+  <!-- test `s -->
+  <!-- patterns are used in XSLT <xsl:template match="pattern"/> tags -->
+  <document url="xml/web.xml">
+    <context select="/">
+      <pattern match="/"/>
+      <test select="web-app/servlet" count="2"/>
+    </context>
+    <context select="//servlet[1]">
+      <pattern match="*"/>
+      <pattern match="servlet"/>
+      <pattern match="servlet[servlet-name='snoop']"/>
+      <pattern match="web-app/servlet"/>
+      <pattern match="*/servlet"/>
+      <pattern match="/*/servlet"/>
+    </context>
+  </document>
+
+  <document url="xml/test/sample.xml">
+    <context select="/products/product[@id='2']">
+      <pattern match=".[@id='2']"/>
+      <pattern match=".[colour='blue']"/>
+      <pattern match="@id='2'"/>
+      <pattern match="colour='blue'"/>
+      <pattern match="name()='product'"/>
+      <pattern match="not(id='3')"/>
+    </context>
+  </document>
+
+  <!-- test filters -->
+  <document url="xml/web.xml">
+    <context select="/">
+      <filter match="/"/>
+    </context>
+    <context select="//servlet[1]">
+      <filter match="."/>
+      <filter match="name()='servlet'"/>
+    </context>
+  </document>
+
+  <document url="xml/test/sample.xml">
+    <context select="/products/product[@id='2']">
+      <filter match=".[@id='2']"/>
+      <filter match=".[colour='blue']"/>
+      <filter match="@id='2'"/>
+      <filter match="colour='blue'"/>
+      <filter match="name()='product'"/>
+      <filter match="not(id='3')"/>
+    </context>
+  </document>
+
+
+  <!-- test name -->
+
+  <document url="xml/web.xml">
+    <context select="/">
+ 
+      <test select="*" count="1">
+        <valueOf select="name()">web-app</valueOf>
+      </test>
+
+      <!-- NOTE that the child::node() tests only work if the
+           XML document does not comments or PIs
+      -->
+ 
+      <test select="./*" count="1">
+        <valueOf select="name()">web-app</valueOf>
+      </test>
+      <test select="child::*" count="1">
+        <valueOf select="name()">web-app</valueOf>
+      </test>
+      <test select="/*" count="1">
+        <valueOf select="name()">web-app</valueOf>
+      </test>
+      <test select="/child::node()" count="1">
+        <valueOf select="name(.)">web-app</valueOf>
+      </test>
+      <test select="child::node()" count="1">
+        <valueOf select="name(.)">web-app</valueOf>
+      </test>
+
+      <!-- empty names -->
+
+      <valueOf select="name()"></valueOf>
+      <valueOf select="name(.)"></valueOf>
+      <valueOf select="name(parent::*)"></valueOf>
+      <valueOf select="name(/)"></valueOf>
+      <valueOf select="name(/.)"></valueOf>
+      <valueOf select="name(/self::node())"></valueOf>
+
+      <!-- name of root elemet -->
+      <valueOf select="name(node())">web-app</valueOf>
+      <valueOf select="name(/node())">web-app</valueOf>
+      <valueOf select="name(/*)">web-app</valueOf>
+      <valueOf select="name(/child::*)">web-app</valueOf>
+      <valueOf select="name(/child::node())">web-app</valueOf>
+      <valueOf select="name(/child::node())">web-app</valueOf>
+      <valueOf select="name(child::node())">web-app</valueOf>
+      <valueOf select="name(./*)">web-app</valueOf>
+      <valueOf select="name(*)">web-app</valueOf>
+
+    </context>
+
+    <context select="/*">
+      <!-- empty names -->
+      <valueOf select="name(..)"></valueOf>
+      <valueOf select="name(parent::node())"></valueOf>
+      <valueOf select="name(parent::*)"></valueOf>
+
+      <!-- name of root elemet -->
+      <valueOf select="name()">web-app</valueOf>
+      <valueOf select="name(.)">web-app</valueOf>
+      <valueOf select="name(../*)">web-app</valueOf>
+      <valueOf select="name(../child::node())">web-app</valueOf>
+    </context>
+  </document>
+
+
+
+  <!-- test predicates -->
+
+  <document url="xml/nitf/sample.xml">
+    <context select="/nitf/head/docdata">
+      <test select="doc-id[@regsrc='AP' and @id-string='D76UIMO80']" count="1"/>
+    </context>
+    <context select="/nitf/head">
+      <test select="meta[@name='ap-cycle']" count="1"/>
+      <test select="meta[@content='AP']" count="1"/>
+      <test select="meta[@name and @content]" count="8"/>
+      <test select="meta[@name='ap-cycle' and @content='AP']" count="1"/>
+      <test select="meta[@name != 'ap-cycle']" count="7"/>
+    </context>
+    <context select="/">
+      <test select="/nitf/head/meta[@name='ap-cycle']" count="1"/>
+      <test select="/nitf/head/meta[@content='AP']" count="1"/>
+      <test select="/nitf/head/meta[@name and @content]" count="8"/>
+      <test select="/nitf/head/meta[@name='ap-cycle' and @content='AP']" count="1"/>
+      <test select="/nitf/head/meta[@name != 'ap-cycle']" count="7"/>
+    </context>
+  </document>
+  
+  <document url="xml/moreover/sample.xml">
+    <context select="/">
+      <test select="/child::node()" count="1"/>
+      <test select="/*" count="1"/>
+
+      <test select="/*/article" count="20"/>
+      <test select="//*" count="221"/>
+      <test select="//*[local-name()='article']" count="20"/>
+      <test select="//article" count="20"/>
+      <test select="/*/*[@id]" count="20"/>
+
+      <test select="/moreovernews/article[@id='_13563275']" count="1"/>
+
+      <test select="/moreovernews/article[@id='_13563275']">
+        <valueOf select="url">http://c.moreover.com/click/here.pl?x13563273</valueOf>
+      </test>
+      <test select="/*/article[@id='_13563275']">
+        <valueOf select="url">http://c.moreover.com/click/here.pl?x13563273</valueOf>
+      </test>
+      <test select="//article[@id='_13563275']">
+        <valueOf select="url">http://c.moreover.com/click/here.pl?x13563273</valueOf>
+      </test>
+      <test select="//*[@id='_13563275']">
+        <valueOf select="url">http://c.moreover.com/click/here.pl?x13563273</valueOf>
+      </test>
+      <test select="/child::node()/child::node()[@id='_13563275']">
+        <valueOf select="url">http://c.moreover.com/click/here.pl?x13563273</valueOf>
+      </test>
+      <test select="/*/*[@id='_13563275']">
+        <valueOf select="url">http://c.moreover.com/click/here.pl?x13563273</valueOf>
+      </test>
+    </context>
+  </document>
+
+
+
+  <!-- test other node types-->
+
+  <document url="xml/contents.xml">
+    <context select="/">
+      <test select="processing-instruction()" count="3"/>
+      <test select="/processing-instruction()" count="3"/>
+      <test select="/comment()" count="1"/>
+      <test select="comment()" count="1"/>
+      <test select="/child::node()/comment()" count="2"/>
+      <test select="/*/comment()" count="2"/>
+      <test select="//comment()" count="3"/>
+    </context>
+  </document>
+
+
+
+  <!-- test positioning -->
+
+  <document url="xml/fibo.xml">
+    <context select="/">
+      <test select="/*/fibonacci[position() < 10]" count="9"/>
+      <valueOf select="sum(//fibonacci)">196417</valueOf>
+      <valueOf select="sum(//fibonacci/@index)">325</valueOf>
+    </context>
+  </document>
+
+
+  <!-- test mumber functions -->
+
+  <document url="xml/much_ado.xml">
+    <context select="/">
+      <test select="/descendant::ACT" count="5"/>
+      <test select="descendant::ACT" count="5"/>
+      <valueOf select="/PLAY/TITLE">Much Ado about Nothing</valueOf>
+      <valueOf select="2+2">4</valueOf>
+      <valueOf select="5 * 4 + 1">21</valueOf>
+      <valueOf select="count(descendant::ACT)">5</valueOf>
+      <valueOf select="10 + count(descendant::ACT) * 5">35</valueOf>
+      <valueOf select="(10 + count(descendant::ACT)) * 5">75</valueOf>
+    </context>
+    <context select="/PLAY/ACT/SCENE[1]">
+      <test select="/descendant::ACT" count="5"/>
+      <test select="../../descendant::ACT" count="5"/>
+      <valueOf select="count(ancestor::*)">2</valueOf>
+      <valueOf select="count(ancestor::PLAY)">1</valueOf>
+      <valueOf select="5+count(ancestor::*)-1">6</valueOf>
+    </context>
+  </document>
+
+
+  <!-- test namespace -->
+
+  <document url="xml/test/namespaces.xml">
+    <context select="/">
+      <test select="/*" count="1"/>
+      <test select="/foo:a" count="1"/>
+      <test select="/foo:a/b" count="1"/>
+      <test select="/foo:a/bar:f" count="1"/>
+      <test select="/*[namespace-uri()='fooNamespace' and local-name()='a']" count="1"/>
+      <test select="/*[local-name()='a' and namespace-uri()='fooNamespace']/*[local-name()='x' and namespace-uri()='fooNamespace']" count="1"/>
+      <test select="/*[local-name()='a' and namespace-uri()='fooNamespace']/*[local-name()='x' and namespace-uri()='fooNamespace']/*[local-name()='y' and namespace-uri()='fooNamespace']" count="1"/>
+    </context>
+    <context select="/">
+      <valueOf select="/foo:a/b/c">Hello</valueOf>
+      <valueOf select="/foo:a/foo:d/foo:e">Hey</valueOf>
+      <valueOf select="/foo:a/alias:x/alias:y">Hey3</valueOf>
+      <valueOf select="/foo:a/foo:x/foo:y">Hey3</valueOf>
+      <valueOf select="/*[local-name()='a' and namespace-uri()='fooNamespace']/*[local-name()='x' and namespace-uri()='fooNamespace']/*[local-name()='y' and namespace-uri()='fooNamespace']">Hey3</valueOf>
+    </context>
+    <context select="/foo:a/b">
+      <valueOf select="/foo:a/b/c">Hello</valueOf>
+      <valueOf select="/foo:a/foo:d/foo:e">Hey</valueOf>
+      <valueOf select="/foo:a/alias:x/alias:y">Hey3</valueOf>
+      <valueOf select="/foo:a/foo:x/foo:y">Hey3</valueOf>
+    </context>
+  </document>
+
+
+  <document url="xml/test/defaultNamespace.xml">
+    <context select="/">
+      <test select="/a/b/c" count="0"/>
+      <test select="/x:a/x:b/x:c" count="0" exception="true"/>
+    </context>
+  </document>
+
+  <document url="xml/testNamespaces.xml">
+    <context select="/">
+      <test select="namespace::*" count="0" debug="off"/>
+      <test select="/namespace::*" count="0" debug="off"/>
+      <test select="/Template/Application1/namespace::*" count="3" debug="off"/>
+      <test select="/Template/Application2/namespace::*" count="3" debug="off"/>
+      <test select="/Template/Application2/namespace::*" count="3" debug="off"/>
+      <test select="//namespace::*" count="25" debug="off"/>
+    </context>
+    <context select="/Template/Application1">
+      <test select="namespace::*" count="3" debug="off"/>
+      <test select="/namespace::*" count="0" debug="off"/>
+      <test select="/Template/Application1/namespace::*" count="3" debug="off"/>
+      <test select="/Template/Application2/namespace::*" count="3" debug="off"/>
+      <test select="/Template/Application2/namespace::*" count="3" debug="off"/>
+      <test select="//namespace::*" count="25" debug="off"/>
+    </context>
+  </document>
+ </tests>
diff --git a/xml/testNamespaces.xml b/xml/testNamespaces.xml
new file mode 100644
index 0000000..887c88c
--- /dev/null
+++ b/xml/testNamespaces.xml
@@ -0,0 +1,21 @@
+<Template> 
+  <Application1 xmlns:xplt="www.xxxx.com" 
+                xmlns:xpl="www.xxxx.com"
+                version="3.0"
+  > 
+    <xpl:insertText/> 
+    <xplt:anyElement> 
+      <Name/> 
+    </xplt:anyElement> 
+  </Application1> 
+
+  <Application2 xmlns:xplt="www.xxxx.com" 
+                xmlns:xpl="www.xxxx.com"
+                version="3.0"
+  > 
+    <xpl:insertText/> 
+    <xplt:anyElement> 
+      <Name/> 
+    </xplt:anyElement> 
+  </Application2> 
+</Template>
diff --git a/xml/testPI.xml b/xml/testPI.xml
new file mode 100644
index 0000000..a04f0a4
--- /dev/null
+++ b/xml/testPI.xml
@@ -0,0 +1,12 @@
+<?pi  first='true'?>
+<root>
+  Hello he <?middle value='something'?> said. 
+
+  <!-- This is a comment -->
+
+  <a href="http://dom4j.org">The DOM4J home page.</a>
+
+  More text!
+
+</root>
+<?pi  last='true'?>
diff --git a/xml/web.xml b/xml/web.xml
new file mode 100644
index 0000000..a76e7ca
--- /dev/null
+++ b/xml/web.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app>
+  <servlet>
+    <servlet-name>snoop</servlet-name>
+    <servlet-class>SnoopServlet</servlet-class>
+  </servlet>
+  <servlet>
+    <servlet-name>file</servlet-name>
+    <servlet-class>ViewFile</servlet-class>
+    <init-param>
+      <param-name>initial</param-name>
+      <param-value>1000</param-value>
+      <description>
+        The initial value for the counter  <!-- optional -->
+      </description>
+    </init-param>
+  </servlet>
+  <servlet-mapping>
+    <servlet-name>snoop</servlet-name>
+    <url-pattern>/foo/snoop</url-pattern>
+  </servlet-mapping>
+
+  <distributed/>
+
+  <security-role>
+    <role-name>
+     manager
+    </role-name>
+    <role-name>
+     director
+    </role-name>
+    <role-name>
+     president
+    </role-name>
+  </security-role>
+</web-app>
diff --git a/xml/xhtml.xml b/xml/xhtml.xml
new file mode 100644
index 0000000..45395a3
--- /dev/null
+++ b/xml/xhtml.xml
@@ -0,0 +1,48 @@
+<?xml version='1.0'?>
+
+<!DOCTYPE html [
+  <!ELEMENT html (#PCDATA)>
+  <!ENTITY nbsp ' '>
+  <!ENTITY aring 'å'>
+  <!ENTITY auml 'ä'>
+  <!ENTITY ouml 'ö'>
+  <!ENTITY Aring 'Å'>
+  <!ENTITY Auml 'Ä'>
+  <!ENTITY Ouml 'Ö'>
+]>
+
+<html>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+    <link rel="stylesheet" type="text/css" href="default.css"/>
+  </head>
+  <body>
+    <h1>This is some HTML & and entites</h1>
+
+    <h2>Here are some entities</h2>
+
+    <a href="http://dom4j.org">home page</a>
+
+    <p>This is some text containing some entities</p>
+    <p>God fortsättning på det nya millenniet!</p>
+    <br/>
+
+    <link>http://foo.com/bar?a=123&b=456&d=d9d9d</link>
+
+    <img src="http://foo.com/bar?a=123&b=456&d=d9d9d" alt="something"/>
+
+
+    <h2>Here is some CDATA</h2>
+    <p></p>
+    <p/>
+    <form method="post">
+      <input type="text" value="foo"/>
+      <img src="images/something.gif"/>
+      <textarea></textarea>
+    </form>
+    <hr/>
+
+    <a href="http://dom4j.org/guide.html">quick start guide</a>
+
+  </body>
+</html>
diff --git a/xml/xhtml/xhtml-basic.xml b/xml/xhtml/xhtml-basic.xml
new file mode 100644
index 0000000..8e9634f
--- /dev/null
+++ b/xml/xhtml/xhtml-basic.xml
@@ -0,0 +1,1160 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+                      "xhtml1-strict.dtd">
+<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>XHTML Basic</title>
+<link rel="stylesheet" type="text/css" href="xhtml-basic.css"  />
+<link rel="stylesheet" type="text/css"
+      href="http://www.w3.org/StyleSheets/TR/W3C-REC"  />
+</head>
+<body>
+<div class="head">
+<p><a href="http://www.w3.org/"><img alt="W3C" height="48" width="72"
+src="http://www.w3.org/Icons/w3c_home" /></a></p>
+
+<h1><acronym title="Extensible HyperText Markup Language">XHTML</acronym><span
+class="tm">™</span> Basic</h1>
+
+<h2><acronym title="World Wide Web Consortium">W3C</acronym> Recommendation
+19 December 2000</h2>
+
+  <dl>
+    <dt>This version:</dt>
+    <dd><a href="http://www.w3.org/TR/2000/REC-xhtml-basic-20001219"
+      >http://www.w3.org/TR/2000/REC-xhtml-basic-20001219</a><br />
+     (<a href="xhtml-basic.txt">Plain text version</a>,
+     <a href="xhtml-basic.ps">PostScript version</a>,
+     <a href="xhtml-basic.pdf"><acronym
+     title="Portable Document Format">PDF</acronym> version</a>,
+     <a href="xhtml-basic.zip">ZIP archive</a>, or
+     <a href="xhtml-basic.tgz">Gzip'd TAR archive</a>)
+    </dd>
+    <dt>Latest version:</dt>
+    <dd><a href="http://www.w3.org/TR/xhtml-basic"
+      >http://www.w3.org/TR/xhtml-basic</a>
+    </dd>
+    <dt>Previous version:</dt>
+    <dd><a href="http://www.w3.org/TR/2000/PR-xhtml-basic-20001103"
+      >http://www.w3.org/TR/2000/PR-xhtml-basic-20001103</a></dd>
+    <dt>Editors:</dt>
+    <dd><a href="mailto:Mark.A.Baker at canada.sun.com">Mark Baker</a>,
+      Sun Microsystems</dd>
+    <dd><a href="mailto:mimasa at w3.org">Masayasu Ishikawa</a>,
+      <acronym title="World Wide Web Consortium">W3C</acronym></dd>
+    <dd><a href="mailto:matsui at isl.mei.co.jp">Shinichi Matsui</a>,
+       Panasonic</dd>
+    <dd><a href="mailto:peter.stark at ecs.ericsson.se">Peter Stark</a>,
+       Ericsson</dd>
+    <dd><a href="mailto:ted.wugofski at openwave.com">Ted Wugofski</a>,
+       Openwave Systems</dd>
+    <dd><a href="mailto:yam at access.co.jp">Toshihiko Yamakami</a>,
+       ACCESS <abbr title="Company">Co.</abbr>,
+      <abbr title="Limited">Ltd.</abbr></dd>
+  </dl>
+
+<p class="copyright"><a
+href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Copyright"
+>Copyright</a> © 1999-2000 <a href="http://www.w3.org/"><acronym
+title="World Wide Web Consortium">W3C</acronym></a><span
+class="reg">®</span> (<a href="http://www.lcs.mit.edu/"><acronym
+title="Massachusetts Institute of Technology">MIT</acronym></a>,
+<a href="http://www.inria.fr/"><acronym xml:lang="fr"
+title="Institut National de Recherche en Informatique et Automatique"
+>INRIA</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights
+Reserved. <acronym title="World Wide Web Consortium">W3C</acronym> <a
+href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Legal_Disclaimer"
+>liability</a>,
+<a href="http://www.w3.org/Consortium/Legal/ipr-notice-20000612#W3C_Trademarks"
+>trademark</a>,
+<a href="http://www.w3.org/Consortium/Legal/copyright-documents-19990405"
+>document use</a> and <a
+href="http://www.w3.org/Consortium/Legal/copyright-software-19980720">software
+licensing</a> rules apply.</p>
+</div>
+
+
+<h2 id="abstract">Abstract</h2>
+
+<p>The <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic document type includes the minimal set of modules required to be
+an <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+host language document type, and in addition it includes images, forms,
+basic tables, and object support.
+It is designed for Web clients that do not support the full set of
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+features; for example, Web clients such as mobile phones,
+<acronym title="Personal Digital Assistant">PDA</acronym>s,
+pagers, and settop boxes. The document type is rich enough for
+content authoring.</p>
+
+<p><acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic is designed as a common base that may be extended. For example,
+an event module that is more generic than the traditional <acronym
+title="HyperText Markup Language">HTML</acronym> 4 event system could
+be added or it could be extended by additional modules from <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym>
+Modularization such as the Scripting Module. The goal of
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic is to serve as a common language supported by various kinds of
+user agents.</p>
+
+<p>The document type definition is implemented using
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+modules as defined in "<cite>Modularization of
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym></cite>"
+[<a href="#ref_xhtmlmod">XHTMLMOD</a>].</p>
+
+
+<h2 id="status">Status of this Document</h2>
+
+<p><em>This section describes the status of this document at the time of
+its publication. Other documents may supersede this document.
+The latest status of this document series is maintained at
+the <acronym title="World Wide Web Consortium">W3C</acronym>.</em></p>
+
+<p>This document has been reviewed by
+<acronym title="World Wide Web Consortium">W3C</acronym> Members and other
+interested parties and has been endorsed by the Director as a
+<a href="http://www.w3.org/Consortium/Process/Process-19991111/tr.html#RecsW3C"
+><acronym title="World Wide Web Consortium">W3C</acronym> Recommendation</a>.
+It is a stable document and may be used as reference material or cited
+as a normative reference from another document.
+<acronym title="World Wide Web Consortium">W3C</acronym>'s role
+in making the Recommendation is to draw attention to the specification
+and to promote its widespread deployment.
+This enhances the functionality and interoperability of the Web.</p>  
+
+
+<p>This document has been produced by the
+<a href="http://www.w3.org/MarkUp/Group/"><acronym
+title="World Wide Web Consortium">W3C</acronym> <acronym
+title="HyperText Markup Language">HTML</acronym> Working Group</a>
+(<em><a href="http://cgi.w3.org/MemberAccess/AccessRequest">members
+only</a></em>) as part of the <a href="http://www.w3.org/MarkUp/"><acronym
+title="World Wide Web Consortium">W3C</acronym> <acronym
+title="HyperText Markup Language">HTML</acronym> Activity</a>.
+It integrates feedback from the <a href="http://www.wapforum.org/"><acronym
+title="Wireless Application Protocol">WAP</acronym> Forum</a>
+and members of the <a href="http://www.w3.org/Mobile/Group/IG/"><acronym
+title="World Wide Web Consortium">W3C</acronym> Mobile Access Interest
+Group</a> (<em><a href="http://cgi.w3.org/MemberAccess/AccessRequest">members
+only</a></em>). This document will be used by
+the <acronym title="World Wide Web Consortium">W3C</acronym>
+<acronym title="HyperText Markup Language">HTML</acronym> Working Group
+and the <acronym title="World Wide Web Consortium">W3C</acronym> Mobile
+Access Interest Group to find a common ground for future markup languages
+aimed at content for small information appliances.</p>
+
+<p>"<cite>Modularization of <acronym
+title="Extensible HyperText Markup Languge">XHTML</acronym></cite>"
+[<a href="#ref_xhtmlmod">XHTMLMOD</a>] defines the <acronym
+title="Extensible HyperText Markup Languge">XHTML</acronym> modules 
+used in the <acronym title="Extensible HyperText Markup Languge"
+>XHTML</acronym> Basic document type. At the time of this publication, the
+<a href="http://www.w3.org/Consortium/Process/Process-19991111/tr.html#RecsCR"
+>Candidate Recommendation</a> review period for "Modularization of
+<acronym title="Extensible HyperText Markup Languge">XHTML</acronym>" has
+closed. Based on that review, the <acronym title="World Wide Web Consortium"
+>W3C</acronym> <acronym title="HyperText Markup Language">HTML</acronym>
+Working Group believes that the definition of modules used in <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic is
+stable, and the Working Group does not expect to make changes to
+"Modularization of <acronym title="Extensible HyperText Markup Language"
+>XHTML</acronym>" that would be incompatible with <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic.</p>
+
+<p>Public discussion of <acronym
+title="HyperText Markup Language">HTML</acronym> takes place on
+<a href="mailto:www-html at w3.org">www-html at w3.org</a>
+(<a href="http://lists.w3.org/Archives/Public/www-html/">archive</a>).
+To subscribe send an email to
+<a href="mailto:www-html-request at w3.org">www-html-request at w3.org</a>
+with the word <em>subscribe</em> in the subject line.</p>
+
+<p>Please report errors in this document to
+<a href="mailto:www-html-editor at w3.org">www-html-editor at w3.org</a> (<a
+href="http://lists.w3.org/Archives/Public/www-html-editor/">archive</a>).
+The list of <a href="http://www.w3.org/2000/12/REC-xhtml-basic-20001219-errata"
+>known errors</a> in this document is available at
+http://www.w3.org/2000/12/REC-xhtml-basic-20001219-errata.</p>
+
+<p>The English version of this specification is the only normative version.
+Information about <a href="http://www.w3.org/MarkUp/translations">translations
+of this document</a> is available at http://www.w3.org/MarkUp/translations.</p>
+
+<p>A list of current <acronym title="World Wide Web Consortium">W3C</acronym>
+Recommendations and other technical documents can be found at
+<a href="http://www.w3.org/TR">http://www.w3.org/TR</a>.</p>
+
+
+<h2 id="contents">Table of Contents</h2>
+
+<div class="toc">
+<ul>
+  <li>1. <a href="#s_intro">Introduction</a>
+  <ul>
+    <li>1.1. <a href="#s1.1"><acronym
+      title="Extensible HyperText Markup Language">XHTML</acronym> for
+      Small Information Appliances</a></li>
+    <li>1.2. <a href="#s1.2">Background and Requirements</a></li>
+    <li>1.3. <a href="#s1.3">Design Rationale</a></li>
+  </ul>
+  </li>
+  <li>2. <a href="#s_conformance">Conformance</a>
+  <ul>
+    <li>2.1. <a href="#s2.1">Document Conformance</a></li>
+    <li>2.2. <a href="#s2.2">User Agent Conformance</a></li>
+  </ul>
+  </li>
+  <li>3. <a href="#s_xhtmlmodules">The <acronym
+    title="Extensible HyperText Markup Language">XHTML</acronym> Basic
+    Document Type</a></li>
+  <li>4. <a href="#s_howtouse">How to Use
+    <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+    Basic</a></li>
+  <li>5. <a href="#s_acknowledgements">Acknowledgements</a></li>
+  <li>A. <a href="#a_refs">References</a>
+  <ul>
+    <li>A.1. <a href="#a_normrefs">Normative References</a></li>
+    <li>A.2. <a href="#a_inforefs">Informative References</a></li>
+  </ul>
+  </li>
+  <li>B. <a href="#a_dtd"><acronym title="Extensible HyperText Markup Language"
+    >XHTML</acronym> Basic Document Type Definition</a>
+  <ul>
+    <li>B.1. <a href="#a_catalog"><acronym
+      title="Standard Generalized Markup Language">SGML</acronym> Open Catalog
+      Entry for <acronym title="Extensible HyperText Markup Language"
+      >XHTML</acronym> Basic</a></li>
+    <li>B.2. <a href="#a_driver"><acronym
+      title="Extensible HyperText Markup Language">XHTML</acronym> Basic
+      Driver</a></li>
+    <li>B.3. <a href="#a_customization"><acronym
+      title="Extensible HyperText Markup Language">XHTML</acronym> Basic
+      Customizations</a></li>
+  </ul>
+  </li>
+</ul>
+</div>
+
+
+<h2 id="s_intro">1. Introduction</h2>
+
+<h3 id="s1.1">1.1. <acronym title="Extensible HyperText Markup Language"
+>XHTML</acronym> for Small Information Appliances</h3>
+
+<p><acronym title="HyperText Markup Language">HTML</acronym> 4 is
+a powerful language for authoring Web content, but its design does not
+take into consideration issues
+pertinent to small devices, including the implementation cost (in
+power, memory, <abbr title="et cetera" xml:lang="la">etc.</abbr>)
+of the full feature set.
+Consumer devices with limited resources cannot generally afford to
+implement the full feature set of
+<acronym title="HyperText Markup Language">HTML</acronym> 4.
+Requiring a full-fledged computer for access to the
+World Wide Web excludes a large portion of the population from
+consumer device access of online information and services.</p>
+
+<p>Because there are many ways to subset
+<acronym title="HyperText Markup Language">HTML</acronym>, there are
+many almost identical subsets defined by organizations and companies.
+Without a common base set of features, developing applications for
+a wide range of Web clients is difficult.</p>
+
+<p>The motivation for <acronym title="Extensible HyperText Markup Language"
+>XHTML</acronym> Basic is to provide an <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym>
+document type that can be shared across communities
+(<acronym title="exempli gratia" xml:lang="lt">e.g.</acronym> desktop,
+<acronym title="Television">TV</acronym>, and mobile phones), and that is
+rich enough to be used for simple content authoring. New community-wide
+document types can be defined by extending <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic in
+such a way that <acronym title="Extensible HyperText Markup Language"
+>XHTML</acronym> Basic documents are in the set of valid documents of
+the new document type. Thus an <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic
+document can be presented on the maximum number of Web clients.</p>
+
+<p>The document type definition for <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic is
+implemented based on the <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> modules
+defined in Modularization of <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym>
+[<a href="#ref_xhtmlmod">XHTMLMOD</a>].</p>
+
+<h3 id="s1.2">1.2. Background and Requirements</h3>
+
+<p>Information appliances are targeted for particular uses. They support
+the features they need for the functions they are designed to fulfill.
+The following are examples of different information appliances:</p>
+
+<ul>
+  <li>Mobile phones</li>
+  <li>Televisions</li>
+  <li><acronym title="Personal Digital Assistant">PDA</acronym>s</li>
+  <li>Vending machines</li>
+  <li>Pagers</li>
+  <li>Car navigation systems</li>
+  <li>Mobile game machines</li>
+  <li>Digital book readers</li>
+  <li>Smart watches</li>
+</ul>
+
+<p>Existing subsets and variants of <acronym
+title="HyperText Markup Language">HTML</acronym> for these clients include
+Compact <acronym title="HyperText Markup Language">HTML</acronym>
+[<a href="#ref_chtml">CHTML</a>], the Wireless Markup Language
+[<a href="#ref_wml">WML</a>], and the "<acronym
+title="HyperText Markup Language">HTML</acronym> 4.0 Guidelines for
+Mobile Access" [<a href="#ref_mhtml">GUIDELINES</a>].
+The common features found in these document types include:</p>
+
+<ul>
+  <li>Basic text (including headings, paragraphs, and lists)</li>
+  <li>Hyperlinks and links to related documents</li>
+  <li>Basic forms</li>
+  <li>Basic tables</li>
+  <li>Images</li>
+  <li>Meta information</li>
+</ul>
+
+<p>This set of <acronym title="HyperText Markup Language">HTML</acronym>
+features has been the starting point for the design of <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic.
+Since many content developers are familiar with these
+<acronym title="HyperText Markup Language">HTML</acronym> features,
+they comprise a useful host language that may be combined with
+markup modules from other languages according to the methods described in
+"<cite>Modularization of
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym></cite>"
+[<a href="#ref_xhtmlmod">XHTMLMOD</a>]. For example, <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic may
+be extended with an event module that is more generic than the traditional
+<acronym title="HyperText Markup Language">HTML</acronym> 4 event system
+or it could be extended by additional modules from <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym>
+Modularization such as the Scripting Module.</p>
+
+<p>It is not the intention of <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic to
+limit the functionality of future languages. But since the features
+in <acronym title="HyperText Markup Language">HTML</acronym> 4 (frames,
+advanced tables, a fixed set of attribute event handlers, <abbr
+title="et cetera">etc.</abbr>) were developed for a desktop computer type
+of client, they have proved to be inappropriate for many non-desktop devices.
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic will be extended and built upon.
+Extending <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+from a common and basic set of features, instead of almost identical subsets
+or the too-large set of functions in <acronym
+title="HyperText Markup Language">HTML</acronym> 4, will be good for
+interoperability on the Web, as well as for scalability.</p>
+
+<p>Compared to the rich functionality of <acronym
+title="HyperText Markup Language">HTML</acronym> 4, <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic
+may look like one step back, but in fact, it is two steps forward for
+clients that do not need what is in <acronym
+title="HyperText Markup Language">HTML</acronym> 4 and for content
+developers who get one <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> subset
+instead of many.</p>
+
+<h3 id="s1.3">1.3. Design Rationale</h3>
+
+<p>This section explains why certain <acronym title="HyperText Markup Language"
+>HTML</acronym> features are not part of <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic.</p>
+
+<h4 id="s1.3.1">1.3.1. Style Sheets</h4>
+
+<p>The <code>style</code> element is not supported. External style sheets
+are recommended. The <code>link</code> element can be used to include
+external style sheets. The <code>div</code> and <code>span</code>
+elements and the <code>class</code> attribute are supported to hook
+style information onto the structure. Separation between structure and
+presentation allows user agents to download the style sheets if they
+support style sheets; user agents that do not support style sheets
+can ignore the external stylesheet. The <code>media</code> attribute can be
+used to select the appropriate style sheets. See the section on "<a
+href="http://www.w3.org/TR/html4/present/styles.html#h-14.2.4">Media
+types</a>" in the <acronym title="HyperText Markup Language">HTML</acronym>
+4.01 specification ([<a href="#ref_html4">HTML4</a>], section 14.2.4)
+for more details.</p>
+
+<h4 id="s1.3.2">1.3.2. Script and Events</h4>
+
+<p>The <code>script</code> and <code>noscript</code> elements are
+not supported. Usually small devices have limited memory and
+<acronym title="Central Processing Unit">CPU</acronym> power.
+Execution of script programs may not be supported. Contents
+should be readable even if scripts are not executed.</p>
+
+<p>Event handler attributes used to invoke script programs are not supported.
+Events are device dependent. An incoming-call event is unlikely to happen
+in a television. A generic event handling mechanism would be more appropriate
+than hardwiring the event names in the document type definition.</p>
+
+<h4 id="s1.3.3">1.3.3. Presentation</h4>
+
+<p>Many simple Web clients cannot display fonts other than monospace.
+Bi-directional text, bold faced font, and other text extension elements
+are not supported.</p>
+
+<p>It is recommended that style sheets be used to create a presentation
+that is appropriate for the device.</p>
+
+<h4 id="s1.3.4">1.3.4. Forms</h4>
+
+<p><a href="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_sformsmodule">Basic
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+forms</a> ([<a href="#ref_xhtmlmod">XHTMLMOD</a>], section 5.5.1) are
+supported. Since only devices with a local file system can take advantage
+of file and image input types in forms, they are not included in the basic
+forms. Also, content developers should keep in mind that users may not be
+able to input many characters from some devices (<acronym
+title="exempli gratia" xml:lang="lt">e.g.</acronym> from a mobile phone).</p>
+
+<h4 id="s1.3.5">1.3.5. Tables</h4>
+
+<p><a href="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_simpletablemodule">Basic
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+tables</a> ([<a href="#ref_xhtmlmod">XHTMLMOD</a>], section 5.6.1) are
+supported, but tables can be difficult to display on small devices.
+It is recommended that content developers follow
+the Web Content Accessibility Guidelines 1.0 for
+<a href="http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/#gl-table-markup"
+>creating accessible tables</a>
+([<a href="#ref_wai-webcontent">WCAG10</a>], Guideline 5).
+Note that in the Basic Tables Module, nesting of tables is prohibited.</p>
+
+<h4 id="s1.3.6">1.3.6. Frames</h4>
+
+<p>Frames are not supported. Frames depend on a screen interface and
+may not be applicable to some small appliances like phones, pagers,
+and watches.</p>
+
+
+<h2 id="s_conformance">2. Conformance</h2>
+
+<p>This section is <em>normative.</em></p>
+
+<h3 id="s2.1">2.1. Document Conformance</h3>
+
+<p>A Conforming <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic
+document is a document that requires only the facilities described as
+mandatory in this specification. Such a document must meet all of
+the following criteria:</p>
+
+<ol>
+  <li>The document must conform to the constraints expressed in
+    <a href="#a_dtd">Appendix B</a>.</li>
+  <li>The root element of the document must be <code><html></code>.</li>
+  <li>The name of the default namespace on the root element must be the
+    <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+    namespace name, <code>http://www.w3.org/1999/xhtml</code>.</li>
+  <li>There must be a DOCTYPE declaration in the document prior to
+    the root element.
+    If present, the public identifier included in the DOCTYPE declaration must
+    reference the <acronym title="Document Type Definition">DTD</acronym> found
+    in <a href="#a_dtd">Appendix B</a> using its Formal Public Identifier.
+    The system identifier may be modified appropriately.
+<pre class="dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
+    "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+</pre>
+  </li>
+  <li>The <acronym title="Document Type Definition">DTD</acronym> subset
+    must not be used to override any parameter entities in the
+    <acronym title="Document Type Definition">DTD</acronym>.</li>
+</ol>
+
+<h3 id="s2.2">2.2. User Agent Conformance</h3>
+
+<p>The user agent must conform to the
+"<a href="http://www.w3.org/TR/2000/REC-xhtml1-20000126/#uaconf">User Agent Conformance</a>"
+section of the <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> 1.0 specification
+([<a href="#ref_xhtml1">XHTML1</a>], section 3.2).</p>
+
+
+<h2 id="s_xhtmlmodules">3.
+The <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic Document Type</h2>
+
+<p>This section is <em>normative</em>.</p>
+
+<p>The <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic document type is defined as a set of <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> modules.
+All <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+modules are defined in the "<cite>Modularization of <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym></cite>"
+specification [<a href="#ref_xhtmlmod">XHTMLMOD</a>].</p>
+
+<p><acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic consists of the following <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> modules:</p>
+
+<dl>
+  <dt>Structure Module*</dt>
+  <dd><code>body, head, html, title</code></dd>
+  <dt><a>Text Module</a>*</dt>
+  <dd><code>abbr, acronym, address, blockquote, br, cite, code, dfn, div, em,
+    h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var</code></dd>
+  <dt>Hypertext Module*</dt>
+  <dd><code>a</code></dd>
+  <dt>List Module*</dt>
+  <dd><code>dl, dt, dd, ol, ul, li</code></dd>
+  <dt>Basic Forms Module</dt>
+  <dd><code>form, input, label, select, option, textarea</code></dd>
+  <dt>Basic Tables Module</dt>
+  <dd><code>caption, table, td, th, tr</code></dd>
+  <dt>Image Module</dt>
+  <dd><code>img</code></dd>
+  <dt>Object Module</dt>
+  <dd><code>object, param</code></dd>
+  <dt>Metainformation Module</dt>
+  <dd><code>meta</code></dd>
+  <dt>Link Module</dt>
+  <dd><code>link</code></dd>
+  <dt>Base Module</dt>
+  <dd><code>base</code></dd>
+</dl>
+
+<p><em>(*) = This module is a required <a href=
+"http://www.w3.org/TR/xhtml-modularization/conformance.html#s_conform_document_type"
+>XHTML Host Language</a> module.</em></p>
+
+<p>An <acronym title="Extensible Markup Language">XML</acronym> 1.0
+<acronym title="Document Type Definition">DTD</acronym> is available in
+<a href="#a_dtd">Appendix B.</a></p>
+
+<div class="note">
+<p><strong>NOTE:</strong>
+Since the <acronym title="HyperText Markup Language">HTML</acronym>
+event handler attributes are not included in <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic,
+form controls outside forms may not function as expected by the user.</p>
+</div>
+
+
+<h2 id="s_howtouse">4. How to Use <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic</h2>
+
+<p>Although <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic can
+be used as it is - a simple <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> language
+with text, links, and images - the intention of its simple design is
+for use as a host language. A host language can contain a mix of
+vocabularies all rolled into one document type. It is natural that
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym> is
+the host language, since that is what most Web developers are used to.</p>
+
+<p>When markup from other languages is added to <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic,
+the resulting document type will be an extension of <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic.
+Content developers can develop for <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic or
+take advantage of the extensions. The goal of
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic is to serve as a common language supported by various kinds of
+user agents.</p>
+
+
+<h2 id="s_acknowledgements">5. Acknowledgements</h2>
+
+<p>This specification was prepared by
+the <acronym title="World Wide Web Consortium">W3C</acronym>
+<acronym title="HyperText Markup Language">HTML</acronym> Working Group.
+The members were:</p>
+
+<ul>
+<li>Steven Pemberton, <acronym title="Centrum voor Wiskunde en Informatica"
+xml:lang="nl">CWI</acronym> (<acronym
+title="HyperText Markup Language">HTML</acronym> Working Group Chair)</li>
+<li>Robert Adams, Intel (until November 2000)</li>
+<li>Murray Altheim, Sun Microsystems</li>
+<li>Takuya Asada, <acronym title="World Wide Web Consortium">W3C</acronym>
+(until October 2000)</li>
+<li>Daniel Austin, Mozquito Technologies</li>
+<li>Mark Baker, Sun Microsystems</li>
+<li>Wayne Carr, Intel</li>
+<li>Tantek Çelik, Microsoft</li>
+<li>Andrew W. Donoho,
+<acronym title="International Business Machines">IBM</acronym></li>
+<li>Herman Elenbaas, Philips Electronics</li>
+<li>Beth Epperson, Netscape/<acronym title="America Online">AOL</acronym></li>
+<li>Masayasu Ishikawa, <acronym title="World Wide Web Consortium">W3C</acronym>
+(<acronym title="HyperText Markup Language">HTML</acronym> Activity Lead)</li>
+<li>Shin'ichi Matsui, Panasonic</li>
+<li>Shane McCarron, Applied Testing and Technology</li>
+<li>Ann Navarro, WebGeek, <abbr title="Incorporated">Inc.</abbr></li>
+<li>Dave Raggett,
+<acronym title="World Wide Web Consortium">W3C</acronym>/Openwave Systems</li>
+<li>Sebastian Schnitzenbaumer, Mozquito Technologies
+(until September 2000)</li>
+<li>Peter Stark, Ericsson</li>
+<li>Michel Suignard, Microsoft</li>
+<li>Markku Vartiainen, Openwave Systems</li>
+<li>Jeremy Wadsworth, Quark <abbr title="Incorporated">Inc.</abbr></li>
+<li>Malte Wedel, Mozquito Technologies</li>
+<li>Linda Welsh, Intel</li>
+<li>Ted Wugofski, Openwave Systems</li>
+</ul>
+
+<p>Thanks to Gary Adams (Sun Microsystems), Jonny Axelsson (Metastasis design),
+Peter Chen (Philips), Dan Connolly
+(<acronym title="World Wide Web Consortium">W3C</acronym>),
+John Cowan (Reuters), Martin J. Dürst
+(<acronym title="World Wide Web Consortium">W3C</acronym>),
+Johan Hjelm (Ericsson), Ian Jacobs
+(<acronym title="World Wide Web Consortium">W3C</acronym>),
+Susan Lesch (<acronym title="World Wide Web Consortium">W3C</acronym>),
+Louis Theran (Nokia), Quinton Zondervan (Lotus), members of 
+the <acronym title="World Wide Web Consortium">W3C</acronym>
+Mobile Access Interest Group,
+the <acronym title="World Wide Web Consortium">W3C</acronym>
+Synchronized Multimedia Working Group,
+the <acronym title="World Wide Web Consortium">W3C</acronym>
+<acronym title="Web Accessibility Initiative">WAI</acronym>
+Protocols and Formats Working Group,
+and the <acronym title="Wireless Application Protocol">WAP</acronym> Forum,
+for contributing, reviewing and commenting on this document.</p>
+
+
+<h2 id="a_refs">A. References</h2>
+
+<h3 id="a_normrefs">A.1. Normative References</h3>
+
+<dl>
+  <dt class="normref" id="ref_html4">[HTML4]</dt>
+  <dd>"<cite><a href="http://www.w3.org/TR/1999/REC-html401-19991224"
+    ><acronym title="HyperText Markup Language">HTML</acronym> 4.01
+    Specification</a></cite>",
+    <acronym title="World Wide Web Consortium">W3C</acronym> Recommendation, D.
+    Raggett, A. Le Hors, I. Jacobs, <abbr title="editors">eds.</abbr>,
+    24 December 1999. Available at:
+    <a href="http://www.w3.org/TR/1999/REC-html401-19991224"
+    >http://www.w3.org/TR/1999/REC-html401-19991224</a><br />
+    The latest version is available at: <a href="http://www.w3.org/TR/html4"
+    >http://www.w3.org/TR/html4</a>
+  </dd>
+  <dt class="normref" id="ref_xhtml1">[XHTML1]</dt>
+  <dd>"<cite><a href="http://www.w3.org/TR/2000/REC-xhtml1-20000126"
+    ><acronym title="Extensible HyperText Markup Language">XHTML</acronym> 1.0:
+    The Extensible HyperText Markup Language - A Reformulation of
+    <acronym title="HyperText Markup Language">HTML</acronym> 4 in
+    <acronym title="Extensible Markup Language">XML</acronym> 1.0</a></cite>",
+    <acronym title="World Wide Web Consortium">W3C</acronym> Recommendation,
+    Steven Pemberton et al., 26 January 2000. Available at:
+    <a href="http://www.w3.org/TR/2000/REC-xhtml1-20000126"
+    >http://www.w3.org/TR/2000/REC-xhtml1-20000126</a><br />
+    The latest version is available at:
+    <a href="http://www.w3.org/TR/xhtml1">http://www.w3.org/TR/xhtml1</a>
+  </dd>
+  <dt class="normref" id="ref_xhtmlmod">[XHTMLMOD]</dt>
+  <dd>"<cite><a
+    href="http://www.w3.org/TR/2000/CR-xhtml-modularization-20001020"
+    >Modularization of <acronym
+    title="Extensible HyperText Markup Language">XHTML</acronym></a></cite>",
+    <acronym title="World Wide Web Consortium">W3C</acronym> Candidate
+    Recommendation, R. Adams, M. Altheim, F. Boumphrey, S. Dooley, S. McCarron,
+    S. Schnitzenbaumer, T. Wugofski, <abbr title="editors">eds.</abbr>,
+    20 October 2000. Available at:
+    <a href="http://www.w3.org/TR/2000/CR-xhtml-modularization-20001020"
+    >http://www.w3.org/TR/2000/CR-xhtml-modularization-20001020</a><br />
+    The latest version is available at:
+    <a href="http://www.w3.org/TR/xhtml-modularization"
+    >http://www.w3.org/TR/xhtml-modularization</a>
+  </dd>
+  <dt class="normref" id="ref_xml">[XML]</dt>
+  <dd>"<cite><a href="http://www.w3.org/TR/2000/REC-xml-20001006"
+    >Extensible Markup Language (<acronym
+    title="Extensible Markup Language">XML</acronym>) 1.0
+    (Second Edition)</a></cite>",
+    <acronym title="World Wide Web Consortium">W3C</acronym> Recommendation,
+    T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler,
+    <abbr title="editors">eds.</abbr>, 6 October 2000. Available at:
+    <a href="http://www.w3.org/TR/2000/REC-xml-20001006"
+    >http://www.w3.org/TR/2000/REC-xml-20001006</a><br />
+    The latest version is available at:
+    <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a>
+  </dd>
+</dl>
+
+<h3 id="a_inforefs">A.2. Informative References</h3>
+
+<dl>
+  <dt id="ref_chtml">[CHTML]</dt>
+  <dd>"<cite><a
+    href="http://www.w3.org/TR/1998/NOTE-compactHTML-19980209"
+    >Compact <acronym title="HyperText Markup Language">HTML</acronym>
+    for Small Information Appliances</a></cite>",
+    <acronym title="World Wide Web Consortium">W3C</acronym> Note,
+    T. Kamada, 9 February 1998. Available at:
+    <a href="http://www.w3.org/TR/1998/NOTE-compactHTML-19980209"
+    >http://www.w3.org/TR/1998/NOTE-compactHTML-19980209</a>
+  </dd>
+  <dt id="ref_mhtml">[GUIDELINES]</dt>
+  <dd>"<cite><a href="http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315"
+    ><acronym title="HyperText Markup Language">HTML</acronym> 4.0
+    Guidelines for Mobile Access</a></cite>,
+    <acronym title="World Wide Web Consortium">W3C</acronym> Note,
+    T. Kamada, T. Asada, M. Ishikawa, S. Matsui,
+    <abbr title="editors">eds.</abbr>, 15 March 1999. Available at:
+    <a href="http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315"
+    >http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315</a><br />
+    The latest version is available at:
+    <a href="http://www.w3.org/TR/NOTE-html40-mobile"
+    >http://www.w3.org/TR/NOTE-html40-mobile</a>
+  </dd>
+  <dt id="ref_wai-webcontent">[WCAG10]</dt>
+  <dd>"<cite><a href="http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505"
+    >Web Content Accessibility Guidelines 1.0</a></cite>",
+    <acronym title="World Wide Web Consortium">W3C</acronym> Recommendation,
+    W. Chisholm, G. Vanderheiden, I. Jacobs, <abbr title="editors">eds.</abbr>,
+    5 May 1999. Available at:
+    <a href="http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505"
+    >http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505</a><br />
+    The latest version is available at:
+    <a href="http://www.w3.org/TR/WCAG10"
+    >http://www.w3.org/TR/WCAG10</a>
+  </dd>
+  <dt id="ref_wml">[WML]</dt>
+  <dd>"<cite>Wireless Markup Language Specification</cite>",
+    <acronym title="Wireless Application Protocol">WAP</acronym> Forum
+    <abbr title="Limited">Ltd</abbr>. Available from
+    <a href="http://www.wapforum.org/what/technical.htm"
+    >http://www.wapforum.org/what/technical.htm</a>
+  </dd>
+</dl>
+
+
+<h2 id="a_dtd">B.
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym> Basic
+Document Type Definition</h2>
+
+<p>This appendix is <em>normative</em>.</p>
+
+<h3 id="a_catalog">B.1.
+<acronym title="Standard Generalized Markup Language">SGML</acronym> Open
+Catalog Entry for <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym> Basic</h3>
+
+<p>This section contains the <acronym
+title="Standard Generalized Markup Language">SGML</acronym> Open
+Catalog-format definition of the <acronym
+title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic <acronym title="Formal Public Identifier">FPI</acronym>.</p>
+
+<pre class="dtd">
+-- .......................................................................... --
+-- File catalog  ............................................................ --
+
+--  XHTML Basic Catalog Data File
+
+    Revision:  $Id: xhtml-basic.xml,v 1.2 2002/05/20 08:14:17 jstrachan Exp $ SMI
+
+    See "Entity Management", SGML Open Technical Resolution 9401 for detailed
+    information on supplying and using catalog data. This document is available
+    from OASIS at URL:
+
+        <http://www.oasis-open.org/html/tr9401.html>
+--
+
+-- .......................................................................... --
+-- SGML declaration associated with XML  .................................... --
+
+OVERRIDE YES
+
+SGMLDECL "xml1.dcl"
+
+-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --
+
+-- XHTML Basic DTD modular driver file  ..................................... --
+
+PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"                       "xhtml-basic10.dtd"
+
+-- XHTML Basic framework module ............................................. --
+
+PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN"  "xhtml-basic10-model-1.mod"
+
+
+-- End of catalog data  ..................................................... --
+-- .......................................................................... --
+</pre>
+
+<h3 id="a_driver">B.2.
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic Driver</h3>
+
+<p>This section contains the driver for
+the <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic document type implementation as
+an <abbr title="Extensible Markup Language">XML</abbr>
+<acronym title="Document Type Definition">DTD</acronym>. It relies upon
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym> module
+implementations defined in [<a href="#ref_xhtmlmod">XHTMLMOD</a>].</p>
+
+<pre class="dtd">
+<!-- XHTML Basic 1.0 DTD  ...................................................... -->
+<!-- file: xhtml-basic10.dtd -->
+
+<!-- XHTML Basic 1.0 DTD
+
+     This is XHTML Basic, a proper subset of XHTML.
+
+     The Extensible HyperText Markup Language (XHTML)
+     Copyright 1998-2000 World Wide Web Consortium
+        (Massachusetts Institute of Technology, Institut National de
+         Recherche en Informatique et en Automatique, Keio University).
+         All Rights Reserved.
+
+     Permission to use, copy, modify and distribute the XHTML Basic DTD
+     and its accompanying documentation for any purpose and without fee is
+     hereby granted in perpetuity, provided that the above copyright notice
+     and this paragraph appear in all copies.  The copyright holders make
+     no representation about the suitability of the DTD for any purpose.
+
+     It is provided "as is" without expressed or implied warranty.
+
+        Editors:    Murray M. Altheim <mailto:altheim at eng.sun.com>
+                    Peter Stark       <mailto:Peter.Stark at ecs.ericsson.se>
+        Revision:   $Id: xhtml-basic.xml,v 1.2 2002/05/20 08:14:17 jstrachan Exp $ SMI
+
+-->
+<!-- This is the driver file for version 1.0 of the XHTML Basic DTD.
+
+     This DTD is identified by the PUBLIC and SYSTEM identifiers:
+
+     PUBLIC: "-//W3C//DTD XHTML Basic 1.0//EN"
+     SYSTEM: "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"
+-->
+<!ENTITY % XHTML.version  "-//W3C//DTD XHTML Basic 1.0//EN" >
+
+<!-- Use this URI to identify the default namespace:
+
+         "http://www.w3.org/1999/xhtml"
+
+     See the Qualified Names module for information
+     on the use of namespace prefixes in the DTD.
+-->
+<!ENTITY % NS.prefixed "IGNORE" >
+<!ENTITY % XHTML.prefix  "" >
+
+<!-- Reserved for use with the XLink namespace:
+-->
+<!ENTITY % XLINK.xmlns "" >
+<!ENTITY % XLINK.xmlns.attrib "" >
+
+<!-- For example, if you are using XHTML Basic 1.0 directly, use
+     the FPI in the DOCTYPE declaration, with the xmlns attribute
+     on the document element to identify the default namespace:
+
+         <?xml version="1.0"?>
+         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
+             "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd" >
+         <html xmlns="http://www.w3.org/1999/xhtml"
+               xml:lang="en" >
+         ...
+         </html>
+-->
+
+<!-- reserved for future use with document profiles -->
+<!ENTITY % XHTML.profile  "" >
+
+<!-- Bidirectional Text features
+     This feature-test entity is used to declare elements
+     and attributes used for bidirectional text support.
+-->
+<!ENTITY % XHTML.bidi  "IGNORE" >
+
+<?doc type="doctype" role="title" { XHTML Basic 1.0 } ?>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+
+<!ENTITY % xhtml-events.module   "IGNORE" >
+<!ENTITY % xhtml-bdo.module      "%XHTML.bidi;" >
+
+<!ENTITY % xhtml-model.mod
+     PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN"
+            "xhtml-basic10-model-1.mod" >
+
+<!ENTITY % xhtml-framework.mod
+     PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
+            "xhtml-framework-1.mod" >
+%xhtml-framework.mod;
+
+<!ENTITY % pre.content
+     "( #PCDATA
+      | %InlStruct.class;
+      %InlPhras.class;
+      %Anchor.class;
+      %Inline.extra; )*"
+>
+
+<!ENTITY % xhtml-text.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
+            "xhtml-text-1.mod" >
+%xhtml-text.mod;
+
+<!ENTITY % xhtml-hypertext.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
+            "xhtml-hypertext-1.mod" >
+%xhtml-hypertext.mod;
+
+<!ENTITY % xhtml-list.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
+            "xhtml-list-1.mod" >
+%xhtml-list.mod;
+
+<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+
+<!-- Image Module  ............................................... -->
+<!ENTITY % xhtml-image.module "INCLUDE" >
+<![%xhtml-image.module;[
+<!ENTITY % xhtml-image.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
+            "xhtml-image-1.mod" >
+%xhtml-image.mod;]]>
+
+<!-- Tables Module ............................................... -->
+<!ENTITY % xhtml-table.module "INCLUDE" >
+<![%xhtml-table.module;[
+<!ENTITY % xhtml-table.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Basic Tables 1.0//EN"
+            "xhtml-basic-table-1.mod" >
+%xhtml-table.mod;]]>
+
+<!-- Forms Module  ............................................... -->
+<!ENTITY % xhtml-form.module "INCLUDE" >
+<![%xhtml-form.module;[
+<!ENTITY % xhtml-form.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Basic Forms 1.0//EN"
+            "xhtml-basic-form-1.mod" >
+%xhtml-form.mod;]]>
+
+<!-- Link Element Module  ........................................ -->
+<!ENTITY % xhtml-link.module "INCLUDE" >
+<![%xhtml-link.module;[
+<!ENTITY % xhtml-link.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
+            "xhtml-link-1.mod" >
+%xhtml-link.mod;]]>
+
+<!-- Document Metainformation Module  ............................ -->
+<!ENTITY % xhtml-meta.module "INCLUDE" >
+<![%xhtml-meta.module;[
+<!ENTITY % xhtml-meta.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
+            "xhtml-meta-1.mod" >
+%xhtml-meta.mod;]]>
+
+<!-- Base Element Module  ........................................ -->
+<!ENTITY % xhtml-base.module "INCLUDE" >
+<![%xhtml-base.module;[
+<!ENTITY % xhtml-base.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
+            "xhtml-base-1.mod" >
+%xhtml-base.mod;]]>
+
+<!-- Param Element Module  ....................................... -->
+<!ENTITY % xhtml-param.module "INCLUDE" >
+<![%xhtml-param.module;[
+<!ENTITY % xhtml-param.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
+            "xhtml-param-1.mod" >
+%xhtml-param.mod;]]>
+
+<!-- Embedded Object Module  ..................................... -->
+<!ENTITY % xhtml-object.module "INCLUDE" >
+<![%xhtml-object.module;[
+<!ENTITY % xhtml-object.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
+            "xhtml-object-1.mod" >
+%xhtml-object.mod;]]>
+
+<!ENTITY % xhtml-struct.mod
+     PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
+            "xhtml-struct-1.mod" >
+%xhtml-struct.mod;
+
+<!-- end of XHTML Basic 1.0 DTD  ........................................... -->
+</pre>
+
+<h3 id="a_customization">B.3.
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Basic Customizations</h3>
+
+<p>An <acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Family Document Type (such as
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym> Basic)
+must define the content model that it uses. This is done through a separate
+content model module that is instantiated by the
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym>
+Modular Framework. The content model module and the
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym> Basic
+Driver (above) work together to customize the module implementations to
+the document type's specific requirements. The content model module for
+<acronym title="Extensible HyperText Markup Language">XHTML</acronym> Basic
+is defined below:</p>
+
+<pre class="dtd">
+<!-- ....................................................................... -->
+<!-- XHTML Basic 1.0 Document Model Module  .................................... -->
+<!-- file: xhtml-basic10-model-1.mod
+
+     This is XHTML Basic, a proper subset of XHTML.
+     Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+     Revision: $Id: xhtml-basic.xml,v 1.2 2002/05/20 08:14:17 jstrachan Exp $ SMI
+
+     This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+       PUBLIC "-//W3C//ENTITIES XHTML Basic 1.0 Document Model 1.0//EN"
+       SYSTEM "http://www.w3.org/TR/xhtml-basic/xhtml-basic10-model-1.mod"
+
+     Revisions:
+     (none)
+     ....................................................................... -->
+
+<!-- XHTML Basic Document Model
+
+     This module describes the groupings of elements that make up
+     common content models for XHTML elements.
+-->
+
+<!-- Optional Elements in head  .............. -->
+
+<!ENTITY % HeadOpts.mix
+     "( %meta.qname; | %link.qname; | %object.qname; )*" >
+
+<!-- Miscellaneous Elements  ................. -->
+
+<!ENTITY % Misc.class "" >
+
+<!-- Inline Elements  ........................ -->
+
+<!ENTITY % InlStruct.class "%br.qname; | %span.qname;" >
+
+<!ENTITY % InlPhras.class
+     "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;
+      | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;
+      | %abbr.qname; | %acronym.qname; | %q.qname;" >
+
+<!ENTITY % InlPres.class "" >
+
+<!ENTITY % I18n.class "" >
+
+<!ENTITY % Anchor.class "| %a.qname;" >
+
+<!ENTITY % InlSpecial.class "| %img.qname; | %object.qname;" >
+
+<!ENTITY % InlForm.class
+     "| %input.qname; | %select.qname; | %textarea.qname;
+      | %label.qname;"
+>
+
+<!ENTITY % Inline.extra "" >
+
+<!ENTITY % Inline.class
+     "%InlStruct.class;
+      %InlPhras.class;
+      %Anchor.class;
+      %InlSpecial.class;
+      %InlForm.class;
+      %Inline.extra;"
+>
+
+<!ENTITY % InlNoAnchor.class
+     "%InlStruct.class;
+      %InlPhras.class;
+      %InlSpecial.class;
+      %InlForm.class;
+      %Inline.extra;"
+>
+
+<!ENTITY % InlNoAnchor.mix
+     "%InlNoAnchor.class;
+      %Misc.class;"
+>
+
+<!ENTITY % Inline.mix
+     "%Inline.class;
+      %Misc.class;"
+>
+
+<!-- Block Elements  ......................... -->
+
+<!ENTITY % Heading.class
+     "%h1.qname; | %h2.qname; | %h3.qname;
+      | %h4.qname; | %h5.qname; | %h6.qname;"
+>
+<!ENTITY % List.class  "%ul.qname; | %ol.qname; | %dl.qname;" >
+
+<!ENTITY % Table.class "| %table.qname;" >
+
+<!ENTITY % Form.class  "| %form.qname;" >
+
+<!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" >
+
+<!ENTITY % BlkPhras.class
+     "| %pre.qname; | %blockquote.qname; | %address.qname;"
+>
+
+<!ENTITY % BlkPres.class "" >
+
+<!ENTITY % BlkSpecial.class
+     "%Table.class;
+      %Form.class;"
+>
+
+<!ENTITY % Block.extra "" >
+
+<!ENTITY % Block.class
+     "%BlkStruct.class;
+      %BlkPhras.class;
+      %BlkSpecial.class;
+      %Block.extra;"
+>
+
+<!ENTITY % Block.mix
+     "%Heading.class;
+      | %List.class;
+      | %Block.class;
+      %Misc.class;"
+>
+
+<!-- All Content Elements  ................... -->
+
+<!-- declares all content except tables
+-->
+<!ENTITY % FlowNoTable.mix
+     "%Heading.class;
+      | %List.class;
+      | %BlkStruct.class;
+      %BlkPhras.class;
+      %Form.class;
+      %Block.extra;
+      | %Inline.class;
+      %Misc.class;"
+>
+
+<!ENTITY % Flow.mix
+     "%Heading.class;
+      | %List.class;
+      | %Block.class;
+      | %Inline.class;
+      %Misc.class;"
+>
+
+<!-- end of xhtml-basic10-model-1.mod -->
+</pre>
+</body>
+</html>
diff --git a/xml/xhtml/xhtml-lat1.ent b/xml/xhtml/xhtml-lat1.ent
new file mode 100644
index 0000000..4fe681c
--- /dev/null
+++ b/xml/xhtml/xhtml-lat1.ent
@@ -0,0 +1,196 @@
+<!-- Portions (C) International Organization for Standardization 1986

+     Permission to copy in any form is granted for use with

+     conforming SGML systems and applications as defined in

+     ISO 8879, provided this notice is included in all copies.

+-->

+<!-- Character entity set. Typical invocation:

+    <!ENTITY % HTMLlat1 PUBLIC

+       "-//W3C//ENTITIES Latin 1 for XHTML//EN"

+       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">

+    %HTMLlat1;

+-->

+

+<!ENTITY nbsp   " "> <!-- no-break space = non-breaking space,

+                                  U+00A0 ISOnum -->

+<!ENTITY iexcl  "¡"> <!-- inverted exclamation mark, U+00A1 ISOnum -->

+<!ENTITY cent   "¢"> <!-- cent sign, U+00A2 ISOnum -->

+<!ENTITY pound  "£"> <!-- pound sign, U+00A3 ISOnum -->

+<!ENTITY curren "¤"> <!-- currency sign, U+00A4 ISOnum -->

+<!ENTITY yen    "¥"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->

+<!ENTITY brvbar "¦"> <!-- broken bar = broken vertical bar,

+                                  U+00A6 ISOnum -->

+<!ENTITY sect   "§"> <!-- section sign, U+00A7 ISOnum -->

+<!ENTITY uml    "¨"> <!-- diaeresis = spacing diaeresis,

+                                  U+00A8 ISOdia -->

+<!ENTITY copy   "©"> <!-- copyright sign, U+00A9 ISOnum -->

+<!ENTITY ordf   "ª"> <!-- feminine ordinal indicator, U+00AA ISOnum -->

+<!ENTITY laquo  "«"> <!-- left-pointing double angle quotation mark

+                                  = left pointing guillemet, U+00AB ISOnum -->

+<!ENTITY not    "¬"> <!-- not sign = discretionary hyphen,

+                                  U+00AC ISOnum -->

+<!ENTITY shy    "­"> <!-- soft hyphen = discretionary hyphen,

+                                  U+00AD ISOnum -->

+<!ENTITY reg    "®"> <!-- registered sign = registered trade mark sign,

+                                  U+00AE ISOnum -->

+<!ENTITY macr   "¯"> <!-- macron = spacing macron = overline

+                                  = APL overbar, U+00AF ISOdia -->

+<!ENTITY deg    "°"> <!-- degree sign, U+00B0 ISOnum -->

+<!ENTITY plusmn "±"> <!-- plus-minus sign = plus-or-minus sign,

+                                  U+00B1 ISOnum -->

+<!ENTITY sup2   "²"> <!-- superscript two = superscript digit two

+                                  = squared, U+00B2 ISOnum -->

+<!ENTITY sup3   "³"> <!-- superscript three = superscript digit three

+                                  = cubed, U+00B3 ISOnum -->

+<!ENTITY acute  "´"> <!-- acute accent = spacing acute,

+                                  U+00B4 ISOdia -->

+<!ENTITY micro  "µ"> <!-- micro sign, U+00B5 ISOnum -->

+<!ENTITY para   "¶"> <!-- pilcrow sign = paragraph sign,

+                                  U+00B6 ISOnum -->

+<!ENTITY middot "·"> <!-- middle dot = Georgian comma

+                                  = Greek middle dot, U+00B7 ISOnum -->

+<!ENTITY cedil  "¸"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->

+<!ENTITY sup1   "¹"> <!-- superscript one = superscript digit one,

+                                  U+00B9 ISOnum -->

+<!ENTITY ordm   "º"> <!-- masculine ordinal indicator,

+                                  U+00BA ISOnum -->

+<!ENTITY raquo  "»"> <!-- right-pointing double angle quotation mark

+                                  = right pointing guillemet, U+00BB ISOnum -->

+<!ENTITY frac14 "¼"> <!-- vulgar fraction one quarter

+                                  = fraction one quarter, U+00BC ISOnum -->

+<!ENTITY frac12 "½"> <!-- vulgar fraction one half

+                                  = fraction one half, U+00BD ISOnum -->

+<!ENTITY frac34 "¾"> <!-- vulgar fraction three quarters

+                                  = fraction three quarters, U+00BE ISOnum -->

+<!ENTITY iquest "¿"> <!-- inverted question mark

+                                  = turned question mark, U+00BF ISOnum -->

+<!ENTITY Agrave "À"> <!-- latin capital letter A with grave

+                                  = latin capital letter A grave,

+                                  U+00C0 ISOlat1 -->

+<!ENTITY Aacute "Á"> <!-- latin capital letter A with acute,

+                                  U+00C1 ISOlat1 -->

+<!ENTITY Acirc  "Â"> <!-- latin capital letter A with circumflex,

+                                  U+00C2 ISOlat1 -->

+<!ENTITY Atilde "Ã"> <!-- latin capital letter A with tilde,

+                                  U+00C3 ISOlat1 -->

+<!ENTITY Auml   "Ä"> <!-- latin capital letter A with diaeresis,

+                                  U+00C4 ISOlat1 -->

+<!ENTITY Aring  "Å"> <!-- latin capital letter A with ring above

+                                  = latin capital letter A ring,

+                                  U+00C5 ISOlat1 -->

+<!ENTITY AElig  "Æ"> <!-- latin capital letter AE

+                                  = latin capital ligature AE,

+                                  U+00C6 ISOlat1 -->

+<!ENTITY Ccedil "Ç"> <!-- latin capital letter C with cedilla,

+                                  U+00C7 ISOlat1 -->

+<!ENTITY Egrave "È"> <!-- latin capital letter E with grave,

+                                  U+00C8 ISOlat1 -->

+<!ENTITY Eacute "É"> <!-- latin capital letter E with acute,

+                                  U+00C9 ISOlat1 -->

+<!ENTITY Ecirc  "Ê"> <!-- latin capital letter E with circumflex,

+                                  U+00CA ISOlat1 -->

+<!ENTITY Euml   "Ë"> <!-- latin capital letter E with diaeresis,

+                                  U+00CB ISOlat1 -->

+<!ENTITY Igrave "Ì"> <!-- latin capital letter I with grave,

+                                  U+00CC ISOlat1 -->

+<!ENTITY Iacute "Í"> <!-- latin capital letter I with acute,

+                                  U+00CD ISOlat1 -->

+<!ENTITY Icirc  "Î"> <!-- latin capital letter I with circumflex,

+                                  U+00CE ISOlat1 -->

+<!ENTITY Iuml   "Ï"> <!-- latin capital letter I with diaeresis,

+                                  U+00CF ISOlat1 -->

+<!ENTITY ETH    "Ð"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->

+<!ENTITY Ntilde "Ñ"> <!-- latin capital letter N with tilde,

+                                  U+00D1 ISOlat1 -->

+<!ENTITY Ograve "Ò"> <!-- latin capital letter O with grave,

+                                  U+00D2 ISOlat1 -->

+<!ENTITY Oacute "Ó"> <!-- latin capital letter O with acute,

+                                  U+00D3 ISOlat1 -->

+<!ENTITY Ocirc  "Ô"> <!-- latin capital letter O with circumflex,

+                                  U+00D4 ISOlat1 -->

+<!ENTITY Otilde "Õ"> <!-- latin capital letter O with tilde,

+                                  U+00D5 ISOlat1 -->

+<!ENTITY Ouml   "Ö"> <!-- latin capital letter O with diaeresis,

+                                  U+00D6 ISOlat1 -->

+<!ENTITY times  "×"> <!-- multiplication sign, U+00D7 ISOnum -->

+<!ENTITY Oslash "Ø"> <!-- latin capital letter O with stroke

+                                  = latin capital letter O slash,

+                                  U+00D8 ISOlat1 -->

+<!ENTITY Ugrave "Ù"> <!-- latin capital letter U with grave,

+                                  U+00D9 ISOlat1 -->

+<!ENTITY Uacute "Ú"> <!-- latin capital letter U with acute,

+                                  U+00DA ISOlat1 -->

+<!ENTITY Ucirc  "Û"> <!-- latin capital letter U with circumflex,

+                                  U+00DB ISOlat1 -->

+<!ENTITY Uuml   "Ü"> <!-- latin capital letter U with diaeresis,

+                                  U+00DC ISOlat1 -->

+<!ENTITY Yacute "Ý"> <!-- latin capital letter Y with acute,

+                                  U+00DD ISOlat1 -->

+<!ENTITY THORN  "Þ"> <!-- latin capital letter THORN,

+                                  U+00DE ISOlat1 -->

+<!ENTITY szlig  "ß"> <!-- latin small letter sharp s = ess-zed,

+                                  U+00DF ISOlat1 -->

+<!ENTITY agrave "à"> <!-- latin small letter a with grave

+                                  = latin small letter a grave,

+                                  U+00E0 ISOlat1 -->

+<!ENTITY aacute "á"> <!-- latin small letter a with acute,

+                                  U+00E1 ISOlat1 -->

+<!ENTITY acirc  "â"> <!-- latin small letter a with circumflex,

+                                  U+00E2 ISOlat1 -->

+<!ENTITY atilde "ã"> <!-- latin small letter a with tilde,

+                                  U+00E3 ISOlat1 -->

+<!ENTITY auml   "ä"> <!-- latin small letter a with diaeresis,

+                                  U+00E4 ISOlat1 -->

+<!ENTITY aring  "å"> <!-- latin small letter a with ring above

+                                  = latin small letter a ring,

+                                  U+00E5 ISOlat1 -->

+<!ENTITY aelig  "æ"> <!-- latin small letter ae

+                                  = latin small ligature ae, U+00E6 ISOlat1 -->

+<!ENTITY ccedil "ç"> <!-- latin small letter c with cedilla,

+                                  U+00E7 ISOlat1 -->

+<!ENTITY egrave "è"> <!-- latin small letter e with grave,

+                                  U+00E8 ISOlat1 -->

+<!ENTITY eacute "é"> <!-- latin small letter e with acute,

+                                  U+00E9 ISOlat1 -->

+<!ENTITY ecirc  "ê"> <!-- latin small letter e with circumflex,

+                                  U+00EA ISOlat1 -->

+<!ENTITY euml   "ë"> <!-- latin small letter e with diaeresis,

+                                  U+00EB ISOlat1 -->

+<!ENTITY igrave "ì"> <!-- latin small letter i with grave,

+                                  U+00EC ISOlat1 -->

+<!ENTITY iacute "í"> <!-- latin small letter i with acute,

+                                  U+00ED ISOlat1 -->

+<!ENTITY icirc  "î"> <!-- latin small letter i with circumflex,

+                                  U+00EE ISOlat1 -->

+<!ENTITY iuml   "ï"> <!-- latin small letter i with diaeresis,

+                                  U+00EF ISOlat1 -->

+<!ENTITY eth    "ð"> <!-- latin small letter eth, U+00F0 ISOlat1 -->

+<!ENTITY ntilde "ñ"> <!-- latin small letter n with tilde,

+                                  U+00F1 ISOlat1 -->

+<!ENTITY ograve "ò"> <!-- latin small letter o with grave,

+                                  U+00F2 ISOlat1 -->

+<!ENTITY oacute "ó"> <!-- latin small letter o with acute,

+                                  U+00F3 ISOlat1 -->

+<!ENTITY ocirc  "ô"> <!-- latin small letter o with circumflex,

+                                  U+00F4 ISOlat1 -->

+<!ENTITY otilde "õ"> <!-- latin small letter o with tilde,

+                                  U+00F5 ISOlat1 -->

+<!ENTITY ouml   "ö"> <!-- latin small letter o with diaeresis,

+                                  U+00F6 ISOlat1 -->

+<!ENTITY divide "÷"> <!-- division sign, U+00F7 ISOnum -->

+<!ENTITY oslash "ø"> <!-- latin small letter o with stroke,

+                                  = latin small letter o slash,

+                                  U+00F8 ISOlat1 -->

+<!ENTITY ugrave "ù"> <!-- latin small letter u with grave,

+                                  U+00F9 ISOlat1 -->

+<!ENTITY uacute "ú"> <!-- latin small letter u with acute,

+                                  U+00FA ISOlat1 -->

+<!ENTITY ucirc  "û"> <!-- latin small letter u with circumflex,

+                                  U+00FB ISOlat1 -->

+<!ENTITY uuml   "ü"> <!-- latin small letter u with diaeresis,

+                                  U+00FC ISOlat1 -->

+<!ENTITY yacute "ý"> <!-- latin small letter y with acute,

+                                  U+00FD ISOlat1 -->

+<!ENTITY thorn  "þ"> <!-- latin small letter thorn with,

+                                  U+00FE ISOlat1 -->

+<!ENTITY yuml   "ÿ"> <!-- latin small letter y with diaeresis,

+                                  U+00FF ISOlat1 -->

diff --git a/xml/xhtml/xhtml-special.ent b/xml/xhtml/xhtml-special.ent
new file mode 100644
index 0000000..816223d
--- /dev/null
+++ b/xml/xhtml/xhtml-special.ent
@@ -0,0 +1,79 @@
+<!-- Special characters for HTML -->

+

+<!-- Character entity set. Typical invocation:

+     <!ENTITY % HTMLspecial PUBLIC

+        "-//W3C//ENTITIES Special for XHTML//EN"

+        "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">

+     %HTMLspecial;

+-->

+

+<!-- Portions (C) International Organization for Standardization 1986:

+     Permission to copy in any form is granted for use with

+     conforming SGML systems and applications as defined in

+     ISO 8879, provided this notice is included in all copies.

+-->

+

+<!-- Relevant ISO entity set is given unless names are newly introduced.

+     New names (i.e., not in ISO 8879 list) do not clash with any

+     existing ISO 8879 entity names. ISO 10646 character numbers

+     are given for each character, in hex. values are decimal

+     conversions of the ISO 10646 values and refer to the document

+     character set. Names are Unicode names. 

+-->

+

+<!-- C0 Controls and Basic Latin -->

+<!ENTITY quot    """> <!--  quotation mark = APL quote,

+                                    U+0022 ISOnum -->

+<!ENTITY amp     "&#38;"> <!--  ampersand, U+0026 ISOnum -->

+<!ENTITY lt      "&#60;"> <!--  less-than sign, U+003C ISOnum -->

+<!ENTITY gt      ">"> <!--  greater-than sign, U+003E ISOnum -->

+<!ENTITY apos	 "'"> <!--  apostrophe mark, U+0027 ISOnum -->

+

+<!-- Latin Extended-A -->

+<!ENTITY OElig   "Œ"> <!--  latin capital ligature OE,

+                                    U+0152 ISOlat2 -->

+<!ENTITY oelig   "œ"> <!--  latin small ligature oe, U+0153 ISOlat2 -->

+<!-- ligature is a misnomer, this is a separate character in some languages -->

+<!ENTITY Scaron  "Š"> <!--  latin capital letter S with caron,

+                                    U+0160 ISOlat2 -->

+<!ENTITY scaron  "š"> <!--  latin small letter s with caron,

+                                    U+0161 ISOlat2 -->

+<!ENTITY Yuml    "Ÿ"> <!--  latin capital letter Y with diaeresis,

+                                    U+0178 ISOlat2 -->

+

+<!-- Spacing Modifier Letters -->

+<!ENTITY circ    "ˆ"> <!--  modifier letter circumflex accent,

+                                    U+02C6 ISOpub -->

+<!ENTITY tilde   "˜"> <!--  small tilde, U+02DC ISOdia -->

+

+<!-- General Punctuation -->

+<!ENTITY ensp    " "> <!-- en space, U+2002 ISOpub -->

+<!ENTITY emsp    " "> <!-- em space, U+2003 ISOpub -->

+<!ENTITY thinsp  " "> <!-- thin space, U+2009 ISOpub -->

+<!ENTITY zwnj    "‌"> <!-- zero width non-joiner,

+                                    U+200C NEW RFC 2070 -->

+<!ENTITY zwj     "‍"> <!-- zero width joiner, U+200D NEW RFC 2070 -->

+<!ENTITY lrm     "‎"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->

+<!ENTITY rlm     "‏"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->

+<!ENTITY ndash   "–"> <!-- en dash, U+2013 ISOpub -->

+<!ENTITY mdash   "—"> <!-- em dash, U+2014 ISOpub -->

+<!ENTITY lsquo   "‘"> <!-- left single quotation mark,

+                                    U+2018 ISOnum -->

+<!ENTITY rsquo   "’"> <!-- right single quotation mark,

+                                    U+2019 ISOnum -->

+<!ENTITY sbquo   "‚"> <!-- single low-9 quotation mark, U+201A NEW -->

+<!ENTITY ldquo   "“"> <!-- left double quotation mark,

+                                    U+201C ISOnum -->

+<!ENTITY rdquo   "”"> <!-- right double quotation mark,

+                                    U+201D ISOnum -->

+<!ENTITY bdquo   "„"> <!-- double low-9 quotation mark, U+201E NEW -->

+<!ENTITY dagger  "†"> <!-- dagger, U+2020 ISOpub -->

+<!ENTITY Dagger  "‡"> <!-- double dagger, U+2021 ISOpub -->

+<!ENTITY permil  "‰"> <!-- per mille sign, U+2030 ISOtech -->

+<!ENTITY lsaquo  "‹"> <!-- single left-pointing angle quotation mark,

+                                    U+2039 ISO proposed -->

+<!-- lsaquo is proposed but not yet ISO standardized -->

+<!ENTITY rsaquo  "›"> <!-- single right-pointing angle quotation mark,

+                                    U+203A ISO proposed -->

+<!-- rsaquo is proposed but not yet ISO standardized -->

+<!ENTITY euro   "€"> <!--  euro sign, U+20AC NEW -->

diff --git a/xml/xhtml/xhtml-symbol.ent b/xml/xhtml/xhtml-symbol.ent
new file mode 100644
index 0000000..a8423bc
--- /dev/null
+++ b/xml/xhtml/xhtml-symbol.ent
@@ -0,0 +1,242 @@
+<!-- Mathematical, Greek and Symbolic characters for HTML -->

+

+<!-- Character entity set. Typical invocation:

+     <!ENTITY % HTMLsymbol PUBLIC

+        "-//W3C//ENTITIES Symbols for XHTML//EN"

+        "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">

+     %HTMLsymbol;

+-->

+

+<!-- Portions (C) International Organization for Standardization 1986:

+     Permission to copy in any form is granted for use with

+     conforming SGML systems and applications as defined in

+     ISO 8879, provided this notice is included in all copies.

+-->

+

+<!-- Relevant ISO entity set is given unless names are newly introduced.

+     New names (i.e., not in ISO 8879 list) do not clash with any

+     existing ISO 8879 entity names. ISO 10646 character numbers

+     are given for each character, in hex. values are decimal

+     conversions of the ISO 10646 values and refer to the document

+     character set. Names are Unicode names. 

+-->

+

+<!-- Latin Extended-B -->

+<!ENTITY fnof     "ƒ"> <!-- latin small f with hook = function

+                                    = florin, U+0192 ISOtech -->

+

+<!-- Greek -->

+<!ENTITY Alpha    "Α"> <!-- greek capital letter alpha, U+0391 -->

+<!ENTITY Beta     "Β"> <!-- greek capital letter beta, U+0392 -->

+<!ENTITY Gamma    "Γ"> <!-- greek capital letter gamma,

+                                    U+0393 ISOgrk3 -->

+<!ENTITY Delta    "Δ"> <!-- greek capital letter delta,

+                                    U+0394 ISOgrk3 -->

+<!ENTITY Epsilon  "Ε"> <!-- greek capital letter epsilon, U+0395 -->

+<!ENTITY Zeta     "Ζ"> <!-- greek capital letter zeta, U+0396 -->

+<!ENTITY Eta      "Η"> <!-- greek capital letter eta, U+0397 -->

+<!ENTITY Theta    "Θ"> <!-- greek capital letter theta,

+                                    U+0398 ISOgrk3 -->

+<!ENTITY Iota     "Ι"> <!-- greek capital letter iota, U+0399 -->

+<!ENTITY Kappa    "Κ"> <!-- greek capital letter kappa, U+039A -->

+<!ENTITY Lambda   "Λ"> <!-- greek capital letter lambda,

+                                    U+039B ISOgrk3 -->

+<!ENTITY Mu       "Μ"> <!-- greek capital letter mu, U+039C -->

+<!ENTITY Nu       "Ν"> <!-- greek capital letter nu, U+039D -->

+<!ENTITY Xi       "Ξ"> <!-- greek capital letter xi, U+039E ISOgrk3 -->

+<!ENTITY Omicron  "Ο"> <!-- greek capital letter omicron, U+039F -->

+<!ENTITY Pi       "Π"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->

+<!ENTITY Rho      "Ρ"> <!-- greek capital letter rho, U+03A1 -->

+<!-- there is no Sigmaf, and no U+03A2 character either -->

+<!ENTITY Sigma    "Σ"> <!-- greek capital letter sigma,

+                                    U+03A3 ISOgrk3 -->

+<!ENTITY Tau      "Τ"> <!-- greek capital letter tau, U+03A4 -->

+<!ENTITY Upsilon  "Υ"> <!-- greek capital letter upsilon,

+                                    U+03A5 ISOgrk3 -->

+<!ENTITY Phi      "Φ"> <!-- greek capital letter phi,

+                                    U+03A6 ISOgrk3 -->

+<!ENTITY Chi      "Χ"> <!-- greek capital letter chi, U+03A7 -->

+<!ENTITY Psi      "Ψ"> <!-- greek capital letter psi,

+                                    U+03A8 ISOgrk3 -->

+<!ENTITY Omega    "Ω"> <!-- greek capital letter omega,

+                                    U+03A9 ISOgrk3 -->

+

+<!ENTITY alpha    "α"> <!-- greek small letter alpha,

+                                    U+03B1 ISOgrk3 -->

+<!ENTITY beta     "β"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->

+<!ENTITY gamma    "γ"> <!-- greek small letter gamma,

+                                    U+03B3 ISOgrk3 -->

+<!ENTITY delta    "δ"> <!-- greek small letter delta,

+                                    U+03B4 ISOgrk3 -->

+<!ENTITY epsilon  "ε"> <!-- greek small letter epsilon,

+                                    U+03B5 ISOgrk3 -->

+<!ENTITY zeta     "ζ"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->

+<!ENTITY eta      "η"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->

+<!ENTITY theta    "θ"> <!-- greek small letter theta,

+                                    U+03B8 ISOgrk3 -->

+<!ENTITY iota     "ι"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->

+<!ENTITY kappa    "κ"> <!-- greek small letter kappa,

+                                    U+03BA ISOgrk3 -->

+<!ENTITY lambda   "λ"> <!-- greek small letter lambda,

+                                    U+03BB ISOgrk3 -->

+<!ENTITY mu       "μ"> <!-- greek small letter mu, U+03BC ISOgrk3 -->

+<!ENTITY nu       "ν"> <!-- greek small letter nu, U+03BD ISOgrk3 -->

+<!ENTITY xi       "ξ"> <!-- greek small letter xi, U+03BE ISOgrk3 -->

+<!ENTITY omicron  "ο"> <!-- greek small letter omicron, U+03BF NEW -->

+<!ENTITY pi       "π"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->

+<!ENTITY rho      "ρ"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->

+<!ENTITY sigmaf   "ς"> <!-- greek small letter final sigma,

+                                    U+03C2 ISOgrk3 -->

+<!ENTITY sigma    "σ"> <!-- greek small letter sigma,

+                                    U+03C3 ISOgrk3 -->

+<!ENTITY tau      "τ"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->

+<!ENTITY upsilon  "υ"> <!-- greek small letter upsilon,

+                                    U+03C5 ISOgrk3 -->

+<!ENTITY phi      "φ"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->

+<!ENTITY chi      "χ"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->

+<!ENTITY psi      "ψ"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->

+<!ENTITY omega    "ω"> <!-- greek small letter omega,

+                                    U+03C9 ISOgrk3 -->

+<!ENTITY thetasym "ϑ"> <!-- greek small letter theta symbol,

+                                    U+03D1 NEW -->

+<!ENTITY upsih    "ϒ"> <!-- greek upsilon with hook symbol,

+                                    U+03D2 NEW -->

+<!ENTITY piv      "ϖ"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->

+

+<!-- General Punctuation -->

+<!ENTITY bull     "•"> <!-- bullet = black small circle,

+                                     U+2022 ISOpub  -->

+<!-- bullet is NOT the same as bullet operator, U+2219 -->

+<!ENTITY hellip   "…"> <!-- horizontal ellipsis = three dot leader,

+                                     U+2026 ISOpub  -->

+<!ENTITY prime    "′"> <!-- prime = minutes = feet, U+2032 ISOtech -->

+<!ENTITY Prime    "″"> <!-- double prime = seconds = inches,

+                                     U+2033 ISOtech -->

+<!ENTITY oline    "‾"> <!-- overline = spacing overscore,

+                                     U+203E NEW -->

+<!ENTITY frasl    "⁄"> <!-- fraction slash, U+2044 NEW -->

+

+<!-- Letterlike Symbols -->

+<!ENTITY weierp   "℘"> <!-- script capital P = power set

+                                     = Weierstrass p, U+2118 ISOamso -->

+<!ENTITY image    "ℑ"> <!-- blackletter capital I = imaginary part,

+                                     U+2111 ISOamso -->

+<!ENTITY real     "ℜ"> <!-- blackletter capital R = real part symbol,

+                                     U+211C ISOamso -->

+<!ENTITY trade    "™"> <!-- trade mark sign, U+2122 ISOnum -->

+<!ENTITY alefsym  "ℵ"> <!-- alef symbol = first transfinite cardinal,

+                                     U+2135 NEW -->

+<!-- alef symbol is NOT the same as hebrew letter alef,

+     U+05D0 although the same glyph could be used to depict both characters -->

+

+<!-- Arrows -->

+<!ENTITY larr     "←"> <!-- leftwards arrow, U+2190 ISOnum -->

+<!ENTITY uarr     "↑"> <!-- upwards arrow, U+2191 ISOnum-->

+<!ENTITY rarr     "→"> <!-- rightwards arrow, U+2192 ISOnum -->

+<!ENTITY darr     "↓"> <!-- downwards arrow, U+2193 ISOnum -->

+<!ENTITY harr     "↔"> <!-- left right arrow, U+2194 ISOamsa -->

+<!ENTITY crarr    "↵"> <!-- downwards arrow with corner leftwards

+                                     = carriage return, U+21B5 NEW -->

+<!ENTITY lArr     "⇐"> <!-- leftwards double arrow, U+21D0 ISOtech -->

+<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow

+    but also does not have any other character for that function. So ? lArr can

+    be used for 'is implied by' as ISOtech suggests -->

+<!ENTITY uArr     "⇑"> <!-- upwards double arrow, U+21D1 ISOamsa -->

+<!ENTITY rArr     "⇒"> <!-- rightwards double arrow,

+                                     U+21D2 ISOtech -->

+<!-- Unicode does not say this is the 'implies' character but does not have 

+     another character with this function so ?

+     rArr can be used for 'implies' as ISOtech suggests -->

+<!ENTITY dArr     "⇓"> <!-- downwards double arrow, U+21D3 ISOamsa -->

+<!ENTITY hArr     "⇔"> <!-- left right double arrow,

+                                     U+21D4 ISOamsa -->

+

+<!-- Mathematical Operators -->

+<!ENTITY forall   "∀"> <!-- for all, U+2200 ISOtech -->

+<!ENTITY part     "∂"> <!-- partial differential, U+2202 ISOtech  -->

+<!ENTITY exist    "∃"> <!-- there exists, U+2203 ISOtech -->

+<!ENTITY empty    "∅"> <!-- empty set = null set = diameter,

+                                     U+2205 ISOamso -->

+<!ENTITY nabla    "∇"> <!-- nabla = backward difference,

+                                     U+2207 ISOtech -->

+<!ENTITY isin     "∈"> <!-- element of, U+2208 ISOtech -->

+<!ENTITY notin    "∉"> <!-- not an element of, U+2209 ISOtech -->

+<!ENTITY ni       "∋"> <!-- contains as member, U+220B ISOtech -->

+<!-- should there be a more memorable name than 'ni'? -->

+<!ENTITY prod     "∏"> <!-- n-ary product = product sign,

+                                     U+220F ISOamsb -->

+<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though

+     the same glyph might be used for both -->

+<!ENTITY sum      "∑"> <!-- n-ary sumation, U+2211 ISOamsb -->

+<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'

+     though the same glyph might be used for both -->

+<!ENTITY minus    "−"> <!-- minus sign, U+2212 ISOtech -->

+<!ENTITY lowast   "∗"> <!-- asterisk operator, U+2217 ISOtech -->

+<!ENTITY radic    "√"> <!-- square root = radical sign,

+                                     U+221A ISOtech -->

+<!ENTITY prop     "∝"> <!-- proportional to, U+221D ISOtech -->

+<!ENTITY infin    "∞"> <!-- infinity, U+221E ISOtech -->

+<!ENTITY ang      "∠"> <!-- angle, U+2220 ISOamso -->

+<!ENTITY and      "∧"> <!-- logical and = wedge, U+2227 ISOtech -->

+<!ENTITY or       "∨"> <!-- logical or = vee, U+2228 ISOtech -->

+<!ENTITY cap      "∩"> <!-- intersection = cap, U+2229 ISOtech -->

+<!ENTITY cup      "∪"> <!-- union = cup, U+222A ISOtech -->

+<!ENTITY int      "∫"> <!-- integral, U+222B ISOtech -->

+<!ENTITY there4   "∴"> <!-- therefore, U+2234 ISOtech -->

+<!ENTITY sim      "∼"> <!-- tilde operator = varies with = similar to,

+                                     U+223C ISOtech -->

+<!-- tilde operator is NOT the same character as the tilde, U+007E,

+     although the same glyph might be used to represent both  -->

+<!ENTITY cong     "≅"> <!-- approximately equal to, U+2245 ISOtech -->

+<!ENTITY asymp    "≈"> <!-- almost equal to = asymptotic to,

+                                     U+2248 ISOamsr -->

+<!ENTITY ne       "≠"> <!-- not equal to, U+2260 ISOtech -->

+<!ENTITY equiv    "≡"> <!-- identical to, U+2261 ISOtech -->

+<!ENTITY le       "≤"> <!-- less-than or equal to, U+2264 ISOtech -->

+<!ENTITY ge       "≥"> <!-- greater-than or equal to,

+                                     U+2265 ISOtech -->

+<!ENTITY sub      "⊂"> <!-- subset of, U+2282 ISOtech -->

+<!ENTITY sup      "⊃"> <!-- superset of, U+2283 ISOtech -->

+<!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol 

+     font encoding and is not included. Should it be, for symmetry?

+     It is in ISOamsn  --> 

+<!ENTITY nsub     "⊄"> <!-- not a subset of, U+2284 ISOamsn -->

+<!ENTITY sube     "⊆"> <!-- subset of or equal to, U+2286 ISOtech -->

+<!ENTITY supe     "⊇"> <!-- superset of or equal to,

+                                     U+2287 ISOtech -->

+<!ENTITY oplus    "⊕"> <!-- circled plus = direct sum,

+                                     U+2295 ISOamsb -->

+<!ENTITY otimes   "⊗"> <!-- circled times = vector product,

+                                     U+2297 ISOamsb -->

+<!ENTITY perp     "⊥"> <!-- up tack = orthogonal to = perpendicular,

+                                     U+22A5 ISOtech -->

+<!ENTITY sdot     "⋅"> <!-- dot operator, U+22C5 ISOamsb -->

+<!-- dot operator is NOT the same character as U+00B7 middle dot -->

+

+<!-- Miscellaneous Technical -->

+<!ENTITY lceil    "⌈"> <!-- left ceiling = apl upstile,

+                                     U+2308 ISOamsc  -->

+<!ENTITY rceil    "⌉"> <!-- right ceiling, U+2309 ISOamsc  -->

+<!ENTITY lfloor   "⌊"> <!-- left floor = apl downstile,

+                                     U+230A ISOamsc  -->

+<!ENTITY rfloor   "⌋"> <!-- right floor, U+230B ISOamsc  -->

+<!ENTITY lang     "〈"> <!-- left-pointing angle bracket = bra,

+                                     U+2329 ISOtech -->

+<!-- lang is NOT the same character as U+003C 'less than' 

+     or U+2039 'single left-pointing angle quotation mark' -->

+<!ENTITY rang     "〉"> <!-- right-pointing angle bracket = ket,

+                                     U+232A ISOtech -->

+<!-- rang is NOT the same character as U+003E 'greater than' 

+     or U+203A 'single right-pointing angle quotation mark' -->

+

+<!-- Geometric Shapes -->

+<!ENTITY loz      "◊"> <!-- lozenge, U+25CA ISOpub -->

+

+<!-- Miscellaneous Symbols -->

+<!ENTITY spades   "♠"> <!-- black spade suit, U+2660 ISOpub -->

+<!-- black here seems to mean filled as opposed to hollow -->

+<!ENTITY clubs    "♣"> <!-- black club suit = shamrock,

+                                     U+2663 ISOpub -->

+<!ENTITY hearts   "♥"> <!-- black heart suit = valentine,

+                                     U+2665 ISOpub -->

+<!ENTITY diams    "♦"> <!-- black diamond suit, U+2666 ISOpub -->

diff --git a/xml/xhtml/xhtml1-strict.dtd b/xml/xhtml/xhtml1-strict.dtd
new file mode 100644
index 0000000..7aa451c
--- /dev/null
+++ b/xml/xhtml/xhtml1-strict.dtd
@@ -0,0 +1,988 @@
+<!--

+   Extensible HTML version 1.0 Strict DTD

+

+   This is the same as HTML 4.0 Strict except for

+   changes due to the differences between XML and SGML.

+

+   Namespace = http://www.w3.org/1999/xhtml

+

+   For further information, see: http://www.w3.org/TR/xhtml1

+

+   Copyright (c) 1998-2000 W3C (MIT, INRIA, Keio),

+   All Rights Reserved. 

+

+   This DTD module is identified by the PUBLIC and SYSTEM identifiers:

+

+   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

+   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"

+

+   $Revision: 1.1 $

+   $Date: 2000/12/29 12:27:19 $

+

+-->

+

+<!--================ Character mnemonic entities =========================-->

+

+<!ENTITY % HTMLlat1 PUBLIC

+   "-//W3C//ENTITIES Latin 1 for XHTML//EN"

+   "xhtml-lat1.ent">

+%HTMLlat1;

+

+<!ENTITY % HTMLsymbol PUBLIC

+   "-//W3C//ENTITIES Symbols for XHTML//EN"

+   "xhtml-symbol.ent">

+%HTMLsymbol;

+

+<!ENTITY % HTMLspecial PUBLIC

+   "-//W3C//ENTITIES Special for XHTML//EN"

+   "xhtml-special.ent">

+%HTMLspecial;

+

+<!--================== Imported Names ====================================-->

+

+<!ENTITY % ContentType "CDATA">

+    <!-- media type, as per [RFC2045] -->

+

+<!ENTITY % ContentTypes "CDATA">

+    <!-- comma-separated list of media types, as per [RFC2045] -->

+

+<!ENTITY % Charset "CDATA">

+    <!-- a character encoding, as per [RFC2045] -->

+

+<!ENTITY % Charsets "CDATA">

+    <!-- a space separated list of character encodings, as per [RFC2045] -->

+

+<!ENTITY % LanguageCode "NMTOKEN">

+    <!-- a language code, as per [RFC1766] -->

+

+<!ENTITY % Character "CDATA">

+    <!-- a single character from [ISO10646] -->

+

+<!ENTITY % Number "CDATA">

+    <!-- one or more digits -->

+

+<!ENTITY % LinkTypes "CDATA">

+    <!-- space-separated list of link types -->

+

+<!ENTITY % MediaDesc "CDATA">

+    <!-- single or comma-separated list of media descriptors -->

+

+<!ENTITY % URI "CDATA">

+    <!-- a Uniform Resource Identifier, see [RFC2396] -->

+

+<!ENTITY % UriList "CDATA">

+    <!-- a space separated list of Uniform Resource Identifiers -->

+

+<!ENTITY % Datetime "CDATA">

+    <!-- date and time information. ISO date format -->

+

+<!ENTITY % Script "CDATA">

+    <!-- script expression -->

+

+<!ENTITY % StyleSheet "CDATA">

+    <!-- style sheet data -->

+

+<!ENTITY % Text "CDATA">

+    <!-- used for titles etc. -->

+

+<!ENTITY % FrameTarget "NMTOKEN">

+    <!-- render in this frame -->

+

+<!ENTITY % Length "CDATA">

+    <!-- nn for pixels or nn% for percentage length -->

+

+<!ENTITY % MultiLength "CDATA">

+    <!-- pixel, percentage, or relative -->

+

+<!ENTITY % MultiLengths "CDATA">

+    <!-- comma-separated list of MultiLength -->

+

+<!ENTITY % Pixels "CDATA">

+    <!-- integer representing length in pixels -->

+

+<!-- these are used for image maps -->

+

+<!ENTITY % Shape "(rect|circle|poly|default)">

+

+<!ENTITY % Coords "CDATA">

+    <!-- comma separated list of lengths -->

+

+<!--=================== Generic Attributes ===============================-->

+

+<!-- core attributes common to most elements

+  id       document-wide unique id

+  class    space separated list of classes

+  style    associated style info

+  title    advisory title/amplification

+-->

+<!ENTITY % coreattrs

+ "id          ID             #IMPLIED

+  class       CDATA          #IMPLIED

+  style       %StyleSheet;   #IMPLIED

+  title       %Text;         #IMPLIED"

+  >

+

+<!-- internationalization attributes

+  lang        language code (backwards compatible)

+  xml:lang    language code (as per XML 1.0 spec)

+  dir         direction for weak/neutral text

+-->

+<!ENTITY % i18n

+ "lang        %LanguageCode; #IMPLIED

+  xml:lang    %LanguageCode; #IMPLIED

+  dir         (ltr|rtl)      #IMPLIED"

+  >

+

+<!-- attributes for common UI events

+  onclick     a pointer button was clicked

+  ondblclick  a pointer button was double clicked

+  onmousedown a pointer button was pressed down

+  onmouseup   a pointer button was released

+  onmousemove a pointer was moved onto the element

+  onmouseout  a pointer was moved away from the element

+  onkeypress  a key was pressed and released

+  onkeydown   a key was pressed down

+  onkeyup     a key was released

+-->

+<!ENTITY % events

+ "onclick     %Script;       #IMPLIED

+  ondblclick  %Script;       #IMPLIED

+  onmousedown %Script;       #IMPLIED

+  onmouseup   %Script;       #IMPLIED

+  onmouseover %Script;       #IMPLIED

+  onmousemove %Script;       #IMPLIED

+  onmouseout  %Script;       #IMPLIED

+  onkeypress  %Script;       #IMPLIED

+  onkeydown   %Script;       #IMPLIED

+  onkeyup     %Script;       #IMPLIED"

+  >

+

+<!-- attributes for elements that can get the focus

+  accesskey   accessibility key character

+  tabindex    position in tabbing order

+  onfocus     the element got the focus

+  onblur      the element lost the focus

+-->

+<!ENTITY % focus

+ "accesskey   %Character;    #IMPLIED

+  tabindex    %Number;       #IMPLIED

+  onfocus     %Script;       #IMPLIED

+  onblur      %Script;       #IMPLIED"

+  >

+

+<!ENTITY % attrs "%coreattrs; %i18n; %events;">

+

+<!--=================== Text Elements ====================================-->

+

+<!ENTITY % special

+   "br | span | bdo | object | img | map">

+

+<!ENTITY % fontstyle "tt | i | b | big | small">

+

+<!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |

+                   samp | kbd | var | cite | abbr | acronym">

+

+<!ENTITY % inline.forms "input | select | textarea | label | button">

+

+<!-- these can occur at block or inline level -->

+<!ENTITY % misc "ins | del | script | noscript">

+

+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">

+

+<!-- %Inline; covers inline or "text-level" elements -->

+<!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">

+

+<!--================== Block level elements ==============================-->

+

+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">

+<!ENTITY % lists "ul | ol | dl">

+<!ENTITY % blocktext "pre | hr | blockquote | address">

+

+<!ENTITY % block

+     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">

+

+<!ENTITY % Block "(%block; | form | %misc;)*">

+

+<!-- %Flow; mixes Block and Inline and is used for list items etc. -->

+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">

+

+<!--================== Content models for exclusions =====================-->

+

+<!-- a elements use %Inline; excluding a -->

+

+<!ENTITY % a.content

+   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">

+

+<!-- pre uses %Inline excluding img, object, big, small, sup or sup -->

+

+<!ENTITY % pre.content

+   "(#PCDATA | a | br | span | bdo | map | tt | i | b |

+      %phrase; | %inline.forms;)*">

+

+<!-- form uses %Block; excluding form -->

+

+<!ENTITY % form.content "(%block; | %misc;)*">

+

+<!-- button uses %Flow; but excludes a, form and form controls -->

+

+<!ENTITY % button.content

+   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |

+    table | %special; | %fontstyle; | %phrase; | %misc;)*">

+

+<!--================ Document Structure ==================================-->

+

+<!-- the namespace URI designates the document profile -->

+

+<!ELEMENT html (head, body)>

+<!ATTLIST html

+  %i18n;

+  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'

+  >

+

+<!--================ Document Head =======================================-->

+

+<!ENTITY % head.misc "(script|style|meta|link|object)*">

+

+<!-- content model is %head.misc; combined with a single

+     title and an optional base element in any order -->

+

+<!ELEMENT head (%head.misc;,

+     ((title, %head.misc;, (base, %head.misc;)?) |

+      (base, %head.misc;, (title, %head.misc;))))>

+

+<!ATTLIST head

+  %i18n;

+  profile     %URI;          #IMPLIED

+  >

+

+<!-- The title element is not considered part of the flow of text.

+       It should be displayed, for example as the page header or

+       window title. Exactly one title is required per document.

+    -->

+<!ELEMENT title (#PCDATA)>

+<!ATTLIST title %i18n;>

+

+<!-- document base URI -->

+

+<!ELEMENT base EMPTY>

+<!ATTLIST base

+  href        %URI;          #IMPLIED

+  >

+

+<!-- generic metainformation -->

+<!ELEMENT meta EMPTY>

+<!ATTLIST meta

+  %i18n;

+  http-equiv  CDATA          #IMPLIED

+  name        CDATA          #IMPLIED

+  content     CDATA          #REQUIRED

+  scheme      CDATA          #IMPLIED

+  >

+

+<!--

+  Relationship values can be used in principle:

+

+   a) for document specific toolbars/menus when used

+      with the link element in document head e.g.

+        start, contents, previous, next, index, end, help

+   b) to link to a separate style sheet (rel="stylesheet")

+   c) to make a link to a script (rel="script")

+   d) by stylesheets to control how collections of

+      html nodes are rendered into printed documents

+   e) to make a link to a printable version of this document

+      e.g. a PostScript or PDF version (rel="alternate" media="print")

+-->

+

+<!ELEMENT link EMPTY>

+<!ATTLIST link

+  %attrs;

+  charset     %Charset;      #IMPLIED

+  href        %URI;          #IMPLIED

+  hreflang    %LanguageCode; #IMPLIED

+  type        %ContentType;  #IMPLIED

+  rel         %LinkTypes;    #IMPLIED

+  rev         %LinkTypes;    #IMPLIED

+  media       %MediaDesc;    #IMPLIED

+  >

+

+<!-- style info, which may include CDATA sections -->

+<!ELEMENT style (#PCDATA)>

+<!ATTLIST style

+  %i18n;

+  type        %ContentType;  #REQUIRED

+  media       %MediaDesc;    #IMPLIED

+  title       %Text;         #IMPLIED

+  xml:space   (preserve)     #FIXED 'preserve'

+  >

+

+<!-- script statements, which may include CDATA sections -->

+<!ELEMENT script (#PCDATA)>

+<!ATTLIST script

+  charset     %Charset;      #IMPLIED

+  type        %ContentType;  #REQUIRED

+  src         %URI;          #IMPLIED

+  defer       (defer)        #IMPLIED

+  xml:space   (preserve)     #FIXED 'preserve'

+  >

+

+<!-- alternate content container for non script-based rendering -->

+

+<!ELEMENT noscript %Block;>

+<!ATTLIST noscript

+  %attrs;

+  >

+

+<!--=================== Document Body ====================================-->

+

+<!ELEMENT body %Block;>

+<!ATTLIST body

+  %attrs;

+  onload          %Script;   #IMPLIED

+  onunload        %Script;   #IMPLIED

+  >

+

+<!ELEMENT div %Flow;>  <!-- generic language/style container -->

+<!ATTLIST div

+  %attrs;

+  >

+

+<!--=================== Paragraphs =======================================-->

+

+<!ELEMENT p %Inline;>

+<!ATTLIST p

+  %attrs;

+  >

+

+<!--=================== Headings =========================================-->

+

+<!--

+  There are six levels of headings from h1 (the most important)

+  to h6 (the least important).

+-->

+

+<!ELEMENT h1  %Inline;>

+<!ATTLIST h1

+   %attrs;

+   >

+

+<!ELEMENT h2 %Inline;>

+<!ATTLIST h2

+   %attrs;

+   >

+

+<!ELEMENT h3 %Inline;>

+<!ATTLIST h3

+   %attrs;

+   >

+

+<!ELEMENT h4 %Inline;>

+<!ATTLIST h4

+   %attrs;

+   >

+

+<!ELEMENT h5 %Inline;>

+<!ATTLIST h5

+   %attrs;

+   >

+

+<!ELEMENT h6 %Inline;>

+<!ATTLIST h6

+   %attrs;

+   >

+

+<!--=================== Lists ============================================-->

+

+<!-- Unordered list -->

+

+<!ELEMENT ul (li)+>

+<!ATTLIST ul

+  %attrs;

+  >

+

+<!-- Ordered (numbered) list -->

+

+<!ELEMENT ol (li)+>

+<!ATTLIST ol

+  %attrs;

+  >

+

+<!-- list item -->

+

+<!ELEMENT li %Flow;>

+<!ATTLIST li

+  %attrs;

+  >

+

+<!-- definition lists - dt for term, dd for its definition -->

+

+<!ELEMENT dl (dt|dd)+>

+<!ATTLIST dl

+  %attrs;

+  >

+

+<!ELEMENT dt %Inline;>

+<!ATTLIST dt

+  %attrs;

+  >

+

+<!ELEMENT dd %Flow;>

+<!ATTLIST dd

+  %attrs;

+  >

+

+<!--=================== Address ==========================================-->

+

+<!-- information on author -->

+

+<!ELEMENT address %Inline;>

+<!ATTLIST address

+  %attrs;

+  >

+

+<!--=================== Horizontal Rule ==================================-->

+

+<!ELEMENT hr EMPTY>

+<!ATTLIST hr

+  %attrs;

+  >

+

+<!--=================== Preformatted Text ================================-->

+

+<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->

+

+<!ELEMENT pre %pre.content;>

+<!ATTLIST pre

+  %attrs;

+  xml:space (preserve) #FIXED 'preserve'

+  >

+

+<!--=================== Block-like Quotes ================================-->

+

+<!ELEMENT blockquote %Block;>

+<!ATTLIST blockquote

+  %attrs;

+  cite        %URI;          #IMPLIED

+  >

+

+<!--=================== Inserted/Deleted Text ============================-->

+

+<!--

+  ins/del are allowed in block and inline content, but its

+  inappropriate to include block content within an ins element

+  occurring in inline content.

+-->

+<!ELEMENT ins %Flow;>

+<!ATTLIST ins

+  %attrs;

+  cite        %URI;          #IMPLIED

+  datetime    %Datetime;     #IMPLIED

+  >

+

+<!ELEMENT del %Flow;>

+<!ATTLIST del

+  %attrs;

+  cite        %URI;          #IMPLIED

+  datetime    %Datetime;     #IMPLIED

+  >

+

+<!--================== The Anchor Element ================================-->

+

+<!-- content is %Inline; except that anchors shouldn't be nested -->

+

+<!ELEMENT a %a.content;>

+<!ATTLIST a

+  %attrs;

+  charset     %Charset;      #IMPLIED

+  type        %ContentType;  #IMPLIED

+  name        NMTOKEN        #IMPLIED

+  href        %URI;          #IMPLIED

+  hreflang    %LanguageCode; #IMPLIED

+  rel         %LinkTypes;    #IMPLIED

+  rev         %LinkTypes;    #IMPLIED

+  accesskey   %Character;    #IMPLIED

+  shape       %Shape;        "rect"

+  coords      %Coords;       #IMPLIED

+  tabindex    %Number;       #IMPLIED

+  onfocus     %Script;       #IMPLIED

+  onblur      %Script;       #IMPLIED

+  >

+

+<!--===================== Inline Elements ================================-->

+

+<!ELEMENT span %Inline;> <!-- generic language/style container -->

+<!ATTLIST span

+  %attrs;

+  >

+

+<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->

+<!ATTLIST bdo

+  %coreattrs;

+  %events;

+  lang        %LanguageCode; #IMPLIED

+  xml:lang    %LanguageCode; #IMPLIED

+  dir         (ltr|rtl)      #REQUIRED

+  >

+

+<!ELEMENT br EMPTY>   <!-- forced line break -->

+<!ATTLIST br

+  %coreattrs;

+  >

+

+<!ELEMENT em %Inline;>   <!-- emphasis -->

+<!ATTLIST em %attrs;>

+

+<!ELEMENT strong %Inline;>   <!-- strong emphasis -->

+<!ATTLIST strong %attrs;>

+

+<!ELEMENT dfn %Inline;>   <!-- definitional -->

+<!ATTLIST dfn %attrs;>

+

+<!ELEMENT code %Inline;>   <!-- program code -->

+<!ATTLIST code %attrs;>

+

+<!ELEMENT samp %Inline;>   <!-- sample -->

+<!ATTLIST samp %attrs;>

+

+<!ELEMENT kbd %Inline;>  <!-- something user would type -->

+<!ATTLIST kbd %attrs;>

+

+<!ELEMENT var %Inline;>   <!-- variable -->

+<!ATTLIST var %attrs;>

+

+<!ELEMENT cite %Inline;>   <!-- citation -->

+<!ATTLIST cite %attrs;>

+

+<!ELEMENT abbr %Inline;>   <!-- abbreviation -->

+<!ATTLIST abbr %attrs;>

+

+<!ELEMENT acronym %Inline;>   <!-- acronym -->

+<!ATTLIST acronym %attrs;>

+

+<!ELEMENT q %Inline;>   <!-- inlined quote -->

+<!ATTLIST q

+  %attrs;

+  cite        %URI;          #IMPLIED

+  >

+

+<!ELEMENT sub %Inline;> <!-- subscript -->

+<!ATTLIST sub %attrs;>

+

+<!ELEMENT sup %Inline;> <!-- superscript -->

+<!ATTLIST sup %attrs;>

+

+<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->

+<!ATTLIST tt %attrs;>

+

+<!ELEMENT i %Inline;>   <!-- italic font -->

+<!ATTLIST i %attrs;>

+

+<!ELEMENT b %Inline;>   <!-- bold font -->

+<!ATTLIST b %attrs;>

+

+<!ELEMENT big %Inline;>   <!-- bigger font -->

+<!ATTLIST big %attrs;>

+

+<!ELEMENT small %Inline;>   <!-- smaller font -->

+<!ATTLIST small %attrs;>

+

+<!--==================== Object ======================================-->

+<!--

+  object is used to embed objects as part of HTML pages.

+  param elements should precede other content. Parameters

+  can also be expressed as attribute/value pairs on the

+  object element itself when brevity is desired.

+-->

+

+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>

+<!ATTLIST object

+  %attrs;

+  declare     (declare)      #IMPLIED

+  classid     %URI;          #IMPLIED

+  codebase    %URI;          #IMPLIED

+  data        %URI;          #IMPLIED

+  type        %ContentType;  #IMPLIED

+  codetype    %ContentType;  #IMPLIED

+  archive     %UriList;      #IMPLIED

+  standby     %Text;         #IMPLIED

+  height      %Length;       #IMPLIED

+  width       %Length;       #IMPLIED

+  usemap      %URI;          #IMPLIED

+  name        NMTOKEN        #IMPLIED

+  tabindex    %Number;       #IMPLIED

+  >

+

+<!--

+  param is used to supply a named property value.

+  In XML it would seem natural to follow RDF and support an

+  abbreviated syntax where the param elements are replaced

+  by attribute value pairs on the object start tag.

+-->

+<!ELEMENT param EMPTY>

+<!ATTLIST param

+  id          ID             #IMPLIED

+  name        CDATA          #IMPLIED

+  value       CDATA          #IMPLIED

+  valuetype   (data|ref|object) "data"

+  type        %ContentType;  #IMPLIED

+  >

+

+<!--=================== Images ===========================================-->

+

+<!--

+   To avoid accessibility problems for people who aren't

+   able to see the image, you should provide a text

+   description using the alt and longdesc attributes.

+   In addition, avoid the use of server-side image maps.

+   Note that in this DTD there is no name attribute. That

+   is only available in the transitional and frameset DTD.

+-->

+

+<!ELEMENT img EMPTY>

+<!ATTLIST img

+  %attrs;

+  src         %URI;          #REQUIRED

+  alt         %Text;         #REQUIRED

+  longdesc    %URI;          #IMPLIED

+  height      %Length;       #IMPLIED

+  width       %Length;       #IMPLIED

+  usemap      %URI;          #IMPLIED

+  ismap       (ismap)        #IMPLIED

+  >

+

+<!-- usemap points to a map element which may be in this document

+  or an external document, although the latter is not widely supported -->

+

+<!--================== Client-side image maps ============================-->

+

+<!-- These can be placed in the same document or grouped in a

+     separate document although this isn't yet widely supported -->

+

+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>

+<!ATTLIST map

+  %i18n;

+  %events;

+  id          ID             #REQUIRED

+  class       CDATA          #IMPLIED

+  style       %StyleSheet;   #IMPLIED

+  title       %Text;         #IMPLIED

+  name        NMTOKEN        #IMPLIED

+  >

+

+<!ELEMENT area EMPTY>

+<!ATTLIST area

+  %attrs;

+  shape       %Shape;        "rect"

+  coords      %Coords;       #IMPLIED

+  href        %URI;          #IMPLIED

+  nohref      (nohref)       #IMPLIED

+  alt         %Text;         #REQUIRED

+  tabindex    %Number;       #IMPLIED

+  accesskey   %Character;    #IMPLIED

+  onfocus     %Script;       #IMPLIED

+  onblur      %Script;       #IMPLIED

+  >

+

+<!--================ Forms ===============================================-->

+<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->

+

+<!ATTLIST form

+  %attrs;

+  action      %URI;          #REQUIRED

+  method      (get|post)     "get"

+  enctype     %ContentType;  "application/x-www-form-urlencoded"

+  onsubmit    %Script;       #IMPLIED

+  onreset     %Script;       #IMPLIED

+  accept      %ContentTypes; #IMPLIED

+  accept-charset %Charsets;  #IMPLIED

+  >

+

+<!--

+  Each label must not contain more than ONE field

+  Label elements shouldn't be nested.

+-->

+<!ELEMENT label %Inline;>

+<!ATTLIST label

+  %attrs;

+  for         IDREF          #IMPLIED

+  accesskey   %Character;    #IMPLIED

+  onfocus     %Script;       #IMPLIED

+  onblur      %Script;       #IMPLIED

+  >

+

+<!ENTITY % InputType

+  "(text | password | checkbox |

+    radio | submit | reset |

+    file | hidden | image | button)"

+   >

+

+<!-- the name attribute is required for all but submit & reset -->

+

+<!ELEMENT input EMPTY>     <!-- form control -->

+<!ATTLIST input

+  %attrs;

+  type        %InputType;    "text"

+  name        CDATA          #IMPLIED

+  value       CDATA          #IMPLIED

+  checked     (checked)      #IMPLIED

+  disabled    (disabled)     #IMPLIED

+  readonly    (readonly)     #IMPLIED

+  size        CDATA          #IMPLIED

+  maxlength   %Number;       #IMPLIED

+  src         %URI;          #IMPLIED

+  alt         CDATA          #IMPLIED

+  usemap      %URI;          #IMPLIED

+  tabindex    %Number;       #IMPLIED

+  accesskey   %Character;    #IMPLIED

+  onfocus     %Script;       #IMPLIED

+  onblur      %Script;       #IMPLIED

+  onselect    %Script;       #IMPLIED

+  onchange    %Script;       #IMPLIED

+  accept      %ContentTypes; #IMPLIED

+  >

+

+<!ELEMENT select (optgroup|option)+>  <!-- option selector -->

+<!ATTLIST select

+  %attrs;

+  name        CDATA          #IMPLIED

+  size        %Number;       #IMPLIED

+  multiple    (multiple)     #IMPLIED

+  disabled    (disabled)     #IMPLIED

+  tabindex    %Number;       #IMPLIED

+  onfocus     %Script;       #IMPLIED

+  onblur      %Script;       #IMPLIED

+  onchange    %Script;       #IMPLIED

+  >

+

+<!ELEMENT optgroup (option)+>   <!-- option group -->

+<!ATTLIST optgroup

+  %attrs;

+  disabled    (disabled)     #IMPLIED

+  label       %Text;         #REQUIRED

+  >

+

+<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->

+<!ATTLIST option

+  %attrs;

+  selected    (selected)     #IMPLIED

+  disabled    (disabled)     #IMPLIED

+  label       %Text;         #IMPLIED

+  value       CDATA          #IMPLIED

+  >

+

+<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->

+<!ATTLIST textarea

+  %attrs;

+  name        CDATA          #IMPLIED

+  rows        %Number;       #REQUIRED

+  cols        %Number;       #REQUIRED

+  disabled    (disabled)     #IMPLIED

+  readonly    (readonly)     #IMPLIED

+  tabindex    %Number;       #IMPLIED

+  accesskey   %Character;    #IMPLIED

+  onfocus     %Script;       #IMPLIED

+  onblur      %Script;       #IMPLIED

+  onselect    %Script;       #IMPLIED

+  onchange    %Script;       #IMPLIED

+  >

+

+<!--

+  The fieldset element is used to group form fields.

+  Only one legend element should occur in the content

+  and if present should only be preceded by whitespace.

+-->

+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>

+<!ATTLIST fieldset

+  %attrs;

+  >

+

+<!ELEMENT legend %Inline;>     <!-- fieldset label -->

+<!ATTLIST legend

+  %attrs;

+  accesskey   %Character;    #IMPLIED

+  >

+

+<!--

+ Content is %Flow; excluding a, form and form controls

+--> 

+<!ELEMENT button %button.content;>  <!-- push button -->

+<!ATTLIST button

+  %attrs;

+  name        CDATA          #IMPLIED

+  value       CDATA          #IMPLIED

+  type        (button|submit|reset) "submit"

+  disabled    (disabled)     #IMPLIED

+  tabindex    %Number;       #IMPLIED

+  accesskey   %Character;    #IMPLIED

+  onfocus     %Script;       #IMPLIED

+  onblur      %Script;       #IMPLIED

+  >

+

+<!--======================= Tables =======================================-->

+

+<!-- Derived from IETF HTML table standard, see [RFC1942] -->

+

+<!--

+ The border attribute sets the thickness of the frame around the

+ table. The default units are screen pixels.

+

+ The frame attribute specifies which parts of the frame around

+ the table should be rendered. The values are not the same as

+ CALS to avoid a name clash with the valign attribute.

+-->

+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">

+

+<!--

+ The rules attribute defines which rules to draw between cells:

+

+ If rules is absent then assume:

+     "none" if border is absent or border="0" otherwise "all"

+-->

+

+<!ENTITY % TRules "(none | groups | rows | cols | all)">

+  

+<!-- horizontal placement of table relative to document -->

+<!ENTITY % TAlign "(left|center|right)">

+

+<!-- horizontal alignment attributes for cell contents

+

+  char        alignment char, e.g. char=':'

+  charoff     offset for alignment char

+-->

+<!ENTITY % cellhalign

+  "align      (left|center|right|justify|char) #IMPLIED

+   char       %Character;    #IMPLIED

+   charoff    %Length;       #IMPLIED"

+  >

+

+<!-- vertical alignment attributes for cell contents -->

+<!ENTITY % cellvalign

+  "valign     (top|middle|bottom|baseline) #IMPLIED"

+  >

+

+<!ELEMENT table

+     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>

+<!ELEMENT caption  %Inline;>

+<!ELEMENT thead    (tr)+>

+<!ELEMENT tfoot    (tr)+>

+<!ELEMENT tbody    (tr)+>

+<!ELEMENT colgroup (col)*>

+<!ELEMENT col      EMPTY>

+<!ELEMENT tr       (th|td)+>

+<!ELEMENT th       %Flow;>

+<!ELEMENT td       %Flow;>

+

+<!ATTLIST table

+  %attrs;

+  summary     %Text;         #IMPLIED

+  width       %Length;       #IMPLIED

+  border      %Pixels;       #IMPLIED

+  frame       %TFrame;       #IMPLIED

+  rules       %TRules;       #IMPLIED

+  cellspacing %Length;       #IMPLIED

+  cellpadding %Length;       #IMPLIED

+  >

+

+<!ENTITY % CAlign "(top|bottom|left|right)">

+

+<!ATTLIST caption

+  %attrs;

+  >

+

+<!--

+colgroup groups a set of col elements. It allows you to group

+several semantically related columns together.

+-->

+<!ATTLIST colgroup

+  %attrs;

+  span        %Number;       "1"

+  width       %MultiLength;  #IMPLIED

+  %cellhalign;

+  %cellvalign;

+  >

+

+<!--

+ col elements define the alignment properties for cells in

+ one or more columns.

+

+ The width attribute specifies the width of the columns, e.g.

+

+     width=64        width in screen pixels

+     width=0.5*      relative width of 0.5

+

+ The span attribute causes the attributes of one

+ col element to apply to more than one column.

+-->

+<!ATTLIST col

+  %attrs;

+  span        %Number;       "1"

+  width       %MultiLength;  #IMPLIED

+  %cellhalign;

+  %cellvalign;

+  >

+

+<!--

+    Use thead to duplicate headers when breaking table

+    across page boundaries, or for static headers when

+    tbody sections are rendered in scrolling panel.

+

+    Use tfoot to duplicate footers when breaking table

+    across page boundaries, or for static footers when

+    tbody sections are rendered in scrolling panel.

+

+    Use multiple tbody sections when rules are needed

+    between groups of table rows.

+-->

+<!ATTLIST thead

+  %attrs;

+  %cellhalign;

+  %cellvalign;

+  >

+

+<!ATTLIST tfoot

+  %attrs;

+  %cellhalign;

+  %cellvalign;

+  >

+

+<!ATTLIST tbody

+  %attrs;

+  %cellhalign;

+  %cellvalign;

+  >

+

+<!ATTLIST tr

+  %attrs;

+  %cellhalign;

+  %cellvalign;

+  >

+

+

+<!-- Scope is simpler than headers attribute for common tables -->

+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">

+

+<!-- th is for headers, td for data and for cells acting as both -->

+

+<!ATTLIST th

+  %attrs;

+  abbr        %Text;         #IMPLIED

+  axis        CDATA          #IMPLIED

+  headers     IDREFS         #IMPLIED

+  scope       %Scope;        #IMPLIED

+  rowspan     %Number;       "1"

+  colspan     %Number;       "1"

+  %cellhalign;

+  %cellvalign;

+  >

+

+<!ATTLIST td

+  %attrs;

+  abbr        %Text;         #IMPLIED

+  axis        CDATA          #IMPLIED

+  headers     IDREFS         #IMPLIED

+  scope       %Scope;        #IMPLIED

+  rowspan     %Number;       "1"

+  colspan     %Number;       "1"

+  %cellhalign;

+  %cellvalign;

+  >

+

diff --git a/xml/xml.xml b/xml/xml.xml
new file mode 100644
index 0000000..dd353d4
--- /dev/null
+++ b/xml/xml.xml
@@ -0,0 +1,4207 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE spec [
+
+<!ENTITY lt     "&#60;">
+<!ENTITY gt     ">">
+<!ENTITY amp    "&#38;">
+<!ENTITY apos   "'">
+<!ENTITY quot   """>
+<!ENTITY mdash  "--">
+<!ENTITY nbsp   " ">
+<!ENTITY ldquo  "#x201C;">
+<!ENTITY rdquo  "#x201D;">
+
+<!-- LAST TOUCHED BY: Tim Bray, 8 February 1997 -->
+
+<!-- The words 'FINAL EDIT' in comments mark places where changes
+need to be made after approval of the document by the ERB, before
+publication.  -->
+
+<!ENTITY XML.version "1.0">
+<!ENTITY doc.date "10 February 1998">
+<!ENTITY iso6.doc.date "19980210">
+<!ENTITY w3c.doc.date "02-Feb-1998">
+<!ENTITY draft.day '10'>
+<!ENTITY draft.month 'February'>
+<!ENTITY draft.year '1998'>
+
+<!ENTITY WebSGML 
+ 'WebSGML Adaptations Annex to ISO 8879'>
+
+<!ENTITY lt     "<"> 
+<!ENTITY gt     ">"> 
+<!ENTITY xmlpio "'<?xml'">
+<!ENTITY pic    "'?>'">
+<!ENTITY br     "\n">
+<!ENTITY cellback '#c0d9c0'>
+<!ENTITY mdash  "--"> <!-- &#x2014, but nsgmls doesn't grok hex -->
+<!ENTITY com    "--">
+<!ENTITY como   "--">
+<!ENTITY comc   "--">
+<!ENTITY hcro   "&#x">
+<!-- <!ENTITY nbsp "�"> -->
+<!ENTITY nbsp   " ">
+<!ENTITY magicents "<code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>">
+ 
+<!-- audience and distribution status:  for use at publication time -->
+<!ENTITY doc.audience "public review and discussion">
+<!ENTITY doc.distribution "may be distributed freely, as long as
+all text and legal notices remain intact">
+
+]>
+
+<!-- for Panorama *-->
+<?VERBATIM "eg" ?>
+
+<spec>
+<header>
+<title>Extensible Markup Language (XML) 1.0</title>
+<version></version>
+<w3c-designation>REC-xml-&iso6.doc.date;</w3c-designation>
+<w3c-doctype>W3C Recommendation</w3c-doctype>
+<pubdate><day>&draft.day;</day><month>&draft.month;</month><year>&draft.year;</year></pubdate>
+
+<publoc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;</loc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.xml">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.xml</loc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.html">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.html</loc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.pdf">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.pdf</loc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.ps">
+http://www.w3.org/TR/1998/REC-xml-&iso6.doc.date;.ps</loc>
+</publoc>
+<latestloc>
+<loc  href="http://www.w3.org/TR/REC-xml">
+http://www.w3.org/TR/REC-xml</loc>
+</latestloc>
+<prevlocs>
+<loc  href="http://www.w3.org/TR/PR-xml-971208">
+http://www.w3.org/TR/PR-xml-971208</loc>
+<!--
+<loc  href='http://www.w3.org/TR/WD-xml-961114'>
+http://www.w3.org/TR/WD-xml-961114</loc>
+<loc  href='http://www.w3.org/TR/WD-xml-lang-970331'>
+http://www.w3.org/TR/WD-xml-lang-970331</loc>
+<loc  href='http://www.w3.org/TR/WD-xml-lang-970630'>
+http://www.w3.org/TR/WD-xml-lang-970630</loc>
+<loc  href='http://www.w3.org/TR/WD-xml-970807'>
+http://www.w3.org/TR/WD-xml-970807</loc>
+<loc  href='http://www.w3.org/TR/WD-xml-971117'>
+http://www.w3.org/TR/WD-xml-971117</loc>-->
+</prevlocs>
+<authlist>
+<author><name>Tim Bray</name>
+<affiliation>Textuality and Netscape</affiliation>
+<email 
+href="mailto:tbray at textuality.com">tbray at textuality.com</email></author>
+<author><name>Jean Paoli</name>
+<affiliation>Microsoft</affiliation>
+<email href="mailto:jeanpa at microsoft.com">jeanpa at microsoft.com</email></author>
+<author><name>C. M. Sperberg-McQueen</name>
+<affiliation>University of Illinois at Chicago</affiliation>
+<email href="mailto:cmsmcq at uic.edu">cmsmcq at uic.edu</email></author>
+</authlist>
+<abstract>
+<p>The Extensible Markup Language (XML) is a subset of
+SGML that is completely described in this document. Its goal is to
+enable generic SGML to be served, received, and processed on the Web
+in the way that is now possible with HTML. XML has been designed for
+ease of implementation and for interoperability with both SGML and
+HTML.</p>
+</abstract>
+<status>
+<p>This document has been reviewed by W3C Members and
+other interested parties and has been endorsed by the
+Director as a W3C Recommendation. It is a stable
+document and may be used as reference material or cited
+as a normative reference from another document. W3C's
+role in making the Recommendation is to draw attention
+to the specification and to promote its widespread
+deployment. This enhances the functionality and
+interoperability of the Web.</p>
+<p>
+This document specifies a syntax created by subsetting an existing,
+widely used international text processing standard (Standard
+Generalized Markup Language, ISO 8879:1986(E) as amended and
+corrected) for use on the World Wide Web.  It is a product of the W3C
+XML Activity, details of which can be found at <loc
+href='http://www.w3.org/XML'>http://www.w3.org/XML</loc>.  A list of
+current W3C Recommendations and other technical documents can be found
+at <loc href='http://www.w3.org/TR'>http://www.w3.org/TR</loc>.
+</p>
+<p>This specification uses the term URI, which is defined by <bibref
+ref="Berners-Lee"/>, a work in progress expected to update <bibref
+ref="RFC1738"/> and <bibref ref="RFC1808"/>. 
+</p>
+<p>The list of known errors in this specification is 
+available at 
+<loc href='http://www.w3.org/XML/xml-19980210-errata'>http://www.w3.org/XML/xml-19980210-errata</loc>.</p>
+<p>Please report errors in this document to 
+<loc href='mailto:xml-editor at w3.org'>xml-editor at w3.org</loc>.
+</p>
+</status>
+
+
+<pubstmt>
+<p>Chicago, Vancouver, Mountain View, et al.:
+World-Wide Web Consortium, XML Working Group, 1996, 1997.</p>
+</pubstmt>
+<sourcedesc>
+<p>Created in electronic form.</p>
+</sourcedesc>
+<langusage>
+<language id='EN'>English</language>
+<language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language>
+</langusage>
+<revisiondesc>
+<slist>
+<sitem>1997-12-03 : CMSMcQ : yet further changes</sitem>
+<sitem>1997-12-02 : TB : further changes (see TB to XML WG,
+2 December 1997)</sitem>
+<sitem>1997-12-02 : CMSMcQ : deal with as many corrections and
+comments from the proofreaders as possible:
+entify hard-coded document date in pubdate element,
+change expansion of entity WebSGML,
+update status description as per Dan Connolly (am not sure
+about refernece to Berners-Lee et al.),
+add 'The' to abstract as per WG decision,
+move Relationship to Existing Standards to back matter and
+combine with References,
+re-order back matter so normative appendices come first,
+re-tag back matter so informative appendices are tagged informdiv1,
+remove XXX XXX from list of 'normative' specs in prose,
+move some references from Other References to Normative References,
+add RFC 1738, 1808, and 2141 to Other References (they are not
+normative since we do not require the processor to enforce any 
+rules based on them),
+add reference to 'Fielding draft' (Berners-Lee et al.),
+move notation section to end of body,
+drop URIchar non-terminal and use SkipLit instead,
+lose stray reference to defunct nonterminal 'markupdecls',
+move reference to Aho et al. into appendix (Tim's right),
+add prose note saying that hash marks and fragment identifiers are
+NOT part of the URI formally speaking, and are NOT legal in 
+system identifiers (processor 'may' signal an error).
+Work through:
+Tim Bray reacting to James Clark,
+Tim Bray on his own,
+Eve Maler,
+
+NOT DONE YET:
+change binary / text to unparsed / parsed.
+handle James's suggestion about < in attriubte values
+uppercase hex characters,
+namechar list,
+</sitem>
+<sitem>1997-12-01 : JB : add some column-width parameters</sitem>
+<sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate
+recent WG decisions and other corrections:
+binding sources of character encoding info (27 Aug / 3 Sept),
+correct wording of Faust quotation (restore dropped line),
+drop SDD from EncodingDecl,
+change text at version number 1.0,
+drop misleading (wrong!) sentence about ignorables and extenders,
+modify definition of PCData to make bar on msc grammatical,
+change grammar's handling of internal subset (drop non-terminal markupdecls),
+change definition of includeSect to allow conditional sections,
+add integral-declaration constraint on internal subset,
+drop misleading / dangerous sentence about relationship of
+entities with system storage objects,
+change table body tag to htbody as per EM change to DTD,
+add rule about space normalization in public identifiers,
+add description of how to generate our name-space rules from 
+Unicode character database (needs further work!).
+</sitem>
+<sitem>1997-10-08 : TB : Removed %-constructs again, new rules
+for PE appearance.</sitem>
+<sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up
+element-type defs, lotsa little edits for style</sitem>
+<sitem>1997-09-25 : TB : Change to elm's new DTD, with
+substantial detail cleanup as a side-effect</sitem>
+<sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition 
+of ignoreSectContents (thanks to Makoto Murata)</sitem>
+<sitem>Allow all empty elements to have end-tags, consistent with
+SGML TC (as per JJC).</sitem>
+<sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections:
+introduce the term 'empty-element tag', note that all empty elements
+may use it, and elements declared EMPTY must use it.
+Add WFC requiring encoding decl to come first in an entity.
+Redefine notations to point to PIs as well as binary entities.
+Change autodetection table by removing bytes 3 and 4 from 
+examples with Byte Order Mark.
+Add content model as a term and clarify that it applies to both
+mixed and element content.
+</sitem>
+<sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes,
+changes to productions for choice, seq, Mixed, NotationType,
+Enumeration.  Follow James Clark's suggestion and prohibit 
+conditional sections in internal subset.  TO DO:  simplify
+production for ignored sections as a result, since we don't 
+need to worry about parsers which don't expand PErefs finding
+a conditional section.</sitem>
+<sitem>1997-06-29 : TB : various edits</sitem>
+<sitem>1997-06-29 : CMSMcQ : further changes:
+Suppress old FINAL EDIT comments and some dead material.
+Revise occurrences of % in grammar to exploit Henry Thompson's pun,
+especially markupdecl and attdef.
+Remove RMD requirement relating to element content (?).
+</sitem>
+<sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft:
+Add text for draconian error handling (introduce
+the term Fatal Error).
+RE deleta est (changing wording from 
+original announcement to restrict the requirement to validating
+parsers).
+Tag definition of validating processor and link to it.
+Add colon as name character.
+Change def of %operator.
+Change standard definitions of lt, gt, amp.
+Strip leading zeros from #x00nn forms.</sitem>
+<sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors
+found in last night's proofreading.  Reverse course once more on
+well-formed:   Webster's Second hyphenates it, and that's enough
+for me.</sitem>
+<sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem>
+<sitem>1997-03-31 : Tim Bray : many changes</sitem>
+<sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling),
+some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous
+declarations.  Changed Ident element to accept def attribute.
+Allow normalization of Unicode characters.  move def of systemliteral
+into section on literals.</sitem>
+<sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
+Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
+Paul Grosso, and self.  Among other things:  give in on "well formed"
+(Terry is right), tentatively rename QuotedCData as AttValue
+and Literal as EntityValue to be more informative, since attribute
+values are the <emph>only</emph> place QuotedCData was used, and
+vice versa for entity text and Literal. (I'd call it Entity Text, 
+but 8879 uses that name for both internal and external entities.)</sitem>
+<sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply
+my changes dated 03-20 and 03-21.  Normalize old 'may not' to 'must not'
+except in the one case where it meant 'may or may not'.</sitem>
+<sitem>1997-03-21 : TB : massive changes on plane flight from Chicago
+to Vancouver</sitem>
+<sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible.
+</sitem>
+<sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem>
+<sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for
+WWW conference April 1997:  restore some of the internal entity 
+references (e.g. to docdate, etc.), change character xA0 to &nbsp;
+and define nbsp as &#160;, and refill a lot of paragraphs for
+legibility.</sitem>
+<sitem>1996-11-12 : CMSMcQ : revise using Tim's edits:
+Add list type of NUMBERED and change most lists either to
+BULLETS or to NUMBERED.
+Suppress QuotedNames, Names (not used).
+Correct trivial-grammar doc type decl.
+Rename 'marked section' as 'CDATA section' passim.
+Also edits from James Clark:
+Define the set of characters from which [^abc] subtracts.
+Charref should use just [0-9] not Digit.
+Location info needs cleaner treatment:  remove?  (ERB
+question).
+One example of a PI has wrong pic.
+Clarify discussion of encoding names.
+Encoding failure should lead to unspecified results; don't
+prescribe error recovery.
+Don't require exposure of entity boundaries.
+Ignore white space in element content.
+Reserve entity names of the form u-NNNN.
+Clarify relative URLs.
+And some of my own:
+Correct productions for content model:  model cannot
+consist of a name, so "elements ::= cp" is no good.
+</sitem>
+<sitem>1996-11-11 : CMSMcQ : revise for style.
+Add new rhs to entity declaration, for parameter entities.</sitem>
+<sitem>1996-11-10 : CMSMcQ : revise for style.
+Fix / complete section on names, characters.
+Add sections on parameter entities, conditional sections.
+Still to do:  Add compatibility note on deterministic content models.
+Finish stylistic revision.</sitem>
+<sitem>1996-10-31 : TB : Add Entity Handling section</sitem>
+<sitem>1996-10-30 : TB : Clean up term & termdef.  Slip in
+ERB decision re EMPTY.</sitem>
+<sitem>1996-10-28 : TB : Change DTD.  Implement some of Michael's
+suggestions.  Change comments back to //.  Introduce language for
+XML namespace reservation.  Add section on white-space handling.
+Lots more cleanup.</sitem>
+<sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB
+decisions.  Characters are not integers.  Comments are /* */ not //.
+Add bibliographic refs to 10646, HyTime, Unicode.
+Rename old Cdata as MsData since it's <emph>only</emph> seen
+in marked sections.  Call them attribute-value pairs not
+name-value pairs, except once.  Internal subset is optional, needs
+'?'.  Implied attributes should be signaled to the app, not
+have values supplied by processor.</sitem>
+<sitem>1996-10-16 : TB : track down & excise all DSD references;
+introduce some EBNF for entity declarations.</sitem>
+<sitem>1996-10-?? : TB : consistency check, fix up scraps so
+they all parse, get formatter working, correct a few productions.</sitem>
+<sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and
+organizational changes:
+Replace a few literals with xmlpio and
+pic entities, to make them consistent and ensure we can change pic
+reliably when the ERB votes.
+Drop paragraph on recognizers from notation section.
+Add match, exact match to terminology.
+Move old 2.2 XML Processors and Apps into intro.
+Mention comments, PIs, and marked sections in discussion of
+delimiter escaping.
+Streamline discussion of doctype decl syntax.
+Drop old section of 'PI syntax' for doctype decl, and add
+section on partial-DTD summary PIs to end of Logical Structures
+section.
+Revise DSD syntax section to use Tim's subset-in-a-PI
+mechanism.</sitem>
+<sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem>
+<sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3
+(Characters)</sitem>
+<sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
+at least temporarily, and revise quickly</sitem>
+<sitem>1996-10-08 : TB : first major homogenization pass</sitem>
+<sitem>1996-10-08 : TB : turn "current" attribute on div type into 
+CDATA</sitem>
+<sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
+<sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
+                            with Tim.</sitem>
+<sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem>
+<sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem>
+<sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06,
+do some housekeeping</sitem>
+</slist>
+</revisiondesc>
+</header>
+<body> 
+<div1 id='sec-intro'>
+<head>Introduction</head>
+<p>Extensible Markup Language, abbreviated XML, describes a class of
+data objects called <termref def="dt-xml-doc">XML documents</termref> and
+partially describes the behavior of 
+computer programs which process them. XML is an application profile or
+restricted form of SGML, the Standard Generalized Markup 
+Language <bibref ref='ISO8879'/>.
+By construction, XML documents 
+are conforming SGML documents.
+</p>
+<p>XML documents are made up of storage units called <termref
+def="dt-entity">entities</termref>, which contain either parsed
+or unparsed data.
+Parsed data is made up of <termref def="dt-character">characters</termref>,
+some 
+of which form <termref def="dt-chardata">character data</termref>, 
+and some of which form <termref def="dt-markup">markup</termref>.
+Markup encodes a description of the document's storage layout and
+logical structure. XML provides a mechanism to impose constraints on
+the storage layout and logical structure.</p>
+<p><termdef id="dt-xml-proc" term="XML Processor">A software module
+called an <term>XML processor</term> is used to read XML documents
+and provide access to their content and structure.</termdef> <termdef
+id="dt-app" term="Application">It is assumed that an XML processor is
+doing its work on behalf of another module, called the
+<term>application</term>.</termdef> This specification describes the
+required behavior of an XML processor in terms of how it must read XML
+data and the information it must provide to the application.</p>
+ 
+<div2 id='sec-origin-goals'>
+<head>Origin and Goals</head>
+<p>XML was developed by an XML Working Group (originally known as the
+SGML Editorial Review Board) formed under the auspices of the World
+Wide Web Consortium (W3C) in 1996.
+It was chaired by Jon Bosak of Sun
+Microsystems with the active participation of an XML Special
+Interest Group (previously known as the SGML Working Group) also
+organized by the W3C. The membership of the XML Working Group is given
+in an appendix. Dan Connolly served as the WG's contact with the W3C.
+</p>
+<p>The design goals for XML are:<olist>
+<item><p>XML shall be straightforwardly usable over the
+Internet.</p></item>
+<item><p>XML shall support a wide variety of applications.</p></item>
+<item><p>XML shall be compatible with SGML.</p></item>
+<item><p>It shall be easy to write programs which process XML
+documents.</p></item>
+<item><p>The number of optional features in XML is to be kept to the
+absolute minimum, ideally zero.</p></item>
+<item><p>XML documents should be human-legible and reasonably
+clear.</p></item>
+<item><p>The XML design should be prepared quickly.</p></item>
+<item><p>The design of XML shall be formal and concise.</p></item>
+<item><p>XML documents shall be easy to create.</p></item>
+<item><p>Terseness in XML markup is of minimal importance.</p></item></olist>
+</p>
+<p>This specification, 
+together with associated standards
+(Unicode and ISO/IEC 10646 for characters,
+Internet RFC 1766 for language identification tags, 
+ISO 639 for language name codes, and 
+ISO 3166 for country name codes),
+provides all the information necessary to understand 
+XML Version &XML.version;
+and construct computer programs to process it.</p>
+<p>This version of the XML specification
+<!-- is for &doc.audience;.-->
+&doc.distribution;.</p>
+
+</div2>
+ 
+
+
+ 
+<div2 id='sec-terminology'>
+<head>Terminology</head>
+ 
+<p>The terminology used to describe XML documents is defined in the body of
+this specification.
+The terms defined in the following list are used in building those
+definitions and in describing the actions of an XML processor:
+<glist>
+<gitem>
+<label>may</label>
+<def><p><termdef id="dt-may" term="May">Conforming documents and XML
+processors are permitted to but need not behave as
+described.</termdef></p></def>
+</gitem>
+<gitem>
+<label>must</label>
+<def><p>Conforming documents and XML processors 
+are required to behave as described; otherwise they are in error.
+<!-- do NOT change this! this is what defines a violation of
+a 'must' clause as 'an error'. -MSM -->
+</p></def>
+</gitem>
+<gitem>
+<label>error</label>
+<def><p><termdef id='dt-error' term='Error'
+>A violation of the rules of this
+specification; results are
+undefined.  Conforming software may detect and report an error and may
+recover from it.</termdef></p></def>
+</gitem>
+<gitem>
+<label>fatal error</label>
+<def><p><termdef id="dt-fatal" term="Fatal Error">An error
+which a conforming <termref def="dt-xml-proc">XML processor</termref>
+must detect and report to the application.
+After encountering a fatal error, the
+processor may continue
+processing the data to search for further errors and may report such
+errors to the application.  In order to support correction of errors,
+the processor may make unprocessed data from the document (with
+intermingled character data and markup) available to the application.
+Once a fatal error is detected, however, the processor must not
+continue normal processing (i.e., it must not
+continue to pass character data and information about the document's
+logical structure to the application in the normal way).
+</termdef></p></def>
+</gitem>
+<gitem>
+<label>at user option</label>
+<def><p>Conforming software may or must (depending on the modal verb in the
+sentence) behave as described; if it does, it must
+provide users a means to enable or disable the behavior
+described.</p></def>
+</gitem>
+<gitem>
+<label>validity constraint</label>
+<def><p>A rule which applies to all 
+<termref def="dt-valid">valid</termref> XML documents.
+Violations of validity constraints are errors; they must, at user option, 
+be reported by 
+<termref def="dt-validating">validating XML processors</termref>.</p></def>
+</gitem>
+<gitem>
+<label>well-formedness constraint</label>
+<def><p>A rule which applies to all <termref
+def="dt-wellformed">well-formed</termref> XML documents.
+Violations of well-formedness constraints are 
+<termref def="dt-fatal">fatal errors</termref>.</p></def>
+</gitem>
+
+<gitem>
+<label>match</label>
+<def><p><termdef id="dt-match" term="match">(Of strings or names:) 
+Two strings or names being compared must be identical.
+Characters with multiple possible representations in ISO/IEC 10646 (e.g.
+characters with 
+both precomposed and base+diacritic forms) match only if they have the
+same representation in both strings.
+At user option, processors may normalize such characters to
+some canonical form.
+No case folding is performed. 
+(Of strings and rules in the grammar:)  
+A string matches a grammatical production if it belongs to the
+language generated by that production.
+(Of content and content models:)
+An element matches its declaration when it conforms
+in the fashion described in the constraint
+<specref ref='elementvalid'/>.
+</termdef>
+</p></def>
+</gitem>
+<gitem>
+<label>for compatibility</label>
+<def><p><termdef id="dt-compat" term="For Compatibility">A feature of
+XML included solely to ensure that XML remains compatible with SGML.
+</termdef></p></def>
+</gitem>
+<gitem>
+<label>for interoperability</label>
+<def><p><termdef id="dt-interop" term="For interoperability">A
+non-binding recommendation included to increase the chances that XML
+documents can be processed by the existing installed base of SGML
+processors which predate the
+&WebSGML;.</termdef></p></def>
+</gitem>
+</glist>
+</p>
+</div2>
+
+ 
+</div1>
+<!-- &Docs; -->
+ 
+<div1 id='sec-documents'>
+<head>Documents</head>
+ 
+<p><termdef id="dt-xml-doc" term="XML Document">
+A data object is an
+<term>XML document</term> if it is
+<termref def="dt-wellformed">well-formed</termref>, as
+defined in this specification.
+A well-formed XML document may in addition be
+<termref def="dt-valid">valid</termref> if it meets certain further 
+constraints.</termdef></p>
+ 
+<p>Each XML document has both a logical and a physical structure.
+Physically, the document is composed of units called <termref
+def="dt-entity">entities</termref>.  An entity may <termref
+def="dt-entref">refer</termref> to other entities to cause their
+inclusion in the document. A document begins in a "root"  or <termref
+def="dt-docent">document entity</termref>.
+Logically, the document is composed of declarations, elements, 
+comments,
+character references, and
+processing
+instructions, all of which are indicated in the document by explicit
+markup.
+The logical and physical structures must nest properly, as described  
+in <specref ref='wf-entities'/>.
+</p>
+ 
+<div2 id='sec-well-formed'>
+<head>Well-Formed XML Documents</head>
+ 
+<p><termdef id="dt-wellformed" term="Well-Formed">
+A textual object is 
+a well-formed XML document if:</termdef>
+<olist>
+<item><p>Taken as a whole, it
+matches the production labeled <nt def='NT-document'>document</nt>.</p></item>
+<item><p>It
+meets all the well-formedness constraints given in this specification.</p>
+</item>
+<item><p>Each of the <termref def='dt-parsedent'>parsed entities</termref> 
+which is referenced directly or indirectly within the document is
+<titleref href='wf-entities'>well-formed</titleref>.</p></item>
+</olist></p>
+<p>
+<scrap lang='ebnf' id='document'>
+<head>Document</head>
+<prod id='NT-document'><lhs>document</lhs>
+<rhs><nt def='NT-prolog'>prolog</nt> 
+<nt def='NT-element'>element</nt> 
+<nt def='NT-Misc'>Misc</nt>*</rhs></prod>
+</scrap>
+</p>
+<p>Matching the <nt def="NT-document">document</nt> production 
+implies that:
+<olist>
+<item><p>It contains one or more
+<termref def="dt-element">elements</termref>.</p>
+</item>
+<!--* N.B. some readers (notably JC) find the following
+paragraph awkward and redundant.  I agree it's logically redundant:
+it *says* it is summarizing the logical implications of
+matching the grammar, and that means by definition it's
+logically redundant.  I don't think it's rhetorically
+redundant or unnecessary, though, so I'm keeping it.  It
+could however use some recasting when the editors are feeling
+stronger. -MSM *-->
+<item><p><termdef id="dt-root" term="Root Element">There is  exactly
+one element, called the <term>root</term>, or document element,  no
+part of which appears in the <termref
+def="dt-content">content</termref> of any other element.</termdef>
+For all other elements, if the start-tag is in the content of another
+element, the end-tag is in the content of the same element.  More
+simply stated, the elements, delimited by start- and end-tags, nest
+properly within each other.
+</p></item>
+</olist>
+</p>
+<p><termdef id="dt-parentchild" term="Parent/Child">As a consequence 
+of this,
+for each non-root element
+<code>C</code> in the document, there is one other element <code>P</code>
+in the document such that 
+<code>C</code> is in the content of <code>P</code>, but is not in
+the content of any other element that is in the content of
+<code>P</code>.  
+<code>P</code> is referred to as the
+<term>parent</term> of <code>C</code>, and <code>C</code> as a
+<term>child</term> of <code>P</code>.</termdef></p></div2>
+ 
+<div2 id="charsets">
+<head>Characters</head>
+ 
+<p><termdef id="dt-text" term="Text">A parsed entity contains
+<term>text</term>, a sequence of 
+<termref def="dt-character">characters</termref>, 
+which may represent markup or character data.</termdef> 
+<termdef id="dt-character" term="Character">A <term>character</term> 
+is an atomic unit of text as specified by
+ISO/IEC 10646 <bibref ref="ISO10646"/>.
+Legal characters are tab, carriage return, line feed, and the legal
+graphic characters of Unicode and ISO/IEC 10646.
+The use of "compatibility characters", as defined in section 6.8
+of <bibref ref='Unicode'/>, is discouraged.
+</termdef> 
+<scrap lang="ebnf" id="char32">
+<head>Character Range</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id="NT-Char"><lhs>Char</lhs> 
+<rhs>#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] 
+| [#x10000-#x10FFFF]</rhs> 
+<com>any Unicode character, excluding the
+surrogate blocks, FFFE, and FFFF.</com> </prod>
+</prodgroup>
+</scrap>
+</p>
+
+<p>The mechanism for encoding character code points into bit patterns may
+vary from entity to entity. All XML processors must accept the UTF-8
+and UTF-16 encodings of 10646; the mechanisms for signaling which of
+the two is in use, or for bringing other encodings into play, are
+discussed later, in <specref ref='charencoding'/>.
+</p>
+<!--
+<p>Regardless of the specific encoding used, any character in the ISO/IEC
+10646 character set may be referred to by the decimal or hexadecimal
+equivalent of its 
+UCS-4 code value.
+</p>-->
+</div2>
+ 
+<div2 id='sec-common-syn'>
+<head>Common Syntactic Constructs</head>
+ 
+<p>This section defines some symbols used widely in the grammar.</p>
+<p><nt def="NT-S">S</nt> (white space) consists of one or more space (#x20)
+characters, carriage returns, line feeds, or tabs.
+
+<scrap lang="ebnf" id='white'>
+<head>White Space</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id='NT-S'><lhs>S</lhs>
+<rhs>(#x20 | #x9 | #xD | #xA)+</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>Characters are classified for convenience as letters, digits, or other
+characters.  Letters consist of an alphabetic or syllabic 
+base character possibly
+followed by one or more combining characters, or of an ideographic
+character.  
+Full definitions of the specific characters in each class
+are given in <specref ref='CharClasses'/>.</p>
+<p><termdef id="dt-name" term="Name">A <term>Name</term> is a token
+beginning with a letter or one of a few punctuation characters, and continuing
+with letters, digits, hyphens, underscores, colons, or full stops, together
+known as name characters.</termdef>
+Names beginning with the string "<code>xml</code>", or any string
+which would match <code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>, are
+reserved for standardization in this or future versions of this
+specification.
+</p>
+<note>
+<p>The colon character within XML names is reserved for experimentation with
+name spaces.  
+Its meaning is expected to be
+standardized at some future point, at which point those documents 
+using the colon for experimental purposes may need to be updated.
+(There is no guarantee that any name-space mechanism
+adopted for XML will in fact use the colon as a name-space delimiter.)
+In practice, this means that authors should not use the colon in XML
+names except as part of name-space experiments, but that XML processors
+should accept the colon as a name character.</p>
+</note>
+<p>An
+<nt def='NT-Nmtoken'>Nmtoken</nt> (name token) is any mixture of
+name characters.
+<scrap lang='ebnf'>
+<head>Names and Tokens</head>
+<prod id='NT-NameChar'><lhs>NameChar</lhs>
+<rhs><nt def="NT-Letter">Letter</nt> 
+| <nt def='NT-Digit'>Digit</nt> 
+| '.' | '-' | '_' | ':'
+| <nt def='NT-CombiningChar'>CombiningChar</nt> 
+| <nt def='NT-Extender'>Extender</nt></rhs>
+</prod>
+<prod id='NT-Name'><lhs>Name</lhs>
+<rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':')
+(<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod>
+<prod id='NT-Names'><lhs>Names</lhs>
+<rhs><nt def='NT-Name'>Name</nt> 
+(<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod>
+<prod id='NT-Nmtoken'><lhs>Nmtoken</lhs>
+<rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod>
+<prod id='NT-Nmtokens'><lhs>Nmtokens</lhs>
+<rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod>
+</scrap>
+</p>
+<p>Literal data is any quoted string not containing
+the quotation mark used as a delimiter for that string.
+Literals are used
+for specifying the content of internal entities
+(<nt def='NT-EntityValue'>EntityValue</nt>),
+the values of attributes (<nt def='NT-AttValue'>AttValue</nt>), 
+and external identifiers 
+(<nt def="NT-SystemLiteral">SystemLiteral</nt>).  
+Note that a <nt def='NT-SystemLiteral'>SystemLiteral</nt>
+can be parsed without scanning for markup.
+<scrap lang='ebnf'>
+<head>Literals</head>
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>'"' 
+([^%&"] 
+| <nt def='NT-PEReference'>PEReference</nt> 
+| <nt def='NT-Reference'>Reference</nt>)*
+'"' 
+</rhs>
+<rhs>|  
+"'" 
+([^%&'] 
+| <nt def='NT-PEReference'>PEReference</nt> 
+| <nt def='NT-Reference'>Reference</nt>)* 
+"'"</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>'"' 
+([^<&"] 
+| <nt def='NT-Reference'>Reference</nt>)* 
+'"' 
+</rhs>
+<rhs>|  
+"'" 
+([^<&'] 
+| <nt def='NT-Reference'>Reference</nt>)* 
+"'"</rhs>
+</prod>
+<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
+<rhs>('"' [^"]* '"') | ("'" [^']* "'")
+</rhs>
+</prod>
+<prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
+<rhs>'"' <nt def='NT-PubidChar'>PubidChar</nt>* 
+'"' 
+| "'" (<nt def='NT-PubidChar'>PubidChar</nt> - "'")* "'"</rhs>
+</prod>
+<prod id="NT-PubidChar"><lhs>PubidChar</lhs>
+<rhs>#x20 | #xD | #xA 
+| [a-zA-Z0-9]
+| [-'()+,./:=?;!*#@$_%]</rhs>
+</prod>
+</scrap>
+</p>
+
+</div2>
+
+<div2 id='syntax'>
+<head>Character Data and Markup</head>
+ 
+<p><termref def='dt-text'>Text</termref> consists of intermingled 
+<termref def="dt-chardata">character
+data</termref> and markup.
+<termdef id="dt-markup" term="Markup"><term>Markup</term> takes the form of
+<termref def="dt-stag">start-tags</termref>,
+<termref def="dt-etag">end-tags</termref>,
+<termref def="dt-empty">empty-element tags</termref>,
+<termref def="dt-entref">entity references</termref>,
+<termref def="dt-charref">character references</termref>,
+<termref def="dt-comment">comments</termref>,
+<termref def="dt-cdsection">CDATA section</termref> delimiters,
+<termref def="dt-doctype">document type declarations</termref>, and
+<termref def="dt-pi">processing instructions</termref>.
+</termdef>
+</p>
+<p><termdef id="dt-chardata" term="Character Data">All text that is not markup
+constitutes the <term>character data</term> of
+the document.</termdef></p>
+<p>The ampersand character (&) and the left angle bracket (<)
+may appear in their literal form <emph>only</emph> when used as markup
+delimiters, or within a <termref def="dt-comment">comment</termref>, a
+<termref def="dt-pi">processing instruction</termref>, 
+or a <termref def="dt-cdsection">CDATA section</termref>.  
+
+They are also legal within the <termref def='dt-litentval'>literal entity
+value</termref> of an internal entity declaration; see
+<specref ref='wf-entities'/>.
+<!-- FINAL EDIT:  restore internal entity decl or leave it out. -->
+If they are needed elsewhere,
+they must be <termref def="dt-escape">escaped</termref>
+using either <termref def='dt-charref'>numeric character references</termref>
+or the strings
+"<code>&amp;</code>" and "<code>&lt;</code>" respectively. 
+The right angle
+bracket (>) may be represented using the string
+"<code>&gt;</code>", and must, <termref def='dt-compat'>for
+compatibility</termref>, 
+be escaped using
+"<code>&gt;</code>" or a character reference 
+when it appears in the string
+"<code>]]></code>"
+in content, 
+when that string is not marking the end of 
+a <termref def="dt-cdsection">CDATA section</termref>. 
+</p>
+<p>
+In the content of elements, character data 
+is any string of characters which does
+not contain the start-delimiter of any markup.  
+In a CDATA section, character data
+is any string of characters not including the CDATA-section-close
+delimiter, "<code>]]></code>".</p>
+<p>
+To allow attribute values to contain both single and double quotes, the
+apostrophe or single-quote character (') may be represented as
+"<code>&apos;</code>", and the double-quote character (") as
+"<code>&quot;</code>".
+<scrap lang="ebnf">
+<head>Character Data</head>
+<prod id='NT-CharData'>
+<lhs>CharData</lhs>
+<rhs>[^<&]* - ([^<&]* ']]>' [^<&]*)</rhs>
+</prod>
+</scrap>
+</p>
+</div2>
+ 
+<div2 id='sec-comments'>
+<head>Comments</head>
+ 
+<p><termdef id="dt-comment" term="Comment"><term>Comments</term> may 
+appear anywhere in a document outside other 
+<termref def='dt-markup'>markup</termref>; in addition,
+they may appear within the document type declaration
+at places allowed by the grammar.
+They are not part of the document's <termref def="dt-chardata">character
+data</termref>; an XML
+processor may, but need not, make it possible for an application to
+retrieve the text of comments.
+<termref def="dt-compat">For compatibility</termref>, the string
+"<code>--</code>" (double-hyphen) must not occur within
+comments.
+<scrap lang="ebnf">
+<head>Comments</head>
+<prod id='NT-Comment'><lhs>Comment</lhs>
+<rhs>'<!--'
+((<nt def='NT-Char'>Char</nt> - '-') 
+| ('-' (<nt def='NT-Char'>Char</nt> - '-')))* 
+'-->'</rhs>
+</prod>
+</scrap>
+</termdef></p>
+<p>An example of a comment:
+<eg><!&como; declarations for <head> & <body> &comc;></eg>
+</p>
+</div2>
+ 
+<div2 id='sec-pi'>
+<head>Processing Instructions</head>
+ 
+<p><termdef id="dt-pi" term="Processing instruction"><term>Processing
+instructions</term> (PIs) allow documents to contain instructions
+for applications.
+ 
+<scrap lang="ebnf">
+<head>Processing Instructions</head>
+<prod id='NT-PI'><lhs>PI</lhs>
+<rhs>'<?' <nt def='NT-PITarget'>PITarget</nt> 
+(<nt def='NT-S'>S</nt> 
+(<nt def='NT-Char'>Char</nt>* - 
+(<nt def='NT-Char'>Char</nt>* &pic; <nt def='NT-Char'>Char</nt>*)))?
+&pic;</rhs></prod>
+<prod id='NT-PITarget'><lhs>PITarget</lhs>
+<rhs><nt def='NT-Name'>Name</nt> - 
+(('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs>
+</prod>
+</scrap></termdef>
+PIs are not part of the document's <termref def="dt-chardata">character
+data</termref>, but must be passed through to the application. The
+PI begins with a target (<nt def='NT-PITarget'>PITarget</nt>) used
+to identify the application to which the instruction is directed.  
+The target names "<code>XML</code>", "<code>xml</code>", and so on are
+reserved for standardization in this or future versions of this
+specification.
+The 
+XML <termref def='dt-notation'>Notation</termref> mechanism
+may be used for
+formal declaration of PI targets.
+</p>
+</div2>
+ 
+<div2 id='sec-cdata-sect'>
+<head>CDATA Sections</head>
+ 
+<p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATA sections</term>
+may occur 
+anywhere character data may occur; they are
+used to escape blocks of text containing characters which would
+otherwise be recognized as markup.  CDATA sections begin with the
+string "<code><![CDATA[</code>" and end with the string
+"<code>]]></code>":
+<scrap lang="ebnf">
+<head>CDATA Sections</head>
+<prod id='NT-CDSect'><lhs>CDSect</lhs>
+<rhs><nt def='NT-CDStart'>CDStart</nt> 
+<nt def='NT-CData'>CData</nt> 
+<nt def='NT-CDEnd'>CDEnd</nt></rhs></prod>
+<prod id='NT-CDStart'><lhs>CDStart</lhs>
+<rhs>'<![CDATA['</rhs>
+</prod>
+<prod id='NT-CData'><lhs>CData</lhs>
+<rhs>(<nt def='NT-Char'>Char</nt>* - 
+(<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*))
+</rhs>
+</prod>
+<prod id='NT-CDEnd'><lhs>CDEnd</lhs>
+<rhs>']]>'</rhs>
+</prod>
+</scrap>
+
+Within a CDATA section, only the <nt def='NT-CDEnd'>CDEnd</nt> string is
+recognized as markup, so that left angle brackets and ampersands may occur in
+their literal form; they need not (and cannot) be escaped using
+"<code>&lt;</code>" and "<code>&amp;</code>".  CDATA sections
+cannot nest.</termdef>
+</p>
+
+<p>An example of a CDATA section, in which "<code><greeting></code>" and 
+"<code></greeting></code>"
+are recognized as <termref def='dt-chardata'>character data</termref>, not
+<termref def='dt-markup'>markup</termref>:
+<eg><![CDATA[<greeting>Hello, world!</greeting>]]></eg>
+</p>
+</div2>
+ 
+<div2 id='sec-prolog-dtd'>
+<head>Prolog and Document Type Declaration</head>
+ 
+<p><termdef id='dt-xmldecl' term='XML Declaration'>XML documents 
+may, and should, 
+begin with an <term>XML declaration</term> which specifies
+the version of
+XML being used.</termdef>
+For example, the following is a complete XML document, <termref
+def="dt-wellformed">well-formed</termref> but not
+<termref def="dt-valid">valid</termref>:
+<eg><![CDATA[<?xml version="1.0"?>
+<greeting>Hello, world!</greeting>
+]]></eg>
+and so is this:
+<eg><![CDATA[<greeting>Hello, world!</greeting>
+]]></eg>
+</p>
+
+<p>The version number "<code>1.0</code>" should be used to indicate
+conformance to this version of this specification; it is an error
+for a document to use the value "<code>1.0</code>" 
+if it does not conform to this version of this specification.
+It is the intent
+of the XML working group to give later versions of this specification
+numbers other than "<code>1.0</code>", but this intent does not
+indicate a
+commitment to produce any future versions of XML, nor if any are produced, to
+use any particular numbering scheme.
+Since future versions are not ruled out, this construct is provided 
+as a means to allow the possibility of automatic version recognition, should
+it become necessary.
+Processors may signal an error if they receive documents labeled with 
+versions they do not support. 
+</p>
+<p>The function of the markup in an XML document is to describe its
+storage and logical structure and to associate attribute-value pairs
+with its logical structures.  XML provides a mechanism, the <termref
+def="dt-doctype">document type declaration</termref>, to define
+constraints on the logical structure and to support the use of
+predefined storage units.
+
+<termdef id="dt-valid" term="Validity">An XML document is 
+<term>valid</term> if it has an associated document type
+declaration and if the document
+complies with the constraints expressed in it.</termdef></p>
+<p>The document type declaration must appear before
+the first <termref def="dt-element">element</termref> in the document.
+<scrap lang="ebnf" id='xmldoc'>
+<head>Prolog</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-prolog'><lhs>prolog</lhs>
+<rhs><nt def='NT-XMLDecl'>XMLDecl</nt>? 
+<nt def='NT-Misc'>Misc</nt>* 
+(<nt def='NT-doctypedecl'>doctypedecl</nt> 
+<nt def='NT-Misc'>Misc</nt>*)?</rhs></prod>
+<prod id='NT-XMLDecl'><lhs>XMLDecl</lhs>
+<rhs>&xmlpio; 
+<nt def='NT-VersionInfo'>VersionInfo</nt> 
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>? 
+<nt def='NT-SDDecl'>SDDecl</nt>? 
+<nt def="NT-S">S</nt>? 
+&pic;</rhs>
+</prod>
+<prod id='NT-VersionInfo'><lhs>VersionInfo</lhs>
+<rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt> 
+(' <nt def="NT-VersionNum">VersionNum</nt> ' 
+| " <nt def="NT-VersionNum">VersionNum</nt> ")</rhs>
+</prod>
+<prod id='NT-Eq'><lhs>Eq</lhs>
+<rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id="NT-VersionNum">
+<lhs>VersionNum</lhs>
+<rhs>([a-zA-Z0-9_.:] | '-')+</rhs>
+</prod>
+<prod id='NT-Misc'><lhs>Misc</lhs>
+<rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> | 
+<nt def='NT-S'>S</nt></rhs></prod>
+</prodgroup>
+</scrap></p>
+
+<p><termdef id="dt-doctype" term="Document Type Declaration">The XML
+<term>document type declaration</term> 
+contains or points to 
+<termref def='dt-markupdecl'>markup declarations</termref> 
+that provide a grammar for a
+class of documents.  
+This grammar is known as a document type definition,
+or <term>DTD</term>.  
+The document type declaration can point to an external subset (a
+special kind of 
+<termref def='dt-extent'>external entity</termref>) containing markup
+declarations, or can 
+contain the markup declarations directly in an internal subset, or can do
+both.   
+The DTD for a document consists of both subsets taken
+together.</termdef>
+</p>
+<p><termdef id="dt-markupdecl" term="markup declaration">
+A <term>markup declaration</term> is 
+an <termref def="dt-eldecl">element type declaration</termref>, 
+an <termref def="dt-attdecl">attribute-list declaration</termref>, 
+an <termref def="dt-entdecl">entity declaration</termref>, or
+a <termref def="dt-notdecl">notation declaration</termref>.
+</termdef>
+These declarations may be contained in whole or in part
+within <termref def='dt-PE'>parameter entities</termref>,
+as described in the well-formedness and validity constraints below.
+For fuller information, see
+<specref ref="sec-physical-struct"/>.</p>
+<scrap lang="ebnf" id='dtd'>
+<head>Document Type Definition</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-doctypedecl'><lhs>doctypedecl</lhs>
+<rhs>'<!DOCTYPE' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> 
+<nt def='NT-ExternalID'>ExternalID</nt>)? 
+<nt def='NT-S'>S</nt>? ('[' 
+(<nt def='NT-markupdecl'>markupdecl</nt> 
+| <nt def='NT-PEReference'>PEReference</nt> 
+| <nt def='NT-S'>S</nt>)*
+']' 
+<nt def='NT-S'>S</nt>?)? '>'</rhs>
+<vc def="vc-roottype"/>
+</prod>
+<prod id='NT-markupdecl'><lhs>markupdecl</lhs>
+<rhs><nt def='NT-elementdecl'>elementdecl</nt> 
+| <nt def='NT-AttlistDecl'>AttlistDecl</nt> 
+| <nt def='NT-EntityDecl'>EntityDecl</nt> 
+| <nt def='NT-NotationDecl'>NotationDecl</nt> 
+| <nt def='NT-PI'>PI</nt> 
+| <nt def='NT-Comment'>Comment</nt>
+</rhs>
+<vc def='vc-PEinMarkupDecl'/>
+<wfc def="wfc-PEinInternalSubset"/>
+</prod>
+
+</prodgroup>
+</scrap>
+
+<p>The markup declarations may be made up in whole or in part of
+the <termref def='dt-repltext'>replacement text</termref> of 
+<termref def='dt-PE'>parameter entities</termref>.
+The productions later in this specification for
+individual nonterminals (<nt def='NT-elementdecl'>elementdecl</nt>,
+<nt def='NT-AttlistDecl'>AttlistDecl</nt>, and so on) describe 
+the declarations <emph>after</emph> all the parameter entities have been 
+<termref def='dt-include'>included</termref>.</p>
+
+<vcnote id="vc-roottype">
+<head>Root Element Type</head>
+<p>
+The <nt def='NT-Name'>Name</nt> in the document type declaration must
+match the element type of the <termref def='dt-root'>root element</termref>.
+</p>
+</vcnote>
+
+<vcnote id='vc-PEinMarkupDecl'>
+<head>Proper Declaration/PE Nesting</head>
+<p>Parameter-entity 
+<termref def='dt-repltext'>replacement text</termref> must be properly nested
+with markup declarations. 
+That is to say, if either the first character
+or the last character of a markup
+declaration (<nt def='NT-markupdecl'>markupdecl</nt> above)
+is contained in the replacement text for a 
+<termref def='dt-PERef'>parameter-entity reference</termref>,
+both must be contained in the same replacement text.</p>
+</vcnote>
+<wfcnote id="wfc-PEinInternalSubset">
+<head>PEs in Internal Subset</head>
+<p>In the internal DTD subset, 
+<termref def='dt-PERef'>parameter-entity references</termref>
+can occur only where markup declarations can occur, not
+within markup declarations.  (This does not apply to
+references that occur in
+external parameter entities or to the external subset.)
+</p>
+</wfcnote>
+<p>
+Like the internal subset, the external subset and 
+any external parameter entities referred to in the DTD 
+must consist of a series of complete markup declarations of the types 
+allowed by the non-terminal symbol
+<nt def="NT-markupdecl">markupdecl</nt>, interspersed with white space
+or <termref def="dt-PERef">parameter-entity references</termref>.
+However, portions of the contents
+of the 
+external subset or of external parameter entities may conditionally be ignored
+by using 
+the <termref def="dt-cond-section">conditional section</termref>
+construct; this is not allowed in the internal subset.
+
+<scrap id="ext-Subset">
+<head>External Subset</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-extSubset'><lhs>extSubset</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-extSubsetDecl'>extSubsetDecl</nt></rhs></prod>
+<prod id='NT-extSubsetDecl'><lhs>extSubsetDecl</lhs>
+<rhs>(
+<nt def='NT-markupdecl'>markupdecl</nt> 
+| <nt def='NT-conditionalSect'>conditionalSect</nt> 
+| <nt def='NT-PEReference'>PEReference</nt> 
+| <nt def='NT-S'>S</nt>
+)*</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>The external subset and external parameter entities also differ 
+from the internal subset in that in them,
+<termref def="dt-PERef">parameter-entity references</termref>
+are permitted <emph>within</emph> markup declarations,
+not only <emph>between</emph> markup declarations.</p>
+<p>An example of an XML document with a document type declaration:
+<eg><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE greeting SYSTEM "hello.dtd">
+<greeting>Hello, world!</greeting>
+]]></eg>
+The <termref def="dt-sysid">system identifier</termref> 
+"<code>hello.dtd</code>" gives the URI of a DTD for the document.</p>
+<p>The declarations can also be given locally, as in this 
+example:
+<eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE greeting [
+  <!ELEMENT greeting (#PCDATA)>
+]>
+<greeting>Hello, world!</greeting>
+]]></eg>
+If both the external and internal subsets are used, the 
+internal subset is considered to occur before the external subset.
+<!-- 'is considered to'? boo. whazzat mean? -->
+This has the effect that entity and attribute-list declarations in the
+internal subset take precedence over those in the external subset.
+</p>
+</div2>
+ 
+<div2 id='sec-rmd'>
+<head>Standalone Document Declaration</head>
+<p>Markup declarations can affect the content of the document,
+as passed from an <termref def="dt-xml-proc">XML processor</termref> 
+to an application; examples are attribute defaults and entity
+declarations.
+The standalone document declaration,
+which may appear as a component of the XML declaration, signals
+whether or not there are such declarations which appear external to 
+the <termref def='dt-docent'>document entity</termref>.
+<scrap lang="ebnf" id='fulldtd'>
+<head>Standalone Document Declaration</head>
+<prodgroup pcw2="4" pcw4="19.5" pcw5="9">
+<prod id='NT-SDDecl'><lhs>SDDecl</lhs>
+<rhs>
+<nt def="NT-S">S</nt> 
+'standalone' <nt def='NT-Eq'>Eq</nt> 
+(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))
+</rhs>
+<vc def='vc-check-rmd'/></prod>
+</prodgroup>
+</scrap></p>
+<p>
+In a standalone document declaration, the value "<code>yes</code>" indicates
+that there 
+are no markup declarations external to the <termref def='dt-docent'>document
+entity</termref> (either in the DTD external subset, or in an
+external parameter entity referenced from the internal subset)
+which affect the information passed from the XML processor to
+the application.  
+The value "<code>no</code>" indicates that there are or may be such
+external markup declarations.
+Note that the standalone document declaration only 
+denotes the presence of external <emph>declarations</emph>; the presence, in a
+document, of 
+references to external <emph>entities</emph>, when those entities are
+internally declared, 
+does not change its standalone status.</p>
+<p>If there are no external markup declarations, the standalone document
+declaration has no meaning. 
+If there are external markup declarations but there is no standalone
+document declaration, the value "<code>no</code>" is assumed.</p>
+<p>Any XML document for which <code>standalone="no"</code> holds can 
+be converted algorithmically to a standalone document, 
+which may be desirable for some network delivery applications.</p>
+<vcnote id='vc-check-rmd'>
+<head>Standalone Document Declaration</head>
+<p>The standalone document declaration must have
+the value "<code>no</code>" if any external markup declarations
+contain declarations of:</p><ulist>
+<item><p>attributes with <termref def="dt-default">default</termref> values, if
+elements to which
+these attributes apply appear in the document without
+specifications of values for these attributes, or</p></item>
+<item><p>entities (other than &magicents;), 
+if <termref def="dt-entref">references</termref> to those
+entities appear in the document, or</p>
+</item>
+<item><p>attributes with values subject to
+<titleref href='AVNormalize'>normalization</titleref>, where the
+attribute appears in the document with a value which will
+change as a result of normalization, or</p>
+</item>
+<item>
+<p>element types with <termref def="dt-elemcontent">element content</termref>, 
+if white space occurs
+directly within any instance of those types.
+</p></item>
+</ulist>
+
+</vcnote>
+<p>An example XML declaration with a standalone document declaration:<eg
+><?xml version="&XML.version;" standalone='yes'?></eg></p>
+</div2>
+<div2 id='sec-white-space'>
+<head>White Space Handling</head>
+
+<p>In editing XML documents, it is often convenient to use "white space"
+(spaces, tabs, and blank lines, denoted by the nonterminal 
+<nt def='NT-S'>S</nt> in this specification) to
+set apart the markup for greater readability.  Such white space is typically
+not intended for inclusion in the delivered version of the document.
+On the other hand, "significant" white space that should be preserved in the
+delivered version is common, for example in poetry and
+source code.</p>
+<p>An <termref def='dt-xml-proc'>XML processor</termref> 
+must always pass all characters in a document that are not
+markup through to the application.   A <termref def='dt-validating'>
+validating XML processor</termref> must also inform the application
+which  of these characters constitute white space appearing
+in <termref def="dt-elemcontent">element content</termref>.
+</p>
+<p>A special <termref def='dt-attr'>attribute</termref> 
+named <kw>xml:space</kw> may be attached to an element
+to signal an intention that in that element,
+white space should be preserved by applications.
+In valid documents, this attribute, like any other, must be 
+<termref def="dt-attdecl">declared</termref> if it is used.
+When declared, it must be given as an 
+<termref def='dt-enumerated'>enumerated type</termref> whose only
+possible values are "<code>default</code>" and "<code>preserve</code>".
+For example:<eg><![CDATA[    <!ATTLIST poem   xml:space (default|preserve) 'preserve'>]]></eg></p>
+<p>The value "<code>default</code>" signals that applications'
+default white-space processing modes are acceptable for this element; the
+value "<code>preserve</code>" indicates the intent that applications preserve
+all the white space.
+This declared intent is considered to apply to all elements within the content
+of the element where it is specified, unless overriden with another instance
+of the <kw>xml:space</kw> attribute.
+</p>
+<p>The <termref def='dt-root'>root element</termref> of any document
+is considered to have signaled no intentions as regards application space
+handling, unless it provides a value for 
+this attribute or the attribute is declared with a default value.
+</p>
+
+</div2>
+<div2 id='sec-line-ends'>
+<head>End-of-Line Handling</head>
+<p>XML <termref def='dt-parsedent'>parsed entities</termref> are often stored in
+computer files which, for editing convenience, are organized into lines.
+These lines are typically separated by some combination of the characters
+carriage-return (#xD) and line-feed (#xA).</p>
+<p>To simplify the tasks of <termref def='dt-app'>applications</termref>,
+wherever an external parsed entity or the literal entity value
+of an internal parsed entity contains either the literal 
+two-character sequence "#xD#xA" or a standalone literal
+#xD, an <termref def='dt-xml-proc'>XML processor</termref> must 
+pass to the application the single character #xA.
+(This behavior can 
+conveniently be produced by normalizing all 
+line breaks to #xA on input, before parsing.)
+</p>
+</div2>
+<div2 id='sec-lang-tag'>
+<head>Language Identification</head>
+<p>In document processing, it is often useful to
+identify the natural or formal language 
+in which the content is 
+written.
+A special <termref def="dt-attr">attribute</termref> named
+<kw>xml:lang</kw> may be inserted in
+documents to specify the 
+language used in the contents and attribute values 
+of any element in an XML document.
+In valid documents, this attribute, like any other, must be 
+<termref def="dt-attdecl">declared</termref> if it is used.
+The values of the attribute are language identifiers as defined
+by <bibref ref="RFC1766"/>, "Tags for the Identification of Languages":
+<scrap lang='ebnf'>
+<head>Language Identification</head>
+<prod id='NT-LanguageID'><lhs>LanguageID</lhs>
+<rhs><nt def='NT-Langcode'>Langcode</nt> 
+('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod>
+<prod id='NT-Langcode'><lhs>Langcode</lhs>
+<rhs><nt def='NT-ISO639Code'>ISO639Code</nt> | 
+<nt def='NT-IanaCode'>IanaCode</nt> | 
+<nt def='NT-UserCode'>UserCode</nt></rhs>
+</prod>
+<prod id='NT-ISO639Code'><lhs>ISO639Code</lhs>
+<rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod>
+<prod id='NT-IanaCode'><lhs>IanaCode</lhs>
+<rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-UserCode'><lhs>UserCode</lhs>
+<rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-Subcode'><lhs>Subcode</lhs>
+<rhs>([a-z] | [A-Z])+</rhs></prod>
+</scrap>
+The <nt def='NT-Langcode'>Langcode</nt> may be any of the following:
+<ulist>
+<item><p>a two-letter language code as defined by 
+<bibref ref="ISO639"/>, "Codes
+for the representation of names of languages"</p></item>
+<item><p>a language identifier registered with the Internet
+Assigned Numbers Authority <bibref ref='IANA'/>; these begin with the 
+prefix "<code>i-</code>" (or "<code>I-</code>")</p></item>
+<item><p>a language identifier assigned by the user, or agreed on
+between parties in private use; these must begin with the
+prefix "<code>x-</code>" or "<code>X-</code>" in order to ensure that they do not conflict 
+with names later standardized or registered with IANA</p></item>
+</ulist></p>
+<p>There may be any number of <nt def='NT-Subcode'>Subcode</nt> segments; if
+the first 
+subcode segment exists and the Subcode consists of two 
+letters, then it must be a country code from 
+<bibref ref="ISO3166"/>, "Codes 
+for the representation of names of countries."
+If the first 
+subcode consists of more than two letters, it must be
+a subcode for the language in question registered with IANA,
+unless the <nt def='NT-Langcode'>Langcode</nt> begins with the prefix 
+"<code>x-</code>" or
+"<code>X-</code>". </p>
+<p>It is customary to give the language code in lower case, and
+the country code (if any) in upper case.
+Note that these values, unlike other names in XML documents,
+are case insensitive.</p>
+<p>For example:
+<eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p>
+<p xml:lang="en-GB">What colour is it?</p>
+<p xml:lang="en-US">What color is it?</p>
+<sp who="Faust" desc='leise' xml:lang="de">
+  <l>Habe nun, ach! Philosophie,</l>
+  <l>Juristerei, und Medizin</l>
+  <l>und leider auch Theologie</l>
+  <l>durchaus studiert mit hei�em Bem�h'n.</l>
+  </sp>]]></eg></p>
+<!--<p>The xml:lang value is considered to apply both to the contents of an
+element and 
+(unless otherwise via attribute default values) to the
+values of all of its attributes with free-text (CDATA) values.  -->
+<p>The intent declared with <kw>xml:lang</kw> is considered to apply to
+all attributes and content of the element where it is specified,
+unless overridden with an instance of <kw>xml:lang</kw>
+on another element within that content.</p>
+<!--
+If no
+value is specified for xml:lang on an element, and no default value is
+defined for it in the DTD, then the xml:lang attribute of any element
+takes the same value it has in the parent element, if any.  The two
+technical terms in the following example both have the same effective
+value for xml:lang:
+
+  <p xml:lang="en">Here the keywords are
+  <term xml:lang="en">shift</term> and
+  <term>reduce</term>. ...</p>
+
+The application, not the XML processor, is responsible for this '
+inheritance' of attribute values.
+-->
+<p>A simple declaration for <kw>xml:lang</kw> might take
+the form
+<eg>xml:lang  NMTOKEN  #IMPLIED</eg>
+but specific default values may also be given, if appropriate.  In a
+collection of French poems for English students, with glosses and
+notes in English, the xml:lang attribute might be declared this way:
+<eg><![CDATA[    <!ATTLIST poem   xml:lang NMTOKEN 'fr'>
+    <!ATTLIST gloss  xml:lang NMTOKEN 'en'>
+    <!ATTLIST note   xml:lang NMTOKEN 'en'>]]></eg>
+</p>
+
+</div2>
+</div1>
+<!-- &Elements; -->
+ 
+<div1 id='sec-logical-struct'>
+<head>Logical Structures</head>
+ 
+<p><termdef id="dt-element" term="Element">Each <termref
+def="dt-xml-doc">XML document</termref> contains one or more
+<term>elements</term>, the boundaries of which are 
+either delimited by <termref def="dt-stag">start-tags</termref> 
+and <termref def="dt-etag">end-tags</termref>, or, for <termref
+def="dt-empty">empty</termref> elements, by an <termref
+def="dt-eetag">empty-element tag</termref>. Each element has a type,
+identified by name, sometimes called its "generic
+identifier" (GI), and may have a set of
+attribute specifications.</termdef>  Each attribute specification 
+has a <termref
+def="dt-attrname">name</termref> and a <termref
+def="dt-attrval">value</termref>.
+</p>
+<scrap lang='ebnf'><head>Element</head>
+<prod id='NT-element'><lhs>element</lhs>
+<rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs>
+<rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt> 
+<nt def='NT-ETag'>ETag</nt></rhs>
+<wfc def='GIMatch'/>
+<vc def='elementvalid'/>
+</prod>
+</scrap>
+<p>This specification does not constrain the semantics, use, or (beyond
+syntax) names of the element types and attributes, except that names
+beginning with a match to <code>(('X'|'x')('M'|'m')('L'|'l'))</code>
+are reserved for standardization in this or future versions of this
+specification.
+</p>
+<wfcnote id='GIMatch'>
+<head>Element Type Match</head>
+<p>
+The <nt def='NT-Name'>Name</nt> in an element's end-tag must match 
+the element type in
+the start-tag.
+</p>
+</wfcnote>
+<vcnote id='elementvalid'>
+<head>Element Valid</head>
+<p>An element is
+valid if
+there is a declaration matching 
+<nt def='NT-elementdecl'>elementdecl</nt> where the
+<nt def='NT-Name'>Name</nt> matches the element type, and
+one of the following holds:</p>
+<olist>
+<item><p>The declaration matches <kw>EMPTY</kw> and the element has no 
+<termref def='dt-content'>content</termref>.</p></item>
+<item><p>The declaration matches <nt def='NT-children'>children</nt> and
+the sequence of 
+<termref def="dt-parentchild">child elements</termref>
+belongs to the language generated by the regular expression in
+the content model, with optional white space (characters 
+matching the nonterminal <nt def='NT-S'>S</nt>) between each pair
+of child elements.</p></item>
+<item><p>The declaration matches <nt def='NT-Mixed'>Mixed</nt> and 
+the content consists of <termref def='dt-chardata'>character 
+data</termref> and <termref def='dt-parentchild'>child elements</termref>
+whose types match names in the content model.</p></item>
+<item><p>The declaration matches <kw>ANY</kw>, and the types
+of any <termref def='dt-parentchild'>child elements</termref> have
+been declared.</p></item>
+</olist>
+</vcnote>
+
+<div2 id='sec-starttags'>
+<head>Start-Tags, End-Tags, and Empty-Element Tags</head>
+ 
+<p><termdef id="dt-stag" term="Start-Tag">The beginning of every
+non-empty XML element is marked by a <term>start-tag</term>.
+<scrap lang='ebnf'>
+<head>Start-tag</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-STag'><lhs>STag</lhs>
+<rhs>'<' <nt def='NT-Name'>Name</nt> 
+(<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* 
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<wfc def="uniqattspec"/>
+</prod>
+<prod id='NT-Attribute'><lhs>Attribute</lhs>
+<rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt> 
+<nt def='NT-AttValue'>AttValue</nt></rhs>
+<vc def='ValueType'/>
+<wfc def='NoExternalRefs'/>
+<wfc def='CleanAttrVals'/></prod>
+</prodgroup>
+</scrap>
+The <nt def='NT-Name'>Name</nt> in
+the start- and end-tags gives the 
+element's <term>type</term>.</termdef>
+<termdef id="dt-attr" term="Attribute">
+The <nt def='NT-Name'>Name</nt>-<nt def='NT-AttValue'>AttValue</nt> pairs are
+referred to as 
+the <term>attribute specifications</term> of the element</termdef>,
+<termdef id="dt-attrname" term="Attribute Name">with the 
+<nt def='NT-Name'>Name</nt> in each pair
+referred to as the <term>attribute name</term></termdef> and
+<termdef id="dt-attrval" term="Attribute Value">the content of the
+<nt def='NT-AttValue'>AttValue</nt> (the text between the
+<code>'</code> or <code>"</code> delimiters)
+as the <term>attribute value</term>.</termdef>
+</p>
+<wfcnote id='uniqattspec'>
+<head>Unique Att Spec</head>
+<p>
+No attribute name may appear more than once in the same start-tag
+or empty-element tag.
+</p>
+</wfcnote>
+<vcnote id='ValueType'>
+<head>Attribute Value Type</head>
+<p>
+The attribute must have been declared; the value must be of the type 
+declared for it.
+(For attribute types, see <specref ref='attdecls'/>.)
+</p>
+</vcnote>
+<wfcnote id='NoExternalRefs'>
+<head>No External Entity References</head>
+<p>
+Attribute values cannot contain direct or indirect entity references 
+to external entities.
+</p>
+</wfcnote>
+<wfcnote id='CleanAttrVals'>
+<head>No <code><</code> in Attribute Values</head>
+<p>The <termref def='dt-repltext'>replacement text</termref> of any entity
+referred to directly or indirectly in an attribute
+value (other than "<code>&lt;</code>") must not contain
+a <code><</code>.
+</p></wfcnote>
+<p>An example of a start-tag:
+<eg><termdef id="dt-dog" term="dog"></eg></p>
+<p><termdef id="dt-etag" term="End Tag">The end of every element 
+that begins with a start-tag must
+be marked by an <term>end-tag</term>
+containing a name that echoes the element's type as given in the
+start-tag:
+<scrap lang='ebnf'>
+<head>End-tag</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-ETag'><lhs>ETag</lhs>
+<rhs>'</' <nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+</prodgroup>
+</scrap>
+</termdef></p>
+<p>An example of an end-tag:<eg></termdef></eg></p>
+<p><termdef id="dt-content" term="Content">The 
+<termref def='dt-text'>text</termref> between the start-tag and
+end-tag is called the element's
+<term>content</term>:
+<scrap lang='ebnf'>
+<head>Content of Elements</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-content'><lhs>content</lhs>
+<rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt> 
+| <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt> 
+| <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs>
+</prod>
+</prodgroup>
+</scrap>
+</termdef></p>
+<p><termdef id="dt-empty" term="Empty">If an element is <term>empty</term>,
+it must be represented either by a start-tag immediately followed
+by an end-tag or by an empty-element tag.</termdef>
+<termdef id="dt-eetag" term="empty-element tag">An 
+<term>empty-element tag</term> takes a special form:
+<scrap lang='ebnf'>
+<head>Tags for Empty Elements</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs>
+<rhs>'<' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> 
+<nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? 
+'/>'</rhs>
+<wfc def="uniqattspec"/>
+</prod>
+</prodgroup>
+</scrap>
+</termdef></p>
+<p>Empty-element tags may be used for any element which has no
+content, whether or not it is declared using the keyword
+<kw>EMPTY</kw>.
+<termref def='dt-interop'>For interoperability</termref>, the empty-element
+tag must be used, and can only be used, for elements which are
+<termref def='dt-eldecl'>declared</termref> <kw>EMPTY</kw>.</p>
+<p>Examples of empty elements:
+<eg><IMG align="left"
+ src="http://www.w3.org/Icons/WWW/w3c_home" />
+<br></br>
+<br/></eg></p>
+</div2>
+ 
+<div2 id='elemdecls'>
+<head>Element Type Declarations</head>
+ 
+<p>The <termref def="dt-element">element</termref> structure of an
+<termref def="dt-xml-doc">XML document</termref> may, for 
+<termref def="dt-valid">validation</termref> purposes, 
+be constrained
+using element type and attribute-list declarations.
+An element type declaration constrains the element's
+<termref def="dt-content">content</termref>.
+</p>
+
+<p>Element type declarations often constrain which element types can
+appear as <termref def="dt-parentchild">children</termref> of the element.
+At user option, an XML processor may issue a warning
+when a declaration mentions an element type for which no declaration
+is provided, but this is not an error.</p>
+<p><termdef id="dt-eldecl" term="Element Type declaration">An <term>element
+type declaration</term> takes the form:
+<scrap lang='ebnf'>
+<head>Element Type Declaration</head>
+<prodgroup pcw2="5.5" pcw4="18" pcw5="9">
+<prod id='NT-elementdecl'><lhs>elementdecl</lhs>
+<rhs>'<!ELEMENT' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt> 
+<nt def='NT-contentspec'>contentspec</nt>
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<vc def='EDUnique'/></prod>
+<prod id='NT-contentspec'><lhs>contentspec</lhs>
+<rhs>'EMPTY' 
+| 'ANY' 
+| <nt def='NT-Mixed'>Mixed</nt> 
+| <nt def='NT-children'>children</nt>
+</rhs>
+</prod>
+</prodgroup>
+</scrap>
+where the <nt def='NT-Name'>Name</nt> gives the element type 
+being declared.</termdef>
+</p>
+
+<vcnote id='EDUnique'>
+<head>Unique Element Type Declaration</head>
+<p>
+No element type may be declared more than once.
+</p>
+</vcnote>
+
+<p>Examples of element type declarations:
+<eg><!ELEMENT br EMPTY>
+<!ELEMENT p (#PCDATA|emph)* >
+<!ELEMENT %name.para; %content.para; >
+<!ELEMENT container ANY></eg></p>
+ 
+<div3 id='sec-element-content'>
+<head>Element Content</head>
+ 
+<p><termdef id='dt-elemcontent' term='Element content'>An element <termref
+def="dt-stag">type</termref> has
+<term>element content</term> when elements of that
+type must contain only <termref def='dt-parentchild'>child</termref> 
+elements (no character data), optionally separated by 
+white space (characters matching the nonterminal 
+<nt def='NT-S'>S</nt>).
+</termdef>
+In this case, the
+constraint includes a content model, a simple grammar governing
+the allowed types of the child
+elements and the order in which they are allowed to appear.  
+The grammar is built on
+content particles (<nt def='NT-cp'>cp</nt>s), which consist of names, 
+choice lists of content particles, or
+sequence lists of content particles:
+<scrap lang='ebnf'>
+<head>Element-content Models</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-children'><lhs>children</lhs>
+<rhs>(<nt def='NT-choice'>choice</nt> 
+| <nt def='NT-seq'>seq</nt>) 
+('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-cp'><lhs>cp</lhs>
+<rhs>(<nt def='NT-Name'>Name</nt> 
+| <nt def='NT-choice'>choice</nt> 
+| <nt def='NT-seq'>seq</nt>) 
+('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>? cp 
+( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*
+<nt def='NT-S'>S</nt>? ')'</rhs>
+<vc def='vc-PEinGroup'/></prod>
+<prod id='NT-seq'><lhs>seq</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>? cp 
+( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*
+<nt def='NT-S'>S</nt>? ')'</rhs>
+<vc def='vc-PEinGroup'/></prod>
+
+</prodgroup>
+</scrap>
+where each <nt def='NT-Name'>Name</nt> is the type of an element which may
+appear as a <termref def="dt-parentchild">child</termref>.  
+Any content
+particle in a choice list may appear in the <termref
+def="dt-elemcontent">element content</termref> at the location where
+the choice list appears in the grammar;
+content particles occurring in a sequence list must each
+appear in the <termref def="dt-elemcontent">element content</termref> in the
+order given in the list.  
+The optional character following a name or list governs
+whether the element or the content particles in the list may occur one
+or more (<code>+</code>), zero or more (<code>*</code>), or zero or 
+one times (<code>?</code>).  
+The absence of such an operator means that the element or content particle
+must appear exactly once.
+This syntax
+and meaning are identical to those used in the productions in this
+specification.</p>
+<p>
+The content of an element matches a content model if and only if it is
+possible to trace out a path through the content model, obeying the
+sequence, choice, and repetition operators and matching each element in
+the content against an element type in the content model.  <termref
+def='dt-compat'>For compatibility</termref>, it is an error
+if an element in the document can
+match more than one occurrence of an element type in the content model.
+For more information, see <specref ref="determinism"/>.
+<!-- appendix <specref ref="determinism"/>. -->
+<!-- appendix on deterministic content models. -->
+</p>
+<vcnote id='vc-PEinGroup'>
+<head>Proper Group/PE Nesting</head>
+<p>Parameter-entity 
+<termref def='dt-repltext'>replacement text</termref> must be properly nested
+with parenthetized groups.
+That is to say, if either of the opening or closing parentheses
+in a <nt def='NT-choice'>choice</nt>, <nt def='NT-seq'>seq</nt>, or
+<nt def='NT-Mixed'>Mixed</nt> construct 
+is contained in the replacement text for a 
+<termref def='dt-PERef'>parameter entity</termref>,
+both must be contained in the same replacement text.</p>
+<p><termref def='dt-interop'>For interoperability</termref>, 
+if a parameter-entity reference appears in a 
+<nt def='NT-choice'>choice</nt>, <nt def='NT-seq'>seq</nt>, or
+<nt def='NT-Mixed'>Mixed</nt> construct, its replacement text
+should not be empty, and 
+neither the first nor last non-blank
+character of the replacement text should be a connector 
+(<code>|</code> or <code>,</code>).
+</p>
+</vcnote>
+<p>Examples of element-content models:
+<eg><!ELEMENT spec (front, body, back?)>
+<!ELEMENT div1 (head, (p | list | note)*, div2*)>
+<!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p>
+</div3>
+
+<div3 id='sec-mixed-content'>
+<head>Mixed Content</head>
+ 
+<p><termdef id='dt-mixed' term='Mixed Content'>An element 
+<termref def='dt-stag'>type</termref> has 
+<term>mixed content</term> when elements of that type may contain
+character data, optionally interspersed with
+<termref def="dt-parentchild">child</termref> elements.</termdef>
+In this case, the types of the child elements
+may be constrained, but not their order or their number of occurrences:
+<scrap lang='ebnf'>
+<head>Mixed-content Declaration</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-Mixed'><lhs>Mixed</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>? 
+'#PCDATA'
+(<nt def='NT-S'>S</nt>? 
+'|' 
+<nt def='NT-S'>S</nt>? 
+<nt def='NT-Name'>Name</nt>)* 
+<nt def='NT-S'>S</nt>? 
+')*' </rhs>
+<rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')'
+</rhs><vc def='vc-PEinGroup'/>
+<vc def='vc-MixedChildrenUnique'/>
+</prod>
+
+</prodgroup>
+</scrap>
+where the <nt def='NT-Name'>Name</nt>s give the types of elements
+that may appear as children.
+</p>
+<vcnote id='vc-MixedChildrenUnique'>
+<head>No Duplicate Types</head>
+<p>The same name must not appear more than once in a single mixed-content
+declaration.
+</p></vcnote>
+<p>Examples of mixed content declarations:
+<eg><!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
+<!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
+<!ELEMENT b (#PCDATA)></eg></p>
+</div3>
+</div2>
+ 
+<div2 id='attdecls'>
+<head>Attribute-List Declarations</head>
+ 
+<p><termref def="dt-attr">Attributes</termref> are used to associate
+name-value pairs with <termref def="dt-element">elements</termref>.
+Attribute specifications may appear only within <termref
+def="dt-stag">start-tags</termref>
+and <termref def="dt-eetag">empty-element tags</termref>; 
+thus, the productions used to
+recognize them appear in <specref ref='sec-starttags'/>.  
+Attribute-list
+declarations may be used:
+<ulist>
+<item><p>To define the set of attributes pertaining to a given
+element type.</p></item>
+<item><p>To establish type constraints for these
+attributes.</p></item>
+<item><p>To provide <termref def="dt-default">default values</termref>
+for attributes.</p></item>
+</ulist>
+</p>
+<p><termdef id="dt-attdecl" term="Attribute-List Declaration">
+<term>Attribute-list declarations</term> specify the name, data type, and default
+value (if any) of each attribute associated with a given element type:
+<scrap lang='ebnf'>
+<head>Attribute-list Declaration</head>
+<prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs>
+<rhs>'<!ATTLIST' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt> 
+<nt def='NT-AttDef'>AttDef</nt>*
+<nt def='NT-S'>S</nt>? '>'</rhs>
+</prod>
+<prod id='NT-AttDef'><lhs>AttDef</lhs>
+<rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt> 
+<nt def='NT-S'>S</nt> <nt def='NT-DefaultDecl'>DefaultDecl</nt></rhs>
+</prod>
+</scrap>
+The <nt def="NT-Name">Name</nt> in the
+<nt def='NT-AttlistDecl'>AttlistDecl</nt> rule is the type of an element.  At
+user option, an XML processor may issue a warning if attributes are
+declared for an element type not itself declared, but this is not an
+error.  The <nt def='NT-Name'>Name</nt> in the 
+<nt def='NT-AttDef'>AttDef</nt> rule is
+the name of the attribute.</termdef></p>
+<p>
+When more than one <nt def='NT-AttlistDecl'>AttlistDecl</nt> is provided for a
+given element type, the contents of all those provided are merged.  When
+more than one definition is provided for the same attribute of a
+given element type, the first declaration is binding and later
+declarations are ignored.  
+<termref def='dt-interop'>For interoperability,</termref> writers of DTDs
+may choose to provide at most one attribute-list declaration
+for a given element type, at most one attribute definition
+for a given attribute name, and at least one attribute definition
+in each attribute-list declaration.
+For interoperability, an XML processor may at user option
+issue a warning when more than one attribute-list declaration is
+provided for a given element type, or more than one attribute definition
+is provided 
+for a given attribute, but this is not an error.
+</p>
+
+<div3 id='sec-attribute-types'>
+<head>Attribute Types</head>
+ 
+<p>XML attribute types are of three kinds:  a string type, a
+set of tokenized types, and enumerated types.  The string type may take
+any literal string as a value; the tokenized types have varying lexical
+and semantic constraints, as noted:
+<scrap lang='ebnf'>
+<head>Attribute Types</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-AttType'><lhs>AttType</lhs>
+<rhs><nt def='NT-StringType'>StringType</nt> 
+| <nt def='NT-TokenizedType'>TokenizedType</nt> 
+| <nt def='NT-EnumeratedType'>EnumeratedType</nt>
+</rhs>
+</prod>
+<prod id='NT-StringType'><lhs>StringType</lhs>
+<rhs>'CDATA'</rhs>
+</prod>
+<prod id='NT-TokenizedType'><lhs>TokenizedType</lhs>
+<rhs>'ID'</rhs>
+<vc def='id'/>
+<vc def='one-id-per-el'/>
+<vc def='id-default'/>
+<rhs>| 'IDREF'</rhs>
+<vc def='idref'/>
+<rhs>| 'IDREFS'</rhs>
+<vc def='idref'/>
+<rhs>| 'ENTITY'</rhs>
+<vc def='entname'/>
+<rhs>| 'ENTITIES'</rhs>
+<vc def='entname'/>
+<rhs>| 'NMTOKEN'</rhs>
+<vc def='nmtok'/>
+<rhs>| 'NMTOKENS'</rhs>
+<vc def='nmtok'/></prod>
+</prodgroup>
+</scrap>
+</p>
+<vcnote id='id' >
+<head>ID</head>
+<p>
+Values of type <kw>ID</kw> must match the 
+<nt def='NT-Name'>Name</nt> production.  
+A name must not appear more than once in
+an XML document as a value of this type; i.e., ID values must uniquely
+identify the elements which bear them.   
+</p>
+</vcnote>
+<vcnote id='one-id-per-el'>
+<head>One ID per Element Type</head>
+<p>No element type may have more than one ID attribute specified.</p>
+</vcnote>
+<vcnote id='id-default'>
+<head>ID Attribute Default</head>
+<p>An ID attribute must have a declared default of <kw>#IMPLIED</kw> or
+<kw>#REQUIRED</kw>.</p>
+</vcnote>
+<vcnote id='idref'>
+<head>IDREF</head>
+<p>
+Values of type <kw>IDREF</kw> must match
+the <nt def="NT-Name">Name</nt> production, and
+values of type <kw>IDREFS</kw> must match
+<nt def="NT-Names">Names</nt>; 
+each <nt def='NT-Name'>Name</nt> must match the value of an ID attribute on 
+some element in the XML document; i.e. <kw>IDREF</kw> values must 
+match the value of some ID attribute. 
+</p>
+</vcnote>
+<vcnote id='entname'>
+<head>Entity Name</head>
+<p>
+Values of type <kw>ENTITY</kw> 
+must match the <nt def="NT-Name">Name</nt> production,
+values of type <kw>ENTITIES</kw> must match
+<nt def="NT-Names">Names</nt>;
+each <nt def="NT-Name">Name</nt> must 
+match the
+name of an <termref def="dt-unparsed">unparsed entity</termref> declared in the
+<termref def="dt-doctype">DTD</termref>.
+</p>
+</vcnote>
+<vcnote id='nmtok'>
+<head>Name Token</head>
+<p>
+Values of type <kw>NMTOKEN</kw> must match the
+<nt def="NT-Nmtoken">Nmtoken</nt> production;
+values of type <kw>NMTOKENS</kw> must 
+match <termref def="NT-Nmtokens">Nmtokens</termref>.
+</p>
+</vcnote>
+<!-- why?
+<p>The XML processor must normalize attribute values before
+passing them to the application, as described in 
+<specref ref="AVNormalize"/>.</p>-->
+<p><termdef id='dt-enumerated' term='Enumerated Attribute
+Values'><term>Enumerated attributes</term> can take one 
+of a list of values provided in the declaration</termdef>. There are two
+kinds of enumerated types:
+<scrap lang='ebnf'>
+<head>Enumerated Attribute Types</head>
+<prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs> 
+<rhs><nt def='NT-NotationType'>NotationType</nt> 
+| <nt def='NT-Enumeration'>Enumeration</nt>
+</rhs></prod>
+<prod id='NT-NotationType'><lhs>NotationType</lhs> 
+<rhs>'NOTATION' 
+<nt def='NT-S'>S</nt> 
+'(' 
+<nt def='NT-S'>S</nt>?  
+<nt def='NT-Name'>Name</nt> 
+(<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>?  
+<nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>? ')'
+</rhs>
+<vc def='notatn' /></prod>
+<prod id='NT-Enumeration'><lhs>Enumeration</lhs> 
+<rhs>'(' <nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt> 
+(<nt def='NT-S'>S</nt>? '|' 
+<nt def='NT-S'>S</nt>?  
+<nt def='NT-Nmtoken'>Nmtoken</nt>)* 
+<nt def='NT-S'>S</nt>? 
+')'</rhs> 
+<vc def='enum'/></prod>
+</scrap>
+A <kw>NOTATION</kw> attribute identifies a 
+<termref def='dt-notation'>notation</termref>, declared in the 
+DTD with associated system and/or public identifiers, to
+be used in interpreting the element to which the attribute
+is attached.
+</p>
+
+<vcnote id='notatn'>
+<head>Notation Attributes</head>
+<p>
+Values of this type must match
+one of the <titleref href='Notations'>notation</titleref> names included in
+the declaration; all notation names in the declaration must
+be declared.
+</p>
+</vcnote>
+<vcnote id='enum'>
+<head>Enumeration</head>
+<p>
+Values of this type
+must match one of the <nt def='NT-Nmtoken'>Nmtoken</nt> tokens in the
+declaration. 
+</p>
+</vcnote>
+<p><termref def='dt-interop'>For interoperability,</termref> the same
+<nt def='NT-Nmtoken'>Nmtoken</nt> should not occur more than once in the
+enumerated attribute types of a single element type.
+</p>
+</div3>
+
+<div3 id='sec-attr-defaults'>
+<head>Attribute Defaults</head>
+ 
+<p>An <termref def="dt-attdecl">attribute declaration</termref> provides
+information on whether
+the attribute's presence is required, and if not, how an XML processor should
+react if a declared attribute is absent in a document.
+<scrap lang='ebnf'>
+<head>Attribute Defaults</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-DefaultDecl'><lhs>DefaultDecl</lhs>
+<rhs>'#REQUIRED' 
+| '#IMPLIED' </rhs>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+<vc def='RequiredAttr'/>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+<vc def='FixedAttr'/>
+</prod>
+</prodgroup>
+</scrap>
+
+</p>
+<p>In an attribute declaration, <kw>#REQUIRED</kw> means that the
+attribute must always be provided, <kw>#IMPLIED</kw> that no default 
+value is provided.
+<!-- not any more!!
+<kw>#IMPLIED</kw> means that if the attribute is omitted
+from an element of this type,
+the XML processor must inform the application
+that no value was specified; no constraint is placed on the behavior
+of the application. -->
+<termdef id="dt-default" term="Attribute Default">If the 
+declaration
+is neither <kw>#REQUIRED</kw> nor <kw>#IMPLIED</kw>, then the
+<nt def='NT-AttValue'>AttValue</nt> value contains the declared
+<term>default</term> value; the <kw>#FIXED</kw> keyword states that
+the attribute must always have the default value.
+If a default value
+is declared, when an XML processor encounters an omitted attribute, it
+is to behave as though the attribute were present with 
+the declared default value.</termdef></p>
+<vcnote id='RequiredAttr'>
+<head>Required Attribute</head>
+<p>If the default declaration is the keyword <kw>#REQUIRED</kw>, then
+the attribute must be specified for
+all elements of the type in the attribute-list declaration.
+</p></vcnote>
+<vcnote id='defattrvalid'>
+<head>Attribute Default Legal</head>
+<p>
+The declared
+default value must meet the lexical constraints of the declared attribute type.
+</p>
+</vcnote>
+<vcnote id='FixedAttr'>
+<head>Fixed Attribute Default</head>
+<p>If an attribute has a default value declared with the 
+<kw>#FIXED</kw> keyword, instances of that attribute must
+match the default value.
+</p></vcnote>
+
+<p>Examples of attribute-list declarations:
+<eg><!ATTLIST termdef
+          id      ID      #REQUIRED
+          name    CDATA   #IMPLIED>
+<!ATTLIST list
+          type    (bullets|ordered|glossary)  "ordered">
+<!ATTLIST form
+          method  CDATA   #FIXED "POST"></eg></p>
+</div3>
+<div3 id='AVNormalize'>
+<head>Attribute-Value Normalization</head>
+<p>Before the value of an attribute is passed to the application
+or checked for validity, the
+XML processor must normalize it as follows:
+<ulist>
+<item><p>a character reference is processed by appending the referenced    
+character to the attribute value</p></item>
+<item><p>an entity reference is processed by recursively processing the
+replacement text of the entity</p></item>
+<item><p>a whitespace character (#x20, #xD, #xA, #x9) is processed by
+appending #x20 to the normalized value, except that only a single #x20
+is appended for a "#xD#xA" sequence that is part of an external
+parsed entity or the literal entity value of an internal parsed
+entity</p></item>
+<item><p>other characters are processed by appending them to the normalized
+value</p>
+</item></ulist>
+</p>
+<p>If the declared value is not CDATA, then the XML processor must
+further process the normalized attribute value by discarding any
+leading and trailing space (#x20) characters, and by replacing
+sequences of space (#x20) characters by a single space (#x20)
+character.</p>
+<p>
+All attributes for which no declaration has been read should be treated
+by a non-validating parser as if declared
+<kw>CDATA</kw>.
+</p>
+</div3>
+</div2>
+<div2 id='sec-condition-sect'>
+<head>Conditional Sections</head>
+<p><termdef id='dt-cond-section' term='conditional section'>
+<term>Conditional sections</term> are portions of the
+<termref def='dt-doctype'>document type declaration external subset</termref>
+which are 
+included in, or excluded from, the logical structure of the DTD based on
+the keyword which governs them.</termdef>
+<scrap lang='ebnf'>
+<head>Conditional Section</head>
+<prodgroup pcw2="9" pcw4="14.5">
+<prod id='NT-conditionalSect'><lhs>conditionalSect</lhs>
+<rhs><nt def='NT-includeSect'>includeSect</nt>
+| <nt def='NT-ignoreSect'>ignoreSect</nt>
+</rhs>
+</prod>
+<prod id='NT-includeSect'><lhs>includeSect</lhs>
+<rhs>'<![' S? 'INCLUDE' S? '[' 
+
+<nt def="NT-extSubsetDecl">extSubsetDecl</nt>
+']]>'
+</rhs>
+</prod>
+<prod id='NT-ignoreSect'><lhs>ignoreSect</lhs>
+<rhs>'<![' S? 'IGNORE' S? '[' 
+<nt def="NT-ignoreSectContents">ignoreSectContents</nt>*
+']]>'</rhs>
+</prod>
+
+<prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs>
+<rhs><nt def='NT-Ignore'>Ignore</nt>
+('<![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt> ']]>' 
+<nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod>
+<prod id='NT-Ignore'><lhs>Ignore</lhs>
+<rhs><nt def='NT-Char'>Char</nt>* - 
+(<nt def='NT-Char'>Char</nt>* ('<![' | ']]>') 
+<nt def='NT-Char'>Char</nt>*)
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>Like the internal and external DTD subsets, a conditional section
+may contain one or more complete declarations,
+comments, processing instructions, 
+or nested conditional sections, intermingled with white space.
+</p>
+<p>If the keyword of the
+conditional section is <kw>INCLUDE</kw>, then the contents of the conditional
+section are part of the DTD.
+If the keyword of the conditional
+section is <kw>IGNORE</kw>, then the contents of the conditional section are
+not logically part of the DTD.
+Note that for reliable parsing, the contents of even ignored
+conditional sections must be read in order to
+detect nested conditional sections and ensure that the end of the
+outermost (ignored) conditional section is properly detected.
+If a conditional section with a
+keyword of <kw>INCLUDE</kw> occurs within a larger conditional
+section with a keyword of <kw>IGNORE</kw>, both the outer and the
+inner conditional sections are ignored.</p>
+<p>If the keyword of the conditional section is a 
+parameter-entity reference, the parameter entity must be replaced by its
+content before the processor decides whether to
+include or ignore the conditional section.</p>
+<p>An example:
+<eg><!ENTITY % draft 'INCLUDE' >
+<!ENTITY % final 'IGNORE' >
+ 
+<![%draft;[
+<!ELEMENT book (comments*, title, body, supplements?)>
+]]>
+<![%final;[
+<!ELEMENT book (title, body, supplements?)>
+]]>
+</eg>
+</p>
+</div2>
+
+
+<!-- 
+<div2 id='sec-pass-to-app'>
+<head>XML Processor Treatment of Logical Structure</head>
+<p>When an XML processor encounters a start-tag, it must make
+at least the following information available to the application:
+<ulist>
+<item>
+<p>the element type's generic identifier</p>
+</item>
+<item>
+<p>the names of attributes known to apply to this element type
+(validating processors must make available names of all attributes
+declared for the element type; non-validating processors must
+make available at least the names of the attributes for which
+values are specified.
+</p>
+</item>
+</ulist>
+</p>
+</div2>
+--> 
+
+</div1>
+<!-- &Entities; -->
+ 
+<div1 id='sec-physical-struct'>
+<head>Physical Structures</head>
+ 
+<p><termdef id="dt-entity" term="Entity">An XML document may consist
+of one or many storage units.   These are called
+<term>entities</term>; they all have <term>content</term> and are all
+(except for the document entity, see below, and 
+the <termref def='dt-doctype'>external DTD subset</termref>) 
+identified by <term>name</term>.
+</termdef>
+Each XML document has one entity
+called the <termref def="dt-docent">document entity</termref>, which serves
+as the starting point for the <termref def="dt-xml-proc">XML
+processor</termref> and may contain the whole document.</p>
+<p>Entities may be either parsed or unparsed.
+<termdef id="dt-parsedent" term="Text Entity">A <term>parsed entity's</term>
+contents are referred to as its 
+<termref def='dt-repltext'>replacement text</termref>;
+this <termref def="dt-text">text</termref> is considered an
+integral part of the document.</termdef></p>
+
+<p><termdef id="dt-unparsed" term="Unparsed Entity">An 
+<term>unparsed entity</term> 
+is a resource whose contents may or may not be
+<termref def='dt-text'>text</termref>, and if text, may not be XML.
+Each unparsed entity
+has an associated <termref
+def="dt-notation">notation</termref>, identified by name.
+Beyond a requirement
+that an XML processor make the identifiers for the entity and 
+notation available to the application,
+XML places no constraints on the contents of unparsed entities.</termdef> 
+</p>
+<p>
+Parsed entities are invoked by name using entity references;
+unparsed entities by name, given in the value of <kw>ENTITY</kw>
+or <kw>ENTITIES</kw>
+attributes.</p>
+<p><termdef id='gen-entity' term='general entity'
+><term>General entities</term>
+are entities for use within the document content.
+In this specification, general entities are sometimes referred 
+to with the unqualified term <emph>entity</emph> when this leads
+to no ambiguity.</termdef> 
+<termdef id='dt-PE' term='Parameter entity'>Parameter entities 
+are parsed entities for use within the DTD.</termdef>
+These two types of entities use different forms of reference and
+are recognized in different contexts.
+Furthermore, they occupy different namespaces; a parameter entity and
+a general entity with the same name are two distinct entities.
+</p>
+
+<div2 id='sec-references'>
+<head>Character and Entity References</head>
+<p><termdef id="dt-charref" term="Character Reference">
+A <term>character reference</term> refers to a specific character in the
+ISO/IEC 10646 character set, for example one not directly accessible from
+available input devices.
+<scrap lang='ebnf'>
+<head>Character Reference</head>
+<prod id='NT-CharRef'><lhs>CharRef</lhs>
+<rhs>'&#' [0-9]+ ';' </rhs>
+<rhs>| '&hcro;' [0-9a-fA-F]+ ';'</rhs>
+<wfc def="wf-Legalchar"/>
+</prod>
+</scrap>
+<wfcnote id="wf-Legalchar">
+<head>Legal Character</head>
+<p>Characters referred to using character references must
+match the production for
+<termref def="NT-Char">Char</termref>.</p>
+</wfcnote>
+If the character reference begins with "<code>&#x</code>", the digits and
+letters up to the terminating <code>;</code> provide a hexadecimal
+representation of the character's code point in ISO/IEC 10646.
+If it begins just with "<code>&#</code>", the digits up to the terminating
+<code>;</code> provide a decimal representation of the character's 
+code point.
+</termdef>
+</p>
+<p><termdef id="dt-entref" term="Entity Reference">An <term>entity
+reference</term> refers to the content of a named entity.</termdef>
+<termdef id='dt-GERef' term='General Entity Reference'>References to 
+parsed general entities
+use ampersand (<code>&</code>) and semicolon (<code>;</code>) as
+delimiters.</termdef>
+<termdef id='dt-PERef' term='Parameter-entity reference'>
+<term>Parameter-entity references</term> use percent-sign (<code>%</code>) and
+semicolon 
+(<code>;</code>) as delimiters.</termdef>
+</p>
+<scrap lang="ebnf">
+<head>Entity Reference</head>
+<prod id='NT-Reference'><lhs>Reference</lhs>
+<rhs><nt def='NT-EntityRef'>EntityRef</nt> 
+| <nt def='NT-CharRef'>CharRef</nt></rhs></prod>
+<prod id='NT-EntityRef'><lhs>EntityRef</lhs>
+<rhs>'&' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+</prod>
+<prod id='NT-PEReference'><lhs>PEReference</lhs>
+<rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<vc def='vc-entdeclared'/>
+<wfc def='norecursion'/>
+<wfc def='indtd'/>
+</prod>
+</scrap>
+
+<wfcnote id='wf-entdeclared'>
+<head>Entity Declared</head>
+<p>In a document without any DTD, a document with only an internal
+DTD subset which contains no parameter entity references, or a document with
+"<code>standalone='yes'</code>", 
+the <nt def='NT-Name'>Name</nt> given in the entity reference must 
+<termref def="dt-match">match</termref> that in an 
+<titleref href='sec-entity-decl'>entity declaration</titleref>, except that
+well-formed documents need not declare 
+any of the following entities: &magicents;.  
+The declaration of a parameter entity must precede any reference to it.
+Similarly, the declaration of a general entity must precede any
+reference to it which appears in a default value in an attribute-list
+declaration.</p>
+<p>Note that if entities are declared in the external subset or in 
+external parameter entities, a non-validating processor is 
+<titleref href='include-if-valid'>not obligated to</titleref> read
+and process their declarations; for such documents, the rule that
+an entity must be declared is a well-formedness constraint only
+if <titleref href='sec-rmd'>standalone='yes'</titleref>.</p>
+</wfcnote>
+<vcnote id="vc-entdeclared">
+<head>Entity Declared</head>
+<p>In a document with an external subset or external parameter
+entities with "<code>standalone='no'</code>",
+the <nt def='NT-Name'>Name</nt> given in the entity reference must <termref
+def="dt-match">match</termref> that in an 
+<titleref href='sec-entity-decl'>entity declaration</titleref>.
+For interoperability, valid documents should declare the entities 
+&magicents;, in the form
+specified in <specref ref="sec-predefined-ent"/>.
+The declaration of a parameter entity must precede any reference to it.
+Similarly, the declaration of a general entity must precede any
+reference to it which appears in a default value in an attribute-list
+declaration.</p>
+</vcnote>
+<!-- FINAL EDIT:  is this duplication too clumsy? -->
+<wfcnote id='textent'>
+<head>Parsed Entity</head>
+<p>
+An entity reference must not contain the name of an <termref
+def="dt-unparsed">unparsed entity</termref>. Unparsed entities may be referred
+to only in <termref def="dt-attrval">attribute values</termref> declared to
+be of type <kw>ENTITY</kw> or <kw>ENTITIES</kw>.
+</p>
+</wfcnote>
+<wfcnote id='norecursion'>
+<head>No Recursion</head>
+<p>
+A parsed entity must not contain a recursive reference to itself,
+either directly or indirectly.
+</p>
+</wfcnote>
+<wfcnote id='indtd'>
+<head>In DTD</head>
+<p>
+Parameter-entity references may only appear in the 
+<termref def='dt-doctype'>DTD</termref>.
+</p>
+</wfcnote>
+<p>Examples of character and entity references:
+<eg>Type <key>less-than</key> (&hcro;3C;) to save options.
+This document was prepared on &docdate; and
+is classified &security-level;.</eg></p>
+<p>Example of a parameter-entity reference:
+<eg><![CDATA[<!-- declare the parameter entity "ISOLat2"... -->
+<!ENTITY % ISOLat2
+         SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
+<!-- ... now reference it. -->
+%ISOLat2;]]></eg></p>
+</div2>
+ 
+<div2 id='sec-entity-decl'>
+<head>Entity Declarations</head>
+ 
+<p><termdef id="dt-entdecl" term="entity declaration">
+Entities are declared thus:
+<scrap lang='ebnf'>
+<head>Entity Declaration</head>
+<prodgroup pcw2="5" pcw4="18.5">
+<prod id='NT-EntityDecl'><lhs>EntityDecl</lhs>
+<rhs><nt def="NT-GEDecl">GEDecl</nt><!--</rhs><com>General entities</com>
+<rhs>--> | <nt def="NT-PEDecl">PEDecl</nt></rhs>
+<!--<com>Parameter entities</com>-->
+</prod>
+<prod id='NT-GEDecl'><lhs>GEDecl</lhs>
+<rhs>'<!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt> 
+<nt def='NT-S'>S</nt>? '>'</rhs>
+</prod>
+<prod id='NT-PEDecl'><lhs>PEDecl</lhs>
+<rhs>'<!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt> 
+<nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '>'</rhs>
+<!--<com>Parameter entities</com>-->
+</prod>
+<prod id='NT-EntityDef'><lhs>EntityDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+<!--</rhs>
+<rhs>-->| (<nt def='NT-ExternalID'>ExternalID</nt> 
+<nt def='NT-NDataDecl'>NDataDecl</nt>?)</rhs>
+<!-- <nt def='NT-ExternalDef'>ExternalDef</nt></rhs> -->
+</prod>
+<!-- FINAL EDIT: what happened to WFs here? -->
+<prod id='NT-PEDef'><lhs>PEDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt> 
+| <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod>
+</prodgroup>
+</scrap>
+The <nt def='NT-Name'>Name</nt> identifies the entity in an
+<termref def="dt-entref">entity reference</termref> or, in the case of an
+unparsed entity, in the value of an <kw>ENTITY</kw> or <kw>ENTITIES</kw>
+attribute.
+If the same entity is declared more than once, the first declaration
+encountered is binding; at user option, an XML processor may issue a
+warning if entities are declared multiple times.</termdef>
+</p>
+
+<div3 id='sec-internal-ent'>
+<head>Internal Entities</head>
+ 
+<p><termdef id='dt-internent' term="Internal Entity Replacement Text">If 
+the entity definition is an 
+<nt def='NT-EntityValue'>EntityValue</nt>,  
+the defined entity is called an <term>internal entity</term>.  
+There is no separate physical
+storage object, and the content of the entity is given in the
+declaration. </termdef>
+Note that some processing of entity and character references in the
+<termref def='dt-litentval'>literal entity value</termref> may be required to
+produce the correct <termref def='dt-repltext'>replacement 
+text</termref>: see <specref ref='intern-replacement'/>.
+</p>
+<p>An internal entity is a <termref def="dt-parsedent">parsed
+entity</termref>.</p>
+<p>Example of an internal entity declaration:
+<eg><!ENTITY Pub-Status "This is a pre-release of the
+ specification."></eg></p>
+</div3>
+ 
+<div3 id='sec-external-ent'>
+<head>External Entities</head>
+ 
+<p><termdef id="dt-extent" term="External Entity">If the entity is not
+internal, it is an <term>external
+entity</term>, declared as follows:
+<scrap lang='ebnf'>
+<head>External Entity Declaration</head>
+<!--
+<prod id='NT-ExternalDef'><lhs>ExternalDef</lhs>
+<rhs></prod> -->
+<prod id='NT-ExternalID'><lhs>ExternalID</lhs>
+<rhs>'SYSTEM' <nt def='NT-S'>S</nt> 
+<nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs>
+<rhs>| 'PUBLIC' <nt def='NT-S'>S</nt> 
+<nt def='NT-PubidLiteral'>PubidLiteral</nt> 
+<nt def='NT-S'>S</nt> 
+<nt def='NT-SystemLiteral'>SystemLiteral</nt>
+</rhs>
+</prod>
+<prod id='NT-NDataDecl'><lhs>NDataDecl</lhs>
+<rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt></rhs>
+<vc def='not-declared'/></prod>
+</scrap>
+If the <nt def='NT-NDataDecl'>NDataDecl</nt> is present, this is a
+general <termref def="dt-unparsed">unparsed
+entity</termref>; otherwise it is a parsed entity.</termdef></p>
+<vcnote id='not-declared'>
+<head>Notation Declared</head>
+<p>
+The <nt def='NT-Name'>Name</nt> must match the declared name of a
+<termref def="dt-notation">notation</termref>.
+</p>
+</vcnote>
+<p><termdef id="dt-sysid" term="System Identifier">The
+<nt def='NT-SystemLiteral'>SystemLiteral</nt> 
+is called the entity's <term>system identifier</term>. It is a URI,
+which may be used to retrieve the entity.</termdef>
+Note that the hash mark (<code>#</code>) and fragment identifier 
+frequently used with URIs are not, formally, part of the URI itself; 
+an XML processor may signal an error if a fragment identifier is 
+given as part of a system identifier.
+Unless otherwise provided by information outside the scope of this
+specification (e.g. a special XML element type defined by a particular
+DTD, or a processing instruction defined by a particular application
+specification), relative URIs are relative to the location of the
+resource within which the entity declaration occurs.
+A URI might thus be relative to the 
+<termref def='dt-docent'>document entity</termref>, to the entity
+containing the <termref def='dt-doctype'>external DTD subset</termref>, 
+or to some other <termref def='dt-extent'>external parameter entity</termref>.
+</p>
+<p>An XML processor should handle a non-ASCII character in a URI by
+representing the character in UTF-8 as one or more bytes, and then 
+escaping these bytes with the URI escaping mechanism (i.e., by
+converting each byte to %HH, where HH is the hexadecimal notation of the
+byte value).</p>
+<p><termdef id="dt-pubid" term="Public identifier">
+In addition to a system identifier, an external identifier may
+include a <term>public identifier</term>.</termdef>  
+An XML processor attempting to retrieve the entity's content may use the public
+identifier to try to generate an alternative URI.  If the processor
+is unable to do so, it must use the URI specified in the system
+literal.  Before a match is attempted, all strings
+of white space in the public identifier must be normalized to single space characters (#x20),
+and leading and trailing white space must be removed.</p>
+<p>Examples of external entity declarations:
+<eg><!ENTITY open-hatch
+         SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
+<!ENTITY open-hatch
+         PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
+         "http://www.textuality.com/boilerplate/OpenHatch.xml">
+<!ENTITY hatch-pic
+         SYSTEM "../grafix/OpenHatch.gif"
+         NDATA gif ></eg></p>
+</div3>
+ 
+</div2>
+
+<div2 id='TextEntities'>
+<head>Parsed Entities</head>
+<div3 id='sec-TextDecl'>
+<head>The Text Declaration</head>
+<p>External parsed entities may each begin with a <term>text
+declaration</term>. 
+<scrap lang='ebnf'>
+<head>Text Declaration</head>
+<prodgroup pcw4="12.5" pcw5="13">
+<prod id='NT-TextDecl'><lhs>TextDecl</lhs>
+<rhs>&xmlpio; 
+<nt def='NT-VersionInfo'>VersionInfo</nt>?
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>
+<nt def='NT-S'>S</nt>? &pic;</rhs>
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>The text declaration must be provided literally, not
+by reference to a parsed entity.
+No text declaration may appear at any position other than the beginning of
+an external parsed entity.</p>
+</div3>
+<div3 id='wf-entities'>
+<head>Well-Formed Parsed Entities</head>
+<p>The document entity is well-formed if it matches the production labeled
+<nt def='NT-document'>document</nt>.
+An external general 
+parsed entity is well-formed if it matches the production labeled
+<nt def='NT-extParsedEnt'>extParsedEnt</nt>.
+An external parameter
+entity is well-formed if it matches the production labeled
+<nt def='NT-extPE'>extPE</nt>.
+<scrap lang='ebnf'>
+<head>Well-Formed External Parsed Entity</head>
+<prod id='NT-extParsedEnt'><lhs>extParsedEnt</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>? 
+<nt def='NT-content'>content</nt></rhs>
+</prod>
+<prod id='NT-extPE'><lhs>extPE</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>? 
+<nt def='NT-extSubsetDecl'>extSubsetDecl</nt></rhs>
+</prod>
+</scrap>
+An internal general parsed entity is well-formed if its replacement text 
+matches the production labeled
+<nt def='NT-content'>content</nt>.
+All internal parameter entities are well-formed by definition.
+</p>
+<p>A consequence of well-formedness in entities is that the logical 
+and physical structures in an XML document are properly nested; no 
+<termref def='dt-stag'>start-tag</termref>,
+<termref def='dt-etag'>end-tag</termref>,
+<termref def="dt-empty">empty-element tag</termref>,
+<termref def='dt-element'>element</termref>, 
+<termref def='dt-comment'>comment</termref>, 
+<termref def='dt-pi'>processing instruction</termref>, 
+<termref def='dt-charref'>character
+reference</termref>, or
+<termref def='dt-entref'>entity reference</termref> 
+can begin in one entity and end in another.</p>
+</div3>
+<div3 id='charencoding'>
+<head>Character Encoding in Entities</head>
+ 
+<p>Each external parsed entity in an XML document may use a different
+encoding for its characters. All XML processors must be able to read
+entities in either UTF-8 or UTF-16. 
+
+</p>
+<p>Entities encoded in UTF-16 must
+begin with the Byte Order Mark described by ISO/IEC 10646 Annex E and
+Unicode Appendix B (the ZERO WIDTH NO-BREAK SPACE character, #xFEFF).
+This is an encoding signature, not part of either the markup or the
+character data of the XML document.
+XML processors must be able to use this character to
+differentiate between UTF-8 and UTF-16 encoded documents.</p>
+<p>Although an XML processor is required to read only entities in
+the UTF-8 and UTF-16 encodings, it is recognized that other encodings are
+used around the world, and it may be desired for XML processors
+to read entities that use them.
+Parsed entities which are stored in an encoding other than
+UTF-8 or UTF-16 must begin with a <titleref href='TextDecl'>text
+declaration</titleref> containing an encoding declaration:
+<scrap lang='ebnf'>
+<head>Encoding Declaration</head>
+<prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs>
+<rhs><nt def="NT-S">S</nt>
+'encoding' <nt def='NT-Eq'>Eq</nt> 
+('"' <nt def='NT-EncName'>EncName</nt> '"' | 
+"'" <nt def='NT-EncName'>EncName</nt> "'" )
+</rhs>
+</prod>
+<prod id='NT-EncName'><lhs>EncName</lhs>
+<rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs>
+<com>Encoding name contains only Latin characters</com>
+</prod>
+</scrap>
+In the <termref def='dt-docent'>document entity</termref>, the encoding
+declaration is part of the <termref def="dt-xmldecl">XML declaration</termref>.
+The <nt def="NT-EncName">EncName</nt> is the name of the encoding used.
+</p>
+<!-- FINAL EDIT:  check name of IANA and charset names -->
+<p>In an encoding declaration, the values
+"<code>UTF-8</code>",
+"<code>UTF-16</code>",
+"<code>ISO-10646-UCS-2</code>", and
+"<code>ISO-10646-UCS-4</code>" should be 
+used for the various encodings and transformations of Unicode /
+ISO/IEC 10646, the values
+"<code>ISO-8859-1</code>",
+"<code>ISO-8859-2</code>", ...
+"<code>ISO-8859-9</code>" should be used for the parts of ISO 8859, and
+the values
+"<code>ISO-2022-JP</code>",
+"<code>Shift_JIS</code>", and
+"<code>EUC-JP</code>"
+should be used for the various encoded forms of JIS X-0208-1997.  XML
+processors may recognize other encodings; it is recommended that
+character encodings registered (as <emph>charset</emph>s) 
+with the Internet Assigned Numbers
+Authority <bibref ref='IANA'/>, other than those just listed, should be
+referred to
+using their registered names.
+Note that these registered names are defined to be 
+case-insensitive, so processors wishing to match against them 
+should do so in a case-insensitive
+way.</p>
+<p>In the absence of information provided by an external
+transport protocol (e.g. HTTP or MIME), 
+it is an <termref def="dt-error">error</termref> for an entity including
+an encoding declaration to be presented to the XML processor 
+in an encoding other than that named in the declaration, 
+for an encoding declaration to occur other than at the beginning 
+of an external entity, or for
+an entity which begins with neither a Byte Order Mark nor an encoding
+declaration to use an encoding other than UTF-8.
+Note that since ASCII
+is a subset of UTF-8, ordinary ASCII entities do not strictly need
+an encoding declaration.</p>
+
+<p>It is a <termref def='dt-fatal'>fatal error</termref> when an XML processor
+encounters an entity with an encoding that it is unable to process.</p>
+<p>Examples of encoding declarations:
+<eg><?xml encoding='UTF-8'?>
+<?xml encoding='EUC-JP'?></eg></p>
+</div3>
+</div2>
+<div2 id='entproc'>
+<head>XML Processor Treatment of Entities and References</head>
+<p>The table below summarizes the contexts in which character references,
+entity references, and invocations of unparsed entities might appear and the
+required behavior of an <termref def='dt-xml-proc'>XML processor</termref> in
+each case.  
+The labels in the leftmost column describe the recognition context:
+<glist>
+<gitem><label>Reference in Content</label>
+<def><p>as a reference
+anywhere after the <termref def='dt-stag'>start-tag</termref> and
+before the <termref def='dt-etag'>end-tag</termref> of an element; corresponds
+to the nonterminal <nt def='NT-content'>content</nt>.</p></def>
+</gitem>
+<gitem>
+<label>Reference in Attribute Value</label>
+<def><p>as a reference within either the value of an attribute in a 
+<termref def='dt-stag'>start-tag</termref>, or a default
+value in an <termref def='dt-attdecl'>attribute declaration</termref>;
+corresponds to the nonterminal
+<nt def='NT-AttValue'>AttValue</nt>.</p></def></gitem>
+<gitem>
+<label>Occurs as Attribute Value</label>
+<def><p>as a <nt def='NT-Name'>Name</nt>, not a reference, appearing either as
+the value of an 
+attribute which has been declared as type <kw>ENTITY</kw>, or as one of
+the space-separated tokens in the value of an attribute which has been
+declared as type <kw>ENTITIES</kw>.</p>
+</def></gitem>
+<gitem><label>Reference in Entity Value</label>
+<def><p>as a reference
+within a parameter or internal entity's 
+<termref def='dt-litentval'>literal entity value</termref> in
+the entity's declaration; corresponds to the nonterminal 
+<nt def='NT-EntityValue'>EntityValue</nt>.</p></def></gitem>
+<gitem><label>Reference in DTD</label>
+<def><p>as a reference within either the internal or external subsets of the 
+<termref def='dt-doctype'>DTD</termref>, but outside
+of an <nt def='NT-EntityValue'>EntityValue</nt> or
+<nt def="NT-AttValue">AttValue</nt>.</p></def>
+</gitem>
+</glist></p>
+<htable border='1' cellpadding='7' align='center'>
+<htbody>
+<tr><td bgcolor='&cellback;' rowspan='2' colspan='1'></td>
+<td bgcolor='&cellback;' align='center' valign='bottom' colspan='4'>Entity Type</td>
+<td bgcolor='&cellback;' rowspan='2' align='center'>Character</td>
+</tr>
+<tr align='center' valign='bottom'>
+<td bgcolor='&cellback;'>Parameter</td>
+<td bgcolor='&cellback;'>Internal
+General</td>
+<td bgcolor='&cellback;'>External Parsed
+General</td>
+<td bgcolor='&cellback;'>Unparsed</td>
+</tr>
+<tr align='center' valign='middle'>
+
+<td bgcolor='&cellback;' align='right'>Reference
+in Content</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Not recognized</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>Included</titleref></td>
+<td bgcolor='&cellback;'><titleref href='include-if-valid'>Included if validating</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>Included</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>Reference
+in Attribute Value</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Not recognized</titleref></td>
+<td bgcolor='&cellback;'><titleref href='inliteral'>Included in literal</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>Included</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>Occurs as
+Attribute Value</td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Not recognized</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not-recognized'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='notify'>Notify</titleref></td>
+<td bgcolor='&cellback;'><titleref href='not recognized'>Not recognized</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>Reference
+in EntityValue</td>
+<td bgcolor='&cellback;'><titleref href='inliteral'>Included in literal</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>Bypassed</titleref></td>
+<td bgcolor='&cellback;'><titleref href='bypass'>Bypassed</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='included'>Included</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='&cellback;' align='right'>Reference
+in DTD</td>
+<td bgcolor='&cellback;'><titleref href='as-PE'>Included as PE</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='&cellback;'><titleref href='forbidden'>Forbidden</titleref></td>
+</tr>
+</htbody>
+</htable>
+<div3 id='not-recognized'>
+<head>Not Recognized</head>
+<p>Outside the DTD, the <code>%</code> character has no
+special significance; thus, what would be parameter entity references in the
+DTD are not recognized as markup in <nt def='NT-content'>content</nt>.
+Similarly, the names of unparsed entities are not recognized except
+when they appear in the value of an appropriately declared attribute.
+</p>
+</div3>
+<div3 id='included'>
+<head>Included</head>
+<p><termdef id="dt-include" term="Include">An entity is 
+<term>included</term> when its 
+<termref def='dt-repltext'>replacement text</termref> is retrieved 
+and processed, in place of the reference itself,
+as though it were part of the document at the location the
+reference was recognized.
+The replacement text may contain both 
+<termref def='dt-chardata'>character data</termref>
+and (except for parameter entities) <termref def="dt-markup">markup</termref>,
+which must be recognized in
+the usual way, except that the replacement text of entities used to escape
+markup delimiters (the entities &magicents;) is always treated as
+data.  (The string "<code>AT&amp;T;</code>" expands to
+"<code>AT&T;</code>" and the remaining ampersand is not recognized
+as an entity-reference delimiter.) 
+A character reference is <term>included</term> when the indicated
+character is processed in place of the reference itself.
+</termdef></p>
+</div3>
+<div3 id='include-if-valid'>
+<head>Included If Validating</head>
+<p>When an XML processor recognizes a reference to a parsed entity, in order
+to <termref def="dt-valid">validate</termref>
+the document, the processor must 
+<termref def="dt-include">include</termref> its
+replacement text.
+If the entity is external, and the processor is not
+attempting to validate the XML document, the
+processor <termref def="dt-may">may</termref>, but need not, 
+include the entity's replacement text.
+If a non-validating parser does not include the replacement text,
+it must inform the application that it recognized, but did not
+read, the entity.</p>
+<p>This rule is based on the recognition that the automatic inclusion
+provided by the SGML and XML entity mechanism, primarily designed
+to support modularity in authoring, is not necessarily 
+appropriate for other applications, in particular document browsing.
+Browsers, for example, when encountering an external parsed entity reference,
+might choose to provide a visual indication of the entity's
+presence and retrieve it for display only on demand.
+</p>
+</div3>
+<div3 id='forbidden'>
+<head>Forbidden</head>
+<p>The following are forbidden, and constitute
+<termref def='dt-fatal'>fatal</termref> errors:
+<ulist>
+<item><p>the appearance of a reference to an
+<termref def='dt-unparsed'>unparsed entity</termref>.
+</p></item>
+<item><p>the appearance of any character or general-entity reference in the
+DTD except within an <nt def='NT-EntityValue'>EntityValue</nt> or 
+<nt def="NT-AttValue">AttValue</nt>.</p></item>
+<item><p>a reference to an external entity in an attribute value.</p>
+</item>
+</ulist>
+</p>
+</div3>
+<div3 id='inliteral'>
+<head>Included in Literal</head>
+<p>When an <termref def='dt-entref'>entity reference</termref> appears in an
+attribute value, or a parameter entity reference appears in a literal entity
+value, its <termref def='dt-repltext'>replacement text</termref> is
+processed in place of the reference itself as though it
+were part of the document at the location the reference was recognized,
+except that a single or double quote character in the replacement text
+is always treated as a normal data character and will not terminate the
+literal. 
+For example, this is well-formed:
+<eg><![CDATA[<!ENTITY % YN '"Yes"' >
+<!ENTITY WhatHeSaid "He said &YN;" >]]></eg>
+while this is not:
+<eg><!ENTITY EndAttr "27'" >
+<element attribute='a-&EndAttr;></eg>
+</p></div3>
+<div3 id='notify'>
+<head>Notify</head>
+<p>When the name of an <termref def='dt-unparsed'>unparsed
+entity</termref> appears as a token in the
+value of an attribute of declared type <kw>ENTITY</kw> or <kw>ENTITIES</kw>,
+a validating processor must inform the
+application of the <termref def='dt-sysid'>system</termref> 
+and <termref def='dt-pubid'>public</termref> (if any)
+identifiers for both the entity and its associated
+<termref def="dt-notation">notation</termref>.</p>
+</div3>
+<div3 id='bypass'>
+<head>Bypassed</head>
+<p>When a general entity reference appears in the
+<nt def='NT-EntityValue'>EntityValue</nt> in an entity declaration,
+it is bypassed and left as is.</p>
+</div3>
+<div3 id='as-PE'>
+<head>Included as PE</head>
+<p>Just as with external parsed entities, parameter entities
+need only be <titleref href='include-if-valid'>included if
+validating</titleref>. 
+When a parameter-entity reference is recognized in the DTD
+and included, its 
+<termref def='dt-repltext'>replacement
+text</termref> is enlarged by the attachment of one leading and one following
+space (#x20) character; the intent is to constrain the replacement
+text of parameter 
+entities to contain an integral number of grammatical tokens in the DTD.
+</p>
+</div3>
+
+</div2>
+<div2 id='intern-replacement'>
+<head>Construction of Internal Entity Replacement Text</head>
+<p>In discussing the treatment
+of internal entities, it is  
+useful to distinguish two forms of the entity's value.
+<termdef id="dt-litentval" term='Literal Entity Value'>The <term>literal
+entity value</term> is the quoted string actually
+present in the entity declaration, corresponding to the
+non-terminal <nt def='NT-EntityValue'>EntityValue</nt>.</termdef>
+<termdef id='dt-repltext' term='Replacement Text'>The <term>replacement
+text</term> is the content of the entity, after
+replacement of character references and parameter-entity
+references.
+</termdef></p>
+
+<p>The literal entity value 
+as given in an internal entity declaration
+(<nt def='NT-EntityValue'>EntityValue</nt>) may contain character,
+parameter-entity, and general-entity references.
+Such references must be contained entirely within the
+literal entity value.
+The actual replacement text that is 
+<termref def='dt-include'>included</termref> as described above
+must contain the <emph>replacement text</emph> of any 
+parameter entities referred to, and must contain the character
+referred to, in place of any character references in the
+literal entity value; however,
+general-entity references must be left as-is, unexpanded.
+For example, given the following declarations:
+
+<eg><![CDATA[<!ENTITY % pub    "&#xc9;ditions Gallimard" >
+<!ENTITY   rights "All rights reserved" >
+<!ENTITY   book   "La Peste: Albert Camus, 
+&#xA9; 1947 %pub;. &rights;" >]]></eg>
+then the replacement text for the entity "<code>book</code>" is:
+<eg>La Peste: Albert Camus, 
+© 1947 Éditions Gallimard. &rights;</eg>
+The general-entity reference "<code>&rights;</code>" would be expanded
+should the reference "<code>&book;</code>" appear in the document's
+content or an attribute value.</p>
+<p>These simple rules may have complex interactions; for a detailed
+discussion of a difficult example, see
+<specref ref='sec-entexpand'/>.
+</p>
+
+</div2>
+<div2 id='sec-predefined-ent'>
+<head>Predefined Entities</head>
+<p><termdef id="dt-escape" term="escape">Entity and character
+references can both be used to <term>escape</term> the left angle bracket,
+ampersand, and other delimiters.   A set of general entities
+(&magicents;) is specified for this purpose.
+Numeric character references may also be used; they are
+expanded immediately when recognized and must be treated as
+character data, so the numeric character references
+"<code>&#60;</code>" and "<code>&#38;</code>" may be used to 
+escape <code><</code> and <code>&</code> when they occur
+in character data.</termdef></p>
+<p>All XML processors must recognize these entities whether they
+are declared or not.  
+<termref def='dt-interop'>For interoperability</termref>,
+valid XML documents should declare these
+entities, like any others, before using them.
+If the entities in question are declared, they must be declared
+as internal entities whose replacement text is the single
+character being escaped or a character reference to
+that character, as shown below.
+<eg><![CDATA[<!ENTITY lt     "&#60;"> 
+<!ENTITY gt     ">"> 
+<!ENTITY amp    "&#38;"> 
+<!ENTITY apos   "'"> 
+<!ENTITY quot   """> 
+]]></eg>
+Note that the <code><</code> and <code>&</code> characters
+in the declarations of "<code>lt</code>" and "<code>amp</code>"
+are doubly escaped to meet the requirement that entity replacement
+be well-formed.
+</p>
+</div2>
+
+<div2 id='Notations'>
+<head>Notation Declarations</head>
+ 
+<p><termdef id="dt-notation" term="Notation"><term>Notations</term> identify by
+name the format of <termref def="dt-extent">unparsed
+entities</termref>, the
+format of elements which bear a notation attribute, 
+or the application to which  
+a <termref def="dt-pi">processing instruction</termref> is
+addressed.</termdef></p>
+<p><termdef id="dt-notdecl" term="Notation Declaration">
+<term>Notation declarations</term>
+provide a name for the notation, for use in
+entity and attribute-list declarations and in attribute specifications,
+and an external identifier for the notation which may allow an XML
+processor or its client application to locate a helper application
+capable of processing data in the given notation.
+<scrap lang='ebnf'>
+<head>Notation Declarations</head>
+<prod id='NT-NotationDecl'><lhs>NotationDecl</lhs>
+<rhs>'<!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt> 
+(<nt def='NT-ExternalID'>ExternalID</nt> | 
+<nt def='NT-PublicID'>PublicID</nt>)
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+<prod id='NT-PublicID'><lhs>PublicID</lhs>
+<rhs>'PUBLIC' <nt def='NT-S'>S</nt> 
+<nt def='NT-PubidLiteral'>PubidLiteral</nt> 
+</rhs></prod>
+</scrap>
+</termdef></p>
+<p>XML processors must provide applications with the name and external
+identifier(s) of any notation declared and referred to in an attribute
+value, attribute definition, or entity declaration.  They may
+additionally resolve the external identifier into the
+<termref def="dt-sysid">system identifier</termref>,
+file name, or other information needed to allow the
+application to call a processor for data in the notation described.  (It
+is not an error, however, for XML documents to declare and refer to
+notations for which notation-specific applications are not available on
+the system where the XML processor or application is running.)</p>
+</div2>
+
+ 
+<div2 id='sec-doc-entity'>
+<head>Document Entity</head>
+ 
+<p><termdef id="dt-docent" term="Document Entity">The <term>document
+entity</term> serves as the root of the entity
+tree and a starting-point for an <termref def="dt-xml-proc">XML
+processor</termref>.</termdef>
+This specification does
+not specify how the document entity is to be located by an XML
+processor; unlike other entities, the document entity has no name and might
+well appear on a processor input stream 
+without any identification at all.</p>
+</div2>
+
+
+</div1>
+<!-- &Conformance; -->
+ 
+<div1 id='sec-conformance'>
+<head>Conformance</head>
+ 
+<div2 id='proc-types'>
+<head>Validating and Non-Validating Processors</head>
+<p>Conforming <termref def="dt-xml-proc">XML processors</termref> fall into two
+classes: validating and non-validating.</p>
+<p>Validating and non-validating processors alike must report
+violations of this specification's well-formedness constraints
+in the content of the
+<termref def='dt-docent'>document entity</termref> and any 
+other <termref def='dt-parsedent'>parsed entities</termref> that 
+they read.</p>
+<p><termdef id="dt-validating" term="Validating Processor">
+<term>Validating processors</term> must report
+violations of the constraints expressed by the declarations in the
+<termref def="dt-doctype">DTD</termref>, and
+failures to fulfill the validity constraints given
+in this specification.
+</termdef>
+To accomplish this, validating XML processors must read and process the entire
+DTD and all external parsed entities referenced in the document.
+</p>
+<p>Non-validating processors are required to check only the 
+<termref def='dt-docent'>document entity</termref>, including
+the entire internal DTD subset, for well-formedness.
+<termdef id='dt-use-mdecl' term='Process Declarations'>
+While they are not required to check the document for validity,
+they are required to 
+<term>process</term> all the declarations they read in the
+internal DTD subset and in any parameter entity that they
+read, up to the first reference
+to a parameter entity that they do <emph>not</emph> read; that is to 
+say, they must
+use the information in those declarations to
+<titleref href='AVNormalize'>normalize</titleref> attribute values,
+<titleref href='included'>include</titleref> the replacement text of 
+internal entities, and supply 
+<titleref href='sec-attr-defaults'>default attribute values</titleref>.
+</termdef>
+They must not <termref def='dt-use-mdecl'>process</termref>
+<termref def='dt-entdecl'>entity declarations</termref> or 
+<termref def='dt-attdecl'>attribute-list declarations</termref> 
+encountered after a reference to a parameter entity that is not
+read, since the entity may have contained overriding declarations.
+</p>
+</div2>
+<div2 id='safe-behavior'>
+<head>Using XML Processors</head>
+<p>The behavior of a validating XML processor is highly predictable; it
+must read every piece of a document and report all well-formedness and
+validity violations.
+Less is required of a non-validating processor; it need not read any
+part of the document other than the document entity.
+This has two effects that may be important to users of XML processors:
+<ulist>
+<item><p>Certain well-formedness errors, specifically those that require
+reading external entities, may not be detected by a non-validating processor.
+Examples include the constraints entitled 
+<titleref href='wf-entdeclared'>Entity Declared</titleref>, 
+<titleref href='wf-textent'>Parsed Entity</titleref>, and
+<titleref href='wf-norecursion'>No Recursion</titleref>, as well
+as some of the cases described as
+<titleref href='forbidden'>forbidden</titleref> in 
+<specref ref='entproc'/>.</p></item>
+<item><p>The information passed from the processor to the application may
+vary, depending on whether the processor reads
+parameter and external entities.
+For example, a non-validating processor may not 
+<titleref href='AVNormalize'>normalize</titleref> attribute values,
+<titleref href='included'>include</titleref> the replacement text of 
+internal entities, or supply 
+<titleref href='sec-attr-defaults'>default attribute values</titleref>,
+where doing so depends on having read declarations in 
+external or parameter entities.</p></item>
+</ulist>
+</p>
+<p>For maximum reliability in interoperating between different XML
+processors, applications which use non-validating processors should not 
+rely on any behaviors not required of such processors.
+Applications which require facilities such as the use of default
+attributes or internal entities which are declared in external
+entities should use validating XML processors.</p>
+</div2>
+</div1>
+
+<div1 id='sec-notation'>
+<head>Notation</head>
+ 
+<p>The formal grammar of XML is given in this specification using a simple
+Extended Backus-Naur Form (EBNF) notation.  Each rule in the grammar defines
+one symbol, in the form
+<eg>symbol ::= expression</eg></p>
+<p>Symbols are written with an initial capital letter if they are
+defined by a regular expression, or with an initial lower case letter 
+otherwise.
+Literal strings are quoted.
+
+</p>
+
+<p>Within the expression on the right-hand side of a rule, the following
+expressions are used to match strings of one or more characters:
+<glist>
+<gitem>
+<label><code>#xN</code></label>
+<def><p>where <code>N</code> is a hexadecimal integer, the
+expression matches the character in ISO/IEC 10646 whose canonical
+(UCS-4) 
+code value, when interpreted as an unsigned binary number, has
+the value indicated.  The number of leading zeros in the
+<code>#xN</code> form is insignificant; the number of leading
+zeros in the corresponding code value 
+is governed by the character
+encoding in use and is not significant for XML.</p></def>
+</gitem>
+<gitem>
+<label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label>
+<def><p>matches any <termref def='dt-character'>character</termref> 
+with a value in the range(s) indicated (inclusive).</p></def>
+</gitem>
+<gitem>
+<label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label>
+<def><p>matches any <termref def='dt-character'>character</termref> 
+with a value <emph>outside</emph> the
+range indicated.</p></def>
+</gitem>
+<gitem>
+<label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label>
+<def><p>matches any <termref def='dt-character'>character</termref>
+with a value not among the characters given.</p></def>
+</gitem>
+<gitem>
+<label><code>"string"</code></label>
+<def><p>matches a literal string <termref def="dt-match">matching</termref>
+that given inside the double quotes.</p></def>
+</gitem>
+<gitem>
+<label><code>'string'</code></label>
+<def><p>matches a literal string <termref def="dt-match">matching</termref>
+that given inside the single quotes.</p></def>
+</gitem>
+</glist>
+These symbols may be combined to match more complex patterns as follows,
+where <code>A</code> and <code>B</code> represent simple expressions:
+<glist>
+<gitem>
+<label>(<code>expression</code>)</label>
+<def><p><code>expression</code> is treated as a unit 
+and may be combined as described in this list.</p></def>
+</gitem>
+<gitem>
+<label><code>A?</code></label>
+<def><p>matches <code>A</code> or nothing; optional <code>A</code>.</p></def>
+</gitem>
+<gitem>
+<label><code>A B</code></label>
+<def><p>matches <code>A</code> followed by <code>B</code>.</p></def>
+</gitem>
+<gitem>
+<label><code>A | B</code></label>
+<def><p>matches <code>A</code> or <code>B</code> but not both.</p></def>
+</gitem>
+<gitem>
+<label><code>A - B</code></label>
+<def><p>matches any string that matches <code>A</code> but does not match
+<code>B</code>.
+</p></def>
+</gitem>
+<gitem>
+<label><code>A+</code></label>
+<def><p>matches one or more occurrences of <code>A</code>.</p></def>
+</gitem>
+<gitem>
+<label><code>A*</code></label>
+<def><p>matches zero or more occurrences of <code>A</code>.</p></def>
+</gitem>
+
+</glist>
+Other notations used in the productions are:
+<glist>
+<gitem>
+<label><code>/* ... */</code></label>
+<def><p>comment.</p></def>
+</gitem>
+<gitem>
+<label><code>[ wfc: ... ]</code></label>
+<def><p>well-formedness constraint; this identifies by name a 
+constraint on 
+<termref def="dt-wellformed">well-formed</termref> documents
+associated with a production.</p></def>
+</gitem>
+<gitem>
+<label><code>[ vc: ... ]</code></label>
+<def><p>validity constraint; this identifies by name a constraint on
+<termref def="dt-valid">valid</termref> documents associated with
+a production.</p></def>
+</gitem>
+</glist>
+</p></div1>
+
+</body>
+<back>
+<!-- &SGML; -->
+ 
+
+<!-- &Biblio; -->
+<div1 id='sec-bibliography'>
+
+<head>References</head>
+<div2 id='sec-existing-stds'>
+<head>Normative References</head>
+
+<blist>
+<bibl id='IANA' key='IANA'>
+(Internet Assigned Numbers Authority) <emph>Official Names for 
+Character Sets</emph>,
+ed. Keld Simonsen et al.
+See <loc href='ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets'>ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets</loc>.
+</bibl>
+
+<bibl id='RFC1766' key='IETF RFC 1766'>
+IETF (Internet Engineering Task Force).
+<emph>RFC 1766:  Tags for the Identification of Languages</emph>,
+ed. H. Alvestrand.
+1995.
+</bibl>
+
+<bibl id='ISO639' key='ISO 639'>
+(International Organization for Standardization).
+<emph>ISO 639:1988 (E).
+Code for the representation of names of languages.</emph>
+[Geneva]:  International Organization for
+Standardization, 1988.</bibl>
+
+<bibl id='ISO3166' key='ISO 3166'>
+(International Organization for Standardization).
+<emph>ISO 3166-1:1997 (E).
+Codes for the representation of names of countries and their subdivisions 
+— Part 1: Country codes</emph>
+[Geneva]:  International Organization for
+Standardization, 1997.</bibl>
+
+<bibl id='ISO10646' key='ISO/IEC 10646'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10646-1993 (E).  Information technology — Universal
+Multiple-Octet Coded Character Set (UCS) — Part 1:
+Architecture and Basic Multilingual Plane.</emph>
+[Geneva]:  International Organization for
+Standardization, 1993 (plus amendments AM 1 through AM 7).
+</bibl>
+
+<bibl id='Unicode' key='Unicode'>The Unicode Consortium.
+<emph>The Unicode Standard, Version 2.0.</emph>
+Reading, Mass.:  Addison-Wesley Developers Press, 1996.</bibl>
+
+</blist>
+
+</div2>
+
+<div2><head>Other References</head> 
+
+<blist>
+
+<bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V., 
+Ravi Sethi, and Jeffrey D. Ullman.
+<emph>Compilers:  Principles, Techniques, and Tools</emph>.
+Reading:  Addison-Wesley, 1986, rpt. corr. 1988.</bibl>
+
+<bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al.">
+Berners-Lee, T., R. Fielding, and L. Masinter.
+<emph>Uniform Resource Identifiers (URI):  Generic Syntax and
+Semantics</emph>.
+1997.
+(Work in progress; see updates to RFC1738.)</bibl>
+
+<bibl id='ABK' key='Br�ggemann-Klein'>Br�ggemann-Klein, Anne.
+<emph>Regular Expressions into Finite Automata</emph>.
+Extended abstract in I. Simon, Hrsg., LATIN 1992, 
+S. 97-98. Springer-Verlag, Berlin 1992. 
+Full Version in Theoretical Computer Science 120: 197-213, 1993.
+
+</bibl>
+
+<bibl id='ABKDW' key='Br�ggemann-Klein and Wood'>Br�ggemann-Klein, Anne,
+and Derick Wood.
+<emph>Deterministic Regular Languages</emph>.
+Universit�t Freiburg, Institut f�r Informatik,
+Bericht 38, Oktober 1991.
+</bibl>
+
+<bibl id='Clark' key='Clark'>James Clark.
+Comparison of SGML and XML. See
+<loc href='http://www.w3.org/TR/NOTE-sgml-xml-971215'>http://www.w3.org/TR/NOTE-sgml-xml-971215</loc>.
+</bibl>
+<bibl id="RFC1738" xml-link="simple" key="IETF RFC1738">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1738:  Uniform Resource Locators (URL)</emph>, 
+ed. T. Berners-Lee, L. Masinter, M. McCahill.
+1994.
+</bibl>
+
+<bibl id="RFC1808" xml-link="simple" key="IETF RFC1808">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1808:  Relative Uniform Resource Locators</emph>, 
+ed. R. Fielding.
+1995.
+</bibl>
+
+<bibl id="RFC2141" xml-link="simple" key="IETF RFC2141">
+IETF (Internet Engineering Task Force).
+<emph>RFC 2141:  URN Syntax</emph>, 
+ed. R. Moats.
+1997.
+</bibl>
+
+<bibl id='ISO8879' key='ISO 8879'>ISO
+(International Organization for Standardization).
+<emph>ISO 8879:1986(E).  Information processing — Text and Office
+Systems — Standard Generalized Markup Language (SGML).</emph>  First
+edition — 1986-10-15.  [Geneva]:  International Organization for
+Standardization, 1986.
+</bibl>
+
+
+<bibl id='ISO10744' key='ISO/IEC 10744'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10744-1992 (E).  Information technology —
+Hypermedia/Time-based Structuring Language (HyTime).
+</emph>
+[Geneva]:  International Organization for
+Standardization, 1992.
+<emph>Extended Facilities Annexe.</emph>
+[Geneva]:  International Organization for
+Standardization, 1996. 
+</bibl>
+
+
+
+</blist>
+</div2>
+</div1>
+<div1 id='CharClasses'>
+<head>Character Classes</head>
+<p>Following the characteristics defined in the Unicode standard,
+characters are classed as base characters (among others, these
+contain the alphabetic characters of the Latin alphabet, without
+diacritics), ideographic characters, and combining characters (among
+others, this class contains most diacritics); these classes combine
+to form the class of letters.  Digits and extenders are
+also distinguished.
+<scrap lang="ebnf" id="CHARACTERS">
+<head>Characters</head>
+<prodgroup pcw3="3" pcw4="15">
+<prod id="NT-Letter"><lhs>Letter</lhs>
+<rhs><nt def="NT-BaseChar">BaseChar</nt> 
+| <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod>
+<prod id='NT-BaseChar'><lhs>BaseChar</lhs>
+<rhs>[#x0041-#x005A]
+| [#x0061-#x007A]
+| [#x00C0-#x00D6]
+| [#x00D8-#x00F6]
+| [#x00F8-#x00FF]
+| [#x0100-#x0131]
+| [#x0134-#x013E]
+| [#x0141-#x0148]
+| [#x014A-#x017E]
+| [#x0180-#x01C3]
+| [#x01CD-#x01F0]
+| [#x01F4-#x01F5]
+| [#x01FA-#x0217]
+| [#x0250-#x02A8]
+| [#x02BB-#x02C1]
+| #x0386
+| [#x0388-#x038A]
+| #x038C
+| [#x038E-#x03A1]
+| [#x03A3-#x03CE]
+| [#x03D0-#x03D6]
+| #x03DA
+| #x03DC
+| #x03DE
+| #x03E0
+| [#x03E2-#x03F3]
+| [#x0401-#x040C]
+| [#x040E-#x044F]
+| [#x0451-#x045C]
+| [#x045E-#x0481]
+| [#x0490-#x04C4]
+| [#x04C7-#x04C8]
+| [#x04CB-#x04CC]
+| [#x04D0-#x04EB]
+| [#x04EE-#x04F5]
+| [#x04F8-#x04F9]
+| [#x0531-#x0556]
+| #x0559
+| [#x0561-#x0586]
+| [#x05D0-#x05EA]
+| [#x05F0-#x05F2]
+| [#x0621-#x063A]
+| [#x0641-#x064A]
+| [#x0671-#x06B7]
+| [#x06BA-#x06BE]
+| [#x06C0-#x06CE]
+| [#x06D0-#x06D3]
+| #x06D5
+| [#x06E5-#x06E6]
+| [#x0905-#x0939]
+| #x093D
+| [#x0958-#x0961]
+| [#x0985-#x098C]
+| [#x098F-#x0990]
+| [#x0993-#x09A8]
+| [#x09AA-#x09B0]
+| #x09B2
+| [#x09B6-#x09B9]
+| [#x09DC-#x09DD]
+| [#x09DF-#x09E1]
+| [#x09F0-#x09F1]
+| [#x0A05-#x0A0A]
+| [#x0A0F-#x0A10]
+| [#x0A13-#x0A28]
+| [#x0A2A-#x0A30]
+| [#x0A32-#x0A33]
+| [#x0A35-#x0A36]
+| [#x0A38-#x0A39]
+| [#x0A59-#x0A5C]
+| #x0A5E
+| [#x0A72-#x0A74]
+| [#x0A85-#x0A8B]
+| #x0A8D
+| [#x0A8F-#x0A91]
+| [#x0A93-#x0AA8]
+| [#x0AAA-#x0AB0]
+| [#x0AB2-#x0AB3]
+| [#x0AB5-#x0AB9]
+| #x0ABD
+| #x0AE0
+| [#x0B05-#x0B0C]
+| [#x0B0F-#x0B10]
+| [#x0B13-#x0B28]
+| [#x0B2A-#x0B30]
+| [#x0B32-#x0B33]
+| [#x0B36-#x0B39]
+| #x0B3D
+| [#x0B5C-#x0B5D]
+| [#x0B5F-#x0B61]
+| [#x0B85-#x0B8A]
+| [#x0B8E-#x0B90]
+| [#x0B92-#x0B95]
+| [#x0B99-#x0B9A]
+| #x0B9C
+| [#x0B9E-#x0B9F]
+| [#x0BA3-#x0BA4]
+| [#x0BA8-#x0BAA]
+| [#x0BAE-#x0BB5]
+| [#x0BB7-#x0BB9]
+| [#x0C05-#x0C0C]
+| [#x0C0E-#x0C10]
+| [#x0C12-#x0C28]
+| [#x0C2A-#x0C33]
+| [#x0C35-#x0C39]
+| [#x0C60-#x0C61]
+| [#x0C85-#x0C8C]
+| [#x0C8E-#x0C90]
+| [#x0C92-#x0CA8]
+| [#x0CAA-#x0CB3]
+| [#x0CB5-#x0CB9]
+| #x0CDE
+| [#x0CE0-#x0CE1]
+| [#x0D05-#x0D0C]
+| [#x0D0E-#x0D10]
+| [#x0D12-#x0D28]
+| [#x0D2A-#x0D39]
+| [#x0D60-#x0D61]
+| [#x0E01-#x0E2E]
+| #x0E30
+| [#x0E32-#x0E33]
+| [#x0E40-#x0E45]
+| [#x0E81-#x0E82]
+| #x0E84
+| [#x0E87-#x0E88]
+| #x0E8A
+| #x0E8D
+| [#x0E94-#x0E97]
+| [#x0E99-#x0E9F]
+| [#x0EA1-#x0EA3]
+| #x0EA5
+| #x0EA7
+| [#x0EAA-#x0EAB]
+| [#x0EAD-#x0EAE]
+| #x0EB0
+| [#x0EB2-#x0EB3]
+| #x0EBD
+| [#x0EC0-#x0EC4]
+| [#x0F40-#x0F47]
+| [#x0F49-#x0F69]
+| [#x10A0-#x10C5]
+| [#x10D0-#x10F6]
+| #x1100
+| [#x1102-#x1103]
+| [#x1105-#x1107]
+| #x1109
+| [#x110B-#x110C]
+| [#x110E-#x1112]
+| #x113C
+| #x113E
+| #x1140
+| #x114C
+| #x114E
+| #x1150
+| [#x1154-#x1155]
+| #x1159
+| [#x115F-#x1161]
+| #x1163
+| #x1165
+| #x1167
+| #x1169
+| [#x116D-#x116E]
+| [#x1172-#x1173]
+| #x1175
+| #x119E
+| #x11A8
+| #x11AB
+| [#x11AE-#x11AF]
+| [#x11B7-#x11B8]
+| #x11BA
+| [#x11BC-#x11C2]
+| #x11EB
+| #x11F0
+| #x11F9
+| [#x1E00-#x1E9B]
+| [#x1EA0-#x1EF9]
+| [#x1F00-#x1F15]
+| [#x1F18-#x1F1D]
+| [#x1F20-#x1F45]
+| [#x1F48-#x1F4D]
+| [#x1F50-#x1F57]
+| #x1F59
+| #x1F5B
+| #x1F5D
+| [#x1F5F-#x1F7D]
+| [#x1F80-#x1FB4]
+| [#x1FB6-#x1FBC]
+| #x1FBE
+| [#x1FC2-#x1FC4]
+| [#x1FC6-#x1FCC]
+| [#x1FD0-#x1FD3]
+| [#x1FD6-#x1FDB]
+| [#x1FE0-#x1FEC]
+| [#x1FF2-#x1FF4]
+| [#x1FF6-#x1FFC]
+| #x2126
+| [#x212A-#x212B]
+| #x212E
+| [#x2180-#x2182]
+| [#x3041-#x3094]
+| [#x30A1-#x30FA]
+| [#x3105-#x312C]
+| [#xAC00-#xD7A3]
+</rhs></prod>
+<prod id='NT-Ideographic'><lhs>Ideographic</lhs>
+<rhs>[#x4E00-#x9FA5]
+| #x3007
+| [#x3021-#x3029]
+</rhs></prod>
+<prod id='NT-CombiningChar'><lhs>CombiningChar</lhs>
+<rhs>[#x0300-#x0345]
+| [#x0360-#x0361]
+| [#x0483-#x0486]
+| [#x0591-#x05A1]
+| [#x05A3-#x05B9]
+| [#x05BB-#x05BD]
+| #x05BF
+| [#x05C1-#x05C2]
+| #x05C4
+| [#x064B-#x0652]
+| #x0670
+| [#x06D6-#x06DC]
+| [#x06DD-#x06DF]
+| [#x06E0-#x06E4]
+| [#x06E7-#x06E8]
+| [#x06EA-#x06ED]
+| [#x0901-#x0903]
+| #x093C
+| [#x093E-#x094C]
+| #x094D
+| [#x0951-#x0954]
+| [#x0962-#x0963]
+| [#x0981-#x0983]
+| #x09BC
+| #x09BE
+| #x09BF
+| [#x09C0-#x09C4]
+| [#x09C7-#x09C8]
+| [#x09CB-#x09CD]
+| #x09D7
+| [#x09E2-#x09E3]
+| #x0A02
+| #x0A3C
+| #x0A3E
+| #x0A3F
+| [#x0A40-#x0A42]
+| [#x0A47-#x0A48]
+| [#x0A4B-#x0A4D]
+| [#x0A70-#x0A71]
+| [#x0A81-#x0A83]
+| #x0ABC
+| [#x0ABE-#x0AC5]
+| [#x0AC7-#x0AC9]
+| [#x0ACB-#x0ACD]
+| [#x0B01-#x0B03]
+| #x0B3C
+| [#x0B3E-#x0B43]
+| [#x0B47-#x0B48]
+| [#x0B4B-#x0B4D]
+| [#x0B56-#x0B57]
+| [#x0B82-#x0B83]
+| [#x0BBE-#x0BC2]
+| [#x0BC6-#x0BC8]
+| [#x0BCA-#x0BCD]
+| #x0BD7
+| [#x0C01-#x0C03]
+| [#x0C3E-#x0C44]
+| [#x0C46-#x0C48]
+| [#x0C4A-#x0C4D]
+| [#x0C55-#x0C56]
+| [#x0C82-#x0C83]
+| [#x0CBE-#x0CC4]
+| [#x0CC6-#x0CC8]
+| [#x0CCA-#x0CCD]
+| [#x0CD5-#x0CD6]
+| [#x0D02-#x0D03]
+| [#x0D3E-#x0D43]
+| [#x0D46-#x0D48]
+| [#x0D4A-#x0D4D]
+| #x0D57
+| #x0E31
+| [#x0E34-#x0E3A]
+| [#x0E47-#x0E4E]
+| #x0EB1
+| [#x0EB4-#x0EB9]
+| [#x0EBB-#x0EBC]
+| [#x0EC8-#x0ECD]
+| [#x0F18-#x0F19]
+| #x0F35
+| #x0F37
+| #x0F39
+| #x0F3E
+| #x0F3F
+| [#x0F71-#x0F84]
+| [#x0F86-#x0F8B]
+| [#x0F90-#x0F95]
+| #x0F97
+| [#x0F99-#x0FAD]
+| [#x0FB1-#x0FB7]
+| #x0FB9
+| [#x20D0-#x20DC]
+| #x20E1
+| [#x302A-#x302F]
+| #x3099
+| #x309A
+</rhs></prod>
+<prod id='NT-Digit'><lhs>Digit</lhs>
+<rhs>[#x0030-#x0039]
+| [#x0660-#x0669]
+| [#x06F0-#x06F9]
+| [#x0966-#x096F]
+| [#x09E6-#x09EF]
+| [#x0A66-#x0A6F]
+| [#x0AE6-#x0AEF]
+| [#x0B66-#x0B6F]
+| [#x0BE7-#x0BEF]
+| [#x0C66-#x0C6F]
+| [#x0CE6-#x0CEF]
+| [#x0D66-#x0D6F]
+| [#x0E50-#x0E59]
+| [#x0ED0-#x0ED9]
+| [#x0F20-#x0F29]
+</rhs></prod>
+<prod id='NT-Extender'><lhs>Extender</lhs>
+<rhs>#x00B7
+| #x02D0
+| #x02D1
+| #x0387
+| #x0640
+| #x0E46
+| #x0EC6
+| #x3005
+| [#x3031-#x3035]
+| [#x309D-#x309E]
+| [#x30FC-#x30FE]
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>The character classes defined here can be derived from the
+Unicode character database as follows:
+<ulist>
+<item>
+<p>Name start characters must have one of the categories Ll, Lu,
+Lo, Lt, Nl.</p>
+</item>
+<item>
+<p>Name characters other than Name-start characters 
+must have one of the categories Mc, Me, Mn, Lm, or Nd.</p>
+</item>
+<item>
+<p>Characters in the compatibility area (i.e. with character code
+greater than #xF900 and less than #xFFFE) are not allowed in XML
+names.</p>
+</item>
+<item>
+<p>Characters which have a font or compatibility decomposition (i.e. those
+with a "compatibility formatting tag" in field 5 of the database --
+marked by field 5 beginning with a "<") are not allowed.</p>
+</item>
+<item>
+<p>The following characters are treated as name-start characters
+rather than name characters, because the property file classifies
+them as Alphabetic:  [#x02BB-#x02C1], #x0559, #x06E5, #x06E6.</p>
+</item>
+<item>
+<p>Characters #x20DD-#x20E0 are excluded (in accordance with 
+Unicode, section 5.14).</p>
+</item>
+<item>
+<p>Character #x00B7 is classified as an extender, because the
+property list so identifies it.</p>
+</item>
+<item>
+<p>Character #x0387 is added as a name character, because #x00B7
+is its canonical equivalent.</p>
+</item>
+<item>
+<p>Characters ':' and '_' are allowed as name-start characters.</p>
+</item>
+<item>
+<p>Characters '-' and '.' are allowed as name characters.</p>
+</item>
+</ulist>
+</p>
+</div1>
+<inform-div1 id="sec-xml-and-sgml">
+<head>XML and SGML</head>
+ 
+<p>XML is designed to be a subset of SGML, in that every
+<termref def="dt-valid">valid</termref> XML document should also be a
+conformant SGML document.
+For a detailed comparison of the additional restrictions that XML places on
+documents beyond those of SGML, see <bibref ref='Clark'/>.
+</p>
+</inform-div1>
+<inform-div1 id="sec-entexpand">
+<head>Expansion of Entity and Character References</head>
+<p>This appendix contains some examples illustrating the
+sequence of entity- and character-reference recognition and
+expansion, as specified in <specref ref='entproc'/>.</p>
+<p>
+If the DTD contains the declaration 
+<eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;) may be escaped
+numerically (&#38;#38;) or with a general entity
+(&amp;).</p>" >
+]]></eg>
+then the XML processor will recognize the character references 
+when it parses the entity declaration, and resolve them before 
+storing the following string as the
+value of the entity "<code>example</code>":
+<eg><![CDATA[<p>An ampersand (&) may be escaped
+numerically (&#38;) or with a general entity
+(&amp;).</p>
+]]></eg>
+A reference in the document to "<code>&example;</code>" 
+will cause the text to be reparsed, at which time the 
+start- and end-tags of the "<code>p</code>" element will be recognized 
+and the three references will be recognized and expanded, 
+resulting in a "<code>p</code>" element with the following content
+(all data, no delimiters or markup):
+<eg><![CDATA[An ampersand (&) may be escaped
+numerically (&) or with a general entity
+(&).
+]]></eg>
+</p>
+<p>A more complex example will illustrate the rules and their
+effects fully.  In the following example, the line numbers are
+solely for reference.
+<eg><![CDATA[1 <?xml version='1.0'?>
+2 <!DOCTYPE test [
+3 <!ELEMENT test (#PCDATA) >
+4 <!ENTITY % xx '%zz;'>
+5 <!ENTITY % zz '<!ENTITY tricky "error-prone" >' >
+6 %xx;
+7 ]>
+8 <test>This sample shows a &tricky; method.</test>
+]]></eg>
+This produces the following:
+<ulist spacing="compact">
+<item><p>in line 4, the reference to character 37 is expanded immediately,
+and the parameter entity "<code>xx</code>" is stored in the symbol
+table with the value "<code>%zz;</code>".  Since the replacement text
+is not rescanned, the reference to parameter entity "<code>zz</code>"
+is not recognized.  (And it would be an error if it were, since
+"<code>zz</code>" is not yet declared.)</p></item>
+<item><p>in line 5, the character reference "<code>&#60;</code>" is
+expanded immediately and the parameter entity "<code>zz</code>" is
+stored with the replacement text 
+"<code><!ENTITY tricky "error-prone" ></code>",
+which is a well-formed entity declaration.</p></item>
+<item><p>in line 6, the reference to "<code>xx</code>" is recognized,
+and the replacement text of "<code>xx</code>" (namely 
+"<code>%zz;</code>") is parsed.  The reference to "<code>zz</code>"
+is recognized in its turn, and its replacement text 
+("<code><!ENTITY tricky "error-prone" ></code>") is parsed.
+The general entity "<code>tricky</code>" has now been
+declared, with the replacement text "<code>error-prone</code>".</p></item>
+<item><p>
+in line 8, the reference to the general entity "<code>tricky</code>" is
+recognized, and it is expanded, so the full content of the
+"<code>test</code>" element is the self-describing (and ungrammatical) string
+<emph>This sample shows a error-prone method.</emph>
+</p></item>
+</ulist>
+</p>
+</inform-div1> 
+<inform-div1 id="determinism">
+<head>Deterministic Content Models</head>
+<p><termref def='dt-compat'>For compatibility</termref>, it is
+required
+that content models in element type declarations be deterministic.  
+</p>
+<!-- FINAL EDIT:  WebSGML allows ambiguity? -->
+<p>SGML
+requires deterministic content models (it calls them
+"unambiguous"); XML processors built using SGML systems may
+flag non-deterministic content models as errors.</p>
+<p>For example, the content model <code>((b, c) | (b, d))</code> is
+non-deterministic, because given an initial <code>b</code> the parser
+cannot know which <code>b</code> in the model is being matched without
+looking ahead to see which element follows the <code>b</code>.
+In this case, the two references to
+<code>b</code> can be collapsed 
+into a single reference, making the model read
+<code>(b, (c | d))</code>.  An initial <code>b</code> now clearly
+matches only a single name in the content model.  The parser doesn't
+need to look ahead to see what follows; either <code>c</code> or
+<code>d</code> would be accepted.</p>
+<p>More formally:  a finite state automaton may be constructed from the
+content model using the standard algorithms, e.g. algorithm 3.5 
+in section 3.9
+of Aho, Sethi, and Ullman <bibref ref='Aho'/>.
+In many such algorithms, a follow set is constructed for each 
+position in the regular expression (i.e., each leaf 
+node in the 
+syntax tree for the regular expression);
+if any position has a follow set in which 
+more than one following position is 
+labeled with the same element type name, 
+then the content model is in error
+and may be reported as an error.
+</p>
+<p>Algorithms exist which allow many but not all non-deterministic
+content models to be reduced automatically to equivalent deterministic
+models; see Br�ggemann-Klein 1991 <bibref ref='ABK'/>.</p>
+</inform-div1>
+<inform-div1 id="sec-guessing">
+<head>Autodetection of Character Encodings</head>
+<p>The XML encoding declaration functions as an internal label on each
+entity, indicating which character encoding is in use.  Before an XML
+processor can read the internal label, however, it apparently has to
+know what character encoding is in use—which is what the internal label
+is trying to indicate.  In the general case, this is a hopeless
+situation. It is not entirely hopeless in XML, however, because XML
+limits the general case in two ways:  each implementation is assumed
+to support only a  finite set of character encodings, and the XML
+encoding declaration is restricted in position and content in order to
+make it feasible to autodetect the character encoding in use in each
+entity in normal cases.  Also, in many cases other sources of information
+are available in addition to the XML data stream itself.  
+Two cases may be distinguished, 
+depending on whether the XML entity is presented to the
+processor without, or with, any accompanying
+(external) information.  We consider the first case first.
+</p>
+<p>
+Because each XML entity not in UTF-8 or UTF-16 format <emph>must</emph>
+begin with an XML encoding declaration, in which the first  characters
+must be '<code><?xml</code>', any conforming processor can detect,
+after two to four octets of input, which of the following cases apply. 
+In reading this list, it may help to know that in UCS-4, '<' is
+"<code>#x0000003C</code>" and '?' is "<code>#x0000003F</code>", and the Byte
+Order Mark required of UTF-16 data streams is "<code>#xFEFF</code>".</p>
+<p>
+<ulist>
+<item>
+<p><code>00 00 00 3C</code>: UCS-4, big-endian machine (1234 order)</p>
+</item>
+<item>
+<p><code>3C 00 00 00</code>: UCS-4, little-endian machine (4321 order)</p>
+</item>
+<item>
+<p><code>00 00 3C 00</code>: UCS-4, unusual octet order (2143)</p>
+</item>
+<item>
+<p><code>00 3C 00 00</code>: UCS-4, unusual octet order (3412)</p>
+</item>
+<item>
+<p><code>FE FF</code>: UTF-16, big-endian</p>
+</item>
+<item>
+<p><code>FF FE</code>: UTF-16, little-endian</p>
+</item>
+<item>
+<p><code>00 3C 00 3F</code>: UTF-16, big-endian, no Byte Order Mark
+(and thus, strictly speaking, in error)</p>
+</item>
+<item>
+<p><code>3C 00 3F 00</code>: UTF-16, little-endian, no Byte Order Mark
+(and thus, strictly speaking, in error)</p>
+</item>
+<item>
+<p><code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, some part of ISO 8859, 
+Shift-JIS, EUC, or any other 7-bit, 8-bit, or mixed-width encoding
+which ensures that the characters of ASCII have their normal positions,
+width,
+and values; the actual encoding declaration must be read to 
+detect which of these applies, but since all of these encodings
+use the same bit patterns for the ASCII characters, the encoding 
+declaration itself may be read reliably
+</p>
+</item>
+<item>
+<p><code>4C 6F A7 94</code>: EBCDIC (in some flavor; the full
+encoding declaration must be read to tell which code page is in 
+use)</p>
+</item>
+<item>
+<p>other: UTF-8 without an encoding declaration, or else 
+the data stream is corrupt, fragmentary, or enclosed in
+a wrapper of some kind</p>
+</item>
+</ulist>
+</p>
+<p>
+This level of autodetection is enough to read the XML encoding
+declaration and parse the character-encoding identifier, which is
+still necessary to distinguish the individual members of each family
+of encodings (e.g. to tell  UTF-8 from 8859, and the parts of 8859
+from each other, or to distinguish the specific EBCDIC code page in
+use, and so on).
+</p>
+<p>
+Because the contents of the encoding declaration are restricted to
+ASCII characters, a processor can reliably read the entire encoding
+declaration as soon as it has detected which family of encodings is in
+use.  Since in practice, all widely used character encodings fall into
+one of the categories above, the XML encoding declaration allows
+reasonably reliable in-band labeling of character encodings, even when
+external sources of information at the operating-system or
+transport-protocol level are unreliable.
+</p>
+<p>
+Once the processor has detected the character encoding in use, it can
+act appropriately, whether by invoking a separate input routine for
+each case, or by calling the proper conversion function on each
+character of input. 
+</p>
+<p>
+Like any self-labeling system, the XML encoding declaration will not
+work if any software changes the entity's character set or encoding
+without updating the encoding declaration.  Implementors of
+character-encoding routines should be careful to ensure the accuracy
+of the internal and external information used to label the entity.
+</p>
+<p>The second possible case occurs when the XML entity is accompanied
+by encoding information, as in some file systems and some network
+protocols.
+When multiple sources of information are available,
+
+their relative
+priority and the preferred method of handling conflict should be
+specified as part of the higher-level protocol used to deliver XML.
+Rules for the relative priority of the internal label and the
+MIME-type label in an external header, for example, should be part of the
+RFC document defining the text/xml and application/xml MIME types. In
+the interests of interoperability, however, the following rules
+are recommended.
+<ulist>
+<item><p>If an XML entity is in a file, the Byte-Order Mark
+and encoding-declaration PI are used (if present) to determine the
+character encoding.  All other heuristics and sources of information
+are solely for error recovery.
+</p></item>
+<item><p>If an XML entity is delivered with a
+MIME type of text/xml, then the <code>charset</code> parameter
+on the MIME type determines the
+character encoding method; all other heuristics and sources of
+information are solely for error recovery.
+</p></item>
+<item><p>If an XML entity is delivered 
+with a
+MIME type of application/xml, then the Byte-Order Mark and
+encoding-declaration PI are used (if present) to determine the
+character encoding.  All other heuristics and sources of
+information are solely for error recovery.
+</p></item>
+</ulist>
+These rules apply only in the absence of protocol-level documentation;
+in particular, when the MIME types text/xml and application/xml are
+defined, the recommendations of the relevant RFC will supersede
+these rules.
+</p>
+
+</inform-div1>
+
+<inform-div1 id="sec-xml-wg">
+<head>W3C XML Working Group</head>
+ 
+<p>This specification was prepared and approved for publication by the
+W3C XML Working Group (WG).  WG approval of this specification does
+not necessarily imply that all WG members voted for its approval.  
+The current and former members of the XML WG are:</p>
+ 
+<orglist>
+<member><name>Jon Bosak, Sun</name><role>Chair</role></member>
+<member><name>James Clark</name><role>Technical Lead</role></member>
+<member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member>
+<member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member>
+<member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML
+Co-editor</role></member>
+<member><name>Dan Connolly, W3C</name><role>W3C Liaison</role></member>
+<member><name>Paula Angerstein, Texcel</name></member>
+<member><name>Steve DeRose, INSO</name></member>
+<member><name>Dave Hollander, HP</name></member>
+<member><name>Eliot Kimber, ISOGEN</name></member>
+<member><name>Eve Maler, ArborText</name></member>
+<member><name>Tom Magliery, NCSA</name></member>
+<member><name>Murray Maloney, Muzmo and Grif</name></member>
+<member><name>Makoto Murata, Fuji Xerox Information Systems</name></member>
+<member><name>Joel Nava, Adobe</name></member>
+<member><name>Conleth O'Connell, Vignette</name></member>
+<member><name>Peter Sharpe, SoftQuad</name></member>
+<member><name>John Tigue, DataChannel</name></member>
+</orglist>
+
+</inform-div1>
+</back>
+</spec>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-default-dtd-file:"~/sgml/spec.ced"
+sgml-omittag:t
+sgml-shorttag:t
+End:
+-->
diff --git a/xml/xmlspec.xml b/xml/xmlspec.xml
new file mode 100644
index 0000000..da55061
--- /dev/null
+++ b/xml/xmlspec.xml
@@ -0,0 +1,4174 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!-- for Panorama *-->
+<?VERBATIM "eg" ?>
+
+<spec>
+<header>
+<title>Extensible Markup Language (XML) 1.0</title>
+<version></version>
+<w3c-designation>REC-xml-19980210</w3c-designation>
+<w3c-doctype>W3C Recommendation</w3c-doctype>
+<pubdate><day>10</day><month>February</month><year>1998</year></pubdate>
+
+<publoc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-19980210">
+http://www.w3.org/TR/1998/REC-xml-19980210</loc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-19980210.xml">
+http://www.w3.org/TR/1998/REC-xml-19980210.xml</loc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-19980210.html">
+http://www.w3.org/TR/1998/REC-xml-19980210.html</loc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-19980210.pdf">
+http://www.w3.org/TR/1998/REC-xml-19980210.pdf</loc>
+<loc  href="http://www.w3.org/TR/1998/REC-xml-19980210.ps">
+http://www.w3.org/TR/1998/REC-xml-19980210.ps</loc>
+</publoc>
+<latestloc>
+<loc  href="http://www.w3.org/TR/REC-xml">
+http://www.w3.org/TR/REC-xml</loc>
+</latestloc>
+<prevlocs>
+<loc  href="http://www.w3.org/TR/PR-xml-971208">
+http://www.w3.org/TR/PR-xml-971208</loc>
+<!--
+<loc  href='http://www.w3.org/TR/WD-xml-961114'>
+http://www.w3.org/TR/WD-xml-961114</loc>
+<loc  href='http://www.w3.org/TR/WD-xml-lang-970331'>
+http://www.w3.org/TR/WD-xml-lang-970331</loc>
+<loc  href='http://www.w3.org/TR/WD-xml-lang-970630'>
+http://www.w3.org/TR/WD-xml-lang-970630</loc>
+<loc  href='http://www.w3.org/TR/WD-xml-970807'>
+http://www.w3.org/TR/WD-xml-970807</loc>
+<loc  href='http://www.w3.org/TR/WD-xml-971117'>
+http://www.w3.org/TR/WD-xml-971117</loc>-->
+</prevlocs>
+<authlist>
+<author><name>Tim Bray</name>
+<affiliation>Textuality and Netscape</affiliation>
+<email 
+href="mailto:tbray at textuality.com">tbray at textuality.com</email></author>
+<author><name>Jean Paoli</name>
+<affiliation>Microsoft</affiliation>
+<email href="mailto:jeanpa at microsoft.com">jeanpa at microsoft.com</email></author>
+<author><name>C. M. Sperberg-McQueen</name>
+<affiliation>University of Illinois at Chicago</affiliation>
+<email href="mailto:cmsmcq at uic.edu">cmsmcq at uic.edu</email></author>
+</authlist>
+<abstract>
+<p>The Extensible Markup Language (XML) is a subset of
+SGML that is completely described in this document. Its goal is to
+enable generic SGML to be served, received, and processed on the Web
+in the way that is now possible with HTML. XML has been designed for
+ease of implementation and for interoperability with both SGML and
+HTML.</p>
+</abstract>
+<status>
+<p>This document has been reviewed by W3C Members and
+other interested parties and has been endorsed by the
+Director as a W3C Recommendation. It is a stable
+document and may be used as reference material or cited
+as a normative reference from another document. W3C's
+role in making the Recommendation is to draw attention
+to the specification and to promote its widespread
+deployment. This enhances the functionality and
+interoperability of the Web.</p>
+<p>
+This document specifies a syntax created by subsetting an existing,
+widely used international text processing standard (Standard
+Generalized Markup Language, ISO 8879:1986(E) as amended and
+corrected) for use on the World Wide Web.  It is a product of the W3C
+XML Activity, details of which can be found at <loc
+href='http://www.w3.org/XML'>http://www.w3.org/XML</loc>.  A list of
+current W3C Recommendations and other technical documents can be found
+at <loc href='http://www.w3.org/TR'>http://www.w3.org/TR</loc>.
+</p>
+<p>This specification uses the term URI, which is defined by <bibref
+ref="Berners-Lee"/>, a work in progress expected to update <bibref
+ref="RFC1738"/> and <bibref ref="RFC1808"/>. 
+</p>
+<p>The list of known errors in this specification is 
+available at 
+<loc href='http://www.w3.org/XML/xml-19980210-errata'>http://www.w3.org/XML/xml-19980210-errata</loc>.</p>
+<p>Please report errors in this document to 
+<loc href='mailto:xml-editor at w3.org'>xml-editor at w3.org</loc>.
+</p>
+</status>
+
+
+<pubstmt>
+<p>Chicago, Vancouver, Mountain View, et al.:
+World-Wide Web Consortium, XML Working Group, 1996, 1997.</p>
+</pubstmt>
+<sourcedesc>
+<p>Created in electronic form.</p>
+</sourcedesc>
+<langusage>
+<language id='EN'>English</language>
+<language id='ebnf'>Extended Backus-Naur Form (formal grammar)</language>
+</langusage>
+<revisiondesc>
+<slist>
+<sitem>1997-12-03 : CMSMcQ : yet further changes</sitem>
+<sitem>1997-12-02 : TB : further changes (see TB to XML WG,
+2 December 1997)</sitem>
+<sitem>1997-12-02 : CMSMcQ : deal with as many corrections and
+comments from the proofreaders as possible:
+entify hard-coded document date in pubdate element,
+change expansion of entity WebSGML,
+update status description as per Dan Connolly (am not sure
+about refernece to Berners-Lee et al.),
+add 'The' to abstract as per WG decision,
+move Relationship to Existing Standards to back matter and
+combine with References,
+re-order back matter so normative appendices come first,
+re-tag back matter so informative appendices are tagged informdiv1,
+remove XXX XXX from list of 'normative' specs in prose,
+move some references from Other References to Normative References,
+add RFC 1738, 1808, and 2141 to Other References (they are not
+normative since we do not require the processor to enforce any 
+rules based on them),
+add reference to 'Fielding draft' (Berners-Lee et al.),
+move notation section to end of body,
+drop URIchar non-terminal and use SkipLit instead,
+lose stray reference to defunct nonterminal 'markupdecls',
+move reference to Aho et al. into appendix (Tim's right),
+add prose note saying that hash marks and fragment identifiers are
+NOT part of the URI formally speaking, and are NOT legal in 
+system identifiers (processor 'may' signal an error).
+Work through:
+Tim Bray reacting to James Clark,
+Tim Bray on his own,
+Eve Maler,
+
+NOT DONE YET:
+change binary / text to unparsed / parsed.
+handle James's suggestion about < in attriubte values
+uppercase hex characters,
+namechar list,
+</sitem>
+<sitem>1997-12-01 : JB : add some column-width parameters</sitem>
+<sitem>1997-12-01 : CMSMcQ : begin round of changes to incorporate
+recent WG decisions and other corrections:
+binding sources of character encoding info (27 Aug / 3 Sept),
+correct wording of Faust quotation (restore dropped line),
+drop SDD from EncodingDecl,
+change text at version number 1.0,
+drop misleading (wrong!) sentence about ignorables and extenders,
+modify definition of PCData to make bar on msc grammatical,
+change grammar's handling of internal subset (drop non-terminal markupdecls),
+change definition of includeSect to allow conditional sections,
+add integral-declaration constraint on internal subset,
+drop misleading / dangerous sentence about relationship of
+entities with system storage objects,
+change table body tag to htbody as per EM change to DTD,
+add rule about space normalization in public identifiers,
+add description of how to generate our name-space rules from 
+Unicode character database (needs further work!).
+</sitem>
+<sitem>1997-10-08 : TB : Removed %-constructs again, new rules
+for PE appearance.</sitem>
+<sitem>1997-10-01 : TB : Case-sensitive markup; cleaned up
+element-type defs, lotsa little edits for style</sitem>
+<sitem>1997-09-25 : TB : Change to elm's new DTD, with
+substantial detail cleanup as a side-effect</sitem>
+<sitem>1997-07-24 : CMSMcQ : correct error (lost *) in definition 
+of ignoreSectContents (thanks to Makoto Murata)</sitem>
+<sitem>Allow all empty elements to have end-tags, consistent with
+SGML TC (as per JJC).</sitem>
+<sitem>1997-07-23 : CMSMcQ : pre-emptive strike on pending corrections:
+introduce the term 'empty-element tag', note that all empty elements
+may use it, and elements declared EMPTY must use it.
+Add WFC requiring encoding decl to come first in an entity.
+Redefine notations to point to PIs as well as binary entities.
+Change autodetection table by removing bytes 3 and 4 from 
+examples with Byte Order Mark.
+Add content model as a term and clarify that it applies to both
+mixed and element content.
+</sitem>
+<sitem>1997-06-30 : CMSMcQ : change date, some cosmetic changes,
+changes to productions for choice, seq, Mixed, NotationType,
+Enumeration.  Follow James Clark's suggestion and prohibit 
+conditional sections in internal subset.  TO DO:  simplify
+production for ignored sections as a result, since we don't 
+need to worry about parsers which don't expand PErefs finding
+a conditional section.</sitem>
+<sitem>1997-06-29 : TB : various edits</sitem>
+<sitem>1997-06-29 : CMSMcQ : further changes:
+Suppress old FINAL EDIT comments and some dead material.
+Revise occurrences of % in grammar to exploit Henry Thompson's pun,
+especially markupdecl and attdef.
+Remove RMD requirement relating to element content (?).
+</sitem>
+<sitem>1997-06-28 : CMSMcQ : Various changes for 1 July draft:
+Add text for draconian error handling (introduce
+the term Fatal Error).
+RE deleta est (changing wording from 
+original announcement to restrict the requirement to validating
+parsers).
+Tag definition of validating processor and link to it.
+Add colon as name character.
+Change def of %operator.
+Change standard definitions of lt, gt, amp.
+Strip leading zeros from #x00nn forms.</sitem>
+<sitem>1997-04-02 : CMSMcQ : final corrections of editorial errors
+found in last night's proofreading.  Reverse course once more on
+well-formed:   Webster's Second hyphenates it, and that's enough
+for me.</sitem>
+<sitem>1997-04-01 : CMSMcQ : corrections from JJC, EM, HT, and self</sitem>
+<sitem>1997-03-31 : Tim Bray : many changes</sitem>
+<sitem>1997-03-29 : CMSMcQ : some Henry Thompson (on entity handling),
+some Charles Goldfarb, some ERB decisions (PE handling in miscellaneous
+declarations.  Changed Ident element to accept def attribute.
+Allow normalization of Unicode characters.  move def of systemliteral
+into section on literals.</sitem>
+<sitem>1997-03-28 : CMSMcQ : make as many corrections as possible, from
+Terry Allen, Norbert Mikula, James Clark, Jon Bosak, Henry Thompson,
+Paul Grosso, and self.  Among other things:  give in on "well formed"
+(Terry is right), tentatively rename QuotedCData as AttValue
+and Literal as EntityValue to be more informative, since attribute
+values are the <emph>only</emph> place QuotedCData was used, and
+vice versa for entity text and Literal. (I'd call it Entity Text, 
+but 8879 uses that name for both internal and external entities.)</sitem>
+<sitem>1997-03-26 : CMSMcQ : resynch the two forks of this draft, reapply
+my changes dated 03-20 and 03-21.  Normalize old 'may not' to 'must not'
+except in the one case where it meant 'may or may not'.</sitem>
+<sitem>1997-03-21 : TB : massive changes on plane flight from Chicago
+to Vancouver</sitem>
+<sitem>1997-03-21 : CMSMcQ : correct as many reported errors as possible.
+</sitem>
+<sitem>1997-03-20 : CMSMcQ : correct typos listed in CMSMcQ hand copy of spec.</sitem>
+<sitem>1997-03-20 : CMSMcQ : cosmetic changes preparatory to revision for
+WWW conference April 1997:  restore some of the internal entity 
+references (e.g. to docdate, etc.), change character xA0 to &nbsp;
+and define nbsp as &#160;, and refill a lot of paragraphs for
+legibility.</sitem>
+<sitem>1996-11-12 : CMSMcQ : revise using Tim's edits:
+Add list type of NUMBERED and change most lists either to
+BULLETS or to NUMBERED.
+Suppress QuotedNames, Names (not used).
+Correct trivial-grammar doc type decl.
+Rename 'marked section' as 'CDATA section' passim.
+Also edits from James Clark:
+Define the set of characters from which [^abc] subtracts.
+Charref should use just [0-9] not Digit.
+Location info needs cleaner treatment:  remove?  (ERB
+question).
+One example of a PI has wrong pic.
+Clarify discussion of encoding names.
+Encoding failure should lead to unspecified results; don't
+prescribe error recovery.
+Don't require exposure of entity boundaries.
+Ignore white space in element content.
+Reserve entity names of the form u-NNNN.
+Clarify relative URLs.
+And some of my own:
+Correct productions for content model:  model cannot
+consist of a name, so "elements ::= cp" is no good.
+</sitem>
+<sitem>1996-11-11 : CMSMcQ : revise for style.
+Add new rhs to entity declaration, for parameter entities.</sitem>
+<sitem>1996-11-10 : CMSMcQ : revise for style.
+Fix / complete section on names, characters.
+Add sections on parameter entities, conditional sections.
+Still to do:  Add compatibility note on deterministic content models.
+Finish stylistic revision.</sitem>
+<sitem>1996-10-31 : TB : Add Entity Handling section</sitem>
+<sitem>1996-10-30 : TB : Clean up term & termdef.  Slip in
+ERB decision re EMPTY.</sitem>
+<sitem>1996-10-28 : TB : Change DTD.  Implement some of Michael's
+suggestions.  Change comments back to //.  Introduce language for
+XML namespace reservation.  Add section on white-space handling.
+Lots more cleanup.</sitem>
+<sitem>1996-10-24 : CMSMcQ : quick tweaks, implement some ERB
+decisions.  Characters are not integers.  Comments are /* */ not //.
+Add bibliographic refs to 10646, HyTime, Unicode.
+Rename old Cdata as MsData since it's <emph>only</emph> seen
+in marked sections.  Call them attribute-value pairs not
+name-value pairs, except once.  Internal subset is optional, needs
+'?'.  Implied attributes should be signaled to the app, not
+have values supplied by processor.</sitem>
+<sitem>1996-10-16 : TB : track down & excise all DSD references;
+introduce some EBNF for entity declarations.</sitem>
+<sitem>1996-10-?? : TB : consistency check, fix up scraps so
+they all parse, get formatter working, correct a few productions.</sitem>
+<sitem>1996-10-10/11 : CMSMcQ : various maintenance, stylistic, and
+organizational changes:
+Replace a few literals with xmlpio and
+pic entities, to make them consistent and ensure we can change pic
+reliably when the ERB votes.
+Drop paragraph on recognizers from notation section.
+Add match, exact match to terminology.
+Move old 2.2 XML Processors and Apps into intro.
+Mention comments, PIs, and marked sections in discussion of
+delimiter escaping.
+Streamline discussion of doctype decl syntax.
+Drop old section of 'PI syntax' for doctype decl, and add
+section on partial-DTD summary PIs to end of Logical Structures
+section.
+Revise DSD syntax section to use Tim's subset-in-a-PI
+mechanism.</sitem>
+<sitem>1996-10-10 : TB : eliminate name recognizers (and more?)</sitem>
+<sitem>1996-10-09 : CMSMcQ : revise for style, consistency through 2.3
+(Characters)</sitem>
+<sitem>1996-10-09 : CMSMcQ : re-unite everything for convenience,
+at least temporarily, and revise quickly</sitem>
+<sitem>1996-10-08 : TB : first major homogenization pass</sitem>
+<sitem>1996-10-08 : TB : turn "current" attribute on div type into 
+CDATA</sitem>
+<sitem>1996-10-02 : TB : remould into skeleton + entities</sitem>
+<sitem>1996-09-30 : CMSMcQ : add a few more sections prior to exchange
+                            with Tim.</sitem>
+<sitem>1996-09-20 : CMSMcQ : finish transcribing notes.</sitem>
+<sitem>1996-09-19 : CMSMcQ : begin transcribing notes for draft.</sitem>
+<sitem>1996-09-13 : CMSMcQ : made outline from notes of 09-06,
+do some housekeeping</sitem>
+</slist>
+</revisiondesc>
+</header>
+<body> 
+<div1 id='sec-intro'>
+<head>Introduction</head>
+<p>Extensible Markup Language, abbreviated XML, describes a class of
+data objects called <termref def="dt-xml-doc">XML documents</termref> and
+partially describes the behavior of 
+computer programs which process them. XML is an application profile or
+restricted form of SGML, the Standard Generalized Markup 
+Language <bibref ref='ISO8879'/>.
+By construction, XML documents 
+are conforming SGML documents.
+</p>
+<p>XML documents are made up of storage units called <termref
+def="dt-entity">entities</termref>, which contain either parsed
+or unparsed data.
+Parsed data is made up of <termref def="dt-character">characters</termref>,
+some 
+of which form <termref def="dt-chardata">character data</termref>, 
+and some of which form <termref def="dt-markup">markup</termref>.
+Markup encodes a description of the document's storage layout and
+logical structure. XML provides a mechanism to impose constraints on
+the storage layout and logical structure.</p>
+<p><termdef id="dt-xml-proc" term="XML Processor">A software module
+called an <term>XML processor</term> is used to read XML documents
+and provide access to their content and structure.</termdef> <termdef
+id="dt-app" term="Application">It is assumed that an XML processor is
+doing its work on behalf of another module, called the
+<term>application</term>.</termdef> This specification describes the
+required behavior of an XML processor in terms of how it must read XML
+data and the information it must provide to the application.</p>
+ 
+<div2 id='sec-origin-goals'>
+<head>Origin and Goals</head>
+<p>XML was developed by an XML Working Group (originally known as the
+SGML Editorial Review Board) formed under the auspices of the World
+Wide Web Consortium (W3C) in 1996.
+It was chaired by Jon Bosak of Sun
+Microsystems with the active participation of an XML Special
+Interest Group (previously known as the SGML Working Group) also
+organized by the W3C. The membership of the XML Working Group is given
+in an appendix. Dan Connolly served as the WG's contact with the W3C.
+</p>
+<p>The design goals for XML are:<olist>
+<item><p>XML shall be straightforwardly usable over the
+Internet.</p></item>
+<item><p>XML shall support a wide variety of applications.</p></item>
+<item><p>XML shall be compatible with SGML.</p></item>
+<item><p>It shall be easy to write programs which process XML
+documents.</p></item>
+<item><p>The number of optional features in XML is to be kept to the
+absolute minimum, ideally zero.</p></item>
+<item><p>XML documents should be human-legible and reasonably
+clear.</p></item>
+<item><p>The XML design should be prepared quickly.</p></item>
+<item><p>The design of XML shall be formal and concise.</p></item>
+<item><p>XML documents shall be easy to create.</p></item>
+<item><p>Terseness in XML markup is of minimal importance.</p></item></olist>
+</p>
+<p>This specification, 
+together with associated standards
+(Unicode and ISO/IEC 10646 for characters,
+Internet RFC 1766 for language identification tags, 
+ISO 639 for language name codes, and 
+ISO 3166 for country name codes),
+provides all the information necessary to understand 
+XML Version 1.0
+and construct computer programs to process it.</p>
+<p>This version of the XML specification
+<!-- is for &doc.audience;.-->
+may be distributed freely, as long as
+all text and legal notices remain intact.</p>
+
+</div2>
+ 
+
+
+ 
+<div2 id='sec-terminology'>
+<head>Terminology</head>
+ 
+<p>The terminology used to describe XML documents is defined in the body of
+this specification.
+The terms defined in the following list are used in building those
+definitions and in describing the actions of an XML processor:
+<glist>
+<gitem>
+<label>may</label>
+<def><p><termdef id="dt-may" term="May">Conforming documents and XML
+processors are permitted to but need not behave as
+described.</termdef></p></def>
+</gitem>
+<gitem>
+<label>must</label>
+<def><p>Conforming documents and XML processors 
+are required to behave as described; otherwise they are in error.
+<!-- do NOT change this! this is what defines a violation of
+a 'must' clause as 'an error'. -MSM -->
+</p></def>
+</gitem>
+<gitem>
+<label>error</label>
+<def><p><termdef id='dt-error' term='Error'
+>A violation of the rules of this
+specification; results are
+undefined.  Conforming software may detect and report an error and may
+recover from it.</termdef></p></def>
+</gitem>
+<gitem>
+<label>fatal error</label>
+<def><p><termdef id="dt-fatal" term="Fatal Error">An error
+which a conforming <termref def="dt-xml-proc">XML processor</termref>
+must detect and report to the application.
+After encountering a fatal error, the
+processor may continue
+processing the data to search for further errors and may report such
+errors to the application.  In order to support correction of errors,
+the processor may make unprocessed data from the document (with
+intermingled character data and markup) available to the application.
+Once a fatal error is detected, however, the processor must not
+continue normal processing (i.e., it must not
+continue to pass character data and information about the document's
+logical structure to the application in the normal way).
+</termdef></p></def>
+</gitem>
+<gitem>
+<label>at user option</label>
+<def><p>Conforming software may or must (depending on the modal verb in the
+sentence) behave as described; if it does, it must
+provide users a means to enable or disable the behavior
+described.</p></def>
+</gitem>
+<gitem>
+<label>validity constraint</label>
+<def><p>A rule which applies to all 
+<termref def="dt-valid">valid</termref> XML documents.
+Violations of validity constraints are errors; they must, at user option, 
+be reported by 
+<termref def="dt-validating">validating XML processors</termref>.</p></def>
+</gitem>
+<gitem>
+<label>well-formedness constraint</label>
+<def><p>A rule which applies to all <termref
+def="dt-wellformed">well-formed</termref> XML documents.
+Violations of well-formedness constraints are 
+<termref def="dt-fatal">fatal errors</termref>.</p></def>
+</gitem>
+
+<gitem>
+<label>match</label>
+<def><p><termdef id="dt-match" term="match">(Of strings or names:) 
+Two strings or names being compared must be identical.
+Characters with multiple possible representations in ISO/IEC 10646 (e.g.
+characters with 
+both precomposed and base+diacritic forms) match only if they have the
+same representation in both strings.
+At user option, processors may normalize such characters to
+some canonical form.
+No case folding is performed. 
+(Of strings and rules in the grammar:)  
+A string matches a grammatical production if it belongs to the
+language generated by that production.
+(Of content and content models:)
+An element matches its declaration when it conforms
+in the fashion described in the constraint
+<specref ref='elementvalid'/>.
+</termdef>
+</p></def>
+</gitem>
+<gitem>
+<label>for compatibility</label>
+<def><p><termdef id="dt-compat" term="For Compatibility">A feature of
+XML included solely to ensure that XML remains compatible with SGML.
+</termdef></p></def>
+</gitem>
+<gitem>
+<label>for interoperability</label>
+<def><p><termdef id="dt-interop" term="For interoperability">A
+non-binding recommendation included to increase the chances that XML
+documents can be processed by the existing installed base of SGML
+processors which predate the
+WebSGML Adaptations Annex to ISO 8879.</termdef></p></def>
+</gitem>
+</glist>
+</p>
+</div2>
+
+ 
+</div1>
+<!-- &Docs; -->
+ 
+<div1 id='sec-documents'>
+<head>Documents</head>
+ 
+<p><termdef id="dt-xml-doc" term="XML Document">
+A data object is an
+<term>XML document</term> if it is
+<termref def="dt-wellformed">well-formed</termref>, as
+defined in this specification.
+A well-formed XML document may in addition be
+<termref def="dt-valid">valid</termref> if it meets certain further 
+constraints.</termdef></p>
+ 
+<p>Each XML document has both a logical and a physical structure.
+Physically, the document is composed of units called <termref
+def="dt-entity">entities</termref>.  An entity may <termref
+def="dt-entref">refer</termref> to other entities to cause their
+inclusion in the document. A document begins in a "root"  or <termref
+def="dt-docent">document entity</termref>.
+Logically, the document is composed of declarations, elements, 
+comments,
+character references, and
+processing
+instructions, all of which are indicated in the document by explicit
+markup.
+The logical and physical structures must nest properly, as described  
+in <specref ref='wf-entities'/>.
+</p>
+ 
+<div2 id='sec-well-formed'>
+<head>Well-Formed XML Documents</head>
+ 
+<p><termdef id="dt-wellformed" term="Well-Formed">
+A textual object is 
+a well-formed XML document if:</termdef>
+<olist>
+<item><p>Taken as a whole, it
+matches the production labeled <nt def='NT-document'>document</nt>.</p></item>
+<item><p>It
+meets all the well-formedness constraints given in this specification.</p>
+</item>
+<item><p>Each of the <termref def='dt-parsedent'>parsed entities</termref> 
+which is referenced directly or indirectly within the document is
+<titleref href='wf-entities'>well-formed</titleref>.</p></item>
+</olist></p>
+<p>
+<scrap lang='ebnf' id='document'>
+<head>Document</head>
+<prod id='NT-document'><lhs>document</lhs>
+<rhs><nt def='NT-prolog'>prolog</nt> 
+<nt def='NT-element'>element</nt> 
+<nt def='NT-Misc'>Misc</nt>*</rhs></prod>
+</scrap>
+</p>
+<p>Matching the <nt def="NT-document">document</nt> production 
+implies that:
+<olist>
+<item><p>It contains one or more
+<termref def="dt-element">elements</termref>.</p>
+</item>
+<!--* N.B. some readers (notably JC) find the following
+paragraph awkward and redundant.  I agree it's logically redundant:
+it *says* it is summarizing the logical implications of
+matching the grammar, and that means by definition it's
+logically redundant.  I don't think it's rhetorically
+redundant or unnecessary, though, so I'm keeping it.  It
+could however use some recasting when the editors are feeling
+stronger. -MSM *-->
+<item><p><termdef id="dt-root" term="Root Element">There is  exactly
+one element, called the <term>root</term>, or document element,  no
+part of which appears in the <termref
+def="dt-content">content</termref> of any other element.</termdef>
+For all other elements, if the start-tag is in the content of another
+element, the end-tag is in the content of the same element.  More
+simply stated, the elements, delimited by start- and end-tags, nest
+properly within each other.
+</p></item>
+</olist>
+</p>
+<p><termdef id="dt-parentchild" term="Parent/Child">As a consequence 
+of this,
+for each non-root element
+<code>C</code> in the document, there is one other element <code>P</code>
+in the document such that 
+<code>C</code> is in the content of <code>P</code>, but is not in
+the content of any other element that is in the content of
+<code>P</code>.  
+<code>P</code> is referred to as the
+<term>parent</term> of <code>C</code>, and <code>C</code> as a
+<term>child</term> of <code>P</code>.</termdef></p></div2>
+ 
+<div2 id="charsets">
+<head>Characters</head>
+ 
+<p><termdef id="dt-text" term="Text">A parsed entity contains
+<term>text</term>, a sequence of 
+<termref def="dt-character">characters</termref>, 
+which may represent markup or character data.</termdef> 
+<termdef id="dt-character" term="Character">A <term>character</term> 
+is an atomic unit of text as specified by
+ISO/IEC 10646 <bibref ref="ISO10646"/>.
+Legal characters are tab, carriage return, line feed, and the legal
+graphic characters of Unicode and ISO/IEC 10646.
+The use of "compatibility characters", as defined in section 6.8
+of <bibref ref='Unicode'/>, is discouraged.
+</termdef> 
+<scrap lang="ebnf" id="char32">
+<head>Character Range</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id="NT-Char"><lhs>Char</lhs> 
+<rhs>#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] 
+| [#x10000-#x10FFFF]</rhs> 
+<com>any Unicode character, excluding the
+surrogate blocks, FFFE, and FFFF.</com> </prod>
+</prodgroup>
+</scrap>
+</p>
+
+<p>The mechanism for encoding character code points into bit patterns may
+vary from entity to entity. All XML processors must accept the UTF-8
+and UTF-16 encodings of 10646; the mechanisms for signaling which of
+the two is in use, or for bringing other encodings into play, are
+discussed later, in <specref ref='charencoding'/>.
+</p>
+<!--
+<p>Regardless of the specific encoding used, any character in the ISO/IEC
+10646 character set may be referred to by the decimal or hexadecimal
+equivalent of its 
+UCS-4 code value.
+</p>-->
+</div2>
+ 
+<div2 id='sec-common-syn'>
+<head>Common Syntactic Constructs</head>
+ 
+<p>This section defines some symbols used widely in the grammar.</p>
+<p><nt def="NT-S">S</nt> (white space) consists of one or more space (#x20)
+characters, carriage returns, line feeds, or tabs.
+
+<scrap lang="ebnf" id='white'>
+<head>White Space</head>
+<prodgroup pcw2="4" pcw4="17.5" pcw5="11">
+<prod id='NT-S'><lhs>S</lhs>
+<rhs>(#x20 | #x9 | #xD | #xA)+</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>Characters are classified for convenience as letters, digits, or other
+characters.  Letters consist of an alphabetic or syllabic 
+base character possibly
+followed by one or more combining characters, or of an ideographic
+character.  
+Full definitions of the specific characters in each class
+are given in <specref ref='CharClasses'/>.</p>
+<p><termdef id="dt-name" term="Name">A <term>Name</term> is a token
+beginning with a letter or one of a few punctuation characters, and continuing
+with letters, digits, hyphens, underscores, colons, or full stops, together
+known as name characters.</termdef>
+Names beginning with the string "<code>xml</code>", or any string
+which would match <code>(('X'|'x') ('M'|'m') ('L'|'l'))</code>, are
+reserved for standardization in this or future versions of this
+specification.
+</p>
+<note>
+<p>The colon character within XML names is reserved for experimentation with
+name spaces.  
+Its meaning is expected to be
+standardized at some future point, at which point those documents 
+using the colon for experimental purposes may need to be updated.
+(There is no guarantee that any name-space mechanism
+adopted for XML will in fact use the colon as a name-space delimiter.)
+In practice, this means that authors should not use the colon in XML
+names except as part of name-space experiments, but that XML processors
+should accept the colon as a name character.</p>
+</note>
+<p>An
+<nt def='NT-Nmtoken'>Nmtoken</nt> (name token) is any mixture of
+name characters.
+<scrap lang='ebnf'>
+<head>Names and Tokens</head>
+<prod id='NT-NameChar'><lhs>NameChar</lhs>
+<rhs><nt def="NT-Letter">Letter</nt> 
+| <nt def='NT-Digit'>Digit</nt> 
+| '.' | '-' | '_' | ':'
+| <nt def='NT-CombiningChar'>CombiningChar</nt> 
+| <nt def='NT-Extender'>Extender</nt></rhs>
+</prod>
+<prod id='NT-Name'><lhs>Name</lhs>
+<rhs>(<nt def='NT-Letter'>Letter</nt> | '_' | ':')
+(<nt def='NT-NameChar'>NameChar</nt>)*</rhs></prod>
+<prod id='NT-Names'><lhs>Names</lhs>
+<rhs><nt def='NT-Name'>Name</nt> 
+(<nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt>)*</rhs></prod>
+<prod id='NT-Nmtoken'><lhs>Nmtoken</lhs>
+<rhs>(<nt def='NT-NameChar'>NameChar</nt>)+</rhs></prod>
+<prod id='NT-Nmtokens'><lhs>Nmtokens</lhs>
+<rhs><nt def='NT-Nmtoken'>Nmtoken</nt> (<nt def='NT-S'>S</nt> <nt def='NT-Nmtoken'>Nmtoken</nt>)*</rhs></prod>
+</scrap>
+</p>
+<p>Literal data is any quoted string not containing
+the quotation mark used as a delimiter for that string.
+Literals are used
+for specifying the content of internal entities
+(<nt def='NT-EntityValue'>EntityValue</nt>),
+the values of attributes (<nt def='NT-AttValue'>AttValue</nt>), 
+and external identifiers 
+(<nt def="NT-SystemLiteral">SystemLiteral</nt>).  
+Note that a <nt def='NT-SystemLiteral'>SystemLiteral</nt>
+can be parsed without scanning for markup.
+<scrap lang='ebnf'>
+<head>Literals</head>
+<prod id='NT-EntityValue'><lhs>EntityValue</lhs>
+<rhs>'"' 
+([^%&"] 
+| <nt def='NT-PEReference'>PEReference</nt> 
+| <nt def='NT-Reference'>Reference</nt>)*
+'"' 
+</rhs>
+<rhs>|  
+"'" 
+([^%&'] 
+| <nt def='NT-PEReference'>PEReference</nt> 
+| <nt def='NT-Reference'>Reference</nt>)* 
+"'"</rhs>
+</prod>
+<prod id='NT-AttValue'><lhs>AttValue</lhs>
+<rhs>'"' 
+([^<&"] 
+| <nt def='NT-Reference'>Reference</nt>)* 
+'"' 
+</rhs>
+<rhs>|  
+"'" 
+([^<&'] 
+| <nt def='NT-Reference'>Reference</nt>)* 
+"'"</rhs>
+</prod>
+<prod id="NT-SystemLiteral"><lhs>SystemLiteral</lhs>
+<rhs>('"' [^"]* '"') | ("'" [^']* "'")
+</rhs>
+</prod>
+<prod id="NT-PubidLiteral"><lhs>PubidLiteral</lhs>
+<rhs>'"' <nt def='NT-PubidChar'>PubidChar</nt>* 
+'"' 
+| "'" (<nt def='NT-PubidChar'>PubidChar</nt> - "'")* "'"</rhs>
+</prod>
+<prod id="NT-PubidChar"><lhs>PubidChar</lhs>
+<rhs>#x20 | #xD | #xA 
+| [a-zA-Z0-9]
+| [-'()+,./:=?;!*#@$_%]</rhs>
+</prod>
+</scrap>
+</p>
+
+</div2>
+
+<div2 id='syntax'>
+<head>Character Data and Markup</head>
+ 
+<p><termref def='dt-text'>Text</termref> consists of intermingled 
+<termref def="dt-chardata">character
+data</termref> and markup.
+<termdef id="dt-markup" term="Markup"><term>Markup</term> takes the form of
+<termref def="dt-stag">start-tags</termref>,
+<termref def="dt-etag">end-tags</termref>,
+<termref def="dt-empty">empty-element tags</termref>,
+<termref def="dt-entref">entity references</termref>,
+<termref def="dt-charref">character references</termref>,
+<termref def="dt-comment">comments</termref>,
+<termref def="dt-cdsection">CDATA section</termref> delimiters,
+<termref def="dt-doctype">document type declarations</termref>, and
+<termref def="dt-pi">processing instructions</termref>.
+</termdef>
+</p>
+<p><termdef id="dt-chardata" term="Character Data">All text that is not markup
+constitutes the <term>character data</term> of
+the document.</termdef></p>
+<p>The ampersand character (&) and the left angle bracket (<)
+may appear in their literal form <emph>only</emph> when used as markup
+delimiters, or within a <termref def="dt-comment">comment</termref>, a
+<termref def="dt-pi">processing instruction</termref>, 
+or a <termref def="dt-cdsection">CDATA section</termref>.  
+
+They are also legal within the <termref def='dt-litentval'>literal entity
+value</termref> of an internal entity declaration; see
+<specref ref='wf-entities'/>.
+<!-- FINAL EDIT:  restore internal entity decl or leave it out. -->
+If they are needed elsewhere,
+they must be <termref def="dt-escape">escaped</termref>
+using either <termref def='dt-charref'>numeric character references</termref>
+or the strings
+"<code>&amp;</code>" and "<code>&lt;</code>" respectively. 
+The right angle
+bracket (>) may be represented using the string
+"<code>&gt;</code>", and must, <termref def='dt-compat'>for
+compatibility</termref>, 
+be escaped using
+"<code>&gt;</code>" or a character reference 
+when it appears in the string
+"<code>]]></code>"
+in content, 
+when that string is not marking the end of 
+a <termref def="dt-cdsection">CDATA section</termref>. 
+</p>
+<p>
+In the content of elements, character data 
+is any string of characters which does
+not contain the start-delimiter of any markup.  
+In a CDATA section, character data
+is any string of characters not including the CDATA-section-close
+delimiter, "<code>]]></code>".</p>
+<p>
+To allow attribute values to contain both single and double quotes, the
+apostrophe or single-quote character (') may be represented as
+"<code>&apos;</code>", and the double-quote character (") as
+"<code>&quot;</code>".
+<scrap lang="ebnf">
+<head>Character Data</head>
+<prod id='NT-CharData'>
+<lhs>CharData</lhs>
+<rhs>[^<&]* - ([^<&]* ']]>' [^<&]*)</rhs>
+</prod>
+</scrap>
+</p>
+</div2>
+ 
+<div2 id='sec-comments'>
+<head>Comments</head>
+ 
+<p><termdef id="dt-comment" term="Comment"><term>Comments</term> may 
+appear anywhere in a document outside other 
+<termref def='dt-markup'>markup</termref>; in addition,
+they may appear within the document type declaration
+at places allowed by the grammar.
+They are not part of the document's <termref def="dt-chardata">character
+data</termref>; an XML
+processor may, but need not, make it possible for an application to
+retrieve the text of comments.
+<termref def="dt-compat">For compatibility</termref>, the string
+"<code>--</code>" (double-hyphen) must not occur within
+comments.
+<scrap lang="ebnf">
+<head>Comments</head>
+<prod id='NT-Comment'><lhs>Comment</lhs>
+<rhs>'<!--'
+((<nt def='NT-Char'>Char</nt> - '-') 
+| ('-' (<nt def='NT-Char'>Char</nt> - '-')))* 
+'-->'</rhs>
+</prod>
+</scrap>
+</termdef></p>
+<p>An example of a comment:
+<eg><!-- declarations for <head> & <body> --></eg>
+</p>
+</div2>
+ 
+<div2 id='sec-pi'>
+<head>Processing Instructions</head>
+ 
+<p><termdef id="dt-pi" term="Processing instruction"><term>Processing
+instructions</term> (PIs) allow documents to contain instructions
+for applications.
+ 
+<scrap lang="ebnf">
+<head>Processing Instructions</head>
+<prod id='NT-PI'><lhs>PI</lhs>
+<rhs>'<?' <nt def='NT-PITarget'>PITarget</nt> 
+(<nt def='NT-S'>S</nt> 
+(<nt def='NT-Char'>Char</nt>* - 
+(<nt def='NT-Char'>Char</nt>* '?>' <nt def='NT-Char'>Char</nt>*)))?
+'?>'</rhs></prod>
+<prod id='NT-PITarget'><lhs>PITarget</lhs>
+<rhs><nt def='NT-Name'>Name</nt> - 
+(('X' | 'x') ('M' | 'm') ('L' | 'l'))</rhs>
+</prod>
+</scrap></termdef>
+PIs are not part of the document's <termref def="dt-chardata">character
+data</termref>, but must be passed through to the application. The
+PI begins with a target (<nt def='NT-PITarget'>PITarget</nt>) used
+to identify the application to which the instruction is directed.  
+The target names "<code>XML</code>", "<code>xml</code>", and so on are
+reserved for standardization in this or future versions of this
+specification.
+The 
+XML <termref def='dt-notation'>Notation</termref> mechanism
+may be used for
+formal declaration of PI targets.
+</p>
+</div2>
+ 
+<div2 id='sec-cdata-sect'>
+<head>CDATA Sections</head>
+ 
+<p><termdef id="dt-cdsection" term="CDATA Section"><term>CDATA sections</term>
+may occur 
+anywhere character data may occur; they are
+used to escape blocks of text containing characters which would
+otherwise be recognized as markup.  CDATA sections begin with the
+string "<code><![CDATA[</code>" and end with the string
+"<code>]]></code>":
+<scrap lang="ebnf">
+<head>CDATA Sections</head>
+<prod id='NT-CDSect'><lhs>CDSect</lhs>
+<rhs><nt def='NT-CDStart'>CDStart</nt> 
+<nt def='NT-CData'>CData</nt> 
+<nt def='NT-CDEnd'>CDEnd</nt></rhs></prod>
+<prod id='NT-CDStart'><lhs>CDStart</lhs>
+<rhs>'<![CDATA['</rhs>
+</prod>
+<prod id='NT-CData'><lhs>CData</lhs>
+<rhs>(<nt def='NT-Char'>Char</nt>* - 
+(<nt def='NT-Char'>Char</nt>* ']]>' <nt def='NT-Char'>Char</nt>*))
+</rhs>
+</prod>
+<prod id='NT-CDEnd'><lhs>CDEnd</lhs>
+<rhs>']]>'</rhs>
+</prod>
+</scrap>
+
+Within a CDATA section, only the <nt def='NT-CDEnd'>CDEnd</nt> string is
+recognized as markup, so that left angle brackets and ampersands may occur in
+their literal form; they need not (and cannot) be escaped using
+"<code>&lt;</code>" and "<code>&amp;</code>".  CDATA sections
+cannot nest.</termdef>
+</p>
+
+<p>An example of a CDATA section, in which "<code><greeting></code>" and 
+"<code></greeting></code>"
+are recognized as <termref def='dt-chardata'>character data</termref>, not
+<termref def='dt-markup'>markup</termref>:
+<eg><![CDATA[<greeting>Hello, world!</greeting>]]></eg>
+</p>
+</div2>
+ 
+<div2 id='sec-prolog-dtd'>
+<head>Prolog and Document Type Declaration</head>
+ 
+<p><termdef id='dt-xmldecl' term='XML Declaration'>XML documents 
+may, and should, 
+begin with an <term>XML declaration</term> which specifies
+the version of
+XML being used.</termdef>
+For example, the following is a complete XML document, <termref
+def="dt-wellformed">well-formed</termref> but not
+<termref def="dt-valid">valid</termref>:
+<eg><![CDATA[<?xml version="1.0"?>
+<greeting>Hello, world!</greeting>
+]]></eg>
+and so is this:
+<eg><![CDATA[<greeting>Hello, world!</greeting>
+]]></eg>
+</p>
+
+<p>The version number "<code>1.0</code>" should be used to indicate
+conformance to this version of this specification; it is an error
+for a document to use the value "<code>1.0</code>" 
+if it does not conform to this version of this specification.
+It is the intent
+of the XML working group to give later versions of this specification
+numbers other than "<code>1.0</code>", but this intent does not
+indicate a
+commitment to produce any future versions of XML, nor if any are produced, to
+use any particular numbering scheme.
+Since future versions are not ruled out, this construct is provided 
+as a means to allow the possibility of automatic version recognition, should
+it become necessary.
+Processors may signal an error if they receive documents labeled with 
+versions they do not support. 
+</p>
+<p>The function of the markup in an XML document is to describe its
+storage and logical structure and to associate attribute-value pairs
+with its logical structures.  XML provides a mechanism, the <termref
+def="dt-doctype">document type declaration</termref>, to define
+constraints on the logical structure and to support the use of
+predefined storage units.
+
+<termdef id="dt-valid" term="Validity">An XML document is 
+<term>valid</term> if it has an associated document type
+declaration and if the document
+complies with the constraints expressed in it.</termdef></p>
+<p>The document type declaration must appear before
+the first <termref def="dt-element">element</termref> in the document.
+<scrap lang="ebnf" id='xmldoc'>
+<head>Prolog</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-prolog'><lhs>prolog</lhs>
+<rhs><nt def='NT-XMLDecl'>XMLDecl</nt>? 
+<nt def='NT-Misc'>Misc</nt>* 
+(<nt def='NT-doctypedecl'>doctypedecl</nt> 
+<nt def='NT-Misc'>Misc</nt>*)?</rhs></prod>
+<prod id='NT-XMLDecl'><lhs>XMLDecl</lhs>
+<rhs>'<?xml' 
+<nt def='NT-VersionInfo'>VersionInfo</nt> 
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>? 
+<nt def='NT-SDDecl'>SDDecl</nt>? 
+<nt def="NT-S">S</nt>? 
+'?>'</rhs>
+</prod>
+<prod id='NT-VersionInfo'><lhs>VersionInfo</lhs>
+<rhs><nt def="NT-S">S</nt> 'version' <nt def='NT-Eq'>Eq</nt> 
+(' <nt def="NT-VersionNum">VersionNum</nt> ' 
+| " <nt def="NT-VersionNum">VersionNum</nt> ")</rhs>
+</prod>
+<prod id='NT-Eq'><lhs>Eq</lhs>
+<rhs><nt def='NT-S'>S</nt>? '=' <nt def='NT-S'>S</nt>?</rhs></prod>
+<prod id="NT-VersionNum">
+<lhs>VersionNum</lhs>
+<rhs>([a-zA-Z0-9_.:] | '-')+</rhs>
+</prod>
+<prod id='NT-Misc'><lhs>Misc</lhs>
+<rhs><nt def='NT-Comment'>Comment</nt> | <nt def='NT-PI'>PI</nt> | 
+<nt def='NT-S'>S</nt></rhs></prod>
+</prodgroup>
+</scrap></p>
+
+<p><termdef id="dt-doctype" term="Document Type Declaration">The XML
+<term>document type declaration</term> 
+contains or points to 
+<termref def='dt-markupdecl'>markup declarations</termref> 
+that provide a grammar for a
+class of documents.  
+This grammar is known as a document type definition,
+or <term>DTD</term>.  
+The document type declaration can point to an external subset (a
+special kind of 
+<termref def='dt-extent'>external entity</termref>) containing markup
+declarations, or can 
+contain the markup declarations directly in an internal subset, or can do
+both.   
+The DTD for a document consists of both subsets taken
+together.</termdef>
+</p>
+<p><termdef id="dt-markupdecl" term="markup declaration">
+A <term>markup declaration</term> is 
+an <termref def="dt-eldecl">element type declaration</termref>, 
+an <termref def="dt-attdecl">attribute-list declaration</termref>, 
+an <termref def="dt-entdecl">entity declaration</termref>, or
+a <termref def="dt-notdecl">notation declaration</termref>.
+</termdef>
+These declarations may be contained in whole or in part
+within <termref def='dt-PE'>parameter entities</termref>,
+as described in the well-formedness and validity constraints below.
+For fuller information, see
+<specref ref="sec-physical-struct"/>.</p>
+<scrap lang="ebnf" id='dtd'>
+<head>Document Type Definition</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-doctypedecl'><lhs>doctypedecl</lhs>
+<rhs>'<!DOCTYPE' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> 
+<nt def='NT-ExternalID'>ExternalID</nt>)? 
+<nt def='NT-S'>S</nt>? ('[' 
+(<nt def='NT-markupdecl'>markupdecl</nt> 
+| <nt def='NT-PEReference'>PEReference</nt> 
+| <nt def='NT-S'>S</nt>)*
+']' 
+<nt def='NT-S'>S</nt>?)? '>'</rhs>
+<vc def="vc-roottype"/>
+</prod>
+<prod id='NT-markupdecl'><lhs>markupdecl</lhs>
+<rhs><nt def='NT-elementdecl'>elementdecl</nt> 
+| <nt def='NT-AttlistDecl'>AttlistDecl</nt> 
+| <nt def='NT-EntityDecl'>EntityDecl</nt> 
+| <nt def='NT-NotationDecl'>NotationDecl</nt> 
+| <nt def='NT-PI'>PI</nt> 
+| <nt def='NT-Comment'>Comment</nt>
+</rhs>
+<vc def='vc-PEinMarkupDecl'/>
+<wfc def="wfc-PEinInternalSubset"/>
+</prod>
+
+</prodgroup>
+</scrap>
+
+<p>The markup declarations may be made up in whole or in part of
+the <termref def='dt-repltext'>replacement text</termref> of 
+<termref def='dt-PE'>parameter entities</termref>.
+The productions later in this specification for
+individual nonterminals (<nt def='NT-elementdecl'>elementdecl</nt>,
+<nt def='NT-AttlistDecl'>AttlistDecl</nt>, and so on) describe 
+the declarations <emph>after</emph> all the parameter entities have been 
+<termref def='dt-include'>included</termref>.</p>
+
+<vcnote id="vc-roottype">
+<head>Root Element Type</head>
+<p>
+The <nt def='NT-Name'>Name</nt> in the document type declaration must
+match the element type of the <termref def='dt-root'>root element</termref>.
+</p>
+</vcnote>
+
+<vcnote id='vc-PEinMarkupDecl'>
+<head>Proper Declaration/PE Nesting</head>
+<p>Parameter-entity 
+<termref def='dt-repltext'>replacement text</termref> must be properly nested
+with markup declarations. 
+That is to say, if either the first character
+or the last character of a markup
+declaration (<nt def='NT-markupdecl'>markupdecl</nt> above)
+is contained in the replacement text for a 
+<termref def='dt-PERef'>parameter-entity reference</termref>,
+both must be contained in the same replacement text.</p>
+</vcnote>
+<wfcnote id="wfc-PEinInternalSubset">
+<head>PEs in Internal Subset</head>
+<p>In the internal DTD subset, 
+<termref def='dt-PERef'>parameter-entity references</termref>
+can occur only where markup declarations can occur, not
+within markup declarations.  (This does not apply to
+references that occur in
+external parameter entities or to the external subset.)
+</p>
+</wfcnote>
+<p>
+Like the internal subset, the external subset and 
+any external parameter entities referred to in the DTD 
+must consist of a series of complete markup declarations of the types 
+allowed by the non-terminal symbol
+<nt def="NT-markupdecl">markupdecl</nt>, interspersed with white space
+or <termref def="dt-PERef">parameter-entity references</termref>.
+However, portions of the contents
+of the 
+external subset or of external parameter entities may conditionally be ignored
+by using 
+the <termref def="dt-cond-section">conditional section</termref>
+construct; this is not allowed in the internal subset.
+
+<scrap id="ext-Subset">
+<head>External Subset</head>
+<prodgroup pcw2="6" pcw4="17.5" pcw5="9">
+<prod id='NT-extSubset'><lhs>extSubset</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>?
+<nt def='NT-extSubsetDecl'>extSubsetDecl</nt></rhs></prod>
+<prod id='NT-extSubsetDecl'><lhs>extSubsetDecl</lhs>
+<rhs>(
+<nt def='NT-markupdecl'>markupdecl</nt> 
+| <nt def='NT-conditionalSect'>conditionalSect</nt> 
+| <nt def='NT-PEReference'>PEReference</nt> 
+| <nt def='NT-S'>S</nt>
+)*</rhs>
+</prod>
+</prodgroup>
+</scrap></p>
+<p>The external subset and external parameter entities also differ 
+from the internal subset in that in them,
+<termref def="dt-PERef">parameter-entity references</termref>
+are permitted <emph>within</emph> markup declarations,
+not only <emph>between</emph> markup declarations.</p>
+<p>An example of an XML document with a document type declaration:
+<eg><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE greeting SYSTEM "hello.dtd">
+<greeting>Hello, world!</greeting>
+]]></eg>
+The <termref def="dt-sysid">system identifier</termref> 
+"<code>hello.dtd</code>" gives the URI of a DTD for the document.</p>
+<p>The declarations can also be given locally, as in this 
+example:
+<eg><![CDATA[<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE greeting [
+  <!ELEMENT greeting (#PCDATA)>
+]>
+<greeting>Hello, world!</greeting>
+]]></eg>
+If both the external and internal subsets are used, the 
+internal subset is considered to occur before the external subset.
+<!-- 'is considered to'? boo. whazzat mean? -->
+This has the effect that entity and attribute-list declarations in the
+internal subset take precedence over those in the external subset.
+</p>
+</div2>
+ 
+<div2 id='sec-rmd'>
+<head>Standalone Document Declaration</head>
+<p>Markup declarations can affect the content of the document,
+as passed from an <termref def="dt-xml-proc">XML processor</termref> 
+to an application; examples are attribute defaults and entity
+declarations.
+The standalone document declaration,
+which may appear as a component of the XML declaration, signals
+whether or not there are such declarations which appear external to 
+the <termref def='dt-docent'>document entity</termref>.
+<scrap lang="ebnf" id='fulldtd'>
+<head>Standalone Document Declaration</head>
+<prodgroup pcw2="4" pcw4="19.5" pcw5="9">
+<prod id='NT-SDDecl'><lhs>SDDecl</lhs>
+<rhs>
+<nt def="NT-S">S</nt> 
+'standalone' <nt def='NT-Eq'>Eq</nt> 
+(("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no') '"'))
+</rhs>
+<vc def='vc-check-rmd'/></prod>
+</prodgroup>
+</scrap></p>
+<p>
+In a standalone document declaration, the value "<code>yes</code>" indicates
+that there 
+are no markup declarations external to the <termref def='dt-docent'>document
+entity</termref> (either in the DTD external subset, or in an
+external parameter entity referenced from the internal subset)
+which affect the information passed from the XML processor to
+the application.  
+The value "<code>no</code>" indicates that there are or may be such
+external markup declarations.
+Note that the standalone document declaration only 
+denotes the presence of external <emph>declarations</emph>; the presence, in a
+document, of 
+references to external <emph>entities</emph>, when those entities are
+internally declared, 
+does not change its standalone status.</p>
+<p>If there are no external markup declarations, the standalone document
+declaration has no meaning. 
+If there are external markup declarations but there is no standalone
+document declaration, the value "<code>no</code>" is assumed.</p>
+<p>Any XML document for which <code>standalone="no"</code> holds can 
+be converted algorithmically to a standalone document, 
+which may be desirable for some network delivery applications.</p>
+<vcnote id='vc-check-rmd'>
+<head>Standalone Document Declaration</head>
+<p>The standalone document declaration must have
+the value "<code>no</code>" if any external markup declarations
+contain declarations of:</p><ulist>
+<item><p>attributes with <termref def="dt-default">default</termref> values, if
+elements to which
+these attributes apply appear in the document without
+specifications of values for these attributes, or</p></item>
+<item><p>entities (other than <code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>), 
+if <termref def="dt-entref">references</termref> to those
+entities appear in the document, or</p>
+</item>
+<item><p>attributes with values subject to
+<titleref href='AVNormalize'>normalization</titleref>, where the
+attribute appears in the document with a value which will
+change as a result of normalization, or</p>
+</item>
+<item>
+<p>element types with <termref def="dt-elemcontent">element content</termref>, 
+if white space occurs
+directly within any instance of those types.
+</p></item>
+</ulist>
+
+</vcnote>
+<p>An example XML declaration with a standalone document declaration:<eg
+><?xml version="1.0" standalone='yes'?></eg></p>
+</div2>
+<div2 id='sec-white-space'>
+<head>White Space Handling</head>
+
+<p>In editing XML documents, it is often convenient to use "white space"
+(spaces, tabs, and blank lines, denoted by the nonterminal 
+<nt def='NT-S'>S</nt> in this specification) to
+set apart the markup for greater readability.  Such white space is typically
+not intended for inclusion in the delivered version of the document.
+On the other hand, "significant" white space that should be preserved in the
+delivered version is common, for example in poetry and
+source code.</p>
+<p>An <termref def='dt-xml-proc'>XML processor</termref> 
+must always pass all characters in a document that are not
+markup through to the application.   A <termref def='dt-validating'>
+validating XML processor</termref> must also inform the application
+which  of these characters constitute white space appearing
+in <termref def="dt-elemcontent">element content</termref>.
+</p>
+<p>A special <termref def='dt-attr'>attribute</termref> 
+named <kw>xml:space</kw> may be attached to an element
+to signal an intention that in that element,
+white space should be preserved by applications.
+In valid documents, this attribute, like any other, must be 
+<termref def="dt-attdecl">declared</termref> if it is used.
+When declared, it must be given as an 
+<termref def='dt-enumerated'>enumerated type</termref> whose only
+possible values are "<code>default</code>" and "<code>preserve</code>".
+For example:<eg><![CDATA[    <!ATTLIST poem   xml:space (default|preserve) 'preserve'>]]></eg></p>
+<p>The value "<code>default</code>" signals that applications'
+default white-space processing modes are acceptable for this element; the
+value "<code>preserve</code>" indicates the intent that applications preserve
+all the white space.
+This declared intent is considered to apply to all elements within the content
+of the element where it is specified, unless overriden with another instance
+of the <kw>xml:space</kw> attribute.
+</p>
+<p>The <termref def='dt-root'>root element</termref> of any document
+is considered to have signaled no intentions as regards application space
+handling, unless it provides a value for 
+this attribute or the attribute is declared with a default value.
+</p>
+
+</div2>
+<div2 id='sec-line-ends'>
+<head>End-of-Line Handling</head>
+<p>XML <termref def='dt-parsedent'>parsed entities</termref> are often stored in
+computer files which, for editing convenience, are organized into lines.
+These lines are typically separated by some combination of the characters
+carriage-return (#xD) and line-feed (#xA).</p>
+<p>To simplify the tasks of <termref def='dt-app'>applications</termref>,
+wherever an external parsed entity or the literal entity value
+of an internal parsed entity contains either the literal 
+two-character sequence "#xD#xA" or a standalone literal
+#xD, an <termref def='dt-xml-proc'>XML processor</termref> must 
+pass to the application the single character #xA.
+(This behavior can 
+conveniently be produced by normalizing all 
+line breaks to #xA on input, before parsing.)
+</p>
+</div2>
+<div2 id='sec-lang-tag'>
+<head>Language Identification</head>
+<p>In document processing, it is often useful to
+identify the natural or formal language 
+in which the content is 
+written.
+A special <termref def="dt-attr">attribute</termref> named
+<kw>xml:lang</kw> may be inserted in
+documents to specify the 
+language used in the contents and attribute values 
+of any element in an XML document.
+In valid documents, this attribute, like any other, must be 
+<termref def="dt-attdecl">declared</termref> if it is used.
+The values of the attribute are language identifiers as defined
+by <bibref ref="RFC1766"/>, "Tags for the Identification of Languages":
+<scrap lang='ebnf'>
+<head>Language Identification</head>
+<prod id='NT-LanguageID'><lhs>LanguageID</lhs>
+<rhs><nt def='NT-Langcode'>Langcode</nt> 
+('-' <nt def='NT-Subcode'>Subcode</nt>)*</rhs></prod>
+<prod id='NT-Langcode'><lhs>Langcode</lhs>
+<rhs><nt def='NT-ISO639Code'>ISO639Code</nt> | 
+<nt def='NT-IanaCode'>IanaCode</nt> | 
+<nt def='NT-UserCode'>UserCode</nt></rhs>
+</prod>
+<prod id='NT-ISO639Code'><lhs>ISO639Code</lhs>
+<rhs>([a-z] | [A-Z]) ([a-z] | [A-Z])</rhs></prod>
+<prod id='NT-IanaCode'><lhs>IanaCode</lhs>
+<rhs>('i' | 'I') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-UserCode'><lhs>UserCode</lhs>
+<rhs>('x' | 'X') '-' ([a-z] | [A-Z])+</rhs></prod>
+<prod id='NT-Subcode'><lhs>Subcode</lhs>
+<rhs>([a-z] | [A-Z])+</rhs></prod>
+</scrap>
+The <nt def='NT-Langcode'>Langcode</nt> may be any of the following:
+<ulist>
+<item><p>a two-letter language code as defined by 
+<bibref ref="ISO639"/>, "Codes
+for the representation of names of languages"</p></item>
+<item><p>a language identifier registered with the Internet
+Assigned Numbers Authority <bibref ref='IANA'/>; these begin with the 
+prefix "<code>i-</code>" (or "<code>I-</code>")</p></item>
+<item><p>a language identifier assigned by the user, or agreed on
+between parties in private use; these must begin with the
+prefix "<code>x-</code>" or "<code>X-</code>" in order to ensure that they do not conflict 
+with names later standardized or registered with IANA</p></item>
+</ulist></p>
+<p>There may be any number of <nt def='NT-Subcode'>Subcode</nt> segments; if
+the first 
+subcode segment exists and the Subcode consists of two 
+letters, then it must be a country code from 
+<bibref ref="ISO3166"/>, "Codes 
+for the representation of names of countries."
+If the first 
+subcode consists of more than two letters, it must be
+a subcode for the language in question registered with IANA,
+unless the <nt def='NT-Langcode'>Langcode</nt> begins with the prefix 
+"<code>x-</code>" or
+"<code>X-</code>". </p>
+<p>It is customary to give the language code in lower case, and
+the country code (if any) in upper case.
+Note that these values, unlike other names in XML documents,
+are case insensitive.</p>
+<p>For example:
+<eg><![CDATA[<p xml:lang="en">The quick brown fox jumps over the lazy dog.</p>
+<p xml:lang="en-GB">What colour is it?</p>
+<p xml:lang="en-US">What color is it?</p>
+<sp who="Faust" desc='leise' xml:lang="de">
+  <l>Habe nun, ach! Philosophie,</l>
+  <l>Juristerei, und Medizin</l>
+  <l>und leider auch Theologie</l>
+  <l>durchaus studiert mit hei�em Bem�h'n.</l>
+  </sp>]]></eg></p>
+<!--<p>The xml:lang value is considered to apply both to the contents of an
+element and 
+(unless otherwise via attribute default values) to the
+values of all of its attributes with free-text (CDATA) values.  -->
+<p>The intent declared with <kw>xml:lang</kw> is considered to apply to
+all attributes and content of the element where it is specified,
+unless overridden with an instance of <kw>xml:lang</kw>
+on another element within that content.</p>
+<!--
+If no
+value is specified for xml:lang on an element, and no default value is
+defined for it in the DTD, then the xml:lang attribute of any element
+takes the same value it has in the parent element, if any.  The two
+technical terms in the following example both have the same effective
+value for xml:lang:
+
+  <p xml:lang="en">Here the keywords are
+  <term xml:lang="en">shift</term> and
+  <term>reduce</term>. ...</p>
+
+The application, not the XML processor, is responsible for this '
+inheritance' of attribute values.
+-->
+<p>A simple declaration for <kw>xml:lang</kw> might take
+the form
+<eg>xml:lang  NMTOKEN  #IMPLIED</eg>
+but specific default values may also be given, if appropriate.  In a
+collection of French poems for English students, with glosses and
+notes in English, the xml:lang attribute might be declared this way:
+<eg><![CDATA[    <!ATTLIST poem   xml:lang NMTOKEN 'fr'>
+    <!ATTLIST gloss  xml:lang NMTOKEN 'en'>
+    <!ATTLIST note   xml:lang NMTOKEN 'en'>]]></eg>
+</p>
+
+</div2>
+</div1>
+<!-- &Elements; -->
+ 
+<div1 id='sec-logical-struct'>
+<head>Logical Structures</head>
+ 
+<p><termdef id="dt-element" term="Element">Each <termref
+def="dt-xml-doc">XML document</termref> contains one or more
+<term>elements</term>, the boundaries of which are 
+either delimited by <termref def="dt-stag">start-tags</termref> 
+and <termref def="dt-etag">end-tags</termref>, or, for <termref
+def="dt-empty">empty</termref> elements, by an <termref
+def="dt-eetag">empty-element tag</termref>. Each element has a type,
+identified by name, sometimes called its "generic
+identifier" (GI), and may have a set of
+attribute specifications.</termdef>  Each attribute specification 
+has a <termref
+def="dt-attrname">name</termref> and a <termref
+def="dt-attrval">value</termref>.
+</p>
+<scrap lang='ebnf'><head>Element</head>
+<prod id='NT-element'><lhs>element</lhs>
+<rhs><nt def='NT-EmptyElemTag'>EmptyElemTag</nt></rhs>
+<rhs>| <nt def='NT-STag'>STag</nt> <nt def='NT-content'>content</nt> 
+<nt def='NT-ETag'>ETag</nt></rhs>
+<wfc def='GIMatch'/>
+<vc def='elementvalid'/>
+</prod>
+</scrap>
+<p>This specification does not constrain the semantics, use, or (beyond
+syntax) names of the element types and attributes, except that names
+beginning with a match to <code>(('X'|'x')('M'|'m')('L'|'l'))</code>
+are reserved for standardization in this or future versions of this
+specification.
+</p>
+<wfcnote id='GIMatch'>
+<head>Element Type Match</head>
+<p>
+The <nt def='NT-Name'>Name</nt> in an element's end-tag must match 
+the element type in
+the start-tag.
+</p>
+</wfcnote>
+<vcnote id='elementvalid'>
+<head>Element Valid</head>
+<p>An element is
+valid if
+there is a declaration matching 
+<nt def='NT-elementdecl'>elementdecl</nt> where the
+<nt def='NT-Name'>Name</nt> matches the element type, and
+one of the following holds:</p>
+<olist>
+<item><p>The declaration matches <kw>EMPTY</kw> and the element has no 
+<termref def='dt-content'>content</termref>.</p></item>
+<item><p>The declaration matches <nt def='NT-children'>children</nt> and
+the sequence of 
+<termref def="dt-parentchild">child elements</termref>
+belongs to the language generated by the regular expression in
+the content model, with optional white space (characters 
+matching the nonterminal <nt def='NT-S'>S</nt>) between each pair
+of child elements.</p></item>
+<item><p>The declaration matches <nt def='NT-Mixed'>Mixed</nt> and 
+the content consists of <termref def='dt-chardata'>character 
+data</termref> and <termref def='dt-parentchild'>child elements</termref>
+whose types match names in the content model.</p></item>
+<item><p>The declaration matches <kw>ANY</kw>, and the types
+of any <termref def='dt-parentchild'>child elements</termref> have
+been declared.</p></item>
+</olist>
+</vcnote>
+
+<div2 id='sec-starttags'>
+<head>Start-Tags, End-Tags, and Empty-Element Tags</head>
+ 
+<p><termdef id="dt-stag" term="Start-Tag">The beginning of every
+non-empty XML element is marked by a <term>start-tag</term>.
+<scrap lang='ebnf'>
+<head>Start-tag</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-STag'><lhs>STag</lhs>
+<rhs>'<' <nt def='NT-Name'>Name</nt> 
+(<nt def='NT-S'>S</nt> <nt def='NT-Attribute'>Attribute</nt>)* 
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<wfc def="uniqattspec"/>
+</prod>
+<prod id='NT-Attribute'><lhs>Attribute</lhs>
+<rhs><nt def='NT-Name'>Name</nt> <nt def='NT-Eq'>Eq</nt> 
+<nt def='NT-AttValue'>AttValue</nt></rhs>
+<vc def='ValueType'/>
+<wfc def='NoExternalRefs'/>
+<wfc def='CleanAttrVals'/></prod>
+</prodgroup>
+</scrap>
+The <nt def='NT-Name'>Name</nt> in
+the start- and end-tags gives the 
+element's <term>type</term>.</termdef>
+<termdef id="dt-attr" term="Attribute">
+The <nt def='NT-Name'>Name</nt>-<nt def='NT-AttValue'>AttValue</nt> pairs are
+referred to as 
+the <term>attribute specifications</term> of the element</termdef>,
+<termdef id="dt-attrname" term="Attribute Name">with the 
+<nt def='NT-Name'>Name</nt> in each pair
+referred to as the <term>attribute name</term></termdef> and
+<termdef id="dt-attrval" term="Attribute Value">the content of the
+<nt def='NT-AttValue'>AttValue</nt> (the text between the
+<code>'</code> or <code>"</code> delimiters)
+as the <term>attribute value</term>.</termdef>
+</p>
+<wfcnote id='uniqattspec'>
+<head>Unique Att Spec</head>
+<p>
+No attribute name may appear more than once in the same start-tag
+or empty-element tag.
+</p>
+</wfcnote>
+<vcnote id='ValueType'>
+<head>Attribute Value Type</head>
+<p>
+The attribute must have been declared; the value must be of the type 
+declared for it.
+(For attribute types, see <specref ref='attdecls'/>.)
+</p>
+</vcnote>
+<wfcnote id='NoExternalRefs'>
+<head>No External Entity References</head>
+<p>
+Attribute values cannot contain direct or indirect entity references 
+to external entities.
+</p>
+</wfcnote>
+<wfcnote id='CleanAttrVals'>
+<head>No <code><</code> in Attribute Values</head>
+<p>The <termref def='dt-repltext'>replacement text</termref> of any entity
+referred to directly or indirectly in an attribute
+value (other than "<code>&lt;</code>") must not contain
+a <code><</code>.
+</p></wfcnote>
+<p>An example of a start-tag:
+<eg><termdef id="dt-dog" term="dog"></eg></p>
+<p><termdef id="dt-etag" term="End Tag">The end of every element 
+that begins with a start-tag must
+be marked by an <term>end-tag</term>
+containing a name that echoes the element's type as given in the
+start-tag:
+<scrap lang='ebnf'>
+<head>End-tag</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-ETag'><lhs>ETag</lhs>
+<rhs>'</' <nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+</prodgroup>
+</scrap>
+</termdef></p>
+<p>An example of an end-tag:<eg></termdef></eg></p>
+<p><termdef id="dt-content" term="Content">The 
+<termref def='dt-text'>text</termref> between the start-tag and
+end-tag is called the element's
+<term>content</term>:
+<scrap lang='ebnf'>
+<head>Content of Elements</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-content'><lhs>content</lhs>
+<rhs>(<nt def='NT-element'>element</nt> | <nt def='NT-CharData'>CharData</nt> 
+| <nt def='NT-Reference'>Reference</nt> | <nt def='NT-CDSect'>CDSect</nt> 
+| <nt def='NT-PI'>PI</nt> | <nt def='NT-Comment'>Comment</nt>)*</rhs>
+</prod>
+</prodgroup>
+</scrap>
+</termdef></p>
+<p><termdef id="dt-empty" term="Empty">If an element is <term>empty</term>,
+it must be represented either by a start-tag immediately followed
+by an end-tag or by an empty-element tag.</termdef>
+<termdef id="dt-eetag" term="empty-element tag">An 
+<term>empty-element tag</term> takes a special form:
+<scrap lang='ebnf'>
+<head>Tags for Empty Elements</head>
+<prodgroup pcw2="6" pcw4="15" pcw5="11.5">
+<prod id='NT-EmptyElemTag'><lhs>EmptyElemTag</lhs>
+<rhs>'<' <nt def='NT-Name'>Name</nt> (<nt def='NT-S'>S</nt> 
+<nt def='NT-Attribute'>Attribute</nt>)* <nt def='NT-S'>S</nt>? 
+'/>'</rhs>
+<wfc def="uniqattspec"/>
+</prod>
+</prodgroup>
+</scrap>
+</termdef></p>
+<p>Empty-element tags may be used for any element which has no
+content, whether or not it is declared using the keyword
+<kw>EMPTY</kw>.
+<termref def='dt-interop'>For interoperability</termref>, the empty-element
+tag must be used, and can only be used, for elements which are
+<termref def='dt-eldecl'>declared</termref> <kw>EMPTY</kw>.</p>
+<p>Examples of empty elements:
+<eg><IMG align="left"
+ src="http://www.w3.org/Icons/WWW/w3c_home" />
+<br></br>
+<br/></eg></p>
+</div2>
+ 
+<div2 id='elemdecls'>
+<head>Element Type Declarations</head>
+ 
+<p>The <termref def="dt-element">element</termref> structure of an
+<termref def="dt-xml-doc">XML document</termref> may, for 
+<termref def="dt-valid">validation</termref> purposes, 
+be constrained
+using element type and attribute-list declarations.
+An element type declaration constrains the element's
+<termref def="dt-content">content</termref>.
+</p>
+
+<p>Element type declarations often constrain which element types can
+appear as <termref def="dt-parentchild">children</termref> of the element.
+At user option, an XML processor may issue a warning
+when a declaration mentions an element type for which no declaration
+is provided, but this is not an error.</p>
+<p><termdef id="dt-eldecl" term="Element Type declaration">An <term>element
+type declaration</term> takes the form:
+<scrap lang='ebnf'>
+<head>Element Type Declaration</head>
+<prodgroup pcw2="5.5" pcw4="18" pcw5="9">
+<prod id='NT-elementdecl'><lhs>elementdecl</lhs>
+<rhs>'<!ELEMENT' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt> 
+<nt def='NT-contentspec'>contentspec</nt>
+<nt def='NT-S'>S</nt>? '>'</rhs>
+<vc def='EDUnique'/></prod>
+<prod id='NT-contentspec'><lhs>contentspec</lhs>
+<rhs>'EMPTY' 
+| 'ANY' 
+| <nt def='NT-Mixed'>Mixed</nt> 
+| <nt def='NT-children'>children</nt>
+</rhs>
+</prod>
+</prodgroup>
+</scrap>
+where the <nt def='NT-Name'>Name</nt> gives the element type 
+being declared.</termdef>
+</p>
+
+<vcnote id='EDUnique'>
+<head>Unique Element Type Declaration</head>
+<p>
+No element type may be declared more than once.
+</p>
+</vcnote>
+
+<p>Examples of element type declarations:
+<eg><!ELEMENT br EMPTY>
+<!ELEMENT p (#PCDATA|emph)* >
+<!ELEMENT %name.para; %content.para; >
+<!ELEMENT container ANY></eg></p>
+ 
+<div3 id='sec-element-content'>
+<head>Element Content</head>
+ 
+<p><termdef id='dt-elemcontent' term='Element content'>An element <termref
+def="dt-stag">type</termref> has
+<term>element content</term> when elements of that
+type must contain only <termref def='dt-parentchild'>child</termref> 
+elements (no character data), optionally separated by 
+white space (characters matching the nonterminal 
+<nt def='NT-S'>S</nt>).
+</termdef>
+In this case, the
+constraint includes a content model, a simple grammar governing
+the allowed types of the child
+elements and the order in which they are allowed to appear.  
+The grammar is built on
+content particles (<nt def='NT-cp'>cp</nt>s), which consist of names, 
+choice lists of content particles, or
+sequence lists of content particles:
+<scrap lang='ebnf'>
+<head>Element-content Models</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-children'><lhs>children</lhs>
+<rhs>(<nt def='NT-choice'>choice</nt> 
+| <nt def='NT-seq'>seq</nt>) 
+('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-cp'><lhs>cp</lhs>
+<rhs>(<nt def='NT-Name'>Name</nt> 
+| <nt def='NT-choice'>choice</nt> 
+| <nt def='NT-seq'>seq</nt>) 
+('?' | '*' | '+')?</rhs></prod>
+<prod id='NT-choice'><lhs>choice</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>? cp 
+( <nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*
+<nt def='NT-S'>S</nt>? ')'</rhs>
+<vc def='vc-PEinGroup'/></prod>
+<prod id='NT-seq'><lhs>seq</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>? cp 
+( <nt def='NT-S'>S</nt>? ',' <nt def='NT-S'>S</nt>? <nt def='NT-cp'>cp</nt> )*
+<nt def='NT-S'>S</nt>? ')'</rhs>
+<vc def='vc-PEinGroup'/></prod>
+
+</prodgroup>
+</scrap>
+where each <nt def='NT-Name'>Name</nt> is the type of an element which may
+appear as a <termref def="dt-parentchild">child</termref>.  
+Any content
+particle in a choice list may appear in the <termref
+def="dt-elemcontent">element content</termref> at the location where
+the choice list appears in the grammar;
+content particles occurring in a sequence list must each
+appear in the <termref def="dt-elemcontent">element content</termref> in the
+order given in the list.  
+The optional character following a name or list governs
+whether the element or the content particles in the list may occur one
+or more (<code>+</code>), zero or more (<code>*</code>), or zero or 
+one times (<code>?</code>).  
+The absence of such an operator means that the element or content particle
+must appear exactly once.
+This syntax
+and meaning are identical to those used in the productions in this
+specification.</p>
+<p>
+The content of an element matches a content model if and only if it is
+possible to trace out a path through the content model, obeying the
+sequence, choice, and repetition operators and matching each element in
+the content against an element type in the content model.  <termref
+def='dt-compat'>For compatibility</termref>, it is an error
+if an element in the document can
+match more than one occurrence of an element type in the content model.
+For more information, see <specref ref="determinism"/>.
+<!-- appendix <specref ref="determinism"/>. -->
+<!-- appendix on deterministic content models. -->
+</p>
+<vcnote id='vc-PEinGroup'>
+<head>Proper Group/PE Nesting</head>
+<p>Parameter-entity 
+<termref def='dt-repltext'>replacement text</termref> must be properly nested
+with parenthetized groups.
+That is to say, if either of the opening or closing parentheses
+in a <nt def='NT-choice'>choice</nt>, <nt def='NT-seq'>seq</nt>, or
+<nt def='NT-Mixed'>Mixed</nt> construct 
+is contained in the replacement text for a 
+<termref def='dt-PERef'>parameter entity</termref>,
+both must be contained in the same replacement text.</p>
+<p><termref def='dt-interop'>For interoperability</termref>, 
+if a parameter-entity reference appears in a 
+<nt def='NT-choice'>choice</nt>, <nt def='NT-seq'>seq</nt>, or
+<nt def='NT-Mixed'>Mixed</nt> construct, its replacement text
+should not be empty, and 
+neither the first nor last non-blank
+character of the replacement text should be a connector 
+(<code>|</code> or <code>,</code>).
+</p>
+</vcnote>
+<p>Examples of element-content models:
+<eg><!ELEMENT spec (front, body, back?)>
+<!ELEMENT div1 (head, (p | list | note)*, div2*)>
+<!ELEMENT dictionary-body (%div.mix; | %dict.mix;)*></eg></p>
+</div3>
+
+<div3 id='sec-mixed-content'>
+<head>Mixed Content</head>
+ 
+<p><termdef id='dt-mixed' term='Mixed Content'>An element 
+<termref def='dt-stag'>type</termref> has 
+<term>mixed content</term> when elements of that type may contain
+character data, optionally interspersed with
+<termref def="dt-parentchild">child</termref> elements.</termdef>
+In this case, the types of the child elements
+may be constrained, but not their order or their number of occurrences:
+<scrap lang='ebnf'>
+<head>Mixed-content Declaration</head>
+<prodgroup pcw2="5.5" pcw4="16" pcw5="11">
+<prod id='NT-Mixed'><lhs>Mixed</lhs>
+<rhs>'(' <nt def='NT-S'>S</nt>? 
+'#PCDATA'
+(<nt def='NT-S'>S</nt>? 
+'|' 
+<nt def='NT-S'>S</nt>? 
+<nt def='NT-Name'>Name</nt>)* 
+<nt def='NT-S'>S</nt>? 
+')*' </rhs>
+<rhs>| '(' <nt def='NT-S'>S</nt>? '#PCDATA' <nt def='NT-S'>S</nt>? ')'
+</rhs><vc def='vc-PEinGroup'/>
+<vc def='vc-MixedChildrenUnique'/>
+</prod>
+
+</prodgroup>
+</scrap>
+where the <nt def='NT-Name'>Name</nt>s give the types of elements
+that may appear as children.
+</p>
+<vcnote id='vc-MixedChildrenUnique'>
+<head>No Duplicate Types</head>
+<p>The same name must not appear more than once in a single mixed-content
+declaration.
+</p></vcnote>
+<p>Examples of mixed content declarations:
+<eg><!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
+<!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
+<!ELEMENT b (#PCDATA)></eg></p>
+</div3>
+</div2>
+ 
+<div2 id='attdecls'>
+<head>Attribute-List Declarations</head>
+ 
+<p><termref def="dt-attr">Attributes</termref> are used to associate
+name-value pairs with <termref def="dt-element">elements</termref>.
+Attribute specifications may appear only within <termref
+def="dt-stag">start-tags</termref>
+and <termref def="dt-eetag">empty-element tags</termref>; 
+thus, the productions used to
+recognize them appear in <specref ref='sec-starttags'/>.  
+Attribute-list
+declarations may be used:
+<ulist>
+<item><p>To define the set of attributes pertaining to a given
+element type.</p></item>
+<item><p>To establish type constraints for these
+attributes.</p></item>
+<item><p>To provide <termref def="dt-default">default values</termref>
+for attributes.</p></item>
+</ulist>
+</p>
+<p><termdef id="dt-attdecl" term="Attribute-List Declaration">
+<term>Attribute-list declarations</term> specify the name, data type, and default
+value (if any) of each attribute associated with a given element type:
+<scrap lang='ebnf'>
+<head>Attribute-list Declaration</head>
+<prod id='NT-AttlistDecl'><lhs>AttlistDecl</lhs>
+<rhs>'<!ATTLIST' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt> 
+<nt def='NT-AttDef'>AttDef</nt>*
+<nt def='NT-S'>S</nt>? '>'</rhs>
+</prod>
+<prod id='NT-AttDef'><lhs>AttDef</lhs>
+<rhs><nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt> <nt def='NT-AttType'>AttType</nt> 
+<nt def='NT-S'>S</nt> <nt def='NT-DefaultDecl'>DefaultDecl</nt></rhs>
+</prod>
+</scrap>
+The <nt def="NT-Name">Name</nt> in the
+<nt def='NT-AttlistDecl'>AttlistDecl</nt> rule is the type of an element.  At
+user option, an XML processor may issue a warning if attributes are
+declared for an element type not itself declared, but this is not an
+error.  The <nt def='NT-Name'>Name</nt> in the 
+<nt def='NT-AttDef'>AttDef</nt> rule is
+the name of the attribute.</termdef></p>
+<p>
+When more than one <nt def='NT-AttlistDecl'>AttlistDecl</nt> is provided for a
+given element type, the contents of all those provided are merged.  When
+more than one definition is provided for the same attribute of a
+given element type, the first declaration is binding and later
+declarations are ignored.  
+<termref def='dt-interop'>For interoperability,</termref> writers of DTDs
+may choose to provide at most one attribute-list declaration
+for a given element type, at most one attribute definition
+for a given attribute name, and at least one attribute definition
+in each attribute-list declaration.
+For interoperability, an XML processor may at user option
+issue a warning when more than one attribute-list declaration is
+provided for a given element type, or more than one attribute definition
+is provided 
+for a given attribute, but this is not an error.
+</p>
+
+<div3 id='sec-attribute-types'>
+<head>Attribute Types</head>
+ 
+<p>XML attribute types are of three kinds:  a string type, a
+set of tokenized types, and enumerated types.  The string type may take
+any literal string as a value; the tokenized types have varying lexical
+and semantic constraints, as noted:
+<scrap lang='ebnf'>
+<head>Attribute Types</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-AttType'><lhs>AttType</lhs>
+<rhs><nt def='NT-StringType'>StringType</nt> 
+| <nt def='NT-TokenizedType'>TokenizedType</nt> 
+| <nt def='NT-EnumeratedType'>EnumeratedType</nt>
+</rhs>
+</prod>
+<prod id='NT-StringType'><lhs>StringType</lhs>
+<rhs>'CDATA'</rhs>
+</prod>
+<prod id='NT-TokenizedType'><lhs>TokenizedType</lhs>
+<rhs>'ID'</rhs>
+<vc def='id'/>
+<vc def='one-id-per-el'/>
+<vc def='id-default'/>
+<rhs>| 'IDREF'</rhs>
+<vc def='idref'/>
+<rhs>| 'IDREFS'</rhs>
+<vc def='idref'/>
+<rhs>| 'ENTITY'</rhs>
+<vc def='entname'/>
+<rhs>| 'ENTITIES'</rhs>
+<vc def='entname'/>
+<rhs>| 'NMTOKEN'</rhs>
+<vc def='nmtok'/>
+<rhs>| 'NMTOKENS'</rhs>
+<vc def='nmtok'/></prod>
+</prodgroup>
+</scrap>
+</p>
+<vcnote id='id' >
+<head>ID</head>
+<p>
+Values of type <kw>ID</kw> must match the 
+<nt def='NT-Name'>Name</nt> production.  
+A name must not appear more than once in
+an XML document as a value of this type; i.e., ID values must uniquely
+identify the elements which bear them.   
+</p>
+</vcnote>
+<vcnote id='one-id-per-el'>
+<head>One ID per Element Type</head>
+<p>No element type may have more than one ID attribute specified.</p>
+</vcnote>
+<vcnote id='id-default'>
+<head>ID Attribute Default</head>
+<p>An ID attribute must have a declared default of <kw>#IMPLIED</kw> or
+<kw>#REQUIRED</kw>.</p>
+</vcnote>
+<vcnote id='idref'>
+<head>IDREF</head>
+<p>
+Values of type <kw>IDREF</kw> must match
+the <nt def="NT-Name">Name</nt> production, and
+values of type <kw>IDREFS</kw> must match
+<nt def="NT-Names">Names</nt>; 
+each <nt def='NT-Name'>Name</nt> must match the value of an ID attribute on 
+some element in the XML document; i.e. <kw>IDREF</kw> values must 
+match the value of some ID attribute. 
+</p>
+</vcnote>
+<vcnote id='entname'>
+<head>Entity Name</head>
+<p>
+Values of type <kw>ENTITY</kw> 
+must match the <nt def="NT-Name">Name</nt> production,
+values of type <kw>ENTITIES</kw> must match
+<nt def="NT-Names">Names</nt>;
+each <nt def="NT-Name">Name</nt> must 
+match the
+name of an <termref def="dt-unparsed">unparsed entity</termref> declared in the
+<termref def="dt-doctype">DTD</termref>.
+</p>
+</vcnote>
+<vcnote id='nmtok'>
+<head>Name Token</head>
+<p>
+Values of type <kw>NMTOKEN</kw> must match the
+<nt def="NT-Nmtoken">Nmtoken</nt> production;
+values of type <kw>NMTOKENS</kw> must 
+match <termref def="NT-Nmtokens">Nmtokens</termref>.
+</p>
+</vcnote>
+<!-- why?
+<p>The XML processor must normalize attribute values before
+passing them to the application, as described in 
+<specref ref="AVNormalize"/>.</p>-->
+<p><termdef id='dt-enumerated' term='Enumerated Attribute
+Values'><term>Enumerated attributes</term> can take one 
+of a list of values provided in the declaration</termdef>. There are two
+kinds of enumerated types:
+<scrap lang='ebnf'>
+<head>Enumerated Attribute Types</head>
+<prod id='NT-EnumeratedType'><lhs>EnumeratedType</lhs> 
+<rhs><nt def='NT-NotationType'>NotationType</nt> 
+| <nt def='NT-Enumeration'>Enumeration</nt>
+</rhs></prod>
+<prod id='NT-NotationType'><lhs>NotationType</lhs> 
+<rhs>'NOTATION' 
+<nt def='NT-S'>S</nt> 
+'(' 
+<nt def='NT-S'>S</nt>?  
+<nt def='NT-Name'>Name</nt> 
+(<nt def='NT-S'>S</nt>? '|' <nt def='NT-S'>S</nt>?  
+<nt def='NT-Name'>Name</nt>)*
+<nt def='NT-S'>S</nt>? ')'
+</rhs>
+<vc def='notatn' /></prod>
+<prod id='NT-Enumeration'><lhs>Enumeration</lhs> 
+<rhs>'(' <nt def='NT-S'>S</nt>?
+<nt def='NT-Nmtoken'>Nmtoken</nt> 
+(<nt def='NT-S'>S</nt>? '|' 
+<nt def='NT-S'>S</nt>?  
+<nt def='NT-Nmtoken'>Nmtoken</nt>)* 
+<nt def='NT-S'>S</nt>? 
+')'</rhs> 
+<vc def='enum'/></prod>
+</scrap>
+A <kw>NOTATION</kw> attribute identifies a 
+<termref def='dt-notation'>notation</termref>, declared in the 
+DTD with associated system and/or public identifiers, to
+be used in interpreting the element to which the attribute
+is attached.
+</p>
+
+<vcnote id='notatn'>
+<head>Notation Attributes</head>
+<p>
+Values of this type must match
+one of the <titleref href='Notations'>notation</titleref> names included in
+the declaration; all notation names in the declaration must
+be declared.
+</p>
+</vcnote>
+<vcnote id='enum'>
+<head>Enumeration</head>
+<p>
+Values of this type
+must match one of the <nt def='NT-Nmtoken'>Nmtoken</nt> tokens in the
+declaration. 
+</p>
+</vcnote>
+<p><termref def='dt-interop'>For interoperability,</termref> the same
+<nt def='NT-Nmtoken'>Nmtoken</nt> should not occur more than once in the
+enumerated attribute types of a single element type.
+</p>
+</div3>
+
+<div3 id='sec-attr-defaults'>
+<head>Attribute Defaults</head>
+ 
+<p>An <termref def="dt-attdecl">attribute declaration</termref> provides
+information on whether
+the attribute's presence is required, and if not, how an XML processor should
+react if a declared attribute is absent in a document.
+<scrap lang='ebnf'>
+<head>Attribute Defaults</head>
+<prodgroup pcw4="14" pcw5="11.5">
+<prod id='NT-DefaultDecl'><lhs>DefaultDecl</lhs>
+<rhs>'#REQUIRED' 
+| '#IMPLIED' </rhs>
+<rhs>| (('#FIXED' S)? <nt def='NT-AttValue'>AttValue</nt>)</rhs>
+<vc def='RequiredAttr'/>
+<vc def='defattrvalid'/>
+<wfc def="CleanAttrVals"/>
+<vc def='FixedAttr'/>
+</prod>
+</prodgroup>
+</scrap>
+
+</p>
+<p>In an attribute declaration, <kw>#REQUIRED</kw> means that the
+attribute must always be provided, <kw>#IMPLIED</kw> that no default 
+value is provided.
+<!-- not any more!!
+<kw>#IMPLIED</kw> means that if the attribute is omitted
+from an element of this type,
+the XML processor must inform the application
+that no value was specified; no constraint is placed on the behavior
+of the application. -->
+<termdef id="dt-default" term="Attribute Default">If the 
+declaration
+is neither <kw>#REQUIRED</kw> nor <kw>#IMPLIED</kw>, then the
+<nt def='NT-AttValue'>AttValue</nt> value contains the declared
+<term>default</term> value; the <kw>#FIXED</kw> keyword states that
+the attribute must always have the default value.
+If a default value
+is declared, when an XML processor encounters an omitted attribute, it
+is to behave as though the attribute were present with 
+the declared default value.</termdef></p>
+<vcnote id='RequiredAttr'>
+<head>Required Attribute</head>
+<p>If the default declaration is the keyword <kw>#REQUIRED</kw>, then
+the attribute must be specified for
+all elements of the type in the attribute-list declaration.
+</p></vcnote>
+<vcnote id='defattrvalid'>
+<head>Attribute Default Legal</head>
+<p>
+The declared
+default value must meet the lexical constraints of the declared attribute type.
+</p>
+</vcnote>
+<vcnote id='FixedAttr'>
+<head>Fixed Attribute Default</head>
+<p>If an attribute has a default value declared with the 
+<kw>#FIXED</kw> keyword, instances of that attribute must
+match the default value.
+</p></vcnote>
+
+<p>Examples of attribute-list declarations:
+<eg><!ATTLIST termdef
+          id      ID      #REQUIRED
+          name    CDATA   #IMPLIED>
+<!ATTLIST list
+          type    (bullets|ordered|glossary)  "ordered">
+<!ATTLIST form
+          method  CDATA   #FIXED "POST"></eg></p>
+</div3>
+<div3 id='AVNormalize'>
+<head>Attribute-Value Normalization</head>
+<p>Before the value of an attribute is passed to the application
+or checked for validity, the
+XML processor must normalize it as follows:
+<ulist>
+<item><p>a character reference is processed by appending the referenced    
+character to the attribute value</p></item>
+<item><p>an entity reference is processed by recursively processing the
+replacement text of the entity</p></item>
+<item><p>a whitespace character (#x20, #xD, #xA, #x9) is processed by
+appending #x20 to the normalized value, except that only a single #x20
+is appended for a "#xD#xA" sequence that is part of an external
+parsed entity or the literal entity value of an internal parsed
+entity</p></item>
+<item><p>other characters are processed by appending them to the normalized
+value</p>
+</item></ulist>
+</p>
+<p>If the declared value is not CDATA, then the XML processor must
+further process the normalized attribute value by discarding any
+leading and trailing space (#x20) characters, and by replacing
+sequences of space (#x20) characters by a single space (#x20)
+character.</p>
+<p>
+All attributes for which no declaration has been read should be treated
+by a non-validating parser as if declared
+<kw>CDATA</kw>.
+</p>
+</div3>
+</div2>
+<div2 id='sec-condition-sect'>
+<head>Conditional Sections</head>
+<p><termdef id='dt-cond-section' term='conditional section'>
+<term>Conditional sections</term> are portions of the
+<termref def='dt-doctype'>document type declaration external subset</termref>
+which are 
+included in, or excluded from, the logical structure of the DTD based on
+the keyword which governs them.</termdef>
+<scrap lang='ebnf'>
+<head>Conditional Section</head>
+<prodgroup pcw2="9" pcw4="14.5">
+<prod id='NT-conditionalSect'><lhs>conditionalSect</lhs>
+<rhs><nt def='NT-includeSect'>includeSect</nt>
+| <nt def='NT-ignoreSect'>ignoreSect</nt>
+</rhs>
+</prod>
+<prod id='NT-includeSect'><lhs>includeSect</lhs>
+<rhs>'<![' S? 'INCLUDE' S? '[' 
+
+<nt def="NT-extSubsetDecl">extSubsetDecl</nt>
+']]>'
+</rhs>
+</prod>
+<prod id='NT-ignoreSect'><lhs>ignoreSect</lhs>
+<rhs>'<![' S? 'IGNORE' S? '[' 
+<nt def="NT-ignoreSectContents">ignoreSectContents</nt>*
+']]>'</rhs>
+</prod>
+
+<prod id='NT-ignoreSectContents'><lhs>ignoreSectContents</lhs>
+<rhs><nt def='NT-Ignore'>Ignore</nt>
+('<![' <nt def='NT-ignoreSectContents'>ignoreSectContents</nt> ']]>' 
+<nt def='NT-Ignore'>Ignore</nt>)*</rhs></prod>
+<prod id='NT-Ignore'><lhs>Ignore</lhs>
+<rhs><nt def='NT-Char'>Char</nt>* - 
+(<nt def='NT-Char'>Char</nt>* ('<![' | ']]>') 
+<nt def='NT-Char'>Char</nt>*)
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>Like the internal and external DTD subsets, a conditional section
+may contain one or more complete declarations,
+comments, processing instructions, 
+or nested conditional sections, intermingled with white space.
+</p>
+<p>If the keyword of the
+conditional section is <kw>INCLUDE</kw>, then the contents of the conditional
+section are part of the DTD.
+If the keyword of the conditional
+section is <kw>IGNORE</kw>, then the contents of the conditional section are
+not logically part of the DTD.
+Note that for reliable parsing, the contents of even ignored
+conditional sections must be read in order to
+detect nested conditional sections and ensure that the end of the
+outermost (ignored) conditional section is properly detected.
+If a conditional section with a
+keyword of <kw>INCLUDE</kw> occurs within a larger conditional
+section with a keyword of <kw>IGNORE</kw>, both the outer and the
+inner conditional sections are ignored.</p>
+<p>If the keyword of the conditional section is a 
+parameter-entity reference, the parameter entity must be replaced by its
+content before the processor decides whether to
+include or ignore the conditional section.</p>
+<p>An example:
+<eg><!ENTITY % draft 'INCLUDE' >
+<!ENTITY % final 'IGNORE' >
+ 
+<![%draft;[
+<!ELEMENT book (comments*, title, body, supplements?)>
+]]>
+<![%final;[
+<!ELEMENT book (title, body, supplements?)>
+]]>
+</eg>
+</p>
+</div2>
+
+
+<!-- 
+<div2 id='sec-pass-to-app'>
+<head>XML Processor Treatment of Logical Structure</head>
+<p>When an XML processor encounters a start-tag, it must make
+at least the following information available to the application:
+<ulist>
+<item>
+<p>the element type's generic identifier</p>
+</item>
+<item>
+<p>the names of attributes known to apply to this element type
+(validating processors must make available names of all attributes
+declared for the element type; non-validating processors must
+make available at least the names of the attributes for which
+values are specified.
+</p>
+</item>
+</ulist>
+</p>
+</div2>
+--> 
+
+</div1>
+<!-- &Entities; -->
+ 
+<div1 id='sec-physical-struct'>
+<head>Physical Structures</head>
+ 
+<p><termdef id="dt-entity" term="Entity">An XML document may consist
+of one or many storage units.   These are called
+<term>entities</term>; they all have <term>content</term> and are all
+(except for the document entity, see below, and 
+the <termref def='dt-doctype'>external DTD subset</termref>) 
+identified by <term>name</term>.
+</termdef>
+Each XML document has one entity
+called the <termref def="dt-docent">document entity</termref>, which serves
+as the starting point for the <termref def="dt-xml-proc">XML
+processor</termref> and may contain the whole document.</p>
+<p>Entities may be either parsed or unparsed.
+<termdef id="dt-parsedent" term="Text Entity">A <term>parsed entity's</term>
+contents are referred to as its 
+<termref def='dt-repltext'>replacement text</termref>;
+this <termref def="dt-text">text</termref> is considered an
+integral part of the document.</termdef></p>
+
+<p><termdef id="dt-unparsed" term="Unparsed Entity">An 
+<term>unparsed entity</term> 
+is a resource whose contents may or may not be
+<termref def='dt-text'>text</termref>, and if text, may not be XML.
+Each unparsed entity
+has an associated <termref
+def="dt-notation">notation</termref>, identified by name.
+Beyond a requirement
+that an XML processor make the identifiers for the entity and 
+notation available to the application,
+XML places no constraints on the contents of unparsed entities.</termdef> 
+</p>
+<p>
+Parsed entities are invoked by name using entity references;
+unparsed entities by name, given in the value of <kw>ENTITY</kw>
+or <kw>ENTITIES</kw>
+attributes.</p>
+<p><termdef id='gen-entity' term='general entity'
+><term>General entities</term>
+are entities for use within the document content.
+In this specification, general entities are sometimes referred 
+to with the unqualified term <emph>entity</emph> when this leads
+to no ambiguity.</termdef> 
+<termdef id='dt-PE' term='Parameter entity'>Parameter entities 
+are parsed entities for use within the DTD.</termdef>
+These two types of entities use different forms of reference and
+are recognized in different contexts.
+Furthermore, they occupy different namespaces; a parameter entity and
+a general entity with the same name are two distinct entities.
+</p>
+
+<div2 id='sec-references'>
+<head>Character and Entity References</head>
+<p><termdef id="dt-charref" term="Character Reference">
+A <term>character reference</term> refers to a specific character in the
+ISO/IEC 10646 character set, for example one not directly accessible from
+available input devices.
+<scrap lang='ebnf'>
+<head>Character Reference</head>
+<prod id='NT-CharRef'><lhs>CharRef</lhs>
+<rhs>'&#' [0-9]+ ';' </rhs>
+<rhs>| '&#x' [0-9a-fA-F]+ ';'</rhs>
+<wfc def="wf-Legalchar"/>
+</prod>
+</scrap>
+<wfcnote id="wf-Legalchar">
+<head>Legal Character</head>
+<p>Characters referred to using character references must
+match the production for
+<termref def="NT-Char">Char</termref>.</p>
+</wfcnote>
+If the character reference begins with "<code>&#x</code>", the digits and
+letters up to the terminating <code>;</code> provide a hexadecimal
+representation of the character's code point in ISO/IEC 10646.
+If it begins just with "<code>&#</code>", the digits up to the terminating
+<code>;</code> provide a decimal representation of the character's 
+code point.
+</termdef>
+</p>
+<p><termdef id="dt-entref" term="Entity Reference">An <term>entity
+reference</term> refers to the content of a named entity.</termdef>
+<termdef id='dt-GERef' term='General Entity Reference'>References to 
+parsed general entities
+use ampersand (<code>&</code>) and semicolon (<code>;</code>) as
+delimiters.</termdef>
+<termdef id='dt-PERef' term='Parameter-entity reference'>
+<term>Parameter-entity references</term> use percent-sign (<code>%</code>) and
+semicolon 
+(<code>;</code>) as delimiters.</termdef>
+</p>
+<scrap lang="ebnf">
+<head>Entity Reference</head>
+<prod id='NT-Reference'><lhs>Reference</lhs>
+<rhs><nt def='NT-EntityRef'>EntityRef</nt> 
+| <nt def='NT-CharRef'>CharRef</nt></rhs></prod>
+<prod id='NT-EntityRef'><lhs>EntityRef</lhs>
+<rhs>'&' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<wfc def='wf-entdeclared'/>
+<vc def='vc-entdeclared'/>
+<wfc def='textent'/>
+<wfc def='norecursion'/>
+</prod>
+<prod id='NT-PEReference'><lhs>PEReference</lhs>
+<rhs>'%' <nt def='NT-Name'>Name</nt> ';'</rhs>
+<vc def='vc-entdeclared'/>
+<wfc def='norecursion'/>
+<wfc def='indtd'/>
+</prod>
+</scrap>
+
+<wfcnote id='wf-entdeclared'>
+<head>Entity Declared</head>
+<p>In a document without any DTD, a document with only an internal
+DTD subset which contains no parameter entity references, or a document with
+"<code>standalone='yes'</code>", 
+the <nt def='NT-Name'>Name</nt> given in the entity reference must 
+<termref def="dt-match">match</termref> that in an 
+<titleref href='sec-entity-decl'>entity declaration</titleref>, except that
+well-formed documents need not declare 
+any of the following entities: <code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>.  
+The declaration of a parameter entity must precede any reference to it.
+Similarly, the declaration of a general entity must precede any
+reference to it which appears in a default value in an attribute-list
+declaration.</p>
+<p>Note that if entities are declared in the external subset or in 
+external parameter entities, a non-validating processor is 
+<titleref href='include-if-valid'>not obligated to</titleref> read
+and process their declarations; for such documents, the rule that
+an entity must be declared is a well-formedness constraint only
+if <titleref href='sec-rmd'>standalone='yes'</titleref>.</p>
+</wfcnote>
+<vcnote id="vc-entdeclared">
+<head>Entity Declared</head>
+<p>In a document with an external subset or external parameter
+entities with "<code>standalone='no'</code>",
+the <nt def='NT-Name'>Name</nt> given in the entity reference must <termref
+def="dt-match">match</termref> that in an 
+<titleref href='sec-entity-decl'>entity declaration</titleref>.
+For interoperability, valid documents should declare the entities 
+<code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>, in the form
+specified in <specref ref="sec-predefined-ent"/>.
+The declaration of a parameter entity must precede any reference to it.
+Similarly, the declaration of a general entity must precede any
+reference to it which appears in a default value in an attribute-list
+declaration.</p>
+</vcnote>
+<!-- FINAL EDIT:  is this duplication too clumsy? -->
+<wfcnote id='textent'>
+<head>Parsed Entity</head>
+<p>
+An entity reference must not contain the name of an <termref
+def="dt-unparsed">unparsed entity</termref>. Unparsed entities may be referred
+to only in <termref def="dt-attrval">attribute values</termref> declared to
+be of type <kw>ENTITY</kw> or <kw>ENTITIES</kw>.
+</p>
+</wfcnote>
+<wfcnote id='norecursion'>
+<head>No Recursion</head>
+<p>
+A parsed entity must not contain a recursive reference to itself,
+either directly or indirectly.
+</p>
+</wfcnote>
+<wfcnote id='indtd'>
+<head>In DTD</head>
+<p>
+Parameter-entity references may only appear in the 
+<termref def='dt-doctype'>DTD</termref>.
+</p>
+</wfcnote>
+<p>Examples of character and entity references:
+<eg>Type <key>less-than</key> (&#x3C;) to save options.
+This document was prepared on &docdate; and
+is classified &security-level;.</eg></p>
+<p>Example of a parameter-entity reference:
+<eg><![CDATA[<!-- declare the parameter entity "ISOLat2"... -->
+<!ENTITY % ISOLat2
+         SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
+<!-- ... now reference it. -->
+%ISOLat2;]]></eg></p>
+</div2>
+ 
+<div2 id='sec-entity-decl'>
+<head>Entity Declarations</head>
+ 
+<p><termdef id="dt-entdecl" term="entity declaration">
+Entities are declared thus:
+<scrap lang='ebnf'>
+<head>Entity Declaration</head>
+<prodgroup pcw2="5" pcw4="18.5">
+<prod id='NT-EntityDecl'><lhs>EntityDecl</lhs>
+<rhs><nt def="NT-GEDecl">GEDecl</nt><!--</rhs><com>General entities</com>
+<rhs>--> | <nt def="NT-PEDecl">PEDecl</nt></rhs>
+<!--<com>Parameter entities</com>-->
+</prod>
+<prod id='NT-GEDecl'><lhs>GEDecl</lhs>
+<rhs>'<!ENTITY' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt> <nt def='NT-EntityDef'>EntityDef</nt> 
+<nt def='NT-S'>S</nt>? '>'</rhs>
+</prod>
+<prod id='NT-PEDecl'><lhs>PEDecl</lhs>
+<rhs>'<!ENTITY' <nt def='NT-S'>S</nt> '%' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt> <nt def='NT-S'>S</nt> 
+<nt def='NT-PEDef'>PEDef</nt> <nt def='NT-S'>S</nt>? '>'</rhs>
+<!--<com>Parameter entities</com>-->
+</prod>
+<prod id='NT-EntityDef'><lhs>EntityDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt>
+<!--</rhs>
+<rhs>-->| (<nt def='NT-ExternalID'>ExternalID</nt> 
+<nt def='NT-NDataDecl'>NDataDecl</nt>?)</rhs>
+<!-- <nt def='NT-ExternalDef'>ExternalDef</nt></rhs> -->
+</prod>
+<!-- FINAL EDIT: what happened to WFs here? -->
+<prod id='NT-PEDef'><lhs>PEDef</lhs>
+<rhs><nt def='NT-EntityValue'>EntityValue</nt> 
+| <nt def='NT-ExternalID'>ExternalID</nt></rhs></prod>
+</prodgroup>
+</scrap>
+The <nt def='NT-Name'>Name</nt> identifies the entity in an
+<termref def="dt-entref">entity reference</termref> or, in the case of an
+unparsed entity, in the value of an <kw>ENTITY</kw> or <kw>ENTITIES</kw>
+attribute.
+If the same entity is declared more than once, the first declaration
+encountered is binding; at user option, an XML processor may issue a
+warning if entities are declared multiple times.</termdef>
+</p>
+
+<div3 id='sec-internal-ent'>
+<head>Internal Entities</head>
+ 
+<p><termdef id='dt-internent' term="Internal Entity Replacement Text">If 
+the entity definition is an 
+<nt def='NT-EntityValue'>EntityValue</nt>,  
+the defined entity is called an <term>internal entity</term>.  
+There is no separate physical
+storage object, and the content of the entity is given in the
+declaration. </termdef>
+Note that some processing of entity and character references in the
+<termref def='dt-litentval'>literal entity value</termref> may be required to
+produce the correct <termref def='dt-repltext'>replacement 
+text</termref>: see <specref ref='intern-replacement'/>.
+</p>
+<p>An internal entity is a <termref def="dt-parsedent">parsed
+entity</termref>.</p>
+<p>Example of an internal entity declaration:
+<eg><!ENTITY Pub-Status "This is a pre-release of the
+ specification."></eg></p>
+</div3>
+ 
+<div3 id='sec-external-ent'>
+<head>External Entities</head>
+ 
+<p><termdef id="dt-extent" term="External Entity">If the entity is not
+internal, it is an <term>external
+entity</term>, declared as follows:
+<scrap lang='ebnf'>
+<head>External Entity Declaration</head>
+<!--
+<prod id='NT-ExternalDef'><lhs>ExternalDef</lhs>
+<rhs></prod> -->
+<prod id='NT-ExternalID'><lhs>ExternalID</lhs>
+<rhs>'SYSTEM' <nt def='NT-S'>S</nt> 
+<nt def='NT-SystemLiteral'>SystemLiteral</nt></rhs>
+<rhs>| 'PUBLIC' <nt def='NT-S'>S</nt> 
+<nt def='NT-PubidLiteral'>PubidLiteral</nt> 
+<nt def='NT-S'>S</nt> 
+<nt def='NT-SystemLiteral'>SystemLiteral</nt>
+</rhs>
+</prod>
+<prod id='NT-NDataDecl'><lhs>NDataDecl</lhs>
+<rhs><nt def='NT-S'>S</nt> 'NDATA' <nt def='NT-S'>S</nt> 
+<nt def='NT-Name'>Name</nt></rhs>
+<vc def='not-declared'/></prod>
+</scrap>
+If the <nt def='NT-NDataDecl'>NDataDecl</nt> is present, this is a
+general <termref def="dt-unparsed">unparsed
+entity</termref>; otherwise it is a parsed entity.</termdef></p>
+<vcnote id='not-declared'>
+<head>Notation Declared</head>
+<p>
+The <nt def='NT-Name'>Name</nt> must match the declared name of a
+<termref def="dt-notation">notation</termref>.
+</p>
+</vcnote>
+<p><termdef id="dt-sysid" term="System Identifier">The
+<nt def='NT-SystemLiteral'>SystemLiteral</nt> 
+is called the entity's <term>system identifier</term>. It is a URI,
+which may be used to retrieve the entity.</termdef>
+Note that the hash mark (<code>#</code>) and fragment identifier 
+frequently used with URIs are not, formally, part of the URI itself; 
+an XML processor may signal an error if a fragment identifier is 
+given as part of a system identifier.
+Unless otherwise provided by information outside the scope of this
+specification (e.g. a special XML element type defined by a particular
+DTD, or a processing instruction defined by a particular application
+specification), relative URIs are relative to the location of the
+resource within which the entity declaration occurs.
+A URI might thus be relative to the 
+<termref def='dt-docent'>document entity</termref>, to the entity
+containing the <termref def='dt-doctype'>external DTD subset</termref>, 
+or to some other <termref def='dt-extent'>external parameter entity</termref>.
+</p>
+<p>An XML processor should handle a non-ASCII character in a URI by
+representing the character in UTF-8 as one or more bytes, and then 
+escaping these bytes with the URI escaping mechanism (i.e., by
+converting each byte to %HH, where HH is the hexadecimal notation of the
+byte value).</p>
+<p><termdef id="dt-pubid" term="Public identifier">
+In addition to a system identifier, an external identifier may
+include a <term>public identifier</term>.</termdef>  
+An XML processor attempting to retrieve the entity's content may use the public
+identifier to try to generate an alternative URI.  If the processor
+is unable to do so, it must use the URI specified in the system
+literal.  Before a match is attempted, all strings
+of white space in the public identifier must be normalized to single space characters (#x20),
+and leading and trailing white space must be removed.</p>
+<p>Examples of external entity declarations:
+<eg><!ENTITY open-hatch
+         SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
+<!ENTITY open-hatch
+         PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
+         "http://www.textuality.com/boilerplate/OpenHatch.xml">
+<!ENTITY hatch-pic
+         SYSTEM "../grafix/OpenHatch.gif"
+         NDATA gif ></eg></p>
+</div3>
+ 
+</div2>
+
+<div2 id='TextEntities'>
+<head>Parsed Entities</head>
+<div3 id='sec-TextDecl'>
+<head>The Text Declaration</head>
+<p>External parsed entities may each begin with a <term>text
+declaration</term>. 
+<scrap lang='ebnf'>
+<head>Text Declaration</head>
+<prodgroup pcw4="12.5" pcw5="13">
+<prod id='NT-TextDecl'><lhs>TextDecl</lhs>
+<rhs>'<?xml' 
+<nt def='NT-VersionInfo'>VersionInfo</nt>?
+<nt def='NT-EncodingDecl'>EncodingDecl</nt>
+<nt def='NT-S'>S</nt>? '?>'</rhs>
+</prod>
+</prodgroup>
+</scrap>
+</p>
+<p>The text declaration must be provided literally, not
+by reference to a parsed entity.
+No text declaration may appear at any position other than the beginning of
+an external parsed entity.</p>
+</div3>
+<div3 id='wf-entities'>
+<head>Well-Formed Parsed Entities</head>
+<p>The document entity is well-formed if it matches the production labeled
+<nt def='NT-document'>document</nt>.
+An external general 
+parsed entity is well-formed if it matches the production labeled
+<nt def='NT-extParsedEnt'>extParsedEnt</nt>.
+An external parameter
+entity is well-formed if it matches the production labeled
+<nt def='NT-extPE'>extPE</nt>.
+<scrap lang='ebnf'>
+<head>Well-Formed External Parsed Entity</head>
+<prod id='NT-extParsedEnt'><lhs>extParsedEnt</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>? 
+<nt def='NT-content'>content</nt></rhs>
+</prod>
+<prod id='NT-extPE'><lhs>extPE</lhs>
+<rhs><nt def='NT-TextDecl'>TextDecl</nt>? 
+<nt def='NT-extSubsetDecl'>extSubsetDecl</nt></rhs>
+</prod>
+</scrap>
+An internal general parsed entity is well-formed if its replacement text 
+matches the production labeled
+<nt def='NT-content'>content</nt>.
+All internal parameter entities are well-formed by definition.
+</p>
+<p>A consequence of well-formedness in entities is that the logical 
+and physical structures in an XML document are properly nested; no 
+<termref def='dt-stag'>start-tag</termref>,
+<termref def='dt-etag'>end-tag</termref>,
+<termref def="dt-empty">empty-element tag</termref>,
+<termref def='dt-element'>element</termref>, 
+<termref def='dt-comment'>comment</termref>, 
+<termref def='dt-pi'>processing instruction</termref>, 
+<termref def='dt-charref'>character
+reference</termref>, or
+<termref def='dt-entref'>entity reference</termref> 
+can begin in one entity and end in another.</p>
+</div3>
+<div3 id='charencoding'>
+<head>Character Encoding in Entities</head>
+ 
+<p>Each external parsed entity in an XML document may use a different
+encoding for its characters. All XML processors must be able to read
+entities in either UTF-8 or UTF-16. 
+
+</p>
+<p>Entities encoded in UTF-16 must
+begin with the Byte Order Mark described by ISO/IEC 10646 Annex E and
+Unicode Appendix B (the ZERO WIDTH NO-BREAK SPACE character, #xFEFF).
+This is an encoding signature, not part of either the markup or the
+character data of the XML document.
+XML processors must be able to use this character to
+differentiate between UTF-8 and UTF-16 encoded documents.</p>
+<p>Although an XML processor is required to read only entities in
+the UTF-8 and UTF-16 encodings, it is recognized that other encodings are
+used around the world, and it may be desired for XML processors
+to read entities that use them.
+Parsed entities which are stored in an encoding other than
+UTF-8 or UTF-16 must begin with a <titleref href='TextDecl'>text
+declaration</titleref> containing an encoding declaration:
+<scrap lang='ebnf'>
+<head>Encoding Declaration</head>
+<prod id='NT-EncodingDecl'><lhs>EncodingDecl</lhs>
+<rhs><nt def="NT-S">S</nt>
+'encoding' <nt def='NT-Eq'>Eq</nt> 
+('"' <nt def='NT-EncName'>EncName</nt> '"' | 
+"'" <nt def='NT-EncName'>EncName</nt> "'" )
+</rhs>
+</prod>
+<prod id='NT-EncName'><lhs>EncName</lhs>
+<rhs>[A-Za-z] ([A-Za-z0-9._] | '-')*</rhs>
+<com>Encoding name contains only Latin characters</com>
+</prod>
+</scrap>
+In the <termref def='dt-docent'>document entity</termref>, the encoding
+declaration is part of the <termref def="dt-xmldecl">XML declaration</termref>.
+The <nt def="NT-EncName">EncName</nt> is the name of the encoding used.
+</p>
+<!-- FINAL EDIT:  check name of IANA and charset names -->
+<p>In an encoding declaration, the values
+"<code>UTF-8</code>",
+"<code>UTF-16</code>",
+"<code>ISO-10646-UCS-2</code>", and
+"<code>ISO-10646-UCS-4</code>" should be 
+used for the various encodings and transformations of Unicode /
+ISO/IEC 10646, the values
+"<code>ISO-8859-1</code>",
+"<code>ISO-8859-2</code>", ...
+"<code>ISO-8859-9</code>" should be used for the parts of ISO 8859, and
+the values
+"<code>ISO-2022-JP</code>",
+"<code>Shift_JIS</code>", and
+"<code>EUC-JP</code>"
+should be used for the various encoded forms of JIS X-0208-1997.  XML
+processors may recognize other encodings; it is recommended that
+character encodings registered (as <emph>charset</emph>s) 
+with the Internet Assigned Numbers
+Authority <bibref ref='IANA'/>, other than those just listed, should be
+referred to
+using their registered names.
+Note that these registered names are defined to be 
+case-insensitive, so processors wishing to match against them 
+should do so in a case-insensitive
+way.</p>
+<p>In the absence of information provided by an external
+transport protocol (e.g. HTTP or MIME), 
+it is an <termref def="dt-error">error</termref> for an entity including
+an encoding declaration to be presented to the XML processor 
+in an encoding other than that named in the declaration, 
+for an encoding declaration to occur other than at the beginning 
+of an external entity, or for
+an entity which begins with neither a Byte Order Mark nor an encoding
+declaration to use an encoding other than UTF-8.
+Note that since ASCII
+is a subset of UTF-8, ordinary ASCII entities do not strictly need
+an encoding declaration.</p>
+
+<p>It is a <termref def='dt-fatal'>fatal error</termref> when an XML processor
+encounters an entity with an encoding that it is unable to process.</p>
+<p>Examples of encoding declarations:
+<eg><?xml encoding='UTF-8'?>
+<?xml encoding='EUC-JP'?></eg></p>
+</div3>
+</div2>
+<div2 id='entproc'>
+<head>XML Processor Treatment of Entities and References</head>
+<p>The table below summarizes the contexts in which character references,
+entity references, and invocations of unparsed entities might appear and the
+required behavior of an <termref def='dt-xml-proc'>XML processor</termref> in
+each case.  
+The labels in the leftmost column describe the recognition context:
+<glist>
+<gitem><label>Reference in Content</label>
+<def><p>as a reference
+anywhere after the <termref def='dt-stag'>start-tag</termref> and
+before the <termref def='dt-etag'>end-tag</termref> of an element; corresponds
+to the nonterminal <nt def='NT-content'>content</nt>.</p></def>
+</gitem>
+<gitem>
+<label>Reference in Attribute Value</label>
+<def><p>as a reference within either the value of an attribute in a 
+<termref def='dt-stag'>start-tag</termref>, or a default
+value in an <termref def='dt-attdecl'>attribute declaration</termref>;
+corresponds to the nonterminal
+<nt def='NT-AttValue'>AttValue</nt>.</p></def></gitem>
+<gitem>
+<label>Occurs as Attribute Value</label>
+<def><p>as a <nt def='NT-Name'>Name</nt>, not a reference, appearing either as
+the value of an 
+attribute which has been declared as type <kw>ENTITY</kw>, or as one of
+the space-separated tokens in the value of an attribute which has been
+declared as type <kw>ENTITIES</kw>.</p>
+</def></gitem>
+<gitem><label>Reference in Entity Value</label>
+<def><p>as a reference
+within a parameter or internal entity's 
+<termref def='dt-litentval'>literal entity value</termref> in
+the entity's declaration; corresponds to the nonterminal 
+<nt def='NT-EntityValue'>EntityValue</nt>.</p></def></gitem>
+<gitem><label>Reference in DTD</label>
+<def><p>as a reference within either the internal or external subsets of the 
+<termref def='dt-doctype'>DTD</termref>, but outside
+of an <nt def='NT-EntityValue'>EntityValue</nt> or
+<nt def="NT-AttValue">AttValue</nt>.</p></def>
+</gitem>
+</glist></p>
+<htable border='1' cellpadding='7' align='center'>
+<htbody>
+<tr><td bgcolor='#c0d9c0' rowspan='2' colspan='1'></td>
+<td bgcolor='#c0d9c0' align='center' valign='bottom' colspan='4'>Entity Type</td>
+<td bgcolor='#c0d9c0' rowspan='2' align='center'>Character</td>
+</tr>
+<tr align='center' valign='bottom'>
+<td bgcolor='#c0d9c0'>Parameter</td>
+<td bgcolor='#c0d9c0'>Internal
+General</td>
+<td bgcolor='#c0d9c0'>External Parsed
+General</td>
+<td bgcolor='#c0d9c0'>Unparsed</td>
+</tr>
+<tr align='center' valign='middle'>
+
+<td bgcolor='#c0d9c0' align='right'>Reference
+in Content</td>
+<td bgcolor='#c0d9c0'><titleref href='not-recognized'>Not recognized</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='included'>Included</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='include-if-valid'>Included if validating</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='included'>Included</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='#c0d9c0' align='right'>Reference
+in Attribute Value</td>
+<td bgcolor='#c0d9c0'><titleref href='not-recognized'>Not recognized</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='inliteral'>Included in literal</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='included'>Included</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='#c0d9c0' align='right'>Occurs as
+Attribute Value</td>
+<td bgcolor='#c0d9c0'><titleref href='not-recognized'>Not recognized</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='not-recognized'>Forbidden</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='not-recognized'>Forbidden</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='notify'>Notify</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='not recognized'>Not recognized</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='#c0d9c0' align='right'>Reference
+in EntityValue</td>
+<td bgcolor='#c0d9c0'><titleref href='inliteral'>Included in literal</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='bypass'>Bypassed</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='bypass'>Bypassed</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='included'>Included</titleref></td>
+</tr>
+<tr align='center' valign='middle'>
+<td bgcolor='#c0d9c0' align='right'>Reference
+in DTD</td>
+<td bgcolor='#c0d9c0'><titleref href='as-PE'>Included as PE</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='forbidden'>Forbidden</titleref></td>
+<td bgcolor='#c0d9c0'><titleref href='forbidden'>Forbidden</titleref></td>
+</tr>
+</htbody>
+</htable>
+<div3 id='not-recognized'>
+<head>Not Recognized</head>
+<p>Outside the DTD, the <code>%</code> character has no
+special significance; thus, what would be parameter entity references in the
+DTD are not recognized as markup in <nt def='NT-content'>content</nt>.
+Similarly, the names of unparsed entities are not recognized except
+when they appear in the value of an appropriately declared attribute.
+</p>
+</div3>
+<div3 id='included'>
+<head>Included</head>
+<p><termdef id="dt-include" term="Include">An entity is 
+<term>included</term> when its 
+<termref def='dt-repltext'>replacement text</termref> is retrieved 
+and processed, in place of the reference itself,
+as though it were part of the document at the location the
+reference was recognized.
+The replacement text may contain both 
+<termref def='dt-chardata'>character data</termref>
+and (except for parameter entities) <termref def="dt-markup">markup</termref>,
+which must be recognized in
+the usual way, except that the replacement text of entities used to escape
+markup delimiters (the entities <code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>) is always treated as
+data.  (The string "<code>AT&amp;T;</code>" expands to
+"<code>AT&T;</code>" and the remaining ampersand is not recognized
+as an entity-reference delimiter.) 
+A character reference is <term>included</term> when the indicated
+character is processed in place of the reference itself.
+</termdef></p>
+</div3>
+<div3 id='include-if-valid'>
+<head>Included If Validating</head>
+<p>When an XML processor recognizes a reference to a parsed entity, in order
+to <termref def="dt-valid">validate</termref>
+the document, the processor must 
+<termref def="dt-include">include</termref> its
+replacement text.
+If the entity is external, and the processor is not
+attempting to validate the XML document, the
+processor <termref def="dt-may">may</termref>, but need not, 
+include the entity's replacement text.
+If a non-validating parser does not include the replacement text,
+it must inform the application that it recognized, but did not
+read, the entity.</p>
+<p>This rule is based on the recognition that the automatic inclusion
+provided by the SGML and XML entity mechanism, primarily designed
+to support modularity in authoring, is not necessarily 
+appropriate for other applications, in particular document browsing.
+Browsers, for example, when encountering an external parsed entity reference,
+might choose to provide a visual indication of the entity's
+presence and retrieve it for display only on demand.
+</p>
+</div3>
+<div3 id='forbidden'>
+<head>Forbidden</head>
+<p>The following are forbidden, and constitute
+<termref def='dt-fatal'>fatal</termref> errors:
+<ulist>
+<item><p>the appearance of a reference to an
+<termref def='dt-unparsed'>unparsed entity</termref>.
+</p></item>
+<item><p>the appearance of any character or general-entity reference in the
+DTD except within an <nt def='NT-EntityValue'>EntityValue</nt> or 
+<nt def="NT-AttValue">AttValue</nt>.</p></item>
+<item><p>a reference to an external entity in an attribute value.</p>
+</item>
+</ulist>
+</p>
+</div3>
+<div3 id='inliteral'>
+<head>Included in Literal</head>
+<p>When an <termref def='dt-entref'>entity reference</termref> appears in an
+attribute value, or a parameter entity reference appears in a literal entity
+value, its <termref def='dt-repltext'>replacement text</termref> is
+processed in place of the reference itself as though it
+were part of the document at the location the reference was recognized,
+except that a single or double quote character in the replacement text
+is always treated as a normal data character and will not terminate the
+literal. 
+For example, this is well-formed:
+<eg><![CDATA[<!ENTITY % YN '"Yes"' >
+<!ENTITY WhatHeSaid "He said &YN;" >]]></eg>
+while this is not:
+<eg><!ENTITY EndAttr "27'" >
+<element attribute='a-&EndAttr;></eg>
+</p></div3>
+<div3 id='notify'>
+<head>Notify</head>
+<p>When the name of an <termref def='dt-unparsed'>unparsed
+entity</termref> appears as a token in the
+value of an attribute of declared type <kw>ENTITY</kw> or <kw>ENTITIES</kw>,
+a validating processor must inform the
+application of the <termref def='dt-sysid'>system</termref> 
+and <termref def='dt-pubid'>public</termref> (if any)
+identifiers for both the entity and its associated
+<termref def="dt-notation">notation</termref>.</p>
+</div3>
+<div3 id='bypass'>
+<head>Bypassed</head>
+<p>When a general entity reference appears in the
+<nt def='NT-EntityValue'>EntityValue</nt> in an entity declaration,
+it is bypassed and left as is.</p>
+</div3>
+<div3 id='as-PE'>
+<head>Included as PE</head>
+<p>Just as with external parsed entities, parameter entities
+need only be <titleref href='include-if-valid'>included if
+validating</titleref>. 
+When a parameter-entity reference is recognized in the DTD
+and included, its 
+<termref def='dt-repltext'>replacement
+text</termref> is enlarged by the attachment of one leading and one following
+space (#x20) character; the intent is to constrain the replacement
+text of parameter 
+entities to contain an integral number of grammatical tokens in the DTD.
+</p>
+</div3>
+
+</div2>
+<div2 id='intern-replacement'>
+<head>Construction of Internal Entity Replacement Text</head>
+<p>In discussing the treatment
+of internal entities, it is  
+useful to distinguish two forms of the entity's value.
+<termdef id="dt-litentval" term='Literal Entity Value'>The <term>literal
+entity value</term> is the quoted string actually
+present in the entity declaration, corresponding to the
+non-terminal <nt def='NT-EntityValue'>EntityValue</nt>.</termdef>
+<termdef id='dt-repltext' term='Replacement Text'>The <term>replacement
+text</term> is the content of the entity, after
+replacement of character references and parameter-entity
+references.
+</termdef></p>
+
+<p>The literal entity value 
+as given in an internal entity declaration
+(<nt def='NT-EntityValue'>EntityValue</nt>) may contain character,
+parameter-entity, and general-entity references.
+Such references must be contained entirely within the
+literal entity value.
+The actual replacement text that is 
+<termref def='dt-include'>included</termref> as described above
+must contain the <emph>replacement text</emph> of any 
+parameter entities referred to, and must contain the character
+referred to, in place of any character references in the
+literal entity value; however,
+general-entity references must be left as-is, unexpanded.
+For example, given the following declarations:
+
+<eg><![CDATA[<!ENTITY % pub    "&#xc9;ditions Gallimard" >
+<!ENTITY   rights "All rights reserved" >
+<!ENTITY   book   "La Peste: Albert Camus, 
+&#xA9; 1947 %pub;. &rights;" >]]></eg>
+then the replacement text for the entity "<code>book</code>" is:
+<eg>La Peste: Albert Camus, 
+© 1947 Éditions Gallimard. &rights;</eg>
+The general-entity reference "<code>&rights;</code>" would be expanded
+should the reference "<code>&book;</code>" appear in the document's
+content or an attribute value.</p>
+<p>These simple rules may have complex interactions; for a detailed
+discussion of a difficult example, see
+<specref ref='sec-entexpand'/>.
+</p>
+
+</div2>
+<div2 id='sec-predefined-ent'>
+<head>Predefined Entities</head>
+<p><termdef id="dt-escape" term="escape">Entity and character
+references can both be used to <term>escape</term> the left angle bracket,
+ampersand, and other delimiters.   A set of general entities
+(<code>amp</code>,
+<code>lt</code>,
+<code>gt</code>,
+<code>apos</code>,
+<code>quot</code>) is specified for this purpose.
+Numeric character references may also be used; they are
+expanded immediately when recognized and must be treated as
+character data, so the numeric character references
+"<code>&#60;</code>" and "<code>&#38;</code>" may be used to 
+escape <code><</code> and <code>&</code> when they occur
+in character data.</termdef></p>
+<p>All XML processors must recognize these entities whether they
+are declared or not.  
+<termref def='dt-interop'>For interoperability</termref>,
+valid XML documents should declare these
+entities, like any others, before using them.
+If the entities in question are declared, they must be declared
+as internal entities whose replacement text is the single
+character being escaped or a character reference to
+that character, as shown below.
+<eg><![CDATA[<!ENTITY lt     "&#60;"> 
+<!ENTITY gt     ">"> 
+<!ENTITY amp    "&#38;"> 
+<!ENTITY apos   "'"> 
+<!ENTITY quot   """> 
+]]></eg>
+Note that the <code><</code> and <code>&</code> characters
+in the declarations of "<code>lt</code>" and "<code>amp</code>"
+are doubly escaped to meet the requirement that entity replacement
+be well-formed.
+</p>
+</div2>
+
+<div2 id='Notations'>
+<head>Notation Declarations</head>
+ 
+<p><termdef id="dt-notation" term="Notation"><term>Notations</term> identify by
+name the format of <termref def="dt-extent">unparsed
+entities</termref>, the
+format of elements which bear a notation attribute, 
+or the application to which  
+a <termref def="dt-pi">processing instruction</termref> is
+addressed.</termdef></p>
+<p><termdef id="dt-notdecl" term="Notation Declaration">
+<term>Notation declarations</term>
+provide a name for the notation, for use in
+entity and attribute-list declarations and in attribute specifications,
+and an external identifier for the notation which may allow an XML
+processor or its client application to locate a helper application
+capable of processing data in the given notation.
+<scrap lang='ebnf'>
+<head>Notation Declarations</head>
+<prod id='NT-NotationDecl'><lhs>NotationDecl</lhs>
+<rhs>'<!NOTATION' <nt def='NT-S'>S</nt> <nt def='NT-Name'>Name</nt> 
+<nt def='NT-S'>S</nt> 
+(<nt def='NT-ExternalID'>ExternalID</nt> | 
+<nt def='NT-PublicID'>PublicID</nt>)
+<nt def='NT-S'>S</nt>? '>'</rhs></prod>
+<prod id='NT-PublicID'><lhs>PublicID</lhs>
+<rhs>'PUBLIC' <nt def='NT-S'>S</nt> 
+<nt def='NT-PubidLiteral'>PubidLiteral</nt> 
+</rhs></prod>
+</scrap>
+</termdef></p>
+<p>XML processors must provide applications with the name and external
+identifier(s) of any notation declared and referred to in an attribute
+value, attribute definition, or entity declaration.  They may
+additionally resolve the external identifier into the
+<termref def="dt-sysid">system identifier</termref>,
+file name, or other information needed to allow the
+application to call a processor for data in the notation described.  (It
+is not an error, however, for XML documents to declare and refer to
+notations for which notation-specific applications are not available on
+the system where the XML processor or application is running.)</p>
+</div2>
+
+ 
+<div2 id='sec-doc-entity'>
+<head>Document Entity</head>
+ 
+<p><termdef id="dt-docent" term="Document Entity">The <term>document
+entity</term> serves as the root of the entity
+tree and a starting-point for an <termref def="dt-xml-proc">XML
+processor</termref>.</termdef>
+This specification does
+not specify how the document entity is to be located by an XML
+processor; unlike other entities, the document entity has no name and might
+well appear on a processor input stream 
+without any identification at all.</p>
+</div2>
+
+
+</div1>
+<!-- &Conformance; -->
+ 
+<div1 id='sec-conformance'>
+<head>Conformance</head>
+ 
+<div2 id='proc-types'>
+<head>Validating and Non-Validating Processors</head>
+<p>Conforming <termref def="dt-xml-proc">XML processors</termref> fall into two
+classes: validating and non-validating.</p>
+<p>Validating and non-validating processors alike must report
+violations of this specification's well-formedness constraints
+in the content of the
+<termref def='dt-docent'>document entity</termref> and any 
+other <termref def='dt-parsedent'>parsed entities</termref> that 
+they read.</p>
+<p><termdef id="dt-validating" term="Validating Processor">
+<term>Validating processors</term> must report
+violations of the constraints expressed by the declarations in the
+<termref def="dt-doctype">DTD</termref>, and
+failures to fulfill the validity constraints given
+in this specification.
+</termdef>
+To accomplish this, validating XML processors must read and process the entire
+DTD and all external parsed entities referenced in the document.
+</p>
+<p>Non-validating processors are required to check only the 
+<termref def='dt-docent'>document entity</termref>, including
+the entire internal DTD subset, for well-formedness.
+<termdef id='dt-use-mdecl' term='Process Declarations'>
+While they are not required to check the document for validity,
+they are required to 
+<term>process</term> all the declarations they read in the
+internal DTD subset and in any parameter entity that they
+read, up to the first reference
+to a parameter entity that they do <emph>not</emph> read; that is to 
+say, they must
+use the information in those declarations to
+<titleref href='AVNormalize'>normalize</titleref> attribute values,
+<titleref href='included'>include</titleref> the replacement text of 
+internal entities, and supply 
+<titleref href='sec-attr-defaults'>default attribute values</titleref>.
+</termdef>
+They must not <termref def='dt-use-mdecl'>process</termref>
+<termref def='dt-entdecl'>entity declarations</termref> or 
+<termref def='dt-attdecl'>attribute-list declarations</termref> 
+encountered after a reference to a parameter entity that is not
+read, since the entity may have contained overriding declarations.
+</p>
+</div2>
+<div2 id='safe-behavior'>
+<head>Using XML Processors</head>
+<p>The behavior of a validating XML processor is highly predictable; it
+must read every piece of a document and report all well-formedness and
+validity violations.
+Less is required of a non-validating processor; it need not read any
+part of the document other than the document entity.
+This has two effects that may be important to users of XML processors:
+<ulist>
+<item><p>Certain well-formedness errors, specifically those that require
+reading external entities, may not be detected by a non-validating processor.
+Examples include the constraints entitled 
+<titleref href='wf-entdeclared'>Entity Declared</titleref>, 
+<titleref href='wf-textent'>Parsed Entity</titleref>, and
+<titleref href='wf-norecursion'>No Recursion</titleref>, as well
+as some of the cases described as
+<titleref href='forbidden'>forbidden</titleref> in 
+<specref ref='entproc'/>.</p></item>
+<item><p>The information passed from the processor to the application may
+vary, depending on whether the processor reads
+parameter and external entities.
+For example, a non-validating processor may not 
+<titleref href='AVNormalize'>normalize</titleref> attribute values,
+<titleref href='included'>include</titleref> the replacement text of 
+internal entities, or supply 
+<titleref href='sec-attr-defaults'>default attribute values</titleref>,
+where doing so depends on having read declarations in 
+external or parameter entities.</p></item>
+</ulist>
+</p>
+<p>For maximum reliability in interoperating between different XML
+processors, applications which use non-validating processors should not 
+rely on any behaviors not required of such processors.
+Applications which require facilities such as the use of default
+attributes or internal entities which are declared in external
+entities should use validating XML processors.</p>
+</div2>
+</div1>
+
+<div1 id='sec-notation'>
+<head>Notation</head>
+ 
+<p>The formal grammar of XML is given in this specification using a simple
+Extended Backus-Naur Form (EBNF) notation.  Each rule in the grammar defines
+one symbol, in the form
+<eg>symbol ::= expression</eg></p>
+<p>Symbols are written with an initial capital letter if they are
+defined by a regular expression, or with an initial lower case letter 
+otherwise.
+Literal strings are quoted.
+
+</p>
+
+<p>Within the expression on the right-hand side of a rule, the following
+expressions are used to match strings of one or more characters:
+<glist>
+<gitem>
+<label><code>#xN</code></label>
+<def><p>where <code>N</code> is a hexadecimal integer, the
+expression matches the character in ISO/IEC 10646 whose canonical
+(UCS-4) 
+code value, when interpreted as an unsigned binary number, has
+the value indicated.  The number of leading zeros in the
+<code>#xN</code> form is insignificant; the number of leading
+zeros in the corresponding code value 
+is governed by the character
+encoding in use and is not significant for XML.</p></def>
+</gitem>
+<gitem>
+<label><code>[a-zA-Z]</code>, <code>[#xN-#xN]</code></label>
+<def><p>matches any <termref def='dt-character'>character</termref> 
+with a value in the range(s) indicated (inclusive).</p></def>
+</gitem>
+<gitem>
+<label><code>[^a-z]</code>, <code>[^#xN-#xN]</code></label>
+<def><p>matches any <termref def='dt-character'>character</termref> 
+with a value <emph>outside</emph> the
+range indicated.</p></def>
+</gitem>
+<gitem>
+<label><code>[^abc]</code>, <code>[^#xN#xN#xN]</code></label>
+<def><p>matches any <termref def='dt-character'>character</termref>
+with a value not among the characters given.</p></def>
+</gitem>
+<gitem>
+<label><code>"string"</code></label>
+<def><p>matches a literal string <termref def="dt-match">matching</termref>
+that given inside the double quotes.</p></def>
+</gitem>
+<gitem>
+<label><code>'string'</code></label>
+<def><p>matches a literal string <termref def="dt-match">matching</termref>
+that given inside the single quotes.</p></def>
+</gitem>
+</glist>
+These symbols may be combined to match more complex patterns as follows,
+where <code>A</code> and <code>B</code> represent simple expressions:
+<glist>
+<gitem>
+<label>(<code>expression</code>)</label>
+<def><p><code>expression</code> is treated as a unit 
+and may be combined as described in this list.</p></def>
+</gitem>
+<gitem>
+<label><code>A?</code></label>
+<def><p>matches <code>A</code> or nothing; optional <code>A</code>.</p></def>
+</gitem>
+<gitem>
+<label><code>A B</code></label>
+<def><p>matches <code>A</code> followed by <code>B</code>.</p></def>
+</gitem>
+<gitem>
+<label><code>A | B</code></label>
+<def><p>matches <code>A</code> or <code>B</code> but not both.</p></def>
+</gitem>
+<gitem>
+<label><code>A - B</code></label>
+<def><p>matches any string that matches <code>A</code> but does not match
+<code>B</code>.
+</p></def>
+</gitem>
+<gitem>
+<label><code>A+</code></label>
+<def><p>matches one or more occurrences of <code>A</code>.</p></def>
+</gitem>
+<gitem>
+<label><code>A*</code></label>
+<def><p>matches zero or more occurrences of <code>A</code>.</p></def>
+</gitem>
+
+</glist>
+Other notations used in the productions are:
+<glist>
+<gitem>
+<label><code>/* ... */</code></label>
+<def><p>comment.</p></def>
+</gitem>
+<gitem>
+<label><code>[ wfc: ... ]</code></label>
+<def><p>well-formedness constraint; this identifies by name a 
+constraint on 
+<termref def="dt-wellformed">well-formed</termref> documents
+associated with a production.</p></def>
+</gitem>
+<gitem>
+<label><code>[ vc: ... ]</code></label>
+<def><p>validity constraint; this identifies by name a constraint on
+<termref def="dt-valid">valid</termref> documents associated with
+a production.</p></def>
+</gitem>
+</glist>
+</p></div1>
+
+</body>
+<back>
+<!-- &SGML; -->
+ 
+
+<!-- &Biblio; -->
+<div1 id='sec-bibliography'>
+
+<head>References</head>
+<div2 id='sec-existing-stds'>
+<head>Normative References</head>
+
+<blist>
+<bibl id='IANA' key='IANA'>
+(Internet Assigned Numbers Authority) <emph>Official Names for 
+Character Sets</emph>,
+ed. Keld Simonsen et al.
+See <loc href='ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets'>ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets</loc>.
+</bibl>
+
+<bibl id='RFC1766' key='IETF RFC 1766'>
+IETF (Internet Engineering Task Force).
+<emph>RFC 1766:  Tags for the Identification of Languages</emph>,
+ed. H. Alvestrand.
+1995.
+</bibl>
+
+<bibl id='ISO639' key='ISO 639'>
+(International Organization for Standardization).
+<emph>ISO 639:1988 (E).
+Code for the representation of names of languages.</emph>
+[Geneva]:  International Organization for
+Standardization, 1988.</bibl>
+
+<bibl id='ISO3166' key='ISO 3166'>
+(International Organization for Standardization).
+<emph>ISO 3166-1:1997 (E).
+Codes for the representation of names of countries and their subdivisions 
+-- Part 1: Country codes</emph>
+[Geneva]:  International Organization for
+Standardization, 1997.</bibl>
+
+<bibl id='ISO10646' key='ISO/IEC 10646'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10646-1993 (E).  Information technology -- Universal
+Multiple-Octet Coded Character Set (UCS) -- Part 1:
+Architecture and Basic Multilingual Plane.</emph>
+[Geneva]:  International Organization for
+Standardization, 1993 (plus amendments AM 1 through AM 7).
+</bibl>
+
+<bibl id='Unicode' key='Unicode'>The Unicode Consortium.
+<emph>The Unicode Standard, Version 2.0.</emph>
+Reading, Mass.:  Addison-Wesley Developers Press, 1996.</bibl>
+
+</blist>
+
+</div2>
+
+<div2><head>Other References</head> 
+
+<blist>
+
+<bibl id='Aho' key='Aho/Ullman'>Aho, Alfred V., 
+Ravi Sethi, and Jeffrey D. Ullman.
+<emph>Compilers:  Principles, Techniques, and Tools</emph>.
+Reading:  Addison-Wesley, 1986, rpt. corr. 1988.</bibl>
+
+<bibl id="Berners-Lee" xml-link="simple" key="Berners-Lee et al.">
+Berners-Lee, T., R. Fielding, and L. Masinter.
+<emph>Uniform Resource Identifiers (URI):  Generic Syntax and
+Semantics</emph>.
+1997.
+(Work in progress; see updates to RFC1738.)</bibl>
+
+<bibl id='ABK' key='Br�ggemann-Klein'>Br�ggemann-Klein, Anne.
+<emph>Regular Expressions into Finite Automata</emph>.
+Extended abstract in I. Simon, Hrsg., LATIN 1992, 
+S. 97-98. Springer-Verlag, Berlin 1992. 
+Full Version in Theoretical Computer Science 120: 197-213, 1993.
+
+</bibl>
+
+<bibl id='ABKDW' key='Br�ggemann-Klein and Wood'>Br�ggemann-Klein, Anne,
+and Derick Wood.
+<emph>Deterministic Regular Languages</emph>.
+Universit�t Freiburg, Institut f�r Informatik,
+Bericht 38, Oktober 1991.
+</bibl>
+
+<bibl id='Clark' key='Clark'>James Clark.
+Comparison of SGML and XML. See
+<loc href='http://www.w3.org/TR/NOTE-sgml-xml-971215'>http://www.w3.org/TR/NOTE-sgml-xml-971215</loc>.
+</bibl>
+<bibl id="RFC1738" xml-link="simple" key="IETF RFC1738">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1738:  Uniform Resource Locators (URL)</emph>, 
+ed. T. Berners-Lee, L. Masinter, M. McCahill.
+1994.
+</bibl>
+
+<bibl id="RFC1808" xml-link="simple" key="IETF RFC1808">
+IETF (Internet Engineering Task Force).
+<emph>RFC 1808:  Relative Uniform Resource Locators</emph>, 
+ed. R. Fielding.
+1995.
+</bibl>
+
+<bibl id="RFC2141" xml-link="simple" key="IETF RFC2141">
+IETF (Internet Engineering Task Force).
+<emph>RFC 2141:  URN Syntax</emph>, 
+ed. R. Moats.
+1997.
+</bibl>
+
+<bibl id='ISO8879' key='ISO 8879'>ISO
+(International Organization for Standardization).
+<emph>ISO 8879:1986(E).  Information processing -- Text and Office
+Systems -- Standard Generalized Markup Language (SGML).</emph>  First
+edition -- 1986-10-15.  [Geneva]:  International Organization for
+Standardization, 1986.
+</bibl>
+
+
+<bibl id='ISO10744' key='ISO/IEC 10744'>ISO
+(International Organization for Standardization).
+<emph>ISO/IEC 10744-1992 (E).  Information technology --
+Hypermedia/Time-based Structuring Language (HyTime).
+</emph>
+[Geneva]:  International Organization for
+Standardization, 1992.
+<emph>Extended Facilities Annexe.</emph>
+[Geneva]:  International Organization for
+Standardization, 1996. 
+</bibl>
+
+
+
+</blist>
+</div2>
+</div1>
+<div1 id='CharClasses'>
+<head>Character Classes</head>
+<p>Following the characteristics defined in the Unicode standard,
+characters are classed as base characters (among others, these
+contain the alphabetic characters of the Latin alphabet, without
+diacritics), ideographic characters, and combining characters (among
+others, this class contains most diacritics); these classes combine
+to form the class of letters.  Digits and extenders are
+also distinguished.
+<scrap lang="ebnf" id="CHARACTERS">
+<head>Characters</head>
+<prodgroup pcw3="3" pcw4="15">
+<prod id="NT-Letter"><lhs>Letter</lhs>
+<rhs><nt def="NT-BaseChar">BaseChar</nt> 
+| <nt def="NT-Ideographic">Ideographic</nt></rhs> </prod>
+<prod id='NT-BaseChar'><lhs>BaseChar</lhs>
+<rhs>[#x0041-#x005A]
+| [#x0061-#x007A]
+| [#x00C0-#x00D6]
+| [#x00D8-#x00F6]
+| [#x00F8-#x00FF]
+| [#x0100-#x0131]
+| [#x0134-#x013E]
+| [#x0141-#x0148]
+| [#x014A-#x017E]
+| [#x0180-#x01C3]
+| [#x01CD-#x01F0]
+| [#x01F4-#x01F5]
+| [#x01FA-#x0217]
+| [#x0250-#x02A8]
+| [#x02BB-#x02C1]
+| #x0386
+| [#x0388-#x038A]
+| #x038C
+| [#x038E-#x03A1]
+| [#x03A3-#x03CE]
+| [#x03D0-#x03D6]
+| #x03DA
+| #x03DC
+| #x03DE
+| #x03E0
+| [#x03E2-#x03F3]
+| [#x0401-#x040C]
+| [#x040E-#x044F]
+| [#x0451-#x045C]
+| [#x045E-#x0481]
+| [#x0490-#x04C4]
+| [#x04C7-#x04C8]
+| [#x04CB-#x04CC]
+| [#x04D0-#x04EB]
+| [#x04EE-#x04F5]
+| [#x04F8-#x04F9]
+| [#x0531-#x0556]
+| #x0559
+| [#x0561-#x0586]
+| [#x05D0-#x05EA]
+| [#x05F0-#x05F2]
+| [#x0621-#x063A]
+| [#x0641-#x064A]
+| [#x0671-#x06B7]
+| [#x06BA-#x06BE]
+| [#x06C0-#x06CE]
+| [#x06D0-#x06D3]
+| #x06D5
+| [#x06E5-#x06E6]
+| [#x0905-#x0939]
+| #x093D
+| [#x0958-#x0961]
+| [#x0985-#x098C]
+| [#x098F-#x0990]
+| [#x0993-#x09A8]
+| [#x09AA-#x09B0]
+| #x09B2
+| [#x09B6-#x09B9]
+| [#x09DC-#x09DD]
+| [#x09DF-#x09E1]
+| [#x09F0-#x09F1]
+| [#x0A05-#x0A0A]
+| [#x0A0F-#x0A10]
+| [#x0A13-#x0A28]
+| [#x0A2A-#x0A30]
+| [#x0A32-#x0A33]
+| [#x0A35-#x0A36]
+| [#x0A38-#x0A39]
+| [#x0A59-#x0A5C]
+| #x0A5E
+| [#x0A72-#x0A74]
+| [#x0A85-#x0A8B]
+| #x0A8D
+| [#x0A8F-#x0A91]
+| [#x0A93-#x0AA8]
+| [#x0AAA-#x0AB0]
+| [#x0AB2-#x0AB3]
+| [#x0AB5-#x0AB9]
+| #x0ABD
+| #x0AE0
+| [#x0B05-#x0B0C]
+| [#x0B0F-#x0B10]
+| [#x0B13-#x0B28]
+| [#x0B2A-#x0B30]
+| [#x0B32-#x0B33]
+| [#x0B36-#x0B39]
+| #x0B3D
+| [#x0B5C-#x0B5D]
+| [#x0B5F-#x0B61]
+| [#x0B85-#x0B8A]
+| [#x0B8E-#x0B90]
+| [#x0B92-#x0B95]
+| [#x0B99-#x0B9A]
+| #x0B9C
+| [#x0B9E-#x0B9F]
+| [#x0BA3-#x0BA4]
+| [#x0BA8-#x0BAA]
+| [#x0BAE-#x0BB5]
+| [#x0BB7-#x0BB9]
+| [#x0C05-#x0C0C]
+| [#x0C0E-#x0C10]
+| [#x0C12-#x0C28]
+| [#x0C2A-#x0C33]
+| [#x0C35-#x0C39]
+| [#x0C60-#x0C61]
+| [#x0C85-#x0C8C]
+| [#x0C8E-#x0C90]
+| [#x0C92-#x0CA8]
+| [#x0CAA-#x0CB3]
+| [#x0CB5-#x0CB9]
+| #x0CDE
+| [#x0CE0-#x0CE1]
+| [#x0D05-#x0D0C]
+| [#x0D0E-#x0D10]
+| [#x0D12-#x0D28]
+| [#x0D2A-#x0D39]
+| [#x0D60-#x0D61]
+| [#x0E01-#x0E2E]
+| #x0E30
+| [#x0E32-#x0E33]
+| [#x0E40-#x0E45]
+| [#x0E81-#x0E82]
+| #x0E84
+| [#x0E87-#x0E88]
+| #x0E8A
+| #x0E8D
+| [#x0E94-#x0E97]
+| [#x0E99-#x0E9F]
+| [#x0EA1-#x0EA3]
+| #x0EA5
+| #x0EA7
+| [#x0EAA-#x0EAB]
+| [#x0EAD-#x0EAE]
+| #x0EB0
+| [#x0EB2-#x0EB3]
+| #x0EBD
+| [#x0EC0-#x0EC4]
+| [#x0F40-#x0F47]
+| [#x0F49-#x0F69]
+| [#x10A0-#x10C5]
+| [#x10D0-#x10F6]
+| #x1100
+| [#x1102-#x1103]
+| [#x1105-#x1107]
+| #x1109
+| [#x110B-#x110C]
+| [#x110E-#x1112]
+| #x113C
+| #x113E
+| #x1140
+| #x114C
+| #x114E
+| #x1150
+| [#x1154-#x1155]
+| #x1159
+| [#x115F-#x1161]
+| #x1163
+| #x1165
+| #x1167
+| #x1169
+| [#x116D-#x116E]
+| [#x1172-#x1173]
+| #x1175
+| #x119E
+| #x11A8
+| #x11AB
+| [#x11AE-#x11AF]
+| [#x11B7-#x11B8]
+| #x11BA
+| [#x11BC-#x11C2]
+| #x11EB
+| #x11F0
+| #x11F9
+| [#x1E00-#x1E9B]
+| [#x1EA0-#x1EF9]
+| [#x1F00-#x1F15]
+| [#x1F18-#x1F1D]
+| [#x1F20-#x1F45]
+| [#x1F48-#x1F4D]
+| [#x1F50-#x1F57]
+| #x1F59
+| #x1F5B
+| #x1F5D
+| [#x1F5F-#x1F7D]
+| [#x1F80-#x1FB4]
+| [#x1FB6-#x1FBC]
+| #x1FBE
+| [#x1FC2-#x1FC4]
+| [#x1FC6-#x1FCC]
+| [#x1FD0-#x1FD3]
+| [#x1FD6-#x1FDB]
+| [#x1FE0-#x1FEC]
+| [#x1FF2-#x1FF4]
+| [#x1FF6-#x1FFC]
+| #x2126
+| [#x212A-#x212B]
+| #x212E
+| [#x2180-#x2182]
+| [#x3041-#x3094]
+| [#x30A1-#x30FA]
+| [#x3105-#x312C]
+| [#xAC00-#xD7A3]
+</rhs></prod>
+<prod id='NT-Ideographic'><lhs>Ideographic</lhs>
+<rhs>[#x4E00-#x9FA5]
+| #x3007
+| [#x3021-#x3029]
+</rhs></prod>
+<prod id='NT-CombiningChar'><lhs>CombiningChar</lhs>
+<rhs>[#x0300-#x0345]
+| [#x0360-#x0361]
+| [#x0483-#x0486]
+| [#x0591-#x05A1]
+| [#x05A3-#x05B9]
+| [#x05BB-#x05BD]
+| #x05BF
+| [#x05C1-#x05C2]
+| #x05C4
+| [#x064B-#x0652]
+| #x0670
+| [#x06D6-#x06DC]
+| [#x06DD-#x06DF]
+| [#x06E0-#x06E4]
+| [#x06E7-#x06E8]
+| [#x06EA-#x06ED]
+| [#x0901-#x0903]
+| #x093C
+| [#x093E-#x094C]
+| #x094D
+| [#x0951-#x0954]
+| [#x0962-#x0963]
+| [#x0981-#x0983]
+| #x09BC
+| #x09BE
+| #x09BF
+| [#x09C0-#x09C4]
+| [#x09C7-#x09C8]
+| [#x09CB-#x09CD]
+| #x09D7
+| [#x09E2-#x09E3]
+| #x0A02
+| #x0A3C
+| #x0A3E
+| #x0A3F
+| [#x0A40-#x0A42]
+| [#x0A47-#x0A48]
+| [#x0A4B-#x0A4D]
+| [#x0A70-#x0A71]
+| [#x0A81-#x0A83]
+| #x0ABC
+| [#x0ABE-#x0AC5]
+| [#x0AC7-#x0AC9]
+| [#x0ACB-#x0ACD]
+| [#x0B01-#x0B03]
+| #x0B3C
+| [#x0B3E-#x0B43]
+| [#x0B47-#x0B48]
+| [#x0B4B-#x0B4D]
+| [#x0B56-#x0B57]
+| [#x0B82-#x0B83]
+| [#x0BBE-#x0BC2]
+| [#x0BC6-#x0BC8]
+| [#x0BCA-#x0BCD]
+| #x0BD7
+| [#x0C01-#x0C03]
+| [#x0C3E-#x0C44]
+| [#x0C46-#x0C48]
+| [#x0C4A-#x0C4D]
+| [#x0C55-#x0C56]
+| [#x0C82-#x0C83]
+| [#x0CBE-#x0CC4]
+| [#x0CC6-#x0CC8]
+| [#x0CCA-#x0CCD]
+| [#x0CD5-#x0CD6]
+| [#x0D02-#x0D03]
+| [#x0D3E-#x0D43]
+| [#x0D46-#x0D48]
+| [#x0D4A-#x0D4D]
+| #x0D57
+| #x0E31
+| [#x0E34-#x0E3A]
+| [#x0E47-#x0E4E]
+| #x0EB1
+| [#x0EB4-#x0EB9]
+| [#x0EBB-#x0EBC]
+| [#x0EC8-#x0ECD]
+| [#x0F18-#x0F19]
+| #x0F35
+| #x0F37
+| #x0F39
+| #x0F3E
+| #x0F3F
+| [#x0F71-#x0F84]
+| [#x0F86-#x0F8B]
+| [#x0F90-#x0F95]
+| #x0F97
+| [#x0F99-#x0FAD]
+| [#x0FB1-#x0FB7]
+| #x0FB9
+| [#x20D0-#x20DC]
+| #x20E1
+| [#x302A-#x302F]
+| #x3099
+| #x309A
+</rhs></prod>
+<prod id='NT-Digit'><lhs>Digit</lhs>
+<rhs>[#x0030-#x0039]
+| [#x0660-#x0669]
+| [#x06F0-#x06F9]
+| [#x0966-#x096F]
+| [#x09E6-#x09EF]
+| [#x0A66-#x0A6F]
+| [#x0AE6-#x0AEF]
+| [#x0B66-#x0B6F]
+| [#x0BE7-#x0BEF]
+| [#x0C66-#x0C6F]
+| [#x0CE6-#x0CEF]
+| [#x0D66-#x0D6F]
+| [#x0E50-#x0E59]
+| [#x0ED0-#x0ED9]
+| [#x0F20-#x0F29]
+</rhs></prod>
+<prod id='NT-Extender'><lhs>Extender</lhs>
+<rhs>#x00B7
+| #x02D0
+| #x02D1
+| #x0387
+| #x0640
+| #x0E46
+| #x0EC6
+| #x3005
+| [#x3031-#x3035]
+| [#x309D-#x309E]
+| [#x30FC-#x30FE]
+</rhs></prod>
+
+</prodgroup>
+</scrap>
+</p>
+<p>The character classes defined here can be derived from the
+Unicode character database as follows:
+<ulist>
+<item>
+<p>Name start characters must have one of the categories Ll, Lu,
+Lo, Lt, Nl.</p>
+</item>
+<item>
+<p>Name characters other than Name-start characters 
+must have one of the categories Mc, Me, Mn, Lm, or Nd.</p>
+</item>
+<item>
+<p>Characters in the compatibility area (i.e. with character code
+greater than #xF900 and less than #xFFFE) are not allowed in XML
+names.</p>
+</item>
+<item>
+<p>Characters which have a font or compatibility decomposition (i.e. those
+with a "compatibility formatting tag" in field 5 of the database --
+marked by field 5 beginning with a "<") are not allowed.</p>
+</item>
+<item>
+<p>The following characters are treated as name-start characters
+rather than name characters, because the property file classifies
+them as Alphabetic:  [#x02BB-#x02C1], #x0559, #x06E5, #x06E6.</p>
+</item>
+<item>
+<p>Characters #x20DD-#x20E0 are excluded (in accordance with 
+Unicode, section 5.14).</p>
+</item>
+<item>
+<p>Character #x00B7 is classified as an extender, because the
+property list so identifies it.</p>
+</item>
+<item>
+<p>Character #x0387 is added as a name character, because #x00B7
+is its canonical equivalent.</p>
+</item>
+<item>
+<p>Characters ':' and '_' are allowed as name-start characters.</p>
+</item>
+<item>
+<p>Characters '-' and '.' are allowed as name characters.</p>
+</item>
+</ulist>
+</p>
+</div1>
+<inform-div1 id="sec-xml-and-sgml">
+<head>XML and SGML</head>
+ 
+<p>XML is designed to be a subset of SGML, in that every
+<termref def="dt-valid">valid</termref> XML document should also be a
+conformant SGML document.
+For a detailed comparison of the additional restrictions that XML places on
+documents beyond those of SGML, see <bibref ref='Clark'/>.
+</p>
+</inform-div1>
+<inform-div1 id="sec-entexpand">
+<head>Expansion of Entity and Character References</head>
+<p>This appendix contains some examples illustrating the
+sequence of entity- and character-reference recognition and
+expansion, as specified in <specref ref='entproc'/>.</p>
+<p>
+If the DTD contains the declaration 
+<eg><![CDATA[<!ENTITY example "<p>An ampersand (&#38;) may be escaped
+numerically (&#38;#38;) or with a general entity
+(&amp;).</p>" >
+]]></eg>
+then the XML processor will recognize the character references 
+when it parses the entity declaration, and resolve them before 
+storing the following string as the
+value of the entity "<code>example</code>":
+<eg><![CDATA[<p>An ampersand (&) may be escaped
+numerically (&#38;) or with a general entity
+(&amp;).</p>
+]]></eg>
+A reference in the document to "<code>&example;</code>" 
+will cause the text to be reparsed, at which time the 
+start- and end-tags of the "<code>p</code>" element will be recognized 
+and the three references will be recognized and expanded, 
+resulting in a "<code>p</code>" element with the following content
+(all data, no delimiters or markup):
+<eg><![CDATA[An ampersand (&) may be escaped
+numerically (&) or with a general entity
+(&).
+]]></eg>
+</p>
+<p>A more complex example will illustrate the rules and their
+effects fully.  In the following example, the line numbers are
+solely for reference.
+<eg><![CDATA[1 <?xml version='1.0'?>
+2 <!DOCTYPE test [
+3 <!ELEMENT test (#PCDATA) >
+4 <!ENTITY % xx '%zz;'>
+5 <!ENTITY % zz '<!ENTITY tricky "error-prone" >' >
+6 %xx;
+7 ]>
+8 <test>This sample shows a &tricky; method.</test>
+]]></eg>
+This produces the following:
+<ulist spacing="compact">
+<item><p>in line 4, the reference to character 37 is expanded immediately,
+and the parameter entity "<code>xx</code>" is stored in the symbol
+table with the value "<code>%zz;</code>".  Since the replacement text
+is not rescanned, the reference to parameter entity "<code>zz</code>"
+is not recognized.  (And it would be an error if it were, since
+"<code>zz</code>" is not yet declared.)</p></item>
+<item><p>in line 5, the character reference "<code>&#60;</code>" is
+expanded immediately and the parameter entity "<code>zz</code>" is
+stored with the replacement text 
+"<code><!ENTITY tricky "error-prone" ></code>",
+which is a well-formed entity declaration.</p></item>
+<item><p>in line 6, the reference to "<code>xx</code>" is recognized,
+and the replacement text of "<code>xx</code>" (namely 
+"<code>%zz;</code>") is parsed.  The reference to "<code>zz</code>"
+is recognized in its turn, and its replacement text 
+("<code><!ENTITY tricky "error-prone" ></code>") is parsed.
+The general entity "<code>tricky</code>" has now been
+declared, with the replacement text "<code>error-prone</code>".</p></item>
+<item><p>
+in line 8, the reference to the general entity "<code>tricky</code>" is
+recognized, and it is expanded, so the full content of the
+"<code>test</code>" element is the self-describing (and ungrammatical) string
+<emph>This sample shows a error-prone method.</emph>
+</p></item>
+</ulist>
+</p>
+</inform-div1> 
+<inform-div1 id="determinism">
+<head>Deterministic Content Models</head>
+<p><termref def='dt-compat'>For compatibility</termref>, it is
+required
+that content models in element type declarations be deterministic.  
+</p>
+<!-- FINAL EDIT:  WebSGML allows ambiguity? -->
+<p>SGML
+requires deterministic content models (it calls them
+"unambiguous"); XML processors built using SGML systems may
+flag non-deterministic content models as errors.</p>
+<p>For example, the content model <code>((b, c) | (b, d))</code> is
+non-deterministic, because given an initial <code>b</code> the parser
+cannot know which <code>b</code> in the model is being matched without
+looking ahead to see which element follows the <code>b</code>.
+In this case, the two references to
+<code>b</code> can be collapsed 
+into a single reference, making the model read
+<code>(b, (c | d))</code>.  An initial <code>b</code> now clearly
+matches only a single name in the content model.  The parser doesn't
+need to look ahead to see what follows; either <code>c</code> or
+<code>d</code> would be accepted.</p>
+<p>More formally:  a finite state automaton may be constructed from the
+content model using the standard algorithms, e.g. algorithm 3.5 
+in section 3.9
+of Aho, Sethi, and Ullman <bibref ref='Aho'/>.
+In many such algorithms, a follow set is constructed for each 
+position in the regular expression (i.e., each leaf 
+node in the 
+syntax tree for the regular expression);
+if any position has a follow set in which 
+more than one following position is 
+labeled with the same element type name, 
+then the content model is in error
+and may be reported as an error.
+</p>
+<p>Algorithms exist which allow many but not all non-deterministic
+content models to be reduced automatically to equivalent deterministic
+models; see Br�ggemann-Klein 1991 <bibref ref='ABK'/>.</p>
+</inform-div1>
+<inform-div1 id="sec-guessing">
+<head>Autodetection of Character Encodings</head>
+<p>The XML encoding declaration functions as an internal label on each
+entity, indicating which character encoding is in use.  Before an XML
+processor can read the internal label, however, it apparently has to
+know what character encoding is in use--which is what the internal label
+is trying to indicate.  In the general case, this is a hopeless
+situation. It is not entirely hopeless in XML, however, because XML
+limits the general case in two ways:  each implementation is assumed
+to support only a  finite set of character encodings, and the XML
+encoding declaration is restricted in position and content in order to
+make it feasible to autodetect the character encoding in use in each
+entity in normal cases.  Also, in many cases other sources of information
+are available in addition to the XML data stream itself.  
+Two cases may be distinguished, 
+depending on whether the XML entity is presented to the
+processor without, or with, any accompanying
+(external) information.  We consider the first case first.
+</p>
+<p>
+Because each XML entity not in UTF-8 or UTF-16 format <emph>must</emph>
+begin with an XML encoding declaration, in which the first  characters
+must be '<code><?xml</code>', any conforming processor can detect,
+after two to four octets of input, which of the following cases apply. 
+In reading this list, it may help to know that in UCS-4, '<' is
+"<code>#x0000003C</code>" and '?' is "<code>#x0000003F</code>", and the Byte
+Order Mark required of UTF-16 data streams is "<code>#xFEFF</code>".</p>
+<p>
+<ulist>
+<item>
+<p><code>00 00 00 3C</code>: UCS-4, big-endian machine (1234 order)</p>
+</item>
+<item>
+<p><code>3C 00 00 00</code>: UCS-4, little-endian machine (4321 order)</p>
+</item>
+<item>
+<p><code>00 00 3C 00</code>: UCS-4, unusual octet order (2143)</p>
+</item>
+<item>
+<p><code>00 3C 00 00</code>: UCS-4, unusual octet order (3412)</p>
+</item>
+<item>
+<p><code>FE FF</code>: UTF-16, big-endian</p>
+</item>
+<item>
+<p><code>FF FE</code>: UTF-16, little-endian</p>
+</item>
+<item>
+<p><code>00 3C 00 3F</code>: UTF-16, big-endian, no Byte Order Mark
+(and thus, strictly speaking, in error)</p>
+</item>
+<item>
+<p><code>3C 00 3F 00</code>: UTF-16, little-endian, no Byte Order Mark
+(and thus, strictly speaking, in error)</p>
+</item>
+<item>
+<p><code>3C 3F 78 6D</code>: UTF-8, ISO 646, ASCII, some part of ISO 8859, 
+Shift-JIS, EUC, or any other 7-bit, 8-bit, or mixed-width encoding
+which ensures that the characters of ASCII have their normal positions,
+width,
+and values; the actual encoding declaration must be read to 
+detect which of these applies, but since all of these encodings
+use the same bit patterns for the ASCII characters, the encoding 
+declaration itself may be read reliably
+</p>
+</item>
+<item>
+<p><code>4C 6F A7 94</code>: EBCDIC (in some flavor; the full
+encoding declaration must be read to tell which code page is in 
+use)</p>
+</item>
+<item>
+<p>other: UTF-8 without an encoding declaration, or else 
+the data stream is corrupt, fragmentary, or enclosed in
+a wrapper of some kind</p>
+</item>
+</ulist>
+</p>
+<p>
+This level of autodetection is enough to read the XML encoding
+declaration and parse the character-encoding identifier, which is
+still necessary to distinguish the individual members of each family
+of encodings (e.g. to tell  UTF-8 from 8859, and the parts of 8859
+from each other, or to distinguish the specific EBCDIC code page in
+use, and so on).
+</p>
+<p>
+Because the contents of the encoding declaration are restricted to
+ASCII characters, a processor can reliably read the entire encoding
+declaration as soon as it has detected which family of encodings is in
+use.  Since in practice, all widely used character encodings fall into
+one of the categories above, the XML encoding declaration allows
+reasonably reliable in-band labeling of character encodings, even when
+external sources of information at the operating-system or
+transport-protocol level are unreliable.
+</p>
+<p>
+Once the processor has detected the character encoding in use, it can
+act appropriately, whether by invoking a separate input routine for
+each case, or by calling the proper conversion function on each
+character of input. 
+</p>
+<p>
+Like any self-labeling system, the XML encoding declaration will not
+work if any software changes the entity's character set or encoding
+without updating the encoding declaration.  Implementors of
+character-encoding routines should be careful to ensure the accuracy
+of the internal and external information used to label the entity.
+</p>
+<p>The second possible case occurs when the XML entity is accompanied
+by encoding information, as in some file systems and some network
+protocols.
+When multiple sources of information are available,
+
+their relative
+priority and the preferred method of handling conflict should be
+specified as part of the higher-level protocol used to deliver XML.
+Rules for the relative priority of the internal label and the
+MIME-type label in an external header, for example, should be part of the
+RFC document defining the text/xml and application/xml MIME types. In
+the interests of interoperability, however, the following rules
+are recommended.
+<ulist>
+<item><p>If an XML entity is in a file, the Byte-Order Mark
+and encoding-declaration PI are used (if present) to determine the
+character encoding.  All other heuristics and sources of information
+are solely for error recovery.
+</p></item>
+<item><p>If an XML entity is delivered with a
+MIME type of text/xml, then the <code>charset</code> parameter
+on the MIME type determines the
+character encoding method; all other heuristics and sources of
+information are solely for error recovery.
+</p></item>
+<item><p>If an XML entity is delivered 
+with a
+MIME type of application/xml, then the Byte-Order Mark and
+encoding-declaration PI are used (if present) to determine the
+character encoding.  All other heuristics and sources of
+information are solely for error recovery.
+</p></item>
+</ulist>
+These rules apply only in the absence of protocol-level documentation;
+in particular, when the MIME types text/xml and application/xml are
+defined, the recommendations of the relevant RFC will supersede
+these rules.
+</p>
+
+</inform-div1>
+
+<inform-div1 id="sec-xml-wg">
+<head>W3C XML Working Group</head>
+ 
+<p>This specification was prepared and approved for publication by the
+W3C XML Working Group (WG).  WG approval of this specification does
+not necessarily imply that all WG members voted for its approval.  
+The current and former members of the XML WG are:</p>
+ 
+<orglist>
+<member><name>Jon Bosak, Sun</name><role>Chair</role></member>
+<member><name>James Clark</name><role>Technical Lead</role></member>
+<member><name>Tim Bray, Textuality and Netscape</name><role>XML Co-editor</role></member>
+<member><name>Jean Paoli, Microsoft</name><role>XML Co-editor</role></member>
+<member><name>C. M. Sperberg-McQueen, U. of Ill.</name><role>XML
+Co-editor</role></member>
+<member><name>Dan Connolly, W3C</name><role>W3C Liaison</role></member>
+<member><name>Paula Angerstein, Texcel</name></member>
+<member><name>Steve DeRose, INSO</name></member>
+<member><name>Dave Hollander, HP</name></member>
+<member><name>Eliot Kimber, ISOGEN</name></member>
+<member><name>Eve Maler, ArborText</name></member>
+<member><name>Tom Magliery, NCSA</name></member>
+<member><name>Murray Maloney, Muzmo and Grif</name></member>
+<member><name>Makoto Murata, Fuji Xerox Information Systems</name></member>
+<member><name>Joel Nava, Adobe</name></member>
+<member><name>Conleth O'Connell, Vignette</name></member>
+<member><name>Peter Sharpe, SoftQuad</name></member>
+<member><name>John Tigue, DataChannel</name></member>
+</orglist>
+
+</inform-div1>
+</back>
+</spec>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-default-dtd-file:"~/sgml/spec.ced"
+sgml-omittag:t
+sgml-shorttag:t
+End:
+-->

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/dom4j.git



More information about the pkg-java-commits mailing list